� !A?h�1��N� ddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm Z dd lm Z dd lm Z dd lm Z d d lmZd dlZd dlZd dlZd dlZd dlZd dlZd�Zd�Zdd�Zdd�Zed���Zd�Zd�Zd�ZGd�dej��ZGd�de��Z dS)�)�Loader)�module_from_spec)� _resolve_name)�spec_from_loader)� _find_spec)� MAGIC_NUMBER)�_RAW_MAGIC_NUMBER)�cache_from_source)� decode_source)�source_from_cache)�spec_from_file_location�)�contextmanagerNc�8� tjt|��S�N)�_imp� source_hashr )� source_bytess �;/opt/alt/python-internal/lib64/python3.11/importlib/util.pyrrs��H� � �-�|� <� <�<�c��� |�d��s|S|s tdt|���d����d}|D]}|dkrn|dz }�t||d�||��S)N�.zno package specified for z% (required for relative module names)rr)� startswith� ImportError�reprr)�name�package�level� characters r� resolve_namer s���<� �?�?�3� � �B�� � �B��A�d�4�j�j�A�A�A�B�B� B� �E���� � �� � � �E� �� ��� ��e�f�f��w�� 6� 6�6rc�*� |tjvrt||��Stj|}|�dS |j}|�"t d�|�����|S#t $r$t d�|����d�wxYw)N�{}.__spec__ is None�{}.__spec__ is not set)�sys�modulesr�__spec__� ValueError�format�AttributeError)r�path�module�specs r�_find_spec_from_pathr-+s��� � �3�;����$��%�%�%���T�"�� �>��4� ��?�D��|� �!6�!=�!=�d�!C�!C�D�D�D��K�� � N� N� N��5�<�<�T�B�B�C�C�� M� N���s �A$�$.Bc�@� |�d��rt||��n|}|tjvrt|�d��d}|rEt |dg���} |j}n,#t$r}td|�d|��|���|�d}~wwxYwd}t||��Stj|}|�dS |j }|�"td� |�����|S#t$r$td � |����d�wxYw) Nrr�__path__)�fromlistz __path__ attribute not found on z while trying to find )rr"r#) rr r$r%� rpartition� __import__r/r)�ModuleNotFoundErrorrr&r'r() rr�fullname� parent_name�parent� parent_path�er+r,s r� find_specr9Js���� /3�o�o�c�.B�.B�L�|�D�'�*�*�*��H��s�{�"�"��)�)�#�.�.�q�1� � � �� �z�l�C�C�C�F� P�$�o� � ��!� P� P� P�)�9�{�9�9�,4�9�9�?G�I�I�I�NO�P����� P���� �K��(�K�0�0�0���X�&�� �>��4� ��?�D��|� �!6�!=�!=�d�!C�!C�D�D�D��K�� � N� N� N��5�<�<�T�B�B�C�C�� M� N���s$�'A/�/ B�9B�B�C/�/.Dc#�bK�|tjv}tj�|��}|s3tt��|��}d|_|tj|< |V�n1#t $r$|s tj|=n#t $rYnwxYwYnwxYwd|_dS#d|_wxYw)NTF)r$r%�get�type�__initializing__� Exception�KeyError)r� is_reloadr+s r�_module_to_loadrAws������� �#�I� �[�_�_�T� "� "�F� �#���c���4����#'���"�� �D�� (�� � � � �� ����� � ��K��%�%��� � � ��� ������ ����#(������%���'�'�'�'sN�&A+�*B%�+ B�8 B�B� B�B�B�B�B%�B�B%�% B.c�H�� tj����fd���}|S)Nc����tjdtd����|i|��}t|dd���A|j|_t |d��s%|j�d��d|_|S)N�kThe import system now takes care of this automatically; this decorator is slated for removal in Python 3.12��� stacklevel� __package__r/rr)�warnings�warn�DeprecationWarning�getattr�__name__rH�hasattrr1)�args�kwargsr+�fxns �r�set_package_wrapperz(set_package..set_package_wrapper�s����� �L�(�Q� 8� 8� 8� 8���d�%�f�%�%�� �6�=�$� /� /� 7�!'��F� ��6�:�.�.� K�%+�%7�%B�%B�3�%G�%G��%J��"�� r�� functools�wraps)rQrRs` r� set_packagerV�s@���� �_�S��� � � � ��� � �rc�H�� tj����fd���}|S)Nc���tjdtd����|g|�Ri|��}t|dd���||_|S)NrDrErF� __loader__)rIrJrKrLrY)�selfrOrPr+rQs �r�set_loader_wrapperz&set_loader..set_loader_wrapper�sg���� �L�(�Q� 8� 8� 8� 8���T�+�D�+�+�+�F�+�+�� �6�<�� .� .� 6� $�F� �� rrS)rQr[s` r� set_loaderr\�s@���� �_�S���������� �rc��� tjdtd���tj����fd���}|S)NrDrErFc�.��t|��5}||_ |�|��}|r||_n8|�d��d|_n#t t f$rYnwxYw�||g|�Ri|��cddd��S#1swxYwYdS)Nrr)rArY� is_packagerHr1rr))rZr4rOrPr+r_rQs �r�module_for_loader_wrapperz4module_for_loader..module_for_loader_wrapper�s ��� �X� &� &� 6�&� $�F� � E�!�_�_�X�6�6� ��E�)1�F�&�&�)1�)<�)<�S�)A�)A�!�)D�F�&�&��  ��0� � � ��� �����3�t�V�5�d�5�5�5�f�5�5� 6� 6� 6� 6� 6� 6� 6� 6� 6� 6� 6� 6���� 6� 6� 6� 6� 6� 6s3�B �A�+B �A.�+B �-A.�.B � B�B)rIrJrKrTrU)rQr`s` r�module_for_loaderra�sf����" �M�H�$��4�4�4�4��_�S��� 6� 6� 6� 6��� 6� %�$rc��eZdZ d�Zd�ZdS)� _LazyModulec�~� t�|d��}|j}|d5t�|d��tu�rH|dr't�||��cddd��Sd|d<t�|d��}|j}|d}|}i}|���D]@\} } | |vr| || <�t || ��t || ��kr| || <�A|j�|��|tj vrCt |��t tj |��krtd|�d����|� |��tj|_ddd��n #1swxYwYt!||��S) Nr&�lock� __class__� is_loadingT�__dict__zmodule object for z. substituted in sys.modules during a lazy load)�object�__getattribute__� loader_statercr�items�id�loader� exec_moduler$r%r'�update�types� ModuleTyperfrL) rZ�attrr&rkrh� original_name� attrs_then� attrs_now� attrs_updated�key�values rrjz_LazyModule.__getattribute__�s-��F��*�*�4��<�<���,� � �&� !�+ 2�+ 2��&�&�t�[�9�9�[�H�H�  � �-�?�!�2�2�4��>�>�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�.2� �\�*�!�2�2�4��D�D�� !)� � �*�*�5� �$� � "� �"+�/�/�"3�"3�3�3�J�C���*�,�,�-2� �c�*�*��I�c�N�+�+�r�*�S�/�/B�/B�B�B�-2� �c�*����+�+�D�1�1�1�!�C�K�/�/��$�x�x�2�c�k�-�&@�#A�#A�A�A�(�*1�m�*1�*1�*1�2�2�2� ��� �.�.�.�!&�!1���W+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2�+ 2����+ 2�+ 2�+ 2�+ 2�Z�t�T�"�"�"s�AF$�?DF$�$F(�+F(c�R� |�|��t||��dSr)rj�delattr)rZrss r� __delattr__z_LazyModule.__delattr__s1��=� ���d�#�#�#���d�����rN)rM� __module__� __qualname__rjr|�rrrcrc�s6������U�1#�1#�1#�f����rrcc�N�eZdZ ed���Zed���Zd�Zd�Zd�Z dS)� LazyLoaderc�D�t|d��std���dS)Nroz loader must define exec_module())rN� TypeError)rns r�__check_eager_loaderzLazyLoader.__check_eager_loader"s0���v�}�-�-� @��>�?�?� ?� @� @rc�>��� �������fd�S)Nc�&����|i|����Srr)rOrP�clsrns ��r�z$LazyLoader.factory..+s ���s�s�6�6�4�+B�6�+B�+B�'C�'C�r)�_LazyLoader__check_eager_loader)r�rns``r�factoryzLazyLoader.factory's-����L� � � ��(�(�(�C�C�C�C�C�Crc�>�|�|��||_dSr)r�rn)rZrns r�__init__zLazyLoader.__init__-s!�� �!�!�&�)�)�)��� � � rc�6�|j�|��Sr)rn� create_module)rZr,s rr�zLazyLoader.create_module1s���{�(�(��.�.�.rc��� |j|j_|j|_i}|j���|d<|j|d<t j��|d<d|d<||j_t|_dS)NrhrfreFrg) rnr&rYrh�copyrf� threading�RLockrkrc)rZr+rks rrozLazyLoader.exec_module4s{��*�!%����� �K��� � �#)�?�#7�#7�#9�#9� �Z� �$*�$4� �[�!�(��0�0� �V��%*� �\�"�'3���$�&����rN) rMr}r~� staticmethodr�� classmethodr�r�r�rorrrr�r�s~������U��@�@��\�@��D�D��[�D� ���/�/�/�'�'�'�'�'rr�r)!�_abcr� _bootstraprrrr�_bootstrap_externalrr r r r r � contextlibrrrTr$r�rqrIrr r-r9rArVr\rarrrcr�rrr�r�s��3�������(�(�(�(�(�(�%�%�%�%�%�%�(�(�(�(�(�(�"�"�"�"�"�"�-�-�-�-�-�-�2�2�2�2�2�2�2�2�2�2�2�2�.�.�.�.�.�.�2�2�2�2�2�2�8�8�8�8�8�8�%�%�%�%�%�%� � � � ����� � � � ����� � � � �����=�=�=� 7� 7� 7�����>*�*�*�*�Z�(�(���(�2���(���$%%�%%�%%�P<�<�<�<�<�%�"�<�<�<�~$'�$'�$'�$'�$'��$'�$'�$'�$'�$'r