§
     @g8E  ã            
      ó¾  — d Z ddlmZ ddlZddlZddlZddlZddlmZ dZ	dZ
dZ ej        d	¦  «        Z ej        d
                     ddddd¬¦  «        ¦  «        Z ej        d                     ddd¬¦  «        ¦  «        Z ej        d¦  «         ej        d¦  «         ej        d¦  «         ej        d¦  «         ej        d¦  «         ej        d¦  «         ej        d¦  «         ej        d¦  «        dœZ ej        d¦  «        Z ej        d¦  «        Z G d„ dej        ¦  «        Zd;d<d!„Zd=d#„Zd>d(„Zd?d.„Zd@d/„ZdAd1„ZdBdCd5„ZdBdDd6„ZdBdDd7„ZdEd:„ZdS )Faï  
An implementation of `urlparse` that provides URL validation and normalization
as described by RFC3986.

We rely on this implementation rather than the one in Python's stdlib, because:

* It provides more complete URL validation.
* It properly differentiates between an empty querystring and an absent querystring,
  to distinguish URLs with a trailing '?'.
* It handles scheme, hostname, port, and path normalization.
* It supports IDNA hostnames, normalizing them to their encoded form.
* The API supports passing individual components, as well as the complete URL string.

Previously we relied on the excellent `rfc3986` package to handle URL parsing and
validation, but this module provides a simpler alternative, with less indirection
required.
é    )ÚannotationsNé   )Ú
InvalidURLi   zBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~z!$&'()*+,;=z%[A-Fa-f0-9]{2}z‚(?:(?P<scheme>{scheme}):)?(?://(?P<authority>{authority}))?(?P<path>{path})(?:\?(?P<query>{query}))?(?:#(?P<fragment>{fragment}))?z([a-zA-Z][a-zA-Z0-9+.-]*)?z[^/?#]*z[^?#]*z[^#]*z.*©ÚschemeÚ	authorityÚpathÚqueryÚfragmentzA(?:(?P<userinfo>{userinfo})@)?(?P<host>{host}):?(?P<port>{port})?z(\[.*\]|[^:@]*))ÚuserinfoÚhostÚportz[^@]*z(\[.*\]|[^:]*))r   r   r	   r
   r   r   r   r   z ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$z^\[.*\]$c                  ó–   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   edd„¦   «         Zedd„¦   «         Zdd„Zdd„ZdS )ÚParseResultÚstrr   r   r   ú
int | Noner   r	   ú
str | Noner
   r   Úreturnc                ó¨   — d                      | j        r
| j        › d�ndd| j        v rd| j        › d�n| j        | j        �
d| j        › �ndg¦  «        S )NÚ ú@ú:ú[ú])Újoinr   r   r   ©Úselfs    úC/var/www/piapp/venv/lib/python3.11/site-packages/httpx/_urlparse.pyr   zParseResult.authorityi   sq   € à�wŠwà'+¤}Ð<�4”=Ð#Ð#Ð#Ð#¸"Ø$'¨4¬9Ð$4Ð$4Ð �D”IÐ Ð Ð Ð ¸$¼)Ø#'¤9Ð#8��D”I���¸bðñ
ô 
ð 	
ó    c                ó„   — d                      d| j        v rd| j        › d�n| j        | j        �
d| j        › �ndg¦  «        S )Nr   r   r   r   )r   r   r   r   s    r   ÚnetloczParseResult.netlocs   sW   € à�wŠwà$'¨4¬9Ð$4Ð$4Ð �D”IÐ Ð Ð Ð ¸$¼)Ø#'¤9Ð#8��D”I���¸bðñ
ô 
ð 	
r   Úkwargsc                óŽ   — |s| S | j         | j        | j        | j        | j        dœ}|                     |¦  «         t          di |¤ŽS )Nr   r   ©r   )r   r   r	   r
   r   ÚupdateÚurlparse)r   r"   Údefaultss      r   Ú	copy_withzParseResult.copy_with|   s^   € Øð 	ØˆKð ”kØœØ”IØ”ZØœð
