§
    Æ‡tj2  ã                   ó  — d dl Z d dlmZmZ d dlmZmZmZmZm	Z	m
Z
 d dlZd dlZd dlZddlmZ ddlmZmZmZmZmZmZ ddlmZmZmZmZ ddlmZ er
d dlZ dd	l!m"Z"  G d
„ d¦  «        Z#e#j$        dz   Z%e#j&        dz   Z'dZ(dZ)e
e	e*e*e*f         e	e*e*e*e*f         e+f         Z,e
e	edf         ee         ef         Z-	 dde
eef         dee j.                 de*de
e*e/f         dee+         de0dej1        j1        fd„Z2 G d„ d¦  «        Z3dS )é    N)ÚBufferedReaderÚBytesIO)ÚTYPE_CHECKINGÚAnyÚListÚOptionalÚTupleÚUnioné   )Úutils)ÚT_bboxÚT_numÚT_objÚ
T_obj_listÚT_pointÚT_seq)ÚT_table_settingsÚTableÚTableFinderÚTableSettings)ÚMalformedPDFException)ÚPagec                   ó   — e Zd ZdZdZdZdZdS )ÚCOLORS)éÿ   r   r   )r   r   r   )r   r   r   )r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__ÚREDÚGREENÚBLUEÚTRANSPARENT© ó    úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pdfplumber/display.pyr   r      s"   € € € € € Ø
€CØ€EØ€DØ€K€K€Kr$   r   )é2   ©éÈ   éH   .FÚstreamÚpathÚpage_ixÚ
resolutionÚpasswordÚ	antialiasÚreturnc                 ó–  — |r|}n|                       d¦  «         | }	 t          j        ||¬¦  «        }n&# t          j        $ r}t	          |¦  «        ‚d }~ww xY w|                     |¦  «        }	|	                     |dz  | | | d¬¦  «                             ¦   «         }
|                     ¦   «          |
 	                    d¦  «        S )Nr   )r.   r)   T)ÚscaleÚno_smoothtextÚno_smoothpathÚno_smoothimageÚprefer_bgrxÚRGB)
