Ë
    ��h  ã            	       ó8  — d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZ ddlmZmZ dd	lmZmZ dd
lmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$  ejJ                  e&«      Z' G d„ de«      Z(e
ee(f   Z)eeef   Z*eeeef   Z+e
eee*   f   Z,e
eee+   f   Z-ee,e-f   Z.ee)e.f   Z/dee)e0f   fd„Z1	 dde)dee	e2ge0f      de.fd„Z3dee$   de/fd„Z4dee"   dee   dee"ddf   fd„Z5dee$   de)dee   fd„Z6dee   de)dee   fd„Z7y)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                   ó(   — e Zd ZU eed<   ee   ed<   y)ÚPackageDetailsÚversionÚdependenciesN)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r   © ó    ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/operations/check.pyr   r   !   s   … ØÓØ�{Ñ#Ô#r#   r   Úreturnc                  ó>  — i } d}t        «       }|j                  dd¬«      D ]A  }|j                  }	 t        |j	                  «       «      }t        |j                  |«      | |<   ŒC | |fS # t        t        f$ r#}t        j                  d||«       d}Y d}~Œud}~ww xY w)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_installedr7   1   s¥   € à€KØ€HÜ
!Ó
#€CØ×0Ñ0¸EÈÐ0ÓKò ˆØ×"Ñ"ˆð	Ü × 6Ñ 6Ó 8Ó9ˆLÜ .¨t¯|©|¸\Ó JˆK˜Òð	ð ˜Ð Ð øô	 œÐ$ò 	ä�N‰NÐAÀ4ÈÔKØ�Hûð	ús   ²2A*Á*BÁ9BÂBr1   Úshould_ignorec                 ó2  — i }i }| j                  «       D ]ý  \  }}t        «       }t        «       }|r	 ||«      rŒ%|j                  D ]�  }t        |j                  «      }	|	| vrAd}
|j
                  �|j
                  j                  ddi«      }
|
r|j                  |	|f«       Œ]| |	   j                  }|j                  j                  |d¬«      rŒŠ|j                  |	||f«       ŒŸ |rt        |t        ¬«      ||<   |sŒêt        |t        ¬«      ||<   Œÿ ||fS )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   r5   ÚmarkerÚevaluateÚaddr   Ú	specifierÚcontainsÚsortedÚstr)r1   r8   ÚmissingÚconflictingÚpackage_nameÚpackage_detailÚmissing_depsÚconflicting_depsÚreqr5   Úmissedr   s               r$   Úcheck_package_setrO   B   s+  € ð €GØ€Kà(3×(9Ñ(9Ó(;ò JÑ$ˆ�nä%(£UˆÜ-0«UÐá™]¨<Ô8Øà!×.Ñ.ò 	;ˆCÜ$ S§X¡XÓ.ˆDð ˜;Ñ&Ø�Ø—:‘:Ð)Ø ŸZ™Z×0Ñ0°'¸2°Ó?�FÙØ ×$Ñ$ d¨C [Ô1Øð " $Ñ'×/Ñ/ˆGØ—=‘=×)Ñ)¨'¸tÐ)ÕDØ ×$Ñ$ d¨G°SÐ%9Õ:ð	;ñ" Ü$*¨<¼SÔ$AˆG�LÑ!ÚÜ(.Ð/?ÄSÔ(IˆK˜Ò%ð9Jð< �KÐÐr#   Ú
to_installc                 ór   ‡— t        «       \  }}t        | |«      }t        ||«      Š|t        |ˆfd„¬«      fS )zeFor checking if the dependency graph would be consistent after     installing given requirements
    c                 ó   •— | ‰vS ©Nr"   )r5   Ú	whitelists    €r$   ú<lambda>z)check_install_conflicts.<locals>.<lambda>~   s   ø€ °DÀ	Ð4I€ r#   )r8   )r7   Ú_simulate_installation_ofÚ_create_whitelistrO   )rP   r1   Ú_Úwould_be_installedrT   s       @r$   Úcheck_install_conflictsrZ   o   sJ   ø€ ô
 7Ó8�N€K�ä2°:¸{ÓKÐô "Ð"4°kÓB€Ið 	ÜØÓ'Iô	
ðð r#   ÚpackagesÚsupported_tagsc              #   ó^  K  — | D ]˜  }t        t        «      5  |j                  d«      }t        t        j
                  t        t        t        «       j                  |«      j                  dg «      «      t	        «       «      }|j                  |«      r|–— d d d «       Œš y # 1 sw Y   Œ¥xY w­w)NÚWHEELr   )r   ÚFileNotFoundErrorÚ	read_textr   Ú	frozensetÚunionÚmapr   r   ÚparsestrÚget_allÚ
isdisjoint)r[   r\   ÚpÚ
wheel_fileÚ
wheel_tagss        r$   Úcheck_unsupportedrj   ƒ   s–   è ø€ ð ò 	ˆÜÔ'Ó(ñ 	ØŸ™ WÓ-ˆJÜ)/Ü—‘Ü”Iœv›x×0Ñ0°Ó<×DÑDÀUÈBÓOÓPÜ“ó*ˆJð
 ×$Ñ$ ^Ô4Ø’÷	ð 	ñ	÷	ð 	üs   ‚B-—A?B!ÂB-Â!B*	Â&B-c                 óø   — t        «       }| D ]j  }t        |«      }|j                  «       }|j                  }t	        |j
                  t        |j                  «       «      «      ||<   |j                  |«       Œl |S )z=Computes the version of packages after installing to_install.)	r?   r   Úget_metadata_distributionr*   r   r   r+   r,   rB   )rP   r1   Ú	installedÚinst_reqÚabstract_distr4   r5   s          r$   rV   rV   “   sv   € ô
 “€Ið ò ˆÜAÀ(ÓKˆØ×6Ñ6Ó8ˆØ×"Ñ"ˆÜ*¨4¯<©<¼¸d×>TÑ>TÓ>VÓ9WÓXˆ�DÑà�‰�dÕðð Ðr#   rY   c                 ó°   — t        | «      }|D ]E  }||v rŒ||   j                  D ],  }t        |j                  «      |v sŒ|j	                  |«        ŒE ŒG |S rS   )r?   r   r   r5   rB   )rY   r1   Úpackages_affectedrI   rM   s        r$   rW   rW   ¦   sp   € ô Ð.Ó/Ðà#ò ˆØÐ,Ñ,Øà˜|Ñ,×9Ñ9ò 	ˆCÜ  §¡Ó*Ð.?Ò?Ø!×%Ñ% lÔ3Ùñ	ð	ð Ðr#   rS   )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   r/   r   Ú
PackageSetÚMissingÚConflictingÚMissingDictÚConflictingDictÚCheckResultÚConflictDetailsÚboolr7   rF   rO   rZ   rj   rV   rW   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#   