� ���j�� ���dZddlZddlZddlZddlmZgd�ZdhZdddd d d d d d�ddddddd d d�dddddddd d�dddd d d d d d�dddddddd d�d�Zejdk(r eded<neded<eded<d�Z e �duZ e r!eddd d d!d"d#d$�d%d%d&d&d'd(d#d$�d)d)d*d*d'd(d#d$�d+�zZe ed,�s)ejejk7sd-ejvrd.Zd$Zej$j'�dZej*d�d/ej*d0��Zej*d�ej*d0��Zej0j3ej�Zej0j3ej6�Zej:�Zdad1a dZ!d2Z"d3Z#d4Z$d5�Z%ejLr,ej0jOe%ejL��Z(ne%ejR��Z(e*ed6d�Z+e+re+Z(ejdk(r"e%e(�jYe%e�d7���reZ(d8ejvre%ejd8�Z(d]d9�Z-e-�Z.e.rd:D]Z/ee/Z/e/d;e/d<<d=e/d;<d>e/d?<�[/d@�Z0dA�Z1da2dB�Z3dC�Z4dD�Z5dE�Z6dF�Z7d^dH�Z8dI�Z9dJ�Z:dK�Z;dL�ZdO�Z?dP�Z@dQ�ZAe7�ddGfdR�ZBe7�ddGfdS�ZCdT�ZDdU�ZEdV�ZFdW�ZGdX�ZHdY�ZIdZ�ZJd[�ZKeLd\k(reK�yy)_z-Access to Python's configuration information.�N)�realpath) �get_config_h_filename�get_config_var�get_config_vars�get_makefile_filename�get_path�get_path_names� get_paths� get_platform�get_python_version�get_scheme_names�parse_config_h�MACOSX_DEPLOYMENT_TARGETz6{installed_base}/{platlibdir}/python{py_version_short}z0{platbase}/{platlibdir}/python{py_version_short}z1{base}/lib/python{py_version_short}/site-packagesz>{platbase}/{platlibdir}/python{py_version_short}/site-packagesz;{installed_base}/include/python{py_version_short}{abiflags}z?{installed_platbase}/include/python{py_version_short}{abiflags}z {base}/binz{base})�stdlib� platstdlib�purelib�platlib�include� platinclude�scripts�dataz{installed_base}/lib/pythonz{base}/lib/pythonz{installed_base}/include/pythonz{installed_base}/Libz {base}/Libz{base}/Lib/site-packagesz{installed_base}/Includez{base}/Scripts)� posix_prefix� posix_home�nt� posix_venv�nt_venvrr�venvrr� rpm_prefixc ���tjjdd�}|r|Stjdvryd�}tj dk(r,tjjd�xsd}||d�Stjdk(rPtj r@|dd tj tjd �d tjd ���S|dd �S)N�PYTHONUSERBASE>�wasi�vxworks� emscriptenc�t�tjjtjj|��S�N)�os�path� expanduser�join)�argss �"/usr/lib64/python3.12/sysconfig.py�joinuserz_getuserbase..joinuser|s$���w�w�!�!�"�'�'�,�,��"5�6�6�r�APPDATA�~�Python�darwin�Libraryr�.�z.local)r&�environ�get�sys�platform�name� _framework� version_info)�env_baser,�bases r+� _getuserbaser>ss����z�z�~�~�.��5�H���� �|�|�8�8��7� �w�w�$���z�z�~�~�i�(�/�C����h�'�'� �|�|�x��C�N�N���Y�����+�+�A�.�/�q��1A�1A�!�1D�0E�F�H� H� �C�� "�"r-z({userbase}/Python{py_version_nodot_plat}z6{userbase}/Python{py_version_nodot_plat}/site-packagesz0{userbase}/Python{py_version_nodot_plat}/Includez0{userbase}/Python{py_version_nodot_plat}/Scriptsz {userbase})rrrrrrrz0{userbase}/{platlibdir}/python{py_version_short}z5{userbase}/lib/python{py_version_short}/site-packagesz+{userbase}/include/python{py_version_short}z{userbase}/binz{userbase}/lib/pythonz#{userbase}/lib/python/site-packages)�nt_user� posix_user�osx_framework_user� real_prefix�RPM_BUILD_ROOTz/localr3r4Fz"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)z\$\(([A-Za-z][A-Za-z0-9_]*)\)z\${([A-Za-z][A-Za-z0-9_]*)}c�<� t|�S#t$r|cYSwxYwr%)r�OSError)r's r+�_safe_realpathrF�s%�����~��� ��� ��s � � ��_homez\PCbuild�_PYTHON_PROJECT_BASEc���|�ddl}|jdtd��dD]F}tjj tjj td|��s�Fyy) NrzThe check_home argument of sysconfig.is_python_build is deprecated and its value is ignored. It will be removed in Python 3.15.�)� stacklevel)�Setupz Setup.local�ModulesTF)�warnings�warn�DeprecationWarningr&r'�isfiler)� _PROJECT_BASE)� check_homerN�fns r+�is_python_buildrU�s^������ � �5� �� � �'�� �7�7�>�>�"�'�'�,�,�}�i��D� E��'� r-)rrr�headersz{srcdir}/Includez{projectbase}/.rc��� |jdi|��S#t$rE} |jditj��cYd}~S#t$rt |��d�wxYwd}~wwxYw)N�)�format�KeyErrorr&r5�AttributeError)�s� local_vars�vars r+� _subst_varsr_se��5��q�x�x�%�*�%�%�� �5� 5��1�8�8�)�b�j�j�)� )��� 5� �C�5�*�� 4� 5��5�s%�� A"�A�A"�A�A�A"c�h�|j�}|j�D]\}}||vr� |||<�yr%)�keys�items)� target_dict� other_dict� target_keys�key�values r+� _extend_dictrhs<���"�"�$�K� �&�&�(� ��U� �+� � � � �C��)r-c�d�t�%tt��adtd<dtd<tS)Nz /usr/localr=�platbase)�_CONFIG_VARS_LOCAL�dictrrXr-r+�_config_vars_localrm$s4���!�!�/�"3�4��%1��6�"�)5��:�&� �r-c���i}|�i}|dk(r:tjdk(r'dtjvrt |t ��nt |t ��tjdk(r|ddiz}t|j�D]b\}}tjdvrtjj|�}tjjt||��||<�d|S)Nrz/usrrCr� platlibdir�lib)�posixr)r7�prefixr&r5rhrmrr9�_INSTALL_SCHEMESrbr'r(�normpathr_)�scheme�vars�resrfrgs r+� _expand_varsrx/s��� �C� �|��� �.� � � � �f���� � �*� ��1�3� 4��T�?�,�-� �w�w�$���|�U�+�+��&�v�.�4�4�6� ��U� �7�7�o� %��G�G�&�&�u�-�E��7�7�#�#�K��t�$<�=��C��7� �Jr-c��tjdk(rdddd�Stjdk(rtjrdddd�Sdddd�S) Nrrr?)rr�home�userr1rrAr@)r&r9r7r8r:rXr-r+�_get_preferred_schemesr|Ps\�� �w�w�$��� �� � �  �|�|�x��C�N�N�$� �(� � � !��� �r-c��|dk(r"tjtjk7ryt�|}|tvrt |�d|�d���|S)Nrrrz returned z., which is not a valid scheme on this platform)r7rr� base_prefixr|rs� ValueError)rfrus r+�get_preferred_schemer�dsZ�� �h��3�:�:����8�� #� %�c� *�F� �%�%���g�Z��z�*� � � � �Mr-c��td�S)Nrr)r�rXr-r+�get_default_schemer�ps �� �� )�)r-Tc� �ddl}|�i}i}i}t|tj�d��5}|j �}ddd�D]�}|j d�s|j �dk(r�(|jt|�} | s�A| jdd�\} } | j �} | jd d�} d | vr| || <�� | tvrt�t| �} | || <��t|j��} d }t!| �dkD�r�t#| �D�]�}||}|j%t&|�}|j%t(|�}|r(|r&|j+�|j+�kr|n|} n|r|n|} | ��.| jd�} d }| |vrt-|| �}no| |vrd }nh| t.j0vrt.j0| }nB| |vr7|j d�r |dd|vrd}n#d| z|vrd }nt-|d| z�}ndx|| <}|s��|| j3�d}|d| j+�z|z}d |vr|||<��8 |tvrt�t|�}|||<| j5|�|j d�s��{|dd|vs���|dd}||vs���|||<���|r|||<| j5|����t!| �dkDr���|j7�D])\}} t9| t,�s�| j �||<�+|j;|�|S#1swY���xYw#t$r| jd d �|| <Y��wxYw#t$r|j �||<Y�� wxYw)z�Parse a Makefile-style file. A dictionary containing name/value pairs is returned. If an optional dictionary is passed in as the second argument, it is used instead of a new dictionary. rN�surrogateescape)�encoding�errors�#�r4rJz$$�$)�CFLAGS�LDFLAGS�CPPFLAGSTF�PY_�)�re�openr7�getfilesystemencoding� readlines� startswith�strip�match� _variable_rx�group�replace� _ALWAYS_STRr�int�listra�len�tuple�search� _findvar1_rx� _findvar2_rx�start�strr&r5�end�removerb� isinstance�update)�filenamerv�keep_unresolvedr��done�notdone�f�lines�line�m�n�v�tmpv� variables�renamed_variablesr9rg�m1�m2�found�item�after�ks r+�_parse_makefiler�ts���� �|��� �D��G� �h��!:�!:�!<�&� (�+,�� � � �� (��� �?�?�3� �4�:�:�<�2�#5� � �H�H�\�4� (�� ��7�7�1�a�=�D�A�q���� �A��9�9�T�2�&�D��d�{���� �  ��K�'�(�(��A��A�  �D��G�-�2�W�\�\�^�$�I� :�� �i�.�1� ��)�$�D��D�M�E����<��/�B����<��/�B��b��(�(�*�r�x�x�z�1�B�r���B�"���}��G�G�A�J������9��t�A�w�<�D��'�\�!�E��"�*�*�_��:�:�a�=�D��+�+�����.��Q�R��$5�5�!�����g�-� %�� #�4��� �?�3��&(�'�D��G�d��!�!�%�%�'�(�O�E�!�*�1�7�7�9�-��4�u�<�E��e�|�(-��� �/�#�{�2�&0� 0�$'��J�E�*/�D��J�!�(�(��.��?�?�5�1� ���H�(9�9�#'���8�D�#�4�/�-2��T� � #�!&�D��J�� � ��&�A%� �i�.�1� �H� � � ���1� �a�� ��g�g�i�D��G��  �K�K��� �K�_ (� (��,"�3��i�i��c�2�D��G�3��x *�7�).����D��J�7�s/�L0� L=�M"�0L:�=M�M�"N�Nc�v�tr$tjjtd�St t d�rdt�t j��}nd}t t jd�r |dt jj��z }tjjtd�|d�S)z Return the path of the Makefile.�Makefile�abiflagszconfig-�config� _multiarch�-r) � _PYTHON_BUILDr&r'r)rR�hasattrr7�_PY_VERSION_SHORTr��implementationr�r)�config_dir_names r+rr�s�����w�w�|�|�M�:�6�6��s�J��#�$5�#6�s�|�|�n�E��"���s�!�!�<�0��Q�s�1�1�<�<�=�>�>�� �7�7�<�<���*�O�Z� H�Hr-c ���ttjdd�}tjj ddtj �dtj�d|���S)Nr�r��_PYTHON_SYSCONFIGDATA_NAME�_sysconfigdata_�_)�getattrr7r�r&r5r6r�r8)� multiarchs r+�_get_sysconfigdata_namer�sL����*�*�L�"�=�I� �:�:�>�>�$� �#�,�,��q�����a� �{�C� �r-c�>�ddl}i}t�} t||�t �} t|d��5}t||�ddd�tr|d |d <t�}d tjvr/ddl }|j|�} || _| tj |<d t#��d t$��} t td�r| dz } t'j(| d��t&j*j-| |dz�} t| dd��5}|j/d�|j/d�|j||��ddd�tddd��5}|j/| �ddd�y#t$r3}d|��}t |d�r|�d|j �d�}t|��d}~wwxYw#1swY��zxYw#t$r3}d|��}t |d�r|�d|j �d�}t|��d}~wwxYw#1swY��xYw#1swYyxYw)z;Generate the Python module containing build-time variables.rNz,invalid Python installation: unable to open �strerrorz (�)zutf-8)r��LDSHARED� BLDSHAREDr1z build/lib.r��gettotalrefcountz-pydebugT)�exist_okz.py�w�utf8zB# system configuration generated and used by the sysconfig module zbuild_time_vars = )�streamzpybuilddir.txt)�pprintrr�rEr�r�rr�rr�r�r7r8�types� ModuleType�build_time_vars�modulesr r�r&�makedirsr'r)�write) r�rv�makefile�e�msg�config_hr�r9r��module� pybuilddir�destfiles r+�_generate_posix_varsr� s��� �D�$�&�H����$�'�%�&�H�� �(�W� -�� �1�d� #�.�� ��,��[�� #� $�D��3�<�<����!�!�$�'��!%���"�� � �D���l�n�-�Q�/@�.A�B�J��s�&�'��j� � ��K�K� �T�*��w�w�|�|�J��u� �5�H� �h��f� -�� ���*� +� ���$�%�� � �d�1� �%� .� ���f� 5�� ��� �� 6� 5��i ��<�X�J�G�� �1�j� !��E��A�J�J�<�q�)�C��c�l��� ��.� -�� ��<�X�J�G�� �1�j� !��E��A�J�J�<�q�)�C��c�l��� ��F .� -�� 6� 5�s]� E<� G� F;�G�6H�!H�< F8�.F3�3F8�;G�G� H�.G?�?H�H�Hc��t�}t|t�t�dgd�}|j}|j |�y)z7Initialize the module as appropriate for POSIX systems.r�rN)r�� __import__�globals�localsr�r�)rvr9�_tempr�s r+� _init_posixr�Hs=�� #� $�D� �t�W�Y���3D�2E�q� I�E��+�+�O��K�K�� r-c�D�ddl}td�|d<td�|d<td�|d< |j�d|d <d |d <t|d <t j jttj��|d <d|d<y#t$rY�XwxYw)z+Initialize the module as appropriate for NTrNr�LIBDESTr� BINLIBDESTr� INCLUDEPY� EXT_SUFFIXz.exe�EXE�VERSION�BINDIRr��TZPATH) �_impr�extension_suffixes� IndexError�_PY_VERSION_SHORT_NO_DOTr&r'�dirnamerFr7� executable)rvr�s r+�_init_non_posixr�Ps�����x�(�D��O�!�,�/�D��� ��+�D��� �"�4�4�6�q�9��\���D��K�.�D��O��W�W�_�_�^�C�N�N�%C�D�D��N��D��N�� � � � �s�B� B�Bc��|�i}ddl}|jd�}|jd�} |j�}|s |S|j|�}|r5|j dd�\}} |t vrt �t|�}|||<n'|j|�}|rd||j d�<��#t $rY�9wxYw)z�Parse a config.h-style file. A dictionary containing name/value pairs is returned. If an optional dictionary is passed in as the second argument, it is used instead of a new dictionary. Nrz"#define ([A-Z][A-Za-z0-9_]+) (.*) z&/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/ r4rJ)r��compile�readliner�r�r�rr�) �fprvr�� define_rx�undef_rxr�r�r�r�s r+rrgs��� �|��� �� � �@�A�I��z�z�C�D�H� ��{�{�}��� � �K� �O�O�D� !�� ��7�7�1�a�=�D�A�q� �� �#�$�$���F���D��G����t�$�A��#$��Q�W�W�Q�Z� �# ��� �� �s�*B1�1 B=�<B=c���tr?tjdk(r%tjj t d�}nt }n t d�}tjj |d�S)zReturn the path of pyconfig.h.r�PCrz pyconfig-64.h)r�r&r9r'r)rRr)�inc_dirs r+rr�sH��� �7�7�d�?��g�g�l�l�=�$�7�G�#�G��=�)�� �7�7�<�<��� 1�1r-c�2�ttt��S)z,Return a tuple containing the schemes names.)r��sortedrsrXr-r+r r �s�� ��(�)� *�*r-c��tS)z*Return a tuple containing the paths names.)� _SCHEME_KEYSrXr-r+r r �s�� �r-c�0�|r t||�St|S)z�Return a mapping containing an install scheme. ``scheme`` is the install scheme name. If not provided, it will return the default scheme for the current platform. )rxrs)rurv�expands r+r r �s�� ��F�D�)�)���'�'r-c�"�t|||�|S)z[Return a path corresponding to the scheme. ``scheme`` is the install scheme name. )r )r9rurvr s r+rr�s�� �V�T�6� *�4� 0�0r-c�Z�iatjjtj �}tjjtj �}|td<|td<ttd<ttd<ttd<ttd<|td<ttd<|td <ttd <tjtd < tjtd < tj j#dd �td<tj$dk(r&t't�tj(td<tj$dk(rt+t�t,rt/�td<tj1dt�}tj$dk(rut2rHtjj5t7��}tjj9||�}n'tjj5t7��}t;|�td<tj<dk(rddl}|jAt�da!y#t$r d td <Y���wxYw#t$r d td<Y���wxYw)Nrr� exec_prefix� py_version�py_version_short�py_version_nodot�installed_baser=�installed_platbaserj� projectbaseror�r�r3�py_version_nodot_platr�VPATHrq�userbase�srcdirr1rT)"� _CONFIG_VARSr&r'rtr7rrr � _PY_VERSIONr�r�� _BASE_PREFIX�_BASE_EXEC_PREFIXrRror�r[�winverr�r9r��_vpathr��_HAS_USER_BASEr>r6r�r�rr)rFr8� _osx_support�customize_config_vars�_CONFIG_VARS_INITIALIZED)�_PREFIX� _EXEC_PREFIXrr=rs r+�_init_config_varsr$�s����L��g�g���s�z�z�*�G��7�7�#�#�C�O�O�4�L�$�L���".�L���!,�L���'8�L�#�$�'?�L�#�$�%1�L�!�"�"�L���):�L�%�&�+�L���"/�L���!$���L���&�#&�<�<� �Z� �3�03� � �0B�0B�3��0K� �,�-� �w�w�$��� �%� #� � � �W�� �w�w�'���L�!��$0�>� �Z� �� � �h� � 6�F� �w�w�'�� ��7�7�?�?�#8�#:�;�D��W�W�\�\�$��/�F� �W�W�_�_�%:�%<�=�F�+�F�3�L��� �|�|�x����*�*�<�8� $���W �&�#%� �Z� �&�� �3�02� �,�-�3�s$�'I;�?'J�;J�J�J*�)J*c��ts t5t� t�ddd�nRtdtj j tj�k7rt5dat�ddd�|r/g}|D]&}|jtj|���(|StS#1swY�@xYw#1swY�LxYw)anWith no arguments, return a dictionary of all configuration variables relevant for the current platform. On Unix, this means every variable defined in Python's installed Makefile; On Windows it's a much smaller set. With arguments, return a list of values that result from looking up each argument in the configuration variable dictionary. Nr=F) r!�_CONFIG_VARS_LOCKrr$r&r'rtr7rr�appendr6)r*�valsr9s r+rr�s��� $� � �#�!�#� � � �� �2�7�7�#3�#3�C�J�J�#?� ?�"�+0�(�!�#�#� ����D� �K�K� �(�(��.� /��� ���/� ��#�"�s�B0�$ B<�0B9�<Cc�4�t�j|�S)z�Return the value of a single variable using the dictionary returned by 'get_config_vars()'. Equivalent to get_config_vars().get(name) )rr6)r9s r+rrs�� � � � �� &�&r-c�H�tjdk(rsdtjj �vrydtjj �vrydtjj �vrytj Stjdk7st td �stj Sd tjvrtjd Stj�\}}}}}|j �jd d �}|jd d�}|jd d�}|dddk(r|�d|��S|dddk(rB|ddk\r�d}t|d�dz �d|dd��}ddd�}|d|tj��z }n�|dddk(r ddl m }|�S|ddd k(r;d }ddl}|jd!�}|j!|�} | r=| j#�}n,|ddd"k(r$ddl} | j't)�|||�\}}}|�d|�d|��S)#a/Return a string that identifies the current platform. This is used mainly to distinguish platform-specific build directories and platform-specific built distributions. Typically includes the OS name and version and the architecture (as supplied by 'os.uname()'), although the exact information included depends on the OS; on Linux, the kernel version isn't particularly important. Examples of returned values: linux-i586 linux-alpha (?) solaris-2.6-sun4u Windows will return one of: win-amd64 (64-bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc) win-arm64 (64-bit Windows on ARM64 (aka AArch64) win32 (all others - specifically, sys.platform is returned) For other non-POSIX platforms, currently just returns 'sys.platform'. r�amd64z win-amd64z(arm)z win-arm32z(arm64)z win-arm64rq�uname�_PYTHON_HOST_PLATFORM�/r�� r�r�N��linux�sunosr�5�solarisr�r3rJ�32bit�64bit)i���l�����aix)� aix_platform��cygwinz[\d.]+r1)r&r9r7�version�lowerr8r�r5r,r�r��maxsize� _aix_supportr8r�r�r�r�r�get_platform_osxr) �osname�host�releaser;�machine�bitnessr8r��rel_rer�rs r+r r 's#��, �w�w�$�� �c�k�k�'�'�)� )�� �c�k�k�'�'�)� )�� �� � �)�)�+� +���|�|�� �w�w�'����W�!5��|�|���"�*�*�,��z�z�1�2�2�/1�h�h�j�+�F�D�'�7�G��\�\�^� #� #�C�� ,�F��o�o�c�3�'�G��o�o�c�3�'�G� �b�q�z�W���(�!�G�9�%�%� ����w� � �1�:�� ��F��W�Q�Z��1�,�-�Q�w�q�r�{�m�<�G�#*�w�G�G� ��7�3�;�;�/�0�1� 1�G� ����u� �-��~�� ����x� �������I�&�� �L�L�� !�� ��g�g�i�G� ����x� ��#/�#@�#@�,;�,=�,2�G�W�$F� �����X�Q�w�i�q�� � *�*r-c��tSr%)r�rXr-r+r r ys�� �r-c���ddl} |jt|�xs|jt|�}|r@|j �\}}|d||j |j d��z||dz}n |S�t)a�Expand Makefile-style variables -- "${foo}" or "$(foo)" -- in 'string' according to 'vars' (a dictionary mapping variable names to values). Variables not present in 'vars' are silently expanded to the empty string. The variable values in 'vars' should not contain further variable expansions; if 'vars' is the output of 'parse_makefile()', you're fine. Returns a variable-expanded version of 's'. rNr4)r�r�r�r��spanr6r�)r\rvr�r��begr�s r+�expand_makefile_varsrJ}sw��� � �I�I�l�A� &� D�"�)�)�L�!�*D�� �����J�S�#��!�C��4�8�8�A�G�G�A�J�/�/�!�C�D�'�9�A� � �H� r-c��tt|j���D]-\}\}}|dk(rt|�d��td|�d|�d���/y)Nrz: � z = "�")� enumeraterrb�print)�titler�indexrfrgs r+� _print_dictrR�sQ��(��� � � �)=�>���|��U� �A�:� �U�G�2�,� � ��3�%�t�E�7�!�$�%� ?r-c�@�dtjvr t�ytdt ��d��tdt ��d��tdt ��d��t�tdt��t�tdt��y) z*Display all information sysconfig detains.z--generate-posix-varsNz Platform: "rMzPython version: "zCurrent installation scheme: "�Paths� Variables) r7�argvr�rOr r r�rRr rrXr-r+�_mainrW�s|���#�(�(�*���� �K� ��'�q� )�*� � �0�2�3�1� 5�6� � *�+=�+?�*@�� B�C� �G�����%� �G�� �_�.�/r-�__main__r%)NT)M�__doc__r&r7� threading�os.pathr�__all__r�rsr9r>rr�rrr~r5�_prefix_additionrr;�splitrr;r�r�r'rtr�base_exec_prefixr�RLockr&rr!� _USER_BASEr�r�r�rFr�r�rR�getcwdr�� _sys_homer�rUr�rur_rhrkrmrxr|r�r�r�rr�r�r�r�rrr r r rr$rrr r rJrRrW�__name__rXr-r+�resM��3� � ��� �� �� � K�H�F�S� I� M���  �0�)�&�&�4�8���  �)�"�-�-�-�1�#�� �8K�H�F�S� I� M���  �)�"�-�-�-�1�#��  �}H��V�7�7�d�?�/� �:��V��/� �=��V�� "2�.�!A���� #�,�.��,����A�D�O�O�I�I� ��I�L�N�N�D�'� ��.�1�<�<�D�'� ��)���L ��m� $��J�J�#�/�/�!��B�J�J�&���#� ��k�k���!�!�$� ��'�'��*�+�1�S�-=�-=�a�-@�,A�B��!�.�.�q�1�2�3�3C�3C�A�3F�2G�H���w�w������0� ��G�G�$�$�S�%9�%9�:��#�I�O�O�%��� � �� � �5� �/� �-� �� �>�>��G�G�O�O�N�3�>�>�$B�C�M�#�9�2�9�9�;�/�M� �C��$� '� � ��M��7�7�d�?� �m�$�/�/� �l�^�9�5� 6�8�$� ��R�Z�Z�'�"�2�:�:�.D�#E�F�M��" �!� ��0�� "�&�)��"�9�-��y��.��y�� 1��}��1� �5�!�����B�( �*�}�@ I��=�~!��.�D 2�+� � (�)��T� (�-�.�T�$�1�@$�F%�P'�O+�d� �4&� 0� �z�� �G�r-