§
    
Á³gžu  ã            	       ón  — d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZ ddlmZmZmZ eeef         Zeeeef         Z ede¬¦  «        Zeeegef         Z G d„ d	e¦  «        Z G d
„ de j        ¬¦  «        Z  G d„ de ¦  «        Z! G d„ de!¦  «        Z"dedeegef         dedeegef         fd„Z# G d„ de!¦  «        Z$ ej%        d¦  «        Z&dede
e         fd„Z'dedefd„Z(de
e         de
e         dee
e         e
e         f         fd„Z) G d„ de ¦  «        Z*dS ) é    N)ÚCallableÚDictÚIterableÚIteratorÚListÚOptionalÚPatternÚSetÚTupleÚTypeVarÚUnioné   )Úcanonicalize_version)ÚLegacyVersionÚVersionÚparseÚVersionTypeVar)Úboundc                   ó   — e Zd ZdZdS )ÚInvalidSpecifierzH
    An invalid specifier was found, users should refer to PEP 440.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú^/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_vendor/packaging/specifiers.pyr   r   !   s   € € € € € ðð ð ð r   r   c            	       ór  — e Zd Zej        defd„¦   «         Zej        defd„¦   «         Zej        de	de
fd„¦   «         Zej        dee
         fd„¦   «         Zej        de
ddfd	„¦   «         Zej        dd
edee
         de
fd„¦   «         Zej        	 ddee         dee
         dee         fd„¦   «         ZdS )ÚBaseSpecifierÚreturnc                 ó   — dS )zŽ
        Returns the str representation of this Specifier like object. This
        should be representative of the Specifier itself.
        Nr   ©Úselfs    r   Ú__str__zBaseSpecifier.__str__(   ó   € € € r   c                 ó   — dS )zF
        Returns a hash value for this Specifier like object.
        Nr   r"   s    r   Ú__hash__zBaseSpecifier.__hash__/   r%   r   Úotherc                 ó   — dS )zq
        Returns a boolean representing whether or not the two Specifier like
        objects are equal.
        Nr   ©r#   r(   s     r   Ú__eq__zBaseSpecifier.__eq__5   r%   r   c                 ó   — dS )zg
        Returns whether or not pre-releases as a whole are allowed by this
        specifier.
        Nr   r"   s    r   ÚprereleaseszBaseSpecifier.prereleases<   r%   r   ÚvalueNc                 ó   — dS )zd
        Sets whether or not pre-releases as a whole are allowed by this
        specifier.
        Nr   ©r#   r.   s     r   r-   zBaseSpecifier.prereleasesC   r%   r   Úitemr-   c                 ó   — dS )zR
        Determines if the given item is contained within this specifier.
        Nr   ©r#   r1   r-   s      r   ÚcontainszBaseSpecifier.containsJ   r%   r   Úiterablec                 ó   — dS )z•
        Takes an iterable of items and filters them so that only items which
        are contained within this specifier are allowed in it.
        Nr   )r#   r5   r-   s      r   ÚfilterzBaseSpecifier.filterP   r%   r   ©N)r   r   r   ÚabcÚabstractmethodÚstrr$   Úintr'   ÚobjectÚboolr+   Úabstractpropertyr   r-   Úsetterr4   r   r   r7   r   r   r   r   r   '   s�  € € € € € ØÔð˜ð ð ð ñ Ôðð 	Ôð˜#ð ð ð ñ Ôðð
 	Ôð˜Fð  tð ð ð ñ Ôðð 	Ôð˜X dœ^ð ð ð ñ Ôðð Ôð ð ¨$ð ð ð ñ Ôðð 	Ôðð ˜Sð ¨x¸¬~ð Èð ð ð ñ Ôðð
 	ÔàPTðð Ø  Ô0ðØ?GÈ¼~ðà	�.Ô	!ðð ð ñ Ôðð ð r   r   )Ú	metaclassc                   óà  — e Zd ZU i Zeeef         ed<   ee         ed<   ddedee	         ddfd„Z
