/* Generated by the Nim Compiler v1.6.10 */
var framePtr = null;
var excHandler = 0;
var lastJSError = null;
var NTI805306742 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI671088909 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI637534215 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI721420324 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI721420325 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI671088752 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI671088751 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI671088646 = {size: 0, kind: 14, base: null, node: null, finalizer: null};
var NTI671088741 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI671088737 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI671088744 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI671088743 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI671088643 = {size: 0, kind: 14, base: null, node: null, finalizer: null};
var NTI671088742 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI671088739 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974843 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974842 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974841 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974840 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974839 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974838 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974837 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974836 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974835 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974834 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974833 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974832 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974831 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974830 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974829 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974828 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974827 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974826 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974825 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974824 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974823 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974822 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974821 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974820 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974725 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974768 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974908 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974905 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI754974904 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI754974817 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974907 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI754974818 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974757 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974756 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974869 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974759 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974758 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974868 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974867 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974767 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974766 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974866 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974865 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974761 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974760 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974864 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974871 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974763 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974762 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974870 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI33554456 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
var NTI754974874 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974765 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974764 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI33554466 = {size: 0,kind: 1,base: null,node: null,finalizer: null};
var NTI754974738 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974737 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974745 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974744 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974743 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974742 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI754974739 = {size: 0, kind: 14, base: null, node: null, finalizer: null};
var NTI754974863 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974862 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974861 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI754974741 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI754974740 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI637534213 = {size: 0, kind: 14, base: null, node: null, finalizer: null};
var NTI637534214 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI754974769 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555128 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555130 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555124 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555083 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555165 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI33554439 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NTI33554440 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
var NTI33555164 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI33555112 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555113 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555120 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555122 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NNI33555122 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555122.node = NNI33555122;
var NNI33555120 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555120.node = NNI33555120;
var NNI33555113 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555113.node = NNI33555113;
NTI33555164.base = NTI33555112;
NTI33555165.base = NTI33555112;
var NNI33555112 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI33555164, name: "parent", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI33554440, name: "name", sons: null}, 
{kind: 1, offset: "message", len: 0, typ: NTI33554439, name: "msg", sons: null}, 
{kind: 1, offset: "trace", len: 0, typ: NTI33554439, name: "trace", sons: null}, 
{kind: 1, offset: "up", len: 0, typ: NTI33555165, name: "up", sons: null}]};
NTI33555112.node = NNI33555112;
var NNI33555083 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555083.node = NNI33555083;
NTI33555112.base = NTI33555083;
NTI33555113.base = NTI33555112;
NTI33555120.base = NTI33555113;
NTI33555122.base = NTI33555120;
var NNI33555124 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555124.node = NNI33555124;
NTI33555124.base = NTI33555113;
var NNI33555130 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555130.node = NNI33555130;
NTI33555130.base = NTI33555113;
var NNI33555128 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555128.node = NNI33555128;
NTI33555128.base = NTI33555113;
var NNI754974769 = {kind: 2, len: 368, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "alignContent", len: 0, typ: NTI33554440, name: "alignContent", sons: null}, 
{kind: 1, offset: "alignItems", len: 0, typ: NTI33554440, name: "alignItems", sons: null}, 
{kind: 1, offset: "alignSelf", len: 0, typ: NTI33554440, name: "alignSelf", sons: null}, 
{kind: 1, offset: "all", len: 0, typ: NTI33554440, name: "all", sons: null}, 
{kind: 1, offset: "animation", len: 0, typ: NTI33554440, name: "animation", sons: null}, 
{kind: 1, offset: "animationDelay", len: 0, typ: NTI33554440, name: "animationDelay", sons: null}, 
{kind: 1, offset: "animationDirection", len: 0, typ: NTI33554440, name: "animationDirection", sons: null}, 
{kind: 1, offset: "animationDuration", len: 0, typ: NTI33554440, name: "animationDuration", sons: null}, 
{kind: 1, offset: "animationFillMode", len: 0, typ: NTI33554440, name: "animationFillMode", sons: null}, 
{kind: 1, offset: "animationIterationCount", len: 0, typ: NTI33554440, name: "animationIterationCount", sons: null}, 
{kind: 1, offset: "animationName", len: 0, typ: NTI33554440, name: "animationName", sons: null}, 
{kind: 1, offset: "animationPlayState", len: 0, typ: NTI33554440, name: "animationPlayState", sons: null}, 
{kind: 1, offset: "animationTimingFunction", len: 0, typ: NTI33554440, name: "animationTimingFunction", sons: null}, 
{kind: 1, offset: "backdropFilter", len: 0, typ: NTI33554440, name: "backdropFilter", sons: null}, 
{kind: 1, offset: "backfaceVisibility", len: 0, typ: NTI33554440, name: "backfaceVisibility", sons: null}, 
{kind: 1, offset: "background", len: 0, typ: NTI33554440, name: "background", sons: null}, 
{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI33554440, name: "backgroundAttachment", sons: null}, 
{kind: 1, offset: "backgroundBlendMode", len: 0, typ: NTI33554440, name: "backgroundBlendMode", sons: null}, 
{kind: 1, offset: "backgroundClip", len: 0, typ: NTI33554440, name: "backgroundClip", sons: null}, 
{kind: 1, offset: "backgroundColor", len: 0, typ: NTI33554440, name: "backgroundColor", sons: null}, 
{kind: 1, offset: "backgroundImage", len: 0, typ: NTI33554440, name: "backgroundImage", sons: null}, 
{kind: 1, offset: "backgroundOrigin", len: 0, typ: NTI33554440, name: "backgroundOrigin", sons: null}, 
{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI33554440, name: "backgroundPosition", sons: null}, 
{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI33554440, name: "backgroundRepeat", sons: null}, 
{kind: 1, offset: "backgroundSize", len: 0, typ: NTI33554440, name: "backgroundSize", sons: null}, 
{kind: 1, offset: "blockSize", len: 0, typ: NTI33554440, name: "blockSize", sons: null}, 
{kind: 1, offset: "border", len: 0, typ: NTI33554440, name: "border", sons: null}, 
{kind: 1, offset: "borderBlock", len: 0, typ: NTI33554440, name: "borderBlock", sons: null}, 
{kind: 1, offset: "borderBlockColor", len: 0, typ: NTI33554440, name: "borderBlockColor", sons: null}, 
{kind: 1, offset: "borderBlockEnd", len: 0, typ: NTI33554440, name: "borderBlockEnd", sons: null}, 
{kind: 1, offset: "borderBlockEndColor", len: 0, typ: NTI33554440, name: "borderBlockEndColor", sons: null}, 
{kind: 1, offset: "borderBlockEndStyle", len: 0, typ: NTI33554440, name: "borderBlockEndStyle", sons: null}, 
{kind: 1, offset: "borderBlockEndWidth", len: 0, typ: NTI33554440, name: "borderBlockEndWidth", sons: null}, 
{kind: 1, offset: "borderBlockStart", len: 0, typ: NTI33554440, name: "borderBlockStart", sons: null}, 
{kind: 1, offset: "borderBlockStartColor", len: 0, typ: NTI33554440, name: "borderBlockStartColor", sons: null}, 
{kind: 1, offset: "borderBlockStartStyle", len: 0, typ: NTI33554440, name: "borderBlockStartStyle", sons: null}, 
{kind: 1, offset: "borderBlockStartWidth", len: 0, typ: NTI33554440, name: "borderBlockStartWidth", sons: null}, 
{kind: 1, offset: "borderBlockStyle", len: 0, typ: NTI33554440, name: "borderBlockStyle", sons: null}, 
{kind: 1, offset: "borderBlockWidth", len: 0, typ: NTI33554440, name: "borderBlockWidth", sons: null}, 
{kind: 1, offset: "borderBottom", len: 0, typ: NTI33554440, name: "borderBottom", sons: null}, 
{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI33554440, name: "borderBottomColor", sons: null}, 
{kind: 1, offset: "borderBottomLeftRadius", len: 0, typ: NTI33554440, name: "borderBottomLeftRadius", sons: null}, 
{kind: 1, offset: "borderBottomRightRadius", len: 0, typ: NTI33554440, name: "borderBottomRightRadius", sons: null}, 
{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI33554440, name: "borderBottomStyle", sons: null}, 
{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI33554440, name: "borderBottomWidth", sons: null}, 
{kind: 1, offset: "borderCollapse", len: 0, typ: NTI33554440, name: "borderCollapse", sons: null}, 
{kind: 1, offset: "borderColor", len: 0, typ: NTI33554440, name: "borderColor", sons: null}, 
{kind: 1, offset: "borderEndEndRadius", len: 0, typ: NTI33554440, name: "borderEndEndRadius", sons: null}, 
{kind: 1, offset: "borderEndStartRadius", len: 0, typ: NTI33554440, name: "borderEndStartRadius", sons: null}, 
{kind: 1, offset: "borderImage", len: 0, typ: NTI33554440, name: "borderImage", sons: null}, 
{kind: 1, offset: "borderImageOutset", len: 0, typ: NTI33554440, name: "borderImageOutset", sons: null}, 
{kind: 1, offset: "borderImageRepeat", len: 0, typ: NTI33554440, name: "borderImageRepeat", sons: null}, 
{kind: 1, offset: "borderImageSlice", len: 0, typ: NTI33554440, name: "borderImageSlice", sons: null}, 
{kind: 1, offset: "borderImageSource", len: 0, typ: NTI33554440, name: "borderImageSource", sons: null}, 
{kind: 1, offset: "borderImageWidth", len: 0, typ: NTI33554440, name: "borderImageWidth", sons: null}, 
{kind: 1, offset: "borderInline", len: 0, typ: NTI33554440, name: "borderInline", sons: null}, 
{kind: 1, offset: "borderInlineColor", len: 0, typ: NTI33554440, name: "borderInlineColor", sons: null}, 
{kind: 1, offset: "borderInlineEnd", len: 0, typ: NTI33554440, name: "borderInlineEnd", sons: null}, 
{kind: 1, offset: "borderInlineEndColor", len: 0, typ: NTI33554440, name: "borderInlineEndColor", sons: null}, 
{kind: 1, offset: "borderInlineEndStyle", len: 0, typ: NTI33554440, name: "borderInlineEndStyle", sons: null}, 
{kind: 1, offset: "borderInlineEndWidth", len: 0, typ: NTI33554440, name: "borderInlineEndWidth", sons: null}, 
{kind: 1, offset: "borderInlineStart", len: 0, typ: NTI33554440, name: "borderInlineStart", sons: null}, 
{kind: 1, offset: "borderInlineStartColor", len: 0, typ: NTI33554440, name: "borderInlineStartColor", sons: null}, 
{kind: 1, offset: "borderInlineStartStyle", len: 0, typ: NTI33554440, name: "borderInlineStartStyle", sons: null}, 
{kind: 1, offset: "borderInlineStartWidth", len: 0, typ: NTI33554440, name: "borderInlineStartWidth", sons: null}, 
{kind: 1, offset: "borderInlineStyle", len: 0, typ: NTI33554440, name: "borderInlineStyle", sons: null}, 
{kind: 1, offset: "borderInlineWidth", len: 0, typ: NTI33554440, name: "borderInlineWidth", sons: null}, 
{kind: 1, offset: "borderLeft", len: 0, typ: NTI33554440, name: "borderLeft", sons: null}, 
{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI33554440, name: "borderLeftColor", sons: null}, 
{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI33554440, name: "borderLeftStyle", sons: null}, 
{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI33554440, name: "borderLeftWidth", sons: null}, 
{kind: 1, offset: "borderRadius", len: 0, typ: NTI33554440, name: "borderRadius", sons: null}, 
{kind: 1, offset: "borderRight", len: 0, typ: NTI33554440, name: "borderRight", sons: null}, 
{kind: 1, offset: "borderRightColor", len: 0, typ: NTI33554440, name: "borderRightColor", sons: null}, 
{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI33554440, name: "borderRightStyle", sons: null}, 
{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI33554440, name: "borderRightWidth", sons: null}, 
{kind: 1, offset: "borderSpacing", len: 0, typ: NTI33554440, name: "borderSpacing", sons: null}, 
{kind: 1, offset: "borderStartEndRadius", len: 0, typ: NTI33554440, name: "borderStartEndRadius", sons: null}, 
{kind: 1, offset: "borderStartStartRadius", len: 0, typ: NTI33554440, name: "borderStartStartRadius", sons: null}, 
{kind: 1, offset: "borderStyle", len: 0, typ: NTI33554440, name: "borderStyle", sons: null}, 
{kind: 1, offset: "borderTop", len: 0, typ: NTI33554440, name: "borderTop", sons: null}, 
{kind: 1, offset: "borderTopColor", len: 0, typ: NTI33554440, name: "borderTopColor", sons: null}, 
{kind: 1, offset: "borderTopLeftRadius", len: 0, typ: NTI33554440, name: "borderTopLeftRadius", sons: null}, 
{kind: 1, offset: "borderTopRightRadius", len: 0, typ: NTI33554440, name: "borderTopRightRadius", sons: null}, 
{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI33554440, name: "borderTopStyle", sons: null}, 
{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI33554440, name: "borderTopWidth", sons: null}, 
{kind: 1, offset: "borderWidth", len: 0, typ: NTI33554440, name: "borderWidth", sons: null}, 
{kind: 1, offset: "bottom", len: 0, typ: NTI33554440, name: "bottom", sons: null}, 
{kind: 1, offset: "boxDecorationBreak", len: 0, typ: NTI33554440, name: "boxDecorationBreak", sons: null}, 
{kind: 1, offset: "boxShadow", len: 0, typ: NTI33554440, name: "boxShadow", sons: null}, 
{kind: 1, offset: "boxSizing", len: 0, typ: NTI33554440, name: "boxSizing", sons: null}, 
{kind: 1, offset: "breakAfter", len: 0, typ: NTI33554440, name: "breakAfter", sons: null}, 
{kind: 1, offset: "breakBefore", len: 0, typ: NTI33554440, name: "breakBefore", sons: null}, 
{kind: 1, offset: "breakInside", len: 0, typ: NTI33554440, name: "breakInside", sons: null}, 
{kind: 1, offset: "captionSide", len: 0, typ: NTI33554440, name: "captionSide", sons: null}, 
{kind: 1, offset: "caretColor", len: 0, typ: NTI33554440, name: "caretColor", sons: null}, 
{kind: 1, offset: "clear", len: 0, typ: NTI33554440, name: "clear", sons: null}, 
{kind: 1, offset: "clip", len: 0, typ: NTI33554440, name: "clip", sons: null}, 
{kind: 1, offset: "clipPath", len: 0, typ: NTI33554440, name: "clipPath", sons: null}, 
{kind: 1, offset: "color", len: 0, typ: NTI33554440, name: "color", sons: null}, 
{kind: 1, offset: "colorAdjust", len: 0, typ: NTI33554440, name: "colorAdjust", sons: null}, 
{kind: 1, offset: "columnCount", len: 0, typ: NTI33554440, name: "columnCount", sons: null}, 
{kind: 1, offset: "columnFill", len: 0, typ: NTI33554440, name: "columnFill", sons: null}, 
{kind: 1, offset: "columnGap", len: 0, typ: NTI33554440, name: "columnGap", sons: null}, 
{kind: 1, offset: "columnRule", len: 0, typ: NTI33554440, name: "columnRule", sons: null}, 
{kind: 1, offset: "columnRuleColor", len: 0, typ: NTI33554440, name: "columnRuleColor", sons: null}, 
{kind: 1, offset: "columnRuleStyle", len: 0, typ: NTI33554440, name: "columnRuleStyle", sons: null}, 
{kind: 1, offset: "columnRuleWidth", len: 0, typ: NTI33554440, name: "columnRuleWidth", sons: null}, 
{kind: 1, offset: "columnSpan", len: 0, typ: NTI33554440, name: "columnSpan", sons: null}, 
{kind: 1, offset: "columnWidth", len: 0, typ: NTI33554440, name: "columnWidth", sons: null}, 
{kind: 1, offset: "columns", len: 0, typ: NTI33554440, name: "columns", sons: null}, 
{kind: 1, offset: "contain", len: 0, typ: NTI33554440, name: "contain", sons: null}, 
{kind: 1, offset: "content", len: 0, typ: NTI33554440, name: "content", sons: null}, 
{kind: 1, offset: "counterIncrement", len: 0, typ: NTI33554440, name: "counterIncrement", sons: null}, 
{kind: 1, offset: "counterReset", len: 0, typ: NTI33554440, name: "counterReset", sons: null}, 
{kind: 1, offset: "counterSet", len: 0, typ: NTI33554440, name: "counterSet", sons: null}, 
{kind: 1, offset: "cursor", len: 0, typ: NTI33554440, name: "cursor", sons: null}, 
{kind: 1, offset: "direction", len: 0, typ: NTI33554440, name: "direction", sons: null}, 
{kind: 1, offset: "display", len: 0, typ: NTI33554440, name: "display", sons: null}, 
{kind: 1, offset: "emptyCells", len: 0, typ: NTI33554440, name: "emptyCells", sons: null}, 
{kind: 1, offset: "filter", len: 0, typ: NTI33554440, name: "filter", sons: null}, 
{kind: 1, offset: "flex", len: 0, typ: NTI33554440, name: "flex", sons: null}, 
{kind: 1, offset: "flexBasis", len: 0, typ: NTI33554440, name: "flexBasis", sons: null}, 
{kind: 1, offset: "flexDirection", len: 0, typ: NTI33554440, name: "flexDirection", sons: null}, 
{kind: 1, offset: "flexFlow", len: 0, typ: NTI33554440, name: "flexFlow", sons: null}, 
{kind: 1, offset: "flexGrow", len: 0, typ: NTI33554440, name: "flexGrow", sons: null}, 
{kind: 1, offset: "flexShrink", len: 0, typ: NTI33554440, name: "flexShrink", sons: null}, 
{kind: 1, offset: "flexWrap", len: 0, typ: NTI33554440, name: "flexWrap", sons: null}, 
{kind: 1, offset: "cssFloat", len: 0, typ: NTI33554440, name: "cssFloat", sons: null}, 
{kind: 1, offset: "font", len: 0, typ: NTI33554440, name: "font", sons: null}, 
{kind: 1, offset: "fontFamily", len: 0, typ: NTI33554440, name: "fontFamily", sons: null}, 
{kind: 1, offset: "fontFeatureSettings", len: 0, typ: NTI33554440, name: "fontFeatureSettings", sons: null}, 
{kind: 1, offset: "fontKerning", len: 0, typ: NTI33554440, name: "fontKerning", sons: null}, 
{kind: 1, offset: "fontLanguageOverride", len: 0, typ: NTI33554440, name: "fontLanguageOverride", sons: null}, 
{kind: 1, offset: "fontOpticalSizing", len: 0, typ: NTI33554440, name: "fontOpticalSizing", sons: null}, 
{kind: 1, offset: "fontSize", len: 0, typ: NTI33554440, name: "fontSize", sons: null}, 
{kind: 1, offset: "fontSizeAdjust", len: 0, typ: NTI33554440, name: "fontSizeAdjust", sons: null}, 
{kind: 1, offset: "fontStretch", len: 0, typ: NTI33554440, name: "fontStretch", sons: null}, 
{kind: 1, offset: "fontStyle", len: 0, typ: NTI33554440, name: "fontStyle", sons: null}, 
{kind: 1, offset: "fontSynthesis", len: 0, typ: NTI33554440, name: "fontSynthesis", sons: null}, 
{kind: 1, offset: "fontVariant", len: 0, typ: NTI33554440, name: "fontVariant", sons: null}, 
{kind: 1, offset: "fontVariantAlternates", len: 0, typ: NTI33554440, name: "fontVariantAlternates", sons: null}, 
{kind: 1, offset: "fontVariantCaps", len: 0, typ: NTI33554440, name: "fontVariantCaps", sons: null}, 
{kind: 1, offset: "fontVariantEastAsian", len: 0, typ: NTI33554440, name: "fontVariantEastAsian", sons: null}, 
{kind: 1, offset: "fontVariantLigatures", len: 0, typ: NTI33554440, name: "fontVariantLigatures", sons: null}, 
{kind: 1, offset: "fontVariantNumeric", len: 0, typ: NTI33554440, name: "fontVariantNumeric", sons: null}, 
{kind: 1, offset: "fontVariantPosition", len: 0, typ: NTI33554440, name: "fontVariantPosition", sons: null}, 
{kind: 1, offset: "fontVariationSettings", len: 0, typ: NTI33554440, name: "fontVariationSettings", sons: null}, 
{kind: 1, offset: "fontWeight", len: 0, typ: NTI33554440, name: "fontWeight", sons: null}, 
{kind: 1, offset: "gap", len: 0, typ: NTI33554440, name: "gap", sons: null}, 
{kind: 1, offset: "grid", len: 0, typ: NTI33554440, name: "grid", sons: null}, 
{kind: 1, offset: "gridArea", len: 0, typ: NTI33554440, name: "gridArea", sons: null}, 
{kind: 1, offset: "gridAutoColumns", len: 0, typ: NTI33554440, name: "gridAutoColumns", sons: null}, 
{kind: 1, offset: "gridAutoFlow", len: 0, typ: NTI33554440, name: "gridAutoFlow", sons: null}, 
{kind: 1, offset: "gridAutoRows", len: 0, typ: NTI33554440, name: "gridAutoRows", sons: null}, 
{kind: 1, offset: "gridColumn", len: 0, typ: NTI33554440, name: "gridColumn", sons: null}, 
{kind: 1, offset: "gridColumnEnd", len: 0, typ: NTI33554440, name: "gridColumnEnd", sons: null}, 
{kind: 1, offset: "gridColumnStart", len: 0, typ: NTI33554440, name: "gridColumnStart", sons: null}, 
{kind: 1, offset: "gridRow", len: 0, typ: NTI33554440, name: "gridRow", sons: null}, 
{kind: 1, offset: "gridRowEnd", len: 0, typ: NTI33554440, name: "gridRowEnd", sons: null}, 
{kind: 1, offset: "gridRowStart", len: 0, typ: NTI33554440, name: "gridRowStart", sons: null}, 
{kind: 1, offset: "gridTemplate", len: 0, typ: NTI33554440, name: "gridTemplate", sons: null}, 
{kind: 1, offset: "gridTemplateAreas", len: 0, typ: NTI33554440, name: "gridTemplateAreas", sons: null}, 
{kind: 1, offset: "gridTemplateColumns", len: 0, typ: NTI33554440, name: "gridTemplateColumns", sons: null}, 
{kind: 1, offset: "gridTemplateRows", len: 0, typ: NTI33554440, name: "gridTemplateRows", sons: null}, 
{kind: 1, offset: "hangingPunctuation", len: 0, typ: NTI33554440, name: "hangingPunctuation", sons: null}, 
{kind: 1, offset: "height", len: 0, typ: NTI33554440, name: "height", sons: null}, 
{kind: 1, offset: "hyphens", len: 0, typ: NTI33554440, name: "hyphens", sons: null}, 
{kind: 1, offset: "imageOrientation", len: 0, typ: NTI33554440, name: "imageOrientation", sons: null}, 
{kind: 1, offset: "imageRendering", len: 0, typ: NTI33554440, name: "imageRendering", sons: null}, 
{kind: 1, offset: "inlineSize", len: 0, typ: NTI33554440, name: "inlineSize", sons: null}, 
{kind: 1, offset: "inset", len: 0, typ: NTI33554440, name: "inset", sons: null}, 
{kind: 1, offset: "insetBlock", len: 0, typ: NTI33554440, name: "insetBlock", sons: null}, 
{kind: 1, offset: "insetBlockEnd", len: 0, typ: NTI33554440, name: "insetBlockEnd", sons: null}, 
{kind: 1, offset: "insetBlockStart", len: 0, typ: NTI33554440, name: "insetBlockStart", sons: null}, 
{kind: 1, offset: "insetInline", len: 0, typ: NTI33554440, name: "insetInline", sons: null}, 
{kind: 1, offset: "insetInlineEnd", len: 0, typ: NTI33554440, name: "insetInlineEnd", sons: null}, 
{kind: 1, offset: "insetInlineStart", len: 0, typ: NTI33554440, name: "insetInlineStart", sons: null}, 
{kind: 1, offset: "isolation", len: 0, typ: NTI33554440, name: "isolation", sons: null}, 
{kind: 1, offset: "justifyContent", len: 0, typ: NTI33554440, name: "justifyContent", sons: null}, 
{kind: 1, offset: "justifyItems", len: 0, typ: NTI33554440, name: "justifyItems", sons: null}, 
{kind: 1, offset: "justifySelf", len: 0, typ: NTI33554440, name: "justifySelf", sons: null}, 
{kind: 1, offset: "left", len: 0, typ: NTI33554440, name: "left", sons: null}, 
{kind: 1, offset: "letterSpacing", len: 0, typ: NTI33554440, name: "letterSpacing", sons: null}, 
{kind: 1, offset: "lineBreak", len: 0, typ: NTI33554440, name: "lineBreak", sons: null}, 
{kind: 1, offset: "lineHeight", len: 0, typ: NTI33554440, name: "lineHeight", sons: null}, 
{kind: 1, offset: "listStyle", len: 0, typ: NTI33554440, name: "listStyle", sons: null}, 
{kind: 1, offset: "listStyleImage", len: 0, typ: NTI33554440, name: "listStyleImage", sons: null}, 
{kind: 1, offset: "listStylePosition", len: 0, typ: NTI33554440, name: "listStylePosition", sons: null}, 
{kind: 1, offset: "listStyleType", len: 0, typ: NTI33554440, name: "listStyleType", sons: null}, 
{kind: 1, offset: "margin", len: 0, typ: NTI33554440, name: "margin", sons: null}, 
{kind: 1, offset: "marginBlock", len: 0, typ: NTI33554440, name: "marginBlock", sons: null}, 
{kind: 1, offset: "marginBlockEnd", len: 0, typ: NTI33554440, name: "marginBlockEnd", sons: null}, 
{kind: 1, offset: "marginBlockStart", len: 0, typ: NTI33554440, name: "marginBlockStart", sons: null}, 
{kind: 1, offset: "marginBottom", len: 0, typ: NTI33554440, name: "marginBottom", sons: null}, 
{kind: 1, offset: "marginInline", len: 0, typ: NTI33554440, name: "marginInline", sons: null}, 
{kind: 1, offset: "marginInlineEnd", len: 0, typ: NTI33554440, name: "marginInlineEnd", sons: null}, 
{kind: 1, offset: "marginInlineStart", len: 0, typ: NTI33554440, name: "marginInlineStart", sons: null}, 
{kind: 1, offset: "marginLeft", len: 0, typ: NTI33554440, name: "marginLeft", sons: null}, 
{kind: 1, offset: "marginRight", len: 0, typ: NTI33554440, name: "marginRight", sons: null}, 
{kind: 1, offset: "marginTop", len: 0, typ: NTI33554440, name: "marginTop", sons: null}, 
{kind: 1, offset: "mask", len: 0, typ: NTI33554440, name: "mask", sons: null}, 
{kind: 1, offset: "maskBorder", len: 0, typ: NTI33554440, name: "maskBorder", sons: null}, 
{kind: 1, offset: "maskBorderMode", len: 0, typ: NTI33554440, name: "maskBorderMode", sons: null}, 
{kind: 1, offset: "maskBorderOutset", len: 0, typ: NTI33554440, name: "maskBorderOutset", sons: null}, 
{kind: 1, offset: "maskBorderRepeat", len: 0, typ: NTI33554440, name: "maskBorderRepeat", sons: null}, 
{kind: 1, offset: "maskBorderSlice", len: 0, typ: NTI33554440, name: "maskBorderSlice", sons: null}, 
{kind: 1, offset: "maskBorderSource", len: 0, typ: NTI33554440, name: "maskBorderSource", sons: null}, 
{kind: 1, offset: "maskBorderWidth", len: 0, typ: NTI33554440, name: "maskBorderWidth", sons: null}, 
{kind: 1, offset: "maskClip", len: 0, typ: NTI33554440, name: "maskClip", sons: null}, 
{kind: 1, offset: "maskComposite", len: 0, typ: NTI33554440, name: "maskComposite", sons: null}, 
{kind: 1, offset: "maskImage", len: 0, typ: NTI33554440, name: "maskImage", sons: null}, 
{kind: 1, offset: "maskMode", len: 0, typ: NTI33554440, name: "maskMode", sons: null}, 
{kind: 1, offset: "maskOrigin", len: 0, typ: NTI33554440, name: "maskOrigin", sons: null}, 
{kind: 1, offset: "maskPosition", len: 0, typ: NTI33554440, name: "maskPosition", sons: null}, 
{kind: 1, offset: "maskRepeat", len: 0, typ: NTI33554440, name: "maskRepeat", sons: null}, 
{kind: 1, offset: "maskSize", len: 0, typ: NTI33554440, name: "maskSize", sons: null}, 
{kind: 1, offset: "maskType", len: 0, typ: NTI33554440, name: "maskType", sons: null}, 
{kind: 1, offset: "maxBlockSize", len: 0, typ: NTI33554440, name: "maxBlockSize", sons: null}, 
{kind: 1, offset: "maxHeight", len: 0, typ: NTI33554440, name: "maxHeight", sons: null}, 
{kind: 1, offset: "maxInlineSize", len: 0, typ: NTI33554440, name: "maxInlineSize", sons: null}, 
{kind: 1, offset: "maxWidth", len: 0, typ: NTI33554440, name: "maxWidth", sons: null}, 
{kind: 1, offset: "minBlockSize", len: 0, typ: NTI33554440, name: "minBlockSize", sons: null}, 
{kind: 1, offset: "minHeight", len: 0, typ: NTI33554440, name: "minHeight", sons: null}, 
{kind: 1, offset: "minInlineSize", len: 0, typ: NTI33554440, name: "minInlineSize", sons: null}, 
{kind: 1, offset: "minWidth", len: 0, typ: NTI33554440, name: "minWidth", sons: null}, 
{kind: 1, offset: "mixBlendMode", len: 0, typ: NTI33554440, name: "mixBlendMode", sons: null}, 
{kind: 1, offset: "objectFit", len: 0, typ: NTI33554440, name: "objectFit", sons: null}, 
{kind: 1, offset: "objectPosition", len: 0, typ: NTI33554440, name: "objectPosition", sons: null}, 
{kind: 1, offset: "offset", len: 0, typ: NTI33554440, name: "offset", sons: null}, 
{kind: 1, offset: "offsetAnchor", len: 0, typ: NTI33554440, name: "offsetAnchor", sons: null}, 
{kind: 1, offset: "offsetDistance", len: 0, typ: NTI33554440, name: "offsetDistance", sons: null}, 
{kind: 1, offset: "offsetPath", len: 0, typ: NTI33554440, name: "offsetPath", sons: null}, 
{kind: 1, offset: "offsetRotate", len: 0, typ: NTI33554440, name: "offsetRotate", sons: null}, 
{kind: 1, offset: "opacity", len: 0, typ: NTI33554440, name: "opacity", sons: null}, 
{kind: 1, offset: "order", len: 0, typ: NTI33554440, name: "order", sons: null}, 
{kind: 1, offset: "orphans", len: 0, typ: NTI33554440, name: "orphans", sons: null}, 
{kind: 1, offset: "outline", len: 0, typ: NTI33554440, name: "outline", sons: null}, 
{kind: 1, offset: "outlineColor", len: 0, typ: NTI33554440, name: "outlineColor", sons: null}, 
{kind: 1, offset: "outlineOffset", len: 0, typ: NTI33554440, name: "outlineOffset", sons: null}, 
{kind: 1, offset: "outlineStyle", len: 0, typ: NTI33554440, name: "outlineStyle", sons: null}, 
{kind: 1, offset: "outlineWidth", len: 0, typ: NTI33554440, name: "outlineWidth", sons: null}, 
{kind: 1, offset: "overflow", len: 0, typ: NTI33554440, name: "overflow", sons: null}, 
{kind: 1, offset: "overflowAnchor", len: 0, typ: NTI33554440, name: "overflowAnchor", sons: null}, 
{kind: 1, offset: "overflowBlock", len: 0, typ: NTI33554440, name: "overflowBlock", sons: null}, 
{kind: 1, offset: "overflowInline", len: 0, typ: NTI33554440, name: "overflowInline", sons: null}, 
{kind: 1, offset: "overflowWrap", len: 0, typ: NTI33554440, name: "overflowWrap", sons: null}, 
{kind: 1, offset: "overflowX", len: 0, typ: NTI33554440, name: "overflowX", sons: null}, 
{kind: 1, offset: "overflowY", len: 0, typ: NTI33554440, name: "overflowY", sons: null}, 
{kind: 1, offset: "overscrollBehavior", len: 0, typ: NTI33554440, name: "overscrollBehavior", sons: null}, 
{kind: 1, offset: "overscrollBehaviorBlock", len: 0, typ: NTI33554440, name: "overscrollBehaviorBlock", sons: null}, 
{kind: 1, offset: "overscrollBehaviorInline", len: 0, typ: NTI33554440, name: "overscrollBehaviorInline", sons: null}, 
{kind: 1, offset: "overscrollBehaviorX", len: 0, typ: NTI33554440, name: "overscrollBehaviorX", sons: null}, 
{kind: 1, offset: "overscrollBehaviorY", len: 0, typ: NTI33554440, name: "overscrollBehaviorY", sons: null}, 
{kind: 1, offset: "padding", len: 0, typ: NTI33554440, name: "padding", sons: null}, 
{kind: 1, offset: "paddingBlock", len: 0, typ: NTI33554440, name: "paddingBlock", sons: null}, 
{kind: 1, offset: "paddingBlockEnd", len: 0, typ: NTI33554440, name: "paddingBlockEnd", sons: null}, 
{kind: 1, offset: "paddingBlockStart", len: 0, typ: NTI33554440, name: "paddingBlockStart", sons: null}, 
{kind: 1, offset: "paddingBottom", len: 0, typ: NTI33554440, name: "paddingBottom", sons: null}, 
{kind: 1, offset: "paddingInline", len: 0, typ: NTI33554440, name: "paddingInline", sons: null}, 
{kind: 1, offset: "paddingInlineEnd", len: 0, typ: NTI33554440, name: "paddingInlineEnd", sons: null}, 
{kind: 1, offset: "paddingInlineStart", len: 0, typ: NTI33554440, name: "paddingInlineStart", sons: null}, 
{kind: 1, offset: "paddingLeft", len: 0, typ: NTI33554440, name: "paddingLeft", sons: null}, 
{kind: 1, offset: "paddingRight", len: 0, typ: NTI33554440, name: "paddingRight", sons: null}, 
{kind: 1, offset: "paddingTop", len: 0, typ: NTI33554440, name: "paddingTop", sons: null}, 
{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI33554440, name: "pageBreakAfter", sons: null}, 
{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI33554440, name: "pageBreakBefore", sons: null}, 
{kind: 1, offset: "pageBreakInside", len: 0, typ: NTI33554440, name: "pageBreakInside", sons: null}, 
{kind: 1, offset: "paintOrder", len: 0, typ: NTI33554440, name: "paintOrder", sons: null}, 
{kind: 1, offset: "perspective", len: 0, typ: NTI33554440, name: "perspective", sons: null}, 
{kind: 1, offset: "perspectiveOrigin", len: 0, typ: NTI33554440, name: "perspectiveOrigin", sons: null}, 
{kind: 1, offset: "placeContent", len: 0, typ: NTI33554440, name: "placeContent", sons: null}, 
{kind: 1, offset: "placeItems", len: 0, typ: NTI33554440, name: "placeItems", sons: null}, 
{kind: 1, offset: "placeSelf", len: 0, typ: NTI33554440, name: "placeSelf", sons: null}, 
{kind: 1, offset: "pointerEvents", len: 0, typ: NTI33554440, name: "pointerEvents", sons: null}, 
{kind: 1, offset: "position", len: 0, typ: NTI33554440, name: "position", sons: null}, 
{kind: 1, offset: "quotes", len: 0, typ: NTI33554440, name: "quotes", sons: null}, 
{kind: 1, offset: "resize", len: 0, typ: NTI33554440, name: "resize", sons: null}, 
{kind: 1, offset: "right", len: 0, typ: NTI33554440, name: "right", sons: null}, 
{kind: 1, offset: "rotate", len: 0, typ: NTI33554440, name: "rotate", sons: null}, 
{kind: 1, offset: "rowGap", len: 0, typ: NTI33554440, name: "rowGap", sons: null}, 
{kind: 1, offset: "scale", len: 0, typ: NTI33554440, name: "scale", sons: null}, 
{kind: 1, offset: "scrollBehavior", len: 0, typ: NTI33554440, name: "scrollBehavior", sons: null}, 
{kind: 1, offset: "scrollMargin", len: 0, typ: NTI33554440, name: "scrollMargin", sons: null}, 
{kind: 1, offset: "scrollMarginBlock", len: 0, typ: NTI33554440, name: "scrollMarginBlock", sons: null}, 
{kind: 1, offset: "scrollMarginBlockEnd", len: 0, typ: NTI33554440, name: "scrollMarginBlockEnd", sons: null}, 
{kind: 1, offset: "scrollMarginBlockStart", len: 0, typ: NTI33554440, name: "scrollMarginBlockStart", sons: null}, 
{kind: 1, offset: "scrollMarginBottom", len: 0, typ: NTI33554440, name: "scrollMarginBottom", sons: null}, 
{kind: 1, offset: "scrollMarginInline", len: 0, typ: NTI33554440, name: "scrollMarginInline", sons: null}, 
{kind: 1, offset: "scrollMarginInlineEnd", len: 0, typ: NTI33554440, name: "scrollMarginInlineEnd", sons: null}, 
{kind: 1, offset: "scrollMarginInlineStart", len: 0, typ: NTI33554440, name: "scrollMarginInlineStart", sons: null}, 
{kind: 1, offset: "scrollMarginLeft", len: 0, typ: NTI33554440, name: "scrollMarginLeft", sons: null}, 
{kind: 1, offset: "scrollMarginRight", len: 0, typ: NTI33554440, name: "scrollMarginRight", sons: null}, 
{kind: 1, offset: "scrollMarginTop", len: 0, typ: NTI33554440, name: "scrollMarginTop", sons: null}, 
{kind: 1, offset: "scrollPadding", len: 0, typ: NTI33554440, name: "scrollPadding", sons: null}, 
{kind: 1, offset: "scrollPaddingBlock", len: 0, typ: NTI33554440, name: "scrollPaddingBlock", sons: null}, 
{kind: 1, offset: "scrollPaddingBlockEnd", len: 0, typ: NTI33554440, name: "scrollPaddingBlockEnd", sons: null}, 
{kind: 1, offset: "scrollPaddingBlockStart", len: 0, typ: NTI33554440, name: "scrollPaddingBlockStart", sons: null}, 
{kind: 1, offset: "scrollPaddingBottom", len: 0, typ: NTI33554440, name: "scrollPaddingBottom", sons: null}, 
{kind: 1, offset: "scrollPaddingInline", len: 0, typ: NTI33554440, name: "scrollPaddingInline", sons: null}, 
{kind: 1, offset: "scrollPaddingInlineEnd", len: 0, typ: NTI33554440, name: "scrollPaddingInlineEnd", sons: null}, 
{kind: 1, offset: "scrollPaddingInlineStart", len: 0, typ: NTI33554440, name: "scrollPaddingInlineStart", sons: null}, 
{kind: 1, offset: "scrollPaddingLeft", len: 0, typ: NTI33554440, name: "scrollPaddingLeft", sons: null}, 
{kind: 1, offset: "scrollPaddingRight", len: 0, typ: NTI33554440, name: "scrollPaddingRight", sons: null}, 
{kind: 1, offset: "scrollPaddingTop", len: 0, typ: NTI33554440, name: "scrollPaddingTop", sons: null}, 
{kind: 1, offset: "scrollSnapAlign", len: 0, typ: NTI33554440, name: "scrollSnapAlign", sons: null}, 
{kind: 1, offset: "scrollSnapStop", len: 0, typ: NTI33554440, name: "scrollSnapStop", sons: null}, 
{kind: 1, offset: "scrollSnapType", len: 0, typ: NTI33554440, name: "scrollSnapType", sons: null}, 
{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI33554440, name: "scrollbar3dLightColor", sons: null}, 
{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI33554440, name: "scrollbarArrowColor", sons: null}, 
{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI33554440, name: "scrollbarBaseColor", sons: null}, 
{kind: 1, offset: "scrollbarColor", len: 0, typ: NTI33554440, name: "scrollbarColor", sons: null}, 
{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI33554440, name: "scrollbarDarkshadowColor", sons: null}, 
{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI33554440, name: "scrollbarFaceColor", sons: null}, 
{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI33554440, name: "scrollbarHighlightColor", sons: null}, 
{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI33554440, name: "scrollbarShadowColor", sons: null}, 
{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI33554440, name: "scrollbarTrackColor", sons: null}, 
{kind: 1, offset: "scrollbarWidth", len: 0, typ: NTI33554440, name: "scrollbarWidth", sons: null}, 
{kind: 1, offset: "shapeImageThreshold", len: 0, typ: NTI33554440, name: "shapeImageThreshold", sons: null}, 
{kind: 1, offset: "shapeMargin", len: 0, typ: NTI33554440, name: "shapeMargin", sons: null}, 
{kind: 1, offset: "shapeOutside", len: 0, typ: NTI33554440, name: "shapeOutside", sons: null}, 
{kind: 1, offset: "tabSize", len: 0, typ: NTI33554440, name: "tabSize", sons: null}, 
{kind: 1, offset: "tableLayout", len: 0, typ: NTI33554440, name: "tableLayout", sons: null}, 
{kind: 1, offset: "textAlign", len: 0, typ: NTI33554440, name: "textAlign", sons: null}, 
{kind: 1, offset: "textAlignLast", len: 0, typ: NTI33554440, name: "textAlignLast", sons: null}, 
{kind: 1, offset: "textCombineUpright", len: 0, typ: NTI33554440, name: "textCombineUpright", sons: null}, 
{kind: 1, offset: "textDecoration", len: 0, typ: NTI33554440, name: "textDecoration", sons: null}, 
{kind: 1, offset: "textDecorationColor", len: 0, typ: NTI33554440, name: "textDecorationColor", sons: null}, 
{kind: 1, offset: "textDecorationLine", len: 0, typ: NTI33554440, name: "textDecorationLine", sons: null}, 
{kind: 1, offset: "textDecorationSkipInk", len: 0, typ: NTI33554440, name: "textDecorationSkipInk", sons: null}, 
{kind: 1, offset: "textDecorationStyle", len: 0, typ: NTI33554440, name: "textDecorationStyle", sons: null}, 
{kind: 1, offset: "textDecorationThickness", len: 0, typ: NTI33554440, name: "textDecorationThickness", sons: null}, 
{kind: 1, offset: "textEmphasis", len: 0, typ: NTI33554440, name: "textEmphasis", sons: null}, 
{kind: 1, offset: "textEmphasisColor", len: 0, typ: NTI33554440, name: "textEmphasisColor", sons: null}, 
{kind: 1, offset: "textEmphasisPosition", len: 0, typ: NTI33554440, name: "textEmphasisPosition", sons: null}, 
{kind: 1, offset: "textEmphasisStyle", len: 0, typ: NTI33554440, name: "textEmphasisStyle", sons: null}, 
{kind: 1, offset: "textIndent", len: 0, typ: NTI33554440, name: "textIndent", sons: null}, 
{kind: 1, offset: "textJustify", len: 0, typ: NTI33554440, name: "textJustify", sons: null}, 
{kind: 1, offset: "textOrientation", len: 0, typ: NTI33554440, name: "textOrientation", sons: null}, 
{kind: 1, offset: "textOverflow", len: 0, typ: NTI33554440, name: "textOverflow", sons: null}, 
{kind: 1, offset: "textRendering", len: 0, typ: NTI33554440, name: "textRendering", sons: null}, 
{kind: 1, offset: "textShadow", len: 0, typ: NTI33554440, name: "textShadow", sons: null}, 
{kind: 1, offset: "textTransform", len: 0, typ: NTI33554440, name: "textTransform", sons: null}, 
{kind: 1, offset: "textUnderlineOffset", len: 0, typ: NTI33554440, name: "textUnderlineOffset", sons: null}, 
{kind: 1, offset: "textUnderlinePosition", len: 0, typ: NTI33554440, name: "textUnderlinePosition", sons: null}, 
{kind: 1, offset: "top", len: 0, typ: NTI33554440, name: "top", sons: null}, 
{kind: 1, offset: "touchAction", len: 0, typ: NTI33554440, name: "touchAction", sons: null}, 
{kind: 1, offset: "transform", len: 0, typ: NTI33554440, name: "transform", sons: null}, 
{kind: 1, offset: "transformBox", len: 0, typ: NTI33554440, name: "transformBox", sons: null}, 
{kind: 1, offset: "transformOrigin", len: 0, typ: NTI33554440, name: "transformOrigin", sons: null}, 
{kind: 1, offset: "transformStyle", len: 0, typ: NTI33554440, name: "transformStyle", sons: null}, 
{kind: 1, offset: "transition", len: 0, typ: NTI33554440, name: "transition", sons: null}, 
{kind: 1, offset: "transitionDelay", len: 0, typ: NTI33554440, name: "transitionDelay", sons: null}, 
{kind: 1, offset: "transitionDuration", len: 0, typ: NTI33554440, name: "transitionDuration", sons: null}, 
{kind: 1, offset: "transitionProperty", len: 0, typ: NTI33554440, name: "transitionProperty", sons: null}, 
{kind: 1, offset: "transitionTimingFunction", len: 0, typ: NTI33554440, name: "transitionTimingFunction", sons: null}, 
{kind: 1, offset: "translate", len: 0, typ: NTI33554440, name: "translate", sons: null}, 
{kind: 1, offset: "unicodeBidi", len: 0, typ: NTI33554440, name: "unicodeBidi", sons: null}, 
{kind: 1, offset: "verticalAlign", len: 0, typ: NTI33554440, name: "verticalAlign", sons: null}, 
{kind: 1, offset: "visibility", len: 0, typ: NTI33554440, name: "visibility", sons: null}, 
{kind: 1, offset: "whiteSpace", len: 0, typ: NTI33554440, name: "whiteSpace", sons: null}, 
{kind: 1, offset: "widows", len: 0, typ: NTI33554440, name: "widows", sons: null}, 
{kind: 1, offset: "width", len: 0, typ: NTI33554440, name: "width", sons: null}, 
{kind: 1, offset: "willChange", len: 0, typ: NTI33554440, name: "willChange", sons: null}, 
{kind: 1, offset: "wordBreak", len: 0, typ: NTI33554440, name: "wordBreak", sons: null}, 
{kind: 1, offset: "wordSpacing", len: 0, typ: NTI33554440, name: "wordSpacing", sons: null}, 
{kind: 1, offset: "writingMode", len: 0, typ: NTI33554440, name: "writingMode", sons: null}, 
{kind: 1, offset: "zIndex", len: 0, typ: NTI33554440, name: "zIndex", sons: null}]};
NTI754974769.node = NNI754974769;
NTI754974769.base = NTI33555083;
var NNI637534213 = {kind: 2, offset: 0, typ: null, name: null, len: 6, sons: {"0": {kind: 1, offset: 0, typ: NTI637534213, name: "pkReplace", len: 0, sons: null}, 
"1": {kind: 1, offset: 1, typ: NTI637534213, name: "pkRemove", len: 0, sons: null}, 
"2": {kind: 1, offset: 2, typ: NTI637534213, name: "pkAppend", len: 0, sons: null}, 
"3": {kind: 1, offset: 3, typ: NTI637534213, name: "pkInsertBefore", len: 0, sons: null}, 
"4": {kind: 1, offset: 4, typ: NTI637534213, name: "pkDetach", len: 0, sons: null}, 
"5": {kind: 1, offset: 5, typ: NTI637534213, name: "pkSame", len: 0, sons: null}}};
NTI637534213.node = NNI637534213;
NTI754974861.base = NTI754974740;
NTI754974862.base = NTI754974740;
NTI754974863.base = NTI754974740;
var NNI754974739 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI754974739, name: "ElementNode", len: 0, sons: null}, 
"2": {kind: 1, offset: 2, typ: NTI754974739, name: "AttributeNode", len: 0, sons: null}, 
"3": {kind: 1, offset: 3, typ: NTI754974739, name: "TextNode", len: 0, sons: null}, 
"4": {kind: 1, offset: 4, typ: NTI754974739, name: "CDATANode", len: 0, sons: null}, 
"5": {kind: 1, offset: 5, typ: NTI754974739, name: "EntityRefNode", len: 0, sons: null}, 
"6": {kind: 1, offset: 6, typ: NTI754974739, name: "EntityNode", len: 0, sons: null}, 
"7": {kind: 1, offset: 7, typ: NTI754974739, name: "ProcessingInstructionNode", len: 0, sons: null}, 
"8": {kind: 1, offset: 8, typ: NTI754974739, name: "CommentNode", len: 0, sons: null}, 
"9": {kind: 1, offset: 9, typ: NTI754974739, name: "DocumentNode", len: 0, sons: null}, 
"10": {kind: 1, offset: 10, typ: NTI754974739, name: "DocumentTypeNode", len: 0, sons: null}, 
"11": {kind: 1, offset: 11, typ: NTI754974739, name: "DocumentFragmentNode", len: 0, sons: null}, 
"12": {kind: 1, offset: 12, typ: NTI754974739, name: "NotationNode", len: 0, sons: null}}};
NTI754974739.node = NNI754974739;
var NNI754974738 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI754974738.node = NNI754974738;
NTI754974738.base = NTI33555083;
NTI754974737.base = NTI754974738;
NTI754974874.base = NTI754974744;
var NNI754974765 = {kind: 2, len: 10, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "acceptCharset", len: 0, typ: NTI33554440, name: "acceptCharset", sons: null}, 
{kind: 1, offset: "action", len: 0, typ: NTI33554440, name: "action", sons: null}, 
{kind: 1, offset: "autocomplete", len: 0, typ: NTI33554440, name: "autocomplete", sons: null}, 
{kind: 1, offset: "elements", len: 0, typ: NTI754974874, name: "elements", sons: null}, 
{kind: 1, offset: "encoding", len: 0, typ: NTI33554440, name: "encoding", sons: null}, 
{kind: 1, offset: "enctype", len: 0, typ: NTI33554440, name: "enctype", sons: null}, 
{kind: 1, offset: "length", len: 0, typ: NTI33554456, name: "length", sons: null}, 
{kind: 1, offset: "method", len: 0, typ: NTI33554440, name: "method", sons: null}, 
{kind: 1, offset: "noValidate", len: 0, typ: NTI33554466, name: "noValidate", sons: null}, 
{kind: 1, offset: "target", len: 0, typ: NTI33554440, name: "target", sons: null}]};
NTI754974765.node = NNI754974765;
NTI754974765.base = NTI754974745;
NTI754974764.base = NTI754974765;
var NNI754974763 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "defaultSelected", len: 0, typ: NTI33554466, name: "defaultSelected", sons: null}, 
{kind: 1, offset: "selected", len: 0, typ: NTI33554466, name: "selected", sons: null}, 
{kind: 1, offset: "selectedIndex", len: 0, typ: NTI33554456, name: "selectedIndex", sons: null}, 
{kind: 1, offset: "text", len: 0, typ: NTI33554440, name: "text", sons: null}, 
{kind: 1, offset: "value", len: 0, typ: NTI33554440, name: "value", sons: null}]};
NTI754974763.node = NNI754974763;
NTI754974763.base = NTI754974745;
NTI754974762.base = NTI754974763;
NTI754974870.base = NTI754974762;
NTI754974871.base = NTI754974762;
var NNI754974745 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "className", len: 0, typ: NTI33554440, name: "className", sons: null}, 
{kind: 1, offset: "classList", len: 0, typ: NTI754974737, name: "classList", sons: null}, 
{kind: 1, offset: "checked", len: 0, typ: NTI33554466, name: "checked", sons: null}, 
{kind: 1, offset: "defaultChecked", len: 0, typ: NTI33554466, name: "defaultChecked", sons: null}, 
{kind: 1, offset: "defaultValue", len: 0, typ: NTI33554440, name: "defaultValue", sons: null}, 
{kind: 1, offset: "disabled", len: 0, typ: NTI33554466, name: "disabled", sons: null}, 
{kind: 1, offset: "form", len: 0, typ: NTI754974764, name: "form", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI33554440, name: "name", sons: null}, 
{kind: 1, offset: "readOnly", len: 0, typ: NTI33554466, name: "readOnly", sons: null}, 
{kind: 1, offset: "options", len: 0, typ: NTI754974870, name: "options", sons: null}, 
{kind: 1, offset: "selectedOptions", len: 0, typ: NTI754974871, name: "selectedOptions", sons: null}, 
{kind: 1, offset: "clientWidth", len: 0, typ: NTI33554456, name: "clientWidth", sons: null}, 
{kind: 1, offset: "clientHeight", len: 0, typ: NTI33554456, name: "clientHeight", sons: null}, 
{kind: 1, offset: "contentEditable", len: 0, typ: NTI33554440, name: "contentEditable", sons: null}, 
{kind: 1, offset: "isContentEditable", len: 0, typ: NTI33554466, name: "isContentEditable", sons: null}, 
{kind: 1, offset: "dir", len: 0, typ: NTI33554440, name: "dir", sons: null}, 
{kind: 1, offset: "offsetHeight", len: 0, typ: NTI33554456, name: "offsetHeight", sons: null}, 
{kind: 1, offset: "offsetWidth", len: 0, typ: NTI33554456, name: "offsetWidth", sons: null}, 
{kind: 1, offset: "offsetLeft", len: 0, typ: NTI33554456, name: "offsetLeft", sons: null}, 
{kind: 1, offset: "offsetTop", len: 0, typ: NTI33554456, name: "offsetTop", sons: null}]};
NTI754974745.node = NNI754974745;
NTI754974745.base = NTI754974741;
NTI754974744.base = NTI754974745;
var NNI754974761 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "text", len: 0, typ: NTI33554440, name: "text", sons: null}, 
{kind: 1, offset: "x", len: 0, typ: NTI33554456, name: "x", sons: null}, 
{kind: 1, offset: "y", len: 0, typ: NTI33554456, name: "y", sons: null}]};
NTI754974761.node = NNI754974761;
NTI754974761.base = NTI754974745;
NTI754974760.base = NTI754974761;
NTI754974864.base = NTI754974760;
NTI754974865.base = NTI754974764;
var NNI754974767 = {kind: 2, len: 8, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "border", len: 0, typ: NTI33554456, name: "border", sons: null}, 
{kind: 1, offset: "complete", len: 0, typ: NTI33554466, name: "complete", sons: null}, 
{kind: 1, offset: "height", len: 0, typ: NTI33554456, name: "height", sons: null}, 
{kind: 1, offset: "hspace", len: 0, typ: NTI33554456, name: "hspace", sons: null}, 
{kind: 1, offset: "lowsrc", len: 0, typ: NTI33554440, name: "lowsrc", sons: null}, 
{kind: 1, offset: "src", len: 0, typ: NTI33554440, name: "src", sons: null}, 
{kind: 1, offset: "vspace", len: 0, typ: NTI33554456, name: "vspace", sons: null}, 
{kind: 1, offset: "width", len: 0, typ: NTI33554456, name: "width", sons: null}]};
NTI754974767.node = NNI754974767;
NTI754974767.base = NTI754974745;
NTI754974766.base = NTI754974767;
NTI754974866.base = NTI754974766;
NTI754974867.base = NTI754974744;
var NNI754974759 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "height", len: 0, typ: NTI33554456, name: "height", sons: null}, 
{kind: 1, offset: "hspace", len: 0, typ: NTI33554456, name: "hspace", sons: null}, 
{kind: 1, offset: "src", len: 0, typ: NTI33554440, name: "src", sons: null}, 
{kind: 1, offset: "width", len: 0, typ: NTI33554456, name: "width", sons: null}, 
{kind: 1, offset: "type", len: 0, typ: NTI33554440, name: "type", sons: null}, 
{kind: 1, offset: "vspace", len: 0, typ: NTI33554456, name: "vspace", sons: null}]};
NTI754974759.node = NNI754974759;
NTI754974759.base = NTI754974745;
NTI754974758.base = NTI754974759;
NTI754974868.base = NTI754974758;
var NNI754974757 = {kind: 2, len: 4, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "target", len: 0, typ: NTI33554440, name: "target", sons: null}, 
{kind: 1, offset: "text", len: 0, typ: NTI33554440, name: "text", sons: null}, 
{kind: 1, offset: "x", len: 0, typ: NTI33554456, name: "x", sons: null}, 
{kind: 1, offset: "y", len: 0, typ: NTI33554456, name: "y", sons: null}]};
NTI754974757.node = NNI754974757;
NTI754974757.base = NTI754974745;
NTI754974756.base = NTI754974757;
NTI754974869.base = NTI754974756;
var NNI754974904 = {kind: 1, offset: "then", len: 0, typ: NTI754974905, name: "then", sons: null};
NTI754974904.node = NNI754974904;
NTI754974817.base = NTI754974904;
var NNI754974907 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "ready", len: 0, typ: NTI754974817, name: "ready", sons: null}, 
{kind: 1, offset: "onloadingdone", len: 0, typ: NTI754974908, name: "onloadingdone", sons: null}]};
NTI754974907.node = NNI754974907;
NTI754974818.base = NTI754974907;
var NNI754974743 = {kind: 2, len: 23, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "activeElement", len: 0, typ: NTI754974744, name: "activeElement", sons: null}, 
{kind: 1, offset: "documentElement", len: 0, typ: NTI754974744, name: "documentElement", sons: null}, 
{kind: 1, offset: "alinkColor", len: 0, typ: NTI33554440, name: "alinkColor", sons: null}, 
{kind: 1, offset: "bgColor", len: 0, typ: NTI33554440, name: "bgColor", sons: null}, 
{kind: 1, offset: "body", len: 0, typ: NTI754974744, name: "body", sons: null}, 
{kind: 1, offset: "charset", len: 0, typ: NTI33554440, name: "charset", sons: null}, 
{kind: 1, offset: "cookie", len: 0, typ: NTI33554440, name: "cookie", sons: null}, 
{kind: 1, offset: "defaultCharset", len: 0, typ: NTI33554440, name: "defaultCharset", sons: null}, 
{kind: 1, offset: "fgColor", len: 0, typ: NTI33554440, name: "fgColor", sons: null}, 
{kind: 1, offset: "head", len: 0, typ: NTI754974744, name: "head", sons: null}, 
{kind: 1, offset: "lastModified", len: 0, typ: NTI33554440, name: "lastModified", sons: null}, 
{kind: 1, offset: "linkColor", len: 0, typ: NTI33554440, name: "linkColor", sons: null}, 
{kind: 1, offset: "referrer", len: 0, typ: NTI33554440, name: "referrer", sons: null}, 
{kind: 1, offset: "title", len: 0, typ: NTI33554440, name: "title", sons: null}, 
{kind: 1, offset: "URL", len: 0, typ: NTI33554440, name: "URL", sons: null}, 
{kind: 1, offset: "vlinkColor", len: 0, typ: NTI33554440, name: "vlinkColor", sons: null}, 
{kind: 1, offset: "anchors", len: 0, typ: NTI754974864, name: "anchors", sons: null}, 
{kind: 1, offset: "forms", len: 0, typ: NTI754974865, name: "forms", sons: null}, 
{kind: 1, offset: "images", len: 0, typ: NTI754974866, name: "images", sons: null}, 
{kind: 1, offset: "applets", len: 0, typ: NTI754974867, name: "applets", sons: null}, 
{kind: 1, offset: "embeds", len: 0, typ: NTI754974868, name: "embeds", sons: null}, 
{kind: 1, offset: "links", len: 0, typ: NTI754974869, name: "links", sons: null}, 
{kind: 1, offset: "fonts", len: 0, typ: NTI754974818, name: "fonts", sons: null}]};
NTI754974743.node = NNI754974743;
NTI754974743.base = NTI754974741;
NTI754974742.base = NTI754974743;
NTI754974768.base = NTI754974769;
var NNI754974741 = {kind: 2, len: 22, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI754974861, name: "attributes", sons: null}, 
{kind: 1, offset: "childNodes", len: 0, typ: NTI754974862, name: "childNodes", sons: null}, 
{kind: 1, offset: "children", len: 0, typ: NTI754974863, name: "children", sons: null}, 
{kind: 1, offset: "data", len: 0, typ: NTI33554440, name: "data", sons: null}, 
{kind: 1, offset: "firstChild", len: 0, typ: NTI754974740, name: "firstChild", sons: null}, 
{kind: 1, offset: "lastChild", len: 0, typ: NTI754974740, name: "lastChild", sons: null}, 
{kind: 1, offset: "nextSibling", len: 0, typ: NTI754974740, name: "nextSibling", sons: null}, 
{kind: 1, offset: "nodeName", len: 0, typ: NTI33554440, name: "nodeName", sons: null}, 
{kind: 1, offset: "nodeType", len: 0, typ: NTI754974739, name: "nodeType", sons: null}, 
{kind: 1, offset: "nodeValue", len: 0, typ: NTI33554440, name: "nodeValue", sons: null}, 
{kind: 1, offset: "parentNode", len: 0, typ: NTI754974740, name: "parentNode", sons: null}, 
{kind: 1, offset: "content", len: 0, typ: NTI754974740, name: "content", sons: null}, 
{kind: 1, offset: "previousSibling", len: 0, typ: NTI754974740, name: "previousSibling", sons: null}, 
{kind: 1, offset: "ownerDocument", len: 0, typ: NTI754974742, name: "ownerDocument", sons: null}, 
{kind: 1, offset: "innerHTML", len: 0, typ: NTI33554440, name: "innerHTML", sons: null}, 
{kind: 1, offset: "outerHTML", len: 0, typ: NTI33554440, name: "outerHTML", sons: null}, 
{kind: 1, offset: "innerText", len: 0, typ: NTI33554440, name: "innerText", sons: null}, 
{kind: 1, offset: "textContent", len: 0, typ: NTI33554440, name: "textContent", sons: null}, 
{kind: 1, offset: "style", len: 0, typ: NTI754974768, name: "style", sons: null}, 
{kind: 1, offset: "baseURI", len: 0, typ: NTI33554440, name: "baseURI", sons: null}, 
{kind: 1, offset: "parentElement", len: 0, typ: NTI754974744, name: "parentElement", sons: null}, 
{kind: 1, offset: "isConnected", len: 0, typ: NTI33554466, name: "isConnected", sons: null}]};
NTI754974741.node = NNI754974741;
var NNI754974725 = {kind: 2, len: 24, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI754974820, name: "onabort", sons: null}, 
{kind: 1, offset: "onblur", len: 0, typ: NTI754974821, name: "onblur", sons: null}, 
{kind: 1, offset: "onchange", len: 0, typ: NTI754974822, name: "onchange", sons: null}, 
{kind: 1, offset: "onclick", len: 0, typ: NTI754974823, name: "onclick", sons: null}, 
{kind: 1, offset: "ondblclick", len: 0, typ: NTI754974824, name: "ondblclick", sons: null}, 
{kind: 1, offset: "onerror", len: 0, typ: NTI754974825, name: "onerror", sons: null}, 
{kind: 1, offset: "onfocus", len: 0, typ: NTI754974826, name: "onfocus", sons: null}, 
{kind: 1, offset: "onkeydown", len: 0, typ: NTI754974827, name: "onkeydown", sons: null}, 
{kind: 1, offset: "onkeypress", len: 0, typ: NTI754974828, name: "onkeypress", sons: null}, 
{kind: 1, offset: "onkeyup", len: 0, typ: NTI754974829, name: "onkeyup", sons: null}, 
{kind: 1, offset: "onload", len: 0, typ: NTI754974830, name: "onload", sons: null}, 
{kind: 1, offset: "onmousedown", len: 0, typ: NTI754974831, name: "onmousedown", sons: null}, 
{kind: 1, offset: "onmousemove", len: 0, typ: NTI754974832, name: "onmousemove", sons: null}, 
{kind: 1, offset: "onmouseout", len: 0, typ: NTI754974833, name: "onmouseout", sons: null}, 
{kind: 1, offset: "onmouseover", len: 0, typ: NTI754974834, name: "onmouseover", sons: null}, 
{kind: 1, offset: "onmouseup", len: 0, typ: NTI754974835, name: "onmouseup", sons: null}, 
{kind: 1, offset: "onreset", len: 0, typ: NTI754974836, name: "onreset", sons: null}, 
{kind: 1, offset: "onselect", len: 0, typ: NTI754974837, name: "onselect", sons: null}, 
{kind: 1, offset: "onstorage", len: 0, typ: NTI754974838, name: "onstorage", sons: null}, 
{kind: 1, offset: "onsubmit", len: 0, typ: NTI754974839, name: "onsubmit", sons: null}, 
{kind: 1, offset: "onunload", len: 0, typ: NTI754974840, name: "onunload", sons: null}, 
{kind: 1, offset: "onloadstart", len: 0, typ: NTI754974841, name: "onloadstart", sons: null}, 
{kind: 1, offset: "onprogress", len: 0, typ: NTI754974842, name: "onprogress", sons: null}, 
{kind: 1, offset: "onloadend", len: 0, typ: NTI754974843, name: "onloadend", sons: null}]};
NTI754974725.node = NNI754974725;
NTI754974725.base = NTI33555083;
NTI754974741.base = NTI754974725;
NTI754974740.base = NTI754974741;
var NNI671088643 = {kind: 2, offset: 0, typ: null, name: null, len: 209, sons: {"0": {kind: 1, offset: 0, typ: NTI671088643, name: "#text", len: 0, sons: null}, 
"1": {kind: 1, offset: 1, typ: NTI671088643, name: "#int", len: 0, sons: null}, 
"2": {kind: 1, offset: 2, typ: NTI671088643, name: "#bool", len: 0, sons: null}, 
"3": {kind: 1, offset: 3, typ: NTI671088643, name: "#vthunk", len: 0, sons: null}, 
"4": {kind: 1, offset: 4, typ: NTI671088643, name: "#dthunk", len: 0, sons: null}, 
"5": {kind: 1, offset: 5, typ: NTI671088643, name: "#component", len: 0, sons: null}, 
"6": {kind: 1, offset: 6, typ: NTI671088643, name: "#verbatim", len: 0, sons: null}, 
"7": {kind: 1, offset: 7, typ: NTI671088643, name: "html", len: 0, sons: null}, 
"8": {kind: 1, offset: 8, typ: NTI671088643, name: "head", len: 0, sons: null}, 
"9": {kind: 1, offset: 9, typ: NTI671088643, name: "title", len: 0, sons: null}, 
"10": {kind: 1, offset: 10, typ: NTI671088643, name: "base", len: 0, sons: null}, 
"11": {kind: 1, offset: 11, typ: NTI671088643, name: "link", len: 0, sons: null}, 
"12": {kind: 1, offset: 12, typ: NTI671088643, name: "meta", len: 0, sons: null}, 
"13": {kind: 1, offset: 13, typ: NTI671088643, name: "style", len: 0, sons: null}, 
"14": {kind: 1, offset: 14, typ: NTI671088643, name: "script", len: 0, sons: null}, 
"15": {kind: 1, offset: 15, typ: NTI671088643, name: "noscript", len: 0, sons: null}, 
"16": {kind: 1, offset: 16, typ: NTI671088643, name: "body", len: 0, sons: null}, 
"17": {kind: 1, offset: 17, typ: NTI671088643, name: "section", len: 0, sons: null}, 
"18": {kind: 1, offset: 18, typ: NTI671088643, name: "nav", len: 0, sons: null}, 
"19": {kind: 1, offset: 19, typ: NTI671088643, name: "article", len: 0, sons: null}, 
"20": {kind: 1, offset: 20, typ: NTI671088643, name: "aside", len: 0, sons: null}, 
"21": {kind: 1, offset: 21, typ: NTI671088643, name: "h1", len: 0, sons: null}, 
"22": {kind: 1, offset: 22, typ: NTI671088643, name: "h2", len: 0, sons: null}, 
"23": {kind: 1, offset: 23, typ: NTI671088643, name: "h3", len: 0, sons: null}, 
"24": {kind: 1, offset: 24, typ: NTI671088643, name: "h4", len: 0, sons: null}, 
"25": {kind: 1, offset: 25, typ: NTI671088643, name: "h5", len: 0, sons: null}, 
"26": {kind: 1, offset: 26, typ: NTI671088643, name: "h6", len: 0, sons: null}, 
"27": {kind: 1, offset: 27, typ: NTI671088643, name: "hgroup", len: 0, sons: null}, 
"28": {kind: 1, offset: 28, typ: NTI671088643, name: "header", len: 0, sons: null}, 
"29": {kind: 1, offset: 29, typ: NTI671088643, name: "footer", len: 0, sons: null}, 
"30": {kind: 1, offset: 30, typ: NTI671088643, name: "address", len: 0, sons: null}, 
"31": {kind: 1, offset: 31, typ: NTI671088643, name: "main", len: 0, sons: null}, 
"32": {kind: 1, offset: 32, typ: NTI671088643, name: "p", len: 0, sons: null}, 
"33": {kind: 1, offset: 33, typ: NTI671088643, name: "hr", len: 0, sons: null}, 
"34": {kind: 1, offset: 34, typ: NTI671088643, name: "pre", len: 0, sons: null}, 
"35": {kind: 1, offset: 35, typ: NTI671088643, name: "blockquote", len: 0, sons: null}, 
"36": {kind: 1, offset: 36, typ: NTI671088643, name: "ol", len: 0, sons: null}, 
"37": {kind: 1, offset: 37, typ: NTI671088643, name: "ul", len: 0, sons: null}, 
"38": {kind: 1, offset: 38, typ: NTI671088643, name: "li", len: 0, sons: null}, 
"39": {kind: 1, offset: 39, typ: NTI671088643, name: "dl", len: 0, sons: null}, 
"40": {kind: 1, offset: 40, typ: NTI671088643, name: "dt", len: 0, sons: null}, 
"41": {kind: 1, offset: 41, typ: NTI671088643, name: "dd", len: 0, sons: null}, 
"42": {kind: 1, offset: 42, typ: NTI671088643, name: "figure", len: 0, sons: null}, 
"43": {kind: 1, offset: 43, typ: NTI671088643, name: "figcaption", len: 0, sons: null}, 
"44": {kind: 1, offset: 44, typ: NTI671088643, name: "div", len: 0, sons: null}, 
"45": {kind: 1, offset: 45, typ: NTI671088643, name: "a", len: 0, sons: null}, 
"46": {kind: 1, offset: 46, typ: NTI671088643, name: "em", len: 0, sons: null}, 
"47": {kind: 1, offset: 47, typ: NTI671088643, name: "strong", len: 0, sons: null}, 
"48": {kind: 1, offset: 48, typ: NTI671088643, name: "small", len: 0, sons: null}, 
"49": {kind: 1, offset: 49, typ: NTI671088643, name: "s", len: 0, sons: null}, 
"50": {kind: 1, offset: 50, typ: NTI671088643, name: "cite", len: 0, sons: null}, 
"51": {kind: 1, offset: 51, typ: NTI671088643, name: "quote", len: 0, sons: null}, 
"52": {kind: 1, offset: 52, typ: NTI671088643, name: "dfn", len: 0, sons: null}, 
"53": {kind: 1, offset: 53, typ: NTI671088643, name: "abbr", len: 0, sons: null}, 
"54": {kind: 1, offset: 54, typ: NTI671088643, name: "data", len: 0, sons: null}, 
"55": {kind: 1, offset: 55, typ: NTI671088643, name: "time", len: 0, sons: null}, 
"56": {kind: 1, offset: 56, typ: NTI671088643, name: "code", len: 0, sons: null}, 
"57": {kind: 1, offset: 57, typ: NTI671088643, name: "var", len: 0, sons: null}, 
"58": {kind: 1, offset: 58, typ: NTI671088643, name: "samp", len: 0, sons: null}, 
"59": {kind: 1, offset: 59, typ: NTI671088643, name: "kdb", len: 0, sons: null}, 
"60": {kind: 1, offset: 60, typ: NTI671088643, name: "sub", len: 0, sons: null}, 
"61": {kind: 1, offset: 61, typ: NTI671088643, name: "sup", len: 0, sons: null}, 
"62": {kind: 1, offset: 62, typ: NTI671088643, name: "i", len: 0, sons: null}, 
"63": {kind: 1, offset: 63, typ: NTI671088643, name: "b", len: 0, sons: null}, 
"64": {kind: 1, offset: 64, typ: NTI671088643, name: "u", len: 0, sons: null}, 
"65": {kind: 1, offset: 65, typ: NTI671088643, name: "mark", len: 0, sons: null}, 
"66": {kind: 1, offset: 66, typ: NTI671088643, name: "ruby", len: 0, sons: null}, 
"67": {kind: 1, offset: 67, typ: NTI671088643, name: "rt", len: 0, sons: null}, 
"68": {kind: 1, offset: 68, typ: NTI671088643, name: "rp", len: 0, sons: null}, 
"69": {kind: 1, offset: 69, typ: NTI671088643, name: "bdi", len: 0, sons: null}, 
"70": {kind: 1, offset: 70, typ: NTI671088643, name: "dbo", len: 0, sons: null}, 
"71": {kind: 1, offset: 71, typ: NTI671088643, name: "span", len: 0, sons: null}, 
"72": {kind: 1, offset: 72, typ: NTI671088643, name: "br", len: 0, sons: null}, 
"73": {kind: 1, offset: 73, typ: NTI671088643, name: "wbr", len: 0, sons: null}, 
"74": {kind: 1, offset: 74, typ: NTI671088643, name: "ins", len: 0, sons: null}, 
"75": {kind: 1, offset: 75, typ: NTI671088643, name: "del", len: 0, sons: null}, 
"76": {kind: 1, offset: 76, typ: NTI671088643, name: "img", len: 0, sons: null}, 
"77": {kind: 1, offset: 77, typ: NTI671088643, name: "iframe", len: 0, sons: null}, 
"78": {kind: 1, offset: 78, typ: NTI671088643, name: "embed", len: 0, sons: null}, 
"79": {kind: 1, offset: 79, typ: NTI671088643, name: "object", len: 0, sons: null}, 
"80": {kind: 1, offset: 80, typ: NTI671088643, name: "param", len: 0, sons: null}, 
"81": {kind: 1, offset: 81, typ: NTI671088643, name: "video", len: 0, sons: null}, 
"82": {kind: 1, offset: 82, typ: NTI671088643, name: "audio", len: 0, sons: null}, 
"83": {kind: 1, offset: 83, typ: NTI671088643, name: "source", len: 0, sons: null}, 
"84": {kind: 1, offset: 84, typ: NTI671088643, name: "track", len: 0, sons: null}, 
"85": {kind: 1, offset: 85, typ: NTI671088643, name: "canvas", len: 0, sons: null}, 
"86": {kind: 1, offset: 86, typ: NTI671088643, name: "map", len: 0, sons: null}, 
"87": {kind: 1, offset: 87, typ: NTI671088643, name: "area", len: 0, sons: null}, 
"88": {kind: 1, offset: 88, typ: NTI671088643, name: "animate", len: 0, sons: null}, 
"89": {kind: 1, offset: 89, typ: NTI671088643, name: "animateMotion", len: 0, sons: null}, 
"90": {kind: 1, offset: 90, typ: NTI671088643, name: "animateTransform", len: 0, sons: null}, 
"91": {kind: 1, offset: 91, typ: NTI671088643, name: "circle", len: 0, sons: null}, 
"92": {kind: 1, offset: 92, typ: NTI671088643, name: "clipPath", len: 0, sons: null}, 
"93": {kind: 1, offset: 93, typ: NTI671088643, name: "defs", len: 0, sons: null}, 
"94": {kind: 1, offset: 94, typ: NTI671088643, name: "desc", len: 0, sons: null}, 
"95": {kind: 1, offset: 95, typ: NTI671088643, name: "discard", len: 0, sons: null}, 
"96": {kind: 1, offset: 96, typ: NTI671088643, name: "ellipse", len: 0, sons: null}, 
"97": {kind: 1, offset: 97, typ: NTI671088643, name: "feBlend", len: 0, sons: null}, 
"98": {kind: 1, offset: 98, typ: NTI671088643, name: "feColorMatrix", len: 0, sons: null}, 
"99": {kind: 1, offset: 99, typ: NTI671088643, name: "feComponentTransfer", len: 0, sons: null}, 
"100": {kind: 1, offset: 100, typ: NTI671088643, name: "feComposite", len: 0, sons: null}, 
"101": {kind: 1, offset: 101, typ: NTI671088643, name: "feConvolveMatrix", len: 0, sons: null}, 
"102": {kind: 1, offset: 102, typ: NTI671088643, name: "feDiffuseLighting", len: 0, sons: null}, 
"103": {kind: 1, offset: 103, typ: NTI671088643, name: "feDisplacementMap", len: 0, sons: null}, 
"104": {kind: 1, offset: 104, typ: NTI671088643, name: "feDistantLight", len: 0, sons: null}, 
"105": {kind: 1, offset: 105, typ: NTI671088643, name: "feDropShadow", len: 0, sons: null}, 
"106": {kind: 1, offset: 106, typ: NTI671088643, name: "feFlood", len: 0, sons: null}, 
"107": {kind: 1, offset: 107, typ: NTI671088643, name: "feFuncA", len: 0, sons: null}, 
"108": {kind: 1, offset: 108, typ: NTI671088643, name: "feFuncB", len: 0, sons: null}, 
"109": {kind: 1, offset: 109, typ: NTI671088643, name: "feFuncG", len: 0, sons: null}, 
"110": {kind: 1, offset: 110, typ: NTI671088643, name: "feFuncR", len: 0, sons: null}, 
"111": {kind: 1, offset: 111, typ: NTI671088643, name: "feGaussianBlur", len: 0, sons: null}, 
"112": {kind: 1, offset: 112, typ: NTI671088643, name: "feImage", len: 0, sons: null}, 
"113": {kind: 1, offset: 113, typ: NTI671088643, name: "feMerge", len: 0, sons: null}, 
"114": {kind: 1, offset: 114, typ: NTI671088643, name: "feMergeNode", len: 0, sons: null}, 
"115": {kind: 1, offset: 115, typ: NTI671088643, name: "feMorphology", len: 0, sons: null}, 
"116": {kind: 1, offset: 116, typ: NTI671088643, name: "feOffset", len: 0, sons: null}, 
"117": {kind: 1, offset: 117, typ: NTI671088643, name: "fePointLight", len: 0, sons: null}, 
"118": {kind: 1, offset: 118, typ: NTI671088643, name: "feSpecularLighting", len: 0, sons: null}, 
"119": {kind: 1, offset: 119, typ: NTI671088643, name: "feSpotLight", len: 0, sons: null}, 
"120": {kind: 1, offset: 120, typ: NTI671088643, name: "feTile", len: 0, sons: null}, 
"121": {kind: 1, offset: 121, typ: NTI671088643, name: "feTurbulence", len: 0, sons: null}, 
"122": {kind: 1, offset: 122, typ: NTI671088643, name: "filter", len: 0, sons: null}, 
"123": {kind: 1, offset: 123, typ: NTI671088643, name: "foreignObject", len: 0, sons: null}, 
"124": {kind: 1, offset: 124, typ: NTI671088643, name: "g", len: 0, sons: null}, 
"125": {kind: 1, offset: 125, typ: NTI671088643, name: "image", len: 0, sons: null}, 
"126": {kind: 1, offset: 126, typ: NTI671088643, name: "line", len: 0, sons: null}, 
"127": {kind: 1, offset: 127, typ: NTI671088643, name: "linearGradient", len: 0, sons: null}, 
"128": {kind: 1, offset: 128, typ: NTI671088643, name: "marker", len: 0, sons: null}, 
"129": {kind: 1, offset: 129, typ: NTI671088643, name: "mask", len: 0, sons: null}, 
"130": {kind: 1, offset: 130, typ: NTI671088643, name: "metadata", len: 0, sons: null}, 
"131": {kind: 1, offset: 131, typ: NTI671088643, name: "mpath", len: 0, sons: null}, 
"132": {kind: 1, offset: 132, typ: NTI671088643, name: "path", len: 0, sons: null}, 
"133": {kind: 1, offset: 133, typ: NTI671088643, name: "pattern", len: 0, sons: null}, 
"134": {kind: 1, offset: 134, typ: NTI671088643, name: "polygon", len: 0, sons: null}, 
"135": {kind: 1, offset: 135, typ: NTI671088643, name: "polyline", len: 0, sons: null}, 
"136": {kind: 1, offset: 136, typ: NTI671088643, name: "radialGradient", len: 0, sons: null}, 
"137": {kind: 1, offset: 137, typ: NTI671088643, name: "rect", len: 0, sons: null}, 
"138": {kind: 1, offset: 138, typ: NTI671088643, name: "set", len: 0, sons: null}, 
"139": {kind: 1, offset: 139, typ: NTI671088643, name: "stop", len: 0, sons: null}, 
"140": {kind: 1, offset: 140, typ: NTI671088643, name: "svg", len: 0, sons: null}, 
"141": {kind: 1, offset: 141, typ: NTI671088643, name: "switch", len: 0, sons: null}, 
"142": {kind: 1, offset: 142, typ: NTI671088643, name: "symbol", len: 0, sons: null}, 
"143": {kind: 1, offset: 143, typ: NTI671088643, name: "text", len: 0, sons: null}, 
"144": {kind: 1, offset: 144, typ: NTI671088643, name: "textPath", len: 0, sons: null}, 
"145": {kind: 1, offset: 145, typ: NTI671088643, name: "tspan", len: 0, sons: null}, 
"146": {kind: 1, offset: 146, typ: NTI671088643, name: "unknown", len: 0, sons: null}, 
"147": {kind: 1, offset: 147, typ: NTI671088643, name: "use", len: 0, sons: null}, 
"148": {kind: 1, offset: 148, typ: NTI671088643, name: "view", len: 0, sons: null}, 
"149": {kind: 1, offset: 149, typ: NTI671088643, name: "maction", len: 0, sons: null}, 
"150": {kind: 1, offset: 150, typ: NTI671088643, name: "math", len: 0, sons: null}, 
"151": {kind: 1, offset: 151, typ: NTI671088643, name: "menclose", len: 0, sons: null}, 
"152": {kind: 1, offset: 152, typ: NTI671088643, name: "merror", len: 0, sons: null}, 
"153": {kind: 1, offset: 153, typ: NTI671088643, name: "mfenced", len: 0, sons: null}, 
"154": {kind: 1, offset: 154, typ: NTI671088643, name: "mfrac", len: 0, sons: null}, 
"155": {kind: 1, offset: 155, typ: NTI671088643, name: "mglyph", len: 0, sons: null}, 
"156": {kind: 1, offset: 156, typ: NTI671088643, name: "mi", len: 0, sons: null}, 
"157": {kind: 1, offset: 157, typ: NTI671088643, name: "mlabeledtr", len: 0, sons: null}, 
"158": {kind: 1, offset: 158, typ: NTI671088643, name: "mmultiscripts", len: 0, sons: null}, 
"159": {kind: 1, offset: 159, typ: NTI671088643, name: "mn", len: 0, sons: null}, 
"160": {kind: 1, offset: 160, typ: NTI671088643, name: "mo", len: 0, sons: null}, 
"161": {kind: 1, offset: 161, typ: NTI671088643, name: "mover", len: 0, sons: null}, 
"162": {kind: 1, offset: 162, typ: NTI671088643, name: "mpadded", len: 0, sons: null}, 
"163": {kind: 1, offset: 163, typ: NTI671088643, name: "mphantom", len: 0, sons: null}, 
"164": {kind: 1, offset: 164, typ: NTI671088643, name: "mroot", len: 0, sons: null}, 
"165": {kind: 1, offset: 165, typ: NTI671088643, name: "mrow", len: 0, sons: null}, 
"166": {kind: 1, offset: 166, typ: NTI671088643, name: "ms", len: 0, sons: null}, 
"167": {kind: 1, offset: 167, typ: NTI671088643, name: "mspace", len: 0, sons: null}, 
"168": {kind: 1, offset: 168, typ: NTI671088643, name: "msqrt", len: 0, sons: null}, 
"169": {kind: 1, offset: 169, typ: NTI671088643, name: "mstyle", len: 0, sons: null}, 
"170": {kind: 1, offset: 170, typ: NTI671088643, name: "msub", len: 0, sons: null}, 
"171": {kind: 1, offset: 171, typ: NTI671088643, name: "msubsup", len: 0, sons: null}, 
"172": {kind: 1, offset: 172, typ: NTI671088643, name: "msup", len: 0, sons: null}, 
"173": {kind: 1, offset: 173, typ: NTI671088643, name: "mtable", len: 0, sons: null}, 
"174": {kind: 1, offset: 174, typ: NTI671088643, name: "mtd", len: 0, sons: null}, 
"175": {kind: 1, offset: 175, typ: NTI671088643, name: "mtext", len: 0, sons: null}, 
"176": {kind: 1, offset: 176, typ: NTI671088643, name: "mtr", len: 0, sons: null}, 
"177": {kind: 1, offset: 177, typ: NTI671088643, name: "munder", len: 0, sons: null}, 
"178": {kind: 1, offset: 178, typ: NTI671088643, name: "munderover", len: 0, sons: null}, 
"179": {kind: 1, offset: 179, typ: NTI671088643, name: "semantics", len: 0, sons: null}, 
"180": {kind: 1, offset: 180, typ: NTI671088643, name: "table", len: 0, sons: null}, 
"181": {kind: 1, offset: 181, typ: NTI671088643, name: "caption", len: 0, sons: null}, 
"182": {kind: 1, offset: 182, typ: NTI671088643, name: "colgroup", len: 0, sons: null}, 
"183": {kind: 1, offset: 183, typ: NTI671088643, name: "col", len: 0, sons: null}, 
"184": {kind: 1, offset: 184, typ: NTI671088643, name: "tbody", len: 0, sons: null}, 
"185": {kind: 1, offset: 185, typ: NTI671088643, name: "thead", len: 0, sons: null}, 
"186": {kind: 1, offset: 186, typ: NTI671088643, name: "tfoot", len: 0, sons: null}, 
"187": {kind: 1, offset: 187, typ: NTI671088643, name: "tr", len: 0, sons: null}, 
"188": {kind: 1, offset: 188, typ: NTI671088643, name: "td", len: 0, sons: null}, 
"189": {kind: 1, offset: 189, typ: NTI671088643, name: "th", len: 0, sons: null}, 
"190": {kind: 1, offset: 190, typ: NTI671088643, name: "form", len: 0, sons: null}, 
"191": {kind: 1, offset: 191, typ: NTI671088643, name: "fieldset", len: 0, sons: null}, 
"192": {kind: 1, offset: 192, typ: NTI671088643, name: "legend", len: 0, sons: null}, 
"193": {kind: 1, offset: 193, typ: NTI671088643, name: "label", len: 0, sons: null}, 
"194": {kind: 1, offset: 194, typ: NTI671088643, name: "input", len: 0, sons: null}, 
"195": {kind: 1, offset: 195, typ: NTI671088643, name: "button", len: 0, sons: null}, 
"196": {kind: 1, offset: 196, typ: NTI671088643, name: "select", len: 0, sons: null}, 
"197": {kind: 1, offset: 197, typ: NTI671088643, name: "datalist", len: 0, sons: null}, 
"198": {kind: 1, offset: 198, typ: NTI671088643, name: "optgroup", len: 0, sons: null}, 
"199": {kind: 1, offset: 199, typ: NTI671088643, name: "option", len: 0, sons: null}, 
"200": {kind: 1, offset: 200, typ: NTI671088643, name: "textarea", len: 0, sons: null}, 
"201": {kind: 1, offset: 201, typ: NTI671088643, name: "keygen", len: 0, sons: null}, 
"202": {kind: 1, offset: 202, typ: NTI671088643, name: "output", len: 0, sons: null}, 
"203": {kind: 1, offset: 203, typ: NTI671088643, name: "progress", len: 0, sons: null}, 
"204": {kind: 1, offset: 204, typ: NTI671088643, name: "meter", len: 0, sons: null}, 
"205": {kind: 1, offset: 205, typ: NTI671088643, name: "details", len: 0, sons: null}, 
"206": {kind: 1, offset: 206, typ: NTI671088643, name: "summary", len: 0, sons: null}, 
"207": {kind: 1, offset: 207, typ: NTI671088643, name: "command", len: 0, sons: null}, 
"208": {kind: 1, offset: 208, typ: NTI671088643, name: "menu", len: 0, sons: null}}};
NTI671088643.node = NNI671088643;
NTI671088743.base = NTI671088739;
NTI671088744.base = NTI33554440;
var NNI671088646 = {kind: 2, offset: 0, typ: null, name: null, len: 37, sons: {"0": {kind: 1, offset: 0, typ: NTI671088646, name: "onclick", len: 0, sons: null}, 
"1": {kind: 1, offset: 1, typ: NTI671088646, name: "oncontextmenu", len: 0, sons: null}, 
"2": {kind: 1, offset: 2, typ: NTI671088646, name: "ondblclick", len: 0, sons: null}, 
"3": {kind: 1, offset: 3, typ: NTI671088646, name: "onkeyup", len: 0, sons: null}, 
"4": {kind: 1, offset: 4, typ: NTI671088646, name: "onkeydown", len: 0, sons: null}, 
"5": {kind: 1, offset: 5, typ: NTI671088646, name: "onkeypressed", len: 0, sons: null}, 
"6": {kind: 1, offset: 6, typ: NTI671088646, name: "onfocus", len: 0, sons: null}, 
"7": {kind: 1, offset: 7, typ: NTI671088646, name: "onblur", len: 0, sons: null}, 
"8": {kind: 1, offset: 8, typ: NTI671088646, name: "onchange", len: 0, sons: null}, 
"9": {kind: 1, offset: 9, typ: NTI671088646, name: "onscroll", len: 0, sons: null}, 
"10": {kind: 1, offset: 10, typ: NTI671088646, name: "onmousedown", len: 0, sons: null}, 
"11": {kind: 1, offset: 11, typ: NTI671088646, name: "onmouseenter", len: 0, sons: null}, 
"12": {kind: 1, offset: 12, typ: NTI671088646, name: "onmouseleave", len: 0, sons: null}, 
"13": {kind: 1, offset: 13, typ: NTI671088646, name: "onmousemove", len: 0, sons: null}, 
"14": {kind: 1, offset: 14, typ: NTI671088646, name: "onmouseout", len: 0, sons: null}, 
"15": {kind: 1, offset: 15, typ: NTI671088646, name: "onmouseover", len: 0, sons: null}, 
"16": {kind: 1, offset: 16, typ: NTI671088646, name: "onmouseup", len: 0, sons: null}, 
"17": {kind: 1, offset: 17, typ: NTI671088646, name: "ondrag", len: 0, sons: null}, 
"18": {kind: 1, offset: 18, typ: NTI671088646, name: "ondragend", len: 0, sons: null}, 
"19": {kind: 1, offset: 19, typ: NTI671088646, name: "ondragenter", len: 0, sons: null}, 
"20": {kind: 1, offset: 20, typ: NTI671088646, name: "ondragleave", len: 0, sons: null}, 
"21": {kind: 1, offset: 21, typ: NTI671088646, name: "ondragover", len: 0, sons: null}, 
"22": {kind: 1, offset: 22, typ: NTI671088646, name: "ondragstart", len: 0, sons: null}, 
"23": {kind: 1, offset: 23, typ: NTI671088646, name: "ondrop", len: 0, sons: null}, 
"24": {kind: 1, offset: 24, typ: NTI671088646, name: "onsubmit", len: 0, sons: null}, 
"25": {kind: 1, offset: 25, typ: NTI671088646, name: "oninput", len: 0, sons: null}, 
"26": {kind: 1, offset: 26, typ: NTI671088646, name: "onanimationstart", len: 0, sons: null}, 
"27": {kind: 1, offset: 27, typ: NTI671088646, name: "onanimationend", len: 0, sons: null}, 
"28": {kind: 1, offset: 28, typ: NTI671088646, name: "onanimationiteration", len: 0, sons: null}, 
"29": {kind: 1, offset: 29, typ: NTI671088646, name: "onkeyupenter", len: 0, sons: null}, 
"30": {kind: 1, offset: 30, typ: NTI671088646, name: "onkeyuplater", len: 0, sons: null}, 
"31": {kind: 1, offset: 31, typ: NTI671088646, name: "onload", len: 0, sons: null}, 
"32": {kind: 1, offset: 32, typ: NTI671088646, name: "ontransitioncancel", len: 0, sons: null}, 
"33": {kind: 1, offset: 33, typ: NTI671088646, name: "ontransitionend", len: 0, sons: null}, 
"34": {kind: 1, offset: 34, typ: NTI671088646, name: "ontransitionrun", len: 0, sons: null}, 
"35": {kind: 1, offset: 35, typ: NTI671088646, name: "ontransitionstart", len: 0, sons: null}, 
"36": {kind: 1, offset: 36, typ: NTI671088646, name: "onwheel", len: 0, sons: null}}};
NTI671088646.node = NNI671088646;
var NNI671088741 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI671088646, name: "Field0", sons: null}, 
{kind: 1, offset: "Field1", len: 0, typ: NTI671088751, name: "Field1", sons: null}, 
{kind: 1, offset: "Field2", len: 0, typ: NTI671088752, name: "Field2", sons: null}]};
NTI671088741.node = NNI671088741;
NTI671088737.base = NTI671088741;
var NNI721420324 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI721420324.node = NNI721420324;
NTI721420325.base = NTI721420324;
var NNI671088742 = {kind: 2, len: 10, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "kind", len: 0, typ: NTI671088643, name: "kind", sons: null}, 
{kind: 1, offset: "index", len: 0, typ: NTI33554456, name: "index", sons: null}, 
{kind: 1, offset: "id", len: 0, typ: NTI33554440, name: "id", sons: null}, 
{kind: 1, offset: "class", len: 0, typ: NTI33554440, name: "class", sons: null}, 
{kind: 1, offset: "text", len: 0, typ: NTI33554440, name: "text", sons: null}, 
{kind: 1, offset: "kids", len: 0, typ: NTI671088743, name: "kids", sons: null}, 
{kind: 1, offset: "attrs", len: 0, typ: NTI671088744, name: "attrs", sons: null}, 
{kind: 1, offset: "events", len: 0, typ: NTI671088737, name: "events", sons: null}, 
{kind: 1, offset: "style", len: 0, typ: NTI721420325, name: "style", sons: null}, 
{kind: 1, offset: "dom", len: 0, typ: NTI754974740, name: "dom", sons: null}]};
NTI671088742.node = NNI671088742;
NTI671088742.base = NTI33555083;
NTI671088739.base = NTI671088742;
var NNI637534214 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "k", len: 0, typ: NTI637534213, name: "k", sons: null}, 
{kind: 1, offset: "parent", len: 0, typ: NTI754974740, name: "parent", sons: null}, 
{kind: 1, offset: "current", len: 0, typ: NTI754974740, name: "current", sons: null}, 
{kind: 1, offset: "newNode", len: 0, typ: NTI671088739, name: "newNode", sons: null}, 
{kind: 1, offset: "oldNode", len: 0, typ: NTI671088739, name: "oldNode", sons: null}]};
NTI637534214.node = NNI637534214;
var NNI637534215 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI671088739, name: "parent", sons: null}, 
{kind: 1, offset: "newChild", len: 0, typ: NTI671088739, name: "newChild", sons: null}, 
{kind: 1, offset: "pos", len: 0, typ: NTI33554456, name: "pos", sons: null}]};
NTI637534215.node = NNI637534215;
NTI671088909.base = NTI33554440;
NTI805306742.base = NTI33554439;

