§
    ±uÈj¼  ã                   ó  — d Z ddlZddlmc mZ ddlZddlm	Z	 ddl
Z
 e	e¦  «                             ¦   «         j        j        Zej                             d eedz  ¦  «        ¦  «         ddlZ G d„ d¦  «        Z G d„ d¦  «        ZdS )	aR  
Deep Adversarial Verification Probe by Challenger 2
Empirically tests:
1. Scene 10, Scene 06, Scene 05 shot resolutions under live data
2. Adversarial metadata injection with corrupted character_asset_ref across all characters
3. Anchor-title conflict resolution
4. Extreme edge cases: None, empty dict, missing files, corrupted strings
é    N)ÚPathÚ05_Production_Pipelinec                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )Ú TestDeepEmpiricalLiveSceneProbeszJEmpirical verification of live scenes requested in challenge instructions.c                 ó&  — t          t          j        d¦  «        ¦  «        }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	        |¦  «        dœz  }t	          j
        d¦  «        d	z   d
|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}dD �]à}||         }t          j        ||¦  «        \  }	}
d}|	|u}|s¯t	          j        d|fd|	|f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dœz  }t	          j
        |› d�¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}d}t          |	¦  «        }|j        }|j        } |¦   «         }||v }|�sEt	          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        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d|	› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}d}t          |	¦  «        }|j        }|j        } |¦   «         }||v}|�sEt	          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        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d|	› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}�Œâd D �]à}||         }t          j        ||¦  «        \  }	}
d}|	|u}|s¯t	          j        d|fd|	|f¦  «        dt          j        ¦   «         v st	          j        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        dœz  }t	          j
        |› d�¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}d}t          |	¦  «        }|j        }|j        } |¦   «         }||v }|�sEt	          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        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d!|	› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}d}t          |	¦  «        }|j        }|j        } |¦   «         }||v}|�sEt	          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        |	¦  «        rt	          j	        |	¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d"|	› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}�ŒâdS )#u¥   
        Confirm ep01_scene10_shot11 & shot12 strictly resolve to ThÃºy Kiá»�u.
        Confirm ep01_scene10_shot04, 05, 13 strictly resolve to Kim Trá»�ng.
        Úep01_scene10r   ©ú>©z/%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} > %(py6)sÚlenÚshots©Úpy0Úpy1Úpy3Úpy6zScene 10 has no shots!ú