ð 
ˆð 	�Š˜ÑÔÐÝÐ'Ð'˜hÐ'Ð'Ð'r   c                óÂ   — | j         }d                     | j        r
| j        › d�nd|rd|› �nd| j        | j        �
d| j        › �nd| j        �
d| j        › �ndg¦  «        S )Nr   r   ú//ú?ú#)r   r   r   r	   r
   r   )r   r   s     r   Ú__str__zParseResult.__str__Š   s�   € Ø”Nˆ	Ø�wŠwà%)¤[Ð8�4”;Ð!Ð!Ð!Ð!°bØ$-Ð5Ð �YÐ Ð Ð °2Ø”	Ø$(¤JÐ$:Ð �D”JÐ Ð Ð ÀØ'+¤}Ð'@Ð#�D”MÐ#Ð#Ð#Àbðñ
ô 
ð 	
r   N)r   r   )r"   r   r   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__annotations__Úpropertyr   r!   r(   r-   © r   r   r   r   `   sÄ   € € € € € € Ø€K€K�KØ€M€M�MØ€I€I�IØÐÐÑØ€I€I�IØÐÐÑØÐÐÑàð
ð 
ð 
ñ „Xð
ð ð
ð 
ð 
ñ „Xð
ð(ð (ð (ð (ð

ð 

ð 

ð 

ð 

ð 

r   r   r   Úurlr   r"   r   r   c           	     ó&	  — t          | ¦  «        t          k    rt          d¦  «        ‚t          d„ | D ¦   «         ¦  «        rt          d¦  «        ‚d|v r1|d         }t	          |t
          ¦  «        rt          |¦  «        n||d<   d|v r6|                     d¦  «        pd}|                     d¦  «        \  |d<   }|d<   d	|v sd
|v rXt          |                     d	d¦  «        pd¦  «        }t          |                     d
d¦  «        pd¦  «        }|r|› d|› �n||d<   d|v r=|                     d¦  «        pd}|                     d¦  «        \  |d<   }|d<   |sd |d<   d|v rN| 
                    d¦  «        pd}	d|	v r3|	                     d¦  «        r|	                     d¦  «        s	d|	› d�|d<   |                     ¦   «         D ]‘\  }
}|�Št          |¦  «        t          k    rt          d|
› d�¦  «        ‚t          d„ |D ¦   «         ¦  «        rt          d|
› d�¦  «        ‚t          |
                              |¦  «        st          d|
› d�¦  «        ‚Œ’t                                | ¦  «        }|€J ‚|                     ¦   «         }| 
                    d|d         ¦  «        pd}| 
                    d|d         ¦  «        pd}| 
                    d|d         ¦  «        pd}| 
                    d|d         ¦  «        }| 
                    d|d         ¦  «        }t&                               |¦  «        }|€J ‚|                     ¦   «         }| 
                    d|d         ¦  «        pd}| 
                    d|d         ¦  «        pd}	| 
                    d|d         ¦  «        }|                     ¦   «         }t          |t*          dz   ¬¦  «        }t-          |	¦  «        }t/          ||¦  «        }|dk    }|dk    p	|dk    p|d u}t1          |||¬¦  «         |rt3          |¦  «        }t          |t*          dz   ¬¦  «        }|€d nt          |t*          dz   ¬¦  «        }|€d nt          |t*          dz   ¬¦  «        }t5          |||||||¦  «        S ) NzURL too longc              3  óh   K  — | ]-}|                      ¦   «         o|                     ¦   «          V — Œ.d S ©N©ÚisasciiÚisprintable©Ú.0Úchars     r   ú	<genexpr>zurlparse.<locals>.<genexpr>¡   s>   è è € Ð
EÐ
E¸ˆ4�<Š<‰>Œ>Ð4 $×"2Ò"2Ñ"4Ô"4Ð4Ð
EÐ
EÐ
EÐ
EÐ
EÐ
Er   z,Invalid non-printable ASCII character in URLr   r!   r   r   r   ÚusernameÚpasswordr   Úraw_pathr+   r	   r
   r   r   zURL component 'z
