+
    êhš!  ã                   ó¦   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^RIHt R tR t	 ! R R4      t
R t]! RR	R
RRRRRRRRRRRRRRR4      R 4       tR# )é    N)ÚMetadatac                 óP   € R P                  R V P                  R 4       4       4      # )Ú
c              3   ó¤   "  € T FF  pVP                  4       '       g   K  VP                  4       P                  R 4      '       d   KB  Vx € KH  	  R# 5i)Ú#N)ÚstripÚ
startswith)Ú.0Úlines   & ÚF/usr/lib/python3/dist-packages/pkg_resources/tests/test_working_set.pyÚ	<genexpr>Ú!strip_comments.<locals>.<genexpr>   s;   é € ð á!ˆDØ�:‰:�<ô 	à $§
¡
£× 7Ñ 7¸× <÷ 	ŠÛ!ùs   ‚AŸ"AÁ
A)ÚjoinÚsplit)Úss   &r   Ústrip_commentsr      s(   € Ø�9‰9ñ à—G‘G˜D”Móó ð ó    c              #  óÔ  "  € V P                  4       p \        P                  ! RV 4       F¸  pV'       g   K  VP                  R^4      p^\        V4      u;8:  d	   ^8:  g   Q h Q hVP	                  ^ 4      P                  R^4      w  r4V'       d4   \        P                  ! VP	                  ^ 4      4      p\        RV34      pMRp\        P                  ! W4VR7      pVx € Kº  	  R# 5i)aa  
Parse a series of distribution specs of the form:
{project_name}-{version}
   [optional, indented requirements specification]

Example:

    foo-0.2
    bar-1.0
      foo>=3.0
      [feature]
      baz

yield 2 distributions:
    - project_name=foo, version=0.2
    - project_name=bar, version=1.0,
      requires=['foo>=3.0', 'baz; extra=="feature"']
z\n(?=[^\s])r   Ú-zrequires.txtN)Úproject_nameÚversionÚmetadata)r   Úrer   ÚlenÚpopÚrsplitÚtextwrapÚdedentr   Úpkg_resourcesÚDistribution)r   ÚspecÚfieldsÚnamer   Úrequiresr   Údists   &       r   Úparse_distributionsr&      s¿   é € ð& 	
�‰‹	€AÜ—’˜¨Ö+ˆßÙØ—‘˜D !Ó$ˆØ”C˜“KÖ$ 1Ô$Ð$Ñ$Ð$Ð$ØŸ
™
 1›×,Ñ,¨S°!Ó4‰ˆßÜ—’ v§z¡z°!£}Ó5ˆHÜ °Ð :Ó;‰HàˆHÜ×)Ò)Ø¸ô
