§
    cŠtj&.  ã                  óØ   — d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZ d dlmZ d dlmZmZmZmZmZmZmZmZ erd dlmZ d dlZd d	lmZ d d
lmZ  G d„ deed         ¦  «        Z dS )é    )Úannotations)ÚTYPE_CHECKINGÚAny)ÚDateTimeNamespace)Ú
EPOCH_YEARÚMS_PER_SECONDÚNS_PER_SECONDÚSECONDS_PER_DAYÚUS_PER_SECOND)ÚInterval)Ú
ALIAS_DICTÚ
UNITS_DICTÚPandasLikeSeriesNamespaceÚcalculate_timestamp_dateÚcalculate_timestamp_datetimeÚget_dtype_backendÚint_dtype_mapperÚis_dtype_pyarrow)Ú	timedeltaN)ÚPandasLikeSeries)ÚTimeUnitc                  óÖ   — e Zd Zd'd„Zd'd„Zd'd„Zd'd„Zd'd„Zd'd„Zd'd	„Z	d'd
„Z
d'd„Zd'd„Zd'd„Zd'd„Zd(d„Zd)d„Zd'd„Zd'd„Zd'd„Zd'd„Zd'd„Zd*d„Zd+d„Zd,d„Zd-d!„Zd.d#„Zd/d%„Zd&S )0Ú!PandasLikeSeriesDateTimeNamespaceÚreturnr   c                óÄ   — |                       | j        j        j        ¦  «        }t	          |j        ¦  «                             ¦   «         dk    rd}t          |¦  «        ‚|S )NÚobjectzæAccessing `date` on the default pandas backend will return a Series of type `object`.
This differs from polars API and will prevent `.dt` chaining. Please switch to the `pyarrow` backend:
df.convert_dtypes(dtype_backend="pyarrow"))Úwith_nativeÚnativeÚdtÚdateÚstrÚdtypeÚlowerÚNotImplementedError)ÚselfÚresultÚmsgs      ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/narwhals/_pandas_like/series_dt.pyr    z&PandasLikeSeriesDateTimeNamespace.date%   s\   € Ø×!Ò! $¤+¤.Ô"5Ñ6Ô6ˆÝˆvŒ|ÑÔ×"Ò"Ñ$Ô$¨Ò0Ð0ð?ð õ & cÑ*Ô*Ð*Øˆó    c                óJ   — |                       | j        j        j        ¦  «        S ©N)r   r   r   Úyear©r%   s    r(   r,   z&PandasLikeSeriesDateTimeNamespace.year2   ó   € Ø×Ò ¤¤Ô 3Ñ4Ô4Ð4r)   c                óJ   — |                       | j        j        j        ¦  «        S r+   )r   r   r   Úmonthr-   s    r(   r0   z'PandasLikeSeriesDateTimeNamespace.month5   s   € Ø×Ò ¤¤Ô 4Ñ5Ô5Ð5r)   c                óJ   — |                       | j        j        j        ¦  «        S r+   )r   r   r   Údayr-   s    r(   r2   z%PandasLikeSeriesDateTimeNamespace.day8   s   € Ø×Ò ¤¤Ô 2Ñ3Ô3Ð3r)   c                óJ   — |                       | j        j        j        ¦  «        S r+   )r   r   r   Úhourr-   s    r(   r4   z&PandasLikeSeriesDateTimeNamespace.hour;   r.   r)   c                óJ   — |                       | j        j        j        ¦  «        S r+   )r   r   r   Úminuter-   s    r(   r6   z(PandasLikeSeriesDateTimeNamespace.minute>   ó   € Ø×Ò ¤¤Ô 5Ñ6Ô6Ð6r)   c                óJ   — |                       | j        j        j        ¦  «        S r+   )r   r   r   Úsecondr-   s    r(   r9   z(PandasLikeSeriesDateTimeNamespace.secondA   r7   r)   c                ó0   — |                       ¦   «         dz  S ©Néè  )Úmicrosecondr-   s    r(   Úmillisecondz-PandasLikeSeriesDateTimeNamespace.millisecondD   s   € Ø×ÒÑ!Ô! TÑ)Ð)r)   c                ó:  — | j         dk     rí|                      ¦   «         rÙdd lm} ddlm} | j        j        }|                     ¦   «         }| 	                    | 
                    |                     |¦  «         |d¦  «        ¦  «        |                     |¦  «        ¦  «        } t          | j        ¦  «         t          |¦  «        |¦  «        | j        j        ¬¦  «        }|                      |¦  «        S |                      | j        j        j        ¦  «        S )N)é   r   r   r   )Úlitr<   )Úname)Úbackend_versionÚ_is_pyarrowÚpyarrow.computeÚcomputeÚnarwhals._arrow.utilsrA   r   ÚarrayÚ__arrow_array__ÚaddÚmultiplyr>   r=   ÚtyperB   r   r   )r%   ÚpcrA   Úarr_nsÚarrÚ
result_arrr&   s          r(   r=   z-PandasLikeSeriesDateTimeNamespace.microsecondG   s
  € ØÔ )Ò+Ð+°×0@Ò0@Ñ0BÔ0BÐ+à(Ð(Ð(Ð(Ð(Ð(à1Ð1Ð1Ð1Ð1Ð1à”[Ô&ˆFØ×(Ò(Ñ*Ô*ˆCØŸšØ—’˜BŸNšN¨3Ñ/Ô/°°°U±´Ñ<Ô<¸b¿nºnÈSÑ>QÔ>Qñô ˆJð '•T˜$œ+Ñ&Ô& |¥t¨F¡|¤|°JÑ'?Ô'?ÀdÄkÔFVÐWÑWÔWˆFØ×#Ò# FÑ+Ô+Ð+à×Ò ¤¤Ô :Ñ;Ô;Ð;r)   c                óT   — |                       ¦   «         dz  | j        j        j        z   S r;   )r=   r   r   Ú
nanosecondr-   s    r(   rR   z,PandasLikeSeriesDateTimeNamespace.nanosecondX   s%   € Ø×ÒÑ!Ô! EÑ)¨D¬K¬NÔ,EÑEÐEr)   c                ó¨  — | j         j        j        }| j                              ¦   «                              d¦  «        |                     ¦   «         t
          z
                       d¦  «        z
                       d¦  «        dz   }|                      ¦   «         rdnd}|                       t          | j         ¦  «        |||j	        ¬¦  «        ¦  «        S )Nzdatetime64[D]zdatetime64[Y]Úint32é   úInt64[pyarrow])r"   rB   )
r   r   r,   Úto_numpyÚastyper   rD   r   rL   rB   )r%   Ú
year_startr&   r"   s       r(   Úordinal_dayz-PandasLikeSeriesDateTimeNamespace.ordinal_day[   s¿   € Ø”[”^Ô(ˆ
àŒK× Ò Ñ"Ô"×)Ò)¨/Ñ:Ô:Ø×"Ò"Ñ$Ô$¥zÑ1×9Ò9¸/ÑJÔJñKç
Š&�‰/Œ/˜Añˆð %)×$4Ò$4Ñ$6Ô$6ÐCÐ Ð ¸GˆØ×ÒØ�D�”ÑÔ˜f¨E¸
¼ÐHÑHÔHñ
ô 
ð 	
r)   c                óà   — | j         j        }| j        }|                     ¦   «         r$|                     ¦   «         dk    r|j        j        n|j        j        }|                      |¦  «        dz   S )N)rU   é   rU   )	Ú	compliantÚ_implementationr   Ú	is_pandasÚ_backend_versionr   Úday_of_weekÚweekdayr   )r%   Úimplr   r&   s       r(   rb   z)PandasLikeSeriesDateTimeNamespace.weekdayf   ss   € àŒ~Ô-ˆØ”ˆð �~Š~ÑÔð#Ø$(×$9Ò$9Ñ$;Ô$;¸vÒ$EÐ$Eð ŒIÔ!Ð!à”Ô"ð 	ð
 ×Ò Ñ'Ô'¨!Ñ+Ð+r)   Úboolc                ó4   — t          | j        j        ¦  «        S r+   )r   r   r"   r-   s    r(   rD   z-PandasLikeSeriesDateTimeNamespace._is_pyarrowq   s   € Ý ¤Ô 1Ñ2Ô2Ð2r)   r   c                ó0  — t          | j        j        d¦  «        r| j        j                             ¦   «         S | j        j        j        t
          z  | j        j        j        z   | j        j        j        t          z  z   | j        j        j	        t          z  z   S )NÚtotal_seconds)Úhasattrr   r   rg   Údaysr
   ÚsecondsÚmicrosecondsr   Únanosecondsr	   r-   s    r(   Ú_get_total_secondsz4PandasLikeSeriesDateTimeNamespace._get_total_secondst   s{   € Ý�4”;”> ?Ñ3Ô3ð 	2Ø”;”>×/Ò/Ñ1Ô1Ð1àŒKŒNÔ¥/Ñ1ØŒkŒnÔ$ñ%àŒ{Œ~Ô*­]Ñ:ñ<ð Œ{Œ~Ô)­MÑ9ñ;ð	
r)   c                ó†  — |                       ¦   «         }d|dk                         t          |j        ¦  «        ¦  «        z  dz
  }|                     ¦   «         dz  }|                     ¦   «                              ¦   «          r'|                     t          |j        ¦  «        ¦  «        }|                      ||z  ¦  «        S )Né   r   rU   é<   ©rm   rX   r   r"   ÚabsÚisnaÚanyr   ©r%   ÚsÚs_signÚs_abss       r(   Útotal_minutesz/PandasLikeSeriesDateTimeNamespace.total_minutes~   sœ   € Ø×#Ò#Ñ%Ô%ˆà�a˜!’e—^’^Õ$4°Q´WÑ$=Ô$=Ñ>Ô>Ñ>ÀÑBˆØ—’‘”˜2‘ˆØ�FŠF‰HŒH�LŠL‰NŒNˆ?ð 	<Ø—L’LÕ!1°!´'Ñ!:Ô!:Ñ;Ô;ˆEØ×Ò ¨¡Ñ/Ô/Ð/r)   c                ó†  — |                       ¦   «         }d|dk                         t          |j        ¦  «        ¦  «        z  dz
  }|                     ¦   «         dz  }|                     ¦   «                              ¦   «          r'|                     t          |j        ¦  «        ¦  «        }|                      ||z  ¦  «        S ©Nro   r   rU   rq   ru   s       r(   rg   z/PandasLikeSeriesDateTimeNamespace.total_seconds‡   sœ   € Ø×#Ò#Ñ%Ô%ˆà�a˜!’e—^’^Õ$4°Q´WÑ$=Ô$=Ñ>Ô>Ñ>ÀÑBˆØ—’‘”˜1‘ˆØ�FŠF‰HŒH�LŠL‰NŒNˆ?ð 	<Ø—L’LÕ!1°!´'Ñ!:Ô!:Ñ;Ô;ˆEØ×Ò ¨¡Ñ/Ô/Ð/r)   c                ó–  — |                       ¦   «         t          z  }d|dk                         t          |j        ¦  «        ¦  «        z  dz
  }|                     ¦   «         dz  }|                     ¦   «                              ¦   «          r'|                     t          |j        ¦  «        ¦  «        }|                      ||z  ¦  «        S r{   )	rm   r   rX   r   r"   rr   rs   rt   r   ru   s       r(   Útotal_millisecondsz4PandasLikeSeriesDateTimeNamespace.total_milliseconds�   ó¡   € Ø×#Ò#Ñ%Ô%­Ñ5ˆà�a˜!’e—^’^Õ$4°Q´WÑ$=Ô$=Ñ>Ô>Ñ>ÀÑBˆØ—’‘”˜1‘ˆØ�FŠF‰HŒH�LŠL‰NŒNˆ?ð 	<Ø—L’LÕ!1°!´'Ñ!:Ô!:Ñ;Ô;ˆEØ×Ò ¨¡Ñ/Ô/Ð/r)   c                ó–  — |                       ¦   «         t          z  }d|dk                         t          |j        ¦  «        ¦  «        z  dz
  }|                     ¦   «         dz  }|                     ¦   «                              ¦   «          r'|                     t          |j        ¦  «        ¦  «        }|                      ||z  ¦  «        S r{   )	rm   r   rX   r   r"   rr   rs   rt   r   ru   s       r(   Útotal_microsecondsz4PandasLikeSeriesDateTimeNamespace.total_microseconds™   r~   r)   c                ó–  — |                       ¦   «         t          z  }d|dk                         t          |j        ¦  «        ¦  «        z  dz
  }|                     ¦   «         dz  }|                     ¦   «                              ¦   «          r'|                     t          |j        ¦  «        ¦  «        }|                      ||z  ¦  «        S r{   )	rm   r	   rX   r   r"   rr   rs   rt   r   ru   s       r(   Útotal_nanosecondsz3PandasLikeSeriesDateTimeNamespace.total_nanoseconds¢   r~   r)   Úformatr!   c                ó  — |                       ¦   «         s|                     dd¦  «        }n*|                     dd¦  «                             dd¦  «        }|                      | j        j                             |¦  «        ¦  «        S )Nz%S%.fz%S.%fz%S)rD   Úreplacer   r   r   Ústrftime)r%   rƒ   s     r(   Ú	to_stringz+PandasLikeSeriesDateTimeNamespace.to_string«   sw   € ð ×ÒÑ!Ô!ð 	JØ—^’^ G¨WÑ5Ô5ˆFˆFà—^’^ G¨TÑ2Ô2×:Ò:¸7ÀDÑIÔIˆFØ×Ò ¤¤× 7Ò 7¸Ñ ?Ô ?Ñ@Ô@Ð@r)   Ú	time_zoneú
