§
    u”jè8  ã                  óœ  — 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dl	m
Z
mZ ddlmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZ ej        Z ede¦  «        ZerdndZdZ eddddd¬¦  «        Zej        ej        ej         ej!        ej"        fZ#ej        ej        ej         fZ$ ee%¦  «        Z&dd„Z'd d„Z(d!d„Z) G d„ d¦  «        Z*dS )"a  Configuration management setup

Some terminology:
- name
  As written in config files.
- value
  Value associated with a name
- key
  Name combined with it's section (section.name)
- variant
  A single word describing where the configuration key-value pair came from
é    )ÚannotationsN)ÚIterable)ÚAnyÚNewType)ÚConfigurationErrorÚ!ConfigurationFileCouldNotBeLoaded)Úappdirs)ÚWINDOWS)Ú	getLogger)Ú
ensure_dirÚenumÚKindzpip.inizpip.conf)ÚversionÚhelpÚuserÚglobalÚsiteÚenvzenv-var)ÚUSERÚGLOBALÚSITEÚENVÚENV_VARÚnameÚstrÚreturnc                ó€   — |                       ¦   «                              dd¦  «        } |                      d¦  «        } | S )zAMake a name consistent regardless of source (environment or file)Ú_ú-z--)ÚlowerÚreplaceÚremoveprefix)r   s    új/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/configuration.pyÚ_normalize_namer$   5   s7   € à�:Š:‰<Œ<×Ò  SÑ)Ô)€DØ×Ò˜TÑ"Ô"€DØ€Kó    ú	list[str]c                ó`   — d| vrd| › d�}t          |¦  «        ‚|                      dd¦  «        S )Nú.zVKey does not contain dot separated section and key. Perhaps you wanted to use 'global.z
' instead?é   )r   Úsplit)r   Úerror_messages     r#   Ú_disassemble_keyr,   <   sO   € Ø
�$€€ðBØ15ðBð Bð Bð 	õ ! Ñ/Ô/Ð/Ø�:Š:�c˜1ÑÔÐr%   údict[Kind, list[str]]c                 óô  — d„ t          j        d¦  «        D ¦   «         } t          j                             t
          j        t          ¦  «        }t          j                             t          j                             d¦  «        t          rdndt          ¦  «        }t          j                             t          j
        d¦  «        t          ¦  «        }t          j        | t          j        |gt          j        ||giS )Nc                óX   — g | ]'}t           j                             |t          ¦  «        ‘Œ(S © )ÚosÚpathÚjoinÚCONFIG_BASENAME)Ú.0r2   s     r#   ú
<listcomp>z+get_configuration_files.<locals>.<listcomp>G   s5   € ð ð ð Ø04�Œ�Š�T�?Ñ+Ô+ðð ð r%   Úpipú~z.pip)r	   Úsite_config_dirsr1   r2   r3   ÚsysÚprefixr4   Ú
expanduserr
   Úuser_config_dirÚkindsr   r   r   )Úglobal_config_filesÚsite_config_fileÚlegacy_config_fileÚnew_config_files       r#   Úget_configuration_filesrC   F   sË   € ðð Ý8?Ô8PÐQVÑ8WÔ8Wðñ ô Ðõ ”w—|’|¥C¤JµÑ@Ô@ÐÝœŸšÝ
Œ×Ò˜3ÑÔÝÐ$ˆˆ˜fÝñô Ðõ
 ”g—l’l¥7Ô#:¸5Ñ#AÔ#AÅ?ÑSÔS€OåŒÐ)ÝŒ
Ð%Ð&ÝŒ
Ð'¨Ð9ðð r%   c                  óÖ   ‡ — e Zd ZdZd0d1ˆ fd	„Zd2d
„Zd3d„Zd4d„Zd5d„Zd6d„Z	d7d„Z
d2d„Zd2d„Zed8d„¦   «         Zd2d„Zd9d„Zd:d „Zd2d!„Zd;d%„Zd<d'„Zd=d)„Zd>d*„Zd?d,„Zd@d.„ZdAd/„Zˆ xZS )BÚConfigurationaâ  Handles management of configuration.

    Provides an interface to accessing and managing configuration files.

    This class converts provides an API that takes "section.key-name" style
    keys and stores the value associated with it as "key-name" under the
    section "section".

    This allows for a clean interface wherein the both the section and the
    key-name are preserved in an easy to manage form in the configuration files
    and the data stored is also nice.
    NÚisolatedÚboolÚ	load_onlyúKind | Noner   ÚNonec           
     óz  •— t          ¦   «                              ¦   «          |�V|t          vrMt          d                     d                     t          t          t          ¦  «        ¦  «        ¦  «        ¦  «        ‚|| _        || _	        d„ t          D ¦   «         | _        d„ t          D ¦   «         | _        g | _        d S )Nz5Got invalid value for load_only - should be one of {}z, c                ó   — i | ]}|g “ŒS r0   r0   ©r5   Úvariants     r#   ú
<dictcomp>z*Configuration.__init__.<locals>.<dictcomp>t   s-   € ð H
ð H
ð H
Ø#ˆG�RðH
ð H
ð H
r%   c                ó   — i | ]}|i “ŒS r0   r0   rM   s     r#   rO   z*Configuration.__init__.<locals>.<dictcomp>w   s'   € ð ?
ð ?
ð ?
Ø#ˆG�Rð?
ð ?
ð ?
r%   )ÚsuperÚ__init__ÚVALID_LOAD_ONLYr   Úformatr3   ÚmapÚreprrF   rH   ÚOVERRIDE_ORDERÚ_parsersÚ_configÚ_modified_parsers)ÚselfrF   rH   Ú	__class__s      €r#   rR   zConfiguration.__init__g   sÎ   ø€ Ý‰Œ×ÒÑÔÐàÐ  YµoÐ%EÐ%EÝ$ØG×NÒNØ—I’I�c¥$­Ñ8Ô8Ñ9Ô9ñô ñô ð ð
 !ˆŒØ"ˆŒðH
ð H
Ý'5ðH
ñ H
ô H
ˆŒð?
ð ?
Ý'5ð?
ñ ?
ô ?
ˆŒð EGˆÔÐÐr%   c                óh   — |                       ¦   «          | j        s|                      ¦   «          dS dS )z<Loads configuration from configuration files and environmentN)Ú_load_config_filesrF   Ú_load_environment_vars©r[   s    r#   ÚloadzConfiguration.load|   s@   € à×ÒÑ!Ô!Ð!ØŒ}ð 	*Ø×'Ò'Ñ)Ô)Ð)Ð)Ð)ð	*ð 	*r%   ú
str | Nonec                ó|   — | j         €
J d¦   «         ‚	 |                      ¦   «         d         S # t          $ r Y dS w xY w)z7Returns the file with highest priority in configurationNz)Need to be specified a file to be editingr   )rH   Ú_get_parser_to_modifyÚ
IndexErrorr`   s    r#   Úget_file_to_editzConfiguration.get_file_to_edit‚   sW   € àŒ~Ð)Ð)Ð+VÑ)Ô)Ð)ð	Ø×-Ò-Ñ/Ô/°Ô2Ð2øÝð 	ð 	ð 	Ø�4�4ð	øøøs   “- ­
;º;úIterable[tuple[str, Any]]c                ó4   — | j                              ¦   «         S )z`Returns key-value pairs like dict.items() representing the loaded
        configuration
        )Ú_dictionaryÚitemsr`   s    r#   rj   zConfiguration.items‹   s   € ð Ô×%Ò%Ñ'Ô'Ð'r%   Úkeyr   r   c                óú   — |}t          |¦  «        }	 i }| j                             ¦   «         D ]}|                     |¦  «         Œ||         S # t          $ r" t          |¦  «         t          d|› �¦  «        ‚w xY w)z#Get a value from the configuration.úNo such key - )r$   ri   ÚvaluesÚupdateÚKeyErrorr,   r   )r[   rk   Úorig_keyÚclean_configÚfile_valuess        r#   Ú	get_valuezConfiguration.get_value‘   s¥   € àˆÝ˜cÑ"Ô"ˆð		BØ+-ˆLØ#Ô/×6Ò6Ñ8Ô8ð 1ð 1�Ø×#Ò# KÑ0Ô0Ð0Ð0Ø Ô$Ð$øÝð 	Bð 	Bð 	Bõ ˜SÑ!Ô!Ð!Ý$Ð%@°hÐ%@Ð%@ÑAÔAÐAð		Bøøøs   “:A Á,A:Úvaluec                óä  — t          |¦  «        }|                      ¦   «          | j        sJ ‚|                      ¦   «         \  }}|�St	          |¦  «        \  }}|                     |¦  «        s|                     |¦  «         |                     |||¦  «         | j        | j                  	                    |i ¦  «         || j        | j                 |         |<   |  
                    ||¦  «         dS )z$Modify a value in the configuration.N)r$   Ú_ensure_have_load_onlyrH   rd   r,   Úhas_sectionÚadd_sectionÚsetrY   Ú
