{"tests": [

{"description":"[empty]",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"",
"output":[]},

{"description":"[empty]",
"initialStates":["CDATA section state"],
"input":"",
"output":[],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 1 }
]},

{"description":"\\u0009",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"\u0009",
"output":[["Character", "\u0009"]]},

{"description":"\\u0009",
"initialStates":["CDATA section state"],
"input":"\u0009",
"output":[["Character", "\u0009"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"\\u000A",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"\u000A",
"output":[["Character", "\u000A"]]},

{"description":"\\u000A",
"initialStates":["CDATA section state"],
"input":"\u000A",
"output":[["Character", "\u000A"]],
"errors":[
    { "code": "eof-in-cdata", "line": 2, "col": 1 }
]},

{"description":"\\u000B",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"\u000B",
"output":[["Character", "\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 1 }
]},

{"description":"\\u000B",
"initialStates":["CDATA section state"],
"input":"\u000B",
"output":[["Character", "\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 1 },
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"\\u000C",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"\u000C",
"output":[["Character", "\u000C"]]},

{"description":"\\u000C",
"initialStates":["CDATA section state"],
"input":"\u000C",
"output":[["Character", "\u000C"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":" ",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":" ",
"output":[["Character", " "]]},

{"description":" ",
"initialStates":["CDATA section state"],
"input":" ",
"output":[["Character", " "]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"!",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"!",
"output":[["Character", "!"]]},

{"description":"!",
"initialStates":["CDATA section state"],
"input":"!",
"output":[["Character", "!"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"\"",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"\"",
"output":[["Character", "\""]]},

{"description":"\"",
"initialStates":["CDATA section state"],
"input":"\"",
"output":[["Character", "\""]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"%",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"%",
"output":[["Character", "%"]]},

{"description":"%",
"initialStates":["CDATA section state"],
"input":"%",
"output":[["Character", "%"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"&",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"&",
"output":[["Character", "&"]]},

{"description":"&",
"initialStates":["CDATA section state"],
"input":"&",
"output":[["Character", "&"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"'",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"'",
"output":[["Character", "'"]]},

{"description":"'",
"initialStates":["CDATA section state"],
"input":"'",
"output":[["Character", "'"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":",",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":",",
"output":[["Character", ","]]},

{"description":",",
"initialStates":["CDATA section state"],
"input":",",
"output":[["Character", ","]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"-",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"-",
"output":[["Character", "-"]]},

{"description":"-",
"initialStates":["CDATA section state"],
"input":"-",
"output":[["Character", "-"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":".",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":".",
"output":[["Character", "."]]},

{"description":".",
"initialStates":["CDATA section state"],
"input":".",
"output":[["Character", "."]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"/",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"/",
"output":[["Character", "/"]]},

{"description":"/",
"initialStates":["CDATA section state"],
"input":"/",
"output":[["Character", "/"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"0",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"0",
"output":[["Character", "0"]]},

{"description":"0",
"initialStates":["CDATA section state"],
"input":"0",
"output":[["Character", "0"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"1",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"1",
"output":[["Character", "1"]]},

{"description":"1",
"initialStates":["CDATA section state"],
"input":"1",
"output":[["Character", "1"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"9",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"9",
"output":[["Character", "9"]]},

{"description":"9",
"initialStates":["CDATA section state"],
"input":"9",
"output":[["Character", "9"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":";",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";",
"output":[["Character", ";"]]},

{"description":";",
"initialStates":["CDATA section state"],
"input":";",
"output":[["Character", ";"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":";=",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";=",
"output":[["Character", ";="]]},

{"description":";=",
"initialStates":["CDATA section state"],
"input":";=",
"output":[["Character", ";="]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";>",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";>",
"output":[["Character", ";>"]]},

{"description":";>",
"initialStates":["CDATA section state"],
"input":";>",
"output":[["Character", ";>"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";?",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";?",
"output":[["Character", ";?"]]},

{"description":";?",
"initialStates":["CDATA section state"],
"input":";?",
"output":[["Character", ";?"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";@",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";@",
"output":[["Character", ";@"]]},

{"description":";@",
"initialStates":["CDATA section state"],
"input":";@",
"output":[["Character", ";@"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";A",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";A",
"output":[["Character", ";A"]]},

{"description":";A",
"initialStates":["CDATA section state"],
"input":";A",
"output":[["Character", ";A"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";B",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";B",
"output":[["Character", ";B"]]},

{"description":";B",
"initialStates":["CDATA section state"],
"input":";B",
"output":[["Character", ";B"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";Y",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";Y",
"output":[["Character", ";Y"]]},

{"description":";Y",
"initialStates":["CDATA section state"],
"input":";Y",
"output":[["Character", ";Y"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";Z",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";Z",
"output":[["Character", ";Z"]]},

{"description":";Z",
"initialStates":["CDATA section state"],
"input":";Z",
"output":[["Character", ";Z"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";`",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";`",
"output":[["Character", ";`"]]},

{"description":";`",
"initialStates":["CDATA section state"],
"input":";`",
"output":[["Character", ";`"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";a",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";a",
"output":[["Character", ";a"]]},

{"description":";a",
"initialStates":["CDATA section state"],
"input":";a",
"output":[["Character", ";a"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";b",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";b",
"output":[["Character", ";b"]]},

{"description":";b",
"initialStates":["CDATA section state"],
"input":";b",
"output":[["Character", ";b"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";y",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";y",
"output":[["Character", ";y"]]},

{"description":";y",
"initialStates":["CDATA section state"],
"input":";y",
"output":[["Character", ";y"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";z",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";z",
"output":[["Character", ";z"]]},

{"description":";z",
"initialStates":["CDATA section state"],
"input":";z",
"output":[["Character", ";z"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";{",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";{",
"output":[["Character", ";{"]]},

{"description":";{",
"initialStates":["CDATA section state"],
"input":";{",
"output":[["Character", ";{"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]},

{"description":";\\uDBC0\\uDC00",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":";\uDBC0\uDC00",
"output":[["Character", ";\uDBC0\uDC00"]]},

{"description":";\\uDBC0\\uDC00",
"initialStates":["CDATA section state"],
"input":";\uDBC0\uDC00",
"output":[["Character", ";\uDBC0\uDC00"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 4 }
]},

{"description":"<",
"input":"<",
"output":[["Character", "<"]],
"errors":[
    { "code": "eof-before-tag-name", "line": 1, "col": 2 }
]},

{"description":"<\\u0000",
"input":"<\u0000",
"output":[["Character", "<\u0000"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 },
    { "code": "unexpected-null-character", "line": 1, "col": 2 }
]},

{"description":"<\\u0009",
"input":"<\u0009",
"output":[["Character", "<\u0009"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<\\u000A",
"input":"<\u000A",
"output":[["Character", "<\u000A"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<\\u000B",
"input":"<\u000B",
"output":[["Character", "<\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 2 },
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<\\u000C",
"input":"<\u000C",
"output":[["Character", "<\u000C"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"< ",
"input":"< ",
"output":[["Character", "< "]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<!",
"input":"<!",
"output":[["Comment", ""]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!\\u0000",
"input":"<!\u0000",
"output":[["Comment", "\uFFFD"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 },
    { "code": "unexpected-null-character", "line": 1, "col": 3 }
]},

{"description":"<!\\u0009",
"input":"<!\u0009",
"output":[["Comment", "\u0009"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!\\u000A",
"input":"<!\u000A",
"output":[["Comment", "\u000A"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!\\u000B",
"input":"<!\u000B",
"output":[["Comment", "\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 3 },
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!\\u000C",
"input":"<!\u000C",
"output":[["Comment", "\u000C"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<! ",
"input":"<! ",
"output":[["Comment", " "]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<! \\u0000",
"input":"<! \u0000",
"output":[["Comment", " \uFFFD"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 },
    { "code": "unexpected-null-character", "line": 1, "col": 4 }
]},

{"description":"<!!",
"input":"<!!",
"output":[["Comment", "!"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!\"",
"input":"<!\"",
"output":[["Comment", "\""]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!&",
"input":"<!&",
"output":[["Comment", "&"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!'",
"input":"<!'",
"output":[["Comment", "'"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!-",
"input":"<!-",
"output":[["Comment", "-"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!--",
"input":"<!--",
"output":[["Comment", ""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 5 }
]},

{"description":"<!--\\u0000",
"input":"<!--\u0000",
"output":[["Comment", "\uFFFD"]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 5 },
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--\\u0009",
"input":"<!--\u0009",
"output":[["Comment", "\u0009"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--\\u000A",
"input":"<!--\u000A",
"output":[["Comment", "\u000A"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 1 }
]},

{"description":"<!--\\u000B",
"input":"<!--\u000B",
"output":[["Comment", "\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 5 },
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--\\u000C",
"input":"<!--\u000C",
"output":[["Comment", "\u000C"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!-- ",
"input":"<!-- ",
"output":[["Comment", " "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!-- \\u0000",
"input":"<!-- \u0000",
"output":[["Comment", " \uFFFD"]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 6 },
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- \\u0009",
"input":"<!-- \u0009",
"output":[["Comment", " \u0009"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- \\u000A",
"input":"<!-- \u000A",
"output":[["Comment", " \u000A"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 1 }
]},

{"description":"<!-- \\u000B",
"input":"<!-- \u000B",
"output":[["Comment", " \u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 },
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- \\u000C",
"input":"<!-- \u000C",
"output":[["Comment", " \u000C"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!--  ",
"input":"<!--  ",
"output":[["Comment", "  "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- !",
"input":"<!-- !",
"output":[["Comment", " !"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- \"",
"input":"<!-- \"",
"output":[["Comment", " \""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- &",
"input":"<!-- &",
"output":[["Comment", " &"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- '",
"input":"<!-- '",
"output":[["Comment", " '"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- ,",
"input":"<!-- ,",
"output":[["Comment", " ,"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- -",
"input":"<!-- -",
"output":[["Comment", " "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- -\\u0000",
"input":"<!-- -\u0000",
"output":[["Comment", " -\uFFFD"]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 7 },
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -\\u0009",
"input":"<!-- -\u0009",
"output":[["Comment", " -\u0009"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -\\u000A",
"input":"<!-- -\u000A",
"output":[["Comment", " -\u000A"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 1 }
]},

{"description":"<!-- -\\u000B",
"input":"<!-- -\u000B",
"output":[["Comment", " -\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 7 },
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -\\u000C",
"input":"<!-- -\u000C",
"output":[["Comment", " -\u000C"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- - ",
"input":"<!-- - ",
"output":[["Comment", " - "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -!",
"input":"<!-- -!",
"output":[["Comment", " -!"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -\"",
"input":"<!-- -\"",
"output":[["Comment", " -\""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -&",
"input":"<!-- -&",
"output":[["Comment", " -&"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -'",
"input":"<!-- -'",
"output":[["Comment", " -'"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -,",
"input":"<!-- -,",
"output":[["Comment", " -,"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- --",
"input":"<!-- --",
"output":[["Comment", " "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -.",
"input":"<!-- -.",
"output":[["Comment", " -."]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -/",
"input":"<!-- -/",
"output":[["Comment", " -/"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -0",
"input":"<!-- -0",
"output":[["Comment", " -0"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -1",
"input":"<!-- -1",
"output":[["Comment", " -1"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -9",
"input":"<!-- -9",
"output":[["Comment", " -9"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -<",
"input":"<!-- -<",
"output":[["Comment", " -<"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -=",
"input":"<!-- -=",
"output":[["Comment", " -="]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- ->",
"input":"<!-- ->",
"output":[["Comment", " ->"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -?",
"input":"<!-- -?",
"output":[["Comment", " -?"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -@",
"input":"<!-- -@",
"output":[["Comment", " -@"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -A",
"input":"<!-- -A",
"output":[["Comment", " -A"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -B",
"input":"<!-- -B",
"output":[["Comment", " -B"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -Y",
"input":"<!-- -Y",
"output":[["Comment", " -Y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -Z",
"input":"<!-- -Z",
"output":[["Comment", " -Z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -`",
"input":"<!-- -`",
"output":[["Comment", " -`"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -a",
"input":"<!-- -a",
"output":[["Comment", " -a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -b",
"input":"<!-- -b",
"output":[["Comment", " -b"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -y",
"input":"<!-- -y",
"output":[["Comment", " -y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -z",
"input":"<!-- -z",
"output":[["Comment", " -z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -{",
"input":"<!-- -{",
"output":[["Comment", " -{"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-- -\\uDBC0\\uDC00",
"input":"<!-- -\uDBC0\uDC00",
"output":[["Comment", " -\uDBC0\uDC00"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 9 }
]},

{"description":"<!-- .",
"input":"<!-- .",
"output":[["Comment", " ."]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- /",
"input":"<!-- /",
"output":[["Comment", " /"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- 0",
"input":"<!-- 0",
"output":[["Comment", " 0"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- 1",
"input":"<!-- 1",
"output":[["Comment", " 1"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- 9",
"input":"<!-- 9",
"output":[["Comment", " 9"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- <",
"input":"<!-- <",
"output":[["Comment", " <"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- =",
"input":"<!-- =",
"output":[["Comment", " ="]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- >",
"input":"<!-- >",
"output":[["Comment", " >"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- ?",
"input":"<!-- ?",
"output":[["Comment", " ?"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- @",
"input":"<!-- @",
"output":[["Comment", " @"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- A",
"input":"<!-- A",
"output":[["Comment", " A"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- B",
"input":"<!-- B",
"output":[["Comment", " B"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- Y",
"input":"<!-- Y",
"output":[["Comment", " Y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- Z",
"input":"<!-- Z",
"output":[["Comment", " Z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- `",
"input":"<!-- `",
"output":[["Comment", " `"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- a",
"input":"<!-- a",
"output":[["Comment", " a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- b",
"input":"<!-- b",
"output":[["Comment", " b"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- y",
"input":"<!-- y",
"output":[["Comment", " y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- z",
"input":"<!-- z",
"output":[["Comment", " z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- {",
"input":"<!-- {",
"output":[["Comment", " {"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!-- \\uDBC0\\uDC00",
"input":"<!-- \uDBC0\uDC00",
"output":[["Comment", " \uDBC0\uDC00"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!--!",
"input":"<!--!",
"output":[["Comment", "!"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--\"",
"input":"<!--\"",
"output":[["Comment", "\""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--&",
"input":"<!--&",
"output":[["Comment", "&"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--'",
"input":"<!--'",
"output":[["Comment", "'"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--,",
"input":"<!--,",
"output":[["Comment", ","]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!---",
"input":"<!---",
"output":[["Comment", ""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!---\\u0000",
"input":"<!---\u0000",
"output":[["Comment", "-\uFFFD"]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 6 },
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---\\u0009",
"input":"<!---\u0009",
"output":[["Comment", "-\u0009"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---\\u000A",
"input":"<!---\u000A",
"output":[["Comment", "-\u000A"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 1 }
]},

{"description":"<!---\\u000B",
"input":"<!---\u000B",
"output":[["Comment", "-\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 },
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---\\u000C",
"input":"<!---\u000C",
"output":[["Comment", "-\u000C"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!--- ",
"input":"<!--- ",
"output":[["Comment", "- "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---!",
"input":"<!---!",
"output":[["Comment", "-!"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---\"",
"input":"<!---\"",
"output":[["Comment", "-\""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---&",
"input":"<!---&",
"output":[["Comment", "-&"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---'",
"input":"<!---'",
"output":[["Comment", "-'"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---,",
"input":"<!---,",
"output":[["Comment", "-,"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!----",
"input":"<!----",
"output":[["Comment", ""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!----\\u0000",
"input":"<!----\u0000",
"output":[["Comment", "--\uFFFD"]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 7 },
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----\\u0009",
"input":"<!----\u0009",
"output":[["Comment", "--\u0009"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----\\u000A",
"input":"<!----\u000A",
"output":[["Comment", "--\u000A"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 1 }
]},

{"description":"<!----\\u000B",
"input":"<!----\u000B",
"output":[["Comment", "--\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 7 },
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----\\u000C",
"input":"<!----\u000C",
"output":[["Comment", "--\u000C"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!---- ",
"input":"<!---- ",
"output":[["Comment", "-- "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!---- -",
"input":"<!---- -",
"output":[["Comment", "-- "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 9 }
]},


{"description":"<!---- --",
"input":"<!---- --",
"output":[["Comment", "-- "]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 10 }
]},

{"description":"<!---- -->",
"input":"<!---- -->",
"output":[["Comment", "-- "]]},

{"description":"<!----  -->",
"input":"<!----  -->",
"output":[["Comment", "--  "]]},

{"description":"<!---- a-->",
"input":"<!---- a-->",
"output":[["Comment", "-- a"]]},

{"description":"<!----!",
"input":"<!----!",
"output":[["Comment", ""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----!>",
"input":"<!----!>",
"output":[["Comment", ""]],
"errors":[
    { "code": "incorrectly-closed-comment", "line": 1, "col": 8 }
]},

{"description":"<!----! >",
"input":"<!----! >",
"output":[["Comment", "--! >"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 10 }
]},

{"description":"<!----!LF>",
"input":"<!----!\n>",
"output":[["Comment", "--!\n>"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 2 }
]},

{"description":"<!----!CR>",
"input":"<!----!\r>",
"output":[["Comment", "--!\n>"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 2 }
]},

{"description":"<!----!CRLF>",
"input":"<!----!\r\n>",
"output":[["Comment", "--!\n>"]],
"errors":[
    { "code": "eof-in-comment", "line": 2, "col": 2 }
]},

{"description":"<!----!a",
"input":"<!----!a",
"output":[["Comment", "--!a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 9 }
]},

{"description":"<!----!a-",
"input":"<!----!a-",
"output":[["Comment", "--!a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 10 }
]},

{"description":"<!----!a--",
"input":"<!----!a--",
"output":[["Comment", "--!a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 11 }
]},

{"description":"<!----!a-->",
"input":"<!----!a-->",
"output":[["Comment", "--!a"]]},

{"description":"<!----!-",
"input":"<!----!-",
"output":[["Comment", "--!"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 9 }
]},

{"description":"<!----!--",
"input":"<!----!--",
"output":[["Comment", "--!"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 10 }
]},

{"description":"<!----!-->",
"input":"<!----!-->",
"output":[["Comment", "--!"]]},

{"description":"<!----\"",
"input":"<!----\"",
"output":[["Comment", "--\""]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----&",
"input":"<!----&",
"output":[["Comment", "--&"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----'",
"input":"<!----'",
"output":[["Comment", "--'"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----,",
"input":"<!----,",
"output":[["Comment", "--,"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!-----",
"input":"<!-----",
"output":[["Comment", "-"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----.",
"input":"<!----.",
"output":[["Comment", "--."]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----/",
"input":"<!----/",
"output":[["Comment", "--/"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----0",
"input":"<!----0",
"output":[["Comment", "--0"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----1",
"input":"<!----1",
"output":[["Comment", "--1"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----9",
"input":"<!----9",
"output":[["Comment", "--9"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----<",
"input":"<!----<",
"output":[["Comment", "--<"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----=",
"input":"<!----=",
"output":[["Comment", "--="]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!---->",
"input":"<!---->",
"output":[["Comment", ""]]},

{"description":"<!----?",
"input":"<!----?",
"output":[["Comment", "--?"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----@",
"input":"<!----@",
"output":[["Comment", "--@"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----A",
"input":"<!----A",
"output":[["Comment", "--A"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----B",
"input":"<!----B",
"output":[["Comment", "--B"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----Y",
"input":"<!----Y",
"output":[["Comment", "--Y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----Z",
"input":"<!----Z",
"output":[["Comment", "--Z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----`",
"input":"<!----`",
"output":[["Comment", "--`"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----a",
"input":"<!----a",
"output":[["Comment", "--a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----b",
"input":"<!----b",
"output":[["Comment", "--b"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----y",
"input":"<!----y",
"output":[["Comment", "--y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----z",
"input":"<!----z",
"output":[["Comment", "--z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----{",
"input":"<!----{",
"output":[["Comment", "--{"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!----\\uDBC0\\uDC00",
"input":"<!----\uDBC0\uDC00",
"output":[["Comment", "--\uDBC0\uDC00"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 9 }
]},

{"description":"<!---.",
"input":"<!---.",
"output":[["Comment", "-."]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---/",
"input":"<!---/",
"output":[["Comment", "-/"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---0",
"input":"<!---0",
"output":[["Comment", "-0"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---1",
"input":"<!---1",
"output":[["Comment", "-1"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---9",
"input":"<!---9",
"output":[["Comment", "-9"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---<",
"input":"<!---<",
"output":[["Comment", "-<"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---=",
"input":"<!---=",
"output":[["Comment", "-="]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---?",
"input":"<!---?",
"output":[["Comment", "-?"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---@",
"input":"<!---@",
"output":[["Comment", "-@"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---A",
"input":"<!---A",
"output":[["Comment", "-A"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---B",
"input":"<!---B",
"output":[["Comment", "-B"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---Y",
"input":"<!---Y",
"output":[["Comment", "-Y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---Z",
"input":"<!---Z",
"output":[["Comment", "-Z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---`",
"input":"<!---`",
"output":[["Comment", "-`"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---a",
"input":"<!---a",
"output":[["Comment", "-a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---b",
"input":"<!---b",
"output":[["Comment", "-b"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---y",
"input":"<!---y",
"output":[["Comment", "-y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---z",
"input":"<!---z",
"output":[["Comment", "-z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---{",
"input":"<!---{",
"output":[["Comment", "-{"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!---\\uDBC0\\uDC00",
"input":"<!---\uDBC0\uDC00",
"output":[["Comment", "-\uDBC0\uDC00"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 8 }
]},

{"description":"<!--.",
"input":"<!--.",
"output":[["Comment", "."]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--/",
"input":"<!--/",
"output":[["Comment", "/"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--0",
"input":"<!--0",
"output":[["Comment", "0"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--1",
"input":"<!--1",
"output":[["Comment", "1"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--9",
"input":"<!--9",
"output":[["Comment", "9"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--<",
"input":"<!--<",
"output":[["Comment", "<"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--=",
"input":"<!--=",
"output":[["Comment", "="]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--?",
"input":"<!--?",
"output":[["Comment", "?"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--@",
"input":"<!--@",
"output":[["Comment", "@"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--A",
"input":"<!--A",
"output":[["Comment", "A"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--B",
"input":"<!--B",
"output":[["Comment", "B"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--Y",
"input":"<!--Y",
"output":[["Comment", "Y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--Z",
"input":"<!--Z",
"output":[["Comment", "Z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--`",
"input":"<!--`",
"output":[["Comment", "`"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--a",
"input":"<!--a",
"output":[["Comment", "a"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--b",
"input":"<!--b",
"output":[["Comment", "b"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--y",
"input":"<!--y",
"output":[["Comment", "y"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--z",
"input":"<!--z",
"output":[["Comment", "z"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--{",
"input":"<!--{",
"output":[["Comment", "{"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 6 }
]},

{"description":"<!--\\uDBC0\\uDC00",
"input":"<!--\uDBC0\uDC00",
"output":[["Comment", "\uDBC0\uDC00"]],
"errors":[
    { "code": "eof-in-comment", "line": 1, "col": 7 }
]},

{"description":"<!/",
"input":"<!/",
"output":[["Comment", "/"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!0",
"input":"<!0",
"output":[["Comment", "0"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!1",
"input":"<!1",
"output":[["Comment", "1"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!9",
"input":"<!9",
"output":[["Comment", "9"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!<",
"input":"<!<",
"output":[["Comment", "<"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!=",
"input":"<!=",
"output":[["Comment", "="]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!>",
"input":"<!>",
"output":[["Comment", ""]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!?",
"input":"<!?",
"output":[["Comment", "?"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!@",
"input":"<!@",
"output":[["Comment", "@"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!A",
"input":"<!A",
"output":[["Comment", "A"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!B",
"input":"<!B",
"output":[["Comment", "B"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!DOCTYPE",
"input":"<!DOCTYPE",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 1, "col": 10 }
]},

{"description":"<!DOCTYPE\\u0000",
"input":"<!DOCTYPE\u0000",
"output":[["DOCTYPE", "\uFFFD", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "unexpected-null-character", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE\\u0008",
"input":"<!DOCTYPE\u0008",
"output":[["DOCTYPE", "\u0008", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 10 },
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE\\u0009",
"input":"<!DOCTYPE\u0009",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE\\u000A",
"input":"<!DOCTYPE\u000A",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE\\u000B",
"input":"<!DOCTYPE\u000B",
"output":[["DOCTYPE", "\u000B", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 10 },
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE\\u000C",
"input":"<!DOCTYPE\u000C",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE\\u000D",
"input":"<!DOCTYPE\u000D",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE\\u001F",
"input":"<!DOCTYPE\u001F",
"output":[["DOCTYPE", "\u001F", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 10 },
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE ",
"input":"<!DOCTYPE ",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE \\u0000",
"input":"<!DOCTYPE \u0000",
"output":[["DOCTYPE", "\uFFFD", null, null, false]],
"errors":[
   { "code": "unexpected-null-character", "line": 1, "col": 11 },
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE \\u0008",
"input":"<!DOCTYPE \u0008",
"output":[["DOCTYPE", "\u0008", null, null, false]],
"errors":[
   { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE \\u0009",
"input":"<!DOCTYPE \u0009",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE \\u000A",
"input":"<!DOCTYPE \u000A",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE \\u000B",
"input":"<!DOCTYPE \u000B",
"output":[["DOCTYPE", "\u000B", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE \\u000C",
"input":"<!DOCTYPE \u000C",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE \\u000D",
"input":"<!DOCTYPE \u000D",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE \\u001F",
"input":"<!DOCTYPE \u001F",
"output":[["DOCTYPE", "\u001F", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE  ",
"input":"<!DOCTYPE  ",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE !",
"input":"<!DOCTYPE !",
"output":[["DOCTYPE", "!", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE \"",
"input":"<!DOCTYPE \"",
"output":[["DOCTYPE", "\"", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE &",
"input":"<!DOCTYPE &",
"output":[["DOCTYPE", "&", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE '",
"input":"<!DOCTYPE '",
"output":[["DOCTYPE", "'", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE -",
"input":"<!DOCTYPE -",
"output":[["DOCTYPE", "-", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE /",
"input":"<!DOCTYPE /",
"output":[["DOCTYPE", "/", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE 0",
"input":"<!DOCTYPE 0",
"output":[["DOCTYPE", "0", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE 1",
"input":"<!DOCTYPE 1",
"output":[["DOCTYPE", "1", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE 9",
"input":"<!DOCTYPE 9",
"output":[["DOCTYPE", "9", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE <",
"input":"<!DOCTYPE <",
"output":[["DOCTYPE", "<", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE =",
"input":"<!DOCTYPE =",
"output":[["DOCTYPE", "=", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE >",
"input":"<!DOCTYPE >",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
    { "code": "missing-doctype-name", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE ?",
"input":"<!DOCTYPE ?",
"output":[["DOCTYPE", "?", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE @",
"input":"<!DOCTYPE @",
"output":[["DOCTYPE", "@", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE A",
"input":"<!DOCTYPE A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE B",
"input":"<!DOCTYPE B",
"output":[["DOCTYPE", "b", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE Y",
"input":"<!DOCTYPE Y",
"output":[["DOCTYPE", "y", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE Z",
"input":"<!DOCTYPE Z",
"output":[["DOCTYPE", "z", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE [",
"input":"<!DOCTYPE [",
"output":[["DOCTYPE", "[", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE `",
"input":"<!DOCTYPE `",
"output":[["DOCTYPE", "`", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE a",
"input":"<!DOCTYPE a",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE a\\u0000",
"input":"<!DOCTYPE a\u0000",
"output":[["DOCTYPE", "a\uFFFD", null, null, false]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 12 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a\\u0008",
"input":"<!DOCTYPE a\u0008",
"output":[["DOCTYPE", "a\u0008", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a\\u0009",
"input":"<!DOCTYPE a\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a\\u000A",
"input":"<!DOCTYPE a\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE a\\u000B",
"input":"<!DOCTYPE a\u000B",
"output":[["DOCTYPE", "a\u000B", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a\\u000C",
"input":"<!DOCTYPE a\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a\\u000D",
"input":"<!DOCTYPE a\u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE a\\u001F",
"input":"<!DOCTYPE a\u001F",
"output":[["DOCTYPE", "a\u001F", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a ",
"input":"<!DOCTYPE a ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a \\u0000",
"input":"<!DOCTYPE a \u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 },
    { "code": "unexpected-null-character", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a \\u0008",
"input":"<!DOCTYPE a \u0008",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 13 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a \\u0009",
"input":"<!DOCTYPE a \u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 1, "col": 14 }
]},

{"description":"<!DOCTYPE a \\u000A",
"input":"<!DOCTYPE a \u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE a \\u000B",
"input":"<!DOCTYPE a \u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 13 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a \\u000C",
"input":"<!DOCTYPE a \u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 1, "col": 14 }
]},

{"description":"<!DOCTYPE a \\u000D",
"input":"<!DOCTYPE a \u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPE a \\u001F",
"input":"<!DOCTYPE a \u001F",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 13 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a  ",
"input":"<!DOCTYPE a  ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "eof-in-doctype", "line": 1, "col": 14 }
]},

{"description":"<!DOCTYPE a !",
"input":"<!DOCTYPE a !",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a \"",
"input":"<!DOCTYPE a \"",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a &",
"input":"<!DOCTYPE a &",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a '",
"input":"<!DOCTYPE a '",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a -",
"input":"<!DOCTYPE a -",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a /",
"input":"<!DOCTYPE a /",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a 0",
"input":"<!DOCTYPE a 0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a 1",
"input":"<!DOCTYPE a 1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a 9",
"input":"<!DOCTYPE a 9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a <",
"input":"<!DOCTYPE a <",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a =",
"input":"<!DOCTYPE a =",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a >",
"input":"<!DOCTYPE a >",
"output":[["DOCTYPE", "a", null, null, true]]},

{"description":"<!DOCTYPE a ?",
"input":"<!DOCTYPE a ?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a @",
"input":"<!DOCTYPE a @",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a A",
"input":"<!DOCTYPE a A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a B",
"input":"<!DOCTYPE a B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a PUBLIC",
"input":"<!DOCTYPE a PUBLIC",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u0000",
"input":"<!DOCTYPE a PUBLIC\u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u0008",
"input":"<!DOCTYPE a PUBLIC\u0008",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u0009",
"input":"<!DOCTYPE a PUBLIC\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u000A",
"input":"<!DOCTYPE a PUBLIC\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u000B",
"input":"<!DOCTYPE a PUBLIC\u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u000C",
"input":"<!DOCTYPE a PUBLIC\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u000D",
"input":"<!DOCTYPE a PUBLIC\u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a PUBLIC\\u001F",
"input":"<!DOCTYPE a PUBLIC\u001F",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a PUBLIC ",
"input":"<!DOCTYPE a PUBLIC ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC!",
"input":"<!DOCTYPE a PUBLIC!",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"",
"input":"<!DOCTYPE a PUBLIC\"",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 20, "line": 1 }

]},

{"description":"<!DOCTYPE a PUBLIC\"\\u0000",
"input":"<!DOCTYPE a PUBLIC\"\u0000",
"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "unexpected-null-character", "col": 20, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\\u0009",
"input":"<!DOCTYPE a PUBLIC\"\u0009",
"output":[["DOCTYPE", "a", "\u0009", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\\u000A",
"input":"<!DOCTYPE a PUBLIC\"\u000A",
"output":[["DOCTYPE", "a", "\u000A", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\\u000B",
"input":"<!DOCTYPE a PUBLIC\"\u000B",
"output":[["DOCTYPE", "a", "\u000B", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\\u000C",
"input":"<!DOCTYPE a PUBLIC\"\u000C",
"output":[["DOCTYPE", "a", "\u000C", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\" ",
"input":"<!DOCTYPE a PUBLIC\" ",
"output":[["DOCTYPE", "a", " ", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"!",
"input":"<!DOCTYPE a PUBLIC\"!",
"output":[["DOCTYPE", "a", "!", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\"",
"input":"<!DOCTYPE a PUBLIC\"\"",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\"\\u0000",
"input":"<!DOCTYPE a PUBLIC\"\"\u0000",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 },
    { "code": "unexpected-null-character", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\" \\u0000",
"input":"<!DOCTYPE a PUBLIC\"\" \u0000",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 22, "line": 1 },
    { "code": "unexpected-null-character", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"#",
"input":"<!DOCTYPE a PUBLIC\"#",
"output":[["DOCTYPE", "a", "#", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"&",
"input":"<!DOCTYPE a PUBLIC\"&",
"output":[["DOCTYPE", "a", "&", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"'",
"input":"<!DOCTYPE a PUBLIC\"'",
"output":[["DOCTYPE", "a", "'", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"-",
"input":"<!DOCTYPE a PUBLIC\"-",
"output":[["DOCTYPE", "a", "-", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"/",
"input":"<!DOCTYPE a PUBLIC\"/",
"output":[["DOCTYPE", "a", "/", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"0",
"input":"<!DOCTYPE a PUBLIC\"0",
"output":[["DOCTYPE", "a", "0", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"1",
"input":"<!DOCTYPE a PUBLIC\"1",
"output":[["DOCTYPE", "a", "1", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"9",
"input":"<!DOCTYPE a PUBLIC\"9",
"output":[["DOCTYPE", "a", "9", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"<",
"input":"<!DOCTYPE a PUBLIC\"<",
"output":[["DOCTYPE", "a", "<", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"=",
"input":"<!DOCTYPE a PUBLIC\"=",
"output":[["DOCTYPE", "a", "=", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\">",
"input":"<!DOCTYPE a PUBLIC\">",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "abrupt-doctype-public-identifier", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"?",
"input":"<!DOCTYPE a PUBLIC\"?",
"output":[["DOCTYPE", "a", "?", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"@",
"input":"<!DOCTYPE a PUBLIC\"@",
"output":[["DOCTYPE", "a", "@", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"A",
"input":"<!DOCTYPE a PUBLIC\"A",
"output":[["DOCTYPE", "a", "A", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"B",
"input":"<!DOCTYPE a PUBLIC\"B",
"output":[["DOCTYPE", "a", "B", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"Y",
"input":"<!DOCTYPE a PUBLIC\"Y",
"output":[["DOCTYPE", "a", "Y", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"Z",
"input":"<!DOCTYPE a PUBLIC\"Z",
"output":[["DOCTYPE", "a", "Z", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"`",
"input":"<!DOCTYPE a PUBLIC\"`",
"output":[["DOCTYPE", "a", "`", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"a",
"input":"<!DOCTYPE a PUBLIC\"a",
"output":[["DOCTYPE", "a", "a", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"b",
"input":"<!DOCTYPE a PUBLIC\"b",
"output":[["DOCTYPE", "a", "b", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"y",
"input":"<!DOCTYPE a PUBLIC\"y",
"output":[["DOCTYPE", "a", "y", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"z",
"input":"<!DOCTYPE a PUBLIC\"z",
"output":[["DOCTYPE", "a", "z", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"{",
"input":"<!DOCTYPE a PUBLIC\"{",
"output":[["DOCTYPE", "a", "{", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\"\\uDBC0\\uDC00",
"input":"<!DOCTYPE a PUBLIC\"\uDBC0\uDC00",
"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC#",
"input":"<!DOCTYPE a PUBLIC#",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC&",
"input":"<!DOCTYPE a PUBLIC&",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'",
"input":"<!DOCTYPE a PUBLIC'",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'\\u0000",
"input":"<!DOCTYPE a PUBLIC'\u0000",
"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "unexpected-null-character", "col": 20, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'\\u0009",
"input":"<!DOCTYPE a PUBLIC'\u0009",
"output":[["DOCTYPE", "a", "\u0009", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'\\u000A",
"input":"<!DOCTYPE a PUBLIC'\u000A",
"output":[["DOCTYPE", "a", "\u000A", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a PUBLIC'\\u000B",
"input":"<!DOCTYPE a PUBLIC'\u000B",
"output":[["DOCTYPE", "a", "\u000B", null, false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'\\u000C",
"input":"<!DOCTYPE a PUBLIC'\u000C",
"output":[["DOCTYPE", "a", "\u000C", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC' ",
"input":"<!DOCTYPE a PUBLIC' ",
"output":[["DOCTYPE", "a", " ", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'!",
"input":"<!DOCTYPE a PUBLIC'!",
"output":[["DOCTYPE", "a", "!", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'\"",
"input":"<!DOCTYPE a PUBLIC'\"",
"output":[["DOCTYPE", "a", "\"", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'&",
"input":"<!DOCTYPE a PUBLIC'&",
"output":[["DOCTYPE", "a", "&", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''",
"input":"<!DOCTYPE a PUBLIC''",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u0000",
"input":"<!DOCTYPE a PUBLIC''\u0000",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u0008",
"input":"<!DOCTYPE a PUBLIC''\u0008",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u0009",
"input":"<!DOCTYPE a PUBLIC''\u0009",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u000A",
"input":"<!DOCTYPE a PUBLIC''\u000A",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u000B",
"input":"<!DOCTYPE a PUBLIC''\u000B",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
    { "code" : "missing-quote-before-doctype-system-identifier", "col": 21, "line" : 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u000C",
"input":"<!DOCTYPE a PUBLIC''\u000C",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u000D",
"input":"<!DOCTYPE a PUBLIC''\u000D",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\u001F",
"input":"<!DOCTYPE a PUBLIC''\u001F",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
    { "code" : "missing-quote-before-doctype-system-identifier", "col": 21, "line" : 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'' ",
"input":"<!DOCTYPE a PUBLIC'' ",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''!",
"input":"<!DOCTYPE a PUBLIC''!",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''\"",
"input":"<!DOCTYPE a PUBLIC''\"",
"output":[["DOCTYPE", "a", "", "", false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''#",
"input":"<!DOCTYPE a PUBLIC''#",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''&",
"input":"<!DOCTYPE a PUBLIC''&",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'''",
"input":"<!DOCTYPE a PUBLIC'''",
"output":[["DOCTYPE", "a", "", "", false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''''\\u0000",
"input":"<!DOCTYPE a PUBLIC''''\u0000",
"output":[["DOCTYPE", "a", "", "", true]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 23 },
    { "code": "unexpected-null-character", "line": 1, "col": 23 }
]},

{"description":"<!DOCTYPE a PUBLIC''''x\\u0000",
"input":"<!DOCTYPE a PUBLIC''''x\u0000",
"output":[["DOCTYPE", "a", "", "", true]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 23 },
    { "code": "unexpected-null-character", "line": 1, "col": 24 }
]},

{"description":"<!DOCTYPE a PUBLIC'''' \\u0000",
"input":"<!DOCTYPE a PUBLIC'''' \u0000",
"output":[["DOCTYPE", "a", "", "", true]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 24 },
    { "code": "unexpected-null-character", "line": 1, "col": 24 }
]},

{"description":"<!DOCTYPE a PUBLIC'''' x\\u0000",
"input":"<!DOCTYPE a PUBLIC'''' x\u0000",
"output":[["DOCTYPE", "a", "", "", true]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 24 },
    { "code": "unexpected-null-character", "line": 1, "col": 25 }
]},

{"description":"<!DOCTYPE a PUBLIC''(",
"input":"<!DOCTYPE a PUBLIC''(",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''-",
"input":"<!DOCTYPE a PUBLIC''-",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''/",
"input":"<!DOCTYPE a PUBLIC''/",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''0",
"input":"<!DOCTYPE a PUBLIC''0",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''1",
"input":"<!DOCTYPE a PUBLIC''1",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''9",
"input":"<!DOCTYPE a PUBLIC''9",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''<",
"input":"<!DOCTYPE a PUBLIC''<",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''=",
"input":"<!DOCTYPE a PUBLIC''=",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''>",
"input":"<!DOCTYPE a PUBLIC''>",
"output":[["DOCTYPE", "a", "", null, true]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''?",
"input":"<!DOCTYPE a PUBLIC''?",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''@",
"input":"<!DOCTYPE a PUBLIC''@",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''A",
"input":"<!DOCTYPE a PUBLIC''A",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''B",
"input":"<!DOCTYPE a PUBLIC''B",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''Y",
"input":"<!DOCTYPE a PUBLIC''Y",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''Z",
"input":"<!DOCTYPE a PUBLIC''Z",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''`",
"input":"<!DOCTYPE a PUBLIC''`",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''a",
"input":"<!DOCTYPE a PUBLIC''a",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''b",
"input":"<!DOCTYPE a PUBLIC''b",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''y",
"input":"<!DOCTYPE a PUBLIC''y",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''z",
"input":"<!DOCTYPE a PUBLIC''z",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''{",
"input":"<!DOCTYPE a PUBLIC''{",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC''\\uDBC0\\uDC00",
"input":"<!DOCTYPE a PUBLIC''\uDBC0\uDC00",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'(",
"input":"<!DOCTYPE a PUBLIC'(",
"output":[["DOCTYPE", "a", "(", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'-",
"input":"<!DOCTYPE a PUBLIC'-",
"output":[["DOCTYPE", "a", "-", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'/",
"input":"<!DOCTYPE a PUBLIC'/",
"output":[["DOCTYPE", "a", "/", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'0",
"input":"<!DOCTYPE a PUBLIC'0",
"output":[["DOCTYPE", "a", "0", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'1",
"input":"<!DOCTYPE a PUBLIC'1",
"output":[["DOCTYPE", "a", "1", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'9",
"input":"<!DOCTYPE a PUBLIC'9",
"output":[["DOCTYPE", "a", "9", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'<",
"input":"<!DOCTYPE a PUBLIC'<",
"output":[["DOCTYPE", "a", "<", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'=",
"input":"<!DOCTYPE a PUBLIC'=",
"output":[["DOCTYPE", "a", "=", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'>",
"input":"<!DOCTYPE a PUBLIC'>",
"output":[["DOCTYPE", "a", "", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "abrupt-doctype-public-identifier", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'?",
"input":"<!DOCTYPE a PUBLIC'?",
"output":[["DOCTYPE", "a", "?", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'@",
"input":"<!DOCTYPE a PUBLIC'@",
"output":[["DOCTYPE", "a", "@", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'A",
"input":"<!DOCTYPE a PUBLIC'A",
"output":[["DOCTYPE", "a", "A", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'B",
"input":"<!DOCTYPE a PUBLIC'B",
"output":[["DOCTYPE", "a", "B", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'Y",
"input":"<!DOCTYPE a PUBLIC'Y",
"output":[["DOCTYPE", "a", "Y", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'Z",
"input":"<!DOCTYPE a PUBLIC'Z",
"output":[["DOCTYPE", "a", "Z", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'`",
"input":"<!DOCTYPE a PUBLIC'`",
"output":[["DOCTYPE", "a", "`", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'a",
"input":"<!DOCTYPE a PUBLIC'a",
"output":[["DOCTYPE", "a", "a", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'b",
"input":"<!DOCTYPE a PUBLIC'b",
"output":[["DOCTYPE", "a", "b", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'y",
"input":"<!DOCTYPE a PUBLIC'y",
"output":[["DOCTYPE", "a", "y", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'z",
"input":"<!DOCTYPE a PUBLIC'z",
"output":[["DOCTYPE", "a", "z", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'{",
"input":"<!DOCTYPE a PUBLIC'{",
"output":[["DOCTYPE", "a", "{", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC'\\uDBC0\\uDC00",
"input":"<!DOCTYPE a PUBLIC'\uDBC0\uDC00",
"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
"errors": [
    { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC(",
"input":"<!DOCTYPE a PUBLIC(",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC-",
"input":"<!DOCTYPE a PUBLIC-",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC/",
"input":"<!DOCTYPE a PUBLIC/",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC0",
"input":"<!DOCTYPE a PUBLIC0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC1",
"input":"<!DOCTYPE a PUBLIC1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC9",
"input":"<!DOCTYPE a PUBLIC9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC<",
"input":"<!DOCTYPE a PUBLIC<",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC=",
"input":"<!DOCTYPE a PUBLIC=",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC>",
"input":"<!DOCTYPE a PUBLIC>",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC?",
"input":"<!DOCTYPE a PUBLIC?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC@",
"input":"<!DOCTYPE a PUBLIC@",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICA",
"input":"<!DOCTYPE a PUBLICA",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICB",
"input":"<!DOCTYPE a PUBLICB",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICY",
"input":"<!DOCTYPE a PUBLICY",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICZ",
"input":"<!DOCTYPE a PUBLICZ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC`",
"input":"<!DOCTYPE a PUBLIC`",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICa",
"input":"<!DOCTYPE a PUBLICa",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICb",
"input":"<!DOCTYPE a PUBLICb",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICy",
"input":"<!DOCTYPE a PUBLICy",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLICz",
"input":"<!DOCTYPE a PUBLICz",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC{",
"input":"<!DOCTYPE a PUBLIC{",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a PUBLIC\\uDBC0\\uDC00",
"input":"<!DOCTYPE a PUBLIC\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM",
"input":"<!DOCTYPE a SYSTEM",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u0000",
"input":"<!DOCTYPE a SYSTEM\u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM \\u0000",
"input":"<!DOCTYPE a SYSTEM \u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-system-identifier", "col": 20, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPE a SYSTEM x\\u0000",
"input":"<!DOCTYPE a SYSTEM \u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "missing-quote-before-doctype-system-identifier", "col": 20, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u0008",
"input":"<!DOCTYPE a SYSTEM\u0008",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u0009",
"input":"<!DOCTYPE a SYSTEM\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u000A",
"input":"<!DOCTYPE a SYSTEM\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u000B",
"input":"<!DOCTYPE a SYSTEM\u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u000C",
"input":"<!DOCTYPE a SYSTEM\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u000D",
"input":"<!DOCTYPE a SYSTEM\u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a SYSTEM\\u001F",
"input":"<!DOCTYPE a SYSTEM\u001F",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM ",
"input":"<!DOCTYPE a SYSTEM ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors": [
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM!",
"input":"<!DOCTYPE a SYSTEM!",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"",
"input":"<!DOCTYPE a SYSTEM\"",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"\\u0000",
"input":"<!DOCTYPE a SYSTEM\"\u0000",
"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-null-character", "col": 20, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"\\u0009",
"input":"<!DOCTYPE a SYSTEM\"\u0009",
"output":[["DOCTYPE", "a", null, "\u0009", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"\\u000A",
"input":"<!DOCTYPE a SYSTEM\"\u000A",
"output":[["DOCTYPE", "a", null, "\u000A", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a SYSTEM\"\\u000B",
"input":"<!DOCTYPE a SYSTEM\"\u000B",
"output":[["DOCTYPE", "a", null, "\u000B", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"\\u000C",
"input":"<!DOCTYPE a SYSTEM\"\u000C",
"output":[["DOCTYPE", "a", null, "\u000C", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\" ",
"input":"<!DOCTYPE a SYSTEM\" ",
"output":[["DOCTYPE", "a", null, " ", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"!",
"input":"<!DOCTYPE a SYSTEM\"!",
"output":[["DOCTYPE", "a", null, "!", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"\"",
"input":"<!DOCTYPE a SYSTEM\"\"",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"#",
"input":"<!DOCTYPE a SYSTEM\"#",
"output":[["DOCTYPE", "a", null, "#", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"&",
"input":"<!DOCTYPE a SYSTEM\"&",
"output":[["DOCTYPE", "a", null, "&", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"'",
"input":"<!DOCTYPE a SYSTEM\"'",
"output":[["DOCTYPE", "a", null, "'", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"-",
"input":"<!DOCTYPE a SYSTEM\"-",
"output":[["DOCTYPE", "a", null, "-", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"/",
"input":"<!DOCTYPE a SYSTEM\"/",
"output":[["DOCTYPE", "a", null, "/", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"0",
"input":"<!DOCTYPE a SYSTEM\"0",
"output":[["DOCTYPE", "a", null, "0", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"1",
"input":"<!DOCTYPE a SYSTEM\"1",
"output":[["DOCTYPE", "a", null, "1", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"9",
"input":"<!DOCTYPE a SYSTEM\"9",
"output":[["DOCTYPE", "a", null, "9", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"<",
"input":"<!DOCTYPE a SYSTEM\"<",
"output":[["DOCTYPE", "a", null, "<", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"=",
"input":"<!DOCTYPE a SYSTEM\"=",
"output":[["DOCTYPE", "a", null, "=", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\">",
"input":"<!DOCTYPE a SYSTEM\">",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "abrupt-doctype-system-identifier", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"?",
"input":"<!DOCTYPE a SYSTEM\"?",
"output":[["DOCTYPE", "a", null, "?", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"@",
"input":"<!DOCTYPE a SYSTEM\"@",
"output":[["DOCTYPE", "a", null, "@", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"A",
"input":"<!DOCTYPE a SYSTEM\"A",
"output":[["DOCTYPE", "a", null, "A", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"B",
"input":"<!DOCTYPE a SYSTEM\"B",
"output":[["DOCTYPE", "a", null, "B", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"Y",
"input":"<!DOCTYPE a SYSTEM\"Y",
"output":[["DOCTYPE", "a", null, "Y", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"Z",
"input":"<!DOCTYPE a SYSTEM\"Z",
"output":[["DOCTYPE", "a", null, "Z", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"`",
"input":"<!DOCTYPE a SYSTEM\"`",
"output":[["DOCTYPE", "a", null, "`", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"a",
"input":"<!DOCTYPE a SYSTEM\"a",
"output":[["DOCTYPE", "a", null, "a", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"b",
"input":"<!DOCTYPE a SYSTEM\"b",
"output":[["DOCTYPE", "a", null, "b", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"y",
"input":"<!DOCTYPE a SYSTEM\"y",
"output":[["DOCTYPE", "a", null, "y", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"z",
"input":"<!DOCTYPE a SYSTEM\"z",
"output":[["DOCTYPE", "a", null, "z", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"{",
"input":"<!DOCTYPE a SYSTEM\"{",
"output":[["DOCTYPE", "a", null, "{", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM\"\\uDBC0\\uDC00",
"input":"<!DOCTYPE a SYSTEM\"\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM#",
"input":"<!DOCTYPE a SYSTEM#",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM&",
"input":"<!DOCTYPE a SYSTEM&",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM'",
"input":"<!DOCTYPE a SYSTEM'",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'\\u0000",
"input":"<!DOCTYPE a SYSTEM'\u0000",
"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-null-character", "col": 20, "line": 1 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'\\u0009",
"input":"<!DOCTYPE a SYSTEM'\u0009",
"output":[["DOCTYPE", "a", null, "\u0009", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'\\u000A",
"input":"<!DOCTYPE a SYSTEM'\u000A",
"output":[["DOCTYPE", "a", null, "\u000A", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a SYSTEM'\\u000B",
"input":"<!DOCTYPE a SYSTEM'\u000B",
"output":[["DOCTYPE", "a", null, "\u000B", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'\\u000C",
"input":"<!DOCTYPE a SYSTEM'\u000C",
"output":[["DOCTYPE", "a", null, "\u000C", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM' ",
"input":"<!DOCTYPE a SYSTEM' ",
"output":[["DOCTYPE", "a", null, " ", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'!",
"input":"<!DOCTYPE a SYSTEM'!",
"output":[["DOCTYPE", "a", null, "!", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'\"",
"input":"<!DOCTYPE a SYSTEM'\"",
"output":[["DOCTYPE", "a", null, "\"", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'&",
"input":"<!DOCTYPE a SYSTEM'&",
"output":[["DOCTYPE", "a", null, "&", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''",
"input":"<!DOCTYPE a SYSTEM''",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\u0000",
"input":"<!DOCTYPE a SYSTEM''\u0000",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\u0008",
"input":"<!DOCTYPE a SYSTEM''\u0008",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\u0009",
"input":"<!DOCTYPE a SYSTEM''\u0009",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\u000A",
"input":"<!DOCTYPE a SYSTEM''\u000A",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\u000B",
"input":"<!DOCTYPE a SYSTEM''\u000B",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
    { "code" : "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21}
]},

{"description":"<!DOCTYPE a SYSTEM''\\u000C",
"input":"<!DOCTYPE a SYSTEM''\u000C",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\u000D",
"input":"<!DOCTYPE a SYSTEM''\u000D",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 1, "line": 2 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\u001F",
"input":"<!DOCTYPE a SYSTEM''\u001F",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
    { "code" : "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21}
]},

{"description":"<!DOCTYPE a SYSTEM'' ",
"input":"<!DOCTYPE a SYSTEM'' ",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'' \\u0000",
"input":"<!DOCTYPE a SYSTEM'' \u0000",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 22, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 22 }
]},

{"description":"<!DOCTYPE a SYSTEM'' x\\u0000",
"input":"<!DOCTYPE a SYSTEM'' x\u0000",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 22, "line": 1 },
    { "code": "unexpected-null-character", "line": 1, "col": 23 }
]},

{"description":"<!DOCTYPE a SYSTEM''!",
"input":"<!DOCTYPE a SYSTEM''!",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''\"",
"input":"<!DOCTYPE a SYSTEM''\"",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''&",
"input":"<!DOCTYPE a SYSTEM''&",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'''",
"input":"<!DOCTYPE a SYSTEM'''",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''-",
"input":"<!DOCTYPE a SYSTEM''-",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''/",
"input":"<!DOCTYPE a SYSTEM''/",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''0",
"input":"<!DOCTYPE a SYSTEM''0",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''1",
"input":"<!DOCTYPE a SYSTEM''1",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''9",
"input":"<!DOCTYPE a SYSTEM''9",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''<",
"input":"<!DOCTYPE a SYSTEM''<",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''=",
"input":"<!DOCTYPE a SYSTEM''=",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''>",
"input":"<!DOCTYPE a SYSTEM''>",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM''?",
"input":"<!DOCTYPE a SYSTEM''?",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''@",
"input":"<!DOCTYPE a SYSTEM''@",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''A",
"input":"<!DOCTYPE a SYSTEM''A",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''B",
"input":"<!DOCTYPE a SYSTEM''B",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''Y",
"input":"<!DOCTYPE a SYSTEM''Y",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''Z",
"input":"<!DOCTYPE a SYSTEM''Z",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''`",
"input":"<!DOCTYPE a SYSTEM''`",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''a",
"input":"<!DOCTYPE a SYSTEM''a",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''b",
"input":"<!DOCTYPE a SYSTEM''b",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''y",
"input":"<!DOCTYPE a SYSTEM''y",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''z",
"input":"<!DOCTYPE a SYSTEM''z",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''{",
"input":"<!DOCTYPE a SYSTEM''{",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM''\\uDBC0\\uDC00",
"input":"<!DOCTYPE a SYSTEM''\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'(",
"input":"<!DOCTYPE a SYSTEM'(",
"output":[["DOCTYPE", "a", null, "(", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'-",
"input":"<!DOCTYPE a SYSTEM'-",
"output":[["DOCTYPE", "a", null, "-", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'/",
"input":"<!DOCTYPE a SYSTEM'/",
"output":[["DOCTYPE", "a", null, "/", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'0",
"input":"<!DOCTYPE a SYSTEM'0",
"output":[["DOCTYPE", "a", null, "0", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'1",
"input":"<!DOCTYPE a SYSTEM'1",
"output":[["DOCTYPE", "a", null, "1", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'9",
"input":"<!DOCTYPE a SYSTEM'9",
"output":[["DOCTYPE", "a", null, "9", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'<",
"input":"<!DOCTYPE a SYSTEM'<",
"output":[["DOCTYPE", "a", null, "<", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'=",
"input":"<!DOCTYPE a SYSTEM'=",
"output":[["DOCTYPE", "a", null, "=", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'>",
"input":"<!DOCTYPE a SYSTEM'>",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "abrupt-doctype-system-identifier", "col": 20, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'?",
"input":"<!DOCTYPE a SYSTEM'?",
"output":[["DOCTYPE", "a", null, "?", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'@",
"input":"<!DOCTYPE a SYSTEM'@",
"output":[["DOCTYPE", "a", null, "@", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'A",
"input":"<!DOCTYPE a SYSTEM'A",
"output":[["DOCTYPE", "a", null, "A", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'B",
"input":"<!DOCTYPE a SYSTEM'B",
"output":[["DOCTYPE", "a", null, "B", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'Y",
"input":"<!DOCTYPE a SYSTEM'Y",
"output":[["DOCTYPE", "a", null, "Y", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'Z",
"input":"<!DOCTYPE a SYSTEM'Z",
"output":[["DOCTYPE", "a", null, "Z", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'`",
"input":"<!DOCTYPE a SYSTEM'`",
"output":[["DOCTYPE", "a", null, "`", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'a",
"input":"<!DOCTYPE a SYSTEM'a",
"output":[["DOCTYPE", "a", null, "a", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'b",
"input":"<!DOCTYPE a SYSTEM'b",
"output":[["DOCTYPE", "a", null, "b", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'y",
"input":"<!DOCTYPE a SYSTEM'y",
"output":[["DOCTYPE", "a", null, "y", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'z",
"input":"<!DOCTYPE a SYSTEM'z",
"output":[["DOCTYPE", "a", null, "z", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'{",
"input":"<!DOCTYPE a SYSTEM'{",
"output":[["DOCTYPE", "a", null, "{", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 21, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM'\\uDBC0\\uDC00",
"input":"<!DOCTYPE a SYSTEM'\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
"errors":[
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "col": 22, "line": 1 }
]},

{"description":"<!DOCTYPE a SYSTEM(",
"input":"<!DOCTYPE a SYSTEM(",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM-",
"input":"<!DOCTYPE a SYSTEM-",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM/",
"input":"<!DOCTYPE a SYSTEM/",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM0",
"input":"<!DOCTYPE a SYSTEM0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM1",
"input":"<!DOCTYPE a SYSTEM1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM9",
"input":"<!DOCTYPE a SYSTEM9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM<",
"input":"<!DOCTYPE a SYSTEM<",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM=",
"input":"<!DOCTYPE a SYSTEM=",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM>",
"input":"<!DOCTYPE a SYSTEM>",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM?",
"input":"<!DOCTYPE a SYSTEM?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM@",
"input":"<!DOCTYPE a SYSTEM@",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMA",
"input":"<!DOCTYPE a SYSTEMA",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMB",
"input":"<!DOCTYPE a SYSTEMB",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMY",
"input":"<!DOCTYPE a SYSTEMY",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMZ",
"input":"<!DOCTYPE a SYSTEMZ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM`",
"input":"<!DOCTYPE a SYSTEM`",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMa",
"input":"<!DOCTYPE a SYSTEMa",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMb",
"input":"<!DOCTYPE a SYSTEMb",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMy",
"input":"<!DOCTYPE a SYSTEMy",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEMz",
"input":"<!DOCTYPE a SYSTEMz",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM{",
"input":"<!DOCTYPE a SYSTEM{",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a SYSTEM\\uDBC0\\uDC00",
"input":"<!DOCTYPE a SYSTEM\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPE a Y",
"input":"<!DOCTYPE a Y",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a Z",
"input":"<!DOCTYPE a Z",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a `",
"input":"<!DOCTYPE a `",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a",
"input":"<!DOCTYPE a a",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a\\u0000",
"input":"<!DOCTYPE a a\u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 },
    { "code": "unexpected-null-character", "line": 1, "col": 14 }
]},

{"description":"<!DOCTYPE a a\\u0009",
"input":"<!DOCTYPE a a\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a\\u000A",
"input":"<!DOCTYPE a a\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a\\u000B",
"input":"<!DOCTYPE a a\u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 14 }
]},

{"description":"<!DOCTYPE a a\\u000C",
"input":"<!DOCTYPE a a\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a ",
"input":"<!DOCTYPE a a ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a!",
"input":"<!DOCTYPE a a!",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a\"",
"input":"<!DOCTYPE a a\"",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a&",
"input":"<!DOCTYPE a a&",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a'",
"input":"<!DOCTYPE a a'",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a-",
"input":"<!DOCTYPE a a-",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a/",
"input":"<!DOCTYPE a a/",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a0",
"input":"<!DOCTYPE a a0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a1",
"input":"<!DOCTYPE a a1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a9",
"input":"<!DOCTYPE a a9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a<",
"input":"<!DOCTYPE a a<",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a=",
"input":"<!DOCTYPE a a=",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a>",
"input":"<!DOCTYPE a a>",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a?",
"input":"<!DOCTYPE a a?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a@",
"input":"<!DOCTYPE a a@",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a aA",
"input":"<!DOCTYPE a aA",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a aB",
"input":"<!DOCTYPE a aB",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a aY",
"input":"<!DOCTYPE a aY",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a aZ",
"input":"<!DOCTYPE a aZ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a`",
"input":"<!DOCTYPE a a`",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a aa",
"input":"<!DOCTYPE a aa",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a ab",
"input":"<!DOCTYPE a ab",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a ay",
"input":"<!DOCTYPE a ay",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a az",
"input":"<!DOCTYPE a az",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a{",
"input":"<!DOCTYPE a a{",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a a\\uDBC0\\uDC00",
"input":"<!DOCTYPE a a\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a b",
"input":"<!DOCTYPE a b",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a y",
"input":"<!DOCTYPE a y",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a z",
"input":"<!DOCTYPE a z",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a {",
"input":"<!DOCTYPE a {",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a \\uDBC0\\uDC00",
"input":"<!DOCTYPE a \uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a!",
"input":"<!DOCTYPE a!",
"output":[["DOCTYPE", "a!", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a\"",
"input":"<!DOCTYPE a\"",
"output":[["DOCTYPE", "a\"", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a&",
"input":"<!DOCTYPE a&",
"output":[["DOCTYPE", "a&", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a'",
"input":"<!DOCTYPE a'",
"output":[["DOCTYPE", "a'", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a-",
"input":"<!DOCTYPE a-",
"output":[["DOCTYPE", "a-", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a/",
"input":"<!DOCTYPE a/",
"output":[["DOCTYPE", "a/", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a0",
"input":"<!DOCTYPE a0",
"output":[["DOCTYPE", "a0", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a1",
"input":"<!DOCTYPE a1",
"output":[["DOCTYPE", "a1", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a9",
"input":"<!DOCTYPE a9",
"output":[["DOCTYPE", "a9", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a<",
"input":"<!DOCTYPE a<",
"output":[["DOCTYPE", "a<", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a=",
"input":"<!DOCTYPE a=",
"output":[["DOCTYPE", "a=", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a>",
"input":"<!DOCTYPE a>",
"output":[["DOCTYPE", "a", null, null, true]]},

{"description":"<!DOCTYPE a?",
"input":"<!DOCTYPE a?",
"output":[["DOCTYPE", "a?", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a@",
"input":"<!DOCTYPE a@",
"output":[["DOCTYPE", "a@", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE aA",
"input":"<!DOCTYPE aA",
"output":[["DOCTYPE", "aa", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE aB",
"input":"<!DOCTYPE aB",
"output":[["DOCTYPE", "ab", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE aY",
"input":"<!DOCTYPE aY",
"output":[["DOCTYPE", "ay", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE aZ",
"input":"<!DOCTYPE aZ",
"output":[["DOCTYPE", "az", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a[",
"input":"<!DOCTYPE a[",
"output":[["DOCTYPE", "a[", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a`",
"input":"<!DOCTYPE a`",
"output":[["DOCTYPE", "a`", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE aa",
"input":"<!DOCTYPE aa",
"output":[["DOCTYPE", "aa", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE ab",
"input":"<!DOCTYPE ab",
"output":[["DOCTYPE", "ab", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE ay",
"input":"<!DOCTYPE ay",
"output":[["DOCTYPE", "ay", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE az",
"input":"<!DOCTYPE az",
"output":[["DOCTYPE", "az", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a{",
"input":"<!DOCTYPE a{",
"output":[["DOCTYPE", "a{", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE a\\uDBC0\\uDC00",
"input":"<!DOCTYPE a\uDBC0\uDC00",
"output":[["DOCTYPE", "a\uDBC0\uDC00", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 14 }
]},

{"description":"<!DOCTYPE b",
"input":"<!DOCTYPE b",
"output":[["DOCTYPE", "b", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE y",
"input":"<!DOCTYPE y",
"output":[["DOCTYPE", "y", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE z",
"input":"<!DOCTYPE z",
"output":[["DOCTYPE", "z", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE {",
"input":"<!DOCTYPE {",
"output":[["DOCTYPE", "{", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPE \\uDBC0\\uDC00",
"input":"<!DOCTYPE \uDBC0\uDC00",
"output":[["DOCTYPE", "\uDBC0\uDC00", null, null, false]],
"errors":[
   { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPE!",
"input":"<!DOCTYPE!",
"output":[["DOCTYPE", "!", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE\"",
"input":"<!DOCTYPE\"",
"output":[["DOCTYPE", "\"", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE&",
"input":"<!DOCTYPE&",
"output":[["DOCTYPE", "&", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE'",
"input":"<!DOCTYPE'",
"output":[["DOCTYPE", "'", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE-",
"input":"<!DOCTYPE-",
"output":[["DOCTYPE", "-", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE/",
"input":"<!DOCTYPE/",
"output":[["DOCTYPE", "/", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE0",
"input":"<!DOCTYPE0",
"output":[["DOCTYPE", "0", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE1",
"input":"<!DOCTYPE1",
"output":[["DOCTYPE", "1", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE9",
"input":"<!DOCTYPE9",
"output":[["DOCTYPE", "9", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE<",
"input":"<!DOCTYPE<",
"output":[["DOCTYPE", "<", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE=",
"input":"<!DOCTYPE=",
"output":[["DOCTYPE", "=", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE>",
"input":"<!DOCTYPE>",
"output":[["DOCTYPE", null, null, null, false]],
"errors":[
    { "code": "missing-doctype-name", "line": 1, "col": 10 }
]},

{"description":"<!DOCTYPE?",
"input":"<!DOCTYPE?",
"output":[["DOCTYPE", "?", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE@",
"input":"<!DOCTYPE@",
"output":[["DOCTYPE", "@", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEA",
"input":"<!DOCTYPEA",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEB",
"input":"<!DOCTYPEB",
"output":[["DOCTYPE", "b", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEY",
"input":"<!DOCTYPEY",
"output":[["DOCTYPE", "y", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEZ",
"input":"<!DOCTYPEZ",
"output":[["DOCTYPE", "z", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE`",
"input":"<!DOCTYPE`",
"output":[["DOCTYPE", "`", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEa",
"input":"<!DOCTYPEa",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEa\\u0000",
"input":"<!DOCTYPEa\u0000",
"output":[["DOCTYPE", "a\uFFFD", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "unexpected-null-character", "line": 1, "col": 11 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa\\u0008",
"input":"<!DOCTYPEa\u0008",
"output":[["DOCTYPE", "a\u0008", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa\\u0009",
"input":"<!DOCTYPEa\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa\\u000A",
"input":"<!DOCTYPEa\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa\\u000B",
"input":"<!DOCTYPEa\u000B",
"output":[["DOCTYPE", "a\u000B", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa\\u000C",
"input":"<!DOCTYPEa\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa\\u000D",
"input":"<!DOCTYPEa\u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa\\u001F",
"input":"<!DOCTYPEa\u001F",
"output":[["DOCTYPE", "a\u001F", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa ",
"input":"<!DOCTYPEa ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa \\u0000",
"input":"<!DOCTYPEa \u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 },
    { "code": "unexpected-null-character", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa \\u0008",
"input":"<!DOCTYPEa \u0008",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa \\u0009",
"input":"<!DOCTYPEa \u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPEa \\u000A",
"input":"<!DOCTYPEa \u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa \\u000B",
"input":"<!DOCTYPEa \u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa \\u000C",
"input":"<!DOCTYPEa \u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPEa \\u000D",
"input":"<!DOCTYPEa \u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa \\u001F",
"input":"<!DOCTYPEa \u001F",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa  ",
"input":"<!DOCTYPEa  ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPEa !",
"input":"<!DOCTYPEa !",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa \"",
"input":"<!DOCTYPEa \"",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa &",
"input":"<!DOCTYPEa &",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa '",
"input":"<!DOCTYPEa '",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa -",
"input":"<!DOCTYPEa -",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa /",
"input":"<!DOCTYPEa /",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa 0",
"input":"<!DOCTYPEa 0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa 1",
"input":"<!DOCTYPEa 1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa 9",
"input":"<!DOCTYPEa 9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa <",
"input":"<!DOCTYPEa <",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa =",
"input":"<!DOCTYPEa =",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa >",
"input":"<!DOCTYPEa >",
"output":[["DOCTYPE", "a", null, null, true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }
]},

{"description":"<!DOCTYPEa ?",
"input":"<!DOCTYPEa ?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa @",
"input":"<!DOCTYPEa @",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa A",
"input":"<!DOCTYPEa A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa B",
"input":"<!DOCTYPEa B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa PUBLIC",
"input":"<!DOCTYPEa PUBLIC",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC\\u0000",
"input":"<!DOCTYPEa PUBLIC\u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 },
    { "code": "unexpected-null-character", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC\\u0008",
"input":"<!DOCTYPEa PUBLIC\u0008",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }

]},

{"description":"<!DOCTYPEa PUBLIC\\u0009",
"input":"<!DOCTYPEa PUBLIC\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa PUBLIC\\u000A",
"input":"<!DOCTYPEa PUBLIC\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa PUBLIC\\u000B",
"input":"<!DOCTYPEa PUBLIC\u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC\\u000C",
"input":"<!DOCTYPEa PUBLIC\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa PUBLIC\\u000D",
"input":"<!DOCTYPEa PUBLIC\u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa PUBLIC\\u001F",
"input":"<!DOCTYPEa PUBLIC\u001F",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC ",
"input":"<!DOCTYPEa PUBLIC ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa PUBLIC!",
"input":"<!DOCTYPEa PUBLIC!",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }

]},

{"description":"<!DOCTYPEa PUBLIC\"",
"input":"<!DOCTYPEa PUBLIC\"",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa PUBLIC\"\\u0000",
"input":"<!DOCTYPEa PUBLIC\"\u0000",
"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-null-character", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"\\u0009",
"input":"<!DOCTYPEa PUBLIC\"\u0009",
"output":[["DOCTYPE", "a", "\u0009", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"\\u000A",
"input":"<!DOCTYPEa PUBLIC\"\u000A",
"output":[["DOCTYPE", "a", "\u000A", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa PUBLIC\"\\u000B",
"input":"<!DOCTYPEa PUBLIC\"\u000B",
"output":[["DOCTYPE", "a", "\u000B", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"\\u000C",
"input":"<!DOCTYPEa PUBLIC\"\u000C",
"output":[["DOCTYPE", "a", "\u000C", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\" ",
"input":"<!DOCTYPEa PUBLIC\" ",
"output":[["DOCTYPE", "a", " ", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"!",
"input":"<!DOCTYPEa PUBLIC\"!",
"output":[["DOCTYPE", "a", "!", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"\"",
"input":"<!DOCTYPEa PUBLIC\"\"",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"#",
"input":"<!DOCTYPEa PUBLIC\"#",
"output":[["DOCTYPE", "a", "#", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"&",
"input":"<!DOCTYPEa PUBLIC\"&",
"output":[["DOCTYPE", "a", "&", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"'",
"input":"<!DOCTYPEa PUBLIC\"'",
"output":[["DOCTYPE", "a", "'", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"-",
"input":"<!DOCTYPEa PUBLIC\"-",
"output":[["DOCTYPE", "a", "-", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"/",
"input":"<!DOCTYPEa PUBLIC\"/",
"output":[["DOCTYPE", "a", "/", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"0",
"input":"<!DOCTYPEa PUBLIC\"0",
"output":[["DOCTYPE", "a", "0", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"1",
"input":"<!DOCTYPEa PUBLIC\"1",
"output":[["DOCTYPE", "a", "1", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"9",
"input":"<!DOCTYPEa PUBLIC\"9",
"output":[["DOCTYPE", "a", "9", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"<",
"input":"<!DOCTYPEa PUBLIC\"<",
"output":[["DOCTYPE", "a", "<", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"=",
"input":"<!DOCTYPEa PUBLIC\"=",
"output":[["DOCTYPE", "a", "=", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\">",
"input":"<!DOCTYPEa PUBLIC\">",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "abrupt-doctype-public-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa PUBLIC\"?",
"input":"<!DOCTYPEa PUBLIC\"?",
"output":[["DOCTYPE", "a", "?", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"@",
"input":"<!DOCTYPEa PUBLIC\"@",
"output":[["DOCTYPE", "a", "@", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"A",
"input":"<!DOCTYPEa PUBLIC\"A",
"output":[["DOCTYPE", "a", "A", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"B",
"input":"<!DOCTYPEa PUBLIC\"B",
"output":[["DOCTYPE", "a", "B", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"Y",
"input":"<!DOCTYPEa PUBLIC\"Y",
"output":[["DOCTYPE", "a", "Y", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"Z",
"input":"<!DOCTYPEa PUBLIC\"Z",
"output":[["DOCTYPE", "a", "Z", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"`",
"input":"<!DOCTYPEa PUBLIC\"`",
"output":[["DOCTYPE", "a", "`", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"a",
"input":"<!DOCTYPEa PUBLIC\"a",
"output":[["DOCTYPE", "a", "a", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"b",
"input":"<!DOCTYPEa PUBLIC\"b",
"output":[["DOCTYPE", "a", "b", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"y",
"input":"<!DOCTYPEa PUBLIC\"y",
"output":[["DOCTYPE", "a", "y", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"z",
"input":"<!DOCTYPEa PUBLIC\"z",
"output":[["DOCTYPE", "a", "z", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"{",
"input":"<!DOCTYPEa PUBLIC\"{",
"output":[["DOCTYPE", "a", "{", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC\"\\uDBC0\\uDC00",
"input":"<!DOCTYPEa PUBLIC\"\uDBC0\uDC00",
"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa PUBLIC#",
"input":"<!DOCTYPEa PUBLIC#",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC&",
"input":"<!DOCTYPEa PUBLIC&",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC'",
"input":"<!DOCTYPEa PUBLIC'",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa PUBLIC'\\u0000",
"input":"<!DOCTYPEa PUBLIC'\u0000",
"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-null-character", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'\\u0009",
"input":"<!DOCTYPEa PUBLIC'\u0009",
"output":[["DOCTYPE", "a", "\u0009", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'\\u000A",
"input":"<!DOCTYPEa PUBLIC'\u000A",
"output":[["DOCTYPE", "a", "\u000A", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa PUBLIC'\\u000B",
"input":"<!DOCTYPEa PUBLIC'\u000B",
"output":[["DOCTYPE", "a", "\u000B", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'\\u000C",
"input":"<!DOCTYPEa PUBLIC'\u000C",
"output":[["DOCTYPE", "a", "\u000C", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC' ",
"input":"<!DOCTYPEa PUBLIC' ",
"output":[["DOCTYPE", "a", " ", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'!",
"input":"<!DOCTYPEa PUBLIC'!",
"output":[["DOCTYPE", "a", "!", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'\"",
"input":"<!DOCTYPEa PUBLIC'\"",
"output":[["DOCTYPE", "a", "\"", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'&",
"input":"<!DOCTYPEa PUBLIC'&",
"output":[["DOCTYPE", "a", "&", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''",
"input":"<!DOCTYPEa PUBLIC''",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u0000",
"input":"<!DOCTYPEa PUBLIC''\u0000",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 },
    { "code": "unexpected-null-character", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u0008",
"input":"<!DOCTYPEa PUBLIC''\u0008",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u0009",
"input":"<!DOCTYPEa PUBLIC''\u0009",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u000A",
"input":"<!DOCTYPEa PUBLIC''\u000A",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u000B",
"input":"<!DOCTYPEa PUBLIC''\u000B",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u000C",
"input":"<!DOCTYPEa PUBLIC''\u000C",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u000D",
"input":"<!DOCTYPEa PUBLIC''\u000D",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\u001F",
"input":"<!DOCTYPEa PUBLIC''\u001F",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'' ",
"input":"<!DOCTYPEa PUBLIC'' ",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa PUBLIC''!",
"input":"<!DOCTYPEa PUBLIC''!",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''\"",
"input":"<!DOCTYPEa PUBLIC''\"",
"output":[["DOCTYPE", "a", "", "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "line": 1, "col": 20 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa PUBLIC''#",
"input":"<!DOCTYPEa PUBLIC''#",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''&",
"input":"<!DOCTYPEa PUBLIC''&",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'''",
"input":"<!DOCTYPEa PUBLIC'''",
"output":[["DOCTYPE", "a", "", "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "line": 1, "col": 20 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa PUBLIC''(",
"input":"<!DOCTYPEa PUBLIC''(",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''-",
"input":"<!DOCTYPEa PUBLIC''-",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''/",
"input":"<!DOCTYPEa PUBLIC''/",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''0",
"input":"<!DOCTYPEa PUBLIC''0",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''1",
"input":"<!DOCTYPEa PUBLIC''1",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''9",
"input":"<!DOCTYPEa PUBLIC''9",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''<",
"input":"<!DOCTYPEa PUBLIC''<",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''=",
"input":"<!DOCTYPEa PUBLIC''=",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''>",
"input":"<!DOCTYPEa PUBLIC''>",
"output":[["DOCTYPE", "a", "", null, true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC''?",
"input":"<!DOCTYPEa PUBLIC''?",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''@",
"input":"<!DOCTYPEa PUBLIC''@",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''A",
"input":"<!DOCTYPEa PUBLIC''A",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''B",
"input":"<!DOCTYPEa PUBLIC''B",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''Y",
"input":"<!DOCTYPEa PUBLIC''Y",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''Z",
"input":"<!DOCTYPEa PUBLIC''Z",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''`",
"input":"<!DOCTYPEa PUBLIC''`",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''a",
"input":"<!DOCTYPEa PUBLIC''a",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''b",
"input":"<!DOCTYPEa PUBLIC''b",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''y",
"input":"<!DOCTYPEa PUBLIC''y",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''z",
"input":"<!DOCTYPEa PUBLIC''z",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''{",
"input":"<!DOCTYPEa PUBLIC''{",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC''\\uDBC0\\uDC00",
"input":"<!DOCTYPEa PUBLIC''\uDBC0\uDC00",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'(",
"input":"<!DOCTYPEa PUBLIC'(",
"output":[["DOCTYPE", "a", "(", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'-",
"input":"<!DOCTYPEa PUBLIC'-",
"output":[["DOCTYPE", "a", "-", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'/",
"input":"<!DOCTYPEa PUBLIC'/",
"output":[["DOCTYPE", "a", "/", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'0",
"input":"<!DOCTYPEa PUBLIC'0",
"output":[["DOCTYPE", "a", "0", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'1",
"input":"<!DOCTYPEa PUBLIC'1",
"output":[["DOCTYPE", "a", "1", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'9",
"input":"<!DOCTYPEa PUBLIC'9",
"output":[["DOCTYPE", "a", "9", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'<",
"input":"<!DOCTYPEa PUBLIC'<",
"output":[["DOCTYPE", "a", "<", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'=",
"input":"<!DOCTYPEa PUBLIC'=",
"output":[["DOCTYPE", "a", "=", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'>",
"input":"<!DOCTYPEa PUBLIC'>",
"output":[["DOCTYPE", "a", "", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "abrupt-doctype-public-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa PUBLIC'?",
"input":"<!DOCTYPEa PUBLIC'?",
"output":[["DOCTYPE", "a", "?", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'@",
"input":"<!DOCTYPEa PUBLIC'@",
"output":[["DOCTYPE", "a", "@", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'A",
"input":"<!DOCTYPEa PUBLIC'A",
"output":[["DOCTYPE", "a", "A", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'B",
"input":"<!DOCTYPEa PUBLIC'B",
"output":[["DOCTYPE", "a", "B", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'Y",
"input":"<!DOCTYPEa PUBLIC'Y",
"output":[["DOCTYPE", "a", "Y", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'Z",
"input":"<!DOCTYPEa PUBLIC'Z",
"output":[["DOCTYPE", "a", "Z", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'`",
"input":"<!DOCTYPEa PUBLIC'`",
"output":[["DOCTYPE", "a", "`", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'a",
"input":"<!DOCTYPEa PUBLIC'a",
"output":[["DOCTYPE", "a", "a", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'b",
"input":"<!DOCTYPEa PUBLIC'b",
"output":[["DOCTYPE", "a", "b", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'y",
"input":"<!DOCTYPEa PUBLIC'y",
"output":[["DOCTYPE", "a", "y", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'z",
"input":"<!DOCTYPEa PUBLIC'z",
"output":[["DOCTYPE", "a", "z", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'{",
"input":"<!DOCTYPEa PUBLIC'{",
"output":[["DOCTYPE", "a", "{", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa PUBLIC'\\uDBC0\\uDC00",
"input":"<!DOCTYPEa PUBLIC'\uDBC0\uDC00",
"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa PUBLIC(",
"input":"<!DOCTYPEa PUBLIC(",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC-",
"input":"<!DOCTYPEa PUBLIC-",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC/",
"input":"<!DOCTYPEa PUBLIC/",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC0",
"input":"<!DOCTYPEa PUBLIC0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC1",
"input":"<!DOCTYPEa PUBLIC1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC9",
"input":"<!DOCTYPEa PUBLIC9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC<",
"input":"<!DOCTYPEa PUBLIC<",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC=",
"input":"<!DOCTYPEa PUBLIC=",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC>",
"input":"<!DOCTYPEa PUBLIC>",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC?",
"input":"<!DOCTYPEa PUBLIC?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC@",
"input":"<!DOCTYPEa PUBLIC@",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICA",
"input":"<!DOCTYPEa PUBLICA",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICB",
"input":"<!DOCTYPEa PUBLICB",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICY",
"input":"<!DOCTYPEa PUBLICY",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICZ",
"input":"<!DOCTYPEa PUBLICZ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC`",
"input":"<!DOCTYPEa PUBLIC`",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICa",
"input":"<!DOCTYPEa PUBLICa",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICb",
"input":"<!DOCTYPEa PUBLICb",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICy",
"input":"<!DOCTYPEa PUBLICy",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLICz",
"input":"<!DOCTYPEa PUBLICz",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC{",
"input":"<!DOCTYPEa PUBLIC{",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa PUBLIC\\uDBC0\\uDC00",
"input":"<!DOCTYPEa PUBLIC\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM",
"input":"<!DOCTYPEa SYSTEM",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u0000",
"input":"<!DOCTYPEa SYSTEM\u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 },
    { "code": "unexpected-null-character", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u0008",
"input":"<!DOCTYPEa SYSTEM\u0008",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u0009",
"input":"<!DOCTYPEa SYSTEM\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u000A",
"input":"<!DOCTYPEa SYSTEM\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u000B",
"input":"<!DOCTYPEa SYSTEM\u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u000C",
"input":"<!DOCTYPEa SYSTEM\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u000D",
"input":"<!DOCTYPEa SYSTEM\u000D",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa SYSTEM\\u001F",
"input":"<!DOCTYPEa SYSTEM\u001F",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM ",
"input":"<!DOCTYPEa SYSTEM ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa SYSTEM!",
"input":"<!DOCTYPEa SYSTEM!",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM\"",
"input":"<!DOCTYPEa SYSTEM\"",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa SYSTEM\"\\u0000",
"input":"<!DOCTYPEa SYSTEM\"\u0000",
"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-null-character", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"\\u0009",
"input":"<!DOCTYPEa SYSTEM\"\u0009",
"output":[["DOCTYPE", "a", null, "\u0009", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"\\u000A",
"input":"<!DOCTYPEa SYSTEM\"\u000A",
"output":[["DOCTYPE", "a", null, "\u000A", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa SYSTEM\"\\u000B",
"input":"<!DOCTYPEa SYSTEM\"\u000B",
"output":[["DOCTYPE", "a", null, "\u000B", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"\\u000C",
"input":"<!DOCTYPEa SYSTEM\"\u000C",
"output":[["DOCTYPE", "a", null, "\u000C", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\" ",
"input":"<!DOCTYPEa SYSTEM\" ",
"output":[["DOCTYPE", "a", null, " ", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"!",
"input":"<!DOCTYPEa SYSTEM\"!",
"output":[["DOCTYPE", "a", null, "!", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"\"",
"input":"<!DOCTYPEa SYSTEM\"\"",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"#",
"input":"<!DOCTYPEa SYSTEM\"#",
"output":[["DOCTYPE", "a", null, "#", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"&",
"input":"<!DOCTYPEa SYSTEM\"&",
"output":[["DOCTYPE", "a", null, "&", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"'",
"input":"<!DOCTYPEa SYSTEM\"'",
"output":[["DOCTYPE", "a", null, "'", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"-",
"input":"<!DOCTYPEa SYSTEM\"-",
"output":[["DOCTYPE", "a", null, "-", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"/",
"input":"<!DOCTYPEa SYSTEM\"/",
"output":[["DOCTYPE", "a", null, "/", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"0",
"input":"<!DOCTYPEa SYSTEM\"0",
"output":[["DOCTYPE", "a", null, "0", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"1",
"input":"<!DOCTYPEa SYSTEM\"1",
"output":[["DOCTYPE", "a", null, "1", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"9",
"input":"<!DOCTYPEa SYSTEM\"9",
"output":[["DOCTYPE", "a", null, "9", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"<",
"input":"<!DOCTYPEa SYSTEM\"<",
"output":[["DOCTYPE", "a", null, "<", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"=",
"input":"<!DOCTYPEa SYSTEM\"=",
"output":[["DOCTYPE", "a", null, "=", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }

]},

{"description":"<!DOCTYPEa SYSTEM\">",
"input":"<!DOCTYPEa SYSTEM\">",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "abrupt-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa SYSTEM\"?",
"input":"<!DOCTYPEa SYSTEM\"?",
"output":[["DOCTYPE", "a", null, "?", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"@",
"input":"<!DOCTYPEa SYSTEM\"@",
"output":[["DOCTYPE", "a", null, "@", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"A",
"input":"<!DOCTYPEa SYSTEM\"A",
"output":[["DOCTYPE", "a", null, "A", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"B",
"input":"<!DOCTYPEa SYSTEM\"B",
"output":[["DOCTYPE", "a", null, "B", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"Y",
"input":"<!DOCTYPEa SYSTEM\"Y",
"output":[["DOCTYPE", "a", null, "Y", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"Z",
"input":"<!DOCTYPEa SYSTEM\"Z",
"output":[["DOCTYPE", "a", null, "Z", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"`",
"input":"<!DOCTYPEa SYSTEM\"`",
"output":[["DOCTYPE", "a", null, "`", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"a",
"input":"<!DOCTYPEa SYSTEM\"a",
"output":[["DOCTYPE", "a", null, "a", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"b",
"input":"<!DOCTYPEa SYSTEM\"b",
"output":[["DOCTYPE", "a", null, "b", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"y",
"input":"<!DOCTYPEa SYSTEM\"y",
"output":[["DOCTYPE", "a", null, "y", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"z",
"input":"<!DOCTYPEa SYSTEM\"z",
"output":[["DOCTYPE", "a", null, "z", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"{",
"input":"<!DOCTYPEa SYSTEM\"{",
"output":[["DOCTYPE", "a", null, "{", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM\"\\uDBC0\\uDC00",
"input":"<!DOCTYPEa SYSTEM\"\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa SYSTEM#",
"input":"<!DOCTYPEa SYSTEM#",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM&",
"input":"<!DOCTYPEa SYSTEM&",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM'",
"input":"<!DOCTYPEa SYSTEM'",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa SYSTEM'\\u0000",
"input":"<!DOCTYPEa SYSTEM'\u0000",
"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-null-character", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'\\u0009",
"input":"<!DOCTYPEa SYSTEM'\u0009",
"output":[["DOCTYPE", "a", null, "\u0009", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'\\u000A",
"input":"<!DOCTYPEa SYSTEM'\u000A",
"output":[["DOCTYPE", "a", null, "\u000A", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa SYSTEM'\\u000B",
"input":"<!DOCTYPEa SYSTEM'\u000B",
"output":[["DOCTYPE", "a", null, "\u000B", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'\\u000C",
"input":"<!DOCTYPEa SYSTEM'\u000C",
"output":[["DOCTYPE", "a", null, "\u000C", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM' ",
"input":"<!DOCTYPEa SYSTEM' ",
"output":[["DOCTYPE", "a", null, " ", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'!",
"input":"<!DOCTYPEa SYSTEM'!",
"output":[["DOCTYPE", "a", null, "!", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'\"",
"input":"<!DOCTYPEa SYSTEM'\"",
"output":[["DOCTYPE", "a", null, "\"", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'&",
"input":"<!DOCTYPEa SYSTEM'&",
"output":[["DOCTYPE", "a", null, "&", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''",
"input":"<!DOCTYPEa SYSTEM''",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u0000",
"input":"<!DOCTYPEa SYSTEM''\u0000",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 },
    { "code": "unexpected-null-character", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u0008",
"input":"<!DOCTYPEa SYSTEM''\u0008",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u0009",
"input":"<!DOCTYPEa SYSTEM''\u0009",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u000A",
"input":"<!DOCTYPEa SYSTEM''\u000A",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u000B",
"input":"<!DOCTYPEa SYSTEM''\u000B",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u000C",
"input":"<!DOCTYPEa SYSTEM''\u000C",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u000D",
"input":"<!DOCTYPEa SYSTEM''\u000D",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 2, "col": 1 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\u001F",
"input":"<!DOCTYPEa SYSTEM''\u001F",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'' ",
"input":"<!DOCTYPEa SYSTEM'' ",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
     { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa SYSTEM''!",
"input":"<!DOCTYPEa SYSTEM''!",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''\"",
"input":"<!DOCTYPEa SYSTEM''\"",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''&",
"input":"<!DOCTYPEa SYSTEM''&",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'''",
"input":"<!DOCTYPEa SYSTEM'''",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''-",
"input":"<!DOCTYPEa SYSTEM''-",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''/",
"input":"<!DOCTYPEa SYSTEM''/",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''0",
"input":"<!DOCTYPEa SYSTEM''0",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''1",
"input":"<!DOCTYPEa SYSTEM''1",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''9",
"input":"<!DOCTYPEa SYSTEM''9",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''<",
"input":"<!DOCTYPEa SYSTEM''<",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''=",
"input":"<!DOCTYPEa SYSTEM''=",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''>",
"input":"<!DOCTYPEa SYSTEM''>",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM''?",
"input":"<!DOCTYPEa SYSTEM''?",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''@",
"input":"<!DOCTYPEa SYSTEM''@",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''A",
"input":"<!DOCTYPEa SYSTEM''A",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''B",
"input":"<!DOCTYPEa SYSTEM''B",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''Y",
"input":"<!DOCTYPEa SYSTEM''Y",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''Z",
"input":"<!DOCTYPEa SYSTEM''Z",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''`",
"input":"<!DOCTYPEa SYSTEM''`",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''a",
"input":"<!DOCTYPEa SYSTEM''a",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''b",
"input":"<!DOCTYPEa SYSTEM''b",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''y",
"input":"<!DOCTYPEa SYSTEM''y",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''z",
"input":"<!DOCTYPEa SYSTEM''z",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''{",
"input":"<!DOCTYPEa SYSTEM''{",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM''\\uDBC0\\uDC00",
"input":"<!DOCTYPEa SYSTEM''\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, "", true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'(",
"input":"<!DOCTYPEa SYSTEM'(",
"output":[["DOCTYPE", "a", null, "(", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'-",
"input":"<!DOCTYPEa SYSTEM'-",
"output":[["DOCTYPE", "a", null, "-", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'/",
"input":"<!DOCTYPEa SYSTEM'/",
"output":[["DOCTYPE", "a", null, "/", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'0",
"input":"<!DOCTYPEa SYSTEM'0",
"output":[["DOCTYPE", "a", null, "0", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'1",
"input":"<!DOCTYPEa SYSTEM'1",
"output":[["DOCTYPE", "a", null, "1", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'9",
"input":"<!DOCTYPEa SYSTEM'9",
"output":[["DOCTYPE", "a", null, "9", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'<",
"input":"<!DOCTYPEa SYSTEM'<",
"output":[["DOCTYPE", "a", null, "<", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'=",
"input":"<!DOCTYPEa SYSTEM'=",
"output":[["DOCTYPE", "a", null, "=", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'>",
"input":"<!DOCTYPEa SYSTEM'>",
"output":[["DOCTYPE", "a", null, "", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "abrupt-doctype-system-identifier", "line": 1, "col": 19 }
]},

{"description":"<!DOCTYPEa SYSTEM'?",
"input":"<!DOCTYPEa SYSTEM'?",
"output":[["DOCTYPE", "a", null, "?", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'@",
"input":"<!DOCTYPEa SYSTEM'@",
"output":[["DOCTYPE", "a", null, "@", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'A",
"input":"<!DOCTYPEa SYSTEM'A",
"output":[["DOCTYPE", "a", null, "A", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'B",
"input":"<!DOCTYPEa SYSTEM'B",
"output":[["DOCTYPE", "a", null, "B", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'Y",
"input":"<!DOCTYPEa SYSTEM'Y",
"output":[["DOCTYPE", "a", null, "Y", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'Z",
"input":"<!DOCTYPEa SYSTEM'Z",
"output":[["DOCTYPE", "a", null, "Z", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'`",
"input":"<!DOCTYPEa SYSTEM'`",
"output":[["DOCTYPE", "a", null, "`", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'a",
"input":"<!DOCTYPEa SYSTEM'a",
"output":[["DOCTYPE", "a", null, "a", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'b",
"input":"<!DOCTYPEa SYSTEM'b",
"output":[["DOCTYPE", "a", null, "b", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'y",
"input":"<!DOCTYPEa SYSTEM'y",
"output":[["DOCTYPE", "a", null, "y", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'z",
"input":"<!DOCTYPEa SYSTEM'z",
"output":[["DOCTYPE", "a", null, "z", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'{",
"input":"<!DOCTYPEa SYSTEM'{",
"output":[["DOCTYPE", "a", null, "{", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 20 }
]},

{"description":"<!DOCTYPEa SYSTEM'\\uDBC0\\uDC00",
"input":"<!DOCTYPEa SYSTEM'\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
    { "code": "eof-in-doctype", "line": 1, "col": 21 }
]},

{"description":"<!DOCTYPEa SYSTEM(",
"input":"<!DOCTYPEa SYSTEM(",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM-",
"input":"<!DOCTYPEa SYSTEM-",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM/",
"input":"<!DOCTYPEa SYSTEM/",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM0",
"input":"<!DOCTYPEa SYSTEM0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM1",
"input":"<!DOCTYPEa SYSTEM1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM9",
"input":"<!DOCTYPEa SYSTEM9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM<",
"input":"<!DOCTYPEa SYSTEM<",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM=",
"input":"<!DOCTYPEa SYSTEM=",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM>",
"input":"<!DOCTYPEa SYSTEM>",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM?",
"input":"<!DOCTYPEa SYSTEM?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM@",
"input":"<!DOCTYPEa SYSTEM@",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMA",
"input":"<!DOCTYPEa SYSTEMA",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMB",
"input":"<!DOCTYPEa SYSTEMB",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMY",
"input":"<!DOCTYPEa SYSTEMY",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMZ",
"input":"<!DOCTYPEa SYSTEMZ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM`",
"input":"<!DOCTYPEa SYSTEM`",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMa",
"input":"<!DOCTYPEa SYSTEMa",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMb",
"input":"<!DOCTYPEa SYSTEMb",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMy",
"input":"<!DOCTYPEa SYSTEMy",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEMz",
"input":"<!DOCTYPEa SYSTEMz",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM{",
"input":"<!DOCTYPEa SYSTEM{",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa SYSTEM\\uDBC0\\uDC00",
"input":"<!DOCTYPEa SYSTEM\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
]},

{"description":"<!DOCTYPEa Y",
"input":"<!DOCTYPEa Y",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa Z",
"input":"<!DOCTYPEa Z",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa `",
"input":"<!DOCTYPEa `",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a",
"input":"<!DOCTYPEa a",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a\\u0000",
"input":"<!DOCTYPEa a\u0000",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 },
    { "code": "unexpected-null-character", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPEa a\\u0009",
"input":"<!DOCTYPEa a\u0009",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a\\u000A",
"input":"<!DOCTYPEa a\u000A",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a\\u000B",
"input":"<!DOCTYPEa a\u000B",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPEa a\\u000C",
"input":"<!DOCTYPEa a\u000C",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a ",
"input":"<!DOCTYPEa a ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a!",
"input":"<!DOCTYPEa a!",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a\"",
"input":"<!DOCTYPEa a\"",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a&",
"input":"<!DOCTYPEa a&",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a'",
"input":"<!DOCTYPEa a'",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a-",
"input":"<!DOCTYPEa a-",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a/",
"input":"<!DOCTYPEa a/",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a0",
"input":"<!DOCTYPEa a0",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a1",
"input":"<!DOCTYPEa a1",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a9",
"input":"<!DOCTYPEa a9",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a<",
"input":"<!DOCTYPEa a<",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a=",
"input":"<!DOCTYPEa a=",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a>",
"input":"<!DOCTYPEa a>",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a?",
"input":"<!DOCTYPEa a?",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a@",
"input":"<!DOCTYPEa a@",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa aA",
"input":"<!DOCTYPEa aA",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa aB",
"input":"<!DOCTYPEa aB",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa aY",
"input":"<!DOCTYPEa aY",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa aZ",
"input":"<!DOCTYPEa aZ",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a`",
"input":"<!DOCTYPEa a`",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa aa",
"input":"<!DOCTYPEa aa",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa ab",
"input":"<!DOCTYPEa ab",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa ay",
"input":"<!DOCTYPEa ay",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa az",
"input":"<!DOCTYPEa az",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a{",
"input":"<!DOCTYPEa a{",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa a\\uDBC0\\uDC00",
"input":"<!DOCTYPEa a\uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa b",
"input":"<!DOCTYPEa b",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa y",
"input":"<!DOCTYPEa y",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa z",
"input":"<!DOCTYPEa z",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa {",
"input":"<!DOCTYPEa {",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa \\uDBC0\\uDC00",
"input":"<!DOCTYPEa \uDBC0\uDC00",
"output":[["DOCTYPE", "a", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa!",
"input":"<!DOCTYPEa!",
"output":[["DOCTYPE", "a!", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa\"",
"input":"<!DOCTYPEa\"",
"output":[["DOCTYPE", "a\"", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa&",
"input":"<!DOCTYPEa&",
"output":[["DOCTYPE", "a&", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa'",
"input":"<!DOCTYPEa'",
"output":[["DOCTYPE", "a'", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa-",
"input":"<!DOCTYPEa-",
"output":[["DOCTYPE", "a-", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa/",
"input":"<!DOCTYPEa/",
"output":[["DOCTYPE", "a/", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa0",
"input":"<!DOCTYPEa0",
"output":[["DOCTYPE", "a0", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa1",
"input":"<!DOCTYPEa1",
"output":[["DOCTYPE", "a1", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa9",
"input":"<!DOCTYPEa9",
"output":[["DOCTYPE", "a9", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa<",
"input":"<!DOCTYPEa<",
"output":[["DOCTYPE", "a<", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa=",
"input":"<!DOCTYPEa=",
"output":[["DOCTYPE", "a=", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa>",
"input":"<!DOCTYPEa>",
"output":[["DOCTYPE", "a", null, null, true]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }
]},

{"description":"<!DOCTYPEa?",
"input":"<!DOCTYPEa?",
"output":[["DOCTYPE", "a?", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa@",
"input":"<!DOCTYPEa@",
"output":[["DOCTYPE", "a@", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEaA",
"input":"<!DOCTYPEaA",
"output":[["DOCTYPE", "aa", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEaB",
"input":"<!DOCTYPEaB",
"output":[["DOCTYPE", "ab", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEaY",
"input":"<!DOCTYPEaY",
"output":[["DOCTYPE", "ay", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEaZ",
"input":"<!DOCTYPEaZ",
"output":[["DOCTYPE", "az", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa[",
"input":"<!DOCTYPEa[",
"output":[["DOCTYPE", "a[", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa`",
"input":"<!DOCTYPEa`",
"output":[["DOCTYPE", "a`", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEaa",
"input":"<!DOCTYPEaa",
"output":[["DOCTYPE", "aa", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEab",
"input":"<!DOCTYPEab",
"output":[["DOCTYPE", "ab", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEay",
"input":"<!DOCTYPEay",
"output":[["DOCTYPE", "ay", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEaz",
"input":"<!DOCTYPEaz",
"output":[["DOCTYPE", "az", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa{",
"input":"<!DOCTYPEa{",
"output":[["DOCTYPE", "a{", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!DOCTYPEa\\uDBC0\\uDC00",
"input":"<!DOCTYPEa\uDBC0\uDC00",
"output":[["DOCTYPE", "a\uDBC0\uDC00", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 13 }
]},

{"description":"<!DOCTYPEb",
"input":"<!DOCTYPEb",
"output":[["DOCTYPE", "b", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEy",
"input":"<!DOCTYPEy",
"output":[["DOCTYPE", "y", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPEz",
"input":"<!DOCTYPEz",
"output":[["DOCTYPE", "z", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE{",
"input":"<!DOCTYPE{",
"output":[["DOCTYPE", "{", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 11 }
]},

{"description":"<!DOCTYPE\\uDBC0\\uDC00",
"input":"<!DOCTYPE\uDBC0\uDC00",
"output":[["DOCTYPE", "\uDBC0\uDC00", null, null, false]],
"errors":[
    { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
    { "code": "eof-in-doctype", "line": 1, "col": 12 }
]},

{"description":"<!Y",
"input":"<!Y",
"output":[["Comment", "Y"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!Z",
"input":"<!Z",
"output":[["Comment", "Z"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!`",
"input":"<!`",
"output":[["Comment", "`"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!a",
"input":"<!a",
"output":[["Comment", "a"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!b",
"input":"<!b",
"output":[["Comment", "b"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!y",
"input":"<!y",
"output":[["Comment", "y"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!z",
"input":"<!z",
"output":[["Comment", "z"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!{",
"input":"<!{",
"output":[["Comment", "{"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<!\\uDBC0\\uDC00",
"input":"<!\uDBC0\uDC00",
"output":[["Comment", "\uDBC0\uDC00"]],
"errors":[
    { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
]},

{"description":"<\"",
"input":"<\"",
"output":[["Character", "<\""]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<&",
"input":"<&",
"output":[["Character", "<&"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<'",
"input":"<'",
"output":[["Character", "<'"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<-",
"input":"<-",
"output":[["Character", "<-"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<.",
"input":"<.",
"output":[["Character", "<."]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"</",
"input":"</",
"output":[["Character", "</"]],
"errors":[
    { "code": "eof-before-tag-name", "line": 1, "col": 3 }
]},

{"description":"</\\u0000",
"input":"</\u0000",
"output":[["Comment", "\uFFFD"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 },
    { "code": "unexpected-null-character", "line": 1, "col": 3 }
]},

{"description":"</\\u0009",
"input":"</\u0009",
"output":[["Comment", "\u0009"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</\\u000A",
"input":"</\u000A",
"output":[["Comment", "\u000A"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</\\u000B",
"input":"</\u000B",
"output":[["Comment", "\u000B"]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 3 },
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</\\u000C",
"input":"</\u000C",
"output":[["Comment", "\u000C"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</ ",
"input":"</ ",
"output":[["Comment", " "]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</ \\u0000",
"input":"</ \u0000",
"output":[["Comment", " \uFFFD"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 },
    { "code": "unexpected-null-character", "line": 1, "col": 4 }
]},

{"description":"</!",
"input":"</!",
"output":[["Comment", "!"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</\"",
"input":"</\"",
"output":[["Comment", "\""]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</&",
"input":"</&",
"output":[["Comment", "&"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</'",
"input":"</'",
"output":[["Comment", "'"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</-",
"input":"</-",
"output":[["Comment", "-"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"<//",
"input":"<//",
"output":[["Comment", "/"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</0",
"input":"</0",
"output":[["Comment", "0"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</1",
"input":"</1",
"output":[["Comment", "1"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</9",
"input":"</9",
"output":[["Comment", "9"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</<",
"input":"</<",
"output":[["Comment", "<"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</=",
"input":"</=",
"output":[["Comment", "="]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</>",
"input":"</>",
"output":[],
"errors":[
    { "code": "missing-end-tag-name", "line": 1, "col": 3 }
]},

{"description":"</?",
"input":"</?",
"output":[["Comment", "?"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</@",
"input":"</@",
"output":[["Comment", "@"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</A>",
"input":"</A>",
"output":[["EndTag", "a"]]},

{"description":"</B>",
"input":"</B>",
"output":[["EndTag", "b"]]},

{"description":"</Y>",
"input":"</Y>",
"output":[["EndTag", "y"]]},

{"description":"</Z>",
"input":"</Z>",
"output":[["EndTag", "z"]]},

{"description":"</[",
"input":"</[",
"output":[["Comment", "["]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</`",
"input":"</`",
"output":[["Comment", "`"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</a>",
"input":"</a>",
"output":[["EndTag", "a"]]},

{"description":"</b>",
"input":"</b>",
"output":[["EndTag", "b"]]},

{"description":"</y>",
"input":"</y>",
"output":[["EndTag", "y"]]},

{"description":"</z>",
"input":"</z>",
"output":[["EndTag", "z"]]},

{"description":"</{",
"input":"</{",
"output":[["Comment", "{"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"</\\uDBC0\\uDC00",
"input":"</\uDBC0\uDC00",
"output":[["Comment", "\uDBC0\uDC00"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
]},

{"description":"<0",
"input":"<0",
"output":[["Character", "<0"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<1",
"input":"<1",
"output":[["Character", "<1"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<9",
"input":"<9",
"output":[["Character", "<9"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<<",
"input":"<<",
"output":[["Character", "<<"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 },
    { "code": "eof-before-tag-name", "line": 1, "col": 3 }
]},

{"description":"<=",
"input":"<=",
"output":[["Character", "<="]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<>",
"input":"<>",
"output":[["Character", "<>"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?",
"input":"<?",
"output":[["Comment", "?"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?\\u0000",
"input":"<?\u0000",
"output":[["Comment", "?\uFFFD"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 },
    { "code": "unexpected-null-character", "line": 1, "col": 3 }
]},

{"description":"<?\\u0009",
"input":"<?\u0009",
"output":[["Comment", "?\u0009"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?\\u000A",
"input":"<?\u000A",
"output":[["Comment", "?\u000A"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?\\u000B",
"input":"<?\u000B",
"output":[["Comment", "?\u000B"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 },
    { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
]},

{"description":"<?\\u000C",
"input":"<?\u000C",
"output":[["Comment", "?\u000C"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<? ",
"input":"<? ",
"output":[["Comment", "? "]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<? \\u0000",
"input":"<? \u0000",
"output":[["Comment", "? \uFFFD"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 },
    { "code": "unexpected-null-character", "line": 1, "col": 4 }
]},

{"description":"<?!",
"input":"<?!",
"output":[["Comment", "?!"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?\"",
"input":"<?\"",
"output":[["Comment", "?\""]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?&",
"input":"<?&",
"output":[["Comment", "?&"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?'",
"input":"<?'",
"output":[["Comment", "?'"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?-",
"input":"<?-",
"output":[["Comment", "?-"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?/",
"input":"<?/",
"output":[["Comment", "?/"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?0",
"input":"<?0",
"output":[["Comment", "?0"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?1",
"input":"<?1",
"output":[["Comment", "?1"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?9",
"input":"<?9",
"output":[["Comment", "?9"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?<",
"input":"<?<",
"output":[["Comment", "?<"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?=",
"input":"<?=",
"output":[["Comment", "?="]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?>",
"input":"<?>",
"output":[["Comment", "?"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<??",
"input":"<??",
"output":[["Comment", "??"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?@",
"input":"<?@",
"output":[["Comment", "?@"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?A",
"input":"<?A",
"output":[["Comment", "?A"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?B",
"input":"<?B",
"output":[["Comment", "?B"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?Y",
"input":"<?Y",
"output":[["Comment", "?Y"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?Z",
"input":"<?Z",
"output":[["Comment", "?Z"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?`",
"input":"<?`",
"output":[["Comment", "?`"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?a",
"input":"<?a",
"output":[["Comment", "?a"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?b",
"input":"<?b",
"output":[["Comment", "?b"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?y",
"input":"<?y",
"output":[["Comment", "?y"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?z",
"input":"<?z",
"output":[["Comment", "?z"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?{",
"input":"<?{",
"output":[["Comment", "?{"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<?\\uDBC0\\uDC00",
"input":"<?\uDBC0\uDC00",
"output":[["Comment", "?\uDBC0\uDC00"]],
"errors":[
    { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<@",
"input":"<@",
"output":[["Character", "<@"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<A>",
"input":"<A>",
"output":[["StartTag", "a", {}]]},

{"description":"<B>",
"input":"<B>",
"output":[["StartTag", "b", {}]]},

{"description":"<Y>",
"input":"<Y>",
"output":[["StartTag", "y", {}]]},

{"description":"<Z>",
"input":"<Z>",
"output":[["StartTag", "z", {}]]},

{"description":"<[",
"input":"<[",
"output":[["Character", "<["]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<`",
"input":"<`",
"output":[["Character", "<`"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<a>",
"input":"<a>",
"output":[["StartTag", "a", {}]]},

{"description":"<a\\u0000>",
"input":"<a\u0000>",
"output":[["StartTag", "a\uFFFD", {}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 3 }
]},

{"description":"<a\\u0008>",
"input":"<a\u0008>",
"output":[["StartTag", "a\u0008", {}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
]},

{"description":"<a\\u0009>",
"input":"<a\u0009>",
"output":[["StartTag", "a", {}]]},

{"description":"<a\\u000A>",
"input":"<a\u000A>",
"output":[["StartTag", "a", {}]]},

{"description":"<a\\u000B>",
"input":"<a\u000B>",
"output":[["StartTag", "a\u000B", {}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
]},

{"description":"<a\\u000C>",
"input":"<a\u000C>",
"output":[["StartTag", "a", {}]]},

{"description":"<a\\u000D>",
"input":"<a\u000D>",
"output":[["StartTag", "a", {}]]},

{"description":"<a\\u001F>",
"input":"<a\u001F>",
"output":[["StartTag", "a\u001F", {}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
]},

{"description":"<a >",
"input":"<a >",
"output":[["StartTag", "a", {}]]},

{"description":"<a \\u0000>",
"input":"<a \u0000>",
"output":[["StartTag", "a", {"\uFFFD":""}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 4 }
]},

{"description":"<a \\u0008>",
"input":"<a \u0008>",
"output":[["StartTag", "a", {"\u0008":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 4 }
]},

{"description":"<a \\u0009>",
"input":"<a \u0009>",
"output":[["StartTag", "a", {}]]},

{"description":"<a \\u000A>",
"input":"<a \u000A>",
"output":[["StartTag", "a", {}]]},

{"description":"<a \\u000B>",
"input":"<a \u000B>",
"output":[["StartTag", "a", {"\u000B":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 4 }
]},

{"description":"<a \\u000C>",
"input":"<a \u000C>",
"output":[["StartTag", "a", {}]]},

{"description":"<a \\u000D>",
"input":"<a \u000D>",
"output":[["StartTag", "a", {}]]},

{"description":"<a \\u001F>",
"input":"<a \u001F>",
"output":[["StartTag", "a", {"\u001F":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 4 }
]},

{"description":"<a  >",
"input":"<a  >",
"output":[["StartTag", "a", {}]]},

{"description":"<a !>",
"input":"<a !>",
"output":[["StartTag", "a", {"!":""}]]},

{"description":"<a \">",
"input":"<a \">",
"output":[["StartTag", "a", {"\"":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a #>",
"input":"<a #>",
"output":[["StartTag", "a", {"#":""}]]},

{"description":"<a &>",
"input":"<a &>",
"output":[["StartTag", "a", {"&":""}]]},

{"description":"<a '>",
"input":"<a '>",
"output":[["StartTag", "a", {"'":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a (>",
"input":"<a (>",
"output":[["StartTag", "a", {"(":""}]]},

{"description":"<a ->",
"input":"<a ->",
"output":[["StartTag", "a", {"-":""}]]},

{"description":"<a .>",
"input":"<a .>",
"output":[["StartTag", "a", {".":""}]]},

{"description":"<a />",
"input":"<a />",
"output":[["StartTag", "a", {}, true]]},

{"description":"<a 0>",
"input":"<a 0>",
"output":[["StartTag", "a", {"0":""}]]},

{"description":"<a 1>",
"input":"<a 1>",
"output":[["StartTag", "a", {"1":""}]]},

{"description":"<a 9>",
"input":"<a 9>",
"output":[["StartTag", "a", {"9":""}]]},

{"description":"<a <>",
"input":"<a <>",
"output":[["StartTag", "a", {"<":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a =>",
"input":"<a =>",
"output":[["StartTag", "a", {"=":""}]],
"errors":[
    { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a >",
"input":"<a >",
"output":[["StartTag", "a", {}]]},

{"description":"<a ?>",
"input":"<a ?>",
"output":[["StartTag", "a", {"?":""}]]},

{"description":"<a @>",
"input":"<a @>",
"output":[["StartTag", "a", {"@":""}]]},

{"description":"<a A>",
"input":"<a A>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a B>",
"input":"<a B>",
"output":[["StartTag", "a", {"b":""}]]},

{"description":"<a Y>",
"input":"<a Y>",
"output":[["StartTag", "a", {"y":""}]]},

{"description":"<a Z>",
"input":"<a Z>",
"output":[["StartTag", "a", {"z":""}]]},

{"description":"<a [>",
"input":"<a [>",
"output":[["StartTag", "a", {"[":""}]]},

{"description":"<a `>",
"input":"<a `>",
"output":[["StartTag", "a", {"`":""}]]},

{"description":"<a a>",
"input":"<a a>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a\\u0000>",
"input":"<a a\u0000>",
"output":[["StartTag", "a", {"a\uFFFD":""}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 5 }
]},

{"description":"<a a\\u0008>",
"input":"<a a\u0008>",
"output":[["StartTag", "a", {"a\u0008":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 5 }
]},

{"description":"<a a\\u0009>",
"input":"<a a\u0009>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a\\u000A>",
"input":"<a a\u000A>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a\\u000B>",
"input":"<a a\u000B>",
"output":[["StartTag", "a", {"a\u000B":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 5 }
]},

{"description":"<a a\\u000C>",
"input":"<a a\u000C>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a\\u000D>",
"input":"<a a\u000D>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a\\u001F>",
"input":"<a a\u001F>",
"output":[["StartTag", "a", {"a\u001F":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 5 }
]},

{"description":"<a a >",
"input":"<a a >",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a \\u0000>",
"input":"<a a \u0000>",
"output":[["StartTag", "a", {"a":"", "\uFFFD":""}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 6 }
]},

{"description":"<a a \\u0008>",
"input":"<a a \u0008>",
"output":[["StartTag", "a", {"a":"", "\u0008":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
]},

{"description":"<a a \\u0009>",
"input":"<a a \u0009>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a \\u000A>",
"input":"<a a \u000A>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a \\u000B>",
"input":"<a a \u000B>",
"output":[["StartTag", "a", {"a":"", "\u000B":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
]},

{"description":"<a a \\u000C>",
"input":"<a a \u000C>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a \\u000D>",
"input":"<a a \u000D>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a \\u001F>",
"input":"<a a \u001F>",
"output":[["StartTag", "a", {"a":"", "\u001F":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
]},

{"description":"<a a  >",
"input":"<a a  >",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a !>",
"input":"<a a !>",
"output":[["StartTag", "a", {"a":"", "!":""}]]},

{"description":"<a a \">",
"input":"<a a \">",
"output":[["StartTag", "a", {"a":"", "\"":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 }
]},

{"description":"<a a #>",
"input":"<a a #>",
"output":[["StartTag", "a", {"a":"", "#":""}]]},

{"description":"<a a &>",
"input":"<a a &>",
"output":[["StartTag", "a", {"a":"", "&":""}]]},

{"description":"<a a '>",
"input":"<a a '>",
"output":[["StartTag", "a", {"a":"", "'":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 }
]},

{"description":"<a a (>",
"input":"<a a (>",
"output":[["StartTag", "a", {"a":"", "(":""}]]},

{"description":"<a a ->",
"input":"<a a ->",
"output":[["StartTag", "a", {"a":"", "-":""}]]},

{"description":"<a a .>",
"input":"<a a .>",
"output":[["StartTag", "a", {"a":"", ".":""}]]},

{"description":"<a a />",
"input":"<a a />",
"output":[["StartTag", "a", {"a":""}, true]]},

{"description":"<a a 0>",
"input":"<a a 0>",
"output":[["StartTag", "a", {"a":"", "0":""}]]},

{"description":"<a a 1>",
"input":"<a a 1>",
"output":[["StartTag", "a", {"a":"", "1":""}]]},

{"description":"<a a 9>",
"input":"<a a 9>",
"output":[["StartTag", "a", {"a":"", "9":""}]]},

{"description":"<a a <>",
"input":"<a a <>",
"output":[["StartTag", "a", {"a":"", "<":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 }
]},

{"description":"<a a =>",
"input":"<a a =>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a >",
"input":"<a a >",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a ?>",
"input":"<a a ?>",
"output":[["StartTag", "a", {"a":"", "?":""}]]},

{"description":"<a a @>",
"input":"<a a @>",
"output":[["StartTag", "a", {"a":"", "@":""}]]},

{"description":"<a a A>",
"input":"<a a A>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "duplicate-attribute", "line": 1, "col": 7 }
]},

{"description":"<a a B>",
"input":"<a a B>",
"output":[["StartTag", "a", {"a":"", "b":""}]]},

{"description":"<a a Y>",
"input":"<a a Y>",
"output":[["StartTag", "a", {"a":"", "y":""}]]},

{"description":"<a a Z>",
"input":"<a a Z>",
"output":[["StartTag", "a", {"a":"", "z":""}]]},

{"description":"<a a [>",
"input":"<a a [>",
"output":[["StartTag", "a", {"a":"", "[":""}]]},

{"description":"<a a `>",
"input":"<a a `>",
"output":[["StartTag", "a", {"a":"", "`":""}]]},

{"description":"<a a a>",
"input":"<a a a>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "duplicate-attribute", "line": 1, "col": 7 }
]},

{"description":"<a a b>",
"input":"<a a b>",
"output":[["StartTag", "a", {"a":"", "b":""}]]},

{"description":"<a a y>",
"input":"<a a y>",
"output":[["StartTag", "a", {"a":"", "y":""}]]},

{"description":"<a a z>",
"input":"<a a z>",
"output":[["StartTag", "a", {"a":"", "z":""}]]},

{"description":"<a a {>",
"input":"<a a {>",
"output":[["StartTag", "a", {"a":"", "{":""}]]},

{"description":"<a a \\uDBC0\\uDC00>",
"input":"<a a \uDBC0\uDC00>",
"output":[["StartTag", "a", {"a":"", "\uDBC0\uDC00":""}]]},

{"description":"<a a!>",
"input":"<a a!>",
"output":[["StartTag", "a", {"a!":""}]]},

{"description":"<a a\">",
"input":"<a a\">",
"output":[["StartTag", "a", {"a\"":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 }
]},

{"description":"<a a#>",
"input":"<a a#>",
"output":[["StartTag", "a", {"a#":""}]]},

{"description":"<a a&>",
"input":"<a a&>",
"output":[["StartTag", "a", {"a&":""}]]},

{"description":"<a a'>",
"input":"<a a'>",
"output":[["StartTag", "a", {"a'":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 }
]},

{"description":"<a a(>",
"input":"<a a(>",
"output":[["StartTag", "a", {"a(":""}]]},

{"description":"<a a->",
"input":"<a a->",
"output":[["StartTag", "a", {"a-":""}]]},

{"description":"<a a.>",
"input":"<a a.>",
"output":[["StartTag", "a", {"a.":""}]]},

{"description":"<a a/>",
"input":"<a a/>",
"output":[["StartTag", "a", {"a":""}, true]]},

{"description":"<a a0>",
"input":"<a a0>",
"output":[["StartTag", "a", {"a0":""}]]},

{"description":"<a a1>",
"input":"<a a1>",
"output":[["StartTag", "a", {"a1":""}]]},

{"description":"<a a9>",
"input":"<a a9>",
"output":[["StartTag", "a", {"a9":""}]]},

{"description":"<a a<>",
"input":"<a a<>",
"output":[["StartTag", "a", {"a<":""}]],
"errors":[
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 }
]},

{"description":"<a a=>",
"input":"<a a=>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 1, "col": 6 }
]},

{"description":"<a a=\\u0000>",
"input":"<a a=\u0000>",
"output":[["StartTag", "a", {"a":"\uFFFD"}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 6 }
]},

{"description":"<a a=\\u0008>",
"input":"<a a=\u0008>",
"output":[["StartTag", "a", {"a":"\u0008"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
]},

{"description":"<a a=\\u0009>",
"input":"<a a=\u0009>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=\\u000A>",
"input":"<a a=\u000A>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 2, "col": 1 }
]},

{"description":"<a a=\\u000B>",
"input":"<a a=\u000B>",
"output":[["StartTag", "a", {"a":"\u000B"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
]},

{"description":"<a a=\\u000C>",
"input":"<a a=\u000C>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=\\u000D>",
"input":"<a a=\u000D>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 2, "col": 1 }
]},

{"description":"<a a=\\u001F>",
"input":"<a a=\u001F>",
"output":[["StartTag", "a", {"a":"\u001F"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
]},

{"description":"<a a= >",
"input":"<a a= >",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=!>",
"input":"<a a=!>",
"output":[["StartTag", "a", {"a":"!"}]]},

{"description":"<a a=\"\">",
"input":"<a a=\"\">",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=\"\\u0000\">",
"input":"<a a=\"\u0000\">",
"output":[["StartTag", "a", {"a":"\uFFFD"}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 7 }
]},

{"description":"<a a=\"\\u0009\">",
"input":"<a a=\"\u0009\">",
"output":[["StartTag", "a", {"a":"\u0009"}]]},

{"description":"<a a=\"\\u000A\">",
"input":"<a a=\"\u000A\">",
"output":[["StartTag", "a", {"a":"\u000A"}]]},

{"description":"<a a=\"\\u000B\">",
"input":"<a a=\"\u000B\">",
"output":[["StartTag", "a", {"a":"\u000B"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
]},

{"description":"<a a=\"\\u000C\">",
"input":"<a a=\"\u000C\">",
"output":[["StartTag", "a", {"a":"\u000C"}]]},

{"description":"<a a=\" \">",
"input":"<a a=\" \">",
"output":[["StartTag", "a", {"a":" "}]]},

{"description":"<a a=\"!\">",
"input":"<a a=\"!\">",
"output":[["StartTag", "a", {"a":"!"}]]},

{"description":"<a a=\"\">",
"input":"<a a=\"\">",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=\"#\">",
"input":"<a a=\"#\">",
"output":[["StartTag", "a", {"a":"#"}]]},

{"description":"<a a=\"%\">",
"input":"<a a=\"%\">",
"output":[["StartTag", "a", {"a":"%"}]]},

{"description":"<a a=\"&\">",
"input":"<a a=\"&\">",
"output":[["StartTag", "a", {"a":"&"}]]},

{"description":"<a a=\"'\">",
"input":"<a a=\"'\">",
"output":[["StartTag", "a", {"a":"'"}]]},

{"description":"<a a=\"-\">",
"input":"<a a=\"-\">",
"output":[["StartTag", "a", {"a":"-"}]]},

{"description":"<a a=\"/\">",
"input":"<a a=\"/\">",
"output":[["StartTag", "a", {"a":"/"}]]},

{"description":"<a a=\"0\">",
"input":"<a a=\"0\">",
"output":[["StartTag", "a", {"a":"0"}]]},

{"description":"<a a=\"1\">",
"input":"<a a=\"1\">",
"output":[["StartTag", "a", {"a":"1"}]]},

{"description":"<a a=\"9\">",
"input":"<a a=\"9\">",
"output":[["StartTag", "a", {"a":"9"}]]},

{"description":"<a a=\"<\">",
"input":"<a a=\"<\">",
"output":[["StartTag", "a", {"a":"<"}]]},

{"description":"<a a=\"=\">",
"input":"<a a=\"=\">",
"output":[["StartTag", "a", {"a":"="}]]},

{"description":"<a a=\">\">",
"input":"<a a=\">\">",
"output":[["StartTag", "a", {"a":">"}]]},

{"description":"<a a=\"?\">",
"input":"<a a=\"?\">",
"output":[["StartTag", "a", {"a":"?"}]]},

{"description":"<a a=\"@\">",
"input":"<a a=\"@\">",
"output":[["StartTag", "a", {"a":"@"}]]},

{"description":"<a a=\"A\">",
"input":"<a a=\"A\">",
"output":[["StartTag", "a", {"a":"A"}]]},

{"description":"<a a=\"B\">",
"input":"<a a=\"B\">",
"output":[["StartTag", "a", {"a":"B"}]]},

{"description":"<a a=\"Y\">",
"input":"<a a=\"Y\">",
"output":[["StartTag", "a", {"a":"Y"}]]},

{"description":"<a a=\"Z\">",
"input":"<a a=\"Z\">",
"output":[["StartTag", "a", {"a":"Z"}]]},

{"description":"<a a=\"`\">",
"input":"<a a=\"`\">",
"output":[["StartTag", "a", {"a":"`"}]]},

{"description":"<a a=\"a\">",
"input":"<a a=\"a\">",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=\"b\">",
"input":"<a a=\"b\">",
"output":[["StartTag", "a", {"a":"b"}]]},

{"description":"<a a=\"y\">",
"input":"<a a=\"y\">",
"output":[["StartTag", "a", {"a":"y"}]]},

{"description":"<a a=\"z\">",
"input":"<a a=\"z\">",
"output":[["StartTag", "a", {"a":"z"}]]},

{"description":"<a a=\"{\">",
"input":"<a a=\"{\">",
"output":[["StartTag", "a", {"a":"{"}]]},

{"description":"<a a=\"\\uDBC0\\uDC00\">",
"input":"<a a=\"\uDBC0\uDC00\">",
"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]},

{"description":"<a a=#>",
"input":"<a a=#>",
"output":[["StartTag", "a", {"a":"#"}]]},

{"description":"<a a=%>",
"input":"<a a=%>",
"output":[["StartTag", "a", {"a":"%"}]]},

{"description":"<a a=&>",
"input":"<a a=&>",
"output":[["StartTag", "a", {"a":"&"}]]},

{"description":"<a a=''>",
"input":"<a a=''>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a='\\u0000'>",
"input":"<a a='\u0000'>",
"output":[["StartTag", "a", {"a":"\uFFFD"}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 7 }
]},

{"description":"<a a='\\u0009'>",
"input":"<a a='\u0009'>",
"output":[["StartTag", "a", {"a":"\u0009"}]]},

{"description":"<a a='\\u000A'>",
"input":"<a a='\u000A'>",
"output":[["StartTag", "a", {"a":"\u000A"}]]},

{"description":"<a a='\\u000B'>",
"input":"<a a='\u000B'>",
"output":[["StartTag", "a", {"a":"\u000B"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
]},

{"description":"<a a='\\u000C'>",
"input":"<a a='\u000C'>",
"output":[["StartTag", "a", {"a":"\u000C"}]]},

{"description":"<a a=' '>",
"input":"<a a=' '>",
"output":[["StartTag", "a", {"a":" "}]]},

{"description":"<a a='!'>",
"input":"<a a='!'>",
"output":[["StartTag", "a", {"a":"!"}]]},

{"description":"<a a='\"'>",
"input":"<a a='\"'>",
"output":[["StartTag", "a", {"a":"\""}]]},

{"description":"<a a='%'>",
"input":"<a a='%'>",
"output":[["StartTag", "a", {"a":"%"}]]},

{"description":"<a a='&'>",
"input":"<a a='&'>",
"output":[["StartTag", "a", {"a":"&"}]]},

{"description":"<a a=''>",
"input":"<a a=''>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=''\\u0000>",
"input":"<a a=''\u0000>",
"output":[["StartTag", "a", {"a":"", "\uFFFD":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
    { "code": "unexpected-null-character", "line": 1, "col": 8 }
]},

{"description":"<a a=''\\u0008>",
"input":"<a a=''\u0008>",
"output":[["StartTag", "a", {"a":"", "\u0008":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 8 },
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''\\u0009>",
"input":"<a a=''\u0009>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=''\\u000A>",
"input":"<a a=''\u000A>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=''\\u000B>",
"input":"<a a=''\u000B>",
"output":[["StartTag", "a", {"a":"", "\u000B":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 8 },
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''\\u000C>",
"input":"<a a=''\u000C>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=''\\u000D>",
"input":"<a a=''\u000D>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=''\\u001F>",
"input":"<a a=''\u001F>",
"output":[["StartTag", "a", {"a":"", "\u001F":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 8 },
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a='' >",
"input":"<a a='' >",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=''!>",
"input":"<a a=''!>",
"output":[["StartTag", "a", {"a":"", "!":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''\">",
"input":"<a a=''\">",
"output":[["StartTag", "a", {"a":"", "\"":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 }
]},

{"description":"<a a=''&>",
"input":"<a a=''&>",
"output":[["StartTag", "a", {"a":"", "&":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a='''>",
"input":"<a a='''>",
"output":[["StartTag", "a", {"a":"", "'":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 }
]},

{"description":"<a a=''->",
"input":"<a a=''->",
"output":[["StartTag", "a", {"a":"", "-":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''.>",
"input":"<a a=''.>",
"output":[["StartTag", "a", {"a":"", ".":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''/>",
"input":"<a a=''/>",
"output":[["StartTag", "a", {"a":""}, true]]},

{"description":"<a a=''0>",
"input":"<a a=''0>",
"output":[["StartTag", "a", {"a":"", "0":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''1>",
"input":"<a a=''1>",
"output":[["StartTag", "a", {"a":"", "1":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''9>",
"input":"<a a=''9>",
"output":[["StartTag", "a", {"a":"", "9":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''<>",
"input":"<a a=''<>",
"output":[["StartTag", "a", {"a":"", "<":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 }
]},

{"description":"<a a=''=>",
"input":"<a a=''=>",
"output":[["StartTag", "a", {"a":"", "=":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
    { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 8 }
]},

{"description":"<a a=''>",
"input":"<a a=''>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a=''?>",
"input":"<a a=''?>",
"output":[["StartTag", "a", {"a":"", "?":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''@>",
"input":"<a a=''@>",
"output":[["StartTag", "a", {"a":"", "@":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''A>",
"input":"<a a=''A>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
    { "code": "duplicate-attribute", "line": 1, "col": 9 }
]},

{"description":"<a a=''B>",
"input":"<a a=''B>",
"output":[["StartTag", "a", {"a":"", "b":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''Y>",
"input":"<a a=''Y>",
"output":[["StartTag", "a", {"a":"", "y":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''Z>",
"input":"<a a=''Z>",
"output":[["StartTag", "a", {"a":"", "z":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''`>",
"input":"<a a=''`>",
"output":[["StartTag", "a", {"a":"", "`":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''a>",
"input":"<a a=''a>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
    { "code": "duplicate-attribute", "line": 1, "col": 9 }
]},

{"description":"<a a=''b>",
"input":"<a a=''b>",
"output":[["StartTag", "a", {"a":"", "b":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''y>",
"input":"<a a=''y>",
"output":[["StartTag", "a", {"a":"", "y":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''z>",
"input":"<a a=''z>",
"output":[["StartTag", "a", {"a":"", "z":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''{>",
"input":"<a a=''{>",
"output":[["StartTag", "a", {"a":"", "{":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a=''\\uDBC0\\uDC00>",
"input":"<a a=''\uDBC0\uDC00>",
"output":[["StartTag", "a", {"a":"", "\uDBC0\uDC00":""}]],
"errors":[
    { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
]},

{"description":"<a a='('>",
"input":"<a a='('>",
"output":[["StartTag", "a", {"a":"("}]]},

{"description":"<a a='-'>",
"input":"<a a='-'>",
"output":[["StartTag", "a", {"a":"-"}]]},

{"description":"<a a='/'>",
"input":"<a a='/'>",
"output":[["StartTag", "a", {"a":"/"}]]},

{"description":"<a a='0'>",
"input":"<a a='0'>",
"output":[["StartTag", "a", {"a":"0"}]]},

{"description":"<a a='1'>",
"input":"<a a='1'>",
"output":[["StartTag", "a", {"a":"1"}]]},

{"description":"<a a='9'>",
"input":"<a a='9'>",
"output":[["StartTag", "a", {"a":"9"}]]},

{"description":"<a a='<'>",
"input":"<a a='<'>",
"output":[["StartTag", "a", {"a":"<"}]]},

{"description":"<a a='='>",
"input":"<a a='='>",
"output":[["StartTag", "a", {"a":"="}]]},

{"description":"<a a='>'>",
"input":"<a a='>'>",
"output":[["StartTag", "a", {"a":">"}]]},

{"description":"<a a='?'>",
"input":"<a a='?'>",
"output":[["StartTag", "a", {"a":"?"}]]},

{"description":"<a a='@'>",
"input":"<a a='@'>",
"output":[["StartTag", "a", {"a":"@"}]]},

{"description":"<a a='A'>",
"input":"<a a='A'>",
"output":[["StartTag", "a", {"a":"A"}]]},

{"description":"<a a='B'>",
"input":"<a a='B'>",
"output":[["StartTag", "a", {"a":"B"}]]},

{"description":"<a a='Y'>",
"input":"<a a='Y'>",
"output":[["StartTag", "a", {"a":"Y"}]]},

{"description":"<a a='Z'>",
"input":"<a a='Z'>",
"output":[["StartTag", "a", {"a":"Z"}]]},

{"description":"<a a='`'>",
"input":"<a a='`'>",
"output":[["StartTag", "a", {"a":"`"}]]},

{"description":"<a a='a'>",
"input":"<a a='a'>",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a='b'>",
"input":"<a a='b'>",
"output":[["StartTag", "a", {"a":"b"}]]},

{"description":"<a a='y'>",
"input":"<a a='y'>",
"output":[["StartTag", "a", {"a":"y"}]]},

{"description":"<a a='z'>",
"input":"<a a='z'>",
"output":[["StartTag", "a", {"a":"z"}]]},

{"description":"<a a='{'>",
"input":"<a a='{'>",
"output":[["StartTag", "a", {"a":"{"}]]},

{"description":"<a a='\\uDBC0\\uDC00'>",
"input":"<a a='\uDBC0\uDC00'>",
"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]},

{"description":"<a a=(>",
"input":"<a a=(>",
"output":[["StartTag", "a", {"a":"("}]]},

{"description":"<a a=->",
"input":"<a a=->",
"output":[["StartTag", "a", {"a":"-"}]]},

{"description":"<a a=/>",
"input":"<a a=/>",
"output":[["StartTag", "a", {"a":"/"}]]},

{"description":"<a a=0>",
"input":"<a a=0>",
"output":[["StartTag", "a", {"a":"0"}]]},

{"description":"<a a=1>",
"input":"<a a=1>",
"output":[["StartTag", "a", {"a":"1"}]]},

{"description":"<a a=9>",
"input":"<a a=9>",
"output":[["StartTag", "a", {"a":"9"}]]},

{"description":"<a a=<>",
"input":"<a a=<>",
"output":[["StartTag", "a", {"a":"<"}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 }
]},

{"description":"<a a==>",
"input":"<a a==>",
"output":[["StartTag", "a", {"a":"="}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 }
]},

{"description":"<a a=>",
"input":"<a a=>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "missing-attribute-value", "line": 1, "col": 6 }
]},

{"description":"<a a=?>",
"input":"<a a=?>",
"output":[["StartTag", "a", {"a":"?"}]]},

{"description":"<a a=@>",
"input":"<a a=@>",
"output":[["StartTag", "a", {"a":"@"}]]},

{"description":"<a a=A>",
"input":"<a a=A>",
"output":[["StartTag", "a", {"a":"A"}]]},

{"description":"<a a=B>",
"input":"<a a=B>",
"output":[["StartTag", "a", {"a":"B"}]]},

{"description":"<a a=Y>",
"input":"<a a=Y>",
"output":[["StartTag", "a", {"a":"Y"}]]},

{"description":"<a a=Z>",
"input":"<a a=Z>",
"output":[["StartTag", "a", {"a":"Z"}]]},

{"description":"<a a=`>",
"input":"<a a=`>",
"output":[["StartTag", "a", {"a":"`"}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 }
]},

{"description":"<a a=a>",
"input":"<a a=a>",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=a\\u0000>",
"input":"<a a=a\u0000>",
"output":[["StartTag", "a", {"a":"a\uFFFD"}]],
"errors":[
    { "code": "unexpected-null-character", "line": 1, "col": 7 }
]},

{"description":"<a a=a\\u0008>",
"input":"<a a=a\u0008>",
"output":[["StartTag", "a", {"a":"a\u0008"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
]},

{"description":"<a a=a\\u0009>",
"input":"<a a=a\u0009>",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=a\\u000A>",
"input":"<a a=a\u000A>",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=a\\u000B>",
"input":"<a a=a\u000B>",
"output":[["StartTag", "a", {"a":"a\u000B"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
]},

{"description":"<a a=a\\u000C>",
"input":"<a a=a\u000C>",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=a\\u000D>",
"input":"<a a=a\u000D>",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=a\\u001F>",
"input":"<a a=a\u001F>",
"output":[["StartTag", "a", {"a":"a\u001F"}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
]},

{"description":"<a a=a >",
"input":"<a a=a >",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=a!>",
"input":"<a a=a!>",
"output":[["StartTag", "a", {"a":"a!"}]]},

{"description":"<a a=a\">",
"input":"<a a=a\">",
"output":[["StartTag", "a", {"a":"a\""}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=a#>",
"input":"<a a=a#>",
"output":[["StartTag", "a", {"a":"a#"}]]},

{"description":"<a a=a%>",
"input":"<a a=a%>",
"output":[["StartTag", "a", {"a":"a%"}]]},

{"description":"<a a=a&>",
"input":"<a a=a&>",
"output":[["StartTag", "a", {"a":"a&"}]]},

{"description":"<a a=a'>",
"input":"<a a=a'>",
"output":[["StartTag", "a", {"a":"a'"}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=a(>",
"input":"<a a=a(>",
"output":[["StartTag", "a", {"a":"a("}]]},

{"description":"<a a=a->",
"input":"<a a=a->",
"output":[["StartTag", "a", {"a":"a-"}]]},

{"description":"<a a=a/>",
"input":"<a a=a/>",
"output":[["StartTag", "a", {"a":"a/"}]]},

{"description":"<a a=a0>",
"input":"<a a=a0>",
"output":[["StartTag", "a", {"a":"a0"}]]},

{"description":"<a a=a1>",
"input":"<a a=a1>",
"output":[["StartTag", "a", {"a":"a1"}]]},

{"description":"<a a=a9>",
"input":"<a a=a9>",
"output":[["StartTag", "a", {"a":"a9"}]]},

{"description":"<a a=a<>",
"input":"<a a=a<>",
"output":[["StartTag", "a", {"a":"a<"}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=a=>",
"input":"<a a=a=>",
"output":[["StartTag", "a", {"a":"a="}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=a>",
"input":"<a a=a>",
"output":[["StartTag", "a", {"a":"a"}]]},

{"description":"<a a=a?>",
"input":"<a a=a?>",
"output":[["StartTag", "a", {"a":"a?"}]]},

{"description":"<a a=a@>",
"input":"<a a=a@>",
"output":[["StartTag", "a", {"a":"a@"}]]},

{"description":"<a a=aA>",
"input":"<a a=aA>",
"output":[["StartTag", "a", {"a":"aA"}]]},

{"description":"<a a=aB>",
"input":"<a a=aB>",
"output":[["StartTag", "a", {"a":"aB"}]]},

{"description":"<a a=aY>",
"input":"<a a=aY>",
"output":[["StartTag", "a", {"a":"aY"}]]},

{"description":"<a a=aZ>",
"input":"<a a=aZ>",
"output":[["StartTag", "a", {"a":"aZ"}]]},

{"description":"<a a=a`>",
"input":"<a a=a`>",
"output":[["StartTag", "a", {"a":"a`"}]],
"errors":[
    { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
]},

{"description":"<a a=aa>",
"input":"<a a=aa>",
"output":[["StartTag", "a", {"a":"aa"}]]},

{"description":"<a a=ab>",
"input":"<a a=ab>",
"output":[["StartTag", "a", {"a":"ab"}]]},

{"description":"<a a=ay>",
"input":"<a a=ay>",
"output":[["StartTag", "a", {"a":"ay"}]]},

{"description":"<a a=az>",
"input":"<a a=az>",
"output":[["StartTag", "a", {"a":"az"}]]},

{"description":"<a a=a{>",
"input":"<a a=a{>",
"output":[["StartTag", "a", {"a":"a{"}]]},

{"description":"<a a=a\\uDBC0\\uDC00>",
"input":"<a a=a\uDBC0\uDC00>",
"output":[["StartTag", "a", {"a":"a\uDBC0\uDC00"}]]},

{"description":"<a a=b>",
"input":"<a a=b>",
"output":[["StartTag", "a", {"a":"b"}]]},

{"description":"<a a=y>",
"input":"<a a=y>",
"output":[["StartTag", "a", {"a":"y"}]]},

{"description":"<a a=z>",
"input":"<a a=z>",
"output":[["StartTag", "a", {"a":"z"}]]},

{"description":"<a a={>",
"input":"<a a={>",
"output":[["StartTag", "a", {"a":"{"}]]},

{"description":"<a a=\\uDBC0\\uDC00>",
"input":"<a a=\uDBC0\uDC00>",
"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]},

{"description":"<a a>",
"input":"<a a>",
"output":[["StartTag", "a", {"a":""}]]},

{"description":"<a a?>",
"input":"<a a?>",
"output":[["StartTag", "a", {"a?":""}]]},

{"description":"<a a@>",
"input":"<a a@>",
"output":[["StartTag", "a", {"a@":""}]]},

{"description":"<a aA>",
"input":"<a aA>",
"output":[["StartTag", "a", {"aa":""}]]},

{"description":"<a aB>",
"input":"<a aB>",
"output":[["StartTag", "a", {"ab":""}]]},

{"description":"<a aY>",
"input":"<a aY>",
"output":[["StartTag", "a", {"ay":""}]]},

{"description":"<a aZ>",
"input":"<a aZ>",
"output":[["StartTag", "a", {"az":""}]]},

{"description":"<a a[>",
"input":"<a a[>",
"output":[["StartTag", "a", {"a[":""}]]},

{"description":"<a a`>",
"input":"<a a`>",
"output":[["StartTag", "a", {"a`":""}]]},

{"description":"<a aa>",
"input":"<a aa>",
"output":[["StartTag", "a", {"aa":""}]]},

{"description":"<a ab>",
"input":"<a ab>",
"output":[["StartTag", "a", {"ab":""}]]},

{"description":"<a ay>",
"input":"<a ay>",
"output":[["StartTag", "a", {"ay":""}]]},

{"description":"<a az>",
"input":"<a az>",
"output":[["StartTag", "a", {"az":""}]]},

{"description":"<a a{>",
"input":"<a a{>",
"output":[["StartTag", "a", {"a{":""}]]},

{"description":"<a a\\uDBC0\\uDC00>",
"input":"<a a\uDBC0\uDC00>",
"output":[["StartTag", "a", {"a\uDBC0\uDC00":""}]]},

{"description":"<a b>",
"input":"<a b>",
"output":[["StartTag", "a", {"b":""}]]},

{"description":"<a y>",
"input":"<a y>",
"output":[["StartTag", "a", {"y":""}]]},

{"description":"<a z>",
"input":"<a z>",
"output":[["StartTag", "a", {"z":""}]]},

{"description":"<a {>",
"input":"<a {>",
"output":[["StartTag", "a", {"{":""}]]},

{"description":"<a \\uDBC0\\uDC00>",
"input":"<a \uDBC0\uDC00>",
"output":[["StartTag", "a", {"\uDBC0\uDC00":""}]]},

{"description":"<a!>",
"input":"<a!>",
"output":[["StartTag", "a!", {}]]},

{"description":"<a\">",
"input":"<a\">",
"output":[["StartTag", "a\"", {}]]},

{"description":"<a&>",
"input":"<a&>",
"output":[["StartTag", "a&", {}]]},

{"description":"<a'>",
"input":"<a'>",
"output":[["StartTag", "a'", {}]]},

{"description":"<a->",
"input":"<a->",
"output":[["StartTag", "a-", {}]]},

{"description":"<a.>",
"input":"<a.>",
"output":[["StartTag", "a.", {}]]},

{"description":"<a/>",
"input":"<a/>",
"output":[["StartTag", "a", {}, true]]},

{"description":"<a/\\u0000>",
"input":"<a/\u0000>",
"output":[["StartTag", "a", {"\uFFFD":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
    { "code": "unexpected-null-character", "line": 1, "col": 4 }
]},

{"description":"<a/\\u0009>",
"input":"<a/\u0009>",
"output":[["StartTag", "a", {}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/\\u000A>",
"input":"<a/\u000A>",
"output":[["StartTag", "a", {}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/\\u000B>",
"input":"<a/\u000B>",
"output":[["StartTag", "a", {"\u000B":""}]],
"errors":[
    { "code": "control-character-in-input-stream", "line": 1, "col": 4 },
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/\\u000C>",
"input":"<a/\u000C>",
"output":[["StartTag", "a", {}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/ >",
"input":"<a/ >",
"output":[["StartTag", "a", {}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/!>",
"input":"<a/!>",
"output":[["StartTag", "a", {"!":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/\">",
"input":"<a/\">",
"output":[["StartTag", "a", {"\"":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a/&>",
"input":"<a/&>",
"output":[["StartTag", "a", {"&":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/'>",
"input":"<a/'>",
"output":[["StartTag", "a", {"'":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a/->",
"input":"<a/->",
"output":[["StartTag", "a", {"-":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a//>",
"input":"<a//>",
"output":[["StartTag", "a", {}, true]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/0>",
"input":"<a/0>",
"output":[["StartTag", "a", {"0":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/1>",
"input":"<a/1>",
"output":[["StartTag", "a", {"1":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/9>",
"input":"<a/9>",
"output":[["StartTag", "a", {"9":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/<>",
"input":"<a/<>",
"output":[["StartTag", "a", {"<":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
    { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a/=>",
"input":"<a/=>",
"output":[["StartTag", "a", {"=":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
    { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 }
]},

{"description":"<a/>",
"input":"<a/>",
"output":[["StartTag", "a", {}, true]]},

{"description":"<a/?>",
"input":"<a/?>",
"output":[["StartTag", "a", {"?":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/@>",
"input":"<a/@>",
"output":[["StartTag", "a", {"@":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/A>",
"input":"<a/A>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/B>",
"input":"<a/B>",
"output":[["StartTag", "a", {"b":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/Y>",
"input":"<a/Y>",
"output":[["StartTag", "a", {"y":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/Z>",
"input":"<a/Z>",
"output":[["StartTag", "a", {"z":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/`>",
"input":"<a/`>",
"output":[["StartTag", "a", {"`":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/a>",
"input":"<a/a>",
"output":[["StartTag", "a", {"a":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/b>",
"input":"<a/b>",
"output":[["StartTag", "a", {"b":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/y>",
"input":"<a/y>",
"output":[["StartTag", "a", {"y":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/z>",
"input":"<a/z>",
"output":[["StartTag", "a", {"z":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/{>",
"input":"<a/{>",
"output":[["StartTag", "a", {"{":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a/\\uDBC0\\uDC00>",
"input":"<a/\uDBC0\uDC00>",
"output":[["StartTag", "a", {"\uDBC0\uDC00":""}]],
"errors":[
    { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
]},

{"description":"<a0>",
"input":"<a0>",
"output":[["StartTag", "a0", {}]]},

{"description":"<a1>",
"input":"<a1>",
"output":[["StartTag", "a1", {}]]},

{"description":"<a9>",
"input":"<a9>",
"output":[["StartTag", "a9", {}]]},

{"description":"<a<>",
"input":"<a<>",
"output":[["StartTag", "a<", {}]]},

{"description":"<a=>",
"input":"<a=>",
"output":[["StartTag", "a=", {}]]},

{"description":"<a>",
"input":"<a>",
"output":[["StartTag", "a", {}]]},

{"description":"<a?>",
"input":"<a?>",
"output":[["StartTag", "a?", {}]]},

{"description":"<a@>",
"input":"<a@>",
"output":[["StartTag", "a@", {}]]},

{"description":"<aA>",
"input":"<aA>",
"output":[["StartTag", "aa", {}]]},

{"description":"<aB>",
"input":"<aB>",
"output":[["StartTag", "ab", {}]]},

{"description":"<aY>",
"input":"<aY>",
"output":[["StartTag", "ay", {}]]},

{"description":"<aZ>",
"input":"<aZ>",
"output":[["StartTag", "az", {}]]},

{"description":"<a[>",
"input":"<a[>",
"output":[["StartTag", "a[", {}]]},

{"description":"<a`>",
"input":"<a`>",
"output":[["StartTag", "a`", {}]]},

{"description":"<aa>",
"input":"<aa>",
"output":[["StartTag", "aa", {}]]},

{"description":"<ab>",
"input":"<ab>",
"output":[["StartTag", "ab", {}]]},

{"description":"<ay>",
"input":"<ay>",
"output":[["StartTag", "ay", {}]]},

{"description":"<az>",
"input":"<az>",
"output":[["StartTag", "az", {}]]},

{"description":"<a{>",
"input":"<a{>",
"output":[["StartTag", "a{", {}]]},

{"description":"<a\\uDBC0\\uDC00>",
"input":"<a\uDBC0\uDC00>",
"output":[["StartTag", "a\uDBC0\uDC00", {}]]},

{"description":"<b>",
"input":"<b>",
"output":[["StartTag", "b", {}]]},

{"description":"<y>",
"input":"<y>",
"output":[["StartTag", "y", {}]]},

{"description":"<z>",
"input":"<z>",
"output":[["StartTag", "z", {}]]},

{"description":"<{",
"input":"<{",
"output":[["Character", "<{"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"<\\uDBC0\\uDC00",
"input":"<\uDBC0\uDC00",
"output":[["Character", "<\uDBC0\uDC00"]],
"errors":[
    { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
]},

{"description":"=",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"=",
"output":[["Character", "="]]},

{"description":"=",
"initialStates":["CDATA section state"],
"input":"=",
"output":[["Character", "="]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":">",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":">",
"output":[["Character", ">"]]},

{"description":">",
"initialStates":["CDATA section state"],
"input":">",
"output":[["Character", ">"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"?",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"?",
"output":[["Character", "?"]]},

{"description":"?",
"initialStates":["CDATA section state"],
"input":"?",
"output":[["Character", "?"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"@",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"@",
"output":[["Character", "@"]]},

{"description":"@",
"initialStates":["CDATA section state"],
"input":"@",
"output":[["Character", "@"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"A",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"A",
"output":[["Character", "A"]]},

{"description":"A",
"initialStates":["CDATA section state"],
"input":"A",
"output":[["Character", "A"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"B",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"B",
"output":[["Character", "B"]]},

{"description":"B",
"initialStates":["CDATA section state"],
"input":"B",
"output":[["Character", "B"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"Y",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"Y",
"output":[["Character", "Y"]]},

{"description":"Y",
"initialStates":["CDATA section state"],
"input":"Y",
"output":[["Character", "Y"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"Z",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"Z",
"output":[["Character", "Z"]]},

{"description":"Z",
"initialStates":["CDATA section state"],
"input":"Z",
"output":[["Character", "Z"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"`",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"`",
"output":[["Character", "`"]]},

{"description":"`",
"initialStates":["CDATA section state"],
"input":"`",
"output":[["Character", "`"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"a",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"a",
"output":[["Character", "a"]]},

{"description":"a",
"initialStates":["CDATA section state"],
"input":"a",
"output":[["Character", "a"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"b",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"b",
"output":[["Character", "b"]]},

{"description":"b",
"initialStates":["CDATA section state"],
"input":"b",
"output":[["Character", "b"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"y",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"y",
"output":[["Character", "y"]]},

{"description":"y",
"initialStates":["CDATA section state"],
"input":"y",
"output":[["Character", "y"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"z",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"z",
"output":[["Character", "z"]]},

{"description":"z",
"initialStates":["CDATA section state"],
"input":"z",
"output":[["Character", "z"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"{",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"{",
"output":[["Character", "{"]]},

{"description":"{",
"initialStates":["CDATA section state"],
"input":"{",
"output":[["Character", "{"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 2 }
]},

{"description":"\\uDBC0\\uDC00",
"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
"input":"\uDBC0\uDC00",
"output":[["Character", "\uDBC0\uDC00"]]},

{"description":"\\uDBC0\\uDC00",
"initialStates":["CDATA section state"],
"input":"\uDBC0\uDC00",
"output":[["Character", "\uDBC0\uDC00"]],
"errors":[
    { "code": "eof-in-cdata", "line": 1, "col": 3 }
]}

]}
