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

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g;
typedef struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg;
typedef struct RootObj RootObj;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg {
  RootObj Sup;
NI bufpos;
NimStringDesc* buf;
tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input;
NI lineNumber;
NI sentinel;
NI lineStart;
NI offsetBase;
tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars;
};
typedef NU8 tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ;
typedef NU8 tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw;
typedef NU8 tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg;
typedef NU8 tySet_tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ;
struct tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g {
  tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg Sup;
NimStringDesc* a;
NimStringDesc* b;
NimStringDesc* c;
tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ kind;
tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw err;
tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg state;
NIM_BOOL cIsEmpty;
NimStringDesc* filename;
tySet_tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ options;
};
typedef NU8 tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ;
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NimStringDesc* tyArray__kxJ71Dt4aJfzjsNqIUZGzQ[10];
N_LIB_PRIVATE N_NIMCALL(void, open__P89aGatd6bDNJ0Ak5E9cQgWw)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NI bufLen, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, getTok__SMUG2u4S60Be9ashez9cd4QQ_2)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__SMUG2u4S60Be9ashez9cd4QQ_3)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, parseEndTag__SMUG2u4S60Be9ashez9cd4QQ_4)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(NI, handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(void, parseName__aL9anpyEmlW5fxB9cXY5WeHg)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, NimStringDesc** dest);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
static N_INLINE(void, markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw kind);
N_LIB_PRIVATE N_NIMCALL(void, parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, NIM_BOOL skip);
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__sLQC1Z9cokufE3lZEw9b42Cw)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(void, parseCDATA__SMUG2u4S60Be9ashez9cd4QQ_5)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(void, parseComment__SMUG2u4S60Be9ashez9cd4QQ_6)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(void, parseSpecial__SMUG2u4S60Be9ashez9cd4QQ_7)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(void, parsePI__SMUG2u4S60Be9ashez9cd4QQ_8)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(void, parseTag__SMUG2u4S60Be9ashez9cd4QQ_9)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(void, parseEntity__aL9anpyEmlW5fxB9cXY5WeHg_2)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, NimStringDesc** dest);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nuctoUTF8)(NI32 c);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, parseCharData__SMUG2u4S60Be9ashez9cd4QQ_10)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, parseAttribute__SMUG2u4S60Be9ashez9cd4QQ_11)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
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__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(NI, getLine__7q5Mw1j9aMtqu4L9b0IN4cKwparsexml)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
static N_INLINE(NI, getColumn__7q5Mw1j9aMtqu4L9b0IN4cKw_2parsexml)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my);
N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__KUMaHICF9bUPO7tt6hrBs3g)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos);
extern TNimType NTI__MAw8rJZtJ279bVV3TWMtXSg_;
N_LIB_PRIVATE TNimType NTI__VUwAch81P9c4ST1PUfTYo0g_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
N_LIB_PRIVATE TNimType NTI__Qknhzh4VTsYTMpU18vpBLQ_;
N_LIB_PRIVATE TNimType NTI__F9abdZJggjbagkcCFgqbI9bw_;
N_LIB_PRIVATE TNimType NTI__W9a0n9bkhFkprfWuBVM2z9bBg_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
N_LIB_PRIVATE TNimType NTI__VCopfBMD18d0QUQlFvdMUQ_;
N_LIB_PRIVATE TNimType NTI__smopboHXIPvj5YRsyy63RA_;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__mQUBeySWbTZT1BNx9b2ZGEg_15 = {
0x00, 0x24, 0x00, 0x00, 0x00, 0x80, 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__mQUBeySWbTZT1BNx9b2ZGEg_16, "xml", 3);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__mQUBeySWbTZT1BNx9b2ZGEg_17 = {
0x01, 0x16, 0x00, 0x00, 0x85, 0x00, 0x00, 0x70,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_18, "$1($2, $3) Error: $4", 20);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_19, "no error", 8);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_20, "\']]>\' expected", 14);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_21, "name expected", 13);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_22, "\';\' expected", 12);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_23, "\'\?>\' expected", 13);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_24, "\'>\' expected", 12);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_25, "\'=\' expected", 12);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_26, "\'\"\' or \"\'\" expected", 19);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_27, "\'-->\' expected", 14);
STRING_LITERAL(TM__mQUBeySWbTZT1BNx9b2ZGEg_28, "attribute value expected", 24);
N_LIB_PRIVATE NIM_CONST tyArray__kxJ71Dt4aJfzjsNqIUZGzQ errorMessages__uV6gyZ9cD9b0x7S1f6LY2W3g = {((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_19),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_20),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_21),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_22),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_23),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_24),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_25),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_26),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_27),
((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_28)}
;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__759bT87luu8XGcbkw13FUjA;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (NIM_BOOL*)0;
	result = (&nimInErrorMode__759bT87luu8XGcbkw13FUjA);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, open__TFpkWrHVKR1HF0vBqWWVSQ)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NimStringDesc* filename, tySet_tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ options) {
	tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
	T1_ = &my->Sup;
	open__P89aGatd6bDNJ0Ak5E9cQgWw(T1_, input, ((NI) 8192), TM__mQUBeySWbTZT1BNx9b2ZGEg_15);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*my).filename = copyString(filename);
	(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 0);
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 0);
	(*my).a = ((NimStringDesc*) NIM_NIL);
	(*my).b = ((NimStringDesc*) NIM_NIL);
	(*my).c = ((NimStringDesc*) NIM_NIL);
	(*my).cIsEmpty = NIM_TRUE;
	(*my).options = options;
	}BeforeRet_: ;
}
static N_INLINE(void, markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw kind) {
	(*my).err = kind;
	(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 4);
}
N_LIB_PRIVATE N_NIMCALL(void, parseName__aL9anpyEmlW5fxB9cXY5WeHg)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, NimStringDesc** dest) {
	NI pos;
	pos = (*my).Sup.bufpos;
	{
		if (!(((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(90)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(122)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(95)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(58)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(128)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(255)))) goto LA3_;
		{
			while (1) {
				(*dest) = addChar((*dest), (*my).Sup.buf->data[pos]);
				pos += ((NI) 1);
				{
					if (!!((((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(90)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(122)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(57)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(46)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(45)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(95)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(58)) || ((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(128)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(255))))) goto LA9_;
					goto LA5;
				}
				LA9_: ;
			}
		} LA5: ;
		(*my).Sup.bufpos = pos;
	}
	goto LA1_;
	LA3_: ;
	{
		markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 2));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, NIM_BOOL skip) {
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos = (*my).Sup.bufpos;
	{
		while (1) {
			switch (((NU8)((*my).Sup.buf->data[pos]))) {
			case 32:
			case 9:
			{
				{
					if (!!(skip)) goto LA6_;
					(*my).a = addChar((*my).a, (*my).Sup.buf->data[pos]);
				}
				LA6_: ;
				pos += ((NI) 1);
			}
			break;
			case 13:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T9_;
				T9_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T9_ = &my->Sup;
				pos = handleCR__sLQC1Z9cokufE3lZEw9b42Cw(T9_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!!(skip)) goto LA12_;
					(*my).a = addChar((*my).a, 10);
				}
				LA12_: ;
			}
			break;
			case 10:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T15_;
				T15_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T15_ = &my->Sup;
				pos = handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3(T15_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!!(skip)) goto LA18_;
					(*my).a = addChar((*my).a, 10);
				}
				LA18_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	(*my).Sup.bufpos = pos;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseEndTag__SMUG2u4S60Be9ashez9cd4QQ_4)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T1_;
	NI T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
	T1_ = &my->Sup;
	T2_ = (NI)0;
	T2_ = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T1_, (NI)((*my).Sup.bufpos + ((NI) 1)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*my).Sup.bufpos = T2_;
	parseName__aL9anpyEmlW5fxB9cXY5WeHg(my, (&(*my).a));
	parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ(my, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(62))) goto LA5_;
		(*my).Sup.bufpos += ((NI) 1);
	}
	goto LA3_;
	LA5_: ;
	{
		markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 5));
	}
	LA3_: ;
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 7);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseCDATA__SMUG2u4S60Be9ashez9cd4QQ_5)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos = (NI)((*my).Sup.bufpos + ((NI) 9));
	{
		while (1) {
			switch (((NU8)((*my).Sup.buf->data[pos]))) {
			case 93:
			{
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(93));
					if (!(T6_)) goto LA7_;
					T6_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(62));
					LA7_: ;
					if (!T6_) goto LA8_;
					pos += ((NI) 3);
					goto LA1;
				}
				LA8_: ;
				(*my).a = addChar((*my).a, 93);
				pos += ((NI) 1);
			}
			break;
			case 0:
			{
				markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 1));
				goto LA1;
			}
			break;
			case 13:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T12_;
				T12_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T12_ = &my->Sup;
				pos = handleCR__sLQC1Z9cokufE3lZEw9b42Cw(T12_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 10);
			}
			break;
			case 10:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T14_;
				T14_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T14_ = &my->Sup;
				pos = handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3(T14_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 10);
			}
			break;
			case 47:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T16_;
				T16_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T16_ = &my->Sup;
				pos = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T16_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 47);
			}
			break;
			default:
			{
				(*my).a = addChar((*my).a, (*my).Sup.buf->data[pos]);
				pos += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	(*my).Sup.bufpos = pos;
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 11);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseComment__SMUG2u4S60Be9ashez9cd4QQ_6)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos = (NI)((*my).Sup.bufpos + ((NI) 4));
	{
		while (1) {
			switch (((NU8)((*my).Sup.buf->data[pos]))) {
			case 45:
			{
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(45));
					if (!(T6_)) goto LA7_;
					T6_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(62));
					LA7_: ;
					if (!T6_) goto LA8_;
					pos += ((NI) 3);
					goto LA1;
				}
				LA8_: ;
				{
					if (!(((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 1))&7U)))!=0)) goto LA12_;
					(*my).a = addChar((*my).a, 45);
				}
				LA12_: ;
				pos += ((NI) 1);
			}
			break;
			case 0:
			{
				markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 8));
				goto LA1;
			}
			break;
			case 13:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T16_;
				T16_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T16_ = &my->Sup;
				pos = handleCR__sLQC1Z9cokufE3lZEw9b42Cw(T16_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 1))&7U)))!=0)) goto LA19_;
					(*my).a = addChar((*my).a, 10);
				}
				LA19_: ;
			}
			break;
			case 10:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T22_;
				T22_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T22_ = &my->Sup;
				pos = handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3(T22_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 1))&7U)))!=0)) goto LA25_;
					(*my).a = addChar((*my).a, 10);
				}
				LA25_: ;
			}
			break;
			case 47:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T28_;
				T28_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T28_ = &my->Sup;
				pos = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T28_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 1))&7U)))!=0)) goto LA31_;
					(*my).a = addChar((*my).a, 47);
				}
				LA31_: ;
			}
			break;
			default:
			{
				{
					if (!(((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 1))&7U)))!=0)) goto LA36_;
					(*my).a = addChar((*my).a, (*my).Sup.buf->data[pos]);
				}
				LA36_: ;
				pos += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	(*my).Sup.bufpos = pos;
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 4);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseSpecial__SMUG2u4S60Be9ashez9cd4QQ_7)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI pos;
	NI opentags;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos = (NI)((*my).Sup.bufpos + ((NI) 2));
	opentags = ((NI) 0);
	{
		while (1) {
			switch (((NU8)((*my).Sup.buf->data[pos]))) {
			case 0:
			{
				markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 5));
				goto LA1;
			}
			break;
			case 60:
			{
				opentags += ((NI) 1);
				pos += ((NI) 1);
				(*my).a = addChar((*my).a, 60);
			}
			break;
			case 62:
			{
				{
					if (!(opentags <= ((NI) 0))) goto LA8_;
					pos += ((NI) 1);
					goto LA1;
				}
				LA8_: ;
				opentags -= ((NI) 1);
				pos += ((NI) 1);
				(*my).a = addChar((*my).a, 62);
			}
			break;
			case 13:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T11_;
				T11_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T11_ = &my->Sup;
				pos = handleCR__sLQC1Z9cokufE3lZEw9b42Cw(T11_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 10);
			}
			break;
			case 10:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T13_;
				T13_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T13_ = &my->Sup;
				pos = handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3(T13_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 10);
			}
			break;
			case 47:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T15_;
				T15_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T15_ = &my->Sup;
				pos = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T15_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).b = addChar((*my).b, 47);
			}
			break;
			default:
			{
				(*my).a = addChar((*my).a, (*my).Sup.buf->data[pos]);
				pos += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	(*my).Sup.bufpos = pos;
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 13);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parsePI__SMUG2u4S60Be9ashez9cd4QQ_8)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*my).Sup.bufpos += ((NI) 2);
	parseName__aL9anpyEmlW5fxB9cXY5WeHg(my, (&(*my).a));
	pos = (*my).Sup.bufpos;
	(*my).b = setLengthStr((*my).b, ((NI) 0));
	{
		while (1) {
			switch (((NU8)((*my).Sup.buf->data[pos]))) {
			case 0:
			{
				markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 4));
				goto LA1;
			}
			break;
			case 63:
			{
				{
					if (!((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(62))) goto LA7_;
					pos += ((NI) 2);
					goto LA1;
				}
				LA7_: ;
				(*my).b = addChar((*my).b, 63);
				pos += ((NI) 1);
			}
			break;
			case 13:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T10_;
				T10_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T10_ = &my->Sup;
				pos = handleCR__sLQC1Z9cokufE3lZEw9b42Cw(T10_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).b = addChar((*my).b, 10);
			}
			break;
			case 10:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T12_;
				T12_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T12_ = &my->Sup;
				pos = handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3(T12_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).b = addChar((*my).b, 10);
			}
			break;
			case 47:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T14_;
				T14_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T14_ = &my->Sup;
				pos = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T14_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).b = addChar((*my).b, 47);
			}
			break;
			default:
			{
				(*my).b = addChar((*my).b, (*my).Sup.buf->data[pos]);
				pos += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	(*my).Sup.bufpos = pos;
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 5);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseTag__SMUG2u4S60Be9ashez9cd4QQ_9)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*my).Sup.bufpos += ((NI) 1);
	parseName__aL9anpyEmlW5fxB9cXY5WeHg(my, (&(*my).a));
	{
		if (!(((*my).a ? (*my).a->Sup.len : 0) == ((NI) 0))) goto LA3_;
		(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 2);
		(*my).a = addChar((*my).a, 60);
		goto BeforeRet_;
	}
	LA3_: ;
	parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ(my, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) <= ((NU8)(90)) || ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) <= ((NU8)(122)) || ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) == ((NU8)(95)) || ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) == ((NU8)(58)) || ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) >= ((NU8)(128)) && ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos])) <= ((NU8)(255)))) goto LA7_;
		(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 8);
		(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 2);
		(*my).c = copyString((*my).a);
		(*my).cIsEmpty = NIM_FALSE;
	}
	goto LA5_;
	LA7_: ;
	{
		NIM_BOOL slash;
		(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 6);
		slash = ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(47));
		{
			tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T14_;
			NI T15_;
			if (!slash) goto LA12_;
			T14_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
			T14_ = &my->Sup;
			T15_ = (NI)0;
			T15_ = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T14_, (*my).Sup.bufpos);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*my).Sup.bufpos = T15_;
		}
		LA12_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = slash;
			if (!(T18_)) goto LA19_;
			T18_ = ((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(62));
			LA19_: ;
			if (!T18_) goto LA20_;
			(*my).Sup.bufpos += ((NI) 1);
			(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 3);
			(*my).c = ((NimStringDesc*) NIM_NIL);
			(*my).cIsEmpty = NIM_TRUE;
		}
		goto LA16_;
		LA20_: ;
		{
			if (!((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(62))) goto LA23_;
			(*my).Sup.bufpos += ((NI) 1);
		}
		goto LA16_;
		LA23_: ;
		{
			markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 5));
		}
		LA16_: ;
	}
	LA5_: ;
	}BeforeRet_: ;
}
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__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseEntity__aL9anpyEmlW5fxB9cXY5WeHg_2)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, NimStringDesc** dest) {
	NI pos;
	pos = (NI)((*my).Sup.bufpos + ((NI) 1));
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 2);
	{
		NI r;
		NimStringDesc* T18_;
		if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(35))) goto LA3_;
		r = (NI)0;
		pos += ((NI) 1);
		{
			if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(120))) goto LA7_;
			pos += ((NI) 1);
			{
				while (1) {
					switch (((NU8)((*my).Sup.buf->data[pos]))) {
					case 48 ... 57:
					{
						r = (NI)((NI)((NU64)(r) << (NU64)(((NI) 4))) | (NI)(((NU8)((*my).Sup.buf->data[pos])) - ((NI) 48)));
					}
					break;
					case 97 ... 102:
					{
						r = (NI)((NI)((NU64)(r) << (NU64)(((NI) 4))) | (NI)((NI)(((NU8)((*my).Sup.buf->data[pos])) - ((NI) 97)) + ((NI) 10)));
					}
					break;
					case 65 ... 70:
					{
						r = (NI)((NI)((NU64)(r) << (NU64)(((NI) 4))) | (NI)((NI)(((NU8)((*my).Sup.buf->data[pos])) - ((NI) 65)) + ((NI) 10)));
					}
					break;
					default:
					{
						goto LA9;
					}
					break;
					}
					pos += ((NI) 1);
				}
			} LA9: ;
		}
		goto LA5_;
		LA7_: ;
		{
			{
				while (1) {
					if (!(((NU8)((*my).Sup.buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf->data[pos])) <= ((NU8)(57)))) goto LA17;
					r = (NI)((NI)(r * ((NI) 10)) + (NI)(((NU8)((*my).Sup.buf->data[pos])) - ((NI) 48)));
					pos += ((NI) 1);
				} LA17: ;
			}
		}
		LA5_: ;
		T18_ = (NimStringDesc*)0;
		T18_ = nuctoUTF8(((NI32) (r)));
		(*dest) = resizeString((*dest), (T18_ ? T18_->Sup.len : 0) + 0);
