d2G d dl Z e j d Z e j d Z e j d Zd dZ G d d ZdS ) Nz[ \(\)<>@,;:\\"/\[\]\?=]z[\x00-\x1F\x7F]z[\x00-\x08\x0A-\x1F\x7F] c |ht | dk rU|st | r2| dd dd }| d|dS | d|S | S )Nr \z\\"z\"z="=)len tspecialssearchreplace)paramvaluequotes 6/opt/alt/python311/lib64/python3.11/wsgiref/headers.py_formatparamr s SZZ!^^ ,I$$U++ ,MM$//77UCCE %uuu--#eeUU++ c z e Zd Z ddZd Zd Zd Zd Zd Zd Z d Z dd Zd Zd Z d Zd Zd Zd Zd Zd ZdS )HeadersNc j ||ng }t | t urt d || _ d S )Nz+Headers must be a list of name/value tuples)typelist TypeError_headers_convert_string_type)selfheaderskvs r __init__zHeaders.__init__$ sA $0''b==$$IJJJ 9 9r c t | t u r6|rt nt }| | rt d |S t d t | )Nz)Control characters not allowed in headersz1Header names/values must be of type str (got {0})) r str_name_disallowed_re_value_disallowed_rer ValueErrorAssertionErrorformatrepr)r r nameregexs r r zHeaders._convert_string_type. sz ';;#,0J((6JE||E"" N !LMMML %%+VDKK%8%8: : :r c , t | j S N)r r r s r __len__zHeaders.__len__8 s G4=!!!r c | |= | j | |d | |d f d S NTr' F)r appendr )r r' vals r __setitem__zHeaders.__setitem__<