setdefaultÚ_mark_as_modified)r[   rk   ru   ÚfnameÚparserÚsectionr   s          r#   Ú	set_valuezConfiguration.set_value    sð   € å˜cÑ"Ô"ˆØ×#Ò#Ñ%Ô%Ð%àŒ~ÐÐÐØ×2Ò2Ñ4Ô4‰ˆˆvàÐÝ,¨SÑ1Ô1‰MˆG�Tð ×%Ò% gÑ.Ô.ð ,Ø×"Ò" 7Ñ+Ô+Ð+Ø�JŠJ�w  eÑ,Ô,Ð,àŒ�T”^Ô$×/Ò/°°rÑ:Ô:Ð:Ø38ˆŒ�T”^Ô$ UÔ+¨CÑ0Ø×Ò˜u fÑ-Ô-Ð-Ð-Ð-r%   c                ó¨  — |}t          |¦  «        }|                      ¦   «          | j        sJ ‚|                      ¦   «         \  }}|| j        | j                 |         vr&|| j        | j                 vrt          d|› �¦  «        ‚|�Œt          |¦  «        \  }}|                     |¦  «        r|                     ||¦  «        st          d¦  «        ‚| 	                    |¦  «        s| 
                    |¦  «         |                      ||¦  «         	 | j        | j                 |         |= dS # t          $ r | j        | j                 |= Y dS w xY w)z#Unset a value in the configuration.rm   Nz4Fatal Internal error [id=1]. Please report as a bug.)r$   rw   rH   rd   rY   r   r,   rx   Úremove_optionrj   Úremove_sectionr|   rp   )r[   rk   rq   r}   r~   r   r   s          r#   Úunset_valuezConfiguration.unset_value´   s�  € àˆÝ˜cÑ"Ô"ˆØ×#Ò#Ñ%Ô%Ð%àŒ~ÐÐÐØ×2Ò2Ñ4Ô4‰ˆˆvð �t”| D¤NÔ3°EÔ:Ð:Ð:Ø˜4œ<¨¬Ô7Ð7Ð7å$Ð%@°hÐ%@Ð%@ÑAÔAÐAàÐÝ,¨SÑ1Ô1‰MˆG�Tà×"Ò" 7Ñ+Ô+ðØ06×0DÒ0DÀWÈdÑ0SÔ0Sðõ )ØJñô ð ð
 —<’< Ñ(Ô(ð /Ø×%Ò% gÑ.Ô.Ð.Ø×"Ò" 5¨&Ñ1Ô1Ð1ð	2Ø”˜Tœ^Ô,¨UÔ3°CÐ8Ð8Ð8øÝð 	2ð 	2ð 	2Ø”˜Tœ^Ô,¨SÐ1Ð1Ð1Ð1ð	2øøøs   ÄD0 Ä0EÅEc                ó   — |                       ¦   «          | j        D ]±\  }}t                               d|¦  «         t	          t
          j                             |¦  «        ¦  «         	 t          |d¦  «        5 }| 	                    |¦  «         ddd¦  «         n# 1 swxY w Y   Œ‹# t          $ r}t          d|› d|› �¦  «        ‚d}~ww xY wdS )z!Save the current in-memory state.zWriting to %sÚwNz:An error occurred while writing to the configuration file z: )rw   rZ   ÚloggerÚinfor   r1   r2   ÚdirnameÚopenÚwriteÚOSErrorr   )r[   r}   r~   ÚfÚerrors        r#   ÚsavezConfiguration.saveÖ   s-  € à×#Ò#Ñ%Ô%Ð%à!Ô3ð 	ð 	‰MˆE�6Ý�KŠK˜¨Ñ/Ô/Ð/õ •r”w—’ uÑ-Ô-Ñ.Ô.Ð.ðÝ˜% Ñ%Ô%ð $¨Ø—L’L ‘O”O�Oð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $øøåð ð ð Ý(ð(Øð(ð (Ø %ð(ð (ñô ð øøøøðøøøð	ð 	s<   Á)B'Á9BÂB'ÂB	ÂB'Â"B	Â#B'Â'
