+
    ®¾j¿P  ã                  óB  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIHtHtHtH	t	H
t
 ^RIHtHtHtHtHtHtHtHtHt ^RIHtHt ^RIHt ^RIHtHtHtHtHt ]'       d   ^RI H!t!H"t" ^R	I#H$t$ R
 R lt% ! R R]]]]3,          4      t& ! R R]]]]3,          4      t'R R lt(R# )é    )ÚannotationsN)ÚTYPE_CHECKINGÚ
CollectionÚGenericÚIterableÚMapping)	ÚCTÚKTÚRTÚDirectedGraphÚIterableViewÚIteratorMappingÚRequirementInformationÚStateÚbuild_iter_view)ÚAbstractResolverÚResult)Ú	Criterion)ÚInconsistentCandidateÚRequirementsConflictedÚResolutionImpossibleÚResolutionTooDeepÚResolverException)ÚAbstractProviderÚ
Preference)ÚBaseReporterc               ó    € V ^8„  d   QhRRRR/# )é   ÚstateúState[RT, CT, KT]ÚreturnúResult[RT, CT, KT]© )Úformats   "Új/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/resolution.pyÚ__annotate__r&   "   s   € ÷ ñ Ð*ð Ð/Añ ó    c                óâ  € V P                   pVP                  4        UUu/ uF  w  r#\        V4      VbK  	  pppR V\        R 4      &   \        4       pVP	                  R 4       R 0pV P
                  P                  4        F�  w  rx\        V P
                  WtV4      '       g   K$  Wu9  d   VP	                  V4       VP                  4        F>  p	 V\        V	4      ,          p
Y¥9  d   TP	                  T
4       TP                  Y§4       K@  	  K�  	  \        VP                  4        UUu/ uF  w  r#W&9   g   K  W#bK  	  uppVV P
                  R7      # u uppi   \         d     Kœ  i ; iu uppi )N)ÚmappingÚgraphÚcriteria)r)   ÚitemsÚidr   Úaddr+   Ú_has_route_to_rootÚiter_parentÚKeyErrorÚconnectr   )r   r)   ÚkÚvÚall_keysr*   Ú	connectedÚkeyÚ	criterionÚpÚpkeys   &          r%   Ú_build_resultr;   "   s4  € Ø�m‰m€GØ;B¿=¹=¼?Ô%K¹?±4°1¤b¨£e¨Q¢h¹?€HÑ%KØ€HŒR�‹XÑä&3£o€EØ	‡I�Iˆd„Oà!% €IØŸ.™.×.Ñ.Ö0‰ˆÜ! %§.¡.°#À×KÒKÙØÔØ�I‰I�cŒNØ×&Ñ&Ö(ˆAðØ¤ 1£•�ð Ô Ø—	‘	˜$”Ø�M‰M˜$Ö$ó )ñ 1ô Ø")§-¡-¤/ÔD¡/™$˜!°Q±^”�’¡/ÒDØØ—‘ôð ùó+ &Løô ô Úðüó Es#    EÃEÄ)
E+
Ä8E+
ÅE(Å'E(c                  óÀ   € ] tR t^@tRtR R lt]R R l4       tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltRtR# )Ú
Resolutionz¡Stateful resolution object.

This is designed as a one-off object that holds information to kick start
the resolution process, and holds the results afterwards.
c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚproviderzAbstractProvider[RT, CT, KT]ÚreporterzBaseReporter[RT, CT, KT]r!   ÚNoner#   )r$   s   "r%   r&   ÚResolution.__annotate__G   s(   € ÷ 3ñ 3à.ð3ð +ð3ð 
ñ	3r'   c                	ó,   € Wn         W n        . V n        R # ©N©Ú_pÚ_rÚ_states)Úselfr?   r@   s   &&&r%   Ú__init__ÚResolution.__init__G   s   € ð
 ŒØŒØ02ˆŽr'   c               ó   € V ^8„  d   QhRR/# )r   r!   r    r#   )r$   s   "r%   r&   rB   Q   s   € ÷ 1ñ 1Ð(ñ 1r'   c                	óh   €  V P                   R,          #   \         d   p\        R4      ThRp?ii ; i)é   r   Néÿÿÿÿ)rH   Ú
IndexErrorÚAttributeError)rI   Úes   & r%   r   ÚResolution.stateP   s3   € ð	1Ø—<‘< Õ#Ð#øÜô 	1Ü  Ó)¨qÐ0ûð	1ús   ‚ •1 ,¬1c               ó   € V ^8„  d   QhRR/# )r   r!   rA   r#   )r$   s   "r%   r&   rB   W   s   € ÷ #ñ # ñ #r'   c                ó   € V P                   R,          p\        VP                  P                  4       VP                  P                  4       VP
                  R,          R7      pV P                   P                  V4       R# )zqPush a new state into history.

