ó
    ÷Þ j1  ã                   óê   • S r SSKrSrSrSqS rS rS r\R                  " \5        \R                  " \5      r\R                  " \5      r\R                  5         \
" S5        \R                  5         g)z 
Uses a trace function to switch greenlets at unexpected times.

In the trace function, we switch from the current greenlet to another
greenlet, which switches
é    NFc                  óv   • [        S/U Q76   [        (       a  Sq[        R                  5         [        S/U Q76   g )NÚTRACEFz	LEAVE TRACE)ÚprintÚswitch_to_g2Úg2Úswitch)Úargss    Úb/var/www/html/gaurav/venv/lib/python3.13/site-packages/greenlet/tests/fail_switch_two_greenlets.pyÚ	tracefuncr      s/   € Ü	ˆ'Ð�DÓç‚|ØˆÜ
�	‰	ŒÜ	ˆ/Ð!˜DÔ!ó    c                  ó¤   • [        S5        Sq[        R                  " 5       R                  R                  5         [        S5        [        S5        g )Nz	In g1_runTzReturn to g1_runzFalling off end of g1_run)r   r   ÚgreenletÚ
getcurrentÚparentr   © r   r
   Úg1_runr      s<   € Ü	ˆ+Ôà€LÜ×ÒÓ× Ñ ×'Ñ'Ô)Ü	Ð
ÔÜ	Ð
%Õ&r   c                  óB   • [         R                  5         [        S5        g )NzFalling off end of g2)Úg1r   r   r   r   r
   Úg2_runr      s   € Ü‡I�I„KÜ	Ð
!Õ"r   zFalling off end of main)Ú__doc__r   r   r   r   r   r   r   Úsettracer   r   r   r   r
   Ú<module>r      sx   ðñó à	€Ø	€à€ò"ò'ò#ð 	× Ò �)Ô à×Ò�vÓ€Ø×Ò�vÓ€à ‡	�	„Ù ÐÔ  Ø ‡	�	…r   