ÚseekÚ	pypdfium2ÚPdfDocumentÚPdfiumErrorr   Úget_pageÚrenderÚto_pilÚcloseÚconvert)r*   r+   r,   r-   r.   r/   ÚsrcÚ
pdfium_docÚeÚpdfium_pageÚimgs              r%   Úget_page_imagerF   $   sñ   € ð ð Øˆˆð 	�Š�A‰ŒˆØˆð'ÝÔ*¨3¸ÐBÑBÔBˆ
ˆ
øÝÔ ð 'ð 'ð 'Ý# AÑ&Ô&Ð&øøøøð'øøøð ×%Ò% gÑ.Ô.€Kà&×-Ò-à˜2‰oØ#�mØ#�mØ$�}àð .ñ ô ÷ ‚f�h„hð ð ×ÒÑÔÐà�;Š;�uÑÔÐs   ž5 µAÁAÁAc                   óÚ  — e Zd Zdeddfdddeej        j                 deee	f         de
de
f
d	„Zd
edeeeeef         fd„Zdedeeef         fd„ZdDd„Z	 	 	 	 dEdeeej        ef         dede
dedededdfd„ZdDd„Zeefdedededd fd„Zeefd eee         d!f         dededd fd"„Zeefd#e dededd fd$„Z!eefd%ee"e          d&f         dededd fd'„Z#eefd#e dededd fd(„Z$eefd%ee"e          d&f         dededd fd)„Z%e&eefd*eee'f         d+edededd f
d,„Z(e&eefd-ee"e         e)d!f         d+edededd f
d.„Z*d/e&efd0eee'f         d1ed+ededd f
d2„Z+d/e&efd3ee"e         e)d!f         d1ed+ededd f
d4„Z,e&ed5fd6e-d+edededd f
d7„Z.	 dFd8eee/e0e1f                  dd fd9„Z2ee&ee3j4        e3j5        fded+eded:e d;e dd fd<„Z6d=d>d?d? ed@¦  «        fefded+ededd fdA„Z7de8fdB„Z9dGdC„Z:dS )HÚ	PageImageNFÚpager   Úoriginalr-   r/   Úforce_mediaboxc                 ó  — || _         |j        r|n|j        | _        || _        |€At          |j        j        |j        j        |j	        dz
  |||j        j
        ¬¦  «        | _        n|| _        | j        j        d         |j        d         |j        d         z
  z  | _        |j        |j        k    r|j        n|r|j        n|j        | _        |j        |j        k    r“|                      |j        ¦  «        }|                      | j        ¦  «        }| j                             |d         |d         z
  |d         |d         z
  |d         |d         z
  |d         |d         z
  f¦  «        | _        |                      ¦   «          d S )Nr   )r*   r+   r,   r-   r/   r.   r   é   é   )rI   Úis_originalÚ	root_pageÚrootr-   rF   Úpdfr*   r+   Úpage_numberr.   rJ   ÚsizeÚcropboxr2   ÚbboxÚmediaboxÚ_reproject_bboxÚcropÚreset)ÚselfrI   rJ   r-   r/   rK   Ú	crop_dimsÚ	bbox_dimss           r%   Ú__init__zPageImage.__init__N   sy  € ð ˆŒ	Ø Ô,Ð@�D�D°$´.ˆŒ	Ø$ˆŒàÐÝ*Ø”x”Ø”X”]ØÔ(¨1Ñ,Ø%Ø#ØœÔ*ðñ ô ˆDŒMˆMð %ˆDŒMà”]Ô'¨Ô*¨d¬l¸1¬oÀÄÈQÄÑ.OÑPˆŒ
ð Œy˜DœMÒ)Ð)ð ŒIˆIà#1ÐC�$”-�-°t´|ð 	Œ	ð Œ9˜œÒ$Ð$Ø×,Ò,¨T¬\Ñ:Ô:ˆIØ×,Ò,¨T¬YÑ7Ô7ˆIØ œM×.Ò.à˜a”L 9¨Q¤<Ñ/Ø˜a”L 9¨Q¤<Ñ/Ø˜a”L 9¨Q¤<Ñ/Ø˜a”L 9¨Q¤<Ñ/ð	ñô ˆDŒMð 	�
Š
‰Œˆˆˆr$   rV   r0   c                 ó„   — |\  }}}}|                       ||f¦  «        \  }}|                       ||f¦  «        \  }}	||||	fS ©N)Ú
_reproject)
r[   rV   Úx0ÚtopÚx1ÚbottomÚ_x0Ú_topÚ_x1Ú_bottoms
             r%   rX   zPageImage._reproject_bbox‚   sQ   € Ø"ÑˆˆC��VØ—O’O R¨ IÑ.Ô.‰	ˆˆTØ—’¨¨F |Ñ4Ô4‰ˆˆWØ�T˜3 Ð(Ð(r$   Úcoordc                 ó¨   — |\  }}|| j         d         z
  | j        z  }|| j         d         z
  | j        z  }t          |¦  «        t          |¦  «        fS )z‘
        Given an (x0, top) tuple from the *root* coordinate system,
        return an (x0, top) tuple in the *image* coordinate system.
        r   r   )rV   r2   Úint)r[   rj   rb   rc   rf   rg   s         r%   ra   zPageImage._reprojectˆ   sR   € ð
 ‰ˆˆCØ�D”I˜a”LÑ  D¤JÑ.ˆØ�d”i ”lÑ" d¤jÑ0ˆÝ�C‘”�#˜d™)œ)Ð$Ð$r$   c                 óö   — t           j                             d| j        j        ¦  «        | _        | j                             | j        ¦  «         t           j                             | j        d¦  «        | _	        | S )Nr7   ÚRGBA)
ÚPILÚImageÚnewrJ   rT   Ú	annotatedÚpasteÚ	ImageDrawÚDrawÚdraw©r[   s    r%   rZ   zPageImage.reset’   sV   € ÝœŸš u¨d¬mÔ.@ÑAÔAˆŒØŒ×Ò˜Tœ]Ñ+Ô+Ð+Ý”M×&Ò& t¤~°vÑ>Ô>ˆŒ	Øˆr$   ÚPNGTé   é   ÚdestÚformatÚquantizeÚcolorsÚbitsÚkwargsc                 óÒ   — |r?| j                              |t          j        j        ¬¦  «                             d¦  «        }n| j         } |j        |f||| j        | j        fdœ|¤Ž d S )N)ÚmethodÚP)r|   r   Údpi)rr   r}   ro   rp   Ú
FASTOCTREEr@   Úsaver-   )r[   r{   r|   r}   r~   r   r€   Úouts           r%   r†   zPageImage.save˜   s’   € ð ð 	!Ø”.×)Ò)¨&½¼Ô9MÐ)ÑNÔN×VÒVØñô ˆCˆCð ”.ˆCàˆŒØð	
àØØ” $¤/Ð2ð		
ð 	
ð
 ð	