defd	„Zdefd
„Zedeeef         fd„¦   «         Z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edefd„¦   «         Zedefd„¦   «         Zedee	         fd„¦   «         Zej        de	ddfd„¦   «         Zdede	fd„Z	 ddedee	         de	fd„Z	 ddee          dee	         dee          fd„Z!dS )Ú_IndividualSpecifierÚ
_operatorsÚ_regexÚ NÚspecr-   r    c                 ó  — | j                              |¦  «        }|st          d|› d�¦  «        ‚|                     d¦  «                             ¦   «         |                     d¦  «                             ¦   «         f| _        || _        d S )NzInvalid specifier: 'ú'ÚoperatorÚversion)rE   Úsearchr   ÚgroupÚstripÚ_specÚ_prereleases)r#   rG   r-   Úmatchs       r   Ú__init__z_IndividualSpecifier.__init___   s‹   € Ø”×"Ò" 4Ñ(Ô(ˆØð 	CÝ"Ð#A¸$Ð#AÐ#AÐ#AÑBÔBÐBð �KŠK˜
Ñ#Ô#×)Ò)Ñ+Ô+Ø�KŠK˜	Ñ"Ô"×(Ò(Ñ*Ô*ð'
ˆŒ
ð (ˆÔÐÐr   c                 ól   — | j         �
d| j        ›�nd}d| j        j        › dt	          | ¦  «        ›|› d�S )Nú, prereleases=rF   ú<ú(ú)>)rP   r-   Ú	__class__r   r;   ©r#   Úpres     r   Ú__repr__z_IndividualSpecifier.__repr__l   sT   € ð Ô Ð,ð 2˜TÔ-Ð1Ð1Ð1àð 	ð B�4”>Ô*ÐAÐA­S°©Y¬YÐA¸#ÐAÐAÐAÐAr   c                 ó    —  dj         | j        Ž S )Nz{}{})ÚformatrO   r"   s    r   r$   z_IndividualSpecifier.__str__u   s   € ØˆvŒ}˜dœjÐ)Ð)r   c                 óP   — | j         d         t          | j         d         ¦  «        fS )Nr   r   )rO   r   r"   s    r   Ú_canonical_specz$_IndividualSpecifier._canonical_specx   s"   € àŒz˜!Œ}Õ2°4´:¸a´=ÑAÔAÐAÐAr   c                 ó*   — t          | j        ¦  «        S r8   )Úhashr_   r"   s    r   r'   z_IndividualSpecifier.__hash__|   s   € Ý�DÔ(Ñ)Ô)Ð)r   r(   c                 óú   — t          |t          ¦  «        r;	 |                      t          |¦  «        ¦  «        }n3# t          $ r
 t          cY S w xY wt          || j        ¦  «        st          S | j        |j        k    S r8   )Ú
isinstancer;   rX   r   ÚNotImplementedr_   r*   s     r   r+   z_IndividualSpecifier.__eq__   s„   € Ý�e�SÑ!Ô!ð 	"ð&ØŸš¥s¨5¡z¤zÑ2Ô2��øÝ#ð &ð &ð &Ý%Ð%Ð%Ð%ð&øøøå˜E 4¤>Ñ2Ô2ð 	"Ý!Ð!àÔ# uÔ'<Ò<Ð<s   —": ºAÁAÚopc                 óB   — t          | d| j        |         › �¦  «        }|S )NÚ	_compare_)ÚgetattrrD   )r#   re   Úoperator_callables      r   Ú_get_operatorz"_IndividualSpecifier._get_operatorŠ   s/   € Ý.5ØÐ3˜dœo¨bÔ1Ð3Ð3ñ/
ô /
Ðð !Ð r   rK   c                 ó\   — t          |t          t          f¦  «        st          |¦  «        }|S r8   )rc   r   r   r   ©r#   rK   s     r   Ú_coerce_versionz$_IndividualSpecifier._coerce_version�   s)   € Ý˜'¥Mµ7Ð#;Ñ<Ô<ð 	%Ý˜G‘n”nˆGØˆr   c                 ó   — | j         d         S )Nr   ©rO   r"   s    r   rJ   z_IndividualSpecifier.operator•   ó   € àŒz˜!Œ}Ðr   c                 ó   — | j         d         S )Nr   ro   r"   s    r   rK   z_IndividualSpecifier.version™   rp   r   c                 ó   — | j         S r8   ©rP   r"   s    r   r-   z _IndividualSpecifier.prereleases�   s   € àÔ Ð r   r.   c                 ó   — || _         d S r8   rs   r0   s     r   r-   z _IndividualSpecifier.prereleases¡   ó   € à!ˆÔÐÐr   r1   c                 ó,   — |                       |¦  «        S r8   ©r4   ©r#   r1   s     r   Ú__contains__z!_IndividualSpecifier.__contains__¥   ó   € Ø�}Š}˜TÑ"Ô"Ð"r   c                 óª   — |€| j         }|                      |¦  «        }|j        r|sdS |                      | j        ¦  «        } ||| j        ¦  «        S ©NF)r-   rm   Úis_prereleaserj   rJ   rK   )r#   r1   r-   Únormalized_itemri   s        r   r4   z_IndividualSpecifier.contains¨   sm   € ð
 ÐØÔ*ˆKð ×.Ò.¨tÑ4Ô4ˆð
 Ô(ð 	°ð 	Ø�5ð /3×.@Ò.@ÀÄÑ.OÔ.OÐØ Ð  °$´,Ñ?Ô?Ð?r   r5   c              #   óì   K  — d}g }d|�|ndi}|D ]Q}|                       |¦  «        } | j        |fi |¤Žr,|j        r|s| j        s|                     |¦  «         ŒKd}|V — ŒR|s|r|D ]
}|V — Œd S d S d S )NFr-   T)rm   r4   r}   r-   Úappend)r#   r5   r-   ÚyieldedÚfound_prereleasesÚkwrK   Úparsed_versions           r   r7   z_IndividualSpecifier.filter¿   sú   è è € ð ˆØÐà¨KÐ,C˜[˜[ÈÐNˆð  ð 	"ð 	"ˆGØ!×1Ò1°'Ñ:Ô:ˆNàˆtŒ}˜^Ð2Ð2¨rÐ2Ð2ð "ð "Ô/ð "Øð"Ø#'Ô#3ð"ð &×,Ò,¨WÑ5Ô5Ð5Ð5ð #�GØ!�M�M�Møð
 ð 	Ð,ð 	Ø,ð ð �Ø����ð	ð 	ð 	ð 	ðð r   ©rF   Nr8   )"r   r   r   rD   r   r;   Ú__annotations__r	   r   r>   rR   r[   r$   Úpropertyr   r_   r<   r'   r=   r+   ÚCallableOperatorrj   ÚUnparsedVersionÚParsedVersionrm   rJ   rK   r-   r@   ry   r4   r   r   r7   r   r   r   rC   rC   Z   s¸  € € € € € € à!#€J��S˜#�X”Ð#Ð#Ñ#Ø�CŒLÐÐÑð(ð (˜Sð (°H¸T´Nð (Èdð (ð (ð (ð (ðB˜#ð Bð Bð Bð Bð*˜ð *ð *ð *ð *ð ðB  s¨C x¤ð Bð Bð Bñ „XðBð*˜#ð *ð *ð *ð *ð	=˜Fð 	= tð 	=ð 	=ð 	=ð 	=ð! ð !Ð(8ð !ð !ð !ð !ð ð ¸=ð ð ð ð ð
 ð˜#ð ð ð ñ „Xðð ð˜ð ð ð ñ „Xðð ð!˜X dœ^ð !ð !ð !ñ „Xð!ð Ôð" ð "¨$ð "ð "ð "ñ Ôð"ð# ð #¨ð #ð #ð #ð #ð DHð@ð @Ø#ð@Ø2:¸4´.ð@à	ð@ð @ð @ð @ð0 QUð!ð !Ø  Ô0ð!Ø?GÈ¼~ð!à	�.Ô	!ð!ð !ð !ð !ð !ð !r   rC   c                   ó   ‡ — e Zd ZdZ ej        dez   dz   ej        ej        z  ¦  «        Zdddddd	d
