§
    nÈj>  ã                   ó`  — d dl Zd dlmc mZ d dlZd dlZd dlm	Z	 d dl
Z
d dlmc mZ d dlmZmZmZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d+d„Z 	 	 d,d„Z! G d„ d¦  «        Z"d„ Z#d„ Z$d„ Z%e
j&         '                    dg d¢¦  «        d„ ¦   «         Z(d„ Z)d„ Z*d„ Z+e
j&         '                    dd d
g¦  «        d„ ¦   «         Z,d„ Z-d„ Z.d „ Z/e
j&         '                    d!dd"g¦  «        d#„ ¦   «         Z0e
j&         '                    d$d%d&g¦  «        d'„ ¦   «         Z1d(„ Z2d)„ Z3d*„ Z4dS )-é    N)ÚSimpleNamespace)ÚCatalogÚLIVE_PROJECT_IDÚLIVE_QUERY_CONCURRENCY)ÚAgentSessionÚControlErrorÚProject)Ú	Navigator)Ú
Operations)ÚProjectRegistry)Ú
UserInputs)ÚTargetStoreé   c           
      óö   — t          | dz  ¦  «        }t          |¦  «        D ]V}| d|› �z  }|                     ¦   «          |                     t	          d|› �d|› �t          |¦  «        ¬¦  «        ¦  «         ŒW|S )Nzprojects.jsonÚpzProject )ÚidÚnameÚpath)r   ÚrangeÚmkdirÚaddr	   Ústr)Útmp_pathÚcountÚresultÚir   s        úa/home/lighthouse/esp32-dev/.cache/main-promotion-test-20261009/server/tests/test_live_sessions.pyÚregistryr      sƒ   € Ý˜X¨Ñ7Ñ8Ô8€FÝ�5‰\Œ\ð Mð MˆØ˜'˜a˜'˜'Ñ!ˆØ�
Š
‰ŒˆØ�
Š
•7˜g !˜g˜g¨N°q¨N¨NÅÀTÁÄÐKÑKÔKÑLÔLÐLÐLØ€Mó    ÚRUNNINGÚpiú2026-10-07T00:00:00ZÚWorkc                 ó^   — t          |||||||                      |¦  «        j        ¬¦  «        S )N)Ú
project_idÚagentÚ
session_idr   ÚstateÚ
updated_atÚcwd)r   Úgetr   )Úprojectsr%   Úsidr(   r&   Úupdatedr   s          r   Úsessionr/      s8   € å :°UÀsØ!¨¸7Ø$ŸLšL¨Ñ4Ô4Ô9ð;ñ ;ô ;ð ;r   c                   ó.   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ ZdS )ÚAdapterNc                 óJ   — |pi |pi c| _         | _        g dc| _        | _        d S ©Nr   )ÚrowsÚfailuresÚcallsÚ	creations)Úselfr4   r5   s      r   Ú__init__zAdapter.__init__"   s.   € Ø#' :¨2¨x¨~¸2Ð ˆŒ	�4”=Ø%'¨Ð"ˆŒ
�D”N�N�Nr   c              ƒ   óÄ   K  — | j                              |j        ¦  «         |j        | j        v r| j        |j                 ‚| j                             |j        g ¦  «        S ©N)r6   Úappendr   r5   r4   r+   )r8   Úprojects     r   Úlist_sessionszAdapter.list_sessions&   sT   è è € ØŒ
×Ò˜'œ*Ñ%Ô%Ð%ØŒ:˜œÐ&Ð&Ø”- ¤
Ô+Ð+ØŒy�}Š}˜WœZ¨Ñ,Ô,Ð,r   c              ƒ   ól   ‡K  — t          ˆfd„| j                             ¦   «         D ¦   «         ¦  «        S )Nc              3   ó<   •K  — | ]}|D ]}|j         ‰k    ¯|V — ŒŒd S r;   ©r'   )Ú.0r4   Úsr-   s      €r   ú	<genexpr>z&Adapter.get_session.<locals>.<genexpr>-   s=   øè è € ÐZÐZ˜$¸dÐZÐZ¸ÀaÄlÐVYÒFYÐFY�AÐFYÐFYÐFYÐFYÐFYÐZÐZr   )Únextr4   Úvalues©r8   r-   s    `r   Úget_sessionzAdapter.get_session,   s8   øè è € ÝÐZÐZÐZÐZ $¤)×"2Ò"2Ñ"4Ô"4ÐZÑZÔZÑZÔZÐZr   c              ƒ   ó(   K  — t          dg ¬¦  «        S )NÚNative)ÚcurrentÚavailable_modes©ÚdictrG   s     r   ÚpermissionszAdapter.permissions/   s   è è € Ý˜H°bÐ9Ñ9Ô9Ð9r   c              �   óD   K  — | xj         dz  c_         t          d¦  «        ‚)Né   z)Virtual project must not create a session)r7   ÚAssertionError)r8   ÚargsÚkwargss      r   Úcreate_sessionzAdapter.create_session2   s%   è è € ØˆŒ˜!ÑˆŒÝÐHÑIÔIÐIr   )NN)Ú__name__Ú
__module__Ú__qualname__r9   r>   rH   rO   rU   © r   r   r1   r1   !   sl   € € € € € ð+ð +ð +ð +ð-ð -ð -ð[ð [ð [ð:ð :ð :ðJð Jð Jð Jð Jr   r1   c                 ó    ‡‡— t          | d¦  «        Š‰j                             ¦   «         Šˆˆfd„}t          j         |¦   «         ¦  «         d S )Né   c               “   ó¸  •K  — t          ‰i ¦  «        } |                      dd¦  «        ƒ d {V —†}|d         d         }t          ddœ}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }d
d|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}t          |d         ¦  «        }|                      dd|d         d¬¦  «        ƒ d {V —†}||d         z  }d„ |dd …         D ¦   «         }d„ ‰                     ¦   «         D ¦   «         }||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }d
d|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d„ |D ¦   «         }t          |¦  «        }|s•ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}}‰j        }|j        } |¦   «         }	|	‰k    }
|
sût          j        d|
fd|	‰f¦  «        dt          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        dt          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        nddœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}	}
t          j        t"          d¬¦  «        5  ‰                     t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚcr,   Úitemsr   zLive Sessions)r%   r   ©ú==©z%(py1)s == %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6Úsnapshoté   )rg   Úcursorc                 ó   — g | ]
}|d          ‘ŒS )r%   rY   ©rB   Úrows     r   ú
<listcomp>zYtest_projects_virtual_first_real_preserved_not_persisted.<locals>.run.<locals>.<listcomp>B   s   € Ð6Ð6Ð6 c��LÔ!Ð6Ð6Ð6r   rQ   c                 ó   — g | ]	}|j         ‘Œ
S rY   )r   )rB   r   s     r   rm   zYtest_projects_virtual_first_real_preserved_not_persisted.<locals>.run.<locals>.<listcomp>B   s   € Ð:YÐ:YÐ:YÀA¸1¼4Ð:YÐ:YÐ:Yr   c              3   ó@   K  — | ]}t          |¦  «        d dhk    V — ŒdS )r%   r   N)Úsetrk   s     r   rD   zXtest_projects_virtual_first_real_preserved_not_persisted.<locals>.run.<locals>.<genexpr>C   s2   è è € ÐFÐF¸#•3�s‘8”8 ¨fÐ5Ò5ÐFÐFÐFÐFÐFÐFr   ú,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úall©Úpy0Úpy2rd   ©zc%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.path
}.read_bytes
}()
} == %(py8)sÚoriginal©rt   ru   rd   rf   Úpy8úassert %(py10)sÚpy10úproject not found©Úmatch)r   Úpager   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprrR   Ú_format_explanationÚlistrr   Ú@py_builtinsÚlocalsÚ_should_repr_global_namer   Ú
read_bytesÚpytestÚraisesr   r+   )Úcatalogr   Ú@py_assert0Ú@py_assert3Ú@py_assert2Ú@py_format5Ú@py_format7r4   Ú@py_assert1Ú@py_assert5Ú@py_assert7Ú@py_format9Ú@py_format11rw   r,   s                €€r   ÚrunzEtest_projects_virtual_first_real_preserved_not_persisted.<locals>.run;   sš  øè è € Ý˜( BÑ'Ô'ˆØ—\’\ # zÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2ˆØ�GŒ}˜QÔÐ[µ/È?Ð#[Ð#[Ð[ÐÐ#[Ò[Ð[Ð[Ð[Õ[Ô[Ð[Ð[Ð[Ð[ÐÐ#[Ð[Ñ[Ô[Õ[Ô[ÐÑ[Ô[Õ[Ô[Ð#[Ñ[Ô[Ð[Ð[Ñ[Ð[Ð[Ð[Ð[Ð[Ñ[Ð[Õ[Õ[Ô[Ð[Ñ[Ô[Ñ[Ô[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ý�D˜”MÑ"Ô"ˆØ—\’\ # z¸DÀÔ<LÐUV�\ÑWÔWÐWÐWÐWÐWÐWÐWˆØ��W”ÑˆØ6Ð6¨T°!°"°"¬XÐ6Ñ6Ô6ÐYÐ:YÐ:YÈÏÊÉÌÐ:YÑ:YÔ:YÐYÐ6Ð:YÒYÐYÐYÐYÕYÔYÐYÐYÐYÐYÐ6Ð:YÐYÑYÔYÕYÔYÐ6ÑYÔYÕYÔYÐ:YÑYÔYÐYÐYÑYÐYÐYÐYÐYÐYÑYÐYÕYÕYÔYÐYÑYÔYÑYÔYÐYÐYÐYÐYÐYÐYÐYØFÐFÀÐFÑFÔFÐF�sÐFÑFÔFÐFÐFÐFÐFÐFÕFÔFÑFÔFÐFÐFÕFÔF�sÑFÔFÐFÕFÔF�sÑFÔFÐFÐFÕFÔFÐFÑFÔFÕFÔFÐFÑFÔFÐFÐFÑFÐFÕFÕFÔFÐFÑFÔFÑFÔFÐFÐFÐFÐFÐFØŒ}Ð5ˆ}Ô'Ð5Ð'Ð'Ñ)Ô)Ð5Ð)¨XÒ5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð)¨XÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5ˆxÑ5Ô5Ð5Õ5Ô5ˆxÑ5Ô5Ð5Ð5Õ5Ô5ˆ}Ñ5Ô5Õ5Ô5Ð'Ñ5Ô5Õ5Ô5Ð)Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5¨XÑ5Ô5Ð5Õ5Ô5¨XÑ5Ô5Ð5Ð5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ÝŒ]�<Ð/BÐCÑCÔCð 	*ð 	*Ø�LŠL�Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   Î'OÏOÏO)r   r   rˆ   Úasyncior–   )r   r–   rw   r,   s     @@r   Ú8test_projects_virtual_first_real_preserved_not_persistedr˜   7   sb   øø€ Ý˜ !Ñ$Ô$€HØŒ}×'Ò'Ñ)Ô)€Hð*ð *ð *ð *ð *ð *õ „K��‘”ÑÔÐÐÐr   c                 óÒ   ‡‡‡— t          | ¦  «        Šg d¢}ˆfd„|D ¦   «         Š‰D ]}|j        dv|_        Œd„ ‰D ¦   «         Šˆˆˆfd„}t          j         |¦   «         ¦  «         d S )N)r    ÚWAITING_APPROVALÚWAITING_INPUTÚIDLEÚDORMANTÚDONEÚFAILEDÚOFFLINEc           	      ó8   •— g | ]}t          ‰d ||d¬¦  «        ‘ŒS )Úp0u   ä¸­æ–‡åŽŸå��©r   ©r/   )rB   r(   r,   s     €r   rm   zVtest_active_filter_ignores_loaded_idle_and_preserves_original_name.<locals>.<listcomp>N   s,   ø€ Ð[Ð[Ð[È5�G�H˜d E¨5°~ÐFÑFÔFÐ[Ð[Ð[r   )r    r›   rš   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rY   ©Ú
model_dumprk   s     r   rm   zVtest_active_filter_ignores_loaded_idle_and_preserves_original_name.<locals>.<listcomp>Q   ó"   € Ð1Ð1Ð1 S�—’Ñ Ô Ð1Ð1Ð1r   c               “   ó  •K  — t          ‰
dt          d‰i¦  «        i¦  «                             ddt          ¦  «        ƒ d {V —†} d„ | d         D ¦   «         }g d¢}||k    }|slt	          j        d|fd	||f¦  «        t	          j        |¦  «        t	          j        |¦  «        d
œz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}| d         }|t          k    }|s¦t	          j        d|fd|t          f¦  «        t	          j        |¦  «        dt          j
        ¦   «         v st	          j        t          ¦  «        rt	          j        t          ¦  «        nddœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}}d„ | d         D ¦   «         }t          |¦  «        }|s•ddt          j
        ¦   «         v st	          j        t          ¦  «        rt	          j        t          ¦  «        ndt	          j        |¦  «        t	          j        |¦  «        dœz  }t          t	          j        |¦  «        ¦  «        ‚d x}}d„ ‰D ¦   «         }|‰	k    }|s—t	          j        d|fd|‰	f¦  «        t	          j        |¦  «        dt          j
        ¦   «         v st	          j        ‰	¦  «        rt	          j        ‰	¦  «        nddœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}}d S )Nr!   r¢   r]   Úsessionsc                 ó   — g | ]
}|d          ‘ŒS )r(   rY   rk   s     r   rm   zctest_active_filter_ignores_loaded_idle_and_preserves_original_name.<locals>.run.<locals>.<listcomp>U   ó   € Ð6Ð6Ð6 ��G”Ð6Ð6Ð6r   r^   )rš   r›   r    r_   ra   rb   re   rf   r%   )z%(py1)s == %(py3)sr   )rc   Úpy3zassert %(py5)sÚpy5c              3   óF   K  — | ]}|d          dk    o|d         dk    V — ŒdS )r%   r¢   r   u   Project 0 / ä¸­æ–‡åŽŸå��NrY   rk   s     r   rD   zbtest_active_filter_ignores_loaded_idle_and_preserves_original_name.<locals>.run.<locals>.<genexpr>W   s<   è è € ÐtÐtÐ_b�3�|Ô$¨Ò,ÐZ°°V´Ð@ZÒ1ZÐtÐtÐtÐtÐtÐtr   rq   rr   rs   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rY   r¦   rk   s     r   rm   zctest_active_filter_ignores_loaded_idle_and_preserves_original_name.<locals>.run.<locals>.<listcomp>X   r¨   r   rw   )r   r1   r   r   r€   r�   r‚   rR   rƒ   r…   r†   r‡   rr   )r   rŒ   r�   rŽ   r�   r�   Ú@py_format4Ú@py_format6r‘   rw   r,   r4   s            €€€r   r–   zOtest_active_filter_ignores_loaded_idle_and_preserves_original_name.<locals>.runS   sm  øè è € Ý˜X¨­g°t¸T°lÑ.CÔ.CÐ'DÑEÔE×JÒJÈ3ÐPZÕ\kÑlÔlÐlÐlÐlÐlÐlÐlˆØ6Ð6¨¨W¬Ð6Ñ6Ô6ÐjÐ:jÐ:jÐ:jÐjÐ6Ð:jÒjÐjÐjÐjÕjÔjÐjÐjÐjÐjÐ6Ð:jÐjÑjÔjÕjÔjÐ6ÑjÔjÕjÔjÐ:jÑjÔjÐjÐjÑjÐjÐjÐjÐjÐjÑjÐjÕjÕjÔjÐjÑjÔjÑjÔjÐjÐjÐjÐjÐjÐjÐjØ�LÔ!Ð4Ð!¥_Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð!¥_Ð4Ñ4Ô4Õ4Ô4Ð!Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4¥_Ñ4Ô4Ð4Õ4Ô4¥_Ñ4Ô4Ð4Ð4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4ØtÐtÐfjÐkrÔfsÐtÑtÔtÐt�sÐtÑtÔtÐtÐtÐtÐtÐtÕtÔtÑtÔtÐtÐtÕtÔt�sÑtÔtÐtÕtÔt�sÑtÔtÐtÐtÕtÔtÐtÑtÔtÕtÔtÐtÑtÔtÐtÐtÑtÐtÕtÕtÔtÐtÑtÔtÑtÔtÐtÐtÐtÐtÐtØ1Ð1¨DÐ1Ñ1Ô1Ð=Ð1°XÒ=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð1°XÐ=Ñ=Ô=Õ=Ô=Ð1Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=°XÑ=Ô=Ð=Õ=Ô=°XÑ=Ô=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=r   )r   r(   Úliver—   r–   )r   Ústatesrl   r–   rw   r,   r4   s       @@@r   ÚBtest_active_filter_ignores_loaded_idle_and_preserves_original_namerµ   J   s³   øøø€ Ý˜Ñ!Ô!€Hð6ð 6ð 6€Fà[Ð[Ð[Ð[ÐTZÐ[Ñ[Ô[€DØð Uð UˆØ”9Ð$TÐTˆŒˆØ1Ð1¨DÐ1Ñ1Ô1€Hð>ð >ð >ð >ð >ð >ð >õ „K��‘”ÑÔÐÐÐr   c                 óÖ  ‡‡‡— t          | ¦  «        Št          t          ‰ddd¬¦  «        t          ‰dd¦  «        gt          ‰ddd¦  «        gd	œ¦  «        Št          d
t          ‰d
dddd¦  «        t          ‰d
dddd¦  «        t          ‰d
dddd¦  «        t          ‰d
dd¬¦  «        t          ‰d
dd¬¦  «        gi¦  «        Šˆˆˆfd„}t          j         |¦   «         ¦  «         d S )Nr¢   r–   ú2027-01-01T00:00:00Z©r.   ÚtieÚp2Úignoredrœ   )r¢   rº   Úp1Úapprovalrš   Úcodexú2020-01-01T00:00:00ZÚoldr›   z2026-10-06T00:00:00ZÚnewú2026-10-07T09:00:00+08:00Úaaa©r&   c               “   ó  •K  — t          ‰‰‰dœ¦  «        } |                      ddt          ¦  «        ƒ d {V —†}t          |d         ¦  «        }||                      ddt          |d         d¦  «        ƒ d {V —†d         z  }d„ |D ¦   «         }g d¢}||k    }|slt	          j        d	|fd
||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}‰j	        }t          |¦  «        }‰j	        }	t          |	¦  «        }
||
k    }h d£}|
|k    }|r|�s³t	          j        d||fd||
|f¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j        t          ¦  «        nddt          j        ¦   «         v st	          j        ‰¦  «        rt	          j        ‰¦  «        ndt	          j        |¦  «        t	          j        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j        t          ¦  «        nddt          j        ¦   «         v st	          j        ‰¦  «        rt	          j        ‰¦  «        ndt	          j        |	¦  «        t	          j        |
¦  «        t	          j        |¦  «        dœ	z  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}
}d S )N©r!   r¾   r]   rª   r^   rg   rh   c                 ó.   — g | ]}|d          |d         f‘ŒS )r&   r'   rY   ©rB   Úrs     r   rm   zZtest_cross_project_priority_time_and_stable_identity_ties.<locals>.run.<locals>.<listcomp>l   s%   € Ð<Ð<Ð<°!��7”˜Q˜|œ_Ð-Ð<Ð<Ð<r   ))r¾   r½   )r¾   rÁ   )r¾   rÀ   )r!   r–   )r¾   rÃ   )r¾   r¹   )r!   r¹   r_   ra   rb   re   rf   >   r¢   r¼   rº   )r`   r`   )zˆ%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.calls
})
} == %(py13)s
{%(py13)s = %(py8)s(%(py11)s
{%(py11)s = %(py9)s.calls
})
}zP%(py13)s
{%(py13)s = %(py8)s(%(py11)s
{%(py11)s = %(py9)s.calls
})
} == %(py15)srp   r!   r¾   )	rt   rc   r­   r®   ry   Úpy9Úpy11Úpy13Úpy15zassert %(py17)sÚpy17)r   r   r   r„   r€   r�   r‚   rR   rƒ   r6   rp   r…   r†   r‡   )r]   r   r4   rŒ   r�   rŽ   r�   r�   Ú@py_assert4Ú@py_assert10Ú@py_assert12Ú@py_assert6Ú@py_assert14r“   Ú@py_format16Ú@py_format18r¾   r!   r,   s                   €€€r   r–   zFtest_cross_project_priority_time_and_stable_identity_ties.<locals>.rung   s  øè è € Ý�H R°%Ð8Ð8Ñ9Ô9ˆØ—V’V˜C ­_Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=ˆÝ�D˜”MÑ"Ô"ˆØ�q—v’v˜c :­ÀÀZÔ@PÐRSÑTÔTÐTÐTÐTÐTÐTÐTÐV]Ô^Ñ^ˆØ<Ð<°tÐ<Ñ<Ô<ð 	Nð ANð ANð ANð 	NÐ<ð ANò Nð 	Nð 	Nð 	Nõ 	Nä<Mð	Nð 	Nð 	Nð 	NÐ<ð ANð 	Nñ 	Nô 	Nõ 	NäDMð =ñ 	Nô 	Nõ 	NäDMðANñ 	Nô 	Nð 	Nð 	Nñ 	Nð 	Nð 	Nð 	Nð 	Nð 	Nñ 	Nð 	Nõ 	Nõ 	Nä:Mð	Nñ 	Nô 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð ”8ÐF�s�8‰}Œ}ÐF E¤KÐF¥ KÑ 0Ô 0ÐFˆ}Ð 0ÒFÐFÐ4FÐ4FÐ4FÐFÐ 0Ð4FÒFÐFÐFÐFÐFÑFÕFÔFÐFÐFÐFÐFÐFˆ}Ð 0Ð4FÐFÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔF�sÑFÔFÐFÕFÔF�sÑFÔFÐFÐFÐFÕFÔFÑFÔFÐFÐFÕFÔF�2ÑFÔFÐFÕFÔF�2ÑFÔFÐFÐFÕFÔF�8ÑFÔFÕFÔFˆ}ÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔF¥ÑFÔFÐFÕFÔF¥ÑFÔFÐFÐFÐFÕFÔFÑFÔFÐFÐFÕFÔF EÑFÔFÐFÕFÔF EÑFÔFÐFÐFÕFÔF KÑFÔFÕFÔFÐ 0ÑFÔFÕFÔFÐ4FÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÕFÕFÔFÐFÑFÔFÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFr   ©r   r1   r/   r—   r–   ©r   r–   r¾   r!   r,   s     @@@r   Ú9test_cross_project_priority_time_and_stable_identity_tiesrØ   \   s?  øøø€ Ý˜Ñ!Ô!€HÝ	� ¨4°Ð@VÐWÑWÔWÝ ¨$°Ñ6Ô6ð8å  ¨4°¸FÑCÔCÐDðFð Fñ 
Gô 
G€Bõ �T�G H¨d°JÐ@RÐT[Ð]sÑtÔtÝ# H¨d°E¸?ÈGÐUkÑlÔlÝ# H¨d°E¸?ÈGÐUpÑqÔqÝ# H¨d°EÀÐIÑIÔIÝ# H¨d°EÀÐIÑIÔIð	Kð Lñ Mô M€EðGð Gð Gð Gð Gð Gð Gõ „K��‘”ÑÔÐÐÐr   zleft,right,expected)))r    r·   Úrich)rš   r¿   Ú r¼   ))r    r¿   rÙ   )r    r·   rÚ   r¼   ))r    r"   rÚ   )r    r"   rÙ   r¼   c                 óÊ   ‡‡‡— t          | ¦  «        Šˆfd„}t           |d|¦  «        g |d|¦  «        gdœ¦  «        Šˆˆˆfd„}t          j         |¦   «         ¦  «         d S )Nc                 ó:   •— |\  }}}t          ‰| d|||¬¦  «        S )NÚ	duplicate)r.   r   r¤   )ÚpidrF   r(   Údater   r,   s        €r   rl   zHtest_duplicate_prefers_priority_then_time_then_completeness.<locals>.rowz   s*   ø€ Ø"Ñˆˆt�TÝ�x  k°5À$ÈTÐRÑRÔRÐRr   r¢   r¼   )r¢   r¼   c               “   ó(  •K  — t          ‰d‰i¦  «                             ddt          ¦  «        ƒ d {V —†} g }| d         }t          |¦  «        }d}||k    }|}|r| d         d         d         }|‰k    }|}|�sˆt	          j        d|fd	||f¦  «        d
t          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nd
t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }	dd|	iz  }
| 
                    |
¦  «         |r‹t	          j        d|fd|‰f¦  «        t	          j	        |¦  «        dt          j        ¦   «         v st	          j        ‰¦  «        rt	          j	        ‰¦  «        nddœz  }dd|iz  }| 
                    |¦  «         t	          j        |d¦  «        i z  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}}d S )Nr!   r]   rª   r^   rQ   r   r%   r_   )z0%(py6)s
{%(py6)s = %(py2)s(%(py4)s)
} == %(py9)sÚlen)ru   rd   rf   rÊ   z%(py11)srË   )z%(py14)s == %(py16)sÚexpected)Úpy14Úpy16z%(py18)sÚpy18zassert %(py21)sÚpy21)r   r   r   rá   r€   r�   r…   r†   r‡   r‚   r<   Ú_format_booloprR   rƒ   )r   r‘   r�   r’   Ú@py_assert8r“   rŒ   Ú@py_assert13Ú@py_assert15Ú@py_format10Ú@py_format12Ú@py_format17Ú@py_format19Ú@py_format20Ú@py_format22râ   r!   r,   s                  €€€r   r–   zHtest_duplicate_prefers_priority_then_time_then_completeness.<locals>.run   sx  øè è € Ý˜X¨¨b zÑ2Ô2×7Ò7¸¸ZÍÑYÔYÐYÐYÐYÐYÐYÐYˆØUÐU�4˜”=ÐU�s�=Ñ!Ô!ÐU QÐUÐ! QÒ&ÐUÐUÐUÐUÐU¨4°¬=¸Ô+;¸LÔ+IÐUÐ+IÈXÒ+UÐUÐUÐUÐUÑUÕUÔUÐUÐUÐUÐUÐ! QÐUÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔU�sÑUÔUÐUÕUÔU�sÑUÔUÐUÐUÕUÔU�=ÑUÔUÕUÔUÐ!ÑUÔUÕUÔU QÑUÔUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÐU×UÒUÐUÑUÔUÐUÐUÐUÕUÔUÐUÐUÐUÐUÐ+IÈXÐUÑUÔUÕUÔUÐ+IÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔUÈXÑUÔUÐUÕUÔUÈXÑUÔUÐUÐUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÐU×UÒUÐUÑUÔUÐUÕUÔUÐUÐUÑUÔUÐUÑUÐUÐUÐUÐUÐUÑUÐUÕUÕUÔUÐUÑUÔUÑUÔUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUr   ©r   r1   r—   r–   )r   ÚleftÚrightrâ   rl   r–   r!   r,   s      `  @@r   Ú;test_duplicate_prefers_priority_then_time_then_completenessrô   s   s­   øøø€ õ ˜Ñ!Ô!€HðSð Sð Sð Sð Sõ 
˜˜˜T 4™œÐ)°#°#°d¸EÑ2BÔ2BÐ1CÐDÐDÑ	EÔ	E€BðVð Vð Vð Vð Vð Vð Võ „K��‘”ÑÔÐÐÐr   c                 óÎ   ‡‡— t          | ¦  «        Št          dt          ‰dd¦  «        gidt          d¦  «        i¦  «        Šˆˆfd„}t	          j         |¦   «         ¦  «         d S )Nr¢   Úgoodr¼   z!/private/path token=private-valuec               “   óè	  •K  — t          ‰d‰i¦  «                             ddt          ¦  «        ƒ d {V —†} g }| d         }d}||k    }|}|r!| d         }t          |¦  «        }d}||k    }	|	}|�s]t	          j        d|fd	||f¦  «        t	          j        |¦  «        t	          j        |¦  «        d
œz  }
dd|
iz  }|                     |¦  «         |r»t	          j        d|	fd||f¦  «        dt          j	        ¦   «         v st	          j
        t          ¦  «        rt	          j        t          ¦  «        ndt	          j        |¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t	          j        |d¦  «        i z  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}x}	}| d         }ddi}||k    }|slt	          j        d|fd||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }dd|iz  }
t          t	          j        |
¦  «        ¦  «        ‚d x}x}}g }d}t          j        } || ¦  «        }||v}|}|rd}t          j        } || ¦  «        }||v}|}|�s4t	          j        d|fd||f¦  «        t	          j        |¦  «        d t          j	        ¦   «         v st	          j
        t          ¦  «        rt	          j        t          ¦  «        nd t	          j        |¦  «        d!t          j	        ¦   «         v st	          j
        | ¦  «        rt	          j        | ¦  «        nd!t	          j        |¦  «        d"œz  }d#d$|iz  }|                     |¦  «         |rùt	          j        d|fd%||f¦  «        t	          j        |¦  «        d t          j	        ¦   «         v st	          j
        t          ¦  «        rt	          j        t          ¦  «        nd t	          j        |¦  «        d!t          j	        ¦   «         v st	          j
        | ¦  «        rt	          j        | ¦  «        nd!t	          j        |¦  «        d&œz  }d'd(|iz  }|                     |¦  «         t	          j        |d¦  «        i z  }d)d*|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}x}x}}d S )+Nr!   r]   rª   ÚstatusÚPartialr^   rQ   r_   ©z%(py3)s == %(py6)s©r­   rf   ú%(py8)sry   )z5%(py14)s
{%(py14)s = %(py10)s(%(py12)s)
} == %(py17)srá   )r{   Úpy12rã   rÎ   z%(py19)sÚpy19r   úassert %(py22)sÚpy22Úerrorsúpi:p1úAdapter unavailablera   rb   re   rf   z/privatezprivate-value©únot in©zQ%(py3)s not in %(py10)s
{%(py10)s = %(py7)s
{%(py7)s = %(py5)s.dumps
}(%(py8)s)
}Újsonr   ©r­   r®   Úpy7ry   r{   ú%(py12)srý   ©zV%(py15)s not in %(py22)s
{%(py22)s = %(py19)s
{%(py19)s = %(py17)s.dumps
}(%(py20)s)
}©rÍ   rÎ   rþ   Úpy20r   ú%(py24)sÚpy24úassert %(py27)sÚpy27)r   r   r   rá   r€   r�   r‚   r<   r…   r†   r‡   rç   rR   rƒ   r  Údumps)r   r‘   rŽ   r’   rÏ   rŒ   Ú@py_assert11ré   Ú@py_assert16rê   r�   r”   rÕ   rï   Ú@py_format21Ú@py_format23r�   r�   rÒ   Ú@py_assert9rÓ   Ú@py_assert18Ú@py_assert21r•   Ú@py_format13Ú@py_format25Ú@py_format26Ú@py_format28Úar,   s                               €€r   r–   zItest_partial_failure_sanitizes_error_and_keeps_other_project.<locals>.runŠ   sÓ  øè è € Ý˜X¨¨a yÑ1Ô1×6Ò6°s¸JÍÑXÔXÐXÐXÐXÐXÐXÐXˆØFÐFˆt�HŒ~ÐF ÐFˆ~ Ò*ÐFÐFÐFÐFÐF°4¸´=ÐF­s°=Ñ/AÔ/AÐFÀQÐFÐ/AÀQÒ/FÐFÐFÐFÐFÑFÕFÔFÐFÐFÐFÐFˆ~ ÐFÑFÔFÕFÔFˆ~ÑFÔFÕFÔF ÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÐF×FÒFÐFÑFÔFÐFÐFÐFÕFÔFÐFÐFÐFÐFÐ/AÀQÐFÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔF­sÑFÔFÐFÕFÔF­sÑFÔFÐFÐFÕFÔF°=ÑFÔFÕFÔFÐ/AÑFÔFÕFÔFÀQÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÐF×FÒFÐFÑFÔFÐFÕFÔFÐFÐFÑFÔFÐFÑFÐFÐFÐFÐFÐFÑFÐFÕFÕFÔFÐFÑFÔFÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFØ�HŒ~ÐA 'Ð+@Ð!AÐAˆ~Ð!AÒAÐAÐAÐAÕAÔAÐAÐAÐAÐAˆ~Ð!AÐAÑAÔAÕAÔAˆ~ÑAÔAÕAÔAÐ!AÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAØ]Ð]ˆzÐ]¥¤Ð]  ¨DÑ!1Ô!1Ð]ˆzÐ!1Ð1Ð]Ð]Ð]Ð]Ð]°oÐ]ÍTÌZÐ]ÈZÈZÐX\ÑM]ÔM]Ð]°oÐM]Ð6]Ð]Ð]Ð]Ð]Ñ]Õ]Ô]Ð]Ð]Ð]Ð]ˆzÐ!1Ð]Ñ]Ô]Õ]Ô]ˆzÑ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]¥Ñ]Ô]Ð]Õ]Ô]¥Ñ]Ô]Ð]Ð]Õ]Ô] Ñ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]¨DÑ]Ô]Ð]Õ]Ô]¨DÑ]Ô]Ð]Ð]Õ]Ô]Ð!1Ñ]Ô]Ð]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Ð]×]Ò]Ð]Ñ]Ô]Ð]Ð]Ð]Õ]Ô]Ð]Ð]Ð]Ð]°oÐM]Ð]Ñ]Ô]Õ]Ô]°oÑ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]ÍTÑ]Ô]Ð]Õ]Ô]ÍTÑ]Ô]Ð]Ð]Õ]Ô]ÈZÑ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]ÐX\Ñ]Ô]Ð]Õ]Ô]ÐX\Ñ]Ô]Ð]Ð]Õ]Ô]ÐM]Ñ]Ô]Ð]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Ð]×]Ò]Ð]Ñ]Ô]Ð]Õ]Ô]Ð]Ð]Ñ]Ô]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Õ]Õ]Ô]Ð]Ñ]Ô]Ñ]Ô]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]r   )r   r1   r/   ÚRuntimeErrorr—   r–   ©r   r–   r  r,   s     @@r   Ú<test_partial_failure_sanitizes_error_and_keeps_other_projectr!  …   s‹   øø€ Ý˜Ñ!Ô!€HÝ�� ¨$°Ñ7Ô7Ð8Ð9Ø•|Ð$GÑHÔHÐIñ	Kô 	K€Að^ð ^ð ^ð ^ð ^ð ^õ
 „K��‘”ÑÔÐÐÐr   c                 ó  ‡‡‡‡— t          | ¦  «        Št          j        Šg Šˆˆfd„}|                     t          j        d|¦  «          G d„ dt
          ¦  «        Šˆˆˆfd„}t          j         |¦   «         ¦  «         d S )Nc              “   óV   •K  — ‰                      |¦  «          ‰| d¦  «        ƒ d {V —†S )Ng{®Gáz”?©r<   )ÚcoroÚtimeoutÚoriginal_waitÚtimeoutss     €€r   Ú
short_waitzGtest_timeout_is_per_query_and_other_results_survive.<locals>.short_wait–   s=   øè è € Ø�Š˜Ñ Ô Ð Ø"�] 4¨Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-r   Úwait_forc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )úAtest_timeout_is_per_query_and_other_results_survive.<locals>.Slowc              “   ó    •K  — |j         dk    rt          j        d¦  «        ƒ d {V —† t          ¦   «                              |¦  «        ƒ d {V —†S )Nr¼   é<   )r   r—   ÚsleepÚsuperr>   )r8   r=   Ú	__class__s     €r   r>   zOtest_timeout_is_per_query_and_other_results_survive.<locals>.Slow.list_sessions›   s_   øè è € ØŒz˜TÒ!Ð!­¬°rÑ):Ô):Ð#:Ð#:Ð#:Ð#:Ð#:Ð#:Ð#:Ý™œ×.Ò.¨wÑ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7r   )rV   rW   rX   r>   Ú__classcell__)r1  s   @r   ÚSlowr,  š   s8   ø€ € € € € ð	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8r   r3  c               “   óü  •K  — t          ‰d ‰dt          ‰dd¦  «        gi¦  «        i¦  «                             ddt          ¦  «        ƒ d {V —†} g }| d         }d}||k    }|}|r| d         }d	d
i}||k    }|}|�st	          j        d|fd||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }	dd|	iz  }
|                     |
¦  «         |r`t	          j        d|fd||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t	          j        |d¦  «        i z  }dd|iz  }t          t	          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}}g }| d         d         d         }d}||k    }|}|rg d¢}‰|k    }|}|�s-t	          j        d|fd||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }	dd|	iz  }
|                     |
¦  «         |r‹t	          j        d|fd‰|f¦  «        dt          j        ¦   «         v st	          j        ‰¦  «        rt	          j        ‰¦  «        ndt	          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t	          j        |d¦  «        i z  }dd |iz  }t          t	          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}x}}d S )!Nr!   r¢   rö   r]   rª   rø   rù   r  r  r  r_   rú   rû   rü   ry   ©z%(py11)s == %(py14)s©rË   rã   ú%(py16)srä   r   úassert %(py19)srþ   r^   r'   )é   r9  r9  )z%(py10)s == %(py13)sr(  )r{   rÌ   ú%(py15)srÍ   zassert %(py18)srå   )r   r/   r   r   r€   r�   r‚   r<   rç   rR   rƒ   r…   r†   r‡   )r   r‘   rŽ   r’   rÏ   rŒ   rÐ   ré   rÑ   r�   r”   Ú@py_format15rí   rÕ   rï   r  Ú@py_format14rÔ   rî   r3  r,   r(  s                      €€€r   r–   z@test_timeout_is_per_query_and_other_results_survive.<locals>.runŸ   s
  øè è € Ý˜X¨¨d¨d°D½7À8ÈTÐSYÑ;ZÔ;ZÐ:[Ð3\Ñ.]Ô.]Ð'^Ñ_Ô_×dÒdÐehÐjtõ  wFñ  Gô  Gð  Gð  Gð  Gð  Gð  Gð  GˆØaÐaˆt�HŒ~Ða Ðaˆ~ Ò*ÐaÐaÐaÐaÐa¨t°H¬~ÐaÀ'ÐK`ÐAaÐa¨~ÐAaÒ/aÐaÐaÐaÐaÑaÕaÔaÐaÐaÐaÐaˆ~ ÐaÑaÔaÕaÔaˆ~ÑaÔaÕaÔa ÑaÔaÐaÐaÑaÐaÐaÐaÐaÐaÑaÐaÐa×aÒaÐaÑaÔaÐaÐaÐaÕaÔaÐaÐaÐaÐa¨~ÐAaÐaÑaÔaÕaÔa¨~ÑaÔaÕaÔaÐAaÑaÔaÐaÐaÑaÐaÐaÐaÐaÐaÑaÐaÐa×aÒaÐaÑaÔaÐaÕaÔaÐaÐaÑaÔaÐaÑaÐaÐaÐaÐaÐaÑaÐaÕaÕaÔaÐaÑaÔaÑaÔaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaØTÐTˆt�GŒ}˜QÔ Ô-ÐT°ÐTÐ-°Ò7ÐTÐTÐTÐTÐTÈÈÈÐT¸HÈÒ<TÐTÐTÐTÐTÑTÕTÔTÐTÐTÐTÐTÐ-°ÐTÑTÔTÕTÔTÐ-ÑTÔTÕTÔT°ÑTÔTÐTÐTÑTÐTÐTÐTÐTÐTÑTÐTÐT×TÒTÐTÑTÔTÐTÐTÐTÕTÔTÐTÐTÐTÐT¸HÈÐTÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔT¸HÑTÔTÐTÕTÔT¸HÑTÔTÐTÐTÕTÔTÈÑTÔTÐTÐTÑTÐTÐTÐTÐTÐTÑTÐTÐT×TÒTÐTÑTÔTÐTÕTÔTÐTÐTÑTÔTÐTÑTÐTÐTÐTÐTÐTÑTÐTÕTÕTÔTÐTÑTÔTÑTÔTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTr   )r   r—   r*  ÚsetattrÚcatalog_moduler1   r–   )r   Úmonkeypatchr)  r–   r3  r'  r,   r(  s       @@@@r   Ú3test_timeout_is_per_query_and_other_results_surviver@  ’   sÍ   øøøø€ Ý˜Ñ!Ô!€HÝÔ$€MØ€Hð.ð .ð .ð .ð .ð .ð ×Ò�Ô.°
¸JÑGÔGÐGð8ð 8ð 8ð 8ð 8�wñ 8ô 8ð 8ð
Uð Uð Uð Uð Uð Uð Uõ „K��‘”ÑÔÐÐÐr   c                 ó¼   ‡‡‡‡‡‡— t          | d¦  «        Šd\  ŠŠŠd Š G ˆˆˆˆfd„dt          ¦  «        Šˆˆˆˆˆfd„}t          j         |¦   «         ¦  «         d S )Né   )r   r   r   c                   ó    •— e Zd Zˆ ˆˆˆfd„ZdS )ú6test_queries_are_concurrent_and_bounded.<locals>.Batchc              “   ó  •K  — ‰dz  Št          ‰‰¦  «        Š‰dz  Š‰t          k    r‰                     ¦   «          	 ‰                     ¦   «         ƒ d {V —† t	          j        d¦  «        ƒ d {V —† g ‰dz  ŠS # ‰dz  Šw xY w)NrQ   r   )Úmaxr   rp   Úwaitr—   r/  )r8   r=   ÚgateÚmaximumÚrunningÚstarteds     €€€€r   r>   zDtest_queries_are_concurrent_and_bounded.<locals>.Batch.list_sessions«   s¦   øè è € à�q‰LˆGÝ˜' 7Ñ+Ô+ˆGØ�q‰LˆGØÕ0Ò0Ð0°$·(²(±*´*°*ð"Ø—i’i‘k”kÐ!Ð!Ð!Ð!Ð!Ð!Ð!Ý”m AÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ØØ ‘\�W�Wø�W ‘\�W�W�W�W�Ws   ¾5A9 Á9B N)rV   rW   rX   r>   )rH  rI  rJ  rK  s   €€€€r   ÚBatchrD  ª   s=   ø€ € € € € ð
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"r   rL  c            
   “   ó  •K  — t          j        ¦   «         Št          ‰ ‰¦   «          ‰¦   «         dœ¦  «        } t          j        t          j        |                      ddt          ¦  «        |                      ddt          ¦  «        ¦  «        d¦  «        ƒ d {V —†}d„ |D ¦   «         }t          |¦  «        }|s•ddt          j	        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        d	œz  }t          t          j        |¦  «        ¦  «        ‚d x}}g }‰t          k    }|}|r
d
}‰|k    }|}|�s’t          j        d|fd‰t          f¦  «        dt          j	        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        nddt          j	        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }|                     |¦  «         |r‹t          j        d|fd‰|f¦  «        dt          j	        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        ndt          j        |¦  «        dœz  }	dd|	iz  }
|                     |
¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}}d S )NrÆ   Úc1rª   Úc2rQ   c              3   óF   K  — | ]}|d          dk    o|d         g k    V — ŒdS )rø   ÚEmptyr^   NrY   )rB   r   s     r   rD   zGtest_queries_are_concurrent_and_bounded.<locals>.run.<locals>.<genexpr>¾   s9   è è € ÐWÐWÈ�4˜”> WÒ,ÐD°°g´À"Ò1DÐWÐWÐWÐWÐWÐWr   rq   rr   rs   é0   r_   )z%(py2)s == %(py4)srI  r   )ru   rd   z%(py6)srf   )z%(py8)s == %(py11)srK  )ry   rË   ú%(py13)srÌ   r   zassert %(py16)srä   )r—   ÚEventr   r*  Úgatherr   r   rr   r…   r†   r€   r‡   r‚   rR   rƒ   r   r�   r<   rç   )r‹   Úpagesr‘   r�   r�   rŒ   rÐ   r  r�   rì   r<  r;  rí   rL  rH  rI  r,   rK  s                €€€€€r   r–   z4test_queries_are_concurrent_and_bounded.<locals>.run·   sj  øè è € åŒ}‰ŒˆÝ˜(¨5¨5©7¬7¸U¸U¹W¼WÐ$EÐ$EÑFÔFˆÝÔ&¥w¤~Ø�LŠL˜˜z­?Ñ;Ô;Ø�LŠL˜˜z­?Ñ;Ô;ñ(=ô (=à>?ñAô Að Að Að Að Að Að Aˆð XÐWÐQVÐWÑWÔWÐW�sÐWÑWÔWÐWÐWÐWÐWÐWÕWÔWÑWÔWÐWÐWÕWÔW�sÑWÔWÐWÕWÔW�sÑWÔWÐWÐWÕWÔWÐWÑWÔWÕWÔWÐWÑWÔWÐWÐWÑWÐWÕWÕWÔWÐWÑWÔWÑWÔWÐWÐWÐWÐWÐWØBÐBˆwÕ0Ò0ÐBÐBÐBÐBÐBÀÐB°WÀ²]ÐBÐBÐBÐBÑBÕBÔBÐBÐBÐBÐBˆwÕ0ÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔBˆwÑBÔBÐBÕBÔBˆwÑBÔBÐBÐBÐBÕBÔBÑBÔBÐBÐBÕBÔBÕ0ÑBÔBÐBÕBÔBÕ0ÑBÔBÐBÐBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÐB×BÒBÐBÑBÔBÐBÐBÐBÕBÔBÐBÐBÐBÐB°WÀÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB°WÑBÔBÐBÕBÔB°WÑBÔBÐBÐBÕBÔBÀÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÐB×BÒBÐBÑBÔBÐBÕBÔBÐBÐBÑBÔBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBr   rñ   )r   r–   rL  rH  rI  r,   rJ  rK  s     @@@@@@r   Ú'test_queries_are_concurrent_and_boundedrW  ¦   s¿   øøøøøø€ Ý˜ "Ñ%Ô%€HØ 'Ñ€GˆW�gØ€Dð"ð "ð "ð "ð "ð "ð "ð "ð "ð "•ñ "ô "ð "ðCð Cð Cð Cð Cð Cð Cð Cð Cõ „K��‘”ÑÔÐÐÐr   r   c           	      óº   ‡‡— t          | |¦  «        Št          |rdt          ‰ddd¦  «        gini ¦  «        Šˆˆfd„}t          j         |¦   «         ¦  «         d S )Nr¢   Údonerž   c               “   ó^  •K  — t          ‰d‰i¦  «                             ddt          ¦  «        ƒ d {V —†} g }| d         }d}||k    }|}|r%| d         }g }||k    }|}|r‰j        }	d}
|	|
k    }|}|�s£t	          j        d|fd	||f¦  «        t	          j        |¦  «        t	          j        |¦  «        d
œz  }dd|iz  }|                     |¦  «         |�r t	          j        d|fd||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         |ržt	          j        d|fd|	|
f¦  «        dt          j	        ¦   «         v st	          j
        ‰¦  «        rt	          j        ‰¦  «        ndt	          j        |	¦  «        t	          j        |
¦  «        dœz  }dd|iz  }|                     |¦  «         t	          j        |d¦  «        i z  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}x}x}	x}}
d S )Nr!   r]   rª   rø   rQ  r^   r   r_   rú   rû   rü   ry   r5  r6  r7  rä   )z5%(py20)s
{%(py20)s = %(py18)s.creations
} == %(py23)sr  )rå   r  Úpy23z%(py25)sÚpy25zassert %(py28)sÚpy28)r   r   r   r7   r€   r�   r‚   r<   r…   r†   r‡   rç   rR   rƒ   )r   r‘   rŽ   r’   rÏ   rŒ   rÐ   ré   rÑ   Ú@py_assert19Ú@py_assert22r  r�   r”   r;  rí   Ú@py_format24r  Ú@py_format27Ú@py_format29r  r,   s                       €€r   r–   z;test_empty_never_fills_done_or_creates_session.<locals>.runÇ   sÒ  øè è € Ý˜X¨¨a yÑ1Ô1×6Ò6°s¸JÍÑXÔXÐXÐXÐXÐXÐXÐXˆØUÐUˆt�HŒ~ÐU ÐUˆ~ Ò(ÐUÐUÐUÐUÐU¨T°'¬]ÐU¸bÐU¨]¸bÒ-@ÐUÐUÐUÐUÐUÀQÄ[ÐUÐTUÐUÀ[ÐTUÒEUÐUÐUÐUÐUÑUÕUÔUÐUÐUÐUÐUˆ~ ÐUÑUÔUÕUÔUˆ~ÑUÔUÕUÔU ÑUÔUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÐU×UÒUÐUÑUÔUÐUÐUÑUÕUÔUÐUÐUÐUÐU¨]¸bÐUÑUÔUÕUÔU¨]ÑUÔUÕUÔU¸bÑUÔUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÐU×UÒUÐUÑUÔUÐUÐUÐUÕUÔUÐUÐUÐUÐUÀ[ÐTUÐUÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔUÀQÑUÔUÐUÕUÔUÀQÑUÔUÐUÐUÕUÔUÀ[ÑUÔUÕUÔUÐTUÑUÔUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÐU×UÒUÐUÑUÔUÐUÕUÔUÐUÐUÑUÔUÐUÑUÐUÐUÐUÐUÐUÑUÐUÕUÕUÔUÐUÑUÔUÑUÔUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUr   rÖ   )r   r   r–   r  r,   s      @@r   Ú.test_empty_never_fills_done_or_creates_sessionrc  Ã   sƒ   øø€ å˜ %Ñ(Ô(€HÝÀUÐR�� ¨$°¸Ñ?Ô?Ð@ÐAÐAÐPRÑSÔS€AðVð Vð Vð Vð Vð Võ „K��‘”ÑÔÐÐÐr   c                 ó¬   ‡‡‡— t          | ¦  «        Šˆfd„t          d¦  «        D ¦   «         ŠdgŠˆˆˆfd„}t          j         |¦   «         ¦  «         d S )Nc           
      óZ   •— g | ]'}t          ‰d t          |¦  «        d|d›d�¬¦  «        ‘Œ(S )r¢   z2026-10-07T00:00:Ú02ÚZr¸   )r/   r   ©rB   r   r,   s     €r   rm   zUtest_snapshot_stable_under_state_change_connection_cursor_and_ttl.<locals>.<listcomp>Ï   s@   ø€ ÐcÐcÐcÐUV�G�H˜d¥C¨¡F¤FÐ4OÈÐ4OÐ4OÐ4OÐ4OÐPÑPÔPÐcÐcÐcr   é	   r   c               “   ó”
  •K  — t          ‰dt          d‰i¦  «        iˆfd„¬¦  «        } |                      ddt          ¦  «        ƒ d {V —†}‰D ]	}d|_        Œ
|                      ddt          |d         d	¦  «        ƒ d {V —†}|                      ddt          |d         d
¦  «        ƒ d {V —†}d„ |||fD ¦   «         }d
}d}| }d}	|	 }
t          |||
¦  «        }t          t          |¦  «        }t          |¦  «        }||k    }|�sët          j
        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        t
          ¦  «        rt          j        t
          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}	x}
x}x}}d„ |d         D ¦   «         }t#          |¦  «        }|s•ddt          j        ¦   «         v st          j        t"          ¦  «        rt          j        t"          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}}|                      ddt          ¦  «        ƒ d {V —†d         }d}||k    }|slt          j
        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd |iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d!dt          d	fdd"t          d	fd#ddt          dffD ]_\  }}}}t%          j        t(          d$¬%¦  «        5  |                      ||||d         |¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   Œ`d&‰d'<   t%          j        t(          d(¬%¦  «        5  |                      ddt          |d         d	¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S ))Nr!   r¢   c                  ó   •— ‰ d         S r3   rY   )Únows   €r   ú<lambda>z`test_snapshot_stable_under_state_change_connection_cursor_and_ttl.<locals>.run.<locals>.<lambda>Ò   s   ø€ È3ÈqÌ6€ r   )Úclockr]   rª   rž   rg   rh   é   c                 ó4   — g | ]}|d          D ]
}|d         ‘ŒŒS )r^   r'   rY   )rB   r   rÉ   s      r   rm   zbtest_snapshot_stable_under_state_change_connection_cursor_and_ttl.<locals>.run.<locals>.<listcomp>×   s.   € ÐZÐZÐZ DÈDÐQXÌMÐZÐZÀq��,”ÐZÐZÐZÐZr   rQ   r_   )z‘%(py1)s == %(py20)s
{%(py20)s = %(py3)s(%(py18)s
{%(py18)s = %(py4)s(%(py5)s, %(py16)s
{%(py16)s = %(py6)s(%(py8)s, -%(py10)s, -%(py13)s)
})
})
}r„   Úmapr   r   )rc   r­   rd   r®   rf   ry   r{   rÌ   rä   rå   r  rÿ   r   c              3   ó.   K  — | ]}|d          dk    V — ŒdS )r(   r    NrY   rÈ   s     r   rD   zatest_snapshot_stable_under_state_change_connection_cursor_and_ttl.<locals>.run.<locals>.<genexpr>Ø   s+   è è € ÐDÐD¨q�1�W”: Ò*ÐDÐDÐDÐDÐDÐDr   r^   rq   rr   rs   rø   rQ  ra   rb   re   rf   Úotherr,   )r]   rª   r¢   rh   ÚStaler}   r.  r   ÚExpired)r   r1   r   r   r(   r   rq  r   r„   r€   r�   r‚   r…   r†   r‡   rR   rƒ   rr   r‰   rŠ   r   )r]   Úfirstrl   ÚsecondÚthirdrŒ   r“   r  r  rÑ   rÓ   rê   Ú@py_assert17r^  rŽ   r  r  r‘   r�   r�   r�   Ú
connectionÚkindrÞ   ri   rl  r,   r4   s                            €€€r   r–   zNtest_snapshot_stable_under_state_change_connection_cursor_and_ttl.<locals>.runÑ   s†  øè è € Ý�H˜t¥W¨d°D¨\Ñ%:Ô%:Ð;À>À>À>À>ÐRÑRÔRˆØ—f’f˜S *­oÑ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>ˆØÐ+Ð+ˆC V˜œ˜Ø—v’v˜c :­ÀÀjÔ@QÐSTÑUÔUÐUÐUÐUÐUÐUÐUˆØ—f’f˜S *­o¸uÀZÔ?PÐRSÑTÔTÐTÐTÐTÐTÐTÐTˆØZÐZ¨U°F¸EÐ,BÐZÑZÔZÐ~ÐrsÐ~ÐvwÐ~ÐvwÐuwÐ~Ðz{Ð~Ðz{Ðy{Ð~ÕlqÐrsÐuwÐy{Ñl|Ôl|Ð~ÕcfÕgjÐl|Ñc}Ôc}Ð~Õ^bÐc}Ñ^~Ô^~Ð~ÐZÐ^~Ò~Ð~Ð~Ñ~Õ~Ô~Ð~Ð~Ð~Ð~ÐZÐ^~Ð~Ñ~Ô~Õ~Ô~ÐZÑ~Ô~Ð~Õ~Ô~Ñ~Ô~Ð~Ð~Õ~Ô~Õ^bÑ~Ô~Ð~Õ~Ô~Õ^bÑ~Ô~Ð~Ð~Ð~Õ~Ô~Ñ~Ô~Ð~Ð~Õ~Ô~ÕcfÑ~Ô~Ð~Õ~Ô~ÕcfÑ~Ô~Ð~Ð~Ð~Õ~Ô~Ñ~Ô~Ð~Ð~Õ~Ô~ÕgjÑ~Ô~Ð~Õ~Ô~ÕgjÑ~Ô~Ð~Ð~Ð~Õ~Ô~Ñ~Ô~Ð~Ð~Õ~Ô~ÕlqÑ~Ô~Ð~Õ~Ô~ÕlqÑ~Ô~Ð~Ð~Õ~Ô~ÐrsÑ~Ô~Õ~Ô~ÐvwÑ~Ô~Õ~Ô~Ðz{Ñ~Ô~Õ~Ô~Ðl|Ñ~Ô~Õ~Ô~Ðc}Ñ~Ô~Õ~Ô~Ð^~Ñ~Ô~Ð~Ð~Ñ~Ð~Ð~Ð~Ð~Ð~Ñ~Ð~Õ~Õ~Ô~Ð~Ñ~Ô~Ñ~Ô~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~Ð~ØDÐD°F¸7´OÐDÑDÔDÐD�sÐDÑDÔDÐDÐDÐDÐDÐDÕDÔDÑDÔDÐDÐDÕDÔD�sÑDÔDÐDÕDÔD�sÑDÔDÐDÐDÕDÔDÐDÑDÔDÕDÔDÐDÑDÔDÐDÐDÑDÐDÕDÕDÔDÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDØ—f’f˜S *­oÑ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>ÀÔIÐTÈWÐTÐIÈWÒTÐTÐTÐTÕTÔTÐTÐTÐTÐTÐIÈWÐTÑTÔTÕTÔTÐIÑTÔTÕTÔTÈWÑTÔTÐTÐTÑTÐTÐTÐTÐTÐTÑTÐTÕTÕTÔTÐTÑTÔTÑTÔTÐTÐTÐTÐTÐTÐTÐTØ/6¸
ÅOÐUVÐ.WØ03°ZÅÐRSÐ/TØ/IØ03°ZÅÐRSÐ/Tð.Vð 	Oð 	OÑ)ˆJ˜˜c 6õ ”�|°7Ð;Ñ;Ô;ð Oð OØ—f’f˜Z¨¨s°E¸*Ô4EÀvÑNÔNÐNÐNÐNÐNÐNÐNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð OøàˆˆA‰ÝŒ]�<¨yÐ9Ñ9Ô9ð 	Qð 	QØ—&’&˜˜j­/¸5ÀÔ;LÈaÑPÔPÐPÐPÐPÐPÐPÐPÐPð	Qð 	Qð 	Qñ 	Qô 	Qð 	Qð 	Qð 	Qð 	Qð 	Qð 	Qð 	Qøøøð 	Qð 	Qð 	Qð 	Qð 	Qð 	Qs$   Ò'&SÓS	Ó S	Ô+T=Ô=UÕU)r   r   r—   r–   )r   r–   rl  r,   r4   s     @@@r   ÚAtest_snapshot_stable_under_state_change_connection_cursor_and_ttlr|  Í   s„   øøø€ Ý˜Ñ!Ô!€HØcÐcÐcÐcÕZ_Ð`aÑZbÔZbÐcÑcÔc€DØˆ#€CðQð Qð Qð Qð Qð Qð Qõ$ „K��‘”ÑÔÐÐÐr   c                 óä   ‡‡— t          | ¦  «        Šˆfd„t          d¦  «        D ¦   «         Š‰D ]}d|_        dx|_        x|_        |_        Œˆˆfd„}t          j         |¦   «         ¦  «         d S )Nc                 ó<   •— g | ]}t          ‰d d|› �d¬¦  «        ‘ŒS )r¢   rC   uÐ  ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚ä¸­æ–‡ðŸ™‚r£   r¤   rh  s     €r   rm   z;test_utf8_frame_and_security_projection.<locals>.<listcomp>è   s1   ø€ ÐXÐXÐXÈ!�G�H˜d G¨ G GÐ2DÐEÑEÔEÐXÐXÐXr   rh   úprovider-secretúprivate-contentc               “   óŠ  •K  — t          ‰%dt          d‰&i¦  «        i¦  «                             ddt          ¦  «        ƒ d {V —†} t          j        }d} || |¬¦  «        }|j        } |¦   «         }t          |¦  «        }d}||k     }|�s™t          j	        d|fd	||f¦  «        d
t          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd
dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚d x}x}x}x}x}x}x}}| d         D �]ø}t!          |¦  «        }h d£}||k    }|sòt          j	        d|fd||f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}g }|d         }|j        } |¦   «         }t          |¦  «        }d}||k    }|}|rd}|d         }||v}|}|�sƒt          j	        d|fd||f¦  «        d
t          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd
t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd |iz  }|                     |¦  «         |r`t          j	        d!|fd"||f¦  «        t          j        |¦  «        t          j        |¦  «        d#œz  }d$d%|iz  }|                     |¦  «         t          j        |d&¦  «        i z  }d'd(|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}x}x}x}}�Œúg }d)}t          j        } || ¦  «        }||v}|}|rd*}t          j        } || ¦  «        }||v}|}|�s4t          j	        d!|fd+||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        d,œz  } d-d.| iz  }!|                     |!¦  «         |rùt          j	        d!|fd/||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        d0œz  }"d1d2|"iz  }|                     |¦  «         t          j        |d&¦  «        i z  }#d3d4|#iz  }$t          t          j        |$¦  «        ¦  «        ‚d x}x}x}x}x}x}x}x}x}}d S )5Nr!   r¢   r]   rª   F)Úensure_asciii<  )ú<)z¸%(py14)s
{%(py14)s = %(py0)s(%(py12)s
{%(py12)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py3)s
{%(py3)s = %(py1)s.dumps
}(%(py4)s, ensure_ascii=%(py6)s)
}.encode
}()
})
} < %(py17)srá   r  r   )
rt   rc   r­   rd   rf   ry   r{   rý   rã   rÎ   r8  rþ   r^   >   r   r&   r(   r%   r'   r)   r_   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)srp   rl   )rt   rc   r­   rf   zassert %(py8)sry   r   éð   u   ï¿½)ú<=)zf%(py10)s
{%(py10)s = %(py2)s(%(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s.encode
}()
})
} <= %(py13)s)ru   rd   rf   ry   r{   rÌ   r:  rÍ   r  )z%(py18)s not in %(py21)s)rå   ræ   z%(py23)sr[  r   zassert %(py26)sÚpy26r€  r  r  r  r
  rý   r  r  r  r  r  r  )r   r1   r   r   r  r  Úencoderá   r€   r�   r…   r†   r‡   r‚   rR   rƒ   rp   r<   rç   )'r   rŽ   r’   r“   r  r  ré   r  rê   rÕ   rï   rl   rÏ   r�   r”   r‘   r�   rÑ   rŒ   ry  Ú@py_assert20r^  r<  rÔ   rð   r`  r  ra  rÒ   rÓ   r  r  r•   r  r  r  r  r,   r4   s'                                        €€r   r–   z4test_utf8_frame_and_security_projection.<locals>.runì   s¼  øè è € Ý˜X¨­g°t¸T°lÑ.CÔ.CÐ'DÑEÔE×JÒJÈ3ÐPZÕ\kÑlÔlÐlÐlÐlÐlÐlÐlˆÝ”:ÐH°ÐH�:�:˜d°Ð7Ñ7Ô7ÐHÐ7Ô>ÐHÐ>Ð>Ñ@Ô@ÐH�sÐ@ÑAÔAÐHÀDÐHÐAÀDÒHÐHÐHÑHÕHÔHÐHÐHÐHÐHÐAÀDÐHÑHÔHÐHÕHÔHÑHÔHÐHÐHÕHÔH�sÑHÔHÐHÕHÔH�sÑHÔHÐHÐHÐHÕHÔHÑHÔHÐHÐHÕHÔH•4ÑHÔHÐHÕHÔH•4ÑHÔHÐHÐHÕHÔH�:ÑHÔHÐHÕHÔHÑHÔHÐHÐHÕHÔH˜dÑHÔHÐHÕHÔH˜dÑHÔHÐHÐHÕHÔH°ÑHÔHÕHÔHÐ7ÑHÔHÕHÔHÐ>ÑHÔHÕHÔHÐ@ÑHÔHÕHÔHÐAÑHÔHÕHÔHÀDÑHÔHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHØ˜”=ð 	Tñ 	TˆCÝ�s‘8”8ÐcÐcÐcÐcÐc�8ÐcÒcÐcÐcÐcÕcÔcÐcÐcÐcÐc�8ÐcÐcÑcÔcÐcÕcÔcÑcÔcÐcÐcÕcÔc•3ÑcÔcÐcÕcÔc•3ÑcÔcÐcÐcÐcÕcÔcÑcÔcÐcÐcÕcÔc�sÑcÔcÐcÕcÔc�sÑcÔcÐcÐcÕcÔc�8ÑcÔcÕcÔcÐcÑcÔcÐcÐcÑcÐcÐcÐcÐcÐcÑcÐcÕcÕcÔcÐcÑcÔcÑcÔcÐcÐcÐcÐcÐcÐcÐcØSÐS�s˜6”{ÐS�{Ô)ÐSÐ)Ð)Ñ+Ô+ÐS•3Ð+Ñ,Ô,ÐS°ÐSÐ,°Ò3ÐSÐSÐSÐSÐS¸ÐSÈÈFÌÐS¸ÈÐ8SÐSÐSÐSÐSÑSÕSÔSÐSÐSÐSÐSÐ,°ÐSÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔS•3ÑSÔSÐSÕSÔS•3ÑSÔSÐSÐSÕSÔS�{ÑSÔSÕSÔSÐ)ÑSÔSÕSÔSÐ+ÑSÔSÕSÔSÐ,ÑSÔSÕSÔS°ÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÐSÐSÕSÔSÐSÐSÐSÐS¸ÈÐSÑSÔSÕSÔS¸ÑSÔSÕSÔSÈÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÕSÔSÐSÐSÑSÔSÐSÑSÐSÐSÐSÐSÐSÑSÐSÕSÕSÔSÐSÑSÔSÑSÔSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÑSØfÐfÐ Ðf­¬
