o
    !7h                     @  s   d dl mZ d dlmZmZmZ ddlmZmZm	Z	 er"ddl
mZ G dd deZG d	d
 d
eeeef ZG dd deeeef ZG dd deZG dd deeeef ZG dd deZdS )    )annotations)TYPE_CHECKING
CollectionGeneric   )CTRTRequirementInformation   )	Criterionc                   @  s   e Zd ZdZdS )ResolverExceptionzA base class for all exceptions raised by this module.

    Exceptions derived by this class should all be handled in this module. Any
    bubbling pass the resolver should be treated as a bug.
    N)__name__
__module____qualname____doc__ r   r   /var/www/epreuve.sigeris.cm/public_html/epreuve/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.pyr      s    r   c                      s(   e Zd Zd
 fddZddd	Z  ZS )RequirementsConflicted	criterionCriterion[RT, CT]returnNonec                      t  | || _d S N)super__init__r   )selfr   	__class__r   r   r         
zRequirementsConflicted.__init__strc                 C  s    d ddd | j D S )NzRequirements conflict: {}, c                 s      | ]}t |V  qd S r   repr.0rr   r   r   	<genexpr>       z1RequirementsConflicted.__str__.<locals>.<genexpr>)formatjoinr   iter_requirementr   r   r   r   __str__   s   zRequirementsConflicted.__str__)r   r   r   r   r   r    r   r   r   r   r.   __classcell__r   r   r   r   r      s    r   c                      s(   e Zd Zd fddZdd	d
Z  ZS )InconsistentCandidate	candidater   r   r   c                   s   t  || || _|| _d S r   )r   r   r3   r   )r   r3   r   r   r   r   r      s   
zInconsistentCandidate.__init__r   r    c                 C  s$   d | jddd | j D S )Nz+Provided candidate {!r} does not satisfy {}r!   c                 s  r"   r   r#   r%   r   r   r   r(   '   r)   z0InconsistentCandidate.__str__.<locals>.<genexpr>)r*   r3   r+   r   r,   r-   r   r   r   r.   $   s   zInconsistentCandidate.__str__)r3   r   r   r   r/   r0   r   r   r   r   r2      s    r2   c                   @  s   e Zd ZdS )ResolutionErrorN)r   r   r   r   r   r   r   r4   +   s    r4   c                      s   e Zd Zd fddZ  ZS )ResolutionImpossiblecauses*Collection[RequirementInformation[RT, CT]]c                   r   r   )r   r   r6   )r   r6   r   r   r   r   0   s   
zResolutionImpossible.__init__)r6   r7   r   r   r   r   r1   r   r   r   r   r5   /       r5   c                      s   e Zd Zd fddZ  ZS )ResolutionTooDeepround_countintr   r   c                   r   r   )r   r   r;   )r   r;   r   r   r   r   7   r   zResolutionTooDeep.__init__)r;   r<   r   r   r8   r   r   r   r   r:   6   r9   r:   N)
__future__r   typingr   r   r   structsr   r   r	   r   r   	Exceptionr   r   r2   r4   r5   r:   r   r   r   r   <module>   s    