CÂ1CÃCc                ór   — | j         €t          d¦  «        ‚t                               d| j         ¦  «         d S )Nz'Needed a specific file to be modifying.z$Will be working with %s variant only)rH   r   r‡   Údebugr`   s    r#   rw   z$Configuration._ensure_have_load_onlyî   s6   € ØŒ>Ð!Ý$Ð%NÑOÔOÐOÝ�ŠÐ;¸T¼^ÑLÔLÐLÐLÐLr%   údict[str, dict[str, Any]]c                ó^   — i }t           D ]"}|                     | j        |         ¦  «         Œ#|S )z3A dictionary representing the loaded configuration.)rW   ro   rY   )r[   ÚretvalrN   s      r#   ri   zConfiguration._dictionaryó   s9   € ð
 ˆå%ð 	1ð 	1ˆGØ�MŠM˜$œ, wÔ/Ñ0Ô0Ð0Ð0àˆr%   c                óÞ  — t          |                      ¦   «         ¦  «        }|t          j                 dd…         t          j        gk    rt                               d¦  «         dS |                     ¦   «         D ]q\  }}|D ]i}| j	        �(|| j	        k    rt                               d||¦  «         Œ1|  
                    ||¦  «        }| j        |                              ||f¦  «         ŒjŒrdS )z,Loads configuration from configuration filesr   r)   zZSkipping loading configuration files due to environment's PIP_CONFIG_FILE being os.devnullNz Skipping file '%s' (variant: %s))ÚdictÚiter_config_filesr>   r   r1   Údevnullr‡   r‘   rj   rH   Ú