Ðf¨
¨
°4Ñ(8Ô(8ÐfÐ Ð(8Ð8ÐfÐfÐfÐfÐfÐ=NÐfÕVZÔV`ÐfÐV`ÐV`ÐaeÑVfÔVfÐfÐ=NÐVfÐ=fÐfÐfÐfÐfÑfÕfÔfÐfÐfÐfÐfÐ Ð(8ÐfÑfÔfÕfÔfÐ ÑfÔfÐfÕfÔfÑfÔfÐfÐfÕfÔf­ÑfÔfÐfÕfÔf­ÑfÔfÐfÐfÕfÔf¨
ÑfÔfÐfÕfÔfÑfÔfÐfÐfÕfÔf°4ÑfÔfÐfÕfÔf°4ÑfÔfÐfÐfÕfÔfÐ(8ÑfÔfÐfÐfÑfÐfÐfÐfÐfÐfÑfÐfÐf×fÒfÐfÑfÔfÐfÐfÐfÕfÔfÐfÐfÐfÐfÐ=NÐVfÐfÑfÔfÕfÔfÐ=NÑfÔfÐfÕfÔfÑfÔfÐfÐfÕfÔfÕVZÑfÔfÐfÕfÔfÕVZÑfÔfÐfÐfÕfÔfÐV`ÑfÔfÐfÕfÔfÑfÔfÐfÐfÕfÔfÐaeÑfÔfÐfÕfÔfÐaeÑfÔfÐfÐfÕfÔfÐVfÑfÔfÐfÐfÑfÐfÐfÐfÐfÐfÑfÐfÐf×fÒfÐfÑfÔfÐfÕfÔfÐfÐfÑfÔfÐfÑfÐfÐfÐfÐfÐfÑfÐfÕfÕfÔfÐfÑfÔfÑfÔfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfÐfr   )r   r   ÚmodelÚrecent_textÚ
final_textÚlatest_activityr—   r–   )r   rl   r–   r,   r4   s      @@r   Ú'test_utf8_frame_and_security_projectionr�  æ   s¤   øø€ Ý˜Ñ!Ô!€HØXÐXÐXÐXÍuÐUVÉxÌxÐXÑXÔX€DØð Sð SˆØ%ˆŒ	ØARÐRˆŒÐR˜#œ.¨3Ô+>Ð+>ðgð gð gð gð gð gõ „K��‘”ÑÔÐÐÐr   c                 ó  ‡‡— g Šˆfd„Šd„ }t          ddt          j        ¦   «         t          ˆfd„¬¦  «        ¬¦  «        }t          |dz  ¦  «        }t	          | ||t          |d	z  ¦  «        t          ¦   «         ‰d
„ |d„ ¦	  «	        }|||‰fS )Nc              “   ó6   •K  — ‰                      |¦  «         d S r;   r$  )ÚdeviceÚpayloadÚmessagess     €r   Úsendzmake_navigator.<locals>.sendø   s   øè è €  X§_¢_°WÑ%=Ô%=Ð%=Ð%=Ð%=r   c              “   ó(   K  — t          d| ¬¦  «        S )NÚagent_state)ÚtypeÚtargetrM   )r—  s    r   Útarget_payloadz&make_navigator.<locals>.target_payloadù   s   è è € ­T°}ÈVÐ-TÑ-TÔ-TÐ&Tr   Údr]   c                 ó   •—  ‰d | ¦  «        S r;   rY   )r‘  r“  s    €r   rm  z make_navigator.<locals>.<lambda>û   s   ø€ ÐQUÐQUÐVZÐ\cÑQdÔQd€ r   )Ú	send_json)Ú	device_idÚconnection_idÚ	send_lockÚ	websocketztargets.jsonz
ops.sqlitec                 ó   — dS )NTrY   ©r™  s    r   rm  z make_navigator.<locals>.<lambda>þ   s   € °$€ r   c                 ó   — d S r;   rY   r¡  s    r   rm  z make_navigator.<locals>.<lambda>þ   s   € ÐRV€ r   )r   r—   ÚLockr   r
   r   r   )	r,   Úadaptersr   r˜  r�  ÚtargetsÚnavr’  r“  s	          @@r   Úmake_navigatorr§  ö   s¶   øø€ Ø€HØ=Ð=Ð=Ð=Ð=ØTÐTÐTÝ s¸#ÍÌÉÌÝ'6ÐAdÐAdÐAdÐAdÐ'eÑ'eÔ'eðgñ gô g€Få˜( ^Ñ3Ñ4Ô4€GÝ
