§
    ¼.¯j3-  ã                  ó  — d Z ddlmZ ddlZddlmc mZ ddl	Z	ddl
Z
ddlZddlZddlZddlmZmZmZmZ g d¢ZeZej        d„ ¦   «         Z G d„ d¦  «        Z G d	„ d
¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        ZdS )uÄ  AutoPOE2 - Master Invariants Sentinel & Headless Mock Harness Tests (SSoT 2026).
================================================================================
Domain: SÆ° Ä‘oÃ n 4 / Trung Ä‘oÃ n 2: MASTER INVARIANTS AUDITOR (lead_qa_governance).
Kiá»ƒm thá»­ toÃ n diá»‡n Ma tráº­n 19 Báº¥t biáº¿n Kiáº¿n trÃºc (AGENTS.md Má»¥c 8):
- 100% User Mode Headless Mock Harness (< 1.0s).
- Autonomy Readiness Score (ARS %) Ä‘áº¡t 100.0% khi Ä‘á»§ 19 báº¥t biáº¿n.
- KhÃ³a cháº·n Fail-Closed kÃ­ch hoáº¡t ARS = 0.0% khi báº¥t ká»³ báº¥t biáº¿n nÃ o bá»‹ BLOCKED.
- Quy trÃ¬nh Ä‘Ã³ng gÃ³i Incident Dossier 6 thÃ nh pháº§n vÃ o debug_harness/incidents/.
- 69/69 checks kiá»ƒm Ä‘á»‹nh Ä‘á»‹nh lÆ°á»£ng toÃ n diá»‡n.
é    )ÚannotationsN)ÚMASTER_19_INVARIANTS_SPECSÚMASTER_20_INVARIANTS_SPECSÚInvariantStatusÚMasterInvariantsSentinel)zINV-INPUT-ABS-MOUSEzINV-WASD-NO-BLIND-LMBúINV-KEY-NO-F-FOR-INTERACTzINV-KEY-NO-U-FOR-MAP-DEVICEzINV-WASD-MIN-DWELLzINV-F8-MUTES-BRAINzINV-MAPDEVICE-VERIFY-UIzINV-MAPDEVICE-RETRY-POLLzINV-BRAIN-CONFLICT-GATEKEEPERzINV-TERRAIN-ORIGINzINV-FSM-SINGLE-OWNERz	INV-CI-01zINV-MEM-DYNAMIC-XYZzINV-KEY-PORTALzINV-KEY-E-PULSEzINV-OCR-MOCK-NO-CALLz#INV-FOCUS-INTERLOCK-HARDWARE-SAFETYzINV-ATLAS-FARM-NODEzINV-WAYSTONE-ROW1-ONLYzINV-MOTION-INTEGRITYc               #  ó  K  — t          j        d¬¦  «        } t          j                             | d¦  «        }t          j                             | d¦  «        }t          ||¬¦  «        }| |||dœV — t          j        | d¬¦  «         d	S )
u>   Táº¡o mÃ´i trÆ°á»�ng cÃ´ láº­p cho Master Invariants Sentinel.Úsentinel_test_)ÚprefixÚ	incidentszLATEST_INCIDENT.json)Úincidents_dirÚlatest_pointer_file©Útemp_dirr   Úpointer_fileÚsentinelT)Úignore_errorsN)ÚtempfileÚmkdtempÚosÚpathÚjoinr   ÚshutilÚrmtreer   s       ú=C:\Projects\AutoPOE2\tests\test_master_invariants_sentinel.pyÚsentinel_envr   4   s¥   è è € õ ÔÐ'7Ð8Ñ8Ô8€HÝ”G—L’L ¨;Ñ7Ô7€MÝ”7—<’< Ð*@ÑAÔA€Lå'Ø#Ø(ðñ ô €Hð Ø&Ø$Øð	ð ð ð ð õ „M�(¨$Ð/Ñ/Ô/Ð/Ð/Ð/ó    c                  ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestMaster19InvariantsSpecsuN   Kiá»ƒm tra Ä‘áº·c táº£ 20 Báº¥t biáº¿n Kiáº¿n trÃºc (Master Invariant Matrix).c                ó(  — t          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        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d
„ t          D ¦   «         }|t          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  }	t          t          j	        |	¦  «        ¦  «        ‚d	}d	S )uM   XÃ¡c nháº­n Ä‘á»§ 20 Báº¥t biáº¿n Kiáº¿n trÃºc theo Ä‘Ãºng AGENTS.md Má»¥c 8.é   ©ú==)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenr   )Úpy0Úpy1Úpy3Úpy6úassert %(py8)sÚpy8Nc                ó   — g | ]	}|j         ‘Œ
S © ©Úcode©Ú.0Úss     r   ú
<listcomp>zMTestMaster19InvariantsSpecs.test_spec_count_is_exactly_20.<locals>.<listcomp>P   s   € Ð<Ð<Ð<˜A�”Ð<Ð<Ð<r   )z%(py0)s == %(py2)sÚcodesÚALL_20_INVARIANT_CODES)r%   Úpy2zassert %(py4)sÚpy4)r$   r   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationr4   )
ÚselfÚ@py_assert2Ú@py_assert5Ú@py_assert4Ú@py_format7Ú@py_format9r3   Ú@py_assert1Ú@py_format3Ú@py_format5s
             r   Útest_spec_count_is_exactly_20z9TestMaster19InvariantsSpecs.test_spec_count_is_exactly_20M   s&  € åÕ-Ñ.Ô.Ð4°"Ð4Ð.°"Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð.°"Ð4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4�sÑ4Ô4Ð4Õ4Ô4�sÑ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Ø<Ð<Õ!;Ð<Ñ<Ô<ˆØÕ.Ò.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.ˆuÕ.Ð.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.ˆuÑ.Ô.Ð.Õ.Ô.ˆuÑ.Ô.Ð.Ð.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.Õ.Ñ.Ô.Ð.Õ.Ô.Õ.Ñ.Ô.Ð.Ð.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r   c                ó¢  — t          d„ t          D ¦   «         ¦  «        }d}||z
  }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        |¦  «        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}}dS )uK   Tá»•ng trá»�ng sá»‘ Ä‘á»‹nh lÆ°á»£ng cá»§a 20 báº¥t biáº¿n xáº¥p xá»‰ 100%.c              3  ó$   K  — | ]}|j         V — Œd S )N)Úweightr/   s     r   ú	<genexpr>zLTestMaster19InvariantsSpecs.test_total_weights_sum_to_100.<locals>.<genexpr>U   s$   è è € ÐCÐC 1�a”hÐCÐCÐCÐCÐCÐCr   ç      Y@gš™™™™™¹?©ú<)z;%(py6)s
{%(py6)s = %(py0)s((%(py1)s - %(py3)s))
} < %(py9)sÚabsÚtotal_w)r%   r&   r'   r(   Úpy9zassert %(py11)sÚpy11N)Úsumr   rP   r7   r8   r9   r:   r;   r<   r=   r>   )	r?   rQ   r@   rB   rA   Ú@py_assert8Ú@py_assert7Ú@py_format10Ú@py_format12s	            r   Útest_total_weights_sum_to_100z9TestMaster19InvariantsSpecs.test_total_weights_sum_to_100S   sm  € åÐCÐCÕ(BÐCÑCÔCÑCÔCˆØ"Ð)�7˜U‘?Ð)�s�?Ñ#Ô#Ð) cÐ)Ð# cÒ)Ð)Ð)Ñ)Õ)Ô)Ð)Ð)Ð)Ð)Ð# cÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�sÑ)Ô)Ð)Õ)Ô)�sÑ)Ô)Ð)Ð)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�7Ñ)Ô)Ð)Õ)Ô)�7Ñ)Ô)Ð)Ð)Õ)Ô)˜UÑ)Ô)Õ)Ô)Ð#Ñ)Ô)Õ)Ô) cÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rH   rY   r,   r   r   r   r   J   s8   € € € € € ØXÐXð/ð /ð /ð*ð *ð *ð *ð *r   r   c                  ó   — e Zd ZdZd„ Zd„ ZdS )Ú TestMasterInvariantsAuditHarnessuH   Kiá»ƒm Ä‘á»‹nh Headless Mock Harness vÃ  Autonomy Readiness Score (ARS).c                óF  — |d         }|                      ¦   «         }|j        }d}||u }|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}}|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}}|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}}|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}}|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}}|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}	|j        }|	|v }
|
sªt          j        d|
fd|	|f¦  «        t          j        |	¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd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 )uF   Khi 20 báº¥t biáº¿n Ä‘á»�u thá»�a mÃ£n -> 100% VERIFIED, ARS = 100.0%.r   T©Úis©zA%(py2)s
{%(py2)s = %(py0)s.is_cleared_for_autonomous
} is %(py5)sÚreport©r%   r5   Úpy5úassert %(py7)sÚpy7Nr!   r"   )z8%(py2)s
{%(py2)s = %(py0)s.total_invariants
} == %(py5)s)z4%(py2)s
{%(py2)s = %(py0)s.passed_count
} == %(py5)sr   )z5%(py2)s
{%(py2)s = %(py0)s.warning_count
} == %(py5)s©z5%(py2)s
{%(py2)s = %(py0)s.blocked_count
} == %(py5)srM   ©z@%(py2)s
{%(py2)s = %(py0)s.autonomy_readiness_score
} == %(py5)sz100% VERIFIED©Úin©z/%(py1)s in %(py5)s
{%(py5)s = %(py3)s.summary
}©r&   r'   rf   g     @�@rN   )z8%(py2)s
{%(py2)s = %(py0)s.total_duration_ms
} < %(py5)s)Úaudit_all_invariantsÚis_cleared_for_autonomousr7   r8   r9   r:   r;   r<   r=   r>   Útotal_invariantsÚpassed_countÚwarning_countÚblocked_countÚautonomy_readiness_scoreÚsummaryÚtotal_duration_ms)r?   r   r   rd   rE   rB   Ú@py_assert3Ú@py_format6Ú@py_format8Ú@py_assert0r@   s              r   Ú0test_full_audit_100_percent_verified_and_ars_100zQTestMasterInvariantsAuditHarness.test_full_audit_100_percent_verified_and_ars_100\   s'  € à-9¸*Ô-EˆØ×.Ò.Ñ0Ô0ˆàÔ/Ð7°4Ð7Ð/°4Ð7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð/°4Ð7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7ˆvÑ7Ô7Ð7Õ7Ô7ˆvÑ7Ô7Ð7Ð7Õ7Ô7Ð/Ñ7Ô7Õ7Ô7°4Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7ØÔ&Ð,¨"Ð,Ð&¨"Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð&¨"Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,ˆvÑ,Ô,Ð,Õ,Ô,ˆvÑ,Ô,Ð,Ð,Õ,Ô,Ð&Ñ,Ô,Õ,Ô,¨"Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ØÔ"Ð( bÐ(Ð" bÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð" bÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Ð(Õ(Ô(Ð"Ñ(Ô(Õ(Ô( bÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÔ#Ð( qÐ(Ð# qÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð# qÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Ð(Õ(Ô(Ð#Ñ(Ô(Õ(Ô( qÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÔ#Ð( qÐ(Ð# qÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð# qÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Ð(Õ(Ô(Ð#Ñ(Ô(Õ(Ô( qÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÔ.Ð7°%Ð7Ð.°%Ò7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð.°%Ð7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7ˆvÑ7Ô7Ð7Õ7Ô7ˆvÑ7Ô7Ð7Ð7Õ7Ô7Ð.Ñ7Ô7Õ7Ô7°%Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7ØÐ0 &¤.Ð0ˆ .Ð0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆ .Ð0Ñ0Ô0Õ0Ô0ˆÑ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0 &Ñ0Ô0Ð0Õ0Ô0 &Ñ0Ô0Ð0Ð0Õ0Ô0 .Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÔ'Ð0¨&Ð0Ð'¨&Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð'¨&Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆvÑ0Ô0Ð0Õ0Ô0ˆvÑ0Ô0Ð0Ð0Õ0Ô0Ð'Ñ0Ô0Õ0Ô0¨&Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0r   c                ó
  — |d         }ddi}|                      |¬¦  «        }|j        }d}||u }|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}}|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}}|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}
|j        }|
|v }|sªt          j        d|fd|
|f¦  «        t          j        |
¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }d	d
|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}
x}}d„ |j        D ¦   «         d         }|j        }t          j        }||k    }|sòt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}d}
|j        }|
|v }|sªt          j        d|fd|
|f¦  «        t          j        |
¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }d	d
|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}
x}}dS )uS   Chá»‰ cáº§n 1 báº¥t biáº¿n bá»‹ BLOCKED -> ARS láº­p tá»©c vá»� 0.0% (Fail-Closed).r   r   F©Úcustom_overridesra   rc   rd   re   rg   rh   Né   r"   ri   ç        rj   ÚBLOCKEDrk   rm   rn   c                ó(   — g | ]}|j         d k    ¯|‘ŒS )r   r-   )r0   Úrs     r   r2   zlTestMasterInvariantsAuditHarness.test_fail_closed_triggers_ars_zero_on_blocked_invariant.<locals>.<listcomp>v   s%   € ÐWÐWÐW˜!°´Ð;VÒ1VÐ1V�AÐ1VÐ1VÐ1Vr   r   ©zK%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.BLOCKED
}Úf_resultr   ©r%   r5   r6   r(   r)   r*   u   Cáº¢NH BÃ�O)z0%(py1)s in %(py5)s
{%(py5)s = %(py3)s.evidence
})Úaudit_all_19_invariantsrp   r7   r8   r9   r:   r;   r<   r=   r>   rt   ru   rv   ÚresultsÚstatusr   r‚   Úevidence)r?   r   r   Ú	overridesrd   rE   rB   rx   ry   rz   r{   r@   r†   rA   rC   rD   s                   r   Ú7test_fail_closed_triggers_ars_zero_on_blocked_invariantzXTestMasterInvariantsAuditHarness.test_fail_closed_triggers_ars_zero_on_blocked_invariantj   sË  € à-9¸*Ô-Eˆà0°%Ð8ˆ	Ø×1Ò1À9Ð1ÑMÔMˆàÔ/Ð8°5Ð8Ð/°5Ð8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8Ð/°5Ð8Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8ˆvÑ8Ô8Ð8Õ8Ô8ˆvÑ8Ô8Ð8Ð8Õ8Ô8Ð/Ñ8Ô8Õ8Ô8°5Ñ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ØÔ#Ð( qÐ(Ð# qÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð# qÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Ð(Õ(Ô(Ð#Ñ(Ô(Õ(Ô( qÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÔ.Ð5°#Ð5Ð.°#Ò5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð.°#Ð5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5ˆvÑ5Ô5Ð5Õ5Ô5ˆvÑ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Ð5Ð5Ð5Ð5Ð5ØÐ*˜FœNÐ*ˆy˜NÐ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*ˆy˜NÐ*Ñ*Ô*Õ*Ô*ˆyÑ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*˜FÑ*Ô*Ð*Õ*Ô*˜FÑ*Ô*Ð*Ð*Õ*Ô*˜NÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*àWÐW˜vœ~ÐWÑWÔWÐXYÔZˆØŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØÐ1 Ô 1Ð1ˆ}Ð 1Ð1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1ˆ}Ð 1Ð1Ñ1Ô1Õ1Ô1ˆ}Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1 Ñ1Ô1Ð1Õ1Ô1 Ñ1Ô1Ð1Ð1Õ1Ô1Ð 1Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1r   N)rZ   r[   r\   r]   r|   r�   r,   r   r   r_   r_   Y   s8   € € € € € ØRÐRð1ð 1ð 1ð2ð 2ð 2ð 2ð 2r   r_   c                  ó<   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestIndividualInvariantAuditorsub   Kiá»ƒm tra chi tiáº¿t tá»«ng phÆ°Æ¡ng thá»©c kiá»ƒm Ä‘á»‹nh cá»§a cÃ¡c báº¥t biáº¿n trá»�ng yáº¿u.c                ó¼  — |d         }|                      dd¬¦  «        }|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      d¬¦  «        }	|	j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr   T)Úis_absoluteÚdelta_only_for_bezierr"   ©zJ%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.PASSED
}Úres_okr   r‡   r)   r*   F)r‘   r…   Úres_fail)Úaudit_inv_input_abs_mouserŠ   r   ÚPASSEDr7   r8   r9   r:   r;   r<   r=   r>   r‚   ©
r?   r   r   r”   rE   rA   rx   rC   rD   r•   s
             r   Útest_inv_input_abs_mousez8TestIndividualInvariantAuditors.test_inv_input_abs_mouse~   s{  € Ø-9¸*Ô-EˆØ×3Ò3ÀÐ\`Ð3ÑaÔaˆØŒ}Ð6¥Ô 6Ð6ˆ}Ð 6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ}Ð 6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6¥Ñ6Ô6Ð6Õ6Ô6¥Ñ6Ô6Ð6Ð6Õ6Ô6Ð 6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à×5Ò5À%Ð5ÑHÔHˆØŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   c                óº  — |d         }|                      d¬¦  «        }|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      d¬¦  «        }	|	j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr   g      .@)Úapproach_distr"   r“   r”   r   r‡   r)   r*   g      9@r…   r•   )Úaudit_inv_wasd_no_blind_lmbrŠ   r   r—   r7   r8   r9   r:   r;   r<   r=   r>   r‚   r˜   s
             r   Útest_inv_wasd_no_blind_lmbz:TestIndividualInvariantAuditors.test_inv_wasd_no_blind_lmb†   sx  € Ø-9¸*Ô-EˆØ×5Ò5ÀDÐ5ÑIÔIˆØŒ}Ð6¥Ô 6Ð6ˆ}Ð 6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ}Ð 6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6¥Ñ6Ô6Ð6Õ6Ô6¥Ñ6Ô6Ð6Ð6Õ6Ô6Ð 6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à×7Ò7ÀdÐ7ÑKÔKˆØŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   c                óº  — |d         }|                      d¬¦  «        }|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      d¬¦  «        }	|	j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr   g     Àr@)Údwell_msr"   r“   r”   r   r‡   r)   r*   rM   r…   r•   )Úaudit_inv_wasd_min_dwellrŠ   r   r—   r7   r8   r9   r:   r;   r<   r=   r>   r‚   r˜   s
             r   Útest_inv_wasd_min_dwellz7TestIndividualInvariantAuditors.test_inv_wasd_min_dwellŽ   sx  € Ø-9¸*Ô-EˆØ×2Ò2¸EÐ2ÑBÔBˆØŒ}Ð6¥Ô 6Ð6ˆ}Ð 6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ}Ð 6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6¥Ñ6Ô6Ð6Õ6Ô6¥Ñ6Ô6Ð6Ð6Õ6Ô6Ð 6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à×4Ò4¸eÐ4ÑDÔDˆØŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   c                ó¾  — |d         }|                      dd¬¦  «        }|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      dd¬¦  «        }	|	j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr   r€   )Ú
current_hpÚmax_hpr"   r“   r”   r   r‡   r)   r*   éd   r…   r•   )Úaudit_inv_ci_01rŠ   r   r—   r7   r8   r9   r:   r;   r<   r=   r>   r‚   r˜   s
             r   Útest_inv_ci_01z.TestIndividualInvariantAuditors.test_inv_ci_01–   s|  € Ø-9¸*Ô-EˆØ×)Ò)°Q¸qÐ)ÑAÔAˆØŒ}Ð6¥Ô 6Ð6ˆ}Ð 6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ}Ð 6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6¥Ñ6Ô6Ð6Õ6Ô6¥Ñ6Ô6Ð6Ð6Õ6Ô6Ð 6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à×+Ò+°sÀ3Ð+ÑGÔGˆØŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   c                óÀ  — |d         }|                      dddd¬¦  «        }|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      d¬¦  «        }	|	j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr   T)Úkeydown_blocked_unfocusedÚkeyup_allowed_unfocusedÚrelease_all_on_unfocusÚtwo_factor_window_checkr"   r“   r”   r   r‡   r)   r*   F)rª   r…   r•   )Ú)audit_inv_focus_interlock_hardware_safetyrŠ   r   r—   r7   r8   r9   r:   r;   r<   r=   r>   r‚   r˜   s
             r   Útest_inv_focus_interlockz8TestIndividualInvariantAuditors.test_inv_focus_interlockž   s•  € Ø-9¸*Ô-EˆØ×CÒCØ&*Ø$(Ø#'Ø$(ð	 Dñ 
ô 
ˆð Œ}Ð6¥Ô 6Ð6ˆ}Ð 6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ}Ð 6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6¥Ñ6Ô6Ð6Õ6Ô6¥Ñ6Ô6Ð6Ð6Õ6Ô6Ð 6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à×EÒEØ$)ð Fñ 
ô 
ˆð ŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   c                óº  — |d         }|                      d¬¦  «        }|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      d¬¦  «        }	|	j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr   T)Úburning_monolith_blockedr"   r“   r”   r   r‡   r)   r*   Fr…   r•   )Úaudit_inv_atlas_farm_noderŠ   r   r—   r7   r8   r9   r:   r;   r<   r=   r>   r‚   r˜   s
             r   Útest_inv_atlas_farm_nodez8TestIndividualInvariantAuditors.test_inv_atlas_farm_node­   sx  € Ø-9¸*Ô-EˆØ×3Ò3ÈTÐ3ÑRÔRˆØŒ}Ð6¥Ô 6Ð6ˆ}Ð 6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ}Ð 6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6¥Ñ6Ô6Ð6Õ6Ô6¥Ñ6Ô6Ð6Ð6Õ6Ô6Ð 6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à×5Ò5ÈuÐ5ÑUÔUˆØŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   c                óº  — |d         }|                      d¬¦  «        }|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      d¬¦  «        }	|	j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }d	d
|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )Nr   r   )Úslot_row_indexr"   r“   r”   r   r‡   r)   r*   é   r…   r•   )Úaudit_inv_waystone_row1_onlyrŠ   r   r—   r7   r8   r9   r:   r;   r<   r=   r>   r‚   r˜   s
             r   Útest_inv_waystone_row1_onlyz;TestIndividualInvariantAuditors.test_inv_waystone_row1_onlyµ   sx  € Ø-9¸*Ô-EˆØ×6Ò6ÀaÐ6ÑHÔHˆØŒ}Ð6¥Ô 6Ð6ˆ}Ð 6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6ˆ}Ð 6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Õ6Ô6ˆvÑ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6¥Ñ6Ô6Ð6Õ6Ô6¥Ñ6Ô6Ð6Ð6Õ6Ô6Ð 6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à×8Ò8ÈÐ8ÑJÔJˆØŒÐ9¥/Ô"9Ð9ˆÐ"9Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9ˆÐ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Õ9Ô9ˆxÑ9Ô9Ð9Ð9Õ9Ô9ˆÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Õ9Ô9¥/Ñ9Ô9Ð9Ð9Õ9Ô9Ð"9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   N)rZ   r[   r\   r]   r™   r�   r¡   r§   r®   r²   r·   r,   r   r   r�   r�   {   sƒ   € € € € € ØlÐlð:ð :ð :ð:ð :ð :ð:ð :ð :ð:ð :ð :ð:ð :ð :ð:ð :ð :ð:ð :ð :ð :ð :r   r�   c                  ó   — e Zd ZdZd„ ZdS )ÚTestIncidentDossierPackaginguL   Kiá»ƒm tra quy trÃ¬nh Ä‘Ã³ng gÃ³i Incident Dossier 6 thÃ nh pháº§n (Rule 6).c                ól  — |d         }|                      dddddddœ¬	¦  «        }t          j        }|j        } ||¦  «        }|sæd
dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}t          j                             |¦  «        }t          j        }|j        }t          j        }|j        }	d}
 |	||
¦  «        } ||¦  «        }|�szddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |	¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}	x}
x}}t          j        }|j        }t          j        }|j        }	d}
 |	||
¦  «        } ||¦  «        }|�szddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |	¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}	x}
x}}t          j        }|j        }t          j        }|j        }	d}
 |	||
¦  «        } ||¦  «        }|�szddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |	¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}	x}
x}}t          j        }|j        }t          j        }|j        }	d}
 |	||
¦  «        } ||¦  «        }|�szddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |	¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}	x}
x}}t          j        }|j        }t          j        }|j        }	d}
 |	||
¦  «        } ||¦  «        }|�szddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |	¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}	x}
x}}t          j        }|j        }t          j        }|j        }	d}
 |	||
¦  «        } ||¦  «        }|�szddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |	¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        dœ
z  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}	x}
x}}|d         }t          j        }|j        } ||¦  «        }|sæd
dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}t          |dd¬¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |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         }t          j        }|j        } ||¦  «        }||k    }|�st          j        d|fd"||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d#œz  }d$d%|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}}d S )&Nr   r   uF   PhÃ¡t hiá»‡n phÃ­m F Ä‘Æ°á»£c gá»­i trong lÃºc tÆ°Æ¡ng tÃ¡c Map Deviceu;   Call graph tá»« MapDeviceHandler::Interact -> SendKey(0x46)u(   INV-KEY-NO-F-FOR-INTERACT bá»‹ vi pháº¡mu@   Chuyá»ƒn toÃ n bá»™ tÆ°Æ¡ng tÃ¡c sang Click LMB cÃ³ chá»§ Ä‘Ã­chu0   KhÃ³a cháº·n báº±ng assertion trong InputManager)Ústep1_traceÚstep2_invariantÚstep3_refactorÚ
step4_lock)Úinvariant_codeÚmessageÚ	rca_noteszbassert %(py7)s
{%(py7)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.path
}.exists
}(%(py5)s)
}r   Údossier_path)r%   r5   r6   rf   rh   zincident_dossier.jsonzÃassert %(py16)s
{%(py16)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.path
}.exists
}(%(py14)s
{%(py14)s = %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s.path
}.join
}(%(py10)s, %(py12)s)
})
}Úincident_dir)
r%   r5   r6   rf   rh   rR   Úpy10Úpy12Úpy14Úpy16zscreenshot.pngzram_snapshot.jsonzcore_log_slice.txtzcompanion_log_slice.txtzRCA_4_STEPS_ANALYSIS.mdr   Úpointer_pathr„   zutf-8)Úencodingr¿   r"   )z%(py1)s == %(py4)s)r&   r6   úassert %(py6)sr(   )zi%(py1)s == %(py10)s
{%(py10)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.path
}.abspath
}(%(py8)s)
})r&   r'   rf   rh   r*   rÄ   zassert %(py12)srÅ   )Úpackage_invariant_incidentr   r   Úexistsr9   r:   r7   r;   r<   r=   r>   Údirnamer   ÚopenÚjsonÚloadr8   Úabspath)r?   r   r   rÂ   rE   rx   Ú@py_assert6rz   rÃ   rU   Ú@py_assert11Ú@py_assert13Ú@py_assert15Ú@py_format17rÈ   ÚfÚpointer_datar{   r@   rG   rC   rB   Ú@py_assert9Ú@py_format11Ú@py_format13s                            r   Ú9test_package_incident_creates_all_6_artifacts_and_pointerzVTestIncidentDossierPackaging.test_package_incident_creates_all_6_artifacts_and_pointerÁ   s  € Ø-9¸*Ô-Eˆà×:Ò:Ø6Ø\à\Ø#MØ"dØPð	ð ð ;ñ 	
ô 	
ˆõ ŒwÐ+ˆwŒ~Ð+ˆ~ˆ~˜lÑ+Ô+Ð+Ð+Ð+Ð+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+�rÑ+Ô+Ð+Õ+Ô+�rÑ+Ô+Ð+Ð+Õ+Ô+ˆwÑ+Ô+Õ+Ô+ˆ~Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+˜lÑ+Ô+Ð+Õ+Ô+˜lÑ+Ô+Ð+Ð+Õ+Ô+Ð+Ñ+Ô+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ý”w—’ |Ñ4Ô4ˆåŒwÐRˆwŒ~ÐR�bœgÐR˜gœlÐRÐ9PÐR˜l˜l¨<Ð9PÑQÔQÐRˆ~ˆ~ÐQÑ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ÔRˆwÑRÔRÕRÔRˆ~ÑRÔRÐRÕRÔRÑRÔRÐRÐRÕRÔR�bÑRÔRÐRÕRÔR�bÑRÔRÐRÐRÕRÔR˜gÑRÔRÕRÔR˜lÑRÔRÐRÕRÔRÑRÔRÐRÐRÕRÔR¨<ÑRÔRÐRÕRÔR¨<ÑRÔRÐRÐRÕRÔRÐ9PÑRÔRÕRÔRÐQÑ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ÐRÐRÐRÐRÐRÐRÐRÝŒwÐKˆwŒ~ÐK�bœgÐK˜gœlÐKÐ9IÐK˜l˜l¨<Ð9IÑJÔJÐKˆ~ˆ~ÐJÑKÔKÐKÐKÑKÐKÐKÕKÔKÑKÔKÐKÐKÕKÔK�rÑKÔKÐKÕKÔK�rÑKÔKÐKÐKÕKÔKˆwÑKÔKÕKÔKˆ~ÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔK�bÑKÔKÐKÕKÔK�bÑKÔKÐKÐKÕKÔK˜gÑKÔKÕKÔK˜lÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔK¨<ÑKÔKÐKÕKÔK¨<ÑKÔKÐKÐKÕKÔKÐ9IÑKÔKÕKÔKÐJÑKÔKÕKÔKÐKÑKÔKÐKÐKÑKÐKÕKÕKÔKÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÝŒwÐNˆwŒ~ÐN�bœgÐN˜gœlÐNÐ9LÐN˜l˜l¨<Ð9LÑMÔMÐNˆ~ˆ~ÐMÑNÔNÐNÐNÑNÐNÐNÕNÔNÑNÔNÐNÐNÕNÔN�rÑNÔNÐNÕNÔN�rÑNÔNÐNÐNÕNÔNˆwÑNÔNÕNÔNˆ~ÑNÔNÐNÕNÔNÑNÔNÐNÐNÕNÔN�bÑNÔNÐNÕNÔN�bÑNÔNÐNÐNÕNÔN˜gÑNÔNÕNÔN˜lÑNÔNÐNÕNÔNÑNÔNÐNÐNÕNÔN¨<ÑNÔNÐNÕNÔN¨<ÑNÔNÐNÐNÕNÔNÐ9LÑNÔNÕNÔNÐMÑNÔNÕNÔNÐNÑNÔNÐNÐNÑNÐNÕNÕNÔNÐNÑNÔNÑNÔNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÝŒwÐOˆwŒ~ÐO�bœgÐO˜gœlÐOÐ9MÐO˜l˜l¨<Ð9MÑNÔNÐOˆ~ˆ~ÐNÑOÔOÐOÐOÑOÐOÐOÕOÔOÑOÔOÐOÐOÕOÔO�rÑOÔOÐOÕOÔO�rÑOÔOÐOÐOÕOÔOˆwÑOÔOÕOÔOˆ~ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔO�bÑOÔOÐOÕOÔO�bÑOÔOÐOÐOÕOÔO˜gÑOÔOÕOÔO˜lÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔO¨<ÑOÔOÐOÕOÔO¨<ÑOÔOÐOÐOÕOÔOÐ9MÑOÔOÕOÔOÐNÑOÔOÕOÔOÐOÑOÔOÐOÐOÑOÐOÕOÕOÔOÐOÑOÔOÑOÔOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÝŒwÐTˆwŒ~ÐT�bœgÐT˜gœlÐTÐ9RÐT˜l˜l¨<Ð9RÑSÔSÐTˆ~ˆ~ÐSÑTÔTÐTÐTÑTÐTÐTÕTÔTÑTÔTÐTÐTÕTÔT�rÑTÔTÐTÕTÔT�rÑTÔTÐTÐTÕTÔTˆwÑTÔTÕTÔTˆ~ÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔT�bÑTÔTÐTÕTÔT�bÑTÔTÐTÐTÕTÔT˜gÑTÔTÕTÔT˜lÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔT¨<ÑTÔTÐTÕTÔT¨<ÑTÔTÐTÐTÕTÔTÐ9RÑ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ÐTÐTÐTÝŒwÐTˆwŒ~ÐT�bœgÐT˜gœlÐTÐ9RÐT˜l˜l¨<Ð9RÑSÔSÐTˆ~ˆ~ÐSÑTÔTÐTÐTÑTÐTÐTÕTÔTÑTÔTÐTÐTÕTÔT�rÑTÔTÐTÕTÔT�rÑTÔTÐTÐTÕTÔTˆwÑTÔTÕTÔTˆ~ÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔT�bÑTÔTÐTÕTÔT�bÑTÔTÐTÐTÕTÔT˜gÑTÔTÕTÔT˜lÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔT¨<ÑTÔTÐTÕTÔT¨<ÑTÔTÐTÐTÕTÔTÐ9RÑ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ÐTÐTÐTà# NÔ3ˆÝŒwÐ+ˆwŒ~Ð+ˆ~ˆ~˜lÑ+Ô+Ð+Ð+Ð+Ð+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+�rÑ+Ô+Ð+Õ+Ô+�rÑ+Ô+Ð+Ð+Õ+Ô+ˆwÑ+Ô+Õ+Ô+ˆ~Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+˜lÑ+Ô+Ð+Õ+Ô+˜lÑ+Ô+Ð+Ð+Õ+Ô+Ð+Ñ+Ô+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ý�, ¨gÐ6Ñ6Ô6ð 	(¸!Ýœ9 Q™<œ<ˆLð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð Ð,Ô-ÐLÐ1LÐLÐ-Ð1LÒLÐLÐLÐLÕLÔLÐLÐLÐLÐLÐ-Ð1LÐLÑLÔLÕLÔLÐ-ÑLÔLÕLÔLÐ1LÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLØ˜NÔ+ÐL­r¬wÐL¨w¬ÐL¨¨¸|Ñ/LÔ/LÐLÐ+Ð/LÒLÐLÐLÑLÕLÔLÐLÐLÐLÐLÐ+Ð/LÐLÑLÔLÕLÔLÐ+ÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔL­rÑLÔLÐLÕLÔL­rÑLÔLÐLÐLÕLÔL¨wÑLÔLÕLÔL¨ÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔL¸|ÑLÔLÐLÕLÔL¸|ÑLÔLÐLÐLÕLÔLÐ/LÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLs   ô3uõuõuN)rZ   r[   r\   r]   rÜ   r,   r   r   r¹   r¹   ¾   s.   € € € € € ØVÐVðMð Mð Mð Mð Mr   r¹   c                  óê   — e Zd ZdZej                             de¦  «        d„ ¦   «         Zej                             de¦  «        d„ ¦   «         Z	ej                             de¦  «        d„ ¦   «         Z
dS )Ú%TestAll19InvariantsMatrixParametrizeduj   Kiá»ƒm thá»­ Ä‘á»‹nh lÆ°á»£ng Ä‘á»™c láº­p tá»«ng báº¥t biáº¿n trong Ma tráº­n 19 Báº¥t biáº¿n (57 tests).Úinv_codec                óÚ  ‡— |d         }|                      ‰di¬¦  «        }ˆfd„|j        D ¦   «         d         }|j        }t          j        }||k    }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        d	t          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        nd	t          j
        |¦  «        d
œz  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚dx}x}}|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	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }
dd|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}}|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	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }
dd|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}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 )uN   [1/3] Kiá»ƒm chá»©ng tuÃ¢n thá»§ há»£p lá»‡: 19/19 báº¥t biáº¿n Ä‘á»�u PASSED.r   Tr~   c                ó*   •— g | ]}|j         ‰k    ¯|‘ŒS r,   r-   ©r0   r„   rß   s     €r   r2   z\TestAll19InvariantsMatrixParametrized.test_invariant_positive_compliance.<locals>.<listcomp>ê   ó%   ø€ ÐFÐFÐF˜A°1´6¸XÒ3EÐ3E�aÐ3EÐ3EÐ3Er   r   r"   r“   Ú
target_resr   r‡   r)   r*   N©ú>)zM%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.evidence
})
} > %(py8)sr$   ©r%   r&   r'   rf   r*   úassert %(py10)srÄ   )zQ%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.metric_value
})
} > %(py8)sr�   ©ú>=)z3%(py2)s
{%(py2)s = %(py0)s.duration_ms
} >= %(py5)sre   rg   rh   )rˆ   r‰   rŠ   r   r—   r7   r8   r9   r:   r;   r<   r=   r>   r‹   r$   Úmetric_valueÚduration_ms)r?   r   rß   r   rd   rä   rE   rA   rx   rC   rD   r@   rB   rV   rÒ   rÚ   ry   rz   s     `               r   Ú"test_invariant_positive_compliancezHTestAll19InvariantsMatrixParametrized.test_invariant_positive_complianceå   sÎ  ø€ ð .:¸*Ô-EˆØ×1Ò1ÀHÈdÐCSÐ1ÑTÔTˆØFÐFÐFÐF ¤ÐFÑFÔFÀqÔIˆ
àÔ Ð:¥OÔ$:Ð:Ð Ð$:Ò:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð Ð$:Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:ˆzÑ:Ô:Ð:Õ:Ô:ˆzÑ:Ô:Ð:Ð:Õ:Ô:Ð Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:¥OÑ:Ô:Ð:Õ:Ô:¥OÑ:Ô:Ð:Ð:Õ:Ô:Ð$:Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:ØÔ&Ð+�sÐ&Ñ'Ô'Ð+¨!Ð+Ð'¨!Ò+Ð+Ð+Ñ+Õ+Ô+Ð+Ð+Ð+Ð+Ð'¨!Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+�sÑ+Ô+Ð+Õ+Ô+�sÑ+Ô+Ð+Ð+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+�:Ñ+Ô+Ð+Õ+Ô+�:Ñ+Ô+Ð+Ð+Õ+Ô+Ð&Ñ+Ô+Õ+Ô+Ð'Ñ+Ô+Õ+Ô+¨!Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ØÔ*Ð/�sÐ*Ñ+Ô+Ð/¨aÐ/Ð+¨aÒ/Ð/Ð/Ñ/Õ/Ô/Ð/Ð/Ð/Ð/Ð+¨aÐ/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/�sÑ/Ô/Ð/Õ/Ô/�sÑ/Ô/Ð/Ð/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/�:Ñ/Ô/Ð/Õ/Ô/�:Ñ/Ô/Ð/Ð/Õ/Ô/Ð*Ñ/Ô/Õ/Ô/Ð+Ñ/Ô/Õ/Ô/¨aÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ØÔ%Ð,¨Ð,Ð%¨Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð%¨Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,ˆzÑ,Ô,Ð,Õ,Ô,ˆzÑ,Ô,Ð,Ð,Õ,Ô,Ð%Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,r   c                ó"  ‡— |d         }|                      ‰di¬¦  «        }ˆfd„|j        D ¦   «         d         }|j        }t          j        }||k    }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        d	t          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        nd	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}}|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}}|j        }d}||u }|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 )uc   [2/3] Kiá»ƒm chá»©ng Fail-Closed: Báº¥t ká»³ báº¥t biáº¿n nÃ o vi pháº¡m Ä‘á»�u khiáº¿n ARS = 0.0%.r   Fr~   c                ó*   •— g | ]}|j         ‰k    ¯|‘ŒS r,   r-   râ   s     €r   r2   z^TestAll19InvariantsMatrixParametrized.test_invariant_fail_closed_detection.<locals>.<listcomp>ö   rã   r   r   r"   r…   rä   r   r‡   r)   r*   Nr€   ré   )z5%(py2)s
{%(py2)s = %(py0)s.blocked_count
} >= %(py5)srd   re   rg   rh   r�   rj   ra   rc   )rˆ   r‰   rŠ   r   r‚   r7   r8   r9   r:   r;   r<   r=   r>   rt   ru   rp   )r?   r   rß   r   rd   rä   rE   rA   rx   rC   rD   rB   ry   rz   s     `           r   Ú$test_invariant_fail_closed_detectionzJTestAll19InvariantsMatrixParametrized.test_invariant_fail_closed_detectionñ   s  ø€ ð .:¸*Ô-EˆØ×1Ò1ÀHÈeÐCTÐ1ÑUÔUˆØFÐFÐFÐF ¤ÐFÑFÔFÀqÔIˆ
àÔ Ð;¥OÔ$;Ð;Ð Ð$;Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð Ð$;Ð;Ñ;Ô;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;ˆzÑ;Ô;Ð;Õ;Ô;ˆzÑ;Ô;Ð;Ð;Õ;Ô;Ð Ñ;Ô;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;¥OÑ;Ô;Ð;Õ;Ô;¥OÑ;Ô;Ð;Ð;Õ;Ô;Ð$;Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ØÔ#Ð( qÐ(Ð# qÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð# qÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Õ(Ô(ˆvÑ(Ô(Ð(Ð(Õ(Ô(Ð#Ñ(Ô(Õ(Ô( qÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÔ.Ð5°#Ð5Ð.°#Ò5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð.°#Ð5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5ˆvÑ5Ô5Ð5Õ5Ô5ˆvÑ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Ð5Ð5Ð5Ð5Ð5ØÔ/Ð8°5Ð8Ð/°5Ð8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8Ð/°5Ð8Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8ˆvÑ8Ô8Ð8Õ8Ô8ˆvÑ8Ô8Ð8Ð8Õ8Ô8Ð/Ñ8Ô8Õ8Ô8°5Ñ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8r   c                ó  ‡— ˆfd„t           D ¦   «         d         }|j        }|‰k    }|sÕt          j        d|fd|‰f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd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}}|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        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}x}
}	|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        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}x}x}
}	|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        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d
x}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}}|j        }d}||u }|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 )uh   [3/3] Tháº©m Ä‘á»‹nh tÃ­nh toÃ n váº¹n Ä‘áº·c táº£ SSoT cá»§a tá»«ng báº¥t biáº¿n trong 19 báº¥t biáº¿n.c                ó*   •— g | ]}|j         ‰k    ¯|‘ŒS r,   r-   )r0   r1   rß   s     €r   r2   zbTestAll19InvariantsMatrixParametrized.test_invariant_spec_properties_and_audit.<locals>.<listcomp>   s%   ø€ ÐLÐLÐL�a¸¼À8Ò9KÐ9K�Ð9KÐ9KÐ9Kr   r   r"   )z,%(py2)s
{%(py2)s = %(py0)s.code
} == %(py4)sÚspecrß   )r%   r5   r6   rÊ   r(   Nrå   )zI%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.name
})
} > %(py8)sr$   rç   rè   rÄ   )zU%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.monitored_module
})
} > %(py8)s)zQ%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.rule_summary
})
} > %(py8)sr�   )z-%(py2)s
{%(py2)s = %(py0)s.weight
} > %(py5)sre   rg   rh   Tra   )z3%(py2)s
{%(py2)s = %(py0)s.is_critical
} is %(py5)s)r   r.   r7   r8   r9   r:   r;   r<   r=   r>   Únamer$   Úmonitored_moduleÚrule_summaryrK   Úis_critical)r?   rß   ró   rE   rx   rG   rC   r@   rB   rV   rÒ   rD   rÚ   ry   rz   s    `             r   Ú(test_invariant_spec_properties_and_auditzNTestAll19InvariantsMatrixParametrized.test_invariant_spec_properties_and_auditý   s™  ø€ ð MÐLÐLÐLÕ5ÐLÑLÔLÈQÔOˆØŒyÐ$ˆy˜HÒ$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆy˜HÐ$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆtÑ$Ô$Ð$Õ$Ô$ˆtÑ$Ô$Ð$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$˜HÑ$Ô$Ð$Õ$Ô$˜HÑ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ø”9Ð!�s�9‰~Œ~Ð! Ð!ˆ~ Ò!Ð!Ð!Ñ!Õ!Ô!Ð!Ð!Ð!Ð!ˆ~ Ð!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!�sÑ!Ô!Ð!Õ!Ô!�sÑ!Ô!Ð!Ð!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!�4Ñ!Ô!Ð!Õ!Ô!�4Ñ!Ô!Ð!Ð!Õ!Ô!�9Ñ!Ô!Õ!Ô!ˆ~Ñ!Ô!Õ!Ô! Ñ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ØÔ(Ð-�sÐ(Ñ)Ô)Ð-¨AÐ-Ð)¨AÒ-Ð-Ð-Ñ-Õ-Ô-Ð-Ð-Ð-Ð-Ð)¨AÐ-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�sÑ-Ô-Ð-Õ-Ô-�sÑ-Ô-Ð-Ð-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�4Ñ-Ô-Ð-Õ-Ô-�4Ñ-Ô-Ð-Ð-Õ-Ô-Ð(Ñ-Ô-Õ-Ô-Ð)Ñ-Ô-Õ-Ô-¨AÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ØÔ$Ð)�sÐ$Ñ%Ô%Ð)¨Ð)Ð%¨Ò)Ð)Ð)Ñ)Õ)Ô)Ð)Ð)Ð)Ð)Ð%¨Ð)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�sÑ)Ô)Ð)Õ)Ô)�sÑ)Ô)Ð)Ð)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�4Ñ)Ô)Ð)Õ)Ô)�4Ñ)Ô)Ð)Ð)Õ)Ô)Ð$Ñ)Ô)Õ)Ô)Ð%Ñ)Ô)Õ)Ô)¨Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØŒ{Ð ˜SÐ ˆ{˜SÒ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ{˜SÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆtÑ Ô Ð Õ Ô ˆtÑ Ô Ð Ð Õ Ô ˆ{Ñ Ô Õ Ô ˜SÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ØÔÐ' 4Ð'Ð 4Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð 4Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Ð'Õ'Ô'ÐÑ'Ô'Õ'Ô' 4Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r   N)rZ   r[   r\   r]   ÚpytestÚmarkÚparametrizeÚALL_19_INVARIANT_CODESrí   rð   rø   r,   r   r   rÞ   rÞ   â   s¨   € € € € € ØtÐtà„[×Ò˜ZÐ)?Ñ@Ô@ð	-ð 	-ñ AÔ@ð	-ð „[×Ò˜ZÐ)?Ñ@Ô@ð	9ð 	9ñ AÔ@ð	9ð „[×Ò˜ZÐ)?Ñ@Ô@ð(ð (ñ AÔ@ð(ð (ð (r   rÞ   )r]   Ú
__future__r   Úbuiltinsr9   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter7   rÏ   r   r   r   rù   Ú-src.agentic_engine.master_invariants_sentinelr   r   r   r   r4   rü   Úfixturer   r   r_   r�   r¹   rÞ   r,   r   r   ú<module>r     sÂ  ðð	ð 	ð #Ð "Ð "Ð "Ð "Ð "à  € € € € € € € € € € € € €€€€Ø 	€	€	€	Ø €€€Ø €€€Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ðð ð Ð ð, 0Ð ð „ð0ð 0ñ „ð0ð**ð *ð *ð *ð *ñ *ô *ð *ð2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ðD@:ð @:ð @:ð @:ð @:ñ @:ô @:ð @:ðF!Mð !Mð !Mð !Mð !Mñ !Mô !Mð !MðH$(ð $(ð $(ð $(ð $(ñ $(ô $(ð $(ð $(ð $(r   