' too longc              3  óh   K  — | ]-}|                      ¦   «         o|                     ¦   «          V — Œ.d S r7   r8   r;   s     r   r>   zurlparse.<locals>.<genexpr>Î   s>   è è € ÐOÐOÀ�4—<’<‘>”>Ð<¨$×*:Ò*:Ñ*<Ô*<Ð&<ÐOÐOÐOÐOÐOÐOr   z8Invalid non-printable ASCII character in URL component 'ú'zInvalid URL component 'r   r   r   ©Úsafe)Ú
has_schemeÚhas_authorityz:/[]@z:/?[]@z:/?#[]@)ÚlenÚMAX_URL_LENGTHr   ÚanyÚ
isinstanceÚintr   ÚpopÚ	partitionÚquoteÚgetÚ
startswithÚendswithÚitemsÚCOMPONENT_REGEXÚ	fullmatchÚ	URL_REGEXÚmatchÚ	groupdictÚAUTHORITY_REGEXÚlowerÚ
SUB_DELIMSÚencode_hostÚnormalize_portÚvalidate_pathÚnormalize_pathr   )r4   r"   r   r!   Ú_r?   r@   rA   Ú	seperatorr   ÚkeyÚvalueÚ	url_matchÚurl_dictr   r   r	   r
   r   Úauthority_matchÚauthority_dictr   Úparsed_schemeÚparsed_userinfoÚparsed_hostÚparsed_portrF   rG   Úparsed_pathÚparsed_queryÚparsed_fragments                                  r   r&   r&   —   s*  € õ
 ˆ3�x„x•.Ò Ð Ý˜Ñ(Ô(Ð(õ Ð
EÐ
EÀÐ
EÑ
EÔ
EÑEÔEð IÝÐGÑHÔHÐHð �ÐÐØ�fŒ~ˆÝ&0°µsÑ&;Ô&;ÐE�˜T™œ˜Àˆˆv‰ð �6ÐÐØ—’˜HÑ%Ô%Ð+¨ˆØ,2×,<Ò,<¸SÑ,AÔ,AÑ)ˆˆv‰˜˜6 &™>ð �VÐÐ˜z¨VÐ3Ð3Ý˜Ÿš J°Ñ3Ô3Ð9°rÑ:Ô:ˆÝ˜Ÿš J°Ñ3Ô3Ð9°rÑ:Ô:ˆØ9AÐO Ð5Ð5¨8Ð5Ð5Ð5ÀxˆˆzÑð �VÐÐØ—:’:˜jÑ)Ô)Ð/¨RˆØ5=×5GÒ5GÈÑ5LÔ5LÑ2ˆˆv‰˜	 6¨'¡?Øð 	#Ø"ˆF�7‰Oð �ÐÐØ�zŠz˜&Ñ!Ô!Ð' RˆØ�$ˆ;ˆ; §¢°Ñ 4Ô 4ˆ;¸¿ºÀsÑ9KÔ9Kˆ;Ø( ˜[˜[˜[ˆF�6‰Nð
 —l’l‘n”nð Cð C‰
ˆˆUØÐÝ�5‰zŒz�NÒ*Ð*Ý Ð!B°3Ð!BÐ!BÐ!BÑCÔCÐCõ ÐOÐOÈÐOÑOÔOÑOÔOð Ý ØUÈsÐUÐUÐUñô ð õ
 # 3Ô'×1Ò1°%Ñ8Ô8ð CÝ Ð!A¸3Ð!AÐ!AÐ!AÑBÔBÐBøõ —’ Ñ$Ô$€IØÐ Ð Ð Ø×"Ò"Ñ$Ô$€Hð �ZŠZ˜ (¨8Ô"4Ñ5Ô5Ð;¸€FØ—
’
˜;¨°Ô(=Ñ>Ô>ÐDÀ"€IØ�:Š:�f˜h vÔ.Ñ/Ô/Ð5°2€DØ�JŠJ�w ¨Ô 1Ñ2Ô2€EØ�zŠz˜* h¨zÔ&:Ñ;Ô;€Hõ &×+Ò+¨IÑ6Ô6€OØÐ&Ð&Ð&Ø$×.Ò.Ñ0Ô0€Nð �zŠz˜* n°ZÔ&@ÑAÔAÐGÀR€HØ�:Š:�f˜n¨VÔ4Ñ5Ô5Ð;¸€DØ�:Š:�f˜n¨VÔ4Ñ5Ô5€Dð
  Ÿš™œ€MÝ  µ
¸SÑ0@ÐAÑAÔA€OÝ" 4Ñ(Ô(€KÝ,¨T°6Ñ:Ô:€Kà "Ò$€Jà˜2ÒÐM °Ò!2ÐM°kÈÐ6Mð õ �$ :¸]ÐKÑKÔKÐKØð $Ý˜dÑ#Ô#ˆõ ˜T­
°WÑ(<Ð=Ñ=Ô=€Kð �ˆˆ¥5¨µZÀ(Ñ5JÐ#KÑ#KÔ#Kð ð
 Ð ˆˆ¥e¨H½:È	Ñ;QÐ&RÑ&RÔ&Rð õ ØØØØØØØñô ð r   r   c                ó¼  — | sdS t                                | ¦  «        r=	 t          j        | ¦  «         n%# t          j        $ r t          d| ›�¦  «        ‚w xY w| S t                               | ¦  «        rM	 t          j        | dd…         ¦  «         n%# t          j        $ r t          d| ›�¦  «        ‚w xY w| dd…         S |                      ¦   «         r(t          |  
                    ¦   «         t          ¬¦  «        S 	 t          j        |  
                    ¦   «         ¦  «                             d¦  «        S # t          j        $ r t          d| ›�¦  «        ‚w xY w)	Nr   zInvalid IPv4 address: r   éÿÿÿÿzInvalid IPv6 address: rD   ÚasciizInvalid IDNA hostname: )ÚIPv4_STYLE_HOSTNAMErW   Ú	ipaddressÚIPv4AddressÚAddressValueErrorr   ÚIPv6_STYLE_HOSTNAMEÚIPv6Addressr9   rO   rZ   r[   ÚidnaÚencodeÚdecodeÚ	IDNAError)r   s    r   r\   r\     sˆ  € Øð $4Øˆrå	×	"Ò	" 4Ñ	(Ô	(ð !4ð	@ÝÔ! $Ñ'Ô'Ð'Ð'øÝÔ*ð 	@ð 	@ð 	@ÝÐ>°dÐ>Ð>Ñ?Ô?Ð?ð	@øøøàˆå	×	"Ò	" 4Ñ	(Ô	(ð 4ð	@ÝÔ! $ q¨ t¤*Ñ-Ô-Ð-Ð-øÝÔ*ð 	@ð 	@ð 	@ÝÐ>°dÐ>Ð>Ñ?Ô?Ð?ð	@øøøà�A�b�DŒzÐà	�Š‰Œð 4õ �T—Z’Z‘\”\­
Ð3Ñ3Ô3Ð3ð=ÝŒ{˜4Ÿ:š:™<œ<Ñ(Ô(×/Ò/°Ñ8Ô8Ð8øÝŒ>ð =ð =ð =ÝÐ;°4Ð;Ð;Ñ<Ô<Ð<ð=øøøs!    5 µ"AÁ7B Â"B6Ä 8D9 Ä9"Er   ústr | int | Noner   r   c                óÂ   — | �| dk    rd S 	 t          | ¦  «        }n # t          $ r t          d| ›�¦  «        ‚w xY wddddddœ                     |¦  «        }||k    rd S |S )Nr   zInvalid port: é   éP   i»  )ÚftpÚhttpÚhttpsÚwsÚwss)rL   Ú
ValueErrorr   rP   )r   r   Úport_as_intÚdefault_ports       r   r]   r]   L  sš   € ð €|�t˜r’z�zØˆtð4Ý˜$‘i”iˆˆøÝð 4ð 4ð 4ÝÐ2¨$Ð2Ð2Ñ3Ô3Ð3ð4øøøð  r°C¸rÈ#ÐNÐN×RÒRØñô €Lð �lÒ"Ð"ØˆtØÐs   Œ œ9r	   rF   ÚboolrG   ÚNonec                óö   — |r*| r$|                       d¦  «        st          d¦  «        ‚dS dS |                       d¦  «        rt          d¦  «        ‚|                       d¦  «        r|st          d¦  «        ‚dS dS )z¯
    Path validation rules that depend on if the URL contains
    a scheme or authority component.

    See https://datatracker.ietf.org/doc/html/rfc3986.html#section-3.3
    ú/z7For absolute URLs, path must be empty or begin with '/'r*   zFURLs with no authority component cannot have a path starting with '//'r   zBURLs with no scheme component cannot have a path starting with ':'N)rQ   r   )r	   rF   rG   s      r   r^   r^   g  sÃ   € ð ð ð ð 	X˜Ÿš¨Ñ,Ô,ð 	XÝÐVÑWÔWÐWð	Xð 	Xð 	Xð 	Xð
 �?Š?˜4Ñ Ô ð 	ÝØXñô ð ð
 �?Š?˜3ÑÔð 	¨
ð 	ÝØTñô ð ð	ð 	ð 	ð 	r   c                óä   — |                       d¦  «        }g }|D ]B}|dk    rŒ	|dk    r|r|dgk    r|                     ¦   «          Œ-|                     |¦  «         ŒCd                     |¦  «        S )zˆ
    Drop "." and ".." segments from a URL path.

    For example:

        normalize_path("/path/./to/somewhere/..") == "/path/to"
    r‹   ú.z..r   )ÚsplitrM   Úappendr   )r	   Ú