�H˜h¨µ¸HÀ|Ñ<SÑ1TÔ1TÝ‘L”L $¨¨¸ÈÈñXô X€Cà�˜ Ð)Ð)r   r&   r¾   c           	      óº   ‡ ‡‡‡— t          ‰ ¦  «        Št          dt          ‰dd‰¬¦  «        gi¦  «        Šˆˆˆˆ fd„}t          j         |¦   «         ¦  «         d S )Nr¼   ÚrealrÄ   c               “   ó&  •K  — t          ‰‰‰i‰¦  «        \  } }}}| j                             ddt          ¦  «        ƒ d {V —†}|d         d         }|                      |t          dd|d         |d         |d         ¬	¦  «        ¦  «        ƒ d {V —†}g }|d         }d
}	||	k    }
|
}|
r"|j        }d} ||¦  «        }d‰› d�}||k    }|}|�sft          j        d|
fd||	f¦  «        t          j	        |¦  «        t          j	        |	¦  «        dœz  }dd|iz  }| 
                    |¦  «         |
rÄt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }| 
                    |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}
x}	x}x}x}x}}d„ |D ¦   «         }ddg}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd |iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}‰j        }d}
||
k    }|sªt          j        d|fd!||
f¦  «        d"t          j        ¦   «         v st          j        ‰¦  «        rt          j	        ‰¦  «        nd"t          j	        |¦  «        t          j	        |
¦  «        d#œz  }d$d%|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}
d S )&Nr]   rª   r^   r   rÉ   r%   r&   r'   )Ú
request_idÚexpected_target_generationr%   r&   r'   r¼   r™  zagent:z:realr_   rú   rû   rü   ry   )zP%(py16)s
{%(py16)s = %(py12)s
{%(py12)s = %(py10)s.get
}(%(py14)s)
} == %(py19)sr¥  )r{   rý   rã   rä   rþ   z%(py21)sræ   zassert %(py24)sr  c                 ó   — g | ]
}|d          ‘ŒS )r–  rY   )rB   Úms     r   rm   z_test_live_row_selects_through_existing_real_project_cwd_checks.<locals>.run.<locals>.<listcomp>  s   € Ð,Ð,Ð,˜a��&”	Ð,Ð,Ð,r   Útarget_selectedr•  ra   rb   re   rf   )z1%(py2)s
{%(py2)s = %(py0)s.creations
} == %(py5)sr  )rt   ru   r®   zassert %(py7)sr	  )r§  r‹   r   r   ÚselectrN   r+   r€   r�   r‚   r<   r…   r†   r‡   rç   rR   rƒ   r7   )Únr™  r¥  r’  r   rl   r   r‘   rŽ   r’   rÏ   rŒ   r  ré   rê   r  ry  r�   r”   rï   rð   r  r  r�   r�   r²   Ú@py_format8r  r&   r,   r   s                              €€€€r   r–   zKtest_live_row_selects_through_existing_real_project_cwd_checks.<locals>.run  s—  øè è € Ý"0°¸EÀ1¸:ÀxÑ"PÔ"PÑˆˆ1ˆg�xØ”Y—^’^ C¨µ_ÑEÔEÐEÐEÐEÐEÐEÐEˆØ�7Œm˜AÔˆØ—x’x ¥4°3ÐSTØ25°lÔ2CÈ3ÈwÌ<ÐdgÐhtÔduð$wñ $wô $wñ xô xð xð xð xð xð xð xˆàYÐYˆv�lÔ#ÐY tÐYÐ# tÒ+ÐYÐYÐYÐYÐY°´ÐY¸CÐY°°¸CÑ0@Ô0@ÐYÐDYÈUÐDYÐDYÐDYÐYÐ0@ÐDYÒ0YÐYÐYÐYÐYÑYÕYÔYÐYÐYÐYÐYÐ# tÐYÑYÔYÕYÔYÐ#ÑYÔYÕYÔY tÑYÔYÐYÐYÑYÐYÐYÐYÐYÐYÑYÐYÐY×YÒYÐYÑYÔYÐYÐYÐYÕYÔYÐYÐYÐYÐYÐ0@ÐDYÐYÑYÔYÐYÕYÔYÑYÔYÐYÐYÕYÔY°ÑYÔYÐYÕYÔY°ÑYÔYÐYÐYÕYÔY°ÑYÔYÕYÔY¸CÑYÔYÕYÔYÐ0@ÑYÔYÕYÔYÐDYÑYÔYÐYÐYÑYÐYÐYÐYÐYÐYÑYÐYÐY×YÒYÐYÑYÔYÐYÕYÔYÐYÐYÑYÔYÐYÑYÐYÐYÐYÐYÐYÑYÐYÕYÕYÔYÐYÑYÔYÑYÔYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYØ,Ð, 8Ð,Ñ,Ô,ÐRÐ1BÀMÐ0RÐRÐ,Ð0RÒRÐRÐRÐRÕRÔRÐRÐRÐRÐRÐ,Ð0RÐRÑRÔRÕRÔRÐ,ÑRÔRÕRÔRÐ0RÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÕRÕRÔRÐRÑRÔRÑRÔRÐRÐRÐRÐRÐRÐRÐRØŒ{Ð˜aÐˆ{˜aÒÐÐÐÕÔÐÐÐÐˆ{˜aÐÑÔÐÕÔÑÔÐÐÕÔˆqÑÔÐÕÔˆqÑÔÐÐÕÔˆ{ÑÔÕÔ˜aÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐÐÐr   rÖ   )r   r&   r–   r  r,   s   `` @@r   Ú>test_live_row_selects_through_existing_real_project_cwd_checksr³    s   øøøø€ å˜Ñ!Ô!€HÝ�� ¨$°¸eÐDÑDÔDÐEÐFÑGÔG€Að ð  ð  ð  ð  ð  ð  ð  õ „K��‘”ÑÔÐÐÐr   Úwrongr%   r*   c                 ó¾   ‡ ‡‡‡‡— t          ‰ ¦  «        Št          ‰dd¦  «        Št          d‰gi¦  «        Šˆˆˆˆ ˆfd„}t          j         |¦   «         ¦  «         d S )Nr¼   r©  c            
   “   ó|  •‡K  — t          ‰d‰i‰¦  «        \  } }}}| j                             ddt          ¦  «        ƒ d {V —†}|d         d         Št	          ‰‰‰dk    rdn‰                     d¦  «        j        ¦  «         t          j        t          d¬	¦  «        5  |  
                    |t          dd
