anchor.diff:        r"[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$");
   
     static final Parser<List<String>> _autolinkParser = char('<') >
  -      pred((String char) =>
  -              char.codeUnitAt(0) > 0x20 && char != "<" && char != ">")
  -          .manyUntil(char('>'));
  +      manyUntilSimple(
  +          pred((String char) =>
  +              char.codeUnitAt(0) > 0x20 && char != "<" && char != ">"),
  +          char('>'));
     static final Parser<List<Inline>> autolink =
         new Parser<List<Inline>>((String s, Position pos) {
       if (pos.offset >= s.length || s[pos.offset] != '<') {
  
positive.code: 
    static final Parser<String> whitespaceChar = oneOf2(" ", "\t");
    static final Parser<String> nonSpaceChar = noneOf4("\t", "\n", " ", "\r");
    static final Parser<dynamic> skipSpaces = whitespaceChar.skipMany;
    static final Parser<String> blankline = skipSpaces > newline;
    static final Parser<List<String>> blanklines = blankline.many1;
  
    // All indent and spaces parsers accepts spaces to skip, and returns spaces
    // that were actually skipped.
  
negative.code:   // Document
    //
  
    Parser<Document> get document => (manyUntilSimple(block, eof) ^
        (Iterable res) => new Document(processParsedBlocks(res)));
  
    static final CommonMarkParser commonmark =
  