componentsÚoutputÚ	components       r   r_   r_   ‚  s‡   € ð —’˜C‘”€JØ€FØð %ð %ˆ	Ø˜ÒÐØØ˜$ÒÐØð ˜& R Dš.˜.Ø—
’
‘”�øà�MŠM˜)Ñ$Ô$Ð$Ð$Ø�8Š8�FÑÔÐr   r=   c                óŠ   — d                      d„ |                      d¦  «        D ¦   «         ¦  «                             ¦   «         S )a  
    Replace a single character with the percent-encoded representation.

    Characters outside the ASCII range are represented with their a percent-encoded
    representation of their UTF-8 byte sequence.

    For example:

        percent_encode(" ") == "%20"
    r   c                ó   — g | ]}d |d›�‘Œ	S )ú%Ú02xr3   )r<   Úbytes     r   ú
<listcomp>z"percent_encode.<locals>.<listcomp>£  s    € ÐDÐDÐD t�N˜�N�N�NÐDÐDÐDr   zutf-8)r   ry   Úupper)r=   s    r   Úpercent_encoderš   ˜  s=   € ð �7Š7ÐDÐD¨t¯{ª{¸7Ñ/CÔ/CÐDÑDÔDÑEÔE×KÒKÑMÔMÐMr   r‹   ÚstringrE   c                ó8   — t           |z   dz   }| D ]	}||vr dS Œ
dS )z<
    Determine if a given string is already quote-safe.
    r•   FT)ÚUNRESERVED_CHARACTERS)r›   rE   ÚNON_ESCAPED_CHARSr=   s       r   Úis_saferŸ   ¦  sD   € õ .°Ñ4°sÑ:Ðð ð ð ˆØÐ(Ð(Ð(Ø�5�5ð )ð ˆ4r   c                ó€   ‡— t          | |¬¦  «        r| S t          |z   Šd                     ˆfd„| D ¦   «         ¦  «        S )z1
    Use percent-encoding to quote a string.
    rD   r   c                ó:   •— g | ]}|‰v r|nt          |¦  «        ‘ŒS r3   )rš   )r<   r=   rž   s     €r   r˜   z#percent_encoded.<locals>.<listcomp>½  s0   ø€ ÐXÐXÐXÈ�Ð*Ð*Ð*ˆˆµ¸tÑ0DÔ0DÐXÐXÐXr   )rŸ   r�   r   )r›   rE   rž   s     @r   Úpercent_encodedr¢   ´  sX   ø€ õ ˆv˜DÐ!Ñ!Ô!ð Øˆå-°Ñ4ÐØ�7Š7ØXÐXÐXÐXÐQWÐXÑXÔXñô ð r   c                ó   — g }d}t          j        t          | ¦  «        D ]Š}|                     ¦   «         |                     ¦   «         }}|                     d¦  «        }||k    r.| ||…         }|                     t          ||¬¦  «        ¦  «         |                     |¦  «         |}Œ‹|t          | ¦  «        k    r.| |d…         }	|                     t          |	|¬¦  «        ¦  «         d 	                    |¦  «        S )a®  
    Use percent-encoding to quote a string, omitting existing '%xx' escape sequences.

    See: https://www.rfc-editor.org/rfc/rfc3986#section-2.1

    * `string`: The string to be percent-escaped.
    * `safe`: A string containing characters that may be treated as safe, and do not
        need to be escaped. Unreserved characters are always treated as safe.
        See: https://www.rfc-editor.org/rfc/rfc3986#section-2.3
    r   rD   Nr   )