diˆfd„dD ¦   «         ¤Ž¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   g }|j        }d} ||¦  «        }d}	||	k    }
|
}|
r
g }||k    }|}|�s‘t          j        d|
fd||	f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }|                     |¦  «         |
r‹t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t+          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}
x}	x}}d S )Nr!   r]   rª   r^   r   r%   r¢   zSession disappearedr}   r¬  c                 ó"   •— i | ]}|‰|         “ŒS rY   rY   )rB   ÚkÚselecteds     €r   ú
<dictcomp>zTtest_live_navigation_cannot_bypass_project_identity.<locals>.run.<locals>.<dictcomp>  s9   ø€ ð  DCð  DCð  DCÐWXÀAÀxÐPQÄ{ð  DCð  DCð  DCr   )r%   r&   r'   r™  r_   )zQ%(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s.generation
}(%(py6)s)
} == %(py11)sr¥  )ru   rd   rf   ry   rË   rS  rÌ   )z%(py15)s == %(py18)sr’  )rÍ   rå   z%(py20)sr  zassert %(py23)sr[  rY   )r§  r‹   r   r   r=  r+   r   r‰   rŠ   r   r°  rN   Ú
generationr€   r�   r…   r†   r‡   r‚   r<   rç   rR   rƒ   )r±  r™  r¥  r’  r   r‘   r�   r’   r“   rÐ   r  rŒ   ry  r  rì   r<  rî   r  rð   r`  r¹  r  r,   rl   r   r´  s                       @€€€€€r   r–   z@test_live_navigation_cannot_bypass_project_identity.<locals>.run  sæ  øøè è € Ý"0°¸DÀ!¸9ÀhÑ"OÔ"OÑˆˆ1ˆg�xØ”Y—^’^ C¨µ_ÑEÔEÐEÐEÐEÐEÐEÐEˆØ˜”= Ô#ˆÝ��U E¨\Ò$9Ð$9˜D˜D¸x¿|º|ÈDÑ?QÔ?QÔ?VÑWÔWÐWÝŒ]�<Ð/DÐEÑEÔEð 	Eð 	EØ—(’(˜1�dð  Dð  D¸að  Dð  DCð  DCð  DCð  DCð  ]Bð  DCñ  DCô  DCð  Dð  Dñ  Eô  Eð  Eð  Eð  Eð  Eð  Eð  Eð  Eð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eà>Ð>ˆwÔ!Ð> #Ð>Ð!Ð! #Ñ&Ô&Ð>¨!Ð>Ð&¨!Ò+Ð>Ð>Ð>Ð>Ð>¸BÐ>°¸B²Ð>Ð>Ð>Ð>Ñ>Õ>Ô>Ð>Ð>Ð>Ð>Ð&¨!Ð>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>ˆwÑ>Ô>Ð>Õ>Ô>ˆwÑ>Ô>Ð>Ð>Õ>Ô>Ð!Ñ>Ô>Õ>Ô> #Ñ>Ô>Õ>Ô>Ð&Ñ>Ô>Õ>Ô>¨!Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Ð>×>Ò>Ð>Ñ>Ô>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>°¸BÐ>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>°Ñ>Ô>Ð>Õ>Ô>°Ñ>Ô>Ð>Ð>Õ>Ô>¸BÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Ð>×>Ò>Ð>Ñ>Ô>Ð>Õ>Ô>Ð>Ð>Ñ>Ô>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>s   Â5CÃC#Ã&C#)r   r/   r1   r—   r–   )r   r´  r–   r  r,   rl   s   `` @@@r   Ú3test_live_navigation_cannot_bypass_project_identityr¼    sƒ   øøøøø€ å˜Ñ!Ô!€HÝ
�(˜D &Ñ
)Ô
)€CÝ�˜�u�ÑÔ€Að?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?õ „K��‘”ÑÔÐÐÐr   c                 óÂ   ‡ ‡‡‡— t          ‰ ¦  «        Št          ¦   «         Š‰j                             ¦   «         Šˆˆˆˆ fd„}t	          j         |¦   «         ¦  «         d S )Nc               “   ó8
  •‡‡‡K  — t          ‰ d‰i‰!¦  «        \  ŠŠ} }t          t          dddi ¬¦  «        Šˆˆˆfd„ˆˆˆfd„fD �]#}t          j        t
          d¬¦  «        5 } |¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |j        }|j        }d	}||k    }|s½t          j	        d
|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}�Œ%g }‰j        }d}||k    }|}
|r*| j        }d} ||¦  «        }d}||k    }|}
|r
g }||k    }|}
|
�s2t          j	        d
|fd||f¦  «        dt          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	|                     |	¦  «         |�rQt          j	        d
|fd||f¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         |r‹t          j	        d
|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd |iz  }t          t          j        |¦  «        ¦  «        ‚d x}
x}x}x}x}x}x}x}x}x}x}}‰ j        }|j        } |¦   «         }|‰k    }|sût          j	        d
|fd!|‰f¦  «        d"t          j        ¦   «         v st          j        ‰ ¦  «        rt          j        ‰ ¦  «        nd"t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d#t          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        nd#d$œz  }d%d&|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}}d S )'Nr!   Úopr   )r%   r&   Úoperation_idr¬  Úsettingsc                  ó0   •— ‰                      ‰ ‰¦  «        S r;   )Úcreation_options©r™  Úeventr±  s   €€€r   rm  z]test_virtual_creation_is_controlled_rejected_and_not_journaled.<locals>.run.<locals>.<lambda>*  s   ø€ ˜q×1Ò1°!°UÑ;Ô;€ r   c                  ó2   •— ‰                      ‰ ‰d¦  «        S )Nzunused prompt)ÚcreaterÄ  s   €€€r   rm  z]test_virtual_creation_is_controlled_rejected_and_not_journaled.<locals>.run.<locals>.<lambda>*  s   ø€ ÀQÇXÂXÈaÐQVÐXgÑEhÔEh€ r   r|   r}   i”  r_   )zI%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.value
}.status
} == %(py7)sÚerror)rt   ru   rd   r	  zassert %(py9)srÊ   r™  )z1%(py4)s
{%(py4)s = %(py2)s.creations
} == %(py7)sr  )ru   rd   r	  z%(py9)s)zW%(py17)s
{%(py17)s = %(py13)s
{%(py13)s = %(py11)s.generation
}(%(py15)s)
} == %(py20)sr¥  )rË   rÌ   rÍ   rÎ   r  z%(py22)sr   )z%(py24)s == %(py27)sr’  )r  r  z%(py29)sÚpy29zassert %(py32)sÚpy32rv   r,   rw   rx   rz   r{   )r§  rN   r   r‰   rŠ   r   Úvaluerø   r€   r�   r…   r†   r‡   r‚   rR   rƒ   r7   r»  r<   rç   r   rˆ   )"r¥  r’  ÚactionrÈ  r‘   r�   rÒ   r’   r²  rë   rŒ   rÑ   rÓ   r  r^  r  Ú@py_assert26Ú@py_assert25r  r  r  Ú@py_format30Ú@py_format31Ú@py_format33r“   r”   r•   r™  rÅ  r±  r  rw   r,   r   s"                              @@@€€€€r   r–   zKtest_virtual_creation_is_controlled_rejected_and_not_journaled.<locals>.run&  sg  øøøøè è € Ý"0°¸DÀ!¸9ÀhÑ"OÔ"OÑˆˆ1ˆg�xÝ¥°tÈ$Ø01¸Bð@ñ @ô @ˆà;Ð;Ð;Ð;Ð;Ð;Ð=hÐ=hÐ=hÐ=hÐ=hÐ=hÐið 	-ñ 	-ˆFÝ”�|Ð3FÐGÑGÔGð È5Ø�f‘h”h�������ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à”;Ð,�;Ô%Ð,¨Ð,Ð%¨Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð%¨Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,�5Ñ,Ô,Ð,Õ,Ô,�5Ñ,Ô,Ð,Ð,Õ,Ô,�;Ñ,Ô,Õ,Ô,Ð%Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ñ,ØSÐSˆqŒ{ÐS˜aÐSˆ{˜aÒÐSÐSÐSÐSÐS GÔ$6ÐS°sÐSÐ$6Ð$6°sÑ$;Ô$;ÐS¸qÐSÐ$;¸qÒ$@ÐSÐSÐSÐSÐSÐQSÐSÀXÐQSÂ^ÐSÐSÐSÐSÑSÕSÔSÐSÐSÐSÐSˆ{˜aÐSÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔSˆqÑSÔSÐSÕSÔSˆqÑSÔSÐSÐSÕSÔSˆ{ÑSÔSÕSÔS˜aÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÐSÑSÕSÔSÐSÐSÐSÐSÐ$;¸qÐSÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔS GÑSÔSÐSÕSÔS GÑSÔSÐSÐSÕSÔSÐ$6ÑSÔSÕSÔS°sÑSÔSÕSÔSÐ$;ÑSÔSÕSÔS¸qÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÐSÐSÕSÔSÐSÐSÐSÐSÀXÐQSÐSÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔSÀXÑSÔSÐSÕSÔSÀXÑSÔSÐSÐSÕSÔSÐQSÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÕSÔSÐSÐSÑSÔSÐSÑSÐSÐSÐSÐSÐSÑSÐSÕSÕSÔSÐSÑSÔSÑSÔSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSØŒ}Ð5ˆ}Ô'Ð5Ð'Ð'Ñ)Ô)Ð5Ð)¨XÒ5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð)¨XÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5ˆxÑ5Ô5Ð5Õ5Ô5ˆxÑ5Ô5Ð5Ð5Õ5Ô5ˆ}Ñ5Ô5Õ5Ô5Ð'Ñ5Ô5Õ5Ô5Ð)Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5¨XÑ5Ô5Ð5Õ5Ô5¨XÑ5Ô5Ð5Ð5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5s   Á$BÂB	ÂB	)r   r1   r   rˆ   r—   r–   )r   r–   r  rw   r,   s   ` @@@r   Ú>test_virtual_creation_is_controlled_rejected_and_not_journaledrÒ  "  su   øøøø€ Ý˜Ñ!Ô!€HÝ‰	Œ	€AØŒ}×'Ò'Ñ)Ô)€Hð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6õ „K��‘”ÑÔÐÐÐr   c           
      óþ   ‡‡‡— t          | ¦  «        Št          dt          ‰ddd¬¦  «        gi¦  «        Št          dt          ‰dddd¬¦  «        gi¦  «        Šˆˆˆfd	„}t          j         |¦   «         ¦  «         d S )
