Ë
    @²Xjú?  ã            
      óð  — d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZm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mZmZ dd
lmZ ddlmZmZmZ eg df   ZdZ  ejB                  dejD                  «      Z#d"d„Z$d#d„Z%d$d„Z&d%d„Z'd&d„Z(d'd„Z) G d„ d«      Z* G d„ d«      Z+e G d„ de«      «       Z, ed¬«       G d„ d«      «       Z-deedddddddœ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d(d „Z.g d!¢Z/y))é    )ÚannotationsN)ÚLiteralÚCallableÚ	AwaitableÚcast)ÚfieldÚ	dataclassé   )Ú	NOT_GIVENÚNotGiven)Úasyncify)ÚFinalRequestOptions)Ú	_ProviderÚ_create_providerÚ_ProviderRuntime)ÚOpenAIError)ÚBedrockAwsAuthÚBedrockAwsAuthConfigÚAwsCredentialsProviderzstr | Awaitable[str])Úauthorizationzx-amz-content-sha256z
x-amz-datezx-amz-security-tokenz(^bedrock-mantle\.([a-z0-9-]+)\.api\.aws$c                ó4   — | €y | j                  «       }|xs d S ©N)Ústrip)ÚvalueÚ
normalizeds     ú^/var/www/html/content_generation/venv/lib/python3.12/site-packages/openai/providers/bedrock.pyÚ_normalize_optional_stringr      s    € Ø€}Øà—‘“€JØÒ˜Ðó    c                óä   — t        j                  | «      }|j                  j                  d«      }t	        j
                  d|«      }|�|d |j                  «        }|j                  |xs d¬«      S )NÚ/z/responses(?:/.*)?$)Úpath)ÚhttpxÚURLr!   ÚrstripÚreÚsearchÚstartÚ	copy_with)Úbase_urlÚurlr!   Úresponses_matchs       r   Ú_normalize_base_urlr,   $   sd   € Ü
