§
    ~Štjž|  ã                   óš  — U 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Zd dlZd dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZmZmZmZmZmZ d dlmZ d dlZd dlmZmZmZmZmZ d dlm Z  d	d
l!m"Z" d	dl#m$Z$ d	dl%m&Z& d	dl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 d	dl5m6Z6 d	dl7m8Z8 d	dl9m:Z:m;Z; d	dl<m=Z=m>Z> d	dl?m@Z@mAZAmBZBmCZCmDZD d	dlEmFZFmGZG d	dlHmIZI dZJerd	dlKmLZL d	dlMmNZN d	dlOmPZP  ed¦  «        ZQ ejR        ddd¬¦  «         G d„ d¦  «        ¦   «         ZSeTeUz  eVz  eSz  ZWejX        ejY        z   dz   ZZeeT         e[d<   d eZ› d!�Z\eeT         e[d"<   d# ]                    d$ ^                    d%„ d& e_ e`d'd(¦  «        ¦  «        z   D ¦   «         ¦  «        ¦  «        ZaeeT         e[d)<   d*ZbeeT         e[d+<   d,eb› d-ea› d.�ZceeT         e[d/<   d0e\› d1e\› d-ec› d2�ZdeeT         e[d3<    eje        d4¦  «        ZfeeeT                  e[d5<    eje        ed¦  «        ZgeeeT                  e[d6<    G d7„ d8eeTe0e         z  ef         e/¦  «        Zh G d9„ d:eh¦  «        ZidS );é    N)ÚIteratorÚMappingÚMutableMapping)ÚPattern)ÚMappingProxyType)ÚTYPE_CHECKINGÚAnyÚFinalÚOptionalÚTypeVarÚcastÚoverload)Ú	parse_qsl)ÚCIMultiDictÚCIMultiDictProxyÚ	MultiDictÚMultiDictProxyÚMultiMapping)ÚURLé   )Úhdrs)Úparse_cookie_header)ÚAbstractStreamWriter)Ú	_SENTINELÚDEBUGÚDEFAULT_CHUNK_SIZEÚETAG_ANYÚLIST_QUOTED_ETAG_REÚChainMapProxyÚETagÚHeadersMixinÚ
RequestKeyÚparse_http_dateÚreifyÚsentinelÚset_exception)ÚRawRequestMessage)ÚHttpVersion)ÚBodyPartReaderÚMultipartReader)ÚEmptyStreamReaderÚStreamReader)ÚDEFAULT_JSON_DECODERÚJSONDecoderÚLooseHeadersÚ
RawHeadersÚStrOrURL)ÚHTTPRequestEntityTooLargeÚNotAppKeyWarning)ÚStreamResponse)ÚBaseRequestÚ	FileFieldÚRequest)ÚApplication)ÚRequestHandler)ÚUrlMappingMatchInfoÚ_TT)Úauto_attribsÚfrozenÚslotsc                   óX   — e Zd ZU eed<   eed<   ej        ed<   eed<   ee         ed<   dS )r6   ÚnameÚfilenameÚfileÚcontent_typeÚheadersN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__ÚioÚBufferedReaderr   © ó    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/aiohttp/web_request.pyr6   r6   E   sP   € € € € € € à
€I€I�IØ€M€M�MØ
Ô
ÐÐÑØÐÐÑØ˜cÔ"Ð"Ð"Ñ"Ð"Ð"rM   r6   z!#$%&'*+.^_`|~-Ú_TCHARú[z]+Ú_TOKENz[{}]Ú c              #   ó4   K  — | ]}t          |¦  «        V — Œd S ©N)Úchr)Ú.0Úcs     rN   ú	<genexpr>rX   U   s(   è è € ÐKÐK˜�S�‰VŒVÐKÐKÐKÐKÐKÐKrM   )é	   é    é!   é#   é   Ú_QDTEXTz
\\[\t !-~]Ú_QUOTED_PAIRz"(?:ú|z)*"Ú_QUOTED_STRINGú(z)=(z)(:\d{1,4})?Ú_FORWARDED_PAIRz\\([\t !-~])Ú_QUOTED_PAIR_REPLACE_REÚ_FORWARDED_PAIR_REc                   óž  — e Zd ZU ej        ej        ej        ej        ej        hZ	e
j         eg d¢¦  «        z  ZdZee         dz  ed<   dZedz  ed<    e¦   «         Zee         ed<   ddddddœded	ed
ddedddej        dedeee         ez  ef         dz  dedz  dedz  dedz  ddfd„Ze e e e e e e dœdee!z  de"e!z  de#e!z  dee!z  dee!z  dee!z  dee!z  dd fd„Z$e%ded„¦   «         Z&e%dfd„¦   «         Z'e%dej(        dz  fd„¦   «         Z)e%defd„¦   «         Z*e%defd „¦   «         Z+e,defd!„¦   «         Z-e,de.fd"„¦   «         Z/e,dej        fd#„¦   «         Z0e1d$ee2         de2fd%„¦   «         Z3e1d$edefd&„¦   «         Z3d$eee2         z  defd'„Z3e1d$ee2         d(e2ddfd)„¦   «         Z4e1d$ed(eddfd*„¦   «         Z4d$eee2         z  d(eddfd+„Z4d$eee2         z  ddfd,„Z5defd-„Z6de7eee         z           fd.„Z8e,de9fd/„¦   «         Z:e,de;e<eef         d0f         fd1„¦   «         Z=e,defd2„¦   «         Z>e,defd3„¦   «         Z?e,de@fd4„¦   «         ZAe,defd5„¦   «         ZBe,dedz  fd6„¦   «         ZCe,de.fd7„¦   «         ZDe,defd8„¦   «         ZEe,defd9„¦   «         ZFe,defd:„¦   «         ZGe,dgd<„¦   «         ZHe,defd=„¦   «         ZIe,deJe         fd>„¦   «         ZKe,deLfd?„¦   «         ZMe,deNjN        dz  fd@„¦   «         ZOe,deNjN        dz  fdA„¦   «         ZPeQdBede7eR         fdC„¦   «         ZSeTdDedz  de;eRd0f         dz  fdE„¦   «         ZUe,de;eRd0f         dz  fdF„¦   «         ZVe,de;eRd0f         dz  fdG„¦   «         ZWe,deNjN        dz  fdH„¦   «         ZXe,de9fdI„¦   «         ZYe,de<eef         fdJ„¦   «         ZZe,de[fdK„¦   «         Z\e,defdL„¦   «         Z]e%de9fdM„¦   «         Z^e%de9fdN„¦   «         Z_e,de9fdO„¦   «         Z`dhdP„ZadefdQ„ZbdefdR„ZceddSœdTeedefdU„ZfdegfdV„ZhdidX„ZidjdYedZedefd[„Zjdefd\„Zkd]elde9fd^„Zmde9fd_„Znd`eoddfda„Zpdbeqddfdc„Zrdhdd„ZsdS )kr5   )Ú_messageÚ	_protocolÚ_payload_writerÚ_payloadÚ_headersÚ_methodÚ_versionÚ_rel_urlÚ_postÚ_read_bytesÚ_stateÚ_cacheÚ_taskÚ_client_max_sizeÚ_loopÚ_transport_sslcontextÚ_transport_peernameÚ_transport_socknameNro   rp   Ú_seen_str_keysi   )Úclient_max_sizeÚstateÚschemeÚhostÚremoteÚmessageÚpayloadÚprotocolr9   Úpayload_writerÚtaskúasyncio.Task[None]Úlooprz   r{   r|   r}   r~   Úreturnc                ór  — || _         || _        || _        || _        |j        | _        |j        | _        |j        | _	        i | _
        |j        }|j        rp|	�|                     |	¦  «        }|