function makeNimstrLit(c_33556801) {
      var result = [];
  for (var i = 0; i < c_33556801.length; ++i) {
    result[i] = c_33556801.charCodeAt(i);
  }
  return result;
  

  
}

function toJSStr(s_33556807) {
                    var Temporary5;
            var Temporary7;

  var result_33556808 = null;

    var res_33556842 = newSeq_33556825((s_33556807).length);
    var i_33556843 = 0;
    var j_33556844 = 0;
    Label1: do {
        Label2: while (true) {
        if (!(i_33556843 < (s_33556807).length)) break Label2;
          var c_33556845 = s_33556807[i_33556843];
          if ((c_33556845 < 128)) {
          res_33556842[j_33556844] = String.fromCharCode(c_33556845);
          i_33556843 += 1;
          }
          else {
            var helper_33556857 = newSeq_33556825(0);
            Label3: do {
                Label4: while (true) {
                if (!true) break Label4;
                  var code_33556858 = c_33556845.toString(16);
                  if ((((code_33556858) == null ? 0 : (code_33556858).length) == 1)) {
                  helper_33556857.push("%0");;
                  }
                  else {
                  helper_33556857.push("%");;
                  }
                  
                  helper_33556857.push(code_33556858);;
                  i_33556843 += 1;
                    if (((s_33556807).length <= i_33556843)) Temporary5 = true; else {                      Temporary5 = (s_33556807[i_33556843] < 128);                    }                  if (Temporary5) {
                  break Label3;
                  }
                  
                  c_33556845 = s_33556807[i_33556843];
                }
            } while (false);
++excHandler;
            Temporary7 = framePtr;
            try {
            res_33556842[j_33556844] = decodeURIComponent(helper_33556857.join(""));
--excHandler;
} catch (EXCEPTION) {
 var prevJSError = lastJSError;
 lastJSError = EXCEPTION;
 --excHandler;
            framePtr = Temporary7;
            res_33556842[j_33556844] = helper_33556857.join("");
            lastJSError = prevJSError;
            } finally {
            framePtr = Temporary7;
            }
          }
          
          j_33556844 += 1;
        }
    } while (false);
    if (res_33556842.length < j_33556844) { for (var i = res_33556842.length ; i < j_33556844 ; ++i) res_33556842.push(null); }
               else { res_33556842.length = j_33556844; };
    result_33556808 = res_33556842.join("");

  return result_33556808;

}

