whole_func_string: function unmarshalPublicKey (curve, key) {
    const byteLen = curveLengths[curve]
  
    if (!key.slice(0, 1).equals(Buffer.from([4]))) {
      throw new Error('Invalid key format')
    }
    const x = new BN(key.slice(1, byteLen + 1))
    const y = new BN(key.slice(1 + byteLen))
  
    return {
      kty: 'EC',
      crv: curve,
      x: toBase64(x, byteLen),
      y: toBase64(y, byteLen),
      ext: true
    }
  }
func_code_string: function unmarshalPublicKey (curve, key) {
    const byteLen = curveLengths[curve]
  
    if (!key.slice(0, 1).equals(Buffer.from([4]))) {
      throw new Error('Invalid key format')
    }
    const x = new BN(key.slice(1, byteLen + 1))
    const y = new BN(key.slice(1 + byteLen))
  
    return {
      kty: 'EC',
      crv: curve,
      x: toBase64(x, byteLen),
      y: toBase64(y, byteLen),
      ext: true
    }
  }
func_documentation_string: Unmarshal converts a point, serialized by Marshal, into an jwk encoded key