/* Generated by Nim Compiler v1.6.14 */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#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__JJYG5kijP4PSa5F9a7da5tw tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw;
typedef struct tyObject_Table__9cHFtxtpgztIcDsypRz9byKw tyObject_Table__9cHFtxtpgztIcDsypRz9byKw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA;
typedef struct tySequence__7EPs9bALtRDoJ5HKNxchjbQ tySequence__7EPs9bALtRDoJ5HKNxchjbQ;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__7HTk34lAlArJP89aG2XjZEA tySequence__7HTk34lAlArJP89aG2XjZEA;
typedef struct tySequence__29caZmiPrO6d9cg0Ucdm9bdAA tySequence__29caZmiPrO6d9cg0Ucdm9bdAA;
typedef struct tySequence__axx1LQ9awiGkP3NNnW2X9cOQ tySequence__axx1LQ9awiGkP3NNnW2X9cOQ;
typedef struct tySequence__YYKlUlCjbni3i58WM0kegw tySequence__YYKlUlCjbni3i58WM0kegw;
typedef struct tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ;
typedef struct tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ;
typedef struct tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ;
typedef struct tyTuple__wOvXi5VibnCNgN9buQRQD4A tyTuple__wOvXi5VibnCNgN9buQRQD4A;
typedef struct tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA;
typedef struct tyTuple__KPVKrfx82Va9azSnb0dl1RQ tyTuple__KPVKrfx82Va9azSnb0dl1RQ;
typedef struct tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g;
typedef struct tyObject_CellSeq__nav876ELHgxScHhs30CKiA tyObject_CellSeq__nav876ELHgxScHhs30CKiA;
typedef struct tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ;
typedef struct tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ;
typedef struct tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ;
typedef struct tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw;
typedef struct tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA;
typedef struct tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA;
typedef struct tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A;
typedef struct tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg;
typedef struct tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw;
typedef struct tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw;
typedef struct tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA;
typedef struct tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg;
typedef struct tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA;
typedef struct tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ;
typedef struct tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg;
typedef struct tyObject_ValueError__5lcTdgqMq62cNGRwBb0thA tyObject_ValueError__5lcTdgqMq62cNGRwBb0thA;
typedef struct tyObject_CatchableError__8K3kdpxrBD9aI27J0kpSCpQ tyObject_CatchableError__8K3kdpxrBD9aI27J0kpSCpQ;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__QbmGqFaLnb1IWWToREeaIA tySequence__QbmGqFaLnb1IWWToREeaIA;
typedef struct tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw;
typedef struct tySequence__ChL1roantEj1qq0e0XXJZw tySequence__ChL1roantEj1qq0e0XXJZw;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ;
typedef struct tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w;
typedef struct tySequence__jo4WO9beNiWGoaKRjSrOMJQ tySequence__jo4WO9beNiWGoaKRjSrOMJQ;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw;
typedef struct tySequence__lBgZ7a89beZGYPl8PiANMTA tySequence__lBgZ7a89beZGYPl8PiANMTA;
typedef struct tyTuple__rVoGvR7ILGzTjPxMLwukPg tyTuple__rVoGvR7ILGzTjPxMLwukPg;
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___5x5eh9bp2LV0X9cbFXuaecCA tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA;
typedef struct tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA;
typedef struct tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q;
typedef struct tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_StackTraceEntry__3r2E7OgmrW3VdUTaooCuyA tyObject_StackTraceEntry__3r2E7OgmrW3VdUTaooCuyA;
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_rstdotnim_rst___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_TNimKind__pspQAsqJLrw3jEKBD9bxmyQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__Yt5hq6z2IoHhKZrzIVrc1w;
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__pspQAsqJLrw3jEKBD9bxmyQ kind;
tySet_tyEnum_TNimTypeFlag__Yt5hq6z2IoHhKZrzIVrc1w flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__rrp49bl1h9aEkXfXp9bNg0yZw;
struct TNimNode {
tyEnum_TNimNodeKind__rrp49bl1h9aEkXfXp9bNg0yZw kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Table__9cHFtxtpgztIcDsypRz9byKw {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw {
tyObject_Table__9cHFtxtpgztIcDsypRz9byKw filenameToIdx;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* idxToFilename;
};
typedef NU8 tySet_tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg;
typedef NU8 tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc__gd6fvPtd9aVRsRjs9bLyzE9bQ;
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* filename, void* ClE_0);
void* ClE_0;
} tyProc__oFHfEKFsiYTMAy9a42cSiKw;
struct tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA {
tySet_tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g options;
tySequence__7EPs9bALtRDoJ5HKNxchjbQ* hLevels;
NI hTitleCnt;
NI hCurLevel;
NimStringDesc* currRole;
tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg currRoleKind;
tySequence__7HTk34lAlArJP89aG2XjZEA* subs;
tySequence__7HTk34lAlArJP89aG2XjZEA* refs;
tySequence__29caZmiPrO6d9cg0Ucdm9bdAA* anchors;
tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* lineFootnoteNum;
tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* lineFootnoteNumRef;
NI currFootnoteNumRef;
tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* lineFootnoteSym;
tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* lineFootnoteSymRef;
NI currFootnoteSymRef;
tySequence__YYKlUlCjbni3i58WM0kegw* footnotes;
tyProc__gd6fvPtd9aVRsRjs9bLyzE9bQ msgHandler;
tyProc__oFHfEKFsiYTMAy9a42cSiKw findFile;
tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw filenames;
NI32 currFileIdx;
NIM_BOOL hasToc;
};
typedef NU8 tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g;
struct tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ {
NIM_CHAR symbol;
NIM_BOOL hasOverline;
NI line;
NIM_BOOL hasPeers;
};
struct tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ {
NimStringDesc* key;
tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* value;
};
struct tyTuple__wOvXi5VibnCNgN9buQRQD4A {
NimStringDesc* Field0;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* Field1;
};
struct tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ;
struct tyTuple__KPVKrfx82Va9azSnb0dl1RQ {
tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ Field0;
NI Field1;
NI Field2;
NI Field3;
NimStringDesc* Field4;
};
struct tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ {
void* bottom;
};
struct tyObject_CellSeq__nav876ELHgxScHhs30CKiA {
NI len;
NI cap;
tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g** d;
};
typedef tyObject_SmallChunk__eUrTKmsk1Dqt5tm2WUT2Lw* tyArray__1eFxjkcKGHnofywkmCV8oQ[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA* tyArray__KxTmKT9a3kTkdwYfqXhEYSw[32];
typedef tyArray__KxTmKT9a3kTkdwYfqXhEYSw tyArray__ATT5LBefmjy9bg8ApRmg3rw[24];
typedef tyObject_Trunk__Ju1AURWHenTn3cJwAjbUhg* tyArray__RxhBwkGQwTHLKhoK685Xfg[256];
struct tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A {
tyArray__RxhBwkGQwTHLKhoK685Xfg data;
};
typedef tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* tyArray__DrxDrI9bg9apB70ydOoNZrWw[2];
struct tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw {
tyArray__DrxDrI9bg9apB70ydOoNZrWw link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA {
tyObject_BigChunk__39bC3HTk2w4NGDjG74oNjmA* Field0;
NI Field1;
};
typedef tyTuple__p2vAp9cQ6YrpDq9cI3XzEDWA tyArray__wsokuoa9bVBSU4gPLKbFaaw[30];
struct tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw {
NI len;
tyArray__wsokuoa9bVBSU4gPLKbFaaw chunks;
tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw* next;
};
struct tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ {
NI minLargeObj;
NI maxLargeObj;
tyArray__1eFxjkcKGHnofywkmCV8oQ freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__ATT5LBefmjy9bg8ApRmg3rw matrix;
tyObject_LLChunk__Fjkr5Ya6Zl0UoUGxG047hA* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__WrQriiGmHk59cB1lNPtGo6A chunkStarts;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* root;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* deleted;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* last;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__aGkK1t9a0WoXjpugXR6FWpw bottomData;
tyObject_HeapLinks__5IkCDh5QlsYpsfEMJf6zNw heapLinks;
};
struct tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA {
NI counter;
NI max;
tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ* head;
tyObject_PageDesc__N7tjEodqPVJaQ6oKQW8YfQ** data;
};
struct tyObject_GcHeap__ZRn9bWCksoiGwT2drZZzyWQ {
tyObject_GcStack__qFeGMKlnq6c9cTM2vPWycQQ stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA zct;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA decStack;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA tempStack;
NI recGcLock;
tyObject_MemRegion__6QRscFDo4mEwbg9aL76vDGQ region;
tyObject_GcStat__OG9ams3mtFJyICkjTOHbc9bg stat;
tyObject_CellSet__A0mJvGLunfUxGkLUtesjdA marked;
tyObject_CellSeq__nav876ELHgxScHhs30CKiA additionalRoots;
NI gcThreadId;
};
typedef NU8 tyEnum_SourceLanguage__caWYuN9aCrrNgLAxHN3okug;
typedef NU8 tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA;
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
struct RootObj {
TNimType* m_type;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__QbmGqFaLnb1IWWToREeaIA* trace;
Exception* up;
};
struct tyObject_CatchableError__8K3kdpxrBD9aI27J0kpSCpQ {
  Exception Sup;
};
struct tyObject_ValueError__5lcTdgqMq62cNGRwBb0thA {
  tyObject_CatchableError__8K3kdpxrBD9aI27J0kpSCpQ Sup;
};
struct tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg {
  tyObject_ValueError__5lcTdgqMq62cNGRwBb0thA Sup;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_40) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg, void* ClE_0);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_41) (NimStringDesc* filename, void* ClE_0);
struct tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw {
  RootObj Sup;
NI idx;
tySequence__ChL1roantEj1qq0e0XXJZw* tok;
tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s;
tySequence__qwqHTkRvwhrRyENtudHQ7g* indentStack;
NI line;
NI col;
NimStringDesc* curAnchor;
};
typedef NU8 tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg;
struct tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ {
tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg kind;
NI ival;
NimStringDesc* symbol;
NI line;
NI col;
};
struct tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w {
  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__o7Mf73b09cQpxU9cdK19aKkqQ {
tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg 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__AUK89aIO9ccPtw38jya2kdpA info;
} _kind_7;
};
NimStringDesc* anchor;
tySequence__jo4WO9beNiWGoaKRjSrOMJQ* sons;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_60) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg);
typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_65) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg 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__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg);
typedef NU8 tySet_tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ;
typedef N_NIMCALL_PTR(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, tyProc__Fx3UmxpSP78wafCaxFNUbQ) (tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
typedef NU8 tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ;
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
struct tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw {
NI a;
NI b;
};
struct tyTuple__rVoGvR7ILGzTjPxMLwukPg {
tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ 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__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_BOOL report, void* ClE_0);
void* ClE_0;
} tyProc__3YwSRjkb2X59bje7v5Mwi5w;
typedef N_CLOSURE_PTR(NIM_BOOL, TM__6mNpeIAN05DnDNzb9b3611A_246) (tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_BOOL report);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__6mNpeIAN05DnDNzb9b3611A_248) (tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_BOOL report);
struct tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA {
  RootObj Sup;
NI colonstate_;
tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw 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___wsC8o4Kvelfzzmgs57k8SA {
  RootObj Sup;
NI colonstate_;
tySequence__8Np6tlClE5az1CyqZdN19bQ* row1;
NI colNum2;
tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a3;
tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* b4;
tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw q5;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg cellKind, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result, void* ClE_0);
void* ClE_0;
} tyProc__lmotUv0Zi2w71tqGoqNEFA;
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_262) (tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg cellKind, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result);
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_265) (tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg cellKind, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result);
struct tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA {
  RootObj Sup;
NI colonstate_;
tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s1;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_267) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg);
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* locations, void* ClE_0);
void* ClE_0;
} tyProc__cK09bPtQRq7OO35jc9bbvAMg;
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_270) (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_271) (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_273) (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_274) (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* locations);
typedef NU8 tyEnum_SortOrder__TcYjciSJ3jKUT4ygglumjg;
struct tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q {
tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* head;
tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* tail;
};
struct tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA {
tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* next;
tyTuple__KPVKrfx82Va9azSnb0dl1RQ value;
};
typedef NimStringDesc* tyArray__17w6ns39bmjfAZ429aQpCFUA[9];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_284) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg);
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_StackTraceEntry__3r2E7OgmrW3VdUTaooCuyA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__7EPs9bALtRDoJ5HKNxchjbQ {
  TGenericSeq Sup;
  tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ data[SEQ_DECL_SIZE];
};
struct tySequence__7HTk34lAlArJP89aG2XjZEA {
  TGenericSeq Sup;
  tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ 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__axx1LQ9awiGkP3NNnW2X9cOQ {
  TGenericSeq Sup;
  tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA data[SEQ_DECL_SIZE];
};
struct tySequence__YYKlUlCjbni3i58WM0kegw {
  TGenericSeq Sup;
  tyTuple__KPVKrfx82Va9azSnb0dl1RQ data[SEQ_DECL_SIZE];
};
struct tySequence__ChL1roantEj1qq0e0XXJZw {
  TGenericSeq Sup;
  tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ data[SEQ_DECL_SIZE];
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
struct tySequence__jo4WO9beNiWGoaKRjSrOMJQ {
  TGenericSeq Sup;
  tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__QbmGqFaLnb1IWWToREeaIA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__3r2E7OgmrW3VdUTaooCuyA data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__7EPs9bALtRDoJ5HKNxchjbQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__7HTk34lAlArJP89aG2XjZEA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__axx1LQ9awiGkP3NNnW2X9cOQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__YYKlUlCjbni3i58WM0kegw)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__dLMuJdRQoOg2PJi1ktqSYQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultRole__packagesZdocutilsZrst_507)(tySet_tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g 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_5347)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* 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_5345)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5296)(tyObject_CellSeq__nav876ELHgxScHhs30CKiA* s, tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c);
