func readuint128(pos uint32) *big.Int {
	pos2 := int64(pos)
	retval := big.NewInt(0)
	data := make([]byte, 16)
	_, err := f.ReadAt(data, pos2 - 1)
	if err != nil {
		fmt.Println("File read failed:", err)
	}
	
	// little endian to big endian
	for i, j := 0, len(data)-1; i < j; i, j = i+1, j-1 {
		data[i], data[j] = data[j], data[i]
	}
	retval.SetBytes(data)
	return retval
}
func readuint128(pos uint32) *big.Int {
	pos2 := int64(pos)
	retval := big.NewInt(0)
	data := make([]byte, 16)
	_, err := f.ReadAt(data, pos2 - 1)
	if err != nil {
		fmt.Println("File read failed:", err)
	}
	
	
	for i, j := 0, len(data)-1; i < j; i, j = i+1, j-1 {
		data[i], data[j] = data[j], data[i]
	}
	retval.SetBytes(data)
	return retval
}
func readuint128 ( pos uint32 ) * big . Int { pos2 := int64 ( pos ) retval := big . NewInt ( 0 ) data := make ( [ ] byte , 16 ) _ , err := f . ReadAt ( data , pos2 - 1 ) if err != nil { fmt . Println ( " " , err ) } // little endian to big endian for i , j := 0 , len ( data ) - 1 ; i < j ; i , j = i + 1 , j - 1 { data [ i ] , data [ j ] = data [ j ] , data [ i ] } retval . SetBytes ( data ) return retval }
// read unsigned 128-bit integer
read unsigned 128 - bit integer