ó
    àÅŸg€  ã                  ó
  • S r SSKJr  SSKrSSKrSSKrSSKJrJr  SSK	J
r
  SSKJr  SSKJr  SSKJrJr  SS	KJr  \(       a  SS
KJr  SS jr          SS jr        SS jr          SS jr " S S5      rg)zLCOV reporting for coverage.py.é    )ÚannotationsN)ÚIOÚTYPE_CHECKING)ÚIterable)ÚFileReporter)Úget_analysis_to_report)ÚAnalysisÚNumbers)ÚTMorf)ÚCoveragec                óÎ   • [         R                  " U R                  S5      SS9R                  5       n[        R
                  " U5      R                  S5      R                  S5      $ )z9Produce a hash of a source line for use in the LCOV file.zutf-8F)ÚusedforsecurityÚasciiÚ=)ÚhashlibÚmd5ÚencodeÚdigestÚbase64Ú	b64encodeÚdecodeÚrstrip)ÚlineÚhasheds     ÚT/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/coverage/lcovreport.pyÚ	line_hashr      sM   € ô �[Š[˜Ÿ™ WÓ-¸uÑE×LÑLÓN€FÜ×Ò˜FÓ#×*Ñ*¨7Ó3×:Ñ:¸3Ó?Ð?ó    c           	     óŠ  • SnU HN  nU(       a  S[        X%S-
     5      -   n[        XPR                  ;  5      nUR                  SU SU U S35        MP     U R                  R
                  S:”  aS  UR                  SU R                  R
                   S35        UR                  SU R                  R                   S35        g	g	)
z0Emit line coverage records for an analyzed file.Ú Ú,é   zDA:Ú
r   zLF:zLH:N)r   ÚintÚmissingÚwriteÚnumbersÚn_statementsÚ
n_executed)ÚanalysisÚlinesÚsource_linesÚoutfileÚhash_suffixr   Úhits          r   Ú
lcov_linesr/   $   s¿   € ð €KÛˆÞØ¤	¨,¸A±vÑ*>Ó ?Ñ?ˆKô �$×.Ñ.Ñ.Ó/ˆØ�‰˜˜D˜6  3 %¨ }°BÐ7Ö8ñ ð ×Ñ×$Ñ$ qÓ(Ø�‰˜˜H×,Ñ,×9Ñ9Ð:¸"Ð=Ô>Ø�‰˜˜H×,Ñ,×7Ñ7Ð8¸Ð;Õ<ð )r   c           
     óú  • U R                  5        Vs/ sH{  nUR                  S:X  d  M  UR                  (       d  M(  [        UR                  [        UR                  5      5      [        UR                  [        UR                  5      5      U4PM}     nnU(       d  gUR                  5         SnU HŽ  u  pgnUR                  UR                  5      n[        UR                  R                  S:„  5      n	XY-  nUR                  SU SU SUR                   S35        UR                  SU	 SUR                   S35        M�     UR                  S[        U5       S35        UR                  S	U S35        gs  snf )
z4Emit function coverage records for an analyzed file.ÚfunctionNr   zFN:r    r"   zFNDA:zFNF:zFNH:)Úcode_regionsÚkindr*   ÚminÚstartÚmaxÚsortÚnarrowr#   r&   r(   r%   ÚnameÚlen)
ÚfrÚfile_analysisr,   ÚregionÚ	functionsÚfunctions_hitÚ
first_lineÚ	last_liner)   r.   s
             r   Úlcov_functionsrB   9   sW  € ð( —o‘oÔ'ó	ñ (ˆFØ�;‰;˜*Ñ$ó		ð *0¯­ó		ŒˆV�\‰\œ3˜vŸ|™|Ó,Ó	-Ü	ˆV�\‰\œ3˜vŸ|™|Ó,Ó	-Ø	ó	ñ (ð	 ð ö Øà‡N�NÔØ€MÛ)2Ñ%ˆ
˜vð !×'Ñ'¨¯©Ó5ˆÜ�(×"Ñ"×-Ñ-°Ñ1Ó2ˆØÑˆà�‰˜˜J˜< q¨¨°1°V·[±[°MÀÐDÔEØ�‰˜˜c˜U ! F§K¡K =°Ð3Ö4ñ *3ð ‡M�M�Dœ˜Y›Ð(¨Ð+Ô,Ø‡M�M�D˜˜ rÐ*Õ+ùò/s   “E8ªE8½AE8c                óÒ  • UR                  5       nUR                  5       nUR                  5       nU H³  nXt;  a  M
  XG   u  p‰U	S:X  a(  [        XW   5      S:X  d   eXg    V
s/ sH  oªS4PM     nn
O.XW    V
s/ sH  oªS4PM     nn
UR	                  S Xg    5       5        UR                  S S9  U H1  u  p¬U R                  Xz5      nUR                  SU SU S	U S
35        M3     Mµ     [        S UR                  5        5       5      nU[        S UR                  5        5       5      -
  nUS:”  a+  UR                  SU S
35        UR                  SU S
35        ggs  sn
f s  sn
f )z2Emit branch coverage records for an analyzed file.r   Ú-Ú1c              3  ó&   #   • U H  oS 4v •  M
     g7f)Ú0N© )Ú.0Údsts     r   Ú	<genexpr>Úlcov_arcs.<locals>.<genexpr>…   s   é € ð  Ù&8˜s�c•
Ò&8ùs   ‚c                ó   • U S   S:  U 4$ )Nr   rH   )Úds    r   Ú<lambda>Úlcov_arcs.<locals>.<lambda>�   s   € ¨¨1©°©°1©r   )ÚkeyzBRDA:z,0,r    r"   c              3  ó(   #   • U H	  u  pUv •  M     g 7f©NrH   ©rI   ÚtÚks      r   rK   rL   –   s   é € Ð2Ñ1‘D�A�aÒ1ùs   ‚c              3  ó,   #   • U H  u  pX-
  v •  M     g 7frS   rH   rT   s      r   rK   rL   —   s   é € Ð<Ñ&;™d˜a�A–EÒ&;ùs   ‚zBRF:zBRH:N)
Úbranch_statsÚexecuted_branch_arcsÚmissing_branch_arcsr:   Úextendr7   Úarc_descriptionr%   ÚsumÚvalues)r;   r)   r*   r,   rX   Úexecuted_arcsÚmissing_arcsr   Ú_ÚtakenrJ   Údestinationsr.   ÚbranchÚbrfÚbrhs                   r   Ú	lcov_arcsrg   c   sž  € ð ×(Ñ(Ó*€LØ×1Ñ1Ó3€MØ×/Ñ/Ó1€LãˆØÓ#Ùð
  Ñ%‰ˆà�A‹:ô �}Ñ*Ó+¨qÓ0Ð0Ð0à&2Ò&8óÙ&8˜s�c“
Ñ&8ð ð ˆLð '4Ò&9óÙ&9˜s�c“
Ñ&9ð ð ð ×Ññ  Ø&2Ò&8ó ô ð 	×ÑÑ5ÐÑ6ã$‰HˆCØ×'Ñ'¨Ó2ˆFØ�M‰M˜E $  s¨6¨(°!°C°5¸Ð;Ö<ó %ñG ôP Ñ2˜L×/Ñ/Ô1Ó2Ó
2€CØ
”Ñ< l×&9Ñ&9Ô&;Ó<Ó<Ñ
<€CØ
ˆQƒwØ�‰˜˜S˜E �nÔ%Ø�‰˜˜S˜E �nÕ%ð ùò;ùòs   Á"EÁ7E$c                  óN   • \ rS rSrSrSrS	S jrS
S jr          SS jrSr	g)ÚLcovReporteré�   z-A reporter for writing LCOV coverage reports.zLCOV reportc                óŽ   • Xl         UR                  U l        [        U R                   R                  R                  5      U l        g rS   )ÚcoverageÚconfigr
   Ú	precisionÚtotal)Úselfrl   s     r   Ú__init__ÚLcovReporter.__init__¢   s.   € Ø ŒØ—o‘oˆŒÜ˜TŸ]™]×1Ñ1×;Ñ;Ó<ˆ�
r   c                óæ  • U R                   R                  5         U=(       d    [        R                  n[	        U R                   U5       VVs/ sH  u  p4UR                  5       X44PM     nnnUR                  5         U H7  u  pcnU =R                  UR                  -  sl        U R                  XcXB5        M9     U R                  R                  =(       a    U R                  R                  $ s  snnf )z}Renders the full lcov report.

`morfs` is a list of modules or filenames

outfile is the file object to write the file into.
)rl   Úget_dataÚsysÚstdoutr   Úrelative_filenamer7   ro   r&   Ú	lcov_filer'   Ú
pc_covered)rp   Úmorfsr,   r;   r)   Ú	to_reportÚfnames          r   ÚreportÚLcovReporter.report§   sÂ   € ð 	�‰×ÑÔ Ø×'œSŸZ™Zˆô
 !7°t·}±}ÀeÔ Lô
á L‘�ð ×!Ñ!Ó# RÓ2Ù Lð 	ñ 
ð 	�‰Ôã#,ÑˆE�xØ�JŠJ˜(×*Ñ*Ñ*�JØ�N‰N˜5 hÖ8ñ $-ð �z‰z×&Ñ&×@¨4¯:©:×+@Ñ+@Ð@ùó
s   ÁC-c                óÈ  • UR                   R                  S:X  a  U R                  R                  (       a  gUR	                  SU S35        [        UR                  5      nU R                  R                  (       a  UR                  5       R                  5       nO/ n[        X5Xd5        [        X#U5        UR                  (       a  [        X#XT5        UR	                  S5        g)zŽProduces the lcov data for a single file.

This currently supports both line and branch coverage,
however function coverage is not supported.
r   NzSF:r"   zend_of_record
)r&   r'   rm   Ú
skip_emptyr%   ÚsortedÚ
statementsÚlcov_line_checksumsÚsourceÚ
splitlinesr/   rB   Úhas_arcsrg   )rp   Ú	rel_fnamer;   r)   r,   r*   r+   s          r   rx   ÚLcovReporter.lcov_file¿   s§   € ð ×Ñ×(Ñ(¨AÓ-Ø�{‰{×%×%Øà�‰˜˜I˜; bÐ)Ô*ä�x×*Ñ*Ó+ˆØ�;‰;×*×*ØŸ9™9›;×1Ñ1Ó3‰LàˆLä�8 LÔ:Ü�r WÔ-Ø××Ü�b EÔ3à�‰Ð'Õ(r   )rm   rl   ro   N)rl   r   ÚreturnÚNone)rz   zIterable[TMorf] | Noner,   úIO[str]r‰   Úfloat)
r‡   Ústrr;   r   r)   r	   r,   r‹   r‰   rŠ   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úreport_typerq   r}   rx   Ú__static_attributes__rH   r   r   ri   ri   �   sJ   † Ù7à€Kô=ô
Að0)àð)ð ð)ð ð	)ð
 ð)ð 
÷)r   ri   )r   r�   r‰   r�   )
r)   r	   r*   ú	list[int]r+   z	list[str]r,   r‹   r‰   rŠ   )r;   r   r<   r	   r,   r‹   r‰   rŠ   )
r;   r   r)   r	   r*   r•   r,   r‹   r‰   rŠ   )r’   Ú
__future__r   r   r   ru   Útypingr   r   Úcollections.abcr   Úcoverage.pluginr   Úcoverage.report_corer   Úcoverage.resultsr	   r
   Úcoverage.typesr   rl   r   r   r/   rB   rg   ri   rH   r   r   Ú<module>r�      sÑ   ðñ &å "ã Û Û 
ç $Ý $å (Ý 7ß .Ý  æÝ!ô	@ð=Øð=àð=ð ð=ð ð	=ð
 
ô=ð*',Øð',àð',ð ð',ð 
ô	',ðT7&Øð7&àð7&ð ð7&ð ð	7&ð
 
ô7&÷t@)ò @)r   