�|                     |
¦  «        }|| j
        d<   |j        | j
        d<   |j        | j
        d<   |                     ¦   «         | _        n|| _        |	�
|	| j
        d<   |
�
|
| j
        d<   |€i n|| _        || _        || _        || _        |j        | _        |j        | _        |j        | _        |�|| j
        d<   d S d S )NÚurlr}   r|   r~   )rg   rh   ri   rj   rD   rk   Úmethodrl   Úversionrm   rr   rˆ   ÚabsoluteÚwith_schemeÚ	with_hostr}   r|   Úrelativern   rq   rs   rt   ru   Ússl_contextrv   Úpeernamerw   Úsocknamerx   )Úselfr   r€   r�   r‚   rƒ   r…   rz   r{   r|   r}   r~   rˆ   s                rN   Ú__init__zBaseRequest.__init__Ž   sN  € ð  ˆŒØ!ˆŒØ-ˆÔàˆŒØ/6¬ˆŒØ”~ˆŒØœˆŒØ&(ˆŒØŒkˆØŒ<ð 	+ØÐ!Ø—o’o fÑ-Ô-�ØÐØ—m’m DÑ)Ô)�ð "%ˆDŒK˜ÑØ"%¤(ˆDŒK˜ÑØ$'¤JˆDŒK˜Ñ!ØŸLšL™NœNˆDŒMˆMàˆDŒMØÐ!Ø(.�”˜HÑ%ØÐØ&*�”˜FÑ#à!˜M�b�b¨uˆŒØˆŒ
Ø /ˆÔØˆŒ
à%-Ô%9ˆÔ"Ø#+Ô#4ˆÔ Ø#+Ô#4ˆÔ àÐØ$*ˆDŒK˜Ñ!Ð!Ð!ð ÐrM   ©r‰   Úrel_urlrD   r|   r}   r~   rz   r‰   r•   rD   c                óŒ  — | j         rt          d¦  «        ‚i }|t          ur||d<   |t          ur&t          |¦  «        }	|	|d<   t	          |	¦  «        |d<   |t          urSt          t          |¦  «        ¦  «        |d<   t          d„ |d                              ¦   «         D ¦   «         ¦  «        |d<    | j	        j
        di |¤Ž}
i }|t          ur||d<   |t          ur||d	<   |t          ur||d
<   |t          u r| j        } | j        |
| j        | j        | j        | j        | j        f|| j                             ¦   «         dœ|¤ŽS )a  Clone itself with replacement some attributes.

        Creates and returns a new instance of Request object. If no parameters
        are given, an exact copy is returned. If a parameter is not passed, it
        will reuse the one from the current request object.
        z.Cannot clone request after reading its contentr‰   rˆ   ÚpathrD   c              3   óp   K  — | ]1\  }}|                      d ¦  «        |                      d ¦  «        fV — Œ2dS )úutf-8N)Úencode)rV   ÚkÚvs      rN   rX   z$BaseRequest.clone.<locals>.<genexpr>ä   sW   è è € ð 'ð 'á�A�qð —’˜'Ñ"Ô" A§H¢H¨WÑ$5Ô$5Ð6ð'ð 'ð 'ð 'ð 'ð 'rM   Úraw_headersr|   r}   r~   )rz   r{   rL   )rp   ÚRuntimeErrorr%   r   rH   r   r   ÚtupleÚitemsrg   Ú_replacert   Ú	__class__rj   rh   ri   rs   ru   rq   Úcopy)r’   r‰   r•   rD   r|   r}   r~   rz   ÚdctÚnew_urlr   Úkwargss               rN   ÚclonezBaseRequest.cloneÆ   s™  € ð" Ôð 	QÝÐOÑPÔPÐPà ˆØ�Ð!Ð!Ø"ˆC�‰MØ�(Ð"Ð"Ý˜w™<œ<ˆGØ ˆC�‰JÝ˜g™,œ,ˆC�‰KØ�(Ð"Ð"å-­k¸'Ñ.BÔ.BÑCÔCˆC�	‰NÝ!&ð 'ð 'à 	œN×0Ò0Ñ2Ô2ð'ñ 'ô 'ñ "ô "ˆC�Ñð
 )�$”-Ô(Ð/Ð/¨3Ð/Ð/ˆàˆØ�Ð!Ð!Ø%ˆF�8ÑØ•xÐÐØ!ˆF�6‰NØ�Ð!Ð!Ø%ˆF�8ÑØ�hÐ&Ð&Ø"Ô3ˆOàˆtŒ~ØØŒMØŒNØÔ ØŒJØŒJð

ð ,Ø”+×"Ò"Ñ$Ô$ð

ð 

ð ð

ð 

ð 
	
rM   c                 ó   — | j         S rT   )rs   ©r’   s    rN   rƒ   zBaseRequest.task  s
   € àŒzÐrM   c                 ó   — | j         S rT   )rh   r©   s    rN   r�   zBaseRequest.protocol  s
   € àŒ~ÐrM   c                 ó,   — | j         €d S | j         j        S rT   )rh   Ú	transportr©   s    rN   r¬   zBaseRequest.transport	  s   € àŒ>Ð!Ø�4ØŒ~Ô'Ð'rM   c                 ó   — | j         S rT   )ri   r©   s    rN   ÚwriterzBaseRequest.writer  s   € àÔ#Ð#rM   c                 ó   — | j         S rT   )rt   r©   s    rN   rz   zBaseRequest.client_max_size  s   € àÔ$Ð$rM   c                 óH   — t          j        dt          d¬¦  «         | j        S )NzRequest.message is deprecatedé   ©Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningrg   r©   s    rN   r   zBaseRequest.message  s$   € åŒÐ5Õ7IÐVWÐXÑXÔXÐXØŒ}ÐrM   c                 ó   — | j         S rT   )rn   r©   s    rN   r•   zBaseRequest.rel_url  s
   € àŒ}ÐrM   c                 óH   — t          j        dt          d¬¦  «         | j        S )Nz#request.loop property is deprecatedé   r²   )r´   rµ   r¶   ru   r©   s    rN   r…   zBaseRequest.loop   s.   € åŒØ1Õ3EÐRSð	