Nr¢   ÚsamerÂ   r¸   r¼   r¾   z2026-10-07T01:00:00Z)r&   r.   c               “   ó’  •K  — t          ‰‰‰dœ¦  «                             ddt          ¦  «        ƒ d {V —†} d„ | d         D ¦   «         }ddg}||k    }|slt          j        d|fd	||f¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )NrÆ   r]   rª   c                 ó   — g | ]
}|d          ‘ŒS rÄ   rY   rk   s     r   rm   zctest_same_instant_with_different_timezone_uses_stable_identity_tie.<locals>.run.<locals>.<listcomp>9  r¬   r   r^   r¾   r!   r_   ra   rb   re   rf   ©r   r   r   r€   r�   r‚   rR   rƒ   )	r   rŒ   r�   rŽ   r�   r�   r¾   r!   r,   s	         €€€r   r–   zOtest_same_instant_with_different_timezone_uses_stable_identity_tie.<locals>.run7  s  øè è € Ý˜X¨b¸5Ð'AÐ'AÑBÔB×GÒGÈÈZÕYhÑiÔiÐiÐiÐiÐiÐiÐiˆØ6Ð6¨¨W¬Ð6Ñ6Ô6ÐI¸7ÀD¸/ÐIÐ6¸/ÒIÐIÐIÐIÕIÔIÐIÐIÐIÐIÐ6¸/ÐIÑIÔIÕIÔIÐ6ÑIÔIÕIÔI¸/ÑIÔIÐIÐIÑIÐIÐIÐIÐIÐIÑIÐIÕIÕIÔIÐIÑIÔIÑIÔIÐIÐIÐIÐIÐIÐIÐIÐIÐIr   rÖ   r×   s     @@@r   ÚBtest_same_instant_with_different_timezone_uses_stable_identity_tierØ  3  sª   øøø€ Ý˜Ñ!Ô!€HÝ	�$� ¨4°ÐA\Ð]Ñ]Ô]Ð^Ð_Ñ	`Ô	`€BÝ�T�G H¨d°FÀ'ÐSiÐjÑjÔjÐkÐlÑmÔm€EðJð Jð Jð Jð Jð Jð Jõ „K��‘”ÑÔÐÐÐr   c           
      óò   ‡‡— t          | ¦  «        Št          dt          ‰dd¦  «        t          ‰ddd¬¦  «        t          ‰dd¦  «        gi¦  «        Šˆˆfd„}t          j         |¦   «         ¦  «         d S )	Nr¢   r¼   zwrong-projectzwrong-agentr¾   rÄ   rö   c               “   óŽ  •K  — t          ‰d‰i¦  «                             ddt          ¦  «        ƒ d {V —†} d„ | d         D ¦   «         }dg}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }d
