§
    
Á³gË'  ã                   óú   — d Z ddlZddlZddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZmZmZ ddlmZ ddlmZ d	Zd
Zd„ Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )z]
requests.auth
~~~~~~~~~~~~~

This module contains the authentication handlers for Requests.
é    N)Ú	b64encodeé   )Úto_native_string)Ú
basestringÚstrÚurlparse)Úextract_cookies_to_jar)Úparse_dict_headerz!application/x-www-form-urlencodedzmultipart/form-datac           	      óœ  — t          | t          ¦  «        s=t          j        d                     | ¦  «        t
          ¬¦  «         t          | ¦  «        } t          |t          ¦  «        sJt          j        d                     t          |¦  «        ¦  «        t
          ¬¦  «         t          |¦  «        }t          | t          ¦  «        r|                      d¦  «        } t          |t          ¦  «        r|                     d¦  «        }dt          t          d                     | |f¦  «        ¦  «                             ¦   «         ¦  «        z   }|S )zReturns a Basic Auth string.z·Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in ({!r}) to a string or bytes object in the near future to avoid problems.)Úcategoryz·Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in ({!r}) to a string or bytes object in the near future to avoid problems.Úlatin1zBasic ó   :)Ú
isinstancer   ÚwarningsÚwarnÚformatÚDeprecationWarningr   ÚtypeÚencoder   r   ÚjoinÚstrip)ÚusernameÚpasswordÚauthstrs      úW/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_vendor/requests/auth.pyÚ_basic_auth_strr      s6  € õ �h¥
Ñ+Ô+ð !ÝŒð÷ š˜xÑ(Ô(Ý'ð	
ñ 	
ô 	
ð 	
õ �x‘=”=ˆå�h¥
Ñ+Ô+ð !ÝŒð÷ š�t H™~œ~Ñ.Ô.Ý'ð	
ñ 	
ô 	
ð 	
õ �x‘=”=ˆõ �(�CÑ Ô ð -Ø—?’? 8Ñ,Ô,ˆå�(�CÑ Ô ð -Ø—?’? 8Ñ,Ô,ˆàÕ)Ý�$—)’)˜X xÐ0Ñ1Ô1Ñ2Ô2×8Ò8Ñ:Ô:ñô ñ €Gð €Nó    c                   ó   — e Zd ZdZd„ ZdS )ÚAuthBasez4Base class that all auth implementations derive fromc                 ó    — t          d¦  «        ‚)NzAuth hooks must be callable.)ÚNotImplementedError©ÚselfÚrs     r   Ú__call__zAuthBase.__call__H   s   € Ý!Ð"@ÑAÔAÐAr   N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   © r   r   r   r   E   s.   € € € € € Ø>Ð>ðBð Bð Bð Bð Br   r   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚHTTPBasicAuthz?Attaches HTTP Basic Authentication to the given Request object.c                 ó"   — || _         || _        d S ©N)r   r   ©r#   r   r   s      r   Ú__init__zHTTPBasicAuth.__init__O   s   € Ø ˆŒØ ˆŒˆˆr   c           	      ó„   — t          | j        t          |dd ¦  «        k    | j        t          |dd ¦  «        k    g¦  «        S ©Nr   r   ©Úallr   Úgetattrr   ©r#   Úothers     r   Ú__eq__zHTTPBasicAuth.__eq__S   óE   € Ýà”¥¨°
¸DÑ!AÔ!AÒAØ”¥¨°
¸DÑ!AÔ!AÒAðñ
ô 
ð 	
r   c                 ó   — | |k     S r/   r+   r7   s     r   Ú__ne__zHTTPBasicAuth.__ne__[   ó   € Ø˜5’=Ð Ð r   c                 óJ   — t          | j        | j        ¦  «        |j        d<   |S )NÚAuthorization©r   r   r   Úheadersr"   s     r   r%   zHTTPBasicAuth.__call__^   s!   € Ý%4°T´]ÀDÄMÑ%RÔ%RˆŒ	�/Ñ"Øˆr   N)r'   r(   r)   r*   r1   r9   r<   r%   r+   r   r   r-   r-   L   sV   € € € € € ØIÐIð!ð !ð !ð
ð 
ð 
ð!ð !ð !ðð ð ð ð r   r-   c                   ó   — e Zd ZdZd„ ZdS )ÚHTTPProxyAuthz=Attaches HTTP Proxy Authentication to a given Request object.c                 óJ   — t          | j        | j        ¦  «        |j        d<   |S )NzProxy-Authorizationr@   r"   s     r   r%   zHTTPProxyAuth.__call__f   s"   € Ý+:¸4¼=È$Ì-Ñ+XÔ+XˆŒ	Ð'Ñ(Øˆr   Nr&   r+   r   r   rC   rC   c   s)   € € € € € ØGÐGðð ð ð ð r   rC   c                   óB   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚHTTPDigestAuthz@Attaches HTTP Digest Authentication to the given Request object.c                 óR   — || _         || _        t          j        ¦   «         | _        d S r/   )r   r   Ú	threadingÚlocalÚ_thread_localr0   s      r   r1   zHTTPDigestAuth.__init__n   s&   € Ø ˆŒØ ˆŒå&œ_Ñ.Ô.ˆÔÐÐr   c                 óÄ   — t          | j        d¦  «        sJd| j        _        d| j        _        d| j        _        i | j        _        d | j        _        d | j        _        d S d S )NÚinitTÚ r   )ÚhasattrrJ   rL   Ú
last_nonceÚnonce_countÚchalÚposÚnum_401_calls)r#   s    r   Úinit_per_thread_statez$HTTPDigestAuth.init_per_thread_statet   si   € å�tÔ)¨6Ñ2Ô2ð 	4Ø&*ˆDÔÔ#Ø,.ˆDÔÔ)Ø-.ˆDÔÔ*Ø&(ˆDÔÔ#Ø%)ˆDÔÔ"Ø/3ˆDÔÔ,Ð,Ð,ð	4ð 	4r   c                 óÔ  ‡— | j         j        d         }| j         j        d         }| j         j                             d¦  «        }| j         j                             d¦  «        }| j         j                             d¦  «        }dŠ|€d}n|                     ¦   «         }|dk    s|dk    rd	„ }	|	Šn#|d
k    rd„ }
|
Šn|dk    rd„ }|Šn|dk    rd„ }|Šˆfd„}‰€dS d}t	          |¦  «        }|j        pd}|j        r|d|j        › �z  }| j        › d|› d| j        › �}|› d|› �} ‰|¦  «        } ‰|¦  «        }|| j         j	        k    r| j         xj
        dz  c_
        nd| j         _
        | j         j
        d›}t          | j         j
        ¦  «                             d¦  «        }||                     d¦  «        z  }|t          j        ¦   «                              d¦  «        z  }|t          j        d¦  «        z  }t#          j        |¦  «                             ¦   «         dd…         }|dk    r ‰|› d|› d|› �¦  «        }|s |||› d|› �¦  «        }n9|dk    sd|                     d¦  «        v r|› d|› d|› d|› �} |||¦  «        }ndS || j         _	        d| j        › d|› d|› d|› d |› d!�}|r	|d"|› d!�z  }|r	|d#|› d!�z  }|r	|d$|› d!�z  }|r|d%|› d&|› d!�z  }d'|› �S )(z
        :rtype: str
        ÚrealmÚnonceÚqopÚ	algorithmÚopaqueNÚMD5zMD5-SESSc                 ó¢   — t          | t          ¦  «        r|                      d¦  «        } t          j        | ¦  «                             ¦   «         S ©Núutf-8)r   r   r   ÚhashlibÚmd5Ú	hexdigest©Úxs    r   Úmd5_utf8z4HTTPDigestAuth.build_digest_header.<locals>.md5_utf8‘   s?   € Ý˜a¥Ñ%Ô%ð *ØŸš Ñ)Ô)�AÝ”{ 1‘~”~×/Ò/Ñ1Ô1Ð1r   ÚSHAc                 ó¢   — t          | t          ¦  «        r|                      d¦  «        } t          j        | ¦  «                             ¦   «         S r]   )r   r   r   r_   Úsha1ra   rb   s    r   Úsha_utf8z4HTTPDigestAuth.build_digest_header.<locals>.sha_utf8™   s?   € Ý˜a¥Ñ%Ô%ð *ØŸš Ñ)Ô)�AÝ”| A‘”×0Ò0Ñ2Ô2Ð2r   zSHA-256c                 ó¢   — t          | t          ¦  «        r|                      d¦  «        } t          j        | ¦  «                             ¦   «         S r]   )r   r   r   r_   Úsha256ra   rb   s    r   Úsha256_utf8z7HTTPDigestAuth.build_digest_header.<locals>.sha256_utf8¡   óA   € Ý˜a¥Ñ%Ô%ð *ØŸš Ñ)Ô)�AÝ”~ aÑ(Ô(×2Ò2Ñ4Ô4Ð4r   zSHA-512c                 ó¢   — t          | t          ¦  «        r|                      d¦  «        } t          j        | ¦  «                             ¦   «         S r]   )r   r   r   r_   Úsha512ra   rb   s    r   Úsha512_utf8z7HTTPDigestAuth.build_digest_header.<locals>.sha512_utf8©   rl   r   c                 ó$   •—  ‰| › d|› �¦  «        S )Nú:r+   )ÚsÚdÚ	hash_utf8s     €r   ú<lambda>z4HTTPDigestAuth.build_digest_header.<locals>.<lambda>°   s   ø€ ˜)˜) q J J¨1 J JÑ/Ô/€ r   ú/ú?rq   r   Ú08xr^   é   é   Úauthú,z:auth:z
