3 Ï(Ó\ã@s dZddlZGdd„deƒZdS)zUtilities for defining models éNc@sXeZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dS)ÚKeyBasedCompareMixinz=Provides comparision capabilities that is based on a key cCs||_||_dS)N)Ú _compare_keyÚ_defining_class)ÚselfÚkeyZdefining_class©rúm/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-build-k1a8l1r5/pip/pip/_internal/utils/models.pyÚ__init__ szKeyBasedCompareMixin.__init__cCs t|jƒS)N)Úhashr)rrrrÚ__hash__szKeyBasedCompareMixin.__hash__cCs|j|tjƒS)N)Ú_compareÚoperatorÚ__lt__)rÚotherrrrrszKeyBasedCompareMixin.__lt__cCs|j|tjƒS)N)r r Ú__le__)rrrrrrszKeyBasedCompareMixin.__le__cCs|j|tjƒS)N)r r Ú__gt__)rrrrrrszKeyBasedCompareMixin.__gt__cCs|j|tjƒS)N)r r Ú__ge__)rrrrrrszKeyBasedCompareMixin.__ge__cCs|j|tjƒS)N)r r Ú__eq__)rrrrrrszKeyBasedCompareMixin.__eq__cCs|j|tjƒS)N)r r Ú__ne__)rrrrrr!szKeyBasedCompareMixin.__ne__cCst||jƒstS||j|jƒS)N)Ú isinstancerÚNotImplementedr)rrÚmethodrrrr $s zKeyBasedCompareMixin._compareN) Ú__name__Ú __module__Ú __qualname__Ú__doc__r r rrrrrrr rrrrrsr)rr ÚobjectrrrrrÚs