Sindbad~EG File Manager
�
�fH���`�dZddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
mZmZm
Z
ddlmZddlmZmZddlmZGd�d e��Zd
�ee��D��ZdZeZd�Zd
�Zd�Zd�Zd�Z d�Z!dyd�Z"d�Z#d�Z$d�Z%d�Z&dyd�Z'd�Z(d�Z)d�Z*Gd�de+��Z,Gd�de+��Z-e-��Z.e.j/Z/e.j0Z1e.j2Z3hd �Z4d!�Z5Gd"�d#e6��Z7d$�Z8Gd%�d&e+��Z9Gd'�d(e+��Z:Gd)�d*e:��Z;ej<e;j=��Z>Gd+�d,e6��Z?d-�Z@Gd.�d/e:��ZAGd0�d1eAe;��ZBd2�ZCGd3�d4e+��ZDd5�ZEe/dddddfdd6�d7�ZF dzd8�ZGe/dddddfdd6�d9�ZHGd:�d;e+��ZId<�ZJd=�ZKeFeH_+eIeH_LeGeH_MeKeH_Nd>eH_Od?ZPd@ZQdA�RdB�eQ�S��D����ZTdA�RdC�eQ�S��D����ZUhdD�ZVdE�ZWdF�dA�RePeQeTeUg���S��D��ZXhdG�ZYdHhZZeYeZzZ[eXeVzZ\e\e[zZ]hdI�Z^dJ�dK�dL�dM�dN�Z_e`e`e`e`dOddddPdQddOddR�
ZadS�ZbdT�ZcdU�ZddV�ZeebecedeedW�ZfdX�ZgGdY�dZe:��ZhGd[�d\ehe;��ZiGd]�d^eh��ZjGd_�d`eheB��ZkGda�dbe:��ZlGdc�dde:��ZmGde�dfemejeB��ZnGdg�dhe+��Zoeo��Zpdi�ZqGdj�dker��Zsesd�l��Zt d{dd6�dm�Zudn�ZvGdo�dpe+��Zwexeu��exepjy��fZzda{da|dq�Z}d|ds�Z~Gdt�dueB��Zdv�Z�Gdw�dx��Z�dS)})�Mock� MagicMock�patch�sentinel�DEFAULT�ANY�call�create_autospec� AsyncMock�
FILTER_DIR�NonCallableMock�NonCallableMagicMock� mock_open�PropertyMock�seal�N)�iscoroutinefunction)�CodeType�
ModuleType�
MethodType)� safe_repr)�wraps�partial)�RLockc��eZdZdS)�InvalidSpecErrorN��__name__�
__module__�__qualname__���4/opt/alt/python311/lib64/python3.11/unittest/mock.pyrr)s������B�Br!rc�<�h|]}|�d���|��S��_��
startswith)�.0�names r"� <setcomp>r*-s)��H�H�H�d�4�?�?�3�3G�3G�H�T�H�H�Hr!Tc���t|��rt|t��sdSt|d��rt |d��}t|��pt
j|��S)NF�__func__)�_is_instance_mock�
isinstancer
�hasattr�getattrr�inspect�isawaitable��objs r"�
_is_async_objr55sg�������j��i�&@�&@���u��s�J���'��c�:�&�&���s�#�#�?�w�':�3�'?�'?�?r!c�F�t|dd��rt|��SdS)N�__code__F)r0r)�funcs r"�_is_async_funcr9=s)���t�Z��&�&��"�4�(�(�(��ur!c�F�tt|��t��S�N)�
issubclass�typerr3s r"r-r-Ds���d�3�i�i��1�1�1r!c��t|t��p)t|t��ot|t��Sr;)r.�
BaseExceptionr=r<r3s r"�
_is_exceptionr@Js6���3�
�&�&� A��3����@�*�S�-�"@�"@�r!c�^�t|t��rt|d��r|jS|S�N�mock)r.�
FunctionTypesr/rCr3s r"�
_extract_mockrEQs3���#�}�%�%��'�#�v�*>�*>���x���
r!c�� t|t��r|s
|j}d}njt|ttf��rt|t��rd}|j}n/t|t��s |j}n#t$rYdSwxYw|rt|d��}n|} |tj|��fS#t$rYdSwxYw�NT)
r.r=�__init__�classmethod�staticmethodr,rD�__call__�AttributeErrorrr1� signature�
ValueError)r8�as_instance�eat_self�sig_funcs r"�_get_signature_objectrRZs���
�$�����k���}����� �D�;��5� 6� 6���d�K�(�(� ��H��}���
��m�
,�
,�� ��=�D�D��� � � ��4�4� �������4��&�&�������W�&�x�0�0�0�0�������t�t����s$�4A<�<
B
� B
�#B9�9
C�CFc���t|||�����dS�\}��fd�}t||��|t|��_�t|��_dS)Nc�"���j|i|��dSr;��bind)�self�args�kwargs�sigs �r"�checksigz"_check_signature.<locals>.checksig�� ������$�!�&�!�!�!�!�!r!)rR�_copy_func_detailsr=�_mock_check_sig�
__signature__)r8rC� skipfirst�instancer[rZs @r"�_check_signaturerb}sr���
��h� �
:�
:�C�
�{����I�D�#�"�"�"�"�"��t�X�&�&�&�!)�D��J�J��"�D��J�J���r!c �p�dD]2} t||t||�����##t$rY�/wxYwdS)N)r�__doc__�__text_signature__r�__defaults__�__kwdefaults__)�setattrr0rL)r8�funcopy� attributes r"r]r]�sa����� � ��G�Y���i�(@�(@�A�A�A�A��� � � ��D� ����
�s�&�
3�3c���t|t��rdSt|tttf��rt|j��St|dd���dSdS)NTrKF)r.r=rJrIr� _callabler,r0r3s r"rlrl�s^���#�t�����t��#��k�:�>�?�?�'����&�&�&��s�J��%�%�1��t��5r!c�<�t|��ttfvSr;)r=�list�tupler3s r"�_is_listrp�s����9�9��u�
�%�%r!c�� t|t��st|dd��duS|f|jzD]}|j�d���dS� dS)NrKTF)r.r=r0�__mro__�__dict__�get)r4�bases r"�_instance_callablerv�sr��@��c�4� � �:��s�J��-�-�T�9�9�����$�����=���Z�(�(�4��4�4�5��5r!c�0��t|t��}t|||��}|�|S|\}��fd�}t||��|j}|���sd}||d�}d|z} t
| |��||}
t|
|���|
S)Nc�"���j|i|��dSr;rU)rXrYrZs �r"r[z _set_signature.<locals>.checksig�r\r!ri)�
_checksig_rCzYdef %s(*args, **kwargs):
_checksig_(*args, **kwargs)
return mock(*args, **kwargs))r.r=rRr]r�isidentifier�exec�_setup_func)rC�originalrar`�resultr8r[r)�context�srcrirZs @r"�_set_signaturer��s����
�8�T�*�*�I�
"�8�X�y�
A�
A�F�
�~����I�D�#�"�"�"�"�"��t�X�&�&�&���D���������%�t�4�4�G�$�&*�+�C� �#�w�����d�m�G����s�#�#�#��Nr!c�������_�fd�}�fd�}�fd�}�fd�}�fd�}�fd�}�fd�} ��fd�}
d �_d
�_d�_t ���_t ���_t ���_�j�_�j �_ �j
�_
|�_|�_|�_
| �_|
�_|�_|�_|�_|�_��_dS)Nc����j|i|��Sr;)�assert_called_with�rXrYrCs �r"r�z'_setup_func.<locals>.assert_called_with�����&�t�&��7��7�7�7r!c����j|i|��Sr;)�
assert_calledr�s �r"r�z"_setup_func.<locals>.assert_called�s���!�t�!�4�2�6�2�2�2r!c����j|i|��Sr;)�assert_not_calledr�s �r"r�z&_setup_func.<locals>.assert_not_called�s���%�t�%�t�6�v�6�6�6r!c����j|i|��Sr;)�assert_called_oncer�s �r"r�z'_setup_func.<locals>.assert_called_once�r�r!c����j|i|��Sr;)�assert_called_once_withr�s �r"r�z,_setup_func.<locals>.assert_called_once_with�s���+�t�+�T�<�V�<�<�<r!c����j|i|��Sr;)�assert_has_callsr�s �r"r�z%_setup_func.<locals>.assert_has_calls�s���$�t�$�d�5�f�5�5�5r!c����j|i|��Sr;)�assert_any_callr�s �r"r�z$_setup_func.<locals>.assert_any_call�s���#�t�#�T�4�V�4�4�4r!c����t���_t���_�����j}t|��r|�ur|���dSdSdSr;)� _CallList�method_calls�
mock_calls�
reset_mock�return_valuer-)�retrirCs ��r"r�z_setup_func.<locals>.reset_mock�so���(�{�{���&�[�[����������"���S�!�!� �#��+�+��N�N������ � �+�+r!Fr)rC�called�
call_count� call_argsr��call_args_listr�r�r��side_effect�_mock_childrenr�r�r�r�r�r�r�r�r_�_mock_delegate)rirCrZr�r�r�r�r�r�r�r�s`` r"r|r|�s������G�L�8�8�8�8�8�3�3�3�3�3�7�7�7�7�7�8�8�8�8�8�=�=�=�=�=�6�6�6�6�6�5�5�5�5�5��������G�N��G���G��&�[�[�G��$�;�;�G��"���G���,�G���*�G��!�0�G��!3�G��&=�G�#�/�G��-�G��#�G��)�G�� 1�G��!3�G���G��!�D���r!c ����tjj�_d�_d�_t���_�fd�}dD]!}t�|t||�����"dS)Nrc�:��t�j|��|i|��Sr;)r0rC)�attrrXrYrCs �r"�wrapperz"_setup_async_mock.<locals>.wrapper
s$���'�w�t�y�$�'�'��8��8�8�8r!)�assert_awaited�assert_awaited_once�assert_awaited_with�assert_awaited_once_with�assert_any_await�assert_has_awaits�assert_not_awaited) �asyncio�
coroutines�
_is_coroutine�await_count�
await_argsr��await_args_listrhr)rCr�rjs` r"�_setup_async_mockr�s���� �+�9�D���D���D�O�$�;�;�D��
9�9�9�9�9�,�>�>� � ��i���)�!<�!<�=�=�=�=�>�>r!c�$�d|dd�z|kS)N�__%s__����r �r)s r"� _is_magicr�s���d�1�R�4�j� �D�(�(r!c�"�eZdZ d�Zd�Zd�ZdS)�_SentinelObjectc��||_dSr;r��rWr)s r"rHz_SentinelObject.__init__"s
���� � � r!c��d|jzS�Nzsentinel.%sr��rWs r"�__repr__z_SentinelObject.__repr__%����t�y�(�(r!c��d|jzSr�r�r�s r"�
__reduce__z_SentinelObject.__reduce__(r�r!N)rrrrHr�r�r r!r"r�r� sD������'����)�)�)�)�)�)�)�)r!r�c�"�eZdZ d�Zd�Zd�ZdS)� _Sentinelc��i|_dSr;)�
_sentinelsr�s r"rHz_Sentinel.__init__.s
������r!c�l�|dkrt�|j�|t|����S)N� __bases__)rLr��
setdefaultr�r�s r"�__getattr__z_Sentinel.__getattr__1s3���;��� � ���)�)�$���0E�0E�F�F�Fr!c��dS)Nrr r�s r"r�z_Sentinel.__reduce__7s���zr!N)rrrrHr�r�r r!r"r�r�,sG������K����G�G�G�����r!r�>�
_mock_namer��_mock_parentr��_mock_new_name�_mock_new_parent�_mock_side_effect�_mock_return_valuec�x�t�|��d|z}||fd�}||fd�}t||��S)N�_mock_c�T�|j}|�t||��St||��Sr;)r�r0)rWr)� _the_namerZs r"�_getz"_delegating_property.<locals>._getLs/���!���;��4��+�+�+��s�D�!�!�!r!c�R�|j}|�||j|<dSt|||��dSr;)r�rsrh)rW�valuer)r�rZs r"�_setz"_delegating_property.<locals>._setQs9���!���;�',�D�M�)�$�$�$��C��u�%�%�%�%�%r!)�_allowed_names�add�property)r)r�r�r�s r"�_delegating_propertyr�Ise�����t�����4��I�� �"�"�"�"�
$�y�&�&�&�&��D�$���r!c��eZdZd�Zd�ZdS)r�c��t|t��st�||��St|��}t|��}||krdSt d||z
dz��D]}||||z�}||krdS�dS)NFr�T)r.rn�__contains__�len�range)rWr�� len_value�len_self�i�sub_lists r"r�z_CallList.__contains__^s����%��&�&� 2��$�$�T�5�1�1�1���J�J� ��t�9�9���x����5��q�(�Y�.��2�3�3� � �A��A�a� �k�M�*�H��5� � ��t�t�!��ur!c�D�tjt|����Sr;)�pprint�pformatrnr�s r"r�z_CallList.__repr__ls���~�d�4�j�j�)�)�)r!N)rrrr�r�r r!r"r�r�\s2���������*�*�*�*�*r!r�c���t|��}t|��sdS|js|js|j�|j�dS|}|�||urdS|j}|�|r||_||_|r||_||_dS)NFT)rEr-r�r�r�r�)�parentr�r)�new_name�_parents r"�_check_and_set_parentr�ps����%� � �E��U�#�#���u� � ��U�1�� � � '� � � +��u��G�
�
��e����5��*���
��(�!'���'���� �#�������4r!c��eZdZd�Zd�ZdS)� _MockIterc�.�t|��|_dSr;)�iterr4)rWr4s r"rHz_MockIter.__init__�s����9�9����r!c�*�t|j��Sr;)�nextr4r�s r"�__next__z_MockIter.__next__�s���D�H�~�~�r!N)rrrrHr�r r!r"r�r��s2�������������r!r�c��eZdZeZdZd�ZdS)�BaseNc��dSr;r �rWrXrYs r"rHz
Base.__init__�s���r!)rrrrr�r�rHr r!r"r�r��s/������ ����
�
�
�
�
r!r�c��eZdZ e��Zd�Z d,d�Zd�Zd-d�Z d.d�Z d �Z
d
�ZdZe
e
ee��Ze
d���Zed
��Zed��Zed��Zed��Zed��Zd�Zd�Ze
ee��Zd/ddd�d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d0d�Z"d �Z#d!�Z$d"�Z%d#�Z&d$�Z'd%�Z(d&�Z)d-d'�Z*d(�Z+d)�Z,d1d+�Z-dS)2rc�z�|f}t|t��s]tj|g|�Ri|��j}|�d|�d����}|�t
|��r t|f}t|j|d|j i��}tt|���|��}|S)N�spec_set�specrd)
r<�AsyncMockMixin� _MOCK_SIG�bind_partial� argumentsrtr5r=rrd�_safe_superr�__new__)�clsrX�kw�bases�
bound_args�spec_arg�newras r"rzNonCallableMock.__new__�s�������#�~�.�.� .�"�/��A�d�A�A�A�b�A�A�K�J�!�~�~�j�*�.�.��2H�2H�I�I�H��#�
�h�(?�(?�#�'��-���3�<���C�K�(@�A�A�����4�4�<�<�S�A�A���r!N�Fc��|�|}|j}
||
d<||
d<||
d<||
d<d|
d<|�|}d}|
�|du}
|�||| |
��i|
d<||
d <d|
d
<d|
d<d|
d<d
|
d<t��|
d<t��|
d<t��|
d<||
d<|r
|jdi|��t t
|���||||||��dS)Nr�r�r�r�F�_mock_sealedTr��_mock_wrapsr��_mock_called�_mock_call_argsr�_mock_call_count�_mock_call_args_list�_mock_mock_callsr��_mock_unsafer )rs�_mock_add_specr��configure_mockrrrH)rWr�rr)r�r��_spec_state� _new_name�_new_parent�_spec_as_instance� _eat_self�unsaferYrss r"rHzNonCallableMock.__init__�sV��
�� �K��=��#)��� �!%����%.��!�"�'2��#�$�#(��� ����D��H����d�*�I����D�(�,=�y�I�I�I�%'��!�"�"'����%)��!�"�#(��� �&*��"�#�'(��#�$�+4�;�;��'�(�'0�{�{��#�$�#,�;�;��� �#)��� �� *��D��)�)�&�)�)�)��O�T�*�*�3�3��%��x���
�
�
�
�
r!c�� t|��}d|_d|_d|_d|_t|||��dS�Nr)rEr�r�r�r�rh)rWrCrj�
inner_mocks r"�attach_mockzNonCallableMock.attach_mock�sO�� C�#�4�(�(�
�"&�
��&*�
�#� "�
��$(�
�!���i��&�&�&�&�&r!c�4� |�||��dSr;)r�rWr�r�s r"�
mock_add_speczNonCallableMock.mock_add_spec�s&�� N�
���D�(�+�+�+�+�+r!c���t|��rtd|�d����d}d}g}t|��D]5}tt ||d����r|�|���6|�`t
|��sQt|t��r|}nt|��}t|||��} | o| d}t|��}|j
}
||
d<||
d<||
d<||
d<||
d<dS) Nz#Cannot spec a Mock object. [object=�]r��_spec_class� _spec_set�_spec_signature�
_mock_methods�_spec_asyncs)r-r�dirrr0�appendrpr.r=rRrs)rWr�r�rrr'r)r+r��resrss r"rzNonCallableMock._mock_add_spec�s'���T�"�"� T�"�#R��#R�#R�#R�S�S�S���������I�I� *� *�D�"�7�4��t�#<�#<�=�=�
*��#�#�D�)�)�)����H�T�N�N���$��%�%�
)�"���"�4�j�j��'��(9�9�F�F�C�!�n�c�!�f�O��t�9�9�D��=��"-���� (����&5��"�#�$(���!�#/��� � � r!c��|j}|j�|jj}|tur%|j�|�|d���}||_|S)N�()�rr)r�r�r�rr�_get_child_mock)rWr�s r"�__get_return_valuez"NonCallableMock.__get_return_values]���%����*��%�2�C��'�>�>�d�.�6��&�&� �D�'���C�!$�D���
r!c�b�|j�||j_dS||_t||dd��dS)Nr0)r�r�r�r�)rWr�s r"�__set_return_valuez"NonCallableMock.__set_return_value%s>����*�/4�D��,�,�,�&+�D�#�!�$��t�T�:�:�:�:�:r!z1The value to be returned when the mock is called.c�<�|j�t|��S|jSr;)r'r=r�s r"� __class__zNonCallableMock.__class__1s ����#���:�:����r!r�r�r�r�r�c���|j}|�|jS|j}|�It|��s:t |t
��s%t
|��st|��}||_|Sr;)r�r�r��callabler.r�r@)rW� delegated�sfs r"�__get_side_effectz!NonCallableMock.__get_side_effect>sj���'� ����)�)�
�
"���N�8�B�<�<�N�"�2�y�1�1�
�:G��:K�:K�
��2���B�$&�I�!�� r!c�V�t|��}|j}|� ||_dS||_dSr;)� _try_iterr�r�r�)rWr�r:s r"�__set_side_effectz!NonCallableMock.__set_side_effectIs9���%� � ���'� ���%*�D�"�"�"�$)�I�!�!�!r!�r�r�c�P� |�g}t|��|vrdS|�t|����d|_d|_d|_t��|_t��|_t��|_|rt|_
|rd|_|j�
��D]9}t|t��s |t ur�!|�|||����:|j
}t%|��r||ur|�|��dSdSdS)NFrr@)�idr-r�r�r�r�r�r�r�rr�r�r��valuesr.�
_SpecState�_deletedr�r-)rW�visitedr�r��childr�s r"r�zNonCallableMock.reset_mockTs8��7��?��G�
�d�8�8�w����F����r�$�x�x� � � ����������#�+�+���'�k�k���%�K�K���� .�&-�D�#�� *�%)�D�"��(�/�/�1�1� Z� Z�E��%��,�,�
���0A�0A�����W�<�[��Y�Y�Y�Y��%���S�!�!� $�c��o�o��N�N�7�#�#�#�#�#� $� $�o�or!c�� t|���d����D]V\}}|�d��}|���}|}|D]}t ||��}�t|||���WdS)Nc�8�|d�d��S)Nr�.)�count)�entrys r"�<lambda>z0NonCallableMock.configure_mock.<locals>.<lambda>s���q�����1D�1D�r!)�keyrJ)�sorted�items�split�popr0rh)rWrY�arg�valrX�finalr4rLs r"rzNonCallableMock.configure_mockrs��� ,��v�|�|�~�~�$E�#D� F�F�F�
%�
%�H�C��
�9�9�S�>�>�D��H�H�J�J�E��C��
*�
*���c�5�)�)����C���$�$�$�$�
%�
%r!c
��|dvrt|���|j�%||jvs |tvrtd|z���nt|��rt|���|js:|jr ||jvr*|�d��rt|�d|�d����tj5|j� |��}|turt|���|�Cd}|j�t|j|��}|�
|||||���}||j|<n�t|t��rv t!|j|j|j|j|j��}n>#t,$r1|jdp|}t-d|�d |�d
|�d|j�d� ���wxYw||j|<ddd��n#1swxYwY|S)
N>rr*zMock object has no attribute %r)�assert�assret�asert�aseert�assrtz6 is not a valid assertion. Use a spec for the mock if z is meant to be an attribute.)r�r)rrrr��Cannot autospec attr �
from target �, as it has already been mocked out. [target=�, attr=r&)rLr*�_all_magicsr�rr'r�_lockr�rtrErr0r2r.rDr r�r�rar�r)rrs)rWr)r~r�target_names r"r�zNonCallableMock.__getattr__�s����4�4�4� ��&�&�&�
�
�
+��4�-�-�-���1D�1D�$�%F��%M�N�N�N�2E�
�t�_�_� '� ��&�&�&�� � N�$�*<� N��D�L^�@^�@^����O�P�P�
N�$��M�M�'+�M�M�M�N�N�N��
"� 4� 4��(�,�,�T�2�2�F���!�!�$�T�*�*�*������#�/�$�D�$4�d�;�;�E��-�-��d�%�4� $�.����.4��#�D�)�)��F�J�/�/�
4�
D�,���V�_�f�o��
�v�{���F�F��(�D�D�D�"&�-��"=�"E��K�*�C��C�C�&�C�C�#'�C�C�28�+�C�C�C�D�D�D�D����.4��#�D�)�; 4� 4� 4� 4� 4� 4� 4� 4� 4� 4� 4���� 4� 4� 4� 4�>�
s+�+B
F:�9,E&�%F:�&;F!�!
F:�:F>�F>c�n�|jg}|j}|}d}|dgkrd}|�7|}|�|j|z��d}|jdkrd}|j}|�7tt |����}|jpd}t
|��dkr|ddvr|dz
}||d<d�|��S)NrJr0rrCr�)r0z().r)r�r�r-rn�reversedr�r��join)rW�
_name_listr��last�dot�_firsts r"�_extract_mock_namez"NonCallableMock._extract_mock_name�s����)�*�
��'�������$�����C��!��D����g�4�s�:�;�;�;��C��%��-�-����.�G��!��(�:�.�.�/�/�
���*�F���z�?�?�Q����!�}�M�1�1��#�
���
�1�
��w�w�z�"�"�"r!c���|���}d}|dvrd|z}d}|j�d}|jrd}||jjz}dt |��j�|�|�dt|���d�S) Nr)rCzmock.z name=%rz spec=%rz spec_set=%r�<z id='z'>)rjr'r(rr=rB)rWr)�name_string�spec_strings r"r�zNonCallableMock.__repr__�s����&�&�(�(�����(�(�(�$�t�+�K�����'�$�K��~�
-�,��%��(8�(A�A�K����J�J����K��K�K��t�H�H�H�H�
�
r!c�x� tst�|��S|jpg}t t|����}t
|j��}d�|j� ��D��}d�|D��}d�|D��}tt||z|z|z����S)Nc�*�g|]\}}|tu�|��Sr )rE)r(�m_name�m_values r"�
<listcomp>z+NonCallableMock.__dir__.<locals>.<listcomp>�s1��(�(�(�&�v�w��h�&�&�
�&�&�&r!c�<�g|]}|�d���|��Sr$r&�r(�es r"rsz+NonCallableMock.__dir__.<locals>.<listcomp>�s)��C�C�C�1����c�1B�1B�C�Q�C�C�Cr!c�Z�g|](}|�d��rt|���&|��)Sr$)r'r�rus r"rsz+NonCallableMock.__dir__.<locals>.<listcomp>�sE��#�#�#�1����c�1B�1B�#��q�\�\�#�Q�#�#�#r!)r�object�__dir__r*r,r=rnrsr�rPrO�set)rW�extras� from_type� from_dict�from_child_mockss r"ryzNonCallableMock.__dir__�s���F�� (��>�>�$�'�'�'��#�)�r����T�
�
�O�O� ����'�'� �(�(�*.�*=�*C�*C�*E�*E�(�(�(��D�C� �C�C�C� �#�#� �#�#�#� ��c�&�9�,�y�8�;K�K�L�L�M�M�Mr!c�T���|tvrt��||��S�jr+�j�$|�jvr|�jvrt
d|z���|tvrd|z}t
|���|tvr��j�|�jvrt
d|z���t|��s5tt���|t||����|���fd�}nft�|d|��tt���||��|�j|<n+|dkr |�_dSt�|||��r
|�j|<�jr;t#�|��s+�����d|��}t
d|�����t��||��S)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.c�����g|�Ri|��Sr;r )rXrr}rWs ��r"rMz-NonCallableMock.__setattr__.<locals>.<lambda>s!���H�H�T�,G�D�,G�,G�,G�B�,G�,G�r!r7rJzCannot set )r�rx�__setattr__r(r*rsrL�_unsupported_magicsr`r-rhr=�_get_methodr�r�r'rr/rj)rWr)r��msg� mock_namer}s` @r"r�zNonCallableMock.__setattr__�s������>�!�!��%�%�d�D�%�8�8�8��n� 2��!3�!?���*�*�*���
�%�%� �!D�t�!K�L�L�L�
�(�
(�
(�B�T�I�C� ��%�%�%�
�[�
�
��!�-�$�d�>P�2P�2P�$�%H�4�%O�P�P�P�$�U�+�+�
2���T�
�
�D�+�d�E�*B�*B�C�C�C� ��G�G�G�G�G���&�d�E�4��>�>�>���T�
�
�D�%�0�0�0�,1��#�D�)�)�
�[�
�
�$�D���F�$�T�5�$��=�=�
2�,1��#�D�)��� <�W�T�4�%8�%8� <��2�2�4�4�=�=�t�=�=�I� �!:�y�!:�!:�;�;�;��!�!�$��e�4�4�4r!c��|tvr>|t|��jvr(tt|��|��||jvrdS|j�|t��}||jvr)tt|��� |��n|turt|���|tur|j|=t|j|<dSr;)r`r=rs�delattrr�rt�_missingrr�__delattr__rErL)rWr)r4s r"r�zNonCallableMock.__delattr__!s����;���4�4��:�:�+>�#>�#>��D��J�J��%�%�%��4�=�(�(����!�%�%�d�H�5�5���4�=� � ����.�.�:�:�4�@�@�@�@�
�H�_�_� ��&�&�&��h����#�D�)�$,���D�!�!�!r!c�6�|jpd}t|||��SrB)r��_format_call_signature�rWrXrYr)s r"�_format_mock_call_signaturez+NonCallableMock._format_mock_call_signature3s ����(�&��%�d�D�&�9�9�9r!rc�d�d}|�||��}|j}|j|�}||||fzS)Nz0expected %s not found.
Expected: %s
Actual: %s)r�r�)rWrXrY�action�message�expected_stringr��
actual_strings r"�_format_mock_failure_messagez,NonCallableMock._format_mock_failure_message8sD��F���:�:�4��H�H���N� �8��8�)�D�
��&�/�=�A�A�Ar!c�� |s|jSd}|�dd���d��}|j}|D]M}|�|��}|�t|t��rnt|��}|j}|j}�N|S)Nr0rrJ)r)�replacerQr�rtr.rDrE)rWr)rZ�names�childrenrGs r"�_get_call_signature_from_namez-NonCallableMock._get_call_signature_from_name@s��� �� (��'�'������T�2�&�&�,�,�S�1�1���&���
,�
,�D��L�L��&�&�E��}�
�5�*� =� =�}���
&�e�,�,�� �/���+����
r!c�� t|t��r/t|��dkr|�|d��}n|j}|�vt|��dkrd}|\}}n|\}}} |j|i|��}t
||j|j��S#t$r}|�
d��cYd}~Sd}~wwxYw|S)Nr�rr)r.ror�r�r)rVrrXrY� TypeError�with_traceback)rW�_callrZr)rXrY�
bound_callrvs r"�
_call_matcherzNonCallableMock._call_matcheras��� ��e�U�#�#� '��E�
�
�Q����4�4�U�1�X�>�>�C�C��&�C��?��5�z�z�Q�����$���f�f�%*�"��d�F�
.�%�S�X�t�6�v�6�6�
��D�*�/�:�3D�E�E�E���
.�
.�
.��'�'��-�-�-�-�-�-�-�-�����
.�����Ls�1'B�
C�#B=�7C�=Cc�� |jdkr8d|jpd�d|j�d|�����}t|���dS)Nr�
Expected 'rCz"' to not have been called. Called � times.�r�r��_calls_repr�AssertionError�rWr�s r"r�z!NonCallableMock.assert_not_called|sa�� ��?�a�����o�/��/�/��o�o�o��&�&�(�(�(�*�C�!��%�%�%� �r!c�T� |jdkrd|jpdz}t|���dS)Nrz"Expected '%s' to have been called.rC)r�r�r�r�s r"r�zNonCallableMock.assert_called�s>�� ��?�a���7��O�-�v�/�C� ��%�%�%� �r!c�� |jdks8d|jpd�d|j�d|�����}t|���dS)Nr�r�rCz#' to have been called once. Called r�r�r�s r"r�z"NonCallableMock.assert_called_once�sa�� ���!�#�#�#��o�/��/�/��o�o�o��&�&�(�(�(�*�C�!��%�%�%�$�#r!c�v���� �j�/������}d}d|�d|��}t|������fd�}��t ��fd�����}���j��}||kr1t|t��r|nd}t|����|�dS)Nznot called.z#expected call not found.
Expected: z
Actual: c�4��������}|Sr;�r��r�rXrYrWs ���r"�_error_messagez:NonCallableMock.assert_called_with.<locals>._error_message�s����3�3�D�&�A�A�C��Jr!T��two)r�r�r�r��_Callr.� Exception)rWrXrY�expected�actual�
error_messager��causes``` r"r�z"NonCallableMock.assert_called_with�s������ 3��>�!��7�7��f�E�E�H�"�F�F��x�x���)�M� ��/�/�/� � � � � � � ��%�%�e�T�6�N��&E�&E�&E�F�F���#�#�D�N�3�3���X��� *�8�Y� ?� ?�I�H�H�T�E� ���!1�!1�2�2��=��r!c�� |jdks8d|jpd�d|j�d|�����}t|���|j|i|��S)Nr�r�rCz' to be called once. Called r�)r�r�r�r�r��rWrXrYr�s r"r�z'NonCallableMock.assert_called_once_with�sq�� )���!�#�#�#��o�/��/�/��o�o�o��&�&�(�(�(�*�C�!��%�%�%�&�t�&��7��7�7�7r!c��� �fd�|D��}td�|D��d��}t�fd��jD����}|su||vro|�d}nd�d�|D����}t |�dt|�����d� ���d
������|�dSt|��}g}|D]=} |�|���#t$r|�
|��Y�:wxYw|r-t �jpd�dt|���d
|�d���|�dS)Nc�:��g|]}��|����Sr �r��r(�crWs �r"rsz4NonCallableMock.assert_has_calls.<locals>.<listcomp>��'���9�9�9�a�D�&�&�q�)�)�9�9�9r!c3�DK�|]}t|t���|V��dSr;�r.r�rus r"� <genexpr>z3NonCallableMock.assert_has_calls.<locals>.<genexpr>��1����F�F�A�Z��9�-E�-E�F�a�F�F�F�F�F�Fr!c3�B�K�|]}��|��V��dSr;r�r�s �r"r�z3NonCallableMock.assert_has_calls.<locals>.<genexpr>�s1�����M�M��d�0�0��3�3�M�M�M�M�M�Mr!zCalls not found.z+Error processing expected calls.
Errors: {}c�@�g|]}t|t��r|nd��Sr;r�rus r"rsz4NonCallableMock.assert_has_calls.<locals>.<listcomp>��;��$7�$7�$7�()�*4�A�y�)A�)A�$K�A�A�t�$7�$7�$7r!�
Expected: z Actual)�prefixrJrCz does not contain all of z in its call list, found z instead)
r�r�r��formatr�r��rstriprn�removerNr-r�ro) rW�calls� any_orderr�r�� all_calls�problem� not_found�kalls ` r"r�z NonCallableMock.assert_has_calls�s���� 1�:�9�9�9�5�9�9�9���F�F��F�F�F��M�M���M�M�M�M�T�_�M�M�M�M�M� �� ��y�(�(��=�0�G�G� ,�-3�V�$7�$7�-5�$7�$7�$7�.8�.8��%��I�I�!*�5�!1�!1�I��'�'�z�'�:�:�A�A�#�F�F�I�I���� �
�F���O�O� �� �� '� '�D�
'�� � ��&�&�&�&���
'�
'�
'�� � ��&�&�&�&�&�
'����� � �&*�o�&?��&?�&?�&+�I�&6�&6�&6�&6� � � �C����
� � s�C.�.D�Dc�&�� ��t||fd�����}t|t��r|nd}�fd��jD��}|s|t|��vr)��||��}td|z��|�dS)NTr�c�:��g|]}��|����Sr r�r�s �r"rsz3NonCallableMock.assert_any_call.<locals>.<listcomp>�s'���E�E�E�A�$�$�$�Q�'�'�E�E�Er!z%s call not found)r�r�r.r�r��_AnyComparerr�r��rWrXrYr�r�r�r�s` r"r�zNonCallableMock.assert_any_call�s���� ,�
�%�%�e�T�6�N��&E�&E�&E�F�F��&�x��;�;�E�����E�E�E�E��1D�E�E�E��� �H�L��$8�$8�8�8�"�>�>�t�V�L�L�O� �#�o�5����
�9�8r!c�� |jr7d|vrd|d��nd}|���|z}t|���|�d��}||jdvrtdi|��St
|��}t|t��r|tvrt
}n�t|t��r)|tvs|jr||jvrt}ndt
}n\t|t��s:t|t��rt}n*t|t��rt }n
|jd}|di|��S)Nr)rJr0rr+r�r )rrjrLrtrsr
r=r<r�_async_method_magicsr�_all_sync_magicsr*�
CallableMixinr
rrrr)rWrrjr�r�_type�klasss r"r2zNonCallableMock._get_child_mock�s`�� !��� ,�,2�b�L�L�(�B�v�J�(�(�(�d�I��/�/�1�1�I�=�I� ��+�+�+��F�F�;�'�'� ���
�n�5�5�5��?�?�r�?�?�"��T�
�
���e�Y�'�'� %�I�9M�,M�,M��E�E�
��~�
.�
.�
%��-�-�-��&�.�+4��8J�+J�+J�!���!����E�=�1�1� %��%�!5�6�6�
�!����E�?�3�3�
�����M�!�$�E��u�{�{�r�{�{�r!�Callsc�L� |jsdSd|�dt|j���d�S)Nr�
z: rJ)r�r)rWr�s r"r�zNonCallableMock._calls_reprs;�� ��� ��2�;�F�;�;�i���8�8�;�;�;�;r!)NNNNNNrNFNF�F)FFr;)r)r�).rrrrrarrHr!r$r�"_NonCallableMock__get_return_value�"_NonCallableMock__set_return_value�"_NonCallableMock__return_value_docr�r�r7r�r�r�r�r�r��!_NonCallableMock__get_side_effect�!_NonCallableMock__set_side_effectr�r�rr�rjr�ryr�r�r�r�r�r�r�r�r�r�r�r�r�r2r�r r!r"rr�s�������*�
�E�G�G�E�
�
�
�">B�EI�<A�*
�*
�*
�*
�Z'�'�'�,�,�,�,�@E�!&�0�0�0�0�>
�
�
�;�;�;�M���8�.�0B�.�0�0�L�� � ��X� �
"�
!�(�
+�
+�F�%�%�l�3�3�J�$�$�[�1�1�I�)�)�*:�;�;�N�%�%�l�3�3�J� � � �*�*�*��(�,�.?�@�@�K�$�u�%�$�$�$�$�$�<%�%�%�,-�-�-�`#�#�#�6
�
�
�*N�N�N�$$5�$5�$5�N-�-�-�$:�:�:�
B�B�B�B����B���6&�&�&�&�&�&�&�&�&�>�>�>�, 8� 8� 8�*�*�*�*�Z
�
�
� #�#�#�L
<�
<�
<�
<�
<�
<r!rc��eZdZ d�ZdS)r�c�d�|D],}td�t||��D����rdS�-dS)Nc� �g|]\}}||k��Sr r )r(r�r�s r"rsz-_AnyComparer.__contains__.<locals>.<listcomp>5s1�����$�H�f��F�"���r!TF)�all�zip)rW�itemr�s r"r�z_AnyComparer.__contains__2s^��� � �E����(+�D�%�(8�(8������
��t�t�
�
�ur!N)rrrr�r r!r"r�r�-s(�����������r!r�c��|�|St|��r|St|��r|S t|��S#t$r|cYSwxYwr;)r@rlr�r�r3s r"r>r>=sk��
�{��
��S�����
���~�~���
���C�y�y��������
�
�
����s�7�A�Ac
�H�eZdZddedddddddf
d�Zd�Zd�Zd�Zd�Zd�Z dS) r�Nrc
�x�||jd<tt|��j||||||| |
fi|��||_dS)Nr�)rsrr�rHr�)rWr�r�r�rr)r�r�rrrrYs r"rHzCallableMixin.__init__Nsa��/;��
�*�+�1��M�4�(�(�1��%��x����K�
�
�39�
�
�
�
'����r!c��dSr;r r�s r"r^zCallableMixin._mock_check_sigZs���r!c�P�|j|i|��|j|i|��|j|i|��Sr;)r^�_increment_mock_call�
_mock_callr�s r"rKzCallableMixin.__call___sK�� ���d�-�f�-�-�-�!��!�4�2�6�2�2�2��t���/��/�/�/r!c��|j|i|��Sr;)�_execute_mock_callr�s r"r�zCallableMixin._mock_callgs��&�t�&��7��7�7�7r!c�~�d|_|xjdz
c_t||fd���}||_|j�|��|jdu}|j}|j}|dk}|j �td||f����|j
}|��|rB|j�t|||f����|jdu}|r
|jdz|z}t|||f��} |j �| ��|jr|rd}
nd}
|jdk}|j|
z|z}|j
}|��dSdS)NTr�r�r0rrJ)r�r�r�r�r�r-r�r�r�r�r�r�)rWrXrYr��do_method_calls�method_call_name�mock_call_name� is_a_callr�this_mock_callrhs r"r�z"CallableMixin._increment_mock_calljs���������1����
�t�V�n�$�/�/�/�������"�"�5�)�)�)��+�4�7���?���,��"�d�*� �����u�b�$��%7�8�8�9�9�9��+���%��
W��(�/�/��7G��v�6V�0W�0W�X�X�X�"-�":�$�"F��"�W�'2�'=��'C�FV�'V�$�#�N�D�&�#A�B�B�N��"�)�)�.�9�9�9��)�
S����C�C��C�'�6�$�>� �!,�!;�c�!A�N�!R��&�6�K�-�%�%�%�%�%r!c�^�|j}|�Tt|��r|�t|��s!t|��}t|��r|�n||i|��}|tur|S|jtur|jS|jr|jjtur|jS|j�
|j|i|��S|jSr;) r�r@rlr�rr�r�r�r)rWrXrY�effectr~s r"r�z CallableMixin._execute_mock_call�s����!�����V�$�$�
1����v�&�&�
1��f���� ��(�(�!� �L�!� ���0��0�0���W�$�$��
��"�'�1�1��$�$��� %�4�#6�#C�7�#R�#R��$�$���'�#�4�#�T�4�V�4�4�4�� � r!)
rrrrrHr^rKr�r�r�r r!r"r�r�Ls������� �d���$��d�!�R�T� '� '� '� '�
�
�
�
0�0�0�8�8�8�,7�,7�,7�\!�!�!�!�!r!r�c��eZdZdS)rNrr r!r"rr�s������5�5r!rc�@�d}|D]}||vrt|�d�����dS)N)� autospect� auto_spec�set_specz5 might be a typo; use unsafe=True if this is intended)�RuntimeError)�kwargs_to_check�typos�typos r"�_check_spec_arg_typosr�sN��2�E������?�"�"���P�P�P���
�#��r!c�~�eZdZdZgZdd�d�Zd�Zd�Zd�Ze j
d���Zd �Zd
�Z
d�Zd�Zd
�Zd�Zd�ZdS)�_patchNF�rc
��|�)|turtd���|�td���|
st| ��t|��rt d|�d|�d����t|��rt d|�d|�d����||_||_||_||_||_ ||_
d|_||_||_
| |_g|_dS)Nz,Cannot use 'new' and 'new_callable' togetherz1Cannot use 'autospec' and 'new_callable' togetherzCannot spec attr z0 as the spec has already been mocked out. [spec=r&z? as the spec_set target has already been mocked out. [spec_set=F)rrNrr-r�getterrjr�new_callabler��create� has_localr��autospecrY�additional_patchers)rWrrjrr�r r�rrrYrs r"rHz_patch.__init__sV���#��'�!�!� �B�����#� �G����� *�!�&�)�)�)��T�"�"� A�"�@�I�@�@�6:�@�@�@�A�A�
A��X�&�&� P�"�O�I�O�O�AI�O�O�O�P�P�
P����"������(����� ������� ��
� ��
����#%�� � � r!c���t|j|j|j|j|j|j|j|j|j � � }|j
|_
d�|jD��|_|S)Nc�6�g|]}|�����Sr )�copy)r(�ps r"rsz_patch.copy.<locals>.<listcomp>,s-��'
�'
�'
��A�F�F�H�H�'
�'
�'
r!)rrrjrr�r r�rrrY�attribute_namer)rW�patchers r"rz_patch.copy%sq����K�����4�9��K����M�4�,�d�k�
�
��
"&�!4���'
�'
�"�6�'
�'
�'
��#��r!c���t|t��r|�|��Stj|��r|�|��S|�|��Sr;�r.r=�decorate_classr1r�decorate_async_callable�decorate_callable)rWr8s r"rKz_patch.__call__2sc���d�D�!�!� -��&�&�t�,�,�,��&�t�,�,� 6��/�/��5�5�5��%�%�d�+�+�+r!c��t|��D]q}|�tj��s�"t ||��}t|d��s�C|���}t||||�����r|S�NrK)r,r'r�TEST_PREFIXr0r/rrh)rWr�r��
attr_valuers r"rz_patch.decorate_class:s�����J�J� 6� 6�D��?�?�5�#4�5�5�
�� ���-�-�J��:�z�2�2�
���i�i�k�k�G��E�4����!4�!4�5�5�5�5��r!c#�TK�g}tj��5}|jD]W}|�|��}|j�|�|���4|jtur|�|���X|t|��z
}||fV�ddd��dS#1swxYwYdSr;)
�
contextlib� ExitStack� patchings�
enter_contextr�updaterrr-ro)rW�patchedrX�keywargs�
extra_args�
exit_stack�patchingrSs r"�decoration_helperz_patch.decoration_helperHs�����
�
�
!�
#�
#� #�z�#�-�
+�
+�� �.�.�x�8�8���*�6��O�O�C�(�(�(�(��\�W�,�,��%�%�c�*�*�*���E�*�%�%�%�D���"�"�"�"� #� #� #� #� #� #� #� #� #� #� #� #���� #� #� #� #� #� #s�A8B�B!�$B!c�����t�d��r�j�����St������fd�����g�_�S)Nrc�|�����||��5\}}�|i|��cddd��S#1swxYwYdSr;�r'�rXr#�newargs�newkeywargsr8r"rWs ���r"r"z)_patch.decorate_callable.<locals>.patched]s�����'�'��(,�(0�2�2�
5�5K�g�{��t�W�4��4�4�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�
5�
5s�1�5�5�r/rr-r�rWr8r"s``@r"rz_patch.decorate_callableWsv������4��%�%� ��N�!�!�$�'�'�'��K� �t��� 5� 5� 5� 5� 5� 5�
�� 5�"�F����r!c�����t�d��r�j�����St������fd�����g�_�S)Nrc���K����||��5\}}�|i|���d{V��cddd��S#1swxYwYdSr;r*r+s ���r"r"z/_patch.decorate_async_callable.<locals>.patchedns�������'�'��(,�(0�2�2�
;�5K�g�{�!�T�7�:�k�:�:�:�:�:�:�:�:�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;�
;�
;s
�9�=�=r.r/s``@r"rz_patch.decorate_async_callablehsv������4��%�%� ��N�!�!�$�'�'�'��K� �t��� ;� ;� ;� ;� ;� ;�
�� ;�"�F����r!c�`�|���}|j}t}d} |j|}d}n-#tt
f$rt
||t��}YnwxYw|tvrt|t��rd|_
|j
s|turt |�d|�����||fS)NFTz does not have the attribute )rrjrrsrL�KeyErrorr0� _builtinsr.rr )rW�targetr)r}�locals r"�get_originalz_patch.get_originalys����������~������ ���t�,�H��E�E����)� 6� 6� 6��v�t�W�5�5�H�H�H� 6����
�9����F�J�!?�!?���D�K��{� �x�7�2�2� �7=�v�v�t�t�D���
����s�
6�'A �A c�� |j|j|j}}}|j|j}}|j}|���|_|durd}|durd}|durd}|�|�td���|�|�|dvrtd���|� ��\}}|tu�r�|���d} |dur|}|dur|}d}n|� |dur|}d}n|dur|}|�|�/|turtd���t|t��rd} |�t|��rt}
nt}
i}|�|}
nN|�|�J|}|�|}t!|��rd|v}
nt#|��}
t|��rt}
n |
rt$}
|�||d<|�||d <t|
t��r&t'|
t(��r|jr
|j|d
<|�|��|
di|��}| r_t/|��rP|}|�|}t!|��st1|��st$}
|�d
��|
d|dd�|��|_n�|��|turtd
���|turtd���t7|��}|dur|}t/|j��r#t9d|j�d|j�d|�d����t/|��rAt;|jd|j��}t9d|j�d|�d|j�d|�d� ���t=|f||jd�|��}n|rtd���|}||_||_ tCj"��|_# tI|j|j|��|j%�ci}|jtur
|||j%<|j&D]?}|j#�'|��}|jtur|�|���@|S|S#|j(tSj*���s�YdSxYw)NFzCan't specify spec and autospec)TNz6Can't provide explicit spec_set *and* spec or autospecTz!Can't use 'spec' with create=TruerKr�r�r)r0r1zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=Truer\z: as the patch target has already been mocked out. [target=r_r&rr]r^)r��_namez.Can't pass kwargs to a mock we aren't creatingr )+rr�r�rrYrrr5r�r7rr.r=r5r
rrpr9r
r<rrjr!r-rvrRr��boolrr0r �
temp_original�is_localrr�_exit_stackrhrrr �__exit__�sys�exc_info)rWrr�r�rrYrr}r6�inherit�Klass�_kwargs� this_spec�not_callablerb�new_attrr$r&rSs r"� __enter__z_patch.__enter__�s��� �"�h�� �4�=�8�T���=�$�+�&���(���k�k�m�m����5�=�=��D��u����H��u����H���� 4��=�>�>�>�
�
��!5��L�(�(��T�U�U�U��+�+�-�-���%��'�>�>�h�.��G��t�|�|����t�#�#�'�H��D���!��t�#�#�#�H��D���T�!�!�#����8�#7��w�&�&�#�$G�H�H�H��h��-�-�#�"�G��|�
�h� 7� 7�|�!���!���G��'�$����!�X�%9� � ��'� (�I��I�&�&�;�#-�Y�#>�L�L�'/� �':�':�#:�L� ��+�+�1�%�E�E�!�1�0�E���"&�����#�&.��
�#��5�$�'�'�
1��5�/�2�2�
1�7;�~�
1�"&�.�����N�N�6�"�"�"��%�"�"�'�"�"�C��
4�,�S�1�1�
4�!� ��'� (�I� ��+�+�1�&�y�1�1�1�0�E����F�#�#�#�#(�5�$4�S�D�$4�$4�+2�$4�$4�� ��
�
!��'�!�!��(�����7�"�"�� G�H�H�H��H�~�~�H��4���#�� ���-�-�
D�&�C�D�N�C�C�#�{�C�C�5=�C�C�C�D�D�D�!��*�*�
D�%�d�k�:�t�{�K�K��&�C�D�N�C�C�"�C�C�#�{�C�C�5=�C�C�C�D�D�D�
"�(�B�X�(,��B�B�:@�B�B�C�C�
� N��L�M�M�M���%�����
�%�/�1�1��� ��D�K����:�:�:��"�.��
��8�w�&�&�7:�J�t�2�3� $� 8�/�/�H��*�8�8��B�B�C��|�w�.�.�"�)�)�#�.�.�.��!�!��J�� � �4�=�#�,�.�.�1�
��
�
�
���s�BO�O�O=c�j� |jr/|jtur!t|j|j|j��ndt
|j|j��|jsCt|j|j��r |jdvr t|j|j|j��|`|`|`|j }|` |j
|�S)N)rdrrf�__annotations__rg)r<r;rrhr5rjr�r r/r=r>)rWr@r%s r"r>z_patch.__exit__#s�����=� I�T�/�w�>�>��D�K����1C�D�D�D�D��D�K���0�0�0��;�
I����T�^�(L�(L�
I���+=�=�=����T�^�T�5G�H�H�H����M��K��%�
���"�z�"�H�-�-r!c�d� |���}|j�|��|Sr;)rG�_active_patchesr-�rWr~s r"�startz_patch.start8s0��;����!�!����#�#�D�)�)�)��
r!c�� |j�|��n#t$rYdSwxYw|�ddd��Sr;)rKr�rNr>r�s r"�stopz_patch.stop?s^��#� �� �'�'��-�-�-�-��� � � ��4�4� �����}�}�T�4��.�.�.s��
,�,)rrrrrKrHrrKrr�contextmanagerr'rrr7rGr>rMrOr r!r"rr�s��������N��O�AF�"&�"&�"&�"&�"&�J
�
�
�,�,�,������#�#���#����"���"���0P�P�P�d.�.�.�*���/�/�/�/�/r!rc��� |�dd��\}}n-#tttf$rtd|�����wxYwt t
j|��|fS)NrJr�z,Need a valid target to patch. You supplied: )�rsplitr�rNrLr�pkgutil�resolve_name)r5rjs r"�_get_targetrUKs���G�"�M�M�#�q�1�1��� � ���z�>�2�G�G�G��E�6�E�E�G�G� G�G�����7�'��0�0�)�;�;s ��*Arc��� t���turt��d�����fd�}
t|
|||||||| |��
�
S)Nz3 must be the actual object to be patched, not a strc����Sr;r �r5s�r"rMz_patch_object.<locals>.<lambda>js���V�r!r)r=�strr�r)r5rjrr�r r�rrrrYrs` r"�
_patch_objectrZTss���
��F�|�|�s�����L�L�L�
�
�
��^�^�^�F��� �3��f��(�L�&�����r!c��� t���turttj���}n�fd�}|std���t
|�����}|d\} }
t|| |
|||||i� � }| |_ |dd�D]=\} }
t|| |
|||||i� � }| |_ |j
�|���>|S)Nc����Sr;r rXs�r"rMz!_patch_multiple.<locals>.<lambda>�s����r!z=Must supply at least one keyword argument with patch.multiplerr�)r=rYrrSrTrNrnrPrrrr-)
r5r�r r�rrrYrrPrjrr�this_patchers
` r"�_patch_multipler^qs����(�F�|�|�s�����-�v�6�6���������
��K�
�
�
�
������ � �E��1�X�N�I�s��� �3��f�h��,����G�'�G������)�9�9�� �3���I�s�D�&�(��l�B�
�
��'0��#��#�*�*�<�8�8�8�8��Nr!c�Z� t|��\} }
t| |
||||||||��
�
S)Nr)rUr)r5rr�r r�rrrrYrrjs r"rr�sJ��F�N$�F�+�+��F�I��� �3��f��(�L�&�����r!c�T�eZdZ dd�Zd�Zd�Zd�Zd�Zd�Zd �Z d
�Z
d�Zd�Zd
�Z
dS)�_patch_dictr Fc��||_t|��|_|j�|��||_d|_dSr;)�in_dict�dictrCr!�clear� _original)rWrcrCrerYs r"rHz_patch_dict.__init__s>������6�l�l�������6�"�"�"���
�����r!c���t|t��r|�|��Stj|��r|�|��S|�|��Sr;r)rW�fs r"rKz_patch_dict.__call__sc���a���� *��&�&�q�)�)�)��&�q�)�)� 3��/�/��2�2�2��%�%�a�(�(�(r!c�@���t�����fd���}|S)Nc������� �|i|������S#����wxYwr;�ra�
_unpatch_dict�rXrrhrWs ��r"�_innerz-_patch_dict.decorate_callable.<locals>._inner#sV���������
%��q�$�~�"�~�~��"�"�$�$�$�$���"�"�$�$�$�$���s �3�A �r�rWrhrns`` r"rz_patch_dict.decorate_callable"�9���� �q��� %� %� %� %� %�
�� %��
r!c�@���t�����fd���}|S)Nc���K����� �|i|���d{V�� ����S#����wxYwr;rkrms ��r"rnz3_patch_dict.decorate_async_callable.<locals>._inner/so�����������
%��Q��^��^�^�+�+�+�+�+�+�+��"�"�$�$�$�$���"�"�$�$�$�$���s �
<�Arorps`` r"rz#_patch_dict.decorate_async_callable.rqr!c� �t|��D]}}t||��}|�tj��rLt|d��r<t
|j|j|j ��}||��}t|||���~|Sr)r,r0r'rrr/rarcrCrerh)rWr�r�r� decorator� decorateds r"rz_patch_dict.decorate_class:s�����J�J� 0� 0�D� ���-�-�J����� 1�2�2�
0���Z�0�0�
0�'���d�k�4�:�N�N� �%�I�j�1�1� ���t�Y�/�/�/���r!c�:� |���|jSr;)rarcr�s r"rGz_patch_dict.__enter__Es����������|�r!c��|j}t|jt��rt j|j��|_|j}|j} |���}n"#t$ri}|D]
}||||<�YnwxYw||_ |rt|�� |�|��dS#t$r|D]
}||||<�YdSwxYwr;)rCr.rcrYrSrTrerrLrf�_clear_dictr!)rWrCrcrer}rNs r"raz_patch_dict._patch_dictKs!������d�l�C�(�(� >�"�/���=�=�D�L��,���
�� -��|�|�~�~�H�H��� -� -� -��H��
-�
-�� '�����
�
�
-�
-� -����"���� !��� � � � +��N�N�6�"�"�"�"�"��� +� +� +��
+�
+��%�c�{�����
+�
+�
+� +���s$�A$�$B�B�B6�6C�Cc��|j}|j}t|�� |�|��dS#t$r|D]
}||||<�YdSwxYwr;)rcrfryr!rL)rWrcr}rNs r"rlz_patch_dict._unpatch_dictgs����,���>���G���� -��N�N�8�$�$�$�$�$��� -� -� -��
-�
-��'��}�����
-�
-�
-� -���s�6�A�Ac�>� |j�|���dS�NF)rfrl)rWrXs r"r>z_patch_dict.__exit__ts$����>�%���� � � ��ur!c�n� |���}tj�|��|Sr;)rGrrKr-rLs r"rMz_patch_dict.start{s0��;����!�!����%�%�d�+�+�+��
r!c�� tj�|��n#t$rYdSwxYw|�ddd��Sr;)rrKr�rNr>r�s r"rOz_patch_dict.stop�s^��#� ��"�)�)�$�/�/�/�/��� � � ��4�4� �����}�}�T�4��.�.�.s�#�
1�1N)r F)rrrrHrKrrrrGrarlr>rMrOr r!r"rara�s��������8����)�)�)� � � � � � �������+�+�+�8
-�
-�
-�������/�/�/�/�/r!rac�� |���dS#t$rt|��}|D]}||=�YdSwxYwr;)rerLrn)rc�keysrNs r"ryry�se����
�
������������G�}�}��� � �C����� � � ����s��!=�=c�h� ttj��D]}|����dSr;)rdrrKrO)rs r"�_patch_stopallr��s8��A��&�0�1�1����
�
�
������r!�testz�lt le gt ge eq ne getitem setitem delitem len contains iter hash str sizeof enter exit divmod rdivmod neg pos abs invert complex int float index round trunc floor ceil bool next fspath aiter zDadd sub mul matmul truediv floordiv mod lshift rshift and xor or pow� c#� K�|] }d|zV��
dS)zi%sNr �r(�ns r"r�r��s&����7�7��5�1�9�7�7�7�7�7�7r!c#� K�|] }d|zV��
dS)zr%sNr r�s r"r�r��s&����5�5�q����5�5�5�5�5�5r!>ry�__get__�__set__r��
__delete__�
__format__r��__missing__�__getstate__�__reversed__�__setstate__�
__getformat__�
__reduce_ex__�__getnewargs__�__subclasses__�__getinitargs__�__getnewargs_ex__c�"�� �fd�}||_|S)Nc����|g|�Ri|��Sr;r )rWrXrr8s �r"�methodz_get_method.<locals>.method�s#����t�D�&�4�&�&�&�2�&�&�&r!)r)r)r8r�s ` r"r�r��s+���@�'�'�'�'�'��F�O��Mr!c��h|]}d|z��S)r�r )r(r�s r"r*r*�s*����� �H�v����r!>� __aexit__� __anext__�
__aenter__� __aiter__>�__del__rrHr��__prepare__r��__instancecheck__�__subclasscheck__c�6�t�|��Sr;)rx�__hash__r�s r"rMrM�s��V�_�_�T�2�2�r!c�6�t�|��Sr;)rx�__str__r�s r"rMrM�s��F�N�N�4�0�0�r!c�6�t�|��Sr;)rx�
__sizeof__r�s r"rMrM�s��v�0�0��6�6�r!c�x�t|��j�d|����dt|����S)N�/)r=rrjrBr�s r"rMrM�s;��$�t�*�*�"5�^�^��8O�8O�8Q�8Q�^�^�TV�W[�T\�T\�^�^�r!)r�r�r��
__fspath__r�y�?g�?)
�__lt__�__gt__�__le__�__ge__�__int__r��__len__r>�__complex__� __float__�__bool__� __index__r�c����fd�}|S)Nc�L���jj}|tur|S�|urdStSrG)�__eq__r�r�NotImplemented)�other�ret_valrWs �r"r�z_get_eq.<locals>.__eq__�s1����+�0���'�!�!��N��5�=�=��4��r!r )rWr�s` r"�_get_eqr��s#���������Mr!c����fd�}|S)Nc�R���jjturtS�|urdStSr|)�__ne__r�rr�)r�rWs �r"r�z_get_ne.<locals>.__ne__s,����;�)��8�8��N��5�=�=��5��r!r )rWr�s` r"�_get_ner�s#���������Mr!c����fd�}|S)Nc�j���jj}|turtg��St|��Sr;)�__iter__r�rr��r�rWs �r"r�z_get_iter.<locals>.__iter__s1����-�2���g�����8�8�O��G�}�}�r!r )rWr�s` r"� _get_iterr�
s#���������Or!c����fd�}|S)Nc����jj}|turtt g����Stt |����Sr;)r�r�r�_AsyncIteratorr�r�s �r"r�z"_get_async_iter.<locals>.__aiter__s@����.�3���g���!�$�r�(�(�+�+�+��d�7�m�m�,�,�,r!r )rWr�s` r"�_get_async_iterr�s$���-�-�-�-�-�
�r!)r�r�r�r�c�&�t�|t��}|tur ||_dSt�|��}|�||��}||_dSt
�|��}|�||��|_dSdSr;)�_return_valuesrtrr��_calculate_return_value�_side_effect_methodsr�)rCr�r)�fixed�return_calculatorr��
side_effectors r"�_set_return_valuer�(s������t�W�-�-�E��G���#�����/�3�3�D�9�9���$�(�(��.�.��*�����(�,�,�T�2�2�M�� �*�]�4�0�0�����!� r!c��eZdZd�Zd�ZdS)�
MagicMixinc��|���tt|��j|i|��|���dSr;)�_mock_set_magicsrr�rH�rWrXrs r"rHzMagicMixin.__init__;sN��������.��J��%�%�.��;��;�;�;��������r!c ��ttz}|}t|dd���X|�|j��}t��}||z
}|D](}|t
|��jvrt||���)|tt
|��j��z
}t
|��}|D]!}t||t||�����"dS)Nr*)�_magicsr�r0�intersectionr*rzr=rsr�rh�
MagicProxy)rW�orig_magics�these_magics�
remove_magicsrLr�s r"r�zMagicMixin._mock_set_magicsAs���� 4�4��"���4��$�/�/�;�&�3�3�D�4F�G�G�L��E�E�M�'�,�6�M�&�
)�
)���D��J�J�/�/�/��D�%�(�(�(��$�c�$�t�*�*�*=�&>�&>�>���T�
�
��!� ;� ;�E��E�5�*�U�D�"9�"9�:�:�:�:� ;� ;r!N)rrrrHr�r r!r"r�r�:s2������ � � �;�;�;�;�;r!r�c��eZdZ dd�ZdS)r
Fc�\� |�||��|���dSr;�rr�r#s r"r$z"NonCallableMagicMock.mock_add_spec[�8�� N�
���D�(�+�+�+��������r!Nr��rrrr$r r!r"r
r
Ys+������7� � � � � � r!r
c��eZdZd�ZdS)�AsyncMagicMixinc��|���tt|��j|i|��|���dSr;)r�rr�rHr�s r"rHzAsyncMagicMixin.__init__fsN��������3��O�T�*�*�3�T�@�R�@�@�@��������r!N�rrrrHr r!r"r�r�es#������ � � � � r!r�c��eZdZ dd�ZdS)rFc�\� |�||��|���dSr;r�r#s r"r$zMagicMock.mock_add_specvr�r!Nr�r�r r!r"rrks-������ � � � � � � r!rc�"�eZdZd�Zd�Zdd�ZdS)r�c�"�||_||_dSr;�r)r�)rWr)r�s r"rHzMagicProxy.__init__�s���� �����r!c��|j}|j}|�|||���}t|||��t |||��|S)N)r)rr)r)r�r2rhr�)rWrLr��ms r"�create_mockzMagicProxy.create_mock�sZ��� ������"�"���/5�
#�
7�
7�����q�!�!�!��&�!�U�+�+�+��r!Nc�*�|���Sr;)r�)rWr4r�s r"r�zMagicProxy.__get__�s�����!�!�!r!r;)rrrrHr�r�r r!r"r�r��sF������������"�"�"�"�"�"r!r�c���eZdZed��Zed��Zed��Z�fd�Zd�Zd�Z d�Z
d�Zd �Zd
�Z
dd�Zd
�Z�fd�Z�xZS)rr�r�r�c����t��j|i|��tjj|jd<d|jd<d|jd<t
��|jd<tt���}tj
tjztjz|_
d|_d|_d|_d|_||jd<d |jd
<t%��|jd<i|jd<d|jd
<dS)Nr�r�_mock_await_count�_mock_await_args�_mock_await_args_list�r�)rXrYr7r
rrfrgrI)�superrHr�r�r�rsr�rrr1�CO_COROUTINE�
CO_VARARGS�CO_VARKEYWORDS�co_flags�co_argcount�co_varnames�co_posonlyargcount�co_kwonlyargcountro)rWrXrY� code_mockr7s �r"rHzAsyncMockMixin.__init__�s���������$�)�&�)�)�)�*1�);�)I��
�o�&�-.��
�)�*�,0��
�(�)�1:����
�-�.�#�X�6�6�6� �� �� �
!��$�
%� ��
!"� �� 2� ��'(� �$�&'� �#�$-��
�j�!�$/��
�j�!�(-����
�n�%�*,��
�&�'�+/��
�'�(�(�(r!c��`K�t||fd���}|xjdz
c_||_|j�|��|j}|��t
|��r|�t|��s8 t|��}n#t$rt�wxYwt
|��r|�n&t|��r||i|���d{V��}n||i|��}|tur|S|j
tur|jS|j�4t|j��r|j|i|���d{V��S|j|i|��S|jS)NTr�r�)r�r�r�r�r-r�r@rlr��
StopIteration�StopAsyncIterationrrr�r�r)rWrXrYr�r�r~s r"r�z!AsyncMockMixin._execute_mock_call�s������t�V�n�$�/�/�/�����A���������#�#�E�*�*�*��!�����V�$�$�
1����v�&�&�
1�-�!�&�\�\�F�F��$�-�-�-�-�,�-����!��(�(�!� �L�!�$�V�,�,�
1�%�v�t�6�v�6�6�6�6�6�6�6�6������0��0�0���W�$�$��
��"�'�1�1��$�$���'�"�4�#3�4�4�
?�-�T�-�t�>�v�>�>�>�>�>�>�>�>�>�#�4�#�T�4�V�4�4�4�� � s�1B�Bc�V� |jdkrd|jpd�d�}t|���dS)Nr� Expected rCz to have been awaited.�r�r�r�r�s r"r�zAsyncMockMixin.assert_awaited�sD�� ���q� � �O�d�o�7��O�O�O�C� ��%�%�%�!� r!c�f� |jdks$d|jpd�d|j�d�}t|���dS�Nr�rrCz$ to have been awaited once. Awaited r�rr�s r"r�z"AsyncMockMixin.assert_awaited_once�s\�� ���1�$�$�9�t��8�&�9�9�#�/�9�9�9�C� ��%�%�%�%�$r!c�j���� �j�)������}td|�d�������fd�}��t ��fd�����}���j��}||kr1t|t��r|nd}t|����|�dS)NzExpected await: z
Not awaitedc�8������d���}|S)N�await)r�r�r�s ���r"r�z:AsyncMockMixin.assert_awaited_with.<locals>._error_message�s"����3�3�D�&��3�Q�Q�C��Jr!Tr�)r�r�r�r�r�r.r�)rWrXrYr�r�r�r�s``` r"r�z"AsyncMockMixin.assert_awaited_with�s������ ��?�"��7�7��f�E�E�H� �!K�H�!K�!K�!K�L�L�L� � � � � � � ��%�%�e�T�6�N��&E�&E�&E�F�F���#�#�D�O�4�4���X��� *�8�Y� ?� ?�I�H�H�T�E� ���!1�!1�2�2��=��r!c�|� |jdks$d|jpd�d|j�d�}t|���|j|i|��Sr)r�r�r�r�r�s r"r�z'AsyncMockMixin.assert_awaited_once_with�sl�� ���1�$�$�9�t��8�&�9�9�#�/�9�9�9�C� ��%�%�%�'�t�'��8��8�8�8r!c�&�� ��t||fd�����}t|t��r|nd}�fd��jD��}|s|t|��vr)��||��}td|z��|�dS)NTr�c�:��g|]}��|����Sr r�r�s �r"rsz3AsyncMockMixin.assert_any_await.<locals>.<listcomp> s'���F�F�F�A�$�$�$�Q�'�'�F�F�Fr!z%s await not found)r�r�r.r�r�r�r�r�r�s` r"r�zAsyncMockMixin.assert_any_await
s���� ��%�%�e�T�6�N��&E�&E�&E�F�F��&�x��;�;�E�����F�F�F�F��1E�F�F�F��� �H�L��$8�$8�8�8�"�>�>�t�V�L�L�O� �$��6����
�9�8r!Fc�,�� �fd�|D��}td�|D��d��}t�fd��jD����}|sT||vrN|�d}nd�d�|D����}t |�dt|���d�j����|�dSt|��}g}|D]=} |�|���#t$r|�|��Y�:wxYw|r t t|���d ���|�dS)
Nc�:��g|]}��|����Sr r�r�s �r"rsz4AsyncMockMixin.assert_has_awaits.<locals>.<listcomp># r�r!c3�DK�|]}t|t���|V��dSr;r�rus r"r�z3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>$ r�r!c3�B�K�|]}��|��V��dSr;r�r�s �r"r�z3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>% s1�����S�S��t�1�1�!�4�4�S�S�S�S�S�Sr!zAwaits not found.z,Error processing expected awaits.
Errors: {}c�@�g|]}t|t��r|nd��Sr;r�rus r"rsz4AsyncMockMixin.assert_has_awaits.<locals>.<listcomp>- r�r!r�z
Actual: z not all found in await list)
r�r�r�r�r�rnr�rNr-ro) rWr�r�r�r��
all_awaitsr�r�r�s ` r"r�z AsyncMockMixin.assert_has_awaits s����
�:�9�9�9�5�9�9�9���F�F��F�F�F��M�M���S�S�S�S�d�>R�S�S�S�S�S�
�� ��z�)�)��=�1�G�G� ,�-3�V�$7�$7�-5�$7�$7�$7�.8�.8��%��6�6�!*�5�!1�!1�6�6�#�3�6�6���� �
�F��*�%�%�
�� �� '� '�D�
'��!�!�$�'�'�'�'���
'�
'�
'�� � ��&�&�&�&�&�
'����� � �49�)�4D�4D�4D�4D�F����
� � s�7C
�
C/�.C/c�f� |jdkr$d|jpd�d|j�d�}t|���dS)NrrrCz# to not have been awaited. Awaited r�rr�s r"r�z!AsyncMockMixin.assert_not_awaitedC s\�� ���q� � �9�t��8�&�9�9�#�/�9�9�9�C� ��%�%�%�!� r!c�~�� t��j|i|��d|_d|_t ��|_dS�Nr)r�r�r�r�r�r�)rWrXrYr7s �r"r�zAsyncMockMixin.reset_mockL sG��� � �����D�+�F�+�+�+�������(�{�{����r!r�)rrrr�r�r�r�rHr�r�r�r�r�r�r�r�r��
__classcell__)r7s@r"rr�s�������&�&�}�5�5�K�%�%�l�3�3�J�*�*�+<�=�=�O�0�0�0�0�0�8&!�&!�&!�P&�&�&�&�&�&�>�>�>�$ 9� 9� 9����*�*�*�*�X&�&�&�+�+�+�+�+�+�+�+�+r!rc��eZdZdS)r
Nrr r!r"r
r
V s������'�'r!r
c�"�eZdZ d�Zd�Zd�ZdS)�_ANYc��dSrGr �rWr�s r"r�z_ANY.__eq__� s���tr!c��dSr|r rs r"r�z_ANY.__ne__� s���ur!c��dS)Nz<ANY>r r�s r"r�z
_ANY.__repr__� s���wr!N)rrrr�r�r�r r!r"rr� sD������8�����������r!rc���d|z}d}d�d�|D����}d�d�|���D����}|r|}|r|r|dz
}||z
}||zS)Nz%s(%%s)rz, c�,�g|]}t|����Sr )�repr)r(rSs r"rsz*_format_call_signature.<locals>.<listcomp>� s��7�7�7�3�T�#�Y�Y�7�7�7r!c�"�g|]\}}|�d|����
S)�=r )r(rNr�s r"rsz*_format_call_signature.<locals>.<listcomp>� s4�����#-�3��3�3�3������r!)rerP)r)rXrYr��formatted_args�args_string�
kwargs_strings r"r�r�� s����$��G��N��)�)�7�7�$�7�7�7�8�8�K��I�I���17����������M��%�$���(�� #��d�"�N��-�'���^�#�#r!c��eZdZ dd�Z dd�Zd�ZejZd �Zd
�Z d�Z
d�Zed
���Z
ed���Zd�Zd�ZdS)r�r rNFTc��d}i}t|��}|dkr|\}}}n~|dkr<|\} }
t| t��r| }t|
t��r|
}nD|
}nA| |
}}n<|dkr6|\}t|t��r|}nt|t��r|}n|}|rt�|||f��St�||||f��S)Nr �r�r�)r�r.rYror)rr�r)r�r�� from_kallrXrY�_len�first�seconds r"rz
_Call.__new__� s�������5�z�z���1�9�9�!&��D�$���
�Q�Y�Y�!�M�E�6��%��%�%�
-����f�e�,�,�$�!�D�D�#�F�F�$�f�f���
�Q�Y�Y��F�E��%��%�%�
�����E�5�)�)�
������� 6��=�=��t�V�n�5�5�5��}�}�S�4��v�"6�7�7�7r!c�0�||_||_||_dSr;)r�r��_mock_from_kall)rWr�r)r�r�r*s r"rHz_Call.__init__� s�����"���(����r!c�r� t|��}n#t$r
tcYSwxYwd}t|��dkr|\}}n|\}}}t|dd��r#t|dd��r|j|jkrdSd}|dkrdi}}n�|dkr|\}}}n�|dkr?|\} t| t��r| }i}nit| t��r| }di}}nMd}| }nH|dkr@|\}
}t|
t��r!|
}t|t��r|i}}nd|}}n|
|}}ndS|r||krdS||f||fkS) Nrr�r�Frr r)r�)r�r�r�r0r�r.rorY)rWr�� len_other� self_name� self_args�self_kwargs�
other_name�
other_args�other_kwargsr�r,r-s r"r�z_Call.__eq__� s��� "��E�
�
�I�I��� "� "� "�!�!�!�!� "����� ��t�9�9��>�>�%)�"�I�{�{�04�-�I�y�+��D�.�$�/�/� �G�E�>�SW�4X�4X� ��%��);�;�;��5��
���>�>�')�2��J�J�
�!�^�^�38�0�J�
�L�L�
�!�^�^��F�E��%��'�'�
%�"�
�!����E�3�'�'�
%�"�
�+-�r�L�
�
��
�$���
�!�^�^�!�M�E�6��%��%�%�
9�"�
��f�e�,�,�:�/5�r��J�J�/1�6��J�J�+0�&�L�
�
��5�� ��y�0�0��5��L�)�i��-E�E�Es��&�&c��|j�td||fd���S|jdz}t|j||f||���S)Nrr0r�r��r�r�r�s r"rKz_Call.__call__
sN���?�"��"�d�F�+�$�7�7�7�7����%���d�o�t�V�4�4��M�M�M�Mr!c�n�|j�t|d���S|j�d|��}t||d���S)NF)r)r*rJ)r)r�r*r9)rWr�r)s r"r�z_Call.__getattr__
sD���?�"��d�e�4�4�4�4��/�/�/�4�4�0���$�t�u�=�=�=�=r!c�b�|tjvrt�t�||��Sr;)rorsrL�__getattribute__)rWr�s r"r<z_Call.__getattribute__$
s+���5�>�!�!� � ��%�%�d�D�1�1�1r!c�H�t|��dkr|\}}n|\}}}||fS)Nr�)r�r�s r"�_get_call_argumentsz_Call._get_call_arguments*
s2���t�9�9��>�>��L�D�&�&�!%��D�$���V�|�r!c�6�|���dSr�r>r�s r"rXz
_Call.args2
����'�'�)�)�!�,�,r!c�6�|���dS)Nr�r@r�s r"rYz_Call.kwargs6
rAr!c��|js%|jpd}|�d��rd|z}|St|��dkrd}|\}}n+|\}}}|sd}n |�d��sd|z}nd|z}t |||��S)Nrr0zcall%sr�zcall.%s)r/r�r'r�r�)rWr)rXrYs r"r�z_Call.__repr__:
s����#� ��?�,�f�D����t�$�$�
'��$����K��t�9�9��>�>��D��L�D�&�&�!%��D�$���
'�����_�_�T�*�*�
'� �4�'����$���%�d�D�&�9�9�9r!c�� g}|}|�%|jr|�|��|j}|�%tt |����Sr;)r/r-r�r�rd)rW�vals�things r"� call_listz_Call.call_listO
s\�� ��������$�
#����E�"�"�"��&�E�����$���(�(�(r!)r rNFT)r NNFT)rrrrrHr�rxr�rKr�r<r>r�rXrYr�rGr r!r"r�r�� s�������$:?��8�8�8�8�@>C��)�)�)�)�2F�2F�2F�j�]�F�N�N�N�>�>�>�2�2�2�����-�-��X�-��-�-��X�-�:�:�:�*
)�
)�
)�
)�
)r!r�)r*c �&� t|��rt|��}t|t��}t|��rt d|�d����t|��}d|i} |rd|i} n|�i} | r|rd| d<|st
|��| �|��t}
tj
|��ri} nL|r|rtd���t}
n1t|��st}
n|r|rt|��st}
| �d|��}|}|�d }|
d||||d
�| ��}t|t"��r"t%||��}|rt'|��nt)||||��|�|s
||j|<|�d��}
|r |sd|vrt/||dd
||
���|_t3|��D�];}t5|��r� t7||��}n#t8$rY�1wxYwd|i}|
r&t;|
|��r|�|���|rd|i}t|t"��st=|||||��}||j|<n{|}t|t"��r|j}tA|||��}||d<tC|��rt}nt}|d||||d�|��}||j|<t)|||���t|t"��rtE|||����=|S)Nz'Cannot autospec a Mock object. [object=r&r�r�TrzJInstance can not be True when create_autospec is mocking an async functionr)r)r�rrr)rr�r0)rar9r�rror)r�r)rr)r`r )#rpr=r.r-rr9rr!rr1�isdatadescriptorr�r
rlr
rvrRrDr�r�rbr�rtr r�r,r�r0rLr/rDrC�
_must_skiprrh)r�r�rar�r9rrY�is_type�
is_async_funcrCrBrrC�wrappedrLr}rr�r`�child_klasss r"r r _
s#��,�*��~�~���D�z�z����t�$�$�G�����5�� 4�*.� 4� 4� 4�5�5� 5�"�4�(�(�M��t�n�G����t�$���
�����,�8�,�'+��#�$��&��f�%�%�%��N�N�6�����E����%�%�%���� �%�� ?�� >�?�?�
?����
�t�_�_�%�$��� �%�X�%�&8��&>�&>�%�$���K�K���&�&�E��I���� ��5�(��W� ��(�(�&�(�(�D��$�
�&�&�8��d�D�)�)��� $��d�#�#�#����t�W�h�7�7�7���8��(,���u�%��j�j��!�!�G��;�x�;�N�&�$@�$@�+�D�(�T�26��29�;�;�;����T���3&�3&���U��� �� ��t�U�+�+�H�H��� � � ��H� �����(�#��� *�w�w��.�.� *��M�M��M�)�)�)�� ,� �(�+�F��(�M�2�2� A��X�x��u�h�G�G�C�),�D���&�&��F��$�
�.�.�
#����"�4���8�8�I�"+�F�;��"�8�,�,�
(�'���'���+�(�V�%�5�*0�(�(� &�(�(�C�*-�D���&��X�s�i�@�@�@�@��c�=�)�)� &��D�%��%�%�%���Ks�(G9�9
H�Hc�F� t|t��s|t|di��vrdS|j}|jD]f}|j�|t��}|tur�,t|ttf��rdSt|t��r|cSdS|S)NrsF)r.r=r0r7rrrsrtrrJrIrD)r�rLrKr�r~s r"rJrJ�
s�����d�D�!�!���G�D�*�b�1�1�1�1��5��~���������#�#�E�7�3�3���W�����f�|�[�9�:�:� ��5�5�
��
�
.�
.� ��N�N�N��5�5��Nr!c��eZdZ dd�ZdS)rDFNc�Z�||_||_||_||_||_||_dSr;)r��idsr�r�rar))rWr�r�r�r)rRras r"rHz_SpecState.__init__s0���� ���� ��
���� ��
��� � � r!)FNNNFr�r r!r"rDrD
s.������48�/4������r!rDc�|�t|t��rtj|��Stj|��Sr;)r.�bytes�io�BytesIO�StringIO)� read_datas r"�
_to_streamrY%s4���)�U�#�#�&��z�)�$�$�$��{�9�%�%�%r!rc �X��� �
�� t���}|dg�
�
�fd�}�
�fd�}��
fd�� �
�fd���
�fd�}t�dddl}tt t|j�����t t|j��������at�2ddl}tt t|j
������a |�tdt���}tt� �����j_
d�j_
d�j_
d�j_
d�j_
|�j_� ���
d
<�
d
�j_|�j_��j_|�j_� �
��fd�}||_�|_
|S)Nc�Z���jj��jjS�dj|i|��Sr)� readlinesr��rXrY�_state�handles ��r"�_readlines_side_effectz)mock_open.<locals>._readlines_side_effect;s7�����(�4��#�0�0�"�v�a�y�"�D�3�F�3�3�3r!c�Z���jj��jjS�dj|i|��Sr)�readr�r]s ��r"�_read_side_effectz$mock_open.<locals>._read_side_effect@s4����;�#�/��;�+�+��v�a�y�~�t�.�v�.�.�.r!c?�V�K����Ed{V�� �dj|i|��V���NTr)�readline)rXrY�_iter_side_effectr^s ��r"�_readline_side_effectz(mock_open.<locals>._readline_side_effectEsT�����$�$�&�&�&�&�&�&�&�&�&� 6�$�&��)�$�d�5�f�5�5�5�5�5� 6r!c3�b�K��jj� �jjV���dD]}|V��dSre)rfr�)�liner^r_s ��r"rgz$mock_open.<locals>._iter_side_effectJsU������?�'�3�
3��o�2�2�2�2�
3��1�I� � �D��J�J�J�J� � r!c�^���jj��jjSt�d��Sr)rfr�r�)r^r_s��r"�_next_side_effectz$mock_open.<locals>._next_side_effectQs)����?�'�3��?�/�/��F�1�I���r!r�open)r)r�)r�r�c���t����d<�jj�dkr����d<�d�j_tS)Nrr�)rYrfr�r)rXrYrhr^r_rXs ����r"�
reset_datazmock_open.<locals>.reset_dataqsM����y�)�)��q� ��?�&�&��)�3�3�-�-�/�/�F�1�I�*0��)�F�O�'��r!)rY� file_spec�_iornrzr,�
TextIOWrapper�unionrV� open_specrmrrGr��writerbrfr\r�r�r�)rCrX�
_read_datar`rcrlrqrorgrhr^r_s ` @@@@r"rr,s�������
��I�&�&�J��$�
�F�4�4�4�4�4�4�
/�/�/�/�/�/�
6�6�6�6�6�6�
���������������
�
�
���S��!2�3�3�4�4�:�:�3�s�3�;�?O�?O�;P�;P�Q�Q�R�R� ����
�
�
���S���]�]�+�+�,�,� ��|��f�9�5�5�5��
�I�
&�
&�
&�F�$*�F��!� $�F�L��#�F�K��#'�F�O� �$(�F��!�/�F�K��%�%�'�'�F�1�I�"(��)�F�O��#9�F�� �"3�F�O��"3�F�O����������"�D���D���Kr!c�$�eZdZ d�Zdd�Zd�ZdS)rc��tdi|��S)Nr )r)rWrYs r"r2zPropertyMock._get_child_mock�s���"�"�6�"�"�"r!Nc��|��Sr;r )rWr4�obj_types r"r�zPropertyMock.__get__�s
���t�v�v�
r!c��||��dSr;r )rWr4rTs r"r�zPropertyMock.__set__�s����S� � � � � r!r;)rrrr2r�r�r r!r"rr~sK�������#�#�#���������r!rc�6� d|_t|��D]�} t||��}n#t$rY� wxYwt |t
��s�:t |j�|��t��r�h|j |urt|����dSrG)rr,r0rLr.rr�rtrDr�r)rCr�r�s r"rr�s�����D���D� � �
�
�� ���d�#�#�A�A��� � � ��H� �����!�_�-�-� ���a�&�*�*�4�0�0�*�=�=� �����%�%���G�G�G��
�
s�,�
9�9c��eZdZ d�Zd�ZdS)r�c�t�||_tt���}tj|_||jd<dS)Nr�r7)�iteratorrrr1�CO_ITERABLE_COROUTINEr�rs)rWrr�s r"rHz_AsyncIterator.__init__�s6�� ��
�#�X�6�6�6� �$�:� ��$-��
�j�!�!�!r!c��^K� t|j��S#t$rYnwxYwt�r;)r�rrrr�s r"r�z_AsyncIterator.__anext__�sA���� ���
�&�&�&��� � � ��D� ���� � s��
%�%N)rrrrHr�r r!r"r�r��s7�������.�.�.�!�!�!�!�!r!r�r�)NFNNN)FFNNr)��__all__r�rrUr1r�r?�builtinsrSr�typesrrr�
unittest.utilr� functoolsrr� threadingrr�rr,r4rr�rr5r9r-r@rErRrbr]rlrprvr�r|r�r�rxr�r�rr�MISSINGr��DELETEDrEr�r�rnr�r�r�r�rrMrHrr�r>r�rrrrUrZr^rraryr�rd�multiple�stopallr�
magic_methods�numericsrerQ�inplace�right�
_non_defaultsr�r�r��_sync_async_magics�
_async_magicsr�r`r�r�r�r�r�r�r�r�r�r�r�r
r�rr�rr
rrr�ror�rr rJrDr=r�rDrprtrYrrrr�r r!r"�<module>r�s5
����&�������� � � � �����
�
�
�
�
�
�
�
���������'�'�'�'�'�'�2�2�2�2�2�2�2�2�2�2�#�#�#�#�#�#�$�$�$�$�$�$�$�$�������C�C�C�C�C�y�C�C�C�
I�H�c�c�(�m�m�H�H�H� �
�
���@�@�@����2�2�2������� � � �F #� #� #� #�
�
�
����&�&�&��������6."�."�."�b>�>�>�6)�)�)� )� )� )� )� )�f� )� )� )�����������9�;�;��
�
������������ � � �&*�*�*�*�*��*�*�*�(���6���������
�
�
�
�
�6�
�
�
�N
<�N
<�N
<�N
<�N
<�d�N
<�N
<�N
<�b
�G��o�6�7�7� �
�
�
�
�
�4�
�
�
� ���g!�g!�g!�g!�g!�D�g!�g!�g!�V6�6�6�6�6�=�/�6�6�6�v���L/�L/�L/�L/�L/�V�L/�L/�L/�`
<�<�<� '�T��t�d���&+������:?C�04�.�.�.�.�d�$�u���4�O�CH�O�O�O�O�O�dV/�V/�V/�V/�V/�&�V/�V/�V/�r���������
��
� �����
����
��"K� ��(�(�7�7�h�n�n�&6�&6�7�7�7�
7�
7�����5�5�H�N�N�$4�$4�5�5�5�5�5�����
�������H�H�m�X�w��
6�7�7�=�=�?�?�����@�?�?��!�]��$�'9�9�
��]�*����.������3�2�0�0�6�6�^�^� �������������������"��������������� � ���1�1�1�$;�;�;�;�;��;�;�;�> � � � � �:�� � � � � � � � �j� � � � � � � � �
�D� � � �,"�"�"�"�"��"�"�"�$@+�@+�@+�@+�@+�T�@+�@+�@+�F(�(�(�(�(����(�(�(�V
�
�
�
�
�6�
�
�
��d�f�f��$�$�$�$v)�v)�v)�v)�v)�E�v)�v)�v)�r
�u�u�����CG��O�*/�O�O�O�O�O�d���8 � � � � �� � � � �D�����D����� �
�
� �� �&�&�&�O�O�O�O�d�����4����$���0!�!�!�!�!�!�!�!�!�!r!
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists