§
    lÌ½j‹2  ã                  ó  — 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 ddlmZ ddlmZmZmZ ddlmZmZmZmZmZmZmZmZm Z   G d„ d	ej!        ¦  «        Z"e#d
k    r ej$        ¦   «          dS dS )a€  
Empirical Adversarial Challenge Suite for Milestone M3 Chat Load Benchmark.
Tests:
1. CLI parameter edge cases and boundaries (negative, zero, invalid).
2. Concurrent tampered HMAC queries (bit-flip, bad hex, replay, empty, nonexistent).
3. Extreme shard imbalance (90% subscribers skewed into 1 shard).
4. Async task cancellation and clean shutdown without leaked tasks or tracing.
é    )ÚannotationsN)ÚListÚTuple)ÚChatService)ÚChatChannelTypeÚChatMessageDTOÚSendChatRequestDTO)	ÚBenchmarkConfigÚ_dispatch_concurrent_workÚ_hmac_query_workerÚ_publisher_workerÚgenerate_round_requestsÚ
parse_argsÚprovision_subscribersÚprovision_test_itemsÚrun_benchmarkc                  ó‚   — e Zd ZdZedd„¦   «         Zdd„Zdd„Zdd„Zdd„Z	dd	„Z
dd
„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )Ú TestChatLoadBenchmarkAdversarialz=Empirical adversarial stress harness for chat load benchmark.ÚreturnÚNonec                óV   — t          j        ¦   «         rt          j        ¦   «          d S d S ©N©ÚtracemallocÚ
is_tracingÚstop)Úclss    úTC:\Projects\FreeExile\tests\security_fuzzing\test_chat_load_benchmark_adversarial.pyÚtearDownClassz.TestChatLoadBenchmarkAdversarial.tearDownClass%   s2   € åÔ!Ñ#Ô#ð 	ÝÔÑÔÐÐÐð	ð 	ó    c              ƒ  ó€   K  — t          j        ¦   «         rt          j        ¦   «          t          d¬¦  «        | _        d S )Né@   ©Úcluster_shards)r   r   r   r   Úchat_service©Úselfs    r   Ú
asyncSetUpz+TestChatLoadBenchmarkAdversarial.asyncSetUp*   s?   è è € ÝÔ!Ñ#Ô#ð 	ÝÔÑÔÐÝ'°rÐ:Ñ:Ô:ˆÔÐÐr    c              ƒ  óZ   K  — t          j        ¦   «         rt          j        ¦   «          d S d S r   r   r&   s    r   ÚasyncTearDownz.TestChatLoadBenchmarkAdversarial.asyncTearDown/   s6   è è € ÝÔ!Ñ#Ô#ð 	ÝÔÑÔÐÐÐð	ð 	r    c                ó   — t          g d¢¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «         dS )z:Tests parse_args handling of negative and zero CLI values.)z--simulated-ccuz-50000z--active-sample-subscribersÚ0z--message-countr,   z--concurrencyÚ5z--leak-check-roundsÚ1z--shardsÚ16i°<ÿÿr   é   N)r   ÚassertEqualÚsimulated_ccuÚactive_sample_subscribersÚmessage_countÚconcurrency©r'   Úcfgs     r   Ú-test_cli_negative_and_zero_parameters_parsingzNTestChatLoadBenchmarkAdversarial.test_cli_negative_and_zero_parameters_parsing7   s‹   € åð 
ð 
ð 
ñ ô ˆð 	×Ò˜Ô*¨FÑ3Ô3Ð3Ø×Ò˜Ô6¸Ñ:Ô:Ð:Ø×Ò˜Ô*¨AÑ.Ô.Ð.Ø×Ò˜œ¨!Ñ,Ô,Ð,Ð,Ð,r    c              ƒ  óœ  K  — t          dddddd¬¦  «        }t          |¦  «        ƒ d{V —†}|                      t          |j        ¦  «        d¦  «         |j        d         }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        ¦  «         |                      |j	        ¦  «         dS )	z9Validates benchmark execution when subscriber count is 0.r   é   é   é   é   é
   ©r3   r4   r5   Úleak_check_roundsr$   Úitem_query_countN)
r
   r   r1   ÚlenÚround_metricsÚdeliveries_countÚmessages_acceptedÚ
