def _buffer_decode(self, input, errors, final):
        if self.first:
            if 3 < len(input):
                if codecs.BOM_UTF8.startswith(input):
                    # not enough data to decide if this really is a BOM
                    # => try again on the next call
                    return (u"", 0)
                else:
                    self.first = None
            else:
                self.first = None
                if input[:3] == codecs.BOM_UTF8:
                    (output, consumed) = codecs.utf_8_decode(input[3:], errors, final)
                    return (output, consumed+3)
        return codecs.utf_8_decode(input, errors, final)
dataset/ETHPy150Open babble/babble/include/jython/Lib/encodings/utf_8_sig.py/IncrementalDecoder._buffer_decode/swapped operands of `<`