Ë
    nûàgØ  ã                   ó�  — d Z ddlZddlZ ej                  dej                  «      Z ej                  dej                  «      Z ej                  dej                  «      Z ej                  dej                  «      Zde	de	fd	„Z
d
e	de	fd„Zde	de	fd„Zde	de	fd„Zde	de	fd„Zde	de	fd„Zde	de	fd„Zde	de	fd„Zde	de	fd„Zy)zZ
Helpers for normalization as expected in wheel/sdist/module file names
and core metadata
é    Nz)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[^A-Z0-9._-]+z
[^A-Z0-9]+z,^v?(?P<safe>(?:[0-9]+!)?[0-9]+(?:\.[0-9]+)*)ÚnameÚreturnc                 óX   — t        j                  dd| «      }|j                  «       sJ ‚|S )zÍMake a string safe to be used as Python identifier.
    >>> safe_identifier("12abc")
    '_12abc'
    >>> safe_identifier("__editable__.myns.pkg-78.9.3_local")
    '__editable___myns_pkg_78_9_3_local'
    z
\W|^(?=\d)Ú_)ÚreÚsubÚisidentifier)r   Úsafes     úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/_normalization.pyÚsafe_identifierr      s-   € ô �6‰6�-  dÓ+€DØ×ÑÔÐÐØ€Kó    Ú	componentc                 ó.   — t         j                  d| «      S )zãEscape a component used as a project name according to Core Metadata.
    >>> safe_name("hello world")
    'hello-world'
    >>> safe_name("hello?world")
    'hello-world'
    >>> safe_name("hello_world")
    'hello_world'
    ú-)Ú_UNSAFE_NAME_CHARSr   )r   s    r   Ú	safe_namer      s   € ô ×!Ñ! # yÓ1Ð1r   Úversionc                 ó:  — | j                  dd«      }	 t        t        j                  j	                  |«      «      S # t        j                  j
                  $ rA t        j                  d|«      }t        t        j                  j	                  |«      «      cY S w xY w)aø  Convert an arbitrary string into a valid version string.
    Can still raise an ``InvalidVersion`` exception.
    To avoid exceptions use ``best_effort_version``.
    >>> safe_version("1988 12 25")
    '1988.12.25'
    >>> safe_version("v0.2.1")
    '0.2.1'
    >>> safe_version("v0.2?beta")
    '0.2b0'
    >>> safe_version("v0.2 beta")
    '0.2b0'
    >>> safe_version("ubuntu lts")
    Traceback (most recent call last):
    ...
    packaging.version.InvalidVersion: Invalid version: 'ubuntu.lts'
    ú ú.r   )ÚreplaceÚstrÚ	packagingr   ÚVersionÚInvalidVersionr   r   )r   ÚvÚattempts      r   Úsafe_versionr   *   s~   € ð" 	�‰˜˜SÓ!€Að7Ü”9×$Ñ$×,Ñ,¨QÓ/Ó0Ð0øÜ×Ñ×+Ñ+ò 7Ü$×(Ñ(¨¨aÓ0ˆÜ”9×$Ñ$×,Ñ,¨WÓ5Ó6Ò6ð7ús   ”'< ¼ABÂBc                 ót  — 	 t        | «      S # t        j                  j                  $ r� | j	                  dd«      }t
        j                  |«      }|r|d   }|t        |«      d }nd}| }t        j                  d|«      j                  d«      }d|› �j                  d«      }t        |› d|› �«      cY S w xY w)aû  Convert an arbitrary string into a version-like string.
    Fallback when ``safe_version`` is not safe enough.
    >>> best_effort_version("v0.2 beta")
    '0.2b0'
    >>> best_effort_version("ubuntu lts")
    '0.dev0+sanitized.ubuntu.lts'
    >>> best_effort_version("0.23ubuntu1")
    '0.23.dev0+sanitized.ubuntu1'
    >>> best_effort_version("0.23-")
    '0.23.dev0+sanitized'
    >>> best_effort_version("0.-_")
    '0.dev0+sanitized'
    >>> best_effort_version("42.+?1")
    '42.dev0+sanitized.1'
    r   r   r
   NÚ0z
