ó
    ‘Rj  ã            	      óÌ  • S SK Jr  S SKrS SKJr  S SKJrJrJrJ	r	J
r
JrJrJrJrJr  \" S5      r\" S5      r\" S5      r\\	\   \/ \	\   4   4   r\(       a*  SS	KJr   " S
 S\\\\4   5      r " S S\\\\\4   5      rO\" SSS/5      r\" S/ SQ5      r " S S\\   5      r " S S\\\
\   4   \\\\4   5      r " S S\	\   5      r " S S\	\   5      rSS jr\	rg)é    )ÚannotationsN)Ú
namedtuple)
ÚTYPE_CHECKINGÚCallableÚGenericÚIterableÚIteratorÚMappingÚ
NamedTupleÚSequenceÚTypeVarÚUnionÚKTÚRTÚCTé   )Ú	Criterionc                  ó*   • \ rS rSr% S\S'   S\S'   Srg)ÚRequirementInformationé   r   Úrequirementz	CT | NoneÚparent© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    ÚJD:\diplom_project\venv\Lib\site-packages\pip/_vendor/resolvelib/structs.pyr   r      s   ‡ Ø‹ØÖr    r   c                  ó8   • \ rS rSr% SrS\S'   S\S'   S\S'   S	rg
)ÚStateé   zResolution state in a round.zdict[KT, CT]Úmappingzdict[KT, Criterion[RT, CT]]Úcriteriaz$list[RequirementInformation[RT, CT]]Úbacktrack_causesr   N)r   r   r   r   Ú__doc__r   r   r   r    r!   r#   r#      s   ‡ Ù*àÓØ-Ó-Ø>Ö>r    r#   r   r   )r%   r&   r'   c                  ó�   • \ rS rSrSrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSS jrSS jrSS jrSS jrSrg)ÚDirectedGraphé-   z&A graph structure with directed edges.c                ó>   • [        5       U l        0 U l        0 U l        g ©N)ÚsetÚ	_verticesÚ	_forwardsÚ
_backwards©Úselfs    r!   Ú__init__ÚDirectedGraph.__init__0   s   € Ü"%£%ˆŒØ,.ˆŒØ-/ˆ�r    c                ó,   • [        U R                  5      $ r-   )Úiterr/   r2   s    r!   Ú__iter__ÚDirectedGraph.__iter__5   ó   € Ü�D—N‘NÓ#Ð#r    c                ó,   • [        U R                  5      $ r-   )Úlenr/   r2   s    r!   Ú__len__ÚDirectedGraph.__len__8   s   € Ü�4—>‘>Ó"Ð"r    c                ó   • XR                   ;   $ r-   )r/   ©r3   Úkeys     r!   Ú__contains__ÚDirectedGraph.__contains__;   s   € Ø—n‘nÑ$Ð$r    c                ój  • [        U 5      " 5       n[        U R                  5      Ul        U R                  R	                  5        VVs0 s H  u  p#U[        U5      _M     snnUl        U R
                  R	                  5        VVs0 s H  u  p#U[        U5      _M     snnUl        U$ s  snnf s  snnf )z$Return a shallow copy of this graph.)Útyper.   r/   r0   Úitemsr1   )r3   ÚotherÚkÚvs       r!   ÚcopyÚDirectedGraph.copy>   sŠ   € ä�T”
“ˆÜ˜dŸn™nÓ-ˆŒØ15·±×1EÑ1EÔ1GÔHÒ1G©¨˜1œc !›fš9Ñ1GÒHˆŒØ26·/±/×2GÑ2GÔ2IÔJÒ2I©$¨!˜Aœs 1›všIÑ2IÒJˆÔØˆùó IùÛJs   ÁB)ÂB/c                óÊ   • XR                   ;   a  [        S5      eU R                   R                  U5        [        5       U R                  U'   [        5       U R
                  U'   g)zAdd a new vertex to the graph.zvertex existsN)r/   Ú
ValueErrorÚaddr.   r0   r1   r@   s     r!   rN   ÚDirectedGraph.addF   sI   € à—.‘.Ó Ü˜_Ó-Ð-Ø�‰×Ñ˜3ÔÜ!›eˆ�‰�sÑÜ"›uˆ�‰˜Òr    c                ó:  • U R                   R                  U5        U R                  R                  U5       H!  nU R                  U   R                  U5        M#     U R                  R                  U5       H!  nU R                  U   R                  U5        M#     g)zCRemove a vertex from the graph, disconnecting all edges from/to it.N)r/   Úremover0   Úpopr1   )r3   rA   ÚfÚts       r!   rQ   ÚDirectedGraph.removeN   st   € à�‰×Ñ˜cÔ"Ø—‘×#Ñ# CÖ(ˆAØ�O‰O˜AÑ×%Ñ% cÖ*ñ )à—‘×$Ñ$ SÖ)ˆAØ�N‰N˜1Ñ×$Ñ$ SÖ)ò *r    c                óT   • XR                   U   ;   =(       a    X R                  U   ;   $ r-   )r1   r0   ©r3   rS   rT   s      r!   Ú	connectedÚDirectedGraph.connectedV   s%   € Ø—O‘O AÑ&Ñ&×A¨1·±¸qÑ0AÑ+AÐAr    c                ó°   • X R                   ;  a  [        U5      eU R                  U   R                  U5        U R                  U   R                  U5        g)zWConnect two existing vertices.

Nothing happens if the vertices are already connected.
N)r/   ÚKeyErrorr0   rN   r1   rW   s      r!   ÚconnectÚDirectedGraph.connectY   sF   € ð
 —N‘NÓ"Ü˜1“+ÐØ�‰�qÑ×Ñ˜aÔ Ø�‰˜Ñ×Ñ˜qÕ!r    c              #  ón   #   • U R                   R                  5        H  u  pU H  nX4v •  M
     M     g 7fr-   )r0   rF   )r3   rS   ÚchildrenrT   s       r!   Ú