>assert %(py8)sÚpy8N)Úep01_scene10_shot11Úep01_scene10_shot12©úis not©z%(py0)s is not %(py3)sÚresolved©r   r   ú resolved to Noneú
>assert %(py5)sÚpy5Ú	thuy_kieu©Úin©z€%(py1)s in %(py12)s
{%(py12)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py3)s(%(py4)s)
}.name
}.lower
}()
}r   ©r   r   Úpy4r   r   Úpy10Úpy12u"    did not resolve to ThÃºy Kiá»�u: ú
>assert %(py14)sÚpy14Ú	kim_trong©únot in©z„%(py1)s not in %(py12)s
{%(py12)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py3)s(%(py4)s)
}.name
}.lower
}()
}u    leaked Kim Trá»�ng: )Úep01_scene10_shot04Úep01_scene10_shot05Úep01_scene10_shot13õ!    did not resolve to Kim Trá»�ng: õ    leaked ThÃºy Kiá»�u: ©ÚdictÚpoÚget_shots_for_scener   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚ_format_assertmsgÚAssertionErrorÚ_format_explanationÚresolve_start_frame_v2r   ÚnameÚlower)Úselfr   Ú@py_assert2Ú@py_assert5Ú@py_assert4Ú@py_format7Ú@py_format9ÚsidÚsdatar   ÚtakeÚ@py_assert1Ú@py_format4Ú@py_format6Ú@py_assert0Ú@py_assert7Ú@py_assert9Ú@py_assert11Ú@py_format13Ú@py_format15s                       ú:C:\Projects\KieuStory\tests\test_adversarial_deep_probe.pyÚtest_scene10_explicit_shotsz<TestDeepEmpiricalLiveSceneProbes.test_scene10_explicit_shots   sè	  € õ
 •RÔ+¨NÑ;Ô;Ñ<Ô<ˆÝ�5‰zŒzÐ7˜AÐ7ˆz˜AŠ~Ð7Ð7Ñ7Õ7Ô7Ð7Ð7Ð7Ð7ˆz˜AÐ7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�sÑ7Ô7Ð7Õ7Ô7�sÑ7Ô7Ð7Ð7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�5Ñ7Ô7Ð7Õ7Ô7�5Ñ7Ô7Ð7Ð7Õ7Ô7ˆzÑ7Ô7Õ7Ô7˜AÑ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ð Bð 	kñ 	kˆCØ˜#”JˆEÝÔ6°s¸EÑBÔB‰NˆH�dØ#'ÐB�8 4Ð'ÐBÐBÐBÕBÔBÐBÐBÐBÐB�8 4ÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB�8ÑBÔBÐBÕBÔB�8ÑBÔBÐBÐBÕBÔB 4ÑBÔBÐBÐBÑBÐBÕBÔB¨CÐ)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ØÐs¥$ x¡.¤.Ðs .Ô"5ÐsÐ"5Ô";Ð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 xÑsÔsÐsÕsÔs xÑsÔsÐsÐsÕsÔs .ÑsÔsÕsÔsÐ"5ÑsÔsÕsÔsÐ";ÑsÔsÕsÔsÐ"=ÑsÔsÐsÐsÑsÐsÕsÔsÀ#Ð?sÐ?sÐiqÐ?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ØÐj¥d¨8¡n¤nÐj nÔ&9ÐjÐ&9Ô&?ÐjÐ&?Ð&?Ñ&AÔ&AÐj�;Ð&AÐAÐjÐjÑjÕjÔjÐjÐjÐjÐj�;Ð&AÐjÑjÔjÕjÔj�;ÑjÔjÐjÕjÔjÑjÔjÐjÐjÕjÔj¥dÑjÔjÐjÕjÔj¥dÑjÔjÐjÐjÐjÕjÔjÑjÔjÐjÐjÕjÔj¨8ÑjÔjÐjÕjÔj¨8ÑjÔjÐjÐjÕjÔj nÑjÔjÕjÔjÐ&9ÑjÔjÕjÔjÐ&?ÑjÔjÕjÔjÐ&AÑjÔjÐjÐjÑjÐjÕjÔjÀcÐCjÐCjÐ`hÐCjÐCjÑ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ð Yð 	lñ 	lˆCØ˜#”JˆEÝÔ6°s¸EÑBÔB‰NˆH�dØ#'ÐB�8 4Ð'ÐBÐBÐBÕBÔBÐBÐBÐBÐB�8 4ÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB�8ÑBÔBÐBÕBÔB�8ÑBÔBÐBÐBÕBÔB 4ÑBÔBÐBÐBÑBÐBÕBÔB¨CÐ)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ØÐr¥$ x¡.¤.Ðr .Ô"5ÐrÐ"5Ô";Ð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ÐrÐrÐrÕrÔrÑrÔrÐrÐrÕrÔr xÑrÔrÐrÕrÔr xÑrÔrÐrÐrÕrÔr .ÑrÔrÕrÔrÐ"5ÑrÔrÕrÔrÐ";ÑrÔrÕrÔrÐ"=ÑrÔrÐrÐrÑrÐrÕrÔrÀ#Ð?rÐ?rÐhpÐ?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ØÐk¥d¨8¡n¤nÐk nÔ&9ÐkÐ&9Ô&?ÐkÐ&?Ð&?Ñ&AÔ&AÐk�;Ð&AÐAÐkÐkÑkÕkÔkÐkÐkÐkÐk�;Ð&AÐkÑkÔkÕkÔk�;ÑkÔkÐkÕkÔkÑkÔkÐkÐkÕkÔk¥dÑkÔkÐkÕkÔk¥dÑkÔkÐkÐkÐkÕkÔkÑkÔkÐkÐkÕkÔk¨8ÑkÔkÐkÕkÔk¨8ÑkÔkÐkÐkÕkÔk nÑkÔkÕkÔkÐ&9ÑkÔkÕkÔkÐ&?ÑkÔkÕkÔkÐ&AÑkÔkÐkÐkÑkÐkÕkÔkÀcÐCkÐCkÐaiÐCkÐCkÑ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ð	lð 	ló    c                 óf
  — t          t          j        d¦  «        ¦  «        }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	        |¦  «        dœz  }t	          j
        d¦  «        d	z   d
|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}g d¢}|D �]à}||         }	t          j        ||	¦  «        \  }
}d}|
|u}|s¯t	          j        d|fd|
|f¦  «        dt          j        ¦   «         v st	          j        |
¦  «        rt	          j	        |
¦  «        ndt	          j	        |¦  «        dœz  }t	          j
        |› d�¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}d}t          |
¦  «        }|j        }|j        } |¦   «         }||v }|�sEt	          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        |
¦  «        rt	          j	        |
¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d|
› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}d}t          |
¦  «        }|j        }|j        } |¦   «         }||v}|�sEt	          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        |
¦  «        rt	          j	        |
¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d|
› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}�ŒâdS ) ub   
        Confirm ep01_scene06_shot03, 04, 06, 10, 12, 14 strictly resolve to Kim Trá»�ng.
        Úep01_scene06r   r	   r   r   r   r   zScene 06 has no shots!r   r   N)Úep01_scene06_shot03Úep01_scene06_shot04Úep01_scene06_shot06Úep01_scene06_shot10Úep01_scene06_shot12Úep01_scene06_shot14r   r   r   r   r   r   r   r)   r    r"   r   r#   r0   r'   r(   r   r*   r,   r1   r2   ©rB   r   rC   rD   rE   rF   rG   Útarget_shotsrH   rI   r   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   s                        rT   Útest_scene06_explicit_shotsz<TestDeepEmpiricalLiveSceneProbes.test_scene06_explicit_shots/   s®  € õ •RÔ+¨NÑ;Ô;Ñ<Ô<ˆÝ�5‰zŒzÐ7˜AÐ7ˆz˜AŠ~Ð7Ð7Ñ7Õ7Ô7Ð7Ð7Ð7Ð7ˆz˜AÐ7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�sÑ7Ô7Ð7Õ7Ô7�sÑ7Ô7Ð7Ð7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�5Ñ7Ô7Ð7Õ7Ô7�5Ñ7Ô7Ð7Ð7Õ7Ô7ˆzÑ7Ô7Õ7Ô7˜AÑ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ð
ð 
ð 
ˆð  ð 	lñ 	lˆCØ˜#”JˆEÝÔ6°s¸EÑBÔB‰NˆH�dØ#'ÐB�8 4Ð'ÐBÐBÐBÕBÔBÐBÐBÐBÐB�8 4ÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB�8ÑBÔBÐBÕBÔB�8ÑBÔBÐBÐBÕBÔB 4ÑBÔBÐBÐBÑBÐBÕBÔB¨CÐ)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ØÐr¥$ x¡.¤.Ðr .Ô"5ÐrÐ"5Ô";Ð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ÐrÐrÐrÕrÔrÑrÔrÐrÐrÕrÔr xÑrÔrÐrÕrÔr xÑrÔrÐrÐrÕrÔr .ÑrÔrÕrÔrÐ"5ÑrÔrÕrÔrÐ";ÑrÔrÕrÔrÐ"=ÑrÔrÐrÐrÑrÐrÕrÔrÀ#Ð?rÐ?rÐhpÐ?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ØÐk¥d¨8¡n¤nÐk nÔ&9ÐkÐ&9Ô&?ÐkÐ&?Ð&?Ñ&AÔ&AÐk�;Ð&AÐAÐkÐkÑkÕkÔkÐkÐkÐkÐk�;Ð&AÐkÑkÔkÕkÔk�;ÑkÔkÐkÕkÔkÑkÔkÐkÐkÕkÔk¥dÑkÔkÐkÕkÔk¥dÑkÔkÐkÐkÐkÕkÔkÑkÔkÐkÐkÕkÔk¨8ÑkÔkÐkÕkÔk¨8ÑkÔkÐkÐkÕkÔk nÑkÔkÕkÔkÐ&9ÑkÔkÕkÔkÐ&?ÑkÔkÕkÔkÐ&AÑkÔkÐkÐkÑkÐkÕkÔkÀcÐCkÐCkÐaiÐCkÐCkÑ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ð	lð 	lrV   c                 óf
  — t          t          j        d¦  «        ¦  «        }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	        |¦  «        dœz  }t	          j
        d¦  «        d	z   d
