HtmlFile:a.md
  PsiElement(HTML_DOCUMENT)
    PsiElement(XML_PROLOG)
      <empty list>
    PsiElement(MARKDOWN_OUTER_BLOCK)('Test Markdown document\n======================\n\nText\n----\n\nHere is a paragraph with bold text. **This is some bold text.** Here is a\nparagraph with bold text. __This is also some bold text.__\n\nHere is another one with italic text. *This is some italic text.* Here is\nanother one with italic text. _This is some italic text._\n\nHere is another one with struckout text. ~~This is some struckout text.~~\n\n\nLinks\n-----\n\nAutolink: <http://example.com>\n\nLink: [Example](http://example.com)\n\nReference style [link][1].\n\n[1]: http://example.com  "Example"\n\n\nImages\n------\n\nImage: ![My image](http://www.foo.bar/image.png)\n\nHeaders\n-------\n\n# First level title\n## Second level title\n### Third level title\n#### Fourth level title\n##### Fifth level title\n###### Sixth level title\n\n### Title with [link](http://localhost)\n### Title with ![image](http://localhost)\n\nCode\n----\n\n```\nThis\n  is\n    code\n      fence\n```\n\nInline `code span in a` paragraph.\n\nThis is a code block:\n\n    /**\n     * Sorts the specified array into ascending numerical order.\n     *\n     * <p>Implementation note: The sorting algorithm is a Dual-Pivot Quicksort\n     * by Vladimir Yaroslavskiy, Jon Bentley, and Joshua Bloch. This algorithm\n     * offers O(n log(n)) performance on many data sets that cause other\n     * quicksorts to degrade to quadratic performance, and is typically\n     * faster than traditional (one-pivot) Quicksort implementations.\n     *\n     * @param a the array to be sorted\n     */\n    public static void sort(byte[] a) {\n        DualPivotQuicksort.sort(a);\n    }\n\nQuotes\n------\n\n> This is the first level of quoting.\n>\n> > This is nested blockquote.\n>\n> Back to the first level.\n\n\n> A list within a blockquote:\n>\n> *\tasterisk 1\n> *\tasterisk 2\n> *\tasterisk 3\n\n\n> Formatting within a blockquote:\n>\n> ### header\n> Link: [Example](http://example.com)\n\n\n\nHtml\n-------\n\nThis is inline <span>html</html>.\nAnd this is an html block.\n\n')
    HtmlTag:table
      XmlToken:XML_START_TAG_START('<')
      XmlToken:XML_NAME('table')
      XmlToken:XML_TAG_END('>')
      XmlText
        PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
        PsiWhiteSpace('  ')
      HtmlTag:tr
        XmlToken:XML_START_TAG_START('<')
        XmlToken:XML_NAME('tr')
        XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('    ')
        HtmlTag:th
          XmlToken:XML_START_TAG_START('<')
          XmlToken:XML_NAME('th')
          XmlToken:XML_TAG_END('>')
          XmlText
            XmlToken:XML_DATA_CHARACTERS('Column')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('1')
          XmlToken:XML_END_TAG_START('</')
          XmlToken:XML_NAME('th')
          XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('    ')
        HtmlTag:th
          XmlToken:XML_START_TAG_START('<')
          XmlToken:XML_NAME('th')
          XmlToken:XML_TAG_END('>')
          XmlText
            XmlToken:XML_DATA_CHARACTERS('Column')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('2')
          XmlToken:XML_END_TAG_START('</')
          XmlToken:XML_NAME('th')
          XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('  ')
        XmlToken:XML_END_TAG_START('</')
        XmlToken:XML_NAME('tr')
        XmlToken:XML_TAG_END('>')
      XmlText
        PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
        PsiWhiteSpace('  ')
      HtmlTag:tr
        XmlToken:XML_START_TAG_START('<')
        XmlToken:XML_NAME('tr')
        XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('    ')
        HtmlTag:td
          XmlToken:XML_START_TAG_START('<')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
          XmlText
            XmlToken:XML_DATA_CHARACTERS('Row')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('1')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('Cell')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('1')
          XmlToken:XML_END_TAG_START('</')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('    ')
        HtmlTag:td
          XmlToken:XML_START_TAG_START('<')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
          XmlText
            XmlToken:XML_DATA_CHARACTERS('Row')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('1')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('Cell')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('2')
          XmlToken:XML_END_TAG_START('</')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('  ')
        XmlToken:XML_END_TAG_START('</')
        XmlToken:XML_NAME('tr')
        XmlToken:XML_TAG_END('>')
      XmlText
        PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
        PsiWhiteSpace('  ')
      HtmlTag:tr
        XmlToken:XML_START_TAG_START('<')
        XmlToken:XML_NAME('tr')
        XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('    ')
        HtmlTag:td
          XmlToken:XML_START_TAG_START('<')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
          XmlText
            XmlToken:XML_DATA_CHARACTERS('Row')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('2')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('Cell')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('1')
          XmlToken:XML_END_TAG_START('</')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('    ')
        HtmlTag:td
          XmlToken:XML_START_TAG_START('<')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
          XmlText
            XmlToken:XML_DATA_CHARACTERS('Row')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('2')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('Cell')
            PsiWhiteSpace(' ')
            XmlToken:XML_DATA_CHARACTERS('2')
          XmlToken:XML_END_TAG_START('</')
          XmlToken:XML_NAME('td')
          XmlToken:XML_TAG_END('>')
        XmlText
          PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
          PsiWhiteSpace('  ')
        XmlToken:XML_END_TAG_START('</')
        XmlToken:XML_NAME('tr')
        XmlToken:XML_TAG_END('>')
      PsiElement(MARKDOWN_OUTER_BLOCK)('\n')
      XmlToken:XML_END_TAG_START('</')
      XmlToken:XML_NAME('table')
      XmlToken:XML_TAG_END('>')
  PsiElement(MARKDOWN_OUTER_BLOCK)('\n\nHorizontal rules\n----------------\n\n---\n\n___\n\n\n***\n\n\nLists\n-----\n\nUnordered list:\n\n*\tasterisk 1\n*\tasterisk 2\n*\tasterisk 3\n\n\nOrdered list:\n\n1.\tFirst\n2.\tSecond\n3.\tThird\n\n\nMixed:\n\n1. First\n2. Second:\n\t* Fee\n\t* Fie\n\t* Foe\n3. Third\n\n\n\nDefinition list:\n\nSome term\n: First definition\n: Second definition\n\n\nTables:\n\n| Header 1 | Header 2 |\n| -------- | -------- |\n| Data 1   | Data 2   |')