
    -Phl                    &    d Z ddlmZ ddlZd	dZdS )
z2Convert Cargo versions into Meson compatible ones.    )annotationsN	cargo_verstrreturnT.List[str]c           
        |                                  } d |                     d          D             }g }|D ]}|                    d          r|                    |           .|                    d          r|dd                             d          }|                    dd                    |                      t          |          d	k    r9|                    d
|d          dt          |d                   dz    d           t          |          dk    r9|                    d
|d          dt          |d                   dz               $|                    d
t          |d                   dz               Td|v r|                    d          dd         }|r+|                    dd                    |                      t          |          dk    r9|                    d
|d          dt          |d                   dz               t          |          dk    r.|                    d
t          |d                   dz               1|                    d          r
|dd         }|                    d          }g }g }d}|D ]}	|	dk    rL|sJ|                    |	           |                    t          t          |	          dz                        d}T|                    |	           |s|                    d           t          |          dhk    r;|                    d	                    d                    |                               t          |          dhk    r=|                    d	                    d                    |                               |                    d           |S )zConvert a Cargo compatible version into a Meson compatible one.

    :param cargo_ver: The version, as Cargo specifies
    :return: A list of version constraints, as Meson understands them
    c                6    g | ]}|                                 S  )strip).0cs     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/cargo/version.py
<listcomp>zconvert.<locals>.<listcomp>   s     :::!'')):::    ,)><=~   N.z>=    z< r   z.0   *^F0Tz>= {}z< {}z< 1)
r   split
startswithappendjoinlenintr   setformat)
r   
cargo_versoutvervversmin_max_bumpedv_s
             r   convertr/   
   s    !!I::Y__S%9%9:::JC G" G" >>/** D	"JJsOOOO^^C   A	"
 ABBc""AJJ*SXXa[[**+++1vv{{

8!88s1Q4yy1}8889999Q1

6!66s1Q4yy1}667777

/AaD		A//0000CZZ 		#ss#A 0

.!..///1vv{{

6!66s1Q4yy1}667777Q1

/AaD		A//000
 ~~c"" !""g  99S>>D "D "DF ) )99V9KKOOOKKCGGaK 0 0111!FFKKOOO! )C((( 4yySE!!

7>>#((4..99:::4yySE!!

6==$889999

5!!!!Jr   )r   r   r   r   )__doc__
__future__r   typingTr/   r
   r   r   <module>r4      sO    9 8 " " " " " "    U U U U U Ur   