func (r *rarBitReader) readUint32() (uint32, error) {
	n, err := r.readBits(2)
	if err != nil {
		return 0, err
	}
	if n != 1 {
		n, err = r.readBits(4 << uint(n))
		return uint32(n), err
	}
	n, err = r.readBits(4)
	if err != nil {
		return 0, err
	}
	if n == 0 {
		n, err = r.readBits(8)
		n |= -1 << 8
		return uint32(n), err
	}
	nlow, err := r.readBits(4)
	n = n<<4 | nlow
	return uint32(n), err
}
func (r *rarBitReader) readUint32() (uint32, error) {
	n, err := r.readBits(2)
	if err != nil {
		return 0, err
	}
	if n != 1 {
		n, err = r.readBits(4 << uint(n))
		return uint32(n), err
	}
	n, err = r.readBits(4)
	if err != nil {
		return 0, err
	}
	if n == 0 {
		n, err = r.readBits(8)
		n |= -1 << 8
		return uint32(n), err
	}
	nlow, err := r.readBits(4)
	n = n<<4 | nlow
	return uint32(n), err
}
func ( r * rarBitReader ) readUint32 ( ) ( uint32 , error ) { n , err := r . readBits ( 2 ) if err != nil { return 0 , err } if n != 1 { n , err = r . readBits ( 4 << uint ( n ) ) return uint32 ( n ) , err } n , err = r . readBits ( 4 ) if err != nil { return 0 , err } if n == 0 { n , err = r . readBits ( 8 ) n |= - 1 << 8 return uint32 ( n ) , err } nlow , err := r . readBits ( 4 ) n = n << 4 | nlow return uint32 ( n ) , err }
// readUint32 reads a RAR V3 encoded uint32
readUint32 reads a RAR V3 encoded uint32