ó
    Þ j  ã            	       óF  • S r SSKrSSKJr  SSKJ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SKJr  SSKJrJr  SS	KJrJr  SS
KJr  SSKJr  SSKJ r   SSK!J"r"  SSK#J$r$  \RJ                  " \&5      r' " S S\5      r(\
\\(4   r)\\\4   r*\\\\4   r+\
\\\*   4   r,\
\\\+   4   r-\\,\-4   r.\\)\.4   r/S\\)\04   4S jr1 SS\)S\\	\2/\04      S\.4S jjr3S\\$   S\/4S jr4S\\"   S\\   S\\"SS4   4S jr5S\\$   S\)S\\   4S jr6S\\   S\)S\\   4S jr7g)z'Validation of dependencies of packages
é    N)Úsuppress)ÚParser)Úreduce)
ÚCallableÚDictÚ	FrozenSetÚ	GeneratorÚIterableÚListÚ
NamedTupleÚOptionalÚSetÚTuple)ÚRequirement)ÚTagÚ	parse_tag)ÚNormalizedNameÚcanonicalize_name)ÚVersion)Ú)make_distribution_for_install_requirement)Úget_default_environment)ÚBaseDistribution)ÚInstallRequirementc                   ó0   • \ rS rSr% \\S'   \\   \S'   Srg)ÚPackageDetailsé"   ÚversionÚdependencies© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__annotations__r   r   Ú__static_attributes__r   ó    ÚX/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/operations/check.pyr   r   "   s   ‡ ØÓØ�{Ñ#Ö#r&   r   Úreturnc                  ó:  • 0 n Sn[        5       nUR                  SSS9 HA  nUR                  n [        UR	                  5       5      n[        UR                  U5      X'   MC     X4$ ! [        [        4 a#  n[        R                  SXF5        Sn SnAMv  SnAff = f)z3Converts a list of distributions into a PackageSet.Fr   )Ú
local_onlyÚskipz$Error parsing dependencies of %s: %sTN)r   Úiter_installed_distributionsÚcanonical_nameÚlistÚiter_dependenciesr   r   ÚOSErrorÚ
ValueErrorÚloggerÚwarning)Úpackage_setÚproblemsÚenvÚdistÚnamer   Úes          r'   Ú!create_package_set_from_installedr:   2   s›   € à€KØ€HÜ
!Ó
#€CØ×0Ñ0¸EÈÐ0ÓKˆØ×"Ñ"ˆð	Ü × 6Ñ 6Ó 8Ó9ˆLÜ .¨t¯|©|¸\Ó JˆKÓñ	 Lð Ð Ð øô	 œÐ$ó 	ä�N‰NÐAÀ4ÔKØŽHûð	ús   ¯1A'Á'BÁ7BÂBr4   Úshould_ignorec                 óh  • 0 n0 nU R                  5        GH  u  pE[        5       n[        5       nU(       a  U" U5      (       a  M0  UR                   H¦  n[        UR                  5      n	X�;  aG  Sn
UR
                  b  UR
                  R                  SS05      n