appendString((*dest), T18_);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T20_;
		NIM_BOOL T21_;
		T20_ = (NIM_BOOL)0;
		T21_ = (NIM_BOOL)0;
		T21_ = ((NU8)((*my).Sup.buf->data[pos]) == (NU8)(108));
		if (!(T21_)) goto LA22_;
		T21_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(116));
		LA22_: ;
		T20_ = T21_;
		if (!(T20_)) goto LA23_;
		T20_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(59));
		LA23_: ;
		if (!T20_) goto LA24_;
		(*dest) = addChar((*dest), 60);
		pos += ((NI) 2);
	}
	goto LA1_;
	LA24_: ;
	{
		NIM_BOOL T27_;
		NIM_BOOL T28_;
		T27_ = (NIM_BOOL)0;
		T28_ = (NIM_BOOL)0;
		T28_ = ((NU8)((*my).Sup.buf->data[pos]) == (NU8)(103));
		if (!(T28_)) goto LA29_;
		T28_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(116));
		LA29_: ;
		T27_ = T28_;
		if (!(T27_)) goto LA30_;
		T27_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(59));
		LA30_: ;
		if (!T27_) goto LA31_;
		(*dest) = addChar((*dest), 62);
		pos += ((NI) 2);
	}
	goto LA1_;
	LA31_: ;
	{
		NIM_BOOL T34_;
		NIM_BOOL T35_;
		NIM_BOOL T36_;
		T34_ = (NIM_BOOL)0;
		T35_ = (NIM_BOOL)0;
		T36_ = (NIM_BOOL)0;
		T36_ = ((NU8)((*my).Sup.buf->data[pos]) == (NU8)(97));
		if (!(T36_)) goto LA37_;
		T36_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(109));
		LA37_: ;
		T35_ = T36_;
		if (!(T35_)) goto LA38_;
		T35_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(112));
		LA38_: ;
		T34_ = T35_;
		if (!(T34_)) goto LA39_;
		T34_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 3))]) == (NU8)(59));
		LA39_: ;
		if (!T34_) goto LA40_;
		(*dest) = addChar((*dest), 38);
		pos += ((NI) 3);
	}
	goto LA1_;
	LA40_: ;
	{
		NIM_BOOL T43_;
		NIM_BOOL T44_;
		NIM_BOOL T45_;
		NIM_BOOL T46_;
		T43_ = (NIM_BOOL)0;
		T44_ = (NIM_BOOL)0;
		T45_ = (NIM_BOOL)0;
		T46_ = (NIM_BOOL)0;
		T46_ = ((NU8)((*my).Sup.buf->data[pos]) == (NU8)(97));
		if (!(T46_)) goto LA47_;
		T46_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(112));
		LA47_: ;
		T45_ = T46_;
		if (!(T45_)) goto LA48_;
		T45_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(111));
		LA48_: ;
		T44_ = T45_;
		if (!(T44_)) goto LA49_;
		T44_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 3))]) == (NU8)(115));
		LA49_: ;
		T43_ = T44_;
		if (!(T43_)) goto LA50_;
		T43_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 4))]) == (NU8)(59));
		LA50_: ;
		if (!T43_) goto LA51_;
		(*dest) = addChar((*dest), 39);
		pos += ((NI) 4);
	}
	goto LA1_;
	LA51_: ;
	{
		NIM_BOOL T54_;
		NIM_BOOL T55_;
		NIM_BOOL T56_;
		NIM_BOOL T57_;
		T54_ = (NIM_BOOL)0;
		T55_ = (NIM_BOOL)0;
		T56_ = (NIM_BOOL)0;
		T57_ = (NIM_BOOL)0;
		T57_ = ((NU8)((*my).Sup.buf->data[pos]) == (NU8)(113));
		if (!(T57_)) goto LA58_;
		T57_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(117));
		LA58_: ;
		T56_ = T57_;
		if (!(T56_)) goto LA59_;
		T56_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(111));
		LA59_: ;
		T55_ = T56_;
		if (!(T55_)) goto LA60_;
		T55_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 3))]) == (NU8)(116));
		LA60_: ;
		T54_ = T55_;
		if (!(T54_)) goto LA61_;
		T54_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 4))]) == (NU8)(59));
		LA61_: ;
		if (!T54_) goto LA62_;
		(*dest) = addChar((*dest), 34);
		pos += ((NI) 4);
	}
	goto LA1_;
	LA62_: ;
	{
		NimStringDesc* name;
		(*my).Sup.bufpos = pos;
		name = ((NimStringDesc*) NIM_NIL);
		parseName__aL9anpyEmlW5fxB9cXY5WeHg(my, (&name));
		pos = (*my).Sup.bufpos;
		{
			NIM_BOOL T67_;
			T67_ = (NIM_BOOL)0;
			T67_ = !(((*my).err == ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 2)));
			if (!(T67_)) goto LA68_;
			T67_ = ((NU8)((*my).Sup.buf->data[pos]) == (NU8)(59));
			LA68_: ;
			if (!T67_) goto LA69_;
			(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 12);
		}
		goto LA65_;
		LA69_: ;
		{
			(*dest) = addChar((*dest), 38);
		}
		LA65_: ;
		(*dest) = resizeString((*dest), (name ? name->Sup.len : 0) + 0);