ð 	
ð 	
ð 	
ð 	
r$   c                 óB   — |                       | j        | j        ¦  «        S r`   )Ú	__class__rI   rJ   rw   s    r%   ÚcopyzPageImage.copy°   s   € Ø�~Š~˜dœi¨¬Ñ7Ô7Ð7r$   Úpoints_or_objÚstrokeÚstroke_widthc                 óZ  — t          |t          t          f¦  «        r|}nNt          |t          ¦  «        rd|v rd„ |d         D ¦   «         }n"|}|d         |d         f|d         |d         ff}| j                             t          t          | j        |¦  «        ¦  «        ||¬¦  «         | S )NÚptsc                 ó   — g | ]	\  }}||f‘Œ
S r#   r#   )Ú.0ÚxÚys      r%   ú
<listcomp>z'PageImage.draw_line.<locals>.<listcomp>¾   s    € Ð>Ð>Ð>¡  A�q˜!�fÐ>Ð>Ð>r$   rb   rc   rd   re   ©ÚfillÚwidth)Ú
isinstanceÚtupleÚlistÚdictrv   ÚlineÚmapra   )r[   r‹   rŒ   r�   ÚpointsÚobjs         r%   Ú	draw_linezPageImage.draw_line³   sÃ   € õ �m¥e­T ]Ñ3Ô3ð 	KØ"ˆFˆFå˜¥tÑ,Ô,ð 	K°¸-Ð1GÐ1GØ>Ð>¨°uÔ)=Ð>Ñ>Ô>ˆFˆFð  ˆCØ˜4”y # e¤*Ð-°°D´	¸3¸x¼=Ð/IÐJˆFàŒ	�ŠÝ•�T”_ fÑ-Ô-Ñ.Ô.°VÀ<ð 	ñ 	
ô 	
ð 	
ð ˆr$   Úlist_of_lineszpd.DataFramec                 ód   — t          j        |¦  «        D ]}|                      |||¬¦  «         Œ| S ©N©rŒ   r�   )r   Úto_listr    )r[   r¡   rŒ   r�   r’   s        r%   Ú
draw_lineszPageImage.draw_linesÊ   s?   € õ ”˜}Ñ-Ô-ð 	Hð 	HˆAØ�NŠN˜1 V¸,ˆNÑGÔGÐGÐGØˆr$   Úlocationc                 óž   — || j         d         || j         d         f}| j                             |                      |¦  «        ||¬¦  «         | S )Nr   rN   r•   ©rV   rv   rœ   rX   ©r[   r§   rŒ   r�   rž   s        r%   Ú
draw_vlinezPageImage.draw_vlineÔ   sK   € ð ˜DœI aœL¨(°D´I¸a´LÐAˆØŒ	�Š�t×+Ò+¨FÑ3Ô3¸&ÈˆÑUÔUÐUØˆr$   Ú	locationszpd.Series[float]c                 óZ   — t          |¦  «        D ]}|                      |||¬¦  «         Œ| S r£   )rš   r«   ©r[   r¬   rŒ   r�   r’   s        r%   Údraw_vlineszPageImage.draw_vlinesÞ   ó;   € õ �i‘”ð 	Ið 	IˆAØ�OŠO˜A f¸<ˆOÑHÔHÐHÐHØˆr$   c                 óž   — | j         d         || j         d         |f}| j                             |                      |¦  «        ||¬¦  «         | S )Nr   rM   r•   r©   rª   s        r%   Ú
draw_hlinezPageImage.draw_hlineè   sK   € ð ”)˜A”, ¨$¬)°A¬,¸ÐAˆØŒ	�Š�t×+Ò+¨FÑ3Ô3¸&ÈˆÑUÔUÐUØˆr$   c                 óZ   — t          |¦  «        D ]}|                      |||¬¦  «         Œ| S r£   )rš   r²   r®   s        r%   Údraw_hlineszPageImage.draw_hlinesò   r°   r$   Úbbox_or_objr–   c                 óZ  — t          |t          t          f¦  «        r|}n |}|d         |d         |d         |d         f}|\  }}}	}
|dz  }t          ||z   ||	z   dz  ¦  «        }t          ||z   ||
z   dz  ¦  «        }t	          |	|z
  ||	z   dz  ¦  «        }	t	          |
|z
  ||
z   dz  ¦  «        }
|                      |||	|
f¦  «        }| j                             ||t          j	        ¦  «         |dk    r6||f|	|ff||
f|	|
ff||f||
ff|	|f|	|
ffg}|  
                    |||¬¦  «         | S )Nrb   rc   rd   re   rM   r   r¤   )r˜   r™   rš   ÚminÚmaxrX   rv   Ú	rectangler   r"   r¦   )r[   rµ   r–   rŒ   r�   rV   rŸ   rb   rc   rd   re   ÚhalfÚ	fill_bboxÚsegmentss                 r%   Ú	draw_rectzPageImage.draw_rectü   su  € õ �k¥E­4 =Ñ1Ô1ð 	EØˆDˆDàˆCØ˜”I˜s 5œz¨3¨t¬9°c¸(´mÐDˆDà"ÑˆˆC��VØ˜aÑˆÝ��d‘˜R "™W¨™MÑ*Ô*ˆÝ�#˜‘*˜s V™|¨qÑ0Ñ1Ô1ˆÝ��d‘˜R "™W¨™MÑ*Ô*ˆÝ�V˜d‘] S¨6¡\°QÑ$6Ñ7Ô7ˆà×(Ò(¨"¨c°2°vÐ)>Ñ?Ô?ˆ	ØŒ	×Ò˜I t­VÔ-?Ñ@Ô@Ð@à˜!ÒÐà�c�˜R ˜IÐ&Ø�f�  F˜|Ð,Ø�c�˜R ˜LÐ)Ø�c�˜R ˜LÐ)ð	ˆHð �OŠO˜H¨VÀ,ˆOÑOÔOÐOØˆr$   Úlist_of_rectsc                 óf   — t          j        |¦  «        D ]}|                      ||||¬¦  «         Œ| S )N©r–   rŒ   r�   )r   r¥   r½   )r[   r¾   r–   rŒ   r�   r’   s         r%   Ú
draw_rectszPageImage.draw_rects  sA   € õ ”˜}Ñ-Ô-ð 	Sð 	SˆAØ�NŠN˜1 4°À\ˆNÑRÔRÐRÐRØˆr$   é   Úcenter_or_objÚradiusc                 ó  — t          |t          ¦  «        r|}n*|}|d         |d         z   dz  |d         |d         z   dz  f}|\  }}||z
  ||z
  ||z   ||z   f}	| j                             |                      |	¦  «        ||¦  «         | S )Nrb   rd   rM   rc   re   )r˜   r™   rv   ÚellipserX   )
r[   rÃ   rÄ   r–   rŒ   ÚcenterrŸ   ÚcxÚcyrV   s
             r%   Údraw_circlezPageImage.draw_circle(  s¦   € õ �m¥UÑ+Ô+ð 	UØ"ˆFˆFàˆCØ˜4”y 3 t¤9Ñ,°Ñ1°C¸´JÀÀXÄÑ4NÐRSÑ3SÐTˆFØ‰ˆˆBØ�V‘˜R &™[¨"¨v©+°r¸F±{ÐCˆØŒ	×Ò˜$×.Ò.¨tÑ4Ô4°d¸FÑCÔCÐCØˆr$   Úlist_of_circlesc                 óf   — t          j        |¦  «        D ]}|                      ||||¬¦  «         Œ| S )N)rÄ   r–   rŒ   )r   r¥   rÊ   )r[   rË   rÄ   r–   rŒ   r’   s         r%   Údraw_circleszPageImage.draw_circles9  sD   € õ ”˜Ñ/Ô/ð 	Ið 	IˆAØ×Ò˜Q v°DÀÐÑHÔHÐHÐHØˆr$   r   Útablec                 óB   — |                       |j        |||¬¦  «         | S )z+
        Outline all found tables.
        rÀ   )rÁ   Úcells)r[   rÎ   r–   rŒ   r�   s        r%   Údebug_tablezPageImage.debug_tableD  s1   € ð 	�ŠØŒK˜d¨6Àð 	ñ 	
ô 	
ð 	
ð ˆr$   Útable_settingsc                 óä  — t          |t          ¦  «        r|}nH|�t          |t          t          f¦  «        r| j                             |¦  «        }nt          d¦  «        ‚|j        D ]}|                      |¦  «         Œ|  	                    |j
        d¬¦  «         |                      t          |j                             ¦   «         ¦  «        t          j        t          j        dz   d¬¦  «         | S )NzGArgument must be instance of TableFinderor a TableFinder settings dict.r   )r�   r'   rN   )r–   rŒ   rÄ   )r˜   r   r   r›   rI   Údebug_tablefinderÚ
ValueErrorÚtablesrÑ   r¦   ÚedgesrÍ   rš   ÚintersectionsÚkeysr   r"   r!   )r[   rÒ   ÚfinderrÎ   s       r%   rÔ   zPageImage.debug_tablefinderS  sÿ   € õ �n¥kÑ2Ô2ð 
	Ø#ˆFˆFØÐ#¥zØ�]­DÐ1ñ(
ô (
Ð#ð ”Y×0Ò0°Ñ@Ô@ˆFˆFåð2ñô ð ð
 ”]ð 	$ð 	$ˆEØ×Ò˜UÑ#Ô#Ð#Ð#à�Š˜œ°1ˆÑ5Ô5Ð5à×ÒÝ�Ô%×*Ò*Ñ,Ô,Ñ-Ô-ÝÔ#Ý”; Ñ'Øð	 	ñ 	
ô 	
ð 	
ð ˆr$   Úx_toleranceÚy_tolerancec                 óp   — | j                              ||¬¦  «        }|                      ||||¬¦  «         | S )N)rÛ   rÜ   ©rŒ   r–   r�   )rI   Úextract_wordsrÁ   )r[   rŒ   r–   r�   rÛ   rÜ   Úwordss          r%   Úoutline_wordszPageImage.outline_wordsr  sF   € ð ”	×'Ò'Ø#°ð (ñ 
ô 
ˆð 	�Š˜ f°4ÀlˆÑSÔSÐSØˆr$   )r   r   r   r   r   r   g     àO@c                 óL   — |                       | j        j        |||¬¦  «         | S )NrÞ   )rÁ   rI   Úchars)r[   rŒ   r–   r�   s       r%   Úoutline_charszPageImage.outline_chars�  s3   € ð 	�ŠØŒIŒO F°ÀLð 	ñ 	
ô 	
ð 	
ð ˆr$   c                 ór   — t          ¦   «         }|                      |d¦  «         |                     ¦   «         S )Nrx   )r   r†   Úgetvalue)r[   Úbs     r%   Ú
_repr_png_zPageImage._repr_png_�  s-   € Ý‰IŒIˆØ�	Š	�!�UÑÔÐØ�zŠz‰|Œ|Ðr$   c                 ó8   — | j                              ¦   «          d S r`   )rr   Úshowrw   s    r%   rê   zPageImage.show’  s   € ØŒ×ÒÑÔÐÐÐr$   )r0   rH   )rx   Try   rz   r`   )r0   N);r   r   r   ÚDEFAULT_RESOLUTIONr   ro   rp   r
   rl   ÚfloatÚboolr^   r   r	   rX   r   ra   rZ   ÚstrÚpathlibÚPathr   r   r†   rŠ   ÚDEFAULT_STROKEÚDEFAULT_STROKE_WIDTHÚT_contains_pointsÚT_colorr    r   r¦   r   r«   r   r¯   r²   r´   ÚDEFAULT_FILLr   r½   r   rÁ   rÊ   rÍ   r   rÑ   r   r   r   rÔ   r   ÚDEFAULT_X_TOLERANCEÚDEFAULT_Y_TOLERANCErá   rä   Úbytesrè   rê   r#   r$   r%   rH   rH   M   sb  € € € € € ð /3Ø(:ØØ$ð2ð 2àð2ð ˜3œ9œ?Ô+ð2ð ˜#˜u˜*Ô%ð	2ð
 ð2ð ð2ð 2ð 2ð 2ðh) Fð )¨u°S¸#¸sÀCÐ5GÔ/Hð )ð )ð )ð )ð% ð %¨E°#°s°(¬Oð %ð %ð %ð %ðð ð ð ð ØØØð
ð 
à�C˜œ wÐ.Ô/ð
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð 
ð
ð 
ð 
ð 
ð08ð 8ð 8ð 8ð )Ø0ð	ð à(ðð ðð ð	ð
 
ðð ð ð ð4 )Ø0ð	ð à˜UÐ#4Ô5°~ÐEÔFðð ðð ð	ð
 
ðð ð ð ð )Ø0ð	ð àðð ðð ð	ð
 
ðð ð ð ð )Ø0ð	ð à˜˜eœÐ&8Ð8Ô9ðð ðð ð	ð
 
ðð ð ð ð )Ø0ð	ð àðð ðð ð	ð
 
ðð ð ð ð )Ø0ð	ð à˜˜eœÐ&8Ð8Ô9ðð ðð ð	ð
 
ðð ð ð ð %Ø(Ø0ðð à˜6 5˜=Ô)ðð ðð ð	ð
 ðð 
ðð ð ð ðH %Ø(Ø0ð	ð 	à˜T &œ\¨:°~ÐEÔFð	ð ð	ð ð		ð
 ð	ð 
ð	ð 	ð 	ð 	ð Ø$Ø(ðð à˜W e˜^Ô,ðð ðð ð	ð
 ðð 
ðð ð ð ð( Ø$Ø(ð	ð 	à˜t Gœ}¨j¸.ÐHÔIð	ð ð	ð ð		ð
 ð	ð 
ð	ð 	ð 	ð 	ð %Ø(Øðð àðð ðð ð	ð
 ðð 
ðð ð ð ð& ð	ð à Ø�+˜}Ð.>Ð>Ô?ô
ðð
 
ðð ð ð ðB )Ø$Ø0Ø"Ô6Ø"Ô6ðð àðð ðð ð	ð
 ðð ðð 
ðð ð ð ð" +Ø˜a  C C¨¡L¤LÐ1Ø0ð	
ð 
àð
ð ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð˜Eð ð ð ð ð
ð ð ð ð ð r$   rH   )F)4rï   Úior   r   Útypingr   r   r   r   r	   r
   Ú	PIL.Imagero   ÚPIL.ImageDrawr9   Ú r   Ú_typingr   r   r   r   r   r   rÎ   r   r   r   r   Úutils.exceptionsr   ÚpandasÚpdrI   r   r   r!   rõ   r   rñ   rò   rë   rl   rî   rô   ró   rð   rì   rí   rp   rF   rH   r#   r$   r%   ú<module>r     sn  ðØ €€€Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cà Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ 3Ð 3Ð 3Ð 3Ð 3Ð 3àð ØÐÐÐàÐÐÐÐÐðð ð ð ð ñ ô ð ð Œ{˜UÑ"€Ø”˜fÑ$€ØÐ ØÐ à
��c˜3 �mÔ$ e¨C°°c¸3Ð,>Ô&?ÀÐDÔ
E€Ø˜% ¨ Ô-¨t°G¬}¸eÐCÔDÐ ð ð&ð &Ø�. 'Ð)Ô*ð&à
�7”<Ô
 ð&ð ð&ð �c˜5�jÔ!ð	&ð
 �sŒmð&ð ð&ð 	„Y„_ð&ð &ð &ð &ðRFð Fð Fð Fð Fñ Fô Fð Fð Fð Fr$   