str | Nonec                ó¦   — | j         j                             d ¦  «        }|�|j                             |¦  «        n|}|                      |¦  «        S r+   )r   r   Útz_localizer   )r%   rˆ   Úde_zoner&   s       r(   Úreplace_time_zonez3PandasLikeSeriesDateTimeNamespace.replace_time_zoneµ   sM   € Ø”+”.×,Ò,¨TÑ2Ô2ˆØ6?Ð6K�”×'Ò'¨	Ñ2Ô2Ð2ÐQXˆØ×Ò Ñ'Ô'Ð'r)   c                óü   — | j         j        j        €8| j        j                             d¦  «        j                             |¦  «        }n| j        j                             |¦  «        }|                      |¦  «        S )NÚUTC)r]   r"   rˆ   r   r   r‹   Ú
tz_convertr   )r%   rˆ   r&   s      r(   Úconvert_time_zonez3PandasLikeSeriesDateTimeNamespace.convert_time_zoneº   se   € ØŒ>ÔÔ)Ð1Ø”[”^×/Ò/°Ñ6Ô6Ô9×DÒDÀYÑOÔOˆFˆFà”[”^×.Ò.¨yÑ9Ô9ˆFØ×Ò Ñ'Ô'Ð'r)   Ú	time_unitr   c                ó0  — | j         }| j        j        }|                     ¦   «         }| j        j        }||j        k    r&|                     d¦  «        }t          ||¦  «        }n™t          ||j
        ¦  «        rs| j                             ¦   «         r| j        dk     r|j        n|j        }|                      ¦   «         r |d¦  «        n
 |d¦  «        }t!          ||j        |¦  «        }nd}	t%          |	¦  «        ‚d ||<   |                      |¦  «        S )NzInt32[pyarrow])ro   rV   Úint64z/Input should be either of Date or Datetime type)r   r]   r"   rs   ÚversionÚdtypesÚDaterX   r   Ú
