Ë
    GKÕi  ã                   óž  — d dl Z d dlmZmZ d dlmZmZ d dlmZ d dl	m
Z
mZmZ d dlmZmZ d dlmZ d dlmZ  ej(                  ej*                  ¬	«      d
efd„«       Zd„ Zd„ Zd
efd„Zd
efd„Z edej6                  ej8                  eej:                  d e e
dej<                  d¬«       e
dej>                  d¬«      g¬«      g¬«      Z y)é    N)Ú
exceptionsÚmessages)ÚCVEsOptionsÚ_cves)Úcli_util)ÚProArgumentÚProArgumentGroupÚ
ProCommand)ÚTableÚcreate_link)ÚHelpCategory)ÚUAConfig)ÚmsgÚcfgc                óœ   — t        | j                  | j                  ¬«      }	 t        ||¬«      }|S # t        j
                  $ r d }Y |S w xY w)N)ÚfixableÚ	unfixable)Úoptionsr   )r   r   r   r   r   ÚVulnerabilityDataNotFound)Úargsr   ÚkwargsÚcve_optionsÚresults        ú3/usr/lib/python3/dist-packages/uaclient/cli/cves.pyÚ_get_cve_vulnerabilitiesr      sS   € äØ—‘Ø—.‘.ô€Kð
Ü˜{°Ô4ˆð €Møô ×/Ñ/ò Ø‰à€Mðús   £2 ²AÁ
Ac                 ó.  — g }| j                   j                  «       D ]u  \  }}|j                  D ]a  }| j                  j                  |j                  «      }|sŒ+|j                  ||j                  |j                  xs d|j                  f«       Œc Œw |S )Nú-)ÚpackagesÚitemsÚcvesÚgetÚnameÚappendÚpriorityÚ
fix_origin)Úcve_vulnerabilitiesÚrowsÚpackage_nameÚpackage_infoÚcveÚcve_infos         r   Ú_get_cve_table_rowsr,      s“   € Ø€Dà&9×&BÑ&B×&HÑ&HÓ&Jò Ñ"ˆ�lØ×$Ñ$ò 	ˆCØ*×/Ñ/×3Ñ3°C·H±HÓ=ˆHâØ—‘à$Ø ×)Ñ)ØŸ™Ò-¨#ØŸ™ð	õñ		ðð €Kó    c                 óÒ   — g }t        | d„ ¬«      D ]S  }|j                  |d   t        j                  |d   «      |d   t	        |d   dj                  |d   «      ¬«      f«       ŒU |S )	Nc                 ó4   — | d   dj                  | d   «      fS )Nr   )ÚcriticalÚhighÚmediumÚlowÚ
negligibleé   )Úindex)Úrows    r   ú<lambda>z"_format_cve_rows.<locals>.<lambda>3   s"   € Ø�‰FØ?×EÑEÀcÈ!ÁfÓMð
€ r-   )Úkeyr   r5   é   é   zhttps://ubuntu.com/security/{})ÚtextÚurl)Úsortedr#   r   Úcolorize_priorityr   Úformat)Úcve_rowsÚformatted_rowsr7   s      r   Ú_format_cve_rowsrC   /   s�   € Ø€NÜØñ
ôò 
ˆð 	×Ñà�A‘Ü×*Ñ*¨3¨q©6Ó2Ø�A‘ÜØ˜Q™Ø8×?Ñ?ÀÀAÁÓGôð	õ
	
ð
ð& Ðr-   c                 óV  — t        | |¬«      }|st        j                  «       ‚|j                  r•t	        t        |«      «      }|rt        t        g d¢|¬«      «       y | j                  rt        t        j                  «       y | j                  rt        t        j                  «       y t        t        j                  «       y | j                  rt        t        j                  «       y | j                  rt        t        j                  «       y t        t        j                  «       y )N)r   )ÚPackageÚPriorityÚOriginÚVulnerability)Úheadersr'   )r   r   r   r   rC   r,   Úprintr   r   r   ÚCLI_UNFIXABLE_CVES_NOT_AFFECTEDr   ÚCLI_FIXABLE_CVES_NOT_AFFECTEDÚCLI_CVES_NOT_AFFECTED)r   r   r&   r'   s       r   Ú
_list_cvesrN   G   sÆ   € Ü2°4¸SÔAÐáÜ×2Ñ2Ó4Ð4à×#Ò#ÜÔ 3Ð4GÓ HÓIˆáÜÜÚNØôõð �~Š~Ü”h×>Ñ>Õ?Ø—’Ü”h×<Ñ<Õ=ä”h×4Ñ4Õ5à�>Š>Ü”(×:Ñ:Õ;Ø�\Š\Ü”(×8Ñ8Õ9ä”(×0Ñ0Õ1r-   c                óØ   — | j                   r#| j                  rt        j                  dd¬«      ‚	 t	        | |¬«       y # t
        $ r! t        j                  j                  «        Y y w xY w)Nr   r   )Úoption1Úoption2)r   r   )	r   r   r   ÚInvalidOptionCombinationrN   ÚBrokenPipeErrorÚsysÚstderrÚclose)r   r   r   s      r   Úaction_cvesrW   g   sU   € Ø‡~‚~˜$Ÿ,š,Ü×1Ñ1Ø¨ô
ð 	
ðÜ˜ #Ö&øÜò Ü�
‰
×ÑÖðús   ±? ¿'A)Á(A)r    Tz--unfixableÚ
store_true)ÚhelpÚactionz	--fixable)Ú	arguments)rY   ÚdescriptionrZ   Úhelp_categoryÚpreserve_descriptionÚargument_groups)!rT   Úuaclientr   r   Ú#uaclient.api.u.pro.security.cves.v1r   r   Úuaclient.clir   Úuaclient.cli.commandsr   r	   r
   Úuaclient.cli.formatterr   r   Úuaclient.cli.parserr   Úuaclient.configr   Úwith_spinnerÚCLI_CVES_SPINNER_MSGr   r,   rC   rN   rW   ÚCLI_CVESÚCLI_CVES_DESCÚSECURITYÚCLI_CVES_UNFIXABLEÚCLI_CVES_FIXABLEÚcves_command© r-   r   ú<module>rp      sã   ðÛ 
ç )ß BÝ !ß KÑ Kß 5Ý ,Ý $ð €×Ñ˜8×8Ñ8Ô9ð¨8ò ó :ðòò(ð02˜(ó 2ð@	˜hó 	ñ Ø
Ø	×	Ñ	Ø×&Ñ&ØØ×'Ñ'ØááØ!Ø!×4Ñ4Ø'ôñ
 ØØ!×2Ñ2Ø'ôðô	
ðô�r-   