U
(       a  UR                  X˜45        Md  X	   R                  nUR                  R                  USS9(       a  M“  UR                  X›U45        M¨     U(       a  [        U[        S9X$'   U(       d  GM  [        U[        S9X4'   GM     X#4$ )z‹Check if a package set is consistent

If should_ignore is passed, it should be a callable that takes a
package name and returns a boolean.
TÚextraÚ )Úprereleases)Úkey)ÚitemsÚsetr   r   r8   ÚmarkerÚevaluateÚaddr   Ú	specifierÚcontainsÚsortedÚstr)r4   r;   ÚmissingÚconflictingÚpackage_nameÚpackage_detailÚmissing_depsÚconflicting_depsÚreqr8   Úmissedr   s               r'   Úcheck_package_setrR   C   s  € ð €GØ€Kà(3×(9Ñ(9×(;Ñ$ˆä%(£UˆÜ-0«UÐæ™]¨<×8Ñ8Ùà!×.Ô.ˆCÜ$ S§X¡XÓ.ˆDð Ó&Ø�Ø—:‘:Ñ)Ø ŸZ™Z×0Ñ0°'¸2°Ó?�FÞØ ×$Ñ$ d [Ô1Ùð "Ñ'×/Ñ/ˆGØ—=‘=×)Ñ)¨'¸tÐ)×DÐDØ ×$Ñ$ d°SÐ%9Ö:ñ /ö" Ü$*¨<¼SÑ$AˆGÑ!ßÑÜ(.Ð/?ÄSÑ(IˆKÔ%ñ9 )<ð< ÐÐr&   Ú
to_installc                 óh   ^• [        5       u  p[        X5      n[        X15      mU[        UU4S jS94$ )zeFor checking if the dependency graph would be consistent after     installing given requirements
    c                 ó   >• U T;  $ ©Nr   )r8   Ú	whitelists    €r'   Ú<lambda>Ú)check_install_conflicts.<locals>.<lambda>   s
   ø€ °DÀ	Ò4Ir&   )r;   )r:   Ú_simulate_installation_ofÚ_create_whitelistrR   )rS   r4   Ú_Úwould_be_installedrW   s       @r'   Úcheck_install_conflictsr^   p   sD   ø€ ô
 7Ó8�N€Kä2°:ÓKÐô "Ð"4ÓB€Ið 	ÜØÔ'Iñ	
ðð r&   ÚpackagesÚsupported_tagsc              #   óx  #   • U  Hž  n[        [        5         UR                  S5      n[        [        R
                  [        [        [        5       R                  U5      R                  S/ 5      5      [	        5       5      nUR                  U5      (       a  Uv •  S S S 5        M      g ! , (       d  f       M²  = f7f)NÚWHEELr   )r   ÚFileNotFoundErrorÚ	read_textr   Ú	frozensetÚunionÚmapr   r   ÚparsestrÚget_allÚ
isdisjoint)r_   r`   ÚpÚ
wheel_fileÚ
wheel_tagss        r'   Úcheck_unsupportedrn   „   sˆ   é € ó ˆÜÔ'Õ(ØŸ™ WÓ-ˆJÜ)/Ü—‘Ü”Iœv›x×0Ñ0°Ó<×DÑDÀUÈBÓOÓPÜ“ó*ˆJð
 ×$Ñ$ ^×4Ñ4Ø’÷ )Ñ(ò ß(Ö(üs   ‚B:—BB(ÂB:Â(
B7	Â2B:c                 óú   • [        5       nU  Hj  n[        U5      nUR                  5       nUR                  n[	        UR
                  [        UR                  5       5      5      X'   UR                  U5        Ml     U$ )z=Computes the version of packages after installing to_install.)	rB   r   Úget_metadata_distributionr-   r   r   r.   r/   rE   )rS   r4   Ú	installedÚinst_reqÚabstract_distr7   r8   s          r'   rZ   rZ   ”   so   € ô
 “€Ió ˆÜAÀ(ÓKˆØ×6Ñ6Ó8ˆØ×"Ñ"ˆÜ*¨4¯<©<¼¸d×>TÑ>TÓ>VÓ9WÓXˆÑà�‰�dÖñ ð Ðr&   r]   c                 óÀ   • [        U 5      nU HL  nX2;   a  M
  X   R                   H0  n[        UR                  5      U;   d  M  UR	                  U5          MJ     MN     U$ rV   )rB   r   r   r8   rE   )r]   r4   Úpackages_affectedrL   rP   s        r'   r[   r[   §   sa   € ô Ð.Ó/Ðã#ˆØÓ,ÙàÑ,×9Ô9ˆCÜ  §¡Ó*Ð.?Õ?Ø!×%Ñ% lÔ3Úó :ñ	 $ð Ðr&   rV   )8Ú__doc__ÚloggingÚ
contextlibr   Úemail.parserr   Ú	functoolsr   Útypingr   r   r   r	   r
   r   r   r   r   r   Ú"pip._vendor.packaging.requirementsr   Úpip._vendor.packaging.tagsr   r   Úpip._vendor.packaging.utilsr   r   Úpip._vendor.packaging.versionr   Úpip._internal.distributionsr   Úpip._internal.metadatar   Úpip._internal.metadata.baser   Úpip._internal.req.req_installr   Ú	getLoggerr    r2   r   Ú
PackageSetÚMissingÚConflictingÚMissingDictÚConflictingDictÚCheckResultÚConflictDetailsÚboolr:   rI   rR   r^   rn   rZ   r[   r   r&   r'   Ú<module>r�      s¼  ðñó Ý Ý Ý ÷÷ ÷ õ ;ß 5ß IÝ 1å QÝ :Ý 8Ý <à	×	Ò	˜8Ó	$€ô$�Zô $ð �. .Ð0Ñ1€
Ø
� Ð+Ñ
,€Ø�N G¨[Ð8Ñ9€à�> 4¨¡=Ð0Ñ1€Ø�~ t¨KÑ'8Ð8Ñ9€Ø�K Ð0Ñ1€Ø˜
 KÐ/Ñ0€ð!¨5°¸TÐ1AÑ+Bô !ð$ OSñ* Øð* Ø,4°X¸s¸eÀT¸kÑ5JÑ,Kð* àõ* ðZ¨Ð-?Ñ(@ð À_ô ð(ØÐ'Ñ(ðà˜S‘Mðð Ð  tÐ+Ñ,ôð ØÐ'Ñ(ðØ7AðàˆÑôð&Ø˜NÑ+ðØ:DðàˆÑõr&   