�)‰)�HÓ
€CØ�8‰8�?‰?˜3Ó€DÜ—i‘iÐ 6¸Ó=€OØÐ"ØÐ-�o×+Ñ+Ó-Ð.ˆà�=‰=˜dšk cˆ=Ó*Ð*r   c                ó�   — | j                   | j                  | j                  f|j                   |j                  |j                  fk(  S r   )ÚschemeÚhostÚport)ÚleftÚrights     r   Ú_same_originr3   .   s3   € Ø�K‰K˜Ÿ™ D§I¡IÐ.°5·<±<ÀÇÁÈUÏZÉZÐ2XÑXÐXr   c                ój   — 	 | j                   S # t        j                  $ r}t        d«      |‚d }~ww xY w)Nz}Bedrock SigV4 authentication requires a replayable request body. Buffer the body before sending or use bearer authentication.)Úcontentr"   ÚRequestNotReadr   )ÚrequestÚexcs     r   Ú_body_for_signingr9   2   s?   € ðØ�‰ÐøÜ×Ñò ÜðKó
ð ð	ûðús   ‚ Ž2¡-­2c                ó6   — d| j                   v rt        d«      ‚y )NÚAuthorizationzXBedrock provider authentication cannot be combined with a custom `Authorization` header.)Úheadersr   )r7   s    r   Ú#_assert_provider_owns_authorizationr=   <   s   € Ø˜'Ÿ/™/Ñ)ÜÐtÓuÐuð *r   c                óB   — | j                   rt        d«      ‚d| _         | S )Nz‡Bedrock SigV4 authentication does not support automatic redirects. Send a new request to the redirect target so it can be signed again.F)Úfollow_redirectsr   )Úoptionss    r   Ú_without_redirectsrA   A   s-   € Ø×ÒÜðSó
ð 	
ð  %€GÔØ€Nr   c                  ó<   — e Zd Zdd„Zd	d„Zd
d„Zd
d„Zd	d„Zd	d„Zy)Ú_BedrockBearerAuthc               ó    — || _         || _        y r   )Ú_token_providerÚ	_base_url)ÚselfÚtoken_providerr)   s      r   Ú__init__z_BedrockBearerAuth.__init__L   s   € Ø-ˆÔØ!ˆ�r   c                óp   — t        |«       t        |j                  | j                  «      st	        d«      ‚y )Nz`Refusing to authenticate a Bedrock request for an origin other than the configured provider URL.)r=   r3   r*   rF   r   ©rG   r7   s     r   Ú_validate_requestz$_BedrockBearerAuth._validate_requestP   s1   € Ü+¨GÔ4Ü˜GŸK™K¨¯©Ô8ÜØróð ð 9r   c                ód  — 	 t        t        | j                  «       «      }t        j                  |«      r*t        |dd «      }t        |«      r |«        t        d«      ‚t        |t        «      r|j                  «       st        d«      ‚|S # t        $ r ‚ t        $ r}t        d«      |‚d }~ww xY w)Nú2Failed to resolve a bearer credential for Bedrock.Úclosez7An async Bedrock token provider requires `AsyncOpenAI`.úFThe Bedrock bearer credential provider must return a non-empty string.)r   ÚobjectrE   r   Ú	ExceptionÚinspectÚisawaitableÚgetattrÚcallableÚ
isinstanceÚstrr   )rG   Útokenr8   rO   s       r   Ú_resolve_tokenz!_BedrockBearerAuth._resolve_tokenW   s¤   € ð	]Üœ ×!5Ñ!5Ó!7Ó8ˆEô ×Ñ˜uÔ%Ü˜E 7¨DÓ1ˆEÜ˜ŒÙ”ÜÐWÓXÐXÜ˜%¤Ô%¨U¯[©[¬]ÜÐfÓgÐgØˆøô ò 	ØÜò 	]ÜÐRÓSÐY\Ð\ûð	]ús   ‚B ÂB/ÂB*Â*B/c              ƒ  ó0  K  — 	 t        t        | j                  «       «      }t        j                  |«      r
|ƒ d {  –—† }t        |t        «      r|j                  «       st        d«      ‚|S 7 Œ1# t
        $ r ‚ t        $ r}t        d«      |‚d }~ww xY w­w)NrN   rP   )
r   rQ   rE   rS   rT   r   rR   rW   rX   r   )rG   rY   r8   s      r   Ú_resolve_token_asyncz'_BedrockBearerAuth._resolve_token_asynch   s‹   è ø€ ð	]Üœ ×!5Ñ!5Ó!7Ó8ˆEÜ×"Ñ" 5Ô)Ø#Ÿ�ô ˜%¤Ô%¨U¯[©[¬]ÜÐfÓgÐgØˆð $ùÜò 	ØÜò 	]ÜÐRÓSÐY\Ð\ûð	]üs8   ‚B„8A0 ¼A.½A0 Á-BÁ.A0 Á0BÂBÂBÂBc                óf   — | j                  |«       d| j                  «       › �|j                  d<   y ©NzBearer r;   )rL   rZ   r<   rK   s     r   Úprepare_requestz"_BedrockBearerAuth.prepare_requestv   s/   € Ø×Ñ˜wÔ'Ø-4°T×5HÑ5HÓ5JÐ4KÐ+Lˆ�‰˜Ò(r   c              ƒ  ó‚   K  — | j                  |«       d| j                  «       ƒ d {  –—† › �|j                  d<   y 7 Œ­wr^   )rL   r\   r<   rK   s     r   Úprepare_async_requestz(_BedrockBearerAuth.prepare_async_requestz   s9   è ø€ Ø×Ñ˜wÔ'Ø-4¸4×;TÑ;TÓ;V×5VÐ4WÐ+Xˆ�‰˜Ò(Ð5Vús   ‚&?¨=©?N)rH   ÚBedrockTokenProviderr)   ú	httpx.URLÚreturnÚNone©r7   úhttpx.Requestrd   re   ©rd   rX   )	Ú__name__Ú
__module__Ú__qualname__rI   rL   rZ   r\   r_   ra   © r   r   rC   rC   K   s"   „ ó"óóó"óMôYr   rC   c                  óH   — e Zd Zddœ	 	 	 	 	 	 	 dd„Zd	d„Zd
d„Zdd„Zdd„Zy)Ú_BedrockSigV4AuthN)Úauthc               ó.   — || _         || _        || _        y r   )Ú_configrF   Ú_auth)rG   Úconfigr)   ro   s       r   rI   z_BedrockSigV4Auth.__init__€   s   € ð ˆŒØ!ˆŒØˆ�
r   c                ó”  — t        |«       t        |j                  | j                  «      st	        d«      ‚t
        j                  |j                  j                  «      }|�]|j                  d«      | j                  j                  k7  r5t	        d|j                  d«      › d| j                  j                  › d�«      ‚t        |«      S )NzXRefusing to sign a Bedrock request for an origin other than the configured provider URL.é   zThe Bedrock endpoint region `z#` does not match the SigV4 region `z`.)r=   r3   r*   rF   r   Ú_CANONICAL_BEDROCK_HOSTÚ	fullmatchr/   Úgrouprq   Úregionr9   )rG   r7   Úendpoint_region_matchs      r   rL   z#_BedrockSigV4Auth._validate_request‹   sº   € Ü+¨GÔ4Ü˜GŸK™K¨¯©Ô8ÜØjóð ô !8× AÑ AÀ'Ç+Á+×BRÑBRÓ SÐØ Ð,Ð1F×1LÑ1LÈQÓ1OÐSW×S_ÑS_×SfÑSfÒ1fÜØ/Ð0E×0KÑ0KÈAÓ0NÐ/Oð P!Ø!%§¡×!4Ñ!4Ð 5°Rð9óð ô
 ! Ó)Ð)r   c               óF  — t         D ]  }|j                  j                  |d «       Œ  |j                  |j                  t        |j                  «      t        |j                  «      |¬«      }|j                  j                  «        |j                  j                  |«       y ©N)Úmethodr*   r<   Úbody)