static N_INLINE(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*, usrToCell__system_5302)(void* usr);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg, 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_1741)(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__caWYuN9aCrrNgLAxHN3okug, getSourceLanguage__packagesZdocutilsZhighlite_97)(NimStringDesc* name);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5340)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* 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__LqGn2jXOUcn3gFaPF4DWNg msgkind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA, whichMsgClass__packagesZdocutilsZrst_365)(tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg k);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, symbolName__packagesZdocutilsZrst_368)(tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg 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_1733)(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__WjyWbSWH8Jk6uBuGYHOBKA)(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_442)(FILE* f, NimStringDesc** x, NI xLen_0);
N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(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__RaVISFn5lBYmQPVCuG88JA* s, NimStringDesc* file1);
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrst_523)(tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw filenames);
N_LIB_PRIVATE N_NIMCALL(NI32, getOrDefault__packagesZdocutilsZrst_599)(tyObject_Table__9cHFtxtpgztIcDsypRz9byKw t, NimStringDesc* key, NI32 default_0);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___packagesZdocutilsZrst_952)(tyObject_Table__9cHFtxtpgztIcDsypRz9byKw* t, NimStringDesc* key, NI32 val);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
static N_NIMCALL(void, Marker_tySequence__ChL1roantEj1qq0e0XXJZw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, initParser__packagesZdocutilsZrst_2123)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* 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__ChL1roantEj1qq0e0XXJZw** 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__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok);
N_LIB_PRIVATE N_NIMCALL(void, getThing__packagesZdocutilsZrst_109)(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* 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__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok);
N_LIB_PRIVATE N_NIMCALL(NI, getIndentAux__packagesZdocutilsZrst_188)(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w* 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__U44ei9bvbJXdukJo29aUn02w* L);
N_LIB_PRIVATE N_NIMCALL(void, getPunctAdornment__packagesZdocutilsZrst_156)(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok);
N_LIB_PRIVATE N_NIMCALL(void, getBracket__packagesZdocutilsZrst_177)(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDoc__packagesZdocutilsZrst_5812)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseSectionWrapper__packagesZdocutilsZrst_6407)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, newRstNode__packagesZdocutilsZrstast_109)(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind, tySequence__jo4WO9beNiWGoaKRjSrOMJQ* sons, NimStringDesc* anchor);
N_LIB_PRIVATE N_NIMCALL(void, parseSection__packagesZdocutilsZrst_5154)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result);
N_LIB_PRIVATE N_NIMCALL(NI, currInd__packagesZdocutilsZrst_2098)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, pushInd__packagesZdocutilsZrst_2104)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI ind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, newRstNodeA__packagesZdocutilsZrst_4004)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind);
N_LIB_PRIVATE N_NIMCALL(void, add__packagesZdocutilsZrstast_206)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* son);
N_LIB_PRIVATE N_NIMCALL(void, popInd__packagesZdocutilsZrst_2111)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg, whichSection__packagesZdocutilsZrst_5548)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownCodeBlock__packagesZdocutilsZrst_5392)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI idx);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, match__packagesZdocutilsZrst_4269)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI start, NimStringDesc* expr);
N_LIB_PRIVATE N_NIMCALL(NI, getRefnameIdx__packagesZdocutilsZrst_4020)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI startIdx);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validRefnamePunct__packagesZdocutilsZrst_4013)(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__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, currFilename__packagesZdocutilsZrst_2001)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFilename__packagesZdocutilsZrst_1992)(tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw 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__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__packagesZdocutilsZrst_5494)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
static N_INLINE(NI, tokenAfterNewline__packagesZdocutilsZrst_5169)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NI, tokenAfterNewline__packagesZdocutilsZrst_5157)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAdornmentHeadline__packagesZdocutilsZrst_5400)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI adornmentIdx);
static N_INLINE(NIM_BOOL, contains__stdZenumutils_44)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
static N_INLINE(NI, find__stdZenumutils_49)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2070)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadline__packagesZdocutilsZrst_5520)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__packagesZdocutilsZrst_5516)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, predNL__packagesZdocutilsZrst_5498)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, findPipe__packagesZdocutilsZrst_5535)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOptionList__packagesZdocutilsZrst_5513)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__packagesZdocutilsZrst_5505)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseLiteralBlock__packagesZdocutilsZrst_5270)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, newRstLeaf__packagesZdocutilsZrstast_197)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseBulletList__packagesZdocutilsZrst_6050)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseLineBlock__packagesZdocutilsZrst_5626)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDotDot__packagesZdocutilsZrst_5268)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDirective__packagesZdocutilsZrst_5090)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, getRefname__packagesZdocutilsZrst_4045)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI startIdx, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2087)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, selectDir__packagesZdocutilsZrst_6646)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirAdmonition__packagesZdocutilsZrst_6609)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDirective__packagesZdocutilsZrst_6510)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg k, tySet_tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ flags, tyProc__Fx3UmxpSP78wafCaxFNUbQ contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDirective__packagesZdocutilsZrst_6440)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg k, tySet_tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA, lineInfo__packagesZdocutilsZrst_2472)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA, lineInfo__packagesZdocutilsZrst_2468)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI iTok);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, newLeaf__packagesZdocutilsZrst_4010)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, parseLine__packagesZdocutilsZrst_5148)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father);
N_LIB_PRIVATE N_NIMCALL(void, parseInline__packagesZdocutilsZrst_4986)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__packagesZdocutilsZrst_4203)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* markup);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstStart__packagesZdocutilsZrst_4188)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rstRuleSurround__packagesZdocutilsZrst_4176)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownStart__packagesZdocutilsZrst_4181)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__packagesZdocutilsZrst_4758)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father, NimStringDesc* postfix, NIM_BOOL interpretBackslash);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupEnd__packagesZdocutilsZrst_4109)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4094)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownEnd__packagesZdocutilsZrst_4087)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw x);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
static N_INLINE(tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw, dotdot___pureZunicode_840)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__packagesZdocutilsZrst_4728)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__packagesZdocutilsZrst_61)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n);
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__packagesZdocutilsZrst_2167)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, NimStringDesc** r, NIM_BOOL* b);
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrstast_102)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseMarkdownCodeblock__packagesZdocutilsZrst_4840)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg, whichRole__packagesZdocutilsZrst_4368)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, toInlineCode__packagesZdocutilsZrst_4376)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, NimStringDesc* language);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, newRstNode__packagesZdocutilsZrstast_167)(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind, tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA info, tySequence__jo4WO9beNiWGoaKRjSrOMJQ* sons);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, toOtherRole__packagesZdocutilsZrst_4395)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind, NimStringDesc* roleName);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parsePostfix__packagesZdocutilsZrst_4415)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n);
N_LIB_PRIVATE N_NIMCALL(void, fixupEmbeddedRef__packagesZdocutilsZrst_4344)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* b);
N_LIB_PRIVATE N_NIMCALL(void, setRef__packagesZdocutilsZrst_2272)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* key, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* value);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__packagesZdocutilsZrst_63)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n);
N_LIB_PRIVATE N_NIMCALL(void, addNodesAux__packagesZdocutilsZrst_2152)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, finalizeInterpreted__packagesZdocutilsZrst_4421)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* node, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg newKind, tySequence__jo4WO9beNiWGoaKRjSrOMJQ* newSons, NimStringDesc* roleName);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseMarkdownLink__packagesZdocutilsZrst_4866)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father);
static N_NIMCALL(void, Marker_tySequence__lBgZ7a89beZGYPl8PiANMTA)(void* p, NI op);
static N_INLINE(NIM_BOOL, checkParen__packagesZdocutilsZrst_4618)(tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* token, tySequence__lBgZ7a89beZGYPl8PiANMTA** parensStack);
N_LIB_PRIVATE N_NIMCALL(void, add__packagesZdocutilsZrstast_213)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseFootnoteName__packagesZdocutilsZrst_4953)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_BOOL reference);
N_LIB_PRIVATE N_NIMCALL(tyTuple__rVoGvR7ILGzTjPxMLwukPg, getFootnoteType__packagesZdocutilsZrst_4923)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* label);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
static N_INLINE(void, popSafePoint)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseSmiley__packagesZdocutilsZrst_4477)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__packagesZdocutilsZrst_4460)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4686)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__packagesZdocutilsZrst_4552)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseUrl__packagesZdocutilsZrst_4653)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseFields__packagesZdocutilsZrst_5195)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseField__packagesZdocutilsZrst_5180)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NI, getWrappableIndent__packagesZdocutilsZrst_5172)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseBlockContent__packagesZdocutilsZrst_6499)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ** father, tyProc__Fx3UmxpSP78wafCaxFNUbQ contentParser);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__packagesZdocutilsZrst_6492)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirCodeBlock__packagesZdocutilsZrst_6556)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* filename);
static N_INLINE(NimStringDesc*, slash___pureZos_121)(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_469)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirContainer__packagesZdocutilsZrst_6588)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirContents__packagesZdocutilsZrst_6603)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirDefaultRole__packagesZdocutilsZrst_6613)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirFigure__packagesZdocutilsZrst_6597)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirImage__packagesZdocutilsZrst_6594)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirInclude__packagesZdocutilsZrst_6523)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindStr)(NimStringDesc* s, NimStringDesc* sub, NI start, NI last);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirIndex__packagesZdocutilsZrst_6606)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirRaw__packagesZdocutilsZrst_6639)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(void, dirRawAux__packagesZdocutilsZrst_6631)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ** result, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind, tyProc__Fx3UmxpSP78wafCaxFNUbQ contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDirBody__packagesZdocutilsZrst_6519)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyProc__Fx3UmxpSP78wafCaxFNUbQ contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirRole__packagesZdocutilsZrst_6623)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirTitle__packagesZdocutilsZrst_6600)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, getReferenceName__packagesZdocutilsZrst_4055)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* endStr);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, untilEol__packagesZdocutilsZrst_4068)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, addAnchor__packagesZdocutilsZrst_2302)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4080)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* tok);
N_LIB_PRIVATE N_NIMCALL(void, setSub__packagesZdocutilsZrst_2245)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* key, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseFootnote__packagesZdocutilsZrst_6720)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prefix__packagesZdocutilsZrst_6717)(tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ ftnType);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumManual__packagesZdocutilsZrst_2405)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* label);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteSymAuto__packagesZdocutilsZrst_2498)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseComment__packagesZdocutilsZrst_5116)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseEnumList__packagesZdocutilsZrst_6165)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
static N_NIMCALL(void, Marker_tyRef__txefaw5zpc9a9a6GUuV9bJj9cg)(void* p, NI op);
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, checkAfterNewline__packagesZdocutilsZrst_6275)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDefinitionList__packagesZdocutilsZrst_6129)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseTransition__packagesZdocutilsZrst_6027)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseHeadline__packagesZdocutilsZrst_5694)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__packagesZdocutilsZrst_5151)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father);
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__packagesZdocutilsZrst_5303)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_CHAR c, NIM_BOOL hasOverline);
N_LIB_PRIVATE N_NIMCALL(void, checkHeadingHierarchy__packagesZdocutilsZrst_5682)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI lvl);
static N_NIMCALL(void, Marker_tyRef__QNUbaGkbmoX1Nq9cnfcBnfg)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ);
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, descr__packagesZdocutilsZrst_5685)(NI l, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseOverline__packagesZdocutilsZrst_5727)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseSimpleTable__packagesZdocutilsZrst_5814)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, getColumns__packagesZdocutilsZrst_5769)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols);
N_LIB_PRIVATE N_NIMCALL(NI, tokEnd__packagesZdocutilsZrst_5766)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseMarkdownTable__packagesZdocutilsZrst_6000)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
static N_NIMCALL(void, Marker_tyRef__8GrvRGC9bTidliwO0qD2EZg)(void* p, NI op);
N_LIB_PRIVATE N_CLOSURE(void, parseRow__packagesZdocutilsZrst_6008)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg cellKind, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__8Np6tlClE5az1CyqZdN19bQ*, readTableRow__packagesZdocutilsZrst_5930)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getColContents__packagesZdocutilsZrst_5962)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ colLim);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidDelimiterRow__packagesZdocutilsZrst_5971)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI colNum);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s, NimStringDesc* prefix);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseOptionList__packagesZdocutilsZrst_6076)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p);
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__packagesZdocutilsZrst_5659)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result);
N_LIB_PRIVATE N_NIMCALL(void, addIfNotNil__packagesZdocutilsZrstast_220)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* son);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg, sonKind__packagesZdocutilsZrst_6345)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father, NI i);
N_LIB_PRIVATE N_NIMCALL(void, countTitles__packagesZdocutilsZrst_5365)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n);
N_LIB_PRIVATE N_NIMCALL(void, orderFootnotes__packagesZdocutilsZrst_2511)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s);
static N_NIMCALL(void, Marker_tyRef__JQO85X9bhqod17TqlSrvEIQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2075)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, listFootnotes__packagesZdocutilsZrst_2513)(tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* 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__KPVKrfx82Va9azSnb0dl1RQ* a, NI aLen_0, tyEnum_SortOrder__TcYjciSJ3jKUT4ygglumjg order);
N_LIB_PRIVATE N_NIMCALL(void, initSinglyLinkedList__packagesZdocutilsZrst_2784)(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q* Result);
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_2811)(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q* a, tyTuple__KPVKrfx82Va9azSnb0dl1RQ* b);
static N_NIMCALL(void, Marker_tyRef__gDEfmQjKC8B7ih9cWJmghxg)(void* p, NI op);
static N_INLINE(void, prepend__packagesZdocutilsZrst_3202)(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q* L, tyTuple__KPVKrfx82Va9azSnb0dl1RQ* value);
static N_INLINE(void, prepend__packagesZdocutilsZrst_3252)(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q* L, tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*, newSinglyLinkedNode__packagesZdocutilsZrst_2894)(tyTuple__KPVKrfx82Va9azSnb0dl1RQ* value);
N_LIB_PRIVATE N_NIMCALL(tySequence__YYKlUlCjbni3i58WM0kegw*, X5BX5D___packagesZdocutilsZrst_3312)(tyTuple__KPVKrfx82Va9azSnb0dl1RQ* s, NI sLen_0, tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw x);
static N_INLINE(tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw, dotdot___stdZenumutils_90)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*, newSinglyLinkedNode__packagesZdocutilsZrst_3387)(tyTuple__KPVKrfx82Va9azSnb0dl1RQ* value);
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_3456)(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q* a, tyTuple__KPVKrfx82Va9azSnb0dl1RQ* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatStr)(NimStringDesc* s, NI n);
N_LIB_PRIVATE N_NIMCALL(NI, findSub__packagesZdocutilsZrst_2204)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_418)(NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2080)(tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw filenames, tyProc__gd6fvPtd9aVRsRjs9bLyzE9bQ f, tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA info, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, findRef__packagesZdocutilsZrst_2289)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findMainAnchor__packagesZdocutilsZrst_2367)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NimStringDesc* refn);
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3980)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NimStringDesc* label);
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3988)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NI order);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getAutoSymbol__packagesZdocutilsZrst_3996)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NI order);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, resolveSubs__packagesZdocutilsZrst_6821)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n);
N_LIB_PRIVATE TNimType NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_;
extern TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
N_LIB_PRIVATE TNimType NTImsghandler__gd6fvPtd9aVRsRjs9bLyzE9bQ_;
N_LIB_PRIVATE TNimType NTIrstfiletable__JJYG5kijP4PSa5F9a7da5tw_;
extern TNimType NTItable__9cHFtxtpgztIcDsypRz9byKw_;
extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
N_LIB_PRIVATE TNimType NTIrstsharedstate__RaVISFn5lBYmQPVCuG88JA_;
N_LIB_PRIVATE TNimType NTIrstparseoption__utHUlNkCVsWnNFCaZUhT7g_;
N_LIB_PRIVATE TNimType NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_;
N_LIB_PRIVATE TNimType NTIlevelinfo__PM5uc3aqOwcmxPAA2Yt4pQ_;
extern TNimType NTIchar__nmiMWKVIe46vacnhAFrQvw_;
extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_;
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
extern TNimType NTIrstnodekind__ZgH3X3ZZR9bYozFm5ci6phg_;
N_LIB_PRIVATE TNimType NTIsubstitution__rZij7FJC9a7u59cpJsTlOCYQ_;
extern TNimType NTIprstnode__yfV9aZUcV0SioJcvRrGyZlg_;
N_LIB_PRIVATE TNimType NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_;
N_LIB_PRIVATE TNimType NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_;
N_LIB_PRIVATE TNimType NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_;
extern TNimType NTItlineinfo__AUK89aIO9ccPtw38jya2kdpA_;
N_LIB_PRIVATE TNimType NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_;
N_LIB_PRIVATE TNimType NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_;
N_LIB_PRIVATE TNimType NTIfootnotetype__jXnI8xEO3SXxVR9afYCJnyQ_;
N_LIB_PRIVATE TNimType NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_;
extern TNimType NTIint5150__sVg18TP9cLifHyygRe9cro9aA_;
N_LIB_PRIVATE TNimType NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_;
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__LqGn2jXOUcn3gFaPF4DWNg_;
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__Ct0TfAfGr3EfTfyZ4MqZpA_;
extern TNimType NTIvalueerror__5lcTdgqMq62cNGRwBb0thA_;
N_LIB_PRIVATE TNimType NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_;
N_LIB_PRIVATE TNimType NTIrefeparseerror__WjyWbSWH8Jk6uBuGYHOBKA_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_39, "\012", 1);
extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_;
N_LIB_PRIVATE TNimType NTItoken__5TtaxSoj3RjoRxnyUp8DrQ_;
N_LIB_PRIVATE TNimType NTItoktype__5529aNdqwAVN9bRxQ9c2XBvyg_;
N_LIB_PRIVATE TNimType NTItokenseq__ChL1roantEj1qq0e0XXJZw_;
extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTIlexer__U44ei9bvbJXdukJo29aUn02w_;
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__jo4WO9beNiWGoaKRjSrOMJQ_;
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_6168 = {((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_6169 = {((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_6170 = {((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__5x5eh9bp2LV0X9cbFXuaecCA_;
N_LIB_PRIVATE TNimType NTIrefobject__QNUbaGkbmoX1Nq9cnfcBnfg_;
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__wsC8o4Kvelfzzmgs57k8SA_;
extern TNimType NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_;
N_LIB_PRIVATE TNimType NTIrefobject__8GrvRGC9bTidliwO0qD2EZg_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_263, "--", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_264, ":-", 2);
N_LIB_PRIVATE TNimType NTIobject__eFqiDKmcu0ibz9akfYqUkgA_;
N_LIB_PRIVATE TNimType NTIrefobject__JQO85X9bhqod17TqlSrvEIQ_;
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__dRlnkNHLLKxta2PiHXbXzA_;
N_LIB_PRIVATE TNimType NTIsinglylinkednode__gDEfmQjKC8B7ih9cWJmghxg_;
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_3855 = {((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__ZRn9bWCksoiGwT2drZZzyWQ gch__system_5249;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern Exception* currException__system_2566;
extern Exception* currException__system_2566;
extern Exception* currException__system_2566;
static N_NIMCALL(void, Marker_tySequence__7EPs9bALtRDoJ5HKNxchjbQ)(void* p, NI op) {
	tySequence__7EPs9bALtRDoJ5HKNxchjbQ* a;
	NI T1_;
	a = (tySequence__7EPs9bALtRDoJ5HKNxchjbQ*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__7HTk34lAlArJP89aG2XjZEA)(void* p, NI op) {
	tySequence__7HTk34lAlArJP89aG2XjZEA* a;
	NI T1_;
	a = (tySequence__7HTk34lAlArJP89aG2XjZEA*)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__axx1LQ9awiGkP3NNnW2X9cOQ)(void* p, NI op) {
	tySequence__axx1LQ9awiGkP3NNnW2X9cOQ* a;
	NI T1_;
	a = (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__YYKlUlCjbni3i58WM0kegw)(void* p, NI op) {
	tySequence__YYKlUlCjbni3i58WM0kegw* a;
	NI T1_;
	a = (tySequence__YYKlUlCjbni3i58WM0kegw*)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__dLMuJdRQoOg2PJi1ktqSYQ)(void* p, NI op) {
	tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* a;
	a = (tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA*)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__utHUlNkCVsWnNFCaZUhT7g options) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		if (!((options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 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)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__system_5345)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	addZCT__system_5296((&gch__system_5249.zct), c);
}
static N_INLINE(void, decRef__system_5347)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* 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_5345(c);
	}
	LA4_: ;
}
static N_INLINE(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*, usrToCell__system_5302)(void* usr) {
	tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* result;
	NI T1_;
	result = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*) (T1_));
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T1_;
	T1_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
	T1_ = usrToCell__system_5302(p);
	decRef__system_5347(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_1741)(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_1741(((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__ZgH3X3ZZR9bYozFm5ci6phg, whichRoleAux__packagesZdocutilsZrst_515)(NimStringDesc* sym) {
	tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg result;
	NimStringDesc* r;
	result = (tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg)0;
	r = nsuToLowerAsciiStr(sym);
	switch (hashString(r) & 15) {
	case 0: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_26))) goto LA8_;
break;
	case 1: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_20))) goto LA4_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_22))) goto LA5_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_24))) goto LA6_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_27))) goto LA8_;
break;
	case 4: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_19))) goto LA3_;
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_;
break;
	case 15: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_25))) goto LA7_;
