§
    ~Štj®x  ã                   óø  — 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
 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 d dlmZmZ dd	lmZmZ dd
lmZ ddl m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. ddlm/Z/m0Z0m1Z1 ddlm2Z2 ddl3m4Z4m5Z5m6Z6 d„ eD ¦   «         Z7dZ8erddl9m:Z: e
e;ef         Z<nej        j
        Z< ed¦  «        Z= G d„ dej>        ¦  «        Z?d„ e?D ¦   «         Z@ G d„ de
e;e(e         z  ef         e'¦  «        ZA G d„ deA¦  «        ZBe,fddddddejC        dœdede;dz  d eDdz  d!eEd"e;dz  d#e6dz  d$e;d%e5d&eBfd'„ZFe,fdddddd(œded%e4d eDdz  d!eEd"e;dz  d#e6dz  d$e;d&eBfd)„ZGdS )*é    N)ÚIteratorÚMutableMapping)ÚExecutor)Ú
HTTPStatus)ÚSimpleCookie)ÚTYPE_CHECKINGÚAnyÚOptionalÚTypeVarÚcastÚoverload)ÚCIMultiDictÚistré   )ÚhdrsÚpayload)ÚAbstractStreamWriter)ÚMAX_SYNC_CHUNK_SIZEÚZLibCompressor)ÚETAG_ANYÚQUOTED_ETAG_REÚETagÚHeadersMixinÚResponseKeyÚmust_be_empty_bodyÚparse_http_dateÚrfc822_formatted_timeÚsentinelÚshould_remove_content_lengthÚvalidate_etag_value)ÚSERVER_SOFTWAREÚHttpVersion10ÚHttpVersion11)ÚPayload)ÚJSONBytesEncoderÚJSONEncoderÚLooseHeadersc                 ó(   — i | ]}|j         |j        “ŒS © )ÚvalueÚphrase)Ú.0Úhttp_statuss     úR/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/aiohttp/web_response.pyú
<dictcomp>r/   %   s    € ÐVÐVÐV¸K�+Ô# [Ô%7ÐVÐVÐVó    )ÚContentCodingÚStreamResponseÚResponseÚjson_responseÚjson_bytes_response)ÚBaseRequestÚ_Tc                   ó   — e Zd ZdZdZdZdS )r1   ÚdeflateÚgzipÚidentityN)Ú__name__Ú
__module__Ú__qualname__r9   r:   r;   r)   r0   r.   r1   r1   <   s   € € € € € ð
 €GØ€DØ€H€H€Hr0   r1   c                 ó   — i | ]
}|j         |“ŒS r)   ©r*   )r,   Úcodings     r.   r/   r/   F   s   € ÐDÐDÐD¨F�6”< ÐDÐDÐDr0   c                   óÎ  ‡ — e Zd ZU dez  ez  ez  ed<   dZdZdZ	e
dz  ed<   dZe
ed<   dZe
ed<   dZedz  ed<   dZedz  ed	<   dZed
         ed<   dZedz  ed<   dZe
ed<   dZe
dz  ed<   dZdZedz  ed<   dZ e¦   «         Zee         ed<   dddddœdededz  dedz  dee         dz  ddf
d„Z e!de
fd„¦   «         Z"e!dgd„¦   «         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'	 dhdededz  ddfd!„Z(dededz  ddfd"„Z)e!de
dz  fd#„¦   «         Z*did$„Z+e!defd%„¦   «         Z,e!defd&„¦   «         Z-dhd'edz  ddfd(„Z.	 	 djd)e
ez  dz  d*edz  ddfd+„Z/e!dkd-„¦   «         Z0e!defd.„¦   «         Z1dddd/dddddd0œ	d1ed2ed3edz  d4edz  d5eez  dz  d6ed7e
dz  d8e
dz  d9edz  d:edz  d;e
dz  ddfd<„Z2dd/dddd=œd1ed4edz  d6ed7e
dz  d8e
dz  d:edz  ddfd>„Z3e!dedz  fˆ fd?„¦   «         Z4e4j5        d2edz  ddfd@„¦   «         Z4e!defˆ fdA„¦   «         Z6e6j5        d2eddfdB„¦   «         Z6e!dedz  fˆ fdC„¦   «         Z7e7j5        d2edz  ddfdD„¦   «         Z7e!de8j8        dz  fdE„¦   «         Z9e9j5        d2ee:z  e8j8        z  ez  dz  ddfdF„¦   «         Z9e!de;dz  fdG„¦   «         Z<e<j5        d2e;ez  dz  ddfdH„¦   «         Z<e=j>        fdIe?ddfdJ„Z@dKeddfdL„ZAdldN„ZBdMd
dedz  fdO„ZCdMd
defdP„ZDdidQ„ZEdidR„ZFdSeez  eGz  ddfdT„ZHdidU„ZIdmdSeddfdW„ZJdefdX„ZKeLdYeMeN         deNfdZ„¦   «         ZOeLdYedePfd[„¦   «         ZOdYeeMeN         z  dePfd\„ZOeLdYeMeN         d2eNddfd]„¦   «         ZQeLdYed2ePddfd^„¦   «         ZQdYeeMeN         z  d2ePddfd_„ZQdYeeMeN         z  ddfd`„ZRdefda„ZSdeTeeMeP         z           fdb„ZUdefdc„ZVddeWde
fde„ZXde
fdf„ZYˆ xZZS )nr2   NÚ_bodyTÚ_keep_aliveFÚ_chunkedÚ_compressionÚ_compression_strategyÚ_compression_forcer6   Ú_reqÚ_payload_writerÚ	_eof_sentÚ_must_be_empty_bodyr   Ú_cookiesÚ_seen_str_keyséÈ   )ÚstatusÚreasonÚheadersÚ_real_headersrP   rQ   rR   rS   Úreturnc                ó¨   — i | _         |�|| _        n*|�t          |¦  «        | _        nt          ¦   «         | _        |                      ||¦  «         dS )a;  Initialize a new stream response object.

        _real_headers is an internal parameter used to pass a pre-populated
        headers object. It is used by the `Response` class to avoid copying
        the headers when creating a new response object. It is not intended
        to be used by external code.
        N)Ú_stateÚ_headersr   Ú_set_status)ÚselfrP   rQ   rR   rS   s        r.   Ú__init__zStreamResponse.__init__`   sX   € ð :<ˆŒàÐ$Ø)ˆDŒMˆMØÐ Ý.9¸'Ñ.BÔ.BˆDŒMˆMå'™MœMˆDŒMà×Ò˜ Ñ(Ô(Ð(Ð(Ð(r0   c                 ó"   — | j         p| j        d uS ©N)rK   rJ   ©rY   s    r.   ÚpreparedzStreamResponse.preparedz   s   € àŒ~ÐA Ô!5¸TÐ!AÐAr0   úasyncio.Task[None] | Nonec                 ó,   — | j         r| j         j        S d S r\   )rI   Útaskr]   s    r.   ra   zStreamResponse.task~   s   € àŒ9ð 	Ø”9”>Ð!à�4r0   c                 ó   — | j         S r\   )Ú_statusr]   s    r.   rP   zStreamResponse.status…   ó
   € àŒ|Ðr0   c                 ó   — | j         S r\   )rE   r]   s    r.   ÚchunkedzStreamResponse.chunked‰   ó
   € àŒ}Ðr0   c                 ó   — | j         S r\   )rF   r]   s    r.   ÚcompressionzStreamResponse.compression�   ó   € àÔ Ð r0   c                 ó   — | j         S r\   )Ú_reasonr]   s    r.   rQ   zStreamResponse.reason‘   rd   r0   c                 óT   — | j         r
