
    hI                     b    S SK Jr  SSKJr  SSKJrJr  \\" SSSSS9 " S S	5      5       5       rg
)    )total_ordering   )astuple)attribattrsFT)eqorderslotsfrozenc                   j    \ rS rSrSr\" \S9r\" \S9r\" \S9r	\" \
S9r\S 5       rS rS rS rSrg	)
VersionInfo
   a[  
A version object that can be compared to tuple of length 1--4:

>>> attr.VersionInfo(19, 1, 0, "final")  <= (19, 2)
True
>>> attr.VersionInfo(19, 1, 0, "final") < (19, 1, 1)
True
>>> vi = attr.VersionInfo(19, 2, 0, "final")
>>> vi < (19, 1, 1)
False
>>> vi < (19,)
False
>>> vi == (19, 2,)
True
>>> vi == (19, 2, 1)
False

.. versionadded:: 19.2
)typec                     UR                  S5      n[        U5      S:X  a  UR                  S5        U " [        US   5      [        US   5      [        US   5      US   S9$ )z&
Parse *s* and return a _VersionInfo.
.   finalr   r      )yearminormicroreleaselevel)splitlenappendint)clssvs      D/var/www/html/env/lib/python3.13/site-packages/attr/_version_info.py_from_version_string VersionInfo._from_version_string&   sZ    
 GGCLq6Q;HHWQqT#ad)3qt91Q4
 	
    c                     U R                   UR                   L a  [        U5      n[        U[        5      (       d  [        eS[        U5      s=::  a  S::  d   [        e  [        e[        U 5      S[        U5       U4$ )z
Ensure *other* is a tuple of a valid length.

Returns a possibly transformed *other* and ourselves as a tuple of
the same length as *other*.
r      N)	__class__r   
isinstancetupleNotImplementedErrorr   )selfothers     r    _ensure_tupleVersionInfo._ensure_tuple3   sl     >>U__,ENE%''%%SZ$1$%% %%%t}\s5z*E11r#   c                 ^     U R                  U5      u  p#X#:H  $ ! [         a	    [        s $ f = fNr,   r)   NotImplementedr*   r+   usthems       r    __eq__VersionInfo.__eq__F   s:    	"))%0HB z # 	"!!	"    ,,c                 ^     U R                  U5      u  p#X#:  $ ! [         a	    [        s $ f = fr/   r0   r2   s       r    __lt__VersionInfo.__lt__N   s:    	"))%0HB y # 	"!!	"r7    N)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   strr   classmethodr!   r,   r5   r9   __static_attributes__r;   r#   r    r   r   
   sR    ( sDEEs#L

 

2&r#   r   N)	functoolsr   _funcsr   _maker   r   r   r;   r#   r    <module>rG      s?    %    %uD6J J 7 Jr#   