ñ 	
ô 	
ð 	
ð ŒzÐrM   Úkeyc                 ó   — d S rT   rL   ©r’   rº   s     rN   Ú__getitem__zBaseRequest.__getitem__)  s   € Ø69°crM   c                 ó   — d S rT   rL   r¼   s     rN   r½   zBaseRequest.__getitem__,  s   € Ø,/¨CrM   c                 ó   — | j         |         S rT   ©rq   r¼   s     rN   r½   zBaseRequest.__getitem__/  s   € ØŒ{˜3ÔÐrM   Úvaluec                 ó   — d S rT   rL   ©r’   rº   rÁ   s      rN   Ú__setitem__zBaseRequest.__setitem__2  s   € ØCFÀ3rM   c                 ó   — d S rT   rL   rÃ   s      rN   rÄ   zBaseRequest.__setitem__5  s   € Ø9<¸rM   c                 óÖ   — t          |t          ¦  «        sI|t          j        vr;t          j                             |¦  «         t          j        dt          d¬¦  «         || j        |<   d S )Nz‚It is recommended to use web.RequestKey instances for keys.
https://docs.aiohttp.org/en/stable/web_advanced.html#request-s-storager¹   )Úcategoryr³   )	Ú
isinstancer"   r5   ry   Úaddr´   rµ   r3   rq   rÃ   s      rN   rÄ   zBaseRequest.__setitem__8  sr   € Ý˜#�zÑ*Ô*ð 	¨s½+Ô:TÐ/TÐ/TÝÔ&×*Ò*¨3Ñ/Ô/Ð/ÝŒMð'õ *Øðñ ô ð ð !ˆŒ�CÑÐÐrM   c                 ó   — | j         |= d S rT   rÀ   r¼   s     rN   Ú__delitem__zBaseRequest.__delitem__D  s   € ØŒK˜ÐÐÐrM   c                 ó*   — t          | j        ¦  «        S rT   )Úlenrq   r©   s    rN   Ú__len__zBaseRequest.__len__G  s   € Ý�4”;ÑÔÐrM   c                 ó*   — t          | j        ¦  «        S rT   )Úiterrq   r©   s    rN   Ú__iter__zBaseRequest.__iter__J  s   € Ý�D”KÑ Ô Ð rM   c                 ó   — | j         dk    S )z5A bool indicating if the request is handled with SSL.Úhttps)r|   r©   s    rN   ÚsecurezBaseRequest.secureO  s   € ð Œ{˜gÒ%Ð%rM   .c                 ó´  — g }| j         j                             t          j        d¦  «        D �]œ}t          |¦  «        }d}d}i }|                     t          j        |¦  «        ¦  «         d|cxk    r|k     �rOn ŒPt           
                    ||¦  «        }|�§|r|                     d|¦  «        }�n|                     ¦   «         \  }}	}
|	d         dk    r#t                               d|	dd	…         ¦  «        }	|
r|	|
z  }	|	||                     ¦   «         <   |t          |                     d¦  «        ¦  «        z  }d
}nw||         dk    r1d}i }|                     t          j        |¦  «        ¦  «         |dz  }n:||         dk    rd}|dz  }n&||         dv r|dz  }n|                     d|¦  «        }d|cxk    r|k     �°I�Œ› �Œžt#          |¦  «        S )a˜  A tuple containing all parsed Forwarded header(s).

        Makes an effort to parse Forwarded headers as specified by RFC 7239:

        - It adds one (immutable) dictionary per Forwarded 'field-value', ie
          per proxy. The element corresponds to the data in the Forwarded
          field-value added by the first proxy encountered by the client. Each
          subsequent item corresponds to those added by later proxies.
        - It checks that every value has valid syntax in general as specified
          in section 4: either a 'token' or a 'quoted-string'.
        - It un-escapes found escape sequences.
        - It does NOT validate 'by' and 'for' contents as specified in section
          6.
        - It does NOT validate 'host' contents (Host ABNF).
        - It does NOT validate 'proto' contents for valid URI scheme names.

        Returns a tuple containing one or more immutable dicts
        rL   r   FNú,ú"z\1r   éÿÿÿÿTú;z 	)rg   rD   Úgetallr   Ú	FORWARDEDrÍ   ÚappendÚtypesr   re   ÚmatchÚfindÚgroupsrd   ÚsubÚlowerÚgrouprŸ   )r’   ÚelemsÚfield_valueÚlengthÚposÚneed_separatorÚelemrÞ   r@   rÁ   Úports              rN   Ú	forwardedzBaseRequest.forwardedT  s  € ð( ˆØœ=Ô0×7Ò7½¼ÈÑKÔKð %	5ñ %	5ˆKÝ˜Ñ%Ô%ˆFØˆCØ"ˆNØ#%ˆDØ�LŠL�Ô/°Ñ5Ô5Ñ6Ô6Ð6Ø�sÐ#Ð#Ò#Ð#˜VÒ#Ñ#Ð#Ð#Ð#Ý*×0Ò0°¸cÑBÔB�ØÐ$Ø%ð .à)×.Ò.¨s°CÑ8Ô8˜™à,1¯LªL©N¬NÑ)˜˜e TØ  œ8 sš?˜?å$;×$?Ò$?ÀÀuÈQÈrÈTÄ{Ñ$SÔ$S˜EØð *Ø! T™M˜EØ-2˜˜TŸZšZ™\œ\Ñ*Ø�s 5§;¢;¨q¡>¤>Ñ2Ô2Ñ2˜Ø)-˜˜Ø  Ô%¨Ò,Ð,Ø%*�NØ�DØ—L’L¥Ô!7¸Ñ!=Ô!=Ñ>Ô>Ð>Ø˜1‘H�C�CØ  Ô%¨Ò,Ð,Ø%*�NØ˜1‘H�C�CØ  Ô%¨Ð.Ð.ð ˜1‘H�C�Cð &×*Ò*¨3°Ñ4Ô4�Cð? �sÐ#Ð#Ò#Ð#˜VÒ#Ñ#Ñ#Ð#ùõ@ �U‰|Œ|ÐrM   c                 ó   — | j         rdS dS )a  A string representing the scheme of the request.

        Hostname is resolved in this order:

        - overridden value by .clone(scheme=new_scheme) call.
        - type of connection to peer: HTTPS if socket is SSL, HTTP otherwise.

        'http' or 'https'.
        rÓ   Úhttp)rv   r©   s    rN   r|   zBaseRequest.scheme‘  s   € ð Ô%ð 	Ø�7à�6rM   c                 ó   — | j         S )zyRead only property for getting HTTP method.

        The value is upper-cased str like 'GET', 'POST', 'PUT' etc.
        )rl   r©   s    rN   r‰   zBaseRequest.method¡  s   € ð Œ|ÐrM   c                 ó   — | j         S )zxRead only property for getting HTTP version of request.

        Returns aiohttp.protocol.HttpVersion instance.
        )rm   r©   s    rN   rŠ   zBaseRequest.version©  s   € ð Œ}ÐrM   c                 ó"  — | j         j                             t          j        ¦  «        }|�|S | j        }|€dS t          |t          ¦  «        r4t          |¦  «        dk    rd|d         › d�S t          |d         ¦  «        S t          |¦  «        S )a¸  Hostname of the request.

        Hostname is resolved in this order:

        - overridden value by .clone(host=new_host) call.
        - HOST HTTP header
        - local socket address the request arrived on
          (transport ``sockname``)
        - empty string if no transport information is available

        For example, 'example.com' or 'localhost:8080'.

        For historical reasons, the port number may be included.
        NrR   é   rP   r   ú])