This new state will be used to hold resolution results of the next
coming round.
ºNNN©r)   r+   Úbacktrack_causesNrO   )rH   r   r)   Úcopyr+   rX   Úappend)rI   Úbaser   s   &  r%   Ú_push_new_stateÚResolution._push_new_stateW   s^   € ð �|‰|˜BÕˆÜØ—L‘L×%Ñ%Ó'Ø—]‘]×'Ñ'Ó)Ø!×2Ñ2°1Õ5ô
ˆð
 	�‰×Ñ˜EÖ"r'   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r+   údict[KT, Criterion[RT, CT]]Úrequirementr   Úparentz	CT | Noner!   rA   r#   )r$   s   "r%   r&   rB   e   s2   € ÷ *)ñ *)à-ð*)ð ð*)ð ð	*)ð
 
ñ*)r'   c           
     	óŽ  € V P                   P                  W#R 7       V P                  P                  VR7      pVP	                  V4      pV'       d   \        VP                  4      pM. pV P                  P                  V\        V\        P                  ! R4      WB./4      \        V\        P                  ! R4      WF/4      R7      pV'       d1   \        VP                  4      pVP                  \        W#4      4       M\        W#4      .p\        \!        V4      VVR7      pVP"                  '       g   \%        V4      hWQV&   R# ))r`   ra   )Úrequirement_or_candidateÚiter_requirementÚincompatibilities©Ú