Ú_AWS_SIGNING_HEADERSr<   ÚpopÚsignr}   rX   r*   ÚdictÚclearÚupdate)rG   r7   ro   r~   ÚheaderÚsigned_headerss         r   Ú_signz_BedrockSigV4Auth._sign›   s{   € ß*ˆFØ�O‰O×Ñ ¨Õ-ð +ð Ÿ™Ø—>‘>Ü�G—K‘KÓ Ü˜Ÿ™Ó)Øð	 #ó 
ˆð 	�‰×ÑÔØ�‰×Ñ˜~Õ.r   c                ó®   — | j                  |«      }| j                  €t        | j                  «      | _        | j	                  || j                  |¬«       y )N)ro   r~   )rL   rr   r   rq   r‡   )rG   r7   r~   s      r   r_   z!_BedrockSigV4Auth.prepare_request¨   sB   € Ø×%Ñ% gÓ.ˆØ�:‰:ÐÜ'¨¯©Ó5ˆDŒJØ�
‰
�7 §¡°$ˆ
Õ7r   c           
   ƒ  ó>  K  — | j                  |«      }| j                  €, t        t        «      | j                  «      ƒ d {  –—† | _         t        | j                  j
                  «      |j                  t        |j                  «      |j                  j                  «       D ��ci c]  \  }}|j                  «       t        vsŒ||“Œ! c}}|¬«      ƒ d {  –—† }|j                  j                  «        |j                  j                  |«       y 7 ŒÐc c}}w 7 ŒB­wr|   )rL   rr   r   r   rq   r�   r}   rX   r*   r<   ÚitemsÚlowerr   rƒ   r„   )rG   r7   r~   Únamer   r†   s         r   ra   z'_BedrockSigV4Auth.prepare_async_request®   sß   è ø€ Ø×%Ñ% gÓ.ˆØ�:‰:ÐØ7œx¬Ó7¸¿¹ÓE×EˆDŒJà8œx¨¯
©
¯©Ó8Ø—>‘>Ü�G—K‘KÓ à/6¯©×/DÑ/DÔ/FôÙ/F¡  eÈ$Ï*É*Ë,Ô^rÒJr��e‘Ð/Fòð ô 
÷ 
ˆð 	�‰×ÑÔØ�‰×Ñ˜~Õ.ð Fúó
ð
ús7   ‚A DÁDÁA$DÂ'DÃDÃDÃDÃ;DÄD)rs   r   r)   rc   ro   zBedrockAwsAuth | Nonerd   re   ©r7   rg   rd   Úbytes)r7   rg   ro   r   r~   rŽ   rd   re   rf   )ri   rj   rk   rI   rL   r‡   r_   ra   rl   r   r   rn   rn      sH   „ ð '+ñ	ð %ð	ð ð		ð
 $ð	ð 