rg   rD   Úgetr   ÚHOSTrx   rÈ   rŸ   rÍ   rH   )r’   r}   r‘   s      rN   r}   zBaseRequest.host±  s”   € ð  Œ}Ô$×(Ò(­¬Ñ3Ô3ˆØÐØˆKØÔ+ˆØÐØ�2Ý�h¥Ñ&Ô&ð 	$õ �8‰}Œ} Ò!Ð!Ø)˜8 Aœ;Ð)Ð)Ð)Ð)Ý�x ”{Ñ#Ô#Ð#Ý�8‰}Œ}ÐrM   c                 ó²   — | j         €dS t          | j         t          t          f¦  «        rt	          | j         d         ¦  «        S t	          | j         ¦  «        S )zÂRemote IP of client initiated HTTP request.

        The IP is resolved in this order:

        - overridden value by .clone(remote=new_remote) call.
        - peername of opened socket
        Nr   )rw   rÈ   ÚlistrŸ   rH   r©   s    rN   r~   zBaseRequest.remoteÐ  sR   € ð Ô#Ð+Ø�4Ý�dÔ.µµu°Ñ>Ô>ð 	4Ý�tÔ/°Ô2Ñ3Ô3Ð3Ý�4Ô+Ñ,Ô,Ð,rM   c                 ór   — t          j        | j        | j        ¬¦  «                             | j        ¦  «        S )zThe full URL of the request.)r|   Ú	authority)r   Úbuildr|   r}   Újoinrn   r©   s    rN   rˆ   zBaseRequest.urlß  s-   € õ
 Œy ¤°t´yÐAÑAÔA×FÒFÀtÄ}ÑUÔUÐUrM   c                 ó   — | j         j        S )z_The URL including *PATH INFO* without the host or scheme.

        E.g., ``/app/blog``
        )rn   r—   r©   s    rN   r—   zBaseRequest.pathæ  s   € ð Œ}Ô!Ð!rM   c                 ó*   — t          | j        ¦  «        S )zXThe URL including PATH_INFO and the query string.

        E.g, /app/blog?id=10
        )rH   rn   r©   s    rN   Úpath_qszBaseRequest.path_qsî  s   € õ �4”=Ñ!Ô!Ð!rM   c                 ó   — | j         j        S )zÚThe URL including raw *PATH INFO* without the host or scheme.

        Warning, the path is unquoted and may contains non valid URL characters

        E.g., ``/my%2Fpath%7Cwith%21some%25strange%24characters``
        )rg   r—   r©   s    rN   Úraw_pathzBaseRequest.raw_pathö  s   € ð Œ}Ô!Ð!rM   úMultiMapping[str]c                 ó   — | j         j        S )z7A multidict with all the variables in the query string.)rn   Úqueryr©   s    rN   r  zBaseRequest.query   s   € ð Œ}Ô"Ð"rM   c                 ó   — | j         j        S )z:The query string in the URL.

        E.g., id=10
        )rn   Úquery_stringr©   s    rN   r  zBaseRequest.query_string  s   € ð Œ}Ô)Ð)rM   c                 ó   — | j         S )z4A case-insensitive multidict proxy with all headers.)rk   r©   s    rN   rD   zBaseRequest.headers  ó   € ð Œ}ÐrM   c                 ó   — | j         j        S )z$A sequence of pairs for all headers.)rg   r�   r©   s    rN   r�   zBaseRequest.raw_headers  s   € ð Œ}Ô(Ð(rM   c                 ód   — t          | j                             t          j        ¦  «        ¦  «        S )zyThe value of If-Modified-Since HTTP header, or None.

        This header is represented as a `datetime` object.
        )r#   rD   ró   r   ÚIF_MODIFIED_SINCEr©   s    rN   Úif_modified_sincezBaseRequest.if_modified_since  s%   € õ ˜tœ|×/Ò/µÔ0FÑGÔGÑHÔHÐHrM   c                 ód   — t          | j                             t          j        ¦  «        ¦  «        S )z{The value of If-Unmodified-Since HTTP header, or None.

        This header is represented as a `datetime` object.
        )r#   rD   ró   r   ÚIF_UNMODIFIED_SINCEr©   s    rN   Úif_unmodified_sincezBaseRequest.if_unmodified_since  s%   € õ ˜tœ|×/Ò/µÔ0HÑIÔIÑJÔJÐJrM   Úetag_headerc              #   ó  K  — | t           k    rt          dt           ¬¦  «        V — dS t          j        | ¦  «        D ]B}|                     ddd¦  «        \  }}}|r dS t          t          |¦  «        |¬¦  «        V — ŒCdS )z'Extract `ETag` objects from raw header.F)Úis_weakrÁ   r¹   r±   rñ   N)r   r    r   Úfinditerrã   Úbool)r  rÞ   r  rÁ   Úgarbages        rN   Ú_etag_valueszBaseRequest._etag_values'  sÉ   è è € ð �(Ò"Ð"ÝØÝðñ ô ð ð ð ð ð õ
 -Ô5°kÑBÔBð 
ð 
�Ø*/¯+ª+°a¸¸AÑ*>Ô*>Ñ'�˜ ð ð Ø�E�EåÝ  ™MœMØðñ ô ð ð ð ð ð
ð 
rM   Úheader_valuec                 óN   — |sd S t          |                      |¦  «        ¦  «        S rT   )rŸ   r  )Úclsr  s     rN   Ú_if_match_or_none_implz"BaseRequest._if_match_or_none_impl<  s-   € ð ð 	Ø�4å�S×%Ò% lÑ3Ô3Ñ4Ô4Ð4rM   c                 óp   — |                       | j                             t          j        ¦  «        ¦  «        S )zxThe value of If-Match HTTP header, or None.

        This header is represented as a `tuple` of `ETag` objects.
        )r  rD   ró   r   ÚIF_MATCHr©   s    rN   Úif_matchzBaseRequest.if_matchE  s*   € ð ×*Ò*¨4¬<×+;Ò+;½D¼MÑ+JÔ+JÑKÔKÐKrM   c                 óp   — |                       | j                             t          j        ¦  «        ¦  «        S )z}The value of If-None-Match HTTP header, or None.

        This header is represented as a `tuple` of `ETag` objects.
        )r  rD   ró   r   ÚIF_NONE_MATCHr©   s    rN   Úif_none_matchzBaseRequest.if_none_matchM  s+   € ð ×*Ò*¨4¬<×+;Ò+;½DÔ<NÑ+OÔ+OÑPÔPÐPrM   c                 ód   — t          | j                             t          j        ¦  «        ¦  «        S )zpThe value of If-Range HTTP header, or None.

        This header is represented as a `datetime` object.
        )r#   rD   ró   r   ÚIF_RANGEr©   s    rN   Úif_rangezBaseRequest.if_rangeU  s$   € õ ˜tœ|×/Ò/µ´Ñ>Ô>Ñ?Ô?Ð?rM   c                 ó   — | j         j         S )zIs keepalive enabled by client?)rg   Úshould_closer©   s    rN   Ú
keep_alivezBaseRequest.keep_alive]  s   € ð ”=Ô-Ð-Ð-rM   c                 ó˜   — t          | j                             t          j        d¦  «        ¦  «        }t          d„ |D ¦   «         ¦  «        S )zMReturn request cookies.

        A read-only dictionary-like object.
        rR   c                 ó$   — i | ]\  }}||j         “ŒS rL   )rÁ   )rV   r@   Úmorsels      rN   ú