identifierÚrequirementsre   ©Ú
candidatesÚinformationre   N)rG   Úadding_requirementrF   ÚidentifyÚgetÚlistre   Úfind_matchesr   ÚoperatorÚmethodcallerÚ
attrgetterrk   rZ   r   r   r   rj   r   )	rI   r+   r`   ra   rg   r8   re   Úmatchesrk   s	   &&&&     r%   Ú_add_to_criteriaÚResolution._add_to_criteriae   s'  € ð 	�‰×"Ñ"¨{Ð"ÔJà—W‘W×%Ñ%¸{Ð%ÓKˆ
Ø—L‘L Ó,ˆ	ßÜ $ Y×%@Ñ%@Ó AÑà "Ðà—'‘'×&Ñ&Ø!Ü(ØÜ×%Ò%Ð&8Ó9Ø˜]Ð+óô
 .ØÜ×#Ò#Ð$7Ó8ØÐ/óð 'ó 
ˆ÷ Ü˜y×4Ñ4Ó5ˆKØ×ÑÔ5°kÓJÕKä1°+ÓFÐGˆKäÜ& wÓ/Ø#Ø/ô
ˆ	ð
 ×#×#Ð#Ü(¨Ó3Ð3Ø(�Ór'   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r+   r_   ÚparentszCollection[KT]r!   rA   r#   )r$   s   "r%   r&   rB   ‘   s$   € ÷ ñ Ø3ðØ>Lðà	ñr'   c           
     óD  € V'       g   R# VP                  4        F|  w  r4\        VP                  VP                   Uu. uF?  pVP                  e-   V P
                  P                  VP                  4      V9  g   K=  VNKA  	  upVP                  4      W&   K~  	  R# u upi )a/  Remove information from parents of criteria.

Concretely, removes all values from each criterion's ``information``
field that have one of ``parents`` as provider of the requirement.

:param criteria: The criteria to update.
:param parents: Identifiers for which to remove information from all criteria.
N)r,   r   rj   rk   ra   rF   rm   re   )rI   r+   rx   r7   r8   rk   s   &&&   r%   Ú!_remove_information_from_criteriaÚ,Resolution._remove_information_from_criteria‘   s�   € ÷ ÙØ&Ÿn™nÖ.‰NˆCÜ%Ø×$Ñ$ð (1×'<Ò'<óá'<˜à#×*Ñ*Ò2ØŸ7™7×+Ñ+¨K×,>Ñ,>Ó?ÀwÑN÷	  �KÙ'<ñð ×+Ñ+óˆH‹Mó /ùòs   ¾:BÁ=Bc               ó    € V ^8„  d   QhRRRR/# )r   Únamer
   r!   r   r#   )r$   s   "r%   r&   rB   ¬   s   € ÷ 
ñ 
 Bð 
¨:ñ 
r'   c                	óZ  € V P                   P                  VV P                  P                  \	        V P                  P
                  \        P                  ! R 4      4      \	        V P                  P
                  \        P                  ! R4      4      V P                  P                  R7      # )rj   rk   )rg   Úresolutionsrj   rk   rX   )	rF   Úget_preferencer   r)   r   r+   rq   rs   rX   )rI   r}   s   &&r%   Ú_get_preferenceÚResolution._get_preference¬   s…   € Ø�w‰w×%Ñ%ØØŸ
™
×*Ñ*Ü&Ø—
‘
×#Ñ#Ü×#Ò# LÓ1óô (Ø—
‘
×#Ñ#Ü×#Ò# MÓ2óð "ŸZ™Z×8Ñ8ð &ó 
ð 	
r'   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r}   r
   r8   zCriterion[RT, CT]r!   Úboolr#   )r$   s   "r%   r&   rB   »   s$   € ÷ 

ñ 

Øð

Ø#4ð

à	ñ

r'   c                	ó  a a€  S P                   P                  V,          o\        ;QJ d.    TT 3R lTP	                  4        4       F  '       d   K   R # 	  R# ! TT 3R lTP	                  4        4       4      #   \         d     R # i ; i)Fc              3  ó^   <"  € T F"  pSP                   P                  VSR 7      x € K$  	  R# 5i©)r`   Ú	candidateN©rF   Úis_satisfied_by)Ú.0ÚrÚcurrent_pinrI   s   & €€r%   Ú	<genexpr>Ú8Resolution._is_current_pin_satisfying.<locals>.<genexpr>Â   s/   øé € ð 
á1�ð �G‰G×#Ñ#°¸[Ð#×IÐIÛ1ùó   ƒ*-T)r   r)   r1   Úallrd   )rI   r}   r8   r�   s   f&&@r%   Ú_is_current_pin_satisfyingÚ%Resolution._is_current_pin_satisfying»   s   ù€ ð	ØŸ*™*×,Ñ,¨TÕ2ˆK÷ ‹sõ 
à×/Ñ/Ô1ó
�sŒsð 	
Šsð 	
ˆsõ 
à×/Ñ/Ô1ó
ó 
ð 	
øô ô 	Úð	ús   „A9 Á9BÂBc               ó    € V ^8„  d   QhRRRR/# )r   rˆ   r	   r!   r_   r#   )r$   s   "r%   r&   rB   Ç   s   € ÷ ñ ¨rð Ð6Qñ r'   c                	óº   € V P                   P                  P                  4       pV P                  P	                  VR 7       F  pV P                  W#VR7       K  	  V# )©rˆ   ©ra   )r   r+   rY   rF   Úget_dependenciesru   )rI   rˆ   r+   r`   s   &&  r%   Ú_get_updated_criteriaÚ Resolution._get_updated_criteriaÇ   sO   € Ø—:‘:×&Ñ&×+Ñ+Ó-ˆØŸ7™7×3Ñ3¸iÐ3ÖHˆKØ×!Ñ! (À	Ð!ÖJñ Iàˆr'   c               ó    € V ^8„  d   QhRRRR/# )r   r}   r
   r!   úlist[Criterion[RT, CT]]r#   )r$   s   "r%   r&   rB   Í   s   € ÷ #ñ #¨bð #Ð5Lñ #r'   c                	ó&  a a€ S P                   P                  V,          p. pVP                   EF  o S P                  S4      p\        ;QJ d.    TT 3R lTP                  4        4       F  '       d   K   RM#	  RM! TT 3R lTP                  4        4       4      pT'       g   \        ST4      hS P
                  P                  SR7       S P                   P                  P                  T4       S P                   P                  P                  TR 4       SS P                   P                  T&   . u # 	  V#   \         dN   pS P
                  P                  TP                  S4       TP                  TP                  4        R p?EK]  R p?ii ; i)Nc              3  ó^   <"  € T F"  pSP                   P                  VSR 7      x € K$  	  R# 5ir‡   r‰   )r‹   rŒ   rˆ   rI   s   & €€r%   rŽ   Ú7Resolution._attempt_to_pin_criterion.<locals>.<genexpr>Ý   s/   øé € ð á5�Að —‘×'Ñ'°AÀÐ'×KÐKÛ5ùr�   FTr–   )r   r+   rj   r™   r   rG   Úrejecting_candidater8   rZ   r‘   rd   r   ÚpinningÚupdater)   Úpop)rI   r}   r8   Úcausesr+   rR   Ú	satisfiedrˆ   s   f&     @r%   Ú_attempt_to_pin_criterionÚ$Resolution._attempt_to_pin_criterionÍ   s6  ù€ Ø—J‘J×'Ñ'¨Õ-ˆ	à*,ˆØ"×-Õ-ˆIðØ×5Ñ5°iÓ@�÷ ›õ à"×3Ñ3Ô5óŸŸšõ à"×3Ñ3Ô5óó ˆI÷ Ü+¨I°yÓAÐAà�G‰G�O‰O iˆOÔ0Ø�J‰J×Ñ×&Ñ& xÔ0ð �J‰J×Ñ×"Ñ" 4¨Ô.Ø'0ˆD�J‰J×Ñ˜tÑ$àŠIñ7 .ð> ˆøô9 *ô Ø—‘×+Ñ+¨A¯K©K¸ÔCØ—‘˜aŸk™kÔ*Þûðús   ³D8Ä8FÅAFÆFc               ó    € V ^8„  d   QhRRRR/# )r   Úincompatibilities_from_brokenzlist[tuple[KT, list[CT]]]r!   r„   r#   )r$   s   "r%   r&   rB   ò   s   € ÷ !ñ !Ø-Fð!à	ñ!r'   c                	óp  € V EF  w  r#V'       g   K   V P                   P                  V,          pT P                  P	                  T\        T P                   P                  \        P                  ! R 4      4      \        T P                   P                  \        P                  ! R4      Y#/4      R7      p\        T4      pT'       g    R# TP                  TP                  4       \        T\        TP                  4      TR7      T P                   P                  T&   EK  	  R#   \         d     EK1  i ; i)rd   re   rf   Fri   T)r   r+   r1   rF   rp   r   rq   rr   rs   r   Úextendre   r   ro   rk   )rI   r©   r3   re   r8   rt   rj   s   &&     r%   Ú_patch_criteriaÚResolution._patch_criteriaò   s  € ô
 %BÑ ˆAß$ÙðØ ŸJ™J×/Ñ/°Õ2�	ð —g‘g×*Ñ*ØÜ,Ø—J‘J×'Ñ'Ü×)Ò)Ð*<Ó=óô #2Ø—J‘J×'Ñ'Ü×'Ò'Ð(;Ó<ØÐ*ó#ð +ó ˆGô ,;¸7Ó+CˆJßÚØ×$Ñ$ Y×%@Ñ%@ÔAÜ%.Ø%Ü  ×!6Ñ!6Ó7Ø"3ô&ˆD�J‰J×Ñ Ô"ñ/ %Bñ8 øô/ ô Ûðús   ”D%Ä%D5Ä4D5c               ó    € V ^8„  d   QhRRRR/# )r   r¤   ú$list[RequirementInformation[RT, CT]]r!   r„   r#   )r$   s   "r%   r&   rB     s   € ÷ Wñ WÐ Dð WÈñ Wr'   c                óÎ  € \         P                  ! R V 4       R V 4       4      pV Uu0 uF  q0P                  P                  V4      kK  	  pp\	        V P
                  4      ^8¼  EdK   V P
                  R V P                  p  V P
                  P                  4       pVP                  P                  4       w  rgYd9  d   MoT P                  P                  T4       Uu0 uF  q€P                  P                  T4      kK  	  p	pT	P                  T4      '       g   MTP                  '       d   K­   TP                  P!                  4        U