_load_filerX   Úappend)r[   Úconfig_filesrN   Úfilesr}   r~   s         r#   r^   z Configuration._load_config_filesÿ   s  € å˜D×2Ò2Ñ4Ô4Ñ5Ô5ˆØ�œ	Ô" 1 Q 3Ô'­B¬J¨<Ò7Ð7Ý�LŠLðAñô ð ð ˆFà*×0Ò0Ñ2Ô2ð 	?ð 	?‰NˆG�UØð 
?ð 
?�ð ”>Ð-°'¸T¼^Ò2KÐ2KÝ—L’LÐ!CÀUÈGÑTÔTÐTØàŸš¨°%Ñ8Ô8�ð ”˜gÔ&×-Ò-¨u°f¨oÑ>Ô>Ð>Ð>ð
?ð	?ð 	?r%   rN   r   r}   ÚRawConfigParserc                óv  — t                                d||¦  «         |                      |¦  «        }|                     ¦   «         D ]r}|                     |¦  «        }| j        |                              |i ¦  «         | j        |         |                              |                      ||¦  «        ¦  «         Œs|S )Nz'For variant '%s', will try loading '%s')	r‡   ÚverboseÚ_construct_parserÚsectionsrj   rY   r{   ro   Ú_normalized_keys)r[   rN   r}   r~   r   rj   s         r#   r™   zConfiguration._load_file  s­   € Ý�ŠÐ@À'È5ÑQÔQÐQØ×'Ò'¨Ñ.Ô.ˆà—’Ñ(Ô(ð 	Wð 	WˆGØ—L’L Ñ)Ô)ˆEØŒL˜Ô!×,Ò,¨U°BÑ7Ô7Ð7ØŒL˜Ô! %Ô(×/Ò/°×0EÒ0EÀgÈuÑ0UÔ0UÑVÔVÐVÐVàˆr%   c                óN  — t          j        ¦   «         }t          j                             |¦  «        rrt          j        d¦  «        }	 |                     ||¬¦  «         nE# t          $ r t          d|› d�|¬¦  «        ‚t           j
        $ r}t          |¬¦  «        ‚d }~ww xY w|S )NF)Úencodingzcontains invalid z characters)Úreasonr}   )rŽ   )Úconfigparserr�   r1   r2   ÚexistsÚlocaleÚgetpreferredencodingÚreadÚUnicodeDecodeErrorr   ÚError)r[   r}   r~   Úlocale_encodingrŽ   s        r#   r    zConfiguration._construct_parser!  sÒ   € ÝÔ-Ñ/Ô/ˆõ
 Œ7�>Š>˜%Ñ Ô ð 	EÝ$Ô9¸%Ñ@Ô@ˆOð
