/* Generated by Nim Compiler v1.6.10 */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#include <setjmp.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_rstdotnim_rst___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_rstdotnim_rst___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA;
typedef struct tySequence__itU9cAYRNnSMU3pWsbVN4bA tySequence__itU9cAYRNnSMU3pWsbVN4bA;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__lrunEzM3UiMYKPLPCTNo0w tySequence__lrunEzM3UiMYKPLPCTNo0w;
typedef struct tySequence__29caZmiPrO6d9cg0Ucdm9bdAA tySequence__29caZmiPrO6d9cg0Ucdm9bdAA;
typedef struct tySequence__SugKu9bev7GtgZTDZMD2xgw tySequence__SugKu9bev7GtgZTDZMD2xgw;
typedef struct tySequence__59axsmyJq9bYh2MONDvuwAkA tySequence__59axsmyJq9bYh2MONDvuwAkA;
typedef struct tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ;
typedef struct tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw;
typedef struct tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ;
typedef struct tyTuple__wOvXi5VibnCNgN9buQRQD4A tyTuple__wOvXi5VibnCNgN9buQRQD4A;
typedef struct tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA;
typedef struct tyTuple__msoRFpgv3EcbLwCh9arSpYw tyTuple__msoRFpgv3EcbLwCh9arSpYw;
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_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ;
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_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ;
typedef struct tySequence__HsIBrWWNKBMO7j6datX5Dw tySequence__HsIBrWWNKBMO7j6datX5Dw;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Token__E0ilHwDrlCLqd7buwAkizA tyObject_Token__E0ilHwDrlCLqd7buwAkizA;
typedef struct tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA;
typedef struct tySequence__V9cBl110bSARQ3Xk9bVaXHDw tySequence__V9cBl110bSARQ3Xk9bVaXHDw;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
typedef struct tySequence__lBgZ7a89beZGYPl8PiANMTA tySequence__lBgZ7a89beZGYPl8PiANMTA;
typedef struct tyTuple__NsOXiclpudEmVBDvfdmAhQ tyTuple__NsOXiclpudEmVBDvfdmAhQ;
typedef struct TSafePoint TSafePoint;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ;
typedef struct tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg;
typedef struct tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ;
typedef struct tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA;
typedef struct tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_rstdotnim_rst___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
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 tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ {
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIdx;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* idxToFilename;
};
typedef NU8 tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ;
typedef NU8 tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc__zVyAuQlxcO3X84ar49cKZSg;
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* filename, void* ClE_0);
void* ClE_0;
} tyProc__oFHfEKFsiYTMAy9a42cSiKw;
struct tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA {
tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options;
tySequence__itU9cAYRNnSMU3pWsbVN4bA* hLevels;
NI hTitleCnt;
NI hCurLevel;
NimStringDesc* currRole;
tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ currRoleKind;
tySequence__lrunEzM3UiMYKPLPCTNo0w* subs;
tySequence__lrunEzM3UiMYKPLPCTNo0w* refs;
tySequence__29caZmiPrO6d9cg0Ucdm9bdAA* anchors;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteNum;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteNumRef;
NI currFootnoteNumRef;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteSym;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteSymRef;
NI currFootnoteSymRef;
tySequence__59axsmyJq9bYh2MONDvuwAkA* footnotes;
tyProc__zVyAuQlxcO3X84ar49cKZSg msgHandler;
tyProc__oFHfEKFsiYTMAy9a42cSiKw findFile;
tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames;
NI32 currFileIdx;
NIM_BOOL hasToc;
};
typedef NU8 tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg;
struct tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ {
NIM_CHAR symbol;
NIM_BOOL hasOverline;
NI line;
NIM_BOOL hasPeers;
};
struct tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw {
NimStringDesc* key;
tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value;
};
struct tyTuple__wOvXi5VibnCNgN9buQRQD4A {
NimStringDesc* Field0;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* Field1;
};
struct tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA;
struct tyTuple__msoRFpgv3EcbLwCh9arSpYw {
tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA Field0;
NI Field1;
NI Field2;
NI Field3;
NimStringDesc* Field4;
};
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;
};
typedef NU8 tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g;
typedef NU8 tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw;
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
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_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ {
  tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_40) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, void* ClE_0);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_41) (NimStringDesc* filename, void* ClE_0);
struct tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ {
  RootObj Sup;
NI idx;
tySequence__HsIBrWWNKBMO7j6datX5Dw* tok;
tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s;
tySequence__qwqHTkRvwhrRyENtudHQ7g* indentStack;
NI line;
NI col;
NimStringDesc* curAnchor;
};
typedef NU8 tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA;
struct tyObject_Token__E0ilHwDrlCLqd7buwAkizA {
tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA kind;
NI ival;
NimStringDesc* symbol;
NI line;
NI col;
};
struct tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA {
  RootObj Sup;
NCSTRING buf;
NI bufpos;
NI line;
NI col;
NI baseIndent;
NIM_BOOL adornmentLine;
NIM_BOOL escapeNext;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ {
tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind;
union{
struct {NimStringDesc* text;
} _kind_1;
struct {NimStringDesc* labelFmt;
} _kind_2;
struct {NimStringDesc* lineIndent;
} _kind_3;
struct {NimStringDesc* adType;
} _kind_4;
struct {NI level;
} _kind_5;
struct {NI order;
} _kind_6;
struct {tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info;
} _kind_7;
};
NimStringDesc* anchor;
tySequence__V9cBl110bSARQ3Xk9bVaXHDw* sons;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_60) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_65) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_88) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
typedef NU8 tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g;
typedef N_NIMCALL_PTR(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, tyProc__8jki48pN6I4kzivtVA9bgyA) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
typedef NU8 tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g;
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
struct tyTuple__NsOXiclpudEmVBDvfdmAhQ {
tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA Field0;
NI Field1;
};
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef tyTuple__UV3llMMYFckfui8YMBuUZA tyArray__EH7g9cw9ce5QW4p9ba9aZKF51w[34];
typedef NimStringDesc* tyArray__haiLFy0nBviVTKFGuwztzQ[5];
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_222) (NimStringDesc* filename);
struct tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ {
  RootObj Sup;
NI colonstate_;
NI w1;
NI col2;
};
typedef NimStringDesc* tyArray__yt5VDPNtUGx9cBkOVakHwdQ[6];
typedef NI tyArray__oXFh4MvEDAk4hEbFQSH7yQ[6];
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report, void* ClE_0);
void* ClE_0;
} tyProc__TWwcwyFYRc2hmkAA29bgwkg;
typedef N_CLOSURE_PTR(NIM_BOOL, TM__6mNpeIAN05DnDNzb9b3611A_246) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__6mNpeIAN05DnDNzb9b3611A_248) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report);
struct tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg {
  RootObj Sup;
NI colonstate_;
tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ p1;
};
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NI l, void* ClE_0);
void* ClE_0;
} tyProc__oybrFf5HprJ7Qzy6JCxzgw;
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_257) (NI l);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_259) (NI l);
struct tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ {
  RootObj Sup;
NI colonstate_;
tySequence__8Np6tlClE5az1CyqZdN19bQ* row1;
NI colNum2;
tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a3;
tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b4;
tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ q5;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result, void* ClE_0);
void* ClE_0;
} tyProc__OBLbZMF9cZ0RIuutSABbCrQ;
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_262) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_265) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
struct tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ {
  RootObj Sup;
NI colonstate_;
tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s1;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_267) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations, void* ClE_0);
void* ClE_0;
} tyProc__j9cp8d5W6OEfco3brTgaIgw;
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_270) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_271) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_273) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_274) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
struct tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA {
tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* head;
tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* tail;
};
struct tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q {
tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* next;
tyTuple__msoRFpgv3EcbLwCh9arSpYw value;
};
typedef NimStringDesc* tyArray__17w6ns39bmjfAZ429aQpCFUA[9];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_284) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__itU9cAYRNnSMU3pWsbVN4bA {
  TGenericSeq Sup;
  tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ data[SEQ_DECL_SIZE];
};
struct tySequence__lrunEzM3UiMYKPLPCTNo0w {
  TGenericSeq Sup;
  tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__29caZmiPrO6d9cg0Ucdm9bdAA {
  TGenericSeq Sup;
  tyTuple__wOvXi5VibnCNgN9buQRQD4A data[SEQ_DECL_SIZE];
};
struct tySequence__SugKu9bev7GtgZTDZMD2xgw {
  TGenericSeq Sup;
  tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA data[SEQ_DECL_SIZE];
};
struct tySequence__59axsmyJq9bYh2MONDvuwAkA {
  TGenericSeq Sup;
  tyTuple__msoRFpgv3EcbLwCh9arSpYw data[SEQ_DECL_SIZE];
};
struct tySequence__HsIBrWWNKBMO7j6datX5Dw {
  TGenericSeq Sup;
  tyObject_Token__E0ilHwDrlCLqd7buwAkizA data[SEQ_DECL_SIZE];
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
struct tySequence__V9cBl110bSARQ3Xk9bVaXHDw {
  TGenericSeq Sup;
  tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* data[SEQ_DECL_SIZE];
};
struct tySequence__lBgZ7a89beZGYPl8PiANMTA {
  TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
  TGenericSeq Sup;
  tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__itU9cAYRNnSMU3pWsbVN4bA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__lrunEzM3UiMYKPLPCTNo0w)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__SugKu9bev7GtgZTDZMD2xgw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__59axsmyJq9bYh2MONDvuwAkA)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__YXv0Ic1rfmWevYoin4lGYw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultRole__packagesZdocutilsZrst_507)(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5370)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5368)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5319)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5325)(void* usr);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRoleAux__packagesZdocutilsZrst_515)(NimStringDesc* sym);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToLowerAsciiStr)(NimStringDesc* s);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g, getSourceLanguage__packagesZdocutilsZhighlite_97)(NimStringDesc* name);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5363)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, defaultMsgHandler__packagesZdocutilsZrst_460)(NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgkind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw, whichMsgClass__packagesZdocutilsZrst_365)(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ k);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, symbolName__packagesZdocutilsZrst_368)(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_NIMCALL(void, Marker_tyRef__xgJp9cP2o0GzZPEVyPQDpKA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(void, writeLine__msgs_432)(FILE* f, NimStringDesc** x, NI xLen_0);
N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_220)(FILE* f, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultFindFile__packagesZdocutilsZrst_504)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, setCurrFilename__packagesZdocutilsZrst_529)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* file1);
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrst_523)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames);
N_LIB_PRIVATE N_NIMCALL(NI32, getOrDefault__packagesZdocutilsZrst_599)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI32 default_0);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___packagesZdocutilsZrst_952)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key, NI32 val);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
static N_NIMCALL(void, Marker_tySequence__HsIBrWWNKBMO7j6datX5Dw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, initParser__packagesZdocutilsZrst_2123)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* sharedState);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(void, getTokens__packagesZdocutilsZrst_240)(NimStringDesc* buffer, tySequence__HsIBrWWNKBMO7j6datX5Dw** tokens);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__packagesZdocutilsZrst_224)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getThing__packagesZdocutilsZrst_109)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, getIndent__packagesZdocutilsZrst_217)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(NI, getIndentAux__packagesZdocutilsZrst_188)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, NI start);
static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCurrentLineAdornment__packagesZdocutilsZrst_135)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L);
N_LIB_PRIVATE N_NIMCALL(void, getPunctAdornment__packagesZdocutilsZrst_156)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getBracket__packagesZdocutilsZrst_177)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDoc__packagesZdocutilsZrst_5822)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSectionWrapper__packagesZdocutilsZrst_6417)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNode__packagesZdocutilsZrstast_109)(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* sons, NimStringDesc* anchor);
N_LIB_PRIVATE N_NIMCALL(void, parseSection__packagesZdocutilsZrst_5164)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
N_LIB_PRIVATE N_NIMCALL(NI, currInd__packagesZdocutilsZrst_2098)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, pushInd__packagesZdocutilsZrst_2104)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI ind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNodeA__packagesZdocutilsZrst_4014)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind);
N_LIB_PRIVATE N_NIMCALL(void, add__packagesZdocutilsZrstast_206)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* son);
N_LIB_PRIVATE N_NIMCALL(void, popInd__packagesZdocutilsZrst_2111)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichSection__packagesZdocutilsZrst_5558)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownCodeBlock__packagesZdocutilsZrst_5402)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI idx);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, match__packagesZdocutilsZrst_4279)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr);
N_LIB_PRIVATE N_NIMCALL(NI, getRefnameIdx__packagesZdocutilsZrst_4030)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validRefnamePunct__packagesZdocutilsZrst_4023)(NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allCharsInSet__pureZstrutils_1341)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2094)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, currFilename__packagesZdocutilsZrst_2001)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFilename__packagesZdocutilsZrst_1992)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, NI32 fid);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(NI, curLine__packagesZdocutilsZrst_2062)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__packagesZdocutilsZrst_5504)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_INLINE(NI, tokenAfterNewline__packagesZdocutilsZrst_5179)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, tokenAfterNewline__packagesZdocutilsZrst_5167)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAdornmentHeadline__packagesZdocutilsZrst_5410)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI adornmentIdx);
static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2070)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadline__packagesZdocutilsZrst_5530)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__packagesZdocutilsZrst_5526)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, predNL__packagesZdocutilsZrst_5508)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, findPipe__packagesZdocutilsZrst_5545)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOptionList__packagesZdocutilsZrst_5523)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__packagesZdocutilsZrst_5515)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLiteralBlock__packagesZdocutilsZrst_5280)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstLeaf__packagesZdocutilsZrstast_197)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseBulletList__packagesZdocutilsZrst_6060)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLineBlock__packagesZdocutilsZrst_5636)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDotDot__packagesZdocutilsZrst_5278)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDirective__packagesZdocutilsZrst_5100)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, getRefname__packagesZdocutilsZrst_4055)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2087)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, selectDir__packagesZdocutilsZrst_6656)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirAdmonition__packagesZdocutilsZrst_6619)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6520)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6450)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2472)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2468)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI iTok);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newLeaf__packagesZdocutilsZrst_4020)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseLine__packagesZdocutilsZrst_5158)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(void, parseInline__packagesZdocutilsZrst_4996)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__packagesZdocutilsZrst_4213)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstStart__packagesZdocutilsZrst_4198)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rstRuleSurround__packagesZdocutilsZrst_4186)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownStart__packagesZdocutilsZrst_4191)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__packagesZdocutilsZrst_4768)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NimStringDesc* postfix, NIM_BOOL interpretBackslash);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupEnd__packagesZdocutilsZrst_4119)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup, NIM_BOOL exact);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstEnd__packagesZdocutilsZrst_4104)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownEnd__packagesZdocutilsZrst_4097)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__packagesZdocutilsZrst_4738)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__packagesZdocutilsZrst_61)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__packagesZdocutilsZrst_2167)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** r, NIM_BOOL* b);
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrstast_102)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownCodeblock__packagesZdocutilsZrst_4850)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRole__packagesZdocutilsZrst_4378)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toInlineCode__packagesZdocutilsZrst_4386)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* language);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNode__packagesZdocutilsZrstast_167)(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* sons);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toOtherRole__packagesZdocutilsZrst_4405)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, NimStringDesc* roleName);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parsePostfix__packagesZdocutilsZrst_4425)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, fixupEmbeddedRef__packagesZdocutilsZrst_4354)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b);
N_LIB_PRIVATE N_NIMCALL(void, setRef__packagesZdocutilsZrst_2272)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__packagesZdocutilsZrst_63)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, addNodesAux__packagesZdocutilsZrst_2152)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, finalizeInterpreted__packagesZdocutilsZrst_4431)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* node, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ newKind, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons, NimStringDesc* roleName);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseMarkdownLink__packagesZdocutilsZrst_4876)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
static N_NIMCALL(void, Marker_tySequence__lBgZ7a89beZGYPl8PiANMTA)(void* p, NI op);
static N_INLINE(NIM_BOOL, checkParen__packagesZdocutilsZrst_4628)(tyObject_Token__E0ilHwDrlCLqd7buwAkizA token, tySequence__lBgZ7a89beZGYPl8PiANMTA** parensStack);
N_LIB_PRIVATE N_NIMCALL(void, add__packagesZdocutilsZrstast_213)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnoteName__packagesZdocutilsZrst_4963)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL reference);
N_LIB_PRIVATE N_NIMCALL(tyTuple__NsOXiclpudEmVBDvfdmAhQ, getFootnoteType__packagesZdocutilsZrst_4933)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* label);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSmiley__packagesZdocutilsZrst_4487)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__packagesZdocutilsZrst_4470)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuContinuesWith)(NimStringDesc* s, NimStringDesc* substr, NI start);
N_LIB_PRIVATE N_NIMCALL(void, parseWordOrRef__packagesZdocutilsZrst_4696)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__packagesZdocutilsZrst_4562)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseUrl__packagesZdocutilsZrst_4663)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFields__packagesZdocutilsZrst_5205)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseField__packagesZdocutilsZrst_5190)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, getWrappableIndent__packagesZdocutilsZrst_5182)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseBlockContent__packagesZdocutilsZrst_6509)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** father, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__packagesZdocutilsZrst_6502)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirCodeBlock__packagesZdocutilsZrst_6566)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL nimExtension);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s, NIM_BOOL leading, NIM_BOOL trailing, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__packagesZdocutilsZrst_65)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* fieldname);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findRelativeFile__packagesZdocutilsZrst_2065)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* filename);
static N_INLINE(NimStringDesc*, slash___pureZos_118)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__systemZio_562)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContainer__packagesZdocutilsZrst_6598)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContents__packagesZdocutilsZrst_6613)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirDefaultRole__packagesZdocutilsZrst_6623)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirFigure__packagesZdocutilsZrst_6607)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirImage__packagesZdocutilsZrst_6604)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirInclude__packagesZdocutilsZrst_6533)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindStr)(NimStringDesc* s, NimStringDesc* sub, NI start, NI last);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirIndex__packagesZdocutilsZrst_6616)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRaw__packagesZdocutilsZrst_6649)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(void, dirRawAux__packagesZdocutilsZrst_6641)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** result, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirBody__packagesZdocutilsZrst_6529)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRole__packagesZdocutilsZrst_6633)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirTitle__packagesZdocutilsZrst_6610)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, getReferenceName__packagesZdocutilsZrst_4065)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* endStr);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, untilEol__packagesZdocutilsZrst_4078)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, addAnchor__packagesZdocutilsZrst_2302)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* refn, NIM_BOOL reset);
static N_INLINE(tyTuple__wOvXi5VibnCNgN9buQRQD4A*, X5BX5D___packagesZdocutilsZrst_2314)(tyTuple__wOvXi5VibnCNgN9buQRQD4A* s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(void, expect__packagesZdocutilsZrst_4090)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* tok);
N_LIB_PRIVATE N_NIMCALL(void, setSub__packagesZdocutilsZrst_2245)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnote__packagesZdocutilsZrst_6730)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prefix__packagesZdocutilsZrst_6727)(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA ftnType);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumManual__packagesZdocutilsZrst_2405)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI num);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumAuto__packagesZdocutilsZrst_2475)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* label);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteSymAuto__packagesZdocutilsZrst_2498)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseComment__packagesZdocutilsZrst_5126)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseEnumList__packagesZdocutilsZrst_6175)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_NIMCALL(void, Marker_tyRef__txefaw5zpc9a9a6GUuV9bJj9cg)(void* p, NI op);
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, checkAfterNewline__packagesZdocutilsZrst_6285)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuDedent)(NimStringDesc* s, NI count);
N_LIB_PRIVATE N_NIMCALL(NI, indentation__pureZstrutils_1194)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1627)(NimStringDesc* s, NimStringDesc* sub);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDefinitionList__packagesZdocutilsZrst_6139)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseTransition__packagesZdocutilsZrst_6037)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseHeadline__packagesZdocutilsZrst_5704)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__packagesZdocutilsZrst_5161)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__packagesZdocutilsZrst_5313)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_CHAR c, NIM_BOOL hasOverline);
N_LIB_PRIVATE N_NIMCALL(void, checkHeadingHierarchy__packagesZdocutilsZrst_5692)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI lvl);
static N_NIMCALL(void, Marker_tyRef__bHTrQBnWrTGWBsx8uFfYsw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ);
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, descr__packagesZdocutilsZrst_5695)(NI l, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOverline__packagesZdocutilsZrst_5737)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSimpleTable__packagesZdocutilsZrst_5824)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, getColumns__packagesZdocutilsZrst_5779)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols);
N_LIB_PRIVATE N_NIMCALL(NI, tokEnd__packagesZdocutilsZrst_5776)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownTable__packagesZdocutilsZrst_6010)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_NIMCALL(void, Marker_tyRef__fDLYSKIpVlcMcN8u8wR00Q)(void* p, NI op);
N_LIB_PRIVATE N_CLOSURE(void, parseRow__packagesZdocutilsZrst_6018)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__8Np6tlClE5az1CyqZdN19bQ*, readTableRow__packagesZdocutilsZrst_5940)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getColContents__packagesZdocutilsZrst_5972)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ colLim);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidDelimiterRow__packagesZdocutilsZrst_5981)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI colNum);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s, NimStringDesc* prefix);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOptionList__packagesZdocutilsZrst_6086)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__packagesZdocutilsZrst_5669)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
N_LIB_PRIVATE N_NIMCALL(void, addIfNotNil__packagesZdocutilsZrstast_220)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* son);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, sonKind__packagesZdocutilsZrst_6355)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NI i);
N_LIB_PRIVATE N_NIMCALL(void, countTitles__packagesZdocutilsZrst_5375)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, orderFootnotes__packagesZdocutilsZrst_2511)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s);
static N_NIMCALL(void, Marker_tyRef__ZdwpLvn9cTLhGj4hnaTCvbw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2075)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, listFootnotes__packagesZdocutilsZrst_2513)(tySequence__SugKu9bev7GtgZTDZMD2xgw* locations, void* ClE_0);
static N_INLINE(NimStringDesc**, X5BX5D___packagesZdocutilsZrst_2545)(NimStringDesc** s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_9)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_2619)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, initSinglyLinkedList__packagesZdocutilsZrst_2784)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* Result);
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_2811)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* a, tyTuple__msoRFpgv3EcbLwCh9arSpYw b);
static N_NIMCALL(void, Marker_tyRef__KYNyCmO27XWAAJ4AB4n9aQQ)(void* p, NI op);
static N_INLINE(void, prepend__packagesZdocutilsZrst_3202)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyTuple__msoRFpgv3EcbLwCh9arSpYw value);
static N_INLINE(void, prepend__packagesZdocutilsZrst_3252)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*, newSinglyLinkedNode__packagesZdocutilsZrst_2894)(tyTuple__msoRFpgv3EcbLwCh9arSpYw value);
N_LIB_PRIVATE N_NIMCALL(tySequence__59axsmyJq9bYh2MONDvuwAkA*, X5BX5D___packagesZdocutilsZrst_3312)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* s, NI sLen_0, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*, newSinglyLinkedNode__packagesZdocutilsZrst_3387)(tyTuple__msoRFpgv3EcbLwCh9arSpYw value);
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_3456)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* a, tyTuple__msoRFpgv3EcbLwCh9arSpYw b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatStr)(NimStringDesc* s, NI n);
N_LIB_PRIVATE N_NIMCALL(NI, findSub__packagesZdocutilsZrst_2204)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_474)(NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2080)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, tyProc__zVyAuQlxcO3X84ar49cKZSg f, tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, findRef__packagesZdocutilsZrst_2289)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* key);
static N_INLINE(void, nimGCunrefRC1)(void* p);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findMainAnchor__packagesZdocutilsZrst_2367)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* refn);
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3990)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* label);
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3998)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getAutoSymbol__packagesZdocutilsZrst_4006)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, resolveSubs__packagesZdocutilsZrst_6831)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE TNimType NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_;
extern TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
N_LIB_PRIVATE TNimType NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_;
N_LIB_PRIVATE TNimType NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_;
extern TNimType NTItable__Ab4q9c36aMR4mtkEOIBzdzA_;
extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
N_LIB_PRIVATE TNimType NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_;
N_LIB_PRIVATE TNimType NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_;
N_LIB_PRIVATE TNimType NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_;
N_LIB_PRIVATE TNimType NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_;
extern TNimType NTIchar__nmiMWKVIe46vacnhAFrQvw_;
extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_;
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
extern TNimType NTIrstnodekind__DNoJcMFu9cjq4EGXsLl82CQ_;
N_LIB_PRIVATE TNimType NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_;
extern TNimType NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_;
N_LIB_PRIVATE TNimType NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_;
N_LIB_PRIVATE TNimType NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_;
N_LIB_PRIVATE TNimType NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_;
extern TNimType NTItlineinfo__LpCBEHcAwE2yCs4l9cD1BOA_;
N_LIB_PRIVATE TNimType NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_;
N_LIB_PRIVATE TNimType NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_;
N_LIB_PRIVATE TNimType NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_;
N_LIB_PRIVATE TNimType NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_;
extern TNimType NTIint5150__sVg18TP9cLifHyygRe9cro9aA_;
N_LIB_PRIVATE TNimType NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_16, "nim", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_17, "literal", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_18, "idx", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_19, "strong", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_20, "emphasis", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_21, "sub", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_22, "subscript", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_23, "sup", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_24, "superscript", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_25, "code", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_26, "program", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_27, "option", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_28, "tok", 3);
N_LIB_PRIVATE TNimType NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_32, "(", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_33, ", ", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_34, ")", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_35, " $1: $2", 7);
N_LIB_PRIVATE TNimType NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_;
extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
N_LIB_PRIVATE TNimType NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_;
N_LIB_PRIVATE TNimType NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_39, "\012", 1);
extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_;
N_LIB_PRIVATE TNimType NTItoken__E0ilHwDrlCLqd7buwAkizA_;
N_LIB_PRIVATE TNimType NTItoktype__UY24uyT9bUilTKVVPqpgQjA_;
N_LIB_PRIVATE TNimType NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_;
extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_;
extern TNimType NTIcstring__S9agCYBinaYZnGWcjTdxclg_;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_48 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, 0x07,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_49 = {
0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_50, "\\", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_51, "```", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_52, "::", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_53, "..", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_54, "#", 1);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_55 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_56, "iI", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_57, "+a+", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_58, "rst.nim(610, 11) `0 <= fid.int and fid.int < filenames.len` ", 60);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_59, "incorrect FileIndex $1 (range 0..$2)", 36);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_61, " a", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_62, "|", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_63, "i", 1);
static NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg TM__6mNpeIAN05DnDNzb9b3611A_64 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_53),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_66, "indentation of heading text allowed only for overline titles", 60);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_67, "(underline \'", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_68, "\' is too short)", 15);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_69, "\' does not match overline \'", 27);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_70, "\')", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_71, "(overline \'", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_72, "| w", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_73, "aI", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_75, "+", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_76, "*", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_77, "-", 1);
static NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg TM__6mNpeIAN05DnDNzb9b3611A_74 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_75),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_78, ":w:E", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_79, "(e) ", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_80, "e) ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_81, "e. ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_82, "-w", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_83, "--w", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_84, "/w", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_85, "//w", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_86, "whitespace or newline expected after directive ", 47);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_87, ":", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_89, "double colon :: may be missing at end of \'", 42);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_90, "\'", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_91, "too many colons for a directive (should be ::)", 46);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_92, "image", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_93, "code-block", 10);
N_LIB_PRIVATE NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg SandboxDirAllowlist__packagesZdocutilsZrst_73 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_92),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_25),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_93)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_94, "admonition", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_95, "attention", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_96, "caution", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_97, "container", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_98, "contents", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_99, "danger", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_100, "default-role", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_101, "error", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_102, "figure", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_103, "hint", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_104, "important", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_105, "include", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_106, "index", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_107, "note", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_108, "raw", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_109, "role", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_110, "tip", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_111, "title", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_112, "warning", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_113, "_`", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_114, "_", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_115, "`", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_117, "__", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_118, "[", 1);
static NIM_CONST tyArray__sMpvt1sOxOJ3LFGulnbeMQ TM__6mNpeIAN05DnDNzb9b3611A_116 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_117),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_118),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_119 = {
0x00, 0x00, 0x00, 0x00, 0x84, 0xa1, 0x00, 0x14,
0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_120, "***", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_121, "``", 2);
static NIM_CONST tyArray__Re75IspeoxXy2oCZHwcRrA TM__6mNpeIAN05DnDNzb9b3611A_122 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_117)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_123 = {
0x00, 0x00, 0x00, 0x00, 0x86, 0xf2, 0x00, 0xcc,
0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
extern TNimType NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_124, " ", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_125, "**", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_126, "dollar", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_127, "percent", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_128, "amp", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_129, "roof", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_130, "emark", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_131, "qmark", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_132, "star", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_133, "plus", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_134, "minus", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_135, "slash", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_136, "backslash", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_137, "eq", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_138, "lt", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_139, "gt", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_140, "tilde", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_141, "colon", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_142, "dot", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_143, "at", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_144, "bar", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_145, ":w:", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_146, "cpp", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_147, "c++", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_148, "csharp", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_149, "c#", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_150, ">", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_151, "<", 1);
N_LIB_PRIVATE TNimType NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_152, "]", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_154, ":D", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_155, "icon_e_biggrin", 14);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_156, ":-D", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_157, ":)", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_158, "icon_e_smile", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_159, ":-)", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_160, ";)", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_161, "icon_e_wink", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_162, ";-)", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_163, ":(", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_164, "icon_e_sad", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_165, ":-(", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_166, ":o", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_167, "icon_e_surprised", 16);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_168, ":-o", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_169, ":shock:", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_170, "icon_eek", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_171, ":\?", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_172, "icon_e_confused", 15);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_173, ":-\?", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_174, ":-/", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_175, "8-)", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_176, "icon_cool", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_177, ":lol:", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_178, "icon_lol", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_179, ":x", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_180, "icon_mad", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_181, ":-x", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_182, ":P", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_183, "icon_razz", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_184, ":-P", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_185, ":oops:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_186, "icon_redface", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_187, ":cry:", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_188, "icon_cry", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_189, ":evil:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_190, "icon_evil", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_191, ":twisted:", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_192, "icon_twisted", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_193, ":roll:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_194, "icon_rolleyes", 13);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_195, ":!:", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_196, "icon_exclaim", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_197, ":\?:", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_198, "icon_question", 13);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_199, ":idea:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_200, "icon_idea", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_201, ":arrow:", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_202, "icon_arrow", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_203, ":|", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_204, "icon_neutral", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_205, ":-|", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_206, ":mrgreen:", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_207, "icon_mrgreen", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_208, ":geek:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_209, "icon_e_geek", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_210, ":ugeek:", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_211, "icon_e_ugeek", 12);
N_LIB_PRIVATE NIM_CONST tyArray__EH7g9cw9ce5QW4p9ba9aZKF51w Smilies__packagesZdocutilsZrst_72 = {{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_154),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_155)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_156),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_155)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_157),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_158)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_159),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_158)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_160),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_161)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_162),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_161)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_163),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_164)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_165),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_164)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_166),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_167)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_168),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_167)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_169),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_170)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_171),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_172)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_173),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_172)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_174),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_172)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_175),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_176)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_177),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_178)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_179),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_180)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_181),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_180)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_182),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_183)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_184),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_183)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_185),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_186)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_187),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_188)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_189),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_190)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_191),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_192)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_193),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_194)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_195),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_196)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_197),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_198)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_199),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_200)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_201),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_202)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_203),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_204)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_205),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_204)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_206),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_207)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_208),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_209)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_210),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_211)}
}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_212, "//", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_214, "http", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_215, "https", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_216, "ftp", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_217, "telnet", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_218, "file", 4);
static NIM_CONST tyArray__haiLFy0nBviVTKFGuwztzQ TM__6mNpeIAN05DnDNzb9b3611A_213 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_214),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_215),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_216),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_217),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_218)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_219, "/", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_220, "\001\001", 2);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_221 = {
0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_223, "default-language", 16);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_224, "Nim", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_225, "start-after", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_226, "end-before", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_227, "html", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_228, "latex", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_229, "language", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_230, " _", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_231, " |", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_232, "replace", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_233, " [", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_234, "footnote-", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_235, "footnoteauto-", 13);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_236, "footnotesym-", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_237, "citation-", 9);
N_LIB_PRIVATE TNimType NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_;
extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
N_LIB_PRIVATE TNimType NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_239, "(n) ", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_240, "n) ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_241, "n. ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_242, "(x) ", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_243, "x) ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_244, "x. ", 3);
N_LIB_PRIVATE NIM_CONST tyArray__yt5VDPNtUGx9cBkOVakHwdQ wildcards__packagesZdocutilsZrst_6178 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_239),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_240),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_241),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_242),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_243),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_244)}
;
N_LIB_PRIVATE NIM_CONST tyArray__oXFh4MvEDAk4hEbFQSH7yQ wildToken__packagesZdocutilsZrst_6179 = {((NI) 4),
((NI) 3),
((NI) 3),
((NI) 4),
((NI) 3),
((NI) 3)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_245, "          not enough indentation on line $2\012            (should be at column $3 if it\'s a continuation of enum. list),\012          or no blank line after line $1 (if it should be the next paragraph),\012          or no escaping \\ at the beginning of line $1\012            (if lines $1..$2 are a normal paragraph, not enum. list)", 321);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_247, "1", 1);
N_LIB_PRIVATE NIM_CONST tyArray__oXFh4MvEDAk4hEbFQSH7yQ wildIndex__packagesZdocutilsZrst_6180 = {((NI) 1),
((NI) 0),
((NI) 0),
((NI) 1),
((NI) 0),
((NI) 0)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_249, "n", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_252, "(syntax error)", 14);
N_LIB_PRIVATE TNimType NTIobject__crlV1WNGeShngwIuNh2Hdg_;
N_LIB_PRIVATE TNimType NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_254, "(section level inconsistent: ", 29);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_255, "overline ", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_256, "underline ", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_258, " unexpectedly found, while the following intermediate section level(s) are missing on lines ", 92);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_260, ",", 1);
N_LIB_PRIVATE TNimType NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_;
extern TNimType NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_;
N_LIB_PRIVATE TNimType NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_263, "--", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_264, ":-", 2);
N_LIB_PRIVATE TNimType NTIobject__dSbgko9cUbNv6KjiW415IXQ_;
N_LIB_PRIVATE TNimType NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_268, "$1 != $2", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_269, " (lines ", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_272, " for auto-numbered footnotes", 28);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_275, " for auto-symbol footnotes", 26);
N_LIB_PRIVATE TNimType NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_;
N_LIB_PRIVATE TNimType NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_277, "^", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_278, "=", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_279, "~", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_280, "$", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_281, "@", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_282, "%", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_283, "&", 1);
N_LIB_PRIVATE NIM_CONST tyArray__17w6ns39bmjfAZ429aQpCFUA footnoteAutoSymbols__packagesZdocutilsZrst_3865 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_277),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_75),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_278),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_279),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_280),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_281),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_282),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_283)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_285, "\?\?\?", 3);
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5272;
extern TSafePoint* excHandler__system_2567;
extern TSafePoint* excHandler__system_2567;
extern TSafePoint* excHandler__system_2567;
extern TSafePoint* excHandler__system_2567;
extern Exception* currException__system_2568;
extern Exception* currException__system_2568;
static N_NIMCALL(void, Marker_tySequence__itU9cAYRNnSMU3pWsbVN4bA)(void* p, NI op) {
	tySequence__itU9cAYRNnSMU3pWsbVN4bA* a;
	NI T1_;
	a = (tySequence__itU9cAYRNnSMU3pWsbVN4bA*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__lrunEzM3UiMYKPLPCTNo0w)(void* p, NI op) {
	tySequence__lrunEzM3UiMYKPLPCTNo0w* a;
	NI T1_;
	a = (tySequence__lrunEzM3UiMYKPLPCTNo0w*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].key, op);
	nimGCvisit((void*)a->data[T1_].value, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA)(void* p, NI op) {
	tySequence__29caZmiPrO6d9cg0Ucdm9bdAA* a;
	NI T1_;
	a = (tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field0, op);
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__SugKu9bev7GtgZTDZMD2xgw)(void* p, NI op) {
	tySequence__SugKu9bev7GtgZTDZMD2xgw* a;
	NI T1_;
	a = (tySequence__SugKu9bev7GtgZTDZMD2xgw*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__59axsmyJq9bYh2MONDvuwAkA)(void* p, NI op) {
	tySequence__59axsmyJq9bYh2MONDvuwAkA* a;
	NI T1_;
	a = (tySequence__59axsmyJq9bYh2MONDvuwAkA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field4, op);
	}
}
static N_NIMCALL(void, Marker_tyRef__YXv0Ic1rfmWevYoin4lGYw)(void* p, NI op) {
	tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* a;
	a = (tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*)p;
	nimGCvisit((void*)(*a).hLevels, op);
	nimGCvisit((void*)(*a).currRole, op);
	nimGCvisit((void*)(*a).subs, op);
	nimGCvisit((void*)(*a).refs, op);
	nimGCvisit((void*)(*a).anchors, op);
	nimGCvisit((void*)(*a).lineFootnoteNum, op);
	nimGCvisit((void*)(*a).lineFootnoteNumRef, op);
	nimGCvisit((void*)(*a).lineFootnoteSym, op);
	nimGCvisit((void*)(*a).lineFootnoteSymRef, op);
	nimGCvisit((void*)(*a).footnotes, op);
	nimGCvisit((void*)(*a).msgHandler.ClE_0, op);
	nimGCvisit((void*)(*a).findFile.ClE_0, op);
	nimGCvisit((void*)(*a).filenames.filenameToIdx.data, op);
	nimGCvisit((void*)(*a).filenames.idxToFilename, op);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultRole__packagesZdocutilsZrst_507)(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		if (!((options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 4))&7U)))!=0)) goto LA3_;
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_16));
	}
	goto LA1_;
	LA3_: ;
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_17));
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(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__system_5368)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT__system_5319((&gch__system_5272.zct), c);
}
static N_INLINE(void, decRef__system_5370)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__system_5368(c);
	}
	LA4_: ;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5325)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__system_5325(p);
	decRef__system_5370(T1_);
}
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__system_1735)(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__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRoleAux__packagesZdocutilsZrst_515)(NimStringDesc* sym) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
	NimStringDesc* r;
	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	r = nsuToLowerAsciiStr(sym);
	switch (hashString(r) & 15) {
	case 3: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_19))) goto LA3_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_22))) goto LA5_;
break;
	case 6: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_20))) goto LA4_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_24))) goto LA6_;
break;
	case 7: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_26))) goto LA8_;
break;
	case 8: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_17))) goto LA2_;
break;
	case 9: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_28))) goto LA8_;
break;
	case 10: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_21))) goto LA5_;
break;
	case 12: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_23))) goto LA6_;
break;
	case 13: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_18))) goto LA1_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_27))) goto LA8_;
break;
	case 15: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_25))) goto LA7_;
break;
	}
	goto LA9_;
	LA1_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 63);
	}
	goto LA10_;
	LA2_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 68);
	}
	goto LA10_;
	LA3_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 65);
	}
	goto LA10_;
	LA4_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 64);
	}
	goto LA10_;
	LA5_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 61);
	}
	goto LA10_;
	LA6_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 62);
	}
	goto LA10_;
	LA7_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 68);
	}
	goto LA10_;
	LA8_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 59);
	}
	goto LA10_;
	LA9_: ;
	{
		{
			tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g T22_;
			T22_ = (tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g)0;
			T22_ = getSourceLanguage__packagesZdocutilsZhighlite_97(r);
			if (!!((T22_ == ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 0)))) goto LA23_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58);
		}
		goto LA20_;
		LA23_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60);
		}
		LA20_: ;
	}
	LA10_: ;
	return result;
}
static N_INLINE(NI, pluspercent___system_696)(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__system_5363)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
}
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__system_5325(src);
		incRef__system_5363(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__system_5325((*dest));
		decRef__system_5370(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw, whichMsgClass__packagesZdocutilsZrst_365)(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ k) {
	tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw result;
	NimStringDesc* T1_;
	result = (tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw)0;
	T1_ = NIM_NIL;
	T1_ = symbolName__packagesZdocutilsZrst_368(k);
	switch (((NU8)(T1_->data[((NI) 1)]))) {
	case 101:
	case 69:
	{
		result = ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 2);
	}
	break;
	case 119:
	case 87:
	{
		result = ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 1);
	}
	break;
	case 104:
	case 72:
	{
		result = ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 0);
	}
	break;
	default:
	{
	}
	break;
	}
	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__system_1727)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
static N_NIMCALL(void, Marker_tyRef__xgJp9cP2o0GzZPEVyPQDpKA)(void* p, NI op) {
	tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ* a;
	a = (tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*)p;
	nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
}
static N_INLINE(void, writeLine__msgs_432)(FILE* f, NimStringDesc** x, NI xLen_0) {
	{
		NimStringDesc** i;
		NI i_2;
		i = (NimStringDesc**)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < xLen_0)) goto LA3;
				i = (&x[i_2]);
				write__systemZio_220(f, (*i));
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	write__systemZio_220(f, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39));
}
N_LIB_PRIVATE N_NIMCALL(void, defaultMsgHandler__packagesZdocutilsZrst_460)(NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgkind, NimStringDesc* arg) {
	tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw mc;
	NimStringDesc* a;
	NimStringDesc* message;
	tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
	NimStringDesc* T10_;
	mc = whichMsgClass__packagesZdocutilsZrst_365(msgkind);
	a = nsuFormatSingleElem(reprEnum((NI)msgkind, (&NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_)), arg);
	message = NIM_NIL;
	message = resizeString(message, (filename ? filename->Sup.len : 0) + 0);
appendString(message, filename);
	{
		if (!(((NI) 0) < line)) goto LA3_;
		message = resizeString(message, 1);
appendString(message, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_32));
		addInt__stdZprivateZdigitsutils_189((&message), line);
		{
			if (!(((NI) 0) < (NI)(col + ((NI) 1)))) goto LA7_;
			message = resizeString(message, 2);
appendString(message, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_33));
			addInt__stdZprivateZdigitsutils_189((&message), (NI)(col + ((NI) 1)));
		}
		LA7_: ;
		message = resizeString(message, 1);
appendString(message, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_34));
	}
	LA3_: ;
	nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
	T9_[0] = reprEnum((NI)mc, (&NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_));
	T9_[1] = copyString(a);
	T10_ = NIM_NIL;
	T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_35), T9_, 2);
	message = resizeString(message, (T10_ ? T10_->Sup.len : 0) + 0);
appendString(message, T10_);
	{
		tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ* T15_;
		NimStringDesc* T16_;
		if (!(mc == ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 2))) goto LA13_;
		T15_ = NIM_NIL;
		T15_ = (tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*) newObj((&NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_), sizeof(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ));
		(*T15_).Sup.Sup.Sup.Sup.m_type = (&NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_);
		(*T15_).Sup.Sup.Sup.name = "EParseError";
		T16_ = NIM_NIL;
		T16_ = (*T15_).Sup.Sup.Sup.message; (*T15_).Sup.Sup.Sup.message = copyStringRC1(message);
		if (T16_) nimGCunrefNoCycle(T16_);
		asgnRef((void**) (&(*T15_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
		raiseExceptionEx((Exception*)T15_, "EParseError", "defaultMsgHandler", "rst.nim", 571);
	}
	goto LA11_;
	LA13_: ;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T18_;
		nimZeroMem((void*)T18_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T18_[0] = copyString(message);
		writeLine__msgs_432(stdout, T18_, 1);
	}
	LA11_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultFindFile__packagesZdocutilsZrst_504)(NimStringDesc* filename) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nosfileExists(filename);
		if (!T3_) goto LA4_;
		result = copyString(filename);
	}
	goto LA1_;
	LA4_: ;
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrst_523)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = (filenames.idxToFilename ? filenames.idxToFilename->Sup.len : 0);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setCurrFilename__packagesZdocutilsZrst_529)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* file1) {
	NI32 nextIdx;
	NI T1_;
	NI32 v;
	T1_ = (NI)0;
	T1_ = len__packagesZdocutilsZrst_523((*s).filenames);
	nextIdx = ((NI32) (T1_));
	v = getOrDefault__packagesZdocutilsZrst_599((*s).filenames.filenameToIdx, file1, nextIdx);
	{
		NI T6_;
		NimStringDesc* T7_;
		if (!(v == nextIdx)) goto LA4_;
		X5BX5Deq___packagesZdocutilsZrst_952((&(*s).filenames.filenameToIdx), file1, v);
		asgnRef((void**) (&(*s).filenames.idxToFilename), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*s).filenames.idxToFilename), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
		T6_ = (*s).filenames.idxToFilename->Sup.len++;
		T7_ = NIM_NIL;
		T7_ = (*s).filenames.idxToFilename->data[T6_]; (*s).filenames.idxToFilename->data[T6_] = copyStringRC1(file1);
		if (T7_) nimGCunrefNoCycle(T7_);
	}
	LA4_: ;
	(*s).currFileIdx = v;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*, newRstSharedState__packagesZdocutilsZrst_2004)(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options, NimStringDesc* filename, tyProc__oFHfEKFsiYTMAy9a42cSiKw findFile, tyProc__zVyAuQlxcO3X84ar49cKZSg msgHandler) {
	tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* result;
	NimStringDesc* r;
	tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* T1_;
	NimStringDesc* T2_;
	result = NIM_NIL;
	r = defaultRole__packagesZdocutilsZrst_507(options);
	T1_ = NIM_NIL;
	T1_ = (tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*) newObj((&NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_), sizeof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA));
	T2_ = NIM_NIL;
	T2_ = (*T1_).currRole; (*T1_).currRole = copyStringRC1(r);
	if (T2_) nimGCunrefNoCycle(T2_);
	(*T1_).currRoleKind = whichRoleAux__packagesZdocutilsZrst_515(r);
	(*T1_).options = options;
	{
		if (!!((msgHandler.ClP_0 == 0))) goto LA5_;
		asgnRef((void**) (&(*T1_).msgHandler.ClE_0), msgHandler.ClE_0);
		(*T1_).msgHandler.ClP_0 = msgHandler.ClP_0;
	}
	goto LA3_;
	LA5_: ;
	{
		tyProc__zVyAuQlxcO3X84ar49cKZSg T8_;
		nimZeroMem((void*)(&T8_), sizeof(tyProc__zVyAuQlxcO3X84ar49cKZSg));
		T8_.ClP_0 = ((TM__6mNpeIAN05DnDNzb9b3611A_40) (defaultMsgHandler__packagesZdocutilsZrst_460)); T8_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&(*T1_).msgHandler.ClE_0), T8_.ClE_0);
		(*T1_).msgHandler.ClP_0 = T8_.ClP_0;
	}
	LA3_: ;
	{
		if (!!((findFile.ClP_0 == 0))) goto LA11_;
		asgnRef((void**) (&(*T1_).findFile.ClE_0), findFile.ClE_0);
		(*T1_).findFile.ClP_0 = findFile.ClP_0;
	}
	goto LA9_;
	LA11_: ;
	{
		tyProc__oFHfEKFsiYTMAy9a42cSiKw T14_;
		nimZeroMem((void*)(&T14_), sizeof(tyProc__oFHfEKFsiYTMAy9a42cSiKw));
		T14_.ClP_0 = ((TM__6mNpeIAN05DnDNzb9b3611A_41) (defaultFindFile__packagesZdocutilsZrst_504)); T14_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&(*T1_).findFile.ClE_0), T14_.ClE_0);
		(*T1_).findFile.ClP_0 = T14_.ClP_0;
	}
	LA9_: ;
	result = T1_;
	setCurrFilename__packagesZdocutilsZrst_529(result, filename);
	return result;
}
static N_NIMCALL(void, Marker_tySequence__HsIBrWWNKBMO7j6datX5Dw)(void* p, NI op) {
	tySequence__HsIBrWWNKBMO7j6datX5Dw* a;
	NI T1_;
	a = (tySequence__HsIBrWWNKBMO7j6datX5Dw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].symbol, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initParser__packagesZdocutilsZrst_2123)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* sharedState) {
	unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), 1));
	(*p).indentStack->data[0] = ((NI) 0);
	unsureAsgnRef((void**) (&(*p).tok), NIM_NIL);
	(*p).idx = ((NI) 0);
	(*p).col = ((NI) 0);
	(*p).line = ((NI) 1);
	unsureAsgnRef((void**) (&(*p).s), sharedState);
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == ((NimStringDesc*) NIM_NIL));
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getThing__packagesZdocutilsZrst_109)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s) {
	NI pos;
	(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3);
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	pos = (*L).bufpos;
	{
		while (1) {
			unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
			pos += ((NI) 1);
			{
				if (!!(((s[(NU)(((NU8)((*L).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*L).buf[pos])))&7U)))!=0))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
		}
	} LA1: ;
	(*L).col += (NI)(pos - (*L).bufpos);
	(*L).bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(NI, getIndentAux__packagesZdocutilsZrst_188)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, NI start) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = start;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(13))) goto LA3_;
		{
			if (!((NU8)((*L).buf[(NI)(pos + ((NI) 1))]) == (NU8)(10))) goto LA7_;
			pos += ((NI) 2);
		}
		goto LA5_;
		LA7_: ;
		{
			pos += ((NI) 1);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(10))) goto LA11_;
		pos += ((NI) 1);
	}
	goto LA1_;
	LA11_: ;
	LA1_: ;
	{
		while (1) {
			switch (((NU8)((*L).buf[pos]))) {
			case 32:
			case 11:
			case 12:
			{
				pos += ((NI) 1);
				result += ((NI) 1);
			}
			break;
			case 9:
			{
				pos += ((NI) 1);
				result = (NI)((NI)(result - (NI)(result % ((NI) 8))) + ((NI) 8));
			}
			break;
			default:
			{
				goto LA13;
			}
			break;
			}
		}
	} LA13: ;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(0))) goto LA20_;
		result = ((NI) 0);
	}
	goto LA18_;
	LA20_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = ((NU8)((*L).buf[pos]) == (NU8)(10));
		if (T23_) goto LA24_;
		T23_ = ((NU8)((*L).buf[pos]) == (NU8)(13));
		LA24_: ;
		if (!T23_) goto LA25_;
		result = getIndentAux__packagesZdocutilsZrst_188(L, pos);
	}
	goto LA18_;
	LA25_: ;
	LA18_: ;
	(*L).bufpos = pos;
	return result;
}
static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = nsuRepeatChar(32, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getIndent__packagesZdocutilsZrst_217)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	(*tok).col = ((NI) 0);
	(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1);
	(*tok).ival = getIndentAux__packagesZdocutilsZrst_188(L, (*L).bufpos);
	(*L).line += ((NI) 1);
	(*tok).line = (*L).line;
	(*L).col = (*tok).ival;
	(*tok).ival = (((NI)((*tok).ival - (*L).baseIndent) >= ((NI) 0)) ? (NI)((*tok).ival - (*L).baseIndent) : ((NI) 0));
	T1_ = NIM_NIL;
	T2_ = NIM_NIL;
	T2_ = spaces__pureZstrutils_1029(((NI) ((*tok).ival)));
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 1);
appendString(T1_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39));
appendString(T1_, T2_);
	unsureAsgnRef((void**) (&(*tok).symbol), T1_);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCurrentLineAdornment__packagesZdocutilsZrst_135)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L) {
	NIM_BOOL result;
	NI pos;
	NIM_CHAR c;
{	result = (NIM_BOOL)0;
	pos = (*L).bufpos;
	c = (*L).buf[pos];
	{
		while (1) {
			pos += ((NI) 1);
			{
				if (!(((NU8)((*L).buf[pos])) == ((NU8)(13)) || ((NU8)((*L).buf[pos])) == ((NU8)(10)) || ((NU8)((*L).buf[pos])) == ((NU8)(0)))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
			{
				if (!((NU8)(c) == (NU8)(43))) goto LA9_;
				{
					if (!!((((NU8)((*L).buf[pos])) == ((NU8)(45)) || ((NU8)((*L).buf[pos])) == ((NU8)(61)) || ((NU8)((*L).buf[pos])) == ((NU8)(43))))) goto LA13_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA13_: ;
			}
			goto LA7_;
			LA9_: ;
			{
				{
					if (!!((((NU8)((*L).buf[pos])) == ((NU8)(c)) || ((NU8)((*L).buf[pos])) == ((NU8)(32)) || ((NU8)((*L).buf[pos])) == ((NU8)(9)) || ((NU8)((*L).buf[pos])) == ((NU8)(11)) || ((NU8)((*L).buf[pos])) == ((NU8)(12))))) goto LA18_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA18_: ;
			}
			LA7_: ;
		}
	} LA1: ;
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getPunctAdornment__packagesZdocutilsZrst_156)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	NI pos;
	NIM_CHAR c;
	{
		if (!(*L).adornmentLine) goto LA3_;
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4);
	}
	goto LA1_;
	LA3_: ;
	{
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5);
	}
	LA1_: ;
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	pos = (*L).bufpos;
	c = (*L).buf[pos];
	{
		NIM_BOOL T8_;
		NIM_BOOL T10_;
		T8_ = (NIM_BOOL)0;
		T8_ = !((*L).escapeNext);
		if (!(T8_)) goto LA9_;
		T10_ = (NIM_BOOL)0;
		T10_ = !(((NU8)(c) == (NU8)(92)));
		if (T10_) goto LA11_;
		T10_ = (*L).adornmentLine;
		LA11_: ;
		T8_ = T10_;
		LA9_: ;
		if (!T8_) goto LA12_;
		{
			while (1) {
				unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
				pos += ((NI) 1);
				{
					if (!!(((NU8)((*L).buf[pos]) == (NU8)(c)))) goto LA18_;
					goto LA14;
				}
				LA18_: ;
			}
		} LA14: ;
	}
	goto LA6_;
	LA12_: ;
	{
		if (!(*L).escapeNext) goto LA21_;
		unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
		pos += ((NI) 1);
	}
	goto LA6_;
	LA21_: ;
	{
		unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, 92));
		pos += ((NI) 1);
		(*L).escapeNext = NIM_TRUE;
	}
	LA6_: ;
	(*L).col += (NI)(pos - (*L).bufpos);
	(*L).bufpos = pos;
	{
		if (!eqStrings((*tok).symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50))) goto LA26_;
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5);
	}
	LA26_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getBracket__packagesZdocutilsZrst_177)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5);
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[(*L).bufpos]));
	(*L).col += ((NI) 1);
	(*L).bufpos += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__packagesZdocutilsZrst_224)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	NIM_CHAR c;
	unsureAsgnRef((void**) (&(*tok).symbol), ((NimStringDesc*) NIM_NIL));
	(*tok).ival = ((NI) 0);
	{
		if (!((*L).col == ((NI) 0))) goto LA3_;
		(*L).adornmentLine = NIM_FALSE;
	}
	LA3_: ;
	c = (*L).buf[(*L).bufpos];
	switch (((NU8)(c))) {
	case 97 ... 122:
	case 65 ... 90:
	case 128 ... 255:
	case 48 ... 57:
	{
		getThing__packagesZdocutilsZrst_109(L, tok, TM__6mNpeIAN05DnDNzb9b3611A_48);
	}
	break;
	case 32:
	case 9:
	case 11:
	case 12:
	{
		getThing__packagesZdocutilsZrst_109(L, tok, TM__6mNpeIAN05DnDNzb9b3611A_49);
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2);
		{
			if (!(((NU8)((*L).buf[(*L).bufpos])) == ((NU8)(13)) || ((NU8)((*L).buf[(*L).bufpos])) == ((NU8)(10)))) goto LA9_;
			rawGetTok__packagesZdocutilsZrst_224(L, tok);
		}
		LA9_: ;
	}
	break;
	case 13:
	case 10:
	{
		getIndent__packagesZdocutilsZrst_217(L, tok);
		(*L).adornmentLine = NIM_FALSE;
	}
	break;
	case 33:
	case 34:
	case 35:
	case 36:
	case 37:
	case 38:
	case 39:
	case 42:
	case 43:
	case 44:
	case 45:
	case 46:
	case 47:
	case 58:
	case 59:
	case 60:
	case 61:
	case 62:
	case 63:
	case 64:
	case 92:
	case 94:
	case 95:
	case 96:
	case 124:
	case 126:
	{
		{
			if (!((*L).col == ((NI) 0))) goto LA15_;
			(*L).adornmentLine = isCurrentLineAdornment__packagesZdocutilsZrst_135(L);
		}
		LA15_: ;
		getPunctAdornment__packagesZdocutilsZrst_156(L, tok);
	}
	break;
	case 40:
	case 41:
	case 91:
	case 93:
	case 123:
	case 125:
	{
		getBracket__packagesZdocutilsZrst_177(L, tok);
	}
	break;
	default:
	{
		(*tok).line = (*L).line;
		(*tok).col = (*L).col;
		{
			if (!((NU8)(c) == (NU8)(0))) goto LA21_;
			(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0);
		}
		goto LA19_;
		LA21_: ;
		{
			(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6);
			unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, c));
			(*L).bufpos += ((NI) 1);
			(*L).col += ((NI) 1);
		}
		LA19_: ;
	}
	break;
	}
	(*tok).col = (((NI)((*tok).col - (*L).baseIndent) >= ((NI) 0)) ? (NI)((*tok).col - (*L).baseIndent) : ((NI) 0));
}
N_LIB_PRIVATE N_NIMCALL(void, getTokens__packagesZdocutilsZrst_240)(NimStringDesc* buffer, tySequence__HsIBrWWNKBMO7j6datX5Dw** tokens) {
	tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA L;
	NI length;
	NI T1_;
	nimZeroMem((void*)(&L), sizeof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA));
	L.Sup.m_type = (&NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_);
	T1_ = ((*tokens) ? (*tokens)->Sup.len : 0);
	length = T1_;
	L.buf = nimToCStringConv(buffer);
	L.line = ((NI) 0);
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((NU8)(L.buf[((NI) 0)]) == (NU8)(239));
		if (!(T5_)) goto LA6_;
		T5_ = ((NU8)(L.buf[((NI) 1)]) == (NU8)(187));
		LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = ((NU8)(L.buf[((NI) 2)]) == (NU8)(191));
		LA7_: ;
		if (!T4_) goto LA8_;
		L.bufpos += ((NI) 3);
	}
	LA8_: ;
	{
		while (1) {
			NIM_BOOL toEscape;
			length += ((NI) 1);
			unsureAsgnRef((void**) (&(*tokens)), (tySequence__HsIBrWWNKBMO7j6datX5Dw*) setLengthSeqV2(&((*tokens))->Sup, (&NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_), ((NI) (length))));
			toEscape = L.escapeNext;
			rawGetTok__packagesZdocutilsZrst_224((&L), (&(*tokens)->data[(NI)(length - ((NI) 1))]));
			{
				if (!toEscape) goto LA14_;
				L.escapeNext = NIM_FALSE;
			}
			LA14_: ;
			{
				if (!((*tokens)->data[(NI)(length - ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0))) goto LA18_;
				goto LA10;
			}
			LA18_: ;
		}
	} LA10: ;
	{
		if (!((*tokens)->data[((NI) 0)].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA22_;
		(*tokens)->data[((NI) 0)].ival = ((*tokens)->data[((NI) 0)].symbol ? (*tokens)->data[((NI) 0)].symbol->Sup.len : 0);
		(*tokens)->data[((NI) 0)].kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1);
	}
	LA22_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, currInd__packagesZdocutilsZrst_2098)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = (((*p).indentStack ? (*p).indentStack->Sup.len : 0)-1);
	result = (*p).indentStack->data[T1_];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, pushInd__packagesZdocutilsZrst_2104)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI ind) {
	NI T1_;
	unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*p).indentStack), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
	T1_ = (*p).indentStack->Sup.len++;
	(*p).indentStack->data[T1_] = ind;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNodeA__packagesZdocutilsZrst_4014)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(kind, T1_, ((NimStringDesc*) NIM_NIL));
	{
		NimStringDesc* T6_;
		if (!!((((*p).curAnchor ? (*p).curAnchor->Sup.len : 0) == 0))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = (*result).anchor; (*result).anchor = copyStringRC1((*p).curAnchor);
		if (T6_) nimGCunrefNoCycle(T6_);
		unsureAsgnRef((void**) (&(*p).curAnchor), ((NimStringDesc*) NIM_NIL));
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, popInd__packagesZdocutilsZrst_2111)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	{
		NI T3_;
		NI T6_;
		T3_ = ((*p).indentStack ? (*p).indentStack->Sup.len : 0);
		if (!(((NI) 1) < T3_)) goto LA4_;
		T6_ = ((*p).indentStack ? (*p).indentStack->Sup.len : 0);
		unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*p).indentStack)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) ((NI)(T6_ - ((NI) 1))))));
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownCodeBlock__packagesZdocutilsZrst_5402)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI idx) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
	if (!(T1_)) goto LA2_;
	T1_ = eqStrings((*p).tok->data[idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_51));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validRefnamePunct__packagesZdocutilsZrst_4023)(NimStringDesc* x) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((x ? x->Sup.len : 0) == ((NI) 1));
	if (!(T1_)) goto LA2_;
	T1_ = (((NU8)(x->data[((NI) 0)])) == ((NU8)(45)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(95)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(46)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(58)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(43)));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getRefnameIdx__packagesZdocutilsZrst_4030)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx) {
	NI result;
	NI j;
	result = (NI)0;
	j = startIdx;
	{
		if (!((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3))) goto LA3_;
		j += ((NI) 1);
		{
			while (1) {
				NIM_BOOL T7_;
				NIM_BOOL T8_;
				T7_ = (NIM_BOOL)0;
				T8_ = (NIM_BOOL)0;
				T8_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
				if (!(T8_)) goto LA9_;
				T8_ = validRefnamePunct__packagesZdocutilsZrst_4023((*p).tok->data[j].symbol);
				LA9_: ;
				T7_ = T8_;
				if (!(T7_)) goto LA10_;
				T7_ = ((*p).tok->data[(NI)(j + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3));
				LA10_: ;
				if (!T7_) goto LA6;
				j += ((NI) 2);
			} LA6: ;
		}
	}
	LA3_: ;
	result = (NI)(j - ((NI) 1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, match__packagesZdocutilsZrst_4279)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr) {
	NIM_BOOL result;
	NI i;
	NI j;
	NI last;
{	result = (NIM_BOOL)0;
	i = ((NI) 0);
	j = start;
	last = (NI)((expr ? expr->Sup.len : 0) - ((NI) 1));
	{
		while (1) {
			if (!(i <= last)) goto LA2;
			switch (((NU8)(expr->data[i]))) {
			case 119:
			{
				NI lastIdx;
				lastIdx = getRefnameIdx__packagesZdocutilsZrst_4030(p, j);
				result = (j <= lastIdx);
				{
					if (!result) goto LA6_;
					j = lastIdx;
				}
				LA6_: ;
			}
			break;
			case 32:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
			}
			break;
			case 105:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
			}
			break;
			case 73:
			{
				result = ((3 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
			}
			break;
			case 112:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
			}
			break;
			case 97:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4));
			}
			break;
			case 111:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6));
			}
			break;
			case 84:
			{
				result = NIM_TRUE;
			}
			break;
			case 69:
			{
				result = ((7 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
			}
			break;
			case 101:
			case 120:
			case 110:
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3));
				if (T17_) goto LA18_;
				T17_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
				LA18_: ;
				result = T17_;
				{
					if (!result) goto LA21_;
					switch (((NU8)((*p).tok->data[j].symbol->data[((NI) 0)]))) {
					case 35:
					{
						result = NIM_TRUE;
					}
					break;
					case 97 ... 122:
					case 65 ... 90:
					{
						NIM_BOOL T25_;
						T25_ = (NIM_BOOL)0;
						T25_ = (((NU8)(expr->data[i])) == ((NU8)(101)) || ((NU8)(expr->data[i])) == ((NU8)(120)));
						if (!(T25_)) goto LA26_;
						T25_ = (((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) == ((NI) 1));
						LA26_: ;
						result = T25_;
					}
					break;
					case 48 ... 57:
					{
						NIM_BOOL T28_;
						T28_ = (NIM_BOOL)0;
						T28_ = (((NU8)(expr->data[i])) == ((NU8)(101)) || ((NU8)(expr->data[i])) == ((NU8)(110)));
						if (!(T28_)) goto LA29_;
						T28_ = allCharsInSet__pureZstrutils_1341((*p).tok->data[j].symbol, TM__6mNpeIAN05DnDNzb9b3611A_55);
						LA29_: ;
						result = T28_;
					}
					break;
					default:
					{
						result = NIM_FALSE;
					}
					break;
					}
				}
				LA21_: ;
			}
			break;
			default:
			{
				NIM_CHAR c;
				NI length;
				NIM_BOOL T36_;
				NIM_BOOL T37_;
				c = expr->data[i];
				length = ((NI) 0);
				{
					while (1) {
						NIM_BOOL T34_;
						T34_ = (NIM_BOOL)0;
						T34_ = (i <= last);
						if (!(T34_)) goto LA35_;
						T34_ = ((NU8)(expr->data[i]) == (NU8)(c));
						LA35_: ;
						if (!T34_) goto LA33;
						i += ((NI) 1);
						length += ((NI) 1);
					} LA33: ;
				}
				i -= ((NI) 1);
				T36_ = (NIM_BOOL)0;
				T37_ = (NIM_BOOL)0;
				T37_ = ((48 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
				if (!(T37_)) goto LA38_;
				T37_ = (((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) == length);
				LA38_: ;
				T36_ = T37_;
				if (!(T36_)) goto LA39_;
				T36_ = ((NU8)((*p).tok->data[j].symbol->data[((NI) 0)]) == (NU8)(c));
				LA39_: ;
				result = T36_;
			}
			break;
			}
			{
				if (!!(result)) goto LA42_;
				goto BeforeRet_;
			}
			LA42_: ;
			j += ((NI) 1);
			i += ((NI) 1);
		} LA2: ;
	}
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFilename__packagesZdocutilsZrst_1992)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, NI32 fid) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI T5_;
		NimStringDesc* T8_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
		NI T10_;
		NimStringDesc* T11_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= ((NI) (fid)));
		if (!(T3_)) goto LA4_;
		T5_ = (NI)0;
		T5_ = len__packagesZdocutilsZrst_523(filenames);
		T3_ = (((NI) (fid)) < T5_);
		LA4_: ;
		if (!!(T3_)) goto LA6_;
		T8_ = NIM_NIL;
		nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T9_[0] = dollar___systemZdollars_3(((NI) (fid)));
		T10_ = (NI)0;
		T10_ = len__packagesZdocutilsZrst_523(filenames);
		T9_[1] = dollar___systemZdollars_3((NI)(T10_ - ((NI) 1)));
		T11_ = NIM_NIL;
		T11_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_59), T9_, 2);
		T8_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 60);
appendString(T8_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_58));
appendString(T8_, T11_);
		failedAssertImpl__systemZassertions_56(T8_);
	}
	LA6_: ;
	result = copyString(filenames.idxToFilename->data[fid]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, currFilename__packagesZdocutilsZrst_2001)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = getFilename__packagesZdocutilsZrst_1992((*s).filenames, (*s).currFileIdx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, curLine__packagesZdocutilsZrst_2062)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	result = (NI)((*p).line + (*p).tok->data[(*p).idx].line);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2094)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind) {
	NimStringDesc* T1_;
	NI T2_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2001((*p).s);
	T2_ = (NI)0;
	T2_ = curLine__packagesZdocutilsZrst_2062(p);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, (*p).tok->data[(*p).idx].symbol, (*(*p).s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_60)((*(*p).s).msgHandler.ClP_0))(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, (*p).tok->data[(*p).idx].symbol);
}
N_LIB_PRIVATE N_NIMCALL(NI, tokenAfterNewline__packagesZdocutilsZrst_5167)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start) {
	NI result;
	result = (NI)0;
	result = start;
	{
		while (1) {
			switch ((*p).tok->data[result].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
			{
				goto LA1;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				result += ((NI) 1);
				goto LA1;
			}
			break;
			default:
			{
				result += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	return result;
}
static N_INLINE(NI, tokenAfterNewline__packagesZdocutilsZrst_5179)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	result = tokenAfterNewline__packagesZdocutilsZrst_5167(p, (*p).idx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__packagesZdocutilsZrst_5504)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5179(p);
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*p).tok->data[(*p).idx].col == (*p).tok->data[j].col);
	if (!(T3_)) goto LA4_;
	T3_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
	LA4_: ;
	T2_ = T3_;
	if (T2_) goto LA5_;
	T2_ = ((*p).tok->data[(*p).idx].col < (*p).tok->data[j].col);
	LA5_: ;
	T1_ = T2_;
	if (T1_) goto LA6_;
	T1_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39));
	LA6_: ;
	result = T1_;
	return result;
}
static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
	NI result;
{	result = (NI)0;
	result = ((NI) 0);
	{
		NimStringDesc** i;
		NI i_2;
		i = (NimStringDesc**)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < aLen_0)) goto LA3;
				i = (&a[i_2]);
				{
					if (!eqStrings((*i), item)) goto LA6_;
					goto BeforeRet_;
				}
				LA6_: ;
				result += ((NI) 1);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
	NIM_BOOL result;
	NI T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = find__stdZenumutils_48(a, aLen_0, item);
	result = (((NI) 0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2070)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg) {
	NimStringDesc* T1_;
	NI T2_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2001((*p).s);
	T2_ = (NI)0;
	T2_ = curLine__packagesZdocutilsZrst_2062(p);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, arg, (*(*p).s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_65)((*(*p).s).msgHandler.ClP_0))(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAdornmentHeadline__packagesZdocutilsZrst_5410)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI adornmentIdx) {
	NIM_BOOL result;
	NI headlineLen;
	NimStringDesc* failure;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_64, 3, (*p).tok->data[adornmentIdx].symbol);
		if (!T3_) goto LA4_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = isMarkdownCodeBlock__packagesZdocutilsZrst_5402(p, adornmentIdx);
		if (!T8_) goto LA9_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA9_: ;
	headlineLen = ((NI) 0);
	failure = ((NimStringDesc*) NIM_NIL);
	{
		NIM_BOOL T26_;
		if (!((*p).idx < adornmentIdx)) goto LA13_;
		{
			if (!(((NI) 0) < (*p).idx)) goto LA17_;
			headlineLen = (NI)((*p).tok->data[(*p).idx].col - (*p).tok->data[adornmentIdx].col);
		}
		LA17_: ;
		{
			if (!(((NI) 0) < headlineLen)) goto LA21_;
			rstMessage__packagesZdocutilsZrst_2070(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_66));
		}
		LA21_: ;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = (NI)(adornmentIdx - ((NI) 1));
			i_2 = (*p).idx;
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA25;
					i = i_2;
					headlineLen += ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0);
					i_2 += ((NI) 1);
				} LA25: ;
			}
		}
		T26_ = (NIM_BOOL)0;
		T26_ = (headlineLen <= ((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0));
		if (!(T26_)) goto LA27_;
		T26_ = !((headlineLen == ((NI) 0)));
		LA27_: ;
		result = T26_;
		{
			NimStringDesc* T32_;
			if (!!(result)) goto LA30_;
			T32_ = NIM_NIL;
			T32_ = rawNewString(((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0) + 27);
appendString(T32_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67));
appendString(T32_, (*p).tok->data[adornmentIdx].symbol);
appendString(T32_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_68));
			failure = T32_;
		}
		LA30_: ;
	}
	goto LA11_;
	LA13_: ;
	{
		NI i_3;
		NIM_BOOL T36_;
		i_3 = (NI)((*p).idx + ((NI) 2));
		headlineLen = (NI)((*p).tok->data[i_3].col - (*p).tok->data[adornmentIdx].col);
		{
			while (1) {
				if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[i_3].kind)&7U)))!=0))) goto LA35;
				headlineLen += ((*p).tok->data[i_3].symbol ? (*p).tok->data[i_3].symbol->Sup.len : 0);
				i_3 += ((NI) 1);
			} LA35: ;
		}
		T36_ = (NIM_BOOL)0;
		T36_ = (headlineLen <= ((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0));
		if (!(T36_)) goto LA37_;
		T36_ = !((headlineLen == ((NI) 0)));
		LA37_: ;
		result = T36_;
		{
			NIM_BOOL T42_;
			NIM_BOOL T43_;
			NIM_BOOL T44_;
			if (!result) goto LA40_;
			T42_ = (NIM_BOOL)0;
			T43_ = (NIM_BOOL)0;
			T44_ = (NIM_BOOL)0;
			T44_ = result;
			if (!(T44_)) goto LA45_;
			T44_ = ((*p).tok->data[i_3].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
			LA45_: ;
			T43_ = T44_;
			if (!(T43_)) goto LA46_;
			T43_ = ((*p).tok->data[(NI)(i_3 + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4));
			LA46_: ;
			T42_ = T43_;
			if (!(T42_)) goto LA47_;
			T42_ = eqStrings((*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol, (*p).tok->data[adornmentIdx].symbol);
			LA47_: ;
			result = T42_;
			{
				NimStringDesc* T52_;
				if (!!(result)) goto LA50_;
				T52_ = NIM_NIL;
				T52_ = rawNewString(((*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol ? (*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol->Sup.len : 0) + ((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0) + 41);
appendString(T52_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67));
appendString(T52_, (*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol);
appendString(T52_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69));
appendString(T52_, (*p).tok->data[adornmentIdx].symbol);
appendString(T52_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_70));
				failure = T52_;
			}
			LA50_: ;
		}
		goto LA38_;
		LA40_: ;
		{
			NimStringDesc* T54_;
			T54_ = NIM_NIL;
			T54_ = rawNewString(((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0) + 26);
appendString(T54_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_71));
appendString(T54_, (*p).tok->data[adornmentIdx].symbol);
appendString(T54_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_68));
			failure = T54_;
		}
		LA38_: ;
	}
	LA11_: ;
	{
		if (!!(result)) goto LA57_;
		rstMessage__packagesZdocutilsZrst_2070(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 4), failure);
	}
	LA57_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__packagesZdocutilsZrst_5526)(NimStringDesc* s) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 1) <= (s ? s->Sup.len : 0));
		if (!(T3_)) goto LA4_;
		T3_ = ((s ? s->Sup.len : 0) <= ((NI) 6));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_CHAR c;
			NI i;
			NI L;
			c = (NIM_CHAR)0;
			i = ((NI) 0);
			L = (s ? s->Sup.len : 0);
			{
				while (1) {
					if (!(i < L)) goto LA9;
					c = s->data[i];
					{
						if (!!(((NU8)(c) == (NU8)(35)))) goto LA12_;
						result = NIM_FALSE;
						goto BeforeRet_;
					}
					LA12_: ;
					i += ((NI) 1);
				} LA9: ;
			}
		}
		result = NIM_TRUE;
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadline__packagesZdocutilsZrst_5530)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = isMarkdownHeadlinePattern__packagesZdocutilsZrst_5526((*p).tok->data[(*p).idx].symbol);
			if (!(T7_)) goto LA8_;
			T7_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
			LA8_: ;
			if (!T7_) goto LA9_;
			{
				if (!((104 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 2))].kind)&7U)))!=0)) goto LA13_;
				result = NIM_TRUE;
			}
			LA13_: ;
		}
		LA9_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, predNL__packagesZdocutilsZrst_5508)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	{
		NIM_BOOL T5_;
		NI T7_;
		if (!(((NI) 0) < (*p).idx)) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		if (!(T5_)) goto LA6_;
		T7_ = (NI)0;
		T7_ = currInd__packagesZdocutilsZrst_2098(p);
		T5_ = ((*p).tok->data[(NI)((*p).idx - ((NI) 1))].ival == T7_);
		LA6_: ;
		result = T5_;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, findPipe__packagesZdocutilsZrst_5545)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start) {
	NIM_BOOL result;
	NI i;
{	result = (NIM_BOOL)0;
	i = start;
	{
		while (1) {
			{
				if (!eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62))) goto LA5_;
				result = NIM_TRUE;
				goto BeforeRet_;
			}
			LA5_: ;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA9_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA9_: ;
			i += ((NI) 1);
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOptionList__packagesZdocutilsZrst_5523)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_82));
	if (T3_) goto LA4_;
	T3_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_83));
	LA4_: ;
	T2_ = T3_;
	if (T2_) goto LA5_;
	T2_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_84));
	LA5_: ;
	T1_ = T2_;
	if (T1_) goto LA6_;
	T1_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_85));
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__packagesZdocutilsZrst_5515)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5179(p);
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p).tok->data[(*p).idx].col < (*p).tok->data[j].col);
	if (!(T2_)) goto LA3_;
	T2_ = ((104 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = !(eqStrings((*p).tok->data[(NI)(j - ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52)));
	LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichSection__packagesZdocutilsZrst_5558)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
{	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	{
		if (!((48 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = isMarkdownCodeBlock__packagesZdocutilsZrst_5402(p, (*p).idx);
			if (!T7_) goto LA8_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51);
			goto BeforeRet_;
		}
		goto LA5_;
		LA8_: ;
		{
			if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52))) goto LA11_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25);
			goto BeforeRet_;
		}
		goto LA5_;
		LA11_: ;
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_53));
			if (!(T14_)) goto LA15_;
			T14_ = ((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0);
			LA15_: ;
			if (!T14_) goto LA16_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44);
			goto BeforeRet_;
		}
		goto LA5_;
		LA16_: ;
		LA5_: ;
	}
	LA3_: ;
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
	{
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = match__packagesZdocutilsZrst_4279(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_56));
			if (!(T21_)) goto LA22_;
			T21_ = (((NI) 4) <= ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0));
			LA22_: ;
			if (!T21_) goto LA23_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 4);
		}
		goto LA19_;
		LA23_: ;
		{
			NIM_BOOL T26_;
			T26_ = (NIM_BOOL)0;
			T26_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_57));
			if (!T26_) goto LA27_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 31);
			rstMessage__packagesZdocutilsZrst_2094(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 2));
		}
		goto LA19_;
		LA27_: ;
		{
			NIM_BOOL T30_;
			T30_ = (NIM_BOOL)0;
			T30_ = match__packagesZdocutilsZrst_4279(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_61));
			if (!T30_) goto LA31_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 30);
		}
		goto LA19_;
		LA31_: ;
		{
			NIM_BOOL T34_;
			T34_ = (NIM_BOOL)0;
			T34_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
			if (!(T34_)) goto LA35_;
			T34_ = isLineBlock__packagesZdocutilsZrst_5504(p);
			LA35_: ;
			if (!T34_) goto LA36_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27);
		}
		goto LA19_;
		LA36_: ;
		{
			NIM_BOOL T39_;
			T39_ = (NIM_BOOL)0;
			T39_ = match__packagesZdocutilsZrst_4279(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_63));
			if (!(T39_)) goto LA40_;
			T39_ = isAdornmentHeadline__packagesZdocutilsZrst_5410(p, (*p).idx);
			LA40_: ;
			if (!T39_) goto LA41_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2);
		}
		goto LA19_;
		LA41_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73);
		}
		LA19_: ;
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
	{
		{
			NIM_BOOL T47_;
			T47_ = (NIM_BOOL)0;
			T47_ = isMarkdownHeadline__packagesZdocutilsZrst_5530(p);
			if (!T47_) goto LA48_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3);
		}
		goto LA45_;
		LA48_: ;
		{
			NIM_BOOL T51_;
			NIM_BOOL T52_;
			NIM_BOOL T53_;
			T51_ = (NIM_BOOL)0;
			T52_ = (NIM_BOOL)0;
			T53_ = (NIM_BOOL)0;
			T53_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T53_)) goto LA54_;
			T53_ = predNL__packagesZdocutilsZrst_5508(p);
			LA54_: ;
			T52_ = T53_;
			if (!(T52_)) goto LA55_;
			T52_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_72));
			LA55_: ;
			T51_ = T52_;
			if (!(T51_)) goto LA56_;
			T51_ = findPipe__packagesZdocutilsZrst_5545(p, (NI)((*p).idx + ((NI) 3)));
			LA56_: ;
			if (!T51_) goto LA57_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 32);
		}
		goto LA45_;
		LA57_: ;
		{
			NIM_BOOL T60_;
			T60_ = (NIM_BOOL)0;
			T60_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
			if (!(T60_)) goto LA61_;
			T60_ = isLineBlock__packagesZdocutilsZrst_5504(p);
			LA61_: ;
			if (!T60_) goto LA62_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27);
		}
		goto LA45_;
		LA62_: ;
		{
			NIM_BOOL T65_;
			NI T66_;
			NI T68_;
			T65_ = (NIM_BOOL)0;
			T66_ = (NI)0;
			T66_ = tokenAfterNewline__packagesZdocutilsZrst_5179(p);
			T65_ = match__packagesZdocutilsZrst_4279(p, T66_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_73));
			if (!(T65_)) goto LA67_;
			T68_ = (NI)0;
			T68_ = tokenAfterNewline__packagesZdocutilsZrst_5179(p);
			T65_ = isAdornmentHeadline__packagesZdocutilsZrst_5410(p, T68_);
			LA67_: ;
			if (!T65_) goto LA69_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1);
		}
		goto LA45_;
		LA69_: ;
		{
			NIM_BOOL T72_;
			T72_ = (NIM_BOOL)0;
			T72_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_74, 3, (*p).tok->data[(*p).idx].symbol);
			if (!(T72_)) goto LA73_;
			T72_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
			LA73_: ;
			if (!T72_) goto LA74_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 6);
		}
		goto LA45_;
		LA74_: ;
		{
			NIM_BOOL T77_;
			T77_ = (NIM_BOOL)0;
			T77_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_78));
			if (!T77_) goto LA78_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14);
		}
		goto LA45_;
		LA78_: ;
		{
			NIM_BOOL T81_;
			NIM_BOOL T82_;
			T81_ = (NIM_BOOL)0;
			T82_ = (NIM_BOOL)0;
			T82_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_79));
			if (T82_) goto LA83_;
			T82_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_80));
			LA83_: ;
			T81_ = T82_;
			if (T81_) goto LA84_;
			T81_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_81));
			LA84_: ;
			if (!T81_) goto LA85_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8);
		}
		goto LA45_;
		LA85_: ;
		{
			NIM_BOOL T88_;
			T88_ = (NIM_BOOL)0;
			T88_ = isOptionList__packagesZdocutilsZrst_5523(p);
			if (!T88_) goto LA89_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 18);
		}
		goto LA45_;
		LA89_: ;
		{
			NIM_BOOL T92_;
			T92_ = (NIM_BOOL)0;
			T92_ = isDefList__packagesZdocutilsZrst_5515(p);
			if (!T92_) goto LA93_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10);
		}
		goto LA45_;
		LA93_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5);
		}
		LA45_: ;
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
	{
		NI tokIdx;
		tokIdx = tokenAfterNewline__packagesZdocutilsZrst_5179(p);
		{
			NIM_BOOL T99_;
			T99_ = (NIM_BOOL)0;
			T99_ = match__packagesZdocutilsZrst_4279(p, tokIdx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_73));
			if (!T99_) goto LA100_;
			{
				NIM_BOOL T104_;
				T104_ = (NIM_BOOL)0;
				T104_ = isAdornmentHeadline__packagesZdocutilsZrst_5410(p, tokIdx);
				if (!T104_) goto LA105_;
				result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1);
			}
			goto LA102_;
			LA105_: ;
			{
				result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5);
			}
			LA102_: ;
		}
		goto LA97_;
		LA100_: ;
		{
			NIM_BOOL T109_;
			T109_ = (NIM_BOOL)0;
			T109_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_80));
			if (T109_) goto LA110_;
			T109_ = match__packagesZdocutilsZrst_4279(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_81));
			LA110_: ;
			if (!T109_) goto LA111_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8);
		}
		goto LA97_;
		LA111_: ;
		{
			NIM_BOOL T114_;
			T114_ = (NIM_BOOL)0;
			T114_ = isDefList__packagesZdocutilsZrst_5515(p);
			if (!T114_) goto LA115_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10);
		}
		goto LA97_;
		LA115_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5);
		}
		LA97_: ;
	}
	break;
	default:
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLiteralBlock__packagesZdocutilsZrst_5280)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25));
	n = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) NIM_NIL));
	{
		NI indent;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA3_;
		indent = (*p).tok->data[(*p).idx].ival;
		{
			while (1) {
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA6;
				(*p).idx += ((NI) 1);
			} LA6: ;
		}
		{
			while (1) {
				switch ((*p).tok->data[(*p).idx].kind) {
				case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
				{
					goto LA7;
				}
				break;
				case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
				{
					{
						if (!((*p).tok->data[(*p).idx].ival < indent)) goto LA13_;
						goto LA7;
					}
					goto LA11_;
					LA13_: ;
					{
						NimStringDesc* T16_;
						asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, 1));
appendString((*n)._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39));
						T16_ = NIM_NIL;
						T16_ = spaces__pureZstrutils_1029(((NI) ((NI)((*p).tok->data[(*p).idx].ival - indent))));
						asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, (T16_ ? T16_->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, T16_);
						(*p).idx += ((NI) 1);
					}
					LA11_: ;
				}
				break;
				default:
				{
					asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
					(*p).idx += ((NI) 1);
				}
				break;
				}
			}
		} LA7: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			while (1) {
				if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA20;
				asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
				(*p).idx += ((NI) 1);
			} LA20: ;
		}
	}
	LA1_: ;
	add__packagesZdocutilsZrstast_206(result, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseBulletList__packagesZdocutilsZrst_6060)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	{
		NimStringDesc* bullet;
		NI col;
		if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA3_;
		bullet = copyString((*p).tok->data[(*p).idx].symbol);
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 6));
		pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(NI)((*p).idx + ((NI) 2))].col);
		(*p).idx += ((NI) 2);
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* item;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T7_;
				T7_ = NIM_NIL;
				T7_ = NIM_NIL;
				item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 7), T7_, ((NimStringDesc*) NIM_NIL));
				parseSection__packagesZdocutilsZrst_5164(p, item);
				add__packagesZdocutilsZrstast_206(result, item);
				{
					NIM_BOOL T10_;
					NIM_BOOL T11_;
					NIM_BOOL T12_;
					T10_ = (NIM_BOOL)0;
					T11_ = (NIM_BOOL)0;
					T12_ = (NIM_BOOL)0;
					T12_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T12_)) goto LA13_;
					T12_ = ((*p).tok->data[(*p).idx].ival == col);
					LA13_: ;
					T11_ = T12_;
					if (!(T11_)) goto LA14_;
					T11_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, bullet);
					LA14_: ;
					T10_ = T11_;
					if (!(T10_)) goto LA15_;
					T10_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 2))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
					LA15_: ;
					if (!T10_) goto LA16_;
					(*p).idx += ((NI) 3);
				}
				goto LA8_;
				LA16_: ;
				{
					goto LA5;
				}
				LA8_: ;
			}
		} LA5: ;
		popInd__packagesZdocutilsZrst_2111(p);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLineBlock__packagesZdocutilsZrst_5636)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	{
		NI col;
		if (!((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0)) goto LA3_;
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27));
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* item;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T7_;
				T7_ = NIM_NIL;
				T7_ = NIM_NIL;
				item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 28), T7_, ((NimStringDesc*) NIM_NIL));
				{
					if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA10_;
					{
						NimStringDesc* T16_;
						if (!(((NI) 1) < ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol ? (*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->Sup.len : 0))) goto LA14_;
						T16_ = NIM_NIL;
						T16_ = (*item)._kind_3.lineIndent; (*item)._kind_3.lineIndent = copyStringRC1((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol);
						if (T16_) nimGCunrefNoCycle(T16_);
					}
					LA14_: ;
					(*p).idx += ((NI) 2);
					pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(*p).idx].col);
					parseSection__packagesZdocutilsZrst_5164(p, item);
					popInd__packagesZdocutilsZrst_2111(p);
				}
				goto LA8_;
				LA10_: ;
				{
					NimStringDesc* T18_;
					T18_ = NIM_NIL;
					T18_ = (*item)._kind_3.lineIndent; (*item)._kind_3.lineIndent = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39));
					if (T18_) nimGCunrefNoCycle(T18_);
					(*p).idx += ((NI) 1);
				}
				LA8_: ;
				add__packagesZdocutilsZrstast_206(result, item);
				{
					NIM_BOOL T21_;
					NIM_BOOL T22_;
					NIM_BOOL T23_;
					T21_ = (NIM_BOOL)0;
					T22_ = (NIM_BOOL)0;
					T23_ = (NIM_BOOL)0;
					T23_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T23_)) goto LA24_;
					T23_ = ((*p).tok->data[(*p).idx].ival == col);
					LA24_: ;
					T22_ = T23_;
					if (!(T22_)) goto LA25_;
					T22_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
					LA25_: ;
					T21_ = T22_;
					if (!(T21_)) goto LA26_;
					T21_ = ((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 2))].kind)&7U)))!=0);
					LA26_: ;
					if (!T21_) goto LA27_;
					(*p).idx += ((NI) 1);
				}
				goto LA19_;
				LA27_: ;
				{
					goto LA5;
				}
				LA19_: ;
			}
		} LA5: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getRefname__packagesZdocutilsZrst_4055)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result) {
	NI lastIdx;
	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
	(*Result).Field1 = 0;
	lastIdx = getRefnameIdx__packagesZdocutilsZrst_4030(p, startIdx);
	(*Result).Field1 = lastIdx;
	{
		NI j;
		NI res;
		j = (NI)0;
		res = startIdx;
		{
			while (1) {
				if (!(res <= lastIdx)) goto LA3;
				j = res;
				unsureAsgnRef((void**) (&(*Result).Field0), resizeString((*Result).Field0, ((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) + 0));
appendString((*Result).Field0, (*p).tok->data[j].symbol);
				res += ((NI) 1);
			} LA3: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2087)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, NI line, NI col) {
	NimStringDesc* T1_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2001((*p).s);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0(T1_, (NI)((*p).line + line), (NI)((*p).col + col), msgKind, arg, (*(*p).s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_88)((*(*p).s).msgHandler.ClP_0))(T1_, (NI)((*p).line + line), (NI)((*p).col + col), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDirective__packagesZdocutilsZrst_5100)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = ((NimStringDesc*) NIM_NIL);
	{
		tyTuple__XOVT24GHXwqiEj5GCsEGCA T5_;
		NimStringDesc* name;
		NI lastIdx;
		NI afterIdx;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		getRefname__packagesZdocutilsZrst_4055((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T5_));
		name = NIM_NIL;
		name = T5_.Field0;
		lastIdx = (NI)0;
		lastIdx = T5_.Field1;
		afterIdx = (NI)(lastIdx + ((NI) 1));
		{
			if (!(((NI) 0) < (name ? name->Sup.len : 0))) goto LA8_;
			{
				if (!eqStrings((*p).tok->data[afterIdx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52))) goto LA12_;
				result = copyString(name);
				(*p).idx = (NI)(afterIdx + ((NI) 1));
				{
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA16_;
					(*p).idx += ((NI) 1);
				}
				goto LA14_;
				LA16_: ;
				{
					NimStringDesc* T21_;
					if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)))) goto LA19_;
					T21_ = NIM_NIL;
					T21_ = rawNewString((name ? name->Sup.len : 0) + 47);
appendString(T21_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_86));
appendString(T21_, name);
					rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), T21_);
				}
				goto LA14_;
				LA19_: ;
				LA14_: ;
				result = nsuToLowerAsciiStr(result);
			}
			goto LA10_;
			LA12_: ;
			{
				NimStringDesc* T25_;
				if (!eqStrings((*p).tok->data[afterIdx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87))) goto LA23_;
				T25_ = NIM_NIL;
				T25_ = rawNewString((name ? name->Sup.len : 0) + 43);
appendString(T25_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_89));
appendString(T25_, name);
appendString(T25_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_90));
				rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), T25_, (*p).tok->data[afterIdx].line, (*p).tok->data[afterIdx].col);
			}
			goto LA10_;
			LA23_: ;
			{
				NIM_BOOL T27_;
				T27_ = (NIM_BOOL)0;
				T27_ = ((*p).tok->data[afterIdx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
				if (!(T27_)) goto LA28_;
				T27_ = ((NU8)((*p).tok->data[afterIdx].symbol->data[((NI) 0)]) == (NU8)(58));
				LA28_: ;
				if (!T27_) goto LA29_;
				rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_91), (*p).tok->data[afterIdx].line, (*p).tok->data[afterIdx].col);
			}
			goto LA10_;
			LA29_: ;
			LA10_: ;
		}
		LA8_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2468)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI iTok) {
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA));
	result.col = ((NI16) ((NI)((*p).col + (*p).tok->data[iTok].col)));
	result.line = ((NU16) ((NI)((*p).line + (*p).tok->data[iTok].line)));
	result.fileIndex = (*(*p).s).currFileIdx;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2472)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA));
	result = lineInfo__packagesZdocutilsZrst_2468(p, (*p).idx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newLeaf__packagesZdocutilsZrst_4020)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = newRstLeaf__packagesZdocutilsZrstast_197((*p).tok->data[(*p).idx].symbol);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rstRuleSurround__packagesZdocutilsZrst_4186)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	{
		NIM_CHAR d;
		NIM_CHAR c;
		if (!(((NI) 0) < (*p).idx)) goto LA3_;
		d = (NIM_CHAR)0;
		c = (*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol->data[((NI) 0)];
		switch (((NU8)(c))) {
		case 39:
		case 34:
		{
			d = c;
		}
		break;
		case 40:
		{
			d = 41;
		}
		break;
		case 91:
		{
			d = 93;
		}
		break;
		case 123:
		{
			d = 125;
		}
		break;
		case 60:
		{
			d = 62;
		}
		break;
		default:
		{
			d = 0;
		}
		break;
		}
		{
			if (!!(((NU8)(d) == (NU8)(0)))) goto LA13_;
			result = !(((NU8)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)]) == (NU8)(d)));
		}
		LA13_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstStart__packagesZdocutilsZrst_4198)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p).idx == ((NI) 0));
	if (T2_) goto LA3_;
	T2_ = ((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind)&7U)))!=0);
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T1_ = ((TM__6mNpeIAN05DnDNzb9b3611A_119[(NU)(((NU8)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol->data[((NI) 0)])))&7U)))!=0);
	LA4_: ;
	result = T1_;
	{
		if (!!(result)) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	result = !(((7 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA11_;
		goto BeforeRet_;
	}
	LA11_: ;
	result = rstRuleSurround__packagesZdocutilsZrst_4186(p);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownStart__packagesZdocutilsZrst_4191)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = !(((7 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	result = rstRuleSurround__packagesZdocutilsZrst_4186(p);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__packagesZdocutilsZrst_4213)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!!(eqStrings(markup, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_113)))) goto LA3_;
		result = eqStrings((*p).tok->data[(*p).idx].symbol, markup);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		T6_ = (NIM_BOOL)0;
		T6_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114));
		if (!(T6_)) goto LA7_;
		T6_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
		LA7_: ;
		result = T6_;
	}
	LA1_: ;
	{
		if (!!(result)) goto LA10_;
		goto BeforeRet_;
	}
	LA10_: ;
	{
		NIM_BOOL T14_;
		T14_ = (NIM_BOOL)0;
		T14_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_116, 4, markup);
		if (!T14_) goto LA15_;
		result = inlineRstStart__packagesZdocutilsZrst_4198(p);
	}
	goto LA12_;
	LA15_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 3))&7U)))!=0)) goto LA20_;
			result = inlineMarkdownStart__packagesZdocutilsZrst_4191(p);
		}
		goto LA18_;
		LA20_: ;
		{
			result = inlineRstStart__packagesZdocutilsZrst_4198(p);
		}
		LA18_: ;
	}
	LA12_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstEnd__packagesZdocutilsZrst_4104)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T5_;
{	result = (NIM_BOOL)0;
	result = !(((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = (NIM_BOOL)0;
	T5_ = ((7 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0);
	if (T5_) goto LA6_;
	T5_ = ((TM__6mNpeIAN05DnDNzb9b3611A_123[(NU)(((NU8)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)])))&7U)))!=0);
	LA6_: ;
	result = T5_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownEnd__packagesZdocutilsZrst_4097)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !(((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind)&7U)))!=0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupEnd__packagesZdocutilsZrst_4119)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup, NIM_BOOL exact) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!exact) goto LA3_;
		result = eqStrings((*p).tok->data[(*p).idx].symbol, markup);
	}
	goto LA1_;
	LA3_: ;
	{
		result = nsuEndsWith((*p).tok->data[(*p).idx].symbol, markup);
		{
			NIM_BOOL T8_;
			NIM_BOOL T12_;
			T8_ = (NIM_BOOL)0;
			T8_ = !(result);
			if (!(T8_)) goto LA9_;
			T8_ = eqStrings(markup, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_121));
			LA9_: ;
			if (!T8_) goto LA10_;
			T12_ = (NIM_BOOL)0;
			T12_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
			if (!(T12_)) goto LA13_;
			T12_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
			LA13_: ;
			result = T12_;
		}
		LA10_: ;
	}
	LA1_: ;
	{
		if (!!(result)) goto LA16_;
		goto BeforeRet_;
	}
	LA16_: ;
	{
		NIM_BOOL T20_;
		T20_ = (NIM_BOOL)0;
		T20_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_122, 2, markup);
		if (!T20_) goto LA21_;
		result = inlineRstEnd__packagesZdocutilsZrst_4104(p);
	}
	goto LA18_;
	LA21_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 3))&7U)))!=0)) goto LA26_;
			result = inlineMarkdownEnd__packagesZdocutilsZrst_4097(p);
		}
		goto LA24_;
		LA26_: ;
		{
			result = inlineRstEnd__packagesZdocutilsZrst_4104(p);
		}
		LA24_: ;
	}
	LA18_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
	NimStringDesc* result;
	NI a;
	NI L;
	result = NIM_NIL;
	a = x.a;
	L = (NI)((NI)(x.b - a) + ((NI) 1));
	result = mnewString(((NI) (L)));
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < L)) goto LA3;
				i = i_2;
				result->data[i] = s->data[(NI)(i + a)];
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__packagesZdocutilsZrst_4738)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50))) goto LA3_;
		(*p).idx += ((NI) 1);
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T9_;
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2)))) goto LA7_;
			T9_ = NIM_NIL;
			T9_ = newLeaf__packagesZdocutilsZrst_4020(p);
			add__packagesZdocutilsZrstast_206(father, T9_);
		}
		LA7_: ;
		{
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA12_;
			(*p).idx += ((NI) 1);
		}
		LA12_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T15_;
		T15_ = NIM_NIL;
		T15_ = newLeaf__packagesZdocutilsZrst_4020(p);
		add__packagesZdocutilsZrstast_206(father, T15_);
		(*p).idx += ((NI) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__packagesZdocutilsZrst_4768)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NimStringDesc* postfix, NIM_BOOL interpretBackslash) {
	NI line;
	NI col;
	line = (*p).tok->data[(*p).idx].line;
	col = (*p).tok->data[(*p).idx].col;
	(*p).idx += ((NI) 1);
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				{
					NIM_BOOL T6_;
					NI l;
					T6_ = (NIM_BOOL)0;
					T6_ = isInlineMarkupEnd__packagesZdocutilsZrst_4119((&(*p)), postfix, NIM_FALSE);
					if (!T6_) goto LA7_;
					l = ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0);
					{
						tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T13_;
						NimStringDesc* T14_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T15_;
						if (!((postfix ? postfix->Sup.len : 0) < l)) goto LA11_;
						T13_ = dotdot___pureZunicode_840(((NI) 0), (NI)((NI)(l - (postfix ? postfix->Sup.len : 0)) - ((NI) 1)));
						T14_ = NIM_NIL;
						T14_ = X5BX5D___pureZunicode_865((*p).tok->data[(*p).idx].symbol, T13_);
						T15_ = NIM_NIL;
						T15_ = newRstLeaf__packagesZdocutilsZrstast_197(T14_);
						add__packagesZdocutilsZrstast_206(father, T15_);
					}
					goto LA9_;
					LA11_: ;
					{
						NIM_BOOL T17_;
						NIM_BOOL T18_;
						NI T23_;
						T17_ = (NIM_BOOL)0;
						T18_ = (NIM_BOOL)0;
						T18_ = eqStrings(postfix, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_121));
						if (!(T18_)) goto LA19_;
						T18_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
						LA19_: ;
						T17_ = T18_;
						if (!(T17_)) goto LA20_;
						T17_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
						LA20_: ;
						if (!T17_) goto LA21_;
						T23_ = ((*father).sons ? (*father).sons->Sup.len : 0);
						asgnRef((void**) (&(*father).sons), (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) setLengthSeqV2(&((*father).sons)->Sup, (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), ((NI) ((NI)(T23_ - ((NI) 1))))));
					}
					goto LA9_;
					LA21_: ;
					LA9_: ;
					(*p).idx += ((NI) 1);
					goto LA1;
				}
				goto LA4_;
				LA7_: ;
				{
					{
						if (!eqStrings(postfix, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115))) goto LA27_;
						{
							if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50))) goto LA31_;
							{
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T37_;
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T38_;
								if (!eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50))) goto LA35_;
								T37_ = NIM_NIL;
								T37_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50));
								add__packagesZdocutilsZrstast_206(father, T37_);
								T38_ = NIM_NIL;
								T38_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50));
								add__packagesZdocutilsZrstast_206(father, T38_);
								(*p).idx += ((NI) 2);
							}
							goto LA33_;
							LA35_: ;
							{
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T42_;
								if (!eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115))) goto LA40_;
								T42_ = NIM_NIL;
								T42_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
								add__packagesZdocutilsZrstast_206(father, T42_);
								(*p).idx += ((NI) 2);
							}
							goto LA33_;
							LA40_: ;
							{
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T44_;
								T44_ = NIM_NIL;
								T44_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50));
								add__packagesZdocutilsZrstast_206(father, T44_);
								(*p).idx += ((NI) 1);
							}
							LA33_: ;
						}
						goto LA29_;
						LA31_: ;
						{
							tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T46_;
							T46_ = NIM_NIL;
							T46_ = newLeaf__packagesZdocutilsZrst_4020(p);
							add__packagesZdocutilsZrstast_206(father, T46_);
							(*p).idx += ((NI) 1);
						}
						LA29_: ;
					}
					goto LA25_;
					LA27_: ;
					{
						{
							if (!interpretBackslash) goto LA50_;
							parseBackslash__packagesZdocutilsZrst_4738(p, father);
						}
						goto LA48_;
						LA50_: ;
						{
							tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T53_;
							T53_ = NIM_NIL;
							T53_ = newLeaf__packagesZdocutilsZrst_4020(p);
							add__packagesZdocutilsZrstast_206(father, T53_);
							(*p).idx += ((NI) 1);
						}
						LA48_: ;
					}
					LA25_: ;
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T55_;
				T55_ = NIM_NIL;
				T55_ = newLeaf__packagesZdocutilsZrst_4020(p);
				add__packagesZdocutilsZrstast_206(father, T55_);
				(*p).idx += ((NI) 1);
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T57_;
				T57_ = NIM_NIL;
				T57_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_124));
				add__packagesZdocutilsZrstast_206(father, T57_);
				(*p).idx += ((NI) 1);
				{
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA60_;
					rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), postfix, line, col);
					goto LA1;
				}
				LA60_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T63_;
				T63_ = NIM_NIL;
				T63_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_124));
				add__packagesZdocutilsZrstast_206(father, T63_);
				(*p).idx += ((NI) 1);
			}
			break;
			default:
			{
				rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), postfix, line, col);
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__packagesZdocutilsZrst_2167)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** r, NIM_BOOL* b) {
{	{
		if (!(n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73))) goto LA7_;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = ((*n)._kind_1.text ? (*n)._kind_1.text->Sup.len : 0);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA11;
					i = i_2;
					switch (((NU8)((*n)._kind_1.text->data[i]))) {
					case 48 ... 57:
					{
						{
							if (!(*b)) goto LA15_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA15_: ;
						{
							if (!(((*r) ? (*r)->Sup.len : 0) == ((NI) 0))) goto LA19_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 90));
						}
						LA19_: ;
						unsureAsgnRef((void**) (&(*r)), addChar((*r), (*n)._kind_1.text->data[i]));
					}
					break;
					case 97 ... 122:
					case 128 ... 255:
					{
						{
							if (!(*b)) goto LA24_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA24_: ;
						unsureAsgnRef((void**) (&(*r)), addChar((*r), (*n)._kind_1.text->data[i]));
					}
					break;
					case 65 ... 90:
					{
						{
							if (!(*b)) goto LA29_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA29_: ;
						unsureAsgnRef((void**) (&(*r)), addChar((*r), ((NIM_CHAR) (((NI) ((NI)((NI)(((NU8)((*n)._kind_1.text->data[i])) - ((NI) 65)) + ((NI) 97))))))));
					}
					break;
					case 36:
					{
						{
							if (!(*b)) goto LA34_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA34_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 6));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_126));
					}
					break;
					case 37:
					{
						{
							if (!(*b)) goto LA39_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA39_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 7));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_127));
					}
					break;
					case 38:
					{
						{
							if (!(*b)) goto LA44_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA44_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_128));
					}
					break;
					case 94:
					{
						{
							if (!(*b)) goto LA49_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA49_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_129));
					}
					break;
					case 33:
					{
						{
							if (!(*b)) goto LA54_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA54_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
					}
					break;
					case 63:
					{
						{
							if (!(*b)) goto LA59_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA59_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_131));
					}
					break;
					case 42:
					{
						{
							if (!(*b)) goto LA64_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA64_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_132));
					}
					break;
					case 43:
					{
						{
							if (!(*b)) goto LA69_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA69_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_133));
					}
					break;
					case 45:
					{
						{
							if (!(*b)) goto LA74_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA74_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_134));
					}
					break;
					case 47:
					{
						{
							if (!(*b)) goto LA79_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA79_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_135));
					}
					break;
					case 92:
					{
						{
							if (!(*b)) goto LA84_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA84_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 9));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_136));
					}
					break;
					case 61:
					{
						{
							if (!(*b)) goto LA89_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA89_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_137));
					}
					break;
					case 60:
					{
						{
							if (!(*b)) goto LA94_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA94_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_138));
					}
					break;
					case 62:
					{
						{
							if (!(*b)) goto LA99_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA99_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_139));
					}
					break;
					case 126:
					{
						{
							if (!(*b)) goto LA104_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA104_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_140));
					}
					break;
					case 58:
					{
						{
							if (!(*b)) goto LA109_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA109_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_141));
					}
					break;
					case 46:
					{
						{
							if (!(*b)) goto LA114_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA114_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_142));
					}
					break;
					case 64:
					{
						{
							if (!(*b)) goto LA119_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA119_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_143));
					}
					break;
					case 124:
					{
						{
							if (!(*b)) goto LA124_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA124_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_144));
					}
					break;
					default:
					{
						{
							if (!(((NI) 0) < ((*r) ? (*r)->Sup.len : 0))) goto LA129_;
							(*b) = NIM_TRUE;
						}
						LA129_: ;
					}
					break;
					}
					i_2 += ((NI) 1);
				} LA11: ;
			}
		}
	}
	goto LA5_;
	LA7_: ;
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__packagesZdocutilsZrstast_102(n);
			i_4 = ((NI) 0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA134;
					i_3 = i_4;
					rstnodeToRefnameAux__packagesZdocutilsZrst_2167((*n).sons->data[i_3], r, b);
					i_4 += ((NI) 1);
				} LA134: ;
			}
		}
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__packagesZdocutilsZrst_61)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	NIM_BOOL b;
	result = NIM_NIL;
	b = NIM_FALSE;
	rstnodeToRefnameAux__packagesZdocutilsZrst_2167(n, (&result), (&b));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownCodeblock__packagesZdocutilsZrst_4850)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* args;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* lb;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T18_;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51));
	(*result)._kind_7.info = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 45), T1_, ((NimStringDesc*) NIM_NIL));
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T6_;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = newLeaf__packagesZdocutilsZrst_4020(p);
		add__packagesZdocutilsZrstast_206(args, T6_);
		(*p).idx += ((NI) 1);
	}
	goto LA2_;
	LA4_: ;
	{
		args = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	}
	LA2_: ;
	n = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
			{
				rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_51));
				goto LA8;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			{
				{
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_51))) goto LA14_;
					(*p).idx += ((NI) 1);
					goto LA8;
				}
				goto LA12_;
				LA14_: ;
				{
					asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
					(*p).idx += ((NI) 1);
				}
				LA12_: ;
			}
			break;
			default:
			{
				asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
				(*p).idx += ((NI) 1);
			}
			break;
			}
		}
	} LA8: ;
	T18_ = NIM_NIL;
	T18_ = NIM_NIL;
	lb = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T18_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_206(lb, n);
	add__packagesZdocutilsZrstast_206(result, args);
	add__packagesZdocutilsZrstast_206(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	add__packagesZdocutilsZrstast_206(result, lb);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRole__packagesZdocutilsZrst_4378)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* sym) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	result = whichRoleAux__packagesZdocutilsZrst_515(sym);
	{
		if (!(result == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60))) goto LA3_;
		rstMessage__packagesZdocutilsZrst_2070(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 12), sym);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toInlineCode__packagesZdocutilsZrst_4386)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* language) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* args;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T2_;
	NimStringDesc* lang;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T10_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* lb;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T11_;
	NimStringDesc* s;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T16_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58), (*n)._kind_7.info, T1_);
	T2_ = NIM_NIL;
	T2_ = NIM_NIL;
	args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 45), T2_, ((NimStringDesc*) NIM_NIL));
	lang = copyString(language);
	{
		if (!eqStrings(language, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_146))) goto LA5_;
		lang = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_147));
	}
	goto LA3_;
	LA5_: ;
	{
		if (!eqStrings(language, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_148))) goto LA8_;
		lang = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_149));
	}
	goto LA3_;
	LA8_: ;
	LA3_: ;
	T10_ = NIM_NIL;
	T10_ = newRstLeaf__packagesZdocutilsZrstast_197(lang);
	add__packagesZdocutilsZrstast_206(args, T10_);
	add__packagesZdocutilsZrstast_206(result, args);
	add__packagesZdocutilsZrstast_206(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	T11_ = NIM_NIL;
	T11_ = NIM_NIL;
	lb = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T11_, ((NimStringDesc*) NIM_NIL));
	s = NIM_NIL;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** i;
		NI i_2;
		NI L;
		NI T13_;
		i = (tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ**)0;
		i_2 = ((NI) 0);
		T13_ = ((*n).sons ? (*n).sons->Sup.len : 0);
		L = T13_;
		{
			while (1) {
				if (!(i_2 < L)) goto LA15;
				i = &(*n).sons->data[i_2];
				s = resizeString(s, ((*(*i))._kind_1.text ? (*(*i))._kind_1.text->Sup.len : 0) + 0);
appendString(s, (*(*i))._kind_1.text);
				i_2 += ((NI) 1);
			} LA15: ;
		}
	}
	T16_ = NIM_NIL;
	T16_ = newRstLeaf__packagesZdocutilsZrstast_197(s);
	add__packagesZdocutilsZrstast_206(lb, T16_);
	add__packagesZdocutilsZrstast_206(result, lb);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toOtherRole__packagesZdocutilsZrst_4405)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, NimStringDesc* roleName) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* newN;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons;
	result = NIM_NIL;
	newN = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
	newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeq((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
	asgnRef((void**) (&newSons->data[0]), newN);
	asgnRef((void**) (&newSons->data[1]), newRstLeaf__packagesZdocutilsZrstast_197(roleName));
	result = newRstNode__packagesZdocutilsZrstast_109(kind, newSons, ((NimStringDesc*) NIM_NIL));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixupEmbeddedRef__packagesZdocutilsZrst_4354)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b) {
	NI sep;
	NI incr;
	sep = ((NI) -1);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__packagesZdocutilsZrstast_102(n);
		colontmp_ = (NI)(T2_ - ((NI) 2));
		res = colontmp_;
		{
			while (1) {
				if (!(((NI) 0) <= res)) goto LA4;
				i = res;
				{
					if (!eqStrings((*(*n).sons->data[i])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_151))) goto LA7_;
					sep = i;
					goto LA1;
				}
				LA7_: ;
				res -= ((NI) 1);
			} LA4: ;
		}
	} LA1: ;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = (((NI) 0) < sep);
		if (!(T11_)) goto LA12_;
		T11_ = ((NU8)((*(*n).sons->data[(NI)(sep - ((NI) 1))])._kind_1.text->data[((NI) 0)]) == (NU8)(32));
		LA12_: ;
		if (!T11_) goto LA13_;
		incr = ((NI) 2);
	}
	goto LA9_;
	LA13_: ;
	{
		incr = ((NI) 1);
	}
	LA9_: ;
	{
		NI i_2;
		NI colontmp__2;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = (NI)(sep - incr);
		res_2 = ((NI) 0);
		{
			while (1) {
				if (!(res_2 <= colontmp__2)) goto LA18;
				i_2 = res_2;
				add__packagesZdocutilsZrstast_206(a, (*n).sons->data[i_2]);
				res_2 += ((NI) 1);
			} LA18: ;
		}
	}
	{
		NI i_3;
		NI colontmp__3;
		NI colontmp__4;
		NI T20_;
		NI res_3;
		i_3 = (NI)0;
		colontmp__3 = (NI)0;
		colontmp__4 = (NI)0;
		colontmp__3 = (NI)(sep + ((NI) 1));
		T20_ = (NI)0;
		T20_ = len__packagesZdocutilsZrstast_102(n);
		colontmp__4 = (NI)(T20_ - ((NI) 2));
		res_3 = colontmp__3;
		{
			while (1) {
				if (!(res_3 <= colontmp__4)) goto LA22;
				i_3 = res_3;
				add__packagesZdocutilsZrstast_206(b, (*n).sons->data[i_3]);
				res_3 += ((NI) 1);
			} LA22: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, addNodesAux__packagesZdocutilsZrst_2152)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** result) {
	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73))) goto LA3_;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*n)._kind_1.text ? (*n)._kind_1.text->Sup.len : 0) + 0));
appendString((*result), (*n)._kind_1.text);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__packagesZdocutilsZrstast_102(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					addNodesAux__packagesZdocutilsZrst_2152((*n).sons->data[i], result);
					i_2 += ((NI) 1);
				} LA8: ;
			}
		}
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__packagesZdocutilsZrst_63)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	addNodesAux__packagesZdocutilsZrst_2152(n, (&result));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setRef__packagesZdocutilsZrst_2272)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value) {
	NI length;
	NI T1_;
	tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw T15_;
	NI T16_;
	NimStringDesc* T17_;
{	T1_ = ((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0);
	length = T1_;
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < length)) goto LA4;
				i = i_2;
				{
					if (!eqStrings(key, (*(*p).s).refs->data[i].key)) goto LA7_;
					{
						NimStringDesc* T11_;
						NimStringDesc* T12_;
						T11_ = NIM_NIL;
						T11_ = addNodes__packagesZdocutilsZrst_63((*(*p).s).refs->data[i].value);
						T12_ = NIM_NIL;
						T12_ = addNodes__packagesZdocutilsZrst_63(value);
						if (!!(eqStrings(T11_, T12_))) goto LA13_;
						rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 9), key);
					}
					LA13_: ;
					asgnRef((void**) (&(*(*p).s).refs->data[i].value), value);
					goto BeforeRet_;
				}
				LA7_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T15_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	nimZeroMem((void*)(&T15_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	T15_.key = copyString(key);
	T15_.value = value;
	asgnRef((void**) (&(*(*p).s).refs), (tySequence__lrunEzM3UiMYKPLPCTNo0w*) incrSeqV3((TGenericSeq*)((*(*p).s).refs), (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_)));
	T16_ = (*(*p).s).refs->Sup.len++;
	T17_ = NIM_NIL;
	T17_ = (*(*p).s).refs->data[T16_].key; (*(*p).s).refs->data[T16_].key = copyStringRC1(T15_.key);
	if (T17_) nimGCunrefNoCycle(T17_);
	asgnRef((void**) (&(*(*p).s).refs->data[T16_].value), T15_.value);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, finalizeInterpreted__packagesZdocutilsZrst_4431)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* node, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ newKind, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons, NimStringDesc* roleName) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	{
		if (!(newKind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60) || newKind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 59))) goto LA3_;
		result = toOtherRole__packagesZdocutilsZrst_4405(node, newKind, roleName);
	}
	goto LA1_;
	LA3_: ;
	{
		if (!(newKind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58))) goto LA6_;
		result = toInlineCode__packagesZdocutilsZrst_4386(node, roleName);
	}
	goto LA1_;
	LA6_: ;
	{
		result = newRstNode__packagesZdocutilsZrstast_109(newKind, newSons, ((NimStringDesc*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parsePostfix__packagesZdocutilsZrst_4425)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ newKind;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons;
	result = NIM_NIL;
	newKind = (*n).kind;
	genericSeqAssign((&newSons), (*n).sons, (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isInlineMarkupEnd__packagesZdocutilsZrst_4119((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114), NIM_TRUE);
		if (T3_) goto LA4_;
		T3_ = isInlineMarkupEnd__packagesZdocutilsZrst_4119((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_117), NIM_TRUE);
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).idx += ((NI) 1);
		{
			NIM_BOOL T9_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T13_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T14_;
			T9_ = (NIM_BOOL)0;
			T9_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
			if (!(T9_)) goto LA10_;
			T9_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 3))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_150));
			LA10_: ;
			if (!T9_) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = NIM_NIL;
			a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T13_, ((NimStringDesc*) NIM_NIL));
			T14_ = NIM_NIL;
			T14_ = NIM_NIL;
			b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T14_, ((NimStringDesc*) NIM_NIL));
			fixupEmbeddedRef__packagesZdocutilsZrst_4354(n, a, b);
			{
				NI T17_;
				T17_ = (NI)0;
				T17_ = len__packagesZdocutilsZrstast_102(a);
				if (!(T17_ == ((NI) 0))) goto LA18_;
				newKind = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 39);
				newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeq((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 1);
				asgnRef((void**) (&newSons->data[0]), b);
			}
			goto LA15_;
			LA18_: ;
			{
				NimStringDesc* T21_;
				newKind = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 40);
				newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeq((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
				asgnRef((void**) (&newSons->data[0]), a);
				asgnRef((void**) (&newSons->data[1]), b);
				T21_ = NIM_NIL;
				T21_ = rstnodeToRefname__packagesZdocutilsZrst_61(a);
				setRef__packagesZdocutilsZrst_2272(p, T21_, b);
			}
			LA15_: ;
			result = newRstNode__packagesZdocutilsZrstast_109(newKind, newSons, ((NimStringDesc*) NIM_NIL));
		}
		goto LA7_;
		LA11_: ;
		{
			newKind = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 41);
			result = newRstNode__packagesZdocutilsZrstast_167(newKind, (*n)._kind_7.info, newSons);
		}
		LA7_: ;
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T24_;
		tyTuple__XOVT24GHXwqiEj5GCsEGCA T27_;
		NimStringDesc* roleName;
		NI lastIdx;
		T24_ = (NIM_BOOL)0;
		T24_ = match__packagesZdocutilsZrst_4279((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_145));
		if (!T24_) goto LA25_;
		nimZeroMem((void*)(&T27_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		getRefname__packagesZdocutilsZrst_4055((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T27_));
		roleName = NIM_NIL;
		roleName = T27_.Field0;
		lastIdx = (NI)0;
		lastIdx = T27_.Field1;
		newKind = whichRole__packagesZdocutilsZrst_4378((&(*p)), roleName);
		result = finalizeInterpreted__packagesZdocutilsZrst_4431(n, newKind, newSons, roleName);
		(*p).idx = (NI)(lastIdx + ((NI) 2));
	}
	goto LA1_;
	LA25_: ;
	{
		result = finalizeInterpreted__packagesZdocutilsZrst_4431(n, (*(*p).s).currRoleKind, newSons, (*(*p).s).currRole);
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__lBgZ7a89beZGYPl8PiANMTA)(void* p, NI op) {
	tySequence__lBgZ7a89beZGYPl8PiANMTA* a;
	NI T1_;
	a = (tySequence__lBgZ7a89beZGYPl8PiANMTA*)p;
	T1_ = (NI)0;
}
static N_INLINE(NIM_BOOL, checkParen__packagesZdocutilsZrst_4628)(tyObject_Token__E0ilHwDrlCLqd7buwAkizA token, tySequence__lBgZ7a89beZGYPl8PiANMTA** parensStack) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		NIM_CHAR c;
		if (!(token.kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5))) goto LA3_;
		c = token.symbol->data[((NI) 0)];
		{
			NI T9_;
			if (!(((NU8)(c)) == ((NU8)(40)) || ((NU8)(c)) == ((NU8)(91)) || ((NU8)(c)) == ((NU8)(123)))) goto LA7_;
			unsureAsgnRef((void**) (&(*parensStack)), (tySequence__lBgZ7a89beZGYPl8PiANMTA*) incrSeqV3((TGenericSeq*)((*parensStack)), (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_)));
			T9_ = (*parensStack)->Sup.len++;
			(*parensStack)->data[T9_] = c;
		}
		goto LA5_;
		LA7_: ;
		{
			if (!(((NU8)(c)) == ((NU8)(41)) || ((NU8)(c)) == ((NU8)(93)) || ((NU8)(c)) == ((NU8)(125)))) goto LA11_;
			{
				NI i;
				NI colontmp_;
				NI T14_;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				T14_ = ((*parensStack) ? (*parensStack)->Sup.len : 0);
				colontmp_ = (NI)(T14_ - ((NI) 1));
				res = colontmp_;
				{
					while (1) {
						if (!(((NI) 0) <= res)) goto LA16;
						i = res;
						{
							NIM_BOOL T19_;
							NIM_BOOL T20_;
							NIM_BOOL T21_;
							NIM_BOOL T24_;
							NIM_BOOL T27_;
							T19_ = (NIM_BOOL)0;
							T20_ = (NIM_BOOL)0;
							T21_ = (NIM_BOOL)0;
							T21_ = ((NU8)((*parensStack)->data[i]) == (NU8)(40));
							if (!(T21_)) goto LA22_;
							T21_ = ((NU8)(c) == (NU8)(41));
							LA22_: ;
							T20_ = T21_;
							if (T20_) goto LA23_;
							T24_ = (NIM_BOOL)0;
							T24_ = ((NU8)((*parensStack)->data[i]) == (NU8)(91));
							if (!(T24_)) goto LA25_;
							T24_ = ((NU8)(c) == (NU8)(93));
							LA25_: ;
							T20_ = T24_;
							LA23_: ;
							T19_ = T20_;
							if (T19_) goto LA26_;
							T27_ = (NIM_BOOL)0;
							T27_ = ((NU8)((*parensStack)->data[i]) == (NU8)(123));
							if (!(T27_)) goto LA28_;
							T27_ = ((NU8)(c) == (NU8)(125));
							LA28_: ;
							T19_ = T27_;
							LA26_: ;
							if (!T19_) goto LA29_;
							unsureAsgnRef((void**) (&(*parensStack)), (tySequence__lBgZ7a89beZGYPl8PiANMTA*) setLengthSeqV2(&((*parensStack))->Sup, (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_), ((NI) (i))));
							result = NIM_TRUE;
							goto LA13;
						}
						LA29_: ;
						res -= ((NI) 1);
					} LA16: ;
				}
			} LA13: ;
		}
		goto LA5_;
		LA11_: ;
		LA5_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseMarkdownLink__packagesZdocutilsZrst_4876)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	NIM_BOOL result;
	NimStringDesc* desc;
	NimStringDesc* link;
	NI i;
	tySequence__lBgZ7a89beZGYPl8PiANMTA* parensStack;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* child;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T29_;
{	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	desc = ((NimStringDesc*) NIM_NIL);
	link = ((NimStringDesc*) NIM_NIL);
	i = (*p).idx;
	parensStack = NIM_NIL;
	parensStack = (tySequence__lBgZ7a89beZGYPl8PiANMTA*) setLengthSeqV2(&(parensStack)->Sup, (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_), ((NI) 0));
	i += ((NI) 1);
	{
		while (1) {
			NIM_BOOL isClosingX60gensym191_;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA5_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA5_: ;
			isClosingX60gensym191_ = checkParen__packagesZdocutilsZrst_4628((*p).tok->data[i], (&parensStack));
			{
				NIM_BOOL T9_;
				T9_ = (NIM_BOOL)0;
				T9_ = eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_152));
				if (!(T9_)) goto LA10_;
				T9_ = !(isClosingX60gensym191_);
				LA10_: ;
				if (!T9_) goto LA11_;
				goto LA1;
			}
			LA11_: ;
			desc = resizeString(desc, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(desc, (*p).tok->data[i].symbol);
			i += ((NI) 1);
		}
	} LA1: ;
	i += ((NI) 1);
	{
		if (!!(eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_32)))) goto LA15_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA15_: ;
	parensStack = (tySequence__lBgZ7a89beZGYPl8PiANMTA*) setLengthSeqV2(&(parensStack)->Sup, (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_), ((NI) 0));
	i += ((NI) 1);
	{
		while (1) {
			NIM_BOOL isClosingX60gensym194_;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA21_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA21_: ;
			isClosingX60gensym194_ = checkParen__packagesZdocutilsZrst_4628((*p).tok->data[i], (&parensStack));
			{
				NIM_BOOL T25_;
				T25_ = (NIM_BOOL)0;
				T25_ = eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_34));
				if (!(T25_)) goto LA26_;
				T25_ = !(isClosingX60gensym194_);
				LA26_: ;
				if (!T25_) goto LA27_;
				goto LA17;
			}
			LA27_: ;
			link = resizeString(link, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(link, (*p).tok->data[i].symbol);
			i += ((NI) 1);
		}
	} LA17: ;
	i += ((NI) 1);
	T29_ = NIM_NIL;
	T29_ = NIM_NIL;
	child = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 40), T29_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_213(child, desc);
	add__packagesZdocutilsZrstast_213(child, link);
	add__packagesZdocutilsZrstast_206(father, child);
	(*p).idx = i;
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnoteName__packagesZdocutilsZrst_4963)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL reference) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NI i;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
{	result = NIM_NIL;
	i = (NI)((*p).idx + ((NI) 1));
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T53_;
			{
				if (!((7 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA6_;
				result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
				goto BeforeRet_;
			}
			LA6_: ;
			{
				if (!((*p).tok->data[i].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5))) goto LA10_;
				if (eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_152))) goto LA12_;
				if (eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54))) goto LA13_;
				if (eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76))) goto LA14_;
				goto LA15_;
				LA12_: ;
				{
					{
						NIM_BOOL T20_;
						NIM_BOOL T22_;
						NIM_BOOL T24_;
						T20_ = (NIM_BOOL)0;
						T20_ = ((NI)((*p).idx + ((NI) 1)) < i);
						if (!(T20_)) goto LA21_;
						T22_ = (NIM_BOOL)0;
						T22_ = !(reference);
						if (T22_) goto LA23_;
						T24_ = (NIM_BOOL)0;
						T24_ = ((*p).tok->data[(NI)(i + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
						if (!(T24_)) goto LA25_;
						T24_ = eqStrings((*p).tok->data[(NI)(i + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114));
						LA25_: ;
						T22_ = T24_;
						LA23_: ;
						T20_ = T22_;
						LA21_: ;
						if (!T20_) goto LA26_;
						i += ((NI) 1);
						{
							if (!reference) goto LA30_;
							i += ((NI) 1);
						}
						LA30_: ;
						goto LA2;
					}
					goto LA18_;
					LA26_: ;
					{
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA18_: ;
				}
				goto LA16_;
				LA13_: ;
				{
					{
						if (!!((i == (NI)((*p).idx + ((NI) 1))))) goto LA36_;
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA36_: ;
				}
				goto LA16_;
				LA14_: ;
				{
					{
						NIM_BOOL T41_;
						NIM_BOOL T42_;
						T41_ = (NIM_BOOL)0;
						T42_ = (NIM_BOOL)0;
						T42_ = !((i == (NI)((*p).idx + ((NI) 1))));
						if (!(T42_)) goto LA43_;
						T42_ = !(((*p).tok->data[i].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5)));
						LA43_: ;
						T41_ = T42_;
						if (!(T41_)) goto LA44_;
						T41_ = !(eqStrings((*p).tok->data[(NI)(i + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_152)));
						LA44_: ;
						if (!T41_) goto LA45_;
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA45_: ;
				}
				goto LA16_;
				LA15_: ;
				{
					{
						NIM_BOOL T50_;
						T50_ = (NIM_BOOL)0;
						T50_ = validRefnamePunct__packagesZdocutilsZrst_4023((*p).tok->data[i].symbol);
						if (!!(T50_)) goto LA51_;
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA51_: ;
				}
				LA16_: ;
			}
			LA10_: ;
			T53_ = NIM_NIL;
			T53_ = newRstLeaf__packagesZdocutilsZrstast_197((*p).tok->data[i].symbol);
			add__packagesZdocutilsZrstast_206(result, T53_);
			i += ((NI) 1);
		}
	} LA2: ;
	(*p).idx = i;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).prev = excHandler__system_2567;
	excHandler__system_2567 = s;
}
static N_INLINE(void, popSafePoint)(void) {
	excHandler__system_2567 = (*excHandler__system_2567).prev;
}
static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currException__system_2568), (*currException__system_2568).up);
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__NsOXiclpudEmVBDvfdmAhQ, getFootnoteType__packagesZdocutilsZrst_4933)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* label) {
	tyTuple__NsOXiclpudEmVBDvfdmAhQ volatile result;
	nimZeroMem((void*)(&result), sizeof(tyTuple__NsOXiclpudEmVBDvfdmAhQ));
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = ((*label).sons ? (*label).sons->Sup.len : 0);
		T4_ = (((NI) 1) <= T5_);
		if (!(T4_)) goto LA6_;
		T4_ = ((*(*label).sons->data[((NI) 0)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73));
		LA6_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA7_;
		T3_ = eqStrings((*(*label).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
		LA7_: ;
		if (!T3_) goto LA8_;
		{
			NI T12_;
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp_;
			NI colontmp__2;
			T12_ = ((*label).sons ? (*label).sons->Sup.len : 0);
			if (!(T12_ == ((NI) 1))) goto LA13_;
			colontmp_ = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1);
			colontmp__2 = ((NI) -1);
			result.Field0 = colontmp_;
			result.Field1 = colontmp__2;
		}
		goto LA10_;
		LA13_: ;
		{
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__3;
			NI colontmp__4;
			colontmp__3 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2);
			colontmp__4 = ((NI) -1);
			result.Field0 = colontmp__3;
			result.Field1 = colontmp__4;
		}
		LA10_: ;
	}
	goto LA1_;
	LA8_: ;
	{
		NIM_BOOL T17_;
		NIM_BOOL T18_;
		NI T19_;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__5;
		NI colontmp__6;
		T17_ = (NIM_BOOL)0;
		T18_ = (NIM_BOOL)0;
		T19_ = (NI)0;
		T19_ = len__packagesZdocutilsZrstast_102(label);
		T18_ = (T19_ == ((NI) 1));
		if (!(T18_)) goto LA20_;
		T18_ = ((*(*label).sons->data[((NI) 0)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73));
		LA20_: ;
		T17_ = T18_;
		if (!(T17_)) goto LA21_;
		T17_ = eqStrings((*(*label).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76));
		LA21_: ;
		if (!T17_) goto LA22_;
		colontmp__5 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3);
		colontmp__6 = ((NI) -1);
		result.Field0 = colontmp__5;
		result.Field1 = colontmp__6;
	}
	goto LA1_;
	LA22_: ;
	{
		NIM_BOOL T25_;
		NI T26_;
		TSafePoint TM__6mNpeIAN05DnDNzb9b3611A_153;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__7;
		NI colontmp__8;
		T25_ = (NIM_BOOL)0;
		T26_ = (NI)0;
		T26_ = len__packagesZdocutilsZrstast_102(label);
		T25_ = (T26_ == ((NI) 1));
		if (!(T25_)) goto LA27_;
		T25_ = ((*(*label).sons->data[((NI) 0)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73));
		LA27_: ;
		if (!T25_) goto LA28_;
		pushSafePoint(&TM__6mNpeIAN05DnDNzb9b3611A_153);
		TM__6mNpeIAN05DnDNzb9b3611A_153.status = setjmp(TM__6mNpeIAN05DnDNzb9b3611A_153.context);
		if (TM__6mNpeIAN05DnDNzb9b3611A_153.status == 0) {
		colontmp__7 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0);
		colontmp__8 = nsuParseInt((*(*label).sons->data[((NI) 0)])._kind_1.text);
		result.Field0 = colontmp__7;
		result.Field1 = colontmp__8;
		popSafePoint();
		}
		else {
			popSafePoint();
			{
				tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__9;
				NI colontmp__10;
				TM__6mNpeIAN05DnDNzb9b3611A_153.status = 0;
				colontmp__9 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4);
				colontmp__10 = ((NI) -1);
				result.Field0 = colontmp__9;
				result.Field1 = colontmp__10;
				popCurrentException();
			}
		}
		if (TM__6mNpeIAN05DnDNzb9b3611A_153.status != 0) reraiseException();
	}
	goto LA1_;
	LA28_: ;
	{
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__11;
		NI colontmp__12;
		colontmp__11 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4);
		colontmp__12 = ((NI) -1);
		result.Field0 = colontmp__11;
		result.Field1 = colontmp__12;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__packagesZdocutilsZrst_4470)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr) {
	NI result;
	NI j;
	result = (NI)0;
	result = start;
	j = ((NI) 0);
	{
		while (1) {
			NIM_BOOL T3_;
			NIM_BOOL T4_;
			NI T6_;
			T3_ = (NIM_BOOL)0;
			T4_ = (NIM_BOOL)0;
			T4_ = (j < (expr ? expr->Sup.len : 0));
			if (!(T4_)) goto LA5_;
			T6_ = ((*p).tok ? (*p).tok->Sup.len : 0);
			T4_ = (result < T6_);
			LA5_: ;
			T3_ = T4_;
			if (!(T3_)) goto LA7_;
			T3_ = nsuContinuesWith(expr, (*p).tok->data[result].symbol, ((NI) (j)));
			LA7_: ;
			if (!T3_) goto LA2;
			j += ((*p).tok->data[result].symbol ? (*p).tok->data[result].symbol->Sup.len : 0);
			result += ((NI) 1);
		} LA2: ;
	}
	{
		if (!(j < (expr ? expr->Sup.len : 0))) goto LA10_;
		result = ((NI) 0);
	}
	LA10_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSmiley__packagesZdocutilsZrst_4487)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
{	result = NIM_NIL;
	{
		if (!!((((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(58)) || ((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(59)) || ((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(56))))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NimStringDesc* key;
		NimStringDesc* val;
		NI i;
		key = NIM_NIL;
		val = NIM_NIL;
		i = ((NI) 0);
		{
			while (1) {
				tyTuple__UV3llMMYFckfui8YMBuUZA colontmp_;
				NI m;
				nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
				colontmp_.Field0 = copyString(Smilies__packagesZdocutilsZrst_72[(i)- 0].Field0);
				colontmp_.Field1 = copyString(Smilies__packagesZdocutilsZrst_72[(i)- 0].Field1);
				key = colontmp_.Field0;
				val = colontmp_.Field1;
				m = matchVerbatim__packagesZdocutilsZrst_4470((&(*p)), (*p).idx, key);
				{
					tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T12_;
					NimStringDesc* T13_;
					if (!(((NI) 0) < m)) goto LA10_;
					(*p).idx = m;
					T12_ = NIM_NIL;
					T12_ = NIM_NIL;
					result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 71), T12_, ((NimStringDesc*) NIM_NIL));
					T13_ = NIM_NIL;
					T13_ = (*result)._kind_1.text; (*result)._kind_1.text = copyStringRC1(val);
					if (T13_) nimGCunrefNoCycle(T13_);
					goto BeforeRet_;
				}
				LA10_: ;
				{
					if (!(((NI) 33) <= ((NI) (i)))) goto LA16_;
					goto LA6;
				}
				LA16_: ;
				i += ((NI) 1);
			}
		} LA6: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__packagesZdocutilsZrst_4562)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI i) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = eqStrings((*p).tok->data[(NI)(i + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
	if (!(T3_)) goto LA4_;
	T3_ = eqStrings((*p).tok->data[(NI)(i + ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_212));
	LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA5_;
	T2_ = ((*p).tok->data[(NI)(i + ((NI) 3))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3));
	LA5_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA6_;
	T1_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_213, 5, (*p).tok->data[i].symbol);
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseUrl__packagesZdocutilsZrst_4663)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	NI lastIdx;
	NI closedParenIdx;
	tySequence__lBgZ7a89beZGYPl8PiANMTA* parensStack;
	NimStringDesc* s;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 39), T1_, ((NimStringDesc*) NIM_NIL));
	lastIdx = (*p).idx;
	closedParenIdx = (NI)((*p).idx - ((NI) 1));
	parensStack = NIM_NIL;
	{
		while (1) {
			NIM_BOOL isClosing;
			if (!((104 &((NU8)1<<((NU)((*p).tok->data[lastIdx].kind)&7U)))!=0)) goto LA3;
			isClosing = checkParen__packagesZdocutilsZrst_4628((*p).tok->data[lastIdx], (&parensStack));
			{
				if (!isClosing) goto LA6_;
				closedParenIdx = lastIdx;
			}
			LA6_: ;
			lastIdx += ((NI) 1);
		} LA3: ;
	}
	lastIdx -= ((NI) 1);
	{
		while (1) {
			NIM_BOOL T10_;
			NIM_BOOL T11_;
			T10_ = (NIM_BOOL)0;
			T11_ = (NIM_BOOL)0;
			T11_ = (closedParenIdx < lastIdx);
			if (!(T11_)) goto LA12_;
			T11_ = ((*p).tok->data[lastIdx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
			LA12_: ;
			T10_ = T11_;
			if (!(T10_)) goto LA13_;
			T10_ = !(eqStrings((*p).tok->data[lastIdx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_219)));
			LA13_: ;
			if (!T10_) goto LA9;
			lastIdx -= ((NI) 1);
		} LA9: ;
	}
	s = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI res;
		i = (NI)0;
		res = (*p).idx;
		{
			while (1) {
				if (!(res <= lastIdx)) goto LA16;
				i = res;
				s = resizeString(s, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(s, (*p).tok->data[i].symbol);
				res += ((NI) 1);
			} LA16: ;
		}
	}
	add__packagesZdocutilsZrstast_213(result, s);
	(*p).idx = (NI)(lastIdx + ((NI) 1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseWordOrRef__packagesZdocutilsZrst_4696)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T5_;
		if (!!(((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5)))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = newLeaf__packagesZdocutilsZrst_4020(p);
		add__packagesZdocutilsZrstast_206(father, T5_);
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T7_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T10_;
		T7_ = (NIM_BOOL)0;
		T7_ = isUrl__packagesZdocutilsZrst_4562((&(*p)), (*p).idx);
		if (!T7_) goto LA8_;
		T10_ = NIM_NIL;
		T10_ = parseUrl__packagesZdocutilsZrst_4663(p);
		add__packagesZdocutilsZrstast_206(father, T10_);
	}
	goto LA1_;
	LA8_: ;
	{
		NI saveIdx;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* reference;
		saveIdx = (*p).idx;
		reference = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		(*p).idx += ((NI) 1);
		{
			while (1) {
				if (!((40 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA13;
				{
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5))) goto LA16_;
					{
						NIM_BOOL T20_;
						tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T23_;
						tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T24_;
						T20_ = (NIM_BOOL)0;
						T20_ = isInlineMarkupEnd__packagesZdocutilsZrst_4119((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114), NIM_TRUE);
						if (!T20_) goto LA21_;
						T23_ = lineInfo__packagesZdocutilsZrst_2468((&(*p)), saveIdx);
						T24_ = NIM_NIL;
						T24_ = NIM_NIL;
						reference = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 41), T23_, T24_);
						goto LA12;
					}
					LA21_: ;
					{
						NIM_BOOL T27_;
						T27_ = (NIM_BOOL)0;
						T27_ = validRefnamePunct__packagesZdocutilsZrst_4023((*p).tok->data[(*p).idx].symbol);
						if (!!(T27_)) goto LA28_;
						goto LA12;
					}
					LA28_: ;
				}
				LA16_: ;
				(*p).idx += ((NI) 1);
			} LA13: ;
		} LA12: ;
		{
			if (!!((reference == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA32_;
			{
				NI i;
				NI colontmp_;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = (NI)((*p).idx - ((NI) 1));
				res = saveIdx;
				{
					while (1) {
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T37_;
						if (!(res <= colontmp_)) goto LA36;
						i = res;
						T37_ = NIM_NIL;
						T37_ = newRstLeaf__packagesZdocutilsZrstast_197((*p).tok->data[i].symbol);
						add__packagesZdocutilsZrstast_206(reference, T37_);
						res += ((NI) 1);
					} LA36: ;
				}
			}
			add__packagesZdocutilsZrstast_206(father, reference);
			(*p).idx += ((NI) 1);
		}
		goto LA30_;
		LA32_: ;
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T39_;
			T39_ = NIM_NIL;
			T39_ = newRstLeaf__packagesZdocutilsZrstast_197((*p).tok->data[saveIdx].symbol);
			add__packagesZdocutilsZrstast_206(father, T39_);
			(*p).idx = (NI)(saveIdx + ((NI) 1));
		}
		LA30_: ;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseInline__packagesZdocutilsZrst_4996)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	NI saveIdx;
{	n = NIM_NIL;
	saveIdx = (*p).idx;
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
	{
		{
			NIM_BOOL T4_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_2;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T7_;
			T4_ = (NIM_BOOL)0;
			T4_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_120));
			if (!T4_) goto LA5_;
			T7_ = NIM_NIL;
			T7_ = NIM_NIL;
			n_2 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 66), T7_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4768(p, n_2, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_120), NIM_TRUE);
			add__packagesZdocutilsZrstast_206(father, n_2);
		}
		goto LA2_;
		LA5_: ;
		{
			NIM_BOOL T9_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_3;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T12_;
			T9_ = (NIM_BOOL)0;
			T9_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_125));
			if (!T9_) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = NIM_NIL;
			n_3 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 65), T12_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4768(p, n_3, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_125), NIM_TRUE);
			add__packagesZdocutilsZrstast_206(father, n_3);
		}
		goto LA2_;
		LA10_: ;
		{
			NIM_BOOL T14_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_4;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T17_;
			T14_ = (NIM_BOOL)0;
			T14_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76));
			if (!T14_) goto LA15_;
			T17_ = NIM_NIL;
			T17_ = NIM_NIL;
			n_4 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 64), T17_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4768(p, n_4, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76), NIM_TRUE);
			add__packagesZdocutilsZrstast_206(father, n_4);
		}
		goto LA2_;
		LA15_: ;
		{
			NIM_BOOL T19_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_5;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T22_;
			NimStringDesc* refn;
			tyTuple__wOvXi5VibnCNgN9buQRQD4A T23_;
			NimStringDesc* T24_;
			NI T25_;
			NimStringDesc* T26_;
			T19_ = (NIM_BOOL)0;
			T19_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_113));
			if (!T19_) goto LA20_;
			T22_ = NIM_NIL;
			T22_ = NIM_NIL;
			n_5 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 69), T22_, ((NimStringDesc*) NIM_NIL));
			(*p).idx += ((NI) 1);
			parseUntil__packagesZdocutilsZrst_4768(p, n_5, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115), NIM_FALSE);
			refn = rstnodeToRefname__packagesZdocutilsZrst_61(n_5);
			nimZeroMem((void*)(&T23_), sizeof(tyTuple__wOvXi5VibnCNgN9buQRQD4A));
			T23_.Field0 = copyString(refn);
			T23_.Field1 = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 1);
			T24_ = NIM_NIL;
			T24_ = T23_.Field1->data[0]; T23_.Field1->data[0] = copyStringRC1(refn);
			if (T24_) nimGCunrefNoCycle(T24_);
			asgnRef((void**) (&(*(*p).s).anchors), (tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*) incrSeqV3((TGenericSeq*)((*(*p).s).anchors), (&NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_)));
			T25_ = (*(*p).s).anchors->Sup.len++;
			T26_ = NIM_NIL;
			T26_ = (*(*p).s).anchors->data[T25_].Field0; (*(*p).s).anchors->data[T25_].Field0 = copyStringRC1(T23_.Field0);
			if (T26_) nimGCunrefNoCycle(T26_);
			genericSeqAssign((&(*(*p).s).anchors->data[T25_].Field1), T23_.Field1, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
			add__packagesZdocutilsZrstast_206(father, n_5);
		}
		goto LA2_;
		LA20_: ;
		{
			NIM_BOOL T28_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T32_;
			T28_ = (NIM_BOOL)0;
			T28_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T28_)) goto LA29_;
			T28_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_51));
			LA29_: ;
			if (!T28_) goto LA30_;
			(*p).idx += ((NI) 1);
			T32_ = NIM_NIL;
			T32_ = parseMarkdownCodeblock__packagesZdocutilsZrst_4850(p);
			add__packagesZdocutilsZrstast_206(father, T32_);
		}
		goto LA2_;
		LA30_: ;
		{
			NIM_BOOL T34_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_6;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T37_;
			T34_ = (NIM_BOOL)0;
			T34_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_121));
			if (!T34_) goto LA35_;
			T37_ = NIM_NIL;
			T37_ = NIM_NIL;
			n_6 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 68), T37_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4768(p, n_6, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_121), NIM_FALSE);
			add__packagesZdocutilsZrstast_206(father, n_6);
		}
		goto LA2_;
		LA35_: ;
		{
			NIM_BOOL T39_;
			NI lastIdx;
			tyTuple__XOVT24GHXwqiEj5GCsEGCA T43_;
			NimStringDesc* roleName;
			NI _;
			tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_7;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T44_;
			T39_ = (NIM_BOOL)0;
			T39_ = match__packagesZdocutilsZrst_4279((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_145));
			if (!(T39_)) goto LA40_;
			lastIdx = getRefnameIdx__packagesZdocutilsZrst_4030((&(*p)), (NI)((*p).idx + ((NI) 1)));
			T39_ = eqStrings((*p).tok->data[(NI)(lastIdx + ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
			LA40_: ;
			if (!T39_) goto LA41_;
			nimZeroMem((void*)(&T43_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
			getRefname__packagesZdocutilsZrst_4055((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T43_));
			roleName = NIM_NIL;
			roleName = T43_.Field0;
			_ = (NI)0;
			_ = T43_.Field1;
			k = whichRole__packagesZdocutilsZrst_4378((&(*p)), roleName);
			T44_ = NIM_NIL;
			T44_ = NIM_NIL;
			n_7 = newRstNode__packagesZdocutilsZrstast_109(k, T44_, ((NimStringDesc*) NIM_NIL));
			(*p).idx = (NI)(lastIdx + ((NI) 2));
			{
				if (!(k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58))) goto LA47_;
				n_7 = toInlineCode__packagesZdocutilsZrst_4386(n_7, roleName);
			}
			LA47_: ;
			parseUntil__packagesZdocutilsZrst_4768(p, n_7, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115), NIM_FALSE);
			{
				if (!(k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60) || k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 59))) goto LA51_;
				n_7 = toOtherRole__packagesZdocutilsZrst_4405(n_7, k, roleName);
			}
			LA51_: ;
			add__packagesZdocutilsZrstast_206(father, n_7);
		}
		goto LA2_;
		LA41_: ;
		{
			NIM_BOOL T54_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_8;
			tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T57_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T58_;
			T54_ = (NIM_BOOL)0;
			T54_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115));
			if (!T54_) goto LA55_;
			T57_ = lineInfo__packagesZdocutilsZrst_2468((&(*p)), (NI)((*p).idx + ((NI) 1)));
			T58_ = NIM_NIL;
			T58_ = NIM_NIL;
			n_8 = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 67), T57_, T58_);
			parseUntil__packagesZdocutilsZrst_4768(p, n_8, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115), NIM_FALSE);
			n_8 = parsePostfix__packagesZdocutilsZrst_4425(p, n_8);
			add__packagesZdocutilsZrstast_206(father, n_8);
		}
		goto LA2_;
		LA55_: ;
		{
			NIM_BOOL T60_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_9;
			tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T63_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T64_;
			T60_ = (NIM_BOOL)0;
			T60_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
			if (!T60_) goto LA61_;
			T63_ = lineInfo__packagesZdocutilsZrst_2468((&(*p)), (NI)((*p).idx + ((NI) 1)));
			T64_ = NIM_NIL;
			T64_ = NIM_NIL;
			n_9 = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 70), T63_, T64_);
			parseUntil__packagesZdocutilsZrst_4768(p, n_9, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62), NIM_FALSE);
			add__packagesZdocutilsZrstast_206(father, n_9);
		}
		goto LA2_;
		LA61_: ;
		{
			NIM_BOOL T66_;
			NIM_BOOL T67_;
			NIM_BOOL T68_;
			T66_ = (NIM_BOOL)0;
			T67_ = (NIM_BOOL)0;
			T68_ = (NIM_BOOL)0;
			T68_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T68_)) goto LA69_;
			T68_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_118));
			LA69_: ;
			T67_ = T68_;
			if (!(T67_)) goto LA70_;
			T67_ = !(eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_118)));
			LA70_: ;
			T66_ = T67_;
			if (!(T66_)) goto LA71_;
			T66_ = parseMarkdownLink__packagesZdocutilsZrst_4876(p, father);
			LA71_: ;
			if (!T66_) goto LA72_;
		}
		goto LA2_;
		LA72_: ;
		{
			NIM_BOOL T75_;
			NIM_BOOL T76_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nn;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T81_;
			tyTuple__NsOXiclpudEmVBDvfdmAhQ T82_;
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType;
			NI __2;
			T75_ = (NIM_BOOL)0;
			T76_ = (NIM_BOOL)0;
			T76_ = isInlineMarkupStart__packagesZdocutilsZrst_4213((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_118));
			if (!(T76_)) goto LA77_;
			T76_ = !(eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_118)));
			LA77_: ;
			T75_ = T76_;
			if (!(T75_)) goto LA78_;
			n = parseFootnoteName__packagesZdocutilsZrst_4963(p, NIM_TRUE);
			T75_ = !((n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
			LA78_: ;
			if (!T75_) goto LA79_;
			T81_ = NIM_NIL;
			T81_ = NIM_NIL;
			nn = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 43), T81_, ((NimStringDesc*) NIM_NIL));
			(*nn)._kind_7.info = lineInfo__packagesZdocutilsZrst_2468((&(*p)), (NI)(saveIdx + ((NI) 1)));
			add__packagesZdocutilsZrstast_206(nn, n);
			T82_ = getFootnoteType__packagesZdocutilsZrst_4933(n);
			fnType = T82_.Field0;
			__2 = T82_.Field1;
			switch (fnType) {
			case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
			{
				tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T84_;
				NI T85_;
				T84_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
				asgnRef((void**) (&(*(*p).s).lineFootnoteSymRef), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteSymRef), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
				T85_ = (*(*p).s).lineFootnoteSymRef->Sup.len++;
				(*(*p).s).lineFootnoteSymRef->data[T85_] = T84_;
			}
			break;
			case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
			{
				tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T87_;
				NI T88_;
				T87_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
				asgnRef((void**) (&(*(*p).s).lineFootnoteNumRef), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteNumRef), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
				T88_ = (*(*p).s).lineFootnoteNumRef->Sup.len++;
				(*(*p).s).lineFootnoteNumRef->data[T88_] = T87_;
			}
			break;
			default:
			{
			}
			break;
			}
			add__packagesZdocutilsZrstast_206(father, nn);
		}
		goto LA2_;
		LA79_: ;
		{
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_10;
				if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 0))&7U)))!=0)) goto LA93_;
				n_10 = parseSmiley__packagesZdocutilsZrst_4487(p);
				{
					if (!!((n_10 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA97_;
					add__packagesZdocutilsZrstast_206(father, n_10);
					goto BeforeRet_;
				}
				LA97_: ;
			}
			LA93_: ;
			parseBackslash__packagesZdocutilsZrst_4738(p, father);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
	{
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_11;
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 0))&7U)))!=0)) goto LA102_;
			n_11 = parseSmiley__packagesZdocutilsZrst_4487(p);
			{
				if (!!((n_11 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA106_;
				add__packagesZdocutilsZrstast_206(father, n_11);
				goto BeforeRet_;
			}
			LA106_: ;
		}
		LA102_: ;
		parseWordOrRef__packagesZdocutilsZrst_4696(p, father);
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T124_;
		{
			NIM_BOOL T111_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T115_;
			T111_ = (NIM_BOOL)0;
			T111_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T111_)) goto LA112_;
			T111_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_51));
			LA112_: ;
			if (!T111_) goto LA113_;
			(*p).idx += ((NI) 1);
			T115_ = NIM_NIL;
			T115_ = parseMarkdownCodeblock__packagesZdocutilsZrst_4850(p);
			add__packagesZdocutilsZrstast_206(father, T115_);
			goto BeforeRet_;
		}
		LA113_: ;
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_12;
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 0))&7U)))!=0)) goto LA118_;
			n_12 = parseSmiley__packagesZdocutilsZrst_4487(p);
			{
				if (!!((n_12 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA122_;
				add__packagesZdocutilsZrstast_206(father, n_12);
				goto BeforeRet_;
			}
			LA122_: ;
		}
		LA118_: ;
		T124_ = NIM_NIL;
		T124_ = newLeaf__packagesZdocutilsZrst_4020(p);
		add__packagesZdocutilsZrstast_206(father, T124_);
		(*p).idx += ((NI) 1);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseLine__packagesZdocutilsZrst_5158)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				parseInline__packagesZdocutilsZrst_4996(p, father);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getWrappableIndent__packagesZdocutilsZrst_5182)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA3_;
		result = (*p).tok->data[(*p).idx].ival;
	}
	goto LA1_;
	LA3_: ;
	{
		NI nextIndent;
		NI T6_;
		T6_ = (NI)0;
		T6_ = tokenAfterNewline__packagesZdocutilsZrst_5179(p);
		nextIndent = (*p).tok->data[(NI)(T6_ - ((NI) 1))].ival;
		{
			NI T9_;
			T9_ = (NI)0;
			T9_ = currInd__packagesZdocutilsZrst_2098(p);
			if (!(nextIndent <= T9_)) goto LA10_;
			result = (*p).tok->data[(*p).idx].col;
		}
		goto LA7_;
		LA10_: ;
		{
			if (!((*p).tok->data[(*p).idx].col <= nextIndent)) goto LA13_;
			result = (*p).tok->data[(*p).idx].col;
		}
		goto LA7_;
		LA13_: ;
		{
			result = nextIndent;
		}
		LA7_: ;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseField__packagesZdocutilsZrst_5190)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T1_;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T2_;
	NI col;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* fieldname;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T3_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* fieldbody;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T4_;
	NI indent;
	result = NIM_NIL;
	T1_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	T2_ = NIM_NIL;
	T2_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 15), T1_, T2_);
	col = (*p).tok->data[(*p).idx].col;
	T3_ = NIM_NIL;
	T3_ = NIM_NIL;
	fieldname = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 16), T3_, ((NimStringDesc*) NIM_NIL));
	parseUntil__packagesZdocutilsZrst_4768(p, fieldname, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87), NIM_FALSE);
	T4_ = NIM_NIL;
	T4_ = NIM_NIL;
	fieldbody = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 17), T4_, ((NimStringDesc*) NIM_NIL));
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA7_;
		(*p).idx += ((NI) 1);
	}
	LA7_: ;
	indent = getWrappableIndent__packagesZdocutilsZrst_5182((&(*p)));
	{
		if (!(col < indent)) goto LA11_;
		pushInd__packagesZdocutilsZrst_2104(p, indent);
		parseSection__packagesZdocutilsZrst_5164(p, fieldbody);
		popInd__packagesZdocutilsZrst_2111(p);
	}
	LA11_: ;
	add__packagesZdocutilsZrstast_206(result, fieldname);
	add__packagesZdocutilsZrstast_206(result, fieldbody);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFields__packagesZdocutilsZrst_5205)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NIM_BOOL atStart;
	NIM_BOOL T1_;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	T1_ = (NIM_BOOL)0;
	T1_ = ((*p).idx == ((NI) 0));
	if (!(T1_)) goto LA2_;
	T1_ = eqStrings((*p).tok->data[((NI) 0)].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
	LA2_: ;
	atStart = T1_;
	{
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NI col;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		if (!(T6_)) goto LA7_;
		T6_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
		LA7_: ;
		T5_ = T6_;
		if (T5_) goto LA8_;
		T5_ = atStart;
		LA8_: ;
		if (!T5_) goto LA9_;
		{
			if (!atStart) goto LA13_;
			col = (*p).tok->data[(*p).idx].col;
		}
		goto LA11_;
		LA13_: ;
		{
			col = (*p).tok->data[(*p).idx].ival;
		}
		LA11_: ;
		result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14));
		{
			if (!!(atStart)) goto LA18_;
			(*p).idx += ((NI) 1);
		}
		LA18_: ;
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T22_;
				T22_ = NIM_NIL;
				T22_ = parseField__packagesZdocutilsZrst_5190(p);
				add__packagesZdocutilsZrstast_206(result, T22_);
				{
					NIM_BOOL T25_;
					NIM_BOOL T26_;
					T25_ = (NIM_BOOL)0;
					T26_ = (NIM_BOOL)0;
					T26_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T26_)) goto LA27_;
					T26_ = ((*p).tok->data[(*p).idx].ival == col);
					LA27_: ;
					T25_ = T26_;
					if (!(T25_)) goto LA28_;
					T25_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
					LA28_: ;
					if (!T25_) goto LA29_;
					(*p).idx += ((NI) 1);
				}
				goto LA23_;
				LA29_: ;
				{
					goto LA20;
				}
				LA23_: ;
			}
		} LA20: ;
	}
	LA9_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6450)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* args;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* options;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, k);
	{
		if (!(k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51))) goto LA3_;
		(*result)._kind_7.info = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	}
	LA3_: ;
	args = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	options = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	{
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T9_;
		if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 0))&7U)))!=0)) goto LA7_;
		T9_ = NIM_NIL;
		T9_ = NIM_NIL;
		args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 45), T9_, ((NimStringDesc*) NIM_NIL));
		{
			if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 2))&7U)))!=0)) goto LA12_;
			{
				while (1) {
					switch ((*p).tok->data[(*p).idx].kind) {
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
					{
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T17_;
						T17_ = NIM_NIL;
						T17_ = newLeaf__packagesZdocutilsZrst_4020(p);
						add__packagesZdocutilsZrstast_206(args, T17_);
						(*p).idx += ((NI) 1);
					}
					break;
					default:
					{
						goto LA14;
					}
					break;
					}
				}
			} LA14: ;
		}
		goto LA10_;
		LA12_: ;
		{
			if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 3))&7U)))!=0)) goto LA20_;
			{
				while (1) {
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA23;
					(*p).idx += ((NI) 1);
				} LA23: ;
			}
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T28_;
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3))) goto LA26_;
				T28_ = NIM_NIL;
				T28_ = newLeaf__packagesZdocutilsZrst_4020(p);
				add__packagesZdocutilsZrstast_206(args, T28_);
				(*p).idx += ((NI) 1);
			}
			goto LA24_;
			LA26_: ;
			{
				args = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
			}
			LA24_: ;
		}
		goto LA10_;
		LA20_: ;
		{
			parseLine__packagesZdocutilsZrst_5158(p, args);
		}
		LA10_: ;
	}
	LA7_: ;
	add__packagesZdocutilsZrstast_206(result, args);
	{
		if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 1))&7U)))!=0)) goto LA33_;
		{
			NIM_BOOL T37_;
			NIM_BOOL T38_;
			NI T40_;
			T37_ = (NIM_BOOL)0;
			T38_ = (NIM_BOOL)0;
			T38_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
			if (!(T38_)) goto LA39_;
			T40_ = (NI)0;
			T40_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
			T38_ = (T40_ < (*p).tok->data[(*p).idx].ival);
			LA39_: ;
			T37_ = T38_;
			if (!(T37_)) goto LA41_;
			T37_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
			LA41_: ;
			if (!T37_) goto LA42_;
			pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(*p).idx].ival);
			options = parseFields__packagesZdocutilsZrst_5205(p);
			popInd__packagesZdocutilsZrst_2111(p);
		}
		LA42_: ;
	}
	LA33_: ;
	add__packagesZdocutilsZrstast_206(result, options);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__packagesZdocutilsZrst_6502)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
	if (!(T1_)) goto LA2_;
	T3_ = (NI)0;
	T3_ = currInd__packagesZdocutilsZrst_2098(p);
	T1_ = (T3_ < (*p).tok->data[(*p).idx].ival);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseBlockContent__packagesZdocutilsZrst_6509)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** father, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NI blockIndent;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* content;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)));
		if (T3_) goto LA4_;
		T3_ = indFollows__packagesZdocutilsZrst_6502((&(*p)));
		LA4_: ;
		if (!T3_) goto LA5_;
		blockIndent = getWrappableIndent__packagesZdocutilsZrst_5182((&(*p)));
		pushInd__packagesZdocutilsZrst_2104(p, blockIndent);
		content = contentParser(p);
		popInd__packagesZdocutilsZrst_2111(p);
		add__packagesZdocutilsZrstast_206((*father), content);
		result = NIM_TRUE;
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6520)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6450(p, k, flags);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((contentParser == 0));
		if (!(T3_)) goto LA4_;
		T3_ = parseBlockContent__packagesZdocutilsZrst_6509(p, &result, contentParser);
		LA4_: ;
		if (!T3_) goto LA5_;
	}
	goto LA1_;
	LA5_: ;
	{
		add__packagesZdocutilsZrstast_206(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirAdmonition__packagesZdocutilsZrst_6619)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 52), 0, parseSectionWrapper__packagesZdocutilsZrst_6417);
	T1_ = NIM_NIL;
	T1_ = (*result)._kind_4.adType; (*result)._kind_4.adType = copyStringRC1(d);
	if (T1_) nimGCunrefNoCycle(T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__packagesZdocutilsZrst_65)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* fieldname) {
	NimStringDesc* result;
{	result = NIM_NIL;
	{
		if (!((*n).sons->data[((NI) 1)] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!!(((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14)))) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__packagesZdocutilsZrstast_102((*n).sons->data[((NI) 1)]);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* f;
				if (!(i_2 < colontmp_)) goto LA11;
				i = i_2;
				f = (*(*n).sons->data[((NI) 1)]).sons->data[i];
				{
					NimStringDesc* T14_;
					NI T15_;
					T14_ = NIM_NIL;
					T14_ = addNodes__packagesZdocutilsZrst_63((*f).sons->data[((NI) 0)]);
					T15_ = (NI)0;
					T15_ = nsuCmpIgnoreStyle(T14_, fieldname);
					if (!(T15_ == ((NI) 0))) goto LA16_;
					result = addNodes__packagesZdocutilsZrst_63((*f).sons->data[((NI) 1)]);
					{
						if (!((result ? result->Sup.len : 0) == 0)) goto LA20_;
						result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_220));
					}
					LA20_: ;
					goto BeforeRet_;
				}
				LA16_: ;
				i_2 += ((NI) 1);
			} LA11: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringDesc*, slash___pureZos_118)(NimStringDesc* head, NimStringDesc* tail) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = nosjoinPath(head, tail);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findRelativeFile__packagesZdocutilsZrst_2065)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* filename) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T2_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2001((*p).s);
	nimZeroMem((void*)(&T2_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nossplitFile(T1_, (&T2_));
	result = slash___pureZos_118(T2_.Field0, filename);
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = nosfileExists(result);
		if (!!(T5_)) goto LA6_;
		result = (*(*p).s).findFile.ClE_0? (*(*p).s).findFile.ClP_0(filename, (*(*p).s).findFile.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_222)((*(*p).s).findFile.ClP_0))(filename);
	}
	LA6_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirCodeBlock__packagesZdocutilsZrst_6566)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL nimExtension) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51), 3, parseLiteralBlock__packagesZdocutilsZrst_5280);
	T1_ = NIM_NIL;
	T1_ = getFieldValue__packagesZdocutilsZrst_65(result, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_218));
	filename = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_221);
	{
		NimStringDesc* path;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T14_;
		NimStringDesc* T15_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T16_;
		if (!!(((filename ? filename->Sup.len : 0) == 0))) goto LA4_;
		{
			tyObject_Token__E0ilHwDrlCLqd7buwAkizA tok;
			if (!!((((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 5))&7U)))!=0))) goto LA8_;
			nimZeroMem((void*)(&tok), sizeof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA));
			nimCopyMem((void*)(&tok), (NIM_CONST void*)(&(*p).tok->data[(NI)((*p).idx - ((NI) 2))]), sizeof(tok));
			rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 15), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_218), tok.line, tok.col);
		}
		LA8_: ;
		path = findRelativeFile__packagesZdocutilsZrst_2065((&(*p)), filename);
		{
			if (!((path ? path->Sup.len : 0) == 0)) goto LA12_;
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 0), filename);
		}
		LA12_: ;
		T14_ = NIM_NIL;
		T14_ = NIM_NIL;
		n = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T14_, ((NimStringDesc*) NIM_NIL));
		T15_ = NIM_NIL;
		T15_ = readFile__systemZio_562(path);
		T16_ = NIM_NIL;
		T16_ = newRstLeaf__packagesZdocutilsZrstast_197(T15_);
		add__packagesZdocutilsZrstast_206(n, T16_);
		asgnRef((void**) (&(*result).sons->data[((NI) 2)]), n);
	}
	LA4_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* extraNode;
		tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T26_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T27_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T28_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T29_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T30_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T31_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T32_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T33_;
		if (!nimExtension) goto LA19_;
		{
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T25_;
			if (!((*result).sons->data[((NI) 1)] == 0)) goto LA23_;
			T25_ = NIM_NIL;
			T25_ = NIM_NIL;
			asgnRef((void**) (&(*result).sons->data[((NI) 1)]), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14), T25_, ((NimStringDesc*) NIM_NIL)));
		}
		LA23_: ;
		T26_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
		T27_ = NIM_NIL;
		T27_ = NIM_NIL;
		extraNode = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 15), T26_, T27_);
		T28_ = NIM_NIL;
		T28_ = NIM_NIL;
		T29_ = NIM_NIL;
		T29_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 16), T28_, ((NimStringDesc*) NIM_NIL));
		add__packagesZdocutilsZrstast_206(extraNode, T29_);
		T30_ = NIM_NIL;
		T30_ = NIM_NIL;
		T31_ = NIM_NIL;
		T31_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 17), T30_, ((NimStringDesc*) NIM_NIL));
		add__packagesZdocutilsZrstast_206(extraNode, T31_);
		T32_ = NIM_NIL;
		T32_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_223));
		add__packagesZdocutilsZrstast_206((*extraNode).sons->data[((NI) 0)], T32_);
		T33_ = NIM_NIL;
		T33_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_224));
		add__packagesZdocutilsZrstast_206((*extraNode).sons->data[((NI) 1)], T33_);
		add__packagesZdocutilsZrstast_206((*result).sons->data[((NI) 1)], extraNode);
	}
	LA19_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContainer__packagesZdocutilsZrst_6598)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 55), 1, parseSectionWrapper__packagesZdocutilsZrst_6417);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContents__packagesZdocutilsZrst_6613)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 48), 1, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirDefaultRole__packagesZdocutilsZrst_6623)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 72), 1, NIM_NIL);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__packagesZdocutilsZrstast_102((*result).sons->data[((NI) 0)]);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		asgnRef((void**) (&(*(*p).s).currRole), defaultRole__packagesZdocutilsZrst_507((*(*p).s).options));
	}
	goto LA1_;
	LA4_: ;
	{
		NimStringDesc* T7_;
		T7_ = NIM_NIL;
		T7_ = (*(*p).s).currRole; (*(*p).s).currRole = copyStringRC1((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text);
		if (T7_) nimGCunrefNoCycle(T7_);
	}
	LA1_: ;
	(*(*p).s).currRoleKind = whichRole__packagesZdocutilsZrst_4378((&(*p)), (*(*p).s).currRole);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirFigure__packagesZdocutilsZrst_6607)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 50), 7, parseSectionWrapper__packagesZdocutilsZrst_6417);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirImage__packagesZdocutilsZrst_6604)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 49), 7, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirInclude__packagesZdocutilsZrst_6533)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	NimStringDesc* path;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	n = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44), 7, NIM_NIL);
	T1_ = NIM_NIL;
	T1_ = addNodes__packagesZdocutilsZrst_63((*n).sons->data[((NI) 0)]);
	filename = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_221);
	path = findRelativeFile__packagesZdocutilsZrst_2065((&(*p)), filename);
	{
		if (!((path ? path->Sup.len : 0) == 0)) goto LA4_;
		rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 0), filename);
	}
	goto LA2_;
	LA4_: ;
	{
		{
			NimStringDesc* T9_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T12_;
			NimStringDesc* T13_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T14_;
			T9_ = NIM_NIL;
			T9_ = getFieldValue__packagesZdocutilsZrst_65(n, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_17));
			if (!!(((T9_ ? T9_->Sup.len : 0) == 0))) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = NIM_NIL;
			result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T12_, ((NimStringDesc*) NIM_NIL));
			T13_ = NIM_NIL;
			T13_ = readFile__systemZio_562(path);
			T14_ = NIM_NIL;
			T14_ = newRstLeaf__packagesZdocutilsZrstast_197(T13_);
			add__packagesZdocutilsZrstast_206(result, T14_);
		}
		goto LA7_;
		LA10_: ;
		{
			NimStringDesc* inputString;
			NI startPosition;
			NI endPosition;
			tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ q;
			NI32 saveFileIdx;
			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T40_;
			NimStringDesc* T41_;
			inputString = readFile__systemZio_562(path);
			{
				NimStringDesc* searchFor;
				NimStringDesc* T17_;
				T17_ = NIM_NIL;
				T17_ = getFieldValue__packagesZdocutilsZrst_65(n, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_225));
				searchFor = nsuStrip(T17_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_221);
				{
					NI pos;
					if (!!(((searchFor ? searchFor->Sup.len : 0) == 0))) goto LA20_;
					pos = nsuFindStr(inputString, searchFor, ((NI) 0), ((NI) 0));
					{
						if (!!((pos == ((NI) -1)))) goto LA24_;
						startPosition = (NI)(pos + (searchFor ? searchFor->Sup.len : 0));
					}
					goto LA22_;
					LA24_: ;
					{
						startPosition = ((NI) 0);
					}
					LA22_: ;
				}
				goto LA18_;
				LA20_: ;
				{
					startPosition = ((NI) 0);
				}
				LA18_: ;
			}
			{
				NimStringDesc* searchFor_2;
				NimStringDesc* T29_;
				T29_ = NIM_NIL;
				T29_ = getFieldValue__packagesZdocutilsZrst_65(n, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_226));
				searchFor_2 = nsuStrip(T29_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_221);
				{
					NI pos_2;
					if (!!(((searchFor_2 ? searchFor_2->Sup.len : 0) == 0))) goto LA32_;
					pos_2 = nsuFindStr(inputString, searchFor_2, ((NI) (startPosition)), ((NI) 0));
					{
						if (!!((pos_2 == ((NI) -1)))) goto LA36_;
						endPosition = (NI)(pos_2 - ((NI) 1));
					}
					goto LA34_;
					LA36_: ;
					{
						endPosition = ((NI) 0);
					}
					LA34_: ;
				}
				goto LA30_;
				LA32_: ;
				{
					endPosition = (NI)((inputString ? inputString->Sup.len : 0) - ((NI) 1));
				}
				LA30_: ;
			}
			nimZeroMem((void*)(&q), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
			q.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
			initParser__packagesZdocutilsZrst_2123((&q), (*p).s);
			saveFileIdx = (*(*p).s).currFileIdx;
			setCurrFilename__packagesZdocutilsZrst_529((*p).s, path);
			T40_ = dotdot___pureZunicode_840(startPosition, endPosition);
			T41_ = NIM_NIL;
			T41_ = X5BX5D___pureZunicode_865(inputString, T40_);
			getTokens__packagesZdocutilsZrst_240(T41_, (&q.tok));
			result = parseDoc__packagesZdocutilsZrst_5822((&q));
			(*(*p).s).currFileIdx = saveFileIdx;
		}
		LA7_: ;
	}
	LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirIndex__packagesZdocutilsZrst_6616)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 56), 0, parseSectionWrapper__packagesZdocutilsZrst_6417);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirBody__packagesZdocutilsZrst_6529)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = indFollows__packagesZdocutilsZrst_6502((&(*p)));
		if (!T3_) goto LA4_;
		pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(*p).idx].ival);
		result = contentParser(p);
		popInd__packagesZdocutilsZrst_2111(p);
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, dirRawAux__packagesZdocutilsZrst_6641)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** result, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	NimStringDesc* filename;
	filename = getFieldValue__packagesZdocutilsZrst_65((*result), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_218));
	{
		NimStringDesc* path;
		if (!(((NI) 0) < (filename ? filename->Sup.len : 0))) goto LA3_;
		path = findRelativeFile__packagesZdocutilsZrst_2065((&(*p)), filename);
		{
			if (!((path ? path->Sup.len : 0) == ((NI) 0))) goto LA7_;
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 0), filename);
		}
		goto LA5_;
		LA7_: ;
		{
			NimStringDesc* f;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T10_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T11_;
			f = readFile__systemZio_562(path);
			T10_ = NIM_NIL;
			T10_ = NIM_NIL;
			unsureAsgnRef((void**) (&(*result)), newRstNode__packagesZdocutilsZrstast_109(kind, T10_, ((NimStringDesc*) NIM_NIL)));
			T11_ = NIM_NIL;
			T11_ = newRstLeaf__packagesZdocutilsZrstast_197(f);
			add__packagesZdocutilsZrstast_206((*result), T11_);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T13_;
		unsureAsgnRef((void**) (&(*result)), newRstNode__packagesZdocutilsZrstast_109(kind, (*(*result)).sons, ((NimStringDesc*) NIM_NIL)));
		T13_ = NIM_NIL;
		T13_ = parseDirBody__packagesZdocutilsZrst_6529(p, contentParser);
		add__packagesZdocutilsZrstast_206((*result), T13_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRaw__packagesZdocutilsZrst_6649)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6450(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44), 11);
	{
		if (!!(((*result).sons->data[((NI) 0)] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA3_;
		{
			NI T7_;
			T7_ = (NI)0;
			T7_ = nsuCmpIgnoreCase((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_227));
			if (!(T7_ == ((NI) 0))) goto LA8_;
			dirRawAux__packagesZdocutilsZrst_6641(p, &result, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 53), parseLiteralBlock__packagesZdocutilsZrst_5280);
		}
		goto LA5_;
		LA8_: ;
		{
			NI T11_;
			T11_ = (NI)0;
			T11_ = nsuCmpIgnoreCase((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_228));
			if (!(T11_ == ((NI) 0))) goto LA12_;
			dirRawAux__packagesZdocutilsZrst_6641(p, &result, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 54), parseLiteralBlock__packagesZdocutilsZrst_5280);
		}
		goto LA5_;
		LA12_: ;
		{
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), (*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		dirRawAux__packagesZdocutilsZrst_6641(p, &result, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 46), parseSectionWrapper__packagesZdocutilsZrst_6417);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRole__packagesZdocutilsZrst_6633)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* lang;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44), 3, NIM_NIL);
	T1_ = NIM_NIL;
	T1_ = getFieldValue__packagesZdocutilsZrst_65(result, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_229));
	lang = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_221);
	{
		NIM_BOOL T4_;
		tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((lang ? lang->Sup.len : 0) == 0));
		if (!(T4_)) goto LA5_;
		T6_ = (tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g)0;
		T6_ = getSourceLanguage__packagesZdocutilsZhighlite_97(lang);
		T4_ = (T6_ == ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 0));
		LA5_: ;
		if (!T4_) goto LA7_;
		rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 12), lang);
	}
	LA7_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirTitle__packagesZdocutilsZrst_6610)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6520(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 47), 1, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, selectDir__packagesZdocutilsZrst_6656)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_Token__E0ilHwDrlCLqd7buwAkizA tok;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	nimZeroMem((void*)(&tok), sizeof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA));
	nimCopyMem((void*)(&tok), (NIM_CONST void*)(&(*p).tok->data[(NI)((*p).idx - ((NI) 2))]), sizeof(tok));
	{
		if (!!((((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 5))&7U)))!=0))) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = contains__stdZenumutils_43(SandboxDirAllowlist__packagesZdocutilsZrst_73, 3, d);
			if (!!(T7_)) goto LA8_;
			rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 15), d, tok.line, tok.col);
		}
		LA8_: ;
	}
	LA3_: ;
	switch (hashString(d) & 31) {
	case 0: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102))) goto LA18_;
break;
	case 2: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_96))) goto LA10_;
break;
	case 4: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_98))) goto LA14_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_105))) goto LA22_;
break;
	case 8: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_110))) goto LA27_;
break;
	case 10: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_93))) goto LA12_;
break;
	case 12: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_100))) goto LA16_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_101))) goto LA17_;
break;
	case 15: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_25))) goto LA11_;
break;
	case 18: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_95))) goto LA10_;
break;
	case 21: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_97))) goto LA13_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_99))) goto LA15_;
break;
	case 22: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_94))) goto LA10_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_104))) goto LA21_;
break;
	case 23: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_92))) goto LA20_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_107))) goto LA24_;
break;
	case 25: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_106))) goto LA23_;
break;
	case 27: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_103))) goto LA19_;
break;
	case 28: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_112))) goto LA29_;
break;
	case 29: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_111))) goto LA28_;
break;
	case 30: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_109))) goto LA26_;
break;
	case 31: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_108))) goto LA25_;
break;
	}
	goto LA30_;
	LA10_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA11_: ;
	{
		result = dirCodeBlock__packagesZdocutilsZrst_6566(p, NIM_FALSE);
	}
	goto LA31_;
	LA12_: ;
	{
		result = dirCodeBlock__packagesZdocutilsZrst_6566(p, NIM_TRUE);
	}
	goto LA31_;
	LA13_: ;
	{
		result = dirContainer__packagesZdocutilsZrst_6598(p);
	}
	goto LA31_;
	LA14_: ;
	{
		result = dirContents__packagesZdocutilsZrst_6613(p);
	}
	goto LA31_;
	LA15_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA16_: ;
	{
		result = dirDefaultRole__packagesZdocutilsZrst_6623(p);
	}
	goto LA31_;
	LA17_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA18_: ;
	{
		result = dirFigure__packagesZdocutilsZrst_6607(p);
	}
	goto LA31_;
	LA19_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA20_: ;
	{
		result = dirImage__packagesZdocutilsZrst_6604(p);
	}
	goto LA31_;
	LA21_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA22_: ;
	{
		result = dirInclude__packagesZdocutilsZrst_6533(p);
	}
	goto LA31_;
	LA23_: ;
	{
		result = dirIndex__packagesZdocutilsZrst_6616(p);
	}
	goto LA31_;
	LA24_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA25_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 1))&7U)))!=0)) goto LA50_;
			result = dirRaw__packagesZdocutilsZrst_6649(p);
		}
		goto LA48_;
		LA50_: ;
		{
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), d);
		}
		LA48_: ;
	}
	goto LA31_;
	LA26_: ;
	{
		result = dirRole__packagesZdocutilsZrst_6633(p);
	}
	goto LA31_;
	LA27_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA28_: ;
	{
		result = dirTitle__packagesZdocutilsZrst_6610(p);
	}
	goto LA31_;
	LA29_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6619(p, d);
	}
	goto LA31_;
	LA30_: ;
	{
		rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), d, tok.line, tok.col);
	}
	LA31_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, getReferenceName__packagesZdocutilsZrst_4065)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* endStr) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* res;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	res = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T5_;
				T5_ = NIM_NIL;
				T5_ = newLeaf__packagesZdocutilsZrst_4020(p);
				add__packagesZdocutilsZrstast_206(res, T5_);
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				{
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, endStr)) goto LA9_;
					(*p).idx += ((NI) 1);
					goto LA2;
				}
				goto LA7_;
				LA9_: ;
				{
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T12_;
					T12_ = NIM_NIL;
					T12_ = newLeaf__packagesZdocutilsZrst_4020(p);
					add__packagesZdocutilsZrstast_206(res, T12_);
				}
				LA7_: ;
			}
			break;
			default:
			{
				rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), endStr);
				goto LA2;
			}
			break;
			}
			(*p).idx += ((NI) 1);
		}
	} LA2: ;
	result = res;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, untilEol__packagesZdocutilsZrst_4078)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T4_;
			if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA3;
			T4_ = NIM_NIL;
			T4_ = newLeaf__packagesZdocutilsZrst_4020(p);
			add__packagesZdocutilsZrstast_206(result, T4_);
			(*p).idx += ((NI) 1);
		} LA3: ;
	}
	return result;
}
static N_INLINE(tyTuple__wOvXi5VibnCNgN9buQRQD4A*, X5BX5D___packagesZdocutilsZrst_2314)(tyTuple__wOvXi5VibnCNgN9buQRQD4A* s, NI sLen_0, NI i) {
	tyTuple__wOvXi5VibnCNgN9buQRQD4A* result;
	result = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addAnchor__packagesZdocutilsZrst_2302)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* refn, NIM_BOOL reset) {
	{
		tyTuple__wOvXi5VibnCNgN9buQRQD4A T5_;
		NimStringDesc* T6_;
		NI T7_;
		NimStringDesc* T8_;
		if (!(((*p).curAnchor ? (*p).curAnchor->Sup.len : 0) == 0)) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyTuple__wOvXi5VibnCNgN9buQRQD4A));
		T5_.Field0 = copyString(refn);
		T5_.Field1 = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 1);
		T6_ = NIM_NIL;
		T6_ = T5_.Field1->data[0]; T5_.Field1->data[0] = copyStringRC1(refn);
		if (T6_) nimGCunrefNoCycle(T6_);
		asgnRef((void**) (&(*(*p).s).anchors), (tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*) incrSeqV3((TGenericSeq*)((*(*p).s).anchors), (&NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_)));
		T7_ = (*(*p).s).anchors->Sup.len++;
		T8_ = NIM_NIL;
		T8_ = (*(*p).s).anchors->data[T7_].Field0; (*(*p).s).anchors->data[T7_].Field0 = copyStringRC1(T5_.Field0);
		if (T8_) nimGCunrefNoCycle(T8_);
		genericSeqAssign((&(*(*p).s).anchors->data[T7_].Field1), T5_.Field1, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
	}
	goto LA1_;
	LA3_: ;
	{
		tyTuple__wOvXi5VibnCNgN9buQRQD4A* T10_;
		tyTuple__wOvXi5VibnCNgN9buQRQD4A* T11_;
		NI T12_;
		NimStringDesc* T13_;
		T10_ = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
		T10_ = X5BX5D___packagesZdocutilsZrst_2314(((*(*p).s).anchors) ? ((*(*p).s).anchors->data) : NIM_NIL, ((*(*p).s).anchors ? (*(*p).s).anchors->Sup.len : 0), ((NI) 1));
		unsureAsgnRef((void**) (&(*T10_).Field0), copyString(refn));
		T11_ = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
		T11_ = X5BX5D___packagesZdocutilsZrst_2314(((*(*p).s).anchors) ? ((*(*p).s).anchors->data) : NIM_NIL, ((*(*p).s).anchors ? (*(*p).s).anchors->Sup.len : 0), ((NI) 1));
		unsureAsgnRef((void**) (&(*T11_).Field1), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*T11_).Field1), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
		T12_ = (*T11_).Field1->Sup.len++;
		T13_ = NIM_NIL;
		T13_ = (*T11_).Field1->data[T12_]; (*T11_).Field1->data[T12_] = copyStringRC1(refn);
		if (T13_) nimGCunrefNoCycle(T13_);
	}
	LA1_: ;
	{
		if (!reset) goto LA16_;
		unsureAsgnRef((void**) (&(*p).curAnchor), ((NimStringDesc*) NIM_NIL));
	}
	goto LA14_;
	LA16_: ;
	{
		unsureAsgnRef((void**) (&(*p).curAnchor), copyString(refn));
	}
	LA14_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, expect__packagesZdocutilsZrst_4090)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* tok) {
	{
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, tok)) goto LA3_;
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA3_: ;
	{
		rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), tok);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setSub__packagesZdocutilsZrst_2245)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value) {
	NI length;
	NI T1_;
	tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw T9_;
	NI T10_;
	NimStringDesc* T11_;
{	T1_ = ((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0);
	length = T1_;
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < length)) goto LA4;
				i = i_2;
				{
					if (!eqStrings(key, (*(*p).s).subs->data[i].key)) goto LA7_;
					asgnRef((void**) (&(*(*p).s).subs->data[i].value), value);
					goto BeforeRet_;
				}
				LA7_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T9_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	nimZeroMem((void*)(&T9_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	T9_.key = copyString(key);
	T9_.value = value;
	asgnRef((void**) (&(*(*p).s).subs), (tySequence__lrunEzM3UiMYKPLPCTNo0w*) incrSeqV3((TGenericSeq*)((*(*p).s).subs), (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_)));
	T10_ = (*(*p).s).subs->Sup.len++;
	T11_ = NIM_NIL;
	T11_ = (*(*p).s).subs->data[T10_].key; (*(*p).s).subs->data[T10_].key = copyStringRC1(T9_.key);
	if (T11_) nimGCunrefNoCycle(T11_);
	asgnRef((void**) (&(*(*p).s).subs->data[T10_].value), T9_.value);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prefix__packagesZdocutilsZrst_6727)(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA ftnType) {
	NimStringDesc* result;
	result = NIM_NIL;
	switch (ftnType) {
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_234));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_235));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_234));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_236));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_237));
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumManual__packagesZdocutilsZrst_2405)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI num) {
	tyTuple__msoRFpgv3EcbLwCh9arSpYw T10_;
	NI T11_;
{	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*(*p).s).footnotes ? (*(*p).s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*(*p).s).footnotes->data[i]);
				{
					NimStringDesc* T9_;
					if (!((*fnote).Field1 == num)) goto LA7_;
					T9_ = NIM_NIL;
					T9_ = dollar___systemZdollars_3(num);
					rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 9), T9_);
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T10_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
	T10_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0);
	T10_.Field1 = num;
	T10_.Field2 = ((NI) -1);
	T10_.Field3 = ((NI) -1);
	T10_.Field4 = dollar___systemZdollars_3(num);
	asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
	T11_ = (*(*p).s).footnotes->Sup.len++;
	genericAssign((void*)(&(*(*p).s).footnotes->data[T11_]), (void*)(&T10_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumAuto__packagesZdocutilsZrst_2475)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* label) {
{	{
		tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T5_;
		NI T6_;
		tyTuple__msoRFpgv3EcbLwCh9arSpYw T7_;
		NI T8_;
		NI T9_;
		if (!((label ? label->Sup.len : 0) == 0)) goto LA3_;
		T5_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
		asgnRef((void**) (&(*(*p).s).lineFootnoteNum), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteNum), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
		T6_ = (*(*p).s).lineFootnoteNum->Sup.len++;
		(*(*p).s).lineFootnoteNum->data[T6_] = T5_;
		nimZeroMem((void*)(&T7_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
		T7_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1);
		T7_.Field1 = ((NI) -1);
		T8_ = ((*(*p).s).lineFootnoteNum ? (*(*p).s).lineFootnoteNum->Sup.len : 0);
		T7_.Field2 = T8_;
		T7_.Field3 = ((NI) -1);
		T7_.Field4 = copyString(label);
		asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
		T9_ = (*(*p).s).footnotes->Sup.len++;
		genericAssign((void*)(&(*(*p).s).footnotes->data[T9_]), (void*)(&T7_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	}
	goto LA1_;
	LA3_: ;
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw T19_;
		NI T20_;
		{
			tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
			NI i;
			NI L;
			NI T12_;
			fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
			i = ((NI) 0);
			T12_ = ((*(*p).s).footnotes ? (*(*p).s).footnotes->Sup.len : 0);
			L = T12_;
			{
				while (1) {
					if (!(i < L)) goto LA14;
					fnote = (&(*(*p).s).footnotes->data[i]);
					{
						if (!eqStrings((*fnote).Field4, label)) goto LA17_;
						rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 9), label);
						goto BeforeRet_;
					}
					LA17_: ;
					i += ((NI) 1);
				} LA14: ;
			}
		}
		nimZeroMem((void*)(&T19_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
		T19_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2);
		T19_.Field1 = ((NI) -1);
		T19_.Field2 = ((NI) -1);
		T19_.Field3 = ((NI) -1);
		T19_.Field4 = copyString(label);
		asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
		T20_ = (*(*p).s).footnotes->Sup.len++;
		genericAssign((void*)(&(*(*p).s).footnotes->data[T20_]), (void*)(&T19_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteSymAuto__packagesZdocutilsZrst_2498)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T1_;
	NI T2_;
	tyTuple__msoRFpgv3EcbLwCh9arSpYw T3_;
	NI T4_;
	NI T5_;
	T1_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	asgnRef((void**) (&(*(*p).s).lineFootnoteSym), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteSym), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
	T2_ = (*(*p).s).lineFootnoteSym->Sup.len++;
	(*(*p).s).lineFootnoteSym->data[T2_] = T1_;
	nimZeroMem((void*)(&T3_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
	T3_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3);
	T3_.Field1 = ((NI) -1);
	T3_.Field2 = ((NI) -1);
	T4_ = ((*(*p).s).lineFootnoteSym ? (*(*p).s).lineFootnoteSym->Sup.len : 0);
	T3_.Field3 = T4_;
	T3_.Field4 = ((NimStringDesc*) NIM_NIL);
	asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
	T5_ = (*(*p).s).footnotes->Sup.len++;
	genericAssign((void*)(&(*(*p).s).footnotes->data[T5_]), (void*)(&T3_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnote__packagesZdocutilsZrst_6730)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* label;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T5_;
	tyTuple__NsOXiclpudEmVBDvfdmAhQ T6_;
	tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType;
	NI i;
	NimStringDesc* name;
	NimStringDesc* anchor;
	NimStringDesc* T23_;
	NIM_BOOL T28_;
{	result = NIM_NIL;
	(*p).idx += ((NI) 1);
	label = parseFootnoteName__packagesZdocutilsZrst_4963(p, NIM_FALSE);
	{
		if (!(label == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		(*p).idx -= ((NI) 1);
		result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = NIM_NIL;
	T5_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36), T5_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_206(result, label);
	T6_ = getFootnoteType__packagesZdocutilsZrst_4933(label);
	fnType = T6_.Field0;
	i = T6_.Field1;
	name = ((NimStringDesc*) NIM_NIL);
	anchor = prefix__packagesZdocutilsZrst_6727(fnType);
	switch (fnType) {
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
	{
		NimStringDesc* T8_;
		addFootnoteNumManual__packagesZdocutilsZrst_2405(p, i);
		T8_ = NIM_NIL;
		T8_ = dollar___systemZdollars_3(i);
		anchor = resizeString(anchor, (T8_ ? T8_->Sup.len : 0) + 0);
appendString(anchor, T8_);
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
	{
		name = rstnodeToRefname__packagesZdocutilsZrst_61(label);
		addFootnoteNumAuto__packagesZdocutilsZrst_2475(p, name);
		{
			if (!(fnType == ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2))) goto LA12_;
			anchor = resizeString(anchor, (name ? name->Sup.len : 0) + 0);
appendString(anchor, name);
		}
		goto LA10_;
		LA12_: ;
		{
			NI T15_;
			NimStringDesc* T16_;
			T15_ = ((*(*p).s).lineFootnoteNum ? (*(*p).s).lineFootnoteNum->Sup.len : 0);
			(*result)._kind_6.order = T15_;
			T16_ = NIM_NIL;
			T16_ = dollar___systemZdollars_3((*result)._kind_6.order);
			anchor = resizeString(anchor, (T16_ ? T16_->Sup.len : 0) + 0);
appendString(anchor, T16_);
		}
		LA10_: ;
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
	{
		NI T18_;
		NI T19_;
		NimStringDesc* T20_;
		addFootnoteSymAuto__packagesZdocutilsZrst_2498(p);
		T18_ = ((*(*p).s).lineFootnoteSym ? (*(*p).s).lineFootnoteSym->Sup.len : 0);
		(*result)._kind_6.order = T18_;
		T19_ = ((*(*p).s).lineFootnoteSym ? (*(*p).s).lineFootnoteSym->Sup.len : 0);
		T20_ = NIM_NIL;
		T20_ = dollar___systemZdollars_3(T19_);
		anchor = resizeString(anchor, (T20_ ? T20_->Sup.len : 0) + 0);
appendString(anchor, T20_);
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
	{
		NimStringDesc* T22_;
		T22_ = NIM_NIL;
		T22_ = rstnodeToRefname__packagesZdocutilsZrst_61(label);
		anchor = resizeString(anchor, (T22_ ? T22_->Sup.len : 0) + 0);
appendString(anchor, T22_);
	}
	break;
	}
	addAnchor__packagesZdocutilsZrst_2302(p, anchor, NIM_TRUE);
	T23_ = NIM_NIL;
	T23_ = (*result).anchor; (*result).anchor = copyStringRC1(anchor);
	if (T23_) nimGCunrefNoCycle(T23_);
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA26_;
		(*p).idx += ((NI) 1);
	}
	LA26_: ;
	T28_ = (NIM_BOOL)0;
	T28_ = parseBlockContent__packagesZdocutilsZrst_6509(p, &result, parseSectionWrapper__packagesZdocutilsZrst_6417);
	(void)(T28_);
	{
		NI T31_;
		T31_ = (NI)0;
		T31_ = len__packagesZdocutilsZrstast_102(result);
		if (!(T31_ < ((NI) 2))) goto LA32_;
		add__packagesZdocutilsZrstast_206(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	}
	LA32_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseComment__packagesZdocutilsZrst_5126)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI col) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)));
		if (!(T3_)) goto LA4_;
		T3_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA5_: ;
	{
		{
			while (1) {
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA9;
				{
					NIM_BOOL T12_;
					NIM_BOOL T13_;
					NIM_BOOL T16_;
					T12_ = (NIM_BOOL)0;
					T13_ = (NIM_BOOL)0;
					T13_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T13_)) goto LA14_;
					T13_ = (col < (*p).tok->data[(*p).idx].ival);
					LA14_: ;
					T12_ = T13_;
					if (T12_) goto LA15_;
					T16_ = (NIM_BOOL)0;
					T16_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)));
					if (!(T16_)) goto LA17_;
					T16_ = (col < (*p).tok->data[(*p).idx].col);
					LA17_: ;
					T12_ = T16_;
					LA15_: ;
					if (!T12_) goto LA18_;
					(*p).idx += ((NI) 1);
				}
				goto LA10_;
				LA18_: ;
				{
					goto LA8;
				}
				LA10_: ;
			} LA9: ;
		} LA8: ;
	}
	LA1_: ;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDotDot__packagesZdocutilsZrst_5278)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	NI col;
	NimStringDesc* d;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	n = NIM_NIL;
	col = (*p).tok->data[(*p).idx].col;
	(*p).idx += ((NI) 1);
	d = getDirective__packagesZdocutilsZrst_5100(p);
	{
		if (!!(((d ? d->Sup.len : 0) == 0))) goto LA3_;
		pushInd__packagesZdocutilsZrst_2104(p, col);
		result = selectDir__packagesZdocutilsZrst_6656(p, d);
		popInd__packagesZdocutilsZrst_2111(p);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
		T6_ = (NIM_BOOL)0;
		T6_ = match__packagesZdocutilsZrst_4279((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_230));
		if (!T6_) goto LA7_;
		(*p).idx += ((NI) 2);
		a = getReferenceName__packagesZdocutilsZrst_4065(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA11_;
			(*p).idx += ((NI) 1);
		}
		LA11_: ;
		b = untilEol__packagesZdocutilsZrst_4078(p);
		{
			NI T15_;
			NimStringDesc* T18_;
			T15_ = (NI)0;
			T15_ = len__packagesZdocutilsZrstast_102(b);
			if (!(T15_ == ((NI) 0))) goto LA16_;
			T18_ = NIM_NIL;
			T18_ = rstnodeToRefname__packagesZdocutilsZrst_61(a);
			addAnchor__packagesZdocutilsZrst_2302(p, T18_, NIM_FALSE);
		}
		goto LA13_;
		LA16_: ;
		{
			NimStringDesc* T20_;
			T20_ = NIM_NIL;
			T20_ = rstnodeToRefname__packagesZdocutilsZrst_61(a);
			setRef__packagesZdocutilsZrst_2272(p, T20_, b);
		}
		LA13_: ;
	}
	goto LA1_;
	LA7_: ;
	{
		NIM_BOOL T22_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a_2;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b_2;
		NimStringDesc* T39_;
		T22_ = (NIM_BOOL)0;
		T22_ = match__packagesZdocutilsZrst_4279((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_231));
		if (!T22_) goto LA23_;
		(*p).idx += ((NI) 2);
		a_2 = getReferenceName__packagesZdocutilsZrst_4065(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
		b_2 = NIM_NIL;
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA27_;
			(*p).idx += ((NI) 1);
		}
		LA27_: ;
		{
			NI T31_;
			T31_ = (NI)0;
			T31_ = nsuCmpIgnoreStyle((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_232));
			if (!(T31_ == ((NI) 0))) goto LA32_;
			(*p).idx += ((NI) 1);
			expect__packagesZdocutilsZrst_4090(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52));
			b_2 = untilEol__packagesZdocutilsZrst_4078(p);
		}
		goto LA29_;
		LA32_: ;
		{
			NI T35_;
			T35_ = (NI)0;
			T35_ = nsuCmpIgnoreStyle((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_92));
			if (!(T35_ == ((NI) 0))) goto LA36_;
			(*p).idx += ((NI) 1);
			b_2 = dirImage__packagesZdocutilsZrst_6604(p);
		}
		goto LA29_;
		LA36_: ;
		{
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), (*p).tok->data[(*p).idx].symbol);
		}
		LA29_: ;
		T39_ = NIM_NIL;
		T39_ = addNodes__packagesZdocutilsZrst_63(a_2);
		setSub__packagesZdocutilsZrst_2245(p, T39_, b_2);
	}
	goto LA1_;
	LA23_: ;
	{
		NIM_BOOL T41_;
		T41_ = (NIM_BOOL)0;
		T41_ = match__packagesZdocutilsZrst_4279((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_233));
		if (!(T41_)) goto LA42_;
		n = parseFootnote__packagesZdocutilsZrst_6730(p);
		T41_ = !((n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
		LA42_: ;
		if (!T41_) goto LA43_;
		result = n;
	}
	goto LA1_;
	LA43_: ;
	{
		result = parseComment__packagesZdocutilsZrst_5126(p, col);
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__txefaw5zpc9a9a6GUuV9bJj9cg)(void* p, NI op) {
	tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ* a;
	a = (tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*)p;
}
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, checkAfterNewline__packagesZdocutilsZrst_6285)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report, void* ClE_0) {
	NIM_BOOL result;
	tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ* colonenvP_;
	NI j;
	NI requiredIndent;
	result = (NIM_BOOL)0;
	colonenvP_ = (tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*) ClE_0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5167(p, (NI)((*p).idx + ((NI) 1)));
	requiredIndent = (*p).tok->data[(NI)((*p).idx + wildToken__packagesZdocutilsZrst_6179[((*colonenvP_).w1)- 0])].col;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T7_;
		NIM_BOOL T9_;
		NIM_BOOL T11_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((3 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0));
		if (!(T4_)) goto LA5_;
		T4_ = ((*p).tok->data[j].col < requiredIndent);
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = ((*colonenvP_).col2 < (*p).tok->data[j].col);
		if (T7_) goto LA8_;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*p).tok->data[j].col == (*colonenvP_).col2);
		if (!(T9_)) goto LA10_;
		T11_ = (NIM_BOOL)0;
		T11_ = match__packagesZdocutilsZrst_4279(p, j, wildcards__packagesZdocutilsZrst_6178[((*colonenvP_).w1)- 0]);
		T9_ = !(T11_);
		LA10_: ;
		T7_ = T9_;
		LA8_: ;
		T3_ = T7_;
		LA6_: ;
		if (!T3_) goto LA12_;
		{
			NI n;
			NimStringDesc* msg;
			NimStringDesc* T18_;
			NimStringDesc* colontmp_;
			NI T19_;
			NimStringDesc* T20_;
			NI c;
			tyArray__24KAM9afIUgUaqBaEBB6r9bg T21_;
			NimStringDesc* T22_;
			if (!report) goto LA16_;
			n = (NI)((*p).line + (*p).tok->data[j].line);
			T18_ = NIM_NIL;
			colontmp_ = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_245));
			T19_ = (NI)0;
			T19_ = indentation__pureZstrutils_1194(colontmp_);
			T20_ = NIM_NIL;
			T20_ = nsuDedent(colontmp_, T19_);
			T18_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 1);
appendString(T18_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39));
appendString(T18_, T20_);
			msg = T18_;
			c = (NI)((NI)((*p).col + requiredIndent) + ((NI) 1));
			nimZeroMem((void*)T21_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
			T21_[0] = dollar___systemZdollars_3((NI)(n - ((NI) 1)));
			T21_[1] = dollar___systemZdollars_3(n);
			T21_[2] = dollar___systemZdollars_3(c);
			T22_ = NIM_NIL;
			T22_ = nsuFormatOpenArray(msg, T21_, 3);
			rstMessage__packagesZdocutilsZrst_2087(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), T22_, (*p).tok->data[j].line, (*p).tok->data[j].col);
		}
		LA16_: ;
		result = NIM_FALSE;
	}
	goto LA1_;
	LA12_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseEnumList__packagesZdocutilsZrst_6175)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ* colonenv_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* autoEnums;
	NimStringDesc* prevAE;
	NI curEnum;
	NimStringDesc* prevEnum;
{	result = NIM_NIL;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*) newObj((&NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_), sizeof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ));
	(*colonenv_).Sup.m_type = (&NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_);
	(*colonenv_).col2 = (*p).tok->data[(*p).idx].col;
	(*colonenv_).w1 = ((NI) 0);
	{
		while (1) {
			if (!((*colonenv_).w1 < ((NI) 6))) goto LA2;
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = match__packagesZdocutilsZrst_4279((&(*p)), (*p).idx, wildcards__packagesZdocutilsZrst_6178[((*colonenv_).w1)- 0]);
				if (!T5_) goto LA6_;
				goto LA1;
			}
			LA6_: ;
			(*colonenv_).w1 += ((NI) 1);
		} LA2: ;
	} LA1: ;
	{
		tyProc__TWwcwyFYRc2hmkAA29bgwkg T10_;
		NIM_BOOL T11_;
		nimZeroMem((void*)(&T10_), sizeof(tyProc__TWwcwyFYRc2hmkAA29bgwkg));
		T10_.ClP_0 = checkAfterNewline__packagesZdocutilsZrst_6285; T10_.ClE_0 = colonenv_;
		T11_ = (NIM_BOOL)0;
		T11_ = T10_.ClE_0? T10_.ClP_0((&(*p)), NIM_TRUE, T10_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_246)(T10_.ClP_0))((&(*p)), NIM_TRUE);
		if (!!(T11_)) goto LA12_;
		result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		goto BeforeRet_;
	}
	LA12_: ;
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8));
	{
		NimStringDesc* T18_;
		NimStringDesc* T19_;
		if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0)) goto LA16_;
		autoEnums = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 2);
		T18_ = NIM_NIL;
		T18_ = autoEnums->data[0]; autoEnums->data[0] = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
		if (T18_) nimGCunrefNoCycle(T18_);
		T19_ = NIM_NIL;
		T19_ = autoEnums->data[1]; autoEnums->data[1] = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_247));
		if (T19_) nimGCunrefNoCycle(T19_);
	}
	goto LA14_;
	LA16_: ;
	{
		NimStringDesc* T21_;
		autoEnums = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 1);
		T21_ = NIM_NIL;
		T21_ = autoEnums->data[0]; autoEnums->data[0] = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
		if (T21_) nimGCunrefNoCycle(T21_);
	}
	LA14_: ;
	prevAE = ((NimStringDesc*) NIM_NIL);
	curEnum = ((NI) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (NI)(wildToken__packagesZdocutilsZrst_6179[((*colonenv_).w1)- 0] - ((NI) 1));
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA24;
				i = i_2;
				{
					if (!eqStrings((*p).tok->data[(NI)((*p).idx + i)].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54))) goto LA27_;
					prevAE = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
					asgnRef((void**) (&(*result)._kind_2.labelFmt), resizeString((*result)._kind_2.labelFmt, 1));
appendString((*result)._kind_2.labelFmt, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_247));
				}
				goto LA25_;
				LA27_: ;
				{
					asgnRef((void**) (&(*result)._kind_2.labelFmt), resizeString((*result)._kind_2.labelFmt, ((*p).tok->data[(NI)((*p).idx + i)].symbol ? (*p).tok->data[(NI)((*p).idx + i)].symbol->Sup.len : 0) + 0));
appendString((*result)._kind_2.labelFmt, (*p).tok->data[(NI)((*p).idx + i)].symbol);
				}
				LA25_: ;
				i_2 += ((NI) 1);
			} LA24: ;
		}
	}
	prevEnum = copyString((*p).tok->data[(NI)((*p).idx + wildIndex__packagesZdocutilsZrst_6180[((*colonenv_).w1)- 0])].symbol);
	(*p).idx += wildToken__packagesZdocutilsZrst_6179[((*colonenv_).w1)- 0];
	{
		while (1) {
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* item;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T32_;
			T32_ = NIM_NIL;
			T32_ = NIM_NIL;
			item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 9), T32_, ((NimStringDesc*) NIM_NIL));
			pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(*p).idx].col);
			parseSection__packagesZdocutilsZrst_5164(p, item);
			popInd__packagesZdocutilsZrst_2111(p);
			add__packagesZdocutilsZrstast_206(result, item);
			{
				NIM_BOOL T35_;
				NIM_BOOL T36_;
				NimStringDesc* enumerator;
				T35_ = (NIM_BOOL)0;
				T36_ = (NIM_BOOL)0;
				T36_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
				if (!(T36_)) goto LA37_;
				T36_ = ((*p).tok->data[(*p).idx].ival == (*colonenv_).col2);
				LA37_: ;
				T35_ = T36_;
				if (!(T35_)) goto LA38_;
				T35_ = match__packagesZdocutilsZrst_4279((&(*p)), (NI)((*p).idx + ((NI) 1)), wildcards__packagesZdocutilsZrst_6178[((*colonenv_).w1)- 0]);
				LA38_: ;
				if (!T35_) goto LA39_;
				{
					tyProc__TWwcwyFYRc2hmkAA29bgwkg T43_;
					NIM_BOOL T44_;
					nimZeroMem((void*)(&T43_), sizeof(tyProc__TWwcwyFYRc2hmkAA29bgwkg));
					T43_.ClP_0 = checkAfterNewline__packagesZdocutilsZrst_6285; T43_.ClE_0 = colonenv_;
					T44_ = (NIM_BOOL)0;
					T44_ = T43_.ClE_0? T43_.ClP_0((&(*p)), NIM_FALSE, T43_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_248)(T43_.ClP_0))((&(*p)), NIM_FALSE);
					if (!!(T44_)) goto LA45_;
					goto LA30;
				}
				LA45_: ;
				enumerator = (*p).tok->data[(NI)((NI)((*p).idx + ((NI) 1)) + wildIndex__packagesZdocutilsZrst_6180[((*colonenv_).w1)- 0])].symbol;
				{
					NIM_BOOL T49_;
					NI prevEnumI;
					TSafePoint TM__6mNpeIAN05DnDNzb9b3611A_250;
					T49_ = (NIM_BOOL)0;
					T49_ = contains__pureZstrutils_1627(wildcards__packagesZdocutilsZrst_6178[((*colonenv_).w1)- 0], ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_249));
					if (!T49_) goto LA50_;
					pushSafePoint(&TM__6mNpeIAN05DnDNzb9b3611A_250);
					TM__6mNpeIAN05DnDNzb9b3611A_250.status = setjmp(TM__6mNpeIAN05DnDNzb9b3611A_250.context);
					if (TM__6mNpeIAN05DnDNzb9b3611A_250.status == 0) {
					prevEnumI = nsuParseInt(prevEnum);
					popSafePoint();
					}
					else {
						popSafePoint();
						{
							TM__6mNpeIAN05DnDNzb9b3611A_250.status = 0;
							prevEnumI = ((NI) 1);
							popCurrentException();
						}
					}
					if (TM__6mNpeIAN05DnDNzb9b3611A_250.status != 0) reraiseException();
					{
						NIM_BOOL T56_;
						T56_ = (NIM_BOOL)0;
						T56_ = contains__stdZenumutils_43((autoEnums) ? (autoEnums->data) : NIM_NIL, (autoEnums ? autoEnums->Sup.len : 0), enumerator);
						if (!T56_) goto LA57_;
						{
							NIM_BOOL T61_;
							T61_ = (NIM_BOOL)0;
							T61_ = !(((prevAE ? prevAE->Sup.len : 0) == 0));
							if (!(T61_)) goto LA62_;
							T61_ = !(eqStrings(enumerator, prevAE));
							LA62_: ;
							if (!T61_) goto LA63_;
							goto LA30;
						}
						LA63_: ;
						prevAE = copyString(enumerator);
						curEnum = (NI)(prevEnumI + ((NI) 1));
					}
					goto LA54_;
					LA57_: ;
					{
						TSafePoint TM__6mNpeIAN05DnDNzb9b3611A_251;
						pushSafePoint(&TM__6mNpeIAN05DnDNzb9b3611A_251);
						TM__6mNpeIAN05DnDNzb9b3611A_251.status = setjmp(TM__6mNpeIAN05DnDNzb9b3611A_251.context);
						if (TM__6mNpeIAN05DnDNzb9b3611A_251.status == 0) {
						curEnum = nsuParseInt(enumerator);
						popSafePoint();
						}
						else {
							popSafePoint();
							{
								TM__6mNpeIAN05DnDNzb9b3611A_251.status = 0;
								curEnum = ((NI) 1);
								popCurrentException();
							}
						}
						if (TM__6mNpeIAN05DnDNzb9b3611A_251.status != 0) reraiseException();
					}
					LA54_: ;
					{
						if (!!(((NI)(curEnum - prevEnumI) == ((NI) 1)))) goto LA70_;
						goto LA30;
					}
					LA70_: ;
					prevEnum = copyString(enumerator);
				}
				goto LA47_;
				LA50_: ;
				{
					NI prevEnumI_2;
					prevEnumI_2 = ((NU8)(prevEnum->data[((NI) 0)]));
					{
						if (!eqStrings(enumerator, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54))) goto LA75_;
						curEnum = (NI)(prevEnumI_2 + ((NI) 1));
					}
					goto LA73_;
					LA75_: ;
					{
						curEnum = ((NU8)(enumerator->data[((NI) 0)]));
					}
					LA73_: ;
					{
						if (!!(((NI)(curEnum - prevEnumI_2) == ((NI) 1)))) goto LA80_;
						goto LA30;
					}
					LA80_: ;
					prevEnum = nimCharToStr(((NIM_CHAR) (((NI) (curEnum)))));
				}
				LA47_: ;
				(*p).idx += (NI)(((NI) 1) + wildToken__packagesZdocutilsZrst_6179[((*colonenv_).w1)- 0]);
			}
			goto LA33_;
			LA39_: ;
			{
				goto LA30;
			}
			LA33_: ;
		}
	} LA30: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDefinitionList__packagesZdocutilsZrst_6139)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NI j;
	NI T1_;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	T1_ = (NI)0;
	T1_ = tokenAfterNewline__packagesZdocutilsZrst_5179((&(*p)));
	j = (NI)(T1_ - ((NI) 1));
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NI T9_;
		NI col;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = (((NI) 1) <= j);
		if (!(T6_)) goto LA7_;
		T6_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T9_ = (NI)0;
		T9_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
		T5_ = (T9_ < (*p).tok->data[j].ival);
		LA8_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA10_;
		T4_ = !(eqStrings((*p).tok->data[(NI)(j - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52)));
		LA10_: ;
		if (!T4_) goto LA11_;
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10));
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T20_;
				{
					NIM_BOOL T17_;
					T17_ = (NIM_BOOL)0;
					T17_ = isOptionList__packagesZdocutilsZrst_5523((&(*p)));
					if (!T17_) goto LA18_;
					goto LA13;
				}
				LA18_: ;
				j = (*p).idx;
				T20_ = NIM_NIL;
				T20_ = NIM_NIL;
				a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 12), T20_, ((NimStringDesc*) NIM_NIL));
				parseLine__packagesZdocutilsZrst_5158(p, a);
				{
					NIM_BOOL T23_;
					NIM_BOOL T24_;
					NIM_BOOL T25_;
					NI T27_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
					tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T32_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* c;
					tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T33_;
					T23_ = (NIM_BOOL)0;
					T24_ = (NIM_BOOL)0;
					T25_ = (NIM_BOOL)0;
					T25_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T25_)) goto LA26_;
					T27_ = (NI)0;
					T27_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
					T25_ = (T27_ < (*p).tok->data[(*p).idx].ival);
					LA26_: ;
					T24_ = T25_;
					if (!(T24_)) goto LA28_;
					T24_ = !(eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52)));
					LA28_: ;
					T23_ = T24_;
					if (!(T23_)) goto LA29_;
					T23_ = !(((3 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0));
					LA29_: ;
					if (!T23_) goto LA30_;
					pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(*p).idx].ival);
					T32_ = NIM_NIL;
					T32_ = NIM_NIL;
					b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 13), T32_, ((NimStringDesc*) NIM_NIL));
					parseSection__packagesZdocutilsZrst_5164(p, b);
					T33_ = NIM_NIL;
					T33_ = NIM_NIL;
					c = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 11), T33_, ((NimStringDesc*) NIM_NIL));
					add__packagesZdocutilsZrstast_206(c, a);
					add__packagesZdocutilsZrstast_206(c, b);
					add__packagesZdocutilsZrstast_206(result, c);
					popInd__packagesZdocutilsZrst_2111(p);
				}
				goto LA21_;
				LA30_: ;
				{
					(*p).idx = j;
					goto LA13;
				}
				LA21_: ;
				{
					NIM_BOOL T37_;
					NI T41_;
					T37_ = (NIM_BOOL)0;
					T37_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T37_)) goto LA38_;
					T37_ = ((*p).tok->data[(*p).idx].ival == col);
					LA38_: ;
					if (!T37_) goto LA39_;
					(*p).idx += ((NI) 1);
					T41_ = (NI)0;
					T41_ = tokenAfterNewline__packagesZdocutilsZrst_5179((&(*p)));
					j = (NI)(T41_ - ((NI) 1));
					{
						NIM_BOOL T44_;
						NIM_BOOL T45_;
						NIM_BOOL T46_;
						NIM_BOOL T47_;
						T44_ = (NIM_BOOL)0;
						T45_ = (NIM_BOOL)0;
						T46_ = (NIM_BOOL)0;
						T47_ = (NIM_BOOL)0;
						T47_ = (((NI) 1) <= j);
						if (!(T47_)) goto LA48_;
						T47_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
						LA48_: ;
						T46_ = T47_;
						if (!(T46_)) goto LA49_;
						T46_ = (col < (*p).tok->data[j].ival);
						LA49_: ;
						T45_ = T46_;
						if (!(T45_)) goto LA50_;
						T45_ = !(eqStrings((*p).tok->data[(NI)(j - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52)));
						LA50_: ;
						T44_ = T45_;
						if (!(T44_)) goto LA51_;
						T44_ = !(((*p).tok->data[(NI)(j + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)));
						LA51_: ;
						if (!T44_) goto LA52_;
					}
					goto LA42_;
					LA52_: ;
					{
						goto LA13;
					}
					LA42_: ;
				}
				LA39_: ;
			}
		} LA13: ;
		{
			NI T57_;
			T57_ = (NI)0;
			T57_ = len__packagesZdocutilsZrstast_102(result);
			if (!(T57_ == ((NI) 0))) goto LA58_;
			result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		}
		LA58_: ;
	}
	LA11_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseTransition__packagesZdocutilsZrst_6037)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 4));
	(*p).idx += ((NI) 1);
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA3_;
		(*p).idx += ((NI) 1);
	}
	LA3_: ;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA7_;
		(*p).idx += ((NI) 1);
	}
	LA7_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__packagesZdocutilsZrst_5161)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				parseInline__packagesZdocutilsZrst_4996(p, father);
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__packagesZdocutilsZrst_5313)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_CHAR c, NIM_BOOL hasOverline) {
	NI result;
	tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ T11_;
	NI T12_;
	NI T13_;
{	result = (NI)0;
	{
		NI i;
		tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ hType;
		NI i_2;
		NI L;
		NI T2_;
		i = (NI)0;
		nimZeroMem((void*)(&hType), sizeof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ));
		i_2 = ((NI) 0);
		T2_ = ((*(*p).s).hLevels ? (*(*p).s).hLevels->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i_2 < L)) goto LA4;
				i = i_2;
				hType = (*(*p).s).hLevels->data[i_2];
				{
					NIM_BOOL T7_;
					T7_ = (NIM_BOOL)0;
					T7_ = ((NU8)(hType.symbol) == (NU8)(c));
					if (!(T7_)) goto LA8_;
					T7_ = (hType.hasOverline == hasOverline);
					LA8_: ;
					if (!T7_) goto LA9_;
					(*(*p).s).hLevels->data[i].line = curLine__packagesZdocutilsZrst_2062((&(*p)));
					(*(*p).s).hLevels->data[i].hasPeers = NIM_TRUE;
					result = i;
					goto BeforeRet_;
				}
				LA9_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T11_), sizeof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ));
	T11_.symbol = c;
	T11_.hasOverline = hasOverline;
	T11_.line = curLine__packagesZdocutilsZrst_2062((&(*p)));
	T11_.hasPeers = NIM_FALSE;
	asgnRef((void**) (&(*(*p).s).hLevels), (tySequence__itU9cAYRNnSMU3pWsbVN4bA*) incrSeqV3((TGenericSeq*)((*(*p).s).hLevels), (&NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_)));
	T12_ = (*(*p).s).hLevels->Sup.len++;
	(*(*p).s).hLevels->data[T12_] = T11_;
	T13_ = ((*(*p).s).hLevels ? (*(*p).s).hLevels->Sup.len : 0);
	result = (NI)(T13_ - ((NI) 1));
	}BeforeRet_: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__bHTrQBnWrTGWBsx8uFfYsw)(void* p, NI op) {
	tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg* a;
	a = (tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*)p;
	nimGCvisit((void*)(*a).p1.tok, op);
	nimGCvisit((void*)(*a).p1.s, op);
	nimGCvisit((void*)(*a).p1.indentStack, op);
	nimGCvisit((void*)(*a).p1.curAnchor, op);
}
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, descr__packagesZdocutilsZrst_5695)(NI l, void* ClE_0) {
	NimStringDesc* result;
	tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg* colonenvP_;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T8_;
	result = NIM_NIL;
	colonenvP_ = (tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*) ClE_0;
	T1_ = NIM_NIL;
	T2_ = NIM_NIL;
	{
		if (!(*(*colonenvP_).p1.s).hLevels->data[l].hasOverline) goto LA5_;
		T2_ = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_255));
	}
	goto LA3_;
	LA5_: ;
	{
		T2_ = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_256));
	}
	LA3_: ;
	T8_ = NIM_NIL;
	T8_ = nsuRepeatChar((*(*colonenvP_).p1.s).hLevels->data[l].symbol, ((NI) 5));
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + (T8_ ? T8_->Sup.len : 0) + 0);
appendString(T1_, T2_);
appendString(T1_, T8_);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkHeadingHierarchy__packagesZdocutilsZrst_5692)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI lvl) {
	tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg* colonenv_;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*) newObj((&NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_), sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg));
	objectInit(colonenv_, (&NTIobject__crlV1WNGeShngwIuNh2Hdg_));
	genericAssign((void*)(&(*colonenv_).p1), (void*)p, (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_));
	{
		NimStringDesc* msg;
		NimStringDesc* T5_;
		tyProc__oybrFf5HprJ7Qzy6JCxzgw T6_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		NimStringDesc* T9_;
		NI T10_;
		NimStringDesc* T11_;
		NimStringDesc* T22_;
		if (!(((NI) 1) < (NI)(lvl - (*(*colonenv_).p1.s).hCurLevel))) goto LA3_;
		msg = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_254));
		T5_ = NIM_NIL;
		nimZeroMem((void*)(&T6_), sizeof(tyProc__oybrFf5HprJ7Qzy6JCxzgw));
		T6_.ClP_0 = descr__packagesZdocutilsZrst_5695; T6_.ClE_0 = colonenv_;
		T7_ = NIM_NIL;
		T7_ = T6_.ClE_0? T6_.ClP_0(lvl, T6_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_257)(T6_.ClP_0))(lvl);
		T5_ = rawNewString((T7_ ? T7_->Sup.len : 0) + 92);
appendString(T5_, T7_);
appendString(T5_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_258));
		msg = resizeString(msg, (T5_ ? T5_->Sup.len : 0) + 0);
appendString(msg, T5_);
		T8_ = NIM_NIL;
		T9_ = NIM_NIL;
		T9_ = dollar___systemZdollars_3((*(*colonenv_).p1.s).hLevels->data[(*(*colonenv_).p1.s).hCurLevel].line);
		T10_ = (NI)0;
		T10_ = curLine__packagesZdocutilsZrst_2062((&(*colonenv_).p1));
		T11_ = NIM_NIL;
		T11_ = dollar___systemZdollars_3(T10_);
		T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T11_ ? T11_->Sup.len : 0) + 3);
appendString(T8_, T9_);
appendString(T8_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_53));
appendString(T8_, T11_);
appendString(T8_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
		msg = resizeString(msg, (T8_ ? T8_->Sup.len : 0) + 0);
appendString(msg, T8_);
		{
			NI l;
			NI colontmp_;
			NI colontmp__2;
			NI res;
			l = (NI)0;
			colontmp_ = (NI)0;
			colontmp__2 = (NI)0;
			colontmp_ = (NI)((*(*colonenv_).p1.s).hCurLevel + ((NI) 1));
			colontmp__2 = (NI)(lvl - ((NI) 1));
			res = colontmp_;
			{
				while (1) {
					NimStringDesc* T15_;
					tyProc__oybrFf5HprJ7Qzy6JCxzgw T16_;
					NimStringDesc* T17_;
					if (!(res <= colontmp__2)) goto LA14;
					l = res;
					T15_ = NIM_NIL;
					nimZeroMem((void*)(&T16_), sizeof(tyProc__oybrFf5HprJ7Qzy6JCxzgw));
					T16_.ClP_0 = descr__packagesZdocutilsZrst_5695; T16_.ClE_0 = colonenv_;
					T17_ = NIM_NIL;
					T17_ = T16_.ClE_0? T16_.ClP_0(l, T16_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_259)(T16_.ClP_0))(l);
					T15_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 1);
appendString(T15_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_124));
appendString(T15_, T17_);
					msg = resizeString(msg, (T15_ ? T15_->Sup.len : 0) + 0);
appendString(msg, T15_);
					{
						if (!!((l == (NI)(lvl - ((NI) 1))))) goto LA20_;
						msg = resizeString(msg, 1);
appendString(msg, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_260));
					}
					LA20_: ;
					res += ((NI) 1);
				} LA14: ;
			}
		}
		T22_ = NIM_NIL;
		T22_ = rawNewString((msg ? msg->Sup.len : 0) + 1);
appendString(T22_, msg);
appendString(T22_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_34));
		rstMessage__packagesZdocutilsZrst_2070((&(*colonenv_).p1), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 4), T22_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseHeadline__packagesZdocutilsZrst_5704)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* T9_;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isMarkdownHeadline__packagesZdocutilsZrst_5530((&(*p)));
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3), T6_, ((NimStringDesc*) NIM_NIL));
		(*result)._kind_5.level = ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0);
		(*p).idx += ((NI) 2);
		parseUntilNewline__packagesZdocutilsZrst_5161(p, result);
	}
	goto LA1_;
	LA4_: ;
	{
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T8_;
		NIM_CHAR c;
		T8_ = NIM_NIL;
		T8_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1), T8_, ((NimStringDesc*) NIM_NIL));
		parseUntilNewline__packagesZdocutilsZrst_5161(p, result);
		c = (*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)];
		(*p).idx += ((NI) 2);
		(*result)._kind_5.level = getLevel__packagesZdocutilsZrst_5313(p, c, NIM_FALSE);
		checkHeadingHierarchy__packagesZdocutilsZrst_5692((&(*p)), (*result)._kind_5.level);
		(*(*p).s).hCurLevel = (*result)._kind_5.level;
	}
	LA1_: ;
	T9_ = NIM_NIL;
	T9_ = rstnodeToRefname__packagesZdocutilsZrst_61(result);
	addAnchor__packagesZdocutilsZrst_2302(p, T9_, NIM_TRUE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOverline__packagesZdocutilsZrst_5737)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NIM_CHAR c;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	NimStringDesc* T24_;
	result = NIM_NIL;
	c = (*p).tok->data[(*p).idx].symbol->data[((NI) 0)];
	(*p).idx += ((NI) 2);
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			parseUntilNewline__packagesZdocutilsZrst_5161(p, result);
			{
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA6_;
				(*p).idx += ((NI) 1);
				{
					NI T10_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T13_;
					T10_ = (NI)0;
					T10_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
					if (!(T10_ < (*p).tok->data[(NI)((*p).idx - ((NI) 1))].ival)) goto LA11_;
					T13_ = NIM_NIL;
					T13_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_124));
					add__packagesZdocutilsZrstast_206(result, T13_);
				}
				goto LA8_;
				LA11_: ;
				{
					goto LA2;
				}
				LA8_: ;
			}
			goto LA4_;
			LA6_: ;
			{
				goto LA2;
			}
			LA4_: ;
		}
	} LA2: ;
	(*result)._kind_5.level = getLevel__packagesZdocutilsZrst_5313(p, c, NIM_TRUE);
	checkHeadingHierarchy__packagesZdocutilsZrst_5692((&(*p)), (*result)._kind_5.level);
	(*(*p).s).hCurLevel = (*result)._kind_5.level;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4))) goto LA18_;
		(*p).idx += ((NI) 1);
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA22_;
			(*p).idx += ((NI) 1);
		}
		LA22_: ;
	}
	LA18_: ;
	T24_ = NIM_NIL;
	T24_ = rstnodeToRefname__packagesZdocutilsZrst_61(result);
	addAnchor__packagesZdocutilsZrst_2302(p, T24_, NIM_TRUE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, tokEnd__packagesZdocutilsZrst_5776)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)((*p).tok->data[(*p).idx].col + ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)) - ((NI) 1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getColumns__packagesZdocutilsZrst_5779)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols) {
	NI L;
	L = ((NI) 0);
	{
		while (1) {
			L += ((NI) 1);
			unsureAsgnRef((void**) (&(*cols)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*cols))->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (L))));
			(*cols)->data[(NI)(L - ((NI) 1))] = tokEnd__packagesZdocutilsZrst_5776((&(*p)));
			(*p).idx += ((NI) 1);
			{
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2)))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
			(*p).idx += ((NI) 1);
			{
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4)))) goto LA9_;
				goto LA1;
			}
			LA9_: ;
		}
	} LA1: ;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA13_;
		(*p).idx += ((NI) 1);
	}
	LA13_: ;
	(*cols)->data[(NI)(L - ((NI) 1))] = ((NI) 32000);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSimpleTable__packagesZdocutilsZrst_5824)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__qwqHTkRvwhrRyENtudHQ7g* cols;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* row;
	NI i;
	NI last;
	NI line;
	NIM_CHAR c;
	tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ q;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
	result = NIM_NIL;
	cols = NIM_NIL;
	row = NIM_NIL;
	i = (NI)0;
	last = (NI)0;
	line = (NI)0;
	c = (NIM_CHAR)0;
	nimZeroMem((void*)(&q), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
	q.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
	a = NIM_NIL;
	b = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 30));
	cols = NIM_NIL;
	row = NIM_NIL;
	a = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	c = (*p).tok->data[(*p).idx].symbol->data[((NI) 0)];
	{
		while (1) {
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T58_;
			{
				NI T11_;
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4))) goto LA5_;
				last = tokenAfterNewline__packagesZdocutilsZrst_5179((&(*p)));
				{
					if (!((3 &((NU8)1<<((NU)((*p).tok->data[last].kind)&7U)))!=0)) goto LA9_;
					(*p).idx = last;
					goto LA1;
				}
				LA9_: ;
				getColumns__packagesZdocutilsZrst_5779(p, (&cols));
				T11_ = (cols ? cols->Sup.len : 0);
				row = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&(row)->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (T11_)));
				{
					if (!!((a == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA14_;
					{
						NI j;
						NI colontmp_;
						NI i_2;
						j = (NI)0;
						colontmp_ = (NI)0;
						colontmp_ = len__packagesZdocutilsZrstast_102(a);
						i_2 = ((NI) 0);
						{
							while (1) {
								if (!(i_2 < colontmp_)) goto LA18;
								j = i_2;
								asgnRef((void**) (&(*a).sons->data[j]), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 34), (*(*a).sons->data[j]).sons, ((NimStringDesc*) NIM_NIL)));
								i_2 += ((NI) 1);
							} LA18: ;
						}
					}
				}
				LA14_: ;
			}
			LA5_: ;
			{
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0))) goto LA21_;
				goto LA1;
			}
			LA21_: ;
			{
				NI j_2;
				NI colontmp__2;
				NI T24_;
				NI res;
				j_2 = (NI)0;
				colontmp__2 = (NI)0;
				T24_ = ((row ? row->Sup.len : 0)-1);
				colontmp__2 = T24_;
				res = ((NI) 0);
				{
					while (1) {
						if (!(res <= colontmp__2)) goto LA26;
						j_2 = res;
						asgnRef((void**) (&row->data[j_2]), ((NimStringDesc*) NIM_NIL));
						res += ((NI) 1);
					} LA26: ;
				}
			}
			line = (*p).tok->data[(*p).idx].line;
			{
				while (1) {
					i = ((NI) 0);
					{
						while (1) {
							if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA30;
							{
								NI T33_;
								T33_ = (NI)0;
								T33_ = tokEnd__packagesZdocutilsZrst_5776((&(*p)));
								if (!(T33_ <= cols->data[i])) goto LA34_;
								asgnRef((void**) (&row->data[i]), resizeString(row->data[i], ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString(row->data[i], (*p).tok->data[(*p).idx].symbol);
								(*p).idx += ((NI) 1);
							}
							goto LA31_;
							LA34_: ;
							{
								{
									if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA39_;
									(*p).idx += ((NI) 1);
								}
								LA39_: ;
								i += ((NI) 1);
							}
							LA31_: ;
						} LA30: ;
					}
					{
						if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA43_;
						(*p).idx += ((NI) 1);
					}
					LA43_: ;
					{
						NI T47_;
						T47_ = (NI)0;
						T47_ = tokEnd__packagesZdocutilsZrst_5776((&(*p)));
						if (!(T47_ <= cols->data[((NI) 0)])) goto LA48_;
						goto LA27;
					}
					LA48_: ;
					{
						if (!((17 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA52_;
						goto LA27;
					}
					LA52_: ;
					{
						NI j_3;
						NI colontmp__3;
						NI T55_;
						NI res_2;
						j_3 = (NI)0;
						colontmp__3 = (NI)0;
						T55_ = ((row ? row->Sup.len : 0)-1);
						colontmp__3 = T55_;
						res_2 = ((NI) 1);
						{
							while (1) {
								if (!(res_2 <= colontmp__3)) goto LA57;
								j_3 = res_2;
								asgnRef((void**) (&row->data[j_3]), addChar(row->data[j_3], 10));
								res_2 += ((NI) 1);
							} LA57: ;
						}
					}
				}
			} LA27: ;
			T58_ = NIM_NIL;
			T58_ = NIM_NIL;
			a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 33), T58_, ((NimStringDesc*) NIM_NIL));
			{
				NI j_4;
				NI colontmp__4;
				NI T60_;
				NI res_3;
				j_4 = (NI)0;
				colontmp__4 = (NI)0;
				T60_ = ((row ? row->Sup.len : 0)-1);
				colontmp__4 = T60_;
				res_3 = ((NI) 0);
				{
					while (1) {
						tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T63_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T64_;
						if (!(res_3 <= colontmp__4)) goto LA62;
						j_4 = res_3;
						initParser__packagesZdocutilsZrst_2123((&q), (*p).s);
						q.col = cols->data[j_4];
						q.line = (NI)(line - ((NI) 1));
						getTokens__packagesZdocutilsZrst_240(row->data[j_4], (&q.tok));
						T63_ = NIM_NIL;
						T63_ = NIM_NIL;
						b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 35), T63_, ((NimStringDesc*) NIM_NIL));
						T64_ = NIM_NIL;
						T64_ = parseDoc__packagesZdocutilsZrst_5822((&q));
						add__packagesZdocutilsZrstast_206(b, T64_);
						add__packagesZdocutilsZrstast_206(a, b);
						res_3 += ((NI) 1);
					} LA62: ;
				}
			}
			add__packagesZdocutilsZrstast_206(result, a);
		}
	} LA1: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__fDLYSKIpVlcMcN8u8wR00Q)(void* p, NI op) {
	tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ* a;
	a = (tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*)p;
	nimGCvisit((void*)(*a).row1, op);
	nimGCvisit((void*)(*a).a3, op);
	nimGCvisit((void*)(*a).b4, op);
	nimGCvisit((void*)(*a).q5.tok, op);
	nimGCvisit((void*)(*a).q5.s, op);
	nimGCvisit((void*)(*a).q5.indentStack, op);
	nimGCvisit((void*)(*a).q5.curAnchor, op);
}
N_LIB_PRIVATE N_NIMCALL(tySequence__8Np6tlClE5az1CyqZdN19bQ*, readTableRow__packagesZdocutilsZrst_5940)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tySequence__8Np6tlClE5az1CyqZdN19bQ* result;
	result = NIM_NIL;
	{
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62))) goto LA3_;
		(*p).idx += ((NI) 1);
	}
	LA3_: ;
	{
		while (1) {
			tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ limits;
			NI T15_;
			if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA6;
			nimZeroMem((void*)(&limits), sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
			limits.Field0 = (*p).idx;
			{
				while (1) {
					if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA8;
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
						if (!(T11_)) goto LA12_;
						T11_ = !(eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50)));
						LA12_: ;
						if (!T11_) goto LA13_;
						goto LA7;
					}
					LA13_: ;
					(*p).idx += ((NI) 1);
				} LA8: ;
			} LA7: ;
			limits.Field1 = (*p).idx;
			result = (tySequence__8Np6tlClE5az1CyqZdN19bQ*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_));
			T15_ = result->Sup.len++;
			result->data[T15_] = limits;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA18_;
				goto LA5;
			}
			LA18_: ;
			(*p).idx += ((NI) 1);
		} LA6: ;
	} LA5: ;
	(*p).idx = tokenAfterNewline__packagesZdocutilsZrst_5179((&(*p)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getColContents__packagesZdocutilsZrst_5972)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ colLim) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = colLim.Field0;
		{
			while (1) {
				if (!(i_2 < colLim.Field1)) goto LA3;
				i = i_2;
				result = resizeString(result, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(result, (*p).tok->data[i].symbol);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = nsuStrip(result, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_221);
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, parseRow__packagesZdocutilsZrst_6018)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result, void* ClE_0) {
	tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ* colonenvP_;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T10_;
	colonenvP_ = (tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*) ClE_0;
	asgnRef((void**) (&(*colonenvP_).row1), readTableRow__packagesZdocutilsZrst_5940(p));
	{
		NI T5_;
		if (!((*colonenvP_).colNum2 == ((NI) 0))) goto LA3_;
		T5_ = ((*colonenvP_).row1 ? (*colonenvP_).row1->Sup.len : 0);
		(*colonenvP_).colNum2 = T5_;
	}
	goto LA1_;
	LA3_: ;
	{
		NI T7_;
		T7_ = ((*colonenvP_).row1 ? (*colonenvP_).row1->Sup.len : 0);
		if (!(T7_ < (*colonenvP_).colNum2)) goto LA8_;
		asgnRef((void**) (&(*colonenvP_).row1), (tySequence__8Np6tlClE5az1CyqZdN19bQ*) setLengthSeqV2(&((*colonenvP_).row1)->Sup, (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_), ((NI) ((*colonenvP_).colNum2))));
	}
	goto LA1_;
	LA8_: ;
	LA1_: ;
	T10_ = NIM_NIL;
	T10_ = NIM_NIL;
	asgnRef((void**) (&(*colonenvP_).a3), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 33), T10_, ((NimStringDesc*) NIM_NIL)));
	{
		NI j;
		NI i;
		j = (NI)0;
		i = ((NI) 0);
		{
			while (1) {
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T14_;
				NimStringDesc* T15_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T16_;
				if (!(i < (*colonenvP_).colNum2)) goto LA13;
				j = i;
				T14_ = NIM_NIL;
				T14_ = NIM_NIL;
				asgnRef((void**) (&(*colonenvP_).b4), newRstNode__packagesZdocutilsZrstast_109(cellKind, T14_, ((NimStringDesc*) NIM_NIL)));
				initParser__packagesZdocutilsZrst_2123((&(*colonenvP_).q5), (*p).s);
				(*colonenvP_).q5.col = (*p).col;
				(*colonenvP_).q5.line = (NI)((*p).tok->data[(*p).idx].line - ((NI) 1));
				T15_ = NIM_NIL;
				T15_ = getColContents__packagesZdocutilsZrst_5972(p, (*colonenvP_).row1->data[j]);
				getTokens__packagesZdocutilsZrst_240(T15_, (&(*colonenvP_).q5.tok));
				T16_ = NIM_NIL;
				T16_ = parseDoc__packagesZdocutilsZrst_5822((&(*colonenvP_).q5));
				add__packagesZdocutilsZrstast_206((*colonenvP_).b4, T16_);
				add__packagesZdocutilsZrstast_206((*colonenvP_).a3, (*colonenvP_).b4);
				i += ((NI) 1);
			} LA13: ;
		}
	}
	add__packagesZdocutilsZrstast_206(result, (*colonenvP_).a3);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidDelimiterRow__packagesZdocutilsZrst_5981)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI colNum) {
	NIM_BOOL result;
	tySequence__8Np6tlClE5az1CyqZdN19bQ* row;
{	result = (NIM_BOOL)0;
	row = readTableRow__packagesZdocutilsZrst_5940(p);
	{
		NI T3_;
		T3_ = (row ? row->Sup.len : 0);
		if (!!((T3_ == colNum))) goto LA4_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* limits;
		NI i;
		NI L;
		NI T7_;
		limits = (tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ*)0;
		i = ((NI) 0);
		T7_ = (row ? row->Sup.len : 0);
		L = T7_;
		{
			while (1) {
				NimStringDesc* content;
				if (!(i < L)) goto LA9;
				limits = (&row->data[i]);
				content = getColContents__packagesZdocutilsZrst_5972(p, (*limits));
				{
					NIM_BOOL T12_;
					NIM_BOOL T14_;
					T12_ = (NIM_BOOL)0;
					T12_ = ((content ? content->Sup.len : 0) < ((NI) 3));
					if (T12_) goto LA13_;
					T14_ = (NIM_BOOL)0;
					T14_ = nsuStartsWith(content, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_263));
					if (T14_) goto LA15_;
					T14_ = nsuStartsWith(content, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_264));
					LA15_: ;
					T12_ = !(T14_);
					LA13_: ;
					if (!T12_) goto LA16_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA16_: ;
				i += ((NI) 1);
			} LA9: ;
		}
	}
	result = NIM_TRUE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownTable__packagesZdocutilsZrst_6010)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ* colonenv_;
	tyProc__OBLbZMF9cZ0RIuutSABbCrQ T1_;
	result = NIM_NIL;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*) newObj((&NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_), sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ));
	objectInit(colonenv_, (&NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_));
	asgnRef((void**) (&(*colonenv_).row1), NIM_NIL);
	(*colonenv_).colNum2 = (NI)0;
	asgnRef((void**) (&(*colonenv_).a3), NIM_NIL);
	asgnRef((void**) (&(*colonenv_).b4), NIM_NIL);
	nimZeroMem((void*)(&(*colonenv_).q5), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
	(*colonenv_).q5.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 32));
	nimZeroMem((void*)(&T1_), sizeof(tyProc__OBLbZMF9cZ0RIuutSABbCrQ));
	T1_.ClP_0 = parseRow__packagesZdocutilsZrst_6018; T1_.ClE_0 = colonenv_;
	T1_.ClE_0? T1_.ClP_0(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 34), result, T1_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_262)(T1_.ClP_0))(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 34), result);
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = isValidDelimiterRow__packagesZdocutilsZrst_5981(p, (*colonenv_).colNum2);
		if (!!(T4_)) goto LA5_;
		rstMessage__packagesZdocutilsZrst_2094((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 3));
	}
	LA5_: ;
	{
		while (1) {
			NIM_BOOL T9_;
			tyProc__OBLbZMF9cZ0RIuutSABbCrQ T11_;
			T9_ = (NIM_BOOL)0;
			T9_ = predNL__packagesZdocutilsZrst_5508((&(*p)));
			if (!(T9_)) goto LA10_;
			T9_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
			LA10_: ;
			if (!T9_) goto LA8;
			nimZeroMem((void*)(&T11_), sizeof(tyProc__OBLbZMF9cZ0RIuutSABbCrQ));
			T11_.ClP_0 = parseRow__packagesZdocutilsZrst_6018; T11_.ClE_0 = colonenv_;
			T11_.ClE_0? T11_.ClP_0(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 35), result, T11_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_265)(T11_.ClP_0))(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 35), result);
		} LA8: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOptionList__packagesZdocutilsZrst_6086)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NI col;
	NI order;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 18));
	col = (*p).tok->data[(*p).idx].col;
	order = ((NI) 1);
	{
		while (1) {
			{
				NIM_BOOL T5_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T9_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T10_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* c;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T11_;
				NI j;
				T5_ = (NIM_BOOL)0;
				T5_ = ((*p).tok->data[(*p).idx].col == col);
				if (!(T5_)) goto LA6_;
				T5_ = isOptionList__packagesZdocutilsZrst_5523((&(*p)));
				LA6_: ;
				if (!T5_) goto LA7_;
				T9_ = NIM_NIL;
				T9_ = NIM_NIL;
				a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 20), T9_, ((NimStringDesc*) NIM_NIL));
				T10_ = NIM_NIL;
				T10_ = NIM_NIL;
				b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 24), T10_, ((NimStringDesc*) NIM_NIL));
				T11_ = NIM_NIL;
				T11_ = NIM_NIL;
				c = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 19), T11_, ((NimStringDesc*) NIM_NIL));
				{
					NIM_BOOL T14_;
					T14_ = (NIM_BOOL)0;
					T14_ = match__packagesZdocutilsZrst_4279((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_85));
					if (!T14_) goto LA15_;
					(*p).idx += ((NI) 1);
				}
				LA15_: ;
				{
					while (1) {
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T25_;
						if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA18;
						{
							NIM_BOOL T21_;
							T21_ = (NIM_BOOL)0;
							T21_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
							if (!(T21_)) goto LA22_;
							T21_ = (((NI) 1) < ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0));
							LA22_: ;
							if (!T21_) goto LA23_;
							(*p).idx += ((NI) 1);
							goto LA17;
						}
						LA23_: ;
						T25_ = NIM_NIL;
						T25_ = newLeaf__packagesZdocutilsZrst_4020(p);
						add__packagesZdocutilsZrstast_206(a, T25_);
						(*p).idx += ((NI) 1);
					} LA18: ;
				} LA17: ;
				j = tokenAfterNewline__packagesZdocutilsZrst_5179((&(*p)));
				{
					NIM_BOOL T28_;
					NIM_BOOL T29_;
					NI T32_;
					T28_ = (NIM_BOOL)0;
					T29_ = (NIM_BOOL)0;
					T29_ = (((NI) 0) < j);
					if (!(T29_)) goto LA30_;
					T29_ = ((*p).tok->data[(NI)(j - ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					LA30_: ;
					T28_ = T29_;
					if (!(T28_)) goto LA31_;
					T32_ = (NI)0;
					T32_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
					T28_ = (T32_ < (*p).tok->data[(NI)(j - ((NI) 1))].ival);
					LA31_: ;
					if (!T28_) goto LA33_;
					pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(NI)(j - ((NI) 1))].ival);
					parseSection__packagesZdocutilsZrst_5164(p, b);
					popInd__packagesZdocutilsZrst_2111(p);
				}
				goto LA26_;
				LA33_: ;
				{
					parseLine__packagesZdocutilsZrst_5158(p, b);
				}
				LA26_: ;
				{
					while (1) {
						if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA37;
						(*p).idx += ((NI) 1);
					} LA37: ;
				}
				add__packagesZdocutilsZrstast_206(c, a);
				add__packagesZdocutilsZrstast_206(c, b);
				(*c)._kind_6.order = order;
				order += ((NI) 1);
				add__packagesZdocutilsZrstast_206(result, c);
			}
			goto LA3_;
			LA7_: ;
			{
				{
					if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA41_;
					(*p).idx -= ((NI) 1);
				}
				LA41_: ;
				goto LA1;
			}
			LA3_: ;
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__packagesZdocutilsZrst_5669)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				{
					if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA6_;
					(*p).idx += ((NI) 1);
					goto LA1;
				}
				goto LA4_;
				LA6_: ;
				{
					NI T9_;
					tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ T12_;
					T9_ = (NI)0;
					T9_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
					if (!((*p).tok->data[(*p).idx].ival == T9_)) goto LA10_;
					(*p).idx += ((NI) 1);
					T12_ = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
					T12_ = whichSection__packagesZdocutilsZrst_5558((&(*p)));
					switch (T12_) {
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44):
					{
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T14_;
						T14_ = NIM_NIL;
						T14_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_124));
						add__packagesZdocutilsZrstast_206(result, T14_);
					}
					break;
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27):
					{
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T16_;
						T16_ = NIM_NIL;
						T16_ = parseLineBlock__packagesZdocutilsZrst_5636(p);
						addIfNotNil__packagesZdocutilsZrstast_220(result, T16_);
					}
					break;
					default:
					{
						goto LA1;
					}
					break;
					}
				}
				goto LA4_;
				LA10_: ;
				{
					goto LA1;
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				{
					NIM_BOOL T22_;
					NIM_BOOL T23_;
					NI T26_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T29_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T30_;
					T22_ = (NIM_BOOL)0;
					T23_ = (NIM_BOOL)0;
					T23_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52));
					if (!(T23_)) goto LA24_;
					T23_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					LA24_: ;
					T22_ = T23_;
					if (!(T22_)) goto LA25_;
					T26_ = (NI)0;
					T26_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
					T22_ = (T26_ < (*p).tok->data[(NI)((*p).idx + ((NI) 1))].ival);
					LA25_: ;
					if (!T22_) goto LA27_;
					T29_ = NIM_NIL;
					T29_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
					add__packagesZdocutilsZrstast_206(result, T29_);
					(*p).idx += ((NI) 1);
					T30_ = NIM_NIL;
					T30_ = parseLiteralBlock__packagesZdocutilsZrst_5280(p);
					add__packagesZdocutilsZrstast_206(result, T30_);
					goto LA1;
				}
				goto LA20_;
				LA27_: ;
				{
					parseInline__packagesZdocutilsZrst_4996(p, result);
				}
				LA20_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			{
				parseInline__packagesZdocutilsZrst_4996(p, result);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, sonKind__packagesZdocutilsZrst_6355)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NI i) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__packagesZdocutilsZrstast_102(father);
		if (!(i < T3_)) goto LA4_;
		result = (*(*father).sons->data[i]).kind;
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseSection__packagesZdocutilsZrst_5164)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result) {
	{
		while (1) {
			NIM_BOOL leave;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a_2;
			tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k;
			leave = NIM_FALSE;
			{
				while (1) {
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA4;
					{
						NI T7_;
						T7_ = (NI)0;
						T7_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
						if (!(T7_ == (*p).tok->data[(*p).idx].ival)) goto LA8_;
						(*p).idx += ((NI) 1);
					}
					goto LA5_;
					LA8_: ;
					{
						NI T11_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
						T11_ = (NI)0;
						T11_ = currInd__packagesZdocutilsZrst_2098((&(*p)));
						if (!(T11_ < (*p).tok->data[(*p).idx].ival)) goto LA12_;
						pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(*p).idx].ival);
						a = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 29));
						parseSection__packagesZdocutilsZrst_5164(p, a);
						add__packagesZdocutilsZrstast_206(result, a);
						popInd__packagesZdocutilsZrst_2111(p);
					}
					goto LA5_;
					LA12_: ;
					{
						{
							while (1) {
								NIM_BOOL T17_;
								T17_ = (NIM_BOOL)0;
								T17_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)));
								if (!(T17_)) goto LA18_;
								T17_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
								LA18_: ;
								if (!T17_) goto LA16;
								(*p).idx += ((NI) 1);
							} LA16: ;
						}
						leave = NIM_TRUE;
						goto LA3;
					}
					LA5_: ;
				} LA4: ;
			} LA3: ;
			{
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = leave;
				if (T21_) goto LA22_;
				T21_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0));
				LA22_: ;
				if (!T21_) goto LA23_;
				goto LA1;
			}
			LA23_: ;
			a_2 = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
			k = whichSection__packagesZdocutilsZrst_5558((&(*p)));
			switch (k) {
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25):
			{
				(*p).idx += ((NI) 1);
				a_2 = parseLiteralBlock__packagesZdocutilsZrst_5280(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 6):
			{
				a_2 = parseBulletList__packagesZdocutilsZrst_6060(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27):
			{
				a_2 = parseLineBlock__packagesZdocutilsZrst_5636(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44):
			{
				a_2 = parseDotDot__packagesZdocutilsZrst_5278(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8):
			{
				a_2 = parseEnumList__packagesZdocutilsZrst_6175(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73):
			{
				rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 4), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_252));
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5):
			{
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10):
			{
				a_2 = parseDefinitionList__packagesZdocutilsZrst_6139(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14):
			{
				{
					if (!(((NI) 0) < (*p).idx)) goto LA36_;
					(*p).idx -= ((NI) 1);
				}
				LA36_: ;
				a_2 = parseFields__packagesZdocutilsZrst_5205(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 4):
			{
				a_2 = parseTransition__packagesZdocutilsZrst_6037(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1):
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3):
			{
				a_2 = parseHeadline__packagesZdocutilsZrst_5704(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2):
			{
				a_2 = parseOverline__packagesZdocutilsZrst_5737(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 30):
			{
				a_2 = parseSimpleTable__packagesZdocutilsZrst_5824(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 32):
			{
				a_2 = parseMarkdownTable__packagesZdocutilsZrst_6010(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 18):
			{
				a_2 = parseOptionList__packagesZdocutilsZrst_6086(p);
			}
			break;
			default:
			{
			}
			break;
			}
			{
				NIM_BOOL T47_;
				T47_ = (NIM_BOOL)0;
				T47_ = (a_2 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
				if (!(T47_)) goto LA48_;
				T47_ = !((k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44)));
				LA48_: ;
				if (!T47_) goto LA49_;
				a_2 = newRstNodeA__packagesZdocutilsZrst_4014(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5));
				parseParagraph__packagesZdocutilsZrst_5669(p, a_2);
			}
			LA49_: ;
			addIfNotNil__packagesZdocutilsZrstast_220(result, a_2);
		}
	} LA1: ;
	{
		NIM_BOOL T53_;
		tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ T54_;
		tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ T56_;
		T53_ = (NIM_BOOL)0;
		T54_ = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
		T54_ = sonKind__packagesZdocutilsZrst_6355(result, ((NI) 0));
		T53_ = (T54_ == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5));
		if (!(T53_)) goto LA55_;
		T56_ = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
		T56_ = sonKind__packagesZdocutilsZrst_6355(result, ((NI) 1));
		T53_ = !((T56_ == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5)));
		LA55_: ;
		if (!T53_) goto LA57_;
		asgnRef((void**) (&(*result).sons->data[((NI) 0)]), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*(*result).sons->data[((NI) 0)]).sons, (*(*result).sons->data[((NI) 0)]).anchor));
	}
	LA57_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSectionWrapper__packagesZdocutilsZrst_6417)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	parseSection__packagesZdocutilsZrst_5164(p, result);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T6_;
			T4_ = (NIM_BOOL)0;
			T4_ = ((*result).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0));
			if (!(T4_)) goto LA5_;
			T6_ = (NI)0;
			T6_ = len__packagesZdocutilsZrstast_102(result);
			T4_ = (T6_ == ((NI) 1));
			LA5_: ;
			if (!T4_) goto LA3;
			result = (*result).sons->data[((NI) 0)];
		} LA3: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDoc__packagesZdocutilsZrst_5822)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseSectionWrapper__packagesZdocutilsZrst_6417(p);
	{
		if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA3_;
		rstMessage__packagesZdocutilsZrst_2094((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 5));
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, rstParsePass1__packagesZdocutilsZrst_6821)(NimStringDesc* fragment, NI line, NI column, tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* sharedState) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ p;
	result = NIM_NIL;
	nimZeroMem((void*)(&p), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
	p.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
	initParser__packagesZdocutilsZrst_2123((&p), sharedState);
	p.line = line;
	p.col = column;
	getTokens__packagesZdocutilsZrst_240(fragment, (&p.tok));
	result = parseDoc__packagesZdocutilsZrst_5822((&p));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, countTitles__packagesZdocutilsZrst_5375)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
{	{
		if (!(n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** node;
		NI i;
		NI L;
		NI T6_;
		node = (tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ**)0;
		i = ((NI) 0);
		T6_ = ((*n).sons ? (*n).sons->Sup.len : 0);
		L = T6_;
		{
			while (1) {
				if (!(i < L)) goto LA8;
				node = &(*n).sons->data[i];
				{
					if (!!(((*node) == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA11_;
					{
						if (!!(((*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2) || (*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 57) || (*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 72)))) goto LA15_;
						goto LA5;
					}
					LA15_: ;
					{
						if (!((*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2))) goto LA19_;
						{
							if (!(*s).hLevels->data[(*s).hTitleCnt].hasPeers) goto LA23_;
							goto LA5;
						}
						LA23_: ;
						(*s).hTitleCnt += ((NI) 1);
						{
							if (!(((NI) 2) <= (*s).hTitleCnt)) goto LA27_;
							goto LA5;
						}
						LA27_: ;
					}
					LA19_: ;
				}
				LA11_: ;
				i += ((NI) 1);
			} LA8: ;
		}
	} LA5: ;
	}BeforeRet_: ;
}
static N_NIMCALL(void, Marker_tyRef__ZdwpLvn9cTLhGj4hnaTCvbw)(void* p, NI op) {
	tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ* a;
	a = (tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*)p;
	nimGCvisit((void*)(*a).s1, op);
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2075)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg) {
	NimStringDesc* T1_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2001(s);
	(*s).msgHandler.ClE_0? (*s).msgHandler.ClP_0(T1_, ((NI) 1), ((NI) 0), msgKind, arg, (*s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_267)((*s).msgHandler.ClP_0))(T1_, ((NI) 1), ((NI) 0), msgKind, arg);
}
static N_INLINE(NimStringDesc**, X5BX5D___packagesZdocutilsZrst_2545)(NimStringDesc** s, NI sLen_0, NI i) {
	NimStringDesc** result;
	result = (NimStringDesc**)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, listFootnotes__packagesZdocutilsZrst_2513)(tySequence__SugKu9bev7GtgZTDZMD2xgw* locations, void* ClE_0) {
	NimStringDesc* result;
	tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ* colonenvP_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
	NimStringDesc* T17_;
	NI T18_;
	NimStringDesc* T19_;
	NimStringDesc* T20_;
	result = NIM_NIL;
	colonenvP_ = (tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*) ClE_0;
	lines = NIM_NIL;
	{
		tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA* info;
		NI i;
		NI L;
		NI T2_;
		info = (tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA*)0;
		i = ((NI) 0);
		T2_ = (locations ? locations->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NimStringDesc** T15_;
				NimStringDesc* T16_;
				if (!(i < L)) goto LA4;
				info = (&locations->data[i]);
				{
					NI T7_;
					NimStringDesc* file;
					NimStringDesc* T10_;
					NI T11_;
					NimStringDesc* T12_;
					T7_ = (NI)0;
					T7_ = len__packagesZdocutilsZrst_523((*(*colonenvP_).s1).filenames);
					if (!(((NI) 1) < T7_)) goto LA8_;
					file = getFilename__packagesZdocutilsZrst_1992((*(*colonenvP_).s1).filenames, (*info).fileIndex);
					T10_ = NIM_NIL;
					T10_ = rawNewString((file ? file->Sup.len : 0) + 1);
appendString(T10_, file);
appendString(T10_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
					lines = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(lines), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
					T11_ = lines->Sup.len++;
					T12_ = NIM_NIL;
					T12_ = lines->data[T11_]; lines->data[T11_] = copyStringRC1(T10_);
					if (T12_) nimGCunrefNoCycle(T12_);
				}
				goto LA5_;
				LA8_: ;
				{
					NI T14_;
					lines = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(lines), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
					T14_ = lines->Sup.len++;
					asgnRef((void**) (&lines->data[T14_]), ((NimStringDesc*) NIM_NIL));
				}
				LA5_: ;
				T15_ = (NimStringDesc**)0;
				T15_ = X5BX5D___packagesZdocutilsZrst_2545((lines) ? (lines->data) : NIM_NIL, (lines ? lines->Sup.len : 0), ((NI) 1));
				T16_ = NIM_NIL;
				T16_ = dollar___systemZdollars_9(((NU64) ((*info).line)));
				unsureAsgnRef((void**) (&(*T15_)), resizeString((*T15_), (T16_ ? T16_->Sup.len : 0) + 0));
appendString((*T15_), T16_);
				i += ((NI) 1);
			} LA4: ;
		}
	}
	T17_ = NIM_NIL;
	T18_ = (lines ? lines->Sup.len : 0);
	T19_ = NIM_NIL;
	T19_ = dollar___systemZdollars_3(T18_);
	T20_ = NIM_NIL;
	T20_ = nsuJoinSep((lines) ? (lines->data) : NIM_NIL, (lines ? lines->Sup.len : 0), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_33));
	T17_ = rawNewString((T19_ ? T19_->Sup.len : 0) + (T20_ ? T20_->Sup.len : 0) + 9);
appendString(T17_, T19_);
appendString(T17_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_269));
appendString(T17_, T20_);
appendString(T17_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_34));
	result = resizeString(result, (T17_ ? T17_->Sup.len : 0) + 0);
appendString(result, T17_);
	return result;
}
static N_NIMCALL(void, Marker_tyRef__KYNyCmO27XWAAJ4AB4n9aQQ)(void* p, NI op) {
	tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* a;
	a = (tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*)p;
	nimGCvisit((void*)(*a).next, op);
	nimGCvisit((void*)(*a).value.Field4, op);
}
static N_INLINE(void, prepend__packagesZdocutilsZrst_3252)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n) {
	asgnRef((void**) (&(*n).next), (*L).head);
	unsureAsgnRef((void**) (&(*L).head), n);
	{
		if (!((*L).tail == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL))) goto LA3_;
		unsureAsgnRef((void**) (&(*L).tail), n);
	}
	LA3_: ;
}
static N_INLINE(void, prepend__packagesZdocutilsZrst_3202)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyTuple__msoRFpgv3EcbLwCh9arSpYw value) {
	tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* T1_;
	T1_ = NIM_NIL;
	T1_ = newSinglyLinkedNode__packagesZdocutilsZrst_2894(value);
	prepend__packagesZdocutilsZrst_3252(L, T1_);
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, orderFootnotes__packagesZdocutilsZrst_2511)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s) {
	tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ* colonenv_;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* result;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* manuallyN;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* autoN;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* autoSymbol;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*) newObj((&NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_), sizeof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ));
	(*colonenv_).Sup.m_type = (&NTIobject__dSbgko9cUbNv6KjiW415IXQ_);
	asgnRef((void**) (&(*colonenv_).s1), s);
	{
		NI T3_;
		NI T4_;
		NimStringDesc* T7_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T8_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T9_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T10_;
		NimStringDesc* T11_;
		T3_ = ((*(*colonenv_).s1).lineFootnoteNum ? (*(*colonenv_).s1).lineFootnoteNum->Sup.len : 0);
		T4_ = ((*(*colonenv_).s1).lineFootnoteNumRef ? (*(*colonenv_).s1).lineFootnoteNumRef->Sup.len : 0);
		if (!!((T3_ == T4_))) goto LA5_;
		T7_ = NIM_NIL;
		nimZeroMem((void*)T8_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		nimZeroMem((void*)(&T9_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T9_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2513; T9_.ClE_0 = colonenv_;
		T8_[0] = T9_.ClE_0? T9_.ClP_0((*(*colonenv_).s1).lineFootnoteNum, T9_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_270)(T9_.ClP_0))((*(*colonenv_).s1).lineFootnoteNum);
		nimZeroMem((void*)(&T10_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T10_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2513; T10_.ClE_0 = colonenv_;
		T8_[1] = T10_.ClE_0? T10_.ClP_0((*(*colonenv_).s1).lineFootnoteNumRef, T10_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_271)(T10_.ClP_0))((*(*colonenv_).s1).lineFootnoteNumRef);
		T11_ = NIM_NIL;
		T11_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_268), T8_, 2);
		T7_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 28);
appendString(T7_, T11_);
appendString(T7_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_272));
		rstMessage__packagesZdocutilsZrst_2075((*colonenv_).s1, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 8), T7_);
	}
	LA5_: ;
	{
		NI T14_;
		NI T15_;
		NimStringDesc* T18_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T19_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T20_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T21_;
		NimStringDesc* T22_;
		T14_ = ((*(*colonenv_).s1).lineFootnoteSym ? (*(*colonenv_).s1).lineFootnoteSym->Sup.len : 0);
		T15_ = ((*(*colonenv_).s1).lineFootnoteSymRef ? (*(*colonenv_).s1).lineFootnoteSymRef->Sup.len : 0);
		if (!!((T14_ == T15_))) goto LA16_;
		T18_ = NIM_NIL;
		nimZeroMem((void*)T19_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		nimZeroMem((void*)(&T20_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T20_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2513; T20_.ClE_0 = colonenv_;
		T19_[0] = T20_.ClE_0? T20_.ClP_0((*(*colonenv_).s1).lineFootnoteSym, T20_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_273)(T20_.ClP_0))((*(*colonenv_).s1).lineFootnoteSym);
		nimZeroMem((void*)(&T21_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T21_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2513; T21_.ClE_0 = colonenv_;
		T19_[1] = T21_.ClE_0? T21_.ClP_0((*(*colonenv_).s1).lineFootnoteSymRef, T21_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_274)(T21_.ClP_0))((*(*colonenv_).s1).lineFootnoteSymRef);
		T22_ = NIM_NIL;
		T22_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_268), T19_, 2);
		T18_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 26);
appendString(T18_, T22_);
appendString(T18_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_275));
		rstMessage__packagesZdocutilsZrst_2075((*colonenv_).s1, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 8), T18_);
	}
	LA16_: ;
	result = NIM_NIL;
	manuallyN = NIM_NIL;
	autoN = NIM_NIL;
	autoSymbol = NIM_NIL;
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fs;
		NI i;
		NI L;
		NI T24_;
		fs = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T24_ = ((*(*colonenv_).s1).footnotes ? (*(*colonenv_).s1).footnotes->Sup.len : 0);
		L = T24_;
		{
			while (1) {
				if (!(i < L)) goto LA26;
				fs = (&(*(*colonenv_).s1).footnotes->data[i]);
				{
					NI T31_;
					if (!((*fs).Field0 == ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0))) goto LA29_;
					manuallyN = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(manuallyN), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T31_ = manuallyN->Sup.len++;
					genericAssign((void*)(&manuallyN->data[T31_]), (void*)(&(*fs)), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				}
				goto LA27_;
				LA29_: ;
				{
					NI T35_;
					if (!((6 &((NU8)1<<((NU)((*fs).Field0)&7U)))!=0)) goto LA33_;
					autoN = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(autoN), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T35_ = autoN->Sup.len++;
					genericAssign((void*)(&autoN->data[T35_]), (void*)(&(*fs)), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				}
				goto LA27_;
				LA33_: ;
				{
					NI T37_;
					autoSymbol = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(autoSymbol), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T37_ = autoSymbol->Sup.len++;
					genericAssign((void*)(&autoSymbol->data[T37_]), (void*)(&(*fs)), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				}
				LA27_: ;
				i += ((NI) 1);
			} LA26: ;
		}
	}
	{
		NI T40_;
		T40_ = (autoN ? autoN->Sup.len : 0);
		if (!(T40_ == ((NI) 0))) goto LA41_;
		genericSeqAssign((&result), manuallyN, (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
	}
	goto LA38_;
	LA41_: ;
	{
		tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA lst;
		NI firstAuto;
		tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* curNode;
		tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* nextNode;
		tySequence__59axsmyJq9bYh2MONDvuwAkA* resultX60gensym83_;
		sort__packagesZdocutilsZrst_2619((manuallyN) ? (manuallyN->data) : NIM_NIL, (manuallyN ? manuallyN->Sup.len : 0), ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
		nimZeroMem((void*)(&lst), sizeof(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA));
		initSinglyLinkedList__packagesZdocutilsZrst_2784((&lst));
		{
			tyTuple__msoRFpgv3EcbLwCh9arSpYw* elem;
			NI i_2;
			NI L_2;
			NI T45_;
			elem = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
			i_2 = ((NI) 0);
			T45_ = (manuallyN ? manuallyN->Sup.len : 0);
			L_2 = T45_;
			{
				while (1) {
					if (!(i_2 < L_2)) goto LA47;
					elem = (&manuallyN->data[i_2]);
					append__packagesZdocutilsZrst_2811((&lst), (*elem));
					i_2 += ((NI) 1);
				} LA47: ;
			}
		}
		firstAuto = ((NI) 0);
		{
			NIM_BOOL T50_;
			tyTuple__msoRFpgv3EcbLwCh9arSpYw T54_;
			T50_ = (NIM_BOOL)0;
			T50_ = (lst.head == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL));
			if (T50_) goto LA51_;
			T50_ = !(((*lst.head).value.Field1 == ((NI) 1)));
			LA51_: ;
			if (!T50_) goto LA52_;
			nimZeroMem((void*)(&T54_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
			T54_.Field0 = autoN->data[((NI) 0)].Field0;
			T54_.Field1 = ((NI) 1);
			T54_.Field2 = autoN->data[((NI) 0)].Field2;
			T54_.Field3 = ((NI) -1);
			T54_.Field4 = copyString(autoN->data[((NI) 0)].Field4);
			prepend__packagesZdocutilsZrst_3202((&lst), T54_);
			firstAuto = ((NI) 1);
		}
		LA52_: ;
		curNode = lst.head;
		nextNode = NIM_NIL;
		{
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA* kind;
			NI* x;
			NI* autoNumIdx;
			NI* y;
			NimStringDesc** label;
			tySequence__59axsmyJq9bYh2MONDvuwAkA* colontmp_;
			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T56_;
			NI i_3;
			NI L_3;
			NI T57_;
			kind = (tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA*)0;
			x = (NI*)0;
			autoNumIdx = (NI*)0;
			y = (NI*)0;
			label = (NimStringDesc**)0;
			colontmp_ = NIM_NIL;
			T56_ = dotdot___stdZenumutils_80(firstAuto, ((NI) 1));
			colontmp_ = X5BX5D___packagesZdocutilsZrst_3312((autoN) ? (autoN->data) : NIM_NIL, (autoN ? autoN->Sup.len : 0), T56_);
			i_3 = ((NI) 0);
			T57_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L_3 = T57_;
			{
				while (1) {
					if (!(i_3 < L_3)) goto LA59;
					kind = (&colontmp_->data[i_3].Field0);
					x = (&colontmp_->data[i_3].Field1);
					autoNumIdx = (&colontmp_->data[i_3].Field2);
					y = (&colontmp_->data[i_3].Field3);
					label = (&colontmp_->data[i_3].Field4);
					{
						while (1) {
							nextNode = (*curNode).next;
							if (!!((nextNode == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL)))) goto LA61;
							{
								tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n;
								tyTuple__msoRFpgv3EcbLwCh9arSpYw T66_;
								if (!(((NI) 1) < (NI)((*nextNode).value.Field1 - (*curNode).value.Field1))) goto LA64_;
								nimZeroMem((void*)(&T66_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
								T66_.Field0 = (*kind);
								T66_.Field1 = (NI)((*curNode).value.Field1 + ((NI) 1));
								T66_.Field2 = (*autoNumIdx);
								T66_.Field3 = ((NI) -1);
								T66_.Field4 = copyString((*label));
								n = newSinglyLinkedNode__packagesZdocutilsZrst_3387(T66_);
								asgnRef((void**) (&(*curNode).next), n);
								asgnRef((void**) (&(*n).next), nextNode);
								curNode = n;
								goto LA60;
							}
							goto LA62_;
							LA64_: ;
							{
								curNode = nextNode;
							}
							LA62_: ;
						} LA61: ;
					} LA60: ;
					{
						tyTuple__msoRFpgv3EcbLwCh9arSpYw T72_;
						if (!(nextNode == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL))) goto LA70_;
						nimZeroMem((void*)(&T72_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
						T72_.Field0 = (*kind);
						T72_.Field1 = (NI)((*curNode).value.Field1 + ((NI) 1));
						T72_.Field2 = (*autoNumIdx);
						T72_.Field3 = ((NI) -1);
						T72_.Field4 = copyString((*label));
						append__packagesZdocutilsZrst_3456((&lst), T72_);
						curNode = lst.tail;
					}
					LA70_: ;
					i_3 += ((NI) 1);
				} LA59: ;
			}
		}
		resultX60gensym83_ = NIM_NIL;
		{
			tyTuple__msoRFpgv3EcbLwCh9arSpYw itX60gensym83_;
			tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* it;
			nimZeroMem((void*)(&itX60gensym83_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
			it = lst.head;
			{
				while (1) {
					NI T76_;
					if (!!((it == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL)))) goto LA75;
					nimCopyMem((void*)(&itX60gensym83_), (NIM_CONST void*)(&(*it).value), sizeof(itX60gensym83_));
					resultX60gensym83_ = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(resultX60gensym83_), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T76_ = resultX60gensym83_->Sup.len++;
					genericAssign((void*)(&resultX60gensym83_->data[T76_]), (void*)(&itX60gensym83_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
					it = (*it).next;
				} LA75: ;
			}
		}
		genericSeqAssign((&result), resultX60gensym83_, (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
	}
	LA38_: ;
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fs_2;
		NI i_4;
		NI L_4;
		NI T78_;
		fs_2 = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i_4 = ((NI) 0);
		T78_ = (autoSymbol ? autoSymbol->Sup.len : 0);
		L_4 = T78_;
		{
			while (1) {
				NI i_5;
				NI symbolNum;
				NI nSymbols;
				NimStringDesc* label_2;
				tyTuple__msoRFpgv3EcbLwCh9arSpYw T81_;
				NI T82_;
				if (!(i_4 < L_4)) goto LA80;
				fs_2 = (&autoSymbol->data[i_4]);
				i_5 = (NI)((*fs_2).Field3 - ((NI) 1));
				symbolNum = (NI)((NI)(i_5 / ((NI) 3)) % ((NI) 9));
				nSymbols = (NI)((NI)(((NI) 1) + (NI)(i_5 % ((NI) 3))) + (NI)(((NI) 3) * (NI)(i_5 / ((NI) 27))));
				label_2 = nsuRepeatStr(footnoteAutoSymbols__packagesZdocutilsZrst_3865[(symbolNum)- 0], ((NI) (nSymbols)));
				nimZeroMem((void*)(&T81_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
				T81_.Field0 = (*fs_2).Field0;
				T81_.Field1 = ((NI) -1);
				T81_.Field2 = ((NI) -1);
				T81_.Field3 = (*fs_2).Field3;
				T81_.Field4 = copyString(label_2);
				result = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
				T82_ = result->Sup.len++;
				genericAssign((void*)(&result->data[T82_]), (void*)(&T81_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				i_4 += ((NI) 1);
			} LA80: ;
		}
	}
	genericSeqAssign((&(*(*colonenv_).s1).footnotes), result, (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
}
N_LIB_PRIVATE N_NIMCALL(void, preparePass2__packagesZdocutilsZrst_6828)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* mainNode) {
	countTitles__packagesZdocutilsZrst_5375(s, mainNode);
	orderFootnotes__packagesZdocutilsZrst_2511(s);
}
N_LIB_PRIVATE N_NIMCALL(NI, findSub__packagesZdocutilsZrst_2204)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NI result;
	NimStringDesc* key;
{	result = (NI)0;
	key = addNodes__packagesZdocutilsZrst_63(n);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*s).subs ? (*s).subs->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if (!eqStrings(key, (*s).subs->data[i].key)) goto LA7_;
					result = i;
					goto BeforeRet_;
				}
				LA7_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	{
		NI i_2;
		NI colontmp__2;
		NI T10_;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		T10_ = (((*s).subs ? (*s).subs->Sup.len : 0)-1);
		colontmp__2 = T10_;
		res_2 = ((NI) 0);
		{
			while (1) {
				if (!(res_2 <= colontmp__2)) goto LA12;
				i_2 = res_2;
				{
					NI T15_;
					T15_ = (NI)0;
					T15_ = nsuCmpIgnoreStyle(key, (*s).subs->data[i_2].key);
					if (!(T15_ == ((NI) 0))) goto LA16_;
					result = i_2;
					goto BeforeRet_;
				}
				LA16_: ;
				res_2 += ((NI) 1);
			} LA12: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2080)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, tyProc__zVyAuQlxcO3X84ar49cKZSg f, tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg) {
	NimStringDesc* file;
	file = getFilename__packagesZdocutilsZrst_1992(filenames, info.fileIndex);
	f.ClE_0? f.ClP_0(file, ((NI) (info.line)), ((NI) (info.col)), msgKind, arg, f.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_284)(f.ClP_0))(file, ((NI) (info.line)), ((NI) (info.col)), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, findRef__packagesZdocutilsZrst_2289)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* key) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
{	result = NIM_NIL;
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*s).refs ? (*s).refs->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if (!eqStrings(key, (*s).refs->data[i].key)) goto LA7_;
					result = (*s).refs->data[i].value;
					goto BeforeRet_;
				}
				LA7_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimGCunrefRC1)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__system_5325(p);
	decRef__system_5370(T1_);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findMainAnchor__packagesZdocutilsZrst_2367)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* refn) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		tyTuple__wOvXi5VibnCNgN9buQRQD4A* subst;
		NI i;
		NI L;
		NI T2_;
		subst = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
		i = ((NI) 0);
		T2_ = ((*s).anchors ? (*s).anchors->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NIM_BOOL toLeave;
				if (!(i < L)) goto LA4;
				subst = (&(*s).anchors->data[i]);
				{
					if (!eqStrings((*subst).Field0, refn)) goto LA7_;
					result = copyString((*subst).Field0);
					goto LA1;
				}
				LA7_: ;
				toLeave = NIM_FALSE;
				{
					NimStringDesc** anchor;
					NI i_2;
					NI L_2;
					NI T10_;
					anchor = (NimStringDesc**)0;
					i_2 = ((NI) 0);
					T10_ = ((*subst).Field1 ? (*subst).Field1->Sup.len : 0);
					L_2 = T10_;
					{
						while (1) {
							if (!(i_2 < L_2)) goto LA12;
							anchor = (&(*subst).Field1->data[i_2]);
							{
								if (!eqStrings((*anchor), refn)) goto LA15_;
								result = copyString((*subst).Field0);
								toLeave = NIM_TRUE;
							}
							LA15_: ;
							i_2 += ((NI) 1);
						} LA12: ;
					}
				}
				{
					if (!toLeave) goto LA19_;
					goto LA1;
				}
				LA19_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3990)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* label) {
	NI result;
{	result = (NI)0;
	result = ((NI) -1);
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*s).footnotes ? (*s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*s).footnotes->data[i]);
				{
					if (!eqStrings((*fnote).Field4, label)) goto LA7_;
					result = (*fnote).Field1;
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3998)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order) {
	NI result;
{	result = (NI)0;
	result = ((NI) -1);
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*s).footnotes ? (*s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*s).footnotes->data[i]);
				{
					if (!((*fnote).Field2 == order)) goto LA7_;
					result = (*fnote).Field1;
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getAutoSymbol__packagesZdocutilsZrst_4006)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order) {
	NimStringDesc* result;
{	result = NIM_NIL;
	result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_285));
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*s).footnotes ? (*s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*s).footnotes->data[i]);
				{
					if (!((*fnote).Field3 == order)) goto LA7_;
					result = copyString((*fnote).Field4);
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, resolveSubs__packagesZdocutilsZrst_6831)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
{	result = NIM_NIL;
	result = n;
	{
		if (!(n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 70):
	{
		NI x;
		x = findSub__packagesZdocutilsZrst_2204(s, n);
		{
			if (!(((NI) 0) <= x)) goto LA8_;
			result = (*s).subs->data[x].value;
		}
		goto LA6_;
		LA8_: ;
		{
			NimStringDesc* key;
			NimStringDesc* e;
			key = addNodes__packagesZdocutilsZrst_63(n);
			e = getEnv__pureZos_474(key, ((NimStringDesc*) NIM_NIL));
			{
				if (!!(((e ? e->Sup.len : 0) == 0))) goto LA13_;
				result = newRstLeaf__packagesZdocutilsZrstast_197(e);
			}
			goto LA11_;
			LA13_: ;
			{
				rstMessage__packagesZdocutilsZrst_2080((*s).filenames, (*s).msgHandler, (*n)._kind_7.info, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 10), key);
			}
			LA11_: ;
		}
		LA6_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1):
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2):
	{
		{
			if (!((*s).hTitleCnt == ((NI) 2))) goto LA19_;
			{
				if (!((*n)._kind_5.level == ((NI) 1))) goto LA23_;
				(*n)._kind_5.level = ((NI) 0);
			}
			goto LA21_;
			LA23_: ;
			{
				if (!(((NI) 2) <= (*n)._kind_5.level)) goto LA26_;
				(*n)._kind_5.level -= ((NI) 1);
			}
			goto LA21_;
			LA26_: ;
			LA21_: ;
		}
		goto LA17_;
		LA19_: ;
		{
			if (!((*s).hTitleCnt == ((NI) 0))) goto LA29_;
			(*n)._kind_5.level += ((NI) 1);
		}
		goto LA17_;
		LA29_: ;
		LA17_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 41):
	{
		NimStringDesc* refn;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* y;
		refn = rstnodeToRefname__packagesZdocutilsZrst_61(n);
		y = findRef__packagesZdocutilsZrst_2289(s, refn);
		{
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T36_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* text;
			if (!!((y == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA34_;
			T36_ = NIM_NIL;
			T36_ = NIM_NIL;
			result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 40), T36_, ((NimStringDesc*) NIM_NIL));
			text = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
			if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
			(*result).sons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeqRC1((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
			asgnRef((void**) (&(*result).sons->data[0]), text);
			asgnRef((void**) (&(*result).sons->data[1]), y);
		}
		goto LA32_;
		LA34_: ;
		{
			NimStringDesc* anchor;
			anchor = findMainAnchor__packagesZdocutilsZrst_2367(s, refn);
			{
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T42_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* text_2;
				if (!!(((anchor ? anchor->Sup.len : 0) == 0))) goto LA40_;
				T42_ = NIM_NIL;
				T42_ = NIM_NIL;
				result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 42), T42_, ((NimStringDesc*) NIM_NIL));
				text_2 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
				if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
				(*result).sons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeqRC1((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
				asgnRef((void**) (&(*result).sons->data[0]), text_2);
				asgnRef((void**) (&(*result).sons->data[1]), newRstLeaf__packagesZdocutilsZrstast_197(anchor));
			}
			goto LA38_;
			LA40_: ;
			{
				rstMessage__packagesZdocutilsZrst_2080((*s).filenames, (*s).msgHandler, (*n)._kind_7.info, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 11), refn);
			}
			LA38_: ;
		}
		LA32_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36):
	{
		tyTuple__NsOXiclpudEmVBDvfdmAhQ T45_;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType;
		NI num;
		T45_ = getFootnoteType__packagesZdocutilsZrst_4933((*n).sons->data[((NI) 0)]);
		fnType = T45_.Field0;
		num = T45_.Field1;
		switch (fnType) {
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
		{
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nn;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T53_;
			NimStringDesc* T54_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T55_;
			{
				NimStringDesc* labelR;
				if (!(fnType == ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2))) goto LA50_;
				labelR = rstnodeToRefname__packagesZdocutilsZrst_61((*n).sons->data[((NI) 0)]);
				num = getFootnoteNum__packagesZdocutilsZrst_3990(s, labelR);
			}
			goto LA48_;
			LA50_: ;
			{
				num = getFootnoteNum__packagesZdocutilsZrst_3998(s, (*n)._kind_6.order);
			}
			LA48_: ;
			T53_ = NIM_NIL;
			T53_ = NIM_NIL;
			nn = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T53_, ((NimStringDesc*) NIM_NIL));
			T54_ = NIM_NIL;
			T54_ = dollar___systemZdollars_3(num);
			T55_ = NIM_NIL;
			T55_ = newRstLeaf__packagesZdocutilsZrstast_197(T54_);
			add__packagesZdocutilsZrstast_206(nn, T55_);
			asgnRef((void**) (&(*result).sons->data[((NI) 0)]), nn);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
		{
			NimStringDesc* sym;
			NimStringDesc* T57_;
			sym = getAutoSymbol__packagesZdocutilsZrst_4006(s, (*n)._kind_6.order);
			T57_ = NIM_NIL;
			T57_ = (*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text; (*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text = copyStringRC1(sym);
			if (T57_) nimGCunrefNoCycle(T57_);
		}
		break;
		}
		asgnRef((void**) (&(*n).sons->data[((NI) 1)]), resolveSubs__packagesZdocutilsZrst_6831(s, (*n).sons->data[((NI) 1)]));
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 43):
	{
		tyTuple__NsOXiclpudEmVBDvfdmAhQ T59_;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType_2;
		NI num_2;
		NimStringDesc* refn_2;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T60_;
		NimStringDesc* anch;
		T59_ = getFootnoteType__packagesZdocutilsZrst_4933((*n).sons->data[((NI) 0)]);
		fnType_2 = T59_.Field0;
		num_2 = T59_.Field1;
		refn_2 = prefix__packagesZdocutilsZrst_6727(fnType_2);
		T60_ = NIM_NIL;
		T60_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 43), (*n)._kind_7.info, T60_);
		switch (fnType_2) {
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym530_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T62_;
			NimStringDesc* T63_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T64_;
			NimStringDesc* T65_;
			T62_ = NIM_NIL;
			T62_ = NIM_NIL;
			nnX60gensym530_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T62_, ((NimStringDesc*) NIM_NIL));
			T63_ = NIM_NIL;
			T63_ = dollar___systemZdollars_3(num_2);
			T64_ = NIM_NIL;
			T64_ = newRstLeaf__packagesZdocutilsZrstast_197(T63_);
			add__packagesZdocutilsZrstast_206(nnX60gensym530_, T64_);
			add__packagesZdocutilsZrstast_206(result, nnX60gensym530_);
			T65_ = NIM_NIL;
			T65_ = dollar___systemZdollars_3(num_2);
			refn_2 = resizeString(refn_2, (T65_ ? T65_->Sup.len : 0) + 0);
appendString(refn_2, T65_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym532_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T67_;
			NI T68_;
			NimStringDesc* T69_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T70_;
			NimStringDesc* T71_;
			(*s).currFootnoteNumRef += ((NI) 1);
			T67_ = NIM_NIL;
			T67_ = NIM_NIL;
			nnX60gensym532_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T67_, ((NimStringDesc*) NIM_NIL));
			T68_ = (NI)0;
			T68_ = getFootnoteNum__packagesZdocutilsZrst_3998(s, (*s).currFootnoteNumRef);
			T69_ = NIM_NIL;
			T69_ = dollar___systemZdollars_3(T68_);
			T70_ = NIM_NIL;
			T70_ = newRstLeaf__packagesZdocutilsZrstast_197(T69_);
			add__packagesZdocutilsZrstast_206(nnX60gensym532_, T70_);
			add__packagesZdocutilsZrstast_206(result, nnX60gensym532_);
			T71_ = NIM_NIL;
			T71_ = dollar___systemZdollars_3((*s).currFootnoteNumRef);
			refn_2 = resizeString(refn_2, (T71_ ? T71_->Sup.len : 0) + 0);
appendString(refn_2, T71_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym534_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T73_;
			NimStringDesc* T74_;
			NI T75_;
			NimStringDesc* T76_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T77_;
			NimStringDesc* T78_;
			T73_ = NIM_NIL;
			T73_ = NIM_NIL;
			nnX60gensym534_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T73_, ((NimStringDesc*) NIM_NIL));
			T74_ = NIM_NIL;
			T74_ = rstnodeToRefname__packagesZdocutilsZrst_61(n);
			T75_ = (NI)0;
			T75_ = getFootnoteNum__packagesZdocutilsZrst_3990(s, T74_);
			T76_ = NIM_NIL;
			T76_ = dollar___systemZdollars_3(T75_);
			T77_ = NIM_NIL;
			T77_ = newRstLeaf__packagesZdocutilsZrstast_197(T76_);
			add__packagesZdocutilsZrstast_206(nnX60gensym534_, T77_);
			add__packagesZdocutilsZrstast_206(result, nnX60gensym534_);
			T78_ = NIM_NIL;
			T78_ = rstnodeToRefname__packagesZdocutilsZrst_61(n);
			refn_2 = resizeString(refn_2, (T78_ ? T78_->Sup.len : 0) + 0);
appendString(refn_2, T78_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym536_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T80_;
			NimStringDesc* T81_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T82_;
			NimStringDesc* T83_;
			(*s).currFootnoteSymRef += ((NI) 1);
			T80_ = NIM_NIL;
			T80_ = NIM_NIL;
			nnX60gensym536_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T80_, ((NimStringDesc*) NIM_NIL));
			T81_ = NIM_NIL;
			T81_ = getAutoSymbol__packagesZdocutilsZrst_4006(s, (*s).currFootnoteSymRef);
			T82_ = NIM_NIL;
			T82_ = newRstLeaf__packagesZdocutilsZrstast_197(T81_);
			add__packagesZdocutilsZrstast_206(nnX60gensym536_, T82_);
			add__packagesZdocutilsZrstast_206(result, nnX60gensym536_);
			T83_ = NIM_NIL;
			T83_ = dollar___systemZdollars_3((*s).currFootnoteSymRef);
			refn_2 = resizeString(refn_2, (T83_ ? T83_->Sup.len : 0) + 0);
appendString(refn_2, T83_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
		{
			NimStringDesc* T85_;
			add__packagesZdocutilsZrstast_206(result, (*n).sons->data[((NI) 0)]);
			T85_ = NIM_NIL;
			T85_ = rstnodeToRefname__packagesZdocutilsZrst_61(n);
			refn_2 = resizeString(refn_2, (T85_ ? T85_->Sup.len : 0) + 0);
appendString(refn_2, T85_);
		}
		break;
		}
		anch = findMainAnchor__packagesZdocutilsZrst_2367(s, refn_2);
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T90_;
			if (!!(((anch ? anch->Sup.len : 0) == 0))) goto LA88_;
			T90_ = NIM_NIL;
			T90_ = newRstLeaf__packagesZdocutilsZrstast_197(anch);
			add__packagesZdocutilsZrstast_206(result, T90_);
		}
		goto LA86_;
		LA88_: ;
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T92_;
			rstMessage__packagesZdocutilsZrst_2080((*s).filenames, (*s).msgHandler, (*n)._kind_7.info, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 11), refn_2);
			T92_ = NIM_NIL;
			T92_ = newRstLeaf__packagesZdocutilsZrstast_197(refn_2);
			add__packagesZdocutilsZrstast_206(result, T92_);
		}
		LA86_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73):
	{
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 48):
	{
		(*s).hasToc = NIM_TRUE;
	}
	break;
	default:
	{
		NIM_BOOL regroup;
		regroup = NIM_FALSE;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__packagesZdocutilsZrstast_102(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA98;
					i = i_2;
					asgnRef((void**) (&(*n).sons->data[i]), resolveSubs__packagesZdocutilsZrst_6831(s, (*n).sons->data[i]));
					{
						NIM_BOOL T101_;
						T101_ = (NIM_BOOL)0;
						T101_ = !(((*n).sons->data[i] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
						if (!(T101_)) goto LA102_;
						T101_ = ((*(*n).sons->data[i]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36));
						LA102_: ;
						if (!T101_) goto LA103_;
						regroup = NIM_TRUE;
					}
					LA103_: ;
					i_2 += ((NI) 1);
				} LA98: ;
			}
		}
		{
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons;
			NI i_3;
			if (!regroup) goto LA107_;
			newSons = NIM_NIL;
			i_3 = ((NI) 0);
			{
				while (1) {
					NI T111_;
					T111_ = (NI)0;
					T111_ = len__packagesZdocutilsZrstast_102(n);
					if (!(i_3 < T111_)) goto LA110;
					{
						NIM_BOOL T114_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* grp;
						tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T118_;
						NI T125_;
						T114_ = (NIM_BOOL)0;
						T114_ = !(((*n).sons->data[i_3] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
						if (!(T114_)) goto LA115_;
						T114_ = ((*(*n).sons->data[i_3]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36));
						LA115_: ;
						if (!T114_) goto LA116_;
						T118_ = NIM_NIL;
						T118_ = NIM_NIL;
						grp = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 38), T118_, ((NimStringDesc*) NIM_NIL));
						{
							while (1) {
								NIM_BOOL T121_;
								NI T122_;
								NI T124_;
								T121_ = (NIM_BOOL)0;
								T122_ = (NI)0;
								T122_ = len__packagesZdocutilsZrstast_102(n);
								T121_ = (i_3 < T122_);
								if (!(T121_)) goto LA123_;
								T121_ = ((*(*n).sons->data[i_3]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36));
								LA123_: ;
								if (!T121_) goto LA120;
								asgnRef((void**) (&(*grp).sons), (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) incrSeqV3((TGenericSeq*)((*grp).sons), (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_)));
								T124_ = (*grp).sons->Sup.len++;
								asgnRef((void**) (&(*grp).sons->data[T124_]), (*n).sons->data[i_3]);
								i_3 += ((NI) 1);
							} LA120: ;
						}
						newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) incrSeqV3((TGenericSeq*)(newSons), (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
						T125_ = newSons->Sup.len++;
						asgnRef((void**) (&newSons->data[T125_]), grp);
					}
					goto LA112_;
					LA116_: ;
					{
						NI T127_;
						newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) incrSeqV3((TGenericSeq*)(newSons), (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
						T127_ = newSons->Sup.len++;
						asgnRef((void**) (&newSons->data[T127_]), (*n).sons->data[i_3]);
						i_3 += ((NI) 1);
					}
					LA112_: ;
				} LA110: ;
			}
			genericSeqAssign((&(*result).sons), newSons, (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
		}
		LA107_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getArgument__packagesZdocutilsZrst_68)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		if (!((*n).sons->data[((NI) 0)] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		result = ((NimStringDesc*) NIM_NIL);
	}
	goto LA1_;
	LA3_: ;
	{
		result = addNodes__packagesZdocutilsZrst_63((*n).sons->data[((NI) 0)]);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__packagesZdocutilsZrst_5226)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = addNodes__packagesZdocutilsZrst_63((*n).sons->data[((NI) 1)]);
	result = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_221);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatslibatspackagesatsdocutilsatsrstdotnim_DatInit000)(void) {
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_2_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_3_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_4_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_5_21[21];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_6_6[6];
NI TM__6mNpeIAN05DnDNzb9b3611A_8;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_7[6] = {
"roSupportSmilies", 
"roSupportRawDirective", 
"roSupportMarkdown", 
"roPreferMarkdown", 
"roNimFile", 
"roSandboxDisabled"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_9_4[4];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_10_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_11_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_12_5[5];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_13_5[5];
NI TM__6mNpeIAN05DnDNzb9b3611A_15;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_14[5] = {
"fnManualNumber", 
"fnAutoNumber", 
"fnAutoNumberLabel", 
"fnAutoSymbol", 
"fnCitation"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_29_16[16];
NI TM__6mNpeIAN05DnDNzb9b3611A_31;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_30[16] = {
"cannot open \'$1\'", 
"\'$1\' expected", 
"grid table is not implemented", 
"illformed delimiter row of a Markdown table", 
"new section expected $1", 
"general parse error", 
"invalid directive: \'$1\'", 
"invalid field: $1", 
"mismatch in number of footnotes and their refs: $1", 
"redefinition of label \'$1\'", 
"unknown substitution \'$1\'", 
"broken link \'$1\'", 
"language \'$1\' not supported", 
"field \'$1\' not supported", 
"RST style: $1", 
"disabled directive: \'$1\'"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_36_3[3];
NI TM__6mNpeIAN05DnDNzb9b3611A_38;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_37[3] = {
"Hint", 
"Warning", 
"Error"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_42_7[7];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_43_5[5];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_44_7[7];
NI TM__6mNpeIAN05DnDNzb9b3611A_46;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_45[7] = {
"tkEof", 
"tkIndent", 
"tkWhite", 
"tkWord", 
"tkAdornment", 
"tkPunct", 
"tkOther"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_47_7[7];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_238_3[3];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_253_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_261_6[6];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_266_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_276_2[2];
static TNimNode TM__6mNpeIAN05DnDNzb9b3611A_0[134];
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.kind = 18;
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_2_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[1];
TM__6mNpeIAN05DnDNzb9b3611A_0[1].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[1].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[1].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[1].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_2_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[2];
TM__6mNpeIAN05DnDNzb9b3611A_0[2].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[2].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[2].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[2].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_0[0].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[0].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[0].sons = &TM__6mNpeIAN05DnDNzb9b3611A_2_2[0];
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[0];
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.kind = 18;
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_3_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[4];
TM__6mNpeIAN05DnDNzb9b3611A_0[4].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[4].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[4].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[4].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_3_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[5];
TM__6mNpeIAN05DnDNzb9b3611A_0[5].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[5].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[5].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[5].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_0[3].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[3].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[3].sons = &TM__6mNpeIAN05DnDNzb9b3611A_3_2[0];
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[3];
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.size = sizeof(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ);
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.align = NIM_ALIGNOF(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ);
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.kind = 18;
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_4_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[7];
TM__6mNpeIAN05DnDNzb9b3611A_0[7].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[7].offset = offsetof(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ, filenameToIdx);
TM__6mNpeIAN05DnDNzb9b3611A_0[7].typ = (&NTItable__Ab4q9c36aMR4mtkEOIBzdzA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[7].name = "filenameToIdx";
TM__6mNpeIAN05DnDNzb9b3611A_4_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[8];
TM__6mNpeIAN05DnDNzb9b3611A_0[8].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[8].offset = offsetof(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ, idxToFilename);
TM__6mNpeIAN05DnDNzb9b3611A_0[8].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[8].name = "idxToFilename";
TM__6mNpeIAN05DnDNzb9b3611A_0[6].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[6].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[6].sons = &TM__6mNpeIAN05DnDNzb9b3611A_4_2[0];
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[6];
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.size = sizeof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA);
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.align = NIM_ALIGNOF(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA);
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.kind = 18;
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_5_21[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[10];
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.size = sizeof(tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.align = NIM_ALIGNOF(tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.kind = 14;
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.base = 0;
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_8 = 0; TM__6mNpeIAN05DnDNzb9b3611A_8 < 6; TM__6mNpeIAN05DnDNzb9b3611A_8++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11].offset = TM__6mNpeIAN05DnDNzb9b3611A_8;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11].name = TM__6mNpeIAN05DnDNzb9b3611A_7[TM__6mNpeIAN05DnDNzb9b3611A_8];
TM__6mNpeIAN05DnDNzb9b3611A_6_6[TM__6mNpeIAN05DnDNzb9b3611A_8] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[17].len = 6; TM__6mNpeIAN05DnDNzb9b3611A_0[17].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[17].sons = &TM__6mNpeIAN05DnDNzb9b3611A_6_6[0];
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[17];
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.size = sizeof(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.align = NIM_ALIGNOF(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.kind = 19;
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.base = (&NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_);
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.flags = 3;
TM__6mNpeIAN05DnDNzb9b3611A_0[18].len = 0; TM__6mNpeIAN05DnDNzb9b3611A_0[18].kind = 0;
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[18];
TM__6mNpeIAN05DnDNzb9b3611A_0[10].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[10].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, options);
TM__6mNpeIAN05DnDNzb9b3611A_0[10].typ = (&NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[10].name = "options";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[19];
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.size = sizeof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ);
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.align = NIM_ALIGNOF(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ);
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.kind = 18;
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.base = 0;
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.flags = 1;
TM__6mNpeIAN05DnDNzb9b3611A_9_4[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[21];
TM__6mNpeIAN05DnDNzb9b3611A_0[21].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[21].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, symbol);
TM__6mNpeIAN05DnDNzb9b3611A_0[21].typ = (&NTIchar__nmiMWKVIe46vacnhAFrQvw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[21].name = "symbol";
TM__6mNpeIAN05DnDNzb9b3611A_9_4[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[22];
TM__6mNpeIAN05DnDNzb9b3611A_0[22].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[22].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, hasOverline);
TM__6mNpeIAN05DnDNzb9b3611A_0[22].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[22].name = "hasOverline";
TM__6mNpeIAN05DnDNzb9b3611A_9_4[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[23];
TM__6mNpeIAN05DnDNzb9b3611A_0[23].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[23].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[23].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[23].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_9_4[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[24];
TM__6mNpeIAN05DnDNzb9b3611A_0[24].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[24].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, hasPeers);
TM__6mNpeIAN05DnDNzb9b3611A_0[24].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[24].name = "hasPeers";
TM__6mNpeIAN05DnDNzb9b3611A_0[20].len = 4; TM__6mNpeIAN05DnDNzb9b3611A_0[20].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[20].sons = &TM__6mNpeIAN05DnDNzb9b3611A_9_4[0];
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[20];
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.size = sizeof(tySequence__itU9cAYRNnSMU3pWsbVN4bA*);
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.align = NIM_ALIGNOF(tySequence__itU9cAYRNnSMU3pWsbVN4bA*);
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.kind = 24;
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.base = (&NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_);
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.marker = Marker_tySequence__itU9cAYRNnSMU3pWsbVN4bA;
TM__6mNpeIAN05DnDNzb9b3611A_0[19].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[19].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hLevels);
TM__6mNpeIAN05DnDNzb9b3611A_0[19].typ = (&NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[19].name = "hLevels";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[25];
TM__6mNpeIAN05DnDNzb9b3611A_0[25].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[25].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hTitleCnt);
TM__6mNpeIAN05DnDNzb9b3611A_0[25].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[25].name = "hTitleCnt";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[26];
TM__6mNpeIAN05DnDNzb9b3611A_0[26].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[26].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hCurLevel);
TM__6mNpeIAN05DnDNzb9b3611A_0[26].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[26].name = "hCurLevel";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[27];
TM__6mNpeIAN05DnDNzb9b3611A_0[27].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[27].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currRole);
TM__6mNpeIAN05DnDNzb9b3611A_0[27].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[27].name = "currRole";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[28];
TM__6mNpeIAN05DnDNzb9b3611A_0[28].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[28].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currRoleKind);
TM__6mNpeIAN05DnDNzb9b3611A_0[28].typ = (&NTIrstnodekind__DNoJcMFu9cjq4EGXsLl82CQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[28].name = "currRoleKind";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[6] = &TM__6mNpeIAN05DnDNzb9b3611A_0[29];
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.size = sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw);
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.align = NIM_ALIGNOF(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw);
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.kind = 18;
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_10_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[31];
TM__6mNpeIAN05DnDNzb9b3611A_0[31].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[31].offset = offsetof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw, key);
TM__6mNpeIAN05DnDNzb9b3611A_0[31].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[31].name = "key";
TM__6mNpeIAN05DnDNzb9b3611A_10_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[32];
TM__6mNpeIAN05DnDNzb9b3611A_0[32].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[32].offset = offsetof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw, value);
TM__6mNpeIAN05DnDNzb9b3611A_0[32].typ = (&NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[32].name = "value";
TM__6mNpeIAN05DnDNzb9b3611A_0[30].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[30].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[30].sons = &TM__6mNpeIAN05DnDNzb9b3611A_10_2[0];
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[30];
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.size = sizeof(tySequence__lrunEzM3UiMYKPLPCTNo0w*);
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.align = NIM_ALIGNOF(tySequence__lrunEzM3UiMYKPLPCTNo0w*);
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.kind = 24;
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.base = (&NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_);
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.marker = Marker_tySequence__lrunEzM3UiMYKPLPCTNo0w;
TM__6mNpeIAN05DnDNzb9b3611A_0[29].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[29].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, subs);
TM__6mNpeIAN05DnDNzb9b3611A_0[29].typ = (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_);
TM__6mNpeIAN05DnDNzb9b3611A_0[29].name = "subs";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[7] = &TM__6mNpeIAN05DnDNzb9b3611A_0[33];
TM__6mNpeIAN05DnDNzb9b3611A_0[33].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[33].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, refs);
TM__6mNpeIAN05DnDNzb9b3611A_0[33].typ = (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_);
TM__6mNpeIAN05DnDNzb9b3611A_0[33].name = "refs";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[8] = &TM__6mNpeIAN05DnDNzb9b3611A_0[34];
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.size = sizeof(tyTuple__wOvXi5VibnCNgN9buQRQD4A);
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.align = NIM_ALIGNOF(tyTuple__wOvXi5VibnCNgN9buQRQD4A);
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.kind = 18;
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_11_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[36];
TM__6mNpeIAN05DnDNzb9b3611A_0[36].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[36].offset = offsetof(tyTuple__wOvXi5VibnCNgN9buQRQD4A, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[36].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[36].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_11_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[37];
TM__6mNpeIAN05DnDNzb9b3611A_0[37].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[37].offset = offsetof(tyTuple__wOvXi5VibnCNgN9buQRQD4A, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[37].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[37].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_0[35].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[35].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[35].sons = &TM__6mNpeIAN05DnDNzb9b3611A_11_2[0];
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[35];
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.size = sizeof(tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*);
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.align = NIM_ALIGNOF(tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*);
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.kind = 24;
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.base = (&NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_);
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.marker = Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA;
TM__6mNpeIAN05DnDNzb9b3611A_0[34].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[34].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, anchors);
TM__6mNpeIAN05DnDNzb9b3611A_0[34].typ = (&NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[34].name = "anchors";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[9] = &TM__6mNpeIAN05DnDNzb9b3611A_0[38];
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.size = sizeof(tySequence__SugKu9bev7GtgZTDZMD2xgw*);
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.align = NIM_ALIGNOF(tySequence__SugKu9bev7GtgZTDZMD2xgw*);
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.kind = 24;
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.base = (&NTItlineinfo__LpCBEHcAwE2yCs4l9cD1BOA_);
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.marker = Marker_tySequence__SugKu9bev7GtgZTDZMD2xgw;
TM__6mNpeIAN05DnDNzb9b3611A_0[38].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[38].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteNum);
TM__6mNpeIAN05DnDNzb9b3611A_0[38].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[38].name = "lineFootnoteNum";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[10] = &TM__6mNpeIAN05DnDNzb9b3611A_0[39];
TM__6mNpeIAN05DnDNzb9b3611A_0[39].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[39].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteNumRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[39].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[39].name = "lineFootnoteNumRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[11] = &TM__6mNpeIAN05DnDNzb9b3611A_0[40];
TM__6mNpeIAN05DnDNzb9b3611A_0[40].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[40].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currFootnoteNumRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[40].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[40].name = "currFootnoteNumRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[12] = &TM__6mNpeIAN05DnDNzb9b3611A_0[41];
TM__6mNpeIAN05DnDNzb9b3611A_0[41].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[41].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteSym);
TM__6mNpeIAN05DnDNzb9b3611A_0[41].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[41].name = "lineFootnoteSym";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[13] = &TM__6mNpeIAN05DnDNzb9b3611A_0[42];
TM__6mNpeIAN05DnDNzb9b3611A_0[42].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[42].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteSymRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[42].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[42].name = "lineFootnoteSymRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[14] = &TM__6mNpeIAN05DnDNzb9b3611A_0[43];
TM__6mNpeIAN05DnDNzb9b3611A_0[43].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[43].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currFootnoteSymRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[43].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[43].name = "currFootnoteSymRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[15] = &TM__6mNpeIAN05DnDNzb9b3611A_0[44];
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.size = sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw);
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.align = NIM_ALIGNOF(tyTuple__msoRFpgv3EcbLwCh9arSpYw);
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.kind = 18;
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_12_5[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[46];
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.size = sizeof(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA);
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.align = NIM_ALIGNOF(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA);
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.kind = 14;
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.base = 0;
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_15 = 0; TM__6mNpeIAN05DnDNzb9b3611A_15 < 5; TM__6mNpeIAN05DnDNzb9b3611A_15++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+47].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+47].offset = TM__6mNpeIAN05DnDNzb9b3611A_15;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+47].name = TM__6mNpeIAN05DnDNzb9b3611A_14[TM__6mNpeIAN05DnDNzb9b3611A_15];
TM__6mNpeIAN05DnDNzb9b3611A_13_5[TM__6mNpeIAN05DnDNzb9b3611A_15] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+47];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[52].len = 5; TM__6mNpeIAN05DnDNzb9b3611A_0[52].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[52].sons = &TM__6mNpeIAN05DnDNzb9b3611A_13_5[0];
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[52];
TM__6mNpeIAN05DnDNzb9b3611A_0[46].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[46].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[46].typ = (&NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[46].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[53];
TM__6mNpeIAN05DnDNzb9b3611A_0[53].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[53].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[53].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[53].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[54];
TM__6mNpeIAN05DnDNzb9b3611A_0[54].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[54].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field2);
TM__6mNpeIAN05DnDNzb9b3611A_0[54].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[54].name = "Field2";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[55];
TM__6mNpeIAN05DnDNzb9b3611A_0[55].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[55].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field3);
TM__6mNpeIAN05DnDNzb9b3611A_0[55].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[55].name = "Field3";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[56];
TM__6mNpeIAN05DnDNzb9b3611A_0[56].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[56].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field4);
TM__6mNpeIAN05DnDNzb9b3611A_0[56].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[56].name = "Field4";
TM__6mNpeIAN05DnDNzb9b3611A_0[45].len = 5; TM__6mNpeIAN05DnDNzb9b3611A_0[45].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[45].sons = &TM__6mNpeIAN05DnDNzb9b3611A_12_5[0];
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[45];
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.size = sizeof(tySequence__59axsmyJq9bYh2MONDvuwAkA*);
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.align = NIM_ALIGNOF(tySequence__59axsmyJq9bYh2MONDvuwAkA*);
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.kind = 24;
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.base = (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_);
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.marker = Marker_tySequence__59axsmyJq9bYh2MONDvuwAkA;
TM__6mNpeIAN05DnDNzb9b3611A_0[44].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[44].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, footnotes);
TM__6mNpeIAN05DnDNzb9b3611A_0[44].typ = (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[44].name = "footnotes";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[16] = &TM__6mNpeIAN05DnDNzb9b3611A_0[57];
TM__6mNpeIAN05DnDNzb9b3611A_0[57].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[57].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, msgHandler);
TM__6mNpeIAN05DnDNzb9b3611A_0[57].typ = (&NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[57].name = "msgHandler";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[17] = &TM__6mNpeIAN05DnDNzb9b3611A_0[58];
TM__6mNpeIAN05DnDNzb9b3611A_0[58].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[58].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, findFile);
TM__6mNpeIAN05DnDNzb9b3611A_0[58].typ = (&NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[58].name = "findFile";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[18] = &TM__6mNpeIAN05DnDNzb9b3611A_0[59];
TM__6mNpeIAN05DnDNzb9b3611A_0[59].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[59].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, filenames);
TM__6mNpeIAN05DnDNzb9b3611A_0[59].typ = (&NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[59].name = "filenames";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[19] = &TM__6mNpeIAN05DnDNzb9b3611A_0[60];
TM__6mNpeIAN05DnDNzb9b3611A_0[60].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[60].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currFileIdx);
TM__6mNpeIAN05DnDNzb9b3611A_0[60].typ = (&NTIint5150__sVg18TP9cLifHyygRe9cro9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[60].name = "currFileIdx";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[20] = &TM__6mNpeIAN05DnDNzb9b3611A_0[61];
TM__6mNpeIAN05DnDNzb9b3611A_0[61].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[61].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hasToc);
TM__6mNpeIAN05DnDNzb9b3611A_0[61].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[61].name = "hasToc";
TM__6mNpeIAN05DnDNzb9b3611A_0[9].len = 21; TM__6mNpeIAN05DnDNzb9b3611A_0[9].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[9].sons = &TM__6mNpeIAN05DnDNzb9b3611A_5_21[0];
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[9];
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.size = sizeof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*);
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.align = NIM_ALIGNOF(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*);
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.kind = 22;
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.base = (&NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_);
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.marker = Marker_tyRef__YXv0Ic1rfmWevYoin4lGYw;
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.size = sizeof(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ);
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.align = NIM_ALIGNOF(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ);
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.kind = 14;
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.base = 0;
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_31 = 0; TM__6mNpeIAN05DnDNzb9b3611A_31 < 16; TM__6mNpeIAN05DnDNzb9b3611A_31++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_31+62].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_31+62].offset = TM__6mNpeIAN05DnDNzb9b3611A_31;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_31+62].name = TM__6mNpeIAN05DnDNzb9b3611A_30[TM__6mNpeIAN05DnDNzb9b3611A_31];
TM__6mNpeIAN05DnDNzb9b3611A_29_16[TM__6mNpeIAN05DnDNzb9b3611A_31] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_31+62];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[78].len = 16; TM__6mNpeIAN05DnDNzb9b3611A_0[78].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[78].sons = &TM__6mNpeIAN05DnDNzb9b3611A_29_16[0];
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[78];
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.size = sizeof(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw);
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.align = NIM_ALIGNOF(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw);
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.kind = 14;
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.base = 0;
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_38 = 0; TM__6mNpeIAN05DnDNzb9b3611A_38 < 3; TM__6mNpeIAN05DnDNzb9b3611A_38++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_38+79].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_38+79].offset = TM__6mNpeIAN05DnDNzb9b3611A_38;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_38+79].name = TM__6mNpeIAN05DnDNzb9b3611A_37[TM__6mNpeIAN05DnDNzb9b3611A_38];
TM__6mNpeIAN05DnDNzb9b3611A_36_3[TM__6mNpeIAN05DnDNzb9b3611A_38] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_38+79];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[82].len = 3; TM__6mNpeIAN05DnDNzb9b3611A_0[82].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[82].sons = &TM__6mNpeIAN05DnDNzb9b3611A_36_3[0];
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[82];
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.size = sizeof(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ);
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.align = NIM_ALIGNOF(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ);
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.kind = 17;
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[83].len = 0; TM__6mNpeIAN05DnDNzb9b3611A_0[83].kind = 2;
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[83];
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.size = sizeof(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*);
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.align = NIM_ALIGNOF(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*);
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.kind = 22;
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.base = (&NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_);
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.marker = Marker_tyRef__xgJp9cP2o0GzZPEVyPQDpKA;
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.size = sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ);
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.align = NIM_ALIGNOF(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ);
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.kind = 17;
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_42_7[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[85];
TM__6mNpeIAN05DnDNzb9b3611A_0[85].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[85].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, idx);
TM__6mNpeIAN05DnDNzb9b3611A_0[85].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[85].name = "idx";
TM__6mNpeIAN05DnDNzb9b3611A_42_7[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[86];
NTItoken__E0ilHwDrlCLqd7buwAkizA_.size = sizeof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA);
NTItoken__E0ilHwDrlCLqd7buwAkizA_.align = NIM_ALIGNOF(tyObject_Token__E0ilHwDrlCLqd7buwAkizA);
NTItoken__E0ilHwDrlCLqd7buwAkizA_.kind = 18;
NTItoken__E0ilHwDrlCLqd7buwAkizA_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_43_5[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[88];
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.size = sizeof(tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA);
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.align = NIM_ALIGNOF(tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA);
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.kind = 14;
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.base = 0;
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_46 = 0; TM__6mNpeIAN05DnDNzb9b3611A_46 < 7; TM__6mNpeIAN05DnDNzb9b3611A_46++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+89].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+89].offset = TM__6mNpeIAN05DnDNzb9b3611A_46;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+89].name = TM__6mNpeIAN05DnDNzb9b3611A_45[TM__6mNpeIAN05DnDNzb9b3611A_46];
TM__6mNpeIAN05DnDNzb9b3611A_44_7[TM__6mNpeIAN05DnDNzb9b3611A_46] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+89];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[96].len = 7; TM__6mNpeIAN05DnDNzb9b3611A_0[96].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[96].sons = &TM__6mNpeIAN05DnDNzb9b3611A_44_7[0];
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[96];
TM__6mNpeIAN05DnDNzb9b3611A_0[88].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[88].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, kind);
TM__6mNpeIAN05DnDNzb9b3611A_0[88].typ = (&NTItoktype__UY24uyT9bUilTKVVPqpgQjA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[88].name = "kind";
TM__6mNpeIAN05DnDNzb9b3611A_43_5[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[97];
TM__6mNpeIAN05DnDNzb9b3611A_0[97].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[97].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, ival);
TM__6mNpeIAN05DnDNzb9b3611A_0[97].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[97].name = "ival";
TM__6mNpeIAN05DnDNzb9b3611A_43_5[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[98];
TM__6mNpeIAN05DnDNzb9b3611A_0[98].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[98].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, symbol);
TM__6mNpeIAN05DnDNzb9b3611A_0[98].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[98].name = "symbol";
TM__6mNpeIAN05DnDNzb9b3611A_43_5[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[99];
TM__6mNpeIAN05DnDNzb9b3611A_0[99].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[99].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[99].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[99].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_43_5[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[100];
TM__6mNpeIAN05DnDNzb9b3611A_0[100].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[100].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, col);
TM__6mNpeIAN05DnDNzb9b3611A_0[100].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[100].name = "col";
TM__6mNpeIAN05DnDNzb9b3611A_0[87].len = 5; TM__6mNpeIAN05DnDNzb9b3611A_0[87].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[87].sons = &TM__6mNpeIAN05DnDNzb9b3611A_43_5[0];
NTItoken__E0ilHwDrlCLqd7buwAkizA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[87];
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.size = sizeof(tySequence__HsIBrWWNKBMO7j6datX5Dw*);
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.align = NIM_ALIGNOF(tySequence__HsIBrWWNKBMO7j6datX5Dw*);
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.kind = 24;
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.base = (&NTItoken__E0ilHwDrlCLqd7buwAkizA_);
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.marker = Marker_tySequence__HsIBrWWNKBMO7j6datX5Dw;
TM__6mNpeIAN05DnDNzb9b3611A_0[86].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[86].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, tok);
TM__6mNpeIAN05DnDNzb9b3611A_0[86].typ = (&NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[86].name = "tok";
TM__6mNpeIAN05DnDNzb9b3611A_42_7[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[101];
TM__6mNpeIAN05DnDNzb9b3611A_0[101].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[101].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, s);
TM__6mNpeIAN05DnDNzb9b3611A_0[101].typ = (&NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[101].name = "s";
TM__6mNpeIAN05DnDNzb9b3611A_42_7[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[102];
TM__6mNpeIAN05DnDNzb9b3611A_0[102].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[102].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, indentStack);
TM__6mNpeIAN05DnDNzb9b3611A_0[102].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
TM__6mNpeIAN05DnDNzb9b3611A_0[102].name = "indentStack";
TM__6mNpeIAN05DnDNzb9b3611A_42_7[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[103];
TM__6mNpeIAN05DnDNzb9b3611A_0[103].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[103].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[103].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[103].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_42_7[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[104];
TM__6mNpeIAN05DnDNzb9b3611A_0[104].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[104].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, col);
TM__6mNpeIAN05DnDNzb9b3611A_0[104].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[104].name = "col";
TM__6mNpeIAN05DnDNzb9b3611A_42_7[6] = &TM__6mNpeIAN05DnDNzb9b3611A_0[105];
TM__6mNpeIAN05DnDNzb9b3611A_0[105].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[105].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, curAnchor);
TM__6mNpeIAN05DnDNzb9b3611A_0[105].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[105].name = "curAnchor";
TM__6mNpeIAN05DnDNzb9b3611A_0[84].len = 7; TM__6mNpeIAN05DnDNzb9b3611A_0[84].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[84].sons = &TM__6mNpeIAN05DnDNzb9b3611A_42_7[0];
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[84];
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.size = sizeof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA);
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.align = NIM_ALIGNOF(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA);
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.kind = 17;
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.flags = 1;
TM__6mNpeIAN05DnDNzb9b3611A_47_7[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[107];
TM__6mNpeIAN05DnDNzb9b3611A_0[107].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[107].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, buf);
TM__6mNpeIAN05DnDNzb9b3611A_0[107].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[107].name = "buf";
TM__6mNpeIAN05DnDNzb9b3611A_47_7[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[108];
TM__6mNpeIAN05DnDNzb9b3611A_0[108].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[108].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, bufpos);
TM__6mNpeIAN05DnDNzb9b3611A_0[108].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[108].name = "bufpos";
TM__6mNpeIAN05DnDNzb9b3611A_47_7[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[109];
TM__6mNpeIAN05DnDNzb9b3611A_0[109].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[109].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[109].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[109].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_47_7[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[110];
TM__6mNpeIAN05DnDNzb9b3611A_0[110].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[110].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, col);
TM__6mNpeIAN05DnDNzb9b3611A_0[110].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[110].name = "col";
TM__6mNpeIAN05DnDNzb9b3611A_47_7[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[111];
TM__6mNpeIAN05DnDNzb9b3611A_0[111].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[111].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, baseIndent);
TM__6mNpeIAN05DnDNzb9b3611A_0[111].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[111].name = "baseIndent";
TM__6mNpeIAN05DnDNzb9b3611A_47_7[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[112];
TM__6mNpeIAN05DnDNzb9b3611A_0[112].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[112].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, adornmentLine);
TM__6mNpeIAN05DnDNzb9b3611A_0[112].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[112].name = "adornmentLine";
TM__6mNpeIAN05DnDNzb9b3611A_47_7[6] = &TM__6mNpeIAN05DnDNzb9b3611A_0[113];
TM__6mNpeIAN05DnDNzb9b3611A_0[113].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[113].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, escapeNext);
TM__6mNpeIAN05DnDNzb9b3611A_0[113].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[113].name = "escapeNext";
TM__6mNpeIAN05DnDNzb9b3611A_0[106].len = 7; TM__6mNpeIAN05DnDNzb9b3611A_0[106].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[106].sons = &TM__6mNpeIAN05DnDNzb9b3611A_47_7[0];
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[106];
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.size = sizeof(tySequence__lBgZ7a89beZGYPl8PiANMTA*);
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.align = NIM_ALIGNOF(tySequence__lBgZ7a89beZGYPl8PiANMTA*);
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.kind = 24;
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.base = (&NTIchar__nmiMWKVIe46vacnhAFrQvw_);
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.marker = Marker_tySequence__lBgZ7a89beZGYPl8PiANMTA;
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.size = sizeof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ);
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ);
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.kind = 17;
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.flags = 1;
TM__6mNpeIAN05DnDNzb9b3611A_238_3[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[115];
TM__6mNpeIAN05DnDNzb9b3611A_0[115].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[115].offset = offsetof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[115].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[115].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_238_3[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[116];
TM__6mNpeIAN05DnDNzb9b3611A_0[116].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[116].offset = offsetof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ, w1);
TM__6mNpeIAN05DnDNzb9b3611A_0[116].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[116].name = "w1";
TM__6mNpeIAN05DnDNzb9b3611A_238_3[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[117];
TM__6mNpeIAN05DnDNzb9b3611A_0[117].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[117].offset = offsetof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ, col2);
TM__6mNpeIAN05DnDNzb9b3611A_0[117].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[117].name = "col2";
TM__6mNpeIAN05DnDNzb9b3611A_0[114].len = 3; TM__6mNpeIAN05DnDNzb9b3611A_0[114].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[114].sons = &TM__6mNpeIAN05DnDNzb9b3611A_238_3[0];
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[114];
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.size = sizeof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*);
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*);
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.kind = 22;
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.base = (&NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_);
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.marker = Marker_tyRef__txefaw5zpc9a9a6GUuV9bJj9cg;
NTIobject__crlV1WNGeShngwIuNh2Hdg_.size = sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg);
NTIobject__crlV1WNGeShngwIuNh2Hdg_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg);
NTIobject__crlV1WNGeShngwIuNh2Hdg_.kind = 17;
NTIobject__crlV1WNGeShngwIuNh2Hdg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_253_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[119];
TM__6mNpeIAN05DnDNzb9b3611A_0[119].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[119].offset = offsetof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[119].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[119].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_253_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[120];
TM__6mNpeIAN05DnDNzb9b3611A_0[120].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[120].offset = offsetof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg, p1);
TM__6mNpeIAN05DnDNzb9b3611A_0[120].typ = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[120].name = "p1";
TM__6mNpeIAN05DnDNzb9b3611A_0[118].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[118].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[118].sons = &TM__6mNpeIAN05DnDNzb9b3611A_253_2[0];
NTIobject__crlV1WNGeShngwIuNh2Hdg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[118];
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.size = sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*);
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*);
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.kind = 22;
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.base = (&NTIobject__crlV1WNGeShngwIuNh2Hdg_);
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.marker = Marker_tyRef__bHTrQBnWrTGWBsx8uFfYsw;
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.size = sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ);
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ);
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.kind = 17;
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_261_6[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[122];
TM__6mNpeIAN05DnDNzb9b3611A_0[122].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[122].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[122].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[122].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_261_6[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[123];
TM__6mNpeIAN05DnDNzb9b3611A_0[123].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[123].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, row1);
TM__6mNpeIAN05DnDNzb9b3611A_0[123].typ = (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[123].name = "row1";
TM__6mNpeIAN05DnDNzb9b3611A_261_6[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[124];
TM__6mNpeIAN05DnDNzb9b3611A_0[124].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[124].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, colNum2);
TM__6mNpeIAN05DnDNzb9b3611A_0[124].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[124].name = "colNum2";
TM__6mNpeIAN05DnDNzb9b3611A_261_6[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[125];
TM__6mNpeIAN05DnDNzb9b3611A_0[125].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[125].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, a3);
TM__6mNpeIAN05DnDNzb9b3611A_0[125].typ = (&NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[125].name = "a3";
TM__6mNpeIAN05DnDNzb9b3611A_261_6[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[126];
TM__6mNpeIAN05DnDNzb9b3611A_0[126].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[126].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, b4);
TM__6mNpeIAN05DnDNzb9b3611A_0[126].typ = (&NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[126].name = "b4";
TM__6mNpeIAN05DnDNzb9b3611A_261_6[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[127];
TM__6mNpeIAN05DnDNzb9b3611A_0[127].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[127].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, q5);
TM__6mNpeIAN05DnDNzb9b3611A_0[127].typ = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[127].name = "q5";
TM__6mNpeIAN05DnDNzb9b3611A_0[121].len = 6; TM__6mNpeIAN05DnDNzb9b3611A_0[121].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[121].sons = &TM__6mNpeIAN05DnDNzb9b3611A_261_6[0];
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[121];
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.size = sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*);
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*);
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.kind = 22;
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.base = (&NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_);
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.marker = Marker_tyRef__fDLYSKIpVlcMcN8u8wR00Q;
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.size = sizeof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ);
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ);
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.kind = 17;
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_266_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[129];
TM__6mNpeIAN05DnDNzb9b3611A_0[129].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[129].offset = offsetof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[129].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[129].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_266_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[130];
TM__6mNpeIAN05DnDNzb9b3611A_0[130].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[130].offset = offsetof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ, s1);
TM__6mNpeIAN05DnDNzb9b3611A_0[130].typ = (&NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[130].name = "s1";
TM__6mNpeIAN05DnDNzb9b3611A_0[128].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[128].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[128].sons = &TM__6mNpeIAN05DnDNzb9b3611A_266_2[0];
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[128];
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.size = sizeof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*);
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*);
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.kind = 22;
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.base = (&NTIobject__dSbgko9cUbNv6KjiW415IXQ_);
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.marker = Marker_tyRef__ZdwpLvn9cTLhGj4hnaTCvbw;
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.size = sizeof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q);
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.align = NIM_ALIGNOF(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q);
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.kind = 18;
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_276_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[132];
TM__6mNpeIAN05DnDNzb9b3611A_0[132].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[132].offset = offsetof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q, next);
TM__6mNpeIAN05DnDNzb9b3611A_0[132].typ = (&NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[132].name = "next";
TM__6mNpeIAN05DnDNzb9b3611A_276_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[133];
TM__6mNpeIAN05DnDNzb9b3611A_0[133].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[133].offset = offsetof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q, value);
TM__6mNpeIAN05DnDNzb9b3611A_0[133].typ = (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[133].name = "value";
TM__6mNpeIAN05DnDNzb9b3611A_0[131].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[131].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[131].sons = &TM__6mNpeIAN05DnDNzb9b3611A_276_2[0];
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[131];
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.size = sizeof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*);
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.align = NIM_ALIGNOF(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*);
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.kind = 22;
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.base = (&NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_);
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.marker = Marker_tyRef__KYNyCmO27XWAAJ4AB4n9aQQ;
}

