func (r *rarBitReader) readFull(p []byte) error {
	for i := range p {
		c, err := r.ReadByte()
		if err != nil {
			return err
		}
		p[i] = c
	}
	return nil
}
func (r *rarBitReader) readFull(p []byte) error {
	for i := range p {
		c, err := r.ReadByte()
		if err != nil {
			return err
		}
		p[i] = c
	}
	return nil
}
// readFull reads len(p) bytes into p. If fewer bytes are read an error is returned.