J d¦   «         ‚|                      ||¦  «         d S )NzGCannot change the response status code after the headers have been sent)r^   rX   ©rY   rP   rQ   s      r.   Ú
set_statuszStreamResponse.set_status•   sC   € ð ”ð	Uð 	UàTñ	Uô 	UØà×Ò˜ Ñ(Ô(Ð(Ð(Ð(r0   c                 ó°   — t          |¦  «        | _        |€!t                               | j        d¦  «        }nd|v sd|v rt	          d¦  «        ‚|| _        d S )NÚ úú
zReason cannot contain \r or \n)Úintrc   ÚREASON_PHRASESÚgetÚ
ValueErrorrl   rn   s      r.   rX   zStreamResponse._set_statusŸ   sX   € Ý˜6‘{”{ˆŒØˆ>Ý#×'Ò'¨¬°bÑ9Ô9ˆFˆFØ�Vˆ^ˆ^˜t v˜~˜~ÝÐ?Ñ@Ô@Ð@ØˆŒˆˆr0   c                 ó   — | j         S r\   ©rD   r]   s    r.   Ú
keep_alivezStreamResponse.keep_alive§   s   € àÔÐr0   c                 ó   — d| _         d S )NFry   r]   s    r.   Úforce_closezStreamResponse.force_close«   s   € Ø ˆÔÐÐr0   c                 ó   — | j         S r\   )Ú_body_lengthr]   s    r.   Úbody_lengthzStreamResponse.body_length®   rj   r0   c                 ó`   — t          j        dt          ¦  «         | j        sJ ‚| j        j        S )Nzoutput_length is deprecated)ÚwarningsÚwarnÚDeprecationWarningrJ   Úbuffer_sizer]   s    r.   Úoutput_lengthzStreamResponse.output_length²   s1   € åŒÐ3Õ5GÑHÔHÐHØÔ#Ð#Ð#Ð#ØÔ#Ô/Ð/r0   Ú
chunk_sizec                 ó�   — t           j        | j        v rt          d¦  «        ‚|�t	          j        dt          ¦  «         d| _        dS )z,Enables automatic chunked transfer encoding.z>You can't enable chunked encoding when a content length is setNzChunk size is deprecated #1615T)r   ÚCONTENT_LENGTHrW   ÚRuntimeErrorr�   r‚   rƒ   rE   )rY   r†   s     r.   Úenable_chunked_encodingz&StreamResponse.enable_chunked_encoding¸   sN   € åÔ $¤-Ð/Ð/ÝØPñô ð ð Ð!ÝŒMÐ:Õ<NÑOÔOÐOØˆŒˆˆr0   ÚforceÚstrategyc                 ó  — t          |t          ¦  «        r5|rt          j        nt          j        }t          j        dt          ¦  «         n!|�t          |t          ¦  «        s
J d¦   «         ‚d| _        || _	        || _
        dS )z&Enables response compression encoding.z+Using boolean for force is deprecated #3318Nz1force should one of None, bool or ContentEncodingT)Ú
isinstanceÚboolr1   r9   r;   r�   r‚   rƒ   rF   rH   rG   )rY   r‹   rŒ   s      r.   Úenable_compressionz!StreamResponse.enable_compressionÂ   s¥   € õ �e�TÑ"Ô"ð 	CØ-2ÐN•MÔ)Ð)½Ô8NˆEÝŒMØ=Õ?Qñô ð ð ð ÐÝØ•}ñô ð Cð CàBñCô Cð ð !ˆÔØ"'ˆÔØ%-ˆÔ"Ð"Ð"r0   úCIMultiDict[str]c                 ó   — | j         S r\   )rW   r]   s    r.   rR   zStreamResponse.headers×   rg   r0   c                 óD   — | j         €t          ¦   «         | _         | j         S r\   )rM   r   r]   s    r.   ÚcookieszStreamResponse.cookiesÛ   s   € àŒ=Ð Ý(™NœNˆDŒMØŒ}Ðr0   ú/)	ÚexpiresÚdomainÚmax_ageÚpathÚsecureÚhttponlyÚversionÚsamesiteÚpartitionedÚnamer*   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   c       	         óJ  — | j         €t          ¦   «         | _         || j         |<   | j         |         }|�||d<   n|                     d¦  «        dk    r|d= |�||d<   |�t          |¦  «        |d<   nd|v r|d= ||d<   |�||d<   |�||d<   |	�|	|d	<   |
�|
|d
<   |�||d<   dS dS )zŸSet or update response cookie.

        Sets new cookie or updates existent with new value.
        Also updates only those params which are not None.
        Nr–   úThu, 01 Jan 1970 00:00:00 GMTr—   zmax-ager™   rš   r›   rœ   r�   rž   )rM   r   rv   Ústr)rY   rŸ   r*   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   Úcs                r.   Ú
set_cookiezStreamResponse.set_cookieá   sø   € ð( Œ=Ð Ý(™NœNˆDŒMà#ˆŒ�dÑØŒM˜$ÔˆàÐØ"ˆAˆi‰LˆLØ�UŠU�9ÑÔÐ!@Ò@Ð@Ø�)�àÐØ ˆAˆh‰KàÐÝ˜w™<œ<ˆAˆi‰LˆLØ˜!ˆ^ˆ^Ø�)�àˆˆ&‰	àÐØ ˆAˆh‰KØÐØ$ˆAˆj‰MØÐØ"ˆAˆi‰LØÐØ$ˆAˆj‰MàÐ"Ø*ˆAˆmÑÐÐð #Ð"r0   )r—   r™   rš   r›   r�   c                ó†   — | j         �| j                              |d¦  «         |                      |ddd|||||¬¦	  «	         dS )zBDelete cookie.

        Creates new empty expired cookie.
        Nrq   r   r¡   )r˜   r–   r—   r™   rš   r›   r�   )rM   Úpopr¤   )rY   rŸ   r—   r™   rš   r›   r�   s          r.   Ú
del_cookiezStreamResponse.del_cookie  sd   € ð Œ=Ð$ØŒM×Ò˜d DÑ)Ô)Ð)Ø�ŠØØØØ3ØØØØØð 	ñ 
	
ô 
	
ð 
	
ð 
	
ð 
	
r0   c                 ó*   •— t          ¦   «         j        S r\   )ÚsuperÚcontent_length©rY   Ú	__class__s    €r.   rª   zStreamResponse.content_length3  s   ø€ õ ‰wŒwÔ%Ð%r0   c                 óä   — |�Ht          |¦  «        }| j        rt          d¦  «        ‚t          |¦  «        | j        t
          j        <   d S | j                             t
          j        d ¦  «         d S )Nz<You can't set content length when chunked encoding is enable)rt   rE   r‰   r¢   rW   r   rˆ   r¦   ©rY   r*   s     r.   rª   zStreamResponse.content_length8  sp   € àÐÝ˜‘J”JˆEØŒ}ð Ý"ØRñô ð õ 25°U±´ˆDŒM�$Ô-Ñ.Ð.Ð.àŒM×Ò�dÔ1°4Ñ8Ô8Ð8Ð8Ð8r0   c                 ó*   •— t          ¦   «         j        S r\   )r©   Úcontent_typer«   s    €r.   r°   zStreamResponse.content_typeD  s   ø€ õ ‰wŒwÔ#Ð#r0   c                 ód   — | j          t          |¦  «        | _        |                      ¦   «          d S r\   )r°   r¢   Ú_content_typeÚ_generate_content_type_headerr®   s     r.   r°   zStreamResponse.content_typeI  s1   € àÔÐÝ  ™ZœZˆÔØ×*Ò*Ñ,Ô,Ð,Ð,Ð,r0   c                 ó*   •— t          ¦   «         j        S r\   )r©   Úcharsetr«   s    €r.   rµ   zStreamResponse.charsetO  s   ø€ õ ‰wŒwŒÐr0   c                 ó  — | j         }|dk    rt          d¦  «        ‚| j        €J ‚|€| j                             dd ¦  «         n)t	          |¦  «                             ¦   «         | j        d<   |                      ¦   «          d S )Núapplication/octet-streamzYSetting charset for application/octet-stream doesn't make sense, setup content_type firstrµ   )r°   r‰   Ú_content_dictr¦   r¢   Úlowerr³   )rY   r*   Úctypes      r.   rµ   zStreamResponse.charsetT  s–   € àÔ!ˆØÐ.Ò.Ð.Ýð?ñô ð ð Ô!Ð-Ð-Ð-Øˆ=ØÔ×"Ò" 9¨dÑ3Ô3Ð3Ð3å,/°©J¬J×,<Ò,<Ñ,>Ô,>ˆDÔ˜yÑ)Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,r0   c                 ód   — t          | j                             t          j        ¦  «        ¦  «        S )zuThe value of Last-Modified HTTP header, or None.

        This header is represented as a `datetime` object.
        )r   rW   rv   r   ÚLAST_MODIFIEDr]   s    r.   Úlast_modifiedzStreamResponse.last_modifiedc  s%   € õ ˜tœ}×0Ò0µÔ1CÑDÔDÑEÔEÐEr0   c                 óØ  — |€'| j                              t          j        d ¦  «         d S t	          |t
          t          f¦  «        rMt          j        dt          j	        t          j        |¦  «        ¦  «        ¦  «        | j         t          j        <   d S t	          |t          j        ¦  «        rn|j        r,|                     d¬¦  «        t          j        d¬¦  «        z   }t          j        d|                     ¦   «         ¦  «        | j         t          j        <   d S t	          |t"          ¦  «        r|| j         t          j        <   d S dt%          |¦  «        j        › �}t)          |¦  «        ‚)Nz%a, %d %b %Y %H:%M:%S GMTr   )Úmicrosecondr   )Úsecondsz$Unsupported type for last_modified: )rW   r¦   r   r¼   rŽ   rt   ÚfloatÚtimeÚstrftimeÚgmtimeÚmathÚceilÚdatetimer¿   ÚreplaceÚ	timedeltaÚutctimetupler¢   Útyper<   Ú	TypeError)rY   r*   Úmsgs      r.   r½   zStreamResponse.last_modifiedk  sA  € ð ˆ=ØŒM×Ò�dÔ0°$Ñ7Ô7Ð7Ð7Ð7Ý˜¥¥U˜|Ñ,Ô,ð 	!Ý04´Ø+­T¬[½¼À5Ñ9IÔ9IÑ-JÔ-Jñ1ô 1ˆDŒM�$Ô,Ñ-Ð-Ð-õ ˜�xÔ0Ñ1Ô1ð 
	!ØÔ ð UØŸš°!˜Ñ4Ô4µxÔ7IÐRSÐ7TÑ7TÔ7TÑT�Ý04´Ø+¨U×-?Ò-?Ñ-AÔ-Añ1ô 1ˆDŒM�$Ô,Ñ-Ð-Ð-õ ˜�sÑ#Ô#ð 	!Ø05ˆDŒM�$Ô,Ñ-Ð-Ð-àO½¸e¹¼Ô9MÐOÐOˆCÝ˜C‘.”.Ð r0   c                 ó0  — | j                              t          j        ¦  «        }|sd S |t          k    rt          t          ¬¦  «        S t          j        |¦  «        }|sd S |                     dd¦  «        \  }}t          t          |¦  «        |¬¦  «        S )Nr@   r   é   )Úis_weakr*   )
rW   rv   r   ÚETAGr   r   r   Ú	fullmatchÚgroupr�   )rY   Úquoted_valueÚmatchrÐ   r*   s        r.   ÚetagzStreamResponse.etag�  s™   € à”}×(Ò(­¬Ñ3Ô3ˆØð 	(Ø�4Ø�XÒ%Ð%Ý�hÐ'Ñ'Ô'Ð'ÝÔ(¨Ñ6Ô6ˆØð 	Ø�4ØŸš Q¨Ñ*Ô*‰ˆ�ÝÝ˜‘M”MØð
ñ 
ô 
ð 	
r0   c                 ó¼  — |€'| j                              t          j        d ¦  «         d S t	          |t
          ¦  «        r|t          k    s%t	          |t          ¦  «        r+|j        t          k    rt          | j         t          j        <   d S t	          |t
          ¦  «        r)t          |¦  «         d|› d�| j         t          j        <   d S t	          |t          ¦  «        rat	          |j        t
          ¦  «        rGt          |j        ¦  «         |j
        rd|j        › d�n
d|j        › d�}|| j         t          j        <   d S t          dt          |¦  «        › d�¦  «        ‚)Nú"zW/"zUnsupported etag type: z . etag must be str, ETag or None)rW   r¦   r   rÑ   rŽ   r¢   r   r   r*   r    rÐ   rw   rË   )rY   r*   Ú	hdr_values      r.   rÖ   zStreamResponse.etag‘  sV  € àˆ=ØŒM×Ò�dœi¨Ñ.Ô.Ð.Ð.Ð.Ý˜¥Ñ$Ô$ð 	¨µ(Ò):Ð):Ý�u�dÑ#Ô#ð *;Ø(-¬µxÒ(?Ð(?å'/ˆDŒM�$œ)Ñ$Ð$Ð$Ý˜�sÑ#Ô#ð 	Ý Ñ&Ô&Ð&Ø'3¨5 | | |ˆDŒM�$œ)Ñ$Ð$Ð$Ý˜�tÑ$Ô$ð 	­°E´KÅÑ)EÔ)Eð 	Ý ¤Ñ,Ô,Ð,Ø05´ÐUÐ,˜eœkÐ,Ð,Ð,Ð,ÐCUÀuÄ{ÐCUÐCUÐCUˆIØ'0ˆDŒM�$œ)Ñ$Ð$Ð$åð2­$¨u©+¬+ð 2ð 2ð 2ñô ð r0   ÚCONTENT_TYPEc                 óØ   — | j         €J ‚| j        €J ‚d                     d„ | j                              ¦   «         D ¦   «         ¦  «        }|r| j        dz   |z   }n| j        }|| j        |<   d S )Nz; c              3   ó*   K  — | ]\  }}|› d |› �V — ŒdS )ú=Nr)   )r,   ÚkÚvs      r.   ú	<genexpr>z?StreamResponse._generate_content_type_header.<locals>.<genexpr>«  s0   è è € ÐMÐM©$¨!¨Q˜a˜:˜: !˜:˜:ÐMÐMÐMÐMÐMÐMr0   )r¸   r²   ÚjoinÚitemsrW   )rY   rÚ   Úparamsrº   s       r.   r³   z,StreamResponse._generate_content_type_header¦  s‡   € ð Ô!Ð-Ð-Ð-ØÔ!Ð-Ð-Ð-Ø—’ÐMÐM°$Ô2D×2JÒ2JÑ2LÔ2LÐMÑMÔMÑMÔMˆØð 	'ØÔ&¨Ñ-°Ñ6ˆEˆEàÔ&ˆEØ&+ˆŒ�lÑ#Ð#Ð#r0   rA   c              ƒ   ó  K  — |t           j        u rd S | j        €J ‚|j        | j        t
          j        <   | j                             |j        | j        ¦  «         | j         	                    t
          j
        d ¦  «         d S r\   )r1   r;   rJ   r*   rW   r   ÚCONTENT_ENCODINGr�   rG   Úpopallrˆ   )rY   rA   s     r.   Ú_do_start_compressionz$StreamResponse._do_start_compression²  s�   è è € Ø•]Ô+Ð+Ð+ØˆFØÔ#Ð/Ð/Ð/Ø/5¬|ˆŒ•dÔ+Ñ,ØÔ×/Ò/ØŒL˜$Ô4ñ	
ô 	
ð 	
ð
 	Œ×Ò�TÔ0°$Ñ7Ô7Ð7Ð7Ð7r0   Úrequestc              ƒ   óL  K  — | j         r"|                      | j         ¦  «        ƒ d {V —† d S |j                             t          j        d¦  «                             ¦   «         }t                               ¦   «         D ]'\  }}||v r|                      |¦  «        ƒ d {V —†  d S Œ(d S )Nrq   )	rH   rç   rR   rv   r   ÚACCEPT_ENCODINGr¹   ÚCONTENT_CODINGSrâ   )rY   rè   Úaccept_encodingr*   rA   s        r.   Ú_start_compressionz!StreamResponse._start_compression¾  sÍ   è è € ØÔ"ð 	Ø×,Ò,¨TÔ-DÑEÔEÐEÐEÐEÐEÐEÐEÐEØˆFð "œ/×-Ò-­dÔ.BÀBÑGÔG×MÒMÑOÔOˆÝ,×2Ò2Ñ4Ô4ð 	ð 	‰MˆE�6Ø˜Ð'Ð'Ø×0Ò0°Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø��ð (ð	ð 	r0   c              ƒ   ó¨   K  — | j         rd S | j        �| j        S t          |j        | j        ¦  «        | _        |                      |¦  «        ƒ d {V —†S r\   )rK   rJ   r   ÚmethodrP   rL   Ú_start)rY   rè   s     r.   ÚpreparezStreamResponse.prepareÊ  sa   è è € ØŒ>ð 	Ø�4ØÔÐ+ØÔ'Ð'Ý#5°g´nÀdÄkÑ#RÔ#RˆÔ Ø—[’[ Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)r0   c              ƒ   óÒ   K  — || _         |j        x}| _        |                      ¦   «         ƒ d {V —† |                     | ¦  «        ƒ d {V —† |                      ¦   «         ƒ d {V —† |S r\   )rI   rJ   Ú_prepare_headersÚ_prepare_hookÚ_write_headers)rY   rè   Úwriters      r.   rð   zStreamResponse._startÒ  s�   è è € ØˆŒ	Ø(/Ô(?Ð?ˆ�Ô%à×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ø×#Ò# DÑ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#àˆr0   c              ƒ   ó`  K  — | j         }|€J ‚| j        }|€J ‚| j        }|€|j        }|| _        |j        }| j        }| j        rZ| j                             ¦   «         D ]@}|                     d¬¦  «        dd …         }| 	                    t          j        |¦  «         ŒA| j        r|                      |¦  «        ƒ d {V —† | j        r_|t          k    r)t!          d|j        j        › d|j        j        › �¦  «        ‚| j        s#|                     ¦   «          d|t          j        <   nY| j        rR| j        |_        |j        €?|t          k    r+| j        s#|                     ¦   «          d|t          j        <   n	| j        sd}| j        rQt          j        |v r't5          |j        | j        ¦  «        r|t          j        = t          j        |v r|t          j        = n9| j        r|j        n| j        dk    r |                     t          j        d	¦  «         |                     t          j        tA          ¦   «         ¦  «         |                     t          j!        tD          ¦  «         t          j#        |vr<|r|tH          k    rd