Uu. uF  w  r«T
\#        TP$                  4      3NK  	  pp
pTP'                  Yg.34       T P)                  4        T P+                  T4      pT'       g   EKc  R# R# u upi   \        \        3 d    \        T4      Rhi ; iu upi u upp
i )ar  Perform backjumping.

When we enter here, the stack is like this::

    [ state Z ]
    [ state Y ]
    [ state X ]
    .... earlier states are irrelevant.

1. No pins worked for Z, so it does not have a pin.
2. We want to reset state Y to unpinned, and pin another candidate.
3. State X holds what state Y was before the pin, but does not
   have the incompatibility information gathered in state Y.

Each iteration of the loop will:

1.  Identify Z. The incompatibility is not always caused by the latest
    state. For example, given three requirements A, B and C, with
    dependencies A1, B1 and C1, where A1 and B1 are incompatible: the
    last state might be related to C, so we want to discard the
    previous state.
2.  Discard Z.
3.  Discard Y but remember its incompatibility information gathered
    previously, and the failure we're dealing with right now.
4.  Push a new state Y' based on X, and apply the incompatibility
    information from Y to Y'.
5a. If this causes Y' to conflict, we need to backtrack again. Make Y'
    the new Z and go back to step 2.
5b. If the incompatibilities apply cleanly, end backtracking.
c              3  óX   "  € T F   qP                   f   K  VP                   x € K"  	  R # 5irD   r—   ©r‹   Úcs   & r%   rŽ   Ú'Resolution._backjump.<locals>.<genexpr>5  s   é € Ð>™v˜!¯©ŒXˆQ�XŽX›vùs   ‚*–*c              3  ó8   "  € T F  qP                   x € K  	  R # 5irD   )r`   r²   s   & r%   rŽ   r´   6  s   é € Ð+¡F˜q�]Ž]£Fùs   ‚TNFrO   )Ú	itertoolsÚchainrF   rm   ÚlenrH   r   r£   r)   ÚpopitemrP   r1   r   r˜   Ú
isdisjointr+   r,   ro   re   rZ   r\   r¬   )rI   r¤   Úincompatible_reqsrŒ   Úincompatible_depsÚbroken_stater}   rˆ   ÚdÚcurrent_dependenciesr3   r4   r©   Úsuccesss   &&            r%   Ú	_backjumpÚResolution._backjump  sÈ  € ô> 09¯ªÙ>™vÓ>Ù+¡FÓ+ó0
Ðñ ;LÓLÑ:K°QŸW™W×-Ñ-¨aÖ0Ñ:KÐÐLÜ�$—,‘,Ó 1Õ$à—‘˜RÐ ð  Ÿ:™:ˆLØðAØ#'§<¡<×#3Ñ#3Ó#5�LØ&2×&:Ñ&:×&BÑ&BÓ&D‘O�Dð Ô0Øð
 26·±×1IÑ1IÈ)Ô1Tó(Ù1T¨A—G‘G×$Ñ$ QÖ'Ñ1Tð %ð (ð ,×6Ñ6Ð7H×IÒIØð
 $×+×+Ò+Øð <H×;PÑ;P×;VÑ;VÔ;Xô-Ù;X±4°1�”D˜×,Ñ,Ó-Ó.Ñ;Xð *ñ -ð
 *×0Ñ0°$¸Ð1DÔEà× Ñ Ô"Ø×*Ñ*Ð+HÓIˆG÷ ŠwÙñ ùòi Møô #¤HÐ-ô AÜ.¨vÓ6¸DÐ@ðAüò(ùó-s   ª#F6Â6F; Ã#GÅ"G!Æ;Gc               ó    € V ^8„  d   QhRRRR/# )r   Úcriteronrœ   r!   r¯   r#   )r$   s   "r%   r&   rB   n  s    € ÷ Rñ RØ/ðRà	-ñRr'   c           
     óœ   € \        V UUu/ uF!  q"P                   F  p\        V4      VbK  	  K#  	  uppP                  4       4      # u uppi )z5Extract causes from list of criterion and deduplicate)ro   rk   r-   Úvalues)rI   rÄ   r³   Úis   &&  r%   Ú_extract_causesÚResolution._extract_causesn  s<   € ô ¡xÔG¡x !¿¼°A”R˜“U˜A’X¹‘U¡xÒG×NÑNÓPÓQÐQùÓGs   ‹'A
c               ó$   € V ^8„  d   QhRRRRRR/# )r   rh   úIterable[RT]Ú
max_roundsÚintr!   r    r#   )r$   s   "r%   r&   rB   t  s'   € ÷ f,ñ f, Lð f,¸cð f,ÐFWñ f,r'   c                	ót  € V P                   '       d   \        R 4      hV P                  P                  4        \	        \
        P                  ! 4       / . R7      .V n         V F,  p V P                  V P                  P                  VRR7       K.  	  V P                  4        \        V4       EF?  pV P                  P!                  VR7       V P                  P                  P#                  4        UUu. uF   w  rgV P%                  Wg4      '       d   K  VNK"  	  pppV'       g5   V P                  P'                  V P                  R7       V P                  u # \)        V P                  P                  P+                  4       4      \)        V4      ,
          p	\-        V4      ^8”  d·   \/        V P0                  P3                  VV P                  P4                  \7        V P                  P                  \8        P:                  ! R4      4      \7        V P                  P                  \8        P:                  ! R4      4      V P                  P<                  R7      4      p
MTp
V
'       g   \        R	4      h\-        V
4      ^8”  d   \?        W P@                  R
7      pM	V
^ ,          pV PC                  V4      pV'       d   V PE                  V4      pV P                  PG                  VR7       V PI                  V4      pWÐP                  P<                  R&   V'       g    \        V P                  P<                  4      hMŽV P                  P                  P#                  4        UUu0 uF(  w  rgWi9   g   K  V P%                  Wg4      '       d   K&  VkK*  	  pppV PK                  V P                  P                  V4       V P                  4        V P                  PM                  WPP                  R7       EKB  	  \O        V4      h  \         d&   p\        TP                  P                  4      ThRp?ii ; iu uppi u uppi )zalready resolvedrW   Nr—   )Úindex)r   rj   rk   )Úidentifiersr   rj   rk   rX   z-narrow_requirement_selection returned 0 names)r7   )r¤   rV   )rÏ   r   )(rH   ÚRuntimeErrorrG   Ústartingr   ÚcollectionsÚOrderedDictru   r   r+   r   r   r8   rk   r\   ÚrangeÚstarting_roundr,   r’   ÚendingÚsetÚkeysr¸   ro   rF   Únarrow_requirement_selectionr)   r   rq   rs   rX   Úminr�   r¦   rÈ   Úresolving_conflictsrÁ   rz   Úending_roundr   )rI   rh   rÌ   rŒ   rR   Úround_indexr7   r8   Úunsatisfied_namesÚsatisfied_namesÚnarrowed_unstatisfied_namesr}   Úfailure_criterionr¤   rÀ   Únewly_unsatisfied_namess   &&&             r%   ÚresolveÚResolution.resolvet  s|  € Ø�<�<ˆ<ÜÐ1Ó2Ð2à�‰×ÑÔô Ü#×/Ò/Ó1ØØ!#ôð
ˆŒó ˆAðKØ×%Ñ% d§j¡j×&9Ñ&9¸1ÀTÐ%ÖJñ ð 	×ÑÔä  ×,ˆKØ�G‰G×"Ñ"¨Ð"Ô5ð '+§j¡j×&9Ñ&9×&?Ñ&?Ô&Aô!á&A‘N�CØ×6Ñ6°s×F÷ �Ù&Að ñ !÷ %Ø—‘—‘ T§Z¡Z�Ô0Ø—z‘zÒ!ô " $§*¡*×"5Ñ"5×":Ñ":Ó"<Ó=ÄÐDUÓ@VÕVˆOäÐ$Ó%¨Ô)Ü.2Ø—G‘G×8Ñ8Ø$5Ø$(§J¡J×$6Ñ$6Ü#2Ø ŸJ™J×/Ñ/Ü$×/Ò/°Ó=ó$ô %4Ø ŸJ™J×/Ñ/Ü$×/Ò/°Ó>ó%ð *.¯©×)DÑ)Dð 9ó ó/Ñ+ð  /@Ð+÷ /Ü"Ð#RÓSÐSô Ð.Ó/°!Ô3äÐ6×<PÑ<PÔQ‘à2°1Õ5�à $× >Ñ >¸tÓ DÐç Ø×-Ñ-Ð.?Ó@�ð —‘×+Ñ+°6Ð+Ô:ØŸ.™.¨Ó0�Ø17—
‘
×+Ñ+¨AÑ.÷ Ü.¨t¯z©z×/JÑ/JÓKÐKð ð +/¯*©*×*=Ñ*=×*CÑ*CÔ*Eô+á*E™˜ØÑ-ô ð !×;Ñ;¸C×K÷ �CÙ*Eð (ñ +ð ×6Ñ6Ø—J‘J×'Ñ'Ð)@ôð ×$Ñ$Ô&à�G‰G× Ñ  {¿*¹*Ð ×EñW -ôZ   
Ó+Ð+øôk *ô KÜ*¨1¯;©;×+BÑ+BÓCÈÐJûðKüó!ùóx+s6   Á%(O;Ã3P.ÄP.Í
P4Í-P4ÎP4Ï;P+Ð P&Ð&P+rE   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rJ   Úpropertyr   r\   ru   rz   r�   r’   r™   r¦   r¬   rÁ   rÈ   rä   Ú__static_attributes__r#   r'   r%   r=   r=   @   sd   † ñõ3ð ô1ó ð1õ#õ*)õXõ6
õ

õõ#õJ!õFWõrR÷f,ñ f,r'   r=   c                  ó.   € ] tR tRtRt]tRR R lltRtR# )ÚResolveriÝ  z3The thing that performs the actual resolution work.c               ó$   € V ^8„  d   QhRRRRRR/# )r   rh   rË   rÌ   rÍ   r!   r"   r#   )r$   s   "r%   r&   ÚResolver.__annotate__â  s(   € ÷ "$ñ "$à"ð"$ð ð"$ð 
ñ	"$r'   c                ó|   € \        V P                  V P                  4      pVP                  WR7      p\	        V4      # )af  Take a collection of constraints, spit out the resolution result.

The return value is a representation to the final resolution result. It
is a tuple subclass with three public members:

* `mapping`: A dict of resolved candidates. Each key is an identifier
    of a requirement (as returned by the provider's `identify` method),
    and the value is the resolved candidate.
* `graph`: A `DirectedGraph` instance representing the dependency tree.
    The vertices are keys of `mapping`, and each edge represents *why*
    a particular package is included. A special vertex `None` is
    included to represent parents of user-supplied requirements.
* `criteria`: A dict of "criteria" that hold detailed information on
    how edges in the graph are derived. Each key is an identifier of a
    requirement, and the value is a `Criterion` instance.

The following exceptions may be raised if a resolution cannot be found:

* `ResolutionImpossible`: A resolution cannot be found for the given
    combination of requirements. The `causes` attribute of the
    exception is a list of (requirement, parent), giving the
    requirements that could not be satisfied.
* `ResolutionTooDeep`: The dependency tree is too deeply nested and
    the resolver gave up. This is usually caused by a circular
    dependency, but you can try to resolve this by increasing the
    `max_rounds` argument.
)rÌ   )r=   r?   r@   rä   r;   )rI   rh   rÌ   Ú
resolutionr   s   &&&  r%   rä   ÚResolver.resolveâ  s7   € ô@   §¡¨t¯}©}Ó=ˆ
Ø×"Ñ" <Ð"ÓGˆÜ˜UÓ#Ð#r'   r#   N)éd   )	ræ   rç   rè   ré   rê   r   Úbase_exceptionrä   rì   r#   r'   r%   rî   rî   Ý  s   † Ù=à&€N÷"$ó "$r'   rî   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r   r+   zMapping[KT, Criterion[RT, CT]]r7   z	KT | Noner5   zdict[int, KT | None]r6   zset[KT | None]r!   r„   r#   )r$   s   "r%   r&   r&     s:   € ÷ ñ Ø,ðà	ðð #ðð ð	ð
 