œZ	dde
dee         ddfˆ fd„Zdedefd„Zdede
defd„Zdede
defd„Zdede
defd„Zdede
defd„Zdede
defd„Zdede
defd„Zˆ xZS )ÚLegacySpecifieraÛ  
        (?P<operator>(==|!=|<=|>=|<|>))
        \s*
        (?P<version>
            [^,;\s)]* # Since this is a "legacy" specifier, and the version
                      # string can be just about anything, we match everything
                      # except for whitespace, a semi-colon for marker support,
                      # a closing paren since versions can be enclosed in
                      # them, and a comma since it's a version separator.
        )
        ú^\s*ú\s*$ÚequalÚ	not_equalÚless_than_equalÚgreater_than_equalÚ	less_thanÚgreater_than)ú==ú!=ú<=ú>=rU   ú>rF   NrG   r-   r    c                 ó€   •— t          ¦   «                              ||¦  «         t          j        dt          ¦  «         d S )NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)ÚsuperrR   ÚwarningsÚwarnÚDeprecationWarning)r#   rG   r-   rX   s      €r   rR   zLegacySpecifier.__init__ü   sC   ø€ Ý‰Œ×Ò˜˜{Ñ+Ô+Ð+åŒð0åñ	
ô 	
ð 	
ð 	
ð 	
r   rK   c                 óh   — t          |t          ¦  «        st          t          |¦  «        ¦  «        }|S r8   )rc   r   r;   rl   s     r   rm   zLegacySpecifier._coerce_version  s,   € Ý˜'¥=Ñ1Ô1ð 	2Ý#¥C¨¡L¤LÑ1Ô1ˆGØˆr   Úprospectivec                 ó4   — ||                       |¦  «        k    S r8   ©rm   ©r#   r    rG   s      r   Ú_compare_equalzLegacySpecifier._compare_equal
  ó   € Ø˜d×2Ò2°4Ñ8Ô8Ò8Ð8r   c                 ó4   — ||                       |¦  «        k    S r8   r¢   r£   s      r   Ú_compare_not_equalz"LegacySpecifier._compare_not_equal  r¥   r   c                 ó4   — ||                       |¦  «        k    S r8   r¢   r£   s      r   Ú_compare_less_than_equalz(LegacySpecifier._compare_less_than_equal  r¥   r   c                 ó4   — ||                       |¦  «        k    S r8   r¢   r£   s      r   Ú_compare_greater_than_equalz+LegacySpecifier._compare_greater_than_equal  s   € ð ˜d×2Ò2°4Ñ8Ô8Ò8Ð8r   c                 ó4   — ||                       |¦  «        k     S r8   r¢   r£   s      r   Ú_compare_less_thanz"LegacySpecifier._compare_less_than  ó   € Ø˜T×1Ò1°$Ñ7Ô7Ò7Ð7r   c                 ó4   — ||                       |¦  «        k    S r8   r¢   r£   s      r   Ú_compare_greater_thanz%LegacySpecifier._compare_greater_than  r®   r   r…   )r   r   r   Ú