|t          j#        <   d S d S |t          k    rd|t          j#        <   d S d S d S )Nrq   )Úheaderr   z-Using chunked encoding is forbidden for HTTP/ú.rf   Fr   r·   z
keep-aliveÚclose)%rI   rJ   rD   rz   rœ   rW   rM   ÚvaluesÚoutputÚaddr   Ú
SET_COOKIErF   rí   rE   r#   r‰   ÚmajorÚminorrL   Úenable_chunkingÚTRANSFER_ENCODINGÚ_length_checkrª   Úlengthrˆ   r   rï   rP   Ú
setdefaultrÚ   ÚDATEr   ÚSERVERr!   Ú
CONNECTIONr"   )rY   rè   rö   rz   rœ   rR   Úcookier*   s           r.   ró   zStreamResponse._prepare_headersÜ  s   è è € Ø”)ˆØÐ"Ð"Ð"ØÔ%ˆØÐ!Ð!Ð!ØÔ%ˆ
ØÐØ Ô+ˆJØ%ˆÔà”/ˆà”-ˆØŒ=ð 	4Øœ-×.Ò.Ñ0Ô0ð 4ð 4�ØŸš¨R˜Ñ0Ô0°°°Ô4�Ø—’�DœO¨UÑ3Ô3Ð3Ð3àÔð 	3Ø×)Ò)¨'Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2àŒ=ð 	'Ø�-Ò'Ð'Ý"ðPØ '¤Ô 5ðPð PØ8?¼Ô8MðPð Pñô ð ð Ô+ð <Ø×&Ò&Ñ(Ô(Ð(Ø2;��Ô.Ñ/øØÔð 	'Ø Ô/ˆFŒMØŒ}Ð$Ø�mÒ+Ð+ØÔ3ð DØ×.Ò.Ñ0Ô0Ð0Ø:C˜¥Ô 6Ñ7øØÔ1ð 'Ø!&�Jð Ô#ð 	NÝÔ" gÐ-Ð-Õ2NØ” ¤ñ3ô 3Ð-ð �DÔ/Ð0õ Ô%¨Ð0Ð0Ø�DÔ2Ð3øØ#Ô1ÐJˆfŒmˆm°tÔ7JÈqÒPÐPà×Ò�tÔ0Ð2LÑMÔMÐMØ×Ò�4œ9Õ&;Ñ&=Ô&=Ñ>Ô>Ð>Ø×Ò�4œ;­Ñ8Ô8Ð8õ Œ? 'Ð)Ð)Øð 3Ø�mÒ+Ð+Ø/;�G�DœOÑ,Ð,Ð,ð ,Ð+à�MÒ)Ð)Ø+2��œÑ(Ð(Ð(ð *Ð)ð *Ð)r0   c              ƒ   ó  K  — | j         }|€J ‚| j        }|€J ‚|j        }d|d         › d|d         › d| j        › d| j        › �}|                     || j        ¦  «        ƒ d {V —† | j        r|                     ¦   «          d S d S )NzHTTP/r   rù   r   ú )	rI   rJ   rœ   rc   rl   Úwrite_headersrW   Ú_send_headers_immediatelyÚsend_headers)rY   rè   rö   rœ   Ústatus_lines        r.   rõ   zStreamResponse._write_headers  s¼   è è € Ø”)ˆØÐ"Ð"Ð"ØÔ%ˆØÐ!Ð!Ð!à”/ˆØU˜g aœjÐUÐU¨7°1¬:ÐUÐU¸¼ÐUÐUÀtÄ|ÐUÐUˆØ×"Ò" ;°´Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>àÔ)ð 	"Ø×ÒÑ!Ô!Ð!Ð!Ð!ð	"ð 	"r0   Údatac              ƒ   ó  K  — t          |t          t          t          f¦  «        sJ dt	          |¦  «        z  ¦   «         ‚| j        rt          d¦  «        ‚| j        €t          d¦  «        ‚| j                             |¦  «        ƒ d {V —† d S )Nú#data argument must be byte-ish (%r)z%Cannot call write() after write_eof()z$Cannot call write() before prepare())	rŽ   ÚbytesÚ	bytearrayÚ
memoryviewrË   rK   r‰   rJ   Úwrite©rY   r  s     r.   r  zStreamResponse.write*  s©   è è € ÝØ•5�)¥ZÐ0ñ
ô 
ð 	>ð 	>à0µ4¸±:´:Ñ=ñ	>ô 	>ð 
ð Œ>ð 	HÝÐFÑGÔGÐGØÔÐ'ÝÐEÑFÔFÐFàÔ"×(Ò(¨Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.r0   c              ƒ   óÄ   K  — | j         r
J d¦   «         ‚| j        €
J d¦   «         ‚t          j        dt          d¬¦  «         | j                             ¦   «         ƒ d {V —† d S )NzEOF has already been sentúResponse has not been startedz2drain method is deprecated, use await resp.write()rÏ   )Ú
stacklevel)rK   rJ   r�   r‚   rƒ   Údrainr]   s    r.   r  zStreamResponse.drain6  s†   è è € Ø”>Ð>Ð>Ð#>Ñ>Ô>Ð!ØÔ#Ð/Ð/Ð1PÑ/Ô/Ð/ÝŒØ@ÝØð	
ñ 	
ô 	
ð 	
ð
 Ô"×(Ò(Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r0   r0   c              ƒ   óB  K  — t          |t          t          t          f¦  «        sJ dt	          |¦  «        z  ¦   «         ‚| j        rd S | j        €