EØ—’˜E¨O�Ñ<Ô<Ð<Ð<øÝ%ð ð ð å7ØK¨ÐKÐKÐKØðñ ô ð õ  Ô%ð Eð Eð Eå7¸eÐDÑDÔDÐDøøøøðEøøøð ˆs   ÁA  Á -B"ÂBÂB"c                ó  — | j         t          j                                      di ¦  «         | j         t          j                 d                              |                      d|                      ¦   «         ¦  «        ¦  «         dS )z.Loads configuration from environment variablesz:env:N)rY   r>   r   r{   ro   r¢   Úget_environ_varsr`   s    r#   r_   z$Configuration._load_environment_vars6  sp   € àŒ•U”]Ô#×.Ò.¨w¸Ñ;Ô;Ð;ØŒ•U”]Ô# GÔ,×3Ò3Ø×!Ò! '¨4×+@Ò+@Ñ+BÔ+BÑCÔCñ	
ô 	
ð 	
ð 	
ð 	
r%   r   rj   údict[str, Any]c                óN   — i }|D ]\  }}|dz   t          |¦  «        z   }|||<   Œ |S )z×Normalizes items to construct a dictionary with normalized keys.

        This routine is where the names become keys and are made the same
        regardless of source - configuration files or environment.
        r(   )r$   )r[   r   rj   Ú
normalizedr   Úvalrk   s          r#   r¢   zConfiguration._normalized_keys=  sC   € ð ˆ
Øð 	"ð 	"‰IˆD�#Ø˜C‘-¥/°$Ñ"7Ô"7Ñ7ˆCØ!ˆJ�s‰OˆOØÐr%   úIterable[tuple[str, str]]c              #  óÒ   K  — t           j                             ¦   «         D ]E\  }}|                     d¦  «        r+|dd…                              ¦   «         }|t
          vr||fV — ŒFdS )z@Returns a generator with all environmental vars with prefix PIP_ÚPIP_é   N)r1   Úenvironrj   Ú
startswithr    ÚENV_NAMES_IGNORED)r[   rk   r³   r   s       r#   r¯   zConfiguration.get_environ_varsK  st   è è € åœ
×(Ò(Ñ*Ô*ð 	$ð 	$‰HˆC�Ø�~Š~˜fÑ%Ô%ð $Ø˜1˜2˜2”w—}’}‘”�ØÕ0Ð0Ð0Ø ˜)�O�O�Oøð		$ð 	$r%   ú Iterable[tuple[Kind, list[str]]]c              #  óÈ  K  — t           j                             dd¦  «        }t          ¦   «         }t          j        |t          j                 fV — | j         o!|ot           j                             |¦  «         }|r t          j	        |t          j	                 fV — t          j
        |t          j
                 fV — |�t          j        |gfV — dS t          j        g fV — dS )a�  Yields variant and configuration files associated with it.

        This should be treated like items of a dictionary. The order
        here doesn't affect what gets overridden. That is controlled
        by OVERRIDE_ORDER. However this does control the order they are
        displayed to the user. It's probably most ergonomic to display
        things in the same order as OVERRIDE_ORDER
        ÚPIP_CONFIG_FILEN)r1   r¸   ÚgetrC   r>   r   rF   r2   r§   r   r   r   )r[   Úenv_config_filer›   Úshould_load_user_configs       r#   r—   zConfiguration.iter_config_filesT  sê   è è € õ œ*Ÿ.š.Ð):¸DÑAÔAˆÝ.Ñ0Ô0ˆåŒl˜L­¬Ô6Ð6Ð6Ð6Ð6ð '+¤mÐ"3ð #
ØÐ?¥¤§¢¨Ñ ?Ô ?ð9
Ðð #ð 	7å”*˜l­5¬:Ô6Ð6Ð6Ð6Ð6õ Œj˜,¥u¤zÔ2Ð2Ð2Ð2Ð2àÐ&Ý”)˜oÐ.Ð.Ð.Ð.Ð.Ð.Ð.å”)˜R�-ÐÐÐÐÐr%   c                ó   — | j         |         S )z#Get values present in a config file)rY   )r[   rN   s     r#   Úget_values_in_configz"Configuration.get_values_in_configt  s   € àŒ|˜GÔ$Ð$r%   útuple[str, RawConfigParser]c                ój   — | j         sJ ‚| j        | j                  }|st          d¦  «        ‚|d         S )Nz4Fatal Internal error [id=2]. Please report as a bug.éÿÿÿÿ)rH   rX   r   )r[   Úparserss     r#   rd   z#Configuration._get_parser_to_modifyx  sG   € àŒ~ÐÐÐØ”- ¤Ô/ˆØð 	å$ØFñô ð ð
 �rŒ{Ðr%   r~   c                óX   — ||f}|| j         vr| j                              |¦  «         d S d S ©N)rZ   rš   )r[   r}   r~   Úfile_parser_tuples       r#   r|   zConfiguration._mark_as_modified†  s@   € Ø" F˜OÐØ DÔ$:Ð:Ð:ØÔ"×)Ò)Ð*;Ñ<Ô<Ð<Ð<Ð<ð ;Ð:r%   c                ó0   — | j         j        › d| j        ›d�S )Nú(ú))r\   Ú__name__ri   r`   s    r#   Ú__repr__zConfiguration.__repr__‹  s!   € Ø”.Ô)ÐAÐA¨DÔ,<ÐAÐAÐAÐAr%   rÈ   )rF   rG   rH   rI   r   rJ   )r   rJ   )r   rb   )r   rg   )rk   r   r   r   )rk   r   ru   r   r   rJ   )rk   r   r   rJ   )r   r’   )rN   r   r}   r   r   r�   )r}   r   r   r�   )r   r   rj   rg   r   r°   )r   r´   )r   r»   )rN   r   r   r°   )r   rÃ   )r}   r   r~   r�   r   rJ   )r   r   )rÍ   Ú
__module__Ú__qualname__Ú__doc__rR   ra   rf   rj   rt   r€   r„   r�   rw   Úpropertyri   r^   r™   r    r_   r¢   r¯   r—   rÂ   rd   r|   rÎ   Ú__classcell__)r\   s   @r#   rE   rE   Y   s  ø€ € € € € ðð ðGð Gð Gð Gð Gð Gð Gð**ð *ð *ð *ðð ð ð ð(ð (ð (ð (ðBð Bð Bð Bð.ð .ð .ð .ð( 2ð  2ð  2ð  2ðDð ð ð ð0Mð Mð Mð Mð
 ð	ð 	ð 	ñ „Xð	ð?ð ?ð ?ð ?ð.	ð 	ð 	ð 	ðð ð ð ð*
