o
    ڨCi                     @  s   d dl mZ d dlZd dlmZmZmZmZmZ ddl	m
Z
mZmZmZ erGddlmZ ddlmZ dd	lmZ G d
d deeee
ef Znedg dZG dd deee
ef ZdS )    )annotationsN)TYPE_CHECKINGAnyGenericIterable
NamedTuple   )CTKTRTDirectedGraph)AbstractProvider)BaseReporter   )	Criterionc                   @  s&   e Zd ZU ded< ded< ded< dS )Resultzdict[KT, CT]mappingzDirectedGraph[KT | None]graphzdict[KT, Criterion[RT, CT]]criteriaN)__name__
__module____qualname____annotations__ r   r   /var/www/html/fyndo/python/python_agents/rag_suite/venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers/abstract.pyr      s   
 r   )r   r   r   c                   @  s(   e Zd ZdZeZddd	ZdddZdS )AbstractResolverz3The thing that performs the actual resolution work.providerAbstractProvider[RT, CT, KT]reporterBaseReporter[RT, CT, KT]returnNonec                 C  s   || _ || _d S )N)r   r   )selfr   r   r   r   r   __init__   s   
zAbstractResolver.__init__requirementsIterable[RT]kwargsr   Result[RT, CT, KT]c                 K  s   t )a  Take a collection of constraints, spit out the resolution result.

        This returns a representation of the final resolution state, with one
        guarenteed attribute ``mapping`` that contains resolved candidates as
        values. The keys are their respective identifiers.

        :param requirements: A collection of constraints.
        :param kwargs: Additional keyword arguments that subclasses may accept.

        :raises: ``self.base_exception`` or its subclass.
        )NotImplementedError)r"   r$   r&   r   r   r   resolve#   s   zAbstractResolver.resolveN)r   r   r   r   r    r!   )r$   r%   r&   r   r    r'   )r   r   r   __doc__	Exceptionbase_exceptionr#   r)   r   r   r   r   r      s
    
r   )
__future__r   collectionstypingr   r   r   r   r   structsr	   r
   r   r   	providersr   	reportersr   	criterionr   r   
namedtupler   r   r   r   r   <module>   s    