J d¦   «         ‚| j                             |¦  «        ƒ d {V —† d| _        d | _        | j        j	        | _
        d | _        d S )Nr  r  T)rŽ   r  r  r  rË   rK   rJ   Ú	write_eofrI   Úoutput_sizer~   r  s     r.   r  zStreamResponse.write_eof@  sÂ   è è € ÝØ•5�)¥ZÐ0ñ
ô 
ð 	>ð 	>à0µ4¸±:´:Ñ=ñ	>ô 	>ð 
ð Œ>ð 	ØˆFàÔ#Ð/Ð/Ð1PÑ/Ô/Ð/àÔ"×,Ò,¨TÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ØˆŒØˆŒ	Ø Ô0Ô<ˆÔØ#ˆÔÐÐr0   c                 óª   — | j         rd}n/| j        r&| j        €J ‚| j        j        › d| j        j        › d�}nd}d| j        j        › d| j        › d|› d�S )NÚeofr  znot preparedú<ú>)rK   r^   rI   rï   r™   r¬   r<   rQ   )rY   Úinfos     r.   Ú__repr__zStreamResponse.__repr__P  sy   € ØŒ>ð 	"ØˆDˆDØŒ]ð 	"Ø”9Ð(Ð(Ð(Ø”iÔ&Ð:Ð:¨¬¬Ð:Ð:Ð:ˆDˆDà!ˆDØB�4”>Ô*ÐBÐB¨T¬[ÐBÐB¸4ÐBÐBÐBÐBr0   Úkeyc                 ó   — d S r\   r)   ©rY   r%  s     r.   Ú__getitem__zStreamResponse.__getitem__Z  s   € Ø7:°sr0   c                 ó   — d S r\   r)   r'  s     r.   r(  zStreamResponse.__getitem__]  s   € Ø,/¨Cr0   c                 ó   — | j         |         S r\   ©rV   r'  s     r.   r(  zStreamResponse.__getitem__`  s   € ØŒ{˜3ÔÐr0   c                 ó   — d S r\   r)   ©rY   r%  r*   s      r.   Ú__setitem__zStreamResponse.__setitem__c  s   € ØDGÀCr0   c                 ó   — d S r\   r)   r-  s      r.   r.  zStreamResponse.__setitem__f  s   € Ø9<¸r0   c                 óØ   — t          |t          ¦  «        sJ|t          j        vr<ddlm} t          j                             |¦  «         t          j        d|d¬¦  «         || j	        |<   d S )Nr   )ÚNotAppKeyWarningz„It is recommended to use web.ResponseKey instances for keys.
https://docs.aiohttp.org/en/stable/web_advanced.html#response-s-storagerÏ   )Úcategoryr  )
rŽ   r   r2   rN   Úweb_exceptionsr1  rý   r�   r‚   rV   )rY   r%  r*   r1  s       r.   r.  zStreamResponse.__setitem__i  s‡   € å˜3¥Ñ,Ô,ð	à�>Ô8Ð8Ð8ð 9Ð8Ð8Ð8Ð8Ð8åÔ)×-Ò-¨cÑ2Ô2Ð2ÝŒMð(ð *Øðñ ô ð ð !ˆŒ�CÑÐÐr0   c                 ó   — | j         |= d S r\   r+  r'  s     r.   Ú__delitem__zStreamResponse.__delitem__{  s   € ØŒK˜ÐÐÐr0   c                 ó*   — t          | j        ¦  «        S r\   )ÚlenrV   r]   s    r.   Ú__len__zStreamResponse.__len__~  s   € Ý�4”;ÑÔÐr0   c                 ó*   — t          | j        ¦  «        S r\   )ÚiterrV   r]   s    r.   Ú__iter__zStreamResponse.__iter__�  s   € Ý�D”KÑ Ô Ð r0   c                 ó:   — t          t          | ¦  «        ¦  «        S r\   )ÚhashÚidr]   s    r.   Ú__hash__zStreamResponse.__hash__„  s   € Ý•B�t‘H”H‰~Œ~Ðr0   Úotherc                 ó
   — | |u S r\   r)   )rY   r@  s     r.   Ú__eq__zStreamResponse.__eq__‡  s   € Ø�uˆ}Ðr0   c                 ó   — dS )NTr)   r]   s    r.   Ú__bool__zStreamResponse.__bool__Š  s   € Øˆtr0   )rT   r_   r\   )rT   N)NN)rT   r‘   )rè   r6   rT   N©r0   )[r<   r=   r>   r  r  r$   Ú__annotations__r  rC   rD   r�   rE   rF   rG   rt   rH   r1   rI   r
   rJ   r   rK   rL   r~   rM   r   r  ÚsetrN   r¢   r'   r   rZ   Úpropertyr^   ra   rP   rf   ri   rQ   ro   rX   rz   r|   r   r…   rŠ   r�   rR   r”   r¤   r§   rª   Úsetterr°   rµ   rÇ   r½   rÁ   r   rÖ   r   rÚ   r   r³   rç   rí   rñ   rð   ró   rõ   r  r  r  r  r$  r   r   r7   r(  r	   r.  r5  r8  r   r;  r?  ÚobjectrB  rD  Ú__classcell__©r¬   s   @r.   r2   r2   M   sÌ
  ø€ € € € € € à�%‰<˜)Ñ# gÑ-Ð-Ð-Ñ-Ø€MØ€EØ#€K�˜‘Ð#Ð#Ñ#Ø€HˆdÐÐÑØ€L�$ÐÐÑØ(,Ð˜3 ™:Ð,Ð,Ñ,Ø/3Ð˜¨Ñ,Ð3Ð3Ñ3Ø$(€Dˆ(�=Ô