username="z
", realm="z
", nonce="z", uri="z", response="ú"z
, opaque="z, algorithm="z
, digest="z, qop="auth", nc=z
, cnonce="zDigest )rJ   rQ   ÚgetÚupperr   ÚpathÚqueryr   r   rO   rP   r   r   ÚtimeÚctimeÚosÚurandomr_   rg   ra   Úsplit)r#   ÚmethodÚurlrV   rW   rX   rY   rZ   Ú
_algorithmrd   rh   rk   ro   ÚKDÚentdigÚp_parsedr€   ÚA1ÚA2ÚHA1ÚHA2Úncvaluerr   ÚcnonceÚrespdigÚnoncebitÚbasert   s                              @r   Úbuild_digest_headerz"HTTPDigestAuth.build_digest_header~   s5  ø€ ð
 Ô"Ô'¨Ô0ˆØÔ"Ô'¨Ô0ˆØÔ Ô%×)Ò)¨%Ñ0Ô0ˆØÔ&Ô+×/Ò/°Ñ<Ô<ˆ	ØÔ#Ô(×,Ò,¨XÑ6Ô6ˆØˆ	àÐØˆJˆJà"ŸšÑ*Ô*ˆJà˜ÒÐ *°
Ò":Ð":ð2ð 2ð 2ð
 !ˆIˆIØ˜5Ò Ð ð3ð 3ð 3ð
 !ˆIˆIØ˜9Ò$Ð$ð5ð 5ð 5ð
 $ˆIˆIØ˜9Ò$Ð$ð5ð 5ð 5ð
 $ˆIà/Ð/Ð/Ð/ˆàÐØ�4ð ˆÝ˜C‘=”=ˆàŒ}Ð# ˆØŒ>ð 	)ØÐ(˜œÐ(Ð(Ñ(ˆDà”Ð7Ð7 Ð7Ð7¨¬Ð7Ð7ˆØÐÐ˜ÐÐˆàˆi˜‰mŒmˆØˆi˜‰mŒmˆà�DÔ&Ô1Ò1Ð1ØÔÐ*Ô*¨aÑ/Ð*Ô*Ð*à-.ˆDÔÔ*ØÔ'Ô3Ð9Ð9ˆÝ�Ô"Ô.Ñ/Ô/×6Ò6°wÑ?Ô?ˆØ	ˆU�\Š\˜'Ñ"Ô"Ñ"ˆØ	�TŒZ‰\Œ\× Ò  Ñ)Ô)Ñ)ˆØ	�RŒZ˜‰]Œ]Ñˆå”˜a‘”×*Ò*Ñ,Ô,¨S¨b¨SÔ1ˆØ˜Ò#Ð#Ø�)˜sÐ5Ð5 UÐ5Ð5¨VÐ5Ð5Ñ6Ô6ˆCàð 	Ø�b˜ Ð.Ð.¨Ð.Ð.Ñ/Ô/ˆGˆGØ�FŠ]ˆ]˜f¨¯	ª	°#©¬Ð6Ð6ØÐ?Ð? 'Ð?Ð?¨FÐ?Ð?¸#Ð?Ð?ˆHØ�b˜˜hÑ'Ô'ˆGˆGð �4à(-ˆÔÔ%ð2˜œð 2ð 2°%ð 2ð 2À5ð 2ð 2Øð2ð 2Ø'.ð2ð 2ð 2ð 	ð ð 	+ØÐ* Ð*Ð*Ð*Ñ*ˆDØð 	1ØÐ0 IÐ0Ð0Ð0Ñ0ˆDØð 	+ØÐ* Ð*Ð*Ð*Ñ*ˆDØð 	EØÐD¨ÐDÐD¸6ÐDÐDÐDÑDˆDà˜ÐÐÐr   c                 ó0   — |j         rd| j        _        dS dS )z)Reset num_401_calls counter on redirects.r   N)Úis_redirectrJ   rS   )r#   r$   Úkwargss      r   Úhandle_redirectzHTTPDigestAuth.handle_redirectì   s'   € àŒ=ð 	1Ø/0ˆDÔÔ,Ð,Ð,ð	1ð 	1r   c                 ó²  — d|j         cxk    rdk     sn d| j        _        |S | j        j        �)|j        j                             | j        j        ¦  «         |j                             dd¦  «        }d| 	                    ¦   «         v �rA| j        j        dk     �r0| j        xj        dz  c_        t          j        d	t          j        ¬