<dictcomp>z'BaseRequest.cookies.<locals>.<dictcomp>l  s    € Ð OÐ OÐ O¹¸¸f  v¤|Ð OÐ OÐ OrM   )r   rD   ró   r   ÚCOOKIEr   )r’   Úparseds     rN   ÚcookieszBaseRequest.cookiesb  sB   € õ % T¤\×%5Ò%5µd´kÀ2Ñ%FÔ%FÑGÔGˆåÐ OÐ OÈÐ OÑ OÔ OÑPÔPÐPrM   c                 óÚ  — | j                              t          j        ¦  «        }d\  }}|�°	 d}t	          j        ||t          j        ¦  «        d         \  }}n# t          $ r t          d¦  «        ‚w xY w|rt          |¦  «        nd}|rt          |¦  «        nd}|€|�| }d}|�|�|dz  }||k    rt          d¦  «        ‚||cxu r€n nt          d¦  «        ‚t          ||d¦  «        S )	zMThe content of Range HTTP header.

        Return a slice instance.

        )NNNz^bytes=(\d*)-(\d*)$r   zrange not in acceptable formatr   zstart cannot be after endz"No start or end of range specified)rk   ró   r   ÚRANGEÚreÚfindallÚASCIIÚ
IndexErrorÚ
ValueErrorÚintÚslice)r’   ÚrngÚstartÚendÚpatterns        rN   Ú
http_rangezBaseRequest.http_rangen  s*  € ð Œm×Ò¥¤
Ñ+Ô+ˆØ‰
ˆˆsØˆ?ðCØ0�ÝœZ¨°µb´hÑ?Ô?ÀÔB‘
��s�søÝð Cð Cð CÝ Ð!AÑBÔBÐBðCøøøð "Ð+•#�c‘(”(�( tˆCØ"'Ð1•C˜‘J”J�J¨TˆEàˆ}  à˜�Ø�àÐ  S _à�q‘�à˜C’<�<Ý$Ð%@ÑAÔAÐAà˜Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ý Ð!EÑFÔFÐFå�U˜C Ñ#Ô#Ð#s   ­+A ÁA3c                 ó   — | j         S )zReturn raw payload stream.)rj   r©   s    rN   ÚcontentzBaseRequest.content’  r  rM   c                 ón   — t          j        dt          d¬¦  «         | j                             ¦   «          S )ú@Return True if request's HTTP BODY can be read, False otherwise.z$Deprecated, use .can_read_body #2005r¹   r²   )r´   rµ   r¶   rj   Úat_eofr©   s    rN   Úhas_bodyzBaseRequest.has_body—  s?   € õ 	ŒØ2Õ4FÐSTð	
ñ 	
ô 	
ð 	
ð ”=×'Ò'Ñ)Ô)Ð)Ð)rM   c                 ó6   — | j                              ¦   «          S )r=  )rj   r>  r©   s    rN   Úcan_read_bodyzBaseRequest.can_read_bodyŸ  s   € ð ”=×'Ò'Ñ)Ô)Ð)Ð)rM   c                 ó8   — t          | j        ¦  «        t          uS )z6Return True if request has HTTP BODY, False otherwise.)Útyperj   r+   r©   s    rN   Úbody_existszBaseRequest.body_exists¤  s   € õ �D”MÑ"Ô"Õ*;Ð;Ð;rM   c              ƒ   ó°   K  — | j                              ¦   «         s:| j                              ¦   «         ƒ d{V —† | j                              ¦   «         ¯8dS dS )zKRelease request.

        Eat unread part of HTTP BODY if present.
        N)rj   r>  Úreadanyr©   s    rN   ÚreleasezBaseRequest.release©  sp   è è € ð
 ”-×&Ò&Ñ(Ô(ð 	*Ø”-×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð ”-×&Ò&Ñ(Ô(ð 	*ð 	*ð 	*ð 	*ð 	*rM   c              ƒ   óŽ  K  — | j         €¶| j        r| j                             | j        ¦  «         t	          ¦   «         }	 | j                             ¦   «         ƒ d{V —†}|                     |¦  «         | j        r.t          |¦  «        }|| j        k    rt          | j        ¦  «        ‚|snŒmt          |¦  «        | _         | j         S )z_Read request body if present.

        Returns bytes object with full request content.
        N)
rp   rt   rj   Úset_read_chunk_sizeÚ	bytearrayrF  ÚextendrÍ   r2   Úbytes)r’   ÚbodyÚchunkÚ	body_sizes       rN   ÚreadzBaseRequest.read±  sÜ   è è € ð
 ÔÐ#ð Ô$ð IØ”×1Ò1°$Ô2GÑHÔHÐHÝ‘;”;ˆDðØ"œm×3Ò3Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5�Ø—’˜EÑ"Ô"Ð"ØÔ(ð OÝ # D¡	¤	�IØ  4Ô#8Ò8Ð8Ý7¸Ô8MÑNÔNÐNØð Øðõ  % T™{œ{ˆDÔØÔÐrM   c              ƒ   óv   K  — |                       ¦   «         ƒ d{V —†}| j        pd}|                     |¦  «        S )z1Return BODY as text using encoding from .charset.Nr™   )rP  ÚcharsetÚdecode)r’   Ú