_regex_strÚreÚcompileÚVERBOSEÚ
IGNORECASErE   rD   r;   r   r>   rR   r‰   r   rm   r¤   r§   r©   r«   r­   r°   Ú__classcell__)rX   s   @r   rŒ   rŒ   ã   sÆ  ø€ € € € € ð
€Jð ˆRŒZ˜ *Ñ,¨wÑ6¸¼
ÀRÄ]Ñ8RÑSÔS€Fð ØØØ"ØØðð €Jð
ð 
˜Sð 
°H¸T´Nð 
Èdð 
ð 
ð 
ð 
ð 
ð 
ð ð ¸=ð ð ð ð ð
9¨-ð 9¸sð 9Àtð 9ð 9ð 9ð 9ð9¨mð 9À3ð 9È4ð 9ð 9ð 9ð 9ð9°Mð 9Èð 9ÐQUð 9ð 9ð 9ð 9ð9Ø(ð9Ø03ð9à	ð9ð 9ð 9ð 9ð
8¨mð 8À3ð 8È4ð 8ð 8ð 8ð 8ð8°ð 8Àcð 8Èdð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8r   rŒ   ÚfnÚ	Specifierr    c           	      óv   ‡ — t          j        ‰ ¦  «        dddt          dt          dt          fˆ fd„¦   «         }|S )Nr#   r¸   r    rG   r    c                 óL   •— t          |t          ¦  «        sdS  ‰| ||¦  «        S r|   )rc   r   )r#   r    rG   r·   s      €r   Úwrappedz)_require_version_compare.<locals>.wrapped"  s.   ø€ å˜+¥wÑ/Ô/ð 	Ø�5Øˆr�$˜ TÑ*Ô*Ð*r   )Ú	functoolsÚwrapsrŠ   r;   r>   )r·   r»   s   ` r   Ú_require_version_comparer¾     s[   ø€ õ „_�RÑÔð+�kð +µð +ÅSð +ÍTð +ð +ð +ð +ð +ñ Ôð+ð
 €Nr   c            	       óÆ  — e Zd ZdZ ej        dez   dz   ej        ej        z  ¦  «        Zdddddd	d
ddœZ	e
dededefd„¦   «         Ze
dededefd„¦   «         Ze
dededefd„¦   «         Ze
dededefd„¦   «         Ze
dededefd„¦   «         Ze
dededefd„¦   «         Ze
dededefd„¦   «         Zdededefd„Zedefd„¦   «         Zej        deddfd„¦   «         ZdS )r¸   a  
        (?P<operator>(~=|==|!=|<=|>=|<|>|===))
        (?P<version>
            (?:
                # The identity operators allow for an escape hatch that will
                # do an exact string match of the version you wish to install.
                # This will not be parsed by PEP 440 and we cannot determine
                # any semantic meaning from it. This operator is discouraged
                # but included entirely as an escape hatch.
                (?<====)  # Only match for the identity operator
                \s*
                [^\s]*    # We just match everything, except for whitespace
                          # since we are only testing for strict identity.
            )
            |
            (?:
                # The (non)equality operators allow for wild card and local
                # versions to be specified so we have to define these two
                # operators separately to enable that.
                (?<===|!=)            # Only match for equals and not equals

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)*   # release
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?

                # You cannot use a wild card and a dev or local version
                # together so group them with a | and make them optional.
                (?:
                    (?:[-_\.]?dev[-_\.]?[0-9]*)?         # dev release
                    (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local
                    |
                    \.\*  # Wild card syntax of .*
                )?
            )
            |
            (?:
                # The compatible operator requires at least two digits in the
                # release segment.
                (?<=~=)               # Only match for the compatible operator

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)+   # release  (We have a + instead of a *)
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?
                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
            )
            |
            (?:
                # All other operators only allow a sub set of what the
                # (non)equality operators do. Specifically they do not allow
                # local versions to be specified nor do they allow the prefix
                # matching wild cards.
                (?<!==|!=|~=)         # We have special cases for these
                                      # operators so we want to make sure they
                                      # don't match here.

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)*   # release
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?
                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
            )
        )
        r�   rŽ   Ú
compatibler�   r�   r‘   r’   r“   r”   Ú	arbitrary)ú~=r•   r–   r—   r˜   rU   r™   ú===r    rG   r    c           
      ó&  — d                      t          t          j        t          t          |¦  «        ¦  «        ¦  «        d d…         ¦  «        }|dz  } |                      d¦  «        ||¦  «        o |                      d¦  «        ||¦  «        S )Nú.éÿÿÿÿú.*r˜   r•   )ÚjoinÚlistÚ	itertoolsÚ	takewhileÚ_is_not_suffixÚ_version_splitrj   )r#   r    rG   Úprefixs       r   Ú_compare_compatiblezSpecifier._compare_compatible—  s—   € ð —’Ý•Ô$¥^µ^ÀDÑ5IÔ5IÑJÔJÑKÔKÈCÈRÈCÔPñ
ô 
ˆð
 	�$‰ˆà'ˆt×!Ò! $Ñ'Ô'¨°TÑ:Ô:ð 
