
    +h                     N   d dl Z d dlZd dlmZmZmZ d dlmZmZ  ej	        d          Z
d  ed          D             ZdZdZed	z   Zeez   Zeez   d
z   Zeez   Z ej        d          Z ej        d          Z e j        d          Z G d d          Z G d d          ZdS )    N)ascii_lettersascii_lowercasedigits)Optionalcastasciic                 @    h | ]}d |d                     d          S )%02Xr   )encode).0is     T/var/www/html/e360mart/e360mart_env/lib/python3.11/site-packages/yarl/_quoting_py.py	<setcomp>r      s.    @@@A""7++@@@       z:/?#[]@z!$'()*,+&=;z-._~s   [A-Z0-9][A-Z0-9]z[A-Fa-f0-9][A-Fa-f0-9]zutf-8c                   ^    e Zd Zddddddedededed	d
f
dZdee         d	ee         fdZd
S )_Quoter FT)safe	protectedqsrequoter   r   r   r   returnNc                >    || _         || _        || _        || _        d S )N)_safe
_protected_qs_requote)selfr   r   r   r   s        r   __init__z_Quoter.__init__   s$     
#r   valc                    |d S t          |t                    st          d          |sdS t          t          |                              dd          }t                      }t                      }| j        }|t          z  }| j        s|dz  }|| j	        z  }|                    d          }d}|t          |          k     r||         }|d	z  }|r|t          v r|d
z
  }|                    |           t          |          dk    r=|d	d          }	t                              |	          s/|                    d           |                                 |dz  }	 t#          t%          |d	d                              d          d                    }
n?# t(          $ r2 |                    d           |                                 |dz  }Y $w xY w|
| j	        v r|                    |           n<|
|v r#|                    t+          |
                     n|                    |           |                                 nTt          |          dk    rA|t          |          k    r.|                    d           |                                 |d	z  }|t+          d          k    rZ| j        rS|                                 |                    |           |t          |          k    r|                    d           [| j        r7|t+          d          k    r$|                    t+          d                     ||v r|                    |           |                    d|d                    d                     |t          |          k     |                    d          }||k    r|S |S )NArgument should be strr   utf8ignore)errorsr   r   r             s   %25      baser
    +r   )
isinstancestr	TypeErrorr   r   	bytearrayr   ALLOWEDr   r   lenBASCII_LOWERCASEappend_IS_HEXmatchextendclearchrintdecode
ValueErrorordr    )r!   r#   bvalretpctr   bsafeidxchbufunquotedret2s               r   __call__z_Quoter.__call__$   s   ;4#s## 	64555 	2C~~$$VH$==kkkkzx 	FNDG$$CIIoocB1HC +)))bB

2s88q==abb'C"==-- !

6***		q !#&s3qrr7>>'+B+B'L'L'L#M#M% ! ! !

6***		q 	!  4?22

3!T))

3x==1111

3IIKKKK XX]]sc$ii'7'7JJv&&&IIKKK1HCs3xxDM		

2 #d))##JJv&&&x S>>JJs3xx(((U{{

2JJB,,W55666s CIIoov zz'""3;;Js    9F 8GG__name__
__module____qualname__r3   boolr"   r   rL    r   r   r   r      s                 	 
     
       OHSM Ohsm O O O O O Or   r   c                   R    e Zd ZddddededdfdZd	ee         dee         fd
ZdS )	_Unquoterr   F)unsafer   rU   r   r   Nc                r    || _         || _        t                      | _        t          d          | _        d S )NT)r   )_unsafer   r   _quoter
_qs_quoter)r!   rU   r   s      r   r"   z_Unquoter.__init__w   s1    yy!T***r   r#   c                    |d S t          |t                    st          d          |sdS t          t          j        t                                }g }d}|t          |          k     r||         }|dz  }|dk    r|t          |          dz
  k    r|||dz            }t          	                    |          rt          t          |d          g          }|dz  }	 |                    |          }n# t          $ r |d	z
  t          |j                  d	z  z
  }	|                    ||	|d	z
                      |                                 	 |                    |          }n2# t          $ r% |                    ||d	z
  |                    Y Y Bw xY wY nw xY w|sP| j        r@|d
v r<|                     |          }
|
t'          d          |                    |
           nZ|| j        v r<|                     |          }
|
t'          d          |                    |
           n|                    |           |j        rQ|dz
  t          |j                  d	z  z
  }	|                    ||	|dz
                      |                                 |dk    r=| j        r	|| j        v r|                    d           n|                    d           || j        v rg|                    d           t-          t/          |                                                    dd          }|D ]}|                    |           |                    |           |t          |          k     |j        r3|                    |t          |j                   d	z  d                     d                    |          }||k    r|S |S )Nr%   r   r   r)   r
   r,   r-   r.   r+   z+=&;zCannot quote Noner1   r0   )r2   r3   r4   r   codecsBufferedIncrementalDecoderutf8_decoderr7   _IS_HEX_STR	fullmatchbytesr?   r@   UnicodeDecodeErrorbufferr9   resetr   rY   RuntimeErrorrW   rX   hexrB   upperjoin)r!   r#   decoderrD   rG   rH   rE   brJ   	start_pctto_addhrK   s                r   rL   z_Unquoter.__call__}   s   ;4#s## 	64555 	2v8,..IICHHnnSB1HCSyySCHHqL00#a-(((-- s3R000122A1HC
%#*>>!#4#4- % % %$'!Gc'..A.AA.E$E	

3y37':#;<<<%'.~~a'8'8HH1 % % %JJs37S='9:::$HH% %H% $ ! x -H$6$6!%!:!:!>"./B"C"CC

6****!T\11!%h!7!7!>"./B"C"CC

6****

8,,,~  !Gc'.&9&9A&==	

3y3723444Syyx $2#5#5JJsOOOOJJsOOOT\!!

3BLL&&((, # #BJJrNNNNJJrNNNm CHHnnp > 	8JJsC///!3556777wws||3;;Js7   #C9 9AF E+*F +*FF FF F rM   rR   r   r   rT   rT   v   s~        (*u + + +# + + + + + +HHSM Hhsm H H H H H Hr   rT   )r[   restringr   r   r   typingr   r   r   r8   rangeBPCT_ALLOWED
GEN_DELIMSSUB_DELIMS_WITHOUT_QS
SUB_DELIMSRESERVED
UNRESERVEDr6   compiler:   r^   getincrementaldecoderr]   r   rT   rR   r   r   <module>ry      sY    				 9 9 9 9 9 9 9 9 9 9 ! ! ! ! ! ! ! !)?)'22 @@UU3ZZ@@@
! "V+

"V#f,

,
, "*(
)
)bj122+v+G44] ] ] ] ] ] ] ]@O O O O O O O O O Or   