R`i 8 d Z ddlZddlmZmZmZ G d d Zy)zUtilities for defining models
N)AnyCallableTypec e Zd ZdZddgZdeded ddfdZdefd Z d
ede
fdZd
ede
fdZd
ede
fd
Z
d
ede
fdZd
ede
fdZd
edeeege
f de
fdZy)KeyBasedCompareMixinz7Provides comparison capabilities that is based on a key_compare_key_defining_classkeydefining_classreturnNc || _ || _ y N)r r )selfr
r s /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/utils/models.py__init__zKeyBasedCompareMixin.__init__
s - c , t | j S r )hashr )r s r __hash__zKeyBasedCompareMixin.__hash__ s D%%&&r otherc B | j |t j S r )_compareoperator__lt__r r s r r zKeyBasedCompareMixin.__lt__ }}UHOO44r c B | j |t j S r )r r __le__r s r r zKeyBasedCompareMixin.__le__ r r c B | j |t j S r )r r __gt__r s r r zKeyBasedCompareMixin.__gt__ r r c B | j |t j S r )r r __ge__r s r r" zKeyBasedCompareMixin.__ge__ r r c B | j |t j S r )r r __eq__r s r r$ zKeyBasedCompareMixin.__eq__ r r methodc t t || j st S || j |j S r )
isinstancer NotImplementedr )r r r% s r r zKeyBasedCompareMixin._compare# s1 %!5!56!!d''););<