§
    ¥	Êjî8  ã                  ó^  — U d dl m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 ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z% dTd„Z&dUd„Z'dVd„Z( e)d„  ej*        ¦   «         D ¦   «         ¦  «        Z+de,d<   d„ e+D ¦   «         Z-de,d<   dWd„Z.dUd„Z/dUd„Z0dUd„Z1dUd„Z2dUd„Z3dUd„Z4dUd„Z5dUd „Z6dUd!„Z7dUd"„Z8dUd#„Z9dUd$„Z:dUd%„Z;dUd&„Z<dXd(„Z=dUd)„Z>	 dYdZd.„Z? e
d¬/¦  «        d[d1„¦   «         Z@d\d3„ZAd]d5„ZBd^d_d9„ZCd`d=„ZDdad>„ZEd?ejF        d@fdbdD„ZG	 	 dcdddS„ZHdS )eé    )ÚannotationsN)Úbisect_right)ÚIncrementalDecoder)Ú	lru_cache)Ú	Generatoré   )ÚENCODING_MARKSÚIANA_SUPPORTED_SIMILARÚRE_POSSIBLE_ENCODING_INDICATIONÚUNICODE_RANGES_COMBINEDÚ_SECONDARY_RANGE_NAMESÚCOMMON_CJK_CHARACTERSÚ_LATINÚ_CJKÚ_HANGULÚ	_KATAKANAÚ	_HIRAGANAÚ_HALFWIDTH_KATAKANAÚ_THAIÚ_ARABICÚ_ARABIC_ISOLATED_FORMÚ	_LIGATUREÚ_SUPERSCRIPTÚ_SENTENCE_OPEN_PUNCTUATIONÚ_ACCENT_KEYWORDSÚ_ACCENTUATEDÚ_KNOWN_MB_DECODERSÚ_KNOWN_MB_CLASSESÚ_IANA_NAMESÚ_MULTIBYTE_SEARCH_RADIUSÚ	characterÚstrÚreturnÚintc                ó  — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY wd}d|v r
|t          z  }d|v r
|t          z  }d|v r
|t
          z  }d|v r|t          z  }d|v r
|t          z  }d|v r
|t          z  }d|v r
|t          z  }d	|v r|t          z  }d
|v r
|t          z  }d|v s|                     d¦  «        r
|t          z  }d|v r
|t          z  }|dv r
|t          z  }t           D ]}||v r|t"          z  } nŒ|S )zRCompute all name-based classification flags with a single unicodedata.name() call.r   ÚLATINÚCJKÚHANGULÚKATAKANAÚ	HALFWIDTHÚHIRAGANAÚTHAIÚARABICzISOLATED FORMÚLIGATUREz	LETTER AEÚSUPERSCRIPT>   úINVERTED QUESTION MARKúINVERTED EXCLAMATION MARK)ÚunicodedataÚnameÚ
ValueErrorr   r   r   r   r   r   r   r   r   Úendswithr   r   r   r   r   )r!   ÚdescÚflagsÚkws       úHC:\Projects\Muse2API\.venv\Lib\site-packages\charset_normalizer/utils.pyÚ_character_flagsr:   '   s}  € ðÝÔ$ YÑ/Ô/ˆˆøÝð ð ð Øˆqˆqðøøøð €Eà�$€€Ø•‰ˆØ�€}€}Ø•‰ˆØ�4ÐÐØ•ÑˆØ�TÐÐØ•ÑˆØ˜$ÐÐØÕ(Ñ(ˆEØ�TÐÐØ•ÑˆØ�€~€~Ø•‰ˆØ�4ÐÐØ•ÑˆØ˜dÐ"Ð"ØÕ*Ñ*ˆEØ�TÐÐ˜TŸ]š]¨;Ñ7Ô7ÐØ•ÑˆØ˜ÐÐØ•ÑˆØÐFÐFÐFØÕ+Ñ+ˆåð ð ˆØ�ˆ:ˆ:Ø•\Ñ!ˆEØˆEð ð €Ls   ‚ —
%¤%Úboolc                óJ   — t          t          | ¦  «        t          z  ¦  «        S ©N)r;   r:   r   ©r!   s    r9   Úis_accentuatedr?   Q   s   € ÝÕ  Ñ+Ô+­lÑ:Ñ;Ô;Ð;ó    c                ó¢   — t          j        | ¦  «        }|s| S |                     d¦  «        }t          t	          |d         d¦  «        ¦  «        S )Nú r   é   )r2   ÚdecompositionÚsplitÚchrr$   )r!   Ú
decomposedÚcodess      r9   Úremove_accentrI   U   sO   € Ý!Ô/°	Ñ:Ô:€JØð ØÐà!×'Ò'¨Ñ,Ô,€Eå�s�5˜”8˜RÑ Ô Ñ!Ô!Ð!r@   c              #  ó:   K  — | ]\  }}|j         |j        |fV — Œd S r=   )ÚstartÚstop)Ú.0r3   Ú	ord_ranges      r9   ú	<genexpr>rO   a   sE   è è € ð <ð <áˆˆið „_�i”n dÐ+ð<ð <ð <ð <ð <ð <r@   zlist[tuple[int, int, str]]Ú_UNICODE_RANGES_SORTEDc                ó   — g | ]
}|d          ‘ŒS )r   © )rM   Úes     r9   ú
<listcomp>rT   e   s   € Ð#IÐ#IÐ#I¨Q A a¤DÐ#IÐ#IÐ#Ir@   z	list[int]Ú_UNICODE_RANGE_STARTSú
str | Nonec                ó²   — t          | ¦  «        }|dk     rdS |dk     rdS t          t          |¦  «        dz
  }|dk    rt          |         \  }}}||k     r|S dS )zK
    Retrieve the Unicode range official name from a single character.
    é    zControl characteré€   zBasic Latinr   r   N)Úordr   rU   rP   )r!   Úcharacter_ordÚidxrK   rL   r3   s         r9   Úunicode_ranger]   h   sv   € õ ˜Y™œ€Mà�rÒÐØ"Ð"Ø�sÒÐØˆ}õ Õ,¨mÑ
<Ô
<¸qÑ
@€CØ
ˆa‚x€xÝ2°3Ô7Ñˆˆt�TØ˜4ÒÐØˆKàˆ4r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Úis_latinr_   }   s   € ÝÕ  Ñ+Ô+­fÑ4Ñ5Ô5Ð5r@   c                ód   — t          j        | ¦  «        }d|v rdS t          | ¦  «        }|€dS d|v S )NÚPTFÚPunctuation©r2   Úcategoryr]   ©r!   Úcharacter_categoryÚcharacter_ranges      r9   Úis_punctuationrh   �   sG   € Ý)Ô2°9Ñ=Ô=Ðà
Ð Ð Ð Øˆtå"/°	Ñ":Ô":€OàÐØˆuà˜OÐ+Ð+r@   c                óx   — t          j        | ¦  «        }d|v sd|v rdS t          | ¦  «        }|€dS d|v o|dk    S )NÚSÚNTFÚFormsÚLorc   re   s      r9   Ú	is_symbolrn   �   s]   € Ý)Ô2°9Ñ=Ô=Ðà
Ð Ð Ð  CÐ+=Ð$=Ð$=Øˆtå"/°	Ñ":Ô":€OàÐØˆuà�oÐ%ÐDÐ*<ÀÒ*DÐDr@   c                ó8   — t          | ¦  «        }|€dS d|v pd|v S )NFÚ	EmoticonsÚPictographs)r]   )r!   rg   s     r9   Úis_emoticonrr   �   s/   € Ý"/°	Ñ":Ô":€OàÐØˆuà˜/Ð)ÐM¨]¸oÐ-MÐMr@   c                ón   — |                       ¦   «         s| dv rdS t          j        | ¦  «        }d|v p|dv S )N>   õ   ï½œú+ú<ú>TÚZ>   ÚPcÚPdÚPo)Úisspacer2   rd   )r!   rf   s     r9   Úis_separatorr}   ¦   sO   € Ø×ÒÑÔð ˜iÐ+AÐAÐAØˆtå)Ô2°9Ñ=Ô=ÐàÐ$Ð$ÐPÐ(:Ð>PÐ(PÐPr@   c                óV   — |                       ¦   «         |                      ¦   «         k    S r=   )ÚislowerÚisupperr>   s    r9   Úis_case_variabler�   ¯   s%   € Ø×ÒÑÔ )×"3Ò"3Ñ"5Ô"5Ò5Ð5r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Úis_cjkrƒ   ³   s   € ÝÕ  Ñ+Ô+­dÑ2Ñ3Ô3Ð3r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Úis_hiraganar…   ·   ó   € ÝÕ  Ñ+Ô+­iÑ7Ñ8Ô8Ð8r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Úis_katakanarˆ   »   r†   r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Ú	is_hangulrŠ   ¿   ó   € ÝÕ  Ñ+Ô+­gÑ5Ñ6Ô6Ð6r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Úis_thair�   Ã   s   € ÝÕ  Ñ+Ô+­eÑ3Ñ4Ô4Ð4r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Ú	is_arabicr�   Ç   r‹   r@   c                óJ   — t          t          | ¦  «        t          z  ¦  «        S r=   )r;   r:   r   r>   s    r9   Úis_arabic_isolated_formr‘   Ë   s   € ÝÕ  Ñ+Ô+Õ.CÑCÑDÔDÐDr@   c                ó   — | t           vS r=   )r   r>   s    r9   Úis_cjk_uncommonr“   Ï   s   € ØÕ1Ð1Ð1r@   Ú
range_namec                ó   — | t           v S r=   )r   )r”   s    r9   Úis_unicode_range_secondaryr–   Ó   s   € ØÕ/Ð/Ð/r@   c                ón   — |                       ¦   «          o |                      ¦   «          o| dk    o| dk    S )Núu   ï»¿)r|   Úisprintabler>   s    r9   Úis_unprintablerš   ×   sL   € à×ÒÑÔÐð 	"Ø×%Ò%Ñ'Ô'Ð'ð	"à˜Òð	"ð ˜Ò!ð	r@   é    Úsequenceúbytes | bytearrayÚsearch_zonec                óÜ  — t          | t          t          f¦  «        st          ‚t	          | ¦  «        }| dt          ||¦  «        …         }|                     ¦   «         }d|vrd|vrdS |                     dd¬¦  «        }t          j	        |¦  «        D ]W}| 
                    d¦  «                             ¦   «                              dd	¦  «        }t          j        |¦  «        }|�|c S ŒXdS )
zW
    Extract using ASCII-only decoder any specified encoding in the first n-bytes.
    Ns   codings   charsetÚasciiÚignore©Úerrorsr   ú-Ú_)Ú
isinstanceÚbytesÚ	bytearrayÚ	TypeErrorÚlenÚminÚlowerÚdecoder   ÚfinditerÚgroupÚreplacer   Úget)	rœ   rž   Úseq_lenÚsearch_bytesÚlowered_bytesÚdecoded_zoneÚmatchÚspecified_encodingÚencoding_ianas	            r9   Úany_specified_encodingr¹   á   sþ   € õ �h¥­	Ð 2Ñ3Ô3ð Ýˆå�x‘=”=€Gð Ð7�c '¨;Ñ7Ô7Ð7Ô8€LØ ×&Ò&Ñ(Ô(€MØ˜Ð%Ð%¨*¸MÐ*IÐ*IØˆtà$×+Ò+¨G¸HÐ+ÑEÔE€Lå0Ô9¸,ÑGÔGð !ð !ˆØ"Ÿ[š[¨™^œ^×1Ò1Ñ3Ô3×;Ò;¸CÀÑEÔEÐÝ#œÐ(:Ñ;Ô;ˆØÐ$Ø Ð Ð Ð ð %ð ˆ4r@   )Úmaxsizer3   c                óÀ   — | t           v rdS t          D ]J}	 t          j        |¦  «                             | ¦  «         n# t
          t          t          f$ r Y ŒDw xY w dS dS )zQ
    Verify is a specific encoding is a multi byte one based on it IANA name
    TF)r   r   Ú	importlibÚimport_moduleÚgetcodecÚImportErrorÚAttributeErrorÚLookupError)r3   Úproviders     r9   Úis_multi_byte_encodingrÃ   ý   s€   € ð
 Õ!Ð!Ð!Øˆtõ &ð ð ˆð	ÝÔ# HÑ-Ô-×6Ò6°tÑ<Ô<Ð<Ð<øÝ�^­[Ð9ð 	ð 	ð 	ØˆHð	øøøàˆtˆtàˆ5s   –'>¾AÁAútuple[str | None, bytes]c                ó¨   — t           D ]I}t           |         }t          |t          ¦  «        r|g}|D ]}|                      |¦  «        r||fc c S Œ ŒJdS )z9
    Identify and extract SIG/BOM in given sequence.
    )Nr@   )r	   r¦   r§   Ú
startswith)rœ   Úiana_encodingÚmarksÚmarks       r9   Úidentify_sig_or_bomrÊ     sƒ   € õ
 (ð +ð +ˆÝ%3°MÔ%Bˆå�e�UÑ#Ô#ð 	Ø�GˆEàð 	+ð 	+ˆDØ×"Ò" 4Ñ(Ô(ð +Ø$ dÐ*Ð*Ð*Ð*Ð*Ð*ð+ð	+ð ˆ9r@   rÇ   c                ó
   — | dvS )N>   Úutf_16Úutf_32rR   )rÇ   s    r9   Úshould_strip_sig_or_bomrÎ   (  s   € ØÐ 4Ð4Ð4r@   TÚcp_nameÚstrictc                ó°   — |                       ¦   «                              dd¦  «        } t          j        | ¦  «        }|�|S |rt	          d| › d�¦  «        ‚| S )zIReturns the Python normalized encoding name (Not the IANA official name).r¤   r¥   NzUnable to retrieve IANA for 'ú')r¬   r°   r   r±   r4   )rÏ   rÐ   r¸   s      r9   Ú	iana_namerÓ   ,  sb   € à�mŠm‰oŒo×%Ò% c¨3Ñ/Ô/€Gå”O GÑ,Ô,€MØÐ ØÐàð EÝÐC¸ÐCÐCÐCÑDÔDÐDà€Nr@   Úiana_name_aÚiana_name_bÚfloatc                ó–  — t          | ¦  «        st          |¦  «        rdS t          j        d| › �¦  «        j        }t          j        d|› �¦  «        j        } |d¬¦  «        } |d¬¦  «        }d}t	          d¦  «        D ]C}t          |g¦  «        }|                     |¦  «        |                     |¦  «        k    r|dz  }ŒD|dz  S )Ng        z
encodings.r¡   r¢   r   é   r   )rÃ   r¼   r½   r   Úranger§   r­   )	rÔ   rÕ   Ú	decoder_aÚ	decoder_bÚid_aÚid_bÚcharacter_match_countÚiÚto_be_decodeds	            r9   Úcp_similarityrá   :  så   € Ý˜kÑ*Ô*ð Õ.DÀ[Ñ.QÔ.Qð ØˆsåÔ'Ð(B°[Ð(BÐ(BÑCÔCÔV€IÝÔ'Ð(B°[Ð(BÐ(BÑCÔCÔV€Ià(˜y°Ð9Ñ9Ô9€DØ(˜y°Ð9Ñ9Ô9€Dà!"Ðå�3‰ZŒZð 'ð 'ˆÝ$ a S™zœzˆØ�;Š;�}Ñ%Ô%¨¯ª°]Ñ)CÔ)CÒCÐCØ! QÑ&Ð!øà  3Ñ&Ð&r@   c                ó2   — | t           v o|t           |          v S )zŽ
    Determine if two code page are at least 80% similar. IANA_SUPPORTED_SIMILAR dict was generated using
    the function cp_similarity.
    )r
   )rÔ   rÕ   s     r9   Úis_cp_similarrã   N  s%   € ð 	Õ-Ð-ð 	?ØÕ1°+Ô>Ð>ðr@   Úcharset_normalizerz)%(asctime)s | %(levelname)s | %(message)sÚlevelÚformat_stringÚNonec                óö   — t          j        | ¦  «        }|                     |¦  «         t          j        ¦   «         }|                     t          j        |¦  «        ¦  «         |                     |¦  «         d S r=   )ÚloggingÚ	getLoggerÚsetLevelÚStreamHandlerÚsetFormatterÚ	FormatterÚ
addHandler)r3   rå   ræ   ÚloggerÚhandlers        r9   Úset_logging_handlerrò   Y  sm   € õ
 Ô˜tÑ$Ô$€FØ
‡O‚O�EÑÔÐåÔ#Ñ%Ô%€GØ×Ò�Ô*¨=Ñ9Ô9Ñ:Ô:Ð:Ø
×Ò�gÑÔÐÐÐr@   FÚ	sequencesr¸   ÚoffsetsrÙ   Ú
chunk_sizeÚbom_or_sig_availableÚstrip_sig_or_bomÚsig_payloadr§   Úis_multi_byte_decoderÚdecoded_payloadÚdeferred_decodingúGenerator[str, None, None]c
              #  ó  K  — |rX|                      d¦  «        rCt          |¦  «        }
t          | ¦  «        }|D ] }||
z  |z  }||||z   …         }|s d S |V — Œ!d S |r|s|D ]}||||z   …         }|s d S |V — Œd S |	rF|s| n| t          |¦  «        d …         }|D ]&}||||z   …         }|s d S t          ||¦  «        V — Œ'd S |D �]@}||z   }|t          | ¦  «        dz   k    rŒ| |||z   …         }|r|s||z   }|                     ||rdnd¬¦  «        }|rê|dk    rät	          |d¦  «        }|d |…         }d}|rot          |¦  «        }
||
z  t          | ¦  «        z  }t          d|t          z
  ¦  «        }t	          |
|t          z   ¦  «        }|                     |||¦  «        dk    }|rU|sS||vrOt          ||d	z
  d
¦  «        D ]:}| ||…         }|r|s||z   }|                     |d¬¦  «        }|d |…         |v r nŒ;|V — �ŒBd S )NÚiso2022_é   r¡   rÐ   r¢   r   rC   Fé   éÿÿÿÿ)	rÆ   rª   r"   r­   r«   Úmaxr    ÚfindrÙ   )ró   r¸   rô   rõ   rö   r÷   rø   rù   rú   rû   Údecoded_lengthÚsequence_lengthrß   Údecoded_offsetÚchunkÚ
base_bytesÚcut_sequenceÚ	chunk_endÚchunk_partial_size_chkÚchunk_prefixÚfound_nearbyÚexpected_offsetÚsearch_startÚ
search_endÚjs                            r9   Úcut_sequence_chunksr  f  sn  è è € ð ð Q˜=×3Ò3°JÑ?Ô?ð QÝ˜_Ñ-Ô-ˆÝ˜i™.œ.ˆØð 	ð 	ˆAØ Ñ/°?ÑBˆNØ# N°^ÀjÑ5PÐ$PÔQˆEØð Ø��ØˆKˆKˆKˆKð	ð 	ð 
ð HÐ!6ð HØð 	ð 	ˆAØ# A¨¨J©Ð$6Ô7ˆEØð Ø��ØˆKˆKˆKˆKð		ð 	ð
 
ð Bð .ÐPˆIˆI°9½SÀÑ=MÔ=MÐ=OÐ=OÔ3Pð 	ð ð 	3ð 	3ˆAØ% a¨!¨j©.Ð&8Ô9ˆLØð Ø��Ý�l MÑ2Ô2Ð2Ð2Ð2Ð2ð		3ð 	3ð ð 2	ñ 2	ˆAØ˜J™ˆIØ�3˜y™>œ>¨AÑ-Ò-Ð-Øà$ Q¨¨Z©Ð%7Ô8ˆLà#ð :Ð,<ð :Ø*¨\Ñ9�à ×'Ò'ØØ#8ÐF�x�x¸hð (ñ ô ˆEð %ð "¨¨Qª¨Ý.1°*¸bÑ.AÔ.AÐ&Ø$Ð%<Ð&<Ð%<Ô=�Ø$�à"ð 
Ý%(¨Ñ%9Ô%9�NØ&'¨.Ñ&8½CÀ	¹N¼NÑ&J�OÝ#& q¨/Õ<TÑ*TÑ#UÔ#U�LÝ!$Ø&¨Õ:RÑ(Rñ"ô "�Jð (×,Ò,¨\¸<ÈÑTÔTØòð !ð $ð"à(ð"ð %¨OÐ;Ð;å" 1 a¨!¡e¨RÑ0Ô0ð 	"ð 	"˜Ø'0°°9°Ô'=˜à/ð FÐ8Hð FØ+6¸Ñ+E˜Là ,× 3Ò 3°MÈ(Ð 3Ñ SÔ S˜à Ð!8Ð"8Ð!8Ô9¸_ÐLÐLØ!˜Eð Mð ˆKˆKˆK‰Kðe2	ð 2	r@   )r!   r"   r#   r$   )r!   r"   r#   r;   )r!   r"   r#   r"   )r!   r"   r#   rV   )r”   r"   r#   r;   )r›   )rœ   r�   rž   r$   r#   rV   )r3   r"   r#   r;   )rœ   r�   r#   rÄ   )rÇ   r"   r#   r;   )T)rÏ   r"   rÐ   r;   r#   r"   )rÔ   r"   rÕ   r"   r#   rÖ   )rÔ   r"   rÕ   r"   r#   r;   )r3   r"   rå   r$   ræ   r"   r#   rç   )NF)ró   r�   r¸   r"   rô   rÙ   rõ   r$   rö   r;   r÷   r;   rø   r§   rù   r;   rú   rV   rû   r;   r#   rü   )IÚ
__future__r   r¼   ré   r2   Úbisectr   Úcodecsr   Ú	functoolsr   Útypingr   Úconstantr	   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?   rI   ÚsortedÚitemsrP   Ú__annotations__rU   r]   r_   rh   rn   rr   r}   r�   rƒ   r…   rˆ   rŠ   r�   r�   r‘   r“   r–   rš   r¹   rÃ   rÊ   rÎ   rÓ   rá   rã   ÚINFOrò   r  rR   r@   r9   ú<module>r     s©  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð8'ð 'ð 'ð 'ðT<ð <ð <ð <ð"ð "ð "ð "ð 6<°Vð <ð <à8Ð2Ô8Ñ:Ô:ð<ñ <ô <ñ 6ô 6Ð ð ð ð ñ ð $JÐ#IÐ2HÐ#IÑ#IÔ#IÐ Ð IÐ IÐ IÑ Iðð ð ð ð*6ð 6ð 6ð 6ð,ð ,ð ,ð ,ðEð Eð Eð EðNð Nð Nð NðQð Qð Qð Qð6ð 6ð 6ð 6ð4ð 4ð 4ð 4ð9ð 9ð 9ð 9ð9ð 9ð 9ð 9ð7ð 7ð 7ð 7ð5ð 5ð 5ð 5ð7ð 7ð 7ð 7ðEð Eð Eð Eð2ð 2ð 2ð 2ð0ð 0ð 0ð 0ðð ð ð ð 59ðð ð ð ð ð8 €�4ÐÑÔðð ð ñ Ôðð0ð ð ð ð$5ð 5ð 5ð 5ðð ð ð ð ð'ð 'ð 'ð 'ð(ð ð ð ð %Ø”ØDð
ð 
ð 
ð 
ð 
ð, #'Ø#ð^ð ^ð ^ð ^ð ^ð ^ð ^r@   