!Ð(Ð(Ñ(Ø37€OÐ)¨DÑ0Ð7Ð7Ñ7Ø€IˆtÐÐÑØ'+Ð˜ ™Ð+Ð+Ñ+Ø€LØ$(€Hˆl˜TÑ!Ð(Ð(Ñ(Ø $ÐØ"˜s™uœu€N�C˜”HÐ$Ð$Ñ$ð
 Ø!Ø'+Ø15ð)ð )ð )ð ð)ð �d‘
ð	)ð
  Ñ$ð)ð # 3Ô'¨$Ñ.ð)ð 
ð)ð )ð )ð )ð4 ðB˜$ð Bð Bð Bñ „XðBð ðð ð ñ „Xðð ð˜ð ð ð ñ „Xðð ð˜ð ð ð ñ „Xðð ð!˜Tð !ð !ð !ñ „Xð!ð ð˜ð ð ð ñ „Xðð "ð)ð )àð)ð �d‘
ð)ð 
ð	)ð )ð )ð )ð #ð ¨s°T©zð ¸dð ð ð ð ð ð ˜D 4™Kð  ð  ð  ñ „Xð ð!ð !ð !ð !ð ð!˜Sð !ð !ð !ñ „Xð!ð ð0˜sð 0ð 0ð 0ñ „Xð0ð
ð °#¸±*ð Èð ð ð ð ð .2Ø#ð.ð .à�mÑ# dÑ*ð.ð ˜‘*ð.ð 
ð	.ð .ð .ð .ð* ðð ð ñ „Xðð ð˜ð ð ð ñ „Xðð #Ø!Ø$(ØØ"Ø $Ø"Ø#Ø#'ð3+ð 3+ð 3+àð3+ð ð3+ð
 �t‘ð3+ð �d‘