Ð?W¸t×?QÒ?QÐRVÑ?WÔ?WØ˜ñ@
ô @
ð 	
r   c                 óz  — |                      d¦  «        rwt          |j        ¦  «        }t          |d d…         ¦  «        }t          t	          |¦  «        ¦  «        }|d t          |¦  «        …         }t          ||¦  «        \  }}||k    S t          |¦  «        }|j        st          |j        ¦  «        }||k    S )NrÇ   éþÿÿÿ)Úendswithr   ÚpublicrÍ   r;   ÚlenÚ_pad_versionÚlocal)	r#   r    rG   Ú
split_specÚsplit_prospectiveÚshortened_prospectiveÚpadded_specÚpadded_prospectiveÚspec_versions	            r   r¤   zSpecifier._compare_equal­  sÏ   € ð �=Š=˜ÑÔð "	/å! +Ô"4Ñ5Ô5ˆKõ (¨¨S¨b¨S¬	Ñ2Ô2ˆJõ
 !/­s°;Ñ/?Ô/?Ñ @Ô @Ðð
 %6Ð6G½¸J¹¼Ð6GÔ$HÐ!õ /;ØÐ1ñ/ô /Ñ+ˆKÐ+ð &¨Ò4Ð4õ # 4™=œ=ˆLð
  Ô%ð :Ý% kÔ&8Ñ9Ô9�à ,Ò.Ð.r   c                 ó0   — |                       ||¦  «         S r8   )r¤   r£   s      r   r§   zSpecifier._compare_not_equalÕ  s   € à×&Ò& {°DÑ9Ô9Ð9Ð9r   c                 óL   — t          |j        ¦  «        t          |¦  «        k    S r8   ©r   rÓ   r£   s      r   r©   z"Specifier._compare_less_than_equalÙ  s    € õ �{Ô)Ñ*Ô*­g°d©m¬mÒ;Ð;r   c                 óL   — t          |j        ¦  «        t          |¦  «        k    S r8   rß   r£   s      r   r«   z%Specifier._compare_greater_than_equalá  s    € õ �{Ô)Ñ*Ô*­g°d©m¬mÒ;Ð;r   Úspec_strc                 ó¨   — t          |¦  «        }||k     sdS |j        s3|j        r,t          |j        ¦  «        t          |j        ¦  «        k    rdS dS ©NFT)r   r}   Úbase_version©r#   r    rá   rG   s       r   r­   zSpecifier._compare_less_thanë  sg   € õ
 �xÑ Ô ˆð
 ˜TÒ!Ð!Ø�5ð Ô!ð 	 kÔ&?ð 	Ý�{Ô/Ñ0Ô0µG¸DÔ<MÑ4NÔ4NÒNÐNØ�uð
 ˆtr   c                 ó  — t          |¦  «        }||k    sdS |j        s3|j        r,t          |j        ¦  «        t          |j        ¦  «        k    rdS |j        �,t          |j        ¦  «        t          |j        ¦  «        k    rdS dS rã   )r   Úis_postreleaserä   rÖ   rå   s       r   r°   zSpecifier._compare_greater_than  s˜   € õ
 �xÑ Ô ˆð
 ˜TÒ!Ð!Ø�5ð Ô"ð 	 {Ô'Að 	Ý�{Ô/Ñ0Ô0µG¸DÔ<MÑ4NÔ4NÒNÐNØ�uð ÔÐ(Ý�{Ô/Ñ0Ô0µG¸DÔ<MÑ4NÔ4NÒNÐNØ�uð
 ˆtr   c                 óŠ   — t          |¦  «                             ¦   «         t          |¦  «                             ¦   «         k    S r8   )r;   Úlowerr£   s      r   Ú_compare_arbitraryzSpecifier._compare_arbitrary%  s1   € Ý�;ÑÔ×%Ò%Ñ'Ô'­3¨t©9¬9¯?ª?Ñ+<Ô+<Ò<Ð<r   c                 ó´   — | j         �| j         S | j        \  }}|dv r;|dk    r|                     d¦  «        r