assertTrueÚsla_latency_passedÚoverall_passed©r'   r7   ÚsummaryÚms       r   Ú$test_execution_with_zero_subscriberszETestChatLoadBenchmarkAdversarial.test_execution_with_zero_subscribersF   sÝ   è è € åØ&'ØØØØØð
ñ 
ô 
ˆõ & cÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*ˆØ×Ò�˜WÔ2Ñ3Ô3°QÑ7Ô7Ð7ØÔ! !Ô$ˆØ×Ò˜Ô+¨QÑ/Ô/Ð/Ø×Ò˜Ô,¨bÑ1Ô1Ð1Ø�Š˜Ô2Ñ3Ô3Ð3Ø�Š˜Ô.Ñ/Ô/Ð/Ð/Ð/r    c              ƒ  ó  K  — t          dddddd¬¦  «        }t          |¦  «        ƒ d{V —†}|j        d         }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «         dS )	z6Validates benchmark execution when message count is 0.r>   r   r;   r<   r=   r?   Nç        )r
   r   rC   r1   rE   rD   Úthroughput_msg_per_secrI   s       r   Ú!test_execution_with_zero_messageszBTestChatLoadBenchmarkAdversarial.test_execution_with_zero_messagesX   s«   è è € åØ&(ØØØØØð
ñ 
ô 
ˆõ & cÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*ˆØÔ! !Ô$ˆØ×Ò˜Ô,¨aÑ0Ô0Ð0Ø×Ò˜Ô+¨QÑ/Ô/Ð/Ø×Ò˜Ô1°3Ñ7Ô7Ð7Ð7Ð7r    c              ƒ  ó¾   K  — t          ddd¬¦  «        }|                      t          ¦  «        5  t          |¦  «        ƒ d{V —† ddd¦  «         dS # 1 swxY w Y   dS )zQEmpirically confirms zero concurrency causes ZeroDivisionError without CLI guard.r>   r   )r3   r4   r5   N©r
   ÚassertRaisesÚZeroDivisionErrorr   r6   s     r   Ú%test_execution_zero_concurrency_errorzFTestChatLoadBenchmarkAdversarial.test_execution_zero_concurrency_errorh   s´   è è € å¸È"ÐZ[Ð\Ñ\Ô\ˆØ×ÒÕ0Ñ1Ô1ð 	%ð 	%Ý Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   ¯AÁAÁAc              ƒ  ó¼   K  — t          dd¬¦  «        }|                      t          ¦  «        5  t          |¦  «        ƒ d{V —† ddd¦  «         dS # 1 swxY w Y   dS )zDEmpirically confirms zero shards causes ZeroDivisionError in router.r>   r   )r3   r$   NrR   r6   s     r   Ú test_execution_zero_shards_errorzATestChatLoadBenchmarkAdversarial.test_execution_zero_shards_errorn   s±   è è € å¸È1ÐMÑMÔMˆØ×ÒÕ0Ñ1Ô1ð 	%ð 	%Ý Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   ®AÁAÁAc              ƒ  ó\  ‡ ‡‡‡K  — t          ‰ j        d¬¦  «        }t          |¦  «        }g }|D ]ž\  }}|dd…         |d         dk    rdndz   }|                     ||f¦  «         |                     |df¦  «         |                     |df¦  «         |                     ||dd	…         f¦  «         |                     d
|› �|f¦  «         ŒŸ|                     |d         d         |d         d         f¦  «         g Št	          d¦  «        D ]z}||t          |¦  «        z           }‰                     |d         |d         df¦  «         ||t          |¦  «        z           }	‰                     |	d         |	d         df¦  «         Œ{d ˆ fd„Št          dt          ‰¦  «        dz  ¦  «        Šˆˆˆfd„t	          dt          ‰¦  «        ‰¦  «        D ¦   «         }
t          j        |
Ž ƒ d{V —†}t          d„ |D ¦   «         ¦  «        }t          d„ |D ¦   «         ¦  «        }d„ |D ¦   «         }‰  
                    |dd¦  «         ‰  
                    |dd¦  «         t          |¦  «        }|t          t          |¦  «        dz  ¦  «                 }‰                      |dd|d›d�¦  «         dS )!z¼
        Adversarial challenge: Concurrently query valid vs tampered HMAC signatures.
        Includes: bit-flipped, bad hex, empty signature, cross-item replay, nonexistent UUID.
        r>   )ÚcountNéÿÿÿÿr,   r.   Ú@0000000000000000000000000000000000000000000000000000000000000000Ú r=   Únonexistent_r<   r   é2   TFÚbatchúList[Tuple[str, str, bool]]r   úTuple[int, int, List[float]]c              “  ó:  •K  — d}d}g }| D ]‹\  }}}t          j        ¦   «         }‰