¦  «        }t          |                     d|d¬¦  «        ¦  «        | j        _        |j         |                     ¦   «          |j                             ¦   «         }t'          |j        |j        |j        ¦  «         |                     |j        ¦  «         |                      |j        |j        ¦  «        |j        d<    |j        j        |fi |¤Ž}|j                             |¦  «         ||_        |S d| j        _        |S )zo
        Takes the given response and tries digest-auth, if needed.

        :rtype: requests.Response
        i�  iô  r   Nzwww-authenticaterM   Údigesté   zdigest )Úflags)Úcountr?   )Ústatus_coderJ   rS   rR   ÚrequestÚbodyÚseekrA   r~   ÚlowerÚreÚcompileÚ
IGNORECASEr
   ÚsubrQ   ÚcontentÚcloseÚcopyr	   Ú_cookiesÚrawÚprepare_cookiesr–   r‡   rˆ   Ú
connectionÚsendÚhistoryÚappend)r#   r$   r™   Ús_authÚpatÚprepÚ_rs          r   Ú
handle_401zHTTPDigestAuth.handle_401ñ   s·  € ð �a”mÐ)Ð)Ò)Ð) cÒ)Ð)Ð)Ð)Ø/0ˆDÔÔ,ØˆHàÔÔ!Ð-ð ŒIŒN×Ò Ô 2Ô 6Ñ7Ô7Ð7Ø”—’Ð1°2Ñ6Ô6ˆà�v—|’|‘~”~Ð%Ñ%¨$Ô*<Ô*JÈQÒ*NÑ*NàÔÐ,Ô,°Ñ1Ð,Ô,Ý”*˜Z­r¬}Ð=Ñ=Ô=ˆCÝ&7¸¿ºÀÀFÐRS¸Ñ8TÔ8TÑ&UÔ&UˆDÔÔ#ð ŒIˆIØ�GŠG‰IŒIˆIØ”9—>’>Ñ#Ô#ˆDÝ" 4¤=°!´)¸Q¼UÑCÔCÐCØ× Ò  ¤Ñ/Ô/Ð/à,0×,DÒ,DØ”˜TœXñ-ô -ˆDŒL˜Ñ)ð #�”Ô" 4Ð2Ð2¨6Ð2Ð2ˆBØŒJ×Ò˜aÑ Ô Ð ØˆBŒJàˆIà+,ˆÔÔ(Øˆr   c                 óœ  — |                       ¦   «          | j        j        r(|                      |j        |j        ¦  «        |j        d<   	 |j                             ¦   «         | j        _	        n# t          $ r d | j        _	        Y nw xY w|                     d| j        ¦  «         |                     d| j        ¦  «         d| j        _        |S )Nr?   Úresponser   )rT   rJ   rO   r–   r‡   rˆ   rA   r¢   ÚtellrR   ÚAttributeErrorÚregister_hookr·   rš   rS   r"   s     r   r%   zHTTPDigestAuth.__call__  sÍ   € à×"Ò"Ñ$Ô$Ð$àÔÔ(ð 	SØ)-×)AÒ)AÀ!Ä(ÈAÌEÑ)RÔ)RˆAŒI�oÑ&ð	*Ø%&¤V§[¢[¡]¤]ˆDÔÔ"Ð"øÝð 	*ð 	*ð 	*ð
 &*ˆDÔÔ"Ð"Ð"ð	*øøøð 	