ó	ó*ó /ó8ô/r   rn   c                  ó   — e Zd ZU dZded<   y)Ú_BedrockProviderRuntimeNú
str | Nonery   )ri   rj   rk   ry   Ú__annotations__rl   r   r   r�   r�   ¿   s   … à€FˆJÔr   r�   T)Úfrozenc                  ó6  — e Zd ZU ded<   ded<   ded<    edd¬	«      Zded
<    eddd¬«      Zded<   dZded<   dZded<    edd¬	«      Z	ded<    edd¬	«      Z
ded<    edd¬	«      Zded<    eddd¬«      Zded<    edd¬«      Zded<   dd„Zdd„Zdd„Zy) Ú_BedrockProviderDefinitionr‘   Úconfigured_regionz)Literal['explicit', 'environment'] | NoneÚregion_sourcezhttpx.URL | NoneÚconfigured_base_urlNF)ÚdefaultÚreprÚapi_key)r™   rš   ÚcompareúBedrockTokenProvider | NonerH   ÚboolÚuse_environment_bearerÚprofileÚaccess_key_idÚsecret_access_keyÚsession_tokenúAwsCredentialsProvider | NoneÚcredential_providerÚbedrock)r™   ÚinitrX   rŒ   c                óR   — | j                   �y| j                  �y| j                  �yy)NÚstaticr    Úproviderr™   )r¡   r    r¥   ©rG   s    r   Ú_aws_sourcez&_BedrockProviderDefinition._aws_sourceÓ   s0   € Ø×ÑÐ)ØØ�<‰<Ð#ØØ×#Ñ#Ð/ØØr   c           
     óª  — | j                   �mt        | j                   | j                  «       | j                  xs d| j                  | j
                  | j                  | j                  | j                  ¬«      d fS t        j                  d | j                  | j
                  | j                  | j                  | j                  ¬«      }|j                  |fS )NÚexplicit)ry   Úsourcer—   r    r¡   r¢   r£   Úcredentials_provider)ry   r    r¡   r¢   r£   r°   )r–   r   r¬   r—   r    r¡   r¢   r£   r¥   r   Úresolvers   )rG   ro   s     r   Ú_resolve_aws_authz,_BedrockProviderDefinition._resolve_aws_authÜ   sÄ   € Ø×!Ñ!Ð-ä$Ø×1Ñ1Ø×+Ñ+Ó-Ø"&×"4Ñ"4Ò"B¸
Ø ŸL™LØ"&×"4Ñ"4Ø&*×&<Ñ&<Ø"&×"4Ñ"4Ø)-×)AÑ)Aô	ð ðð ô ×%Ñ%ØØ—L‘LØ×,Ñ,Ø"×4Ñ4Ø×,Ñ,Ø!%×!9Ñ!9ô
ˆð �{‰{˜DÐ Ð r   c                óØ  ‡ — d
d„}d }d }‰ j                   �ˆ fd„}‰ j                  }nŠ‰ j                  �‰ j                  }‰ j                  }ne‰ j                  r|}‰ j                  }nJ‰ j	                  «       \  }}|j
                  }‰ j                  xs t        d|› d�«      }t        |||¬«      }‰ j                  �‰ j                  }n|�t        d|› d�«      }nt        d«      ‚|�t        ||¬«      }|€J ‚t        |t        «      r3t        ‰ j                  ||t        |j                  |j                   ¬«      S t        ‰ j                  |||j                  |j                   ¬	«      S )Nc                 ó^   — t         j                  j                  d«      } | st        d«      ‚| S )NÚAWS_BEARER_TOKEN_BEDROCKzµCould not find credentials for Bedrock. Pass a bearer credential or AWS credentials to `bedrock(...)`, set `AWS_BEARER_TOKEN_BEDROCK`, or configure the default AWS credential chain.)ÚosÚenvironÚgetr   )rY   s    r   Úenvironment_tokenz?_BedrockProviderDefinition.configure.<locals>.environment_token÷   s2   € Ü—J‘J—N‘NÐ#=Ó>ˆEÙÜ!ðuóð ð ˆLr   c                 ó$   •— ‰ j                   xs dS )NÚ )r›   r«   s   €r   Ú<lambda>z6_BedrockProviderDefinition.configure.<locals>.<lambda>  s   ø€  d§l¡lÒ&8°bÐ&8r   zhttps://bedrock-mantle.z.api.aws/openai/v1)rs   r)   ro   zmBedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or `AWS_DEFAULT_REGION`.)r)   )rŒ   r)   ry   Útransform_requestr_   ra   )rŒ   r)   ry   r_   ra   rh   )r›   r–   rH   rŸ   r²   ry   r˜   r,   rn   r   rC   rW   r�   rŒ   rA   r_   ra   )rG   r¹   ro   Úbearer_providerry   Ú