isinstanceÚDatetimeÚimplementationr_   rC   ÚviewrD   r   r’   Ú	TypeErrorr   )
r%   r’   rv   r"   Úmask_nar–   Ús_castr&   Úfnr'   s
             r(   Ú	timestampz+PandasLikeSeriesDateTimeNamespace.timestampÁ   s  € ØŒKˆØ”Ô$ˆØ—&’&‘(”(ˆØ”Ô$ˆØ�F”KÒÐà—X’XÐ.Ñ/Ô/ˆFÝ-¨f°iÑ@Ô@ˆFˆFÝ˜˜vœÑ/Ô/ð 
	!ð Ô'×1Ò1Ñ3Ô3ðØ8<Ô8LÈtÒ8SÐ8Sð ”�à”Xð ð
 .2×-=Ò-=Ñ-?Ô-?ÐP�R�RÐ(Ñ)Ô)Ð)ÀRÀRÈÁ[Ä[ˆFÝ1°&¸%¼/È9ÑUÔUˆFˆFàCˆCÝ˜C‘.”.Ð Øˆˆw‰Ø×Ò Ñ'Ô'Ð'r)   Úeveryc           	     ó  — t          j        |¦  «        }|j        |j        }}| j        }| j                             ¦   «         r`|dk    rd|› d�}t          |¦  «        ‚|                      | j        j	         
                    t          j        ||¦  «        ¦  «        ¦  «        S t          |j        | j        j        ¦  «        }|dv rþ| j                             ¦   «         rd|› d�}t          |¦  «        ‚|dk    r5dd lm} |j        j        }	|                     |	|t,          |         ¦  «        }
