
    j                     b    d Z ddlmZ ddlmZ ddlmZ defdZdefdZedefd            Zd	S )
zURI.   )email)url)	validatorvaluec                 4    |                      d          sdS dS )Nzfile:///FT
startswithr   s    Q/var/www/html/Carbon-Document/venv/lib/python3.11/site-packages/validators/uri.py	_file_urlr      s"    J'' u4    c                 4    |                      d          sdS dS )Nzipfs://FTr   r
   s    r   	_ipfs_urlr      s"    I&& u4r   c                L     sdS t           fddD                       rt                     S                      d          r$t           t	          d          d                   S                      d          rt                     S                      d          rt                     S                      d          rd	S                      d
          rd	S                      d          rd	S                      d          rd	S                      d          rd	S dS )a  Return whether or not given value is a valid URI.

    Examples:
        >>> uri('mailto:example@domain.com')
        True
        >>> uri('file:path.txt')
        ValidationError(func=uri, args={'value': 'file:path.txt'})

    Args:
        value:
            URI to validate.

    Returns:
        (Literal[True]): If `value` is a valid URI.
        (ValidationError): If `value` is an invalid URI.
    Fc              3   B   K   | ]}                     |          V  d S )Nr   ).0itemr   s     r   	<genexpr>zuri.<locals>.<genexpr>0   sG          	     r   >   ftpgitircsshftpshttprtmprtspsftphttpsrtmpstelnetzmailto:Nzfile:zipfs:zmagnet:?Tztel:zdata:zurn:zurc:)anyr   r	   r   lenr   r   r
   s   `r   urir#      su   $  u
     
     & 5zz 	"" .U3y>>++,---           
## t  t    t  t  t5r   N)	__doc__r   r   utilsr   strr   r   r#    r   r   <module>r(      s    

                  S    S     Ls L L L L L Lr   