aws_configÚaws_authr)   s   `       r   Ú	configurez$_BedrockProviderDefinition.configureö   sŠ  ø€ ó	ð ?CˆØ7;ˆØ�<‰<Ð#Û8ˆOØ×+Ñ+‰FØ× Ñ Ð,Ø"×1Ñ1ˆOØ×+Ñ+‰FØ×(Ò(Ø/ˆOØ×+Ñ+‰Fà#'×#9Ñ#9Ó#;Ñ ˆJ˜Ø×&Ñ&ˆFØ×/Ñ/ò Ô3FØ)¨&¨Ð1CÐDó4ˆHô %¨JÀÐPXÔYˆDà×#Ñ#Ð/Ø×/Ñ/‰HØÐÜ*Ð-DÀVÀHÐL^Ð+_Ó`‰Häð(óð ð
 Ð&Ü% oÀÔIˆDàÐÐÐÜ�dÔ-Ô.Ü*Ø—Y‘YØ!ØÜ"4Ø $× 4Ñ 4Ø&*×&@Ñ&@ôð ô 'Ø—‘ØØØ ×0Ñ0Ø"&×"<Ñ"<ô
ð 	
r   )rd   z3Literal['static', 'profile', 'provider', 'default'])rd   z2tuple[BedrockAwsAuthConfig, BedrockAwsAuth | None])rd   r   )ri   rj   rk   r’   r   r›   rH   rŸ   r    r¡   r¢   r£   r¥   rŒ   r¬   r²   rÁ   rl   r   r   r•   r•   Ä   sº   … à!Ó!Ø<Ó<Ø)Ó)Ù¨°5Ô9€GˆZÓ9Ù27ÀÈ5ÐZ_Ô2`€NÐ/Ó`Ø#(Ð˜DÓ(Ø€GˆZÓÙ %¨d¸Ô ?€M�:Ó?Ù$)°$¸UÔ$CÐ�zÓCÙ %¨d¸Ô ?€M�:Ó?Ù9>ÀtÐRWÐafÔ9gÐÐ6ÓgÙ˜i¨eÔ4€Dˆ#Ó4óó!ô4;
r   r•   )	ry   r)   r›   rH   r¡   r¢   r£   r    r¥   c        	        ó
  — t        | «      }	| �|	€t        d«      ‚d}