function raiseException(e_33556667, ename_33556668) {
    e_33556667.name = ename_33556668;
    if ((excHandler == 0)) {
    unhandledException(e_33556667);
    }
    
    throw e_33556667;

  
}

function subInt(a_33556944, b_33556945) {
        var result = a_33556944 - b_33556945;
    checkOverflowInt(result);
    return result;
  

  
}

function addInt(a_33556940, b_33556941) {
        var result = a_33556940 + b_33556941;
    checkOverflowInt(result);
    return result;
  

  
}

function cstrToNimstr(c_33556804) {
      var ln = c_33556804.length;
  var result = new Array(ln);
  var r = 0;
  for (var i = 0; i < ln; ++i) {
    var ch = c_33556804.charCodeAt(i);

    if (ch < 128) {
      result[r] = ch;
    }
    else {
      if (ch < 2048) {
        result[r] = (ch >> 6) | 192;
      }
      else {
        if (ch < 55296 || ch >= 57344) {
          result[r] = (ch >> 12) | 224;
        }
        else {
            ++i;
            ch = 65536 + (((ch & 1023) << 10) | (c_33556804.charCodeAt(i) & 1023));
            result[r] = (ch >> 18) | 240;
            ++r;
            result[r] = ((ch >> 12) & 63) | 128;
        }
        ++r;
        result[r] = ((ch >> 6) & 63) | 128;
      }
      ++r;
      result[r] = (ch & 63) | 128;
    }
    ++r;
  }
  return result;
  

  
}