iter_edgesÚDirectedGraph.iter_edgesc   s/   é € ØŸ>™>×/Ñ/Ö1‰KˆAÛ�Ø�d”
ó ò 2ùs   ‚35c                ó2   • [        U R                  U   5      $ r-   )r7   r0   r@   s     r!   Úiter_childrenÚDirectedGraph.iter_childrenh   s   € Ü�D—N‘N 3Ñ'Ó(Ð(r    c                ó2   • [        U R                  U   5      $ r-   )r7   r1   r@   s     r!   Úiter_parentsÚDirectedGraph.iter_parentsk   s   € Ü�D—O‘O CÑ(Ó)Ð)r    )r1   r0   r/   N)ÚreturnÚNone©rh   úIterator[KT]©rh   Úint)rA   r   rh   Úbool)rh   zDirectedGraph[KT])rA   r   rh   ri   )rS   r   rT   r   rh   rn   )rS   r   rT   r   rh   ri   )rh   zIterator[tuple[KT, KT]])rA   r   rh   rk   )r   r   r   r   r(   r4   r8   r=   rB   rJ   rN   rQ   rX   r\   r`   rc   rf   r   r   r    r!   r*   r*   -   sB   † Ù0ô0ô
$ô#ô%ôô%ô*ôBô"ôô
)÷*r    r*   c                  ón   • \ rS rSr S       SS jjrSS jrSS jrSS jrSS jrSS jr	SS	 jr
S
rg)ÚIteratorMappingéo   Nc                ó<   • Xl         X l        U=(       d    0 U l        g r-   )Ú_mappingÚ	_accessorÚ_appends)r3   r%   ÚaccessorÚappendss       r!   r4   ÚIteratorMapping.__init__p   s   € ð  ŒØ!ŒØ3:·=¸bˆ�r    c                ód   • SR                  U R                  U R                  U R                  5      $ )Nz!IteratorMapping({!r}, {!r}, {!r}))Úformatrs   rt   ru   r2   s    r!   Ú__repr__ÚIteratorMapping.__repr__z   s*   € Ø2×9Ñ9Ø�M‰MØ�N‰NØ�M‰Mó
ð 	
r    c                óR   • [        U R                  =(       d    U R                  5      $ r-   )rn   rs   ru   r2   s    r!   Ú__bool__ÚIteratorMapping.__bool__�   s   € Ü�D—M‘M×2 T§]¡]Ó3Ð3r    c                óH   • XR                   ;   =(       d    XR                  ;   $ r-   )rs   ru   r@   s     r!   rB   ÚIteratorMapping.__contains__„   s   € Ø—m‘mÑ#×; s¯m©mÑ';Ð;r    c                óò   •  U R                   U   n[        R
                  " U R                  U5      U R                  R                  US5      5      $ ! [         a    [        U R                  U   5      s $ f = f)Nr   )rs   r[   r7   ru   Ú	itertoolsÚchainrt   Úget)r3   rH   rI   s      r!   Ú__getitem__ÚIteratorMapping.__getitem__‡   sg   € ð	*Ø—‘˜aÑ ˆAô �Š˜tŸ~™~¨aÓ0°$·-±-×2CÑ2CÀAÀrÓ2JÓKÐKøô ó 	*Ü˜Ÿ™ aÑ(Ó)Ò)ð	*ús   ‚A Á"A6Á5A6c                ór   ^ • U 4S jT R                    5       n[        R                  " T R                  U5      $ )Nc              3  óJ   >#   • U  H  oTR                   ;  d  M  Uv •  M     g 7fr-   ©rs   ©Ú.0rH   r3   s     €r!   Ú	<genexpr>Ú+IteratorMapping.__iter__.<locals>.<genexpr>�   s   øé € ÐCš=�a°T·]±]Ñ,B—‘š=ùó   ƒ#š	#)ru   rƒ   r„   rs   ©r3   Úmores   ` r!   r8   ÚIteratorMapping.__iter__Ž   s&   ø€ ÜC˜4Ÿ=š=ÓCˆÜ�Š˜tŸ}™}¨dÓ3Ð3r    c                ór   ^ • [        U 4S jT R                   5       5      n[        T R                  5      U-   $ )Nc              3  óJ   >#   • U  H  oTR                   ;  d  M  S v •  M     g7f)r   NrŠ   r‹   s     €r!   r�   Ú*IteratorMapping.__len__.<locals>.<genexpr>“   s   øé € ÐFšm˜¸¿¹Ñ/E—1‘1šmùr�   )Úsumru   r<   rs   r�   s   ` r!   r=   ÚIteratorMapping.__len__’   s+   ø€ ÜÔF˜dŸmšmÓFÓFˆÜ�4—=‘=Ó! DÑ(Ð(r    )rt   ru   rs   r-   )r%   zMapping[KT, RT]rv   zCallable[[RT], Iterable[CT]]rw   z Mapping[KT, Iterable[CT]] | Nonerh   ri   ©rh   Ústr©rh   rn   )rA   Úobjectrh   rn   )rH   r   rh   zIterator[CT]rj   rl   )r   r   r   r   r4   r{   r~   rB   r†   r8   r=   r   r   r    r!   rp   rp   o   sV   † ð
 59ð	Aà ðAð /ðAð 2ð	Að
 
õAô
ô4ô<ôLô4÷)r    rp   c                  ó@   • \ rS rSrSrS	S jrS
S jrSS jrSS jrSr	g)Ú_FactoryIterableViewé—   a&  Wrap an iterator factory returned by `find_matches()`.

