
    Mh
@              	         S SK Jr  S SKrS SKJr  S SKrS SKrS SKJrJ	r	J
r
Jr  S SKr/ SQr " S S5      r\" 5       r " S S	5      r\" 5       r\\\4   r\\\\\4   4   r\\\\4   r\\\\\\\\4   \\\4   4   S
4   4   r\\\\S
4   \\\\4   r\\\\S
4   4   r\\\\4   \\\4   /\4   r\R:                  " S/ SQ5      rS"S jr " S S\ 5      r! " S S5      r" " S S\"5      r#\RH                  " S\RJ                  5      r&SSSSSS.r'S#S jr(S$S jr)Sr* " S S\"5      r+      S%S jr,\RH                  " S5      r-S&S  jr.              S'S! jr/g)(    )annotationsN)Iterator)CallableSupportsIntTupleUnion)parseVersionLegacyVersionInvalidVersionVERSION_PATTERNc                  n    \ rS rSrSS jrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSrg)InfinityType   c                    g)NInfinity selfs    N/var/www/html/env/lib/python3.13/site-packages/pandas/util/version/__init__.py__repr__InfinityType.__repr__   s        c                *    [        [        U 5      5      $ Nhashreprr   s    r   __hash__InfinityType.__hash__       DJr   c                    gNFr   r   others     r   __lt__InfinityType.__lt__        r   c                    gr#   r   r$   s     r   __le__InfinityType.__le__#   r(   r   c                ,    [        U[        U 5      5      $ r   
isinstancetyper$   s     r   __eq__InfinityType.__eq__&       %d,,r   c                6    [        U[        U 5      5      (       + $ r   r-   r$   s     r   __ne__InfinityType.__ne__)       eT$Z000r   c                    gNTr   r$   s     r   __gt__InfinityType.__gt__,       r   c                    gr8   r   r$   s     r   __ge__InfinityType.__ge__/   r;   r   c                    [         $ r   )NegativeInfinityr   s    r   __neg__InfinityType.__neg__2   s    r   r   NreturnstrrD   intr%   objectrD   bool)r   rI   rD   NegativeInfinityType__name__
__module____qualname____firstlineno__r   r   r&   r*   r0   r4   r9   r=   rA   __static_attributes__r   r   r   r   r      s/     -1 r   r   c                  n    \ rS rSrSS jrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSrg)rK   9   c                    g)Nz	-Infinityr   r   s    r   r   NegativeInfinityType.__repr__:   s    r   c                *    [        [        U 5      5      $ r   r   r   s    r   r   NegativeInfinityType.__hash__=   r!   r   c                    gr8   r   r$   s     r   r&   NegativeInfinityType.__lt__@   r;   r   c                    gr8   r   r$   s     r   r*   NegativeInfinityType.__le__C   r;   r   c                ,    [        U[        U 5      5      $ r   r-   r$   s     r   r0   NegativeInfinityType.__eq__F   r2   r   c                6    [        U[        U 5      5      (       + $ r   r-   r$   s     r   r4   NegativeInfinityType.__ne__I   r6   r   c                    gr#   r   r$   s     r   r9   NegativeInfinityType.__gt__L   r(   r   c                    gr#   r   r$   s     r   r=   NegativeInfinityType.__ge__O   r(   r   c                    [         $ r   )r   r   s    r   rA   NegativeInfinityType.__neg__R   s    r   r   NrC   rF   rH   )r   rI   rD   r   rL   r   r   r   rK   rK   9   s/     -1r   rK   ._Version)epochreleasedevprepostlocalc                P     [        U 5      $ ! [         a    [        U 5      s $ f = f)z
Parse the given version string and return either a :class:`Version` object
or a :class:`LegacyVersion` object depending on if the given version is
a valid PEP 440 version or a legacy version.
)r
   r   r   )versions    r   r	   r	   t   s,    &w &W%%&s   
 %%c                      \ rS rSrSrSrg)r      z
An invalid version was found, users should refer to PEP 440.

Examples
--------
>>> pd.util.version.Version('1.')
Traceback (most recent call last):
InvalidVersion: Invalid version: '1.'
r   N)rM   rN   rO   rP   __doc__rQ   r   r   r   r   r      s    r   r   c                  f    \ rS rSr% S\S'   SS jrSS jrSS jrSS jrSS jr	SS	 jr
SS
 jrSrg)_BaseVersion   zCmpKey | LegacyCmpKey_keyc                ,    [        U R                  5      $ r   )r   ru   r   s    r   r   _BaseVersion.__hash__   s    DIIr   c                j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   r.   rs   NotImplementedru   r$   s     r   r&   _BaseVersion.__lt__   (    %..!!yy5::%%r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :*  $ r   ry   r$   s     r   r*   _BaseVersion.__le__   (    %..!!yyEJJ&&r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r   ry   r$   s     r   r0   _BaseVersion.__eq__   r   r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   ry   r$   s     r   r=   _BaseVersion.__ge__   r   r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   ry   r$   s     r   r9   _BaseVersion.__gt__   r|   r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :g  $ r   ry   r$   s     r   r4   _BaseVersion.__ne__   r   r   r   NrF   )r%   rs   rD   rJ   rH   )rM   rN   rO   rP   __annotations__r   r&   r*   r0   r=   r9   r4   rQ   r   r   r   rs   rs      s+    
&'''&'r   rs   c                     \ rS rSrSS jrSS jrSS jr\SS j5       r\SS j5       r	\SS j5       r
\SS j5       r\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       rSrg)r      c                    [        U5      U l        [        U R                  5      U l        [        R
                  " S[        5        g )Nz[Creating a LegacyVersion has been deprecated and will be removed in the next major release.)rE   _version_legacy_cmpkeyru   warningswarnDeprecationWarning)r   rn   s     r   __init__LegacyVersion.__init__   s1    G"4==1	1	
r   c                    U R                   $ r   r   r   s    r   __str__LegacyVersion.__str__   s    }}r   c                    SU  S3$ )Nz<LegacyVersion('')>r   r   s    r   r   LegacyVersion.__repr__   s    !$s++r   c                    U R                   $ r   r   r   s    r   publicLegacyVersion.public       }}r   c                    U R                   $ r   r   r   s    r   base_versionLegacyVersion.base_version   r   r   c                    g)Nr   r   s    r   rg   LegacyVersion.epoch   s    r   c                    g r   r   r   s    r   rh   LegacyVersion.release       r   c                    g r   r   r   s    r   rj   LegacyVersion.pre   r   r   c                    g r   r   r   s    r   rk   LegacyVersion.post   r   r   c                    g r   r   r   s    r   ri   LegacyVersion.dev   r   r   c                    g r   r   r   s    r   rl   LegacyVersion.local   r   r   c                    gr#   r   r   s    r   is_prereleaseLegacyVersion.is_prerelease       r   c                    gr#   r   r   s    r   is_postreleaseLegacyVersion.is_postrelease   r   r   c                    gr#   r   r   s    r   is_devreleaseLegacyVersion.is_devrelease   r   r   ru   r   Nrn   rE   rD   NonerC   rF   )rD   r   rD   rJ   )rM   rN   rO   rP   r   r   r   propertyr   r   rg   rh   rj   rk   ri   rl   r   r   r   rQ   r   r   r   r   r      s    
,                      r   r   z(\d+ | [a-z]+ | \.| -)czfinal-@)rj   preview-rcri   c              #     #    [         R                  U 5       HL  n[        R                  X5      nU(       a  US:X  a  M'  US S S;   a  UR	                  S5      v   ME  SU-   v   MN     Sv   g 7f)N.   
0123456789   **final)_legacy_version_component_resplit_legacy_version_replacement_mapgetzfill)spartmapped_parts      r   _parse_version_partsr     sh     ,2215599$EkS0r?l*##A&&## 6 Ns   A+A-c                   Sn/ n[        U R                  5       5       H  nUR                  S5      (       aj  US:  a2  U(       a+  US   S:X  a"  UR                  5         U(       a  US   S:X  a  M"  U(       a+  US   S:X  a"  UR                  5         U(       a  US   S:X  a  M"  UR	                  U5        M     U[        U5      4$ )Nr   r   r   z*final-00000000)r   lower
startswithpopappendtuple)rn   rg   partsr   s       r   r   r     s    
 E E$W]]_5??3hb	Y 6IIK b	Y 6 E"I3		 E"I3 	T 6 %,r   a  
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c                     \ rS rSr\R
                  " S\-   S-   \R                  \R                  -  5      r	SS jr
SS jrSS jr\SS j5       r\SS j5       r\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       rSrg)r
   iP  z^\s*z\s*$c                   U R                   R                  U5      nU(       d  [        SU S35      e[        UR	                  S5      (       a  [        UR	                  S5      5      OS[        S UR	                  S5      R                  S5       5       5      [        UR	                  S5      UR	                  S	5      5      [        UR	                  S
5      UR	                  S5      =(       d    UR	                  S5      5      [        UR	                  S5      UR	                  S5      5      [        UR	                  S5      5      S9U l
        [        U R                  R                  U R                  R                  U R                  R                  U R                  R                  U R                  R                   U R                  R"                  5      U l        g )NzInvalid version: ''rg   r   c              3  8   #    U  H  n[        U5      v   M     g 7fr   )rG   .0is     r   	<genexpr>#Version.__init__.<locals>.<genexpr>\  s     L*KQ#a&&*Ks   rh   r   pre_lpre_npost_lpost_n1post_n2dev_ldev_nrl   )rg   rh   rj   rk   ri   rl   )_regexsearchr   rf   grouprG   r   r   _parse_letter_version_parse_local_versionr   _cmpkeyrg   rh   rj   rk   ri   rl   ru   )r   rn   matchs      r   r   Version.__init__S  sS   ""7+ #5gYa!@AA !/4{{7/C/C#ekk'*+L%++i*@*F*Fs*KLL%ekk'&:EKK<PQ&H%u{{9'='WYAW &ekk'&:EKK<PQ&u{{7';<	
 MMMM!!MMMMMMMM
	r   c                    SU  S3$ )Nz
<Version('r   r   r   s    r   r   Version.__repr__o  s    D6%%r   c           
        / nU R                   S:w  a  UR                  U R                    S35        UR                  SR                  U R                   Vs/ s H  n[	        U5      PM     sn5      5        U R
                  bD  UR                  SR                  U R
                   Vs/ s H  n[	        U5      PM     sn5      5        U R                  b  UR                  SU R                   35        U R                  b  UR                  SU R                   35        U R                  b  UR                  SU R                   35        SR                  U5      $ s  snf s  snf )Nr   !r    z.postz.dev+)	rg   r   joinrh   rE   rj   rk   ri   rl   r   r   xs      r   r   Version.__str__r  s    ::?LLDJJ<q)* 	SXXt||<|!s1v|<=> 88LL$((!;(Q#a&(!;<= 99 LL5,- 88LL4z*+ ::!LL1TZZL)*wwu~% = "<s   E&Ec                2    U R                   R                  nU$ r   )r   rg   )r   _epochs     r   rg   Version.epoch  s    mm))r   c                2    U R                   R                  nU$ r   )r   rh   )r   _releases     r   rh   Version.release  s    $(MM$9$9r   c                2    U R                   R                  nU$ r   )r   rj   )r   _pres     r   rj   Version.pre  s    '+}}'8'8r   c                n    U R                   R                  (       a  U R                   R                  S   $ S $ Nr   )r   rk   r   s    r   rk   Version.post  s(    (,(:(:t}}!!!$DDr   c                n    U R                   R                  (       a  U R                   R                  S   $ S $ r  )r   ri   r   s    r   ri   Version.dev  s(    '+}}'8'8t}}  #BdBr   c                    U R                   R                  (       a?  SR                  U R                   R                   Vs/ s H  n[        U5      PM     sn5      $ g s  snf )Nr   )r   rl   r   rE   )r   r   s     r   rl   Version.local  sF    ==88T]]-@-@A-@SV-@ABB Bs   Ac                >    [        U 5      R                  SS5      S   $ )Nr   r   r   )rE   r   r   s    r   r   Version.public  s    4ysA&q))r   c           
        / nU R                   S:w  a  UR                  U R                    S35        UR                  SR                  U R                   Vs/ s H  n[	        U5      PM     sn5      5        SR                  U5      $ s  snf )Nr   r   r   r   )rg   r   r   rh   rE   r   s      r   r   Version.base_version  sl     ::?LLDJJ<q)* 	SXXt||<|!s1v|<=>wwu~ =s   Bc                H    U R                   S L=(       d    U R                  S L$ r   )ri   rj   r   s    r   r   Version.is_prerelease  s    xxt#;txxt';;r   c                    U R                   S L$ r   )rk   r   s    r   r   Version.is_postrelease  s    yy$$r   c                    U R                   S L$ r   )ri   r   s    r   r   Version.is_devrelease  s    xxt##r   c                V    [        U R                  5      S:  a  U R                  S   $ S$ )Nr   r   lenrh   r   s    r   majorVersion.major  %    "%dll"3q"8t||A?a?r   c                V    [        U R                  5      S:  a  U R                  S   $ S$ )N   r   r   r  r   s    r   minorVersion.minor  r  r   c                V    [        U R                  5      S:  a  U R                  S   $ S$ )N   r  r   r  r   s    r   microVersion.micro  r  r   r   Nr   rC   rF   )rD   tuple[int, ...])rD   tuple[str, int] | None)rD   z
int | None)rD   z
str | Noner   )rM   rN   rO   rP   recompiler   VERBOSE
IGNORECASEr   r   r   r   r   rg   rh   rj   rk   ri   rl   r   r   r   r   r   r  r  r#  rQ   r   r   r   r
   r
   P  sZ   ZZ/1G;RZZ"--=WXF
8&8       E E C C   * * 
 
 < < % % $ $ @ @ @ @ @ @r   r
   c                    U (       aE  Uc  SnU R                  5       n U S:X  a  Sn OU S:X  a  Sn OU S;   a  Sn OU S;   a  S	n U [        U5      4$ U (       d  U(       a  S	n U [        U5      4$ g )
Nr   alphaabetab)r   rj   r   r   )revrrk   )r   rG   )letternumbers     r   r   r     s      >F 
 WFvF..F|#Fs6{""f s6{""r   z[\._-]c                T    U b%  [        S [        R                  U 5       5       5      $ g)zJ
Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
Nc              3     #    U  H5  nUR                  5       (       d  UR                  5       O
[        U5      v   M7     g 7fr   )isdigitr   rG   )r   r   s     r   r   '_parse_local_version.<locals>.<genexpr>  s0      
> !%DJJLCI=>s   =?)r   _local_version_separatorsr   )rl   s    r   r   r     s4      
177>
 
 	
 r   c                $   [        [        [        [        R                  " S [        U5      5      5      5      5      nUc  Uc
  Ub  [
        nOUc  [        nOUnUc  [
        nOUnUc  [        n	OUn	Uc  [
        n
O[        S U 5       5      n
XXxX4$ )Nc                    U S:H  $ )Nr   r   )r   s    r   <lambda>_cmpkey.<locals>.<lambda>  s    AFr   c              3  d   #    U  H&  n[        U[        5      (       a  US 4O[        U4v   M(     g7f)r   N)r.   rG   r@   r   s     r   r   _cmpkey.<locals>.<genexpr>?  s.      
NSz!S))QG0@!/DDes   .0)r   reversedlist	itertools	dropwhiler@   r   )rg   rh   rj   rk   ri   rl   r  r  _post_dev_locals              r   r   r     s     i))*:HW<MNOPH {t|/ 
 | 0  {' },  
NS
 
 D55r   )rn   rE   rD   zLegacyVersion | Version)r   rE   rD   zIterator[str])rn   rE   rD   LegacyCmpKey)r2  rE   r3  zstr | bytes | SupportsIntrD   r&  )rl   rE   rD   zLocalType | None)rg   rG   rh   r%  rj   r&  rk   r&  ri   r&  rl   ztuple[SubLocalType] | NonerD   CmpKey)0
__future__r   collectionscollections.abcr   rA  r'  typingr   r   r   r   r   __all__r   r   rK   r@   InfiniteTypesr   rE   rG   PrePostDevTypeSubLocalType	LocalTyperG  rF  rJ   VersionComparisonMethod
namedtuplerf   r	   
ValueErrorr   rs   r   r(  r)  r   r   r   r   r   r
   r   r8  r   r   r   r   r   <module>rT     sT   #  $  	  
T   : > : ()  l$889}eCHo56]C,-	,#$&457	

 		
	 
sCx...)S
 S%S/)*"
6< %(<"=>D  !!C
	&	Z 	+' +'\;L ;|  "zz*CRZZP  	
# "8@C@l C@L  2  F JJy1 	;6;6;6 
 ;6 !	;6
 
 ;6 &;6 ;6r   