|d d…         }t          |¦  «        j        rdS dS )N)r•   r˜   r—   rÂ   rÃ   r•   rÇ   rÑ   TF)rP   rO   rÒ   r   r}   )r#   rJ   rK   s      r   r-   zSpecifier.prereleases(  sz   € ð
 ÔÐ(ØÔ$Ð$ð
 !œJÑˆ�'ØÐ6Ð6Ð6ð ˜4ÒÐ G×$4Ò$4°TÑ$:Ô$:ÐØ! # 2 #œ,�õ �W‰~Œ~Ô+ð Ø�tàˆur   r.   Nc                 ó   — || _         d S r8   rs   r0   s     r   r-   zSpecifier.prereleasesA  ru   r   )r   r   r   r±   r²   r³   r´   rµ   rE   rD   r¾   rŠ   r;   r>   rÏ   r¤   r§   r©   r«   r­   r°   r   rê   r‡   r-   r@   r   r   r   r¸   r¸   +  sm  € € € € € ð[€Jðz ˆRŒZ˜ *Ñ,¨wÑ6¸¼
ÀRÄ]Ñ8RÑSÔS€Fð ØØØØ"ØØØð	ð 	€Jð ð
¨}ð 
ÀCð 
ÈDð 
ð 
ð 
ñ Ôð
ð* ð%/¨-ð %/¸sð %/Àtð %/ð %/ð %/ñ Ôð%/ðN ð:¨mð :À3ð :È4ð :ð :ð :ñ Ôð:ð ð<°Mð <Èð <ÐQUð <ð <ð <ñ Ôð<ð ð<Ø(ð<Ø03ð<à	ð<ð <ð <ñ Ôð<ð ð¨mð Àsð Ètð ð ð ñ Ôðð2 ð°ð È#ð ÐRVð ð ð ñ Ôðð>=¨gð =¸Sð =ÀTð =ð =ð =ð =ð ð˜Tð ð ð ñ „Xðð0 Ôð" ð "¨$ð "ð "ð "ñ Ôð"ð "ð "r   z^([0-9]+)((?:a|b|c|rc)[0-9]+)$rK   c                 óì   — g }|                       d¦  «        D ][}t                               |¦  «        }|r(|                     |                     ¦   «         ¦  «         ŒF|                     |¦  «         Œ\|S )NrÅ   )ÚsplitÚ_prefix_regexrL   ÚextendÚgroupsr€   )rK   Úresultr1   rQ   s       r   rÍ   rÍ   I  st   € Ø€FØ—’˜cÑ"Ô"ð  ð  ˆÝ×$Ò$ TÑ*Ô*ˆØð 	 Ø�MŠM˜%Ÿ,š,™.œ.Ñ)Ô)Ð)Ð)à�MŠM˜$ÑÔÐÐØ€Mr   Úsegmentc                 ó<   ‡ — t          ˆ fd„dD ¦   «         ¦  «         S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r8   )Ú
startswith)Ú.0rÎ   ró   s     €r   ú	<genexpr>z!_is_not_suffix.<locals>.<genexpr>U  sB   øè è € ð ð Ø'-ˆ×Ò˜6Ñ"Ô"ðð ð ð ð ð r   )ÚdevÚaÚbÚrcÚpost)Úany)ró   s   `r   rÌ   rÌ   T  s@   ø€ Ýð ð ð ð Ø1Pðñ ô ñ ô ð ð r   ÚleftÚrightc                 óR  — g g }}|                      t          t          j        d„ | ¦  «        ¦  «        ¦  «         |                      t          t          j        d„ |¦  «        ¦  «        ¦  «         |                      | t	          |d         ¦  «        d …         ¦  «         |                      |t	          |d         ¦  «        d …         ¦  «         |                     ddgt          dt	          |d         ¦  «        t	          |d         ¦  «        z
  ¦  «        z  ¦  «         |                     ddgt          dt	          |d         ¦  «        t	          |d         ¦  «        z
  ¦  «        z  ¦  «         t          t          j        |Ž ¦  «        t          t          j        |Ž ¦  «        fS )Nc                 ó*   — |                       ¦   «         S r8   ©Úisdigit©Úxs    r   ú<lambda>z_pad_version.<locals>.<lambda>^  s   € ¸¿º¹¼€ r   c                 ó*   — |                       ¦   «         S r8   r  r  s    r   r  z_pad_version.<locals>.<lambda>_  s   € ¸!¿)º)¹+¼+€ r   r   r   Ú0)r€   rÉ   rÊ   rË   rÔ   ÚinsertÚmaxÚchain)rÿ   r   Ú
