3
U'ícu ã @ s d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm Z m
Z
mZmZm
Z
mZmZmZ ddlmZ ddlmZmZmZ eeef Zeeeef ZededZeeegef ZG dd d eZG d
d de jdZ G d
d de Z!G dd de!Z"edeegef edeegef dddZ#G dd de!Z$ej%dZ&ee
e dddZ'eedddZ(e
e e
e ee
e e
e f dddZ)G d d! d!e Z*dS )"é N)ÚCallableÚDictÚIterableÚIteratorÚListÚOptionalÚPatternÚSetÚTupleÚTypeVarÚUnioné )Úcanonicalize_version)Ú
LegacyVersionÚVersionÚparseÚVersionTypeVar)Zboundc @ s e Zd ZdZdS )ÚInvalidSpecifierzH
An invalid specifier was found, users should refer to PEP 440.
N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r r ú9/tmp/pip-build-gk9425m9/packaging/packaging/specifiers.pyr ! s r c @ s¼ e Zd ZejedddZejedddZeje e
dddZeje
e
dd d
Zeje
ddd
d
Zejdee
e
e
dddZejdee e
e
ee dddZdS )Ú
BaseSpecifier)Úreturnc C s dS )z
Returns the str representation of this Specifier like object. This
should be representative of the Specifier itself.
Nr )Úselfr r r Ú__str__( s zBaseSpecifier.__str__c C s dS )zF
Returns a hash value for this Specifier like object.
Nr )r r r r Ú__hash__/ s zBaseSpecifier.__hash__)Úotherr c C s dS )zq
Returns a boolean representing whether or not the two Specifier like
objects are equal.
Nr )r r r r r Ú__eq__5 s zBaseSpecifier.__eq__c C s dS )zg
Returns whether or not pre-releases as a whole are allowed by this
specifier.
Nr )r r r r Úprereleases<