diff --git a/all.html b/all.html index fc0f0db..4fde88f 100644 --- a/all.html +++ b/all.html @@ -10,6 +10,7 @@ + @@ -17,772 +18,7 @@ all - + @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -807,6 +74,13 @@ function main() {

all

+
+ +     Dark Mode +
@@ -850,7 +124,7 @@ function main() {
diff --git a/build.html b/build.html index 8859919..4202b8d 100644 --- a/build.html +++ b/build.html @@ -10,6 +10,7 @@ + @@ -17,772 +18,7 @@ build - + @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -807,6 +74,13 @@ function main() {

build

+
+ +     Dark Mode +
diff --git a/cimport.idx b/cimport.idx index ac8ee27..1c392ae 100644 --- a/cimport.idx +++ b/cimport.idx @@ -1,3 +1,5 @@ +ast2 cimport.html#ast2 Feature.ast2 +Feature cimport.html#Feature cimport: Feature cOverride cimport.html#cOverride.m cimport: cOverride(body): untyped cSkipSymbol cimport.html#cSkipSymbol,seq[T][string] cimport: cSkipSymbol(skips: seq[string]) cPlugin cimport.html#cPlugin.m cimport: cPlugin(body): untyped diff --git a/compat.html b/compat.html index 16d342c..85fdf3b 100644 --- a/compat.html +++ b/compat.html @@ -10,6 +10,7 @@ + @@ -859,7 +860,7 @@ function main() {
diff --git a/dochack.js b/dochack.js index 8cd4b61..0fd6939 100644 --- a/dochack.js +++ b/dochack.js @@ -1,6 +1,4 @@ -/* Generated by the Nim Compiler v1.0.4 */ -/* (c) 2019 Andreas Rumpf */ - +/* Generated by the Nim Compiler v1.1.1 */ var framePtr = null; var excHandler = 0; var lastJSError = null; @@ -12,257 +10,274 @@ if (typeof Uint16Array === 'undefined') Uint16Array = Array; if (typeof Uint32Array === 'undefined') Uint32Array = Array; if (typeof Float32Array === 'undefined') Float32Array = Array; if (typeof Float64Array === 'undefined') Float64Array = Array; -var NTI130 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; -var NTI160074 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI3662 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI162578 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42448 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42444 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42440 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42436 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42432 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42428 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42424 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42420 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42416 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42412 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42408 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42404 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42400 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42396 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42392 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42388 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42384 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42380 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42376 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42372 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42283 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42281 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI42227 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; -var NTI42565 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42563 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42561 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42231 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42229 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI44305 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI3650 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3658 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI104 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; -var NTI21156 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI3608 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3714 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI114 = {size: 0,kind: 40,base: null,node: null,finalizer: null}; -var NTI138 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; -var NTI140 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; -var NTI3708 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI3626 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3628 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3642 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3646 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NNI3646 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3646.node = NNI3646; -var NNI3642 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3642.node = NNI3642; -var NNI3628 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3628.node = NNI3628; -NTI3708.base = NTI3626; -NTI3714.base = NTI3626; -var NNI3626 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI3708, name: "parent", sons: null}, -{kind: 1, offset: "name", len: 0, typ: NTI140, name: "name", sons: null}, -{kind: 1, offset: "message", len: 0, typ: NTI138, name: "msg", sons: null}, -{kind: 1, offset: "trace", len: 0, typ: NTI138, name: "trace", sons: null}, -{kind: 1, offset: "raiseId", len: 0, typ: NTI114, name: "raiseId", sons: null}, -{kind: 1, offset: "up", len: 0, typ: NTI3714, name: "up", sons: null}]}; -NTI3626.node = NNI3626; -var NNI3608 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3608.node = NNI3608; -NTI3626.base = NTI3608; -NTI3628.base = NTI3626; -NTI3642.base = NTI3628; -NTI3646.base = NTI3642; -var NNI21156 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI140, name: "Field0", sons: null}, -{kind: 1, offset: "Field1", len: 0, typ: NTI104, name: "Field1", sons: null}]}; -NTI21156.node = NNI21156; -var NNI3658 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3658.node = NNI3658; -NTI3658.base = NTI3628; -var NNI3650 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3650.node = NNI3650; -NTI3650.base = NTI3628; -NTI42561.base = NTI42229; -NTI42563.base = NTI42229; -NTI42565.base = NTI42229; -var NNI42227 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI42227, name: "ElementNode", len: 0, sons: null}, -"2": {kind: 1, offset: 2, typ: NTI42227, name: "AttributeNode", len: 0, sons: null}, -"3": {kind: 1, offset: 3, typ: NTI42227, name: "TextNode", len: 0, sons: null}, -"4": {kind: 1, offset: 4, typ: NTI42227, name: "CDATANode", len: 0, sons: null}, -"5": {kind: 1, offset: 5, typ: NTI42227, name: "EntityRefNode", len: 0, sons: null}, -"6": {kind: 1, offset: 6, typ: NTI42227, name: "EntityNode", len: 0, sons: null}, -"7": {kind: 1, offset: 7, typ: NTI42227, name: "ProcessingInstructionNode", len: 0, sons: null}, -"8": {kind: 1, offset: 8, typ: NTI42227, name: "CommentNode", len: 0, sons: null}, -"9": {kind: 1, offset: 9, typ: NTI42227, name: "DocumentNode", len: 0, sons: null}, -"10": {kind: 1, offset: 10, typ: NTI42227, name: "DocumentTypeNode", len: 0, sons: null}, -"11": {kind: 1, offset: 11, typ: NTI42227, name: "DocumentFragmentNode", len: 0, sons: null}, -"12": {kind: 1, offset: 12, typ: NTI42227, name: "NotationNode", len: 0, sons: null}}}; -NTI42227.node = NNI42227; -var NNI42283 = {kind: 2, len: 92, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "background", len: 0, typ: NTI140, name: "background", sons: null}, -{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI140, name: "backgroundAttachment", sons: null}, -{kind: 1, offset: "backgroundColor", len: 0, typ: NTI140, name: "backgroundColor", sons: null}, -{kind: 1, offset: "backgroundImage", len: 0, typ: NTI140, name: "backgroundImage", sons: null}, -{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI140, name: "backgroundPosition", sons: null}, -{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI140, name: "backgroundRepeat", sons: null}, -{kind: 1, offset: "border", len: 0, typ: NTI140, name: "border", sons: null}, -{kind: 1, offset: "borderBottom", len: 0, typ: NTI140, name: "borderBottom", sons: null}, -{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI140, name: "borderBottomColor", sons: null}, -{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI140, name: "borderBottomStyle", sons: null}, -{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI140, name: "borderBottomWidth", sons: null}, -{kind: 1, offset: "borderColor", len: 0, typ: NTI140, name: "borderColor", sons: null}, -{kind: 1, offset: "borderLeft", len: 0, typ: NTI140, name: "borderLeft", sons: null}, -{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI140, name: "borderLeftColor", sons: null}, -{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI140, name: "borderLeftStyle", sons: null}, -{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI140, name: "borderLeftWidth", sons: null}, -{kind: 1, offset: "borderRight", len: 0, typ: NTI140, name: "borderRight", sons: null}, -{kind: 1, offset: "borderRightColor", len: 0, typ: NTI140, name: "borderRightColor", sons: null}, -{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI140, name: "borderRightStyle", sons: null}, -{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI140, name: "borderRightWidth", sons: null}, -{kind: 1, offset: "borderStyle", len: 0, typ: NTI140, name: "borderStyle", sons: null}, -{kind: 1, offset: "borderTop", len: 0, typ: NTI140, name: "borderTop", sons: null}, -{kind: 1, offset: "borderTopColor", len: 0, typ: NTI140, name: "borderTopColor", sons: null}, -{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI140, name: "borderTopStyle", sons: null}, -{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI140, name: "borderTopWidth", sons: null}, -{kind: 1, offset: "borderWidth", len: 0, typ: NTI140, name: "borderWidth", sons: null}, -{kind: 1, offset: "bottom", len: 0, typ: NTI140, name: "bottom", sons: null}, -{kind: 1, offset: "captionSide", len: 0, typ: NTI140, name: "captionSide", sons: null}, -{kind: 1, offset: "clear", len: 0, typ: NTI140, name: "clear", sons: null}, -{kind: 1, offset: "clip", len: 0, typ: NTI140, name: "clip", sons: null}, -{kind: 1, offset: "color", len: 0, typ: NTI140, name: "color", sons: null}, -{kind: 1, offset: "cursor", len: 0, typ: NTI140, name: "cursor", sons: null}, -{kind: 1, offset: "direction", len: 0, typ: NTI140, name: "direction", sons: null}, -{kind: 1, offset: "display", len: 0, typ: NTI140, name: "display", sons: null}, -{kind: 1, offset: "emptyCells", len: 0, typ: NTI140, name: "emptyCells", sons: null}, -{kind: 1, offset: "cssFloat", len: 0, typ: NTI140, name: "cssFloat", sons: null}, -{kind: 1, offset: "font", len: 0, typ: NTI140, name: "font", sons: null}, -{kind: 1, offset: "fontFamily", len: 0, typ: NTI140, name: "fontFamily", sons: null}, -{kind: 1, offset: "fontSize", len: 0, typ: NTI140, name: "fontSize", sons: null}, -{kind: 1, offset: "fontStretch", len: 0, typ: NTI140, name: "fontStretch", sons: null}, -{kind: 1, offset: "fontStyle", len: 0, typ: NTI140, name: "fontStyle", sons: null}, -{kind: 1, offset: "fontVariant", len: 0, typ: NTI140, name: "fontVariant", sons: null}, -{kind: 1, offset: "fontWeight", len: 0, typ: NTI140, name: "fontWeight", sons: null}, -{kind: 1, offset: "height", len: 0, typ: NTI140, name: "height", sons: null}, -{kind: 1, offset: "left", len: 0, typ: NTI140, name: "left", sons: null}, -{kind: 1, offset: "letterSpacing", len: 0, typ: NTI140, name: "letterSpacing", sons: null}, -{kind: 1, offset: "lineHeight", len: 0, typ: NTI140, name: "lineHeight", sons: null}, -{kind: 1, offset: "listStyle", len: 0, typ: NTI140, name: "listStyle", sons: null}, -{kind: 1, offset: "listStyleImage", len: 0, typ: NTI140, name: "listStyleImage", sons: null}, -{kind: 1, offset: "listStylePosition", len: 0, typ: NTI140, name: "listStylePosition", sons: null}, -{kind: 1, offset: "listStyleType", len: 0, typ: NTI140, name: "listStyleType", sons: null}, -{kind: 1, offset: "margin", len: 0, typ: NTI140, name: "margin", sons: null}, -{kind: 1, offset: "marginBottom", len: 0, typ: NTI140, name: "marginBottom", sons: null}, -{kind: 1, offset: "marginLeft", len: 0, typ: NTI140, name: "marginLeft", sons: null}, -{kind: 1, offset: "marginRight", len: 0, typ: NTI140, name: "marginRight", sons: null}, -{kind: 1, offset: "marginTop", len: 0, typ: NTI140, name: "marginTop", sons: null}, -{kind: 1, offset: "maxHeight", len: 0, typ: NTI140, name: "maxHeight", sons: null}, -{kind: 1, offset: "maxWidth", len: 0, typ: NTI140, name: "maxWidth", sons: null}, -{kind: 1, offset: "minHeight", len: 0, typ: NTI140, name: "minHeight", sons: null}, -{kind: 1, offset: "minWidth", len: 0, typ: NTI140, name: "minWidth", sons: null}, -{kind: 1, offset: "opacity", len: 0, typ: NTI140, name: "opacity", sons: null}, -{kind: 1, offset: "overflow", len: 0, typ: NTI140, name: "overflow", sons: null}, -{kind: 1, offset: "padding", len: 0, typ: NTI140, name: "padding", sons: null}, -{kind: 1, offset: "paddingBottom", len: 0, typ: NTI140, name: "paddingBottom", sons: null}, -{kind: 1, offset: "paddingLeft", len: 0, typ: NTI140, name: "paddingLeft", sons: null}, -{kind: 1, offset: "paddingRight", len: 0, typ: NTI140, name: "paddingRight", sons: null}, -{kind: 1, offset: "paddingTop", len: 0, typ: NTI140, name: "paddingTop", sons: null}, -{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI140, name: "pageBreakAfter", sons: null}, -{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI140, name: "pageBreakBefore", sons: null}, -{kind: 1, offset: "pointerEvents", len: 0, typ: NTI140, name: "pointerEvents", sons: null}, -{kind: 1, offset: "position", len: 0, typ: NTI140, name: "position", sons: null}, -{kind: 1, offset: "right", len: 0, typ: NTI140, name: "right", sons: null}, -{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI140, name: "scrollbar3dLightColor", sons: null}, -{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI140, name: "scrollbarArrowColor", sons: null}, -{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI140, name: "scrollbarBaseColor", sons: null}, -{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI140, name: "scrollbarDarkshadowColor", sons: null}, -{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI140, name: "scrollbarFaceColor", sons: null}, -{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI140, name: "scrollbarHighlightColor", sons: null}, -{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI140, name: "scrollbarShadowColor", sons: null}, -{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI140, name: "scrollbarTrackColor", sons: null}, -{kind: 1, offset: "tableLayout", len: 0, typ: NTI140, name: "tableLayout", sons: null}, -{kind: 1, offset: "textAlign", len: 0, typ: NTI140, name: "textAlign", sons: null}, -{kind: 1, offset: "textDecoration", len: 0, typ: NTI140, name: "textDecoration", sons: null}, -{kind: 1, offset: "textIndent", len: 0, typ: NTI140, name: "textIndent", sons: null}, -{kind: 1, offset: "textTransform", len: 0, typ: NTI140, name: "textTransform", sons: null}, -{kind: 1, offset: "transform", len: 0, typ: NTI140, name: "transform", sons: null}, -{kind: 1, offset: "top", len: 0, typ: NTI140, name: "top", sons: null}, -{kind: 1, offset: "verticalAlign", len: 0, typ: NTI140, name: "verticalAlign", sons: null}, -{kind: 1, offset: "visibility", len: 0, typ: NTI140, name: "visibility", sons: null}, -{kind: 1, offset: "width", len: 0, typ: NTI140, name: "width", sons: null}, -{kind: 1, offset: "wordSpacing", len: 0, typ: NTI140, name: "wordSpacing", sons: null}, -{kind: 1, offset: "zIndex", len: 0, typ: NTI104, name: "zIndex", sons: null}]}; -NTI42283.node = NNI42283; -NTI42283.base = NTI3608; -NTI42281.base = NTI42283; -var NNI42231 = {kind: 2, len: 14, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI42561, name: "attributes", sons: null}, -{kind: 1, offset: "childNodes", len: 0, typ: NTI42563, name: "childNodes", sons: null}, -{kind: 1, offset: "children", len: 0, typ: NTI42565, name: "children", sons: null}, -{kind: 1, offset: "data", len: 0, typ: NTI140, name: "data", sons: null}, -{kind: 1, offset: "firstChild", len: 0, typ: NTI42229, name: "firstChild", sons: null}, -{kind: 1, offset: "lastChild", len: 0, typ: NTI42229, name: "lastChild", sons: null}, -{kind: 1, offset: "nextSibling", len: 0, typ: NTI42229, name: "nextSibling", sons: null}, -{kind: 1, offset: "nodeName", len: 0, typ: NTI140, name: "nodeName", sons: null}, -{kind: 1, offset: "nodeType", len: 0, typ: NTI42227, name: "nodeType", sons: null}, -{kind: 1, offset: "nodeValue", len: 0, typ: NTI140, name: "nodeValue", sons: null}, -{kind: 1, offset: "parentNode", len: 0, typ: NTI42229, name: "parentNode", sons: null}, -{kind: 1, offset: "previousSibling", len: 0, typ: NTI42229, name: "previousSibling", sons: null}, -{kind: 1, offset: "innerHTML", len: 0, typ: NTI140, name: "innerHTML", sons: null}, -{kind: 1, offset: "style", len: 0, typ: NTI42281, name: "style", sons: null}]}; -NTI42231.node = NNI42231; -var NNI42205 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI42372, name: "onabort", sons: null}, -{kind: 1, offset: "onblur", len: 0, typ: NTI42376, name: "onblur", sons: null}, -{kind: 1, offset: "onchange", len: 0, typ: NTI42380, name: "onchange", sons: null}, -{kind: 1, offset: "onclick", len: 0, typ: NTI42384, name: "onclick", sons: null}, -{kind: 1, offset: "ondblclick", len: 0, typ: NTI42388, name: "ondblclick", sons: null}, -{kind: 1, offset: "onerror", len: 0, typ: NTI42392, name: "onerror", sons: null}, -{kind: 1, offset: "onfocus", len: 0, typ: NTI42396, name: "onfocus", sons: null}, -{kind: 1, offset: "onkeydown", len: 0, typ: NTI42400, name: "onkeydown", sons: null}, -{kind: 1, offset: "onkeypress", len: 0, typ: NTI42404, name: "onkeypress", sons: null}, -{kind: 1, offset: "onkeyup", len: 0, typ: NTI42408, name: "onkeyup", sons: null}, -{kind: 1, offset: "onload", len: 0, typ: NTI42412, name: "onload", sons: null}, -{kind: 1, offset: "onmousedown", len: 0, typ: NTI42416, name: "onmousedown", sons: null}, -{kind: 1, offset: "onmousemove", len: 0, typ: NTI42420, name: "onmousemove", sons: null}, -{kind: 1, offset: "onmouseout", len: 0, typ: NTI42424, name: "onmouseout", sons: null}, -{kind: 1, offset: "onmouseover", len: 0, typ: NTI42428, name: "onmouseover", sons: null}, -{kind: 1, offset: "onmouseup", len: 0, typ: NTI42432, name: "onmouseup", sons: null}, -{kind: 1, offset: "onreset", len: 0, typ: NTI42436, name: "onreset", sons: null}, -{kind: 1, offset: "onselect", len: 0, typ: NTI42440, name: "onselect", sons: null}, -{kind: 1, offset: "onsubmit", len: 0, typ: NTI42444, name: "onsubmit", sons: null}, -{kind: 1, offset: "onunload", len: 0, typ: NTI42448, name: "onunload", sons: null}]}; -NTI42205.node = NNI42205; -NTI42205.base = NTI3608; -NTI42231.base = NTI42205; -NTI42229.base = NTI42231; -NTI44305.base = NTI42229; -NTI162578.base = NTI140; -var NNI3662 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3662.node = NNI3662; -NTI3662.base = NTI3628; -var NNI160074 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI104, name: "Field0", sons: null}, -{kind: 1, offset: "Field1", len: 0, typ: NTI130, name: "Field1", sons: null}]}; -NTI160074.node = NNI160074; +var NTI163 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; +var NTI9681058 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI6098 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI9835571 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622454 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622450 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622446 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622442 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622438 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622434 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622430 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622426 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622422 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622418 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622414 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622410 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622406 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622402 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622398 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622394 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622390 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622386 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622382 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622378 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI622289 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI622287 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI622229 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; +var NTI622574 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622572 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622570 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622233 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI622231 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI624105 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI6086 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6094 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI143 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; +var NTI160043 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI6008 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6131 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI112 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; +var NTI114 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; +var NTI6126 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI6062 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6064 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6078 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6082 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NNI6082 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6082.node = NNI6082; +var NNI6078 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6078.node = NNI6078; +var NNI6064 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6064.node = NNI6064; +NTI6126.base = NTI6062; +NTI6131.base = NTI6062; +var NNI6062 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI6126, name: "parent", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI114, name: "name", sons: null}, +{kind: 1, offset: "message", len: 0, typ: NTI112, name: "msg", sons: null}, +{kind: 1, offset: "trace", len: 0, typ: NTI112, name: "trace", sons: null}, +{kind: 1, offset: "up", len: 0, typ: NTI6131, name: "up", sons: null}]}; +NTI6062.node = NNI6062; +var NNI6008 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6008.node = NNI6008; +NTI6062.base = NTI6008; +NTI6064.base = NTI6062; +NTI6078.base = NTI6064; +NTI6082.base = NTI6078; +var NNI160043 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI114, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI143, name: "Field1", sons: null}]}; +NTI160043.node = NNI160043; +var NNI6094 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6094.node = NNI6094; +NTI6094.base = NTI6064; +var NNI6086 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6086.node = NNI6086; +NTI6086.base = NTI6064; +NTI622570.base = NTI622231; +NTI622572.base = NTI622231; +NTI622574.base = NTI622231; +var NNI622229 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI622229, name: "ElementNode", len: 0, sons: null}, +"2": {kind: 1, offset: 2, typ: NTI622229, name: "AttributeNode", len: 0, sons: null}, +"3": {kind: 1, offset: 3, typ: NTI622229, name: "TextNode", len: 0, sons: null}, +"4": {kind: 1, offset: 4, typ: NTI622229, name: "CDATANode", len: 0, sons: null}, +"5": {kind: 1, offset: 5, typ: NTI622229, name: "EntityRefNode", len: 0, sons: null}, +"6": {kind: 1, offset: 6, typ: NTI622229, name: "EntityNode", len: 0, sons: null}, +"7": {kind: 1, offset: 7, typ: NTI622229, name: "ProcessingInstructionNode", len: 0, sons: null}, +"8": {kind: 1, offset: 8, typ: NTI622229, name: "CommentNode", len: 0, sons: null}, +"9": {kind: 1, offset: 9, typ: NTI622229, name: "DocumentNode", len: 0, sons: null}, +"10": {kind: 1, offset: 10, typ: NTI622229, name: "DocumentTypeNode", len: 0, sons: null}, +"11": {kind: 1, offset: 11, typ: NTI622229, name: "DocumentFragmentNode", len: 0, sons: null}, +"12": {kind: 1, offset: 12, typ: NTI622229, name: "NotationNode", len: 0, sons: null}}}; +NTI622229.node = NNI622229; +var NNI622289 = {kind: 2, len: 100, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "background", len: 0, typ: NTI114, name: "background", sons: null}, +{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI114, name: "backgroundAttachment", sons: null}, +{kind: 1, offset: "backgroundColor", len: 0, typ: NTI114, name: "backgroundColor", sons: null}, +{kind: 1, offset: "backgroundImage", len: 0, typ: NTI114, name: "backgroundImage", sons: null}, +{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI114, name: "backgroundPosition", sons: null}, +{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI114, name: "backgroundRepeat", sons: null}, +{kind: 1, offset: "backgroundSize", len: 0, typ: NTI114, name: "backgroundSize", sons: null}, +{kind: 1, offset: "border", len: 0, typ: NTI114, name: "border", sons: null}, +{kind: 1, offset: "borderBottom", len: 0, typ: NTI114, name: "borderBottom", sons: null}, +{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI114, name: "borderBottomColor", sons: null}, +{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI114, name: "borderBottomStyle", sons: null}, +{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI114, name: "borderBottomWidth", sons: null}, +{kind: 1, offset: "borderColor", len: 0, typ: NTI114, name: "borderColor", sons: null}, +{kind: 1, offset: "borderLeft", len: 0, typ: NTI114, name: "borderLeft", sons: null}, +{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI114, name: "borderLeftColor", sons: null}, +{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI114, name: "borderLeftStyle", sons: null}, +{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI114, name: "borderLeftWidth", sons: null}, +{kind: 1, offset: "borderRadius", len: 0, typ: NTI114, name: "borderRadius", sons: null}, +{kind: 1, offset: "borderRight", len: 0, typ: NTI114, name: "borderRight", sons: null}, +{kind: 1, offset: "borderRightColor", len: 0, typ: NTI114, name: "borderRightColor", sons: null}, +{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI114, name: "borderRightStyle", sons: null}, +{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI114, name: "borderRightWidth", sons: null}, +{kind: 1, offset: "borderStyle", len: 0, typ: NTI114, name: "borderStyle", sons: null}, +{kind: 1, offset: "borderTop", len: 0, typ: NTI114, name: "borderTop", sons: null}, +{kind: 1, offset: "borderTopColor", len: 0, typ: NTI114, name: "borderTopColor", sons: null}, +{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI114, name: "borderTopStyle", sons: null}, +{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI114, name: "borderTopWidth", sons: null}, +{kind: 1, offset: "borderWidth", len: 0, typ: NTI114, name: "borderWidth", sons: null}, +{kind: 1, offset: "bottom", len: 0, typ: NTI114, name: "bottom", sons: null}, +{kind: 1, offset: "boxSizing", len: 0, typ: NTI114, name: "boxSizing", sons: null}, +{kind: 1, offset: "boxShadow", len: 0, typ: NTI114, name: "boxShadow", sons: null}, +{kind: 1, offset: "captionSide", len: 0, typ: NTI114, name: "captionSide", sons: null}, +{kind: 1, offset: "clear", len: 0, typ: NTI114, name: "clear", sons: null}, +{kind: 1, offset: "clip", len: 0, typ: NTI114, name: "clip", sons: null}, +{kind: 1, offset: "color", len: 0, typ: NTI114, name: "color", sons: null}, +{kind: 1, offset: "cursor", len: 0, typ: NTI114, name: "cursor", sons: null}, +{kind: 1, offset: "direction", len: 0, typ: NTI114, name: "direction", sons: null}, +{kind: 1, offset: "display", len: 0, typ: NTI114, name: "display", sons: null}, +{kind: 1, offset: "emptyCells", len: 0, typ: NTI114, name: "emptyCells", sons: null}, +{kind: 1, offset: "cssFloat", len: 0, typ: NTI114, name: "cssFloat", sons: null}, +{kind: 1, offset: "font", len: 0, typ: NTI114, name: "font", sons: null}, +{kind: 1, offset: "fontFamily", len: 0, typ: NTI114, name: "fontFamily", sons: null}, +{kind: 1, offset: "fontSize", len: 0, typ: NTI114, name: "fontSize", sons: null}, +{kind: 1, offset: "fontStretch", len: 0, typ: NTI114, name: "fontStretch", sons: null}, +{kind: 1, offset: "fontStyle", len: 0, typ: NTI114, name: "fontStyle", sons: null}, +{kind: 1, offset: "fontVariant", len: 0, typ: NTI114, name: "fontVariant", sons: null}, +{kind: 1, offset: "fontWeight", len: 0, typ: NTI114, name: "fontWeight", sons: null}, +{kind: 1, offset: "height", len: 0, typ: NTI114, name: "height", sons: null}, +{kind: 1, offset: "left", len: 0, typ: NTI114, name: "left", sons: null}, +{kind: 1, offset: "letterSpacing", len: 0, typ: NTI114, name: "letterSpacing", sons: null}, +{kind: 1, offset: "lineHeight", len: 0, typ: NTI114, name: "lineHeight", sons: null}, +{kind: 1, offset: "listStyle", len: 0, typ: NTI114, name: "listStyle", sons: null}, +{kind: 1, offset: "listStyleImage", len: 0, typ: NTI114, name: "listStyleImage", sons: null}, +{kind: 1, offset: "listStylePosition", len: 0, typ: NTI114, name: "listStylePosition", sons: null}, +{kind: 1, offset: "listStyleType", len: 0, typ: NTI114, name: "listStyleType", sons: null}, +{kind: 1, offset: "margin", len: 0, typ: NTI114, name: "margin", sons: null}, +{kind: 1, offset: "marginBottom", len: 0, typ: NTI114, name: "marginBottom", sons: null}, +{kind: 1, offset: "marginLeft", len: 0, typ: NTI114, name: "marginLeft", sons: null}, +{kind: 1, offset: "marginRight", len: 0, typ: NTI114, name: "marginRight", sons: null}, +{kind: 1, offset: "marginTop", len: 0, typ: NTI114, name: "marginTop", sons: null}, +{kind: 1, offset: "maxHeight", len: 0, typ: NTI114, name: "maxHeight", sons: null}, +{kind: 1, offset: "maxWidth", len: 0, typ: NTI114, name: "maxWidth", sons: null}, +{kind: 1, offset: "minHeight", len: 0, typ: NTI114, name: "minHeight", sons: null}, +{kind: 1, offset: "minWidth", len: 0, typ: NTI114, name: "minWidth", sons: null}, +{kind: 1, offset: "opacity", len: 0, typ: NTI114, name: "opacity", sons: null}, +{kind: 1, offset: "outline", len: 0, typ: NTI114, name: "outline", sons: null}, +{kind: 1, offset: "overflow", len: 0, typ: NTI114, name: "overflow", sons: null}, +{kind: 1, offset: "overflowX", len: 0, typ: NTI114, name: "overflowX", sons: null}, +{kind: 1, offset: "overflowY", len: 0, typ: NTI114, name: "overflowY", sons: null}, +{kind: 1, offset: "padding", len: 0, typ: NTI114, name: "padding", sons: null}, +{kind: 1, offset: "paddingBottom", len: 0, typ: NTI114, name: "paddingBottom", sons: null}, +{kind: 1, offset: "paddingLeft", len: 0, typ: NTI114, name: "paddingLeft", sons: null}, +{kind: 1, offset: "paddingRight", len: 0, typ: NTI114, name: "paddingRight", sons: null}, +{kind: 1, offset: "paddingTop", len: 0, typ: NTI114, name: "paddingTop", sons: null}, +{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI114, name: "pageBreakAfter", sons: null}, +{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI114, name: "pageBreakBefore", sons: null}, +{kind: 1, offset: "pointerEvents", len: 0, typ: NTI114, name: "pointerEvents", sons: null}, +{kind: 1, offset: "position", len: 0, typ: NTI114, name: "position", sons: null}, +{kind: 1, offset: "resize", len: 0, typ: NTI114, name: "resize", sons: null}, +{kind: 1, offset: "right", len: 0, typ: NTI114, name: "right", sons: null}, +{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI114, name: "scrollbar3dLightColor", sons: null}, +{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI114, name: "scrollbarArrowColor", sons: null}, +{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI114, name: "scrollbarBaseColor", sons: null}, +{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI114, name: "scrollbarDarkshadowColor", sons: null}, +{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI114, name: "scrollbarFaceColor", sons: null}, +{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI114, name: "scrollbarHighlightColor", sons: null}, +{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI114, name: "scrollbarShadowColor", sons: null}, +{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI114, name: "scrollbarTrackColor", sons: null}, +{kind: 1, offset: "tableLayout", len: 0, typ: NTI114, name: "tableLayout", sons: null}, +{kind: 1, offset: "textAlign", len: 0, typ: NTI114, name: "textAlign", sons: null}, +{kind: 1, offset: "textDecoration", len: 0, typ: NTI114, name: "textDecoration", sons: null}, +{kind: 1, offset: "textIndent", len: 0, typ: NTI114, name: "textIndent", sons: null}, +{kind: 1, offset: "textTransform", len: 0, typ: NTI114, name: "textTransform", sons: null}, +{kind: 1, offset: "transform", len: 0, typ: NTI114, name: "transform", sons: null}, +{kind: 1, offset: "top", len: 0, typ: NTI114, name: "top", sons: null}, +{kind: 1, offset: "verticalAlign", len: 0, typ: NTI114, name: "verticalAlign", sons: null}, +{kind: 1, offset: "visibility", len: 0, typ: NTI114, name: "visibility", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI114, name: "width", sons: null}, +{kind: 1, offset: "wordSpacing", len: 0, typ: NTI114, name: "wordSpacing", sons: null}, +{kind: 1, offset: "zIndex", len: 0, typ: NTI143, name: "zIndex", sons: null}]}; +NTI622289.node = NNI622289; +NTI622289.base = NTI6008; +NTI622287.base = NTI622289; +var NNI622233 = {kind: 2, len: 16, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI622570, name: "attributes", sons: null}, +{kind: 1, offset: "childNodes", len: 0, typ: NTI622572, name: "childNodes", sons: null}, +{kind: 1, offset: "children", len: 0, typ: NTI622574, name: "children", sons: null}, +{kind: 1, offset: "data", len: 0, typ: NTI114, name: "data", sons: null}, +{kind: 1, offset: "firstChild", len: 0, typ: NTI622231, name: "firstChild", sons: null}, +{kind: 1, offset: "lastChild", len: 0, typ: NTI622231, name: "lastChild", sons: null}, +{kind: 1, offset: "nextSibling", len: 0, typ: NTI622231, name: "nextSibling", sons: null}, +{kind: 1, offset: "nodeName", len: 0, typ: NTI114, name: "nodeName", sons: null}, +{kind: 1, offset: "nodeType", len: 0, typ: NTI622229, name: "nodeType", sons: null}, +{kind: 1, offset: "nodeValue", len: 0, typ: NTI114, name: "nodeValue", sons: null}, +{kind: 1, offset: "parentNode", len: 0, typ: NTI622231, name: "parentNode", sons: null}, +{kind: 1, offset: "previousSibling", len: 0, typ: NTI622231, name: "previousSibling", sons: null}, +{kind: 1, offset: "innerHTML", len: 0, typ: NTI114, name: "innerHTML", sons: null}, +{kind: 1, offset: "innerText", len: 0, typ: NTI114, name: "innerText", sons: null}, +{kind: 1, offset: "textContent", len: 0, typ: NTI114, name: "textContent", sons: null}, +{kind: 1, offset: "style", len: 0, typ: NTI622287, name: "style", sons: null}]}; +NTI622233.node = NNI622233; +var NNI622205 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI622378, name: "onabort", sons: null}, +{kind: 1, offset: "onblur", len: 0, typ: NTI622382, name: "onblur", sons: null}, +{kind: 1, offset: "onchange", len: 0, typ: NTI622386, name: "onchange", sons: null}, +{kind: 1, offset: "onclick", len: 0, typ: NTI622390, name: "onclick", sons: null}, +{kind: 1, offset: "ondblclick", len: 0, typ: NTI622394, name: "ondblclick", sons: null}, +{kind: 1, offset: "onerror", len: 0, typ: NTI622398, name: "onerror", sons: null}, +{kind: 1, offset: "onfocus", len: 0, typ: NTI622402, name: "onfocus", sons: null}, +{kind: 1, offset: "onkeydown", len: 0, typ: NTI622406, name: "onkeydown", sons: null}, +{kind: 1, offset: "onkeypress", len: 0, typ: NTI622410, name: "onkeypress", sons: null}, +{kind: 1, offset: "onkeyup", len: 0, typ: NTI622414, name: "onkeyup", sons: null}, +{kind: 1, offset: "onload", len: 0, typ: NTI622418, name: "onload", sons: null}, +{kind: 1, offset: "onmousedown", len: 0, typ: NTI622422, name: "onmousedown", sons: null}, +{kind: 1, offset: "onmousemove", len: 0, typ: NTI622426, name: "onmousemove", sons: null}, +{kind: 1, offset: "onmouseout", len: 0, typ: NTI622430, name: "onmouseout", sons: null}, +{kind: 1, offset: "onmouseover", len: 0, typ: NTI622434, name: "onmouseover", sons: null}, +{kind: 1, offset: "onmouseup", len: 0, typ: NTI622438, name: "onmouseup", sons: null}, +{kind: 1, offset: "onreset", len: 0, typ: NTI622442, name: "onreset", sons: null}, +{kind: 1, offset: "onselect", len: 0, typ: NTI622446, name: "onselect", sons: null}, +{kind: 1, offset: "onsubmit", len: 0, typ: NTI622450, name: "onsubmit", sons: null}, +{kind: 1, offset: "onunload", len: 0, typ: NTI622454, name: "onunload", sons: null}]}; +NTI622205.node = NNI622205; +NTI622205.base = NTI6008; +NTI622233.base = NTI622205; +NTI622231.base = NTI622233; +NTI624105.base = NTI622231; +NTI9835571.base = NTI114; +var NNI6098 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6098.node = NNI6098; +NTI6098.base = NTI6064; +var NNI9681058 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI143, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI163, name: "Field1", sons: null}]}; +NTI9681058.node = NNI9681058; -function makeNimstrLit(c_23270) { - var ln = c_23270.length; +function makeNimstrLit(c_225062) { + var ln = c_225062.length; var result = new Array(ln); for (var i = 0; i < ln; ++i) { - result[i] = c_23270.charCodeAt(i); + result[i] = c_225062.charCodeAt(i); } return result; - + +} + +function arrayConstr(len_250067, value_250068, typ_250069) { + var result = new Array(len_250067); + for (var i = 0; i < len_250067; ++i) result[i] = nimCopy(null, value_250068, typ_250069); + return result; + + + } function setConstr() { - var result = {}; + var result = {}; for (var i = 0; i < arguments.length; ++i) { var x = arguments[i]; if (typeof(x) == "object") { @@ -276,103 +291,94 @@ function setConstr() { return result; - + } var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21); -function nimCopy(dest_24827, src_24828, ti_24829) { - var result_25019 = null; +function nimCopy(dest_240023, src_240024, ti_240025) { + var result_245219 = null; - switch (ti_24829.kind) { - case 21: - case 22: - case 23: - case 5: - if (!(is_fat_pointer_24801(ti_24829))) { - result_25019 = src_24828; - } - else { - result_25019 = [src_24828[0], src_24828[1]]; - } - - break; - case 19: - if (dest_24827 === null || dest_24827 === undefined) { - dest_24827 = {}; + switch (ti_240025.kind) { + case 21: + case 22: + case 23: + case 5: + if (!(is_fat_pointer_235401(ti_240025))) { + result_245219 = src_240024; } else { - for (var key in dest_24827) { delete dest_24827[key]; } + result_245219 = [src_240024[0], src_240024[1]]; } - for (var key in src_24828) { dest_24827[key] = src_24828[key]; } - result_25019 = dest_24827; + + break; + case 19: + if (dest_240023 === null || dest_240023 === undefined) { + dest_240023 = {}; + } + else { + for (var key in dest_240023) { delete dest_240023[key]; } + } + for (var key in src_240024) { dest_240023[key] = src_240024[key]; } + result_245219 = dest_240023; - break; - case 18: - case 17: - if (!((ti_24829.base == null))) { - result_25019 = nimCopy(dest_24827, src_24828, ti_24829.base); - } - else { - if ((ti_24829.kind == 17)) { - result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {m_type: ti_24829} : dest_24827; - } - else { - result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {} : dest_24827; - } - } - nimCopyAux(result_25019, src_24828, ti_24829.node); - break; - case 24: - case 4: - case 27: - case 16: - if (src_24828 === null) { - result_25019 = null; + break; + case 18: + case 17: + if (!((ti_240025.base == null))) { + result_245219 = nimCopy(dest_240023, src_240024, ti_240025.base); } else { - if (dest_24827 === null || dest_24827 === undefined) { - dest_24827 = new Array(src_24828.length); + if ((ti_240025.kind == 17)) { + result_245219 = (dest_240023 === null || dest_240023 === undefined) ? {m_type: ti_240025} : dest_240023; + } + else { + result_245219 = (dest_240023 === null || dest_240023 === undefined) ? {} : dest_240023; + } + } + nimCopyAux(result_245219, src_240024, ti_240025.node); + break; + case 24: + case 4: + case 27: + case 16: + if (src_240024 === null) { + result_245219 = null; + } + else { + if (dest_240023 === null || dest_240023 === undefined) { + dest_240023 = new Array(src_240024.length); } else { - dest_24827.length = src_24828.length; + dest_240023.length = src_240024.length; } - result_25019 = dest_24827; - for (var i = 0; i < src_24828.length; ++i) { - result_25019[i] = nimCopy(result_25019[i], src_24828[i], ti_24829.base); + result_245219 = dest_240023; + for (var i = 0; i < src_240024.length; ++i) { + result_245219[i] = nimCopy(result_245219[i], src_240024[i], ti_240025.base); } } - break; - case 28: - if (src_24828 !== null) { - result_25019 = src_24828.slice(0); + break; + case 28: + if (src_240024 !== null) { + result_245219 = src_240024.slice(0); } - break; - default: - result_25019 = src_24828; - break; - } + break; + default: + result_245219 = src_240024; + break; + } - return result_25019; + return result_245219; } -function arrayConstr(len_25086, value_25087, typ_25088) { - var result = new Array(len_25086); - for (var i = 0; i < len_25086; ++i) result[i] = nimCopy(null, value_25087, typ_25088); - return result; - - - -} - -function cstrToNimstr(c_23287) { - var ln = c_23287.length; +function cstrToNimstr(c_225079) { + var ln = c_225079.length; var result = new Array(ln); var r = 0; for (var i = 0; i < ln; ++i) { - var ch = c_23287.charCodeAt(i); + var ch = c_225079.charCodeAt(i); if (ch < 128) { result[r] = ch; @@ -387,7 +393,7 @@ function cstrToNimstr(c_23287) { } else { ++i; - ch = 65536 + (((ch & 1023) << 10) | (c_23287.charCodeAt(i) & 1023)); + ch = 65536 + (((ch & 1023) << 10) | (c_225079.charCodeAt(i) & 1023)); result[r] = (ch >> 18) | 240; ++r; result[r] = ((ch >> 12) & 63) | 128; @@ -403,1448 +409,1429 @@ function cstrToNimstr(c_23287) { return result; - + } -function toJSStr(s_23304) { - var Tmp5; - var Tmp7; +function toJSStr(s_225096) { + var Tmp5; + var Tmp7; - var result_23305 = null; + var result_225097 = null; - var res_23363 = new_seq_23336((s_23304 != null ? s_23304.length : 0)); - var i_23365 = 0; - var j_23367 = 0; - L1: do { - L2: while (true) { - if (!(i_23365 < (s_23304 != null ? s_23304.length : 0))) break L2; - var c_23368 = s_23304[i_23365]; - if ((c_23368 < 128)) { - res_23363[j_23367] = String.fromCharCode(c_23368); - i_23365 += 1; - } - else { - var helper_23391 = new_seq_23336(0); - L3: do { - L4: while (true) { - if (!true) break L4; - var code_23392 = c_23368.toString(16); - if (((code_23392 != null ? code_23392.length : 0) == 1)) { - if (helper_23391 != null) { helper_23391.push("%0"); } else { helper_23391 = ["%0"]; }; - } - else { - if (helper_23391 != null) { helper_23391.push("%"); } else { helper_23391 = ["%"]; }; - } - - if (helper_23391 != null) { helper_23391.push(code_23392); } else { helper_23391 = [code_23392]; }; - i_23365 += 1; - if (((s_23304 != null ? s_23304.length : 0) <= i_23365)) Tmp5 = true; else { Tmp5 = (s_23304[i_23365] < 128); } if (Tmp5) { - break L3; - } - - c_23368 = s_23304[i_23365]; - } - } while(false); + var res_225170 = new_seq_225128((s_225096 != null ? s_225096.length : 0)); + var i_225172 = 0; + var j_225174 = 0; + L1: do { + L2: while (true) { + if (!(i_225172 < (s_225096 != null ? s_225096.length : 0))) break L2; + var c_225175 = s_225096[i_225172]; + if ((c_225175 < 128)) { + res_225170[j_225174] = String.fromCharCode(c_225175); + i_225172 += 1; + } + else { + var helper_225198 = new_seq_225128(0); + L3: do { + L4: while (true) { + if (!true) break L4; + var code_225199 = c_225175.toString(16); + if (((code_225199 != null ? code_225199.length : 0) == 1)) { + if (helper_225198 != null) { helper_225198.push("%0"); } else { helper_225198 = ["%0"]; }; + } + else { + if (helper_225198 != null) { helper_225198.push("%"); } else { helper_225198 = ["%"]; }; + } + + if (helper_225198 != null) { helper_225198.push(code_225199); } else { helper_225198 = [code_225199]; }; + i_225172 += 1; + if (((s_225096 != null ? s_225096.length : 0) <= i_225172)) Tmp5 = true; else { Tmp5 = (s_225096[i_225172] < 128); } if (Tmp5) { + break L3; + } + + c_225175 = s_225096[i_225172]; + } + } while(false); ++excHandler; - Tmp7 = framePtr; - try { - res_23363[j_23367] = decodeURIComponent(helper_23391.join("")); + Tmp7 = framePtr; + try { + res_225170[j_225174] = decodeURIComponent(helper_225198.join("")); --excHandler; } catch (EXC) { var prevJSError = lastJSError; lastJSError = EXC; --excHandler; - framePtr = Tmp7; - res_23363[j_23367] = helper_23391.join(""); - lastJSError = prevJSError; - } finally { - framePtr = Tmp7; - } - } - - j_23367 += 1; - } - } while(false); - if (res_23363 === null) res_23363 = []; - if (res_23363.length < j_23367) { for (var i=res_23363.length;i 2147483647 || result < -2147483648) raiseOverflow(); return result; - + } -function chckIndx(i_25105, a_25106, b_25107) { - var Tmp1; +function chckIndx(i_250086, a_250087, b_250088) { + var Tmp1; - var result_25108 = 0; + var result_250089 = 0; - BeforeRet: do { - if (!(a_25106 <= i_25105)) Tmp1 = false; else { Tmp1 = (i_25105 <= b_25107); } if (Tmp1) { - result_25108 = i_25105; - break BeforeRet; - } - else { - raiseIndexError(i_25105, a_25106, b_25107); - } - - } while (false); + BeforeRet: do { + if (!(a_250087 <= i_250086)) Tmp1 = false; else { Tmp1 = (i_250086 <= b_250088); } if (Tmp1) { + result_250089 = i_250086; + break BeforeRet; + } + else { + raiseIndexError(i_250086, a_250087, b_250088); + } + + } while (false); - return result_25108; + return result_250089; } -function subInt(a_23821, b_23822) { - var result = a_23821 - b_23822; +function subInt(a_230421, b_230422) { + var result = a_230421 - b_230422; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; - + } var ConstSet2 = setConstr([65, 90]); -function chckRange(i_25124, a_25125, b_25126) { - var Tmp1; +function chckRange(i_255016, a_255017, b_255018) { + var Tmp1; - var result_25127 = 0; + var result_255019 = 0; - BeforeRet: do { - if (!(a_25125 <= i_25124)) Tmp1 = false; else { Tmp1 = (i_25124 <= b_25126); } if (Tmp1) { - result_25127 = i_25124; - break BeforeRet; - } - else { - raiseRangeError(); - } - - } while (false); + BeforeRet: do { + if (!(a_255017 <= i_255016)) Tmp1 = false; else { Tmp1 = (i_255016 <= b_255018); } if (Tmp1) { + result_255019 = i_255016; + break BeforeRet; + } + else { + raiseRangeError(); + } + + } while (false); - return result_25127; + return result_255019; } var ConstSet3 = setConstr(95, 32, 46); var ConstSet4 = setConstr(95, 32, 46); -function mulInt(a_23839, b_23840) { - var result = a_23839 * b_23840; +function mulInt(a_230439, b_230440) { + var result = a_230439 * b_230440; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; - + } var ConstSet5 = setConstr([97, 122]); var ConstSet6 = setConstr([65, 90], [97, 122]); var ConstSet7 = setConstr([97, 122]); var ConstSet8 = setConstr([65, 90]); -function nimMax(a_24221, b_24222) { - var Tmp1; +function nimMax(a_230821, b_230822) { + var Tmp1; - var result_24223 = 0; + var result_230823 = 0; - BeforeRet: do { - if ((b_24222 <= a_24221)) { - Tmp1 = a_24221; - } - else { - Tmp1 = b_24222; - } - - result_24223 = Tmp1; - break BeforeRet; - } while (false); + BeforeRet: do { + if ((b_230822 <= a_230821)) { + Tmp1 = a_230821; + } + else { + Tmp1 = b_230822; + } + + result_230823 = Tmp1; + break BeforeRet; + } while (false); - return result_24223; + return result_230823; } -function nimMin(a_24203, b_24204) { - var Tmp1; +function nimMin(a_230803, b_230804) { + var Tmp1; - var result_24205 = 0; + var result_230805 = 0; - BeforeRet: do { - if ((a_24203 <= b_24204)) { - Tmp1 = a_24203; - } - else { - Tmp1 = b_24204; - } - - result_24205 = Tmp1; - break BeforeRet; - } while (false); + BeforeRet: do { + if ((a_230803 <= b_230804)) { + Tmp1 = a_230803; + } + else { + Tmp1 = b_230804; + } + + result_230805 = Tmp1; + break BeforeRet; + } while (false); - return result_24205; + return result_230805; } var nim_program_result = 0; -var global_raise_hook_18618 = [null]; -var local_raise_hook_18623 = [null]; -var out_of_mem_hook_18626 = [null]; - if (!Math.trunc) { - Math.trunc = function(v) { - v = +v; - if (!isFinite(v)) return v; +var global_raise_hook_142018 = [null]; +var local_raise_hook_142023 = [null]; +var out_of_mem_hook_142026 = [null]; +var unhandled_exception_hook_142031 = [null]; +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); + }; +} - return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); - }; - } -var alternative_162319 = [null]; +var alternative_9835319 = [null]; -function is_fat_pointer_24801(ti_24803) { - var result_24804 = false; +function add_142042(x_142045, x_142045_Idx, y_142046) { + if (x_142045[x_142045_Idx] === null) { x_142045[x_142045_Idx] = []; } + var off = x_142045[x_142045_Idx].length; + x_142045[x_142045_Idx].length += y_142046.length; + for (var i = 0; i < y_142046.length; ++i) { + x_142045[x_142045_Idx][off+i] = y_142046.charCodeAt(i); + } + - BeforeRet: do { - result_24804 = !((ConstSet1[ti_24803.base.kind] != undefined)); - break BeforeRet; - } while (false); + +} - return result_24804; +function is_fat_pointer_235401(ti_235403) { + var result_235404 = false; + + BeforeRet: do { + result_235404 = !((ConstSet1[ti_235403.base.kind] != undefined)); + break BeforeRet; + } while (false); + + return result_235404; } -function nimCopyAux(dest_24832, src_24833, n_24835) { - switch (n_24835.kind) { - case 0: - break; - case 1: - dest_24832[n_24835.offset] = nimCopy(dest_24832[n_24835.offset], src_24833[n_24835.offset], n_24835.typ); +function nimCopyAux(dest_240028, src_240029, n_240031) { + switch (n_240031.kind) { + case 0: + break; + case 1: + dest_240028[n_240031.offset] = nimCopy(dest_240028[n_240031.offset], src_240029[n_240031.offset], n_240031.typ); - break; - case 2: - for (var i = 0; i < n_24835.sons.length; i++) { - nimCopyAux(dest_24832, src_24833, n_24835.sons[i]); + break; + case 2: + for (var i = 0; i < n_240031.sons.length; i++) { + nimCopyAux(dest_240028, src_240029, n_240031.sons[i]); } - break; - case 3: - dest_24832[n_24835.offset] = nimCopy(dest_24832[n_24835.offset], src_24833[n_24835.offset], n_24835.typ); - for (var i = 0; i < n_24835.sons.length; ++i) { - nimCopyAux(dest_24832, src_24833, n_24835.sons[i][1]); + break; + case 3: + dest_240028[n_240031.offset] = nimCopy(dest_240028[n_240031.offset], src_240029[n_240031.offset], n_240031.typ); + for (var i = 0; i < n_240031.sons.length; ++i) { + nimCopyAux(dest_240028, src_240029, n_240031.sons[i][1]); } - break; - } + break; + } - + } -function add_18638(x_18641, x_18641_Idx, y_18642) { - if (x_18641[x_18641_Idx] === null) { x_18641[x_18641_Idx] = []; } - var off = x_18641[x_18641_Idx].length; - x_18641[x_18641_Idx].length += y_18642.length; - for (var i = 0; i < y_18642.length; ++i) { - x_18641[x_18641_Idx][off+i] = y_18642.charCodeAt(i); - } +function aux_write_stack_trace_160038(f_160040) { + var Tmp3; + + var result_160041 = [null]; + + var it_160049 = f_160040; + var i_160051 = 0; + var total_160053 = 0; + var temp_frames_160060 = arrayConstr(64, {Field0: null, Field1: 0}, NTI160043); + L1: do { + L2: while (true) { + if (!!((it_160049 == null))) Tmp3 = false; else { Tmp3 = (i_160051 <= 63); } if (!Tmp3) break L2; + temp_frames_160060[i_160051].Field0 = it_160049.procname; + temp_frames_160060[i_160051].Field1 = it_160049.line; + i_160051 += 1; + total_160053 += 1; + it_160049 = it_160049.prev; + } + } while(false); + L4: do { + L5: while (true) { + if (!!((it_160049 == null))) break L5; + total_160053 += 1; + it_160049 = it_160049.prev; + } + } while(false); + result_160041[0] = nimCopy(null, [], NTI112); + if (!((total_160053 == i_160051))) { + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit("(")); } else { result_160041[0] = makeNimstrLit("("); }; + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(cstrToNimstr(((total_160053 - i_160051))+"")); } else { result_160041[0] = cstrToNimstr(((total_160053 - i_160051))+"").slice(); }; + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit(" calls omitted) ...\x0A")); } else { result_160041[0] = makeNimstrLit(" calls omitted) ...\x0A"); }; + } + + L6: do { + var j_175236 = 0; + var colontmp__9835463 = 0; + colontmp__9835463 = (i_160051 - 1); + var res_9835468 = colontmp__9835463; + L7: do { + L8: while (true) { + if (!(0 <= res_9835468)) break L8; + j_175236 = res_9835468; + add_142042(result_160041, 0, temp_frames_160060[j_175236].Field0); + if ((0 < temp_frames_160060[j_175236].Field1)) { + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit(", line: ")); } else { result_160041[0] = makeNimstrLit(", line: "); }; + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(cstrToNimstr((temp_frames_160060[j_175236].Field1)+"")); } else { result_160041[0] = cstrToNimstr((temp_frames_160060[j_175236].Field1)+"").slice(); }; + } + + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit("\x0A")); } else { result_160041[0] = makeNimstrLit("\x0A"); }; + res_9835468 -= 1; + } + } while(false); + } while(false); + + return result_160041[0]; + +} + +function raw_write_stack_trace_180059() { + var result_180061 = null; + + if (!((framePtr == null))) { + result_180061 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(aux_write_stack_trace_160038(framePtr) || []), NTI112); + } + else { + result_180061 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI112); + } - -} - -function aux_write_stack_trace_21151(f_21153) { - var Tmp3; - - var result_21154 = [null]; - - var it_21162 = f_21153; - var i_21164 = 0; - var total_21166 = 0; - var temp_frames_21173 = arrayConstr(64, {Field0: null, Field1: 0}, NTI21156); - L1: do { - L2: while (true) { - if (!!((it_21162 == null))) Tmp3 = false; else { Tmp3 = (i_21164 <= 63); } if (!Tmp3) break L2; - temp_frames_21173[i_21164].Field0 = it_21162.procname; - temp_frames_21173[i_21164].Field1 = it_21162.line; - i_21164 += 1; - total_21166 += 1; - it_21162 = it_21162.prev; - } - } while(false); - L4: do { - L5: while (true) { - if (!!((it_21162 == null))) break L5; - total_21166 += 1; - it_21162 = it_21162.prev; - } - } while(false); - result_21154[0] = nimCopy(null, [], NTI138); - if (!((total_21166 == i_21164))) { - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("(")); } else { result_21154[0] = makeNimstrLit("("); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr(((total_21166 - i_21164))+"")); } else { result_21154[0] = cstrToNimstr(((total_21166 - i_21164))+"").slice(); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(" calls omitted) ...\x0A")); } else { result_21154[0] = makeNimstrLit(" calls omitted) ...\x0A"); }; - } - - L6: do { - var j_21421 = 0; - var colontmp__162466 = 0; - colontmp__162466 = (i_21164 - 1); - var res_162471 = colontmp__162466; - L7: do { - L8: while (true) { - if (!(0 <= res_162471)) break L8; - j_21421 = res_162471; - add_18638(result_21154, 0, temp_frames_21173[j_21421].Field0); - if ((0 < temp_frames_21173[j_21421].Field1)) { - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(", line: ")); } else { result_21154[0] = makeNimstrLit(", line: "); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr((temp_frames_21173[j_21421].Field1)+"")); } else { result_21154[0] = cstrToNimstr((temp_frames_21173[j_21421].Field1)+"").slice(); }; - } - - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("\x0A")); } else { result_21154[0] = makeNimstrLit("\x0A"); }; - res_162471 -= 1; - } - } while(false); - } while(false); - - return result_21154[0]; + return result_180061; } -function raw_write_stack_trace_21468() { - var result_21470 = null; +function new_seq_225128(len_225131) { + var result_225133 = null; - if (!((framePtr == null))) { - result_21470 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(aux_write_stack_trace_21151(framePtr) || []), NTI138); - } - else { - result_21470 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI138); - } - + var F={procname:"newSeq.newSeq",prev:framePtr,filename:"system.nim",line:0}; + framePtr = F; + F.line = 626; + result_225133 = new Array(len_225131); for (var i=0;i", "text/html"); - stuff_162563 = doc.documentElement; + stuff_9835556 = doc.documentElement; - F.line = 286; - db_162535[0] = nimCopy(null, stuff_162563.getElementsByClassName("reference"), NTI44305); - F.line = 287; - contents_162537[0] = nimCopy(null, [], NTI162578); - L1: do { - F.line = 288; - var ahref_162814 = null; - F.line = 184; - var i_163045 = 0; - F.line = 185; - var l_163046 = (db_162535[0] != null ? db_162535[0].length : 0); - L2: do { - F.line = 186; - L3: while (true) { - if (!(i_163045 < l_163046)) break L3; - F.line = 288; - ahref_162814 = db_162535[0][chckIndx(i_163045, 0, (db_162535[0] != null ? db_162535[0].length : 0)+0-1)-0]; - F.line = 289; - if (contents_162537[0] != null) { contents_162537[0].push(ahref_162814.getAttribute("data-doc-search-tag")); } else { contents_162537[0] = [ahref_162814.getAttribute("data-doc-search-tag")]; }; - F.line = 188; - i_163045 = addInt(i_163045, 1); - if (!(((db_162535[0] != null ? db_162535[0].length : 0) == l_163046))) { - F.line = 189; - failed_assert_impl_15266(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-1.0.4/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); - } - - } - } while(false); - } while(false); - } - - F.line = 290; - var ul_162825 = tree_161020(makeNimstrLit("UL"), []); - F.line = 291; - result_162557 = tree_161020(makeNimstrLit("DIV"), []); - F.line = 292; - set_class_161103(result_162557, makeNimstrLit("search_results")); - F.line = 293; - var matches_162846 = []; - L4: do { - F.line = 294; - var i_162859 = 0; - F.line = 2737; - var colontmp__163052 = 0; - F.line = 294; - colontmp__163052 = (db_162535[0] != null ? db_162535[0].length : 0); - F.line = 2739; - var i_163053 = 0; - L5: do { - F.line = 2740; - L6: while (true) { - if (!(i_163053 < colontmp__163052)) break L6; - F.line = 294; - i_162859 = i_163053; - L7: do { - F.line = 295; - var c_162860 = contents_162537[0][chckIndx(i_162859, 0, (contents_162537[0] != null ? contents_162537[0].length : 0)+0-1)-0]; - if (((c_162860 == "Examples") || (c_162860 == "PEG construction"))) { - F.line = 300; - break L7; - } - - F.line = 301; - var colontmp__163062 = {Field0: 0, Field1: false}; - F.line = 301; - var score_162861 = 0; - F.line = 301; - var matched_162862 = false; - F.line = 301; - nimCopy(colontmp__163062, fuzzy_match_160070(value_162556, c_162860), NTI160074); - F.line = 301; - score_162861 = colontmp__163062["Field0"]; - F.line = 301; - matched_162862 = colontmp__163062["Field1"]; - if (matched_162862) { - F.line = 303; - if (matches_162846 != null) { matches_162846.push({Field0: db_162535[0][chckIndx(i_162859, 0, (db_162535[0] != null ? db_162535[0].length : 0)+0-1)-0], Field1: score_162861}); } else { matches_162846 = [{Field0: db_162535[0][chckIndx(i_162859, 0, (db_162535[0] != null ? db_162535[0].length : 0)+0-1)-0], Field1: score_162861}]; }; - } - - } while(false); - F.line = 2742; - i_163053 = addInt(i_163053, 1); - } - } while(false); - } while(false); - F.line = 305; - matches_162846.sort(HEX3Aanonymous_162873); - L8: do { - F.line = 306; - var i_162926 = 0; - F.line = 2737; - var colontmp__163058 = 0; - F.line = 306; - colontmp__163058 = nimMin((matches_162846 != null ? matches_162846.length : 0), 19); - F.line = 2739; - var i_163059 = 0; - L9: do { - F.line = 2740; - L10: while (true) { - if (!(i_163059 < colontmp__163058)) break L10; - F.line = 306; - i_162926 = i_163059; - F.line = 307; - matches_162846[chckIndx(i_162926, 0, (matches_162846 != null ? matches_162846.length : 0)+0-1)-0]["Field0"].innerHTML = matches_162846[chckIndx(i_162926, 0, (matches_162846 != null ? matches_162846.length : 0)+0-1)-0]["Field0"].getAttribute("data-doc-search-tag"); - F.line = 308; - add_161085(ul_162825, tree_161020(makeNimstrLit("LI"), [matches_162846[chckIndx(i_162926, 0, (matches_162846 != null ? matches_162846.length : 0)+0-1)-0]["Field0"]])); - F.line = 2742; - i_163059 = addInt(i_163059, 1); - } - } while(false); - } while(false); - if ((ul_162825.childNodes.length == 0)) { - F.line = 310; - add_161085(result_162557, tree_161020(makeNimstrLit("B"), [text_161120(makeNimstrLit("no search results"))])); - } - else { - F.line = 312; - add_161085(result_162557, tree_161020(makeNimstrLit("B"), [text_161120(makeNimstrLit("search results"))])); - F.line = 313; - add_161085(result_162557, ul_162825); - } - - framePtr = F.prev; + F.line = 286; + db_9835528[0] = nimCopy(null, stuff_9835556.getElementsByClassName("reference"), NTI624105); + F.line = 287; + contents_9835530[0] = nimCopy(null, [], NTI9835571); + L1: do { + F.line = 288; + var ahref_9845214 = null; + F.line = 184; + var i_9855040 = 0; + F.line = 185; + var l_9855041 = (db_9835528[0] != null ? db_9835528[0].length : 0); + L2: do { + F.line = 186; + L3: while (true) { + if (!(i_9855040 < l_9855041)) break L3; + F.line = 288; + ahref_9845214 = db_9835528[0][chckIndx(i_9855040, 0, (db_9835528[0] != null ? db_9835528[0].length : 0)+0-1)-0]; + F.line = 289; + if (contents_9835530[0] != null) { contents_9835530[0].push(ahref_9845214.getAttribute("data-doc-search-tag")); } else { contents_9835530[0] = [ahref_9845214.getAttribute("data-doc-search-tag")]; }; + F.line = 188; + i_9855040 = addInt(i_9855040, 1); + if (!(((db_9835528[0] != null ? db_9835528[0].length : 0) == l_9855041))) { + F.line = 189; + failed_assert_impl_102680(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-#devel/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + } + + F.line = 290; + var ul_9845225 = tree_9756020(makeNimstrLit("UL"), []); + F.line = 291; + result_9835550 = tree_9756020(makeNimstrLit("DIV"), []); + F.line = 292; + set_class_9756118(result_9835550, makeNimstrLit("search_results")); + F.line = 293; + var matches_9845246 = []; + L4: do { + F.line = 294; + var i_9845259 = 0; + F.line = 104; + var colontmp__9855047 = 0; + F.line = 294; + colontmp__9855047 = (db_9835528[0] != null ? db_9835528[0].length : 0); + F.line = 106; + var i_9855048 = 0; + L5: do { + F.line = 107; + L6: while (true) { + if (!(i_9855048 < colontmp__9855047)) break L6; + F.line = 294; + i_9845259 = i_9855048; + L7: do { + F.line = 295; + var c_9845260 = contents_9835530[0][chckIndx(i_9845259, 0, (contents_9835530[0] != null ? contents_9835530[0].length : 0)+0-1)-0]; + if (((c_9845260 == "Examples") || (c_9845260 == "PEG construction"))) { + F.line = 300; + break L7; + } + + F.line = 301; + var colontmp__9855055 = fuzzy_match_9681054(value_9835549, c_9845260); + F.line = 301; + var score_9845261 = colontmp__9855055["Field0"]; + F.line = 301; + var matched_9845262 = colontmp__9855055["Field1"]; + if (matched_9845262) { + F.line = 303; + if (matches_9845246 != null) { matches_9845246.push({Field0: db_9835528[0][chckIndx(i_9845259, 0, (db_9835528[0] != null ? db_9835528[0].length : 0)+0-1)-0], Field1: score_9845261}); } else { matches_9845246 = [{Field0: db_9835528[0][chckIndx(i_9845259, 0, (db_9835528[0] != null ? db_9835528[0].length : 0)+0-1)-0], Field1: score_9845261}]; }; + } + + } while(false); + F.line = 109; + i_9855048 = addInt(i_9855048, 1); + } + } while(false); + } while(false); + F.line = 305; + matches_9845246.sort(HEX3Aanonymous_9845273); + L8: do { + F.line = 306; + var i_9845326 = 0; + F.line = 104; + var colontmp__9855052 = 0; + F.line = 306; + colontmp__9855052 = nimMin((matches_9845246 != null ? matches_9845246.length : 0), 19); + F.line = 106; + var i_9855053 = 0; + L9: do { + F.line = 107; + L10: while (true) { + if (!(i_9855053 < colontmp__9855052)) break L10; + F.line = 306; + i_9845326 = i_9855053; + F.line = 307; + matches_9845246[chckIndx(i_9845326, 0, (matches_9845246 != null ? matches_9845246.length : 0)+0-1)-0]["Field0"].innerHTML = matches_9845246[chckIndx(i_9845326, 0, (matches_9845246 != null ? matches_9845246.length : 0)+0-1)-0]["Field0"].getAttribute("data-doc-search-tag"); + F.line = 308; + add_9756100(ul_9845225, tree_9756020(makeNimstrLit("LI"), [matches_9845246[chckIndx(i_9845326, 0, (matches_9845246 != null ? matches_9845246.length : 0)+0-1)-0]["Field0"]])); + F.line = 109; + i_9855053 = addInt(i_9855053, 1); + } + } while(false); + } while(false); + if ((ul_9845225.childNodes.length == 0)) { + F.line = 310; + add_9756100(result_9835550, tree_9756020(makeNimstrLit("B"), [text_9756135(makeNimstrLit("no search results"))])); + } + else { + F.line = 312; + add_9756100(result_9835550, tree_9756020(makeNimstrLit("B"), [text_9756135(makeNimstrLit("search results"))])); + F.line = 313; + add_9756100(result_9835550, ul_9845225); + } + + framePtr = F.prev; - return result_162557; + return result_9835550; } function search() { - function wrapper_162993() { - var F={procname:"search.wrapper",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 320; - var elem_162995 = document.getElementById("searchInput"); - F.line = 321; - var value_162996 = elem_162995.value; - if (!(((value_162996 != null ? value_162996.length : 0) == 0))) { - if ((oldtoc_162961[0] == null)) { - F.line = 324; - oldtoc_162961[0] = document.getElementById("tocRoot"); - } - - F.line = 325; - var results_163002 = dosearch_162554(value_162996); - F.line = 326; - replace_by_id_161172("tocRoot", results_163002); - } - else { - if (!((oldtoc_162961[0] == null))) { - F.line = 328; - replace_by_id_161172("tocRoot", oldtoc_162961[0]); - } - } - framePtr = F.prev; + function wrapper_9845435() { + var F={procname:"search.wrapper",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 320; + var elem_9845437 = document.getElementById("searchInput"); + F.line = 321; + var value_9845438 = elem_9845437.value; + if (!(((value_9845438 != null ? value_9845438.length : 0) == 0))) { + if ((oldtoc_9845403[0] == null)) { + F.line = 324; + oldtoc_9845403[0] = document.getElementById("tocRoot"); + } + + F.line = 325; + var results_9850006 = dosearch_9835547(value_9845438); + F.line = 326; + replace_by_id_9756172("tocRoot", results_9850006); + } + else { + if (!((oldtoc_9845403[0] == null))) { + F.line = 328; + replace_by_id_9756172("tocRoot", oldtoc_9845403[0]); + } + } + framePtr = F.prev; - - } + + } - var F={procname:"dochack.search",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - if (!((timer_162962[0] == null))) { - F.line = 330; - clearTimeout(timer_162962[0]); - } - - F.line = 331; - timer_162962[0] = setTimeout(wrapper_162993, 400); - framePtr = F.prev; + var F={procname:"dochack.search",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + if (!((timer_9845404[0] == null))) { + F.line = 330; + clearTimeout(timer_9845404[0]); + } + + F.line = 331; + timer_9845404[0] = setTimeout(wrapper_9845435, 400); + framePtr = F.prev; - + } diff --git a/docs.html b/docs.html new file mode 100644 index 0000000..d7955c5 --- /dev/null +++ b/docs.html @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + +docs + + + + + + + + +
+
+

docs

+
+
+
+ +     Dark Mode +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+
+
+ +

+
+

Procs

+
+ +
proc buildDocs(files: openArray[string]; path: string;
+              baseDir = getProjectPath() & "/"; defines: openArray[string] = @[]) {...}{.
+    raises: [OSError, ValueError], tags: [ReadIOEffect].}
+
+ +

Generate docs for all specified nim files to the specified path

+

baseDir is the project path by default and files and path are relative to that directory. Set to "" if using absolute paths.

+

defines is a list of -d:xxx define flags (the xxx part) that should be passed to nim doc so that getHeader() is invoked correctly.

+

Use the --publish flag with nimble to publish docs contained in path to Github in the gh-pages branch. This requires the ghp-import package for Python: pip install ghp-import

+

WARNING: --publish will destroy any existing content in this branch.

+

NOTE: buildDocs() only works correctly on Windows with Nim 1.0+ since https://github.com/nim-lang/Nim/pull/11814 is required.

+ + +
+ +
+ +
+
+ +
+ +
+
+
+ + + diff --git a/docs.idx b/docs.idx new file mode 100644 index 0000000..e494dcb --- /dev/null +++ b/docs.idx @@ -0,0 +1 @@ +buildDocs docs.html#buildDocs,openArray[string],string,openArray[string] docs: buildDocs(files: openArray[string]; path: string; baseDir = getProjectPath() & "/";\n defines: openArray[string] = @[]) diff --git a/nimdoc.out.css b/nimdoc.out.css new file mode 100644 index 0000000..4ee73ea --- /dev/null +++ b/nimdoc.out.css @@ -0,0 +1,891 @@ +/* +Stylesheet for use with Docutils/rst2html. + +See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to +customize this style sheet. + +Modified from Chad Skeeters' rst2html-style +https://bitbucket.org/cskeeters/rst2html-style/ + +Modified by Boyd Greenfield and narimiran +*/ + +:root { + --primary-background: #fff; + --secondary-background: ghostwhite; + --third-background: #e8e8e8; + --border: #dde; + --text: #222; + --anchor: #07b; + --anchor-focus: #607c9f; + --input-focus: #1fa0eb; + --strong: #3c3c3c; + --hint: #9A9A9A; + --nim-sprite-base64: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN4AAAA9CAYAAADCt9ebAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEyLTAzVDAxOjAzOjQ4KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wM1QwMjoyODo0MSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wM1QwMjoyODo0MSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMzM0ZjAxYS0yMDExLWE1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"); + + --keyword: #5e8f60; + --identifier: #222; + --comment: #484a86; + --operator: #155da4; + --punctuation: black; + --other: black; + --escapeSequence: #c4891b; + --number: #252dbe; + --literal: #a4255b; + --raw-data: #a4255b; +} + +[data-theme="dark"] { + --primary-background: #171921; + --secondary-background: #1e202a; + --third-background: #2b2e3b; + --border: #0e1014; + --text: #fff; + --anchor: #8be9fd; + --anchor-focus: #8be9fd; + --input-focus: #8be9fd; + --strong: #bd93f9; + --hint: #7A7C85; + --nim-sprite-base64: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAABMCAYAAABOBlMuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEyLTAzVDAxOjE4OjIyKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZGViMzU3MC1iNmZjLWQy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"); + + --keyword: #ff79c6; + --identifier: #f8f8f2; + --comment: #6272a4; + --operator: #ff79c6; + --punctuation: #f8f8f2; + --other: #f8f8f2; + --escapeSequence: #bd93f9; + --number: #bd93f9; + --literal: #f1fa8c; + --raw-data: #8be9fd; +} + +.theme-switch-wrapper { + display: flex; + align-items: center; + + em { + margin-left: 10px; + font-size: 1rem; + } +} +.theme-switch { + display: inline-block; + height: 22px; + position: relative; + width: 50px; +} + +.theme-switch input { + display: none; +} + +.slider { + background-color: #ccc; + bottom: 0; + cursor: pointer; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: .4s; +} + +.slider:before { + background-color: #fff; + bottom: 4px; + content: ""; + height: 13px; + left: 4px; + position: absolute; + transition: .4s; + width: 13px; +} + +input:checked + .slider { + background-color: #66bb6a; +} + +input:checked + .slider:before { + transform: translateX(26px); +} + +.slider.round { + border-radius: 17px; +} + +.slider.round:before { + border-radius: 50%; +} + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; } + +body { + font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; + font-weight: 400; + font-size: 1.125em; + line-height: 1.5; + color: var(--text); + background-color: var(--primary-background); } + +/* Skeleton grid */ +.container { + position: relative; + width: 100%; + max-width: 1050px; + margin: 0 auto; + padding: 0; + box-sizing: border-box; } + +.column, +.columns { + width: 100%; + float: left; + box-sizing: border-box; + margin-left: 1%; +} + +.column:first-child, +.columns:first-child { + margin-left: 0; } + +.three.columns { + width: 19%; } + +.nine.columns { + width: 80.0%; } + +.twelve.columns { + width: 100%; + margin-left: 0; } + +@media screen and (max-width: 860px) { + .three.columns { + display: none; + } + .nine.columns { + width: 98.0%; + } + body { + font-size: 1em; + line-height: 1.35; + } +} + +cite { + font-style: italic !important; } + + +/* Nim search input */ +div#searchInputDiv { + margin-bottom: 1em; +} +input#searchInput { + width: 80%; +} + +/* + * Some custom formatting for input forms. + * This also fixes input form colors on Firefox with a dark system theme on Linux. + */ +input { + -moz-appearance: none; + background-color: var(--secondary-background); + color: var(--text); + border: 1px solid var(--border); + font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; + font-size: 0.9em; + padding: 6px; +} + +input:focus { + border: 1px solid var(--input-focus); + box-shadow: 0 0 3px var(--input-focus); +} + +select { + -moz-appearance: none; + background-color: var(--secondary-background); + color: var(--text); + border: 1px solid var(--border); + font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; + font-size: 0.9em; + padding: 6px; +} + +select:focus { + border: 1px solid var(--input-focus); + box-shadow: 0 0 3px var(--input-focus); +} + +/* Docgen styles */ +/* Links */ +a { + color: var(--anchor); + text-decoration: none; +} + +a span.Identifier { + text-decoration: underline; + text-decoration-color: #aab; +} + +a.reference-toplevel { + font-weight: bold; +} + +a.toc-backref { + text-decoration: none; + color: var(--text); } + +a.link-seesrc { + color: #607c9f; + font-size: 0.9em; + font-style: italic; } + +a:hover, +a:focus { + color: var(--anchor-focus); + text-decoration: underline; } + +a:hover span.Identifier { + color: var(--anchor); +} + + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +img { + width: auto; + height: auto; + max-width: 100%; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; } + +@media print { + * { + color: black !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; } + + a, + a:visited { + text-decoration: underline; } + + a[href]:after { + content: " (" attr(href) ")"; } + + abbr[title]:after { + content: " (" attr(title) ")"; } + + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + + thead { + display: table-header-group; } + + tr, + img { + page-break-inside: avoid; } + + img { + max-width: 100% !important; } + + @page { + margin: 0.5cm; } + + h1 { + page-break-before: always; } + + h1.title { + page-break-before: avoid; } + + p, + h2, + h3 { + orphans: 3; + widows: 3; } + + h2, + h3 { + page-break-after: avoid; } +} + + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +small { + font-size: 85%; } + +strong { + font-weight: 600; + font-size: 0.95em; + color: var(--strong); +} + +em { + font-style: italic; } + +h1 { + font-size: 1.8em; + font-weight: 400; + padding-bottom: .25em; + border-bottom: 6px solid var(--third-background); + margin-top: 2.5em; + margin-bottom: 1em; + line-height: 1.2em; } + +h1.title { + padding-bottom: 1em; + border-bottom: 0px; + font-size: 2.5em; + text-align: center; + font-weight: 900; + margin-top: 0.75em; + margin-bottom: 0em; +} + +h2 { + font-size: 1.3em; + margin-top: 2em; } + +h2.subtitle { + text-align: center; } + +h3 { + font-size: 1.125em; + font-style: italic; + margin-top: 1.5em; } + +h4 { + font-size: 1.125em; + margin-top: 1em; } + +h5 { + font-size: 1.125em; + margin-top: 0.75em; } + +h6 { + font-size: 1.1em; } + + +ul, +ol { + padding: 0; + margin-top: 0.5em; + margin-left: 0.75em; } + +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; + margin-left: 1.25em; } + +li { + list-style-type: circle; +} + +ul.simple-boot li { + list-style-type: none; + margin-left: 0em; + margin-bottom: 0.5em; +} + +ol.simple > li, ul.simple > li { + margin-bottom: 0.25em; + margin-left: 0.4em } + +ul.simple.simple-toc > li { + margin-top: 1em; +} + +ul.simple-toc { + list-style: none; + font-size: 0.9em; + margin-left: -0.3em; + margin-top: 1em; } + +ul.simple-toc > li { + list-style-type: none; +} + +ul.simple-toc-section { + list-style-type: circle; + margin-left: 1em; + color: #6c9aae; } + + +ol.arabic { + list-style: decimal; } + +ol.loweralpha { + list-style: lower-alpha; } + +ol.upperalpha { + list-style: upper-alpha; } + +ol.lowerroman { + list-style: lower-roman; } + +ol.upperroman { + list-style: upper-roman; } + +ul.auto-toc { + list-style-type: none; } + + +dl { + margin-bottom: 1.5em; } + +dt { + margin-bottom: -0.5em; + margin-left: 0.0em; } + +dd { + margin-left: 2.0em; + margin-bottom: 3.0em; + margin-top: 0.5em; } + + +hr { + margin: 2em 0; + border: 0; + border-top: 1px solid #aaa; } + +blockquote { + font-size: 0.9em; + font-style: italic; + padding-left: 0.5em; + margin-left: 0; + border-left: 5px solid #bbc; +} + +.pre { + font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; + font-weight: 500; + font-size: 0.85em; + color: var(--text); + background-color: var(--third-background); + padding-left: 3px; + padding-right: 3px; + border-radius: 4px; +} + +pre { + font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; + color: var(--text); + font-weight: 500; + display: inline-block; + box-sizing: border-box; + min-width: 100%; + padding: 0.5em; + margin-top: 0.5em; + margin-bottom: 0.5em; + font-size: 0.85em; + white-space: pre !important; + overflow-y: hidden; + overflow-x: visible; + background-color: var(--secondary-background); + border: 1px solid var(--border); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + + +/* Nim line-numbered tables */ +.line-nums-table { + width: 100%; + table-layout: fixed; } + +table.line-nums-table { + border-radius: 4px; + border: 1px solid #cccccc; + background-color: ghostwhite; + border-collapse: separate; + margin-top: 15px; + margin-bottom: 25px; } + +.line-nums-table tbody { + border: none; } + +.line-nums-table td pre { + border: none; + background-color: transparent; } + +.line-nums-table td.blob-line-nums { + width: 28px; } + +.line-nums-table td.blob-line-nums pre { + color: #b0b0b0; + -webkit-filter: opacity(75%); + text-align: right; + border-color: transparent; + background-color: transparent; + padding-left: 0px; + margin-left: 0px; + padding-right: 0px; + margin-right: 0px; } + + +table { + max-width: 100%; + background-color: transparent; + margin-top: 0.5em; + margin-bottom: 1.5em; + border-collapse: collapse; + border-color: var(--third-background); + border-spacing: 0; + font-size: 0.9em; +} + +table th, table td { + padding: 0px 0.5em 0px; + border-color: var(--third-background); +} + +table th { + background-color: var(--third-background); + border-color: var(--third-background); + font-weight: bold; } + +table th.docinfo-name { + background-color: transparent; +} + +table tr:hover { + background-color: var(--third-background); } + + +/* rst2html default used to remove borders from tables and images */ +.borderless, table.borderless td, table.borderless th { + border: 0; } + +table.borderless td, table.borderless th { + /* Override padding for "table.docutils td" with "! important". + The right padding separates the table cells. */ + padding: 0 0.5em 0 0 !important; } + +.first { + /* Override more specific margin styles with "! important". */ + margin-top: 0 !important; } + +.last, .with-subtitle { + margin-bottom: 0 !important; } + +.hidden { + display: none; } + +blockquote.epigraph { + margin: 2em 5em; } + +dl.docutils dd { + margin-bottom: 0.5em; } + +object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { + overflow: hidden; } + + +div.figure { + margin-left: 2em; + margin-right: 2em; } + +div.footer, div.header { + clear: both; + text-align: center; + color: #666; + font-size: smaller; } + +div.footer { + padding-top: 5em; +} + +div.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; } + +div.line-block div.line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; } + +div.topic { + margin: 2em; } + +div.search_results { + background-color: antiquewhite; + margin: 3em; + padding: 1em; + border: 1px solid #4d4d4d; +} + +div#global-links ul { + margin-left: 0; + list-style-type: none; +} + +div#global-links > simple-boot { + margin-left: 3em; +} + +hr.docutils { + width: 75%; } + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; } + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; } + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; } + +.align-left { + text-align: left; } + +.align-center { + clear: both; + text-align: center; } + +.align-right { + text-align: right; } + +/* reset inner alignment in figures */ +div.align-right { + text-align: inherit; } + +p.attribution { + text-align: right; + margin-left: 50%; } + +p.caption { + font-style: italic; } + +p.credits { + font-style: italic; + font-size: smaller; } + +p.label { + white-space: nowrap; } + +p.rubric { + font-weight: bold; + font-size: larger; + color: maroon; + text-align: center; } + +p.topic-title { + font-weight: bold; } + +pre.address { + margin-bottom: 0; + margin-top: 0; + font: inherit; } + +pre.literal-block, pre.doctest-block, pre.math, pre.code { + margin-left: 2em; + margin-right: 2em; } + +pre.code .ln { + color: grey; } + +/* line numbers */ +pre.code, code { + background-color: #eeeeee; } + +pre.code .comment, code .comment { + color: #5c6576; } + +pre.code .keyword, code .keyword { + color: #3B0D06; + font-weight: bold; } + +pre.code .literal.string, code .literal.string { + color: #0c5404; } + +pre.code .name.builtin, code .name.builtin { + color: #352b84; } + +pre.code .deleted, code .deleted { + background-color: #DEB0A1; } + +pre.code .inserted, code .inserted { + background-color: #A3D289; } + +span.classifier { + font-style: oblique; } + +span.classifier-delimiter { + font-weight: bold; } + +span.option { + white-space: nowrap; } + +span.problematic { + color: #b30000; } + +span.section-subtitle { + /* font-size relative to parent (h1..h6 element) */ + font-size: 80%; } + +span.DecNumber { + color: var(--number); } + +span.BinNumber { + color: var(--number); } + +span.HexNumber { + color: var(--number); } + +span.OctNumber { + color: var(--number); } + +span.FloatNumber { + color: var(--number); } + +span.Identifier { + color: var(--identifier); } + +span.Keyword { + font-weight: 600; + color: var(--keyword); } + +span.StringLit { + color: var(--literal); } + +span.LongStringLit { + color: var(--literal); } + +span.CharLit { + color: var(--literal); } + +span.EscapeSequence { + color: var(--escapeSequence); } + +span.Operator { + color: var(--operator); } + +span.Punctuation { + color: var(--punctuation); } + +span.Comment, span.LongComment { + font-style: italic; + font-weight: 400; + color: var(--comment); } + +span.RegularExpression { + color: darkviolet; } + +span.TagStart { + color: darkviolet; } + +span.TagEnd { + color: darkviolet; } + +span.Key { + color: #252dbe; } + +span.Value { + color: #252dbe; } + +span.RawData { + color: var(--raw-data); } + +span.Assembler { + color: #252dbe; } + +span.Preprocessor { + color: #252dbe; } + +span.Directive { + color: #252dbe; } + +span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, +span.Other { + color: var(--other); } + +/* Pop type, const, proc, and iterator defs in nim def blocks */ +dt pre > span.Identifier, dt pre > span.Operator { + color: var(--identifier); + font-weight: 700; } + +dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, +dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { + color: var(--identifier); + font-weight: inherit; } + +/* Nim sprite for the footer (taken from main page favicon) */ +.nim-sprite { + display: inline-block; + width: 51px; + height: 14px; + background-position: 0 0; + background-size: 51px 14px; + -webkit-filter: opacity(50%); + background-repeat: no-repeat; + background-image: var(--nim-sprite-base64); + margin-bottom: 5px; } + +span.pragmadots { + /* Position: relative frees us up to make the dots + look really nice without fucking up the layout and + causing bulging in the parent container */ + position: relative; + /* 1px down looks slightly nicer */ + top: 1px; + padding: 2px; + background-color: var(--third-background); + border-radius: 4px; + margin: 0 2px; + cursor: pointer; + font-size: 0.8em; +} + +span.pragmadots:hover { + background-color: var(--hint); +} +span.pragmawrap { + display: none; +} + +span.attachedType { + display: none; + visibility: hidden; +} \ No newline at end of file diff --git a/paths.html b/paths.html index d6558a0..18fcf6a 100644 --- a/paths.html +++ b/paths.html @@ -10,6 +10,7 @@ + @@ -17,772 +18,7 @@ paths - + @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -807,6 +74,13 @@ function main() {

paths

+
+ +     Dark Mode +
diff --git a/plugin.html b/plugin.html index 9b3a724..da0ff7e 100644 --- a/plugin.html +++ b/plugin.html @@ -10,6 +10,7 @@ + @@ -17,772 +18,7 @@ plugin - + @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -807,6 +74,13 @@ function main() {

plugin

+
+ +     Dark Mode +
diff --git a/plugin.idx b/plugin.idx index 2cba6b6..94cbcd1 100644 --- a/plugin.idx +++ b/plugin.idx @@ -2,4 +2,4 @@ Symbol plugin.html#Symbol plugin: Symbol OnSymbol plugin.html#OnSymbol plugin: OnSymbol OnSymbolOverrideFinal plugin.html#OnSymbolOverrideFinal plugin: OnSymbolOverrideFinal cOverrides plugin.html#cOverrides plugin: cOverrides -onSymbolOverrideFinal plugin.html#onSymbolOverrideFinal,string plugin: onSymbolOverrideFinal(typ: string): HashSet[string] +onSymbolOverrideFinal plugin.html#onSymbolOverrideFinal,string plugin: onSymbolOverrideFinal(typ: string): StringHash diff --git a/theindex.html b/theindex.html index fd650e2..c04d88d 100644 --- a/theindex.html +++ b/theindex.html @@ -10,6 +10,7 @@ + @@ -17,772 +18,7 @@ Index - + @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -805,8 +72,18 @@ function main() {
diff --git a/types.html b/types.html index 39dc132..c01f926 100644 --- a/types.html +++ b/types.html @@ -10,6 +10,7 @@ + @@ -17,772 +18,7 @@ types - + @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } @@ -807,6 +74,13 @@ function main() {

types

+
+ +     Dark Mode +