�Š˜
 D¤OÑ4Ô4Ð4Ø	�Š˜
 DÔ$8Ñ9Ô9Ð9Ø+,ˆÔÔ(àˆs   Á
#A. Á.BÂBc           	      ó„   — t          | j        t          |dd ¦  «        k    | j        t          |dd ¦  «        k    g¦  «        S r3   r4   r7   s     r   r9   zHTTPDigestAuth.__eq__2  r:   r   c                 ó   — | |k     S r/   r+   r7   s     r   r<   zHTTPDigestAuth.__ne__:  r=   r   N)r'   r(   r)   r*   r1   rT   r–   rš   r·   r%   r9   r<   r+   r   r   rF   rF   k   s—   € € € € € ØJÐJð/ð /ð /ð4ð 4ð 4ðl ð l ð l ð\1ð 1ð 1ð
+ð +ð +ðZð ð ð(
ð 
ð 
ð!ð !ð !ð !ð !r   rF   )r*   r_   r„   r¥   rH   r‚   r   Úbase64r   Ú_internal_utilsr   Úcompatr   r   r   Úcookiesr	   Úutilsr
   ÚCONTENT_TYPE_FORM_URLENCODEDÚCONTENT_TYPE_MULTI_PARTr   r   r-   rC   rF   r+   r   r   ú<module>rÆ      sŽ  ððð ð €€€Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à -Ð -Ð -Ð -Ð -Ð -Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø +Ð +Ð +Ð +Ð +Ð +Ø $Ð $Ð $Ð $Ð $Ð $àBÐ Ø/Ð ð)ð )ð )ðXBð Bð Bð Bð Bñ Bô Bð Bðð ð ð ð �Hñ ô ð ð.ð ð ð ð �Mñ ô ð ðP!ð P!ð P!ð P!ð P!�Xñ P!ô P!ð P!ð P!ð P!r   