Ë
    ¬ŒjÉ  ã                   óÚ   — d Z ddlZddlZddlZddlZ ej
                  dd¬«       d„ Z ej                   e«       «        ej                  «         e	d«        ej                  d«       y)a¶  Out-of-process payload for the free-threaded switch/critical-section deadlock.

See ``freethread_switch_deadlock.py`` in the repo root for the full write-up.
Before the fix, a greenlet switch swapped C stacks but left any held
``PyCriticalSection`` locks (tracked in ``tstate->critical_section``) locked.
asyncio's ``Task.__step`` holds such a lock on the running task across the step,
so switching into a child greenlet and touching that task from there blocked
forever. A fixed build (and any GIL-enabled build) prints the sentinel; a
regressed free-threaded build deadlocks, and the watchdog turns that hang into a
non-zero exit so the test fails loudly instead of stalling the whole suite.
é    Né   T)Úexitc               ƒ   ó†   ‡K  — t        j                  «       Šˆfd„} t        j                  | «      j                  «        y ­w)Nc                  óN   •— ‰ j                  d„ «       ‰ j                  d„ «       y )Nc                  ó   — y ©N© ©Ú_s    úu/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/greenlet/tests/fail_switch_critical_section.pyÚ<lambda>z.main.<locals>.in_child_fiber.<locals>.<lambda>   s   € ¨ó    c                  ó   — y r   r	   r
   s    r   r   z.main.<locals>.in_child_fiber.<locals>.<lambda>   s   € ¨Dr   )Úadd_done_callbackÚremove_done_callback)Útasks   €r   Úin_child_fiberzmain.<locals>.in_child_fiber   s!   ø€ ð 	×Ñ™~Ô.Ø×!Ñ!¡.Õ1r   )ÚasyncioÚcurrent_taskÚgreenletÚswitch)r   r   s    @r   Úmainr      s3   øè ø€ Ü×ÑÓ!€Dô2ô ×Ñ�nÓ%×,Ñ,Õ.ùs   ƒ>AzSWITCH CS OK)Ú__doc__r   ÚfaulthandlerÚsysr   Údump_traceback_laterr   ÚrunÚcancel_dump_traceback_laterÚprintr   r	   r   r   Ú<module>r       sf   ðñ
ó Û Û 
ã ð "€× !Ñ ! "¨4Õ 0ò	/ð €‡�‰D‹FÔ Ø (€× (Ñ (Ô *Ù €nÔ Ø €‡�ˆ…r   