Ë
    âQ(h‘  ã                   ó”  — d Z ddlZddlmZ ddlmZmZmZmZm	Z	 ddl
mZ ddlZej                  d„ «       Zd„ Zd„ Zej"                  j%                  e	d	¬
«      d„ «       Zej"                  j%                  e	d	¬
«      d„ «       Zej"                  j%                  e	d	¬
«      d„ «       Zej"                  j%                  e	d	¬
«      d„ «       Zy)z> Test for assert_deallocated context manager and gc utilities
é    N©ÚLock)Úset_gc_stateÚgc_stateÚassert_deallocatedÚReferenceErrorÚIS_PYPY)Úassert_equalc                  ó   — t        «       S ©Nr   © ó    ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/_lib/tests/test__gcutils.pyÚgc_lockr      s	   € ä‹6€Mr   c                 óÆ  — | 5  t        j                  «       }	 dD ]|  }t        j                  «        t        |«       t	        t        j                  «       |«       t        j
                  «        t        |«       t	        t        j                  «       |«       Œ~ 	 |rt        j                  «        	 d d d «       y # |rt        j                  «        w w xY w# 1 sw Y   y xY w©N©TF)ÚgcÚ	isenabledÚenabler   r
   Údisable)r   Ú	gc_statusÚstates      r   Útest_set_gc_stater      s£   € Ø	ñ Ü—L‘L“Nˆ	ð
	Ø&ò 4�Ü—	‘	”Ü˜UÔ#ÜœRŸ\™\›^¨UÔ3Ü—
‘
”Ü˜UÔ#ÜœRŸ\™\›^¨UÕ3ñ4ñ Ü—	‘	•÷ð øñ Ü—	‘	•ð ú÷ð ús#   ƒC™BB;ÂCÂ;CÃCÃC c           	      ó~  — | 5  t        j                  «       }	 dD ]À  }t        |«       dD ]®  }t        |«      5  t	        t        j                  «       |«       d d d «       t	        t        j                  «       |«       t        |«      5  t	        t        j                  «       |«       t        | «       d d d «       t	        t        j                  «       |«       Œ° ŒÂ 	 |rt        j
                  «        	 d d d «       y # 1 sw Y   Œ¨xY w# 1 sw Y   ŒXxY w# |rt        j
                  «        w w xY w# 1 sw Y   y xY wr   )r   r   r   r   r
   r   )r   r   Ú	pre_stateÚ
with_states       r   Útest_gc_stater   #   s  € à	ñ Ü—L‘L“Nˆ	ð	Ø*ò <�	Ü˜YÔ'Ø"/ò 
<�Jä! *Ó-ñ AÜ$¤R§\¡\£^°ZÔ@÷Aô !¤§¡£°Ô;ä! *Ó-ñ 5Ü$¤R§\¡\£^°ZÔ@Ü$¨ ^Ô4÷5ô !¤§¡£°Õ;ñ
<ñ<ñ Ü—	‘	•÷%ð ÷Að Aú÷
5ð 5ûñ
 Ü—	‘	•ð ú÷#ð úsQ   ƒD3™ D¹C?	Á1DÂ	+D	Â4*DÃD3Ã?DÄDÄDÄDÄD0Ä0D3Ä3D<zTest not meaningful on PyPy)Úreasonc           	      ó�  —  G d„ d«      }| 5  dD ]{  }t        |«      5  t        |ddd«      5 }t        |j                  d«       ~d d d «       t        |ddd¬«      5  	 d d d «       t        t	        j
                  «       |«       d d d «       Œ} 	 d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   ŒGxY w# 1 sw Y   Œ©xY w# 1 sw Y   y xY w)	Nc                   ó   — e Zd Zdd„Zy)ú"test_assert_deallocated.<locals>.Cc                 ó   — || _         y r   ©Úname)ÚselfÚarg0Úarg1r%   s       r   Ú__init__z+test_assert_deallocated.<locals>.C.__init__>   s	   € ØˆD�Ir   N)Úmyname©Ú__name__Ú
__module__Ú__qualname__r)   r   r   r   ÚCr"   =   s   „ ô	r   r/   r   r   é   zanother namez
third namer$   )r   r   r
   r%   r   r   )r   r/   Ú
gc_currentÚcs       r   Útest_assert_deallocatedr3   :   sÊ   € ÷ñ ð 
ñ 
9Ø'ò 		9ˆJÜ˜*Ó%ñ 9ä'¨¨1¨a°Ó@ð ÀAÜ  §¡¨Ô8Ø÷ô (¨¨1¨a°lÔCñ Ø÷äœRŸ\™\›^¨ZÔ8÷9ð 9ñ		9÷
9ð 
9÷ð ú÷ð ú÷9ð 9ú÷
9ð 
9úsQ   �B<žB0­B	ÁB0ÁB$	Á&B0Â
B<ÂB!ÂB0Â$B-Â)B0Â0B9Â5B<Â<Cc                  ó¶   —  G d„ d«      } t        j                  t        «      5  t        | «      5 }	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zy)ú(test_assert_deallocated_nodel.<locals>.CN)r,   r-   r.   r   r   r   r/   r6   O   s   „ Ør   r/   ©ÚpytestÚraisesr   r   )r/   Ú_s     r   Útest_assert_deallocated_nodelr;   M   sV   € ÷ñ ä	�‰”~Ó	&ñ ô   Ó"ð 	 aØ÷	÷ð ÷	ð 	ú÷ð úó!   ¤A°A²AÁA	ÁAÁAc                  ó¶   —  G d„ d«      } t        j                  t        «      5  t        | «      5 }~d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú+test_assert_deallocated_circular.<locals>.Cc                 ó   — | | _         y r   ©Ú	_circular©r&   s    r   r)   z4test_assert_deallocated_circular.<locals>.C.__init__^   ó	   € Ø!ˆD�Nr   Nr+   r   r   r   r/   r?   ]   ó   „ ó	"r   r/   r7   )r/   r2   s     r   Ú test_assert_deallocated_circularrF   [   sV   € ÷"ñ "ô 
�‰”~Ó	&ñ ä Ó"ð 	 aØ÷	÷ð ÷	ð 	ú÷ð ús!   ¤A°A²AÁA	ÁAÁAc                  ó¶   —  G d„ d«      } t        j                  t        «      5  t        | «      5  	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú,test_assert_deallocated_circular2.<locals>.Cc                 ó   — | | _         y r   rA   rC   s    r   r)   z5test_assert_deallocated_circular2.<locals>.C.__init__i   rD   r   Nr+   r   r   r   r/   rI   h   rE   r   r/   r7   )r/   s    r   Ú!test_assert_deallocated_circular2rK   f   sT   € ÷"ñ "ô 
�‰”~Ó	&ñ ä Ó"ñ 	Ø÷	÷ð ÷	ð 	ú÷ð úr<   )Ú__doc__r   Ú	threadingr   Úscipy._lib._gcutilsr   r   r   r   r	   Únumpy.testingr
   r8   Úfixturer   r   r   ÚmarkÚskipifr3   r;   rF   rK   r   r   r   ú<module>rS      sì   ðñã 	Ý ÷:õ :õ 'ã ð ‡�ñó ðòò ð. ‡�×Ñ�GÐ$AÐÓBñ9ó Cð9ð$ ‡�×Ñ�GÐ$AÐÓBñ
ó Cð
ð ‡�×Ñ�GÐ$AÐÓBñó Cðð ‡�×Ñ�GÐ$AÐÓBñó Cñr   