ð3+ð �s‘˜TÑ!ð3+ð ð3+ð �t‘ð3+ð ˜‘+ð3+ð �t‘ð3+ð ˜‘*ð3+ð ˜D‘[ð3+ð 
ð3+ð 3+ð 3+ð 3+ðr "ØØ"Ø $Ø#ð
ð 
ð 
àð
ð �d‘
ð	
ð
 ð
ð �t‘ð
ð ˜‘+ð
ð ˜‘*ð
ð 
ð
ð 
ð 
ð 
ð: ð&  d¡
ð &ð &ð &ð &ð &ñ „Xð&ð Ôð	9 C¨$¡Jð 	9°4ð 	9ð 	9ð 	9ñ Ôð	9ð ð$˜cð $ð $ð $ð $ð $ñ „Xð$ð Ôð- #ð -¨$ð -ð -ð -ñ Ôð-ð
 ð˜˜t™ð ð ð ð ð ñ „Xðð „^ð-˜S 4™Zð -¨Dð -ð -ð -ñ „^ð-ð ðF˜xÔ0°4Ñ7ð Fð Fð Fñ „XðFð Ôð!Ø˜5‘[ 8Ô#4Ñ4°sÑ:¸TÑAð!à	ð!ð !ð !ñ Ôð!ð* ð
�d˜T‘kð 
ð 
ð 
ñ „Xð
ð 
„[ð˜$ ™* tÑ+ð °ð ð ð ñ „[ðð* $(Ô#4ð
,ð 
,Ø ð
,à	ð
,ð 
,ð 
,ð 
,ð
8°-ð 
8ÀDð 
8ð 
8ð 
8ð 
8ð
ð 
ð 
ð 
ð* ]ð *Ð7KÈdÑ7Rð *ð *ð *ð *ð Mð Ð6Jð ð ð ð ð?3ð ?3ð ?3ð ?3ðB"ð "ð "ð "ð
/ ¨	Ñ 1°JÑ >ð 
/À4ð 
/ð 
/ð 
/ð 
/ð+ð +ð +ð +ð$ð $ Eð $°Dð $ð $ð $ð $ð C˜#ð Cð Cð Cð Cð Ø:˜{¨2œÐ:°2Ð:Ð:Ð:ñ „XØ:àØ/˜sÐ/ sÐ/Ð/Ð/ñ „XØ/ð ˜s [°¤_Ñ4ð  ¸ð  ð  ð  ð  ð ØG˜{¨2œÐG°rÐG¸dÐGÐGÐGñ „XØGàØ<˜sÐ<¨3Ð<°4Ð<Ð<Ð<ñ „XØ<ð!˜s [°¤_Ñ4ð !¸Sð !ÀTð !ð !ð !ð !ð$˜s [°¤_Ñ4ð ¸ð ð ð ð ð ˜ð  ð  ð  ð  ð!˜( 3¨°SÔ)9Ñ#9Ô:ð !ð !ð !ð !ð˜#ð ð ð ð ð˜Fð  tð ð ð ð ð˜$ð ð ð ð ð ð ð ð r0   r2   c                   óÐ  ‡ — e Zd ZU dZedz  ed<   dZdddddddeddœ	dede	de
dz  d	e
dz  d
edz  de
dz  de
dz  de	dedz  ddfˆ fd„Zedeez  ez  dz  fd„¦   «         Zej        deddfd„¦   «         Zede
dz  fd„¦   «         Zej        d	e
ddfd„¦   «         Zede	dz  fd„¦   «         Zej        de	dz  ddfd„¦   «         Zd deddfˆ fd„Zdddefˆ fd„Zdeddfˆ fd„Zˆ xZS )!r3   NÚ_compressed_bodyFrO   )	ÚbodyrP   rQ   ÚtextrR   r°   rµ   Úzlib_executor_sizeÚzlib_executorrO  rP   rQ   rP  rR   r°   rµ   rQ  rR  rT   c       	         ó²  •— |�|�t          d¦  «        ‚|€t          ¦   «         }
nt          |¦  «        }
|�d|v rt          d¦  «        ‚|�‹t          j        |
v r|s|rt          d¦  «        ‚n¦t	          |t
          ¦  «        st          dt          |¦  «        z  ¦  «        ‚|€d}|€d}|dz   |z   |