bytes_bodyÚencodings      rN   ÚtextzBaseRequest.textÈ  sE   è è € àŸ9š9™;œ;Ð&Ð&Ð&Ð&Ð&Ð&ˆ
Ø”<Ð* 7ˆØ× Ò  Ñ*Ô*Ð*rM   )ÚloadsrW  c             ƒ   óP   K  — |                       ¦   «         ƒ d{V —†} ||¦  «        S )zReturn BODY as JSON.N)rV  )r’   rW  rM  s      rN   ÚjsonzBaseRequest.jsonÎ  s3   è è € à—Y’Y‘[”[Ð Ð Ð Ð Ð Ð ˆØˆu�T‰{Œ{ÐrM   c              ƒ   ó€   K  — t          | j        | j        | j        | j        j        | j        j        t          ¬¦  «        S )z3Return async iterator to process BODY as multipart.)rz   Úmax_field_sizeÚmax_headersÚmax_size_error_cls)r*   rk   rj   rt   rh   r[  r\  r2   r©   s    rN   Ú	multipartzBaseRequest.multipartÓ  s@   è è € åØŒMØŒMØ Ô1Øœ>Ô8ØœÔ2Ý8ð
ñ 
ô 
ð 	
rM   úMultiDictProxy[_Post]c              ƒ   ó`	  K  — | j         �| j         S | j        | j        vr't          t	          ¦   «         ¦  «        | _         | j         S | j        }|dvr't          t	          ¦   «         ¦  «        | _         | j         S t	          ¦   «         }|dk    �r™|                      ¦   «         ƒ d{V —†}| j        }d}|                     ¦   «         ƒ d{V —†x}��X|j	         
                    t          j        ¦  «        }t          |t          ¦  «        �rò|j        €t!          d¦  «        ‚|j        �r�| j                             dt(          j        ¦  «        ƒ d{V —†}|                     t.          ¬¦  «        ƒ d{V —†x}	r¿|                     |	¦  «        2 3 d{V —†}
| j                             d|j        |
¦  «        ƒ d{V —† |t5          |
¦  «        z  }d|cxk     r|k     r8n ŒP| j                             d|j        ¦  «        ƒ d{V —† t9          |¦  «        ‚Œ†6 |                     t.          ¬¦  «        ƒ d{V —†x}	°¿| j                             d|j        d¦  «        ƒ d{V —† |€d}t=          |j        |j        t?          t@          j!        |¦  «        ||j	        ¦  «        }| "                    |j        |¦  «         �nTtG          ¦   «         }|                     ¦   «         ƒ d{V —†x}	rb|t5          |	¦  «        z  }d|cxk     r|k     rn nt9          |¦  «        ‚| $                    |	¦  «         |                     ¦   «         ƒ d{V —†x}	°btG          ¦   «         }|                     |¦  «        2 3 d{V —†}| $                    |¦  «         Œ6 |�| %                    d¦  «        rE| &                    d	¬
¦  «        }| "                    |j        | '                    |¦  «        ¦  «         n+| "                    |j        |¦  «         nt!          d¦  «        ‚|                     ¦   «         ƒ d{V —†x}�­Xno|  (                    ¦   «         ƒ d{V —†}|rS| j)        pd	}| $                    tU          | +                    ¦   «          '                    |¦  «        d|¬¦  «        ¦  «         t          |¦  «        | _         | j         S )zReturn POST parameters.N)rR   z!application/x-www-form-urlencodedúmultipart/form-datara  r   zMultipart field missing name.)Úsizezapplication/octet-streamztext/r™   )Údefaultz8To decode nested multipart you need to use custom readerT)Úkeep_blank_valuesrU  ),ro   rl   ÚPOST_METHODSr   r   rC   r^  rt   ÚnextrD   ró   r   ÚCONTENT_TYPErÈ   r)   r@   r2  rA   ru   Úrun_in_executorÚtempfileÚTemporaryFileÚ
read_chunkr   Údecode_iterÚwriterÍ   Úcloser2   Úseekr6   r   rJ   rK   rÉ   rJ  rK  Ú
startswithÚget_charsetrS  rP  rR  r   Úrstrip)r’   rC   Úoutr^  Úmax_sizerb  ÚfieldÚfield_ctÚtmprN  Údecoded_chunkÚffÚraw_datarÁ   ÚdrR  Údatas                    rN   ÚpostzBaseRequest.postÞ  s¦  è è € àŒ:Ð!Ø”:ÐØŒ<˜tÔ0Ð0Ð0Ý'­	©¬Ñ4Ô4ˆDŒJØ”:ÐàÔ(ˆØð  
ð 
ð 
õ
 (­	©¬Ñ4Ô4ˆDŒJØ”:Ðå )¡¤ˆàÐ0Ò0Ñ0Ø"ŸnšnÑ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.ˆIØÔ,ˆHàˆDØ"+§.¢.Ñ"2Ô"2Ð2Ð2Ð2Ð2Ð2Ð2Ð2�5Ñ?Ø œ=×,Ò,­TÔ->Ñ?Ô?�å˜e¥^Ñ4Ô4ñ 9Ø”zÐ)Ý(Ð)HÑIÔIÐIð ”~ñ -7à$(¤J×$>Ò$>Ø ¥(Ô"8ñ%ô %ð ð ð ð ð ð ˜ð .3×-=Ò-=ÕCUÐ-=Ñ-VÔ-VÐ'VÐ'VÐ'VÐ'VÐ'VÐ'VÐV˜eð NØ7<×7HÒ7HÈÑ7OÔ7Oð Nð Nð Nð Nð Nð Nð N mØ&*¤j×&@Ò&@Ø$(¨#¬)°]ñ'"ô '"ð !"ð !"ð !"ð !"ð !"ð !"ð !"ð !%­¨MÑ(:Ô(:Ñ : Ø#$ xÐ#6Ð#6Ò#6Ð#6°$Ò#6Ð#6Ð#6Ð#6Ð#6Ø*.¬*×*DÒ*DÀTÈ3Ì9Ñ*UÔ*UÐ$UÐ$UÐ$UÐ$UÐ$UÐ$UÐ$UÝ*CÀHÑ*MÔ*MÐ$Mð $7ð 8Pð .3×-=Ò-=ÕCUÐ-=Ñ-VÔ-VÐ'VÐ'VÐ'VÐ'VÐ'VÐ'VÐV˜eð Nð #œj×8Ò8¸¸s¼xÈÑKÔKÐKÐKÐKÐKÐKÐKÐKà#Ð+Ø'A˜Hå&Ø!œJØ!œNÝ ¥Ô!2°CÑ8Ô8Ø$Ø!œMñô ˜ð Ÿš ¤
¨BÑ/Ô/Ð/Ñ/õ $-¡;¤;˜Ø-2×-=Ò-=Ñ-?Ô-?Ð'?Ð'?Ð'?Ð'?Ð'?Ð'?Ð?˜eð 3Ø ¥C¨¡J¤JÑ.˜DØ  8Ð2Ð2Ò2Ð2¨dÒ2Ð2Ð2Ð2Ð2Ý&?ÀÑ&IÔ&IÐ IØ$ŸOšO¨EÑ2Ô2Ð2ð	 .3×-=Ò-=Ñ-?Ô-?Ð'?Ð'?Ð'?Ð'?Ð'?Ð'?Ð?˜eð 3õ !*¡¤˜à',×'8Ò'8¸Ñ'BÔ'Bð ,ð ,ð ,ð ,ð ,ð ,ð , !Ø!ŸLšL¨™OœO˜O˜Oð (Cð $Ð+¨x×/BÒ/BÀ7Ñ/KÔ/KÐ+Ø&+×&7Ò&7ÀÐ&7Ñ&HÔ&H˜GØŸGšG E¤J°·²¸WÑ0EÔ0EÑFÔFÐFÐFàŸGšG E¤J°Ñ6Ô6Ð6Ð6å$ØRñô ð ðu #,§.¢.Ñ"2Ô"2Ð2Ð2Ð2Ð2Ð2Ð2Ð2�5Ñ?øð| Ÿš™œÐ$Ð$Ð$Ð$Ð$Ð$ˆDØð Øœ,Ð1¨'�Ø—
’
ÝØŸš™œ×,Ò,¨WÑ5Ô5Ø*.Ø!(ðñ ô ñô ð õ $ CÑ(Ô(ˆŒ
ØŒzÐs   ÆHÍ#N r@   rc  c                 óZ   — | j         }|€|S |j        }|€|S |                     ||¦  «        S )z"Extra info from protocol transport)rh   r¬   Úget_extra_info)r’   r@   rc  r�   r¬   s        rN   r  zBaseRequest.get_extra_infoB  s=   € à”>ˆØÐØˆNàÔ&ˆ	ØÐØˆNà×'Ò'¨¨gÑ6Ô6Ð6rM   c                 ó”   — | j                              dd¦  «                             d¦  «        }d| j        j        › d| j        › d|› d�S )NÚasciiÚbackslashreplaceú<ú z >)r—   rš   rS  r¢   rE   rl   )r’   Úascii_encodable_paths     rN   Ú__repr__zBaseRequest.__repr__N  sZ   € Ø#œy×/Ò/°Ð9KÑLÔL×SÒSØñ 
ô  
Ðð U�4”>Ô*ÐTÐT¨T¬\ÐTÐTÐ<PÐTÐTÐTÐTrM   Úotherc                 óB   — t          | ¦  «        t          |¦  «        k    S rT   )Úid)r’   r‡  s     rN   Ú__eq__zBaseRequest.__eq__T  s   € Ý�$‰xŒx�2˜e™9œ9Ò$Ð$rM   c                 ó   — dS )NTrL   r©   s    rN   Ú__bool__zBaseRequest.__bool__W  s   € ØˆtrM   Úresponsec              ƒ   ó
   K  — d S rT   rL   )r’   r�  s     rN   Ú_prepare_hookzBaseRequest._prepare_hookZ  s   è è € ØˆrM   Úexcc                 ó0   — t          | j        |¦  «         d S rT   )r&   rj   )r’   r�  s     rN   Ú_cancelzBaseRequest._cancel]  s   € Ý�d”m SÑ)Ô)Ð)Ð)Ð)rM   c                 óÈ   — | j         �| j        dk    rd S | j                              ¦   «         D ]3\  }}t          |t          ¦  «        r|j                             ¦   «          Œ4d S )Nra  )ro   rC   r    rÈ   r6   rB   rn  )r’   Ú	file_nameÚfile_field_objects      rN   Ú_finishzBaseRequest._finish`  su   € ØŒ:Ð Ô!2Ð6KÒ!KÐ!KØˆFð -1¬J×,<Ò,<Ñ,>Ô,>ð 	/ð 	/Ñ(ˆIÐ(ÝÐ+­YÑ7Ô7ð /Ø!Ô&×,Ò,Ñ.Ô.Ð.øð	/ð 	/rM   )r†   r„   )r†   r9   )r†   r   )r†   N)r†   r_  rT   )trE   rF   rG   r   Ú