break;
	}
	goto LA9_;
	LA1_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 63);
	}
	goto LA10_;
	LA2_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 68);
	}
	goto LA10_;
	LA3_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 65);
	}
	goto LA10_;
	LA4_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 64);
	}
	goto LA10_;
	LA5_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 61);
	}
	goto LA10_;
	LA6_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 62);
	}
	goto LA10_;
	LA7_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 68);
	}
	goto LA10_;
	LA8_: ;
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 59);
	}
	goto LA10_;
	LA9_: ;
	{
		{
			tyEnum_SourceLanguage__caWYuN9aCrrNgLAxHN3okug T22_;
			T22_ = (tyEnum_SourceLanguage__caWYuN9aCrrNgLAxHN3okug)0;
			T22_ = getSourceLanguage__packagesZdocutilsZhighlite_97(r);
			if (!!((T22_ == ((tyEnum_SourceLanguage__caWYuN9aCrrNgLAxHN3okug) 0)))) goto LA23_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 58);
		}
		goto LA20_;
		LA23_: ;
		{
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 60);
		}
		LA20_: ;
	}
	LA10_: ;
	return result;
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__system_5340)(tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* c) {
	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
		T5_ = usrToCell__system_5302(src);
		incRef__system_5340(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__nhn83Yf9cX7rcmG5W9b4oa6g*)0;
		T10_ = usrToCell__system_5302((*dest));
		decRef__system_5347(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA, whichMsgClass__packagesZdocutilsZrst_365)(tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg k) {
	tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA result;
	NimStringDesc* T1_;
	result = (tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA)0;
	T1_ = NIM_NIL;
	T1_ = symbolName__packagesZdocutilsZrst_368(k);
	switch (((NU8)(T1_->data[((NI) 1)]))) {
	case 101:
	case 69:
	{
		result = ((tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA) 2);
	}
	break;
	case 119:
	case 87:
	{
		result = ((tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA) 1);
	}
	break;
	case 104:
	case 72:
	{
		result = ((tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA) 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_1733)(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_1733(((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__WjyWbSWH8Jk6uBuGYHOBKA)(void* p, NI op) {
	tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg* a;
	a = (tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg*)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_442)(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_205(f, (*i));
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	write__systemZio_205(f, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39));
}
N_LIB_PRIVATE N_NIMCALL(void, defaultMsgHandler__packagesZdocutilsZrst_460)(NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg msgkind, NimStringDesc* arg) {
	tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA mc;
	NimStringDesc* a;
	NimStringDesc* message;
	tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
	NimStringDesc* T10_;
	mc = whichMsgClass__packagesZdocutilsZrst_365(msgkind);
	a = nsuFormatSingleElem(reprEnum((NI)msgkind, (&NTImsgkind__LqGn2jXOUcn3gFaPF4DWNg_)), 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__Ct0TfAfGr3EfTfyZ4MqZpA_));
	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__CQGKl4YZsOI4aXyw7v8iYg* T15_;
		NimStringDesc* T16_;
		if (!(mc == ((tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA) 2))) goto LA13_;
		T15_ = NIM_NIL;
		T15_ = (tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg*) newObj((&NTIrefeparseerror__WjyWbSWH8Jk6uBuGYHOBKA_), sizeof(tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg));
		(*T15_).Sup.Sup.Sup.Sup.m_type = (&NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_);
		(*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_442(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__JJYG5kijP4PSa5F9a7da5tw 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__RaVISFn5lBYmQPVCuG88JA* 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__RaVISFn5lBYmQPVCuG88JA*, newRstSharedState__packagesZdocutilsZrst_2004)(tySet_tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g options, NimStringDesc* filename, tyProc__oFHfEKFsiYTMAy9a42cSiKw findFile, tyProc__gd6fvPtd9aVRsRjs9bLyzE9bQ msgHandler) {
	tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* result;
	NimStringDesc* r;
	tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* T1_;
	NimStringDesc* T2_;
	result = NIM_NIL;
	r = defaultRole__packagesZdocutilsZrst_507(options);
	T1_ = NIM_NIL;
	T1_ = (tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA*) newObj((&NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_), sizeof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA));
	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__gd6fvPtd9aVRsRjs9bLyzE9bQ T8_;
		nimZeroMem((void*)(&T8_), sizeof(tyProc__gd6fvPtd9aVRsRjs9bLyzE9bQ));
		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__ChL1roantEj1qq0e0XXJZw)(void* p, NI op) {
	tySequence__ChL1roantEj1qq0e0XXJZw* a;
	NI T1_;
	a = (tySequence__ChL1roantEj1qq0e0XXJZw*)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__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* 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__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s) {
	NI pos;
	(*tok).kind = ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__U44ei9bvbJXdukJo29aUn02w* 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__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	(*tok).col = ((NI) 0);
	(*tok).kind = ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__U44ei9bvbJXdukJo29aUn02w* 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__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok) {
	NI pos;
	NIM_CHAR c;
	{
		if (!(*L).adornmentLine) goto LA3_;
		(*tok).kind = ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4);
	}
	goto LA1_;
	LA3_: ;
	{
		(*tok).kind = ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 5);
	}
	LA26_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getBracket__packagesZdocutilsZrst_177)(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* tok) {
	(*tok).kind = ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__U44ei9bvbJXdukJo29aUn02w* L, tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 0);
		}
		goto LA19_;
		LA21_: ;
		{
			(*tok).kind = ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__ChL1roantEj1qq0e0XXJZw** tokens) {
	tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w L;
	NI length;
	NI T1_;
	nimZeroMem((void*)(&L), sizeof(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w));
	L.Sup.m_type = (&NTIlexer__U44ei9bvbJXdukJo29aUn02w_);
	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__ChL1roantEj1qq0e0XXJZw*) setLengthSeqV2(((*tokens))?&((*tokens))->Sup:NIM_NIL, (&NTItokenseq__ChL1roantEj1qq0e0XXJZw_), ((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__5529aNdqwAVN9bRxQ9c2XBvyg) 0))) goto LA18_;
				goto LA10;
			}
			LA18_: ;
		}
	} LA10: ;
	{
		if (!((*tokens)->data[((NI) 0)].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 1);
	}
	LA22_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, currInd__packagesZdocutilsZrst_2098)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__o7Mf73b09cQpxU9cdK19aKkqQ*, newRstNodeA__packagesZdocutilsZrst_4004)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* 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__Nk9bIObsAkkI8z7H9cw9bOnnw* 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)?&((*p).indentStack)->Sup:NIM_NIL, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) ((NI)(T6_ - ((NI) 1))))));
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownCodeBlock__packagesZdocutilsZrst_5392)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__utHUlNkCVsWnNFCaZUhT7g) 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_4013)(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_4020)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI startIdx) {
	NI result;
	NI j;
	result = (NI)0;
	j = startIdx;
	{
		if (!((*p).tok->data[j].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 5));
				if (!(T8_)) goto LA9_;
				T8_ = validRefnamePunct__packagesZdocutilsZrst_4013((*p).tok->data[j].symbol);
				LA9_: ;
				T7_ = T8_;
				if (!(T7_)) goto LA10_;
				T7_ = ((*p).tok->data[(NI)(j + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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_4269)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4020(p, j);
				result = (j <= lastIdx);
				{
					if (!result) goto LA6_;
					j = lastIdx;
				}
				LA6_: ;
			}
			break;
			case 32:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2));
			}
			break;
			case 105:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 5));
			}
			break;
			case 97:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4));
			}
			break;
			case 111:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__JJYG5kijP4PSa5F9a7da5tw 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__RaVISFn5lBYmQPVCuG88JA* 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__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg 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_5157)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI start) {
	NI result;
	result = (NI)0;
	result = start;
	{
		while (1) {
			switch ((*p).tok->data[result].kind) {
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 0):
			{
				goto LA1;
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1):
			{
				result += ((NI) 1);
				goto LA1;
			}
			break;
			default:
			{
				result += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	return result;
}
static N_INLINE(NI, tokenAfterNewline__packagesZdocutilsZrst_5169)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	NI result;
	result = (NI)0;
	result = tokenAfterNewline__packagesZdocutilsZrst_5157(p, (*p).idx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__packagesZdocutilsZrst_5494)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5169(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_49)(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_44)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
	NIM_BOOL result;
	NI T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = find__stdZenumutils_49(a, aLen_0, item);
	result = (((NI) 0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2070)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg 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_5400)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI adornmentIdx) {
	NIM_BOOL result;
	NI headlineLen;
	NimStringDesc* failure;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = contains__stdZenumutils_44(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_5392(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__LqGn2jXOUcn3gFaPF4DWNg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 1));
			LA45_: ;
			T43_ = T44_;
			if (!(T43_)) goto LA46_;
			T43_ = ((*p).tok->data[(NI)(i_3 + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__LqGn2jXOUcn3gFaPF4DWNg) 4), failure);
	}
	LA57_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__packagesZdocutilsZrst_5516)(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_5520)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 2))&7U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = isMarkdownHeadlinePattern__packagesZdocutilsZrst_5516((*p).tok->data[(*p).idx].symbol);
			if (!(T7_)) goto LA8_;
			T7_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5498)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5535)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_5513)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_82));
	if (T3_) goto LA4_;
	T3_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_83));
	LA4_: ;
	T2_ = T3_;
	if (T2_) goto LA5_;
	T2_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_84));
	LA5_: ;
	T1_ = T2_;
	if (T1_) goto LA6_;
	T1_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_85));
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__packagesZdocutilsZrst_5505)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5169(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__ZgH3X3ZZR9bYozFm5ci6phg, whichSection__packagesZdocutilsZrst_5548)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg result;
{	result = (tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg)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_5392(p, (*p).idx);
			if (!T7_) goto LA8_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 51);
			goto BeforeRet_;
		}
		goto LA5_;
		LA8_: ;
		{
			if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52))) goto LA11_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__ZgH3X3ZZR9bYozFm5ci6phg) 44);
			goto BeforeRet_;
		}
		goto LA5_;
		LA16_: ;
		LA5_: ;
	}
	LA3_: ;
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4):
	{
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = match__packagesZdocutilsZrst_4269(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__ZgH3X3ZZR9bYozFm5ci6phg) 4);
		}
		goto LA19_;
		LA23_: ;
		{
			NIM_BOOL T26_;
			T26_ = (NIM_BOOL)0;
			T26_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_57));
			if (!T26_) goto LA27_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 31);
			rstMessage__packagesZdocutilsZrst_2094(p, ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 2));
		}
		goto LA19_;
		LA27_: ;
		{
			NIM_BOOL T30_;
			T30_ = (NIM_BOOL)0;
			T30_ = match__packagesZdocutilsZrst_4269(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_61));
			if (!T30_) goto LA31_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_5494(p);
			LA35_: ;
			if (!T34_) goto LA36_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 27);
		}
		goto LA19_;
		LA36_: ;
		{
			NIM_BOOL T39_;
			T39_ = (NIM_BOOL)0;
			T39_ = match__packagesZdocutilsZrst_4269(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_63));
			if (!(T39_)) goto LA40_;
			T39_ = isAdornmentHeadline__packagesZdocutilsZrst_5400(p, (*p).idx);
			LA40_: ;
			if (!T39_) goto LA41_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 2);
		}
		goto LA19_;
		LA41_: ;
		{
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 73);
		}
		LA19_: ;
	}
	break;
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
	{
		{
			NIM_BOOL T47_;
			T47_ = (NIM_BOOL)0;
			T47_ = isMarkdownHeadline__packagesZdocutilsZrst_5520(p);
			if (!T47_) goto LA48_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__utHUlNkCVsWnNFCaZUhT7g) 2))&7U)))!=0);
			if (!(T53_)) goto LA54_;
			T53_ = predNL__packagesZdocutilsZrst_5498(p);
			LA54_: ;
			T52_ = T53_;
			if (!(T52_)) goto LA55_;
			T52_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_72));
			LA55_: ;
			T51_ = T52_;
			if (!(T51_)) goto LA56_;
			T51_ = findPipe__packagesZdocutilsZrst_5535(p, (NI)((*p).idx + ((NI) 3)));
			LA56_: ;
			if (!T51_) goto LA57_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_5494(p);
			LA61_: ;
			if (!T60_) goto LA62_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 27);
		}
		goto LA45_;
		LA62_: ;
		{
			NIM_BOOL T65_;
			NI T66_;
			NI T68_;
			T65_ = (NIM_BOOL)0;
			T66_ = (NI)0;
			T66_ = tokenAfterNewline__packagesZdocutilsZrst_5169(p);
			T65_ = match__packagesZdocutilsZrst_4269(p, T66_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_73));
			if (!(T65_)) goto LA67_;
			T68_ = (NI)0;
			T68_ = tokenAfterNewline__packagesZdocutilsZrst_5169(p);
			T65_ = isAdornmentHeadline__packagesZdocutilsZrst_5400(p, T68_);
			LA67_: ;
			if (!T65_) goto LA69_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 1);
		}
		goto LA45_;
		LA69_: ;
		{
			NIM_BOOL T72_;
			T72_ = (NIM_BOOL)0;
			T72_ = contains__stdZenumutils_44(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__5529aNdqwAVN9bRxQ9c2XBvyg) 2));
			LA73_: ;
			if (!T72_) goto LA74_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 6);
		}
		goto LA45_;
		LA74_: ;
		{
			NIM_BOOL T77_;
			T77_ = (NIM_BOOL)0;
			T77_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_78));
			if (!T77_) goto LA78_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 14);
		}
		goto LA45_;
		LA78_: ;
		{
			NIM_BOOL T81_;
			NIM_BOOL T82_;
			T81_ = (NIM_BOOL)0;
			T82_ = (NIM_BOOL)0;
			T82_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_79));
			if (T82_) goto LA83_;
			T82_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_80));
			LA83_: ;
			T81_ = T82_;
			if (T81_) goto LA84_;
			T81_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_81));
			LA84_: ;
			if (!T81_) goto LA85_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 8);
		}
		goto LA45_;
		LA85_: ;
		{
			NIM_BOOL T88_;
			T88_ = (NIM_BOOL)0;
			T88_ = isOptionList__packagesZdocutilsZrst_5513(p);
			if (!T88_) goto LA89_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 18);
		}
		goto LA45_;
		LA89_: ;
		{
			NIM_BOOL T92_;
			T92_ = (NIM_BOOL)0;
			T92_ = isDefList__packagesZdocutilsZrst_5505(p);
			if (!T92_) goto LA93_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 10);
		}
		goto LA45_;
		LA93_: ;
		{
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5);
		}
		LA45_: ;
	}
	break;
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2):
	{
		NI tokIdx;
		tokIdx = tokenAfterNewline__packagesZdocutilsZrst_5169(p);
		{
			NIM_BOOL T99_;
			T99_ = (NIM_BOOL)0;
			T99_ = match__packagesZdocutilsZrst_4269(p, tokIdx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_73));
			if (!T99_) goto LA100_;
			{
				NIM_BOOL T104_;
				T104_ = (NIM_BOOL)0;
				T104_ = isAdornmentHeadline__packagesZdocutilsZrst_5400(p, tokIdx);
				if (!T104_) goto LA105_;
				result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 1);
			}
			goto LA102_;
			LA105_: ;
			{
				result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5);
			}
			LA102_: ;
		}
		goto LA97_;
		LA100_: ;
		{
			NIM_BOOL T109_;
			T109_ = (NIM_BOOL)0;
			T109_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_80));
			if (T109_) goto LA110_;
			T109_ = match__packagesZdocutilsZrst_4269(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_81));
			LA110_: ;
			if (!T109_) goto LA111_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 8);
		}
		goto LA97_;
		LA111_: ;
		{
			NIM_BOOL T114_;
			T114_ = (NIM_BOOL)0;
			T114_ = isDefList__packagesZdocutilsZrst_5505(p);
			if (!T114_) goto LA115_;
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 10);
		}
		goto LA97_;
		LA115_: ;
		{
			result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5);
		}
		LA97_: ;
	}
	break;
	default:
	{
		result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 73);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseLiteralBlock__packagesZdocutilsZrst_5270)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 25));
	n = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) NIM_NIL));
	{
		NI indent;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA3_;
		indent = (*p).tok->data[(*p).idx].ival;
		{
			while (1) {
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA6;
				(*p).idx += ((NI) 1);
			} LA6: ;
		}
		{
			while (1) {
				switch ((*p).tok->data[(*p).idx].kind) {
				case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 0):
				{
					goto LA7;
				}
				break;
				case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseBulletList__packagesZdocutilsZrst_6050)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	{
		NimStringDesc* bullet;
		NI col;
		if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA3_;
		bullet = copyString((*p).tok->data[(*p).idx].symbol);
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 6));
		pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(NI)((*p).idx + ((NI) 2))].col);
		(*p).idx += ((NI) 2);
		{
			while (1) {
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* item;
				tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T7_;
				T7_ = NIM_NIL;
				T7_ = NIM_NIL;
				item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 7), T7_, ((NimStringDesc*) NIM_NIL));
				parseSection__packagesZdocutilsZrst_5154(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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseLineBlock__packagesZdocutilsZrst_5626)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 27));
		{
			while (1) {
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* item;
				tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T7_;
				T7_ = NIM_NIL;
				T7_ = NIM_NIL;
				item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 28), T7_, ((NimStringDesc*) NIM_NIL));
				{
					if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5154(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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_4045)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI startIdx, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result) {
	NI lastIdx;
	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
	(*Result).Field1 = 0;
	lastIdx = getRefnameIdx__packagesZdocutilsZrst_4020(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__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg 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_5090)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		getRefname__packagesZdocutilsZrst_4045((&(*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__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA16_;
					(*p).idx += ((NI) 1);
				}
				goto LA14_;
				LA16_: ;
				{
					NimStringDesc* T21_;
					if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__LqGn2jXOUcn3gFaPF4DWNg) 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__LqGn2jXOUcn3gFaPF4DWNg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__LqGn2jXOUcn3gFaPF4DWNg) 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__AUK89aIO9ccPtw38jya2kdpA, lineInfo__packagesZdocutilsZrst_2468)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI iTok) {
	tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA));
	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__AUK89aIO9ccPtw38jya2kdpA, lineInfo__packagesZdocutilsZrst_2472)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA));
	result = lineInfo__packagesZdocutilsZrst_2468(p, (*p).idx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, newLeaf__packagesZdocutilsZrst_4010)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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_4176)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4188)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4176(p);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownStart__packagesZdocutilsZrst_4181)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4176(p);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__packagesZdocutilsZrst_4203)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_44(TM__6mNpeIAN05DnDNzb9b3611A_116, 4, markup);
		if (!T14_) goto LA15_;
		result = inlineRstStart__packagesZdocutilsZrst_4188(p);
	}
	goto LA12_;
	LA15_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 3))&7U)))!=0)) goto LA20_;
			result = inlineMarkdownStart__packagesZdocutilsZrst_4181(p);
		}
		goto LA18_;
		LA20_: ;
		{
			result = inlineRstStart__packagesZdocutilsZrst_4188(p);
		}
		LA18_: ;
	}
	LA12_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstEnd__packagesZdocutilsZrst_4094)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4087)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4109)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_44(TM__6mNpeIAN05DnDNzb9b3611A_122, 2, markup);
		if (!T20_) goto LA21_;
		result = inlineRstEnd__packagesZdocutilsZrst_4094(p);
	}
	goto LA18_;
	LA21_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 3))&7U)))!=0)) goto LA26_;
			result = inlineMarkdownEnd__packagesZdocutilsZrst_4087(p);
		}
		goto LA24_;
		LA26_: ;
		{
			result = inlineRstEnd__packagesZdocutilsZrst_4094(p);
		}
		LA24_: ;
	}
	LA18_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw 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__dyNB5o2GYLzoO6FJ2RhiZw, dotdot___pureZunicode_840)(NI a, NI b) {
	tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__packagesZdocutilsZrst_4728)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father) {
	{
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50))) goto LA3_;
		(*p).idx += ((NI) 1);
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T9_;
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2)))) goto LA7_;
			T9_ = NIM_NIL;
			T9_ = newLeaf__packagesZdocutilsZrst_4010(p);
			add__packagesZdocutilsZrstast_206(father, T9_);
		}
		LA7_: ;
		{
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 0)))) goto LA12_;
			(*p).idx += ((NI) 1);
		}
		LA12_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T15_;
		T15_ = NIM_NIL;
		T15_ = newLeaf__packagesZdocutilsZrst_4010(p);
		add__packagesZdocutilsZrstast_206(father, T15_);
		(*p).idx += ((NI) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__packagesZdocutilsZrst_4758)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
			{
				{
					NIM_BOOL T6_;
					NI l;
					T6_ = (NIM_BOOL)0;
					T6_ = isInlineMarkupEnd__packagesZdocutilsZrst_4109((&(*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__dyNB5o2GYLzoO6FJ2RhiZw T13_;
						NimStringDesc* T14_;
						tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__jo4WO9beNiWGoaKRjSrOMJQ*) setLengthSeqV2(((*father).sons)?&((*father).sons)->Sup:NIM_NIL, (&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_), ((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__o7Mf73b09cQpxU9cdK19aKkqQ* T37_;
								tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ* T46_;
							T46_ = NIM_NIL;
							T46_ = newLeaf__packagesZdocutilsZrst_4010(p);
							add__packagesZdocutilsZrstast_206(father, T46_);
							(*p).idx += ((NI) 1);
						}
						LA29_: ;
					}
					goto LA25_;
					LA27_: ;
					{
						{
							if (!interpretBackslash) goto LA50_;
							parseBackslash__packagesZdocutilsZrst_4728(p, father);
						}
						goto LA48_;
						LA50_: ;
						{
							tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T53_;
							T53_ = NIM_NIL;
							T53_ = newLeaf__packagesZdocutilsZrst_4010(p);
							add__packagesZdocutilsZrstast_206(father, T53_);
							(*p).idx += ((NI) 1);
						}
						LA48_: ;
					}
					LA25_: ;
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
			{
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T55_;
				T55_ = NIM_NIL;
				T55_ = newLeaf__packagesZdocutilsZrst_4010(p);
				add__packagesZdocutilsZrstast_206(father, T55_);
				(*p).idx += ((NI) 1);
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1):
			{
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA60_;
					rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 1), postfix, line, col);
					goto LA1;
				}
				LA60_: ;
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2):
			{
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__LqGn2jXOUcn3gFaPF4DWNg) 1), postfix, line, col);
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__packagesZdocutilsZrst_2167)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, NimStringDesc** r, NIM_BOOL* b) {
{	{
		if (!(n == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseMarkdownCodeblock__packagesZdocutilsZrst_4840)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* args;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T1_;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* lb;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T18_;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 51));
	(*result)._kind_7.info = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 45), T1_, ((NimStringDesc*) NIM_NIL));
	{
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T6_;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = newLeaf__packagesZdocutilsZrst_4010(p);
		add__packagesZdocutilsZrstast_206(args, T6_);
		(*p).idx += ((NI) 1);
	}
	goto LA2_;
	LA4_: ;
	{
		args = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	}
	LA2_: ;
	n = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 0):
			{
				rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 1), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_51));
				goto LA8;
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__ZgH3X3ZZR9bYozFm5ci6phg) 25), T18_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_206(lb, n);
	add__packagesZdocutilsZrstast_206(result, args);
	add__packagesZdocutilsZrstast_206(result, ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL));
	add__packagesZdocutilsZrstast_206(result, lb);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg, whichRole__packagesZdocutilsZrst_4368)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* sym) {
	tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg result;
	result = (tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg)0;
	result = whichRoleAux__packagesZdocutilsZrst_515(sym);
	{
		if (!(result == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 60))) goto LA3_;
		rstMessage__packagesZdocutilsZrst_2070(p, ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 12), sym);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, toInlineCode__packagesZdocutilsZrst_4376)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, NimStringDesc* language) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T1_;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* args;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T2_;
	NimStringDesc* lang;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T10_;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* lb;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T11_;
	NimStringDesc* s;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T16_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 58), (*n)._kind_7.info, T1_);
	T2_ = NIM_NIL;
	T2_ = NIM_NIL;
	args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL));
	T11_ = NIM_NIL;
	T11_ = NIM_NIL;
	lb = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 25), T11_, ((NimStringDesc*) NIM_NIL));
	s = NIM_NIL;
	{
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ** i;
		NI i_2;
		NI L;
		NI T13_;
		i = (tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ**)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__o7Mf73b09cQpxU9cdK19aKkqQ*, toOtherRole__packagesZdocutilsZrst_4395)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind, NimStringDesc* roleName) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* newN;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* newSons;
	result = NIM_NIL;
	newN = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
	newSons = (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) newSeq((&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_), 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_4344)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ* n, NimStringDesc** result) {
	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__o7Mf73b09cQpxU9cdK19aKkqQ* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	addNodesAux__packagesZdocutilsZrst_2152(n, (&result));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setRef__packagesZdocutilsZrst_2272)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* key, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* value) {
	NI length;
	NI T1_;
	tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ 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__LqGn2jXOUcn3gFaPF4DWNg) 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__rZij7FJC9a7u59cpJsTlOCYQ));
	nimZeroMem((void*)(&T15_), sizeof(tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ));
	T15_.key = copyString(key);
	T15_.value = value;
	asgnRef((void**) (&(*(*p).s).refs), (tySequence__7HTk34lAlArJP89aG2XjZEA*) incrSeqV3((TGenericSeq*)((*(*p).s).refs), (&NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_)));
	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__o7Mf73b09cQpxU9cdK19aKkqQ*, finalizeInterpreted__packagesZdocutilsZrst_4421)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* node, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg newKind, tySequence__jo4WO9beNiWGoaKRjSrOMJQ* newSons, NimStringDesc* roleName) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	{
		if (!(newKind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 60) || newKind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 59))) goto LA3_;
		result = toOtherRole__packagesZdocutilsZrst_4395(node, newKind, roleName);
	}
	goto LA1_;
	LA3_: ;
	{
		if (!(newKind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 58))) goto LA6_;
		result = toInlineCode__packagesZdocutilsZrst_4376(node, roleName);
	}
	goto LA1_;
	LA6_: ;
	{
		result = newRstNode__packagesZdocutilsZrstast_109(newKind, newSons, ((NimStringDesc*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parsePostfix__packagesZdocutilsZrst_4415)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg newKind;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* newSons;
	result = NIM_NIL;
	newKind = (*n).kind;
	genericSeqAssign((&newSons), (*n).sons, (&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isInlineMarkupEnd__packagesZdocutilsZrst_4109((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114), NIM_TRUE);
		if (T3_) goto LA4_;
		T3_ = isInlineMarkupEnd__packagesZdocutilsZrst_4109((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_117), NIM_TRUE);
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).idx += ((NI) 1);
		{
			NIM_BOOL T9_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T13_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* b;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* 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__ZgH3X3ZZR9bYozFm5ci6phg) 0), T13_, ((NimStringDesc*) NIM_NIL));
			T14_ = NIM_NIL;
			T14_ = NIM_NIL;
			b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T14_, ((NimStringDesc*) NIM_NIL));
			fixupEmbeddedRef__packagesZdocutilsZrst_4344(n, a, b);
			{
				NI T17_;
				T17_ = (NI)0;
				T17_ = len__packagesZdocutilsZrstast_102(a);
				if (!(T17_ == ((NI) 0))) goto LA18_;
				newKind = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 39);
				newSons = (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) newSeq((&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_), 1);
				asgnRef((void**) (&newSons->data[0]), b);
			}
			goto LA15_;
			LA18_: ;
			{
				NimStringDesc* T21_;
				newKind = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 40);
				newSons = (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) newSeq((&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_), 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__ZgH3X3ZZR9bYozFm5ci6phg) 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_4269((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_145));
		if (!T24_) goto LA25_;
		nimZeroMem((void*)(&T27_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		getRefname__packagesZdocutilsZrst_4045((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T27_));
		roleName = NIM_NIL;
		roleName = T27_.Field0;
		lastIdx = (NI)0;
		lastIdx = T27_.Field1;
		newKind = whichRole__packagesZdocutilsZrst_4368((&(*p)), roleName);
		result = finalizeInterpreted__packagesZdocutilsZrst_4421(n, newKind, newSons, roleName);
		(*p).idx = (NI)(lastIdx + ((NI) 2));
	}
	goto LA1_;
	LA25_: ;
	{
		result = finalizeInterpreted__packagesZdocutilsZrst_4421(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_4618)(tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ* token, tySequence__lBgZ7a89beZGYPl8PiANMTA** parensStack) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		NIM_CHAR c;
		if (!((*token).kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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))?&((*parensStack))->Sup:NIM_NIL, (&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_4866)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father) {
	NIM_BOOL result;
	NimStringDesc* desc;
	NimStringDesc* link;
	NI i;
	tySequence__lBgZ7a89beZGYPl8PiANMTA* parensStack;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* child;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* 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)?&(parensStack)->Sup:NIM_NIL, (&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_4618((&(*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)?&(parensStack)->Sup:NIM_NIL, (&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_4618((&(*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__ZgH3X3ZZR9bYozFm5ci6phg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseFootnoteName__packagesZdocutilsZrst_4953)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_BOOL reference) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NI i;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T1_;
{	result = NIM_NIL;
	i = (NI)((*p).idx + ((NI) 1));
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T53_;
			{
				if (!((7 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA6_;
				result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
				goto BeforeRet_;
			}
			LA6_: ;
			{
				if (!((*p).tok->data[i].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA18_: ;
				}
				goto LA16_;
				LA13_: ;
				{
					{
						if (!!((i == (NI)((*p).idx + ((NI) 1))))) goto LA36_;
						result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA45_: ;
				}
				goto LA16_;
				LA15_: ;
				{
					{
						NIM_BOOL T50_;
						T50_ = (NIM_BOOL)0;
						T50_ = validRefnamePunct__packagesZdocutilsZrst_4013((*p).tok->data[i].symbol);
						if (!!(T50_)) goto LA51_;
						result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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_2565;
	excHandler__system_2565 = s;
}
static N_INLINE(void, popSafePoint)(void) {
	excHandler__system_2565 = (*excHandler__system_2565).prev;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = NIM_NIL;
	result = currException__system_2566;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__rVoGvR7ILGzTjPxMLwukPg, getFootnoteType__packagesZdocutilsZrst_4923)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* label) {
	tyTuple__rVoGvR7ILGzTjPxMLwukPg volatile result;
	nimZeroMem((void*)(&result), sizeof(tyTuple__rVoGvR7ILGzTjPxMLwukPg));
	{
		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__ZgH3X3ZZR9bYozFm5ci6phg) 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__jXnI8xEO3SXxVR9afYCJnyQ colontmp_;
			NI colontmp__2;
			T12_ = ((*label).sons ? (*label).sons->Sup.len : 0);
			if (!(T12_ == ((NI) 1))) goto LA13_;
			colontmp_ = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 1);
			colontmp__2 = ((NI) -1);
			result.Field0 = colontmp_;
			result.Field1 = colontmp__2;
		}
		goto LA10_;
		LA13_: ;
		{
			tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ colontmp__3;
			NI colontmp__4;
			colontmp__3 = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 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__jXnI8xEO3SXxVR9afYCJnyQ 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__ZgH3X3ZZR9bYozFm5ci6phg) 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__jXnI8xEO3SXxVR9afYCJnyQ) 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__jXnI8xEO3SXxVR9afYCJnyQ 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__ZgH3X3ZZR9bYozFm5ci6phg) 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__jXnI8xEO3SXxVR9afYCJnyQ) 0);
		colontmp__8 = nsuParseInt((*(*label).sons->data[((NI) 0)])._kind_1.text);
		result.Field0 = colontmp__7;
		result.Field1 = colontmp__8;
		popSafePoint();
		}
		else {
			popSafePoint();
			if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__5lcTdgqMq62cNGRwBb0thA_))) {
				tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ colontmp__9;
				NI colontmp__10;
				TM__6mNpeIAN05DnDNzb9b3611A_153.status = 0;
				colontmp__9 = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 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__jXnI8xEO3SXxVR9afYCJnyQ colontmp__11;
		NI colontmp__12;
		colontmp__11 = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 4);
		colontmp__12 = ((NI) -1);
		result.Field0 = colontmp__11;
		result.Field1 = colontmp__12;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__packagesZdocutilsZrst_4460)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseSmiley__packagesZdocutilsZrst_4477)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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_4460((&(*p)), (*p).idx, key);
				{
					tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T12_;
					NimStringDesc* T13_;
					if (!(((NI) 0) < m)) goto LA10_;
					(*p).idx = m;
					T12_ = NIM_NIL;
					T12_ = NIM_NIL;
					result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_4552)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 3));
	LA5_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA6_;
	T1_ = contains__stdZenumutils_44(TM__6mNpeIAN05DnDNzb9b3611A_213, 5, (*p).tok->data[i].symbol);
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseUrl__packagesZdocutilsZrst_4653)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* 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__ZgH3X3ZZR9bYozFm5ci6phg) 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_4618((&(*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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_4686)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father) {
	{
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T5_;
		if (!!(((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5)))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = newLeaf__packagesZdocutilsZrst_4010(p);
		add__packagesZdocutilsZrstast_206(father, T5_);
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T7_;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T10_;
		T7_ = (NIM_BOOL)0;
		T7_ = isUrl__packagesZdocutilsZrst_4552((&(*p)), (*p).idx);
		if (!T7_) goto LA8_;
		T10_ = NIM_NIL;
		T10_ = parseUrl__packagesZdocutilsZrst_4653(p);
		add__packagesZdocutilsZrstast_206(father, T10_);
	}
	goto LA1_;
	LA8_: ;
	{
		NI saveIdx;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* reference;
		saveIdx = (*p).idx;
		reference = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 5))) goto LA16_;
					{
						NIM_BOOL T20_;
						tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T23_;
						tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T24_;
						T20_ = (NIM_BOOL)0;
						T20_ = isInlineMarkupEnd__packagesZdocutilsZrst_4109((&(*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__ZgH3X3ZZR9bYozFm5ci6phg) 41), T23_, T24_);
						goto LA12;
					}
					LA21_: ;
					{
						NIM_BOOL T27_;
						T27_ = (NIM_BOOL)0;
						T27_ = validRefnamePunct__packagesZdocutilsZrst_4013((*p).tok->data[(*p).idx].symbol);
						if (!!(T27_)) goto LA28_;
						goto LA12;
					}
					LA28_: ;
				}
				LA16_: ;
				(*p).idx += ((NI) 1);
			} LA13: ;
		} LA12: ;
		{
			if (!!((reference == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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_4986)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n;
	NI saveIdx;
{	n = NIM_NIL;
	saveIdx = (*p).idx;
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
	{
		{
			NIM_BOOL T4_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_2;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T7_;
			T4_ = (NIM_BOOL)0;
			T4_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_120));
			if (!T4_) goto LA5_;
			T7_ = NIM_NIL;
			T7_ = NIM_NIL;
			n_2 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 66), T7_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4758(p, n_2, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_120), NIM_TRUE);
			add__packagesZdocutilsZrstast_206(father, n_2);
		}
		goto LA2_;
		LA5_: ;
		{
			NIM_BOOL T9_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_3;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T12_;
			T9_ = (NIM_BOOL)0;
			T9_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_125));
			if (!T9_) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = NIM_NIL;
			n_3 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 65), T12_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4758(p, n_3, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_125), NIM_TRUE);
			add__packagesZdocutilsZrstast_206(father, n_3);
		}
		goto LA2_;
		LA10_: ;
		{
			NIM_BOOL T14_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_4;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T17_;
			T14_ = (NIM_BOOL)0;
			T14_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76));
			if (!T14_) goto LA15_;
			T17_ = NIM_NIL;
			T17_ = NIM_NIL;
			n_4 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 64), T17_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4758(p, n_4, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76), NIM_TRUE);
			add__packagesZdocutilsZrstast_206(father, n_4);
		}
		goto LA2_;
		LA15_: ;
		{
			NIM_BOOL T19_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_5;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T22_;
			NimStringDesc* refn;
			tyTuple__wOvXi5VibnCNgN9buQRQD4A T23_;
			NimStringDesc* T24_;
			NI T25_;
			NimStringDesc* T26_;
			T19_ = (NIM_BOOL)0;
			T19_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_113));
			if (!T19_) goto LA20_;
			T22_ = NIM_NIL;
			T22_ = NIM_NIL;
			n_5 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 69), T22_, ((NimStringDesc*) NIM_NIL));
			(*p).idx += ((NI) 1);
			parseUntil__packagesZdocutilsZrst_4758(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__o7Mf73b09cQpxU9cdK19aKkqQ* T32_;
			T28_ = (NIM_BOOL)0;
			T28_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 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_4840(p);
			add__packagesZdocutilsZrstast_206(father, T32_);
		}
		goto LA2_;
		LA30_: ;
		{
			NIM_BOOL T34_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_6;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T37_;
			T34_ = (NIM_BOOL)0;
			T34_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_121));
			if (!T34_) goto LA35_;
			T37_ = NIM_NIL;
			T37_ = NIM_NIL;
			n_6 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 68), T37_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4758(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__ZgH3X3ZZR9bYozFm5ci6phg k;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_7;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T44_;
			T39_ = (NIM_BOOL)0;
			T39_ = match__packagesZdocutilsZrst_4269((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_145));
			if (!(T39_)) goto LA40_;
			lastIdx = getRefnameIdx__packagesZdocutilsZrst_4020((&(*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_4045((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T43_));
			roleName = NIM_NIL;
			roleName = T43_.Field0;
			_ = (NI)0;
			_ = T43_.Field1;
			k = whichRole__packagesZdocutilsZrst_4368((&(*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__ZgH3X3ZZR9bYozFm5ci6phg) 58))) goto LA47_;
				n_7 = toInlineCode__packagesZdocutilsZrst_4376(n_7, roleName);
			}
			LA47_: ;
			parseUntil__packagesZdocutilsZrst_4758(p, n_7, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115), NIM_FALSE);
			{
				if (!(k == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 60) || k == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 59))) goto LA51_;
				n_7 = toOtherRole__packagesZdocutilsZrst_4395(n_7, k, roleName);
			}
			LA51_: ;
			add__packagesZdocutilsZrstast_206(father, n_7);
		}
		goto LA2_;
		LA41_: ;
		{
			NIM_BOOL T54_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_8;
			tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T57_;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T58_;
			T54_ = (NIM_BOOL)0;
			T54_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*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__ZgH3X3ZZR9bYozFm5ci6phg) 67), T57_, T58_);
			parseUntil__packagesZdocutilsZrst_4758(p, n_8, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115), NIM_FALSE);
			n_8 = parsePostfix__packagesZdocutilsZrst_4415(p, n_8);
			add__packagesZdocutilsZrstast_206(father, n_8);
		}
		goto LA2_;
		LA55_: ;
		{
			NIM_BOOL T60_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_9;
			tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T63_;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T64_;
			T60_ = (NIM_BOOL)0;
			T60_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*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__ZgH3X3ZZR9bYozFm5ci6phg) 70), T63_, T64_);
			parseUntil__packagesZdocutilsZrst_4758(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__utHUlNkCVsWnNFCaZUhT7g) 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_4866(p, father);
			LA71_: ;
			if (!T66_) goto LA72_;
		}
		goto LA2_;
		LA72_: ;
		{
			NIM_BOOL T75_;
			NIM_BOOL T76_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* nn;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T81_;
			tyTuple__rVoGvR7ILGzTjPxMLwukPg T82_;
			tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ fnType;
			NI __2;
			T75_ = (NIM_BOOL)0;
			T76_ = (NIM_BOOL)0;
			T76_ = isInlineMarkupStart__packagesZdocutilsZrst_4203((&(*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_4953(p, NIM_TRUE);
			T75_ = !((n == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)));
			LA78_: ;
			if (!T75_) goto LA79_;
			T81_ = NIM_NIL;
			T81_ = NIM_NIL;
			nn = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_4923(n);
			fnType = T82_.Field0;
			__2 = T82_.Field1;
			switch (fnType) {
			case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 3):
			{
				tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T84_;
				NI T85_;
				T84_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
				asgnRef((void**) (&(*(*p).s).lineFootnoteSymRef), (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteSymRef), (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_)));
				T85_ = (*(*p).s).lineFootnoteSymRef->Sup.len++;
				(*(*p).s).lineFootnoteSymRef->data[T85_] = T84_;
			}
			break;
			case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 1):
			{
				tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T87_;
				NI T88_;
				T87_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
				asgnRef((void**) (&(*(*p).s).lineFootnoteNumRef), (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteNumRef), (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_)));
				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__o7Mf73b09cQpxU9cdK19aKkqQ* n_10;
				if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 0))&7U)))!=0)) goto LA93_;
				n_10 = parseSmiley__packagesZdocutilsZrst_4477(p);
				{
					if (!!((n_10 == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)))) goto LA97_;
					add__packagesZdocutilsZrstast_206(father, n_10);
					goto BeforeRet_;
				}
				LA97_: ;
			}
			LA93_: ;
			parseBackslash__packagesZdocutilsZrst_4728(p, father);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
	{
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_11;
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 0))&7U)))!=0)) goto LA102_;
			n_11 = parseSmiley__packagesZdocutilsZrst_4477(p);
			{
				if (!!((n_11 == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)))) goto LA106_;
				add__packagesZdocutilsZrstast_206(father, n_11);
				goto BeforeRet_;
			}
			LA106_: ;
		}
		LA102_: ;
		parseWordOrRef__packagesZdocutilsZrst_4686(p, father);
	}
	break;
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4):
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
	case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2):
	{
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T124_;
		{
			NIM_BOOL T111_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T115_;
			T111_ = (NIM_BOOL)0;
			T111_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 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_4840(p);
			add__packagesZdocutilsZrstast_206(father, T115_);
			goto BeforeRet_;
		}
		LA113_: ;
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n_12;
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 0))&7U)))!=0)) goto LA118_;
			n_12 = parseSmiley__packagesZdocutilsZrst_4477(p);
			{
				if (!!((n_12 == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)))) goto LA122_;
				add__packagesZdocutilsZrstast_206(father, n_12);
				goto BeforeRet_;
			}
			LA122_: ;
		}
		LA118_: ;
		T124_ = NIM_NIL;
		T124_ = newLeaf__packagesZdocutilsZrst_4010(p);
		add__packagesZdocutilsZrstast_206(father, T124_);
		(*p).idx += ((NI) 1);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseLine__packagesZdocutilsZrst_5148)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
			{
				parseInline__packagesZdocutilsZrst_4986(p, father);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getWrappableIndent__packagesZdocutilsZrst_5172)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	NI result;
	result = (NI)0;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA3_;
		result = (*p).tok->data[(*p).idx].ival;
	}
	goto LA1_;
	LA3_: ;
	{
		NI nextIndent;
		NI T6_;
		T6_ = (NI)0;
		T6_ = tokenAfterNewline__packagesZdocutilsZrst_5169(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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseField__packagesZdocutilsZrst_5180)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T1_;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T2_;
	NI col;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* fieldname;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T3_;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* fieldbody;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T4_;
	NI indent;
	result = NIM_NIL;
	T1_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	T2_ = NIM_NIL;
	T2_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 15), T1_, T2_);
	col = (*p).tok->data[(*p).idx].col;
	T3_ = NIM_NIL;
	T3_ = NIM_NIL;
	fieldname = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 16), T3_, ((NimStringDesc*) NIM_NIL));
	parseUntil__packagesZdocutilsZrst_4758(p, fieldname, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87), NIM_FALSE);
	T4_ = NIM_NIL;
	T4_ = NIM_NIL;
	fieldbody = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 17), T4_, ((NimStringDesc*) NIM_NIL));
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA7_;
		(*p).idx += ((NI) 1);
	}
	LA7_: ;
	indent = getWrappableIndent__packagesZdocutilsZrst_5172((&(*p)));
	{
		if (!(col < indent)) goto LA11_;
		pushInd__packagesZdocutilsZrst_2104(p, indent);
		parseSection__packagesZdocutilsZrst_5154(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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseFields__packagesZdocutilsZrst_5195)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NIM_BOOL atStart;
	NIM_BOOL T1_;
	result = NIM_NIL;
	result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 14));
		{
			if (!!(atStart)) goto LA18_;
			(*p).idx += ((NI) 1);
		}
		LA18_: ;
		{
			while (1) {
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T22_;
				T22_ = NIM_NIL;
				T22_ = parseField__packagesZdocutilsZrst_5180(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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDirective__packagesZdocutilsZrst_6440)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg k, tySet_tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ flags) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* args;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* options;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, k);
	{
		if (!(k == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 51))) goto LA3_;
		(*result)._kind_7.info = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	}
	LA3_: ;
	args = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	options = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	{
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T9_;
		if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ) 0))&7U)))!=0)) goto LA7_;
		T9_ = NIM_NIL;
		T9_ = NIM_NIL;
		args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 45), T9_, ((NimStringDesc*) NIM_NIL));
		{
			if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ) 2))&7U)))!=0)) goto LA12_;
			{
				while (1) {
					switch ((*p).tok->data[(*p).idx].kind) {
					case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
					case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
					case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
					case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4):
					{
						tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T17_;
						T17_ = NIM_NIL;
						T17_ = newLeaf__packagesZdocutilsZrst_4010(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__yW9a9coKMG6KHE9c3rARjsarQ) 3))&7U)))!=0)) goto LA20_;
			{
				while (1) {
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA23;
					(*p).idx += ((NI) 1);
				} LA23: ;
			}
			{
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T28_;
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3))) goto LA26_;
				T28_ = NIM_NIL;
				T28_ = newLeaf__packagesZdocutilsZrst_4010(p);
				add__packagesZdocutilsZrstast_206(args, T28_);
				(*p).idx += ((NI) 1);
			}
			goto LA24_;
			LA26_: ;
			{
				args = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
			}
			LA24_: ;
		}
		goto LA10_;
		LA20_: ;
		{
			parseLine__packagesZdocutilsZrst_5148(p, args);
		}
		LA10_: ;
	}
	LA7_: ;
	add__packagesZdocutilsZrstast_206(result, args);
	{
		if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5195(p);
			popInd__packagesZdocutilsZrst_2111(p);
		}
		LA42_: ;
	}
	LA33_: ;
	add__packagesZdocutilsZrstast_206(result, options);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__packagesZdocutilsZrst_6492)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_6499)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ** father, tyProc__Fx3UmxpSP78wafCaxFNUbQ contentParser) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NI blockIndent;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* content;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1)));
		if (T3_) goto LA4_;
		T3_ = indFollows__packagesZdocutilsZrst_6492((&(*p)));
		LA4_: ;
		if (!T3_) goto LA5_;
		blockIndent = getWrappableIndent__packagesZdocutilsZrst_5172((&(*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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDirective__packagesZdocutilsZrst_6510)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg k, tySet_tyEnum_DirFlag__yW9a9coKMG6KHE9c3rARjsarQ flags, tyProc__Fx3UmxpSP78wafCaxFNUbQ contentParser) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6440(p, k, flags);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((contentParser == 0));
		if (!(T3_)) goto LA4_;
		T3_ = parseBlockContent__packagesZdocutilsZrst_6499(p, &result, contentParser);
		LA4_: ;
		if (!T3_) goto LA5_;
	}
	goto LA1_;
	LA5_: ;
	{
		add__packagesZdocutilsZrstast_206(result, ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirAdmonition__packagesZdocutilsZrst_6609)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* d) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 52), 0, parseSectionWrapper__packagesZdocutilsZrst_6407);
	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__o7Mf73b09cQpxU9cdK19aKkqQ* n, NimStringDesc* fieldname) {
	NimStringDesc* result;
{	result = NIM_NIL;
	{
		if (!((*n).sons->data[((NI) 1)] == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!!(((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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_121)(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__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_121(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__o7Mf73b09cQpxU9cdK19aKkqQ*, dirCodeBlock__packagesZdocutilsZrst_6556)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_BOOL nimExtension) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 51), 3, parseLiteralBlock__packagesZdocutilsZrst_5270);
	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__o7Mf73b09cQpxU9cdK19aKkqQ* n;
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T14_;
		NimStringDesc* T15_;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T16_;
		if (!!(((filename ? filename->Sup.len : 0) == 0))) goto LA4_;
		{
			tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ tok;
			if (!!((((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 5))&7U)))!=0))) goto LA8_;
			nimZeroMem((void*)(&tok), sizeof(tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ));
			nimCopyMem((void*)(&tok), (NIM_CONST void*)(&(*p).tok->data[(NI)((*p).idx - ((NI) 2))]), sizeof(tok));
			rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 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__LqGn2jXOUcn3gFaPF4DWNg) 0), filename);
		}
		LA12_: ;
		T14_ = NIM_NIL;
		T14_ = NIM_NIL;
		n = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 25), T14_, ((NimStringDesc*) NIM_NIL));
		T15_ = NIM_NIL;
		T15_ = readFile__systemZio_469(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__o7Mf73b09cQpxU9cdK19aKkqQ* extraNode;
		tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T26_;
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T27_;
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T28_;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T29_;
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T30_;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T31_;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T32_;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T33_;
		if (!nimExtension) goto LA19_;
		{
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* 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__ZgH3X3ZZR9bYozFm5ci6phg) 14), T25_, ((NimStringDesc*) NIM_NIL)));
		}
		LA23_: ;
		T26_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
		T27_ = NIM_NIL;
		T27_ = NIM_NIL;
		extraNode = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 15), T26_, T27_);
		T28_ = NIM_NIL;
		T28_ = NIM_NIL;
		T29_ = NIM_NIL;
		T29_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__ZgH3X3ZZR9bYozFm5ci6phg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*, dirContainer__packagesZdocutilsZrst_6588)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 55), 1, parseSectionWrapper__packagesZdocutilsZrst_6407);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirContents__packagesZdocutilsZrst_6603)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 48), 1, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirDefaultRole__packagesZdocutilsZrst_6613)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_4368((&(*p)), (*(*p).s).currRole);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirFigure__packagesZdocutilsZrst_6597)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 50), 7, parseSectionWrapper__packagesZdocutilsZrst_6407);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirImage__packagesZdocutilsZrst_6594)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 49), 7, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirInclude__packagesZdocutilsZrst_6523)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	NimStringDesc* path;
	result = NIM_NIL;
	result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	n = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__LqGn2jXOUcn3gFaPF4DWNg) 0), filename);
	}
	goto LA2_;
	LA4_: ;
	{
		{
			NimStringDesc* T9_;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T12_;
			NimStringDesc* T13_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__ZgH3X3ZZR9bYozFm5ci6phg) 25), T12_, ((NimStringDesc*) NIM_NIL));
			T13_ = NIM_NIL;
			T13_ = readFile__systemZio_469(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__Nk9bIObsAkkI8z7H9cw9bOnnw q;
			NI32 saveFileIdx;
			tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw T40_;
			NimStringDesc* T41_;
			inputString = readFile__systemZio_469(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__Nk9bIObsAkkI8z7H9cw9bOnnw));
			q.Sup.m_type = (&NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_);
			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_5812((&q));
			(*(*p).s).currFileIdx = saveFileIdx;
		}
		LA7_: ;
	}
	LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirIndex__packagesZdocutilsZrst_6606)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 56), 0, parseSectionWrapper__packagesZdocutilsZrst_6407);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDirBody__packagesZdocutilsZrst_6519)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyProc__Fx3UmxpSP78wafCaxFNUbQ contentParser) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = indFollows__packagesZdocutilsZrst_6492((&(*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_6631)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ** result, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg kind, tyProc__Fx3UmxpSP78wafCaxFNUbQ 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__LqGn2jXOUcn3gFaPF4DWNg) 0), filename);
		}
		goto LA5_;
		LA7_: ;
		{
			NimStringDesc* f;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T10_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T11_;
			f = readFile__systemZio_469(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__o7Mf73b09cQpxU9cdK19aKkqQ* T13_;
		unsureAsgnRef((void**) (&(*result)), newRstNode__packagesZdocutilsZrstast_109(kind, (*(*result)).sons, ((NimStringDesc*) NIM_NIL)));
		T13_ = NIM_NIL;
		T13_ = parseDirBody__packagesZdocutilsZrst_6519(p, contentParser);
		add__packagesZdocutilsZrstast_206((*result), T13_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirRaw__packagesZdocutilsZrst_6639)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6440(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 44), 11);
	{
		if (!!(((*result).sons->data[((NI) 0)] == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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_6631(p, &result, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 53), parseLiteralBlock__packagesZdocutilsZrst_5270);
		}
		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_6631(p, &result, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 54), parseLiteralBlock__packagesZdocutilsZrst_5270);
		}
		goto LA5_;
		LA12_: ;
		{
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 6), (*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		dirRawAux__packagesZdocutilsZrst_6631(p, &result, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 46), parseSectionWrapper__packagesZdocutilsZrst_6407);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirRole__packagesZdocutilsZrst_6623)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NimStringDesc* lang;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__caWYuN9aCrrNgLAxHN3okug T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((lang ? lang->Sup.len : 0) == 0));
		if (!(T4_)) goto LA5_;
		T6_ = (tyEnum_SourceLanguage__caWYuN9aCrrNgLAxHN3okug)0;
		T6_ = getSourceLanguage__packagesZdocutilsZhighlite_97(lang);
		T4_ = (T6_ == ((tyEnum_SourceLanguage__caWYuN9aCrrNgLAxHN3okug) 0));
		LA5_: ;
		if (!T4_) goto LA7_;
		rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 12), lang);
	}
	LA7_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, dirTitle__packagesZdocutilsZrst_6600)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6510(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 47), 1, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, selectDir__packagesZdocutilsZrst_6646)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* d) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ tok;
	result = NIM_NIL;
	result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	nimZeroMem((void*)(&tok), sizeof(tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ));
	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__utHUlNkCVsWnNFCaZUhT7g) 5))&7U)))!=0))) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = contains__stdZenumutils_44(SandboxDirAllowlist__packagesZdocutilsZrst_73, 3, d);
			if (!!(T7_)) goto LA8_;
			rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 15), d, tok.line, tok.col);
		}
		LA8_: ;
	}
	LA3_: ;
	switch (hashString(d) & 31) {
	case 4: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_101))) goto LA17_;