sanitized.z.dev0+)r   r   r   r   r   Ú_PEP440_FALLBACKÚsearchÚlenÚ_NON_ALPHANUMERICr   Ústrip)r   r   Úmatchr
   ÚrestÚ	safe_restÚlocals          r   Úbest_effort_versionr*   C   s¼   € ð"4Ü˜GÓ$Ð$øÜ×Ñ×+Ñ+ò 4Ø�O‰O˜C Ó%ˆÜ ×'Ñ'¨Ó*ˆÙØ˜‘=ˆDØ”S˜“Y�[�>‰DàˆDØˆDÜ%×)Ñ)¨#¨tÓ4×:Ñ:¸3Ó?ˆ	Ø˜Y˜KÐ(×.Ñ.¨sÓ3ˆÜ˜t˜f F¨5¨'Ð2Ó3Ò3ð4ús   ‚
 �B'B7Â6B7Úextrac                 óh   — t         j                  d| «      j                  d«      j                  «       S )z¬Normalize extra name according to PEP 685
    >>> safe_extra("_FrIeNdLy-._.-bArD")
    'friendly-bard'
    >>> safe_extra("FrIeNdLy-._.-bArD__._-")
    'friendly-bard'
    r   )r$   r   r%   Úlower)r+   s    r   Ú
safe_extrar.   d   s+   € ô × Ñ   eÓ,×2Ñ2°3Ó7×=Ñ=Ó?Ð?r   Úvaluec                 óD   — | j                  dd«      j                  d«      S )z»Normalize each component of a filename (e.g. distribution/version part of wheel)
    Note: ``value`` needs to be already normalized.
    >>> filename_component("my-pkg")
    'my_pkg'
    r   r   )r   r%   ©r/   s    r   Úfilename_componentr2   n   s    € ð �=‰=˜˜cÓ"×(Ñ(¨Ó-Ð-r   c                 ó&   — | j                  dd«      S )a  
    Produce the incorrect filename component for compatibility.

    See pypa/setuptools#4167 for detailed analysis.

    TODO: replace this with filename_component after pip 24 is
    nearly-ubiquitous.

    >>> filename_component_broken('foo_bar-baz')
    'foo-bar-baz'
    r   r   )r   r1   s    r   Úfilename_component_brokenr4   w   s   € ð �=‰=˜˜cÓ"Ð"r   c                 ó~   — t        j                  ddt        | «      «      j                  «       j	                  dd«      S )zBLike ``safe_name`` but can be used as filename component for wheelz[-_.]+r   r   )r   r   r   r-   r   r1   s    r   Ú
safer_namer6   †   s1   € ô
 	�‰ˆy˜#œy¨Ó/Ó0ß	‰‹ç	‰��cÓ	ðr   c                 ó*   — t        t        | «      «      S )zLLike ``best_effort_version`` but can be used as filename component for wheel)r2   r*   r1   s    r   Úsafer_best_effort_versionr8   ’   s   € ô Ô1°%Ó8Ó9Ð9r   )Ú__doc__r   r   ÚcompileÚIÚ_VALID_NAMEr   r$   r!   r   r   r   r   r*   r.   r2   r4   r6   r8   © r   r   ú<module>r>      s!  ðñó
 
ã ð ˆb�j‰jÐEÀrÇtÁtÓL€Ø�R—Z‘ZÐ 0°"·$±$Ó7Ð Ø�B—J‘J˜}¨b¯d©dÓ3Ð Ø�2—:‘:ÐMÈrÏtÉtÓTÐ ð	˜#ð 	 #ó 	ð
2˜ð 
2 ó 
2ð7˜#ð 7 #ó 7ð24 ð 4¨ó 4ðB@�cð @˜có @ð.˜cð . có .ð# Sð #¨Só #ð	�cð 	˜có 	ð: Sð :¨Sô :r   