code: func (r *reader) readVarUint64() uint64 {
  	var x, s uint64
  	for i := 0; ; i++ {
  		b := r.readByte()
  		if b < 0x80 {
  			if i > 9 || i == 9 && b > 1 {
  				_panicf("read overflow: varint overflows uint64")
  			}
  			return x | uint64(b)<<s
  		}
  		x |= uint64(b&0x7f) << s
  		s += 7
  	}
  }
docs: // readVarUint64 reads an unsigned 64-bit varint