Edit File: verifier.cpython-311.pyc
� ����r�d�+���������������������������d�dl�Z�d�dlZd�dlZd�dlZd�dlZddlmZ�ddlmZ�ddlm Z �e�j ��������dk����rd�dlZd��Z nd�dlZd��Z e�j ��������d k����rej��������Zn�G�d ��dej��������������������Z�G�d��d e������������ZdZd��Zdad��Zd��Zdd�Zd��Zd��ZdS�)�����N����)�__version_verifier_modules__)�ffiplatform)�VerificationError)����r���c�������������������4�����t�����������j��������j��������d�d�����������S��N)� importlib� machinery�EXTENSION_SUFFIXES��������`/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib64/python3.11/site-packages/cffi/verifier.py�_extension_suffixesr������s�������"�5�a�a�a�8�8r���c�������������������<�����d��t����������j����������������������D���������������S�)Nc������������������:�����g�|�]\��}}}|t�����������j��������k�����|��S�r ���)�imp�C_EXTENSION)�.0�suffix�_�types��� r���� <listcomp>z'_extension_suffixes.<locals>.<listcomp>���s4�������,��,��,�?�6�1�d��3�?�*�*���*�*�*r���)r����get_suffixesr ���r���r���r���r������s+������,��,�c�.>�.@�.@��,��,��,�� ,r����r���c���������������������������e�Zd�Z��fd�Z��xZS�)�NativeIOc������������������������t����������|t����������������������r|���������������������d������������}t����������t����������|����������������������������������|�������������d�S�)N�ascii)� isinstance�unicode�encode�superr����write)�self�s� __class__s��� �r���r$���zNativeIO.write���sJ��������!�W�%�%�� &��H�H�W�%�%���(�D�!�!�'�'��*�*�*�*�*r���)�__name__� __module__�__qualname__r$���� __classcell__)r'���s���@r���r���r������s8��������������� +�� +�� +�� +�� +�� +�� +�� +�� +r���r���c��������������������h�����e�Zd�Z � � �dd�Zdd�Zd��Zd��Zd ��Zd ��Zd��Z d��Z d ��Zd��Zdd�Z d��Zd��ZdS�)�VerifierN��F�.cc�����������������������|j���������j��������rt����������d|j���������j�����������������������||�_��������||�_��������|st����������j��������|������������}t����������||������������} �| |�������������|�_��������|�j��������� ��������������������|�������������| |�_ ��������|����������������������|| ������������|�_��������|r|rt����������d��������������n d���������������������dt����������j��������d�d����������z��t"����������||g|j��������z���������������}t����������j��������dk����r|���������������������d������������}t)����������t+����������j��������|dd�d����������������������d z��������������}|���������������������d ���������������������������������d������������}t)����������t+����������j��������|dd�d����������������������d z��������������}|���������������������d ���������������������������������d������������}d|�d|�j��������j���������|�|��}t5������������������������d���������}|p t7������������������������|�_��������t:����������j�����������������������������|�j��������||z���������������|�_��������t:����������j�����������������������������|�j��������||z���������������|�_ ��������||�_!��������d|�_"��������d|�_#��������d�S�)NzIfeature not supported with ffi.verify(), but only with ffi.set_source(): z)can't specify both 'modulename' and 'tag'��z%d.%d����r���zutf-8r���l�������0x�Lr����0�_cffi_r���F)$�_parser�_uses_new_featurer����ffi�preambler����flatten�_locate_engine_class�_vengine�patch_extension_kwds�flags�make_relative_to�kwds� TypeError�join�sys�version_infor����_cdefsourcesr"����hex�binascii�crc32�lstrip�rstrip� _class_key�_get_so_suffixes�_caller_dir_pycache�tmpdir�os�path�sourcefilename�modulefilename�ext_package�_has_source�_has_module)r%���r9���r:���rO���� modulenamerT����tag�force_generic_engine�source_extensionr?����relative_torA����flattened_kwds� vengine_class�key�k1�k2r���s��� r����__init__zVerifier.__init__ ���sj�������;�(�� P�#�#�/2�{�/L�/L�O�P��P�� P����� �� ��� 7�(�0��6�6�N�,�S�2F�G�G� �%� �d�+�+�� �� �*�*�4�0�0�0��� ��)�)�$��<�<�� ��� 6��� M�� K�L�L�L� M���+�+�w��)9�"�1�"�)=�=�;�'��9��"�.�/��0��0�C����4�'�'��j�j��)�)���X�^�C���1��I�.�.��;�<�<�B����4���'�'��,�,�B��X�^�C���1��I�.�.��;�<�<�B����3���&�&�s�+�+�B�B�.1�c�c�4�=�3K�3K�.0�b�"�"�6�J�!�#�#�A�&���5� 3� 5� 5��� �g�l�l�4�;� �EU�8U�V�V��� �g�l�l�4�;� �V�8K�L�L���&��� ��� ����r���c�����������������������|�j���������j��������5��|�j��������r|�t����������d�������������|����������������������|�������������ddd�������������dS�#�1�swxY�w�Y���dS�)zkWrite the C source code. It is produced in 'self.sourcefilename', which can be tweaked beforehand.Nzsource code already written)r9����_lockrU���r���� _write_source�r%����files��� r����write_sourcezVerifier.write_sourceI���s���������X�^�� %�� %���� 3�D�L�'�1�3��3��3����t�$�$�$� %�� %�� %�� %�� %�� %�� %�� %�� %�� %�� %�� %����� %�� %�� %�� %�� %�� %s����.A�A�Ac������������������������|�j���������j��������5��|�j��������rt����������d�������������|�j��������s|�������������������������������������|�������������������������������������ddd�������������dS�#�1�swxY�w�Y���dS�)z�Write the C source code (if not done already) and compile it. This produces a dynamic link library in 'self.modulefilename'.zmodule already compiledN)r9���rc���rV���r���rU���rd����_compile_module�r%���s��� r����compile_modulezVerifier.compile_moduleR���s���������X�^�� #�� #���� C�'�(A�B�B�B��#�� %��"�"�$�$�$�� � �"�"�"� #�� #�� #�� #�� #�� #�� #�� #�� #�� #�� #�� #����� #�� #�� #�� #�� #�� #s����AA � A$�'A$c����������������������|�j���������j��������5��|�j��������sJ|�������������������������������������|�j��������s/|�j��������s|�������������������������������������|�������������������������������������|������������������������������������cddd�������������S�#�1�swxY�w�Y���dS�)a"��Get a C module from this Verifier instance. Returns an instance of a FFILibrary class that behaves like the objects returned by ffi.dlopen(), but that delegates all operations to the C module. If necessary, the C code is written and compiled first. N)r9���rc���rV����_locate_modulerU���rd���ri���� _load_libraryrj���s��� r����load_libraryzVerifier.load_library\���s���������X�^�� (�� (��#�� +��#�#�%�%�%��'��+��+��-��*�*�,�,�,��(�(�*�*�*��%�%�'�'� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (����� (�� (�� (�� (�� (�� (s����A%A?�?B�Bc������������������������t�����������j�����������������������������|�j��������������������}|���������������������dd������������d���������}|���������������������d������������rt ����������t����������d������������r |d�d����������}|S�)N�.r���r����_d�gettotalrefcount���)rP���rQ����basenamerS����split�endswith�hasattrrD���)r%���ru���s��� r����get_module_namezVerifier.get_module_namel���sp�������7�#�#�D�$7�8�8����>�>�#�q�)�)�!�,������T�"�"�� %�w�s�4F�'G�'G�� %�����}�H��r���c������������������>����t����������j�����������������������|�j��������s?|�j��������j��������5��|�j��������s|�������������������������������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������|�j��������������������}|������������������������������������}t����������j ��������||fi�|�j ����������S�r ���)r����_hack_at_distutilsrU���r9���rc���rd����maybe_relative_pathrR���ry���� get_extensionrA���)r%���� sourcename�modnames��� r���r}���zVerifier.get_extensionw���s��������&�(�(�(���� )����� )�� )��'��)��&�&�(�(�(� )�� )�� )�� )�� )�� )�� )�� )�� )�� )�� )����� )�� )�� )�� )��!�4�T�5H�I�I� ��&�&�(�(���(��W�J�J�� �J�J�Js����A�A�Ac�����������������������|�j���������j��������S�r ���)r=����_gen_python_modulerj���s��� r����generates_python_modulez Verifier.generates_python_module����s �������}�/�/r���c������������������j�����|r�t�����������j�����������������������������|������������r�t�����������j�����������������������������|�������������|�����������������������������������}t����������j��������D�]P}||v�rJ||���������}t ����������|t����������t����������f������������st����������d|�d���������������fd�|D���������������}|||<����Q|S�)Nz keyword 'z' should be a list or tuplec������������������P������g�|�]"}t�����������j������������������������������|��������������#S�r ���)rP���rQ���rC���)r����fn�dirnames��� �r���r���z-Verifier.make_relative_to.<locals>.<listcomp>����s)�������C�C�C��2�7�<�<���4�4�C�C�Cr���) rP���rQ���r�����copyr����LIST_OF_FILE_NAMESr ����list�tuplerB���)r%���rA���r[���r^����lstr����s��� @r���r@���zVerifier.make_relative_to����s���������� $�2�7�?�?�;�7�7�� $��g�o�o�k�2�2�G��9�9�;�;�D�"�5�� $�� $���$�;�;��s�)�C�%�c�D�%�=�9�9��2�'�i�+.�3�3�)1��2��2��2�C�C�C�C�s�C�C�C�C� #�D��I���r���c����������������������t�����������j�����������������������������|�j��������������������s�|�j��������r3 �t����������|�j��������d�d�dg������������}n#�t����������$�r�Y�d�S�w�xY�w|j��������}nd�}|�j��������� ��������������������|�� ����������������������������������|t������������������������������������}|�d�S�||�_��������|�j��������������������������������������������d|�_ ��������d�S�)N�__doc__T)rP���rQ����isfilerS���rT���� __import__�ImportError�__path__r=����find_modulery���rM���� collect_typesrV���)r%����pkgrQ����filenames��� r���rm���zVerifier._locate_module����s��������w�~�~�d�1�2�2�� +���� ��$�T�%5�t�T�I�;�O�O�C�C��"��������F�F�������|������}�0�0��1E�1E�1G�1G��1A�1C�1C�E��E�H�����"*�D��� �#�#�%�%�%�����s����A�� A�Ac������������������x�����||�j���������_�������� �|�j���������������������������������������������|�j���������`d�S�#�|�j���������`w�xY�wr ���)r=����_f�write_source_to_fre���s��� r����_write_source_tozVerifier._write_source_to����sG�������� �� !��M�+�+�-�-�-�� � � � ��� � � � � � s����0�� 9c������������������>����|�|�����������������������|�������������d�S�t������������������������}|�����������������������|�������������|�����������������������������������}t����������j�����������������������������|�j��������������������rGt����������|�j��������d������������5�}|�����������������������������������|k�����}d�d�d��������������n#�1�swxY�w�Y���nd}|rVt����������|�j���������������������t����������|�j��������d������������5�}|� ��������������������|�������������d�d�d��������������n#�1�swxY�w�Y���d|�_��������d�S�)N�rT�w)r����r����getvaluerP���rQ����existsrR����open�read�_ensure_dirr$���rU���)r%���rf����f�source_data�fp� needs_writtens��� r���rd���zVerifier._write_source����s���������!�!�$�'�'�'�'�'��� � �A��!�!�!�$�$�$��*�*�,�,�K���w�~�~�d�1�2�2�� %��$�-�s�3�3��C�r�)+�����k�)A�$B�M�C��C��C��C��C��C��C��C��C��C��C�����C��C��C��C���!%� ���� *��D�/�0�0�0��$�-�s�3�3��*�r��H�H�[�)�)�)�*��*��*��*��*��*��*��*��*��*��*�����*��*��*��*�� $�D���s$���� B0�0B4�7B4�)D�D�Dc������������������f����t�����������j�����������������������������|�j��������������������}t ����������j��������||������������������������������������������������} �t ����������j��������||�j��������������������}n#�t����������$�r�d}Y�nw�xY�w|s.t����������|�j���������������������t����������j��������||�j���������������������d|�_ ��������d�S�)NFT)rP���rQ���r����rR���r����compiler}����samefilerS����OSErrorr�����shutil�moverV���)r%���rO����outputfilename�sames��� r���ri���zVerifier._compile_module����s������������!4�5�5��$�,�V�T�5G�5G�5I�5I�J�J�� ��'���8K�L�L�D�D���� �� �� ��D�D�D� ������ =���+�,�,�,��K���(;�<�<�<�����s���� A(��(A7�6A7c�����������������������|�j���������sJ��|�j���������|�j�����������������������������|�j��������������������S�|�j�������������������������������������������S�r ���)rV���r?���r=���ro���rj���s��� r���rn���zVerifier._load_library����sE������������:�!��=�-�-�d�j�9�9�9��=�-�-�/�/�/r���)NNNr.���Fr/���NNr ���)r(���r)���r*���ra���rg���rk���ro���ry���r}���r����r@���rm���r����rd���ri���rn���r ���r���r���r-���r-������s���������������>B�@E�@D�'!��'!��'!��'!�R%��%��%��%�#��#��#�(��(��(� �� �� �K��K��K�0��0��0������ �� �� �&!��!��!�$��$��$��$�2 �� �� �0��0��0��0��0r���r-���Fc�����������������������t�����������rd}|s4dt����������j��������v�rd}n# �dd�l}n#�t����������$�r�d}Y�nw�xY�w|�j��������|urd}|r ddlm}�|j��������S�ddlm }�|j ��������S�)NT�__pypy__r����?r���)�vengine_gen)�vengine_cpy)�_FORCE_GENERIC_ENGINErD����builtin_module_names� _cffi_backendr�����_backendr.���r�����VGenericEnginer�����VCPythonEngine)r9���rY���r����r����r����s��� r���r<���r<�������s���������$�#���� ,���1�1�1�#'� � � $�$�$�$�$�$���� $�� $�� $� #� � � � $�����|�=�0�0�'+�$���*�!�!�!�!�!�!��)�)�!�!�!�!�!�!��)�)s����#��2�2c�������������������T����t�����������rt�����������S�t����������j�����������������������������d������������}�|�r|�S�t ����������j��������d������������j��������j��������}t����������j��������� ��������������������t����������j��������� ��������������������t����������j�����������������������������|������������d������������������������S�)N�CFFI_TMPDIRr2����__pycache__)�_TMPDIRrP����environ�getrD���� _getframe�f_code�co_filenamerQ����abspathrC���r����)�resultr����s��� r���rN���rN�������s������������ �Z�^�^�M� *� *�F� ���� ��}�Q���&�2�H� �7�?�?�2�7�<�<������(A�(A�(�*��*��+��+��+r���c������������������ �����|�a�dS�)z:Set the temporary directory to use instead of __pycache__.N)r����)r����s��� r���� set_tmpdirr������s ��������G�G�Gr���c����������������������|�p t������������������������}� �t����������j��������|�������������}n#�t����������$�r�Y�dS�w�xY�w|rd}n&t ������������������������d��������������������������������������������}|D�]�}|��������������������������������������������������������d������������r�|��������������������������������������������������������|������������s'|��������������������������������������������������������d������������rD �t����������j��������t����������j ��������� ��������������������|�|���������������������������#�t����������$�r�Y���w�xY�w��t����������j ��������� ��������������������|�d������������g}|D�]�} �t����������j��������|������������D�]k}t����������j ��������� ��������������������||������������}t����������j �����������������������������|������������r|���������������������|��������������Wt����������j��������|��������������l��#�t����������$�r�Y���w�xY�wdS�)z}Clean up the temporary directory by removing all files in it called `_cffi_*.{c,so}` as well as the `build` subdirectory.Nr/���r���r6����build) rN���rP����listdirr����rM����lower� startswithrw����unlinkrQ���rC����isdir�append)rO����keep_so�filelistr���r����� clean_dir�dirs��� r����cleanup_tmpdirr������s�������� ,�*�,�,�F���:�f�%�%��������������������/����!�#�#�A�&�,�,�.�.�������� �8�8�:�:� � ��*�*�� ���� � �#�#�F�+�+� �/1�x�x�z�z�/B�/B�4�/H�/H� � �� �"�'�,�,�v�r�2�2�3�3�3�3���� �� �� ��� ���������f�g�.�.�/�I��� �� �� ��j��o�o�� "�� "���W�\�\�#�r�*�*���7�=�=��$�$��"��$�$�R�(�(�(�(��I�b�M�M�M�M� "����� �� �� ��D� ���� �� s1����'�� 5�5�2D� D�D�B�G� G�Gc�������������������T�����t������������������������}�|�st����������j��������dk����rdg}�ndg}�|�S�)N�win32z.pydz.so)r���rD����platform)�suffixess��� r���rM���rM���%��s7������"�$�$�H�����<�7�"�"��x�H�H��w�H��Or���c�����������������������t�����������j�����������������������������|�������������}|r5t�����������j�����������������������������|������������st����������j��������|�������������d�S�d�S�d�S�r ���)rP���rQ���r����r�����makedirs)r����r����s��� r���r����r����0��s\�������g�o�o�h�'�'�G����r�w�}�}�W�-�-��� ��G������������r���)NF)rD���rP���rH���r�����ior.���r���r����errorr���rE����importlib.machineryr ���r���r����StringIOr����BytesIO�objectr-���r����r<���r����rN���r����r����rM���r����r ���r���r����<module>r�������s������%��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��*��*��*��*��*��*��������������$��$��$��$��$��$���v�������9��9��9��9���J�J�J�,��,��,� ���t����{�H�H�+��+��+��+��+�2�:��+��+��+�{0��{0��{0��{0��{0�v��{0��{0��{0�~����*��*��*�,���+��+��+������ �������> �� �� ���������r���