j                             ||¦  «        }t          j        ¦   «         |z
  dz  }	|                     |	¦  «         |r|j        r|j        �|dz  }Œx|j        s|j        r|dz  }ŒŒ|||fS )Nr   g     @�@r<   )ÚtimeÚperf_counterr%   Úquery_item_snapshotÚappendÚis_validÚitem_snapshotÚerror_message)r_   Úcorrect_rejectsÚcorrect_acceptsÚlatsÚuidÚsigÚexpectedÚt0ÚresÚ
elapsed_msr'   s             €r   Úquery_testerz\TestChatLoadBenchmarkAdversarial.test_concurrent_tampered_hmac_queries.<locals>.query_tester›   sÍ   øè è € ØˆOØˆOØ "ˆDØ&+ð 
-ð 
-Ñ"��S˜(ÝÔ&Ñ(Ô(�ØÔ'×;Ò;¸CÀÑEÔE�Ý"Ô/Ñ1Ô1°BÑ6¸&Ñ@�
Ø—’˜JÑ'Ô'Ð'Øð -Ø”|ð -¨Ô(9Ð(EØ'¨1Ñ,˜øàœ<ð -¨CÔ,=ð -Ø'¨1Ñ,˜øØ" O°TÐ9Ð9r    c                ó<   •— g | ]} ‰‰||‰z   …         ¦  «        ‘ŒS © ru   )Ú.0ÚiÚ
batch_sizeÚmixed_queriesrs   s     €€€r   ú
<listcomp>zZTestChatLoadBenchmarkAdversarial.test_concurrent_tampered_hmac_queries.<locals>.<listcomp>­   sA   ø€ ð 
ð 
ð 
àð ˆL˜ q¨1¨z©>Ð'9Ô:Ñ;Ô;ð
ð 
ð 
r    c              3  ó&   K  — | ]}|d          V — ŒdS )r   Nru   ©rv   Úrs     r   ú	<genexpr>zYTestChatLoadBenchmarkAdversarial.test_concurrent_tampered_hmac_queries.<locals>.<genexpr>³   ó&   è è € Ð2Ð2 Q˜A˜aœDÐ2Ð2Ð2Ð2Ð2Ð2r    c              3  ó&   K  — | ]}|d          V — ŒdS )r<   Nru   r|   s     r   r~   zYTestChatLoadBenchmarkAdversarial.test_concurrent_tampered_hmac_queries.<locals>.<genexpr>´   r   r    c                ó(   — g | ]}|d          D ]}|‘ŒŒS )r;   ru   )rv   r}   Úlats      r   rz   zZTestChatLoadBenchmarkAdversarial.test_concurrent_tampered_hmac_queries.<locals>.<listcomp>µ   s)   € Ð9Ð9Ð9˜A°A°a´DÐ9Ð9¨S�CÐ9Ð9Ð9Ð9r    z)Not all valid HMAC queries were accepted!z-Some tampered HMAC queries were NOT rejected!g®Gáz®ï?g       @zHMAC rejection p99 latency ú.3fzms exceeded 2.0ms SLA!)r_   r`   r   ra   )r   r%   Úlistrf   ÚrangerB   ÚmaxÚasyncioÚgatherÚsumr1   ÚsortedÚintÚ
assertLess)r'   Ú	authenticÚvalid_queriesÚtampered_queriesrm   rn   Úflippedrw   ÚvÚtÚtasksÚresultsÚtotal_acceptsÚtotal_rejectsÚall_latsÚsorted_latsÚp99rx   ry   rs   s   `                @@@r   Ú%test_concurrent_tampered_hmac_querieszFTestChatLoadBenchmarkAdversarial.test_concurrent_tampered_hmac_queriesx   s1  øøøøè è € õ )¨Ô):À"ÐEÑEÔEˆ	Ý˜Y™œˆð 35ÐØ!ð 
	Að 
	A‰HˆC�à˜#˜2˜#”h¨¨R¬°Cª¨ # #¸SÑAˆGØ×#Ò# S¨' NÑ3Ô3Ð3à×#Ò# S¨( OÑ4Ô4Ð4à×#Ò# S¨" IÑ.Ô.Ð.Ø×#Ò# S¨#¨c¨r¨c¬( OÑ4Ô4Ð4à×#Ò#Ð%9°CÐ%9Ð%9¸3Ð$?Ñ@Ô@Ð@Ð@ð 	×Ò ¨1¤¨a¤°)¸A´,¸q´/Ð BÑCÔCÐCð 68ˆÝ�r‘”ð 	6ð 	6ˆAØ˜a¥# mÑ"4Ô"4Ñ4Ô5ˆAØ× Ò  ! A¤$¨¨!¬¨dÐ!3Ñ4Ô4Ð4Ø  ¥SÐ)9Ñ%:Ô%:Ñ!:Ô;ˆAØ× Ò  ! A¤$¨¨!¬¨eÐ!4Ñ5Ô5Ð5Ð5ð	:ð 	:ð 	:ð 	:ð 	:ð 	:õ" ˜�C Ñ.Ô.°"Ñ4Ñ5Ô5ˆ
ð
ð 
ð 
ð 
ð 
ð 
å˜1�c -Ñ0Ô0°*Ñ=Ô=ð
ñ 
ô 
ˆõ  œ¨Ð.Ð.Ð.Ð.Ð.Ð.Ð.ˆåÐ2Ð2¨'Ð2Ñ2Ô2Ñ2Ô2ˆÝÐ2Ð2¨'Ð2Ñ2Ô2Ñ2Ô2ˆØ9Ð9 Ð9Ñ9Ô9ˆð 	×Ò˜¨Ð,WÑXÔXÐXØ×Ò˜¨Ð,[Ñ\Ô\Ð\õ ˜XÑ&Ô&ˆØ�#�c +Ñ.Ô.°Ñ5Ñ6Ô6Ô7ˆØ�Š˜˜SÐ"_ÀÐ"_Ð"_Ð"_Ð"_Ñ`Ô`Ð`Ð`Ð`r    c           	   ƒ  ób  ‡‡‡‡K  — t          d¬¦  «        Šd}d„ t          dd¦  «        D ¦   «         }dŠdŠd ˆfd„}d ˆfd„}t          dd¦  «        D ]}‰                     |||¦  «         Œt          dd¦  «        D ]1}||t          |¦  «        z           }‰                     |||¦  «         Œ2‰j        j                             ¦   «         }|                      |d¦  «         t          |¦  «        dz  }‰j        j        j	        |         }	|  
                    ||	¦  «         |                      t          |	|         ¦  «        d¦  «         d„ t          d¦  «        D ¦   «         }
d!ˆfd„Št          j        ¦   «         }t          j        ˆfd„|
D ¦   «         Ž ƒ d{V —†}t          j        ¦   «         |z
  }|                      t!          |¦  «        ¦  «         |                      ‰d¦  «         ‰j                             ¦   «         }|                      |d         dd|d         › d|d›d�¦  «         dS )"z±
        Adversarial challenge: 90% of subscribers concentrated in 1 single shard.
        Simulates extreme hotspotting (e.g. world channel burst or single mega-zone).
        r"   r#   Úworldc                ó   — g | ]}d |› �‘ŒS )z
zone:zone_ru   ©rv   rw   s     r   rz   zYTestChatLoadBenchmarkAdversarial.test_shard_imbalance_90_percent_skew.<locals>.<listcomp>Ë   s!   € Ð@Ð@Ð@¨aÐ) aÐ)Ð)Ð@Ð@Ð@r    r<   r   Ú_r   r   r   c                ó   •— ‰dz  Šd S ©Nr<   ru   )rŸ   Úreceived_hots    €r   Úhot_sinkzWTestChatLoadBenchmarkAdversarial.test_shard_imbalance_90_percent_skew.<locals>.hot_sinkÐ   s   ø€ à˜AÑˆLˆLˆLr    c                ó   •— ‰dz  Šd S r¡   ru   )rŸ   Úreceived_colds    €r   Ú	cold_sinkzXTestChatLoadBenchmarkAdversarial.test_shard_imbalance_90_percent_skew.<locals>.cold_sinkÔ   s   ø€ à˜QÑˆMˆMˆMr    i…  ié  éè  i„  c           
     ó\   — g | ])}t          d |z   d|› �dt          j        d|› �¬¦  «        ‘Œ*S )i ¡ Ú
HotTester_é#   zHot broadcast burst #)Ú	sender_idÚsender_nameÚsender_levelÚchannelÚcontent)r	   r   ÚWORLDrž   s     r   rz   zYTestChatLoadBenchmarkAdversarial.test_shard_imbalance_90_percent_skew.<locals>.<listcomp>ë   s_   € ð 	
ð 	
ð 	
ð õ Ø! A™+Ø,¨Ð,Ð,ØÝ'Ô-Ø3°Ð3Ð3ðñ ô ð	
ð 	
ð 	
r    r:   r}   r	   Úboolc              “  ó¸   •K  — d‰j         j        | j        | j        f<   d‰j         j        | j        | j        f<   ‰                     | ¦  «        ƒ d {V —†}|j        S )NrN   )r\   rN   )Úchannel_managerÚ_last_send_timer«   r®   Ú_last_message_infoÚhandle_send_chatÚsuccess)r}   rq   Úservices     €r   Úsend_reqzWTestChatLoadBenchmarkAdversarial.test_shard_imbalance_90_percent_skew.<locals>.send_reqö   sf   øè è € ØPSˆGÔ#Ô3°Q´[À!Ä)Ð4LÑMØS\ˆGÔ#Ô6¸¼ÀQÄYÐ7OÑPØ×0Ò0°Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3ˆCØ”;Ðr    c                ó&   •— g | ]} ‰|¦  «        ‘ŒS ru   ru   )rv   r}   r¹   s     €r   rz   zYTestChatLoadBenchmarkAdversarial.test_shard_imbalance_90_percent_skew.<locals>.<listcomp>ý   s!   ø€ Ð(CÐ(CÐ(C¸¨¨°!©¬Ð(CÐ(CÐ(Cr    NiPF  r™   g      .@zHot-shard skewed p99 latency z#ms breached 15.0ms SLA! (Duration: rƒ   zs))rŸ   r   r   r   )r}   r	   r   r±   )r   r…   Úsubscribe_clientrB   Úcluster_routerÚregistryÚtotal_subscribers_countr1   ÚhashÚshardsÚassertInrc   rd   r‡   rˆ   rF   ÚallÚget_latency_statsrŒ   )r'   Úhot_channelÚcold_channelsr£   r¦   ÚcidÚ	target_chÚ
total_subsÚhot_shard_idxÚ	hot_shardÚreqsrp   r”   ÚdurÚstatsr¥   r¢   r¹   r¸   s                  @@@@r   Ú$test_shard_imbalance_90_percent_skewzETestChatLoadBenchmarkAdversarial.test_shard_imbalance_90_percent_skewÄ   s·  øøøøè è € õ
 ¨RÐ0Ñ0Ô0ˆØˆØ@Ð@µ5¸¸B±<´<Ð@Ñ@Ô@ˆàˆØˆð	ð 	ð 	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	õ
 ˜˜C‘=”=ð 	Að 	AˆCØ×$Ò$ [°#°xÑ@Ô@Ð@Ð@õ ˜˜dÑ#Ô#ð 	@ð 	@ˆCØ% c­C°Ñ,>Ô,>Ñ&>Ô?ˆIØ×$Ò$ Y°°YÑ?Ô?Ð?Ð?àÔ+Ô4×LÒLÑNÔNˆ
Ø×Ò˜ UÑ+Ô+Ð+õ ˜[Ñ)Ô)¨BÑ.ˆØÔ*Ô3Ô:¸=ÔIˆ	Ø�Š�k 9Ñ-Ô-Ð-Ø×Ò�˜Y {Ô3Ñ4Ô4°cÑ:Ô:Ð:ð	
ð 	
õ ˜2‘Y”Yð	
ñ 	
ô 	
ˆð	ð 	ð 	ð 	ð 	ð 	õ ÔÑ Ô ˆÝœÐ(CÐ(CÐ(CÐ(C¸dÐ(CÑ(CÔ(CÐDÐDÐDÐDÐDÐDÐDˆÝÔÑ!Ô! BÑ&ˆà�Š�˜G™œÑ%Ô%Ð%Ø×Ò˜ xÑ0Ô0Ð0ð Ô&×8Ò8Ñ:Ô:ˆØ�ŠØ�%ŒL˜$Øh¨E°%¬LÐhÐhÐ]`ÐhÐhÐhÐhñ	
ô 	
ð 	
ð 	
ð 	
r    c              ƒ  óö  K  — t          ddddd¬¦  «        }t          j        t          |¦  «        ¦  «        }t          j        d¦  «        ƒ d{V —† |                     ¦   «          |                      t          j        ¦  «        5  |ƒ d{V —† ddd¦  «         n# 1 swxY w Y   |                      | 	                    ¦   «         ¦  «         t          j        d	¦  «        ƒ d{V —† t          j        ¦   «          dS )
z¬
        Adversarial challenge: Cancel benchmark mid-execution via asyncio.CancelledError.
        Verifies clean propagation, no task leakage, and proper cleanup.
        éÈ   r§   é   r0   r=   ©r3   r4   r5   r@   r$   g{®Gáz´?Ng{®Gáz„?)r
   r‡   Úcreate_taskr   ÚsleepÚcancelrS   ÚCancelledErrorrF   Ú	cancelledÚgcÚcollect)r'   r7   Útasks      r   Ú-test_async_task_cancellation_during_benchmarkzNTestChatLoadBenchmarkAdversarial.test_async_task_cancellation_during_benchmark  sF  è è € õ
 Ø&)ØØØØð
ñ 
ô 
ˆõ Ô"¥=°Ñ#5Ô#5Ñ6Ô6ˆåŒm˜DÑ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð 	�Š‰Œˆà×Ò�wÔ5Ñ6Ô6ð 	ð 	ØˆJˆJˆJˆJˆJˆJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�Š˜ŸšÑ(Ô(Ñ)Ô)Ð)õ Œm˜DÑ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!õ 	Œ
‰Œˆˆˆs   Â	BÂBÂ!Bc              ƒ  ó*  K  — t          j        ¦   «         rt          j        ¦   «          t          ddddd¬¦  «        }t	          |¦  «        ƒ d{V —†}|                      |j        ¦  «         |                      t          j        ¦   «         d¦  «         dS )	zY
        Verifies that tracemalloc tracing state is managed cleanly across runs.
        r^   r:   r;   r<   r=   rÒ   Nz$tracemalloc was not cleanly stopped!)r   r   r   r
   r   rF   rH   ÚassertFalse)r'   r7   rJ   s      r   Ú$test_tracemalloc_shutdown_resiliencezETestChatLoadBenchmarkAdversarial.test_tracemalloc_shutdown_resilience/  s§   è è € õ Ô!Ñ#Ô#ð 	ÝÔÑÔÐåØ&(ØØØØð
ñ 
ô 
ˆõ & cÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*ˆØ�Š˜Ô.Ñ/Ô/Ð/à×Ò�Ô/Ñ1Ô1Ð3YÑZÔZÐZÐZÐZr    N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r(   r*   r8   rL   rP   rU   rW   rš   rÎ   rÛ   rÞ   ru   r    r   r   r   "   s)  € € € € € ØGÐGàðð ð ñ „[ðð;ð ;ð ;ð ;ð
ð ð ð ð-ð -ð -ð -ð0ð 0ð 0ð 0ð$8ð 8ð 8ð 8ð %ð %ð %ð %ð%ð %ð %ð %ðFað Fað Fað FaðXD
ð D
ð D
ð D
ðTð ð ð ðB[ð [ð [ð [ð [ð [r    r   Ú__main__)%râ   Ú
__future__r   ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriteÚ
@pytest_arr‡   rØ   rc   r   ÚunittestÚtypingr   r   Úserver.chat.chat_servicer   Úserver.chat.chat_typesr   r   r	   Ú tools.stress.chat_load_benchmarkr
   r   r   r   r   r   r   r   r   ÚIsolatedAsyncioTestCaser   rß   Úmainru   r    r   ú<module>ró      s‡  ððð ð #Ð "Ð "Ð "Ð "Ð "à  € € € € € € € € € € € € €€€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ Vð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð^[ð ^[ð ^[ð ^[ð ^[ xÔ'Gñ ^[ô ^[ð ^[ðB	 ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr    