§
    iÍâhce  ã                   ó&  — 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Zd dl	m
Z
 d dlmZ d dl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 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" d dl#m$Z$ d dl%m&Z&m'Z' d dl(m)Z)  e)dej*        ¦  «        Z+ G d„ de ¦  «        Z, G d„ de-¦  «        Z. G d„ d¦  «        Z/ G d„ de/¦  «        Z0 G d„ de/¦  «        Z1 G d„ de1¦  «        Z2 G d„ de0¦  «        Z3 G d „ d!e3¦  «        Z4 G d"„ d#e3¦  «        Z5 G d$„ d%e0¦  «        Z6 G d&„ d'e0¦  «        Z7 G d(„ d)e0¦  «        Z8 G d*„ d+e0¦  «        Z9 G d,„ d-e0¦  «        Z: G d.„ d/e0¦  «        Z; G d0„ d1e0¦  «        Z< G d2„ d3e=¦  «        Z> G d4„ d5e0¦  «        Z?dS )6é    N)ÚHeader)Ú	responses)Úurlsplit)Úasync_to_syncÚsync_to_async)Úsettings)ÚsignalsÚsigning)ÚDisallowedRedirect)ÚDjangoJSONEncoder)ÚSimpleCookie)Útimezone)ÚCaseInsensitiveMapping)Ú
iri_to_uri)Úcached_property)Úcontent_disposition_headerÚ	http_date)Ú_lazy_re_compilez ;\s*charset=(?P<charset>[^\s;]+)c                   ó6   — e Zd Zd„ Zd	d„Zd„ Zd„ Zd
d„Zd„ ZdS )ÚResponseHeadersc                 ó\   — i | _         |r |                      |¦  «        D ]\  }}|| |<   ŒdS dS )zm
        Populate the initial data using __setitem__ to ensure values are
        correctly encoded.
        N)Ú_storeÚ_unpack_items)ÚselfÚdataÚheaderÚvalues       úK/var/www/histauto/venv/lib/python3.11/site-packages/django/http/response.pyÚ__init__zResponseHeaders.__init__"   sS   € ð
 ˆŒØð 	%Ø!%×!3Ò!3°DÑ!9Ô!9ð %ð %‘�˜Ø$��V‘�ð	%ð 	%ð%ð %ó    Fc                 óˆ  — 	 t          |t          ¦  «        r|                     |¦  «         nOt          |t          ¦  «        r|                     |¦  «        }n$t          |¦  «        }|                     |¦  «         d|v sd|v rt          d|›d�¦  «        ‚nª# t          $ r�}t          |t          ¦  «        rd|v s!d|v st          |t          ¦  «        rd|v sd|v rt          d|›d�¦  «        |‚|r/t          |dt          j	        ¬¦  «                             ¦   «         }n|xj
        d	|z  z  c_
        ‚ Y d
}~nd
}~ww xY w|S )zé
        Convert headers key/value to ascii/latin-1 native strings.
        `charset` must be 'ascii' or 'latin-1'. If `mime_encode` is True and
        `value` can't be represented in the given charset, apply MIME-encoding.
        ú
úz*Header values can't contain newlines (got ú)ó   
ó   úutf-8)Ú
maxlinelenz,, HTTP response headers must be in %s formatN)Ú
isinstanceÚstrÚencodeÚbytesÚdecodeÚBadHeaderErrorÚUnicodeErrorr   ÚsysÚmaxsizeÚreason)r   r   ÚcharsetÚmime_encodeÚes        r   Ú_convert_to_charsetz#ResponseHeaders._convert_to_charset,   sŽ  € ð	Ý˜%¥Ñ%Ô%ð 	&à—’˜WÑ%Ô%Ð%Ð%Ý˜E¥5Ñ)Ô)ð &àŸš WÑ-Ô-��å˜E™
œ
�à—’˜WÑ%Ô%Ð%Ø�uˆ}ˆ} ¨  Ý$ØKÀÐKÐKÐKñô ð ð !.øõ ð 	ð 	ð 	õ
 ˜5¥%Ñ(Ô(ð ¨e°u¨n¨nÀÈÀÀÝ˜5¥#Ñ&Ô&ð AOØ,0°E¨M¨M¸TÀU¸]¸]å$ØKÀÐKÐKÐKñô àðð ð Ý˜u g½#¼+ÐFÑFÔF×MÒMÑOÔO��à�”ÐJÈWÑTÑT�”Øð ����øøøøð	øøøð  ˆs   ‚BB Â
D?Â"BD:Ä:D?c                 ó0   — |                       |¦  «         d S ©N)Úpop)r   Úkeys     r   Ú__delitem__zResponseHeaders.__delitem__S   s   € Ø�Š�‰Œˆˆˆr    c                 óž   — |                       |d¦  «        }|                       |dd¬¦  «        }||f| j        |                     ¦   «         <   d S )NÚasciiúlatin-1T)r4   )r6   r   Úlower©r   r:   r   s      r   Ú__setitem__zResponseHeaders.__setitem__V   sO   € Ø×&Ò& s¨GÑ4Ô4ˆØ×(Ò(¨°	ÀtÐ(ÑLÔLˆØ$'¨ <ˆŒ�C—I’I‘K”KÑ Ð Ð r    Nc                 ó\   — | j                              |                     ¦   «         |¦  «        S r8   )r   r9   r?   )r   r:   Údefaults      r   r9   zResponseHeaders.pop[   s    € ØŒ{�Š˜sŸyšy™{œ{¨GÑ4Ô4Ð4r    c                 ó   — || vr|| |<   d S d S r8   © r@   s      r   Ú
setdefaultzResponseHeaders.setdefault^   s   € Ø�dˆ?ˆ?ØˆD�‰IˆIˆIð ˆ?r    ©Fr8   )	Ú__name__Ú
__module__Ú__qualname__r   r6   r;   rA   r9   rF   rE   r    r   r   r   !   sy   € € € € € ð%ð %ð %ð%ð %ð %ð %ðNð ð ð0ð 0ð 0ð
5ð 5ð 5ð 5ðð ð ð ð r    r   c                   ó   — e Zd ZdS )r.   N©rH   rI   rJ   rE   r    r   r.   r.   c   ó   € € € € € Ø€Dr    r.   c                   ó:  — e Zd ZdZdZ	 d!d„Zed„ ¦   «         Zej        d„ ¦   «         Zed„ ¦   «         Z	e	j        d„ ¦   «         Z	d	„ Z
e
Zed
„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZeZd„ Zd"d„Z	 	 	 	 	 	 	 	 d#d„Zd„ Zd$d„Zd%d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Z dS )&ÚHttpResponseBasezÖ
    An HTTP response base class with dictionary-accessed headers.

    This class doesn't handle content. It should not be used directly.
    Use the HttpResponse and StreamingHttpResponse subclasses instead.
    éÈ   Nc                 óº  — t          |¦  «        | _        || _        d| j        vr|€
d| j        › �}|| j        d<   n|rt	          d¦  «        ‚g | _        d | _        t          ¦   «         | _        d| _	        |�]	 t          |¦  «        | _        n$# t          t          f$ r t          d¦  «        ‚w xY wd| j        cxk    rdk    sn t	          d¦  «        ‚|| _        d S )	NúContent-Typeztext/html; charset=zX'headers' must not contain 'Content-Type' when the 'content_type' parameter is provided.Fz$HTTP status code must be an integer.éd   iW  z4HTTP status code must be an integer from 100 to 599.)r   ÚheadersÚ_charsetr3   Ú
ValueErrorÚ_resource_closersÚ_handler_classr   ÚcookiesÚclosedÚintÚstatus_codeÚ	TypeErrorÚ_reason_phrase)r   Úcontent_typeÚstatusr2   r3   rT   s         r   r   zHttpResponseBase.__init__q   s!  € õ ' wÑ/Ô/ˆŒØˆŒØ ¤Ð-Ð-ØÐ#ØC°T´\ÐCÐC�Ø+7ˆDŒL˜Ñ(Ð(Øð 	Ýð8ñô ð ð "$ˆÔð #ˆÔÝ#‘~”~ˆŒØˆŒØÐðHÝ#& v¡;¤;�Ô Ð øÝ¥	Ð*ð Hð Hð HÝÐ FÑGÔGÐGðHøøøð ˜$Ô*Ð1Ð1Ò1Ð1¨cÒ1Ð1Ð1Ð1Ý Ð!WÑXÔXÐXØ$ˆÔÐÐs   Á8B Â!B.c                 óR   — | j         �| j         S t          j        | j        d¦  «        S )NzUnknown Status Code)r^   r   Úgetr\   ©r   s    r   Úreason_phrasezHttpResponseBase.reason_phrase�   s,   € àÔÐ*ØÔ&Ð&õ Œ}˜TÔ-Ð/DÑEÔEÐEr    c                 ó   — || _         d S r8   )r^   ©r   r   s     r   rd   zHttpResponseBase.reason_phrase—   s   € à#ˆÔÐÐr    c                 óÞ   — | j         �| j         S | j                             d¦  «        x}r8t                               |¦  «        x}r|d                              dd¦  «        S t          j        S )NrR   r3   ú"Ú )rU   rT   rb   Ú_charset_from_content_type_reÚsearchÚreplacer   ÚDEFAULT_CHARSET)r   r_   Úmatcheds      r   r3   zHttpResponseBase.charset›   sr   € àŒ=Ð$Ø”=Ð ð  œ<×+Ò+¨NÑ;Ô;Ð;ˆ<ð 	;Ý7×>Ò>¸|ÑLÔLÐLˆwð ;ð
 ˜yÔ)×1Ò1°#°rÑ:Ô:Ð:ÝÔ'Ð'r    c                 ó   — || _         d S r8   )rU   rf   s     r   r3   zHttpResponseBase.charsetª   s   € àˆŒˆˆr    c                 ón   — d                      d„ | j                             ¦   «         D ¦   «         ¦  «        S )zHTTP headers as a bytestring.s   
c                 óp   — g | ]3\  }}|                      d ¦  «        dz   |                      d¦  «        z   ‘Œ4S )r=   s   : r>   )r+   )Ú.0r:   r   s      r   ú
<listcomp>z6HttpResponseBase.serialize_headers.<locals>.<listcomp>±   sN   € ð ð ð á�C˜ð —
’
˜7Ñ#Ô# eÑ+¨e¯lªl¸9Ñ.EÔ.EÑEðð ð r    )ÚjoinrT   Úitemsrc   s    r   Úserialize_headersz"HttpResponseBase.serialize_headers®   sB   € à�|Š|ðð à"&¤,×"4Ò"4Ñ"6Ô"6ðñ ô ñ
ô 
ð 	
r    c                 ó8   — d| j         v rd| j         d         z  ndS )NrR   z, "%s"ri   ©rT   rc   s    r   Ú_content_type_for_reprz'HttpResponseBase._content_type_for_repr¹   s-   € ð  ¤Ð-Ð-ð �t”| NÔ3Ñ3Ð3àð	
r    c                 ó   — || j         |<   d S r8   rx   )r   r   r   s      r   rA   zHttpResponseBase.__setitem__Á   s   € Ø$ˆŒ�VÑÐÐr    c                 ó   — | j         |= d S r8   rx   ©r   r   s     r   r;   zHttpResponseBase.__delitem__Ä   s   € ØŒL˜Ð Ð Ð r    c                 ó   — | j         |         S r8   rx   r|   s     r   Ú__getitem__zHttpResponseBase.__getitem__Ç   s   € ØŒ|˜FÔ#Ð#r    c                 ó   — || j         v S )z$Case-insensitive check for a header.rx   r|   s     r   Ú
has_headerzHttpResponseBase.has_headerÊ   s   € à˜œÐ%Ð%r    c                 ó4   — | j                              ¦   «         S r8   )rT   ru   rc   s    r   ru   zHttpResponseBase.itemsÐ   s   € ØŒ|×!Ò!Ñ#Ô#Ð#r    c                 ó8   — | j                              ||¦  «        S r8   )rT   rb   )r   r   Ú	alternates      r   rb   zHttpResponseBase.getÓ   s   € ØŒ|×Ò ¨	Ñ2Ô2Ð2r    ri   ú/Fc
                 ó  — || j         |<   |�át          |t          j        ¦  «        r¶t          j        |¦  «        r$t          j        |t          j        j        ¦  «        }|t          j                             t          j        j        ¬¦  «        z
  }
|
t          j        d¬¦  «        z  }
d}|�t          d¦  «        ‚t          d|
j        dz  |
j        z   ¦  «        }n!|| j         |         d<   nd	| j         |         d<   |�~t          |t          j        ¦  «        r|                     ¦   «         }t          |¦  «        | j         |         d
<   |s1t          t!          j        ¦   «         |z   ¦  «        | j         |         d<   |�|| j         |         d<   |�|| j         |         d<   |rd| j         |         d<   |rd| j         |         d<   |	r7|	                     ¦   «         dvrt          d¦  «        ‚|	| j         |         d<   dS dS )a™  
        Set a cookie.

        ``expires`` can be:
        - a string in the correct format,
        - a naive ``datetime.datetime`` object in UTC,
        - an aware ``datetime.datetime`` object in any time zone.
        If it is a ``datetime.datetime`` object then calculate ``max_age``.

        ``max_age`` can be:
        - int/float specifying seconds,
        - ``datetime.timedelta`` object.
        N)Útzé   )Úsecondsz/'expires' and 'max_age' can't be used together.r   i€Q Úexpiresri   zmax-ageÚpathÚdomainTÚsecureÚhttponly)ÚlaxÚnoneÚstrictz,samesite must be "lax", "none", or "strict".Úsamesite)rY   r)   Údatetimer   Úis_naiveÚ
make_awareÚutcÚnowÚ	timedeltarV   ÚmaxÚdaysrˆ   Útotal_secondsr[   r   Útimer?   )r   r:   r   Úmax_ager‰   rŠ   r‹   rŒ   r�   r‘   Údeltas              r   Ú
set_cookiezHttpResponseBase.set_cookieÖ   s  € ð2 "ˆŒ�SÑØÐÝ˜'¥8Ô#4Ñ5Ô5ð 7ÝÔ$ WÑ-Ô-ð RÝ&Ô1°'½8Ô;LÔ;PÑQÔQ�GØ¥(Ô"3×"7Ò"7½8Ô;LÔ;PÐ"7Ñ"QÔ"QÑQ�ð �Ô+°AÐ6Ñ6Ô6Ñ6�à�ØÐ&Ý$Ð%VÑWÔWÐWÝ˜a ¤¨eÑ!3°e´mÑ!CÑDÔD��à/6�”˜SÔ! )Ñ,Ð,à+-ˆDŒL˜Ô˜iÑ(ØÐÝ˜'¥8Ô#5Ñ6Ô6ð 2Ø!×/Ò/Ñ1Ô1�Ý+.¨w©<¬<ˆDŒL˜Ô˜iÑ(àð PÝ/8½¼¹¼ÀwÑ9NÑ/OÔ/O�”˜SÔ! )Ñ,ØÐØ(,ˆDŒL˜Ô˜fÑ%ØÐØ*0ˆDŒL˜Ô˜hÑ'Øð 	/Ø*.ˆDŒL˜Ô˜hÑ'Øð 	1Ø,0ˆDŒL˜Ô˜jÑ)Øð 	5Ø�~Š~ÑÔÐ'@Ð@Ð@Ý Ð!OÑPÔPÐPØ,4ˆDŒL˜Ô˜jÑ)Ð)Ð)ð	5ð 	5r    c                 ó<   — | j                              ||¦  «         dS )z,Set a header unless it has already been set.N)rT   rF   r@   s      r   rF   zHttpResponseBase.setdefault  s    € àŒ×Ò  UÑ+Ô+Ð+Ð+Ð+r    c                 óv   — t          j        ||z   ¬¦  «                             |¦  «        } | j        ||fi |¤ŽS )N)Úsalt)r
   Úget_cookie_signerÚsignrž   )r   r:   r   r¡   Úkwargss        r   Úset_signed_cookiez"HttpResponseBase.set_signed_cookie  sC   € ÝÔ)¨s°T©zÐ:Ñ:Ô:×?Ò?ÀÑFÔFˆØˆtŒ˜s EÐ4Ð4¨VÐ4Ð4Ð4r    c           	      óœ   — |                      d¦  «        p|o|                     ¦   «         dk    }|                      |d|||d|¬¦  «         d S )N)z	__Secure-z__Host-r�   r   zThu, 01 Jan 1970 00:00:00 GMT)rœ   rŠ   r‹   rŒ   r‰   r‘   )Ú
startswithr?   rž   )r   r:   rŠ   r‹   r‘   rŒ   s         r   Údelete_cookiezHttpResponseBase.delete_cookie  sq   € ð
 —’Ð 8Ñ9Ô9ð 
ØÐ3˜ŸšÑ)Ô)¨VÒ3ð 	ð 	�ŠØØØØØØ3Øð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    c                 ó  — t          |t          t          f¦  «        rt          |¦  «        S t          |t          ¦  «        r't          |                     | j        ¦  «        ¦  «        S t          |¦  «                             | j        ¦  «        S )z=Turn a value into a bytestring encoded in the output charset.)r)   r,   Ú
memoryviewr*   r+   r3   rf   s     r   Ú
make_byteszHttpResponseBase.make_bytes2  sq   € õ �e�e¥ZÐ0Ñ1Ô1ð 	 Ý˜‘<”<ÐÝ�e�SÑ!Ô!ð 	5Ý˜Ÿš d¤lÑ3Ô3Ñ4Ô4Ð4å�5‰zŒz× Ò  ¤Ñ.Ô.Ð.r    c                 óÚ   — | j         D ]}	  |¦   «          Œ# t          $ r Y Œw xY w| j                              ¦   «          d| _        t          j                             | j        ¬¦  «         d S )NT)Úsender)rW   Ú	ExceptionÚclearrZ   r	   Úrequest_finishedÚsendrX   )r   Úclosers     r   ÚclosezHttpResponseBase.closeG  s‡   € ØÔ,ð 	ð 	ˆFðØ�‘”��øÝð ð ð Ø�ðøøøð 	Ô×$Ò$Ñ&Ô&Ð&ØˆŒÝÔ ×%Ò%¨TÔ-@Ð%ÑAÔAÐAÐAÐAs   ‹
–
#¢#c                 ó:   — t          d| j        j        z  ¦  «        ‚©Nz This %s instance is not writable©ÚOSErrorÚ	__class__rH   ©r   Úcontents     r   ÚwritezHttpResponseBase.writeR  ó   € ÝÐ8¸4¼>Ô;RÑRÑSÔSÐSr    c                 ó   — d S r8   rE   rc   s    r   ÚflushzHttpResponseBase.flushU  s   € Øˆr    c                 ó:   — t          d| j        j        z  ¦  «        ‚)Nz)This %s instance cannot tell its positionr¶   rc   s    r   ÚtellzHttpResponseBase.tellX  s!   € ÝØ7¸$¼.Ô:QÑQñ
ô 
ð 	
r    c                 ó   — dS ©NFrE   rc   s    r   ÚreadablezHttpResponseBase.readable`  ó   € Øˆur    c                 ó   — dS rÂ   rE   rc   s    r   ÚseekablezHttpResponseBase.seekablec  rÄ   r    c                 ó   — dS rÂ   rE   rc   s    r   ÚwritablezHttpResponseBase.writablef  rÄ   r    c                 ó:   — t          d| j        j        z  ¦  «        ‚rµ   r¶   )r   Úliness     r   Ú
writelineszHttpResponseBase.writelinesi  r¼   r    )NNNNNr8   )ri   NNr„   NFFN)ri   )r„   NN)!rH   rI   rJ   Ú__doc__r\   r   Úpropertyrd   Úsetterr3   rv   Ú	__bytes__ry   rA   r;   r~   r€   Ú__contains__ru   rb   rž   rF   r¥   r¨   r«   r³   r»   r¾   rÀ   rÃ   rÆ   rÈ   rË   rE   r    r   rO   rO   g   sB  € € € € € ðð ð €Kð RVð%ð %ð %ð %ð< ðFð Fñ „XðFð Ôð$ð $ñ Ôð$ð ð(ð (ñ „Xð(ð „^ðð ñ „^ðð
ð 
ð 
ð "€Iàð
ð 
ñ „Xð
ð%ð %ð %ð!ð !ð !ð$ð $ð $ð&ð &ð &ð €Lð$ð $ð $ð3ð 3ð 3ð 3ð ØØØØØØØð>5ð >5ð >5ð >5ð@,ð ,ð ,ð5ð 5ð 5ð 5ð
ð 
ð 
ð 
ð(/ð /ð /ð*	Bð 	Bð 	BðTð Tð Tðð ð ð
ð 
ð 
ðð ð ðð ð ðð ð ðTð Tð Tð Tð Tr    rO   c                   ó¨   ‡ — e Zd ZdZdZdˆ fd„	Zd„ Zd„ ZeZe	d„ ¦   «         Z
e
j        d„ ¦   «         Z
ed	„ ¦   «         Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚHttpResponsezs
    An HTTP response class with a string as content.

    This content can be read, appended to, or replaced.
    Fr    c                 óH   •—  t          ¦   «         j        |i |¤Ž || _        d S r8   )Úsuperr   rº   )r   rº   Úargsr¤   r¸   s       €r   r   zHttpResponse.__init__v  s*   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)àˆŒˆˆr    c                 ó<   — d| j         j        | j        | j        dœz  S ©Nz5<%(cls)s status_code=%(status_code)d%(content_type)s>)Úclsr\   r_   ©r¸   rH   r\   ry   rc   s    r   Ú__repr__zHttpResponse.__repr__{  s/   € ØFØ”>Ô*ØÔ+Ø Ô7ðJ
ð J
ñ 
ð 	
r    c                 ó@   — |                       ¦   «         dz   | j        z   S )z6Full HTTP message, including headers, as a bytestring.s   

)rv   rº   rc   s    r   Ú	serializezHttpResponse.serialize‚  s    € à×%Ò%Ñ'Ô'¨+Ñ5¸¼ÑDÐDr    c                 ó6   — d                      | j        ¦  «        S ©Nr    )rt   Ú
_containerrc   s    r   rº   zHttpResponse.contentˆ  s   € à�xŠx˜œÑ(Ô(Ð(r    c                 óŒ  ‡ — t          |d¦  «        rzt          |t          t          t          f¦  «        sXd                     ˆ fd„|D ¦   «         ¦  «        }t          |d¦  «        r&	 |                     ¦   «          n&# t          $ r Y nw xY wn‰                      |¦  «        }|g‰ _	        ‰ j
                             dd ¦  «         d S )NÚ__iter__r    c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r8   ©r«   )rr   Úchunkr   s     €r   ú	<genexpr>z'HttpResponse.content.<locals>.<genexpr>’  s/   øè è € ÐIÐI¸%˜tŸš¨uÑ5Ô5ÐIÐIÐIÐIÐIÐIr    r³   Útext)Úhasattrr)   r,   rª   r*   rt   r³   r®   r«   rß   Ú__dict__r9   )r   r   rº   s   `  r   rº   zHttpResponse.contentŒ  sá   ø€ õ �5˜*Ñ%Ô%ð 
	-­jØ•E�:¥sÐ+ñ/
ô /
ð 
	-ð —h’hÐIÐIÐIÐIÀ5ÐIÑIÔIÑIÔIˆGÝ�u˜gÑ&Ô&ð ðØ—K’K‘M”M�M�MøÝ ð ð ð Ø�Dðøøøðð —o’o eÑ,Ô,ˆGà"˜)ˆŒØŒ×Ò˜& $Ñ'Ô'Ð'Ð'Ð's   Á&A; Á;
BÂBc                 óD   — | j                              | j        pd¦  «        S )Nr'   )rº   r-   r3   rc   s    r   ræ   zHttpResponse.textž  s   € àŒ|×"Ò" 4¤<Ð#:°7Ñ;Ô;Ð;r    c                 ó*   — t          | j        ¦  «        S r8   )Úiterrß   rc   s    r   rá   zHttpResponse.__iter__¢  s   € Ý�D”OÑ$Ô$Ð$r    c                 ó`   — | j                              |                      |¦  «        ¦  «         d S r8   )rß   Úappendr«   r¹   s     r   r»   zHttpResponse.write¥  s*   € ØŒ×Ò˜tŸš¨wÑ7Ô7Ñ8Ô8Ð8Ð8Ð8r    c                 ó*   — t          | j        ¦  «        S r8   )Úlenrº   rc   s    r   rÀ   zHttpResponse.tell¨  s   € Ý�4”<Ñ Ô Ð r    c                 ó   — | j         S r8   )rº   rc   s    r   ÚgetvaluezHttpResponse.getvalue«  s
   € ØŒ|Ðr    c                 ó   — dS )NTrE   rc   s    r   rÈ   zHttpResponse.writable®  s   € Øˆtr    c                 ó:   — |D ]}|                       |¦  «         Œd S r8   )r»   )r   rÊ   Úlines      r   rË   zHttpResponse.writelines±  s0   € Øð 	ð 	ˆDØ�JŠJ�tÑÔÐÐð	ð 	r    )r    )rH   rI   rJ   rÌ   Ú	streamingr   rÚ   rÜ   rÏ   rÍ   rº   rÎ   r   ræ   rá   r»   rÀ   rñ   rÈ   rË   Ú__classcell__©r¸   s   @r   rÒ   rÒ   m  s!  ø€ € € € € ðð ð €Iðð ð ð ð ð ð

ð 
ð 
ðEð Eð Eð €Iàð)ð )ñ „Xð)ð „^ð(ð (ñ „^ð(ð" ð<ð <ñ „_ð<ð%ð %ð %ð9ð 9ð 9ð!ð !ð !ðð ð ðð ð ðð ð ð ð ð ð r    rÒ   c                   ó¨   ‡ — e Zd ZdZdZdˆ fd„	Zd„ Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
e
j        d	„ ¦   «         Z
d
„ Zd„ Zd„ Zd„ Zˆ xZS )ÚStreamingHttpResponsea$  
    A streaming HTTP response class with an iterator as content.

    This should only be iterated once, when the response is streamed to the
    client. However, it can be appended to or replaced with a new iterator
    that wraps the original content (or yields entirely new content).
    TrE   c                 óH   •—  t          ¦   «         j        |i |¤Ž || _        d S r8   )rÔ   r   Ústreaming_content)r   rû   rÕ   r¤   r¸   s       €r   r   zStreamingHttpResponse.__init__Á  s/   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ð "3ˆÔÐÐr    c                 ó<   — d| j         j        | j        | j        dœz  S r×   )r¸   rJ   r\   ry   rc   s    r   rÚ   zStreamingHttpResponse.__repr__Ç  s/   € ØFØ”>Ô.ØÔ+Ø Ô7ðJ
ð J
ñ 
ð 	
r    c                 ó:   — t          d| j        j        z  ¦  «        ‚)NzMThis %s instance has no `content` attribute. Use `streaming_content` instead.©ÚAttributeErrorr¸   rH   rc   s    r   rº   zStreamingHttpResponse.contentÎ  s'   € åð+Ø-1¬^Ô-DñEñ
ô 
ð 	
r    c                 ó:   — t          d| j        j        z  ¦  «        ‚)Nz)This %s instance has no `text` attribute.rþ   rc   s    r   ræ   zStreamingHttpResponse.textÕ  s!   € åØ7¸$¼.Ô:QÑQñ
ô 
ð 	
r    c                 óv   ‡ ‡— ‰ j         r‰ j        Šˆˆ fd„} |¦   «         S t          ‰ j        ‰ j        ¦  «        S )Nc                 óR   •K  — ‰2 3 d {V —†} ‰                      | ¦  «        W V — Œ 6 d S r8   rã   )ÚpartÚ	_iteratorr   s    €€r   Úawrapperz9StreamingHttpResponse.streaming_content.<locals>.awrapperâ  sV   øè è € Ø"+ð 0ð 0ð 0ð 0ð 0ð 0ð 0˜$ØŸ/š/¨$Ñ/Ô/Ð/Ð/Ð/Ð/Ð/ð #, ) )s   †&)Úis_asyncr  Úmapr«   )r   r  r  s   ` @r   rû   z'StreamingHttpResponse.streaming_contentÛ  sW   øø€ àŒ=ð 	8ð œˆIð0ð 0ð 0ð 0ð 0ð 0ð �8‘:”:Ðå�t”¨¬Ñ7Ô7Ð7r    c                 ó0   — |                       |¦  «         d S r8   )Ú_set_streaming_contentrf   s     r   rû   z'StreamingHttpResponse.streaming_contentê  s   € à×#Ò# EÑ*Ô*Ð*Ð*Ð*r    c                 óø   — 	 t          |¦  «        | _        d| _        n+# t          $ r t	          |¦  «        | _        d| _        Y nw xY wt          |d¦  «        r!| j                             |j        ¦  «         d S d S )NFTr³   )	rë   r  r  r]   Úaiterrç   rW   rí   r³   rf   s     r   r	  z,StreamingHttpResponse._set_streaming_contentî  s�   € ð	!Ý! %™[œ[ˆDŒNØ!ˆDŒMˆMøÝð 	!ð 	!ð 	!Ý" 5™\œ\ˆDŒNØ ˆDŒMˆMˆMð	!øøøõ �5˜'Ñ"Ô"ð 	7ØÔ"×)Ò)¨%¬+Ñ6Ô6Ð6Ð6Ð6ð	7ð 	7s   ‚ ž%AÁAc           
      ó  — 	 t          | j        ¦  «        S # t          $ r_ t          j        dt
          d¬¦  «         d„ }t          | j        t           t          |¦  «        | j	        ¦  «        ¦  «        ¦  «        cY S w xY w)NzƒStreamingHttpResponse must consume asynchronous iterators in order to serve them synchronously. Use a synchronous iterator instead.é   ©Ú
stacklevelc              “   óN   K  — g }| 2 3 d {V —†}|                      |¦  «         Œ6 |S r8   )rí   )r  Úas_listrä   s      r   Úto_listz/StreamingHttpResponse.__iter__.<locals>.to_list  sR   è è € Ø�Ø#,ð *ð *ð *ð *ð *ð *ð *˜%Ø—N’N 5Ñ)Ô)Ð)Ð)ð $-à�s   ‡$)
rë   rû   r]   ÚwarningsÚwarnÚWarningr  r«   r   r  )r   r  s     r   rá   zStreamingHttpResponse.__iter__ù  s£   € ð	VÝ˜Ô.Ñ/Ô/Ð/øÝð 	Vð 	Vð 	VÝŒMðPåØð	ñ ô ð ðð ð õ �t”­Ð-C­]¸7Ñ-CÔ-CÀDÄNÑ-SÔ-SÑ(TÔ(TÑUÔUÐUÐUÐUð	Vøøøs   ‚ –A&A?Á>A?c                óð   K  — 	 | j         2 3 d {V —†}|W V — Œ6 d S # t          $ rP t          j        dt          d¬¦  «          t          t          ¦  «        | j         ¦  «        ƒ d {V —†D ]}|W V — ŒY d S w xY w)Nz…StreamingHttpResponse must consume synchronous iterators in order to serve them asynchronously. Use an asynchronous iterator instead.r  r  )rû   r]   r  r  r  r   Úlist)r   r  s     r   Ú	__aiter__zStreamingHttpResponse.__aiter__  sâ   è è € ð	Ø"Ô4ð ð ð ð ð ð ð �dØ�
�
�
�
�
ð 5Ð4Ð4øåð 
	ð 
	ð 
	ÝŒMðSåØð	ñ ô ð ð 2�m­DÑ1Ô1°$Ô2HÑIÔIÐIÐIÐIÐIÐIÐIð ð �Ø�
�
�
�
�
ðð ð ð
	øøøs   „ ‹‘ ›AA5Á4A5c                 ó6   — d                      | j        ¦  «        S rÞ   )rt   rû   rc   s    r   rñ   zStreamingHttpResponse.getvalue  s   € Ø�xŠx˜Ô.Ñ/Ô/Ð/r    )rE   )rH   rI   rJ   rÌ   rõ   r   rÚ   rÍ   rº   ræ   rû   rÎ   r	  rá   r  rñ   rö   r÷   s   @r   rù   rù   ¶  s  ø€ € € € € ðð ð €Ið3ð 3ð 3ð 3ð 3ð 3ð
ð 
ð 
ð ð
ð 
ñ „Xð
ð ð
ð 
ñ „Xð
ð
 ð8ð 8ñ „Xð8ð Ôð+ð +ñ Ôð+ð	7ð 	7ð 	7ðVð Vð Vð(ð ð ð 0ð 0ð 0ð 0ð 0ð 0ð 0r    rù   c                   ó>   ‡ — e Zd ZdZdZdddœˆ fd„
Zˆ fd„Zd„ Zˆ xZS )	ÚFileResponsez>
    A streaming HTTP response class optimized for files.
    i   Fri   )Úas_attachmentÚfilenamec                ó|   •— || _         || _        d|vp	|d         d u | _         t          ¦   «         j        |i |¤Ž d S )Nr_   )r  r  Ú_no_explicit_content_typerÔ   r   )r   r  r  rÕ   r¤   r¸   s        €r   r   zFileResponse.__init__(  sU   ø€ Ø*ˆÔØ ˆŒà &Ð(ÐJ¨F°>Ô,BÀdÐ,Jð 	Ô&ð 	�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)r    c                 ó€  •‡ ‡— t          |d¦  «        s(d ‰ _        t          ¦   «                              |¦  «        S |x‰ _        Št          ‰d¦  «        r‰ j                             ‰j        ¦  «         t          ˆˆ fd„d¦  «        }‰                      ‰¦  «         t          ¦   «                              |¦  «         d S )NÚreadr³   c                  ó8   •— ‰                       ‰j        ¦  «        S r8   )r!  Ú
block_size©Úfileliker   s   €€r   ú<lambda>z5FileResponse._set_streaming_content.<locals>.<lambda>8  s   ø€ ˜XŸ]š]¨4¬?Ñ;Ô;€ r    r    )	rç   Úfile_to_streamrÔ   r	  rW   rí   r³   rë   Úset_headers)r   r   r%  r¸   s   ` @€r   r	  z#FileResponse._set_streaming_content0  s½   øøø€ Ý�u˜fÑ%Ô%ð 	9Ø"&ˆDÔÝ‘7”7×1Ò1°%Ñ8Ô8Ð8à).Ð.ˆÔ˜hÝ�8˜WÑ%Ô%ð 	:ØÔ"×)Ò)¨(¬.Ñ9Ô9Ð9ÝÐ;Ð;Ð;Ð;Ð;¸SÑAÔAˆØ×Ò˜Ñ"Ô"Ð"Ý‰Œ×&Ò& uÑ-Ô-Ð-Ð-Ð-r    c                 ó  ‡ ‡— t          ‰dd¦  «        }t          |t          ¦  «        r|nd}t          ‰d¦  «        o$t          ‰d¦  «         p‰                     ¦   «         }t          ‰d¦  «        �r|rj‰                     ¦   «         }‰                     dt          j        ¦  «         ‰                     ¦   «         |z
  ‰ j	        d<   ‰                     |¦  «         �nt          ‰d¦  «        r7‰ 
                    ¦   «         j        ‰                     ¦   «         z
  ‰ j	        d<   nÀt          j                             |¦  «        r<t          j                             |¦  «        ‰                     ¦   «         z
  ‰ j	        d<   nd|rbt!          t#          ˆˆ fd	„d¦  «        ¦  «        ‰ j	        d<   ‰                     t%          ‰ j	        d         ¦  «         t          j        ¦  «         t          j                             ‰ j        p|¦  «        }‰ j        rL|r@t-          j        |¦  «        \  }}d
dddddœ                     ||¦  «        }|pd‰ j	        d<   n
d‰ j	        d<   t3          ‰ j        |¦  «        x}r|‰ j	        d<   dS dS )zœ
        Set some common response headers (Content-Length, Content-Type, and
        Content-Disposition) based on the `filelike` response content.
        Únameri   ÚseekrÆ   rÀ   r   zContent-LengthÚ	getbufferc                  óR   •— t          ‰                      ‰j        ¦  «        ¦  «        S r8   )rï   r!  r#  r$  s   €€r   r&  z*FileResponse.set_headers.<locals>.<lambda>V  s   ø€ �S §¢¨t¬Ñ!?Ô!?Ñ@Ô@€ r    zapplication/x-brotlizapplication/x-bzipzapplication/x-compresszapplication/gzipzapplication/x-xz)ÚbrÚbzip2ÚcompressÚgzipÚxzzapplication/octet-streamrR   zContent-DispositionN)Úgetattrr)   r*   rç   rÆ   rÀ   r+  ÚioÚSEEK_ENDrT   r,  ÚnbytesÚosrŠ   ÚexistsÚgetsizeÚsumrë   r[   Úbasenamer  r  Ú	mimetypesÚ
guess_typerb   r   r  )r   r%  r  rÆ   Úinitial_positionr_   ÚencodingÚcontent_dispositions   ``      r   r(  zFileResponse.set_headers<  sª  øø€ õ
 ˜8 V¨RÑ0Ô0ˆÝ)¨(µCÑ8Ô8Ð@�8�8¸bˆÝ˜8 VÑ,Ô,ð 
Ý˜ *Ñ-Ô-Ð-ÐD°×1BÒ1BÑ1DÔ1Dð 	õ �8˜VÑ$Ô$ñ 	MØð Ø#+§=¢=¡?¤?Ð Ø—’˜a¥¤Ñ-Ô-Ð-Ø19·²±´ÐCSÑ1S�”Ð-Ñ.Ø—’Ð.Ñ/Ô/Ð/Ñ/Ý˜ ;Ñ/Ô/ð à×&Ò&Ñ(Ô(Ô/°(·-²-±/´/ÑAð ”Ð-Ñ.Ð.õ ”—’ Ñ)Ô)ð å”G—O’O HÑ-Ô-°·²±´Ñ?ð ”Ð-Ñ.øð ð 	MÝ-0ÝÐ@Ð@Ð@Ð@Ð@À!ÑDÔDñ.ô .ˆDŒLÐ)Ñ*ð �MŠM�3˜tœ|Ð,<Ô=Ñ>Ô>Ð>ÅÄÑLÔLÐLå”7×#Ò# D¤MÐ$=°XÑ>Ô>ˆØÔ)ð 	JØð JÝ)2Ô)=¸hÑ)GÔ)GÑ&�˜hð 1Ø1Ø 8Ø.Ø,ð ð  ÷ ’#�h Ñ-Ô-ð ð !Ð>Ð$>ð ”˜^Ñ,Ð,ð 0J�”˜^Ñ,å"<ØÔ ñ#
ô #
ð 
Ðð 	Fð 3FˆDŒLÐ.Ñ/Ð/Ð/ð	Fð 	Fr    )	rH   rI   rJ   rÌ   r#  r   r	  r(  rö   r÷   s   @r   r  r  !  s‡   ø€ € € € € ðð ð €Jà,1¸Bð *ð *ð *ð *ð *ð *ð *ð
.ð 
.ð 
.ð 
.ð 
.ð4Fð 4Fð 4Fð 4Fð 4Fð 4Fð 4Fr    r  c                   óF   ‡ — e Zd Zg d¢Zdˆ fd„	Z ed„ ¦  «        Zd„ Zˆ xZS )ÚHttpResponseRedirectBase)ÚhttpÚhttpsÚftpFc                 ó  •—  t          ¦   «         j        |i |¤Ž t          |¦  «        | d<   t          t	          |¦  «        ¦  «        }|r| j        | _        |j        r%|j        | j        vrt          d|j        z  ¦  «        ‚d S d S )NÚLocationz)Unsafe redirect to URL with protocol '%s')
rÔ   r   r   r   r*   Ústatus_code_preserve_requestr\   ÚschemeÚallowed_schemesr   )r   Úredirect_toÚpreserve_requestrÕ   r¤   Úparsedr¸   s         €r   r   z!HttpResponseRedirectBase.__init__v  sŸ   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ý% kÑ2Ô2ˆˆZÑÝ�#˜kÑ*Ô*Ñ+Ô+ˆØð 	AØ#Ô@ˆDÔØŒ=ð 	˜Vœ]°$Ô2FÐFÐFÝ$Ø;¸f¼mÑKñô ð ð	ð 	ÐFÐFr    c                 ó   — | d         S )NrG  rE   rc   s    r   r&  z!HttpResponseRedirectBase.<lambda>�  s   €   ZÔ 0€ r    c                 óH   — d| j         j        | j        | j        | j        dœz  S )NzD<%(cls)s status_code=%(status_code)d%(content_type)s, url="%(url)s">)rØ   r\   r_   Úurl)r¸   rH   r\   ry   rP  rc   s    r   rÚ   z!HttpResponseRedirectBase.__repr__ƒ  s2   € àRà”~Ô.Ø#Ô/Ø $Ô ;Ø”xð	ð ñð	
r    rG   )	rH   rI   rJ   rJ  r   rÍ   rP  rÚ   rö   r÷   s   @r   rB  rB  s  sl   ø€ € € € € Ø.Ð.Ð.€Oð	ð 	ð 	ð 	ð 	ð 	ð ˆ(Ð0Ð0Ñ
1Ô
1€Cð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
r    rB  c                   ó   — e Zd ZdZdZdS )ÚHttpResponseRedirecti.  i3  N©rH   rI   rJ   r\   rH  rE   r    r   rR  rR  �  ó   € € € € € Ø€KØ#&Ð Ð Ð r    rR  c                   ó   — e Zd ZdZdZdS )ÚHttpResponsePermanentRedirecti-  i4  NrS  rE   r    r   rV  rV  ”  rT  r    rV  c                   óL   ‡ — e Zd ZdZˆ fd„Zej        j        d„ ¦   «         Zˆ xZS )ÚHttpResponseNotModifiedi0  c                 ó@   •—  t          ¦   «         j        |i |¤Ž | d= d S )Nzcontent-type)rÔ   r   )r   rÕ   r¤   r¸   s      €r   r   z HttpResponseNotModified.__init__œ  s-   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ø�Ð Ð Ð r    c                 ó6   — |rt          d¦  «        ‚g | _        d S )Nz7You cannot set content to a 304 (Not Modified) response)rÿ   rß   rf   s     r   rº   zHttpResponseNotModified.content   s,   € àð 	Ý ØIñô ð ð ˆŒˆˆr    )	rH   rI   rJ   r\   r   rÒ   rº   rÎ   rö   r÷   s   @r   rX  rX  ™  s_   ø€ € € € € Ø€Kð!ð !ð !ð !ð !ð ÔÔ ðð ñ !Ô ðð ð ð ð r    rX  c                   ó   — e Zd ZdZdS )ÚHttpResponseBadRequesti�  N©rH   rI   rJ   r\   rE   r    r   r\  r\  ©  ó   € € € € € Ø€K€K€Kr    r\  c                   ó   — e Zd ZdZdS )ÚHttpResponseNotFoundi”  Nr]  rE   r    r   r`  r`  ­  r^  r    r`  c                   ó   — e Zd ZdZdS )ÚHttpResponseForbiddeni“  Nr]  rE   r    r   rb  rb  ±  r^  r    rb  c                   ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )ÚHttpResponseNotAllowedi•  c                 ój   •—  t          ¦   «         j        |i |¤Ž d                     |¦  «        | d<   d S )Nz, ÚAllow)rÔ   r   rt   )r   Úpermitted_methodsrÕ   r¤   r¸   s       €r   r   zHttpResponseNotAllowed.__init__¸  s9   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØŸ	š	Ð"3Ñ4Ô4ˆˆW‰ˆˆr    c                 óJ   — d| j         j        | j        | j        | d         dœz  S )NzC<%(cls)s [%(methods)s] status_code=%(status_code)d%(content_type)s>rf  )rØ   r\   r_   ÚmethodsrÙ   rc   s    r   rÚ   zHttpResponseNotAllowed.__repr__¼  s6   € ØTØ”>Ô*ØÔ+Ø Ô7Ø˜G”}ð	X
ð X
ñ 
ð 	
r    )rH   rI   rJ   r\   r   rÚ   rö   r÷   s   @r   rd  rd  µ  sL   ø€ € € € € Ø€Kð5ð 5ð 5ð 5ð 5ð
ð 
ð 
ð 
ð 
ð 
ð 
r    rd  c                   ó   — e Zd ZdZdS )ÚHttpResponseGoneiš  Nr]  rE   r    r   rk  rk  Å  r^  r    rk  c                   ó   — e Zd ZdZdS )ÚHttpResponseServerErroriô  Nr]  rE   r    r   rm  rm  É  r^  r    rm  c                   ó   — e Zd ZdS )ÚHttp404NrL   rE   r    r   ro  ro  Í  rM   r    ro  c                   ó*   ‡ — e Zd ZdZeddfˆ fd„	Zˆ xZS )ÚJsonResponseaH  
    An HTTP response class that consumes data to be serialized to JSON.

    :param data: Data to be dumped into json. By default only ``dict`` objects
      are allowed to be passed due to a security flaw before ECMAScript 5. See
      the ``safe`` parameter for more information.
    :param encoder: Should be a json encoder class. Defaults to
      ``django.core.serializers.json.DjangoJSONEncoder``.
    :param safe: Controls if only ``dict`` objects may be serialized. Defaults
      to ``True``.
    :param json_dumps_params: A dictionary of kwargs passed to json.dumps().
    TNc                 óæ   •— |r$t          |t          ¦  «        st          d¦  «        ‚|€i }|                     dd¦  «         t	          j        |fd|i|¤Ž} t          ¦   «         j        dd|i|¤Ž d S )NzTIn order to allow non-dict objects to be serialized set the safe parameter to False.r_   zapplication/jsonrØ   rº   rE   )r)   Údictr]   rF   ÚjsonÚdumpsrÔ   r   )r   r   ÚencoderÚsafeÚjson_dumps_paramsr¤   r¸   s         €r   r   zJsonResponse.__init__ß  sŸ   ø€ ð ð 	�
 4­Ñ.Ô.ð 	Ýð+ñô ð ð Ð$Ø "ÐØ×Ò˜.Ð*<Ñ=Ô=Ð=ÝŒz˜$ÐAÐA GÐAÐ/@ÐAÐAˆØ�‰ŒÔÐ0Ð0 Ð0¨Ð0Ð0Ð0Ð0Ð0r    )rH   rI   rJ   rÌ   r   r   rö   r÷   s   @r   rq  rq  Ñ  sR   ø€ € € € € ðð ð  "ØØð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r    rq  )@r’   r4  rt  r<  r7  Úrer0   r›   r  Úemail.headerr   Úhttp.clientr   Úurllib.parser   Úasgiref.syncr   r   Údjango.confr   Údjango.corer	   r
   Údjango.core.exceptionsr   Údjango.core.serializers.jsonr   Údjango.http.cookier   Údjango.utilsr   Údjango.utils.datastructuresr   Údjango.utils.encodingr   Údjango.utils.functionalr   Údjango.utils.httpr   r   Údjango.utils.regex_helperr   ÚIrj   r   rV   r.   rO   rÒ   rù   r  rB  rR  rV  rX  r\  r`  rb  rd  rk  rm  r®   ro  rq  rE   r    r   ú<module>rŠ     sÊ  ðØ €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à  Ð  Ð  Ð  Ð  Ð  Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø :Ð :Ð :Ð :Ð :Ð :Ø +Ð +Ð +Ð +Ð +Ð +Ø !Ð !Ð !Ð !Ð !Ð !Ø >Ð >Ð >Ð >Ð >Ð >Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ 6Ð 6Ð 6Ð 6Ð 6Ð 6à 0Ð 0Ø'¨¬ñ!ô !Ð ð
?ð ?ð ?ð ?ð ?Ð,ñ ?ô ?ð ?ðD	ð 	ð 	ð 	ð 	�Zñ 	ô 	ð 	ðCTð CTð CTð CTð CTñ CTô CTð CTðLFð Fð Fð Fð FÐ#ñ Fô Fð FðRh0ð h0ð h0ð h0ð h0Ð,ñ h0ô h0ð h0ðVOFð OFð OFð OFð OFÐ(ñ OFô OFð OFðd
ð 
ð 
ð 
ð 
˜|ñ 
ô 
ð 
ð8'ð 'ð 'ð 'ð 'Ð3ñ 'ô 'ð 'ð
'ð 'ð 'ð 'ð 'Ð$<ñ 'ô 'ð 'ð
ð ð ð ð ˜lñ ô ð ð ð ð ð ð ˜\ñ ô ð ðð ð ð ð ˜<ñ ô ð ðð ð ð ð ˜Lñ ô ð ð
ð 
ð 
ð 
ð 
˜\ñ 
ô 
ð 
ð ð ð ð ð �|ñ ô ð ðð ð ð ð ˜lñ ô ð ð	ð 	ð 	ð 	ð 	ˆiñ 	ô 	ð 	ð1ð 1ð 1ð 1ð 1�<ñ 1ô 1ð 1ð 1ð 1r    