function setConstr() {
        var result = {};
    for (var i = 0; i < arguments.length; ++i) {
      var x = arguments[i];
      if (typeof(x) == "object") {
        for (var j = x[0]; j <= x[1]; ++j) {
          result[j] = true;
        }
      } else {
        result[x] = true;
      }
    }
    return result;
  

  
}
var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21);

function nimCopy(dest_33557140, src_33557141, ti_33557142) {
  var result_33557151 = null;

    switch (ti_33557142.kind) {
    case 21:
    case 22:
    case 23:
    case 5:
      if (!(isFatPointer_33557131(ti_33557142))) {
      result_33557151 = src_33557141;
      }
      else {
        result_33557151 = [src_33557141[0], src_33557141[1]];
      }
      
      break;
    case 19:
            if (dest_33557140 === null || dest_33557140 === undefined) {
        dest_33557140 = {};
      }
      else {
        for (var key in dest_33557140) { delete dest_33557140[key]; }
      }
      for (var key in src_33557141) { dest_33557140[key] = src_33557141[key]; }
      result_33557151 = dest_33557140;
    
      break;
    case 18:
    case 17:
      if (!((ti_33557142.base == null))) {
      result_33557151 = nimCopy(dest_33557140, src_33557141, ti_33557142.base);
      }
      else {
      if ((ti_33557142.kind == 17)) {
      result_33557151 = (dest_33557140 === null || dest_33557140 === undefined) ? {m_type: ti_33557142} : dest_33557140;
      }
      else {
        result_33557151 = (dest_33557140 === null || dest_33557140 === undefined) ? {} : dest_33557140;
      }
      }
      nimCopyAux(result_33557151, src_33557141, ti_33557142.node);
      break;
    case 24:
    case 4:
    case 27:
    case 16:
            if (src_33557141 === null) {
        result_33557151 = null;
      }
      else {
        if (dest_33557140 === null || dest_33557140 === undefined || dest_33557140.length != src_33557141.length) {
          dest_33557140 = new Array(src_33557141.length);
        }
        result_33557151 = dest_33557140;
        for (var i = 0; i < src_33557141.length; ++i) {
          result_33557151[i] = nimCopy(result_33557151[i], src_33557141[i], ti_33557142.base);
        }
      }
    
      break;
    case 28:
            if (src_33557141 !== null) {
        result_33557151 = src_33557141.slice(0);
      }
    
      break;
    default: 
      result_33557151 = src_33557141;
      break;
    }

  return result_33557151;

}
      var toTag_671088989 = ["#text", "#int", "#bool", "#vthunk", "#dthunk", "#component", "#verbatim", "HTML", "HEAD", "TITLE", "BASE", "LINK", "META", "STYLE", "SCRIPT", "NOSCRIPT", "BODY", "SECTION", "NAV", "ARTICLE", "ASIDE", "H1", "H2", "H3", "H4", "H5", "H6", "HGROUP", "HEADER", "FOOTER", "ADDRESS", "MAIN", "P", "HR", "PRE", "BLOCKQUOTE", "OL", "UL", "LI", "DL", "DT", "DD", "FIGURE", "FIGCAPTION", "DIV", "A", "EM", "STRONG", "SMALL", "S", "CITE", "QUOTE", "DFN", "ABBR", "DATA", "TIME", "CODE", "VAR", "SAMP", "KDB", "SUB", "SUP", "I", "B", "U", "MARK", "RUBY", "RT", "RP", "BDI", "DBO", "SPAN", "BR", "WBR", "INS", "DEL", "IMG", "IFRAME", "EMBED", "OBJECT", "PARAM", "VIDEO", "AUDIO", "SOURCE", "TRACK", "CANVAS", "MAP", "AREA", "ANIMATE", "ANIMATEMOTION", "ANIMATETRANSFORM", "CIRCLE", "CLIPPATH", "DEFS", "DESC", "DISCARD", "ELLIPSE", "FEBLEND", "FECOLORMATRIX", "FECOMPONENTTRANSFER", "FECOMPOSITE", "FECONVOLVEMATRIX", "FEDIFFUSELIGHTING", "FEDISPLACEMENTMAP", "FEDISTANTLIGHT", "FEDROPSHADOW", "FEFLOOD", "FEFUNCA", "FEFUNCB", "FEFUNCG", "FEFUNCR", "FEGAUSSIANBLUR", "FEIMAGE", "FEMERGE", "FEMERGENODE", "FEMORPHOLOGY", "FEOFFSET", "FEPOINTLIGHT", "FESPECULARLIGHTING", "FESPOTLIGHT", "FETILE", "FETURBULENCE", "FILTER", "FOREIGNOBJECT", "G", "IMAGE", "LINE", "LINEARGRADIENT", "MARKER", "MASK", "METADATA", "MPATH", "PATH", "PATTERN", "POLYGON", "POLYLINE", "RADIALGRADIENT", "RECT", "SET", "STOP", "SVG", "SWITCH", "SYMBOL", "TEXT", "TEXTPATH", "TSPAN", "UNKNOWN", "USE", "VIEW", "MACTION", "MATH", "MENCLOSE", "MERROR", "MFENCED", "MFRAC", "MGLYPH", "MI", "MLABELEDTR", "MMULTISCRIPTS", "MN", "MO", "MOVER", "MPADDED", "MPHANTOM", "MROOT", "MROW", "MS", "MSPACE", "MSQRT", "MSTYLE", "MSUB", "MSUBSUP", "MSUP", "MTABLE", "MTD", "MTEXT", "MTR", "MUNDER", "MUNDEROVER", "SEMANTICS", "TABLE", "CAPTION", "COLGROUP", "COL", "TBODY", "THEAD", "TFOOT", "TR", "TD", "TH", "FORM", "FIELDSET", "LEGEND", "LABEL", "INPUT", "BUTTON", "SELECT", "DATALIST", "OPTGROUP", "OPTION", "TEXTAREA", "KEYGEN", "OUTPUT", "PROGRESS", "METER", "DETAILS", "SUMMARY", "COMMAND", "MENU"];

