File: //opt/saltstack/salt/lib/python3.10/site-packages/packaging/__pycache__/specifiers.cpython-310.pyc
o
;jh� � @ sT d Z ddlZddlZddlZddlmZmZmZmZm Z m
Z
mZmZ ddl
mZ ddlmZ eeef Zeded�Zeeegef Zd ed
efdd�ZG d
d� de�ZG dd� dejd�ZG dd� de�Ze�d�Zd ed
ee fdd�Zdee d
efdd�Zded
efdd�Z dee dee d
e
ee ee f fdd �Z!G d!d"� d"e�Z"dS )#z�
.. testsetup::
from packaging.specifiers import Specifier, SpecifierSet, InvalidSpecifier
from packaging.version import Version
� N)�Callable�Iterable�Iterator�List�Optional�Tuple�TypeVar�Union� )�canonicalize_version)�Version�UnparsedVersionVar)�bound�version�returnc C s t | t�s t| �} | S �N)�
isinstancer )r � r �H/opt/saltstack/salt/lib/python3.10/site-packages/packaging/specifiers.py�_coerce_version s
r c @ s e Zd ZdZdS )�InvalidSpecifiera
Raised when attempting to create a :class:`Specifier` with a specifier
string that is invalid.
>>> Specifier("lolwat")
Traceback (most recent call last):
...
packaging.specifiers.InvalidSpecifier: Invalid specifier: 'lolwat'
N)�__name__�
__module__�__qualname__�__doc__r r r r r s r c @ s� e Zd Zejdefdd��Zejdefdd��Zejde de
fdd��Zeejde
e
fd d
���Zejde
ddfd
d
��Zejddede
e
de
fdd��Zej ddee de
e
dee fdd��ZdS )�
BaseSpecifierr c C � dS )z�
Returns the str representation of this Specifier-like object. This
should be representative of the Specifier itself.
Nr ��selfr r r �__str__+ � zBaseSpecifier.__str__c C r )zF
Returns a hash value for this Specifier-like object.
Nr r r r r �__hash__2 r zBaseSpecifier.__hash__�otherc C r )z�
Returns a boolean representing whether or not the two Specifier-like
objects are equal.
:param other: The other object to check against.
Nr �r r"