
    .Ph
                     j   d dl Z d dlZd dlmZmZmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ  G d d	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Zeeeeef         Z G d de          Z G d de          Z G d de          ZdS )    N)DictListOptionalUnion)	BaseModelFieldfield_validator)Literal)StrictModel)Channel)PipRepositoryc                       e Zd ZU eed<   dZed         ed<   dZeed<   g Ze	e         ed<   dZ
ee         ed	<    ed          ed
e	e         de	e         fd                        ZdS )_BaseDependencynamecondar   pipmanagermaincategoryextrasNmarkersvreturnc                      t          |          S N)sorted)clsr   s     [/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/conda_lock/models/lock_spec.pysorted_extrasz_BaseDependency.sorted_extras   s     ayy    )__name__
__module____qualname__str__annotations__r   r
   r   r   r   r   r   r	   classmethodr     r!   r   r   r      s         
III'.GW^$...HcFDI!GXc]!!!_Xd3i DI    [   r!   r   c                   h    e Zd ZU eed<   dZee         ed<   dZee         ed<   dZee         ed<   dS )VersionedDependencyversionNbuildconda_channelhash)	r"   r#   r$   r%   r&   r,   r   r-   r.   r(   r!   r   r*   r*      sW         LLLE8C=#'M8C='''D(3-r!   r*   c                   0    e Zd ZU eed<   ee         ed<   dS )URLDependencyurlhashesN)r"   r#   r$   r%   r&   r   r(   r!   r   r0   r0   "   s+         	HHHIr!   r0   c                   X    e Zd ZU eed<   eed<   dZee         ed<   dZee         ed<   dS )VCSDependencysourcevcsNrevsubdirectory)r"   r#   r$   r%   r&   r7   r   r8   r(   r!   r   r4   r4   '   sL         KKK	HHHC#"&L(3-&&&&&r!   r4   c                   >    e Zd ZU eed<   eed<   dZee         ed<   dS )PathDependencypathis_directoryNr8   )r"   r#   r$   r%   r&   boolr8   r   r(   r!   r   r:   r:   .   s;         
III"&L(3-&&&&&r!   r:   c                   $    e Zd ZU eed<   eed<   dS )Packager1   r.   N)r"   r#   r$   r%   r&   r(   r!   r   r?   r?   7   s"         	HHH
IIIIIr!   r?   c                   ~    e Zd ZU dZee         ed<   ed         ed<   eed<   dZ	ee         ed<   dZ
ee         ed<   dS )PoetryMappedDependencySpecNr1   r   r   r   r   poetry_version_spec)r"   r#   r$   r1   r   r%   r&   r
   r   r   rB   r(   r!   r   rA   rA   <   si         C#^$$$$LLL!GXc]!!!)-#-----r!   rA   c                      e Zd ZU eeee         f         ed<   ee         ed<   ee	j
                 ed<    ee          Zee         ed<   dZeed<   edee         fd	            Z edd
          edeeeef                  dee         fd                        Z edd
          edeeeef                  dee         fd                        ZdS )LockSpecificationdependencieschannelssources)default_factorypip_repositoriesTallow_pypi_requestsr   c                 N    t          | j                                                  S r   )listrE   keys)selfs    r   	platformszLockSpecification.platformsL   s    D%**,,---r!   before)moder   c                    t          |          D ]M\  }}t          |t                    rt          j        |          }|||<   |j        dk    rt          d          Nt          j        t          t                   |          S )N
nodefaultsz+nodefaults channel is not allowed, ref #418)
	enumerate
isinstancer%   r   from_stringr1   
ValueErrortypingcastr   )r   r   ies       r   validate_channelsz#LockSpecification.validate_channelsP   s     aLL 	P 	PDAq!S!! '**!u$$ !NOOO %{4=!,,,r!   valuec                     t          |          D ]1\  }}t          |t                    rt          j        |          ||<   2t          j        t          t                   |          S r   )rT   rU   r%   r   rV   rX   rY   r   )r   r]   index
repositorys       r   validate_pip_repositoriesz+LockSpecification.validate_pip_repositories[   sa    
 "+5!1!1 	E 	EE:*c** E,8DDe{4.666r!   N)r"   r#   r$   r   r%   r   
Dependencyr&   r   pathlibPathr   rL   rI   r   rJ   r=   propertyrO   r	   r'   r   r\   ra   r(   r!   r   rD   rD   D   sj        sD,,----7m',,1E$,G,G,Gd=)GGG $$$$.49 . . . X. _Zh///-$uWc\':"; -W - - - [ 0/- _'h7777}c1237	m	7 7 7 [ 877 7 7r!   rD   )rc   rX   r   r   r   r   pydanticr   r   r	   typing_extensionsr
   conda_lock.modelsr   conda_lock.models.channelr    conda_lock.models.pip_repositoryr   r   r*   r0   r4   r:   rb   r?   rA   rD   r(   r!   r   <module>rk      s     . . . . . . . . . . . . 6 6 6 6 6 6 6 6 6 6 % % % % % % ) ) ) ) ) ) - - - - - - : : : : : :
 
 
 
 
k 
 
 
    /       O   
' ' ' ' 'O ' ' '' ' ' ' '_ ' ' ' &}nTU
    k   
. . . . . . . .7 7 7 7 7	 7 7 7 7 7r!   