d|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr!   r]   rª   c                 ó   — g | ]
}|d          ‘ŒS rA   rY   rk   s     r   rm   z^test_mismatched_project_or_adapter_identity_is_not_advertised.<locals>.run.<locals>.<listcomp>D  s   € Ð;Ð;Ð; c��LÔ!Ð;Ð;Ð;r   r^   rö   r_   ra   rb   re   rf   r×  )r   rŒ   r�   rŽ   r�   r�   r  r,   s         €€r   r–   zJtest_mismatched_project_or_adapter_identity_is_not_advertised.<locals>.runB  sü   øè è € Ý˜X¨¨a yÑ1Ô1×6Ò6°s¸JÍÑXÔXÐXÐXÐXÐXÐXÐXˆØ;Ð;¨T°'¬]Ð;Ñ;Ô;ÐGÀ¸xÐGÐ;¸xÒGÐGÐGÐGÕGÔGÐGÐGÐGÐGÐ;¸xÐGÑGÔGÕGÔGÐ;ÑGÔGÕGÔG¸xÑGÔGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGÐGÐGÐGÐGr   rÖ   r   s     @@r   Ú=test_mismatched_project_or_adapter_identity_is_not_advertisedrÜ  =  sŸ   øø€ Ý˜Ñ!Ô!€HÝ�� ¨$°Ñ@Ô@Ý ¨$°ÀWÐMÑMÔMÝ ¨$°Ñ7Ô7ð9ð :ñ 	;ô 	;€AðHð Hð Hð Hð Hð Hõ „K��‘”ÑÔÐÐÐr   )r   )r    r!   r"   r#   )5Úbuiltinsr…   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter€   r—   r  Útypesr   r‰   Údevice_gateway.control.catalogÚcontrolr‹   r>  r   r   r   Údevice_gateway.control.modelsr   r   r	   Ú device_gateway.control.navigatorr
   Ú!device_gateway.control.operationsr   Údevice_gateway.control.projectsr   Ú!device_gateway.control.user_inputr   Údevice_gateway.stater   r   r/   r1   r˜   rµ   rØ   ÚmarkÚparametrizerô   r!  r@  rW  rc  r|  r�  r§  r³  r¼  rÒ  rØ  rÜ  rY   r   r   ú<module>rì     sõ  ðØ  € € € € € € € € € € € € €€€€Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !à €€€à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø [Ð [Ð [Ð [Ð [Ð [Ð [Ð [Ð [Ð [Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ?CØ17ð;ð ;ð ;ð ;ðJð Jð Jð Jð Jñ Jô Jð Jð,ð ð ð&ð ð ð$ð ð ð. „×ÒÐ.ð 1ð 1ð 1ñ ô ð

ð 
ñô ð

ð
ð 
ð 
ðð ð ð(ð ð ð: „×Ò˜ 1 a &Ñ)Ô)ðð ñ *Ô)ððð ð ð2ð ð ð 	*ð 	*ð 	*ð „×Ò˜ 4¨ /Ñ2Ô2ðð ñ 3Ô2ðð „×Ò˜ <°Ð"7Ñ8Ô8ðð ñ 9Ô8ððð ð ð"ð ð ðð ð ð ð r   