func NewGivenECDSA(key *ecdsa.PublicKey) (givenKey GivenKey) {
	return GivenKey{
		precomputed: key,
	}
}
NewGivenECDSA creates a new GivenKey given an ECDSA public key.
package keyfunc
import (
	"crypto/ecdsa"
	"crypto/rsa"
)
type GivenKey struct {
	precomputed interface{}
}
func NewGiven(givenKeys map[string]GivenKey) (jwks *JWKs) {
	keys := make(map[string]*jsonKey)
	for kid, given := range givenKeys {
		keys[kid] = &jsonKey{
			precomputed: given.precomputed,
		}
	}
	return &JWKs{
		keys: keys,
	}
}
func NewGivenCustom(key interface{}) (givenKey GivenKey) {
	return GivenKey{
		precomputed: key,
	}
}