
    ܖiX                     L    d Z dgZddlmZ ddlmZ deeedf   edf   d	efd
Zy)zCVSS related utilitiesvs_from_cvss_scores    )Union   )VulnerabilitySeverityscores.Nreturnc                 d   t        |       t        u r| f} | t        j                  S t	        | t
              rt        |       }nt        |       }|dk\  rt        j                  S |dk\  rt        j                  S |dk\  rt        j                  S |dkD  rt        j                  S t        j                  S )a4  
    Derives the Severity of a Vulnerability from it's declared CVSS scores.

    Args:
        scores: A `tuple` of CVSS scores. CVSS scoring system allows for up to three separate scores.

    Returns:
        Always returns an instance of :class:`cyclonedx.model.vulnerability.VulnerabilitySeverity`.
    g      "@g      @g      @g        )typefloatr   UNKNOWN
isinstancetuplemaxCRITICALHIGHMEDIUMLOWNONE)r   max_cvss_scores     h/var/www/html/content-pipeline/venv/lib/python3.12/site-packages/cyclonedx/contrib/vulnerability/cvss.pyr   r      s     F|u~$,,, &% Vv$---	3	$)))	3	$+++	#	$((($)))    )	__doc____all__typingr   model.vulnerabilityr   r   r   r    r   r   <module>r      sA   $  
!  8*eE3J&7&D E *J_ *r   