ˆð Œ
ó ,ùs   ‚C&C(c                   ó8   a € ] tR t^:t o V 3R lR ltR tRtV tR# )ÚFakeInstallerc                ó   <€ V ^8„  d   QhRR/# )é   ÚreturnN© )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚFakeInstaller.__annotate__;   s   ø€ ÷ 4ñ 4¨Tñ 4r   c                ó   € Wn         R # ©N©Ú_installable_dists)ÚselfÚinstallable_distss   &&r   Ú__init__ÚFakeInstaller.__init__;   s   € Ø"3Ör   c                ó^   a€ \        \        \        V3R  lV P                  4      4      R4      # )c                 ó   <€ V S9   # r2   r,   )r%   Úreqs   &€r   Ú<lambda>Ú(FakeInstaller.__call__.<locals>.<lambda>@   s	   ø€  T¨S¢[r   N)ÚnextÚiterÚfilterr4   )r5   r;   s   &fr   Ú__call__ÚFakeInstaller.__call__>   s(   ø€ ÜÜ”Ô0°$×2IÑ2IÓJÓKÈTó
ð 	
r   r3   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r7   rA   Ú__static_attributes__Ú__classdictcell__)r.   s   @r   r(   r(   :   s   ø‡ € ÷4ð 4÷
ð 
r   r(   c                  ó  € . p. pV  EFU  pR  \         P                  ! V4      P                  4       P                  R^4       4       w  pppppp	\	        \        V4      4      p\	        \        V4      4      p\	        \        P                  ! V4      4      pVRV3VR,           RV	33 F³  w  r«pVP                  V
4       \        VP                  4       4      p\        P                  ! RV4      '       d*   \        \        V4      p\        V\        4      '       g   Q hM\	        \        V4      4      pVP                  \         P"                  ! VVVVV4      4       Kµ  	  EKX  	  \         P$                  P'                  RVVR7      # )c              3   óT   "  € T F  p\        VP                  4       4      x € K   	  R # 5ir2   )r   Úlstrip)r
   r   s   & r   r   Ú7parametrize_test_working_set_resolve.<locals>.<genexpr>O   s%   é € ð 
áD�ô ˜1Ÿ8™8›:×&Ð&ÛDùs   ‚&(z

FÚ_replace_conflictingTz\w+$)Úids)Úinstalled_distsr6   ÚrequirementsÚreplace_conflictingÚresolved_dists_or_exception)r   r   rK   r   Úlistr&   r   Úparse_requirementsÚappendr   r   r   ÚmatchÚgetattrÚ
issubclassÚ	ExceptionÚpytestÚparamÚmarkÚparametrize)Ú	test_listÚidlistÚ	argvaluesÚtestr#   rO   r6   rP   Ú	expected1Ú	expected2Úid_rQ   Úexpecteds   *            r   Ú$parametrize_test_working_set_resolverf   D   sq  € Ø€FØ€IÜˆñ
ä—_’_ TÓ*×1Ñ1Ó3×9Ñ9¸&À!ÔDó
ñ	
ØØØØØØô
 Ô2°?ÓCÓDˆÜ Ô!4Ð5FÓ!GÓHÐÜœM×<Ò<¸\ÓJÓKˆà�5˜)Ð$ØÐ*Õ*¨D°)Ð<ó3