function mnewString(len_33556893) {
        return new Array(len_33556893);
  

  
}

function chckRange(i_33557189, a_33557190, b_33557191) {
      var Temporary1;

  var result_33557192 = 0;

  BeforeRet: do {
      if (!(a_33557190 <= i_33557189)) Temporary1 = false; else {        Temporary1 = (i_33557189 <= b_33557191);      }    if (Temporary1) {
    result_33557192 = i_33557189;
    break BeforeRet;
    }
    else {
    raiseRangeError();
    }
    
  } while (false);

  return result_33557192;

}

function chckIndx(i_33557184, a_33557185, b_33557186) {
      var Temporary1;

  var result_33557187 = 0;

  BeforeRet: do {
      if (!(a_33557185 <= i_33557184)) Temporary1 = false; else {        Temporary1 = (i_33557184 <= b_33557186);      }    if (Temporary1) {
    result_33557187 = i_33557184;
    break BeforeRet;
    }
    else {
    raiseIndexError(i_33557184, a_33557185, b_33557186);
    }
    
  } while (false);

  return result_33557187;

}
      var toEventName_671088990 = ["click", "contextmenu", "dblclick", "keyup", "keydown", "keypressed", "focus", "blur", "change", "scroll", "mousedown", "mouseenter", "mouseleave", "mousemove", "mouseout", "mouseover", "mouseup", "drag", "dragend", "dragenter", "dragleave", "dragover", "dragstart", "drop", "submit", "input", "animationstart", "animationend", "animationiteration", "keyupenter", "keyuplater", "load", "transitioncancel", "transitionend", "transitionrun", "transitionstart", "wheel"];

function nimMin(a_33556994, b_33556995) {
    var Temporary1;

  var result_33556996 = 0;

  BeforeRet: do {
    if ((a_33556994 <= b_33556995)) {
    Temporary1 = a_33556994;
    }
    else {
    Temporary1 = b_33556995;
    }
    
    result_33556996 = Temporary1;
    break BeforeRet;
  } while (false);

  return result_33556996;

}

function rawEcho() {
          var buf = "";
      for (var i = 0; i < arguments.length; ++i) {
        buf += toJSStr(arguments[i]);
      }
      console.log(buf);
    

  
}

function nimMax(a_33556998, b_33556999) {
    var Temporary1;

  var result_33557000 = 0;

  BeforeRet: do {
    if ((b_33556999 <= a_33556998)) {
    Temporary1 = a_33556998;
    }
    else {
    Temporary1 = b_33556999;
    }
    
    result_33557000 = Temporary1;
    break BeforeRet;
  } while (false);

  return result_33557000;

}
var ConstSet2 = setConstr(32, 9, 11, 13, 10, 12);
var ConstSet3 = setConstr(32, 9, 11, 13, 10, 12);
    var toStyleAttrName_738197746 = ["alignContent", "alignItems", "alignSelf", "animation", "animationDelay", "animationDirection", "animationDuration", "animationFillMode", "animationIterationCount", "animationName", "animationTimingFunction", "animationPlayState", "background", "backgroundAttachment", "backgroundColor", "backgroundImage", "backgroundPosition", "backgroundRepeat", "backgroundClip", "backgroundOrigin", "backgroundSize", "backfaceVisibility", "border", "borderBottom", "borderBottomColor", "borderBottomLeftRadius", "borderBottomRightRadius", "borderBottomStyle", "borderBottomWidth", "borderCollapse", "borderColor", "borderImage", "borderImageOutset", "borderImageRepeat", "borderImageSlice", "borderImageSource", "borderImageWidth", "borderLeft", "borderLeftColor", "borderLeftStyle", "borderLeftWidth", "borderRadius", "borderRight", "borderRightColor", "borderRightStyle", "borderRightWidth", "borderSpacing", "borderStyle", "borderTop", "borderTopColor", "borderTopLeftRadius", "borderTopRightRadius", "borderTopStyle", "borderTopWidth", "borderWidth", "bottom", "boxDecorationBreak", "boxShadow", "boxSizing", "captionSide", "clear", "clip", "color", "columnCount", "columnFill", "columnGap", "columnRule", "columnRuleColor", "columnRuleStyle", "columnRuleWidth", "columns", "columnSpan", "columnWidth", "content", "counterIncrement", "counterReset", "cursor", "direction", "display", "emptyCells", "filter", "flex", "flexBasis", "flexDirection", "flexFlow", "flexGrow", "flexShrink", "flexWrap", "cssFloat", "font", "fontFamily", "fontSize", "fontSizeAdjust", "fontStretch", "fontStyle", "fontVariant", "fontWeight", "hangingPunctuation", "height", "hyphens", "icon", "imageOrientation", "justifyContent", "left", "letterSpacing", "lineHeight", "listStyle", "listStyleImage", "listStylePosition", "listStyleType", "margin", "marginBottom", "marginLeft", "marginRight", "marginTop", "maxHeight", "maxWidth", "minHeight", "minWidth", "navDown", "navIndex", "navLeft", "navRight", "navUp", "opacity", "order", "orphans", "outline", "outlineColor", "outlineOffset", "outlineStyle", "outlineWidth", "overflow", "overflowX", "overflowY", "padding", "paddingBottom", "paddingLeft", "paddingRight", "paddingTop", "pageBreakAfter", "pageBreakBefore", "pageBreakInside", "perspective", "perspectiveOrigin", "pointerEvents", "position", "quotes", "resize", "right", "scrollbar3dLightColor", "scrollbarArrowColor", "scrollbarBaseColor", "scrollbarDarkshadowColor", "scrollbarFaceColor", "scrollbarHighlightColor", "scrollbarShadowColor", "scrollbarTrackColor", "tableLayout", "tabSize", "textAlign", "textAlignLast", "textDecoration", "textDecorationColor", "textDecorationLine", "textDecorationStyle", "textIndent", "textJustify", "textOverflow", "textShadow", "textTransform", "top", "transform", "transformOrigin", "transformStyle", "transition", "transitionDelay", "transitionDuration", "transitionProperty", "transitionTimingFunction", "unicodeBidi", "userSelect", "verticalAlign", "visibility", "whiteSpace", "width", "wordBreak", "wordSpacing", "wordWrap", "widows", "zIndex"];
if (!Math.trunc) {
  Math.trunc = function(v) {
    v = +v;
    if (!isFinite(v)) return v;
    return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
  };
}

var gid_671089251 = [0];
var objectID_1191182498 = [0];
var vcomponents_704643085 = [{}];
var kxi__ = null;
var gerrorMsgs_1375731718 = [{}];
var gerrorCounter_1375731719 = [0];

function getError_1375731739(field_1375731740) {
  var result_1375731741 = null;

    if (!(gerrorMsgs_1375731718[0].hasOwnProperty(field_1375731740))) {
    result_1375731741 = "";
    }
    else {
      result_1375731741 = gerrorMsgs_1375731718[0][field_1375731740];
    }
    

  return result_1375731741;

}

function add_33556419(x_33556420, x_33556420_Idx, y_33556421) {
          if (x_33556420[x_33556420_Idx] === null) { x_33556420[x_33556420_Idx] = []; }
      var off = x_33556420[x_33556420_Idx].length;
      x_33556420[x_33556420_Idx].length += y_33556421.length;
      for (var i = 0; i < y_33556421.length; ++i) {
        x_33556420[x_33556420_Idx][off+i] = y_33556421.charCodeAt(i);
      }
    

  
}

function newSeq_33556825(len_33556827) {
  var result_33556828 = [];

    result_33556828 = new Array(len_33556827); for (var i = 0 ; i < len_33556827 ; ++i) { result_33556828[i] = null; }
  return result_33556828;

}

function unhandledException(e_33556663) {
    var buf_33556664 = [[]];
    if (!(((e_33556663.message).length == 0))) {
    buf_33556664[0].push.apply(buf_33556664[0], makeNimstrLit("Error: unhandled exception: "));;
    buf_33556664[0].push.apply(buf_33556664[0], e_33556663.message);;
    }
    else {
    buf_33556664[0].push.apply(buf_33556664[0], makeNimstrLit("Error: unhandled exception"));;
    }
    
    buf_33556664[0].push.apply(buf_33556664[0], makeNimstrLit(" ["));;
    add_33556419(buf_33556664, 0, e_33556663.name);
    buf_33556664[0].push.apply(buf_33556664[0], makeNimstrLit("]\x0A"));;
    var cbuf_33556665 = toJSStr(buf_33556664[0]);
    framePtr = null;
      if (typeof(Error) !== "undefined") {
    throw new Error(cbuf_33556665);
  }
  else {
    throw cbuf_33556665;
  }
  

  
}

function raiseOverflow() {
    raiseException({message: makeNimstrLit("over- or underflow"), parent: null, m_type: NTI33555122, name: null, trace: [], up: null}, "OverflowDefect");

  
}

function checkOverflowInt(a_33556938) {
        if (a_33556938 > 2147483647 || a_33556938 < -2147483648) raiseOverflow();
  

  
}

function setError_1375731754(field_1375731755, msg_1375731756) {
    var previous_1375731757 = getError_1375731739(field_1375731755);
    if ((((msg_1375731756) == null ? 0 : (msg_1375731756).length) == 0)) {
    if (!((((previous_1375731757) == null ? 0 : (previous_1375731757).length) == 0))) {
    gerrorCounter_1375731719[0] = subInt(gerrorCounter_1375731719[0], 1);
    }
    
    }
    else {
      if ((((previous_1375731757) == null ? 0 : (previous_1375731757).length) == 0)) {
      gerrorCounter_1375731719[0] = addInt(gerrorCounter_1375731719[0], 1);
      }
      
    }
    
    gerrorMsgs_1375731718[0][field_1375731755] = msg_1375731756;

  
}

function newSeq_637535230(len_637535232) {
  var result_637535233 = [];

    result_637535233 = new Array(len_637535232); for (var i = 0 ; i < len_637535232 ; ++i) { result_637535233[i] = ({k: 0, parent: null, current: null, newNode: null, oldNode: null}); }
  return result_637535233;

}

function newSeq_637535251(len_637535253) {
  var result_637535254 = [];

    result_637535254 = new Array(len_637535253); for (var i = 0 ; i < len_637535253 ; ++i) { result_637535254[i] = ({parent: null, newChild: null, pos: 0}); }
  return result_637535254;

}

function isFatPointer_33557131(ti_33557132) {
  var result_33557133 = false;

  BeforeRet: do {
    result_33557133 = !((ConstSet1[ti_33557132.base.kind] != undefined));
    break BeforeRet;
  } while (false);

  return result_33557133;

}

function nimCopyAux(dest_33557144, src_33557145, n_33557146) {
    switch (n_33557146.kind) {
    case 0:
      break;
    case 1:
            dest_33557144[n_33557146.offset] = nimCopy(dest_33557144[n_33557146.offset], src_33557145[n_33557146.offset], n_33557146.typ);
    
      break;
    case 2:
          for (var i = 0; i < n_33557146.sons.length; i++) {
      nimCopyAux(dest_33557144, src_33557145, n_33557146.sons[i]);
    }
    
      break;
    case 3:
            dest_33557144[n_33557146.offset] = nimCopy(dest_33557144[n_33557146.offset], src_33557145[n_33557146.offset], n_33557146.typ);
      for (var i = 0; i < n_33557146.sons.length; ++i) {
        nimCopyAux(dest_33557144, src_33557145, n_33557146.sons[i][1]);
      }
    
      break;
    }

  
}

function sysFatal_218103842(message_218103845) {
    raiseException({message: nimCopy(null, message_218103845, NTI33554439), m_type: NTI33555124, parent: null, name: null, trace: [], up: null}, "AssertionDefect");

  
}

function raiseAssert_218103840(msg_218103841) {
    sysFatal_218103842(msg_218103841);

  
}

function failedAssertImpl_218103864(msg_218103865) {
    raiseAssert_218103840(msg_218103865);

  
}

function raiseRangeError() {
    raiseException({message: makeNimstrLit("value out of range"), parent: null, m_type: NTI33555130, name: null, trace: [], up: null}, "RangeDefect");

  
}

function addChars_251658415(result_251658417, result_251658417_Idx, x_251658418, start_251658419, n_251658420) {
    var old_251658421 = (result_251658417[result_251658417_Idx]).length;
    (result_251658417[result_251658417_Idx].length = chckRange(addInt(old_251658421, n_251658420), 0, 2147483647));
    Label1: do {
      var iHEX60gensym4_251658435 = 0;
      var i_469762219 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762219 < n_251658420)) break Label3;
            iHEX60gensym4_251658435 = i_469762219;
            result_251658417[result_251658417_Idx][chckIndx(addInt(old_251658421, iHEX60gensym4_251658435), 0, (result_251658417[result_251658417_Idx]).length - 1)] = x_251658418.charCodeAt(chckIndx(addInt(start_251658419, iHEX60gensym4_251658435), 0, (x_251658418).length - 1));
            i_469762219 = addInt(i_469762219, 1);
          }
      } while (false);
    } while (false);

  
}

function addChars_251658411(result_251658413, result_251658413_Idx, x_251658414) {
    addChars_251658415(result_251658413, result_251658413_Idx, x_251658414, 0, ((x_251658414) == null ? 0 : (x_251658414).length));

  
}

function addInt_251658436(result_251658437, result_251658437_Idx, x_251658438) {
    addChars_251658411(result_251658437, result_251658437_Idx, ((x_251658438) + ""));

  
}

function addInt_251658457(result_251658458, result_251658458_Idx, x_251658459) {
    addInt_251658436(result_251658458, result_251658458_Idx, x_251658459);

  
}

function HEX24_335544323(x_335544324) {
  var result_335544325 = [[]];

    addInt_251658457(result_335544325, 0, x_335544324);

  return result_335544325[0];

}

function raiseIndexError(i_33556754, a_33556755, b_33556756) {
    var Temporary1;

    if ((b_33556756 < a_33556755)) {
    Temporary1 = makeNimstrLit("index out of bounds, the container is empty");
    }
    else {
    Temporary1 = (makeNimstrLit("index ") || []).concat(HEX24_335544323(i_33556754) || [],makeNimstrLit(" not in ") || [],HEX24_335544323(a_33556755) || [],makeNimstrLit(" .. ") || [],HEX24_335544323(b_33556756) || []);
    }
    
    raiseException({message: nimCopy(null, Temporary1, NTI33554439), parent: null, m_type: NTI33555128, name: null, trace: [], up: null}, "IndexDefect");

  
}

function valueHEX3D_671089059(n_671089060, v_671089061) {
    n_671089060.text = v_671089061;

  
}

function value_671089056(n_671089057) {
  var result_671089058 = null;

    result_671089058 = n_671089057.text;

  return result_671089058;

}

function addEventShell_637534302(d_637534303, name_637534304, h_637534305) {
    d_637534303.addEventListener(name_637534304, h_637534305, false);
    if ((d_637534303.karaxEvents == null)) {
    d_637534303.karaxEvents = new Array(0);
    }
    
    d_637534303.karaxEvents.push({Field0: name_637534304, Field1: h_637534305});

  
}