left_splitÚright_splits       r   rÕ   rÕ   Z  sr  € Ø  "�€Jð ×Ò•d�9Ô.Ð/DÐ/DÀdÑKÔKÑLÔLÑMÔMÐMØ×Ò•t�IÔ/Ð0EÐ0EÀuÑMÔMÑNÔNÑOÔOÐOð ×Ò�d�3˜z¨!œ}Ñ-Ô-Ð/Ð/Ô0Ñ1Ô1Ð1Ø×Ò�u�S ¨Q¤Ñ0Ô0Ð2Ð2Ô3Ñ4Ô4Ð4ð ×Ò�a˜#˜¥ Q­¨K¸¬NÑ(;Ô(;½cÀ*ÈQÄ-Ñ>PÔ>PÑ(PÑ!QÔ!QÑQÑRÔRÐRØ×Ò�q˜3˜%¥# a­¨Z¸¬]Ñ);Ô);½cÀ+ÈaÄ.Ñ>QÔ>QÑ)QÑ"RÔ"RÑRÑSÔSÐSå•” *Ð-Ñ.Ô.µµY´_ÀkÐ5RÑ0SÔ0SÐTÐTr   c                   ól  — e Zd Z	 ddedee         ddfd„Zdefd„Zdefd„Zde	fd	„Z
d
ed ef         dd fd„Zd
edefd„Zde	fd„Zdee         fd„Zedee         fd„¦   «         Zej        deddfd„¦   «         Zdedefd„Z	 ddedee         defd„Z	 ddee         dee         dee         fd„ZdS )ÚSpecifierSetrF   NÚ
specifiersr-   r    c                 óJ  — d„ |                      d¦  «        D ¦   «         }t          ¦   «         }|D ]W}	 |                     t          |¦  «        ¦  «         Œ&# t          $ r% |                     t          |¦  «        ¦  «         Y ŒTw xY wt          |¦  «        | _        || _        d S )Nc                 ó^   — g | ]*}|                      ¦   «         ¯|                      ¦   «         ‘Œ+S r   )rN   ©r÷   Úss     r   ú
<listcomp>z)SpecifierSet.__init__.<locals>.<listcomp>s  s-   € ÐRÐRÐR¨!ÈÏÊÉ	Ì	ÐR˜AŸGšG™IœIÐRÐRÐRr   ú,)	rî   ÚsetÚaddr¸   r   rŒ   Ú	frozensetÚ_specsrP   )r#   r  r-   Úsplit_specifiersÚparsedÚ	specifiers         r   rR   zSpecifierSet.__init__m  s¿   € ð SÐR¨z×/?Ò/?ÀÑ/DÔ/DÐRÑRÔRÐõ -0©E¬EˆØ)ð 	7ð 	7ˆIð7Ø—
’
�9 YÑ/Ô/Ñ0Ô0Ð0Ð0øÝ#ð 7ð 7ð 7Ø—
’
�?¨9Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6ð7øøøõ   Ñ'Ô'ˆŒð (ˆÔÐÐs   ³"AÁ,BÂBc                 óR   — | j         �
d| j        ›�nd}dt          | ¦  «        ›|› d�S )NrT   rF   z<SpecifierSet(rW   )rP   r-   r;   rY   s     r   r[   zSpecifierSet.__repr__…  sF   € ð Ô Ð,ð 2˜TÔ-Ð1Ð1Ð1àð 	ð 5¥ D¡	¤	Ð4¨SÐ4Ð4Ð4Ð4r   c                 ód   — d                      t          d„ | j        D ¦   «         ¦  «        ¦  «        S )Nr  c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r8   )r;   r  s     r   rø   z'SpecifierSet.__str__.<locals>.<genexpr>�  s(   è è € Ð;Ð;¨!�s 1™vœvÐ;Ð;Ð;Ð;Ð;Ð;r   )rÈ   Úsortedr  r"   s    r   r$   zSpecifierSet.__str__Ž  s-   € Ø�xŠx�Ð;Ð;¨t¬{Ð;Ñ;Ô;Ñ;Ô;Ñ<Ô<Ð<r   c                 ó*   — t          | j        ¦  «        S r8   )ra   r  r"   s    r   r'   zSpecifierSet.__hash__‘  ó   € Ý�D”KÑ Ô Ð r   r(   c                 óª  — t          |t          ¦  «        rt          |¦  «        }nt          |t          ¦  «        st          S t          ¦   «         }t	          | j        |j        z  ¦  «        |_        | j        €|j        �|j        |_        nG| j        �|j        €| j        |_        n,| j        |j        k    r| j        |_        nt          d¦  «        ‚|S )NzFCannot combine SpecifierSets with True and False prerelease overrides.)rc   r;   r  rd   r  r  rP   Ú
ValueError)r#   r(   r  s      r   Ú__and__zSpecifierSet.__and__”  sÙ   € Ý�e�SÑ!Ô!ð 	"Ý  Ñ'Ô'ˆEˆEÝ˜E¥<Ñ0Ô0ð 	"Ý!Ð!å ‘N”Nˆ	Ý$ T¤[°5´<Ñ%?Ñ@Ô@ˆ	ÔàÔÐ$¨Ô);Ð)GØ%*Ô%7ˆIÔ"Ð"ØÔÐ*¨uÔ/AÐ/IØ%)Ô%6ˆIÔ"Ð"ØÔ %Ô"4Ò4Ð4Ø%)Ô%6ˆIÔ"Ð"åðñô ð ð
 Ðr   c                 óÌ   — t          |t          t          f¦  «        rt          t          |¦  «        ¦  «        }nt          |t          ¦  «        st          S | j        |j        k    S r8   )rc   r;   rC   r  rd   r  r*   s     r   r+   zSpecifierSet.__eq__«  sV   € Ý�e�cÕ#7Ð8Ñ9Ô9ð 	"Ý ¥ U¡¤Ñ,Ô,ˆEˆEÝ˜E¥<Ñ0Ô0ð 	"Ý!Ð!àŒ{˜eœlÒ*Ð*r   c                 ó*   — t          | j        ¦  «        S r8   )rÔ   r  r"   s    r   Ú__len__zSpecifierSet.__len__³  s   € Ý�4”;ÑÔÐr   c                 ó*   — t          | j        ¦  «        S r8   )Úiterr  r"   s    r   Ú__iter__zSpecifierSet.__iter__¶  r$  r   c                 ól   — | j         �| j         S | j        sd S t          d„ | j        D ¦   «         ¦  «        S )Nc              3   ó$   K  — | ]}|j         V — Œd S r8   ©r-   r  s     r   rø   z+SpecifierSet.prereleases.<locals>.<genexpr>É  s$   è è € Ð6Ð6 Q�1”=Ð6Ð6Ð6Ð6Ð6Ð6r   )rP   r  rþ   r"   s    r   r-   zSpecifierSet.prereleases¹  sH   € ð
 ÔÐ(ØÔ$Ð$ð
 Œ{ð 	Ø�4õ Ð6Ð6¨$¬+Ð6Ñ6Ô6Ñ6Ô6Ð6r   r.   c                 ó   — || _         d S r8   rs   r0   s     r   r-   zSpecifierSet.prereleasesË  ru   r   r1   c                 ó,   — |                       |¦  «        S r8   rw   rx   s     r   ry   zSpecifierSet.__contains__Ï  rz   r   c                 óÆ   ‡‡— t          ‰t          t          f¦  «        st          ‰¦  «        Š‰€| j        Š‰s	‰j        rdS t          ˆˆfd„| j        D ¦   «         ¦  «        S )NFc              3   óF   •K  — | ]}|                      ‰‰¬ ¦  «        V — ŒdS )r0  Nrw   )r÷   r  r1   r-   s     €€r   rø   z(SpecifierSet.contains.<locals>.<genexpr>í  s3   øè è € ÐRÐRÀ�1—:’:˜d°�:Ñ<Ô<ÐRÐRÐRÐRÐRÐRr   )rc   r   r   r   r-   r}   Úallr  r3   s    ``r   r4   zSpecifierSet.containsÒ  s{   øø€ õ
 ˜$¥µÐ 8Ñ9Ô9ð 	Ý˜‘;”;ˆDð
 ÐØÔ*ˆKð ð 	˜tÔ1ð 	Ø�5õ ÐRÐRÐRÐRÐRÀdÄkÐRÑRÔRÑRÔRÐRr   r5   c                 óœ  — |€| j         }| j        r0| j        D ]&}|                     |t          |¦  «        ¬¦  «        }Œ'|S g }g }|D ]|}t	          |t
          t          f¦  «        st          |¦  «        }n|}t	          |t
          ¦  «        rŒF|j        r|s|s| 	                    |¦  «         Œg| 	                    |¦  «         Œ}|s|r|€|S |S )Nr0  )
