docs: def decode(in_bytes):
      """Decode a string using Consistent Overhead Byte Stuffing (COBS).
      
      Input should be a byte string that has been COBS encoded. Output
      is also a byte string.
      
      A cobs.DecodeError exception will be raised if the encoded data
      is invalid."""
      out_bytes = []
      idx = 0
  
      if len(in_bytes) > 0:
          while True:
              length = ord(in_bytes[idx])
              if length == 0:
                  raise DecodeError("zero byte found in input")
              idx += 1
              end = idx + length - 1
              copy_bytes = in_bytes[idx:end]
              if '\x00' in copy_bytes:
                  raise DecodeError("zero byte found in input")
              out_bytes.append(copy_bytes)
              idx = end
              if idx > len(in_bytes):
                  raise DecodeError("not enough input bytes for length code")
              if idx < len(in_bytes):
                  if length < 0xFF:
                      out_bytes.append('\x00')
              else:
                  break
      return ''.join(out_bytes)