function wrapEvent_637534362(d_637534363, n_637534364, k_637534365, action_637534366) {
      
function laterWrapper_637534432() {
          
function HEX3Aanonymous_637534437(ev_637534438) {
              
function wrapper_637534439() {
                  var vHEX60gensym15_637534441 = ev_637534438.target.value;
                  valueHEX3D_671089059(n_637534435, vHEX60gensym15_637534441);
                  if (!(!((action_637534434 == null)))) {
                  failedAssertImpl_218103864(makeNimstrLit("karax.nim(75, 10) `action != nil` "));
                  }
                  
                  action_637534434(ev_637534438, n_637534435);
                  if (!((value_671089056(n_637534435) == vHEX60gensym15_637534441))) {
                  ev_637534438.target.value = value_671089056(n_637534435);
                  }
                  

                
              }

              if (!((timer_637534436 == null))) {
              clearTimeout(timer_637534436);
              }
              
              timer_637534436 = setTimeout(wrapper_637534439, 400);

            
          }

        var result_637534433 = null;

          var action_637534434 = action_637534366;
          var n_637534435 = n_637534364;
          var timer_637534436 = null;
          result_637534433 = HEX3Aanonymous_637534437;

        return result_637534433;

      }
      
function enterWrapper_637534406() {
          
function HEX3Aanonymous_637534410(ev_637534411) {
              if ((ev_637534411.keyCode == 13)) {
              var vHEX60gensym8_637534413 = ev_637534411.target.value;
              valueHEX3D_671089059(n_637534409, vHEX60gensym8_637534413);
              if (!(!((action_637534408 == null)))) {
              failedAssertImpl_218103864(makeNimstrLit("karax.nim(75, 10) `action != nil` "));
              }
              
              action_637534408(ev_637534411, n_637534409);
              if (!((value_671089056(n_637534409) == vHEX60gensym8_637534413))) {
              ev_637534411.target.value = value_671089056(n_637534409);
              }
              
              }
              

            
          }

        var result_637534407 = null;

          var action_637534408 = action_637534366;
          var n_637534409 = n_637534364;
          result_637534407 = HEX3Aanonymous_637534410;

        return result_637534407;

      }
      
function stdWrapper_637534368() {
          
function HEX3Aanonymous_637534372(ev_637534373) {
                var Temporary1;
                var Temporary2;

                if ((n_637534371.kind == 200)) Temporary2 = true; else {                  Temporary2 = (n_637534371.kind == 194);                }                if (Temporary2) Temporary1 = true; else {                  Temporary1 = (n_637534371.kind == 196);                }              if (Temporary1) {
              var vHEX60gensym1_637534387 = ev_637534373.target.value;
              valueHEX3D_671089059(n_637534371, vHEX60gensym1_637534387);
              if (!(!((action_637534370 == null)))) {
              failedAssertImpl_218103864(makeNimstrLit("karax.nim(75, 10) `action != nil` "));
              }
              
              action_637534370(ev_637534373, n_637534371);
              if (!((value_671089056(n_637534371) == vHEX60gensym1_637534387))) {
              ev_637534373.target.value = value_671089056(n_637534371);
              }
              
              }
              else {
              action_637534370(ev_637534373, n_637534371);
              }
              

            
          }

        var result_637534369 = null;

          var action_637534370 = action_637534366;
          var n_637534371 = n_637534364;
          result_637534369 = HEX3Aanonymous_637534372;

        return result_637534369;

      }

  var result_637534367 = null;

    switch (k_637534365) {
    case 30:
      result_637534367 = laterWrapper_637534432();
      addEventShell_637534302(d_637534363, "keyup", result_637534367);
      break;
    case 29:
      result_637534367 = enterWrapper_637534406();
      addEventShell_637534302(d_637534363, "keyup", result_637534367);
      break;
    default: 
      result_637534367 = stdWrapper_637534368();
      addEventShell_637534302(d_637534363, toEventName_671088990[chckIndx(k_637534365, 0, (toEventName_671088990).length - 1)], result_637534367);
      break;
    }

  return result_637534367;

}

function applyEvents_637534468(n_637534469) {
    var dest_637534470 = n_637534469.dom;
    Label1: do {
      var i_637534478 = 0;
      var colontmp__469762222 = 0;
      colontmp__469762222 = (n_637534469.events).length;
      var i_469762223 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762223 < colontmp__469762222)) break Label3;
            i_637534478 = i_469762223;
            n_637534469.events[chckIndx(i_637534478, 0, (n_637534469.events).length - 1)]["Field2"] = wrapEvent_637534362(dest_637534470, n_637534469, n_637534469.events[chckIndx(i_637534478, 0, (n_637534469.events).length - 1)]["Field0"], n_637534469.events[chckIndx(i_637534478, 0, (n_637534469.events).length - 1)]["Field1"]);
            i_469762223 = addInt(i_469762223, 1);
          }
      } while (false);
    } while (false);

  
}

function applyStyle_738197986(n_738197987, s_738197988) {
    n_738197987.style = {};
    Label1: do {
      var i_738198001 = 0;
      var colontmp__469762226 = 0;
      colontmp__469762226 = subInt(s_738197988.length, 1);
      var res_469762227 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(res_469762227 <= colontmp__469762226)) break Label3;
            i_738198001 = res_469762227;
            n_738197987.style[s_738197988[i_738198001]] = s_738197988[addInt(i_738198001, 1)];
            res_469762227 = addInt(res_469762227, 2);
          }
      } while (false);
    } while (false);

  
}

function toDom_637534496(n_637534497, useAttachedNode_637534498, kxi_637534499) {
      var Temporary9;
      var Temporary10;

  var result_637534500 = null;

  BeforeRet: do {
    if (useAttachedNode_637534498) {
    if (!((n_637534497.dom == null))) {
    if (!((n_637534497.id == null))) {
    kxi_637534499.byId[n_637534497.id] = n_637534497;
    }
    
    result_637534500 = n_637534497.dom;
    break BeforeRet;
    }
    
    }
    
    if ((n_637534497.kind == 0)) {
    result_637534500 = document.createTextNode(n_637534497.text);
    n_637534497.dom = result_637534500;
    if (!((n_637534497.id == null))) {
    kxi__.byId[n_637534497.id] = n_637534497;
    }
    
    }
    else {
    if ((n_637534497.kind == 6)) {
    result_637534500 = document.createElement("div");
    result_637534500.innerHTML = n_637534497.text;
    n_637534497.dom = result_637534500;
    if (!((n_637534497.id == null))) {
    kxi__.byId[n_637534497.id] = n_637534497;
    }
    
    break BeforeRet;
    }
    else {
    if ((n_637534497.kind == 3)) {
    var x_637534540 = vcomponents_704643085[0][n_637534497.text](n_637534497.kids);
    result_637534500 = toDom_637534496(x_637534540, useAttachedNode_637534498, kxi_637534499);
    n_637534497.dom = result_637534500;
    if (!((n_637534497.id == null))) {
    kxi__.byId[n_637534497.id] = n_637534497;
    }
    
    break BeforeRet;
    }
    else {
    if ((n_637534497.kind == 4)) {
    result_637534500 = n_637534497.dom;
    if (!(!((result_637534500 == null)))) {
    failedAssertImpl_218103864(makeNimstrLit("karax.nim(177, 12) `result != nil` "));
    }
    
    n_637534497.dom = result_637534500;
    if (!((n_637534497.id == null))) {
    kxi__.byId[n_637534497.id] = n_637534497;
    }
    
    break BeforeRet;
    }
    else {
    if ((n_637534497.kind == 5)) {
    var x_637534570 = n_637534497;
    if (!((x_637534570.onAttachImpl == null))) {
    x_637534570.onAttachImpl(x_637534570);
    }
    
    if (!(!((x_637534570.renderImpl == null)))) {
    failedAssertImpl_218103864(makeNimstrLit("karax.nim(184, 12) `x.renderImpl != nil` "));
    }
    
    if ((x_637534570.expanded == null)) {
    x_637534570.expanded = x_637534570.renderImpl(x_637534570);
    }
    
    if (!(!((x_637534570.expanded == null)))) {
    failedAssertImpl_218103864(makeNimstrLit("karax.nim(188, 12) `x.expanded != nil` "));
    }
    
    result_637534500 = toDom_637534496(x_637534570.expanded, useAttachedNode_637534498, kxi_637534499);
    n_637534497.dom = result_637534500;
    if (!((n_637534497.id == null))) {
    kxi__.byId[n_637534497.id] = n_637534497;
    }
    
    break BeforeRet;
    }
    else {
      result_637534500 = document.createElement(toTag_671088989[chckIndx(n_637534497.kind, 0, (toTag_671088989).length - 1)]);
      n_637534497.dom = result_637534500;
      if (!((n_637534497.id == null))) {
      kxi__.byId[n_637534497.id] = n_637534497;
      }
      
      Label1: do {
        var k_637534609 = null;
        Label2: do {
          var i_469762201 = 0;
          var colontmp__469762202 = 0;
          colontmp__469762202 = (n_637534497.kids).length;
          var i_469762203 = 0;
          Label3: do {
              Label4: while (true) {
              if (!(i_469762203 < colontmp__469762202)) break Label4;
                i_469762201 = i_469762203;
                k_637534609 = n_637534497.kids[chckIndx(i_469762201, 0, (n_637534497.kids).length - 1)];
                result_637534500.appendChild(toDom_637534496(k_637534609, useAttachedNode_637534498, kxi_637534499));
                i_469762203 = addInt(i_469762203, 1);
              }
          } while (false);
        } while (false);
      } while (false);
      if (!((n_637534497.text == null))) {
      result_637534500.value = n_637534497.text;
      }
      
    }
    }}}}
    if (!((n_637534497.id == null))) {
    result_637534500.id = n_637534497.id;
    }
    
    if (!((n_637534497.class == null))) {
    result_637534500.className = n_637534497.class;
    }
    
    Label5: do {
      var k_637534610 = null;
      var v_637534611 = null;
      Label6: do {
        var i_469762211 = 0;
        var colontmp__469762212 = 0;
        colontmp__469762212 = subInt((n_637534497.attrs).length, 2);
        var res_469762213 = 0;
        Label7: do {
            Label8: while (true) {
            if (!(res_469762213 <= colontmp__469762212)) break Label8;
              i_469762211 = res_469762213;
              k_637534610 = n_637534497.attrs[chckIndx(i_469762211, 0, (n_637534497.attrs).length - 1)];
              v_637534611 = n_637534497.attrs[chckIndx(addInt(i_469762211, 1), 0, (n_637534497.attrs).length - 1)];
              if (!((v_637534611 == null))) {
              result_637534500.setAttribute(k_637534610, v_637534611);
              }
              
              res_469762213 = addInt(res_469762213, 2);
            }
        } while (false);
      } while (false);
    } while (false);
    applyEvents_637534468(n_637534497);
      if (!!((kxi_637534499 == null))) Temporary10 = false; else {        Temporary10 = (n_637534497 == kxi_637534499.toFocusV);      }      if (!Temporary10) Temporary9 = false; else {        Temporary9 = (kxi_637534499.toFocus == null);      }    if (Temporary9) {
    kxi_637534499.toFocus = result_637534500;
    }
    
    if (!((n_637534497.style == null))) {
    applyStyle_738197986(result_637534500, n_637534497.style);
    }
    
  } while (false);

  return result_637534500;

}

function replaceById_637534691(id_637534692, newTree_637534693) {
    var x_637534694 = document.getElementById(id_637534692);
    x_637534694.parentNode.replaceChild(newTree_637534693, x_637534694);
    newTree_637534693.id = id_637534692;

  
}

function len_671089340(x_671089341) {
  var result_671089342 = 0;

    result_671089342 = (x_671089341.kids).length;

  return result_671089342;

}

function HEX5BHEX5D_671089347(x_671089348, idx_671089349) {
  var result_671089350 = null;

    result_671089350 = x_671089348.kids[chckIndx(idx_671089349, 0, (x_671089348.kids).length - 1)];

  return result_671089350;

}

function eq_738197758(a_738197759, b_738197760) {
  var result_738197761 = false;

  BeforeRet: do {
    if ((a_738197759 == null)) {
    if ((b_738197760 == null)) {
    result_738197761 = true;
    break BeforeRet;
    }
    else {
      result_738197761 = false;
      break BeforeRet;
    }
    
    }
    else {
    if ((b_738197760 == null)) {
    result_738197761 = false;
    break BeforeRet;
    }
    }
    if (!((a_738197759.length == b_738197760.length))) {
    result_738197761 = false;
    break BeforeRet;
    }
    
    Label1: do {
      var i_738197796 = 0;
      var colontmp__469762253 = 0;
      colontmp__469762253 = a_738197759.length;
      var i_469762254 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762254 < colontmp__469762253)) break Label3;
            i_738197796 = i_469762254;
            if (!((a_738197759[i_738197796] == b_738197760[i_738197796]))) {
            result_738197761 = false;
            break BeforeRet;
            }
            
            i_469762254 = addInt(i_469762254, 1);
          }
      } while (false);
    } while (false);
    result_738197761 = true;
    break BeforeRet;
  } while (false);

  return result_738197761;

}

function sameAttrs_671089503(a_671089504, b_671089505) {
  var result_671089506 = false;

  BeforeRet: do {
    if (((a_671089504.attrs).length == (b_671089505.attrs).length)) {
    result_671089506 = true;
    Label1: do {
      var i_671089520 = 0;
      var colontmp__469762257 = 0;
      colontmp__469762257 = (a_671089504.attrs).length;
      var i_469762258 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762258 < colontmp__469762257)) break Label3;
            i_671089520 = i_469762258;
            if (!((a_671089504.attrs[chckIndx(i_671089520, 0, (a_671089504.attrs).length - 1)] == b_671089505.attrs[chckIndx(i_671089520, 0, (b_671089505.attrs).length - 1)]))) {
            result_671089506 = false;
            break BeforeRet;
            }
            
            i_469762258 = addInt(i_469762258, 1);
          }
      } while (false);
    } while (false);
    }
    
  } while (false);

  return result_671089506;

}

function eq_637534704(a_637534705, b_637534706, recursive_637534707) {
      var Temporary4;
      var Temporary5;

  var result_637534708 = 0;

  BeforeRet: do {
    if (!((a_637534705.kind == b_637534706.kind))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    if (!((a_637534705.id == b_637534706.id))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    result_637534708 = 3;
    if (!((a_637534705.index == b_637534706.index))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    if ((a_637534705.kind == 0)) {
    if (!((a_637534705.text == b_637534706.text))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    }
    else {
    if ((a_637534705.kind == 3)) {
    if (!((a_637534705.text == b_637534706.text))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    if (!((len_671089340(a_637534705) == len_671089340(b_637534706)))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    Label1: do {
      var i_637534725 = 0;
      var colontmp__469762245 = 0;
      colontmp__469762245 = len_671089340(a_637534705);
      var i_469762246 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762246 < colontmp__469762245)) break Label3;
            i_637534725 = i_469762246;
            if ((eq_637534704(HEX5BHEX5D_671089347(a_637534705, i_637534725), HEX5BHEX5D_671089347(b_637534706, i_637534725), recursive_637534707) == 1)) {
            result_637534708 = 1;
            break BeforeRet;
            }
            
            i_469762246 = addInt(i_469762246, 1);
          }
      } while (false);
    } while (false);
    }
    else {
    if ((a_637534705.kind == 4)) {
    if ((a_637534705.dom == b_637534706.dom)) {
    result_637534708 = 3;
    break BeforeRet;
    }
    else {
      result_637534708 = 1;
      break BeforeRet;
    }
    
    }
    else {
    if ((a_637534705.kind == 6)) {
    if (!((a_637534705.text == b_637534706.text))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    }
    else {
    if ((b_637534706.kind == 5)) {
    if (!((a_637534705.text == b_637534706.text))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    if (!((a_637534705.key == b_637534706.key))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    result_637534708 = 0;
    break BeforeRet;
    }
    }}}}
      if (!((a_637534705.class == b_637534706.class))) Temporary5 = true; else {        Temporary5 = !(eq_738197758(a_637534705.style, b_637534706.style));      }      if (Temporary5) Temporary4 = true; else {        Temporary4 = !(sameAttrs_671089503(a_637534705, b_637534706));      }    if (Temporary4) {
    result_637534708 = 2;
    break BeforeRet;
    }
    
    if (recursive_637534707) {
    if (!((len_671089340(a_637534705) == len_671089340(b_637534706)))) {
    result_637534708 = 1;
    break BeforeRet;
    }
    
    Label6: do {
      var i_637534751 = 0;
      var colontmp__469762249 = 0;
      colontmp__469762249 = len_671089340(a_637534705);
      var i_469762250 = 0;
      Label7: do {
          Label8: while (true) {
          if (!(i_469762250 < colontmp__469762249)) break Label8;
            i_637534751 = i_469762250;
            if (!((eq_637534704(HEX5BHEX5D_671089347(a_637534705, i_637534751), HEX5BHEX5D_671089347(b_637534706, i_637534751), true) == 3))) {
            result_637534708 = 1;
            break BeforeRet;
            }
            
            i_469762250 = addInt(i_469762250, 1);
          }
      } while (false);
    } while (false);
    }
    
    break BeforeRet;
  } while (false);

  return result_637534708;

}

function updateStyles_637534765(newNode_637534766, oldNode_637534767) {
    if (!((oldNode_637534767.dom == null))) {
    if (!((newNode_637534766.style == null))) {
    applyStyle_738197986(oldNode_637534767.dom, newNode_637534766.style);
    }
    else {
      oldNode_637534767.dom.style = {m_type: NTI754974769, alignContent: null, alignItems: null, alignSelf: null, all: null, animation: null, animationDelay: null, animationDirection: null, animationDuration: null, animationFillMode: null, animationIterationCount: null, animationName: null, animationPlayState: null, animationTimingFunction: null, backdropFilter: null, backfaceVisibility: null, background: null, backgroundAttachment: null, backgroundBlendMode: null, backgroundClip: null, backgroundColor: null, backgroundImage: null, backgroundOrigin: null, backgroundPosition: null, backgroundRepeat: null, backgroundSize: null, blockSize: null, border: null, borderBlock: null, borderBlockColor: null, borderBlockEnd: null, borderBlockEndColor: null, borderBlockEndStyle: null, borderBlockEndWidth: null, borderBlockStart: null, borderBlockStartColor: null, borderBlockStartStyle: null, borderBlockStartWidth: null, borderBlockStyle: null, borderBlockWidth: null, borderBottom: null, borderBottomColor: null, borderBottomLeftRadius: null, borderBottomRightRadius: null, borderBottomStyle: null, borderBottomWidth: null, borderCollapse: null, borderColor: null, borderEndEndRadius: null, borderEndStartRadius: null, borderImage: null, borderImageOutset: null, borderImageRepeat: null, borderImageSlice: null, borderImageSource: null, borderImageWidth: null, borderInline: null, borderInlineColor: null, borderInlineEnd: null, borderInlineEndColor: null, borderInlineEndStyle: null, borderInlineEndWidth: null, borderInlineStart: null, borderInlineStartColor: null, borderInlineStartStyle: null, borderInlineStartWidth: null, borderInlineStyle: null, borderInlineWidth: null, borderLeft: null, borderLeftColor: null, borderLeftStyle: null, borderLeftWidth: null, borderRadius: null, borderRight: null, borderRightColor: null, borderRightStyle: null, borderRightWidth: null, borderSpacing: null, borderStartEndRadius: null, borderStartStartRadius: null, borderStyle: null, borderTop: null, borderTopColor: null, borderTopLeftRadius: null, borderTopRightRadius: null, borderTopStyle: null, borderTopWidth: null, borderWidth: null, bottom: null, boxDecorationBreak: null, boxShadow: null, boxSizing: null, breakAfter: null, breakBefore: null, breakInside: null, captionSide: null, caretColor: null, clear: null, clip: null, clipPath: null, color: null, colorAdjust: null, columnCount: null, columnFill: null, columnGap: null, columnRule: null, columnRuleColor: null, columnRuleStyle: null, columnRuleWidth: null, columnSpan: null, columnWidth: null, columns: null, contain: null, content: null, counterIncrement: null, counterReset: null, counterSet: null, cursor: null, direction: null, display: null, emptyCells: null, filter: null, flex: null, flexBasis: null, flexDirection: null, flexFlow: null, flexGrow: null, flexShrink: null, flexWrap: null, cssFloat: null, font: null, fontFamily: null, fontFeatureSettings: null, fontKerning: null, fontLanguageOverride: null, fontOpticalSizing: null, fontSize: null, fontSizeAdjust: null, fontStretch: null, fontStyle: null, fontSynthesis: null, fontVariant: null, fontVariantAlternates: null, fontVariantCaps: null, fontVariantEastAsian: null, fontVariantLigatures: null, fontVariantNumeric: null, fontVariantPosition: null, fontVariationSettings: null, fontWeight: null, gap: null, grid: null, gridArea: null, gridAutoColumns: null, gridAutoFlow: null, gridAutoRows: null, gridColumn: null, gridColumnEnd: null, gridColumnStart: null, gridRow: null, gridRowEnd: null, gridRowStart: null, gridTemplate: null, gridTemplateAreas: null, gridTemplateColumns: null, gridTemplateRows: null, hangingPunctuation: null, height: null, hyphens: null, imageOrientation: null, imageRendering: null, inlineSize: null, inset: null, insetBlock: null, insetBlockEnd: null, insetBlockStart: null, insetInline: null, insetInlineEnd: null, insetInlineStart: null, isolation: null, justifyContent: null, justifyItems: null, justifySelf: null, left: null, letterSpacing: null, lineBreak: null, lineHeight: null, listStyle: null, listStyleImage: null, listStylePosition: null, listStyleType: null, margin: null, marginBlock: null, marginBlockEnd: null, marginBlockStart: null, marginBottom: null, marginInline: null, marginInlineEnd: null, marginInlineStart: null, marginLeft: null, marginRight: null, marginTop: null, mask: null, maskBorder: null, maskBorderMode: null, maskBorderOutset: null, maskBorderRepeat: null, maskBorderSlice: null, maskBorderSource: null, maskBorderWidth: null, maskClip: null, maskComposite: null, maskImage: null, maskMode: null, maskOrigin: null, maskPosition: null, maskRepeat: null, maskSize: null, maskType: null, maxBlockSize: null, maxHeight: null, maxInlineSize: null, maxWidth: null, minBlockSize: null, minHeight: null, minInlineSize: null, minWidth: null, mixBlendMode: null, objectFit: null, objectPosition: null, offset: null, offsetAnchor: null, offsetDistance: null, offsetPath: null, offsetRotate: null, opacity: null, order: null, orphans: null, outline: null, outlineColor: null, outlineOffset: null, outlineStyle: null, outlineWidth: null, overflow: null, overflowAnchor: null, overflowBlock: null, overflowInline: null, overflowWrap: null, overflowX: null, overflowY: null, overscrollBehavior: null, overscrollBehaviorBlock: null, overscrollBehaviorInline: null, overscrollBehaviorX: null, overscrollBehaviorY: null, padding: null, paddingBlock: null, paddingBlockEnd: null, paddingBlockStart: null, paddingBottom: null, paddingInline: null, paddingInlineEnd: null, paddingInlineStart: null, paddingLeft: null, paddingRight: null, paddingTop: null, pageBreakAfter: null, pageBreakBefore: null, pageBreakInside: null, paintOrder: null, perspective: null, perspectiveOrigin: null, placeContent: null, placeItems: null, placeSelf: null, pointerEvents: null, position: null, quotes: null, resize: null, right: null, rotate: null, rowGap: null, scale: null, scrollBehavior: null, scrollMargin: null, scrollMarginBlock: null, scrollMarginBlockEnd: null, scrollMarginBlockStart: null, scrollMarginBottom: null, scrollMarginInline: null, scrollMarginInlineEnd: null, scrollMarginInlineStart: null, scrollMarginLeft: null, scrollMarginRight: null, scrollMarginTop: null, scrollPadding: null, scrollPaddingBlock: null, scrollPaddingBlockEnd: null, scrollPaddingBlockStart: null, scrollPaddingBottom: null, scrollPaddingInline: null, scrollPaddingInlineEnd: null, scrollPaddingInlineStart: null, scrollPaddingLeft: null, scrollPaddingRight: null, scrollPaddingTop: null, scrollSnapAlign: null, scrollSnapStop: null, scrollSnapType: null, scrollbar3dLightColor: null, scrollbarArrowColor: null, scrollbarBaseColor: null, scrollbarColor: null, scrollbarDarkshadowColor: null, scrollbarFaceColor: null, scrollbarHighlightColor: null, scrollbarShadowColor: null, scrollbarTrackColor: null, scrollbarWidth: null, shapeImageThreshold: null, shapeMargin: null, shapeOutside: null, tabSize: null, tableLayout: null, textAlign: null, textAlignLast: null, textCombineUpright: null, textDecoration: null, textDecorationColor: null, textDecorationLine: null, textDecorationSkipInk: null, textDecorationStyle: null, textDecorationThickness: null, textEmphasis: null, textEmphasisColor: null, textEmphasisPosition: null, textEmphasisStyle: null, textIndent: null, textJustify: null, textOrientation: null, textOverflow: null, textRendering: null, textShadow: null, textTransform: null, textUnderlineOffset: null, textUnderlinePosition: null, top: null, touchAction: null, transform: null, transformBox: null, transformOrigin: null, transformStyle: null, transition: null, transitionDelay: null, transitionDuration: null, transitionProperty: null, transitionTimingFunction: null, translate: null, unicodeBidi: null, verticalAlign: null, visibility: null, whiteSpace: null, widows: null, width: null, willChange: null, wordBreak: null, wordSpacing: null, writingMode: null, zIndex: null};
    }
    
    oldNode_637534767.dom.className = newNode_637534766.class;
    }
    
    oldNode_637534767.style = newNode_637534766.style;
    oldNode_637534767.class = newNode_637534766.class;

  
}

function takeOverAttr_671089332(newNode_671089333, oldNode_671089334) {
    oldNode_671089334.attrs = newNode_671089333.attrs;

  
}

function updateAttributes_637534794(newNode_637534795, oldNode_637534796) {
    if (!((oldNode_637534796.dom == null))) {
    Label1: do {
      var k_637534801 = null;
      var __637534802 = null;
      Label2: do {
        var i_469762262 = 0;
        var colontmp__469762263 = 0;
        colontmp__469762263 = subInt((oldNode_637534796.attrs).length, 2);
        var res_469762264 = 0;
        Label3: do {
            Label4: while (true) {
            if (!(res_469762264 <= colontmp__469762263)) break Label4;
              i_469762262 = res_469762264;
              k_637534801 = oldNode_637534796.attrs[chckIndx(i_469762262, 0, (oldNode_637534796.attrs).length - 1)];
              __637534802 = oldNode_637534796.attrs[chckIndx(addInt(i_469762262, 1), 0, (oldNode_637534796.attrs).length - 1)];
              oldNode_637534796.dom.removeAttribute(k_637534801);
              res_469762264 = addInt(res_469762264, 2);
            }
        } while (false);
      } while (false);
    } while (false);
    Label5: do {
      var k_637534803 = null;
      var v_637534804 = null;
      Label6: do {
        var i_469762268 = 0;
        var colontmp__469762269 = 0;
        colontmp__469762269 = subInt((newNode_637534795.attrs).length, 2);
        var res_469762270 = 0;
        Label7: do {
            Label8: while (true) {
            if (!(res_469762270 <= colontmp__469762269)) break Label8;
              i_469762268 = res_469762270;
              k_637534803 = newNode_637534795.attrs[chckIndx(i_469762268, 0, (newNode_637534795.attrs).length - 1)];
              v_637534804 = newNode_637534795.attrs[chckIndx(addInt(i_469762268, 1), 0, (newNode_637534795.attrs).length - 1)];
              if (!((v_637534804 == null))) {
              oldNode_637534796.dom.setAttribute(k_637534803, v_637534804);
              }
              
              res_469762270 = addInt(res_469762270, 2);
            }
        } while (false);
      } while (false);
    } while (false);
    }
    
    takeOverAttr_671089332(newNode_637534795, oldNode_637534796);

  
}

function getAttr_671089319(n_671089320, key_671089321) {
  var result_671089322 = null;

  BeforeRet: do {
    Label1: do {
      var i_671089331 = 0;
      var colontmp__469762273 = 0;
      colontmp__469762273 = subInt((n_671089320.attrs).length, 2);
      var res_469762274 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(res_469762274 <= colontmp__469762273)) break Label3;
            i_671089331 = res_469762274;
            if ((n_671089320.attrs[chckIndx(i_671089331, 0, (n_671089320.attrs).length - 1)] == key_671089321)) {
            result_671089322 = n_671089320.attrs[chckIndx(addInt(i_671089331, 1), 0, (n_671089320.attrs).length - 1)];
            break BeforeRet;
            }
            
            res_469762274 = addInt(res_469762274, 2);
          }
      } while (false);
    } while (false);
  } while (false);

  return result_671089322;

}

function removeAllEventHandlers_637534326(d_637534327) {
    if (!((d_637534327.karaxEvents == null))) {
    Label1: do {
      var i_637534343 = 0;
      var colontmp__469762277 = 0;
      colontmp__469762277 = d_637534327.karaxEvents.length;
      var i_469762278 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762278 < colontmp__469762277)) break Label3;
            i_637534343 = i_469762278;
            d_637534327.removeEventListener(d_637534327.karaxEvents[i_637534343]["Field0"], d_637534327.karaxEvents[i_637534343]["Field1"]);
            i_469762278 = addInt(i_469762278, 1);
          }
      } while (false);
    } while (false);
    }
    

  
}