|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}g d¢}|D �]à}||         }	t          j        ||	¦  «        \  }
}d}|
|u}|s¯t	          j        d|fd|
|f¦  «        dt          j        ¦   «         v st	          j        |
¦  «        rt	          j	        |
¦  «        ndt	          j	        |¦  «        dœz  }t	          j
        |› d�¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}d}t          |
¦  «        }|j        }|j        } |¦   «         }||v }|�sEt	          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        |
¦  «        rt	          j	        |
¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d|
› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}d}t          |
¦  «        }|j        }|j        } |¦   «         }||v}|�sEt	          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        |
¦  «        rt	          j	        |
¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }t	          j
        |› d|
› �¦  «        dz   d|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}�ŒâdS ) uW   
        Confirm ep01_scene05_shot13, 16, 24 strictly resolve to VÆ°Æ¡ng Quan.
        Úep01_scene05r   r	   r   r   r   r   zScene 05 has no shots!r   r   N)Úep01_scene05_shot13Úep01_scene05_shot16Úep01_scene05_shot24r   r   r   r   r   r   r   Ú
vuong_quanr    r"   r   r#   u"    did not resolve to VÆ°Æ¡ng Quan: r'   r(   r   r*   r,   r1   r2   r_   s                        rT   Útest_scene05_explicit_shotsz<TestDeepEmpiricalLiveSceneProbes.test_scene05_explicit_shotsA   s¦  € õ •RÔ+¨NÑ;Ô;Ñ<Ô<ˆÝ�5‰zŒzÐ7˜AÐ7ˆz˜AŠ~Ð7Ð7Ñ7Õ7Ô7Ð7Ð7Ð7Ð7ˆz˜AÐ7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�sÑ7Ô7Ð7Õ7Ô7�sÑ7Ô7Ð7Ð7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�5Ñ7Ô7Ð7Õ7Ô7�5Ñ7Ô7Ð7Ð7Õ7Ô7ˆzÑ7Ô7Õ7Ô7˜AÑ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à\Ð\Ð\ˆØð 	lñ 	lˆCØ˜#”JˆEÝÔ6°s¸EÑBÔB‰NˆH�dØ#'ÐB�8 4Ð'ÐBÐBÐBÕBÔBÐBÐBÐBÐB�8 4ÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB�8ÑBÔBÐBÕBÔB�8ÑBÔBÐBÐBÕBÔB 4ÑBÔBÐBÐBÑBÐBÕBÔB¨CÐ)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ØÐt¥4¨¡>¤>Ðt >Ô#6ÐtÐ#6Ô#<Ð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¥4ÑtÔtÐtÕtÔt¥4Ñ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Ð#6ÑtÔtÕtÔtÐ#<ÑtÔtÕtÔtÐ#>ÑtÔtÐtÐtÑtÐtÕtÔtÀ3Ð@tÐ@tÐjrÐ@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ØÐk¥d¨8¡n¤nÐk nÔ&9ÐkÐ&9Ô&?ÐkÐ&?Ð&?Ñ&AÔ&AÐk�;Ð&AÐAÐkÐkÑkÕkÔkÐkÐkÐkÐk�;Ð&AÐkÑkÔkÕkÔk�;ÑkÔkÐkÕkÔkÑkÔkÐkÐkÕkÔk¥dÑkÔkÐkÕkÔk¥dÑkÔkÐkÐkÐkÕkÔkÑkÔkÐkÐkÕkÔk¨8ÑkÔkÐkÕkÔk¨8ÑkÔkÐkÐkÕkÔk nÑkÔkÕkÔkÐ&9ÑkÔkÕkÔkÐ&?ÑkÔkÕkÔkÐ&AÑkÔkÐkÐkÑkÐkÕkÔkÀcÐCkÐCkÐaiÐCkÐCkÑ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ð	lð 	lrV   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rU   ra   rh   © rV   rT   r   r      sR   € € € € € ØTÐTðlð lð lð0lð lð lð$lð lð lð lð lrV   r   c                   ó°   — e Zd ZdZej                             dg d¢¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Z	d	S )
Ú TestAdversarialMetadataInjectionzRStress testing: Inject corrupted character_asset_ref opposite to character anchor.z5anchor,corrupted_ref,expected_target,forbidden_target))r)   úH04_Assets/characters/01_Main_Protagonists/thuy_kieu_maiden_16yo_720p.pngr)   r   )Úthuy_kieu_maidenzA04_Assets/characters/01_Main_Protagonists/kim_trong_18yo_720p.pngr   r)   )rg   rp   rg   r   )Ú	vuong_ongrp   rr   r   )Úthuy_vanrp   rs   r   c           
      ó>  — d}||d|› d�dœ}t          j        ||¦  «        \  }}d }	||	u}
|
s—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          t          j	        |¦  «        ¦  «        ‚d x}
}	t          |¦  «        }|j        }|j        } |¦   «         }||v}
|
�stt          j        d|
fd||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t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }t          j        d|› d|› d|› �¦  «        dz   d|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}
x}x}x}}t          |¦  «        }|j        }|j        } |¦   «         }||v }
|
�sqt          j        d|
fd||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t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }t          j        d|› d|› �¦  «        dz   d|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}
x}x}x}}d S )NÚep01_scene99_shot01zTest z scene©Úcharacter_anchorÚcharacter_asset_refÚscene_titler   r   r   r   úassert %(py5)sr   r*   )z‚%(py0)s not in %(py11)s
{%(py11)s = %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}.name
}.lower
}()
}Úforbidden_targetr   ©r   Úpy2r   r   Úpy7Úpy9Úpy11zAdversarial leak! Anchor=z with corrupted ref=z
 returned z
>assert %(py13)sÚpy13r    ©z~%(py0)s in %(py11)s
{%(py11)s = %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py2)s(%(py3)s)
}.name
}.lower
}()
}Úexpected_targetz%Bilateral safeguard failed! Expected z, got )r4   r?   r6   r7   r8   r9   r:   r;   r=   r>   r   r@   rA   r<   )rB   ÚanchorÚcorrupted_refrƒ   r{   Úshot_idÚ	shot_datar   rJ   rC   rK   rL   rM   rE   Ú@py_assert6Ú@py_assert8Ú@py_assert10Ú@py_format12Ú@py_format14s                      rT   Ú%test_corrupted_ref_opposite_to_anchorzFTestAdversarialMetadataInjection.test_corrupted_ref_opposite_to_anchorT   sj  € ð (ˆà &Ø#0Ø1 6Ð1Ð1Ð1ð
ð 
ˆ	õ
 Ô2°7¸IÑFÔF‰ˆ�$Ø#Ð#ˆx˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆx˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ý'+¨H¡~¤~ð 	
 ~Ô':ð 	
Ð':Ô'@ð 	
Ð'@Ð'@Ñ'BÔ'Bð 	
ÐÐ'BÐBð 	
ð 	
ñ 	
õ 	
ìð	
ð 	
ð 	
ð 	
ÐÐ'Bð 	
ñ 	
ô 	
ð 	
õ 	
ä	ñ	
ô 	
ð 	
ð 	
õ 	
ìð  ñ 	
ô 	
ð 	
õ 	
ä 	ð  ñ 	
ô 	
ð 	
ð 	
ð 	
õ 	
ä	ñ	
ô 	
ð 	
ð 	
õ 	
ìõ (,ñ 	
ô 	
ð 	
õ 	
ä 	õ (,ñ 	
ô 	
ð 	
ð 	
ð 	
õ 	
ä	ñ	
ô 	
ð 	
ð 	
õ 	
ìð -5ñ 	
ô 	
ð 	
õ 	
ä 	ð -5ñ 	
ô 	
ð 	
ð 	
õ 	
ä 	ð (6ñ 	
ô 	
õ 	
ä 	ð (;ñ 	
ô 	
õ 	
ä 	ð (Añ 	
ô 	
õ 	
ä 	ð (Cñ 	
ô 	
ð 	
ð 	
ñ 	
ð 	
õ 	
ìð h¨ÐgÐgÀMÐgÐgÐ]eÐgÐgñ	
ô 	
ð 	
ñ 	
ð 	
ð 	
ð 	
ñ 	
ð 	
õ 	
õ 	
ìð	
ñ 	
ô 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
õ #' x¡.¤.ð 	
 .Ô"5ð 	
Ð"5Ô";ð 	
Ð";Ð";Ñ"=Ô"=ð 	
ˆÐ"=Ð=ð 	
ð 	
ñ 	
õ 	
ìð	
ð 	
ð 	
ð 	
ˆÐ"=ð 	
ñ 	
ô 	
ð 	
õ 	
ä	ñ	
ô 	
ð 	
ð 	
õ 	
ìð ñ 	
ô 	
ð 	
õ 	
ä 	ð ñ 	
ô 	
ð 	
ð 	
ð 	
õ 	
ä	ñ	
ô 	
ð 	
ð 	
õ 	
ìõ #'ñ 	
ô 	
ð 	
õ 	
ä 	õ #'ñ 	
ô 	
ð 	
ð 	
ð 	
õ 	
ä	ñ	
ô 	
ð 	
ð 	
õ 	
ìð (0ñ 	
ô 	
ð 	
õ 	
ä 	ð (0ñ 	
ô 	
ð 	
ð 	
õ 	
ä 	ð #1ñ 	
ô 	
õ 	
ä 	ð #6ñ 	
ô 	
õ 	
ä 	ð #<ñ 	
ô 	
õ 	
ä 	ð #>ñ 	
ô 	
ð 	
ð 	
ñ 	
ð 	
õ 	
ìð V°OÐUÐUÈ8ÐUÐUñ	
ô 	
ð 	
ñ 	
ð 	
ð 	
ð 	
ñ 	
ð 	
õ 	
õ 	
ìð	
ñ 	
ô 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
rV   z"anchor,garbage_ref,expected_target))r)   z'non_existent_directory/garbage_file.pngr)   )rq   zinvalid_path/dummy.jpgr   )rg   zfoo/bar/baz.pngrg   )rr   znot_real.pngrr   c           
      ó¦  — d}||dœ}t          j        ||¦  «        \  }}d }||u}	|	s—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          t          j	        |¦  «        ¦  «        ‚d x}	}t          |¦  «        }|j        }|j        } |¦   «         }||v }	|	�sVt          j        d	|	fd
||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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          t          j	        |¦  «        ¦  «        ‚d x}	x}x}x}}d S )Nru   )rw   rx   r   r   r   r   rz   r   r    r‚   rƒ   r   r|   zassert %(py13)sr�   ©r4   r?   r6   r7   r8   r9   r:   r;   r=   r>   r   r@   rA   )rB   r„   Úgarbage_refrƒ   r†   r‡   r   rJ   rC   rK   rL   rM   rE   rˆ   r‰   rŠ   r‹   rŒ   s                     rT   Ú<test_nonexistent_corrupted_ref_falls_back_to_anchor_portraitz]TestAdversarialMetadataInjection.test_nonexistent_corrupted_ref_falls_back_to_anchor_portraitk   s˜  € ð (ˆà &Ø#.ð
ð 
ˆ	õ Ô2°7¸IÑFÔF‰ˆ�$Ø#Ð#ˆx˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆx˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ý"& x¡.¤.Ð= .Ô"5Ð=Ð"5Ô";Ð=Ð";Ð";Ñ"=Ô"=Ð=ˆÐ"=Ð=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=ˆÐ"=Ð=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=ˆÑ=Ô=Ð=Õ=Ô=ˆÑ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=¥$Ñ=Ô=Ð=Õ=Ô=¥$Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô= xÑ=Ô=Ð=Õ=Ô= xÑ=Ô=Ð=Ð=Õ=Ô= .Ñ=Ô=Õ=Ô=Ð"5Ñ=Ô=Õ=Ô=Ð";Ñ=Ô=Õ=Ô=Ð"=Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=rV   c           
      óÞ  — t          j        di ¦  «        \  }}d}||u}|s—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          t          j	        |¦  «        ¦  «        ‚dx}}d	}t          |¦  «        }|j        }	|	j        }
 |
¦   «         }||v }|�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        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}	x}
}t          j        dd¦  «        \  }}d}||u}|s—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          t          j	        |¦  «        ¦  «        ‚dx}}d	}t          |¦  «        }|j        }	|	j        }
 |
¦   «         }||v }|�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        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}	x}
}ddddœ}t          j        d|¦  «        \  }}d}||u}|s—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          t          j	        |¦  «        ¦  «        ‚dx}}d	}t          |¦  «        }|j        }	|	j        }
 |
¦   «         }||v }|�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        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}	x}
}dS )z>Testing with empty dict, None, and shot_data with None values.r-   Nr   r   r   r   rz   r   r)   r    r"   r   r#   zassert %(py14)sr(   u   Kim Trá»�ng há»™i ngá»™rv   r�   )rB   r   rJ   rC   rK   rL   rM   rN   rD   rO   rP   rQ   rR   rS   Ú	malformeds                  rT   Ú(test_empty_and_none_shot_data_robustnesszITestAdversarialMetadataInjection.test_empty_and_none_shot_data_robustness{   s  € õ Ô2Ð3HÈ"ÑMÔM‰ˆ�$Ø#Ð#ˆx˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆx˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#ØÐ9�d 8™nœnÐ9˜nÔ1Ð9Ð1Ô7Ð9Ð7Ð7Ñ9Ô9Ð9ˆ{Ð9Ð9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ˆ{Ð9Ð9Ñ9Ô9Õ9Ô9ˆ{Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�dÑ9Ô9Ð9Õ9Ô9�dÑ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9 8Ñ9Ô9Ð9Õ9Ô9 8Ñ9Ô9Ð9Ð9Õ9Ô9˜nÑ9Ô9Õ9Ô9Ð1Ñ9Ô9Õ9Ô9Ð7Ñ9Ô9Õ9Ô9Ð9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9õ Ô2Ð3HÈ$ÑOÔO‰ˆ�$Ø#Ð#ˆx˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆx˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#ØÐ9�d 8™nœnÐ9˜nÔ1Ð9Ð1Ô7Ð9Ð7Ð7Ñ9Ô9Ð9ˆ{Ð9Ð9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ˆ{Ð9Ð9Ñ9Ô9Õ9Ô9ˆ{Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�dÑ9Ô9Ð9Õ9Ô9�dÑ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9 8Ñ9Ô9Ð9Õ9Ô9 8Ñ9Ô9Ð9Ð9Õ9Ô9˜nÑ9Ô9Õ9Ô9Ð1Ñ9Ô9Õ9Ô9Ð7Ñ9Ô9Õ9Ô9Ð9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ð *.ÀdÐ[tÐuÐuˆ	ÝÔ2Ð3HÈ)ÑTÔT‰ˆ�$Ø#Ð#ˆx˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆx˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#ØÐ9�d 8™nœnÐ9˜nÔ1Ð9Ð1Ô7Ð9Ð7Ð7Ñ9Ô9Ð9ˆ{Ð9Ð9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ˆ{Ð9Ð9Ñ9Ô9Õ9Ô9ˆ{Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�dÑ9Ô9Ð9Õ9Ô9�dÑ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9 8Ñ9Ô9Ð9Õ9Ô9 8Ñ9Ô9Ð9Ð9Õ9Ô9˜nÑ9Ô9Õ9Ô9Ð1Ñ9Ô9Õ9Ô9Ð7Ñ9Ô9Õ9Ô9Ð9Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9rV   N)
ri   rj   rk   rl   ÚpytestÚmarkÚparametrizer�   r‘   r”   rm   rV   rT   ro   ro   Q   s±   € € € € € Ø\Ð\à„[×ÒÐTð Wð Wð Wñ ô ð
ð 
ñô ð
ð  „[×ÒÐAð Dð Dð Dñ ô ð>ð >ñô ð>ð:ð :ð :ð :ð :rV   ro   )rl   Úbuiltinsr8   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter6   ÚsysÚpathlibr   r•   Ú__file__ÚresolveÚparentÚPROJECT_ROOTÚpathÚinsertÚstrÚproduction_orchestratorr4   r   ro   rm   rV   rT   ú<module>r¦      s  ððð ð € € € € € € € € € € € € €
€
€
€
Ø Ð Ð Ð Ð Ð Ø €€€àˆt�H‰~Œ~×%Ò%Ñ'Ô'Ô.Ô5€Ø „‡‚��3�3�|Ð&>Ñ>Ñ?Ô?Ñ @Ô @Ð @à $Ð $Ð $Ð $ð:lð :lð :lð :lð :lñ :lô :lð :lðz::ð ::ð ::ð ::ð ::ñ ::ô ::ð ::ð ::ð ::rV   