appendString((*dest), name);
	}
	LA1_: ;
	{
		if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(59))) goto LA74_;
		pos += ((NI) 1);
	}
	goto LA72_;
	LA74_: ;
	{
		(*my).err = ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 3);
	}
	LA72_: ;
	(*my).Sup.bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, parseCharData__SMUG2u4S60Be9ashez9cd4QQ_10)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos = (*my).Sup.bufpos;
	{
		while (1) {
			switch (((NU8)((*my).Sup.buf->data[pos]))) {
			case 0:
			case 60:
			case 38:
			{
				goto LA1;
			}
			break;
			case 13:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T5_;
				T5_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T5_ = &my->Sup;
				pos = handleCR__sLQC1Z9cokufE3lZEw9b42Cw(T5_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 10);
			}
			break;
			case 10:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T7_;
				T7_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T7_ = &my->Sup;
				pos = handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3(T7_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 10);
			}
			break;
			case 47:
			{
				tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T9_;
				T9_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
				T9_ = &my->Sup;
				pos = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T9_, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*my).a = addChar((*my).a, 47);
			}
			break;
			default:
			{
				(*my).a = addChar((*my).a, (*my).Sup.buf->data[pos]);
				pos += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	(*my).Sup.bufpos = pos;
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 2);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__SMUG2u4S60Be9ashez9cd4QQ_3)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 0);
	(*my).a = setLengthStr((*my).a, ((NI) 0));
	pos = (*my).Sup.bufpos;
	switch (((NU8)((*my).Sup.buf->data[pos]))) {
	case 60:
	{
		switch (((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 1))]))) {
		case 47:
		{
			parseEndTag__SMUG2u4S60Be9ashez9cd4QQ_4(my);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 33:
		{
			{
				NIM_BOOL T6_;
				NIM_BOOL T7_;
				NIM_BOOL T8_;
				NIM_BOOL T9_;
				NIM_BOOL T10_;
				NIM_BOOL T11_;
				T6_ = (NIM_BOOL)0;
				T7_ = (NIM_BOOL)0;
				T8_ = (NIM_BOOL)0;
				T9_ = (NIM_BOOL)0;
				T10_ = (NIM_BOOL)0;
				T11_ = (NIM_BOOL)0;
				T11_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(91));
				if (!(T11_)) goto LA12_;
				T11_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 3))]) == (NU8)(67));
				LA12_: ;
				T10_ = T11_;
				if (!(T10_)) goto LA13_;
				T10_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 4))]) == (NU8)(68));
				LA13_: ;
				T9_ = T10_;
				if (!(T9_)) goto LA14_;
				T9_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 5))]) == (NU8)(65));
				LA14_: ;
				T8_ = T9_;
				if (!(T8_)) goto LA15_;
				T8_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 6))]) == (NU8)(84));
				LA15_: ;
				T7_ = T8_;
				if (!(T7_)) goto LA16_;
				T7_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 7))]) == (NU8)(65));
				LA16_: ;
				T6_ = T7_;
				if (!(T6_)) goto LA17_;
				T6_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 8))]) == (NU8)(91));
				LA17_: ;
				if (!T6_) goto LA18_;
				parseCDATA__SMUG2u4S60Be9ashez9cd4QQ_5(my);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA4_;
			LA18_: ;
			{
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 2))]) == (NU8)(45));
				if (!(T21_)) goto LA22_;
				T21_ = ((NU8)((*my).Sup.buf->data[(NI)(pos + ((NI) 3))]) == (NU8)(45));
				LA22_: ;
				if (!T21_) goto LA23_;
				parseComment__SMUG2u4S60Be9ashez9cd4QQ_6(my);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA4_;
			LA23_: ;
			{
				parseSpecial__SMUG2u4S60Be9ashez9cd4QQ_7(my);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			LA4_: ;
		}
		break;
		case 63:
		{
			parsePI__SMUG2u4S60Be9ashez9cd4QQ_8(my);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			parseTag__SMUG2u4S60Be9ashez9cd4QQ_9(my);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
	break;
	case 32:
	case 9:
	case 13:
	case 10:
	{
		parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ(my, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 3);
	}
	break;
	case 0:
	{
		(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 1);
	}
	break;
	case 38:
	{
		parseEntity__aL9anpyEmlW5fxB9cXY5WeHg_2(my, (&(*my).a));
	}
	break;
	default:
	{
		parseCharData__SMUG2u4S60Be9ashez9cd4QQ_10(my);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getTok__SMUG2u4S60Be9ashez9cd4QQ_2)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		while (1) {
			tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ lastKind;
			lastKind = (*my).kind;
			rawGetTok__SMUG2u4S60Be9ashez9cd4QQ_3(my);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			switch ((*my).kind) {
			case ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 4):
			{
				{
					if (!(((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 1))&7U)))!=0)) goto LA6_;
					goto LA1;
				}
				LA6_: ;
			}
			break;
			case ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 3):
			{
				{
					NIM_BOOL T11_;
					T11_ = (NIM_BOOL)0;
					T11_ = (((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 0))&7U)))!=0);
					if (T11_) goto LA12_;
					T11_ = ((4116 &(1U<<((NU)(lastKind)&15U)))!=0);
					LA12_: ;
					if (!T11_) goto LA13_;
					goto LA1;
				}
				LA13_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	}BeforeRet_: ;
}
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__9bGgqEk7RXXl6eqM9c1HdELAsystem)(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__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseAttribute__SMUG2u4S60Be9ashez9cd4QQ_11)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI startPos;
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 9);
	(*my).a = setLengthStr((*my).a, ((NI) 0));
	(*my).b = setLengthStr((*my).b, ((NI) 0));
	parseName__aL9anpyEmlW5fxB9cXY5WeHg(my, (&(*my).a));
	{
		if (!(((*my).a ? (*my).a->Sup.len : 0) == ((NI) 0))) goto LA3_;
		markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 5));
		goto BeforeRet_;
	}
	LA3_: ;
	startPos = (*my).Sup.bufpos;
	parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ(my, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(61)))) goto LA7_;
		{
			NIM_BOOL T11_;
			NIM_BOOL T13_;
			T11_ = (NIM_BOOL)0;
			T11_ = !((((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 3))&7U)))!=0));
			if (T11_) goto LA12_;
			T13_ = (NIM_BOOL)0;
			T13_ = !(((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(62)));
			if (!(T13_)) goto LA14_;
			T13_ = ((*my).Sup.bufpos == startPos);
			LA14_: ;
			T11_ = T13_;
			LA12_: ;
			if (!T11_) goto LA15_;
			markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 6));
		}
		LA15_: ;
		goto BeforeRet_;
	}
	LA7_: ;
	(*my).Sup.bufpos += ((NI) 1);
	parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ(my, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	pos = (*my).Sup.bufpos;
	{
		NIM_CHAR quote;
		NIM_BOOL pendingSpace;
		if (!(((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(39)) || ((NU8)((*my).Sup.buf->data[pos])) == ((NU8)(34)))) goto LA19_;
		quote = (*my).Sup.buf->data[pos];
		pendingSpace = NIM_FALSE;
		pos += ((NI) 1);
		{
			while (1) {
				switch (((NU8)((*my).Sup.buf->data[pos]))) {
				case 0:
				{
					markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 7));
					goto LA21;
				}
				break;
				case 38:
				{
					{
						if (!pendingSpace) goto LA27_;
						(*my).b = addChar((*my).b, 32);
						pendingSpace = NIM_FALSE;
					}
					LA27_: ;
					(*my).Sup.bufpos = pos;
					parseEntity__aL9anpyEmlW5fxB9cXY5WeHg_2(my, (&(*my).b));
					(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 9);
					pos = (*my).Sup.bufpos;
				}
				break;
				case 32:
				case 9:
				{
					pendingSpace = NIM_TRUE;
					pos += ((NI) 1);
				}
				break;
				case 13:
				{
					tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T31_;
					T31_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
					T31_ = &my->Sup;
					pos = handleCR__sLQC1Z9cokufE3lZEw9b42Cw(T31_, pos);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pendingSpace = NIM_TRUE;
				}
				break;
				case 10:
				{
					tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T33_;
					T33_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
					T33_ = &my->Sup;
					pos = handleLF__sLQC1Z9cokufE3lZEw9b42Cw_3(T33_, pos);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pendingSpace = NIM_TRUE;
				}
				break;
				case 47:
				{
					tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T35_;
					T35_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
					T35_ = &my->Sup;
					pos = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T35_, pos);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					(*my).b = addChar((*my).b, 47);
				}
				break;
				default:
				{
					{
						if (!((NU8)((*my).Sup.buf->data[pos]) == (NU8)(quote))) goto LA39_;
						pos += ((NI) 1);
						goto LA21;
					}
					goto LA37_;
					LA39_: ;
					{
						{
							if (!pendingSpace) goto LA44_;
							(*my).b = addChar((*my).b, 32);
							pendingSpace = NIM_FALSE;
						}
						LA44_: ;
						(*my).b = addChar((*my).b, (*my).Sup.buf->data[pos]);
						pos += ((NI) 1);
					}
					LA37_: ;
				}
				break;
				}
			}
		} LA21: ;
	}
	goto LA17_;
	LA19_: ;
	{
		NI startPos_2;
		if (!(((*my).options &(1U<<((NU)(((tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ) 2))&7U)))!=0)) goto LA47_;
		startPos_2 = pos;
		{
			while (1) {
				NIM_CHAR c;
				c = (*my).Sup.buf->data[pos];
				if (!!(((TM__mQUBeySWbTZT1BNx9b2ZGEg_17[(NU)(((NU8)(c)))>>3] &(1U<<((NU)(((NU8)(c)))&7U)))!=0))) goto LA50;
				{
					if (!((NU8)(c) == (NU8)(38))) goto LA53_;
					(*my).Sup.bufpos = pos;
					parseEntity__aL9anpyEmlW5fxB9cXY5WeHg_2(my, (&(*my).b));
					(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 9);
					pos = (*my).Sup.bufpos;
				}
				goto LA51_;
				LA53_: ;
				{
					(*my).b = addChar((*my).b, c);
					pos += ((NI) 1);
				}
				LA51_: ;
			} LA50: ;
		}
		{
			if (!(pos == startPos_2)) goto LA58_;
			markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 9));
		}
		LA58_: ;
	}
	goto LA17_;
	LA47_: ;
	{
		markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 7));
		{
			while (1) {
				NIM_BOOL T63_;
				T63_ = (NIM_BOOL)0;
				T63_ = !(((NU8)((*my).Sup.buf->data[pos]) == (NU8)(62)));
				if (!(T63_)) goto LA64_;
				T63_ = ((NU8)(32) < (NU8)((*my).Sup.buf->data[pos]));
				LA64_: ;
				if (!T63_) goto LA62;
				(*my).b = addChar((*my).b, (*my).Sup.buf->data[pos]);
				pos += ((NI) 1);
			} LA62: ;
		}
	}
	LA17_: ;
	(*my).Sup.bufpos = pos;
	parseWhitespace__rvS6gaOqKjmRNXgM9a4pKQQ(my, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, next__SMUG2u4S60Be9ashez9cd4QQ)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*my).state) {
	case ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 1):
	{
		getTok__SMUG2u4S60Be9ashez9cd4QQ_2(my);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 0):
	{
		(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 1);
		getTok__SMUG2u4S60Be9ashez9cd4QQ_2(my);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T5_;
			T5_ = (NIM_BOOL)0;
			T5_ = ((*my).kind == ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 5));
			if (!(T5_)) goto LA6_;
			T5_ = eqStrings((*my).a, ((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_16));
			LA6_: ;
			if (!T5_) goto LA7_;
			getTok__SMUG2u4S60Be9ashez9cd4QQ_2(my);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA7_: ;
	}
	break;
	case ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 2):
	{
		{
			if (!((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(62))) goto LA12_;
			(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 10);
			(*my).Sup.bufpos += ((NI) 1);
			(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 1);
		}
		goto LA10_;
		LA12_: ;
		{
			tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* T17_;
			NI T18_;
			if (!((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(47))) goto LA15_;
			T17_ = (tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg*)0;
			T17_ = &my->Sup;
			T18_ = (NI)0;
			T18_ = handleRefillChar__sLQC1Z9cokufE3lZEw9b42Cw_4(T17_, (*my).Sup.bufpos);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*my).Sup.bufpos = T18_;
			{
				if (!((NU8)((*my).Sup.buf->data[(*my).Sup.bufpos]) == (NU8)(62))) goto LA21_;
				(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 10);
				(*my).Sup.bufpos += ((NI) 1);
				(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 3);
			}
			goto LA19_;
			LA21_: ;
			{
				markError__arufx3Hdqz9cv9bxFIYDwLwgparsexml(my, ((tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw) 5));
			}
			LA19_: ;
		}
		goto LA10_;
		LA15_: ;
		{
			parseAttribute__SMUG2u4S60Be9ashez9cd4QQ_11(my);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA10_: ;
	}
	break;
	case ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 3):
	{
		(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 1);
		(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 7);
		{
			if (!!((*my).cIsEmpty)) goto LA28_;
			(*my).a = copyString((*my).c);
		}
		LA28_: ;
	}
	break;
	case ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 4):
	{
		(*my).kind = ((tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ) 0);
		(*my).state = ((tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg) 1);
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(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__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(NI, getLine__7q5Mw1j9aMtqu4L9b0IN4cKwparsexml)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI result;
	result = (NI)0;
	result = (*my).Sup.lineNumber;
	return result;
}
static N_INLINE(NI, getColumn__7q5Mw1j9aMtqu4L9b0IN4cKw_2parsexml)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NI result;
	result = (NI)0;
	result = getColNumber__KUMaHICF9bUPO7tt6hrBs3g((&(*my).Sup), (*my).Sup.bufpos);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorMsg__R9bVnbXGYMaVBIxnO7upB6g)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my) {
	NimStringDesc* result;
	tyArray__sMpvt1sOxOJ3LFGulnbeMQ T1_;
	NI T2_;
	NI T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NimStringDesc*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
	T1_[0] = copyString((*my).filename);
	T2_ = (NI)0;
	T2_ = getLine__7q5Mw1j9aMtqu4L9b0IN4cKwparsexml(my);
	T1_[1] = nimIntToStr(T2_);
	T3_ = (NI)0;
	T3_ = getColumn__7q5Mw1j9aMtqu4L9b0IN4cKw_2parsexml(my);
	T1_[2] = nimIntToStr(T3_);
	T1_[3] = copyString(errorMessages__uV6gyZ9cD9b0x7S1f6LY2W3g[((*my).err)- 0]);
	result = nsuFormatOpenArray(((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_18), T1_, 4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorMsg__BWCxai4yNLca1JP9bQj43Ag)(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g* my, NimStringDesc* msg) {
	NimStringDesc* result;
	tyArray__sMpvt1sOxOJ3LFGulnbeMQ T1_;
	NI T2_;
	NI T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NimStringDesc*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
	T1_[0] = copyString((*my).filename);
	T2_ = (NI)0;
	T2_ = getLine__7q5Mw1j9aMtqu4L9b0IN4cKwparsexml(my);
	T1_[1] = nimIntToStr(T2_);
	T3_ = (NI)0;
	T3_ = getColumn__7q5Mw1j9aMtqu4L9b0IN4cKw_2parsexml(my);
	T1_[2] = nimIntToStr(T3_);
	T1_[3] = copyString(msg);
	result = nsuFormatOpenArray(((NimStringDesc*) &TM__mQUBeySWbTZT1BNx9b2ZGEg_18), T1_, 4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_parsexmlDatInit000)(void) {
static TNimNode* TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[9];
static TNimNode* TM__mQUBeySWbTZT1BNx9b2ZGEg_3_14[14];
NI TM__mQUBeySWbTZT1BNx9b2ZGEg_5;
static char* NIM_CONST TM__mQUBeySWbTZT1BNx9b2ZGEg_4[14] = {
"xmlError", 
"xmlEof", 
"xmlCharData", 
"xmlWhitespace", 
"xmlComment", 
"xmlPI", 
"xmlElementStart", 
"xmlElementEnd", 
"xmlElementOpen", 
"xmlAttribute", 
"xmlElementClose", 
"xmlCData", 
"xmlEntity", 
"xmlSpecial"};
static TNimNode* TM__mQUBeySWbTZT1BNx9b2ZGEg_6_10[10];
NI TM__mQUBeySWbTZT1BNx9b2ZGEg_8;
static char* NIM_CONST TM__mQUBeySWbTZT1BNx9b2ZGEg_7[10] = {
"errNone", 
"errEndOfCDataExpected", 
"errNameExpected", 
"errSemicolonExpected", 
"errQmGtExpected", 
"errGtExpected", 
"errEqExpected", 
"errQuoteExpected", 
"errEndOfCommentExpected", 
"errAttributeValueExpected"};
static TNimNode* TM__mQUBeySWbTZT1BNx9b2ZGEg_9_5[5];
NI TM__mQUBeySWbTZT1BNx9b2ZGEg_11;
static char* NIM_CONST TM__mQUBeySWbTZT1BNx9b2ZGEg_10[5] = {
"stateStart", 
"stateNormal", 
"stateAttr", 
"stateEmptyElementTag", 
"stateError"};
static TNimNode* TM__mQUBeySWbTZT1BNx9b2ZGEg_12_4[4];
NI TM__mQUBeySWbTZT1BNx9b2ZGEg_14;
static char* NIM_CONST TM__mQUBeySWbTZT1BNx9b2ZGEg_13[4] = {
"reportWhitespace", 
"reportComments", 
"allowUnquotedAttribs", 
"allowEmptyAttribs"};
static TNimNode TM__mQUBeySWbTZT1BNx9b2ZGEg_0[48];
NTI__VUwAch81P9c4ST1PUfTYo0g_.size = sizeof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g);
NTI__VUwAch81P9c4ST1PUfTYo0g_.kind = 17;
NTI__VUwAch81P9c4ST1PUfTYo0g_.base = (&NTI__MAw8rJZtJ279bVV3TWMtXSg_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[0] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[1];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[1].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[1].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, a);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[1].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[1].name = "a";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[1] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[2];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[2].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[2].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, b);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[2].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[2].name = "b";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[2] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[3];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[3].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[3].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, c);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[3].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[3].name = "c";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[3] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[4];
NTI__Qknhzh4VTsYTMpU18vpBLQ_.size = sizeof(tyEnum_XmlEventKind__Qknhzh4VTsYTMpU18vpBLQ);
NTI__Qknhzh4VTsYTMpU18vpBLQ_.kind = 14;
NTI__Qknhzh4VTsYTMpU18vpBLQ_.base = 0;
NTI__Qknhzh4VTsYTMpU18vpBLQ_.flags = 3;
for (TM__mQUBeySWbTZT1BNx9b2ZGEg_5 = 0; TM__mQUBeySWbTZT1BNx9b2ZGEg_5 < 14; TM__mQUBeySWbTZT1BNx9b2ZGEg_5++) {
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_5+5].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_5+5].offset = TM__mQUBeySWbTZT1BNx9b2ZGEg_5;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_5+5].name = TM__mQUBeySWbTZT1BNx9b2ZGEg_4[TM__mQUBeySWbTZT1BNx9b2ZGEg_5];
TM__mQUBeySWbTZT1BNx9b2ZGEg_3_14[TM__mQUBeySWbTZT1BNx9b2ZGEg_5] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_5+5];
}
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[19].len = 14; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[19].kind = 2; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[19].sons = &TM__mQUBeySWbTZT1BNx9b2ZGEg_3_14[0];
NTI__Qknhzh4VTsYTMpU18vpBLQ_.node = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[19];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[4].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[4].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, kind);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[4].typ = (&NTI__Qknhzh4VTsYTMpU18vpBLQ_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[4].name = "kind";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[4] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[20];
NTI__F9abdZJggjbagkcCFgqbI9bw_.size = sizeof(tyEnum_XmlErrorKind__F9abdZJggjbagkcCFgqbI9bw);
NTI__F9abdZJggjbagkcCFgqbI9bw_.kind = 14;
NTI__F9abdZJggjbagkcCFgqbI9bw_.base = 0;
NTI__F9abdZJggjbagkcCFgqbI9bw_.flags = 3;
for (TM__mQUBeySWbTZT1BNx9b2ZGEg_8 = 0; TM__mQUBeySWbTZT1BNx9b2ZGEg_8 < 10; TM__mQUBeySWbTZT1BNx9b2ZGEg_8++) {
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_8+21].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_8+21].offset = TM__mQUBeySWbTZT1BNx9b2ZGEg_8;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_8+21].name = TM__mQUBeySWbTZT1BNx9b2ZGEg_7[TM__mQUBeySWbTZT1BNx9b2ZGEg_8];
TM__mQUBeySWbTZT1BNx9b2ZGEg_6_10[TM__mQUBeySWbTZT1BNx9b2ZGEg_8] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_8+21];
}
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[31].len = 10; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[31].kind = 2; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[31].sons = &TM__mQUBeySWbTZT1BNx9b2ZGEg_6_10[0];
NTI__F9abdZJggjbagkcCFgqbI9bw_.node = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[31];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[20].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[20].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, err);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[20].typ = (&NTI__F9abdZJggjbagkcCFgqbI9bw_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[20].name = "err";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[5] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[32];
NTI__W9a0n9bkhFkprfWuBVM2z9bBg_.size = sizeof(tyEnum_ParserState__W9a0n9bkhFkprfWuBVM2z9bBg);
NTI__W9a0n9bkhFkprfWuBVM2z9bBg_.kind = 14;
NTI__W9a0n9bkhFkprfWuBVM2z9bBg_.base = 0;
NTI__W9a0n9bkhFkprfWuBVM2z9bBg_.flags = 3;
for (TM__mQUBeySWbTZT1BNx9b2ZGEg_11 = 0; TM__mQUBeySWbTZT1BNx9b2ZGEg_11 < 5; TM__mQUBeySWbTZT1BNx9b2ZGEg_11++) {
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_11+33].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_11+33].offset = TM__mQUBeySWbTZT1BNx9b2ZGEg_11;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_11+33].name = TM__mQUBeySWbTZT1BNx9b2ZGEg_10[TM__mQUBeySWbTZT1BNx9b2ZGEg_11];
TM__mQUBeySWbTZT1BNx9b2ZGEg_9_5[TM__mQUBeySWbTZT1BNx9b2ZGEg_11] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_11+33];
}
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[38].len = 5; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[38].kind = 2; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[38].sons = &TM__mQUBeySWbTZT1BNx9b2ZGEg_9_5[0];
NTI__W9a0n9bkhFkprfWuBVM2z9bBg_.node = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[38];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[32].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[32].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, state);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[32].typ = (&NTI__W9a0n9bkhFkprfWuBVM2z9bBg_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[32].name = "state";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[6] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[39];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[39].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[39].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, cIsEmpty);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[39].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[39].name = "cIsEmpty";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[7] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[40];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[40].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[40].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, filename);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[40].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[40].name = "filename";
TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[8] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[41];
NTI__VCopfBMD18d0QUQlFvdMUQ_.size = sizeof(tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ);
NTI__VCopfBMD18d0QUQlFvdMUQ_.kind = 14;
NTI__VCopfBMD18d0QUQlFvdMUQ_.base = 0;
NTI__VCopfBMD18d0QUQlFvdMUQ_.flags = 3;
for (TM__mQUBeySWbTZT1BNx9b2ZGEg_14 = 0; TM__mQUBeySWbTZT1BNx9b2ZGEg_14 < 4; TM__mQUBeySWbTZT1BNx9b2ZGEg_14++) {
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_14+42].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_14+42].offset = TM__mQUBeySWbTZT1BNx9b2ZGEg_14;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_14+42].name = TM__mQUBeySWbTZT1BNx9b2ZGEg_13[TM__mQUBeySWbTZT1BNx9b2ZGEg_14];
TM__mQUBeySWbTZT1BNx9b2ZGEg_12_4[TM__mQUBeySWbTZT1BNx9b2ZGEg_14] = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[TM__mQUBeySWbTZT1BNx9b2ZGEg_14+42];
}
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[46].len = 4; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[46].kind = 2; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[46].sons = &TM__mQUBeySWbTZT1BNx9b2ZGEg_12_4[0];
NTI__VCopfBMD18d0QUQlFvdMUQ_.node = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[46];
NTI__smopboHXIPvj5YRsyy63RA_.size = sizeof(tySet_tyEnum_XmlParseOption__VCopfBMD18d0QUQlFvdMUQ);
NTI__smopboHXIPvj5YRsyy63RA_.kind = 19;
NTI__smopboHXIPvj5YRsyy63RA_.base = (&NTI__VCopfBMD18d0QUQlFvdMUQ_);
NTI__smopboHXIPvj5YRsyy63RA_.flags = 3;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[47].len = 0; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[47].kind = 0;
NTI__smopboHXIPvj5YRsyy63RA_.node = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[47];
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[41].kind = 1;
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[41].offset = offsetof(tyObject_XmlParser__VUwAch81P9c4ST1PUfTYo0g, options);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[41].typ = (&NTI__smopboHXIPvj5YRsyy63RA_);
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[41].name = "options";
TM__mQUBeySWbTZT1BNx9b2ZGEg_0[0].len = 9; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[0].kind = 2; TM__mQUBeySWbTZT1BNx9b2ZGEg_0[0].sons = &TM__mQUBeySWbTZT1BNx9b2ZGEg_2_9[0];
NTI__VUwAch81P9c4ST1PUfTYo0g_.node = &TM__mQUBeySWbTZT1BNx9b2ZGEg_0[0];
}