function mergeEvents_637534805(newNode_637534806, oldNode_637534807, kxi_637534808) {
    var d_637534809 = oldNode_637534807.dom;
    if (!((d_637534809 == null))) {
    removeAllEventHandlers_637534326(d_637534809);
    }
    
    oldNode_637534807.events = newNode_637534806.events;
    applyEvents_637534468(oldNode_637534807);

  
}

function addPatch_637534814(kxi_637534815, ka_637534816, parenta_637534817, currenta_637534818, na_637534819, oldNode_637534820) {
    var L_637534821 = kxi_637534815.patchLen;
    if (((kxi_637534815.patches).length <= L_637534821)) {
    kxi_637534815.patches.push({k: ka_637534816, parent: parenta_637534817, current: currenta_637534818, newNode: na_637534819, oldNode: oldNode_637534820});;
    }
    else {
      kxi_637534815.patches[chckIndx(L_637534821, 0, (kxi_637534815.patches).length - 1)].k = ka_637534816;
      kxi_637534815.patches[chckIndx(L_637534821, 0, (kxi_637534815.patches).length - 1)].parent = parenta_637534817;
      kxi_637534815.patches[chckIndx(L_637534821, 0, (kxi_637534815.patches).length - 1)].current = currenta_637534818;
      kxi_637534815.patches[chckIndx(L_637534821, 0, (kxi_637534815.patches).length - 1)].newNode = na_637534819;
      kxi_637534815.patches[chckIndx(L_637534821, 0, (kxi_637534815.patches).length - 1)].oldNode = oldNode_637534820;
    }
    
    kxi_637534815.patchLen = addInt(kxi_637534815.patchLen, 1);

  
}

function diff_637534949(newNode_637534950, oldNode_637534951, parent_637534952, current_637534953, kxi_637534954) {
      var Temporary1;
        var Temporary2;
            var Temporary7;

  BeforeRet: do {
    var result_637534955 = eq_637534704(newNode_637534950, oldNode_637534951, false);
    switch (result_637534955) {
    case 0:
      kxi_637534954.components.push({oldNode: oldNode_637534951, newNode: newNode_637534950, parent: parent_637534952, current: current_637534953});;
      break;
    case 3:
    case 2:
      newNode_637534950.dom = oldNode_637534951.dom;
      if ((result_637534955 == 2)) {
      updateStyles_637534765(newNode_637534950, oldNode_637534951);
      updateAttributes_637534794(newNode_637534950, oldNode_637534951);
      if ((oldNode_637534951.kind == 0)) {
      oldNode_637534951.text = newNode_637534950.text;
      oldNode_637534951.dom.nodeValue = newNode_637534950.text;
      }
      
      if ((oldNode_637534951.kind == 194)) {
      oldNode_637534951.dom.value = newNode_637534950.text;
      var checked_637534972 = getAttr_671089319(newNode_637534950, "checked");
      if ((checked_637534972 == null)) {
      Temporary1 = false;
      }
      else {
      Temporary1 = true;
      }
      
      oldNode_637534951.dom.checked = Temporary1;
      }
      
      }
      
        if (!(((newNode_637534950.events).length == 0))) Temporary2 = true; else {          Temporary2 = !(((oldNode_637534951.events).length == 0));        }      if (Temporary2) {
      mergeEvents_637534805(newNode_637534950, oldNode_637534951, kxi_637534954);
      }
      
      var newLength_637534979 = len_671089340(newNode_637534950);
      var oldLength_637534980 = len_671089340(oldNode_637534951);
      if (((newLength_637534979 == 0) && (oldLength_637534980 == 0))) {
      break BeforeRet;
      }
      
      var minLength_637534981 = nimMin(newLength_637534979, oldLength_637534980);
      if (!((oldNode_637534951.kind == newNode_637534950.kind))) {
      failedAssertImpl_218103864(makeNimstrLit("karax.nim(498, 12) `oldNode.kind == newNode.kind` "));
      }
      
      var commonPrefix_637534991 = 0;
      Label3: do {
          Label4: while (true) {
          if (!(commonPrefix_637534991 < minLength_637534981)) break Label4;
            if ((eq_637534704(HEX5BHEX5D_671089347(newNode_637534950, commonPrefix_637534991), HEX5BHEX5D_671089347(oldNode_637534951, commonPrefix_637534991), true) == 3)) {
            addPatch_637534814(kxi_637534954, 5, null, null, HEX5BHEX5D_671089347(newNode_637534950, commonPrefix_637534991), HEX5BHEX5D_671089347(oldNode_637534951, commonPrefix_637534991));
            commonPrefix_637534991 = addInt(commonPrefix_637534991, 1);
            }
            else {
              break Label3;
            }
            
          }
      } while (false);
      var oldPos_637535000 = subInt(oldLength_637534980, 1);
      var newPos_637535001 = subInt(newLength_637534979, 1);
      Label5: do {
          Label6: while (true) {
            if (!(commonPrefix_637534991 <= oldPos_637535000)) Temporary7 = false; else {              Temporary7 = (commonPrefix_637534991 <= newPos_637535001);            }          if (!Temporary7) break Label6;
            if ((eq_637534704(HEX5BHEX5D_671089347(newNode_637534950, newPos_637535001), HEX5BHEX5D_671089347(oldNode_637534951, oldPos_637535000), true) == 3)) {
            addPatch_637534814(kxi_637534954, 5, null, null, HEX5BHEX5D_671089347(newNode_637534950, newPos_637535001), HEX5BHEX5D_671089347(oldNode_637534951, oldPos_637535000));
            oldPos_637535000 = subInt(oldPos_637535000, 1);
            newPos_637535001 = subInt(newPos_637535001, 1);
            }
            else {
              break Label5;
            }
            
          }
      } while (false);
      var pos_637535014 = addInt(nimMin(oldPos_637535000, newPos_637535001), 1);
      Label8: do {
        var i_637535019 = 0;
        var colontmp__469762232 = 0;
        colontmp__469762232 = subInt(pos_637535014, 1);
        var res_469762233 = commonPrefix_637534991;
        Label9: do {
            Label10: while (true) {
            if (!(res_469762233 <= colontmp__469762232)) break Label10;
              i_637535019 = res_469762233;
              diff_637534949(HEX5BHEX5D_671089347(newNode_637534950, i_637535019), HEX5BHEX5D_671089347(oldNode_637534951, i_637535019), current_637534953, HEX5BHEX5D_671089347(oldNode_637534951, i_637535019).dom, kxi_637534954);
              res_469762233 = addInt(res_469762233, 1);
            }
        } while (false);
      } while (false);
      if ((addInt(oldPos_637535000, 1) == oldLength_637534980)) {
      Label11: do {
        var i_637535024 = 0;
        var res_469762236 = pos_637535014;
        Label12: do {
            Label13: while (true) {
            if (!(res_469762236 <= newPos_637535001)) break Label13;
              i_637535024 = res_469762236;
              addPatch_637534814(kxi_637534954, 2, current_637534953, null, HEX5BHEX5D_671089347(newNode_637534950, i_637535024), null);
              res_469762236 = addInt(res_469762236, 1);
            }
        } while (false);
      } while (false);
      }
      else {
        var before_637535025 = current_637534953.childNodes[chckIndx(addInt(oldPos_637535000, 1), 0, (current_637534953.childNodes).length - 1)];
        Label14: do {
          var i_637535030 = 0;
          var res_469762239 = pos_637535014;
          Label15: do {
              Label16: while (true) {
              if (!(res_469762239 <= newPos_637535001)) break Label16;
                i_637535030 = res_469762239;
                addPatch_637534814(kxi_637534954, 3, current_637534953, before_637535025, HEX5BHEX5D_671089347(newNode_637534950, i_637535030), null);
                res_469762239 = addInt(res_469762239, 1);
              }
          } while (false);
        } while (false);
      }
      
      Label17: do {
        var i_637535035 = 0;
        var res_469762242 = pos_637535014;
        Label18: do {
            Label19: while (true) {
            if (!(res_469762242 <= oldPos_637535000)) break Label19;
              i_637535035 = res_469762242;
              addPatch_637534814(kxi__, 4, null, null, null, HEX5BHEX5D_671089347(oldNode_637534951, i_637535035));
              addPatch_637534814(kxi_637534954, 1, current_637534953, current_637534953.childNodes[chckIndx(i_637535035, 0, (current_637534953.childNodes).length - 1)], null, null);
              res_469762242 = addInt(res_469762242, 1);
            }
        } while (false);
      } while (false);
      break;
    case 1:
      addPatch_637534814(kxi__, 4, null, null, null, oldNode_637534951);
      addPatch_637534814(kxi_637534954, 0, parent_637534952, current_637534953, newNode_637534950, null);
      break;
    case 4:
      if (true) {
      failedAssertImpl_218103864(makeNimstrLit("karax.nim(540, 26) `false` eq returned usenewNode"));
      }
      
      break;
    }
  } while (false);

  
}

function applyComponents_637535050(kxi_637535051) {
            var Temporary3;

    var i_637535052 = 0;
    Label1: do {
        Label2: while (true) {
        if (!(i_637535052 < (kxi_637535051.components).length)) break Label2;
          var x_637535057 = kxi_637535051.components[chckIndx(i_637535052, 0, (kxi_637535051.components).length - 1)].oldNode;
          var newNode_637535058 = kxi_637535051.components[chckIndx(i_637535052, 0, (kxi_637535051.components).length - 1)].newNode;
            if (!!((x_637535057.changedImpl == null))) Temporary3 = false; else {              Temporary3 = x_637535057.changedImpl(x_637535057, newNode_637535058);            }          if (Temporary3) {
          var current_637535063 = kxi_637535051.components[chckIndx(i_637535052, 0, (kxi_637535051.components).length - 1)].current;
          var parent_637535064 = kxi_637535051.components[chckIndx(i_637535052, 0, (kxi_637535051.components).length - 1)].parent;
          x_637535057.updatedImpl(x_637535057, newNode_637535058);
          var oldExpanded_637535065 = x_637535057.expanded;
          x_637535057.expanded = x_637535057.renderImpl(x_637535057);
          x_637535057.renderedVersion = x_637535057.version;
          if ((oldExpanded_637535065 == null)) {
          addPatch_637534814(kxi__, 4, null, null, null, x_637535057);
          addPatch_637534814(kxi_637535051, 0, parent_637535064, current_637535063, x_637535057.expanded, null);
          }
          else {
            diff_637534949(x_637535057.expanded, oldExpanded_637535065, parent_637535064, current_637535063, kxi_637535051);
          }
          
          }
          
          i_637535052 = addInt(i_637535052, 1);
        }
    } while (false);
    if (kxi_637535051.components.length < 0) { for (var i = kxi_637535051.components.length ; i < 0 ; ++i) kxi_637535051.components.push(({oldNode: null, newNode: null, parent: null, current: null})); }
               else { kxi_637535051.components.length = 0; };

  
}

function moveDom_637534879(dest_637534880, src_637534881) {
    dest_637534880.dom = src_637534881.dom;
    src_637534881.dom = null;
    if (!((dest_637534880.id == null))) {
    kxi__.byId[dest_637534880.id] = dest_637534880;
    }
    
    if (!((len_671089340(dest_637534880) == len_671089340(src_637534881)))) {
    failedAssertImpl_218103864(makeNimstrLit("karax.nim(393, 10) `dest.len == src.len` "));
    }
    
    Label1: do {
      var i_637534897 = 0;
      var colontmp__469762288 = 0;
      colontmp__469762288 = len_671089340(dest_637534880);
      var i_469762289 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762289 < colontmp__469762288)) break Label3;
            i_637534897 = i_469762289;
            moveDom_637534879(HEX5BHEX5D_671089347(dest_637534880, i_637534897), HEX5BHEX5D_671089347(src_637534881, i_637534897));
            i_469762289 = addInt(i_469762289, 1);
          }
      } while (false);
    } while (false);

  
}

function HEX5BHEX5DHEX3D_671089351(x_671089352, idx_671089353, y_671089354) {
    x_671089352.kids[chckIndx(idx_671089353, 0, (x_671089352.kids).length - 1)] = y_671089354;

  
}

function applyPatch_637534898(kxi_637534899) {
    Label1: do {
      var i_637534904 = 0;
      var i_469762282 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762282 < kxi_637534899.patchLen)) break Label3;
            i_637534904 = i_469762282;
            var p_637534905 = nimCopy(null, kxi_637534899.patches[chckIndx(i_637534904, 0, (kxi_637534899.patches).length - 1)], NTI637534214);
            switch (p_637534905.k) {
            case 0:
              var nn_637534906 = toDom_637534496(p_637534905.newNode, true, kxi_637534899);
              if ((p_637534905.parent == null)) {
              replaceById_637534691(kxi_637534899.rootId, nn_637534906);
              }
              else {
                if ((p_637534905.current.parentNode == p_637534905.parent)) {
                p_637534905.parent.replaceChild(nn_637534906, p_637534905.current);
                }
                else {
                p_637534905.parent.appendChild(nn_637534906);
                }
                
              }
              
              break;
            case 5:
              moveDom_637534879(p_637534905.newNode, p_637534905.oldNode);
              break;
            case 1:
              p_637534905.parent.removeChild(p_637534905.current);
              break;
            case 2:
              var nn_637534915 = toDom_637534496(p_637534905.newNode, true, kxi_637534899);
              p_637534905.parent.appendChild(nn_637534915);
              break;
            case 3:
              var nn_637534916 = toDom_637534496(p_637534905.newNode, true, kxi_637534899);
              p_637534905.parent.insertBefore(nn_637534916, p_637534905.current);
              break;
            case 4:
              var n_637534917 = p_637534905.oldNode;
              if (!((n_637534917.id == null))) {
              delete kxi_637534899.byId[n_637534917.id];
              }
              
              if ((n_637534917.kind == 5)) {
              var x_637534927 = n_637534917;
              if (!((x_637534927.onDetachImpl == null))) {
              x_637534927.onDetachImpl(x_637534927);
              }
              
              }
              
              if (!(kxi_637534899.surpressRedraws)) {
              n_637534917.dom = null;
              }
              
              break;
            }
            i_469762282 = addInt(i_469762282, 1);
          }
      } while (false);
    } while (false);
    kxi_637534899.patchLen = 0;
    Label4: do {
      var i_637534936 = 0;
      var i_469762285 = 0;
      Label5: do {
          Label6: while (true) {
          if (!(i_469762285 < kxi_637534899.patchLenV)) break Label6;
            i_637534936 = i_469762285;
            var p_637534937 = nimCopy(null, kxi_637534899.patchesV[chckIndx(i_637534936, 0, (kxi_637534899.patchesV).length - 1)], NTI637534215);
            HEX5BHEX5DHEX3D_671089351(p_637534937.parent, p_637534937.pos, p_637534937.newChild);
            if (!(!((p_637534937.newChild.dom == null)))) {
            failedAssertImpl_218103864(makeNimstrLit("karax.nim(432, 12) `p.newChild.dom != nil` "));
            }
            
            i_469762285 = addInt(i_469762285, 1);
          }
      } while (false);
    } while (false);
    kxi_637534899.patchLenV = 0;

  
}

function dodraw_637535146(kxi_637535147) {
    
function HEX3Aanonymous_637535151() {
        dodraw_637535146(kxi_637535147);

      
    }

  BeforeRet: do {
    if ((kxi_637535147.renderer == null)) {
    break BeforeRet;
    }
    
    kxi_637535147.renderId = 0;
    if (kxi_637535147.rendering) {
    kxi_637535147.renderId = window.requestAnimationFrame(HEX3Aanonymous_637535151);
    break BeforeRet;
    }
    
    kxi_637535147.rendering = true;
    var rdata_637535152 = {hashPart: window.location.hash};
    var newtree_637535153 = kxi_637535147.renderer(rdata_637535152);
    kxi_637535147.runCount = addInt(kxi_637535147.runCount, 1);
    newtree_637535153.id = kxi_637535147.rootId;
    kxi_637535147.toFocus = null;
    if ((kxi_637535147.currentTree == null)) {
    var asdom_637535162 = toDom_637534496(newtree_637535153, true, kxi_637535147);
    replaceById_637534691(kxi_637535147.rootId, asdom_637535162);
    }
    else {
      var olddom_637535163 = document.getElementById(kxi_637535147.rootId);
      diff_637534949(newtree_637535153, kxi_637535147.currentTree, null, olddom_637535163, kxi_637535147);
    }
    
    applyComponents_637535050(kxi_637535147);
    applyPatch_637534898(kxi_637535147);
    kxi_637535147.currentTree = newtree_637535153;
    if (!((kxi_637535147.postRenderCallback == null))) {
    kxi_637535147.postRenderCallback(rdata_637535152);
    }
    
    if (!((kxi_637535147.toFocus == null))) {
    kxi_637535147.toFocus.focus();
    }
    
    kxi_637535147.rendering = false;
  } while (false);

  
}

function init_637535199(ev_637535200) {
    
function HEX3Aanonymous_637535201() {
        dodraw_637535146(kxi__);

      
    }

    kxi__.renderId = window.requestAnimationFrame(HEX3Aanonymous_637535201);

  
}

function redraw_637535193(kxi_637535194) {
    
function HEX3Aanonymous_637535195() {
        dodraw_637535146(kxi_637535194);

      
    }

    if ((kxi_637535194.renderId == 0)) {
    kxi_637535194.renderId = window.requestAnimationFrame(HEX3Aanonymous_637535195);
    }
    

  
}

function setRenderer_637535212(renderer_637535215, root_637535216, clientPostRenderCallback_637535219) {
    
function HEX3Aanonymous_637535278() {
        redraw_637535193(kxi__);

      
    }

  var result_637535220 = null;

    if ((document.getElementById(root_637535216) == null)) {
    var msg_637535224 = (("Could not find a <div> with id=" + root_637535216) + ". Karax needs it as its rendering target.");
    raiseException({message: cstrToNimstr(msg_637535224), parent: null, m_type: NTI33555112, name: null, trace: [], up: null}, "Exception");
    }
    
    result_637535220 = {rootId: root_637535216, renderer: renderer_637535215, postRenderCallback: clientPostRenderCallback_637535219, patches: newSeq_637535230(60), patchesV: newSeq_637535251(30), components: [], surpressRedraws: false, byId: {}, orphans: {}, currentTree: null, toFocus: null, toFocusV: null, renderId: 0, rendering: false, patchLen: 0, patchLenV: 0, runCount: 0};
    kxi__ = result_637535220;
    window.addEventListener("load", init_637535199, false);
    window.onhashchange = HEX3Aanonymous_637535278;

  return result_637535220;

}