t          j        <   |                     |¦  «        }d }n=t          j        |
v r|€|�t          d¦  «        ‚n|�|�|d|z   z  }||
t          j        <   t          ¦   «          
                    |||
¬	¦  «         |�|| _        n|| _        || _        |	| _        d S )
Nz&body and text are not allowed togetherrµ   z,charset must not be in content_type argumentzPpassing both Content-Type header and content_type or charset params is forbiddenútext argument must be str (%r)ú
text/plainúutf-8z
; charset=)rP   rQ   rS   )rw   r   r   rÚ   rŽ   r¢   rÌ   rË   Úencoder©   rZ   rP  rO  Ú_zlib_executor_sizeÚ_zlib_executor)rY   rO  rP   rQ   rP  rR   r°   rµ   rQ  rR  Úreal_headersr¬   s              €r.   rZ   zResponse.__init__“  s¸  ø€ ð Ð Ð 0ÝÐEÑFÔFÐFàˆ?Ý-8©]¬]ˆLˆLå& wÑ/Ô/ˆLàÐ#¨	°\Ð(AÐ(AÝÐKÑLÔLÐLàÐÝÔ  LÐ0Ð0Øð  7ð Ý$ð'ñô ð ðõ " $­Ñ,Ô,ð SÝ#Ð$DÅtÈDÁzÄzÑ$QÑRÔRÐRØÐ'Ø#/�LØ�?Ø%�GØ2>ÀÑ2MÐPWÑ2W��TÔ.Ñ/Ø—{’{ 7Ñ+Ô+�Ø��ÝÔ ,Ð.Ð.ØÐ'¨7Ð+>Ý ð#ñô ð ð ,?ð Ð%ØÐ"Ø ¨wÑ 6Ñ6�Ø.:ˆL�Ô*Ñ+å‰Œ×Ò ¨vÀ\ÐÑRÔRÐRàÐØˆDŒIˆIàˆDŒIà#5ˆÔ Ø+ˆÔÐÐr0   c                 ó   — | j         S r\   )rC   r]   s    r.   rO  zResponse.bodyÔ  s
   € àŒzÐr0   c                 óÔ  — |€d | _         nÖt          |t          t          f¦  «        r|| _         n²	 t          j                             |¦  «        x| _         }n2# t          j        $ r  t          dt          |¦  «        z  ¦  «        ‚w xY w| j
        }t          j        |vr|j        |t          j        <   |j        r(|j                             ¦   «         D ]\  }}||vr|||<   Œd | _        d S )NzUnsupported body type %r)rC   rŽ   r  r  r   ÚPAYLOAD_REGISTRYrv   ÚLookupErrorrw   rË   rW   r   rÚ   r°   rR   râ   rN  )rY   rO  rR   r%  r*   s        r.   rO  zResponse.bodyØ  s
  € àˆ<ØˆDŒJˆJÝ˜�u¥iÐ0Ñ1Ô1ð 	-ØˆDŒJˆJðJÝ$+Ô$<×$@Ò$@ÀÑ$FÔ$FÐF�”
˜T˜TøÝÔ&ð Jð Jð JÝ Ð!;½dÀ4¹j¼jÑ!HÑIÔIÐIðJøøøð ”mˆGõ Ô ¨Ð/Ð/Ø-1Ô->��Ô)Ñ*ð Œ|ð -Ø"&¤,×"4Ò"4Ñ"6Ô"6ð -ð -‘J�C˜Ø 'Ð)Ð)Ø',˜ ™øà $ˆÔÐÐs   °&A Á/Bc                 óV   — | j         €d S | j                              | j        pd¦  «        S )NrV  )rC   Údecoderµ   r]   s    r.   rP  zResponse.textò  s.   € àŒ:ÐØ�4ð Œz× Ò  ¤Ð!8°Ñ9Ô9Ð9r0   c                 óô   — |�/t          |t          ¦  «        sJ dt          |¦  «        z  ¦   «         ‚| j        dk    rd| _        | j        €d| _        |                     | j        ¦  «        | _        d | _        d S )NrT  r·   rU  rV  )rŽ   r¢   rË   r°   rµ   rW  rC   rN  )rY   rP  s     r.   rP  zResponse.textû  s�   € àˆ|�zØ•#ñ 
ô  
ˆ|ˆ|à+­d°4©j¬jÑ8ñ Œ|ð 
ð ÔÐ :Ò:Ð:Ø ,ˆDÔØŒ<ÐØ"ˆDŒLà—[’[ ¤Ñ.Ô.ˆŒ
Ø $ˆÔÐÐr0   c                 ó*  — | j         rd S t          j        | j        v r$t	          | j        t          j                 ¦  «        S | j        �t          | j        ¦  «        S t          | j        t          ¦  «        rd S | j        �t          | j        ¦  «        S dS )Nr   )
rE   r   rˆ   rW   rt   rN  r7  rŽ   rC   r$   r]   s    r.   rª   zResponse.content_length	  s‡   € àŒ=ð 	Ø�4åÔ $¤-Ð/Ð/Ý�t”}¥TÔ%8Ô9Ñ:Ô:Ð:àÔ Ð,å�tÔ,Ñ-Ô-Ð-Ý˜œ
¥GÑ,Ô,ð 	à�4ØŒZÐ#Ý�t”z‘?”?Ð"à�1r0   r*   c                 ó    — t          d¦  «        ‚)Nz#Content length is set automatically)r‰   r®   s     r.   rª   zResponse.content_length  s   € åÐ@ÑAÔAÐAr0   r0   r  c              ƒ   óº  •K  — | j         rd S | j        €| j        }n| j        }|rJ d|›�¦   «         ‚| j        €J ‚| j        €J ‚|�| j        r(t          ¦   «                              ¦   «         ƒ d {V —† d S t          | j        t          ¦  «        r’	 | j         
                    | j        ¦  «        ƒ d {V —† | j                             ¦   «         ƒ d {V —† n$# | j                             ¦   «         ƒ d {V —† w xY wt          ¦   «                              ¦   «         ƒ d {V —† d S t          ¦   «                              t          t          |¦  «        ¦  «        ƒ d {V —† d S )Nzdata arg is not supported, got )rK   rN  rC   rI   rJ   rL   r©   r  rŽ   r$   r  rú   r   r  )rY   r  rO  r¬   s      €r.   r  zResponse.write_eof   s¤  øè è € ØŒ>ð 	ØˆFØÔ Ð(Ø”:ˆDˆDàÔ(ˆDØÐCÐCÐC¸4ÐCÐCÑCÔCˆxØŒyÐ$Ð$Ð$ØÔ#Ð/Ð/Ð/Øˆ<˜4Ô3ˆ<Ý‘'”'×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ý˜œ
¥GÑ,Ô,ð 	7ð)Ø”j×&Ò& tÔ';Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<à”j×&Ò&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ø�d”j×&Ò&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(øøøÝ‘'”'×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%å‘'”'×#Ò#¥D­°Ñ$5Ô$5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6s   Â%C Ã!C6rè   r6   c              ƒ   ó@  •K  — t           j        | j        v r-t          |j        | j        ¦  «        r| j        t           j        = nµ| j        s®t          | j        t          ¦  «        r0| j        j
        x}�!t          |¦  «        | j        t           j        <   nd| j        rt          | j        ¦  «        nd}|dk    s | j        dk    r6|j        t           j        k    r!t          |¦  «        | j        t           j        <   t          ¦   «                              |¦  «        ƒ d {V —†S )NÚ0i0  )r   rˆ   rW   r   rï   rP   rE   rŽ   rC   r$   Úsizer¢   r7  Ú	METH_HEADr©   rð   )rY   rè   rg  Úbody_lenr¬   s       €r.   rð   zResponse._start5  sù   øè è € ÝÔ $¤-Ð/Ð/Ý+¨G¬N¸D¼KÑHÔHð 7Ø”M¥$Ô"5Ð6øØ”ð 
	GÝ˜$œ*¥gÑ.Ô.ð 	GØ œJœOÐ+�DÐ8Ý9<¸T¹¼�D”M¥$Ô"5Ñ6øà.2¬jÐA�3˜tœz™?œ?˜?¸c�à˜s’?�?Ø”K 3Ò&Ð&¨7¬>½T¼^Ò+KÐ+Kå9<¸X¹¼�D”M¥$Ô"5Ñ6å‘W”W—^’^ GÑ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,r0   rA   c              ƒ   ó  •K  — | j         st          | j        t          ¦  «        r't	          ¦   «                              |¦  «        ƒ d {V —†S |t          j        u rd S t          |j	        | j
        | j        ¬¦  «        }| j        €J ‚|                     | j        ¦  «        ƒ d {V —†|                     ¦   «         z   | _        |j	        | j        t           j        <   t%          t'          | j        ¦  «        ¦  «        | j        t           j        <   d S )N)ÚencodingÚmax_sync_chunk_sizeÚexecutor)rE   rŽ   rC   r$   r©   rç   r1   r;   r   r*   rX  rY  ÚcompressÚflushrN  rW   r   rå   r¢   r7  rˆ   )rY   rA   Ú
compressorr¬   s      €r.   rç   zResponse._do_start_compressionG  s  øè è € ØŒ=ð 	?�J t¤zµ7Ñ;Ô;ð 	?Ý™œ×6Ò6°vÑ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø•]Ô+Ð+Ð+ØˆFõ $Ø”\Ø $Ô 8ØÔ(ð
ñ 
ô 
ˆ
ð
 ŒzÐ%Ð%Ð%à×%Ò% d¤jÑ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1°J×4DÒ4DÑ4FÔ4FÑFð 	Ôð 06¬|ˆŒ•dÔ+Ñ,Ý-0µ°TÔ5JÑ1KÔ1KÑ-LÔ-LˆŒ•dÔ)Ñ*Ð*Ð*r0   rE  )r<   r=   r>   rN  r  rF  r  r   r	   rt   r¢   r'   r   rZ   rH  r  r$   rO  rI  rP  rª   r  r   rð   r1   rç   rK  rL  s   @r.   r3   r3   Ž  s½  ø€ € € € € € à%)Ð�e˜d‘lÐ)Ð)Ñ)Ø %Ðð
 ØØ!ØØ'+Ø#'Ø"Ø"5Ø)-ð?,ð ?,ð ?,ð ð?,ð ð	?,ð
 �d‘
