<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ec_construct_public(num):
 """ Given a set of values on public attributes build a elliptic curve public key instance. :param num: A dictionary with public attributes and their values :return: A cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey instance. """

    ecpn = ec.EllipticCurvePublicNumbers(num['x'], num['y'],
                                         NIST2SEC[as_unicode(num['crv'])]())
    return ecpn.public_key(default_backend())