OwlCyberSecurity - MANAGER
Edit File: mock.cpython-36.opt-2.pyc
3 ��2a�7�����������������@���sF��d�Z�d ZddlZddlZddlZddlZddlmZ�ddlm Z m Z �dd��ee�D��Ze fZdejkrzddlZe ejjfZdZeZdd��Zdd��Zdd��Zd�dd�Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd�d'd(�Zd)d*��Zd+d,��Z G�d-d.��d.e!�Z"G�d/d0��d0e!�Z#e#��Z$e$j%Z%e$j&Z'e$j(Z)d1d2��Z*d3d4d5d6d7d8d9d:hZ+d;d<��Z,G�d=d>��d>e-�Z.d?d@��Z/G�dAdB��dBe!�Z0G�dCdD��dDe!�Z1G�dEd ��d e1�Z2dFdG��Z3G�dHdI��dIe1�Z4G�dJd���d�e4e2�Z5dKdL��Z6dMdN��Z7dOdP��Z8G�dQdR��dRe!�Z9dSdT��Z:e%dddddfdUdV�Z;d�dWdX�Z<e%dddddfdYd�Z=G�dZd[��d[e!�Z>d\d]��Z?d^d_��Z@e;e=_!e>e=_Ae<e=_Be@e=_Cd`e=_DdaZEdbZFdcjGddde��eFjH��D���ZIdcjGdfde��eFjH��D���ZJdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxhZKdydz��ZLd{d��dcjGeEeFeIeJg�jH��D��ZMeMeKB�ZNd|d}d~dd�d�d�d�hZOd�d���d�d���d�d���d��ZPeQeQeQeQd�dddd�d�dd�d��ZRd�d���ZSd�d���ZTd�d���ZUeSeTeUd��ZVd�d���ZWG�d�d���d�e!�ZXG�d�d ��d eXe2�ZYG�d�d��deXe5�ZZG�d�d���d�e!�Z[G�d�d���d�e!�Z\e\��Z]d�d���Z^G�d�d���d�e_�Z`e`dd��Zad�d�d�Zbd�d���Zcd�d���ZdG�d�d���d�e!�Zeefeb�efe]jg�fZhefe]jgji�fZjdakd�d���Zld�d�d�ZmG�d�d��de5�ZndS�)��Mock� MagicMock�patch�sentinel�DEFAULT�ANY�call�create_autospec� FILTER_DIR�NonCallableMock�NonCallableMagicMock� mock_open�PropertyMockz1.0�����N)� ModuleType)�wraps�partialc�������������C���s���h�|�]}|j�d��s|�qS�)�_)� startswith)�.0�name��r����)/opt/alt/python36/lib64/python3.6/mock.py� <setcomp>#���s����r����javaTc�������������C���s���t�t|��t�S�)N)� issubclass�typer ���)�objr���r���r����_is_instance_mock2���s����r���c�������������C���s���t�|�t�pt�|�t�ot|�t�S�)N)� isinstance�BaseExceptionsr���r���)r���r���r���r���� _is_exception8���s���� r ���c�������������C���s����t�|�t�r6|�r6y |�j}�W�n�tk r.���d�S�X�d}n*t�|�t�s`y |�j}�W�n�tk r^���d�S�X�|rpt|�d��}n|�}y|�tj|�fS��t k r����d�S�X�d�S�)NT) r���r����__init__�AttributeError� FunctionTypes�__call__r����inspectZ signature� ValueError)�funcZas_instanceZeat_selfZsig_funcr���r���r����_get_signature_object?���s$���� r(���Fc����������������sD���t�|�||�����d�krd�S���\}�����fdd�}t|�|��|t|�_d�S�)Nc����������������s�����j�||��d�S�)N)�bind)� _mock_self�args�kwargs)�sigr���r����checksigd���s����z"_check_signature.<locals>.checksig)r(����_copy_func_detailsr����_mock_check_sig)r'����mock� skipfirst�instancer.���r���)r-���r����_check_signature_���s���� r4���c����������#���C���s����|�j�|_�|�j|_y|�j|_W�n�tk r0���Y�nX�y|�j|_W�n�tk rR���Y�nX�y|�j|_W�n�tk rt���Y�nX�y|�j|_W�n�tk r����Y�nX�d�S�)N)�__name__�__doc__�__text_signature__r"���� __module__�__defaults__�__kwdefaults__)r'����funcopyr���r���r���r/���j���s$����r/���c�������������C���s&���t�|�t�rdS�t|�dd��d�k r"dS�dS�)NTr$���F)r���r����getattr)r���r���r���r���� _callable����s ���� r=���c�������������C���s���t�|��ttfkS�)N)r����list�tuple)r���r���r���r����_is_list����s����r@���c�������������C���sH���t�|�t�st|�dd��d�k S�x(|�f|�j�D�]}|jjd�d�k r(dS�q(W�dS�)Nr$���TF)r���r���r<����__mro__�__dict__�get)r����baser���r���r����_instance_callable����s���� rE���c����������������s����t�|�sd�S�t|t�}t|||�}|d�kr.|�S�|\}����fdd�}t||��|j}|j��s^d}||�d�}d|�} t| |��||�} t| |���| S�)Nc�����������������s�����j�|�|��d�S�)N)r)���)r+���r,���)r-���r���r���r.�������s����z _set_signature.<locals>.checksigr;���)Z _checksig_r1���zYdef %s(*args, **kwargs): _checksig_(*args, **kwargs) return mock(*args, **kwargs)) r=���r���r���r(���r/���r5����isidentifier�exec�_setup_func)r1����originalr3���r2����resultr'���r.���r����context�srcr;���r���)r-���r����_set_signature����s$���� rM���c������� ���������s�������_�t��sd�S��fdd�}�fdd�}�fdd�}�fdd�}�fd d �}�fdd�}�fd d�}���fdd�} d��_d��_d���_t����_t����_t����_�j ��_ �j ��_ �j��_|��_|��_ |��_|��_| ��_|��_|��_|��_���_d�S�)Nc�����������������s�����j�|�|�S�)N)�assert_called_with)r+���r,���)r1���r���r���rN�������s����z'_setup_func.<locals>.assert_called_withc�����������������s�����j�|�|�S�)N)� assert_called)r+���r,���)r1���r���r���rO�������s����z"_setup_func.<locals>.assert_calledc�����������������s�����j�|�|�S�)N)�assert_not_called)r+���r,���)r1���r���r���rP�������s����z&_setup_func.<locals>.assert_not_calledc�����������������s�����j�|�|�S�)N)�assert_called_once)r+���r,���)r1���r���r���rQ�������s����z'_setup_func.<locals>.assert_called_oncec�����������������s�����j�|�|�S�)N)�assert_called_once_with)r+���r,���)r1���r���r���rR�������s����z,_setup_func.<locals>.assert_called_once_withc�����������������s�����j�|�|�S�)N)�assert_has_calls)r+���r,���)r1���r���r���rS�������s����z%_setup_func.<locals>.assert_has_callsc�����������������s�����j�|�|�S�)N)�assert_any_call)r+���r,���)r1���r���r���rT�������s����z$_setup_func.<locals>.assert_any_callc�����������������s:���t�����_t�����_�j�����j}�t|��r6|��k r6|�j���d�S�)N)� _CallList�method_calls� mock_calls� reset_mock�return_valuer���)�ret)r;���r1���r���r���rX�������s����z_setup_func.<locals>.reset_mockFr���)r1���r����called� call_count� call_argsrU����call_args_listrV���rW���rY����side_effect�_mock_childrenrN���rR���rS���rT���rX���rO���rP���rQ����_mock_delegate) r;���r1���rN���rO���rP���rQ���rR���rS���rT���rX���r���)r;���r1���r���rH�������s:����rH���c�������������C���s���d|�dd���|�kS�)Nz__%s__�������r���)r���r���r���r���� _is_magic����s����rd���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)�_SentinelObjectc�������������C���s ���||�_�d�S�)N)r���)�selfr���r���r���r���r!�������s����z_SentinelObject.__init__c�������������C���s ���d|�j��S�)Nzsentinel.%s)r���)rf���r���r���r����__repr__����s����z_SentinelObject.__repr__N)r5���r8����__qualname__r!���rg���r���r���r���r���re�������s���re���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)� _Sentinelc�������������C���s ���i�|�_�d�S�)N)� _sentinels)rf���r���r���r���r!�������s����z_Sentinel.__init__c�������������C���s���|dkrt��|�jj|t|��S�)N� __bases__)r"���rj���� setdefaultre���)rf���r���r���r���r����__getattr__��s����z_Sentinel.__getattr__N)r5���r8���rh���r!���rm���r���r���r���r���ri�������s���ri���c�������������C���s$���t�|��ttttfkr t�|��|��S�|�S�)N)r����dictr>���r?����set)�valuer���r���r����_copy��s����rq���rY����_mock_return_valuer_����_mock_side_effect�_mock_parent�_mock_new_parent� _mock_name�_mock_new_namec�������������C���s8���t�j|���d|��}|�|fdd�}|�|fdd�}t||�S�)NZ_mock_c�������������S���s"���|�j�}|d�krt|�|�S�t||�S�)N)ra���r<���)rf���r���� _the_namer-���r���r���r����_get��s���� z"_delegating_property.<locals>._getc�������������S���s*���|�j�}|d�kr||�j|<�nt|||��d�S�)N)ra���rB����setattr)rf���rp���r���rx���r-���r���r���r����_set$��s����z"_delegating_property.<locals>._set)�_allowed_names�add�property)r���rx���ry���r{���r���r���r����_delegating_property��s ���� r���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)rU���c�������������C���sn���t�|t�stj|�|�S�t|�}t|��}||kr2dS�x6td||�d��D�] }|�|||���}||krFdS�qFW�dS�)NFr�������T)r���r>����__contains__�len�range)rf���rp���Z len_valueZlen_self�iZsub_listr���r���r���r����1��s���� z_CallList.__contains__c�������������C���s���t�jt|���S�)N)�pprintZpformatr>���)rf���r���r���r���rg���?��s����z_CallList.__repr__N)r5���r8���rh���r����rg���r���r���r���r���rU���/��s���rU���c�������������C���sx���t�|�sdS�|js,|js,|jd�k s,|jd�k r0dS�|�}x|d�k rR||krJdS�|j}q6W�|rd|�|_||_|rt|�|_||_dS�)NFT)r���rv���rw���rt���ru���)�parentrp���r����new_name�_parentr���r���r����_check_and_set_parentC��s$���� r����c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)� _MockIterc�������������C���s���t�|�|�_d�S�)N)�iterr���)rf���r���r���r���r���r!���]��s����z_MockIter.__init__c�������������C���s���|�S�)Nr���)rf���r���r���r����__iter___��s����z_MockIter.__iter__c�������������C���s ���t�|�j�S�)N)�nextr���)rf���r���r���r����__next__a��s����z_MockIter.__next__N)r5���r8���rh���r!���r����r����r���r���r���r���r����\��s���r����c���������������@���s���e�Zd�ZeZdZdd��ZdS�)�BaseNc�������������O���s���d�S�)Nr���)rf���r+���r,���r���r���r���r!���g��s����z Base.__init__)r5���r8���rh���r���rr���rs���r!���r���r���r���r���r����d��s���r����c���������������@���sD��e�Zd�Zdd��ZdCdd�Zdd ��ZdDd d�ZdEdd �Zdd��Zdd��Z dZ eee e �Zedd���Z ed�Zed�Zed�Zed�Zed�Zdd��Zdd��Zeee�ZdFddd�dd �Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd1d2��Z d3d4��Z!d5d6��Z"d7d8��Z#d9d:��Z$d;d<��Z%dGd=d>�Z&d?d@��Z'dAdB��Z(dS�)Hr ���c�������������O���s$���t�|�j|�fd|�ji�}tj|�}|S�)Nr6���)r���r5���r6����object�__new__)�clsr+����kw�newr3���r���r���r���r����o��s���� zNonCallableMock.__new__N��Fc�������������K���s����|d�kr|}|�j�} || d<�|| d<�|| d<�|| d<�|d�k rB|}d}| d�krR|d�k } |�j||| | ��i�| d<�|| d<�d�| d<�d | d <�d�| d<�d| d <�t��| d<�t��| d<�t��| d<�|| d<�|r�|�jf�|��tt|��j||||||��d�S�)Nrt���rv���rw���ru���Tr`����_mock_wrapsra���FZ_mock_calledZ_mock_call_argsr���Z_mock_call_countZ_mock_call_args_listZ_mock_mock_callsrV����_mock_unsafe)rB����_mock_add_specrU����configure_mock�_safe_superr ���r!���)rf����specr���r����spec_setr�����_spec_state� _new_name�_new_parent�_spec_as_instance� _eat_selfZunsafer,���rB���r���r���r���r!���x��s8���� zNonCallableMock.__init__c�������������C���s(���d�|_�d�|_d|_d�|_t|�||��d�S�)Nr����)rt���ru���rv���rw���rz���)rf���r1���� attributer���r���r����attach_mock���s ����zNonCallableMock.attach_mockc�������������C���s���|�j�||��d�S�)N)r����)rf���r����r����r���r���r���� mock_add_spec���s����zNonCallableMock.mock_add_specc������� ������C���s|���d�}d�}|d�k rRt�|��rRt|t�r*|}nt|�}t|||�}|oH|d�}t|�}|�j}||d<�||d<�||d<�||d<�d�S�)Nr�����_spec_class� _spec_set�_spec_signature� _mock_methods)r@���r���r���� _get_classr(����dirrB���) rf���r����r����r����r����r����r�����resrB���r���r���r���r�������s���� zNonCallableMock._mock_add_specc�������������C���s8���|�j�}|�jd�k r|�jj}|tkr4|�j|�dd�}||�_|S�)Nz())r����r����)rr���ra���rY���r����_get_child_mock)rf���rZ���r���r���r���Z__get_return_value���s���� z"NonCallableMock.__get_return_valuec�������������C���s,���|�j�d�k r||�j�_n||�_t|�|d�d��d�S�)Nz())ra���rY���rr���r����)rf���rp���r���r���r���Z__set_return_value���s���� z"NonCallableMock.__set_return_valuez1The value to be returned when the mock is called.c�������������C���s���|�j�d�krt|��S�|�j�S�)N)r����r���)rf���r���r���r���� __class__���s���� zNonCallableMock.__class__r[���r\���r]���r^���rW���c�������������C���sT���|�j�}|d�kr|�jS�|j}|d�k rPt|��rPt|t��rPt|��rPt|�}||_|S�)N)ra���rs���r_����callabler���r����r ���)rf���� delegatedZsfr���r���r���Z__get_side_effect���s����z!NonCallableMock.__get_side_effectc�������������C���s(���t�|�}|�j}|d�kr||�_n||_d�S�)N)� _try_iterra���rs���r_���)rf���rp���r����r���r���r���Z__set_side_effect��s ����z!NonCallableMock.__set_side_effect)rY���r_���c������������C���s����|d�krg�}t�|��|krd�S�|jt�|����d|�_d�|�_d|�_t��|�_t��|�_t��|�_|r^t |�_ |rhd�|�_x0|�jj ��D�]"}t|t�st|tkr�qt|j|��qtW�|�j }t|�r�||�k r�|j|��d�S�)NFr���)�id�appendr[���r]���r\���rU���rW���r^���rV���r���rr���rs���r`����valuesr���� _SpecState�_deletedrX���r���)rf���ZvisitedrY���r_���ZchildrZ���r���r���r���rX��� ��s,����zNonCallableMock.reset_mockc�������������K���s`���xZt�|j��dd��d�D�]B\}}|jd�}|j��}|�}x|D�]}t||�}q:W�t|||��qW�d�S�)Nc�������������S���s���|�d�j�d�S�)Nr����.)�count)�entryr���r���r����<lambda>8��s����z0NonCallableMock.configure_mock.<locals>.<lambda>)�keyr����)�sorted�items�split�popr<���rz���)rf���r,����arg�valr+����finalr���r����r���r���r���r����+��s���� zNonCallableMock.configure_mockc�������������C���s����|dkrt�|��n:|�jd�k r<||�jks.|tkrLt�d|���nt|�rLt�|��|�jsd|jd�rdt�|��|�jj|�}|tkr�t�|��np|d�kr�d�}|�j d�k r�t |�j |�}|�j|�||||�d�}||�j|<�n.t|t �r�t|j|j|j|j|j�}||�j|<�|S�) Nr����r����zMock object has no attribute %r�assert�assret)r����r���r���r����r����>���r����r����)r����r����)r"���r�����_all_magicsrd���r����r���r`���rC���r����r����r<���r����r���r����r���r����r����r3���r����r���)rf���r���rJ���r���r���r���r���rm���A��s6���� zNonCallableMock.__getattr__c������� ������C���s"��|�j�g}|�j}|�}d}|dgkr$d}t��}xT|d�k r~|}|j|j�|���d}|j�dkrZd}|j}t|�|krnP�|jt|���q,W�tt|��}|jp�d}t |�dkr�|d�d kr�|d7�}||d<�dj |�}d}|dkr�d |�}d} |�jd�k �rd } |�j��r�d} | |�jj �} dt|��j || t|��f�S�)Nr�����()r����r1���r�����().r����mock.z name=%rz spec=%rz spec_set=%rz<%s%s%s id='%s'>)r����r����)r1���r����)rw���ru���ro���r����r����r}���r>����reversedrv���r�����joinr����r����r5���r���) rf���Z _name_listr����Zlast�dot�seenZ_firstr���Zname_stringZspec_stringr���r���r���rg���g��sL���� zNonCallableMock.__repr__c�������������C���sh���t�stj|��S�|�jpg�}tt|���}t|�j�}dd��|D��}dd��|D��}tt ||�|�t|�j ����S�)Nc�������������S���s���g�|�]}|j�d��s|�qS�)r���)r���)r����er���r���r���� <listcomp>���s����z+NonCallableMock.__dir__.<locals>.<listcomp>c�������������S���s$���g�|�]}|j�d���st|�r|�qS�)r���)r���rd���)r���r����r���r���r���r�������s����)r ���r�����__dir__r����r����r���r>���rB���r����ro���r`���)rf����extrasZ from_typeZ from_dictr���r���r���r�������s���� zNonCallableMock.__dir__c����������������s"��|t�krtj�||�S��jrH�jd�k rH|�jkrH|�jkrHtd|���n�|tkrbd|�}t|��n�|tkr�jd�k r�|�jkr�td|���t |�s�t t��|t||���|�����fdd�}n(t �|d�|��t t��||��|�j|<�n.|dk��r�|�_d�S�t �|||��r|�j|<�tj�||�S�)Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.c�����������������s������f|��|�S�)Nr���)r+���r����)rI���rf���r���r���r�������s����z-NonCallableMock.__setattr__.<locals>.<lambda>r����)r|���r�����__setattr__r����r����rB���r"����_unsupported_magicsr����r���rz���r����_get_methodr����r`���r����)rf���r���rp����msgr���)rI���rf���r���r�������s2���� zNonCallableMock.__setattr__c�������������C���s����|t�kr2|t|��jkr2tt|��|��||�jkr2d�S�||�jkrHtj|�|��|�jj|t�}|t krft |��|tk rv|�j|=�t |�j|<�d�S�)N)r����r���rB����delattrr�����__delattr__r`���rC����_missingr����r"���)rf���r���r���r���r���r���r�������s���� zNonCallableMock.__delattr__c�������������C���s���|�j�pd}t|||�S�)Nr1���)rv����_format_call_signature)rf���r+���r,���r���r���r���r����_format_mock_call_signature���s���� z+NonCallableMock._format_mock_call_signaturec�������������C���sD���d}|�j�||�}|�j}t|�dkr.|dd���}|�j�|��}|||f�S�)Nz!Expected call: %s Actual call: %s����r����)r����r]���r����)rf���r+���r,����message�expected_stringr]���Z actual_stringr���r���r����_format_mock_failure_message���s���� z,NonCallableMock._format_mock_failure_messagec�������������C���st���|�j�}|d�k rlt|�dkr(d}|\}}n |\}}}y||j||�fS��tk rh�}�z |jd��S�d�}~X�qpX�n|S�d�S�)Nrb���r����)r����r����r)���� TypeError�with_traceback)rf����_callr-���r���r+���r,���r����r���r���r���� _call_matcher���s���� zNonCallableMock._call_matcherc�������������C���s.���|�}|j�dkr*d|jpd|j�f�}t|��d�S�)Nr���z7Expected '%s' to not have been called. Called %s times.r1���)r\���rv����AssertionError)r*���rf���r����r���r���r���rP�����s ���� z!NonCallableMock.assert_not_calledc�������������C���s(���|�}|j�dkr$d|j�pd}t|��d�S�)Nr���z"Expected '%s' to have been called.r1���)r\���rv���r����)r*���rf���r����r���r���r���rO�����s ���� zNonCallableMock.assert_calledc�������������C���s.���|�}|j�dks*d|jpd|j�f�}t|��d�S�)Nr����z8Expected '%s' to have been called once. Called %s times.r1���)r\���rv���r����)r*���rf���r����r���r���r���rQ�����s ���� z"NonCallableMock.assert_called_oncec����������������s|���|���j�d�kr(�j����}td|f�������fdd�}�j���f�}�j�j��}||krxt|t�rh|nd�}t|���|�d�S�)NzExpected call: %s Not calledc�����������������s����j�����}�|�S�)N)r����)r����)r+���r,���rf���r���r����_error_message'��s����z:NonCallableMock.assert_called_with.<locals>._error_message)r]���r����r����r����r���� Exception)r*���r+���r,����expectedr�����actual�causer���)r+���r,���rf���r���rN�����s���� z"NonCallableMock.assert_called_withc�������������O���s6���|�}|j�dks*d|jpd|j�f�}t|��|j||�S�)Nr����z1Expected '%s' to be called once. Called %s times.r1���)r\���rv���r����rN���)r*���r+���r,���rf���r����r���r���r���rR���1��s���� z'NonCallableMock.assert_called_once_withc����������������s������fdd�|D��}t�|t�r |nd�}t��fdd���jD���}|sd||kr`tdt|���jf��|�d�S�t|�}g�}x:|D�]2}y|j|��W�qv�tk r����|j|��Y�qvX�qvW�|r�tdt |�f��|�d�S�)Nc����������������s���g�|�]}��j�|��qS�r���)r����)r����c)rf���r���r���r����F��s����z4NonCallableMock.assert_has_calls.<locals>.<listcomp>c�������������3���s���|�]}��j�|�V��qd�S�)N)r����)r���r����)rf���r���r���� <genexpr>H��s����z3NonCallableMock.assert_has_calls.<locals>.<genexpr>z(Calls not found. Expected: %r Actual: %rz%r not all found in call list) r���r����rU���rW���r����r>����remover&���r����r?���)rf���ZcallsZ any_orderr����r����Z all_callsZ not_foundZkallr���)rf���r���rS���<��s*���� z NonCallableMock.assert_has_callsc����������������sZ�����j�||f�}��fdd���jD��}||krVt|t�r8|nd�}��j||�}td|��|�d�S�)Nc����������������s���g�|�]}��j�|��qS�r���)r����)r���r����)rf���r���r���r����f��s����z3NonCallableMock.assert_any_call.<locals>.<listcomp>z%s call not found)r����r^���r���r����r����r����)rf���r+���r,���r����r����r����r����r���)rf���r���rT���_��s����zNonCallableMock.assert_any_callc�������������K���sF���t�|��}t|t�s2t|t�r"t}q<t|t�r<t}n |jd�}|f�|�S�)Nr����)r���r���� CallableMixinr���r���r ���r���rA���)rf���r�����_type�klassr���r���r���r����o��s���� zNonCallableMock._get_child_mock)NNNNNNr����NFNF)F)FF)N)F))r5���r8���rh���r����r!���r����r����r����Z"_NonCallableMock__get_return_valueZ"_NonCallableMock__set_return_valueZ"_NonCallableMock__return_value_docr~���rY���r����r���r[���r\���r]���r^���rW���Z!_NonCallableMock__get_side_effectZ!_NonCallableMock__set_side_effectr_���rX���r����rm���rg���r����r����r����r����r����r����rP���rO���rQ���rN���rR���rS���rT���r����r���r���r���r���r ���l��sP��� �� ) � &2" #c�������������C���sF���|�d�kr|�S�t�|��r|�S�t|��r$|�S�yt|��S��tk r@���|�S�X�d�S�)N)r ���r=���r����r����)r���r���r���r���r�������s����r����c������������ ���@���sB���e�Zd�Zddedddddddf dd�Zdd��Zdd��Zd d ��ZdS�)r����Nr����c���������� ���K���s6���||�j�d<�tt|��j||||||| | f|��||�_d�S�)Nrr���)rB���r����r����r!���r_���)rf���r����r_���rY���r���r���r����r����r����r����r����r,���r���r���r���r!������s ���� zCallableMixin.__init__c�������������O���s���d�S�)Nr���)rf���r+���r,���r���r���r���r0������s����zCallableMixin._mock_check_sigc�������������O���s���|�j�||��|�j||�S�)N)r0���� _mock_call)r*���r+���r,���r���r���r���r$������s����zCallableMixin.__call__c�������������O���s���|�}d|_�|�jd7��_t||fdd�}||_|jj|��t��}|jd�k }|j}|j }|dk} |j jtd||f���|j} x�| d�k �r*|r�| jjt|||f���| jd�k }|r�| jd�|�}t|||f�}| j j|��| j �r| r�d}nd}| j dk} | j |�|�}| j} t | �} | |k�rP�|j| ��q|W�|j}|d�k �r�t|��rL|�n,t|��snt|�}t|��rx|�n |||�}|tk �r�|S�|jtk �r�|jS�|jd�k �r�|j||�S�|jS�)NTr����)�twoz()r����r����)r[���r\����_Callr]���r^���r����ro���rt���rv���rw���rW���ru���rV���r����r}���r_���r ���r=���r����r���rr���rY���r����)r*���r+���r,���rf���r����r����Zdo_method_callsZmethod_call_nameZmock_call_nameZ is_a_callr����Zthis_mock_callr����Z_new_parent_idZeffectrJ���r���r���r���r�������s`���� zCallableMixin._mock_call)r5���r8���rh���r���r!���r0���r$���r����r���r���r���r���r�������s���r����c���������������@���s���e�Zd�ZdS�)r���N)r5���r8���rh���r���r���r���r���r������s���1c�������������C���s2���y t�|�|�S��tk r,���t|��t�|�|�S�X�d�S�)N)r<���r"���� __import__)�thing�comp�import_pathr���r���r����_dot_lookup1��s ���� r����c�������������C���sF���|�j�d�}|jd�}t|�}x$|D�]}|d|�7�}t|||�}q"W�|S�)Nr����r���z.%s)r����r����r����r����)�targetZ componentsr����r����r����r���r���r���� _importer9��s���� r����c�������������C���s ���t�|�d�S�)N�is_local)�hasattr)�patcherr���r���r����_is_startedD��s����r����c���������������@���sd���e�Zd�ZdZg�Zdd��Zdd��Zdd��Zdd ��Zd d��Z dd ��Z dd��Zdd��Zdd��Z dd��ZdS�)�_patchNc ������� ������C���sn���|d�k r(|t�k rtd��|d�k r(td��||�_||�_||�_||�_||�_||�_d|�_||�_ ||�_ | |�_g�|�_d�S�)Nz,Cannot use 'new' and 'new_callable' togetherz1Cannot use 'autospec' and 'new_callable' togetherF) r���r&����getterr����r�����new_callabler�����createZ has_localr�����autospecr,����additional_patchers) rf���r����r����r����r����r����r����r����r����r,���r���r���r���r!���N��s$����z_patch.__init__c���������� ���C���sH���t�|�j|�j|�j|�j|�j|�j|�j|�j|�j � }|�j |_ dd��|�jD��|_|S�)Nc�������������S���s���g�|�]}|j����qS�r���)�copy)r����pr���r���r���r����q��s����z_patch.copy.<locals>.<listcomp>)r����r����r����r����r����r����r����r����r����r,����attribute_namer���)rf���r����r���r���r���r��i��s����z_patch.copyc�������������C���s���t�|t�r|�j|�S�|�j|�S�)N)r���r����decorate_class�decorate_callable)rf���r'���r���r���r���r$���v��s���� z_patch.__call__c�������������C���sR���xLt�|�D�]@}|jtj�sq t||�}t|d�s2q |�j��}t||||���q W�|S�)Nr$���)r����r���r����TEST_PREFIXr<���r����r��rz���)rf���r�����attr� attr_valuer����r���r���r���r��|��s���� z_patch.decorate_classc����������������s<���t���d�r��jj|�����S�t������fdd���|�g�_�S�)N� patchingsc�����������������s����g�}g�}t���}z�ybxJ�jD�]@}|j��}|j|��|jd�k rF|j|��q|jtkr|j|��qW�|�t�|�7�}���|�|�S����||kr�t|�r�|j|��t j ��}��Y�nX�W�d�xt|�D�]}|j|���q�W�X�d�S�)N) r?���r ��� __enter__r����r���updater����r���r�����sys�exc_infor�����__exit__)r+���Zkeywargs� extra_argsZentered_patchersr ���patchingr����)r'����patchedr���r���r�����s*���� z)_patch.decorate_callable.<locals>.patched)r����r ��r����r���)rf���r'���r���)r'���r��r���r�����s���� z_patch.decorate_callablec�������������C���s����|�j���}|�j}t}d}y|j|�}W�n$�ttfk rH���t||t�}Y�nX�d}|tkrft|t �rfd|�_ |�j �r�|tkr�td||f���||fS�)NFTz!%s does not have the attribute %r)r����r����r���rB���r"����KeyErrorr<���� _builtinsr���r���r����)rf���r����r���rI����localr���r���r����get_original���s����z_patch.get_originalc�������������C���s>��|�j�|�j|�j��}}}|�j|�j�}}|�j}|�j��|�_|dkr@d�}|dkrLd�}|dkrXd�}|d�k rp|d�k rptd��|d�k s�|d�k r�|dkr�td��|�j ��\}}|t ko�|d�k�rTd} |dkr�|}|dkr�|}d�}n&|d�k r�|dkr�|}d�}n|dkr�|}|d�k �s |d�k �r,|t k�rtd��t|t��r,d} t } i�}|d�k �rD|} nN|d�k �sX|d�k �r�|}|d�k �rj|}t|��r~d|k} n t|��} | �r�t} |d�k �r�||d<�|d�k �r�||d<�t| t��r�t| t��r�|�j�r�|�j|d <�|j|��| f�|�}| �r�t|��r�|}|d�k �r|}t|���r2t|���r2t} |jd ��| f�|d d�|��|_nl|d�k �r�|t k �rptd��|t k�r�td ��t|�}|dk�r�|}t|f||�jd�|��}n|�r�td��|}||�_||�_t|�j|�j|��|�jd�k �r:i�}|�j�t k�r|||�j<�x.|�jD�]$}|j ��}|j�t k�r|j|���qW�|S�|S�)NFzCan't specify spec and autospecTz6Can't provide explicit spec_set *and* spec or autospecz!Can't use 'spec' with create=Truer$���r����r����r���z())r����r����zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=True)r�����_namez.Can't pass kwargs to a mock we aren't creating)TN)!r����r����r����r����r,���r����r����r����r����r��r���r���r���r���r@���r����r���r���r ���r����r��r���rE���r����rY����boolr���� temp_originalr����rz���r��r���r ��)rf���r����r����r����r����r,���r����rI���r��Zinherit�Klass�_kwargsZ this_specZnot_callableZnew_attrr��r��r����r���r���r���r �����s����� z_patch.__enter__c�������������G���s����t�|��std��|�jr4|�jtk r4t|�j|�j|�j��nBt|�j|�j��|�j �rvt |�j|�j��sd|�jdkrvt|�j|�j|�j��|�`|�`|�`x$t|�j�D�]}t�|�r�|j |���q�W�d�S�)Nz stop called on unstarted patcherr6���r8���r9����__annotations__r:���)r6���r8���r9���r��r:���)r�����RuntimeErrorr����r��r���rz���r����r����r����r����r����r����r���r��)rf���r ��r����r���r���r���r��H��s �����z_patch.__exit__c�������������C���s���|�j���}|�jj|���|S�)N)r ���_active_patchesr����)rf���rJ���r���r���r����start`��s����z_patch.startc�������������C���s.���y|�j�j|���W�n�tk r$���Y�nX�|�j��S�)N)r��r����r&���r��)rf���r���r���r����stopg��s ����z_patch.stop)r5���r8���rh���r��r��r!���r��r$���r��r��r��r ��r��r��r��r���r���r���r���r����I��s��� (~r����c����������������sP���y��j�dd�\��}W�n&�ttfk r:���td��f���Y�nX���fdd�}||fS�)Nr����r����z.Need a valid target to patch. You supplied: %rc������������������s���t����S�)N)r����r���)r����r���r���r����y��s����z_get_target.<locals>.<lambda>)�rsplitr����r&���)r����r����r����r���)r����r����_get_targets��s����r!��c������� ��� ������s$�����fdd�} t�| ||||||||� S�)Nc������������������s�����S�)Nr���r���)r����r���r���r�������s����z_patch_object.<locals>.<lambda>)r����) r����r����r����r����r����r����r����r����r,���r����r���)r����r���� _patch_object}��s���� r"��c������� ���������s����t����tkr��fdd�}n��fdd�}|s2td��t|j���}|d�\} } t|| | |||||i�� }| |_xB|dd���D�]2\} } t|| | |||||i�� }| |_|jj|��qvW�|S�)Nc������������������s���t����S�)N)r����r���)r����r���r���r�������s����z!_patch_multiple.<locals>.<lambda>c������������������s�����S�)Nr���r���)r����r���r���r�������s����z=Must supply at least one keyword argument with patch.multipler���r����) r����strr&���r>���r����r����r��r���r����) r����r����r����r����r����r����r,���r����r����r����r����r����Zthis_patcherr���)r����r����_patch_multiple���s&���� r$��c������� ��� ���K���s$���t�|��\}} t|| |||||||� S�)N)r!��r����) r����r����r����r����r����r����r����r,���r����r����r���r���r���r������s����E c���������������@���sR���e�Zd�Zf�dfdd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Zdd��Z eZ e ZdS�)�_patch_dictFc�������������K���s>���t�|t�rt|�}||�_t|�|�_|�jj|��||�_d�|�_d�S�)N) r���r#��r�����in_dictrn���r����r���clear� _original)rf���r&��r����r'��r,���r���r���r���r!���0��s���� z_patch_dict.__init__c����������������s.���t���t�r�j���S�t������fdd��}|S�)Nc����������� ������s"����j����z ��|�|�S��j���X�d�S�)N)r%��� _unpatch_dict)r+���r����)�frf���r���r����_inner>��s���� z$_patch_dict.__call__.<locals>._inner)r���r���r��r���)rf���r*��r+��r���)r*��rf���r���r$���;��s���� z_patch_dict.__call__c�������������C���s\���xVt�|�D�]J}t||�}|jtj�r t|d�r t|�j|�j|�j �}||�}t |||��q W�|S�)Nr$���)r����r<���r���r���r��r����r%��r&��r����r'��rz���)rf���r����r��r��Z decoratorZ decoratedr���r���r���r��I��s���� z_patch_dict.decorate_classc�������������C���s���|�j����d�S�)N)r%��)rf���r���r���r���r ��T��s����z_patch_dict.__enter__c�������������C���s����|�j�}|�j}|�j}y|j��}W�n2�tk rP���i�}x|D�]}||�||<�q8W�Y�nX�||�_|rdt|��y|j|��W�n.�tk r����x|D�]}||�||<�q�W�Y�nX�d�S�)N)r����r&��r'��r��r"���r(���_clear_dictr��)rf���r����r&��r'��rI���r����r���r���r���r%��Y��s"���� z_patch_dict._patch_dictc�������������C���sV���|�j�}|�j}t|��y|j|��W�n.�tk rP���x|D�]}||�||<�q8W�Y�nX�d�S�)N)r&��r(��r,��r��r"���)rf���r&��rI���r����r���r���r���r)��s��s���� z_patch_dict._unpatch_dictc�������������G���s���|�j����dS�)NF)r)��)rf���r+���r���r���r���r�����s����z_patch_dict.__exit__N)r5���r8���rh���r!���r$���r��r ��r%��r)��r��r��r��r���r���r���r���r%����s��� r%��c�������������C���sB���y|�j����W�n0�tk r<���t|��}x|D�] }|�|=�q*W�Y�nX�d�S�)N)r'��r"���r>���)r&���keysr����r���r���r���r,�����s���� r,��c��������������C���s ���xt�tj�D�]}�|�j���qW�d�S�)N)r����r����r��r��)r���r���r���r����_patch_stopall���s����r.��Ztestz�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 trunc floor ceil bool next zHadd sub mul matmul div floordiv mod lshift rshift and xor or pow truediv� c�������������c���s���|�]}d�|�V��qdS�)zi%sNr���)r����nr���r���r���r�������s����r����c�������������c���s���|�]}d�|�V��qdS�)zr%sNr���)r���r0��r���r���r���r�������s�����__get__�__set__� __delete__�__reversed__�__missing__� __reduce__� __reduce_ex__Z__getinitargs__�__getnewargs__�__getstate__�__setstate__� __getformat__� __setformat__rg���r�����__subclasses__� __format__�__getnewargs_ex__c����������������s�����fdd�}|�|_�|S�)Nc����������������s�����|�f|�|�S�)Nr���)rf���r+���r����)r'���r���r����method���s����z_get_method.<locals>.method)r5���)r���r'���r@��r���)r'���r���r�������s����r����c�������������C���s���h�|�]}d�|��qS�)z__%s__r���)r���r@��r���r���r���r������s���rm���r����r!���r�����__prepare__�__instancecheck__�__subclasscheck__�__del__c�������������C���s ���t�j|��S�)N)r�����__hash__)rf���r���r���r���r�������s����r����c�������������C���s ���t�j|��S�)N)r�����__str__)rf���r���r���r���r�������s����c�������������C���s ���t�j|��S�)N)r����� __sizeof__)rf���r���r���r���r�������s����)rE��rF��rG��r����y���������������?g�������?)�__lt__�__gt__�__le__�__ge__�__int__r�����__len__r���__complex__� __float__�__bool__� __index__c����������������s�����fdd�}|S�)Nc����������������s$�����j�j}|tk r|S���|�kr dS�tS�)NT)�__eq__rr���r����NotImplemented)�other�ret_val)rf���r���r���rR�����s����z_get_eq.<locals>.__eq__r���)rf���rR��r���)rf���r����_get_eq���s����rV��c����������������s�����fdd�}|S�)Nc����������������s �����j�jtk rtS���|�krdS�tS�)NF)�__ne__rr���r���rS��)rT��)rf���r���r���rW�����s ����z_get_ne.<locals>.__ne__r���)rf���rW��r���)rf���r����_get_ne���s����rX��c����������������s�����fdd�}|S�)Nc�����������������s �����j�j}�|�tkrtg��S�t|��S�)N)r����rr���r���r����)rU��)rf���r���r���r�������s����z_get_iter.<locals>.__iter__r���)rf���r����r���)rf���r���� _get_iter���s����rY��)rR��rW��r����c�������������C���s����t�j|t�}|tk r||_d�S�tj|�}|d�k rdy||��}W�n�tk rX���t|�}Y�nX�||_d�S�tj|�}|d�k r�||��|_d�S�)N)�_return_valuesrC���r���rY����_calculate_return_valuer"����_side_effect_methodsr_���)r1���r@��r���ZfixedZreturn_calulatorrY���Z side_effectorr���r���r����_set_return_value��s���� r]��c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)� MagicMixinc�������������O���s&���|�j����tt|��j||��|�j����d�S�)N)�_mock_set_magicsr����r^��r!���)rf���r+���r����r���r���r���r!���(��s����zMagicMixin.__init__c�������������C���s����t�}t|�dd��d�k rTt�j|�j�}t��}t�|�}x$|D�]}|t|��jkr4t|�|��q4W�|tt|��j��}t|��}x|D�]}t||t ||����qtW�d�S�)Nr����) �_magicsr<����intersectionr����ro���r���rB���r����rz���� MagicProxy)rf���Zthese_magicsZ remove_magicsr����r����r���r���r���r_��.��s���� zMagicMixin._mock_set_magicsN)r5���r8���rh���r!���r_��r���r���r���r���r^��'��s���r^��c���������������@���s���e�Zd�Zddd�ZdS�)r���Fc�������������C���s���|�j�||��|�j���d�S�)N)r����r_��)rf���r����r����r���r���r���r����G��s����z"NonCallableMagicMock.mock_add_specN)F)r5���r8���rh���r����r���r���r���r���r���E��s���c���������������@���s���e�Zd�Zddd�ZdS�)r���Fc�������������C���s���|�j�||��|�j���d�S�)N)r����r_��)rf���r����r����r���r���r���r����]��s����zMagicMock.mock_add_specN)F)r5���r8���rh���r����r���r���r���r���r���R��s���c���������������@���s.���e�Zd�Zdd��Zdd��Zdd��Zd dd �ZdS�)rb��c�������������C���s���||�_�||�_d�S�)N)r���r����)rf���r���r����r���r���r���r!���i��s����zMagicProxy.__init__c�������������O���s���|�j���}|||�S�)N)�create_mock)rf���r+���r,����mr���r���r���r$���m��s����zMagicProxy.__call__c�������������C���s8���|�j�}|�j}|j|||d�}t|||��t|||��|S�)N)r���r����r����)r���r����r����rz���r]��)rf���r����r����rd��r���r���r���rc��q��s����zMagicProxy.create_mockNc�������������C���s���|�j���S�)N)rc��)rf���r���r����r���r���r���r1��z��s����zMagicProxy.__get__)N)r5���r8���rh���r!���r$���rc��r1��r���r���r���r���rb��h��s��� rb��c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)�_ANYc�������������C���s���dS�)NTr���)rf���rT��r���r���r���rR�����s����z_ANY.__eq__c�������������C���s���dS�)NFr���)rf���rT��r���r���r���rW�����s����z_ANY.__ne__c�������������C���s���dS�)Nz<ANY>r���)rf���r���r���r���rg������s����z _ANY.__repr__N)r5���r8���rh���rR��rW��rg���r���r���r���r���re����s���re��c�������������C���sd���d|��}d}dj�dd��|D���}dj�dd��t|j���D���}|rD|}|r\|rT|d7�}||7�}||�S�)Nz%s(%%s)r����z, c�������������S���s���g�|�]}t�|��qS�r���)�repr)r���r����r���r���r���r�������s����z*_format_call_signature.<locals>.<listcomp>c�������������S���s���g�|�]\}}d�||f��qS�)z%s=%rr���)r���r����rp���r���r���r���r�������s����)r����r����r����)r���r+���r,���r����Zformatted_args�args_stringZ kwargs_stringr���r���r���r�������s����r����c���������������@���sr���e�Zd�Zf�ddddfdd�Zf�ddddfdd�Zd d ��ZejZdd��Zd d��Z dd��Z dd��Zdd��Zdd��Z dS�)r����r����NFTc�������������C���s����f�}i�}t�|�}|dkr$|\}}}nr|dkrd|\} } t| t�rX| }t| t�rR| }qb| }q�| | �}}n2|dkr�|\}t|t�r�|}nt|t�r�|}n|}|r�tj|�||f�S�tj|�|||f�S�)Nr����rb���r����)r����r���r#��r?���r����)r����rp���r���r����r����� from_kallr+���r,����_len�first�secondr���r���r���r�������s.���� z _Call.__new__c�������������C���s���||�_�||�_||�_d�S�)N)rv���rt����_mock_from_kall)rf���rp���r���r����r����rh��r���r���r���r!������s����z_Call.__init__c�������������C���sf��|t�krdS�yt|�}W�n�tk r,���dS�X�d}t|��dkrH|�\}}n |�\}}}t|�dd��rzt|dd��rz|�j|jkrzdS�d}|dkr�f�i��}}n�|dkr�|\}}}n�|dkr�|\} t| t�r�| }i�}n"t| t�r�| }f�i��}}nf�}| }nV|dk�r>|\} }t| t��r2| }t|t��r&|i��}}n f�|�}}n | |�}}ndS�|�rV||k�rVdS�||f||fkS�) NTFr����rb���rt���r���r����r����)r���r����r����r<���rt���r���r?���r#��)rf���rT��Z len_otherZ self_nameZ self_argsZself_kwargsZ other_nameZ other_argsZother_kwargsrp���rj��rk��r���r���r���rR�����sP���� z_Call.__eq__c�������������O���s<���|�j�d�krtd||fdd�S�|�j�d�}t|�j�||f||�d�S�)Nr����z())r���)r���r����)rv���r����)rf���r+���r,���r���r���r���r���r$�����s���� z_Call.__call__c�������������C���s2���|�j�d�krt|dd�S�d|�j�|f�}t||�dd�S�)NF)r���rh��z%s.%s)r���r����rh��)rv���r����)rf���r��r���r���r���r���rm�����s���� z_Call.__getattr__c�������������O���s���|�j�d�||�S�)Nr����)rm���)rf���r+���r,���r���r���r���r����$��s����z_Call.countc�������������O���s���|�j�d�||�S�)N�index)rm���)rf���r+���r,���r���r���r���rm��'��s����z_Call.indexc�������������C���s|���|�j�s&|�jpd}|jd�r"d|�}|S�t|��dkr@d}|�\}}n0|�\}}}|sTd}n|jd�shd|�}nd|�}t|||�S�)Nr���z()zcall%srb���zcall.%s)rl��rv���r���r����r����)rf���r���r+���r,���r���r���r���rg���*��s���� z_Call.__repr__c�������������C���s8���g�}|�}x"|d�k r*|j�r"|j|��|j}q W�tt|��S�)N)rl��r����rt���rU���r����)rf����valsr����r���r���r���� call_list?��s���� z_Call.call_list)r5���r8���rh���r����r!���rR��r����rW��r$���rm���r����rm��rg���ro��r���r���r���r���r�������s���7r����)rh��c�������������K���s,��t�|��rt|��}�t|�t�}d|�i}|r0d|�i}n|�d�kr<i�}|rL|rLd|d<�|j|��t}tj|��rji�}n$t|��sxt}n|r�|r�t |���r�t}|j d|�}|} |d�kr�d} |f�||| |d�|��} t|�t�r�t| |��} nt |�| ||��|d�k o�|��r�| |j|<�|�r,|��r,d|k�r,t|�|dd | d �| _x�t|��D�]�}t|��rH�q6yt|�|�}W�n�tk �rp����w6Y�nX�d|i}|�r�d|i}t|t��s�t||| ||�} | | j|<�nZ| }t|�t��r�| j}t|�||�}||d<�tf�||||d�|��} | | j|<�t || |d ��t| t��r6t| || ���q6W�| S�)Nr����r����Tr����r���r����)r����r����r����r���rY���z())r3���r��r����r����)r����r���r����r����)r2���)r@���r���r���r��r���r%���Zisdatadescriptorr=���r���rE���r����r#���rM���r4���r`���r���rY���r����rd���r<���r"���r����r1���� _must_skiprz���)r����r����r3���r����r��r,����is_typer��r��r����r1���r����rI���r����r����r2���r���r���r���r���P��st���� c�������������C���s|���t�|�t�s$|t|�di��krdS�|�j}�xR|�jD�]H}|jj|t�}|tkrHq,t�|tt f�rZdS�t�t|dd��t �rp|S�dS�q,W�|S�)NrB���Fr1��)r���r���r<���r����rA���rB���rC���r����staticmethod�classmethod�MethodWrapperTypes)r����r����rq��r����rJ���r���r���r���rp�����s���� rp��c�������������C���s$���y|�j�S��tk r���t|��S�X�d�S�)N)r����r"���r���)r���r���r���r���r�������s����r����c���������������@���s���e�Zd�Zddd�ZdS�)r����FNc�������������C���s(���||�_�||�_||�_||�_||�_||�_d�S�)N)r�����idsr����r����r3���r���)rf���r����r����r����r���ru��r3���r���r���r���r!������s����z_SpecState.__init__)FNNNF)r5���r8���rh���r!���r���r���r���r���r�������s����r����c�������������#���sp���t�|�t�rdnd����fdd�|�j���D��}|d���krD|d�d��}n|d�d�d ��|d <�x|D�] }|V��q^W�d�S�)N���� � c����������������s���g�|�]}|����qS�r���r���)r����l)�sepr���r���r���� ��s����z&_iterate_read_data.<locals>.<listcomp>r�������rz��rz��rz��rz��)r����bytesr����)� read_dataZdata_as_list�liner���)ry��r����_iterate_read_data ��s���� r~��r����c����������������s������fdd�}���fdd�}���fdd���t�d�kr`dd�l}ttt|j��jtt|j����a�|�d�krttdt d �}�tt�d ����j _t��d�g�d��j _d��j_d��j_d��j_|�j_�����d<��d��j_|�j_�����fdd �}||�_�|�_|�S�)Nc�����������������s ����j�jd�k r�j�jS�t��d��S�)Nr���)� readlinesrY���r>���)r+���r,���)�_state�handler���r����_readlines_side_effect( ��s����z)mock_open.<locals>._readlines_side_effectc�����������������s(����j�jd�k r�j�jS�t����j��d��S�)Nr���)�readrY���r���r����)r+���r,���)r���r���r|��r���r����_read_side_effect- ��s����z$mock_open.<locals>._read_side_effectc��������������3���sJ����j�jd�k rx�j�jV��qW�x��d�D�] }�|�V��q&W�xt����V��q6W�d�S�)Nr���)�readlinerY���r���)r}��)r���r���r|��r���r����_readline_side_effect2 ��s���� z(mock_open.<locals>._readline_side_effectr����open)r���r����)r����r����c�����������������s6���t����d<��jj�d�kr2�����d<��d��j_tS�)Nr���r����)r~��r���r_���r���)r+���r,���)r���r���r���r|��r���r���� reset_dataS ��s ���� zmock_open.<locals>.reset_data)� file_spec�_ior>���ro���r����� TextIOWrapper�union�BytesIOr���r���r ��rY���r~���writer���r���r��r_���)r1���r|��r���r���r���r���r���)r���r���r���r|��r���r��� ��s.����" c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)r ���c�������������K���s ���t�f�|�S�)N)r���)rf���r,���r���r���r���r����i ��s����zPropertyMock._get_child_mockc�������������C���s���|���S�)Nr���)rf���r���Zobj_typer���r���r���r1��l ��s����zPropertyMock.__get__c�������������C���s���|�|��d�S�)Nr���)rf���r���r����r���r���r���r2��n ��s����zPropertyMock.__set__N)r5���r8���rh���r����r1��r2��r���r���r���r���r ���` ��s��� ) r���r���r���r���r���r���r���r���r ���r ���r���r���r ���)F)F)NFNNN)FFNN)Nr����)o�__all__�__version__r%���r����r���builtins�typesr���� functoolsr���r���r����r��� BaseExceptionr����platformr����langZ Throwabler ����superr����r���r ���r(���r4���r/���r=���r@���rE���rM���rH���rd���r����re���ri���r���r���ZMISSINGr����ZDELETEDr����rq���r|���r���r>���rU���r����r����r����r ���r����r����r���r����r����r����r����r!��r"��r$��r���r%��r,��r.��rn���ZmultipleZstopallr��Z magic_methodsZnumericsr����r����Zinplace�rightZ _non_defaultsr����r`��r����r����r[��rS��rZ��rV��rX��rY��r\��r]��r^��r���r���rb��re��r���r����r?���r����r���r���rp��r����r����r���rR��r#���r1��rt��r���r~��r���r ���r���r���r���r����<module>���s�������������� 4 ����i5��,� 1Jv �, � w D