ð?,ð �D‰jð?,ð  Ñ$ð?,ð ˜D‘jð?,ð �t‘ð?,ð  ð?,ð   $‘ð?,ð 
ð?,ð ?,ð ?,ð ?,ð ?,ð ?,ðB ð�e˜iÑ'¨'Ñ1°DÑ8ð ð ð ñ „Xðð 
„[ð%˜ð % ð %ð %ð %ñ „[ð%ð2 ð:�c˜D‘jð :ð :ð :ñ „Xð:ð 
„[ð%˜ð % ð %ð %ð %ñ „[ð%ð ð  d¡
ð ð ð ñ „Xðð$ ÔðB C¨$¡Jð B°4ð Bð Bð Bñ ÔðBð7ð 7 Eð 7°Dð 7ð 7ð 7ð 7ð 7ð 7ð*- Mð -Ð6Jð -ð -ð -ð -ð -ð -ð$M°-ð MÀDð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mr0   r3   rO   zapplication/json)rP  rO  rP   rQ   rR   r°   Údumpsr  rP  rO  rP   rQ   rR   r°   rq  rT   c                óz   — | t           ur|s|rt          d¦  «        ‚ || ¦  «        }t          ||||||¬¦  «        S )Nz3only one of data, text, or body should be specified)rP  rO  rP   rQ   rR   r°   ©r   rw   r3   )r  rP  rO  rP   rQ   rR   r°   rq  s           r.   r4   r4   [  sc   € ð •8ÐÐØð 	�4ð 	ÝÐRÑSÔSÐSà�5˜‘;”;ˆDÝØØØØØØ!ðñ ô ð r0   ©rO  rP   rQ   rR   r°   c                ót   — | t           ur|�t          d¦  «        ‚ || ¦  «        }t          |||||¬¦  «        S )z¶Create a JSON response using a bytes-returning encoder.

    Use this when your JSON encoder (like orjson) returns bytes
    instead of str, avoiding the encode/decode overhead.
    Nz,only one of data or body should be specifiedrt  rs  )r  rq  rO  rP   rQ   rR   r°   s          r.   r5   r5   u  sW   € ð •8ÐÐØÐÝÐKÑLÔLÐLà�5˜‘;”;ˆDÝØØØØØ!ðñ ô ð r0   )HÚasyncioÚcollections.abcÚcollectionsrÇ   ÚenumÚjsonrÅ   rÂ   r�   r   r   Úconcurrent.futuresr   Úhttpr   Úhttp.cookiesr   Útypingr   r	   r
   r   r   r   Ú	multidictr   r   rq   r   r   Úabcr   Úcompression_utilsr   r   Úhelpersr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   Útypedefsr%   r&   r'   ru   Ú__all__Úweb_requestr6   r¢   Ú	BaseClassr7   ÚEnumr1   rë   r2   r3   rq  r  rt   r4   r5   r)   r0   r.   ú<module>rˆ     sh  ðØ €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hà 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð @Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AàVÐVÈ:ÐVÑVÔV€ð€ð ð /Ø(Ð(Ð(Ð(Ð(Ð(à˜s C˜xÔ(€I€Ià”Ô.€Ið €WˆT�]„]€ðð ð ð ð �D”Iñ ô ð ð EÐD°mÐDÑDÔD€ð~ð ~ð ~ð ~ð ~�^ C¨+°cÔ*:Ñ$:¸CÐ$?Ô@À,ñ ~ô ~ð ~ðBJMð JMð JMð JMð JMˆ~ñ JMô JMð JMð\ ðð ØØØØ#'Ø*Øœðð ð Ø
ðð �‰*ðð �$‰,ð	ð
 ðð �$‰Jðð ˜DÑ ðð ðð ðð ðð ð ð ð6 ðð ØØØ#'Ø*ðð ð Ø
ðð ðð �$‰,ð	ð
 ðð �$‰Jðð ˜DÑ ðð ðð ðð ð ð ð ð r0   