U Ê—Re©ã@s2dZddlZddlmZmZmZGdd„dƒZdS)zUtilities for defining models éN)ÚAnyÚCallableÚTypec@sªeZdZdZddgZeedddœdd„Zedœd d „Z ee d œd d „Z ee d œdd„Z ee d œdd„Z ee d œdd„Zee d œdd„Zeeeege fe dœdd„ZdS)ÚKeyBasedCompareMixinz7Provides comparison capabilities that is based on a keyÚ _compare_keyÚ_defining_classN)ÚkeyÚdefining_classÚreturncCs||_||_dS©N)rr)Úselfrr ©r ú‰/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/models.pyÚ__init__ szKeyBasedCompareMixin.__init__)r cCs t|jƒSr )Úhashr)r r r rÚ__hash__szKeyBasedCompareMixin.__hash__)Úotherr cCs| |tj¡Sr )Ú_compareÚoperatorÚ__lt__©r rr r rrszKeyBasedCompareMixin.__lt__cCs| |tj¡Sr )rrÚ__le__rr r rrszKeyBasedCompareMixin.__le__cCs| |tj¡Sr )rrÚ__gt__rr r rrszKeyBasedCompareMixin.__gt__cCs| |tj¡Sr )rrÚ__ge__rr r rrszKeyBasedCompareMixin.__ge__cCs| |tj¡Sr )rrÚ__eq__rr r rr szKeyBasedCompareMixin.__eq__)rÚmethodr cCst||jƒstS||j|jƒSr )Ú isinstancerÚNotImplementedr)r rrr r rr#s zKeyBasedCompareMixin._compare)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú __slots__rrrÚintrÚboolrrrrrrrr r r rrsr)r!rÚtypingrrrrr r r rÚs