code: func (d *Decoder) DecodeHyper() (rv int64, err error) {
  	data := d.data
  	if len(data) < 8 {
  		msg := fmt.Sprintf(errInsufficientBytes, 8)
  		err = unmarshalError("DecodeHyper", ErrUnexpectedEnd, msg, data)
  		return
  	}
  	rv = int64(data[7]) | int64(data[6])<<8 |
  		int64(data[5])<<16 | int64(data[4])<<24 |
  		int64(data[3])<<32 | int64(data[2])<<40 |
  		int64(data[1])<<48 | int64(data[0])<<56
  
  	d.data = data[8:]
  	return
  }
docs: // DecodeHyper treats the next 8 bytes as an XDR encoded hyper value and
  // returns the result as an int64.
  //
  // An UnmarshalError is returned if there are insufficient bytes remaining.
  //
  // Reference:
  // 	RFC Section 4.5 - Hyper Integer
  // 	64-bit big-endian signed integer in range [-9223372036854775808, 9223372036854775807]