ð 
ð 
ð 
ðð ð ð ð$ð $ð $ð $ð ð  ð  ð  ð@%ð %ð %ð %ðð ð ð ð=ð =ð =ð =ð
Bð Bð Bð Bð Bð Bð Bð Br%   rE   )r   r   r   r   )r   r   r   r&   )r   r-   )+rÑ   Ú
__future__r   r¦   r¨   r1   r:   Úcollections.abcr   Útypingr   r   Úpip._internal.exceptionsr   r   Úpip._internal.utilsr	   Úpip._internal.utils.compatr
   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   r�   r   r   r4   rº   r>   r   r   r   r   r   rW   rS   rÍ   r‡   r$   r,   rC   rE   r0   r%   r#   ú<module>rÜ      sÿ  ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð (Ð 'Ð 'Ð 'Ð 'Ð 'Ø .Ð .Ð .Ð .Ð .Ð .Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5àÔ.€Ø€wˆv�sÑÔ€à&Ð6�)�)¨J€Ø%Ð ð 	ˆØ	ØØ	ØØð	ñ 	ô 	€ð ”˜uœz¨5¬:°u´yÀ%Ä-ÐO€Ø”*˜eœl¨E¬JÐ6€à	ˆ�8Ñ	Ô	€ðð ð ð ðð ð ð ðð ð ð ð&sBð sBð sBð sBð sBñ sBô sBð sBð sBð sBr%   