ñr'   c                ó6  € W9   d   R # W9  d   R# Vf   Q hW,          P                  4        FV  p V\        V4      ,          pYS9   d   TP                  T4        R # \	        YY#4      '       g   KD  TP                  T4        R # 	  R#   \         d     Kj  i ; i)TF)r0   r-   r1   r.   r/   )r+   r7   r5   r6   r9   r:   s   &&&&  r%   r/   r/     s“   € ð ÔÙØ
ÔÙØŠ?Ðˆ?Ø�]×&Ñ&Ö(ˆð	ØœB˜q›E•?ˆDð ÔØ�M‰M˜#ÔÚÜ˜h¨h×BÔBØ�M‰M˜#ÔÚñ )ñ øô ô 	Úð	ús   ±B	Â	BÂB))Ú
__future__r   rÓ   r¶   rq   Útypingr   r   r   r   r   Ústructsr	   r
   r   r   r   r   r   r   r   Úabstractr   r   r8   r   Ú
exceptionsr   r   r   r   r   Ú	providersr   r   Ú	reportersr   r;   r=   rî   r/   r#   r'   r%   Ú<module>rÿ      s€   ðÝ "ã Û Û ß HÕ H÷
÷ 
õ 
÷ /Ý  ÷õ ÷ ß8Ý(õô<Z,�˜˜R ˜Õ$ô Z,ôz'$Ð  B¨ 
Õ+ô '$÷Tr'   