METH_PATCHÚ	METH_POSTÚMETH_PUTÚ
METH_TRACEÚMETH_DELETEre  r!   ÚATTRSÚ	frozensetro   r   Ú_PostrI   rp   rL  Úsetry   rH   r'   r,   r   ÚasyncioÚAbstractEventLoopr3  Údictr"   r	   r“   r%   r   r1   r/   r§   Úpropertyrƒ   r�   Ú	Transportr¬   r®   rz   r$   r   r   r•   r…   r   r;   r½   rÄ   rË   rÎ   r   rÑ   r  rÔ   rŸ   r   rë   r|   r‰   r(   rŠ   r}   r~   rˆ   r—   rý   rÿ   r  r  r   rD   r0   r�   Údatetimer
  r  Ústaticmethodr    r  Úclassmethodr  r  r  r!  r$  r+  r4  r9  r;  r?  rA  rD  rG  rP  rV  r-   r.   rY  r*   r^  r}  r  r†  ÚobjectrŠ  rŒ  r4   r�  ÚBaseExceptionr’  r–  rL   rM   rN   r5   r5   k   sS  € € € € € € àŒØŒØŒØŒØÔð€Lð Ô  ð	
ð 	
ð 	
ñ"ô "ñ €Eð, +/€Eˆ>˜%Ô  4Ñ'Ð.Ð.Ñ.Ø $€K�˜‘Ð$Ð$Ñ$Ø"˜s™uœu€N�C˜”HÐ$Ð$Ñ$ð  'Ø9=Ø!ØØ!ð6+ð 6+ð 6+à"ð6+ð ð6+ð #ð	6+ð
 -ð6+ð #ð6+ð Ô'ð6+ð ð6+ð �J˜s”O cÑ)¨3Ð.Ô/°$Ñ6ð6+ð �d‘
ð6+ð �D‰jð6+ð �d‘
ð6+ð 
ð6+ð 6+ð 6+ð 6+ðv #+Ø(0Ø,4Ø"*Ø (Ø"*Ø+3ð9
ð 9
ð 9
ð �i‘ð9
ð ˜IÑ%ð	9
ð
  	Ñ)ð9
ð �i‘ð9
ð �I‰oð9
ð �i‘ð9
ð ˜y™ð9
ð 
ð9
ð 9
ð 9
ð 9
ðv ðð ð ñ „Xðð ðð ð ñ „Xðð ð(˜7Ô,¨tÑ3ð (ð (ð (ñ „Xð(ð
 ð$Ð,ð $ð $ð $ñ „Xð$ð ð% ð %ð %ð %ñ „Xð%ð ðÐ*ð ð ð ñ „Uðð ð˜ð ð ð ñ „Uðð ð�gÔ/ð ð ð ñ „Uðð Ø9˜z¨"œ~Ð9°"Ð9Ð9Ð9ñ „XØ9àØ/˜sÐ/ sÐ/Ð/Ð/ñ „XØ/ð ˜s Z°¤^Ñ3ð  ¸ð  ð  ð  ð  ð ØF˜z¨"œ~ÐF°bÐF¸TÐFÐFÐFñ „XØFàØ<˜sÐ<¨3Ð<°4Ð<Ð<Ð<ñ „XØ<ð
!˜s Z°¤^Ñ3ð 
!¸Cð 
!ÀDð 
!ð 
!ð 
!ð 
!ð˜s Z°¤^Ñ3ð ¸ð ð ð ð ð ˜ð  ð  ð  ð  ð!˜( 3¨°C¬Ñ#8Ô9ð !ð !ð !ð !ð
 ð&˜ð &ð &ð &ñ „Uð&ð ð:˜5 ¨¨c¨Ô!2°CÐ!7Ô8ð :ð :ð :ñ „Uð:ðx ð˜ð ð ð ñ „Uðð ð˜ð ð ð ñ „Uðð ð˜ð ð ð ñ „Uðð ð�cð ð ð ñ „Uðð< ð-˜˜d™
ð -ð -ð -ñ „Uð-ð ðV�Sð Vð Vð Vñ „UðVð ð"�cð "ð "ð "ñ „Uð"ð ð"˜ð "ð "ð "ñ „Uð"ð ð"˜#ð "ð "ð "ñ „Uð"ð ð#ð #ð #ñ „Uð#ð ð*˜cð *ð *ð *ñ „Uð*ð ðÐ)¨#Ô.ð ð ð ñ „Uðð ð)˜Zð )ð )ð )ñ „Uð)ð ðI 8Ô#4°tÑ#;ð Ið Ið Iñ „UðIð ðK XÔ%6¸Ñ%=ð Kð Kð Kñ „UðKð ð #ð ¨(°4¬.ð ð ð ñ „\ðð( ð5Ø ™:ð5à	ˆt�SˆyÔ	˜DÑ	 ð5ð 5ð 5ñ „[ð5ð ðL˜%  c 	Ô*¨TÑ1ð Lð Lð Lñ „UðLð ðQ˜u T¨3 YÔ/°$Ñ6ð Qð Qð Qñ „UðQð ð@˜(Ô+¨dÑ2ð @ð @ð @ñ „Uð@ð ð.˜Dð .ð .ð .ñ „Uð.ð ð	Q˜  c Ô*ð 	Qð 	Qð 	Qñ „Uð	Qð ð!$˜Eð !$ð !$ð !$ñ „Uð!$ðF ð˜ð ð ð ñ „Uðð ð*˜$ð *ð *ð *ñ „Xð*ð ð*˜tð *ð *ð *ñ „Xð*ð ð<˜Tð <ð <ð <ñ „Uð<ð*ð *ð *ð *ð ˜Eð  ð  ð  ð  ð.+˜Cð +ð +ð +ð +ð 2Fð ð ð  ;ð È#ð ð ð ð ð
	
 ð 	
ð 	
ð 	
ð 	
ðbð bð bð bðH
7ð 
7 3ð 
7°ð 
7Àð 
7ð 
7ð 
7ð 
7ðU˜#ð Uð Uð Uð Uð%˜Fð % tð %ð %ð %ð %ð˜$ð ð ð ð ð¨Nð ¸tð ð ð ð ð*˜=ð *¨Tð *ð *ð *ð *ð
/ð 
/ð 
/ð 
/ð 
/ð 
/rM   r5   c                   ó8  ‡ — e Zd ZU ej         edg¦  «        z  ZdZed         ed<   e	rde
deddfˆ fd„Zeeeeeeedœd	e
ez  d
eez  deez  de
ez  de
ez  de
ez  deez  dd fˆ fd„Zedd„¦   «         Zedd„¦   «         Zedefd„¦   «         Zdeddfd„Zˆ xZS )r7   Ú_match_infoNr:   r@   Úvalr†   c                 ó¸   •— || j         vr-t          j        d| j        j        › d|› d�t
          d¬¦  «         t          ¦   «                              ||¦  «         d S )NzSetting custom ú.z attribute is discouragedr¹   r²   )rœ  r´   rµ   r¢   rE   r¶   ÚsuperÚ__setattr__)r’   r@   r¬  r¢   s      €rN   r°  zRequest.__setattr__u  sx   ø€ Ø˜4œ:Ð%Ð%Ý”ð% d¤nÔ&=ð %ð %Àð %ð %ð %å&Ø ð	ñ ô ð õ ‰GŒG×Ò  cÑ*Ô*Ð*Ð*Ð*rM   r”   r‰   r•   rD   r|   r}   r~   rz   c          	      óš   •— t          ¦   «                              |||||||¬¦  «        }t          t          |¦  «        }	| j        |	_        |	S )Nr”   )r¯  r§   r   r7   r«  )r’   r‰   r•   rD   r|   r}   r~   rz   ÚretÚnew_retr¢   s             €rN   r§   zRequest.clone  sW   ø€ õ ‰gŒg�mŠmØØØØØØØ+ð ñ 
