appendInt53(value) {
    if (!Number.isInteger(value))
      throw new RangeError("value is not an integer")
    if (value < Number.MIN_SAFE_INTEGER || value > Number.MAX_SAFE_INTEGER) {
      throw new RangeError("number out of range")
    }
    const high32 = Math.floor(value / 0x100000000)
    const low32 = (value & 0xffffffff) >>> 0 // right shift to interpret as unsigned
    return this.appendInt64(high32, low32)
  }
Encodes a signed integer in a variable number of bytes using the LEB128
encoding scheme, up to the maximum size of integers supported by JavaScript
(53 bits).