nU|d	k    r|d
z  }d}n|dk    rd}nd}|j        }|j        }|                     d|› |› d�¦  «                             |¦  «        }
 t3          |¦  «        |
|j        |j        |j        ¬¦  «        }|                      |¦  «        S |                      | j        j	         
                    |› t          j        ||¦  «        › �¦  «        ¦  «        S )NrU   z.Only multiple `1` is supported for cuDF, got: ú.>   ÚqÚyÚmozTruncating to z is not supported yet for cuDF.Úpyarrowr   r¤   r@   ÚMr¦   ÚYzdatetime64[ú]©r"   ÚindexrB   )r   ÚparseÚmultipleÚunitr   rš   Úis_cudfr$   r   r   Úfloorr   Úgetr   r"   r]   r^   rE   rF   rH   Ú	_pa_arrayÚfloor_temporalr   ÚvaluesrX   rL   r¬   rB   )r%   r¡   Úintervalr®   r¯   r   r'   Údtype_backendrM   ÚcarP   Únp_unitrO   Ú	arr_dtypeÚresult_natives                  r(   Útruncatez*PandasLikeSeriesDateTimeNamespace.truncateØ   s+  € Ý”> %Ñ(Ô(ˆØ!Ô*¨H¬M�$ˆØ”ˆØÔ×&Ò&Ñ(Ô(ð 	VØ˜1Š}ˆ}ØRÀxÐRÐRÐR�Ý)¨#Ñ.Ô.Ð.Ø×#Ò# D¤K¤N×$8Ò$8½¼ÈÈdÑ9SÔ9SÑ$TÔ$TÑUÔUÐUÝ)¨&¬,¸¼Ô8VÑWÔWˆØÐ#Ð#Ð#ØÔ"×*Ò*Ñ,Ô,ð /ØL tÐLÐLÐL�Ý)¨#Ñ.Ô.Ð.Ø 	Ò)Ð)Ø,Ð,Ð,Ð,Ð,Ð,à”\Ô+�Ø×.Ò.¨r°8½ZÈÔ=MÑNÔN�
�
à˜3’;�;Ø ‘M�HØ!�G�GØ˜T’\�\Ø!�G�Gà!�GØ”m�ØœI�	Ø ŸZšZÐ(J°hÐ(JÀÐ(JÐ(JÐ(JÑKÔK×RÒRØñô �
ð )�D ™LœLØ &¤,°f´lÈÌðñ ô ˆMð ×#Ò# MÑ2Ô2Ð2Ø×ÒØŒKŒN× Ò  HÐ!J­j¬n¸TÀ4Ñ.HÔ.HÐ!JÐ!JÑKÔKñ
ô 
ð 	
r)   Úbyc                ó>  — | j         }| j                             ¦   «         }|                      ¦   «         r±dd l}| j        }|                     |                     ¦   «         g¦  «        }|j        j         	                    d¦  «        j         
                    |¦  «        j                             |¦  «        j         }|                     ||j        |j        |j        ¬¦  «        }�n$t#          j        |¦  «        }	|	j        |	j        }}
|dk    r|
dz  }
d}|dk    r|                     |
¬¦  «        }nZ|dk    r|                     |
¬	¦  «        }n=|d
k    r#|                     |
t.          |         ¬¦  «        }n|	                     ¦   «         }| j        j        }| j        j        j        }|dk    rVt9          ||¦  «        rF|j        r?|j                             d ¦  «        }||z   }|j                             |j        ¦  «        }n||z   }|                      |¦  «        S )Nr   r§   r«   r¤   r@   r¦   r¥   )Úyears)ÚmonthsÚns)r¯   Úd) r   r]   Ú__native_namespace__rD   r§   Úchunked_arrayÚto_arrowÚ_versionÚ	namespaceÚfrom_backendÚfrom_nativer   Ú	offset_byÚ	__class__r"   r¬   rB   r   Úparse_no_constraintsr®   r¯   Ú
DateOffsetÚ	Timedeltar   Úto_timedeltar•   r–   r™   r˜   rˆ   r‹   r   )r%   r½   r   ÚpdxÚpar]   r¸   r&   Ú	result_pdr¶   r®   r¯   Úoffsetr"   Údatetime_dtypeÚnative_without_timezones                   r(   rÊ   z+PandasLikeSeriesDateTimeNamespace.offset_by   sþ  € Ø”ˆØŒn×1Ò1Ñ3Ô3ˆØ×ÒÑÔð $	,Ø Ð Ð Ð àœˆIØ×!Ò! 9×#5Ò#5Ñ#7Ô#7Ð"8Ñ9Ô9ˆBàÔ"Ô,×9Ò9¸)ÑDÔDÜŸ;š; r™?œ?Ü—I’I˜b‘M”MÜð	 ð ×(Ò(Ø˜fœl°&´,ÀVÄ[ð )ñ ô ˆI‰Iõ  Ô4°RÑ8Ô8ˆHØ%Ô.°´�dˆHØ�sŠ{ˆ{Ø˜A‘�Ø�à�sŠ{ˆ{ØŸš¨h˜Ñ7Ô7��Ø˜’�ØŸš¨x˜Ñ8Ô8��Ø˜’�ØŸš xµjÀÔ6F˜ÑGÔG��à!×.Ò.Ñ0Ô0�Ø”NÔ(ˆEØ!œ\Ô0Ô9ˆNØ�sŠ{ˆ{�z¨%°Ñ@Ô@ˆ{ÀUÄ_ˆ{Ø*0¬)×*?Ò*?ÀÑ*EÔ*EÐ'Ø3°fÑ<�	Ø%œL×4Ò4°U´_ÑEÔE�	�	à" V™O�	à×Ò 	Ñ*Ô*Ð*r)   N)r   r   )r   rd   )r   r   )rƒ   r!   r   r   )rˆ   r‰   r   r   )rˆ   r!   r   r   )r’   r   r   r   )r¡   r!   r   r   )r½   r!   r   r   )Ú__name__Ú
__module__Ú__qualname__r    r,   r0   r2   r4   r6   r9   r>   r=   rR   rZ   rb   rD   rm   ry   rg   r}   r€   r‚   r‡   r�   r‘   r    r¼   rÊ   © r)   r(   r   r   "   s  € € € € € ðð ð ð ð5ð 5ð 5ð 5ð6ð 6ð 6ð 6ð4ð 4ð 4ð 4ð5ð 5ð 5ð 5ð7ð 7ð 7ð 7ð7ð 7ð 7ð 7ð*ð *ð *ð *ð<ð <ð <ð <ð"Fð Fð Fð Fð	
ð 	
ð 	
ð 	
ð	,ð 	,ð 	,ð 	,ð3ð 3ð 3ð 3ð
ð 
ð 
ð 
ð0ð 0ð 0ð 0ð0ð 0ð 0ð 0ð0ð 0ð 0ð 0ð0ð 0ð 0ð 0ð0ð 0ð 0ð 0ðAð Að Að Að(ð (ð (ð (ð
(ð (ð (ð (ð(ð (ð (ð (ð.&
ð &
ð &
ð &
ðP)+ð )+ð )+ð )+ð )+ð )+r)   r   r   )!Ú
__future__r   Útypingr   r   Ú!narwhals._compliant.any_namespacer   Únarwhals._constantsr   r   r	   r
   r   Únarwhals._durationr   Únarwhals._pandas_like.utilsr   r   r   r   r   r   r   r   Údatetimer   ÚpandasÚpdÚnarwhals._pandas_like.seriesr   Únarwhals.typingr   r   rÙ   r)   r(   ú<module>rå      s“  ðØ "Ð "Ð "Ð "Ð "Ð "à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð (Ð 'Ð 'Ð 'Ð 'Ð 'ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ð )Ø"Ð"Ð"Ð"Ð"Ð"àÐÐÐà=Ð=Ð=Ð=Ð=Ð=Ø(Ð(Ð(Ð(Ð(Ð(ðG+ð G+ð G+ð G+ð G+ØÐ0Ð1CÔDñG+ô G+ð G+ð G+ð G+r)   