|	�d}
nMt        t        j                  j	                  d«      xs t        j                  j	                  d«      «      }	|	�d}
t        |t        «      r8t        t        j                  j	                  d«      «      }|rt        |«      nd}n;|€d}n6t        |t        «      r|j                  «       st        d«      ‚t        |«      }t        |«      }|�|€t        d	«      ‚|du |du k7  s|�|€t        d
«      ‚|�9|j                  «       rt        t        |«      j                  «       st        d«      ‚|�|j                  «       st        d«      ‚t        |t        «       xr |du}|r+t        |t        «      r|j                  «       st        d«      ‚|r|�t        d«      ‚|xs |du}t        |du|du|duf«      }|dkD  rt        d«      ‚|r|rt        d«      ‚t        |t        «       xr |du }| xr2 | xr- | xr( t        t        j                  j	                  d«      «      }t        t        |	|
||rt        d|«      nd|||||||¬«      «      S )z?Configure the standard OpenAI client for Amazon Bedrock Mantle.Nz+The Bedrock AWS `region` must not be empty.r®   Ú
AWS_REGIONÚAWS_DEFAULT_REGIONÚenvironmentÚAWS_BEDROCK_BASE_URLz)The Bedrock `base_url` must not be empty.z,The Bedrock AWS `profile` must not be empty.zzStatic AWS credentials require both `access_key_id` and `secret_access_key`. A `session_token` may only be used with both.zXStatic AWS credentials require non-empty `access_key_id` and `secret_access_key` values.z=A static AWS `session_token` must not be empty when provided.z0The Bedrock bearer credential must not be empty.zVThe `api_key` and `token_provider` options are mutually exclusive. Configure only one.ru   z‚Bedrock authentication is ambiguous. Configure exactly one explicit AWS mode: static credentials, profile, or credential provider.z•Bedrock authentication is ambiguous. Configure exactly one explicit mode: bearer credential, static AWS credentials, profile, or credential provider.rµ   r‘   )r–   r—   r˜   r›   rH   rŸ   r    r¡   r¢   r£   r¥   )r   r   r¶   r·   r¸   rW   r   r,   rX   r   r   Úsumrž   r   r•   )ry   r)   r›   rH   r¡   r¢   r£   r    r¥   Únormalized_regionr—   Úenvironment_base_urlr˜   Únormalized_profileÚexplicit_api_keyÚexplicit_bearerÚ	aws_modesÚskip_environment_bearerrŸ   s                      r   r¦   r¦   4  sÕ  € ô 3°6Ó:ÐØÐÐ/Ð7ÜÐGÓHÐHà?C€MØÐ$Ø"‰ä6Ü�J‰J�N‰N˜<Ó(ÒP¬B¯J©J¯N©NÐ;OÓ,Pó
Ðð Ð(Ø)ˆMô �(œHÔ%Ü9¼"¿*¹*¿.¹.ÐI_Ó:`ÓaÐÙK_Ô1Ð2FÔGÐeiÑØ	Ð	Ø"Ñä�h¤Ô$¨X¯^©^Ô-=ÜÐIÓJÐJÜ1°(Ó;Ðä3°GÓ<ÐØÐÐ1Ð9ÜÐHÓIÐIà˜ÐÐ#4¸Ð#<Ò=À-ÐB[Ð`mÐ`uÜð<ó
ð 	
ð Ð ¨-×*=Ñ*=Ô*?ÄtÌCÐQbÓGc×GiÑGiÔGkÜÐtÓuÐuØÐ ¨×)<Ñ)<Ô)>ÜÐYÓZÐZä% g¬xÓ8Ð8ÒP¸WÈDÐ=PÐÙ¤¨G´SÔ!9ÀÇÁÄÜÐLÓMÐMÙ˜NÐ6ÜÐrÓsÐsà&ÒD¨.ÀÐ*D€OÜà Ð%Ø dÐ*Ø tÐ+ð	
ó€Ið �1‚}Üð/ó
ð 	
ñ ™9ÜðGó
ð 	
ô
 #-¨W´hÓ"?Ð?ÒSÀGÈtÀOÐàÐò 	=ØˆMò	=à'Ð'ò	=ô ”—‘—‘Ð :Ó;Ó<ð	 ô Ü"Ø/Ø'Ø 3Ù3C”D˜ wÔ/ÈØ)Ø#9Ø&Ø'Ø/Ø'Ø 3ô	
óð r   )r¦   rb   r   )r   r‘   rd   r‘   )r)   zstr | httpx.URLrd   rc   )r1   rc   r2   rc   rd   rž   r�   rf   )r@   r   rd   r   )ry   r‘   r)   z!str | httpx.URL | None | NotGivenr›   zstr | None | NotGivenrH   r�   r¡   r‘   r¢   r‘   r£   r‘   r    r‘   r¥   r¤   rd   r   )0Ú
__future__r   r¶   r%   rS   Útypingr   r   r   r   Údataclassesr   r	   r"   Ú_typesr   r   Ú_utilsr   Ú_modelsr   Ú	_providerr   r   r   Ú_exceptionsr   Úlib._bedrock_authr   r   r   rb   r   ÚcompileÚ
IGNORECASErv   r   r,   r3   r9   r=   rA   rC   rn   r�   r•   r¦   Ú__all__rl   r   r   Ú<module>rÛ      s{  ðÝ "ã 	Û 	Û ß 5Ó 5ß (ã ç (Ý Ý )ß EÑ EÝ %÷ñ ð   Ð$:Ð :Ñ;Ð àfÐ Ø$˜"Ÿ*™*Ð%PÐRT×R_ÑR_Ó`Ð óó+óYóóvó
÷1Yñ 1Y÷h=/ñ =/ð@ ôÐ.ó ó ðñ �$Ô÷l
ð l
ó ðl
ðb Ø2;Ø%.Ø26Ø $Ø$(Ø $ØØ9=ñdàðdð 0ðdð #ð	dð
 0ðdð ðdð "ðdð ðdð ðdð 7ðdð ódòN H�r   