break;
	case 5: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_96))) goto LA10_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_111))) goto LA28_;
break;
	case 7: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_92))) goto LA20_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_104))) goto LA21_;
break;
	case 8: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_110))) goto LA27_;
break;
	case 9: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_106))) goto LA23_;
break;
	case 10: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_94))) goto LA10_;
break;
	case 11: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_95))) goto LA10_;
break;
	case 15: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_25))) goto LA11_;
break;
	case 16: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_105))) goto LA22_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_112))) goto LA29_;
break;
	case 17: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_93))) goto LA12_;
break;
	case 20: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_97))) goto LA13_;
break;
	case 23: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_107))) goto LA24_;
break;
	case 24: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102))) goto LA18_;
break;
	case 25: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_99))) goto LA15_;
break;
	case 27: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_103))) goto LA19_;
break;
	case 28: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_98))) goto LA14_;
break;
	case 29: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_100))) goto LA16_;
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_6609(p, d);
	}
	goto LA31_;
	LA11_: ;
	{
		result = dirCodeBlock__packagesZdocutilsZrst_6556(p, NIM_FALSE);
	}
	goto LA31_;
	LA12_: ;
	{
		result = dirCodeBlock__packagesZdocutilsZrst_6556(p, NIM_TRUE);
	}
	goto LA31_;
	LA13_: ;
	{
		result = dirContainer__packagesZdocutilsZrst_6588(p);
	}
	goto LA31_;
	LA14_: ;
	{
		result = dirContents__packagesZdocutilsZrst_6603(p);
	}
	goto LA31_;
	LA15_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6609(p, d);
	}
	goto LA31_;
	LA16_: ;
	{
		result = dirDefaultRole__packagesZdocutilsZrst_6613(p);
	}
	goto LA31_;
	LA17_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6609(p, d);
	}
	goto LA31_;
	LA18_: ;
	{
		result = dirFigure__packagesZdocutilsZrst_6597(p);
	}
	goto LA31_;
	LA19_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6609(p, d);
	}
	goto LA31_;
	LA20_: ;
	{
		result = dirImage__packagesZdocutilsZrst_6594(p);
	}
	goto LA31_;
	LA21_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6609(p, d);
	}
	goto LA31_;
	LA22_: ;
	{
		result = dirInclude__packagesZdocutilsZrst_6523(p);
	}
	goto LA31_;
	LA23_: ;
	{
		result = dirIndex__packagesZdocutilsZrst_6606(p);
	}
	goto LA31_;
	LA24_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6609(p, d);
	}
	goto LA31_;
	LA25_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 1))&7U)))!=0)) goto LA50_;
			result = dirRaw__packagesZdocutilsZrst_6639(p);
		}
		goto LA48_;
		LA50_: ;
		{
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 6), d);
		}
		LA48_: ;
	}
	goto LA31_;
	LA26_: ;
	{
		result = dirRole__packagesZdocutilsZrst_6623(p);
	}
	goto LA31_;
	LA27_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6609(p, d);
	}
	goto LA31_;
	LA28_: ;
	{
		result = dirTitle__packagesZdocutilsZrst_6600(p);
	}
	goto LA31_;
	LA29_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6609(p, d);
	}
	goto LA31_;
	LA30_: ;
	{
		rstMessage__packagesZdocutilsZrst_2087((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 6), d, tok.line, tok.col);
	}
	LA31_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, getReferenceName__packagesZdocutilsZrst_4055)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* endStr) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* res;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	res = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2):
			{
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T5_;
				T5_ = NIM_NIL;
				T5_ = newLeaf__packagesZdocutilsZrst_4010(p);
				add__packagesZdocutilsZrstast_206(res, T5_);
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
			{
				{
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, endStr)) goto LA9_;
					(*p).idx += ((NI) 1);
					goto LA2;
				}
				goto LA7_;
				LA9_: ;
				{
					tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T12_;
					T12_ = NIM_NIL;
					T12_ = newLeaf__packagesZdocutilsZrst_4010(p);
					add__packagesZdocutilsZrstast_206(res, T12_);
				}
				LA7_: ;
			}
			break;
			default:
			{
				rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 1), endStr);
				goto LA2;
			}
			break;
			}
			(*p).idx += ((NI) 1);
		}
	} LA2: ;
	result = res;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, untilEol__packagesZdocutilsZrst_4068)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T4_;
			if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA3;
			T4_ = NIM_NIL;
			T4_ = newLeaf__packagesZdocutilsZrst_4010(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__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_4080)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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__LqGn2jXOUcn3gFaPF4DWNg) 1), tok);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setSub__packagesZdocutilsZrst_2245)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* key, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* value) {
	NI length;
	NI T1_;
	tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ 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__rZij7FJC9a7u59cpJsTlOCYQ));
	nimZeroMem((void*)(&T9_), sizeof(tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ));
	T9_.key = copyString(key);
	T9_.value = value;
	asgnRef((void**) (&(*(*p).s).subs), (tySequence__7HTk34lAlArJP89aG2XjZEA*) incrSeqV3((TGenericSeq*)((*(*p).s).subs), (&NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_)));
	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_6717)(tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ ftnType) {
	NimStringDesc* result;
	result = NIM_NIL;
	switch (ftnType) {
	case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 0):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_234));
	}
	break;
	case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 1):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_235));
	}
	break;
	case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 2):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_234));
	}
	break;
	case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 3):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_236));
	}
	break;
	case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 4):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_237));
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumManual__packagesZdocutilsZrst_2405)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI num) {
	tyTuple__KPVKrfx82Va9azSnb0dl1RQ T10_;
	NI T11_;
{	{
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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__LqGn2jXOUcn3gFaPF4DWNg) 9), T9_);
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T10_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
	T10_.Field0 = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 0);
	T10_.Field1 = num;
	T10_.Field2 = ((NI) -1);
	T10_.Field3 = ((NI) -1);
	T10_.Field4 = dollar___systemZdollars_3(num);
	asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_)));
	T11_ = (*(*p).s).footnotes->Sup.len++;
	genericAssign((void*)(&(*(*p).s).footnotes->data[T11_]), (void*)(&T10_), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumAuto__packagesZdocutilsZrst_2475)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NimStringDesc* label) {
{	{
		tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T5_;
		NI T6_;
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ 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__axx1LQ9awiGkP3NNnW2X9cOQ*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteNum), (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_)));
		T6_ = (*(*p).s).lineFootnoteNum->Sup.len++;
		(*(*p).s).lineFootnoteNum->data[T6_] = T5_;
		nimZeroMem((void*)(&T7_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
		T7_.Field0 = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 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__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_)));
		T9_ = (*(*p).s).footnotes->Sup.len++;
		genericAssign((void*)(&(*(*p).s).footnotes->data[T9_]), (void*)(&T7_), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
	}
	goto LA1_;
	LA3_: ;
	{
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ T19_;
		NI T20_;
		{
			tyTuple__KPVKrfx82Va9azSnb0dl1RQ* fnote;
			NI i;
			NI L;
			NI T12_;
			fnote = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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__LqGn2jXOUcn3gFaPF4DWNg) 9), label);
						goto BeforeRet_;
					}
					LA17_: ;
					i += ((NI) 1);
				} LA14: ;
			}
		}
		nimZeroMem((void*)(&T19_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
		T19_.Field0 = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 2);
		T19_.Field1 = ((NI) -1);
		T19_.Field2 = ((NI) -1);
		T19_.Field3 = ((NI) -1);
		T19_.Field4 = copyString(label);
		asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_)));
		T20_ = (*(*p).s).footnotes->Sup.len++;
		genericAssign((void*)(&(*(*p).s).footnotes->data[T20_]), (void*)(&T19_), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteSymAuto__packagesZdocutilsZrst_2498)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA T1_;
	NI T2_;
	tyTuple__KPVKrfx82Va9azSnb0dl1RQ T3_;
	NI T4_;
	NI T5_;
	T1_ = lineInfo__packagesZdocutilsZrst_2472((&(*p)));
	asgnRef((void**) (&(*(*p).s).lineFootnoteSym), (tySequence__axx1LQ9awiGkP3NNnW2X9cOQ*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteSym), (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_)));
	T2_ = (*(*p).s).lineFootnoteSym->Sup.len++;
	(*(*p).s).lineFootnoteSym->data[T2_] = T1_;
	nimZeroMem((void*)(&T3_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
	T3_.Field0 = ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 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__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_)));
	T5_ = (*(*p).s).footnotes->Sup.len++;
	genericAssign((void*)(&(*(*p).s).footnotes->data[T5_]), (void*)(&T3_), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseFootnote__packagesZdocutilsZrst_6720)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* label;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T5_;
	tyTuple__rVoGvR7ILGzTjPxMLwukPg T6_;
	tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ fnType;
	NI i;
	NimStringDesc* name;
	NimStringDesc* anchor;
	NimStringDesc* T23_;
	NIM_BOOL T28_;
{	result = NIM_NIL;
	(*p).idx += ((NI) 1);
	label = parseFootnoteName__packagesZdocutilsZrst_4953(p, NIM_FALSE);
	{
		if (!(label == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL))) goto LA3_;
		(*p).idx -= ((NI) 1);
		result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = NIM_NIL;
	T5_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 36), T5_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_206(result, label);
	T6_ = getFootnoteType__packagesZdocutilsZrst_4923(label);
	fnType = T6_.Field0;
	i = T6_.Field1;
	name = ((NimStringDesc*) NIM_NIL);
	anchor = prefix__packagesZdocutilsZrst_6717(fnType);
	switch (fnType) {
	case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 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__jXnI8xEO3SXxVR9afYCJnyQ) 1):
	case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 2):
	{
		name = rstnodeToRefname__packagesZdocutilsZrst_61(label);
		addFootnoteNumAuto__packagesZdocutilsZrst_2475(p, name);
		{
			if (!(fnType == ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 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__jXnI8xEO3SXxVR9afYCJnyQ) 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__jXnI8xEO3SXxVR9afYCJnyQ) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA26_;
		(*p).idx += ((NI) 1);
	}
	LA26_: ;
	T28_ = (NIM_BOOL)0;
	T28_ = parseBlockContent__packagesZdocutilsZrst_6499(p, &result, parseSectionWrapper__packagesZdocutilsZrst_6407);
	(void)(T28_);
	{
		NI T31_;
		T31_ = (NI)0;
		T31_ = len__packagesZdocutilsZrstast_102(result);
		if (!(T31_ < ((NI) 2))) goto LA32_;
		add__packagesZdocutilsZrstast_206(result, ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL));
	}
	LA32_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseComment__packagesZdocutilsZrst_5116)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI col) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 0)));
		if (!(T3_)) goto LA4_;
		T3_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA5_: ;
	{
		{
			while (1) {
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDotDot__packagesZdocutilsZrst_5268)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n;
	NI col;
	NimStringDesc* d;
	result = NIM_NIL;
	result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	n = NIM_NIL;
	col = (*p).tok->data[(*p).idx].col;
	(*p).idx += ((NI) 1);
	d = getDirective__packagesZdocutilsZrst_5090(p);
	{
		if (!!(((d ? d->Sup.len : 0) == 0))) goto LA3_;
		pushInd__packagesZdocutilsZrst_2104(p, col);
		result = selectDir__packagesZdocutilsZrst_6646(p, d);
		popInd__packagesZdocutilsZrst_2111(p);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* b;
		T6_ = (NIM_BOOL)0;
		T6_ = match__packagesZdocutilsZrst_4269((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_230));
		if (!T6_) goto LA7_;
		(*p).idx += ((NI) 2);
		a = getReferenceName__packagesZdocutilsZrst_4055(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA11_;
			(*p).idx += ((NI) 1);
		}
		LA11_: ;
		b = untilEol__packagesZdocutilsZrst_4068(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__o7Mf73b09cQpxU9cdK19aKkqQ* a_2;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* b_2;
		NimStringDesc* T39_;
		T22_ = (NIM_BOOL)0;
		T22_ = match__packagesZdocutilsZrst_4269((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_231));
		if (!T22_) goto LA23_;
		(*p).idx += ((NI) 2);
		a_2 = getReferenceName__packagesZdocutilsZrst_4055(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_62));
		b_2 = NIM_NIL;
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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_4080(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_52));
			b_2 = untilEol__packagesZdocutilsZrst_4068(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_6594(p);
		}
		goto LA29_;
		LA36_: ;
		{
			rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 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_4269((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_233));
		if (!(T41_)) goto LA42_;
		n = parseFootnote__packagesZdocutilsZrst_6720(p);
		T41_ = !((n == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)));
		LA42_: ;
		if (!T41_) goto LA43_;
		result = n;
	}
	goto LA1_;
	LA43_: ;
	{
		result = parseComment__packagesZdocutilsZrst_5116(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_6275)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_5157(p, (NI)((*p).idx + ((NI) 1)));
	requiredIndent = (*p).tok->data[(NI)((*p).idx + wildToken__packagesZdocutilsZrst_6169[((*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_4269(p, j, wildcards__packagesZdocutilsZrst_6168[((*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__LqGn2jXOUcn3gFaPF4DWNg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseEnumList__packagesZdocutilsZrst_6165)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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_4269((&(*p)), (*p).idx, wildcards__packagesZdocutilsZrst_6168[((*colonenv_).w1)- 0]);
				if (!T5_) goto LA6_;
				goto LA1;
			}
			LA6_: ;
			(*colonenv_).w1 += ((NI) 1);
		} LA2: ;
	} LA1: ;
	{
		tyProc__3YwSRjkb2X59bje7v5Mwi5w T10_;
		NIM_BOOL T11_;
		nimZeroMem((void*)(&T10_), sizeof(tyProc__3YwSRjkb2X59bje7v5Mwi5w));
		T10_.ClP_0 = checkAfterNewline__packagesZdocutilsZrst_6275; 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__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
		goto BeforeRet_;
	}
	LA12_: ;
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 8));
	{
		NimStringDesc* T18_;
		NimStringDesc* T19_;
		if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g) 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_6169[((*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_6170[((*colonenv_).w1)- 0])].symbol);
	(*p).idx += wildToken__packagesZdocutilsZrst_6169[((*colonenv_).w1)- 0];
	{
		while (1) {
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* item;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T32_;
			T32_ = NIM_NIL;
			T32_ = NIM_NIL;
			item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 9), T32_, ((NimStringDesc*) NIM_NIL));
			pushInd__packagesZdocutilsZrst_2104(p, (*p).tok->data[(*p).idx].col);
			parseSection__packagesZdocutilsZrst_5154(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__5529aNdqwAVN9bRxQ9c2XBvyg) 1));
				if (!(T36_)) goto LA37_;
				T36_ = ((*p).tok->data[(*p).idx].ival == (*colonenv_).col2);
				LA37_: ;
				T35_ = T36_;
				if (!(T35_)) goto LA38_;
				T35_ = match__packagesZdocutilsZrst_4269((&(*p)), (NI)((*p).idx + ((NI) 1)), wildcards__packagesZdocutilsZrst_6168[((*colonenv_).w1)- 0]);
				LA38_: ;
				if (!T35_) goto LA39_;
				{
					tyProc__3YwSRjkb2X59bje7v5Mwi5w T43_;
					NIM_BOOL T44_;
					nimZeroMem((void*)(&T43_), sizeof(tyProc__3YwSRjkb2X59bje7v5Mwi5w));
					T43_.ClP_0 = checkAfterNewline__packagesZdocutilsZrst_6275; 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_6170[((*colonenv_).w1)- 0])].symbol;
				{
					NIM_BOOL T49_;
					NI prevEnumI;
					TSafePoint TM__6mNpeIAN05DnDNzb9b3611A_250;
					T49_ = (NIM_BOOL)0;
					T49_ = contains__pureZstrutils_1627(wildcards__packagesZdocutilsZrst_6168[((*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();
						if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__5lcTdgqMq62cNGRwBb0thA_))) {
							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_44((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();
							if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__5lcTdgqMq62cNGRwBb0thA_))) {
								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_6169[((*colonenv_).w1)- 0]);
			}
			goto LA33_;
			LA39_: ;
			{
				goto LA30;
			}
			LA33_: ;
		}
	} LA30: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDefinitionList__packagesZdocutilsZrst_6129)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NI j;
	NI T1_;
	result = NIM_NIL;
	result = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	T1_ = (NI)0;
	T1_ = tokenAfterNewline__packagesZdocutilsZrst_5169((&(*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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 10));
		{
			while (1) {
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a;
				tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T20_;
				{
					NIM_BOOL T17_;
					T17_ = (NIM_BOOL)0;
					T17_ = isOptionList__packagesZdocutilsZrst_5513((&(*p)));
					if (!T17_) goto LA18_;
					goto LA13;
				}
				LA18_: ;
				j = (*p).idx;
				T20_ = NIM_NIL;
				T20_ = NIM_NIL;
				a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 12), T20_, ((NimStringDesc*) NIM_NIL));
				parseLine__packagesZdocutilsZrst_5148(p, a);
				{
					NIM_BOOL T23_;
					NIM_BOOL T24_;
					NIM_BOOL T25_;
					NI T27_;
					tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* b;
					tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T32_;
					tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* c;
					tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T33_;
					T23_ = (NIM_BOOL)0;
					T24_ = (NIM_BOOL)0;
					T25_ = (NIM_BOOL)0;
					T25_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__ZgH3X3ZZR9bYozFm5ci6phg) 13), T32_, ((NimStringDesc*) NIM_NIL));
					parseSection__packagesZdocutilsZrst_5154(p, b);
					T33_ = NIM_NIL;
					T33_ = NIM_NIL;
					c = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5169((&(*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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
		}
		LA58_: ;
	}
	LA11_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseTransition__packagesZdocutilsZrst_6027)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 4));
	(*p).idx += ((NI) 1);
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA3_;
		(*p).idx += ((NI) 1);
	}
	LA3_: ;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA7_;
		(*p).idx += ((NI) 1);
	}
	LA7_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__packagesZdocutilsZrst_5151)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
			{
				parseInline__packagesZdocutilsZrst_4986(p, father);
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 0):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1):
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__packagesZdocutilsZrst_5303)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NIM_CHAR c, NIM_BOOL hasOverline) {
	NI result;
	tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ T11_;
	NI T12_;
	NI T13_;
{	result = (NI)0;
	{
		NI i;
		tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ hType;
		NI i_2;
		NI L;
		NI T2_;
		i = (NI)0;
		nimZeroMem((void*)(&hType), sizeof(tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ));
		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__PM5uc3aqOwcmxPAA2Yt4pQ));
	T11_.symbol = c;
	T11_.hasOverline = hasOverline;
	T11_.line = curLine__packagesZdocutilsZrst_2062((&(*p)));
	T11_.hasPeers = NIM_FALSE;
	asgnRef((void**) (&(*(*p).s).hLevels), (tySequence__7EPs9bALtRDoJ5HKNxchjbQ*) incrSeqV3((TGenericSeq*)((*(*p).s).hLevels), (&NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_)));
	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__QNUbaGkbmoX1Nq9cnfcBnfg)(void* p, NI op) {
	tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA* a;
	a = (tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA*)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_5685)(NI l, void* ClE_0) {
	NimStringDesc* result;
	tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA* colonenvP_;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T8_;
	result = NIM_NIL;
	colonenvP_ = (tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA*) 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_5682)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI lvl) {
	tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA* colonenv_;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA*) newObj((&NTIrefobject__QNUbaGkbmoX1Nq9cnfcBnfg_), sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA));
	objectInit(colonenv_, (&NTIobject__5x5eh9bp2LV0X9cbFXuaecCA_));
	genericAssign((void*)(&(*colonenv_).p1), (void*)p, (&NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_));
	{
		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_5685; 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_5685; 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__LqGn2jXOUcn3gFaPF4DWNg) 4), T22_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseHeadline__packagesZdocutilsZrst_5694)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NimStringDesc* T9_;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isMarkdownHeadline__packagesZdocutilsZrst_5520((&(*p)));
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_5151(p, result);
	}
	goto LA1_;
	LA4_: ;
	{
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T8_;
		NIM_CHAR c;
		T8_ = NIM_NIL;
		T8_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 1), T8_, ((NimStringDesc*) NIM_NIL));
		parseUntilNewline__packagesZdocutilsZrst_5151(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_5303(p, c, NIM_FALSE);
		checkHeadingHierarchy__packagesZdocutilsZrst_5682((&(*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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseOverline__packagesZdocutilsZrst_5727)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NIM_CHAR c;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* 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__ZgH3X3ZZR9bYozFm5ci6phg) 2), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			parseUntilNewline__packagesZdocutilsZrst_5151(p, result);
			{
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA6_;
				(*p).idx += ((NI) 1);
				{
					NI T10_;
					tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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_5303(p, c, NIM_TRUE);
	checkHeadingHierarchy__packagesZdocutilsZrst_5682((&(*p)), (*result)._kind_5.level);
	(*(*p).s).hCurLevel = (*result)._kind_5.level;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4))) goto LA18_;
		(*p).idx += ((NI) 1);
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5766)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_5769)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols) {
	NI L;
	L = ((NI) 0);
	{
		while (1) {
			L += ((NI) 1);
			unsureAsgnRef((void**) (&(*cols)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(((*cols))?&((*cols))->Sup:NIM_NIL, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (L))));
			(*cols)->data[(NI)(L - ((NI) 1))] = tokEnd__packagesZdocutilsZrst_5766((&(*p)));
			(*p).idx += ((NI) 1);
			{
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2)))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
			(*p).idx += ((NI) 1);
			{
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4)))) goto LA9_;
				goto LA1;
			}
			LA9_: ;
		}
	} LA1: ;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA13_;
		(*p).idx += ((NI) 1);
	}
	LA13_: ;
	(*cols)->data[(NI)(L - ((NI) 1))] = ((NI) 32000);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseSimpleTable__packagesZdocutilsZrst_5814)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tySequence__qwqHTkRvwhrRyENtudHQ7g* cols;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* row;
	NI i;
	NI last;
	NI line;
	NIM_CHAR c;
	tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw q;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a;
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__Nk9bIObsAkkI8z7H9cw9bOnnw));
	q.Sup.m_type = (&NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_);
	a = NIM_NIL;
	b = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 30));
	cols = NIM_NIL;
	row = NIM_NIL;
	a = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
	c = (*p).tok->data[(*p).idx].symbol->data[((NI) 0)];
	{
		while (1) {
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T58_;
			{
				NI T11_;
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4))) goto LA5_;
				last = tokenAfterNewline__packagesZdocutilsZrst_5169((&(*p)));
				{
					if (!((3 &((NU8)1<<((NU)((*p).tok->data[last].kind)&7U)))!=0)) goto LA9_;
					(*p).idx = last;
					goto LA1;
				}
				LA9_: ;
				getColumns__packagesZdocutilsZrst_5769(p, (&cols));
				T11_ = (cols ? cols->Sup.len : 0);
				row = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2((row)?&(row)->Sup:NIM_NIL, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (T11_)));
				{
					if (!!((a == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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__ZgH3X3ZZR9bYozFm5ci6phg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5766((&(*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__5529aNdqwAVN9bRxQ9c2XBvyg) 2))) goto LA39_;
									(*p).idx += ((NI) 1);
								}
								LA39_: ;
								i += ((NI) 1);
							}
							LA31_: ;
						} LA30: ;
					}
					{
						if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA43_;
						(*p).idx += ((NI) 1);
					}
					LA43_: ;
					{
						NI T47_;
						T47_ = (NI)0;
						T47_ = tokEnd__packagesZdocutilsZrst_5766((&(*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__ZgH3X3ZZR9bYozFm5ci6phg) 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__jo4WO9beNiWGoaKRjSrOMJQ* T63_;
						tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__ZgH3X3ZZR9bYozFm5ci6phg) 35), T63_, ((NimStringDesc*) NIM_NIL));
						T64_ = NIM_NIL;
						T64_ = parseDoc__packagesZdocutilsZrst_5812((&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__8GrvRGC9bTidliwO0qD2EZg)(void* p, NI op) {
	tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA* a;
	a = (tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA*)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_5930)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_5169((&(*p)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getColContents__packagesZdocutilsZrst_5962)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* 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_6008)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg cellKind, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result, void* ClE_0) {
	tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA* colonenvP_;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T10_;
	colonenvP_ = (tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA*) ClE_0;
	asgnRef((void**) (&(*colonenvP_).row1), readTableRow__packagesZdocutilsZrst_5930(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)?&((*colonenvP_).row1)->Sup:NIM_NIL, (&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__ZgH3X3ZZR9bYozFm5ci6phg) 33), T10_, ((NimStringDesc*) NIM_NIL)));
	{
		NI j;
		NI i;
		j = (NI)0;
		i = ((NI) 0);
		{
			while (1) {
				tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T14_;
				NimStringDesc* T15_;
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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_5962(p, (*colonenvP_).row1->data[j]);
				getTokens__packagesZdocutilsZrst_240(T15_, (&(*colonenvP_).q5.tok));
				T16_ = NIM_NIL;
				T16_ = parseDoc__packagesZdocutilsZrst_5812((&(*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_5971)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, NI colNum) {
	NIM_BOOL result;
	tySequence__8Np6tlClE5az1CyqZdN19bQ* row;
{	result = (NIM_BOOL)0;
	row = readTableRow__packagesZdocutilsZrst_5930(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_5962(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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseMarkdownTable__packagesZdocutilsZrst_6000)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA* colonenv_;
	tyProc__lmotUv0Zi2w71tqGoqNEFA T1_;
	result = NIM_NIL;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA*) newObj((&NTIrefobject__8GrvRGC9bTidliwO0qD2EZg_), sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA));
	objectInit(colonenv_, (&NTIobject__wsC8o4Kvelfzzmgs57k8SA_));
	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__Nk9bIObsAkkI8z7H9cw9bOnnw));
	(*colonenv_).q5.Sup.m_type = (&NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_);
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 32));
	nimZeroMem((void*)(&T1_), sizeof(tyProc__lmotUv0Zi2w71tqGoqNEFA));
	T1_.ClP_0 = parseRow__packagesZdocutilsZrst_6008; T1_.ClE_0 = colonenv_;
	T1_.ClE_0? T1_.ClP_0(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 34), result, T1_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_262)(T1_.ClP_0))(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 34), result);
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = isValidDelimiterRow__packagesZdocutilsZrst_5971(p, (*colonenv_).colNum2);
		if (!!(T4_)) goto LA5_;
		rstMessage__packagesZdocutilsZrst_2094((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 3));
	}
	LA5_: ;
	{
		while (1) {
			NIM_BOOL T9_;
			tyProc__lmotUv0Zi2w71tqGoqNEFA T11_;
			T9_ = (NIM_BOOL)0;
			T9_ = predNL__packagesZdocutilsZrst_5498((&(*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__lmotUv0Zi2w71tqGoqNEFA));
			T11_.ClP_0 = parseRow__packagesZdocutilsZrst_6008; T11_.ClE_0 = colonenv_;
			T11_.ClE_0? T11_.ClP_0(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 35), result, T11_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_265)(T11_.ClP_0))(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 35), result);
		} LA8: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseOptionList__packagesZdocutilsZrst_6076)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	NI col;
	NI order;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 18));
	col = (*p).tok->data[(*p).idx].col;
	order = ((NI) 1);
	{
		while (1) {
			{
				NIM_BOOL T5_;
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a;
				tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T9_;
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* b;
				tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T10_;
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* c;
				tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T11_;
				NI j;
				T5_ = (NIM_BOOL)0;
				T5_ = ((*p).tok->data[(*p).idx].col == col);
				if (!(T5_)) goto LA6_;
				T5_ = isOptionList__packagesZdocutilsZrst_5513((&(*p)));
				LA6_: ;
				if (!T5_) goto LA7_;
				T9_ = NIM_NIL;
				T9_ = NIM_NIL;
				a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 20), T9_, ((NimStringDesc*) NIM_NIL));
				T10_ = NIM_NIL;
				T10_ = NIM_NIL;
				b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 24), T10_, ((NimStringDesc*) NIM_NIL));
				T11_ = NIM_NIL;
				T11_ = NIM_NIL;
				c = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 19), T11_, ((NimStringDesc*) NIM_NIL));
				{
					NIM_BOOL T14_;
					T14_ = (NIM_BOOL)0;
					T14_ = match__packagesZdocutilsZrst_4269((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_85));
					if (!T14_) goto LA15_;
					(*p).idx += ((NI) 1);
				}
				LA15_: ;
				{
					while (1) {
						tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_4010(p);
						add__packagesZdocutilsZrstast_206(a, T25_);
						(*p).idx += ((NI) 1);
					} LA18: ;
				} LA17: ;
				j = tokenAfterNewline__packagesZdocutilsZrst_5169((&(*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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5154(p, b);
					popInd__packagesZdocutilsZrst_2111(p);
				}
				goto LA26_;
				LA33_: ;
				{
					parseLine__packagesZdocutilsZrst_5148(p, b);
				}
				LA26_: ;
				{
					while (1) {
						if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 0)))) goto LA41_;
					(*p).idx -= ((NI) 1);
				}
				LA41_: ;
				goto LA1;
			}
			LA3_: ;
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__packagesZdocutilsZrst_5659)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1):
			{
				{
					if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 1))) goto LA6_;
					(*p).idx += ((NI) 1);
					goto LA1;
				}
				goto LA4_;
				LA6_: ;
				{
					NI T9_;
					tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg 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__ZgH3X3ZZR9bYozFm5ci6phg)0;
					T12_ = whichSection__packagesZdocutilsZrst_5548((&(*p)));
					switch (T12_) {
					case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5):
					case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 73):
					case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 1):
					case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 3):
					case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 2):
					case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 44):
					{
						tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T14_;
						T14_ = NIM_NIL;
						T14_ = newRstLeaf__packagesZdocutilsZrstast_197(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_124));
						add__packagesZdocutilsZrstast_206(result, T14_);
					}
					break;
					case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 27):
					{
						tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T16_;
						T16_ = NIM_NIL;
						T16_ = parseLineBlock__packagesZdocutilsZrst_5626(p);
						addIfNotNil__packagesZdocutilsZrstast_220(result, T16_);
					}
					break;
					default:
					{
						goto LA1;
					}
					break;
					}
				}
				goto LA4_;
				LA10_: ;
				{
					goto LA1;
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 5):
			{
				{
					NIM_BOOL T22_;
					NIM_BOOL T23_;
					NI T26_;
					tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T29_;
					tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__5529aNdqwAVN9bRxQ9c2XBvyg) 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_5270(p);
					add__packagesZdocutilsZrstast_206(result, T30_);
					goto LA1;
				}
				goto LA20_;
				LA27_: ;
				{
					parseInline__packagesZdocutilsZrst_4986(p, result);
				}
				LA20_: ;
			}
			break;
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 2):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 3):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 4):
			case ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 6):
			{
				parseInline__packagesZdocutilsZrst_4986(p, result);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg, sonKind__packagesZdocutilsZrst_6345)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* father, NI i) {
	tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg result;
	result = (tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg)0;
	result = ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_5154)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result) {
	{
		while (1) {
			NIM_BOOL leave;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* a_2;
			tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg k;
			leave = NIM_FALSE;
			{
				while (1) {
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 29));
						parseSection__packagesZdocutilsZrst_5154(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__5529aNdqwAVN9bRxQ9c2XBvyg) 0)));
								if (!(T17_)) goto LA18_;
								T17_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 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__5529aNdqwAVN9bRxQ9c2XBvyg) 0));
				LA22_: ;
				if (!T21_) goto LA23_;
				goto LA1;
			}
			LA23_: ;
			a_2 = ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL);
			k = whichSection__packagesZdocutilsZrst_5548((&(*p)));
			switch (k) {
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 25):
			{
				(*p).idx += ((NI) 1);
				a_2 = parseLiteralBlock__packagesZdocutilsZrst_5270(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 6):
			{
				a_2 = parseBulletList__packagesZdocutilsZrst_6050(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 27):
			{
				a_2 = parseLineBlock__packagesZdocutilsZrst_5626(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 44):
			{
				a_2 = parseDotDot__packagesZdocutilsZrst_5268(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 8):
			{
				a_2 = parseEnumList__packagesZdocutilsZrst_6165(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 73):
			{
				rstMessage__packagesZdocutilsZrst_2070((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 4), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_252));
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5):
			{
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 10):
			{
				a_2 = parseDefinitionList__packagesZdocutilsZrst_6129(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 14):
			{
				{
					if (!(((NI) 0) < (*p).idx)) goto LA36_;
					(*p).idx -= ((NI) 1);
				}
				LA36_: ;
				a_2 = parseFields__packagesZdocutilsZrst_5195(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 4):
			{
				a_2 = parseTransition__packagesZdocutilsZrst_6027(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 1):
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 3):
			{
				a_2 = parseHeadline__packagesZdocutilsZrst_5694(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 2):
			{
				a_2 = parseOverline__packagesZdocutilsZrst_5727(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 30):
			{
				a_2 = parseSimpleTable__packagesZdocutilsZrst_5814(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 32):
			{
				a_2 = parseMarkdownTable__packagesZdocutilsZrst_6000(p);
			}
			break;
			case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 18):
			{
				a_2 = parseOptionList__packagesZdocutilsZrst_6076(p);
			}
			break;
			default:
			{
			}
			break;
			}
			{
				NIM_BOOL T47_;
				T47_ = (NIM_BOOL)0;
				T47_ = (a_2 == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL));
				if (!(T47_)) goto LA48_;
				T47_ = !((k == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 44)));
				LA48_: ;
				if (!T47_) goto LA49_;
				a_2 = newRstNodeA__packagesZdocutilsZrst_4004(p, ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5));
				parseParagraph__packagesZdocutilsZrst_5659(p, a_2);
			}
			LA49_: ;
			addIfNotNil__packagesZdocutilsZrstast_220(result, a_2);
		}
	} LA1: ;
	{
		NIM_BOOL T53_;
		tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg T54_;
		tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg T56_;
		T53_ = (NIM_BOOL)0;
		T54_ = (tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg)0;
		T54_ = sonKind__packagesZdocutilsZrst_6345(result, ((NI) 0));
		T53_ = (T54_ == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5));
		if (!(T53_)) goto LA55_;
		T56_ = (tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg)0;
		T56_ = sonKind__packagesZdocutilsZrst_6345(result, ((NI) 1));
		T53_ = !((T56_ == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 5)));
		LA55_: ;
		if (!T53_) goto LA57_;
		asgnRef((void**) (&(*result).sons->data[((NI) 0)]), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), (*(*result).sons->data[((NI) 0)]).sons, (*(*result).sons->data[((NI) 0)]).anchor));
	}
	LA57_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, parseSectionWrapper__packagesZdocutilsZrst_6407)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T1_, ((NimStringDesc*) NIM_NIL));
	parseSection__packagesZdocutilsZrst_5154(p, result);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T6_;
			T4_ = (NIM_BOOL)0;
			T4_ = ((*result).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__o7Mf73b09cQpxU9cdK19aKkqQ*, parseDoc__packagesZdocutilsZrst_5812)(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw* p) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	result = NIM_NIL;
	result = parseSectionWrapper__packagesZdocutilsZrst_6407(p);
	{
		if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg) 0)))) goto LA3_;
		rstMessage__packagesZdocutilsZrst_2094((&(*p)), ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 5));
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*, rstParsePass1__packagesZdocutilsZrst_6811)(NimStringDesc* fragment, NI line, NI column, tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* sharedState) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
	tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw p;
	result = NIM_NIL;
	nimZeroMem((void*)(&p), sizeof(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw));
	p.Sup.m_type = (&NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_);
	initParser__packagesZdocutilsZrst_2123((&p), sharedState);
	p.line = line;
	p.col = column;
	getTokens__packagesZdocutilsZrst_240(fragment, (&p.tok));
	result = parseDoc__packagesZdocutilsZrst_5812((&p));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, countTitles__packagesZdocutilsZrst_5365)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n) {
{	{
		if (!(n == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ** node;
		NI i;
		NI L;
		NI T6_;
		node = (tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ**)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__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)))) goto LA11_;
					{
						if (!!(((*(*node)).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 2) || (*(*node)).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 57) || (*(*node)).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 72)))) goto LA15_;
						goto LA5;
					}
					LA15_: ;
					{
						if (!((*(*node)).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__JQO85X9bhqod17TqlSrvEIQ)(void* p, NI op) {
	tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA* a;
	a = (tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA*)p;
	nimGCvisit((void*)(*a).s1, op);
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2075)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg 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__axx1LQ9awiGkP3NNnW2X9cOQ* locations, void* ClE_0) {
	NimStringDesc* result;
	tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA* colonenvP_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
	NimStringDesc* T17_;
	NI T18_;
	NimStringDesc* T19_;
	NimStringDesc* T20_;
	result = NIM_NIL;
	colonenvP_ = (tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA*) ClE_0;
	lines = NIM_NIL;
	{
		tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA* info;
		NI i;
		NI L;
		NI T2_;
		info = (tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA*)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__gDEfmQjKC8B7ih9cWJmghxg)(void* p, NI op) {
	tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* a;
	a = (tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*)p;
	nimGCvisit((void*)(*a).next, op);
	nimGCvisit((void*)(*a).value.Field4, op);
}
static N_INLINE(void, prepend__packagesZdocutilsZrst_3252)(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q* L, tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* n) {
	asgnRef((void**) (&(*n).next), (*L).head);
	unsureAsgnRef((void**) (&(*L).head), n);
	{
		if (!((*L).tail == ((tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*) NIM_NIL))) goto LA3_;
		unsureAsgnRef((void**) (&(*L).tail), n);
	}
	LA3_: ;
}
static N_INLINE(void, prepend__packagesZdocutilsZrst_3202)(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q* L, tyTuple__KPVKrfx82Va9azSnb0dl1RQ* value) {
	tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* T1_;
	T1_ = NIM_NIL;
	T1_ = newSinglyLinkedNode__packagesZdocutilsZrst_2894(value);
	prepend__packagesZdocutilsZrst_3252(L, T1_);
}
static N_INLINE(tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw, dotdot___stdZenumutils_90)(NI a, NI b) {
	tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, orderFootnotes__packagesZdocutilsZrst_2511)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s) {
	tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA* colonenv_;
	tySequence__YYKlUlCjbni3i58WM0kegw* result;
	tySequence__YYKlUlCjbni3i58WM0kegw* manuallyN;
	tySequence__YYKlUlCjbni3i58WM0kegw* autoN;
	tySequence__YYKlUlCjbni3i58WM0kegw* autoSymbol;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA*) newObj((&NTIrefobject__JQO85X9bhqod17TqlSrvEIQ_), sizeof(tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA));
	(*colonenv_).Sup.m_type = (&NTIobject__eFqiDKmcu0ibz9akfYqUkgA_);
	asgnRef((void**) (&(*colonenv_).s1), s);
	{
		NI T3_;
		NI T4_;
		NimStringDesc* T7_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T8_;
		tyProc__cK09bPtQRq7OO35jc9bbvAMg T9_;
		tyProc__cK09bPtQRq7OO35jc9bbvAMg 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__cK09bPtQRq7OO35jc9bbvAMg));
		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__cK09bPtQRq7OO35jc9bbvAMg));
		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__LqGn2jXOUcn3gFaPF4DWNg) 8), T7_);
	}
	LA5_: ;
	{
		NI T14_;
		NI T15_;
		NimStringDesc* T18_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T19_;
		tyProc__cK09bPtQRq7OO35jc9bbvAMg T20_;
		tyProc__cK09bPtQRq7OO35jc9bbvAMg 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__cK09bPtQRq7OO35jc9bbvAMg));
		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__cK09bPtQRq7OO35jc9bbvAMg));
		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__LqGn2jXOUcn3gFaPF4DWNg) 8), T18_);
	}
	LA16_: ;
	result = NIM_NIL;
	manuallyN = NIM_NIL;
	autoN = NIM_NIL;
	autoSymbol = NIM_NIL;
	{
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ* fs;
		NI i;
		NI L;
		NI T24_;
		fs = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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__jXnI8xEO3SXxVR9afYCJnyQ) 0))) goto LA29_;
					manuallyN = (tySequence__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)(manuallyN), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
					T31_ = manuallyN->Sup.len++;
					genericAssign((void*)(&manuallyN->data[T31_]), (void*)(&(*fs)), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
				}
				goto LA27_;
				LA29_: ;
				{
					NI T35_;
					if (!((6 &((NU8)1<<((NU)((*fs).Field0)&7U)))!=0)) goto LA33_;
					autoN = (tySequence__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)(autoN), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
					T35_ = autoN->Sup.len++;
					genericAssign((void*)(&autoN->data[T35_]), (void*)(&(*fs)), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
				}
				goto LA27_;
				LA33_: ;
				{
					NI T37_;
					autoSymbol = (tySequence__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)(autoSymbol), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
					T37_ = autoSymbol->Sup.len++;
					genericAssign((void*)(&autoSymbol->data[T37_]), (void*)(&(*fs)), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
				}
				LA27_: ;
				i += ((NI) 1);
			} LA26: ;
		}
	}
	{
		NI T40_;
		T40_ = (autoN ? autoN->Sup.len : 0);
		if (!(T40_ == ((NI) 0))) goto LA41_;
		genericSeqAssign((&result), manuallyN, (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
	}
	goto LA38_;
	LA41_: ;
	{
		tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q lst;
		NI firstAuto;
		tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* curNode;
		tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* nextNode;
		tySequence__YYKlUlCjbni3i58WM0kegw* resultX60gensym83_;
		sort__packagesZdocutilsZrst_2619((manuallyN) ? (manuallyN->data) : NIM_NIL, (manuallyN ? manuallyN->Sup.len : 0), ((tyEnum_SortOrder__TcYjciSJ3jKUT4ygglumjg) 1));
		nimZeroMem((void*)(&lst), sizeof(tyObject_SinglyLinkedList__g3P77tPvg1FlUlZH8ySw8Q));
		initSinglyLinkedList__packagesZdocutilsZrst_2784((&lst));
		{
			tyTuple__KPVKrfx82Va9azSnb0dl1RQ* elem;
			NI i_2;
			NI L_2;
			NI T45_;
			elem = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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__KPVKrfx82Va9azSnb0dl1RQ T54_;
			T50_ = (NIM_BOOL)0;
			T50_ = (lst.head == ((tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*) NIM_NIL));
			if (T50_) goto LA51_;
			T50_ = !(((*lst.head).value.Field1 == ((NI) 1)));
			LA51_: ;
			if (!T50_) goto LA52_;
			nimZeroMem((void*)(&T54_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
			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__jXnI8xEO3SXxVR9afYCJnyQ* kind;
			NI* x;
			NI* autoNumIdx;
			NI* y;
			NimStringDesc** label;
			tySequence__YYKlUlCjbni3i58WM0kegw* colontmp_;
			tyObject_HSlice__dyNB5o2GYLzoO6FJ2RhiZw T56_;
			NI i_3;
			NI L_3;
			NI T57_;
			kind = (tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ*)0;
			x = (NI*)0;
			autoNumIdx = (NI*)0;
			y = (NI*)0;
			label = (NimStringDesc**)0;
			colontmp_ = NIM_NIL;
			T56_ = dotdot___stdZenumutils_90(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__dRlnkNHLLKxta2PiHXbXzA*) NIM_NIL)))) goto LA61;
							{
								tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* n;
								tyTuple__KPVKrfx82Va9azSnb0dl1RQ T66_;
								if (!(((NI) 1) < (NI)((*nextNode).value.Field1 - (*curNode).value.Field1))) goto LA64_;
								nimZeroMem((void*)(&T66_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
								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__KPVKrfx82Va9azSnb0dl1RQ T72_;
						if (!(nextNode == ((tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*) NIM_NIL))) goto LA70_;
						nimZeroMem((void*)(&T72_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
						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__KPVKrfx82Va9azSnb0dl1RQ itX60gensym83_;
			tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA* it;
			nimZeroMem((void*)(&itX60gensym83_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
			it = lst.head;
			{
				while (1) {
					NI T76_;
					if (!!((it == ((tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*) NIM_NIL)))) goto LA75;
					nimCopyMem((void*)(&itX60gensym83_), (NIM_CONST void*)(&(*it).value), sizeof(itX60gensym83_));
					resultX60gensym83_ = (tySequence__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)(resultX60gensym83_), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
					T76_ = resultX60gensym83_->Sup.len++;
					genericAssign((void*)(&resultX60gensym83_->data[T76_]), (void*)(&itX60gensym83_), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
					it = (*it).next;
				} LA75: ;
			}
		}
		genericSeqAssign((&result), resultX60gensym83_, (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
	}
	LA38_: ;
	{
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ* fs_2;
		NI i_4;
		NI L_4;
		NI T78_;
		fs_2 = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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__KPVKrfx82Va9azSnb0dl1RQ 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_3855[(symbolNum)- 0], ((NI) (nSymbols)));
				nimZeroMem((void*)(&T81_), sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ));
				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__YYKlUlCjbni3i58WM0kegw*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
				T82_ = result->Sup.len++;
				genericAssign((void*)(&result->data[T82_]), (void*)(&T81_), (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_));
				i_4 += ((NI) 1);
			} LA80: ;
		}
	}
	genericSeqAssign((&(*(*colonenv_).s1).footnotes), result, (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_));
}
N_LIB_PRIVATE N_NIMCALL(void, preparePass2__packagesZdocutilsZrst_6818)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* mainNode) {
	countTitles__packagesZdocutilsZrst_5365(s, mainNode);
	orderFootnotes__packagesZdocutilsZrst_2511(s);
}
N_LIB_PRIVATE N_NIMCALL(NI, findSub__packagesZdocutilsZrst_2204)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__JJYG5kijP4PSa5F9a7da5tw filenames, tyProc__gd6fvPtd9aVRsRjs9bLyzE9bQ f, tyObject_TLineInfo__AUK89aIO9ccPtw38jya2kdpA info, tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg 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__o7Mf73b09cQpxU9cdK19aKkqQ*, findRef__packagesZdocutilsZrst_2289)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NimStringDesc* key) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findMainAnchor__packagesZdocutilsZrst_2367)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* 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_3980)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NimStringDesc* label) {
	NI result;
{	result = (NI)0;
	result = ((NI) -1);
	{
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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_3988)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NI order) {
	NI result;
{	result = (NI)0;
	result = ((NI) -1);
	{
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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_3996)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, NI order) {
	NimStringDesc* result;
{	result = NIM_NIL;
	result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_285));
	{
		tyTuple__KPVKrfx82Va9azSnb0dl1RQ* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__KPVKrfx82Va9azSnb0dl1RQ*)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__o7Mf73b09cQpxU9cdK19aKkqQ*, resolveSubs__packagesZdocutilsZrst_6821)(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA* s, tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n) {
	tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* result;
{	result = NIM_NIL;
	result = n;
	{
		if (!(n == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_418(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__LqGn2jXOUcn3gFaPF4DWNg) 10), key);
			}
			LA11_: ;
		}
		LA6_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 1):
	case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__ZgH3X3ZZR9bYozFm5ci6phg) 41):
	{
		NimStringDesc* refn;
		tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* y;
		refn = rstnodeToRefname__packagesZdocutilsZrst_61(n);
		y = findRef__packagesZdocutilsZrst_2289(s, refn);
		{
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T36_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* text;
			if (!!((y == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)))) goto LA34_;
			T36_ = NIM_NIL;
			T36_ = NIM_NIL;
			result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 40), T36_, ((NimStringDesc*) NIM_NIL));
			text = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
			if ((*result).sons) { nimGCunrefNoCycle((*result).sons); (*result).sons = NIM_NIL; }
			(*result).sons = (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) newSeqRC1((&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_), 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__jo4WO9beNiWGoaKRjSrOMJQ* T42_;
				tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* text_2;
				if (!!(((anchor ? anchor->Sup.len : 0) == 0))) goto LA40_;
				T42_ = NIM_NIL;
				T42_ = NIM_NIL;
				result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 42), T42_, ((NimStringDesc*) NIM_NIL));
				text_2 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
				if ((*result).sons) { nimGCunrefNoCycle((*result).sons); (*result).sons = NIM_NIL; }
				(*result).sons = (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) newSeqRC1((&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_), 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__LqGn2jXOUcn3gFaPF4DWNg) 11), refn);
			}
			LA38_: ;
		}
		LA32_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 36):
	{
		tyTuple__rVoGvR7ILGzTjPxMLwukPg T45_;
		tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ fnType;
		NI num;
		T45_ = getFootnoteType__packagesZdocutilsZrst_4923((*n).sons->data[((NI) 0)]);
		fnType = T45_.Field0;
		num = T45_.Field1;
		switch (fnType) {
		case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 0):
		case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 4):
		{
		}
		break;
		case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 2):
		case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 1):
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* nn;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T53_;
			NimStringDesc* T54_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T55_;
			{
				NimStringDesc* labelR;
				if (!(fnType == ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 2))) goto LA50_;
				labelR = rstnodeToRefname__packagesZdocutilsZrst_61((*n).sons->data[((NI) 0)]);
				num = getFootnoteNum__packagesZdocutilsZrst_3980(s, labelR);
			}
			goto LA48_;
			LA50_: ;
			{
				num = getFootnoteNum__packagesZdocutilsZrst_3988(s, (*n)._kind_6.order);
			}
			LA48_: ;
			T53_ = NIM_NIL;
			T53_ = NIM_NIL;
			nn = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__jXnI8xEO3SXxVR9afYCJnyQ) 3):
		{
			NimStringDesc* sym;
			NimStringDesc* T57_;
			sym = getAutoSymbol__packagesZdocutilsZrst_3996(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_6821(s, (*n).sons->data[((NI) 1)]));
	}
	break;
	case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 43):
	{
		tyTuple__rVoGvR7ILGzTjPxMLwukPg T59_;
		tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ fnType_2;
		NI num_2;
		NimStringDesc* refn_2;
		tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T60_;
		NimStringDesc* anch;
		T59_ = getFootnoteType__packagesZdocutilsZrst_4923((*n).sons->data[((NI) 0)]);
		fnType_2 = T59_.Field0;
		num_2 = T59_.Field1;
		refn_2 = prefix__packagesZdocutilsZrst_6717(fnType_2);
		T60_ = NIM_NIL;
		T60_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_167(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 43), (*n)._kind_7.info, T60_);
		switch (fnType_2) {
		case ((tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ) 0):
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* nnX60gensym530_;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T62_;
			NimStringDesc* T63_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T64_;
			NimStringDesc* T65_;
			T62_ = NIM_NIL;
			T62_ = NIM_NIL;
			nnX60gensym530_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__jXnI8xEO3SXxVR9afYCJnyQ) 1):
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* nnX60gensym532_;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T67_;
			NI T68_;
			NimStringDesc* T69_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T70_;
			NimStringDesc* T71_;
			(*s).currFootnoteNumRef += ((NI) 1);
			T67_ = NIM_NIL;
			T67_ = NIM_NIL;
			nnX60gensym532_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T67_, ((NimStringDesc*) NIM_NIL));
			T68_ = (NI)0;
			T68_ = getFootnoteNum__packagesZdocutilsZrst_3988(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__jXnI8xEO3SXxVR9afYCJnyQ) 2):
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* nnX60gensym534_;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T73_;
			NimStringDesc* T74_;
			NI T75_;
			NimStringDesc* T76_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T77_;
			NimStringDesc* T78_;
			T73_ = NIM_NIL;
			T73_ = NIM_NIL;
			nnX60gensym534_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T73_, ((NimStringDesc*) NIM_NIL));
			T74_ = NIM_NIL;
			T74_ = rstnodeToRefname__packagesZdocutilsZrst_61(n);
			T75_ = (NI)0;
			T75_ = getFootnoteNum__packagesZdocutilsZrst_3980(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__jXnI8xEO3SXxVR9afYCJnyQ) 3):
		{
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* nnX60gensym536_;
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T80_;
			NimStringDesc* T81_;
			tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* T82_;
			NimStringDesc* T83_;
			(*s).currFootnoteSymRef += ((NI) 1);
			T80_ = NIM_NIL;
			T80_ = NIM_NIL;
			nnX60gensym536_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 0), T80_, ((NimStringDesc*) NIM_NIL));
			T81_ = NIM_NIL;
			T81_ = getAutoSymbol__packagesZdocutilsZrst_3996(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__jXnI8xEO3SXxVR9afYCJnyQ) 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__o7Mf73b09cQpxU9cdK19aKkqQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ* T92_;
			rstMessage__packagesZdocutilsZrst_2080((*s).filenames, (*s).msgHandler, (*n)._kind_7.info, ((tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg) 11), refn_2);
			T92_ = NIM_NIL;
			T92_ = newRstLeaf__packagesZdocutilsZrstast_197(refn_2);
			add__packagesZdocutilsZrstast_206(result, T92_);
		}
		LA86_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 73):
	{
	}
	break;
	case ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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_6821(s, (*n).sons->data[i]));
					{
						NIM_BOOL T101_;
						T101_ = (NIM_BOOL)0;
						T101_ = !(((*n).sons->data[i] == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)));
						if (!(T101_)) goto LA102_;
						T101_ = ((*(*n).sons->data[i]).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 36));
						LA102_: ;
						if (!T101_) goto LA103_;
						regroup = NIM_TRUE;
					}
					LA103_: ;
					i_2 += ((NI) 1);
				} LA98: ;
			}
		}
		{
			tySequence__jo4WO9beNiWGoaKRjSrOMJQ* 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__o7Mf73b09cQpxU9cdK19aKkqQ* grp;
						tySequence__jo4WO9beNiWGoaKRjSrOMJQ* T118_;
						NI T125_;
						T114_ = (NIM_BOOL)0;
						T114_ = !(((*n).sons->data[i_3] == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) NIM_NIL)));
						if (!(T114_)) goto LA115_;
						T114_ = ((*(*n).sons->data[i_3]).kind == ((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 36));
						LA115_: ;
						if (!T114_) goto LA116_;
						T118_ = NIM_NIL;
						T118_ = NIM_NIL;
						grp = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__ZgH3X3ZZR9bYozFm5ci6phg) 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__ZgH3X3ZZR9bYozFm5ci6phg) 36));
								LA123_: ;
								if (!T121_) goto LA120;
								asgnRef((void**) (&(*grp).sons), (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) incrSeqV3((TGenericSeq*)((*grp).sons), (&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_)));
								T124_ = (*grp).sons->Sup.len++;
								asgnRef((void**) (&(*grp).sons->data[T124_]), (*n).sons->data[i_3]);
								i_3 += ((NI) 1);
							} LA120: ;
						}
						newSons = (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) incrSeqV3((TGenericSeq*)(newSons), (&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_));
						T125_ = newSons->Sup.len++;
						asgnRef((void**) (&newSons->data[T125_]), grp);
					}
					goto LA112_;
					LA116_: ;
					{
						NI T127_;
						newSons = (tySequence__jo4WO9beNiWGoaKRjSrOMJQ*) incrSeqV3((TGenericSeq*)(newSons), (&NTIrstnodeseq__jo4WO9beNiWGoaKRjSrOMJQ_));
						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__jo4WO9beNiWGoaKRjSrOMJQ_));
		}
		LA107_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getArgument__packagesZdocutilsZrst_68)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		if (!((*n).sons->data[((NI) 0)] == ((tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ*) 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_5216)(tyObject_RstNode__o7Mf73b09cQpxU9cdK19aKkqQ* 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__gd6fvPtd9aVRsRjs9bLyzE9bQ_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTImsghandler__gd6fvPtd9aVRsRjs9bLyzE9bQ_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTImsghandler__gd6fvPtd9aVRsRjs9bLyzE9bQ_.kind = 18;
NTImsghandler__gd6fvPtd9aVRsRjs9bLyzE9bQ_.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__gd6fvPtd9aVRsRjs9bLyzE9bQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[3];
NTIrstfiletable__JJYG5kijP4PSa5F9a7da5tw_.size = sizeof(tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw);
NTIrstfiletable__JJYG5kijP4PSa5F9a7da5tw_.align = NIM_ALIGNOF(tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw);
NTIrstfiletable__JJYG5kijP4PSa5F9a7da5tw_.kind = 18;
NTIrstfiletable__JJYG5kijP4PSa5F9a7da5tw_.base = 0;
NTIrstfiletable__JJYG5kijP4PSa5F9a7da5tw_.flags = 2;
TM__6mNpeIAN05DnDNzb9b3611A_4_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[7];
TM__6mNpeIAN05DnDNzb9b3611A_0[7].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[7].offset = offsetof(tyObject_RstFileTable__JJYG5kijP4PSa5F9a7da5tw, filenameToIdx);
TM__6mNpeIAN05DnDNzb9b3611A_0[7].typ = (&NTItable__9cHFtxtpgztIcDsypRz9byKw_);
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__JJYG5kijP4PSa5F9a7da5tw, 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__JJYG5kijP4PSa5F9a7da5tw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[6];
NTIrstsharedstate__RaVISFn5lBYmQPVCuG88JA_.size = sizeof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA);
NTIrstsharedstate__RaVISFn5lBYmQPVCuG88JA_.align = NIM_ALIGNOF(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA);
NTIrstsharedstate__RaVISFn5lBYmQPVCuG88JA_.kind = 18;
NTIrstsharedstate__RaVISFn5lBYmQPVCuG88JA_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_5_21[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[10];
NTIrstparseoption__utHUlNkCVsWnNFCaZUhT7g_.size = sizeof(tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g);
NTIrstparseoption__utHUlNkCVsWnNFCaZUhT7g_.align = NIM_ALIGNOF(tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g);
NTIrstparseoption__utHUlNkCVsWnNFCaZUhT7g_.kind = 14;
NTIrstparseoption__utHUlNkCVsWnNFCaZUhT7g_.base = 0;
NTIrstparseoption__utHUlNkCVsWnNFCaZUhT7g_.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__utHUlNkCVsWnNFCaZUhT7g_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[17];
NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_.size = sizeof(tySet_tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g);
NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_.align = NIM_ALIGNOF(tySet_tyEnum_RstParseOption__utHUlNkCVsWnNFCaZUhT7g);
NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_.kind = 19;
NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_.base = (&NTIrstparseoption__utHUlNkCVsWnNFCaZUhT7g_);
NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_.flags = 3;
TM__6mNpeIAN05DnDNzb9b3611A_0[18].len = 0; TM__6mNpeIAN05DnDNzb9b3611A_0[18].kind = 0;
NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[18];
TM__6mNpeIAN05DnDNzb9b3611A_0[10].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[10].offset = offsetof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA, options);
TM__6mNpeIAN05DnDNzb9b3611A_0[10].typ = (&NTIrstparseoptions__cmtIELccrZX1AtDreniiFg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[10].name = "options";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[19];
NTIlevelinfo__PM5uc3aqOwcmxPAA2Yt4pQ_.size = sizeof(tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ);
NTIlevelinfo__PM5uc3aqOwcmxPAA2Yt4pQ_.align = NIM_ALIGNOF(tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ);
NTIlevelinfo__PM5uc3aqOwcmxPAA2Yt4pQ_.kind = 18;
NTIlevelinfo__PM5uc3aqOwcmxPAA2Yt4pQ_.base = 0;
NTIlevelinfo__PM5uc3aqOwcmxPAA2Yt4pQ_.flags = 3;
TM__6mNpeIAN05DnDNzb9b3611A_9_4[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[21];
TM__6mNpeIAN05DnDNzb9b3611A_0[21].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[21].offset = offsetof(tyObject_LevelInfo__PM5uc3aqOwcmxPAA2Yt4pQ, 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__PM5uc3aqOwcmxPAA2Yt4pQ, 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__PM5uc3aqOwcmxPAA2Yt4pQ, 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__PM5uc3aqOwcmxPAA2Yt4pQ, 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__PM5uc3aqOwcmxPAA2Yt4pQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[20];
NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_.size = sizeof(tySequence__7EPs9bALtRDoJ5HKNxchjbQ*);
NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_.align = NIM_ALIGNOF(tySequence__7EPs9bALtRDoJ5HKNxchjbQ*);
NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_.kind = 24;
NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_.base = (&NTIlevelinfo__PM5uc3aqOwcmxPAA2Yt4pQ_);
NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_.flags = 2;
NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_.marker = Marker_tySequence__7EPs9bALtRDoJ5HKNxchjbQ;
TM__6mNpeIAN05DnDNzb9b3611A_0[19].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[19].offset = offsetof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA, hLevels);
TM__6mNpeIAN05DnDNzb9b3611A_0[19].typ = (&NTIlevelmap__7EPs9bALtRDoJ5HKNxchjbQ_);
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__RaVISFn5lBYmQPVCuG88JA, 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__RaVISFn5lBYmQPVCuG88JA, 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__RaVISFn5lBYmQPVCuG88JA, 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__RaVISFn5lBYmQPVCuG88JA, currRoleKind);
TM__6mNpeIAN05DnDNzb9b3611A_0[28].typ = (&NTIrstnodekind__ZgH3X3ZZR9bYozFm5ci6phg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[28].name = "currRoleKind";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[6] = &TM__6mNpeIAN05DnDNzb9b3611A_0[29];
NTIsubstitution__rZij7FJC9a7u59cpJsTlOCYQ_.size = sizeof(tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ);
NTIsubstitution__rZij7FJC9a7u59cpJsTlOCYQ_.align = NIM_ALIGNOF(tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ);
NTIsubstitution__rZij7FJC9a7u59cpJsTlOCYQ_.kind = 18;
NTIsubstitution__rZij7FJC9a7u59cpJsTlOCYQ_.base = 0;
NTIsubstitution__rZij7FJC9a7u59cpJsTlOCYQ_.flags = 2;
TM__6mNpeIAN05DnDNzb9b3611A_10_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[31];
TM__6mNpeIAN05DnDNzb9b3611A_0[31].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[31].offset = offsetof(tyObject_Substitution__rZij7FJC9a7u59cpJsTlOCYQ, 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__rZij7FJC9a7u59cpJsTlOCYQ, value);
TM__6mNpeIAN05DnDNzb9b3611A_0[32].typ = (&NTIprstnode__yfV9aZUcV0SioJcvRrGyZlg_);
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__rZij7FJC9a7u59cpJsTlOCYQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[30];
NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_.size = sizeof(tySequence__7HTk34lAlArJP89aG2XjZEA*);
NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_.align = NIM_ALIGNOF(tySequence__7HTk34lAlArJP89aG2XjZEA*);
NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_.kind = 24;
NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_.base = (&NTIsubstitution__rZij7FJC9a7u59cpJsTlOCYQ_);
NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_.flags = 2;
NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_.marker = Marker_tySequence__7HTk34lAlArJP89aG2XjZEA;
TM__6mNpeIAN05DnDNzb9b3611A_0[29].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[29].offset = offsetof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA, subs);
TM__6mNpeIAN05DnDNzb9b3611A_0[29].typ = (&NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_);
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__RaVISFn5lBYmQPVCuG88JA, refs);
TM__6mNpeIAN05DnDNzb9b3611A_0[33].typ = (&NTIseqLsubstitutionT__7HTk34lAlArJP89aG2XjZEA_);
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;
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.flags = 2;
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_.flags = 2;
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.marker = Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA;
TM__6mNpeIAN05DnDNzb9b3611A_0[34].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[34].offset = offsetof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA, anchors);
TM__6mNpeIAN05DnDNzb9b3611A_0[34].typ = (&NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[34].name = "anchors";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[9] = &TM__6mNpeIAN05DnDNzb9b3611A_0[38];
NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_.size = sizeof(tySequence__axx1LQ9awiGkP3NNnW2X9cOQ*);
NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_.align = NIM_ALIGNOF(tySequence__axx1LQ9awiGkP3NNnW2X9cOQ*);
NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_.kind = 24;
NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_.base = (&NTItlineinfo__AUK89aIO9ccPtw38jya2kdpA_);
NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_.flags = 2;
NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_.marker = Marker_tySequence__axx1LQ9awiGkP3NNnW2X9cOQ;
TM__6mNpeIAN05DnDNzb9b3611A_0[38].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[38].offset = offsetof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA, lineFootnoteNum);
TM__6mNpeIAN05DnDNzb9b3611A_0[38].typ = (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_);
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__RaVISFn5lBYmQPVCuG88JA, lineFootnoteNumRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[39].typ = (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_);
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__RaVISFn5lBYmQPVCuG88JA, 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__RaVISFn5lBYmQPVCuG88JA, lineFootnoteSym);
TM__6mNpeIAN05DnDNzb9b3611A_0[41].typ = (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_);
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__RaVISFn5lBYmQPVCuG88JA, lineFootnoteSymRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[42].typ = (&NTIseqLtlineinfoT__axx1LQ9awiGkP3NNnW2X9cOQ_);
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__RaVISFn5lBYmQPVCuG88JA, currFootnoteSymRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[43].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[43].name = "currFootnoteSymRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[15] = &TM__6mNpeIAN05DnDNzb9b3611A_0[44];
NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_.size = sizeof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ);
NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_.align = NIM_ALIGNOF(tyTuple__KPVKrfx82Va9azSnb0dl1RQ);
NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_.kind = 18;
NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_.base = 0;
NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_.flags = 2;
TM__6mNpeIAN05DnDNzb9b3611A_12_5[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[46];
NTIfootnotetype__jXnI8xEO3SXxVR9afYCJnyQ_.size = sizeof(tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ);
NTIfootnotetype__jXnI8xEO3SXxVR9afYCJnyQ_.align = NIM_ALIGNOF(tyEnum_FootnoteType__jXnI8xEO3SXxVR9afYCJnyQ);
NTIfootnotetype__jXnI8xEO3SXxVR9afYCJnyQ_.kind = 14;
NTIfootnotetype__jXnI8xEO3SXxVR9afYCJnyQ_.base = 0;
NTIfootnotetype__jXnI8xEO3SXxVR9afYCJnyQ_.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__jXnI8xEO3SXxVR9afYCJnyQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[52];
TM__6mNpeIAN05DnDNzb9b3611A_0[46].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[46].offset = offsetof(tyTuple__KPVKrfx82Va9azSnb0dl1RQ, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[46].typ = (&NTIfootnotetype__jXnI8xEO3SXxVR9afYCJnyQ_);
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__KPVKrfx82Va9azSnb0dl1RQ, 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__KPVKrfx82Va9azSnb0dl1RQ, 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__KPVKrfx82Va9azSnb0dl1RQ, 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__KPVKrfx82Va9azSnb0dl1RQ, 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__KPVKrfx82Va9azSnb0dl1RQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[45];
NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_.size = sizeof(tySequence__YYKlUlCjbni3i58WM0kegw*);
NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_.align = NIM_ALIGNOF(tySequence__YYKlUlCjbni3i58WM0kegw*);
NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_.kind = 24;
NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_.base = (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_);
NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_.flags = 2;
NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_.marker = Marker_tySequence__YYKlUlCjbni3i58WM0kegw;
TM__6mNpeIAN05DnDNzb9b3611A_0[44].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[44].offset = offsetof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA, footnotes);
TM__6mNpeIAN05DnDNzb9b3611A_0[44].typ = (&NTIseqLfootnotesubstT__YYKlUlCjbni3i58WM0kegw_);
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__RaVISFn5lBYmQPVCuG88JA, msgHandler);
TM__6mNpeIAN05DnDNzb9b3611A_0[57].typ = (&NTImsghandler__gd6fvPtd9aVRsRjs9bLyzE9bQ_);
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__RaVISFn5lBYmQPVCuG88JA, 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__RaVISFn5lBYmQPVCuG88JA, filenames);
TM__6mNpeIAN05DnDNzb9b3611A_0[59].typ = (&NTIrstfiletable__JJYG5kijP4PSa5F9a7da5tw_);
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__RaVISFn5lBYmQPVCuG88JA, 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__RaVISFn5lBYmQPVCuG88JA, 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__RaVISFn5lBYmQPVCuG88JA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[9];
NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_.size = sizeof(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA*);
NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_.align = NIM_ALIGNOF(tyObject_RstSharedState__RaVISFn5lBYmQPVCuG88JA*);
NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_.kind = 22;
NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_.base = (&NTIrstsharedstate__RaVISFn5lBYmQPVCuG88JA_);
NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_.marker = Marker_tyRef__dLMuJdRQoOg2PJi1ktqSYQ;
NTImsgkind__LqGn2jXOUcn3gFaPF4DWNg_.size = sizeof(tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg);
NTImsgkind__LqGn2jXOUcn3gFaPF4DWNg_.align = NIM_ALIGNOF(tyEnum_MsgKind__LqGn2jXOUcn3gFaPF4DWNg);
NTImsgkind__LqGn2jXOUcn3gFaPF4DWNg_.kind = 14;
NTImsgkind__LqGn2jXOUcn3gFaPF4DWNg_.base = 0;
NTImsgkind__LqGn2jXOUcn3gFaPF4DWNg_.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__LqGn2jXOUcn3gFaPF4DWNg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[78];
NTImsgclass__Ct0TfAfGr3EfTfyZ4MqZpA_.size = sizeof(tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA);
NTImsgclass__Ct0TfAfGr3EfTfyZ4MqZpA_.align = NIM_ALIGNOF(tyEnum_MsgClass__Ct0TfAfGr3EfTfyZ4MqZpA);
NTImsgclass__Ct0TfAfGr3EfTfyZ4MqZpA_.kind = 14;
NTImsgclass__Ct0TfAfGr3EfTfyZ4MqZpA_.base = 0;
NTImsgclass__Ct0TfAfGr3EfTfyZ4MqZpA_.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__Ct0TfAfGr3EfTfyZ4MqZpA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[82];
NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_.size = sizeof(tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg);
NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_.align = NIM_ALIGNOF(tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg);
NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_.kind = 17;
NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_.base = (&NTIvalueerror__5lcTdgqMq62cNGRwBb0thA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[83].len = 0; TM__6mNpeIAN05DnDNzb9b3611A_0[83].kind = 2;
NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[83];
NTIrefeparseerror__WjyWbSWH8Jk6uBuGYHOBKA_.size = sizeof(tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg*);
NTIrefeparseerror__WjyWbSWH8Jk6uBuGYHOBKA_.align = NIM_ALIGNOF(tyObject_EParseError__CQGKl4YZsOI4aXyw7v8iYg*);
NTIrefeparseerror__WjyWbSWH8Jk6uBuGYHOBKA_.kind = 22;
NTIrefeparseerror__WjyWbSWH8Jk6uBuGYHOBKA_.base = (&NTIeparseerror__CQGKl4YZsOI4aXyw7v8iYg_);
NTIrefeparseerror__WjyWbSWH8Jk6uBuGYHOBKA_.marker = Marker_tyRef__WjyWbSWH8Jk6uBuGYHOBKA;
NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_.size = sizeof(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw);
NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_.align = NIM_ALIGNOF(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw);
NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_.kind = 17;
NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_.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__Nk9bIObsAkkI8z7H9cw9bOnnw, idx);
TM__6mNpeIAN05DnDNzb9b3611A_0[85].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[85].name = "idx";
TM__6mNpeIAN05DnDNzb9b3611A_42_7[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[86];
NTItoken__5TtaxSoj3RjoRxnyUp8DrQ_.size = sizeof(tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ);
NTItoken__5TtaxSoj3RjoRxnyUp8DrQ_.align = NIM_ALIGNOF(tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ);
NTItoken__5TtaxSoj3RjoRxnyUp8DrQ_.kind = 18;
NTItoken__5TtaxSoj3RjoRxnyUp8DrQ_.base = 0;
NTItoken__5TtaxSoj3RjoRxnyUp8DrQ_.flags = 2;
TM__6mNpeIAN05DnDNzb9b3611A_43_5[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[88];
NTItoktype__5529aNdqwAVN9bRxQ9c2XBvyg_.size = sizeof(tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg);
NTItoktype__5529aNdqwAVN9bRxQ9c2XBvyg_.align = NIM_ALIGNOF(tyEnum_TokType__5529aNdqwAVN9bRxQ9c2XBvyg);
NTItoktype__5529aNdqwAVN9bRxQ9c2XBvyg_.kind = 14;
NTItoktype__5529aNdqwAVN9bRxQ9c2XBvyg_.base = 0;
NTItoktype__5529aNdqwAVN9bRxQ9c2XBvyg_.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__5529aNdqwAVN9bRxQ9c2XBvyg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[96];
TM__6mNpeIAN05DnDNzb9b3611A_0[88].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[88].offset = offsetof(tyObject_Token__5TtaxSoj3RjoRxnyUp8DrQ, kind);
TM__6mNpeIAN05DnDNzb9b3611A_0[88].typ = (&NTItoktype__5529aNdqwAVN9bRxQ9c2XBvyg_);
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__5TtaxSoj3RjoRxnyUp8DrQ, 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__5TtaxSoj3RjoRxnyUp8DrQ, 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__5TtaxSoj3RjoRxnyUp8DrQ, 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__5TtaxSoj3RjoRxnyUp8DrQ, 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__5TtaxSoj3RjoRxnyUp8DrQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[87];
NTItokenseq__ChL1roantEj1qq0e0XXJZw_.size = sizeof(tySequence__ChL1roantEj1qq0e0XXJZw*);
NTItokenseq__ChL1roantEj1qq0e0XXJZw_.align = NIM_ALIGNOF(tySequence__ChL1roantEj1qq0e0XXJZw*);
NTItokenseq__ChL1roantEj1qq0e0XXJZw_.kind = 24;
NTItokenseq__ChL1roantEj1qq0e0XXJZw_.base = (&NTItoken__5TtaxSoj3RjoRxnyUp8DrQ_);
NTItokenseq__ChL1roantEj1qq0e0XXJZw_.flags = 2;
NTItokenseq__ChL1roantEj1qq0e0XXJZw_.marker = Marker_tySequence__ChL1roantEj1qq0e0XXJZw;
TM__6mNpeIAN05DnDNzb9b3611A_0[86].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[86].offset = offsetof(tyObject_RstParser__Nk9bIObsAkkI8z7H9cw9bOnnw, tok);
TM__6mNpeIAN05DnDNzb9b3611A_0[86].typ = (&NTItokenseq__ChL1roantEj1qq0e0XXJZw_);
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__Nk9bIObsAkkI8z7H9cw9bOnnw, s);
TM__6mNpeIAN05DnDNzb9b3611A_0[101].typ = (&NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_);
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__Nk9bIObsAkkI8z7H9cw9bOnnw, 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__Nk9bIObsAkkI8z7H9cw9bOnnw, 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__Nk9bIObsAkkI8z7H9cw9bOnnw, 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__Nk9bIObsAkkI8z7H9cw9bOnnw, 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__Nk9bIObsAkkI8z7H9cw9bOnnw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[84];
NTIlexer__U44ei9bvbJXdukJo29aUn02w_.size = sizeof(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w);
NTIlexer__U44ei9bvbJXdukJo29aUn02w_.align = NIM_ALIGNOF(tyObject_Lexer__U44ei9bvbJXdukJo29aUn02w);
NTIlexer__U44ei9bvbJXdukJo29aUn02w_.kind = 17;
NTIlexer__U44ei9bvbJXdukJo29aUn02w_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
NTIlexer__U44ei9bvbJXdukJo29aUn02w_.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__U44ei9bvbJXdukJo29aUn02w, 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__U44ei9bvbJXdukJo29aUn02w, 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__U44ei9bvbJXdukJo29aUn02w, 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__U44ei9bvbJXdukJo29aUn02w, 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__U44ei9bvbJXdukJo29aUn02w, 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__U44ei9bvbJXdukJo29aUn02w, 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__U44ei9bvbJXdukJo29aUn02w, 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__U44ei9bvbJXdukJo29aUn02w_.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_.flags = 2;
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__5x5eh9bp2LV0X9cbFXuaecCA_.size = sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA);
NTIobject__5x5eh9bp2LV0X9cbFXuaecCA_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA);
NTIobject__5x5eh9bp2LV0X9cbFXuaecCA_.kind = 17;
NTIobject__5x5eh9bp2LV0X9cbFXuaecCA_.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___5x5eh9bp2LV0X9cbFXuaecCA, 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___5x5eh9bp2LV0X9cbFXuaecCA, p1);
TM__6mNpeIAN05DnDNzb9b3611A_0[120].typ = (&NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_);
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__5x5eh9bp2LV0X9cbFXuaecCA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[118];
NTIrefobject__QNUbaGkbmoX1Nq9cnfcBnfg_.size = sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA*);
NTIrefobject__QNUbaGkbmoX1Nq9cnfcBnfg_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_checkHeadingHierarchy___5x5eh9bp2LV0X9cbFXuaecCA*);
NTIrefobject__QNUbaGkbmoX1Nq9cnfcBnfg_.kind = 22;
NTIrefobject__QNUbaGkbmoX1Nq9cnfcBnfg_.base = (&NTIobject__5x5eh9bp2LV0X9cbFXuaecCA_);
NTIrefobject__QNUbaGkbmoX1Nq9cnfcBnfg_.marker = Marker_tyRef__QNUbaGkbmoX1Nq9cnfcBnfg;
NTIobject__wsC8o4Kvelfzzmgs57k8SA_.size = sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA);
NTIobject__wsC8o4Kvelfzzmgs57k8SA_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA);
NTIobject__wsC8o4Kvelfzzmgs57k8SA_.kind = 17;
NTIobject__wsC8o4Kvelfzzmgs57k8SA_.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___wsC8o4Kvelfzzmgs57k8SA, 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___wsC8o4Kvelfzzmgs57k8SA, 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___wsC8o4Kvelfzzmgs57k8SA, 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___wsC8o4Kvelfzzmgs57k8SA, a3);
TM__6mNpeIAN05DnDNzb9b3611A_0[125].typ = (&NTIprstnode__yfV9aZUcV0SioJcvRrGyZlg_);
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___wsC8o4Kvelfzzmgs57k8SA, b4);
TM__6mNpeIAN05DnDNzb9b3611A_0[126].typ = (&NTIprstnode__yfV9aZUcV0SioJcvRrGyZlg_);
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___wsC8o4Kvelfzzmgs57k8SA, q5);
TM__6mNpeIAN05DnDNzb9b3611A_0[127].typ = (&NTIrstparser__Nk9bIObsAkkI8z7H9cw9bOnnw_);
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__wsC8o4Kvelfzzmgs57k8SA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[121];
NTIrefobject__8GrvRGC9bTidliwO0qD2EZg_.size = sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA*);
NTIrefobject__8GrvRGC9bTidliwO0qD2EZg_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseMarkdownTable___wsC8o4Kvelfzzmgs57k8SA*);
NTIrefobject__8GrvRGC9bTidliwO0qD2EZg_.kind = 22;
NTIrefobject__8GrvRGC9bTidliwO0qD2EZg_.base = (&NTIobject__wsC8o4Kvelfzzmgs57k8SA_);
NTIrefobject__8GrvRGC9bTidliwO0qD2EZg_.marker = Marker_tyRef__8GrvRGC9bTidliwO0qD2EZg;
NTIobject__eFqiDKmcu0ibz9akfYqUkgA_.size = sizeof(tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA);
NTIobject__eFqiDKmcu0ibz9akfYqUkgA_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA);
NTIobject__eFqiDKmcu0ibz9akfYqUkgA_.kind = 17;
NTIobject__eFqiDKmcu0ibz9akfYqUkgA_.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___eFqiDKmcu0ibz9akfYqUkgA, 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___eFqiDKmcu0ibz9akfYqUkgA, s1);
TM__6mNpeIAN05DnDNzb9b3611A_0[130].typ = (&NTIprstsharedstate__dLMuJdRQoOg2PJi1ktqSYQ_);
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__eFqiDKmcu0ibz9akfYqUkgA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[128];
NTIrefobject__JQO85X9bhqod17TqlSrvEIQ_.size = sizeof(tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA*);
NTIrefobject__JQO85X9bhqod17TqlSrvEIQ_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_orderFootnotes___eFqiDKmcu0ibz9akfYqUkgA*);
NTIrefobject__JQO85X9bhqod17TqlSrvEIQ_.kind = 22;
NTIrefobject__JQO85X9bhqod17TqlSrvEIQ_.base = (&NTIobject__eFqiDKmcu0ibz9akfYqUkgA_);
NTIrefobject__JQO85X9bhqod17TqlSrvEIQ_.marker = Marker_tyRef__JQO85X9bhqod17TqlSrvEIQ;
NTIsinglylinkednodeobj__dRlnkNHLLKxta2PiHXbXzA_.size = sizeof(tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA);
NTIsinglylinkednodeobj__dRlnkNHLLKxta2PiHXbXzA_.align = NIM_ALIGNOF(tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA);
NTIsinglylinkednodeobj__dRlnkNHLLKxta2PiHXbXzA_.kind = 18;
NTIsinglylinkednodeobj__dRlnkNHLLKxta2PiHXbXzA_.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__dRlnkNHLLKxta2PiHXbXzA, next);
TM__6mNpeIAN05DnDNzb9b3611A_0[132].typ = (&NTIsinglylinkednode__gDEfmQjKC8B7ih9cWJmghxg_);
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__dRlnkNHLLKxta2PiHXbXzA, value);
TM__6mNpeIAN05DnDNzb9b3611A_0[133].typ = (&NTIfootnotesubst__KPVKrfx82Va9azSnb0dl1RQ_);
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__dRlnkNHLLKxta2PiHXbXzA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[131];
NTIsinglylinkednode__gDEfmQjKC8B7ih9cWJmghxg_.size = sizeof(tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*);
NTIsinglylinkednode__gDEfmQjKC8B7ih9cWJmghxg_.align = NIM_ALIGNOF(tyObject_SinglyLinkedNodeObj__dRlnkNHLLKxta2PiHXbXzA*);
NTIsinglylinkednode__gDEfmQjKC8B7ih9cWJmghxg_.kind = 22;
NTIsinglylinkednode__gDEfmQjKC8B7ih9cWJmghxg_.base = (&NTIsinglylinkednodeobj__dRlnkNHLLKxta2PiHXbXzA_);
NTIsinglylinkednode__gDEfmQjKC8B7ih9cWJmghxg_.marker = Marker_tyRef__gDEfmQjKC8B7ih9cWJmghxg;
}

