
    xi                        d dl Z d dlZddlmZ  e j
                  d      Zd Zdej                  z   ej                  z   Z
 ej                  e
      j                  d      Z ej                   ej                  dej                  z   ej                  z          ej                   ej                  d	      j!                               z         j                  d
      Zej$                  j'                         j                  d      j)                  e      Zej'                         j                  d      j-                  ej.                  j0                        Ze ej4                  d	      z   eez  z   Z ej8                   ej:                   ej<                  e                  Z ed      Z e  ed       ed      z  z   Z!ej'                         Z" ej:                   ej<                  e!            Z#ddZ$ddZ%y)    N   )MalformedHeaderz\\(.)c                 :    t         j                  d|d   dd       S )Nz\1r   r   )UNQUOTE_PAIRSsub)s_ts      Y/var/www/html/chatbot/card-advisor-bot/venv/lib/python3.12/site-packages/httplib2/auth.py<lambda>r   	   s    -++E1Q4":>     z!#$%&'*+-.^_`|~tokenz-._~+/=token68zquoted-stringzauth-param-nameschemeparamsc                     | j                  |d      j                         }|si S 	 t        j                  |      }|j                         S # t        j
                  $ r t        |      w xY w)z(https://tools.ietf.org/html/rfc7615
     )getstripauthentication_infoparse_stringppParseExceptionr   as_dict)headers
headernameheaderparseds       r   _parse_authentication_infor!      sk     [[R(..0F	*$11&9
 >>	  *j))*s   A A*c                 Z   | j                  |d      j                         }|si S 	 t        j                  |      }|D ci c]>  }|d   j                         d|v r|d   j                         nd|j                  d      i@ }}|S # t        j
                  $ r t        |      w xY wc c}w )z?Returns a dictionary of dictionaries, one dict per auth_scheme.r   r   r   r   )	r   r   www_authenticater   r   r   r   lowerr   )r   r   r   r    	challengeretvals         r   _parse_www_authenticater'   .   s    [[R(..0F	*!..v6  	  	(!!#y  &/x%8%@%@%By}}W-.	/F  M  *j))*s   B AB(B%)zauthentication-info)zwww-authenticate)&re	pyparsingr   errorr   compiler   unquotenumsalphastcharWordset_namer   CombineOptionalleave_whitespacer   dbl_quoted_stringcopyset_parse_actionquoted_stringadd_parse_actioncommondowncase_tokensauth_param_nameSuppress
auth_paramDictDelimitedListGroupr   r   r%   r   r#   r!   r'    r   r   <module>rC      s   	  " 

8$
> 	BGG#bii/(
"**WRWWX/"));<{r{{7277SV<KhKhKj?kk
l
u
u $$))+44_EVVW^_**,''(9:KKBIILeLef{r{{3//=53HI
	!!!("((:"67	8	xfX&)99:	kkm #2##HBHHY$78 r   