Calling `iter()` on this class would invoke the underlying iterator
factory, making it a "collection with ordering" that can be iterated
through multiple times, but lacks random access methods presented in
built-in Python sequence types.
c                ó   • Xl         S U l        g r-   ©Ú_factoryÚ	_iterable)r3   Úfactorys     r!   r4   Ú_FactoryIterableView.__init__    s   € ØŒØ.2ˆ�r    c                óJ   • [        U 5      R                   S[        U 5       S3$ ©NÚ(Ú))rE   r   Úlistr2   s    r!   r{   Ú_FactoryIterableView.__repr__¤   s$   € Ü�t“*×%Ñ%Ð& a¬¨T«
 |°1Ð5Ð5r    c                óN   •  [        [        U 5      5        g! [         a     gf = f)NFT)Únextr7   ÚStopIterationr2   s    r!   r~   Ú_FactoryIterableView.__bool__§   s,   € ð	Ü”�d“Ôð øô ó 	Ùð	ús   ‚ —
$£$c                ó”   • U R                   c  U R                  5       OU R                   n[        R                  " U5      u  U l         nU$ r-   )r¢   r¡   rƒ   Útee)r3   ÚiterableÚcurrents      r!   r8   Ú_FactoryIterableView.__iter__®   s6   € Ø&*§n¡nÑ&<�4—=‘=”?À$Ç.Á.ˆÜ"+§-¢-°Ó"9ÑˆŒ˜Øˆr    r    N)r£   zCallable[[], Iterable[RT]]rh   ri   r˜   rš   ©rh   zIterator[RT]©
r   r   r   r   r(   r4   r{   r~   r8   r   r   r    r!   r�   r�   —   s   † ñô3ô6ô÷r    r�   c                  ó@   • \ rS rSrSrS	S jrS
S jrSS jrSS jrSr	g)Ú_SequenceIterableViewé´   z¦Wrap an iterable returned by find_matches().

This is essentially just a proxy to the underlying sequence that provides
the same interface as `_FactoryIterableView`.
c                ó   • Xl         g r-   ©Ú	_sequence)r3   Úsequences     r!   r4   Ú_SequenceIterableView.__init__»   s   € Ø!�r    c                óL   • [        U 5      R                   SU R                   S3$ r¦   )rE   r   r»   r2   s    r!   r{   Ú_SequenceIterableView.__repr__¾   s%   € Ü�t“*×%Ñ%Ð& a¨¯©Ð'7°qÐ9Ð9r    c                ó,   • [        U R                  5      $ r-   )rn   r»   r2   s    r!   r~   Ú_SequenceIterableView.__bool__Á   r:   r    c                ó,   • [        U R                  5      $ r-   )r7   r»   r2   s    r!   r8   Ú_SequenceIterableView.__iter__Ä   r:   r    rº   N)r¼   zSequence[RT]r˜   rš   r´   rµ   r   r    r!   r·   r·   ´   s   † ñô"ô:ô$÷$r    r·   c                óŽ   • [        U 5      (       a  [        U 5      $ [        U [        5      (       d  [	        U 5      n [        U 5      $ )zCBuild an iterable view from the value returned by `find_matches()`.)Úcallabler�   Ú
isinstancer   r©   r·   )Úmatchess    r!   Úbuild_iter_viewrÈ   È   s9   € ä�×ÑÜ# GÓ,Ð,Ü�gœx×(Ñ(Ü�w“-ˆÜ  Ó)Ð)r    )rÇ   zMatches[CT]rh   zIterable[CT])Ú
__future__r   rƒ   Úcollectionsr   Útypingr   r   r   r   r	   r
   r   r   r   r   r   r   r   ÚMatchesÚresolvers.criterionr   r   r#   r*   rp   r�   r·   rÈ   ÚIterableViewr   r    r!   Ú<module>rÏ      s  ðÝ "ã Ý "÷÷ ÷ ñ ˆTƒ]€ÙˆTƒ]€ÙˆTƒ]€à
�˜‘˜h r¨8°B©<Ð'7Ñ8Ð8Ñ
9€æÝ.ô ¨W°R¸°V©_ô ô?�
˜G B¨¨B JÑ/õ ?ñ (Ø  =°(Ð";óÐñ �wÒ KÓL€Eô?*�G˜B‘Kô ?*ôD%)�g˜b (¨2¡,Ð.Ñ/°¸¸RÀ¸Ñ1Dô %)ôP˜8 B™<ô ô:$˜H R™Lô $ô(*ð �r    