function setRenderer_637535324(renderer_637535326, root_637535327, clientPostRenderCallback_637535329) {
    
function wrapRenderer_637535331(data_637535332) {
      var result_637535333 = null;

        result_637535333 = renderer_637535326();

      return result_637535333;

    }
    
function wrapPostRender_637535334(data_637535335) {
        if (!((clientPostRenderCallback_637535329 == null))) {
        clientPostRenderCallback_637535329();
        }
        

      
    }

  var result_637535330 = null;

    result_637535330 = setRenderer_637535212(wrapRenderer_637535331, root_637535327, wrapPostRender_637535334);

  return result_637535330;

}

function newVNode_671089415(kind_671089416) {
  var result_671089417 = null;

    result_671089417 = {kind: kind_671089416, index: -1, m_type: NTI671088742, id: null, class: null, text: null, kids: [], attrs: [], events: [], style: null, dom: null};

  return result_671089417;

}

function add_671089355(parent_671089356, kid_671089357) {
    parent_671089356.kids.push(kid_671089357);;

  
}

function tree_671089418(kind_671089419, kids_671089420) {
  var result_671089421 = null;

    result_671089421 = newVNode_671089415(kind_671089419);
    Label1: do {
      var k_671089433 = null;
      var i_469762293 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762293 < (kids_671089420).length)) break Label3;
            k_671089433 = kids_671089420[chckIndx(i_469762293, 0, (kids_671089420).length - 1)];
            add_671089355(result_671089421, k_671089433);
            i_469762293 = addInt(i_469762293, 1);
          }
      } while (false);
    } while (false);

  return result_671089421;

}

function setAttr_671089281(n_671089282, key_671089283, val_671089284) {
  BeforeRet: do {
    if (((n_671089282.attrs).length == 0)) {
    n_671089282.attrs = nimCopy(null, [key_671089283, val_671089284], NTI671088909);
    }
    else {
      Label1: do {
        var i_671089301 = 0;
        var colontmp__469762296 = 0;
        colontmp__469762296 = subInt((n_671089282.attrs).length, 2);
        var res_469762297 = 0;
        Label2: do {
            Label3: while (true) {
            if (!(res_469762297 <= colontmp__469762296)) break Label3;
              i_671089301 = res_469762297;
              if ((n_671089282.attrs[chckIndx(i_671089301, 0, (n_671089282.attrs).length - 1)] == key_671089283)) {
              n_671089282.attrs[chckIndx(addInt(i_671089301, 1), 0, (n_671089282.attrs).length - 1)] = val_671089284;
              break BeforeRet;
              }
              
              res_469762297 = addInt(res_469762297, 2);
            }
        } while (false);
      } while (false);
      n_671089282.attrs.push(key_671089283);;
      n_671089282.attrs.push(val_671089284);;
    }
    
  } while (false);

  
}

function text_671089473(s_671089474) {
  var result_671089475 = null;

    result_671089475 = {kind: 0, text: s_671089474, index: -1, m_type: NTI671088742, id: null, class: null, kids: [], attrs: [], events: [], style: null, dom: null};

  return result_671089475;

}

function addEventListener_671089521(n_671089522, event_671089523, handler_671089524) {
    n_671089522.events.push({Field0: event_671089523, Field1: handler_671089524, Field2: null});;

  
}

function addEventHandler_637535381(n_637535382, k_637535383, action_637535385, kxi_637535386) {
    
function wrapper_637535387(ev_637535388, n_637535389) {
        action_637535385();
        if (!(kxi_637535386.surpressRedraws)) {
        redraw_637535193(kxi_637535386);
        }
        

      
    }

    addEventListener_671089521(n_637535382, k_637535383, wrapper_637535387);

  
}

function loginField_469762063(desc_469762064, field_469762065, class_469762066, validator_469762070) {
  var result_469762071 = null;

    var tmp_469762102 = tree_671089418(44, []);
    var tmp_469762103 = tree_671089418(193, []);
    setAttr_671089281(tmp_469762103, "for", field_469762065);
    add_671089355(tmp_469762103, text_671089473(desc_469762064));
    add_671089355(tmp_469762102, tmp_469762103);
    var tmp_469762109 = tree_671089418(194, []);
    tmp_469762109.class = class_469762066;
    tmp_469762109.id = field_469762065;
    addEventHandler_637535381(tmp_469762109, 3, validator_469762070(field_469762065), kxi__);
    add_671089355(tmp_469762102, tmp_469762109);
    result_469762071 = tmp_469762102;

  return result_469762071;

}

function getVNodeById_637534480(id_637534481, kxi_637534482) {
  var result_637534483 = null;

    if (kxi_637534482.byId.hasOwnProperty(id_637534481)) {
    result_637534483 = kxi_637534482.byId[id_637534481];
    }
    

  return result_637534483;

}

function getInputText_637535445(n_637535446) {
  var result_637535447 = null;

    if (!((n_637535446.dom == null))) {
    result_637535447 = n_637535446.dom.value;
    }
    

  return result_637535447;

}

function validateNotEmpty_469762122(field_469762123) {
    
function HEX3Aanonymous_469762126() {
        var x_469762127 = getVNodeById_637534480(field_469762123, kxi__);
        if ((getInputText_637535445(x_469762127) == "")) {
        setError_1375731754(field_469762123, (field_469762123 + " must not be empty"));
        }
        else {
        setError_1375731754(field_469762123, "");
        }
        

      
    }

  var result_469762125 = null;

    result_469762125 = HEX3Aanonymous_469762126;

  return result_469762125;

}

function toDisabled_637535455(disabled_637535456) {
    var Temporary1;

  var result_637535457 = null;

    if (disabled_637535456) {
    Temporary1 = "disabled";
    }
    else {
    Temporary1 = null;
    }
    
    result_637535457 = Temporary1;

  return result_637535457;

}

function hasErrors_1375731720() {
  var result_1375731721 = false;

    result_1375731721 = !((gerrorCounter_1375731719[0] == 0));

  return result_1375731721;

}

function disableOnError_1375731737() {
  var result_1375731738 = null;

    result_1375731738 = toDisabled_637535455(hasErrors_1375731720());

  return result_1375731738;

}

function text_671089470(s_671089471) {
  var result_671089472 = null;

    result_671089472 = {kind: 0, text: toJSStr(s_671089471), index: -1, m_type: NTI671088742, id: null, class: null, kids: [], attrs: [], events: [], style: null, dom: null};

  return result_671089472;

}

function loginDialog_469762129() {
    
function HEX3Aanonymous_469762154() {
        loggedIn_469762128[0] = true;

      
    }

  var result_469762130 = null;

    var tmp_469762131 = tree_671089418(44, []);
    if (!(loggedIn_469762128[0])) {
    add_671089355(tmp_469762131, loginField_469762063("Name: ", "username", "input", validateNotEmpty_469762122));
    add_671089355(tmp_469762131, loginField_469762063("Password: ", "password", "password", validateNotEmpty_469762122));
    var tmp_469762132 = tree_671089418(195, []);
    addEventHandler_637535381(tmp_469762132, 0, HEX3Aanonymous_469762154, kxi__);
    setAttr_671089281(tmp_469762132, "disabled", disableOnError_1375731737());
    add_671089355(tmp_469762132, text_671089470(makeNimstrLit("Login")));
    add_671089355(tmp_469762131, tmp_469762132);
    var tmp_469762133 = tree_671089418(32, []);
    add_671089355(tmp_469762133, text_671089473(getError_1375731739("username")));
    add_671089355(tmp_469762131, tmp_469762133);
    var tmp_469762134 = tree_671089418(32, []);
    add_671089355(tmp_469762134, text_671089473(getError_1375731739("password")));
    add_671089355(tmp_469762131, tmp_469762134);
    }
    else {
      var tmp_469762135 = tree_671089418(32, []);
      add_671089355(tmp_469762135, text_671089470(makeNimstrLit("You are now logged in.")));
      add_671089355(tmp_469762131, tmp_469762135);
    }
    
    result_469762130 = tmp_469762131;

  return result_469762130;

}
var loggedIn_469762128 = [false];
setError_1375731754("username", ("username" + " must not be empty"));
setError_1375731754("password", ("password" + " must not be empty"));
setRenderer_637535324(loginDialog_469762129, "ROOT", null);
var menuItem_469762304 = [[makeNimstrLit("\xD0\x93\xD0\xBB\xD0\xB0\xD0\xB2\xD0\xBD\xD0\xB0\xD1\x8F"), makeNimstrLit("\xD0\x9F\xD1\x80\xD0\xBE\xD0\xB3\xD1\x80\xD0\xB0\xD0\xBC\xD0\xBC\xD1\x8B"), makeNimstrLit("\xD0\x9E\xD0\xB2\xD0\xB5\xD1\x80\xD0\xBB\xD0\xB5\xD0\xB8"), makeNimstrLit("\xD0\x9D\xD0\xB0\xD1\x81\xD1\x82\xD1\x80\xD0\xBE\xD0\xB9\xD0\xBA\xD0\xB8"), makeNimstrLit("\xD0\x9D\xD0\xBE\xD0\xB2\xD0\xBE\xD1\x81\xD1\x82\xD0\xB8"), makeNimstrLit("\xD0\xA1\xD0\xBE\xD0\xBE\xD0\xB1\xD1\x89\xD0\xB5\xD1\x81\xD1\x82\xD0\xB2\xD0\xB0"), makeNimstrLit("\xD0\x9E \xD0\xBF\xD1\x80\xD0\xBE\xD0\xB5\xD0\xBA\xD1\x82\xD0\xB5")]];
var cat_469762309 = [[makeNimstrLit("\xD0\x9C\xD0\xB5\xD1\x81\xD1\x81\xD0\xB5\xD0\xBD\xD0\xB4\xD0\xB6\xD0\xB5\xD1\x80"), makeNimstrLit("\xD0\x9C\xD1\x83\xD0\xB7\xD1\x8B\xD0\xBA\xD0\xB0"), makeNimstrLit("\xD0\x92\xD0\xB8\xD0\xB4\xD0\xB5\xD0\xBE"), makeNimstrLit("\xD0\x93\xD1\x80\xD0\xB0\xD1\x84\xD0\xB8\xD0\xBA\xD0\xB0"), makeNimstrLit("\xD0\x91\xD1\x80\xD0\xB0\xD1\x83\xD0\xB7\xD0\xB5\xD1\x80"), makeNimstrLit("\xD0\x9E\xD1\x84\xD0\xB8\xD1\x81"), makeNimstrLit("\xD0\xA0\xD0\xB0\xD0\xB7\xD1\x80\xD0\xB0\xD0\xB1\xD0\xBE\xD1\x82\xD0\xBA\xD0\xB0"), makeNimstrLit("Web-\xD0\xA1\xD0\xB5\xD1\x80\xD0\xB2\xD0\xB5\xD1\x80\xD1\x8B"), makeNimstrLit("\xD0\xA3\xD1\x82\xD0\xB8\xD0\xBB\xD0\xB8\xD1\x82\xD1\x8B"), makeNimstrLit("\xD0\x98\xD0\xB3\xD1\x80\xD1\x8B")]];

function menuAction_469762328(menuEntry_469762329) {
    
function HEX3Aanonymous_469762332() {
        rawEcho(makeNimstrLit("clicked "), cstrToNimstr(menuEntry_469762329));

      
    }

  var result_469762331 = null;

    result_469762331 = HEX3Aanonymous_469762332;

  return result_469762331;

}

function substrEq_805306597(s_805306598, pos_805306599, substr_805306600) {
  var result_805306601 = false;

  BeforeRet: do {
    var i_805306602 = 0;
    var length_805306603 = (substr_805306600).length;
    Label1: do {
        Label2: while (true) {
        if (!(((i_805306602 < length_805306603) && (addInt(pos_805306599, i_805306602) < (s_805306598).length)) && (s_805306598[chckIndx(addInt(pos_805306599, i_805306602), 0, (s_805306598).length - 1)] == substr_805306600[chckIndx(i_805306602, 0, (substr_805306600).length - 1)]))) break Label2;
          i_805306602 = addInt(i_805306602, 1);
        }
    } while (false);
    result_805306601 = (i_805306602 == length_805306603);
    break BeforeRet;
  } while (false);

  return result_805306601;

}

function substr_33557906(s_33557907, first_33557908, last_33557909) {
  var result_33557910 = [];

    var first_33557911 = nimMax(first_33557908, 0);
    var L_33557912 = nimMax(addInt(subInt(nimMin(last_33557909, (s_33557907).length - 1), first_33557911), 1), 0);
    result_33557910 = nimCopy(null, mnewString(chckRange(L_33557912, 0, 2147483647)), NTI33554439);
    Label1: do {
      var i_33557917 = 0;
      var colontmp__671088986 = 0;
      colontmp__671088986 = subInt(L_33557912, 1);
      var res_671088987 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(res_671088987 <= colontmp__671088986)) break Label3;
            i_33557917 = res_671088987;
            result_33557910[chckIndx(i_33557917, 0, (result_33557910).length - 1)] = s_33557907[chckIndx(addInt(i_33557917, first_33557911), 0, (s_33557907).length - 1)];
            res_671088987 = addInt(res_671088987, 1);
          }
      } while (false);
    } while (false);

  return result_33557910;

}

function nsuStrip(s_805308636, leading_805308637, trailing_805308638, chars_805308639) {
          var Temporary5;

  var result_805308640 = [];

    var first_805308641 = 0;
    var last_805308642 = subInt((s_805308636).length, 1);
    if (leading_805308637) {
    Label1: do {
        Label2: while (true) {
        if (!((first_805308641 <= last_805308642) && (chars_805308639[s_805308636[chckIndx(first_805308641, 0, (s_805308636).length - 1)]] != undefined))) break Label2;
          first_805308641 = addInt(first_805308641, 1);
        }
    } while (false);
    }
    
    if (trailing_805308638) {
    Label3: do {
        Label4: while (true) {
          if (!(first_805308641 <= last_805308642)) Temporary5 = false; else {            Temporary5 = (chars_805308639[s_805308636[chckIndx(last_805308642, 0, (s_805308636).length - 1)]] != undefined);          }        if (!Temporary5) break Label4;
          last_805308642 = subInt(last_805308642, 1);
        }
    } while (false);
    }
    
    result_805308640 = nimCopy(null, substr_33557906(s_805308636, first_805308641, last_805308642), NTI33554439);

  return result_805308640;

}

function nsuSplitString(s_805306889, sep_805306890, maxsplit_805306891) {
  var result_805306892 = [];

    if (!((0 < (sep_805306890).length))) {
    failedAssertImpl_218103864(makeNimstrLit("strutils.nim(739, 11) `sep.len > 0` "));
    }
    
    result_805306892 = nimCopy(null, [], NTI805306742);
    Label1: do {
      var xHEX60gensym72_805306903 = [];
      var lastHEX60gensym41_469762403 = 0;
      var splitsHEX60gensym41_469762404 = maxsplit_805306891;
      Label2: do {
          Label3: while (true) {
          if (!(lastHEX60gensym41_469762403 <= (s_805306889).length)) break Label3;
            var firstHEX60gensym41_469762406 = lastHEX60gensym41_469762403;
            Label4: do {
                Label5: while (true) {
                if (!((lastHEX60gensym41_469762403 < (s_805306889).length) && !(substrEq_805306597(s_805306889, lastHEX60gensym41_469762403, sep_805306890)))) break Label5;
                  lastHEX60gensym41_469762403 = addInt(lastHEX60gensym41_469762403, 1);
                }
            } while (false);
            if ((splitsHEX60gensym41_469762404 == 0)) {
            lastHEX60gensym41_469762403 = (s_805306889).length;
            }
            
            xHEX60gensym72_805306903 = substr_33557906(s_805306889, firstHEX60gensym41_469762406, subInt(lastHEX60gensym41_469762403, 1));
            var Temporary6 = nimCopy(null, xHEX60gensym72_805306903, NTI33554439);
            result_805306892.push(Temporary6);;
            if ((splitsHEX60gensym41_469762404 == 0)) {
            break Label2;
            }
            
            splitsHEX60gensym41_469762404 = subInt(splitsHEX60gensym41_469762404, 1);
            lastHEX60gensym41_469762403 = addInt(lastHEX60gensym41_469762403, (sep_805306890).length);
          }
      } while (false);
    } while (false);

  return result_805306892;

}

function setAttr_738197805(s_738197806, a_738197807, value_738197808) {
  BeforeRet: do {
    var i_738197809 = 0;
    Label1: do {
        Label2: while (true) {
        if (!(i_738197809 < s_738197806.length)) break Label2;
          if ((s_738197806[i_738197809] == a_738197807)) {
          s_738197806[addInt(i_738197809, 1)] = value_738197808;
          break BeforeRet;
          }
          else {
          if ((a_738197807 < s_738197806[i_738197809])) {
          s_738197806.push("");
          s_738197806.push("");
          Label3: do {
            var j_738197850 = 0;
            var colontmp__469762410 = 0;
            var colontmp__469762411 = 0;
            colontmp__469762410 = subInt(s_738197806.length, 1);
            colontmp__469762411 = addInt(i_738197809, 3);
            var res_469762413 = colontmp__469762410;
            Label4: do {
                Label5: while (true) {
                if (!(colontmp__469762411 <= res_469762413)) break Label5;
                  j_738197850 = res_469762413;
                  s_738197806[j_738197850] = s_738197806[subInt(j_738197850, 2)];
                  s_738197806[subInt(j_738197850, 1)] = s_738197806[subInt(j_738197850, 3)];
                  res_469762413 = subInt(res_469762413, 2);
                }
            } while (false);
          } while (false);
          s_738197806[i_738197809] = a_738197807;
          s_738197806[addInt(i_738197809, 1)] = value_738197808;
          break BeforeRet;
          }
          }
          i_738197809 = addInt(i_738197809, 2);
        }
    } while (false);
    s_738197806.push(a_738197807);
    s_738197806.push(value_738197808);
  } while (false);

  
}

function toCss_738197973(a_738197974) {
  var result_738197975 = null;

    result_738197975 = new Array(0);
    Label1: do {
      var ai_738197979 = [];
      var lastHEX60gensym41_469762394 = 0;
      var splitsHEX60gensym41_469762395 = -1;
      Label2: do {
          Label3: while (true) {
          if (!(lastHEX60gensym41_469762394 <= (a_738197974).length)) break Label3;
            var firstHEX60gensym41_469762397 = lastHEX60gensym41_469762394;
            Label4: do {
                Label5: while (true) {
                if (!((lastHEX60gensym41_469762394 < (a_738197974).length) && !(substrEq_805306597(a_738197974, lastHEX60gensym41_469762394, makeNimstrLit(";"))))) break Label5;
                  lastHEX60gensym41_469762394 = addInt(lastHEX60gensym41_469762394, 1);
                }
            } while (false);
            if ((splitsHEX60gensym41_469762395 == 0)) {
            lastHEX60gensym41_469762394 = (a_738197974).length;
            }
            
            ai_738197979 = substr_33557906(a_738197974, firstHEX60gensym41_469762397, subInt(lastHEX60gensym41_469762394, 1));
            Label6: do {
              var ai_738197980 = nsuStrip(ai_738197979, true, true, ConstSet2);
              if (((ai_738197980).length == 0)) {
              break Label6;
              }
              
              var aj_738197981 = nsuSplitString(nsuStrip(ai_738197980, true, true, ConstSet3), makeNimstrLit(":"), 1);
              setAttr_738197805(result_738197975, toJSStr(aj_738197981[chckIndx(0, 0, (aj_738197981).length - 1)]), toJSStr(aj_738197981[chckIndx(1, 0, (aj_738197981).length - 1)]));
            } while (false);
            if ((splitsHEX60gensym41_469762395 == 0)) {
            break Label2;
            }
            
            splitsHEX60gensym41_469762395 = subInt(splitsHEX60gensym41_469762395, 1);
            lastHEX60gensym41_469762394 = addInt(lastHEX60gensym41_469762394, 1);
          }
      } while (false);
    } while (false);

  return result_738197975;

}

function setAttr_738197891(s_738197892, attr_738197893, value_738197894) {
    if (!(!((value_738197894 == null)))) {
    failedAssertImpl_218103864(makeNimstrLit("vstyles.nim(266, 12) `value != nil` value must not be nil"));
    }
    
    setAttr_738197805(s_738197892, toStyleAttrName_738197746[chckIndx(attr_738197893, 0, (toStyleAttrName_738197746).length - 1)], value_738197894);

  
}

function style_738197966(a_738197967, val_738197968) {
  var result_738197969 = null;

    result_738197969 = new Array(0);
    setAttr_738197891(result_738197969, a_738197967, val_738197968);

  return result_738197969;

}

function createDom_469762342() {
  var result_469762343 = null;

    var tmp_469762344 = tree_671089418(44, []);
    var tmp_469762345 = tree_671089418(44, []);
    var tmp_469762346 = tree_671089418(18, []);
    tmp_469762346.class = "navbar-desktop";
    Label1: do {
      var i_469762375 = [];
      var i_469762383 = 0;
      var L_469762384 = (menuItem_469762304[0]).length;
      Label2: do {
          Label3: while (true) {
          if (!(i_469762383 < L_469762384)) break Label3;
            i_469762375 = menuItem_469762304[0][chckIndx(i_469762383, 0, (menuItem_469762304[0]).length - 1)];
            var tmp_469762347 = tree_671089418(38, []);
            var tmp_469762348 = tree_671089418(45, []);
            setAttr_671089281(tmp_469762348, "href", "#");
            addEventHandler_637535381(tmp_469762348, 0, menuAction_469762328(toJSStr(i_469762375)), kxi__);
            tmp_469762348.style = toCss_738197973(makeNimstrLit("font-size: 14px"));
            add_671089355(tmp_469762348, text_671089470(i_469762375));
            add_671089355(tmp_469762347, tmp_469762348);
            add_671089355(tmp_469762346, tmp_469762347);
            i_469762383 = addInt(i_469762383, 1);
            if (!(((menuItem_469762304[0]).length == L_469762384))) {
            failedAssertImpl_218103864(makeNimstrLit("iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it"));
            }
            
          }
      } while (false);
    } while (false);
    add_671089355(tmp_469762345, tmp_469762346);
    var tmp_469762349 = tree_671089418(44, []);
    var tmp_469762350 = tree_671089418(21, []);
    setAttr_671089281(tmp_469762350, "align", "center");
    add_671089355(tmp_469762350, text_671089470(makeNimstrLit("\xD0\xA0\xD0\xB5\xD0\xBA\xD0\xBE\xD0\xBC\xD0\xB5\xD0\xBD\xD0\xB4\xD0\xB0\xD1\x86\xD0\xB8\xD0\xB8")));
    add_671089355(tmp_469762349, tmp_469762350);
    var tmp_469762351 = tree_671089418(33, []);
    tmp_469762351.style = style_738197966(12, "#CCC");
    add_671089355(tmp_469762349, tmp_469762351);
    Label4: do {
      var c_469762379 = [];
      var i_469762387 = 0;
      var L_469762388 = (cat_469762309[0]).length;
      Label5: do {
          Label6: while (true) {
          if (!(i_469762387 < L_469762388)) break Label6;
            c_469762379 = cat_469762309[0][chckIndx(i_469762387, 0, (cat_469762309[0]).length - 1)];
            var tmp_469762352 = tree_671089418(44, []);
            tmp_469762352.style = toCss_738197973(makeNimstrLit("color:red; min-width: 30vw; float:left; border: 1px dotted #CDC; border-radius: 10px"));
            var tmp_469762353 = tree_671089418(23, []);
            setAttr_671089281(tmp_469762353, "align", "center");
            add_671089355(tmp_469762353, text_671089470(c_469762379));
            add_671089355(tmp_469762352, tmp_469762353);
            var tmp_469762354 = tree_671089418(44, []);
            tmp_469762354.style = toCss_738197973(makeNimstrLit("width: 100%; border: 1px solid #CDC; height:120px"));
            add_671089355(tmp_469762352, tmp_469762354);
            add_671089355(tmp_469762349, tmp_469762352);
            i_469762387 = addInt(i_469762387, 1);
            if (!(((cat_469762309[0]).length == L_469762388))) {
            failedAssertImpl_218103864(makeNimstrLit("iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it"));
            }
            
          }
      } while (false);
    } while (false);
    add_671089355(tmp_469762345, tmp_469762349);
    add_671089355(tmp_469762344, tmp_469762345);
    result_469762343 = tmp_469762344;

  return result_469762343;

}
setRenderer_637535324(createDom_469762342, "ROOT", null);