Ñ.ˆC hð �M‰M˜#ÔÜ% h§n¡nÓ&6Ó7ˆHÜ�xŠx˜ ×*Ò*Ü"¤=°(Ó;�Ü! (¬I×6Ò6Ð6Ñ6äÔ 3°HÓ =Ó>�Ø×ÑÜ—’Ø#Ø%Ø Ø'Øóöô3
ñ ôF �;‰;×"Ñ"ð	
ð 	Øð #ó 
ð 
r   z
    # id
    noop

    # installed

    # installable

    # wanted

    # resolved

    # resolved [replace conflicting]
    zÆ
    # id
    already_installed

    # installed
    foo-3.0

    # installable

    # wanted
    foo>=2.1,!=3.1,<4

    # resolved
    foo-3.0

    # resolved [replace conflicting]
    foo-3.0
    zÚ
    # id
    installable_not_installed

    # installed

    # installable
    foo-3.0
    foo-4.0

    # wanted
    foo>=2.1,!=3.1,<4

    # resolved
    foo-3.0

    # resolved [replace conflicting]
    foo-3.0
    zÒ
    # id
    not_installable

    # installed

    # installable

    # wanted
    foo>=2.1,!=3.1,<4

    # resolved
    DistributionNotFound

    # resolved [replace conflicting]
    DistributionNotFound
    zâ
    # id
    no_matching_version

    # installed

    # installable
    foo-3.1

    # wanted
    foo>=2.1,!=3.1,<4

    # resolved
    DistributionNotFound

    # resolved [replace conflicting]
    DistributionNotFound
    zì
    # id
    installable_with_installed_conflict

    # installed
    foo-3.1

    # installable
    foo-3.5

    # wanted
    foo>=2.1,!=3.1,<4

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    foo-3.5
    zñ
    # id
    not_installable_with_installed_conflict

    # installed
    foo-3.1

    # installable

    # wanted
    foo>=2.1,!=3.1,<4

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    DistributionNotFound
    a  
    # id
    installed_with_installed_require

    # installed
    foo-3.9
    baz-0.1
        foo>=2.1,!=3.1,<4

    # installable

    # wanted
    baz

    # resolved
    foo-3.9
    baz-0.1

    # resolved [replace conflicting]
    foo-3.9
    baz-0.1
    a  
    # id
    installed_with_conflicting_installed_require

    # installed
    foo-5
    baz-0.1
        foo>=2.1,!=3.1,<4

    # installable

    # wanted
    baz

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    DistributionNotFound
    a  
    # id
    installed_with_installable_conflicting_require

    # installed
    foo-5
    baz-0.1
        foo>=2.1,!=3.1,<4

    # installable
    foo-2.9

    # wanted
    baz

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    baz-0.1
    foo-2.9
    a  
    # id
    installed_with_installable_require

    # installed
    baz-0.1
        foo>=2.1,!=3.1,<4

    # installable
    foo-3.9

    # wanted
    baz

    # resolved
    foo-3.9
    baz-0.1

    # resolved [replace conflicting]
    foo-3.9
    baz-0.1
    a  
    # id
    installable_with_installed_require

    # installed
    foo-3.9

    # installable
    baz-0.1
        foo>=2.1,!=3.1,<4

    # wanted
    baz

    # resolved
    foo-3.9
    baz-0.1

    # resolved [replace conflicting]
    foo-3.9
    baz-0.1
    a	  
    # id
    installable_with_installable_require

    # installed

    # installable
    foo-3.9
    baz-0.1
        foo>=2.1,!=3.1,<4

    # wanted
    baz

    # resolved
    foo-3.9
    baz-0.1

    # resolved [replace conflicting]
    foo-3.9
    baz-0.1
    a  
    # id
    installable_with_conflicting_installable_require

    # installed
    foo-5

    # installable
    foo-2.9
    baz-0.1
        foo>=2.1,!=3.1,<4

    # wanted
    baz

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    baz-0.1
    foo-2.9
    zô
    # id
    conflicting_installables

    # installed

    # installable
    foo-2.9
    foo-5.0

    # wanted
    foo>=2.1,!=3.1,<4
    foo>=4

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    VersionConflict
    a+  
    # id
    installables_with_conflicting_requires

    # installed

    # installable
    foo-2.9
        dep==1.0
    baz-5.0
        dep==2.0
    dep-1.0
    dep-2.0

    # wanted
    foo
    baz

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    VersionConflict
    ap  
    # id
    installables_with_conflicting_nested_requires

    # installed

    # installable
    foo-2.9
        dep1
    dep1-1.0
        subdep<1.0
    baz-5.0
        dep2
    dep2-1.0
        subdep>1.0
    subdep-0.9
    subdep-1.1

    # wanted
    foo
    baz

    # resolved
    VersionConflict

    # resolved [replace conflicting]
    VersionConflict
    zæ
    # id
    wanted_normalized_name_installed_canonical

    # installed
    foo.bar-3.6

    # installable

    # wanted
    foo-bar==3.6

    # resolved
    foo.bar-3.6

    # resolved [replace conflicting]
    foo.bar-3.6
    c                 óÊ  € \         P                  ! . 4      p\        \        VP                  V 4      4       \
        P                  ! VP                  V\        V4      VR 7      p\        P                  ! V4      '       d1   \        P                  ! V4      ;_uu_ 4        V! 4        RRR4       R# \        V! 4       4      \        V4      8X  g   Q hR#   + '       g   i     R# ; i))Ú	installerrQ   N)r   Ú
WorkingSetrS   ÚmapÚaddÚ	functoolsÚpartialÚresolver(   ÚinspectÚisclassrZ   ÚraisesÚsorted)rO   r6   rP   rQ   rR   ÚwsÚresolve_calls   &&&&&  r   Útest_working_set_resolveru   w   s¦   € ôl 
×	!Ò	! "Ó	%€BÜŒˆR�V‰V�_Ó	%Ô&Ü×$Ò$Ø
�
‰
ØÜÐ 1Ó2Ø/ô	€Lô ‡‚Ð2×3Ò3Ü�]Š]Ð6×7Õ7ÙŒN÷ 8Ñ7ô ‘l“nÓ%¬Ð0KÓ)LÔLÐLÒL÷ 8×7Ð7ús   ÂCÃC"	)rl   ro   r   r   rZ   r   Útest_resourcesr   r   r&   r(   rf   ru   r,   r   r   Ú<module>rw      s°   ðÛ Û Û 	Û ã ã å $òò"÷J
ñ 
ò0ñf &ððð$ð&ð"ð$ð&ð$ð,ð(ð,ð,ð,ð,ð,ð(ð0ð8óy
nñ^Mó_nò^Mr   