ÚreÚfinditerÚPERCENT_ENCODED_REGEXÚstartÚendÚgroupr�   r¢   rH   r   )
r›   rE   ÚpartsÚcurrent_positionrW   Ústart_positionÚend_positionÚmatched_textÚleading_textÚtrailing_texts
             r   rO   rO   Á  sþ   € ð €EØÐÝ”Õ2°FÑ;Ô;ð 
(ð 
(ˆØ',§{¢{¡}¤}°e·i²i±k´k˜ˆØ—{’{ 1‘~”~ˆàÐ-Ò-Ð-Ø!Ð"2°>Ð"AÔBˆLØ�LŠL�¨¸DÐAÑAÔAÑBÔBÐBð 	�Š�\Ñ"Ô"Ð"Ø'ÐÐð �3˜v™;œ;Ò&Ð&ØÐ/Ð0Ð0Ô1ˆØ�Š•_ ]¸Ð>Ñ>Ô>Ñ?Ô?Ð?à�7Š7�5‰>Œ>Ðr   rS   úlist[tuple[str, str]]c                ó@   — d                      d„ | D ¦   «         ¦  «        S )am  
    We can use a much simpler version of the stdlib urlencode here because
    we don't need to handle a bunch of different typing cases, such as bytes vs str.

    https://github.com/python/cpython/blob/b2f7b2ef0b5421e01efb8c7bee2ef95d3bab77eb/Lib/urllib/parse.py#L926

    Note that we use '%20' encoding for spaces. and '%2F  for '/'.
    This is slightly different than `requests`, but is the behaviour that browsers use.

    See
    - https://github.com/encode/httpx/issues/2536
    - https://github.com/encode/httpx/issues/2721
    - https://docs.python.org/3/library/urllib.parse.html#urllib.parse.urlencode
    ú&c                ó`   — g | ]+\  }}t          |d ¬¦  «        dz   t          |d ¬¦  «        z   ‘Œ,S )r   rD   ú=)r¢   )r<   ÚkÚvs      r   r˜   zurlencode.<locals>.<listcomp>ò  sP   € ð 	
ð 	
ð 	
á��1õ ˜A BÐ'Ñ'Ô'¨#Ñ-µÀÈÐ0KÑ0KÔ0KÑKð	
ð 	
ð 	
r   )r   )rS   s    r   Ú	urlencoder¸   â  s6   € ð �8Š8ð	
ð 	
àð	
ñ 	
ô 	
ñô ð r   r$   )r4   r   r"   r   r   r   )r   r   r   r   )r   r|   r   r   r   r   )r	   r   rF   rˆ   rG   rˆ   r   r‰   )r	   r   r   r   )r=   r   r   r   )r‹   )r›   r   rE   r   r   rˆ   )r›   r   rE   r   r   r   )rS   r±   r   r   ) Ú__doc__Ú
__future__r   rs   r¤   Útypingrx   Ú_exceptionsr   rI   r�   r[   Úcompiler¦   ÚformatrV   rY   rT   rr   rv   Ú
NamedTupler   r&   r\   r]   r^   r_   rš   rŸ   r¢   rO   r¸   r3   r   r   ú<module>rÀ      sÉ  ððð ð" #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 	€	€	€	Ø €€€à €€€à #Ð #Ð #Ð #Ð #Ð #à€ð Ið ð €
à"˜œ
Ð#4Ñ5Ô5Ð ð ˆBŒJð	*÷
 ‚fØ+ØØØØð ñ ô ñô €	ð& �"”*àTß‚fØØ àð	 ñ ô ñ	ô 	€ð  ˆbŒjÐ5Ñ6Ô6Ø�”˜IÑ&Ô&ØˆBŒJ�xÑ Ô ØˆRŒZ˜Ñ Ô Ø�”
˜4Ñ Ô Ø�”
˜7Ñ#Ô#ØˆBŒJÐ)Ñ*Ô*ØˆBŒJ�tÑÔð	ð 	€ð !�b”jÐ!DÑEÔEÐ Ø �b”j Ñ-Ô-Ð ð4
ð 4
ð 4
ð 4
ð 4
�&Ô#ñ 4
ô 4
ð 4
ðnDð Dð Dð Dð DðN+=ð +=ð +=ð +=ð\ð ð ð ð6ð ð ð ð6ð ð ð ð,Nð Nð Nð Nðð ð ð ð ð
ð 
ð 
ð 
ð 
ðð ð ð ð ðBð ð ð ð ð r   