ó
    ýËâf$  ã                   ó¶   • S SK r S SKrS SKrS SKJr  S SKrSSKJrJr  SSKJ	r	  SSK
Jr  SSKJr  \R                  " 5       r0 r\S 5       rS	 r " S
 S\5      rg)é    N)Úcontextmanageré   )Ú
RepositoryÚRepositoryError)ÚPyGIWarning)Úget_introspection_module)Úload_overridesc              #   óô   #   • [         R                  U 5      nSv •  U(       a  gU S;   a  g[        R                  " U 5      b  g[         R	                  U 5      n[
        R                  " SXS.-  [        US9  g7f)a3  A context manager which tries to give helpful warnings
about missing gi.require_version() which could potentially
break code if only an older version than expected is installed
or a new version gets introduced.

::

    with _check_require_version("Gtk", stacklevel):
        load_namespace_and_overrides()
N)ÚGLibÚGObjectÚGioz±%(namespace)s was imported without specifying a version first. Use gi.require_version('%(namespace)s', '%(version)s') before import to ensure that the right version gets loaded.)Ú	namespaceÚversion©Ú
stacklevel)Ú
repositoryÚis_registeredÚgiÚget_required_versionÚget_versionÚwarningsÚwarnr   )r   r   Ú
was_loadedr   s       Ú-/usr/lib/python3/dist-packages/gi/importer.pyÚ_check_require_versionr   *   sw   é € ô ×)Ñ)¨)Ó4€Jã	æð 	àÐ.Ó.àä	×Ò˜yÓ)Ñ5àä×$Ñ$ YÓ/€GÜ‡M‚Mð	?ð "Ñ
6ñ	7ô 	 
ó,ùs   ‚A6A8c                 ó¤   • [         R                  SS nUS::  a  U (       a  S$ S$ US:X  a  U (       a  S$ S$ US:X  a  U (       a  S$ S$ U (       a  S$ S$ )	a  Returns the stacklevel value for warnings.warn() for when the warning
gets emitted by an imported module, but the warning should point at the
code doing the import.

Pass import_hook=True if the warning gets generated by an import hook
(warn() gets called in load_module(), see PEP302)
Né   )é   r   é   )r   r   é   é
   )r   r   )ÚsysÚversion_info)Úimport_hookÚ
py_versions     r   Úget_import_stacklevelr&   Q   sd   € ô ×!Ñ! " 1Ð%€JØ�VÓæˆqÐ& QÐ&Ø	�vÓ	ÞˆqÐ' RÐ'Ø	�vÓ	Þ ˆrÐ' aÐ'ö  ˆqÐ& QÐ&ó    c                   ó@   • \ rS rSrS rS rS
S jrSS jrS rS r	S	r
g)ÚDynamicImporterég   c                 ó   • Xl         g ©N©Úpath)Úselfr.   s     r   Ú__init__ÚDynamicImporter.__init__k   s   € Ø�	r'   c                 óˆ   • UR                  U R                  5      (       d  gUR                  SS5      u  p#X R                  :H  $ )NFÚ.r   )Ú
startswithr.   Úrsplit)r/   Úfullnamer.   r   s       r   Ú_find_module_checkÚ"DynamicImporter._find_module_checkn   s9   € Ø×"Ñ" 4§9¡9×-Ñ-Øà"Ÿ/™/¨#¨qÓ1‰ˆØ—y‘yÑ Ð r'   Nc                 ón   • U R                  U5      (       a  [        R                  R                  X5      $ g r,   )r7   Ú	importlibÚutilÚspec_from_loader)r/   r6   r.   Útargets       r   Ú	find_specÚDynamicImporter.find_specu   s-   € Ø×"Ñ" 8×,Ñ,Ü—>‘>×2Ñ2°8ÓBÐBð -r'   c                 ó4   • U R                  U5      (       a  U $ g r,   )r7   )r/   r6   r.   s      r   Úfind_moduleÚDynamicImporter.find_moduley   s   € Ø×"Ñ" 8×,Ñ,ØˆKð -r'   c                 ó  • UR                   R                  SS5      u  p#[        R                  U5      (       d(  [        R	                  U5      (       d  [        SU-  5      e[        SS9n[        X4S9    [        U5      n[        R                  U5       H.  n[        R                  " SUR                  S5      S	   -   5        M0     [        U5      nS S S 5        U$ ! [         a  n[        U5      eS nAff = f! , (       d  f       W$ = f)
Nr3   r   z6cannot import name %s, introspection typelib not foundT)r$   r   zgi.repository.Ú-r   )Únamer5   r   r   Úenumerate_versionsÚImportErrorr&   r   r   r   Úget_immediate_dependenciesr:   Úimport_moduleÚsplitr	   )	r/   Úspecr.   r   r   Úintrospection_moduleÚeÚdepÚdynamic_modules	            r   Úcreate_moduleÚDynamicImporter.create_module}   s   € ØŸ)™)×*Ñ*¨3°Ó2‰ˆô
 ×'Ñ'¨	×2Ñ2Ü×-Ñ-¨i×8Ñ8Üð @ØBKñLó Mð Mô +°tÑ<ˆ
Ü# IÓEð%Ü'?À	Ó'JÐ$ô "×<Ñ<¸YÖG�Ü×'Ò'Ð(8¸3¿9¹9ÀS»>È!Ñ;LÑ(LÖMñ Hä+Ð,@ÓAˆN÷ Fð Ðøô #ó %Ü! !“nÐ$ûð%ú÷ FÔEð Ðús1   Á3C9Á5CÂ AC9Ã
C6Ã&C1Ã1C6Ã6C9Ã9
Dc                 ó   • g r,   © )r/   r6   s     r   Úexec_moduleÚDynamicImporter.exec_module—   s   € àr'   r-   )NNr,   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r0   r7   r>   rA   rP   rT   Ú__static_attributes__rS   r'   r   r)   r)   g   s!   † òò!ôCôòõ4r'   r)   )r"   r   r:   Ú
contextlibr   r   Ú_gir   r   r   Úmoduler   Ú	overridesr	   Úget_defaultr   Úmodulesr   r&   Úobjectr)   rS   r'   r   Ú<module>rb      s_   ðó0 Û Û Ý %ã 	ß ,Ý Ý ,Ý %ð ×#Ò#Ó%€
ð €ð ñ#,ó ð#,òL'ô,2�fõ 2r'   