<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

7Reλ  c               @   sπ   d  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 m	 Z	 d d l
 m Z d d l m Z d Z d	 Z d
 d   Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z d S(   u]   
requests.auth
~~~~~~~~~~~~~

This module contains the authentication handlers for Requests.
i    N(   u	   b64encodei   (   u   urlparseu   str(   u   extract_cookies_to_jar(   u   parse_dict_headeru!   application/x-www-form-urlencodedu   multipart/form-datac             C   s0   d t  d |  | f j d   j   j d  S(   u   Returns a Basic Auth string.u   Basic u   %s:%su   latin1(   u	   b64encodeu   encodeu   stripu   decode(   u   usernameu   password(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   _basic_auth_str   s    u   _basic_auth_strc             B   s&   |  Ee  Z d  Z d Z d d   Z d S(   u   AuthBaseu4   Base class that all auth implementations derive fromc             C   s   t  d   d  S(   Nu   Auth hooks must be callable.(   u   NotImplementedError(   u   selfu   r(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   __call__"   s    u   AuthBase.__call__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   __call__(   u
   __locals__(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   AuthBase   s   u   AuthBasec             B   s2   |  Ee  Z d  Z d Z d d   Z d d   Z d S(   u   HTTPBasicAuthu?   Attaches HTTP Basic Authentication to the given Request object.c             C   s   | |  _  | |  _ d  S(   N(   u   usernameu   password(   u   selfu   usernameu   password(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   __init__(   s    	u   HTTPBasicAuth.__init__c             C   s    t  |  j |  j  | j d <| S(   Nu   Authorization(   u   _basic_auth_stru   usernameu   passwordu   headers(   u   selfu   r(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   __call__,   s    u   HTTPBasicAuth.__call__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u   __call__(   u
   __locals__(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   HTTPBasicAuth&   s   u   HTTPBasicAuthc             B   s&   |  Ee  Z d  Z d Z d d   Z d S(   u   HTTPProxyAuthu=   Attaches HTTP Proxy Authentication to a given Request object.c             C   s    t  |  j |  j  | j d <| S(   Nu   Proxy-Authorization(   u   _basic_auth_stru   usernameu   passwordu   headers(   u   selfu   r(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   __call__3   s    u   HTTPProxyAuth.__call__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   __call__(   u
   __locals__(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   HTTPProxyAuth1   s   u   HTTPProxyAuthc             B   sJ   |  Ee  Z d  Z d Z d d   Z d d   Z d d   Z d d	   Z d
 S(   u   HTTPDigestAuthu@   Attaches HTTP Digest Authentication to the given Request object.c             C   s:   | |  _  | |  _ d |  _ d |  _ i  |  _ d  |  _ d  S(   Nu    i    (   u   usernameu   passwordu
   last_nonceu   nonce_countu   chalu   Noneu   pos(   u   selfu   usernameu   password(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   __init__:   s    					u   HTTPDigestAuth.__init__c                s6  |  j  d } |  j  d } |  j  j d  } |  j  j d  } |  j  j d  } | d  k re d } n | j   } | d k s | d k r d d	   }	 |	   n! | d
 k rΏ d d   }
 |
   n    f d d   }   d  k rα d  Sd  } t |  } | j } | j r| d | j 7} n  d |  j | |  j f } d | | f }   |  }   |  } | |  j	 k r{|  j
 d 7_
 n	 d |  _
 d |  j
 } t |  j
  j d  } | | j d  7} | t j   j d  7} | t j d  7} t j |  j   d  d  } d | | | | | f } | d k rH  d | | | f  } n  | d  k rp| | d | | f  } n7 | d k sd | j d  k r£| | |  } n d  S| |  _	 d |  j | | | | f } | rγ| d | 7} n  | rϊ| d | 7} n  | r| d | 7} n  | r.| d | | f 7} n  d | S(    Nu   realmu   nonceu   qopu	   algorithmu   opaqueu   MD5u   MD5-SESSc             S   s4   t  |  t  r! |  j d  }  n  t j |   j   S(   Nu   utf-8(   u
   isinstanceu   stru   encodeu   hashlibu   md5u	   hexdigest(   u   x(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   md5_utf8P   s    u4   HTTPDigestAuth.build_digest_header.<locals>.md5_utf8u   SHAc             S   s4   t  |  t  r! |  j d  }  n  t j |   j   S(   Nu   utf-8(   u
   isinstanceu   stru   encodeu   hashlibu   sha1u	   hexdigest(   u   x(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   sha_utf8V   s    u4   HTTPDigestAuth.build_digest_header.<locals>.sha_utf8c                s     d |  | f  S(   Nu   %s:%s(    (   u   su   d(   u	   hash_utf8(    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   <lambda>\   s    u4   HTTPDigestAuth.build_digest_header.<locals>.<lambda>u   ?u   %s:%s:%su   %s:%si   u   %08xu   utf-8i   i   u   %s:%s:%s:%s:%su   authu   ,u>   username="%s", realm="%s", nonce="%s", uri="%s", response="%s"u   , opaque="%s"u   , algorithm="%s"u   , digest="%s"u    , qop="auth", nc=%s, cnonce="%s"u	   Digest %s(   u   chalu   getu   Noneu   upperu   urlparseu   pathu   queryu   usernameu   passwordu
   last_nonceu   nonce_countu   stru   encodeu   timeu   ctimeu   osu   urandomu   hashlibu   sha1u	   hexdigestu   split(   u   selfu   methodu   urlu   realmu   nonceu   qopu	   algorithmu   opaqueu
   _algorithmu   md5_utf8u   sha_utf8u   KDu   entdigu   p_parsedu   pathu   A1u   A2u   HA1u   HA2u   ncvalueu   su   cnonceu   noncebitu   respdigu   base(    (   u	   hash_utf8u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   build_digest_headerB   sn    						!	u"   HTTPDigestAuth.build_digest_headerc             K   sk  |  j  d k	 r( | j j j |  j   n  t |  d d  } | j j d d  } d | j   k rW| d k  rWt	 |  d | d  t
 j d d t
 j } t | j d | d	 d  |  _ | j | j j   | j j   } t | j | j | j  | j | j  |  j | j | j  | j d
 <| j j | |  } | j j |  | | _ | St	 |  d d  | S(   u:   Takes the given response and tries digest-auth, if needed.u   num_401_callsi   u   www-authenticateu    u   digesti   u   digest u   flagsu   countu   AuthorizationN(   u   posu   Noneu   requestu   bodyu   seeku   getattru   headersu   getu   loweru   setattru   reu   compileu
   IGNORECASEu   parse_dict_headeru   subu   chalu   contentu   rawu   release_connu   copyu   extract_cookies_to_jaru   _cookiesu   prepare_cookiesu   build_digest_headeru   methodu   urlu
   connectionu   sendu   historyu   append(   u   selfu   ru   kwargsu   num_401_callsu   s_authu   patu   prepu   _r(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu
   handle_401   s*    !	u   HTTPDigestAuth.handle_401c             C   sm   |  j  r+ |  j | j | j  | j d <n  y | j j   |  _ Wn t k
 rU Yn X| j	 d |  j
  | S(   Nu   Authorizationu   response(   u
   last_nonceu   build_digest_headeru   methodu   urlu   headersu   bodyu   tellu   posu   AttributeErroru   register_hooku
   handle_401(   u   selfu   r(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   __call__Έ   s    	"u   HTTPDigestAuth.__call__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u   build_digest_headeru
   handle_401u   __call__(   u
   __locals__(    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   HTTPDigestAuth8   s
   S#u   HTTPDigestAuth(   u   __doc__u   osu   reu   timeu   hashlibu   base64u	   b64encodeu   compatu   urlparseu   stru   cookiesu   extract_cookies_to_jaru   utilsu   parse_dict_headeru   CONTENT_TYPE_FORM_URLENCODEDu   CONTENT_TYPE_MULTI_PARTu   _basic_auth_stru   objectu   AuthBaseu   HTTPBasicAuthu   HTTPProxyAuthu   HTTPDigestAuth(    (    (    u2   /tmp/pip-zej_zi-build/pip/_vendor/requests/auth.pyu   <module>   s   