
    Cj[                     J    S r SSKJrJr   \rS rSS jr	g! \ a    \r Nf = f)zg
Functions for interactively building CVSS vector string.

Compatible with both Python 2 and Python 3.
    )print_functionunicode_literalsc                 n    U R                  SS5      R                  SS5      nUR                  SS5      nU$ )z
Replaces text in brackets with yellow bold variant for terminal. Also replaces | symbol with
blue one. Should improve readability. Uses ANSI Styling codes.
(z	[33m[1m)z[0m|z[94m[1m|[0m)replace)textcoloreds     b/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/cvss/interactive.pycolorr      s8    
 ll3 12::3	JGooc#<=GN    c                    U S:X  a  [        S5        SSKJnJnJn  O\SU s=::  a  S:  a  O  O[        S5        SSKJnJnJn  O6U S:X  a  [        S5        SSKJnJnJn  O[        S	R                  U 5      5      e[        5         / nU(       a  UR                  5       nOUnU GHJ  n[        X8   S
-   SS9  XX   n	/ n
U	 Hh  nXX   U   nUnU H  nUR                  USU-   S-   5      nM     U S:  a	  US:X  a  SnOU S:  a  SSSS.R                  X5      nU
R                  U5        Mj     SR                  U
5      nU(       a  [        U5        O[        [        U5      5         [        X8   S
-   SS9  [        SR                  U	5      SS9  [        5       R!                  5       R#                  5       nU(       d  U S:X  a  SnOSnUU	;   a  UR                  US
-   U-   5        OM  [        5         GMM     U S:X  a  SSR                  U5      -   nU$ U S:X  a  SSR                  U5      -   nU$ U S:X  a  SSR                  U5      -   nU$ SR                  U5      nU$ )a  
Asks user to build CVSS vector string interactively.

Args:
    version (float): 2 or 3.0/3.1 or 4 for CVSS2 or CVSS3 or CVSS4 respectively
    all_metrics (bool): If true, temporal and environmental metrics are asked, else only base
                        metrics are asked for
    no_colors (bool): If true, terminal coloring is not used in interactive mode

Returns:
    (str): CVSS vector
   zInteractive CVSS2 calculator   )METRICS_ABBREVIATIONSMETRICS_MANDATORYMETRICS_VALUE_NAMESg      @g      @zInteractive CVSS3 calculatorzInteractive CVSS4 calculatorzUnknown version: {0}: )endr   r   zNot Definedz(X)Not Definedz(P)roof-(O)f-(C)onceptz(U)n(C)onfirmedz(U)nco(R)roborated)z(P)roof-of-(C)onceptz(U)nconfirmedz(U)ncorroboratedz | /NDXz	CVSS:3.0/@z	CVSS:3.1/z	CVSS:4.0/)print
constants2r   r   r   
constants3
constants4
ValueErrorformatkeysr	   getappendjoinr   string_inputstripupper)versionall_metrics	no_colorsr   r   r   vectormetricsmetricvaluesvalue_namesvaluenamename_with_hintslettervalue_names_stringinput_valuevector_strings                     r   ask_interactivelyr8      s    !|,-	
 	

 
	#	,-	
 	

 
C,-	
 	
 /66w?@@	GF',,.##+c1s; %,E&.u5D"O"1"9"9&#,QTBT"U   #~/]"B"23,D%6(<# #o7	   /! & #ZZ4$%%*+, '/#53?#((6",&...0668Ka<"&K"%Kf$fsl[89  	[ ^ #~#chhv&66  
C#chhv&66
 	 
C#chhv&66  (r   N)r   FF)
__doc__
__future__r   r   	raw_inputr&   	NameErrorinputr   r8    r   r   <module>r?      s:   
 8L
e  Ls    ""