r-   r  r7   r>   rc   r   r   r   r}   r€   )r#   r5   r-   rG   Úfilteredr‚   r1   r„   s           r   r7   zSpecifierSet.filterï  s  € ð ÐØÔ*ˆKð
 Œ;ð &	Øœð Pð P�ØŸ;š; x½TÀ+Ñ=NÔ=N˜;ÑOÔO��ØˆOð
 .0ˆHØ68Ðð
 !ð *ð *�å! $­½Ð(@ÑAÔAð *Ý%*¨4¡[¤[�N�Nà%)�Nõ ˜n­mÑ<Ô<ð Øð "Ô/ð *¸ð *Ø#ð 7Ø)×0Ò0°Ñ6Ô6Ð6øà—O’O DÑ)Ô)Ð)Ð)ð ð )Ð 1ð )°kÐ6IØ(Ð(àˆOr   r…   r8   )r   r   r   r;   r   r>   rR   r[   r$   r<   r'   r   r'  r=   r+   r*  r   rC   r-  r‡   r-   r@   r‰   ry   r4   r   r   r7   r   r   r   r  r  l  s0  € € € € € àBFð(ð (Øð(Ø19¸$´ð(à	ð(ð (ð (ð (ð05˜#ð 5ð 5ð 5ð 5ð=˜ð =ð =ð =ð =ð!˜#ð !ð !ð !ð !ð˜U >°3Ð#6Ô7ð ¸Nð ð ð ð ð.+˜Fð + tð +ð +ð +ð +ð ˜ð  ð  ð  ð  ð!˜(Ð#7Ô8ð !ð !ð !ð !ð ð7˜X dœ^ð 7ð 7ð 7ñ „Xð7ð" Ôð" ð "¨$ð "ð "ð "ñ Ôð"ð# ð #°Tð #ð #ð #ð #ð DHðSð SØ#ðSØ2:¸4´.ðSà	ðSð Sð Sð Sð< QUð3ð 3Ø  Ô0ð3Ø?GÈ¼~ð3à	�.Ô	!ð3ð 3ð 3ð 3ð 3ð 3r   r  )+r9   r¼   rÊ   r²   rœ   Útypingr   r   r   r   r   r   r	   r
   r   r   r   Úutilsr   rK   r   r   r   rŠ   r;   r‰   r   r>   rˆ   r&  r   ÚABCMetar   rC   rŒ   r¾   r¸   r³   rï   rÍ   rÌ   rÕ   r  r   r   r   ú<module>r;     sQ  ðð
 €
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð (Ð 'Ð 'Ð 'Ð 'Ð 'Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à�g˜}Ð,Ô-€Ø˜ °Ð3Ô4€Ø�Ð)°ÐAÑAÔA€Ø˜]¨CÐ0°$Ð6Ô7Ð ðð ð ð ð �zñ ô ð ð0ð 0ð 0ð 0ð 0˜cœkð 0ñ 0ô 0ð 0ðfFð Fð Fð Fð F˜=ñ Fô Fð FðR98ð 98ð 98ð 98ð 98Ð*ñ 98ô 98ð 98ðx	Ø�+˜}¨cÐ2°DÐ8Ô9ð	àˆ{˜M¨3Ð/°Ð5Ô6ð	ð 	ð 	ð 	ðX"ð X"ð X"ð X"ð X"Ð$ñ X"ô X"ð X"ðv �”
Ð<Ñ=Ô=€ð˜Cð  D¨¤Ið ð ð ð ð˜Cð  Dð ð ð ð ðU�t˜C”yð U¨¨c¬ð U°u¸TÀ#¼YÈÈSÌ	Ð=QÔ7Rð Uð Uð Uð Uð$vð vð vð vð v�=ñ vô vð vð vð vr   