JFIF$        dd7 

Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/attr/__pycache__/_cmp.cpython-311.pyc

�

���L�{G���`�ddlZddlZddlmZdddddd	�Z							dd�Zd
�Zd�Zd�Zd�Z	dS)�N�)�_make_nez==�<z<=�>z>=)�eq�lt�le�gt�geT�
Comparablec�N�
�dgt��gtd��
d}d}|�&d}td|���
d<t���
d	<|�|d
z
}td|���
d<|�|d
z
}td
|���
d<|�|d
z
}td|���
d<|�|d
z
}td|���
d<t	j|tfi�
fd���}	|r|	j�t��d|cxkrdkr(nn%|std���tj|	��}	|	S)a�
    Create a class that can be passed into `attrs.field`'s ``eq``, ``order``,
    and ``cmp`` arguments to customize field comparison.

    The resulting class will have a full set of ordering methods if at least
    one of ``{lt, le, gt, ge}`` and ``eq``  are provided.

    :param Optional[callable] eq: `callable` used to evaluate equality of two
        objects.
    :param Optional[callable] lt: `callable` used to evaluate whether one
        object is less than another object.
    :param Optional[callable] le: `callable` used to evaluate whether one
        object is less than or equal to another object.
    :param Optional[callable] gt: `callable` used to evaluate whether one
        object is greater than another object.
    :param Optional[callable] ge: `callable` used to evaluate whether one
        object is greater than or equal to another object.

    :param bool require_same_type: When `True`, equality and ordering methods
        will return `NotImplemented` if objects are not of the same type.

    :param Optional[str] class_name: Name of class. Defaults to 'Comparable'.

    See `comparison` for more details.

    .. versionadded:: 21.1.0
    �value)�	__slots__�__init__�
_requirements�_is_comparable_torFNTr�__eq__�__ne__rr�__lt__r	�__le__r
�__gt__r�__ge__c�.��|����S�N)�update)�ns�bodys ��i/builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib/python3.11/site-packages/attr/_cmp.py�<lambda>zcmp_using.<locals>.<lambda>Ss���b�i�i��o�o���zDeq must be define is order to complete ordering from lt, le, gt, ge.)
�
_make_initr�_make_operatorr�types�	new_class�objectr�append�_check_same_type�
ValueError�	functools�total_ordering)rrr	r
r�require_same_type�
class_name�num_order_functions�has_eq_function�type_rs          @r�	cmp_usingr1
s����L�Y��L�L��.�	��D����O�	�~���'��b�1�1��X��!����X��	�~��q� ��'��b�1�1��X��	�~��q� ��'��b�1�1��X��	�~��q� ��'��b�1�1��X��	�~��q� ��'��b�1�1��X���O��V�I�r�#=�#=�#=�#=�
�
�E�
�5�
��"�"�#3�4�4�4�	��"�"�"�"��"�"�"�"�"��	��"���
��(��/�/���Lr c��d�}|S)z!
    Create __init__ method.
    c��||_dS)z1
        Initialize object with *value*.
        N)r)�selfrs  rrz_make_init.<locals>.__init__ms����
�
�
r �)rs rr"r"hs��
����Or c�T���fd�}d|�d�|_dt|�d�|_|S)z!
    Create operator method.
    c���|�|��stS�|j|j��}|turtS|Sr)r�NotImplementedr)r4�other�result�funcs   �r�methodz_make_operator.<locals>.method{sJ����%�%�e�,�,�	"�!�!���d�j�%�+�.�.���^�#�#�!�!��
r �__z	Return a z b.  Computed by attrs.)�__name__�_operation_names�__doc__)�namer;r<s ` rr#r#vsO���
�����$�4�m�m�m�F�O�C�$�T�*�C�C�C��N��Mr c�8�|jD]}|||��sdS�dS)z8
    Check whether `other` is comparable to `self`.
    FT)r)r4r9r;s   rrr�s;���"�����t�D�%� � �	��5�5�	��4r c�2�|jj|jjuS)zR
    Return True if *self* and *other* are of the same type, False otherwise.
    )r�	__class__)r4r9s  rr(r(�s���;� �D�J�$8�8�8r )NNNNNTr)
r*r$�_makerr?r1r"r#rr(r5r r�<module>rFs������������������c��S��M�M���������X�X�X�X�v������.���9�9�9�9�9r 
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg