             guard let semicolonIndex = buffer[begin..<end].index(of: semicolon) else { continue }
             let range = begin...semicolonIndex
             // a squence must be longer than 3 (&lt;) and less than 11 (&thetasym;)
+            // a squence must be longer than 3 (&lt;) and less than 11 (&#Xffffff;)
+            // a squence must be longer than 3 (&lt;) and less than 11 (&#9999999;)
             guard 4...10 ~= range.count else { continue }
             do {
                 if buffer[begin + 1] == sharp {

}

private func decodeUnicodeScalar(unicode: UInt) -> [unichar] {
    let w: UInt  = (unicode & 0b00000000000111110000000000000000) >> 16 - 1
    let x1: UInt = (unicode & 0b00000000000000001111110000000000) >> 10
    let x2: UInt = (unicode & 0b00000000000000000000001111111111) >> 0

                    } else {
                        // Decimal Sequences &#123;
                        buffer[range] = ArraySlice(try decimalStream2UnicodeChars(utf16Storage: buffer[begin + 2..<semicolonIndex]))
                    }
                } else {
                    // "standard" sequences