ô 
ˆõ •w Ñ$Ô$ˆØ"Ô.ˆÔØˆrM   c                 ó   — | j         }|€J ‚|S )zResult of route resolving.)r«  ©r’   Ú
match_infos     rN   r¶  zRequest.match_info—  s   € ð Ô%ˆ
ØÐ%Ð%Ð%ØÐrM   r8   c                 ó&   — | j         }|€J ‚|j        S )zApplication instance.)r«  Úcurrent_apprµ  s     rN   ÚappzRequest.appž  s!   € ð Ô%ˆ
ØÐ%Ð%Ð%ØÔ%Ð%rM   c                 óÊ   — | j         }|€J ‚|j        }| j        }|                     |¦  «        }t	          t          |d |dz   …         ¦  «        ¦  «        }t          |¦  «        S )Nr   )r«  Úappsr¹  Úindexrö   Úreversedr   )r’   r¶  Úlstr¹  ÚidxÚsublists         rN   Úconfig_dictzRequest.config_dict¥  sb   € àÔ%ˆ
ØÐ%Ð%Ð%ØŒoˆØŒhˆØ�iŠi˜‰nŒnˆÝ•x  I c¨A¡g I¤Ñ/Ô/Ñ0Ô0ˆÝ˜WÑ%Ô%Ð%rM   r�  c              ƒ   ó~   K  — | j         }|€d S |j        D ]'}|j        x}r|                     | |¦  «        ƒ d {V —† Œ(d S rT   )r«  Ú_appsÚon_response_prepareÚsend)r’   r�  r¶  r¹  rÄ  s        rN   r�  zRequest._prepare_hook¯  so   è è € ØÔ%ˆ
ØÐØˆFØÔ#ð 	?ð 	?ˆCØ&)Ô&=Ð=Ð"ð ?Ø)×.Ò.¨t°XÑ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>øð	?ð 	?rM   )r†   r:   )r†   r8   )rE   rF   rG   r5   rœ  r�  r«  r   rI   r   rH   r	   r°  r%   r   r1   r/   r3  r§   r$   r¶  r£  r¹  r   rÁ  r4   r�  Ú__classcell__)r¢   s   @rN   r7   r7   m  sÁ  ø€ € € € € € àÔ 	 	¨=¨/Ñ :Ô :Ñ:€Eà37€K�Ð/Ô0Ð7Ð7Ñ7àð 
+ð	+ Cð 	+¨cð 	+°dð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð #+Ø(0Ø,4Ø"*Ø (Ø"*Ø+3ðð ð ð �i‘ðð ˜IÑ%ð	ð
  	Ñ)ðð �i‘ðð �I‰oðð �i‘ðð ˜y™ðð 
ðð ð ð ð ð ð0 ðð ð ñ „Uðð ð&ð &ð &ñ „Xð&ð ð&˜]ð &ð &ð &ñ „Xð&ð?¨Nð ?¸tð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?rM   r7   )jr   r¥  rJ   r.  Ústringri  rÝ   r´   Úcollections.abcr   r   r   r   r   Útypingr   r	   r
   r   r   r   r   Úurllib.parser   ÚattrÚ	multidictr   r   r   r   r   Úyarlr   rR   r   Ú_cookie_helpersr   Úabcr   Úhelpersr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   Úhttp_parserr'   Úhttp_writerr(   r^  r)   r*   Ústreamsr+   r,   Útypedefsr-   r.   r/   r0   r1   Úweb_exceptionsr2   r3   Úweb_responser4   Ú__all__Úweb_appr8   Úweb_protocolr9   Úweb_urldispatcherr:   r;   Úsr6   rH   rL  rJ  rž  ÚdigitsÚascii_lettersrO   rI   rQ   Úformatrú   rŸ   Úranger^   r_   ra   rc   Úcompilerd   re   r5   r7   rL   rM   rN   ú<module>rá     si  ðØ €€€€Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø €€€Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ "Ð "Ð "Ð "Ð "Ð "à €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð +Ð *Ð *Ð *Ð *Ð *Ø $Ð $Ð $Ð $Ð $Ð $Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð HÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ (Ð (Ð (Ð (Ð (Ð (à
1€ð ð 7Ø$Ð$Ð$Ð$Ð$Ð$Ø,Ð,Ð,Ð,Ð,Ð,Ø6Ð6Ð6Ð6Ð6Ð6ð €WˆT�]„]€ð €„�T $¨dÐ3Ñ3Ô3ð#ð #ð #ð #ð #ñ #ô #ñ 4Ô3ð#ð 	ˆe‰�iÑ )Ñ+€Ø”] VÔ%9Ñ9Ð<NÑN€ˆˆcŒ
Ð NÐ NÑ Nð %˜&�_�_�_€ˆˆcŒ
Ð $Ð $Ñ $à—n’nØ‡H‚HÐKÐKÐ/°%°%¸¸¸dÀDÑ8IÔ8IÑ2JÔ2JÑJÐKÑKÔKÑKÔKñô €ˆˆsŒð ð ñ ð )€ˆe�CŒjÐ (Ð (Ñ (à@ \Ð@Ð@°GÐ@Ð@Ð@€��c”
Ð @Ð @Ñ @ð V 6ÐUÐU¨fÐUÐU°~ÐUÐUÐU€��s”Ð UÐ UÑ Uà/9¨r¬z¸/Ñ/JÔ/JÐ ˜˜w sœ|Ô,Ð JÐ JÑ Jð +5¨"¬*°_Ñ*EÔ*EÐ �E˜' #œ,Ô'Ð EÐ EÑ Eð/ð /ð /ð /ð /�.  z°#¤Ñ!6¸Ð!;Ô<¸lñ /ô /ð /ðDH?ð H?ð H?ð H?ð H?ˆkñ H?ô H?ð H?ð H?ð H?rM   