AlkantarClanX12

Your IP : 13.59.111.183


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/coverage/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/coverage/__pycache__/html.cpython-311.pyc

�

�܋f}Z����dZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZmZmZmZmZmZmZddlZddlmZmZddlmZddlmZdd	lmZm Z m!Z!m"Z"m#Z#dd
lm$Z$m%Z%m&Z&ddl'm(Z(ddl)m*Z*m+Z+dd
l,m-Z-ddl.m/Z/m0Z0ddl1m2Z2er.ddlm3Z3ddl4m5Z5ddl
m6Z6Gd�de6��Z7Gd�de6��Z8e"e��Zd5d�Z9d5d�Z:d6d�Z;eGd�d ����Z<eGd!�d"����Z=Gd#�d$��Z>Gd%�d&��Z?e
j@e
jAzd'zZBejCd�(��d7d+���ZDGd,�d-��ZEGd.�d/��ZFd8d1�ZGd9d4�ZHdS):zHTML reporting for coverage.py.�)�annotationsN)�	dataclass)�Any�Dict�Iterable�List�Optional�Tuple�
TYPE_CHECKING�cast)�CoverageData�add_data_to_hash)�NoDataError)�
flat_rootname)�
ensure_dir�file_be_gone�Hasher�isolate_module�format_local_datetime)�human_sorted�plural�stdout_link)�get_analysis_to_report)�Analysis�Numbers)�Templite)�TLineNo�TMorf)�__url__)�Coverage)�FileReporter)�	TypedDictc�2�eZdZUdZded<ded<ded<dS)�
IndexInfoDictz4Information for each file, to render the index file.r�nums�str�
html_filename�relative_filenameN��__name__�
__module__�__qualname__�__doc__�__annotations__���`/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib64/python3.11/site-packages/coverage/html.pyr$r$)s9�������B�B��
�
�
����������r0r$c�(�eZdZUdZded<ded<dS)�FileInfoDictzHSummary of the information from last rendering, to avoid duplicate work.r&�hashr$�indexNr)r/r0r1r3r3/s-�������V�V��	�	�	������r0r3�fnamer&�returnc���tj�tj�t��d��}tj�||��}|S)z9Return the path to an "htmlfiles" data file of ours.
    �	htmlfiles)�os�path�join�dirname�__file__)r6�
static_dir�static_filenames   r1�
data_filenamerA8sB������b�g�o�o�h�7�7��E�E�J��g�l�l�:�u�5�5�O��r0c��tt|����5}|���cddd��S#1swxYwYdS)z+Return the contents of a data file of ours.N)�openrA�read)r6�	data_files  r1�	read_datarF@s���	
�m�E�"�"�	#�	#� �y��~�~��� � � � � � � � � � � � ���� � � � � � s�>�A�A�html�Nonec���tjdd|tj���dz}t|d��5}|�|�dd����ddd��dS#1swxYwYdS)	z*Write `html` to `fname`, properly encoded.z(\A\s+)|(\s+$)�)�flags�
�wb�ascii�xmlcharrefreplaceN)�re�sub�	MULTILINErC�write�encode)r6rG�fouts   r1�
write_htmlrVFs���
�6�#�R��R�\�B�B�B�T�I�D�	
�e�T�	�	�>�d��
�
�4�;�;�w�(;�<�<�=�=�=�>�>�>�>�>�>�>�>�>�>�>�>����>�>�>�>�>�>s�*A-�-A1�4A1c��eZdZUdZded<ded<ded<ded	<d
ed<ded<d
ed
<d
ed<d
ed<dZded<dZded<dZded<dZded<dZ	ded<dS)�LineDataz-The data for each source line of HTML output.zList[Tuple[str, str]]�tokensr�numberr&�category�bool�	statementz	List[str]�contexts�contexts_label�context_list�short_annotations�long_annotationsrJrGNz
Optional[str]�context_str�annotate�
annotate_long�	css_class)
r*r+r,r-r.rGrcrdrerfr/r0r1rXrXMs��������7�7�!�!�!�!��O�O�O��M�M�M��O�O�O������������� � � � ������D�N�N�N�N�!%�K�%�%�%�%�"�H�"�"�"�"�#'�M�'�'�'�'��I������r0rXc�2�eZdZUdZded<ded<ded<dS)	�FileDataz-The data for each source file of HTML output.r&r(rr%zList[LineData]�linesNr)r/r0r1rhrh`s9�������7�7������M�M�M������r0rhc�&�eZdZdZdZdd�Zdd
�ZdS)�HtmlDataGenerationz8Generate structured data to be turned into HTML reports.z(empty)�covr r7rHc�V�||_|jj|_|j���}|���|_|jjr3|���dhkr|j�d��|�|jj��dS)NrJzNo contexts were measured)	�coverage�config�get_data�has_arcs�
show_contexts�measured_contexts�_warn�set_query_contexts�report_contexts)�selfrl�datas   r1�__init__zHtmlDataGeneration.__init__ms�����
��m�*����}�%�%�'�'���
�
����
��;�$�	A��%�%�'�'�B�4�/�/��
�#�#�$?�@�@�@������ ;�<�<�<�<�<r0�frr!�analysisrrhc����jr(|���}|���}�jjr|j�|j��}g}t|�	��d���D�]M\}}d}	g}
g}||j
vrd}	n�||jvrd}	n��jrz||vrvd}	||D]j}|dkr|
�d��n"|
�t|����|�|�|||�����kn||jvrd	}	g}
d}g}|	rc�jjrWt!�fd
�|�|d��D����}
|
�jgkr�j}nt'|
���d�}|
}|�t)|||	||jv|
|||
|�
�	�	����Ot+|���|j|���}|S)z.Produce the data needed for one file's report.���startrJ�exc�mis�parr�exit�runc3�*�K�|]
}|p�jV��dS�N)�EMPTY)�.0�crws  �r1�	<genexpr>z3HtmlDataGeneration.data_for_file.<locals>.<genexpr>�s)�����'d�'d�A���T�Z�'d�'d�'d�'d�'d�'dr0r/z ctx)	rYrZr[r]r^r_r`rarb)r(r%ri)rq�missing_branch_arcs�
arcs_executedrorrrx�contexts_by_lineno�filename�	enumerate�source_token_lines�excluded�missing�appendr&�missing_arc_description�
statementsr�getr��lenrXrhr(�numbers)rwrzr{r�r�r�ri�linenorYr[rarb�br^r_r`�	file_datas`                r1�
data_for_filez HtmlDataGeneration.data_for_filews�����=�	5�"*�">�">�"@�"@��$�2�2�4�4�M��;�$�	U�!)��!A�!A�(�BS�!T�!T����'��(=�(=�(?�(?�q�I�I�I�*	�*	�N�F�F��H� "��!����*�*�*� ����8�+�+�+� �����	
!�6�-@�#@�#@� ��,�V�4�b�b�A��1�u�u�)�0�0��8�8�8�8�)�0�0��Q���8�8�8�$�+�+�B�,F�,F�v�q�R_�,`�,`�a�a�a�a�b��8�.�.�.� ���H��N��L��
,�D�K�5�
,�'�'d�'d�'d�'d�AS�AW�AW�X^�`b�Ac�Ac�'d�'d�'d�d�d����
�|�+�+�%)�Z�N�N�(+�H�
�
�%;�%;�%;�N�#+�L��L�L����!�!�X�%8�8�!�-�)�"3�!1�
�
�
�

�

�

�

�� �2�2�4�4��!��
�
�
�	��r0N�rlr r7rH)rzr!r{rr7rh)r*r+r,r-r�ryr�r/r0r1rkrkhsG������B�B��E�=�=�=�=�=�=�=�=�=�=r0rkc��eZdZdZd
d�Zd	S)�FileToReportz#A file we're considering reporting.rzr!r{rr7rHc��||_||_t|�����|_|jdz|_dS)Nz.html)rzr{rr(�rootnamer')rwrzr{s   r1ryzFileToReport.__init__�s@����� ��
�%�b�&:�&:�&<�&<�=�=��
�!�]�W�4����r0N)rzr!r{rr7rH)r*r+r,r-ryr/r0r1r�r��s.������-�-�5�5�5�5�5�5r0r�z!#$%'()*+,-./:;=?@[]^_`{|}~)�maxsize�n�intc���|dkr
tdSg}|rGt|tt����\}}|�t|��|�Gd�|��S)zACreate a short HTML-safe string from an integer, using HTML_SAFE.rrJ)�	HTML_SAFE�divmodr�r�r<)r��r�ts   r1�
encode_intr��so��	�A�v�v���|��
�A�
���a��Y���(�(���1�	����1��������7�7�1�:�:�r0c�R�eZdZdZgd�Zdd�Zdd�Zdd�Zdd
�Zdd�Z	dd�Z
dd�ZdS) �HtmlReporterzHTML reporting.)z	style.csszcoverage_html.jszkeybd_closed.pngzkeybd_open.pngzfavicon_32.pngrlr r7rHc�d�||_|jj|_|jj|_|jj|_|j�|jj|_|jj|_|j�|jj|_d|_d|_	|jj
}||jjr/tj
�|jj��|_nd|_|j���|_|j���|_g|_g|_t)|j��|_t-|j��|_t1|jj���|_d|_d|_d|_t<t>t@tBtj"|tGtHj$�%����|j|j|jj&ddddd�d	�|_'tQd
��|_)tU|j)|j'��|_+dS)Nr)�	precisionFzexc show_exczmis show_miszpar run show_parr�)r�r�r�r�)�escape�pairr�r�__version__�title�
time_stamp�	extra_cssrqrrr[zpyfile.html),rnro�html_dir�	directory�html_skip_covered�skip_covered�html_skip_empty�
skip_empty�skipped_covered_count�skipped_empty_count�
html_titler�r:r;�basenamerprxrq�file_summaries�all_files_nums�IncrementalChecker�incrrk�datagenrr��totals�directory_was_empty�first_fr�final_frr�r�r�rr�r�datetime�nowrr�template_globalsrF�pyfile_html_sourcer�source_tmpl)rwrlr�s   r1ryzHtmlReporter.__init__�s�����
��m�*�����-��� �K�9�����$� $�� 8�D���+�5����?�"�"�k�4�D�O�%&��"�#$�� ���&���%��;� �	"��W�-�-�d�k�.C�D�D�D�N�N�!�D�N��M�*�*�,�,��	��	�*�*�,�,��
�35���-/���&�t�~�6�6��	�)�$�-�8�8������(=�>�>�>���#(�� ���
���
�����#�/��/��0A�0E�0E�0G�0G�H�H����
�!�[�6�
&�%�)��	��#!
�!
���0#,�M�":�":���#�D�$;�T�=R�S�S����r0�morfs�Optional[Iterable[TMorf]]�floatc���|j���|j�|j|j��g}t|j|��D]y\}}t||��}|�|��}|r|�	|���Bttj�
|j|j�����zt!|��D]^\}}|dkrd}n||dz
j}|t#|��dz
krd}	n||dzj}	|�|||	���_|jst)d���t+t,t/|j����|_|r|dj}
|dj}ndx}
}|�|
|��|���|jjo|jjS)zcGenerate an HTML report for `morfs`.

        `morfs` is a list of modules or file names.

        r�
index.htmlr}zNo data to report.���)r�rD�check_global_dataror�rrnr��should_report_filer�rr:r;r<r�r'r�r��write_html_filer�rrr�sumr��
index_file�make_local_static_report_files�n_statements�
pc_covered)rwr��files_to_reportrzr{�ftr�should�i�	prev_html�	next_html�
first_html�
final_htmls            r1�reportzHtmlReporter.reports���	
�	�������	�#�#�D�K��1H�I�I�I���2�4�=�%�H�H�	N�	N�L�B���r�8�,�,�C��,�,�S�1�1�F��
N��&�&�s�+�+�+�+��R�W�\�\�$�.�#�:K�L�L�M�M�M�M���0�0�		<�		<�F�A�s��A�v�v�(�	�	�+�A��E�2�@�	��C��(�(�1�,�,�,�(�	�	�+�A��E�2�@�	�� � ��i��;�;�;�;��"�	4��2�3�3�3��7�C��(;�$<�$<�=�=����	3�(��+�9�J�(��,�:�J�J�&2�2�J�����
�J�/�/�/��+�+�-�-�-��{�'�B�D�K�,B�Br0c�r�t|j��tj|j��s	d|_dSdS)z'Make sure our htmlcov directory exists.TN)rr�r:�listdirr��rws r1�make_directoryzHtmlReporter.make_directoryKs>���4�>�"�"�"��z�$�.�)�)�	,�'+�D�$�$�$�	,�	,r0c�.�|jD]G}tjt|��tj�|j|�����H|jr`ttj�|jd��d��5}|�
d��ddd��n#1swxYwY|jrW|jj�J�tj|jjtj�|j|j����dSdS)z5Make local instances of static files for HTML report.z
.gitignore�wz# Created by coverage.py
*
N)
�STATIC_FILES�shutil�copyfilerAr:r;r<r�r�rCrSr�ro)rw�static�fgis   r1r�z+HtmlReporter.make_local_static_report_filesQs9���'�	Y�	Y�F��O�M�&�1�1�2�7�<�<���PV�3W�3W�X�X�X�X�
�#�	;��b�g�l�l�4�>�<�@�@�#�F�F�
;�#��	�	�9�:�:�:�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;��>�	a��;�(�4�4�4��O�D�K�1�2�7�<�<���PT�P^�3_�3_�`�`�`�`�`�	a�	as�
B,�,B0�3B0r�r�r\c��|jj}|j�|��|jr,|jdk}|jdk}|r|r|xjdz
c_dS|jr|j	dkr|xj
dz
c_
dSdS)z$Determine if we'll report this file.rr}FT)r{r�r�r�r��	n_missing�n_partial_branchesr�r�r�r�)rwr�r%�no_missing_lines�no_missing_branchess     r1r�zHtmlReporter.should_report_filecs����|�#����"�"�4�(�(�(���	� $��!� 3��#'�#:�a�#?���
�$7�
��*�*�a�/�*�*��u��?�	�� �A�%�%��(�(�A�-�(�(��u��tr0r�r&r�c�����|���|j�|j|j|j��r9|j�|j�|j����dS|j	�
|j|j��}tj
d�|jD����}d�td�|���D����D����r3t#jd�����D��d���}nd}|jD�]�g}�jD][\}}	|dkr#|�t+|	�����.t+|	��pd	}
|�d
|�d|
�d����\d
�|���_�jrc�fd��jD��}t3d�|D�����t5���d
��fd�|D����z�_nd
�_�jr,d��fd��jD�����_nd�_�jr}�j}t?|��dkr|d�_ n\d�!t?|��d�d�t|d���D�������_ nd�_ g}
�j"r+|
�|j#d�j"��d�|
��pd�_$��
tJj&�|j'|j(��}|j)�*i|j+�|||d����}tY||��|jj-|j(|j�.��d�}|j�|��|j�/|j|��dS)z*Generate an HTML file for one source file.Nc3�.K�|]}|jD]}|V���dSr�)r^)r��cliner�s   r1r�z/HtmlReporter.write_html_file.<locals>.<genexpr>�s1����&^�&^�U�u�~�&^�&^�!�q�&^�&^�&^�&^�&^�&^�&^r0c��i|]\}}||��	Sr/r/)r�r��ys   r1�
<dictcomp>z0HtmlReporter.write_html_file.<locals>.<dictcomp>�s��\�\�\�&�1�a��A�\�\�\r0c3�&K�|]}|dV��
dS)rNr/)r��xs  r1r�z/HtmlReporter.write_html_file.<locals>.<genexpr>�s&����5[�5[�q�a��d�5[�5[�5[�5[�5[�5[r0c�4�i|]\}}t|��|��Sr/�r�)r��k�vs   r1r�z0HtmlReporter.write_html_file.<locals>.<dictcomp>�s$��F�F�F�f�q�!��A����F�F�Fr0�)�indent�wsz&nbsp;z
<span class="z">z</span>rJc�:��g|]}t�|����Sr/r�)r��	c_context�
context_codess  �r1�
<listcomp>z0HtmlReporter.write_html_file.<locals>.<listcomp>�s3���$�$�$�=F�J�}�Y�7�8�8�$�$�$r0c3�4K�|]}t|��V��dSr�)r�)r��ecs  r1r�z/HtmlReporter.write_html_file.<locals>.<genexpr>�s(���� D� D�R��R��� D� D� D� D� D� Dr0c3�B�K�|]}|����V��dSr�)�ljust)r�r�
code_widths  �r1r�z/HtmlReporter.write_html_file.<locals>.<genexpr>�s/�����N�N�r�b�h�h�z�2�2�N�N�N�N�N�Nr0z,&nbsp;&nbsp; c3�0�K�|]}�j�d|��V��dS)z&#x202F;&#x219B;&#x202F;N)rZ)r��d�ldatas  �r1r�z/HtmlReporter.write_html_file.<locals>.<genexpr>�sG�����7�7���|�@�@�Q�@�@�7�7�7�7�7�7r0r}rz{:d} missed branches: {}z, c3�,K�|]\}}|d�d|��V��dS)r
z) Nr/)r��num�ann_longs   r1r�z/HtmlReporter.write_html_file.<locals>.<genexpr>�sK����"�"� -��X� #�2�2�2��2�2�"�"�"�"�"�"r0r~r[� �pln)�
contexts_jsonr�r�)r%r'r()0r�r��
can_skip_filerxrzr�r�r��
index_infor�r�r{�collections�Counterrir��most_common�json�dumps�itemsrYr�r<rGr`�maxr&rcrardrbr�re�formatr[r�rfr:r;r�r'r��render�__dict__rVr�r(�set_index_info)rwr�r�r�r�r^r�
html_parts�tok_type�tok_text�tok_html�encoded_contexts�longs�css_classes�	html_pathrGrrrrs                 @@@r1r�zHtmlReporter.write_html_filezs�������������9�"�"�4�9�c�f�c�l�C�C�	���&�&�t�y�';�';�C�L�'I�'I�J�J�J��F��L�.�.�s�v�s�|�D�D�	��&�&^�&^�i�o�&^�&^�&^�^�^��\�\�I�5[�5[�H�DX�DX�DZ�DZ�5[�5[�5[�,[�,[�\�\�\�
��	!� �J�F�F�
�0C�0C�0E�0E�F�F�F�����M�M�
!�M��_�4	=�4	=�E��J�&+�l�
U�
U�"��(��t�#�#��%�%�f�X�&6�&6�7�7�7�7�%�h�/�/�;�8�H��%�%�&S�h�&S�&S�(�&S�&S�&S�T�T�T�T�����,�,�E�J��!�

'�$�$�$�$�JO�J\�$�$�$� �!� D� D�3C� D� D� D�D�D�
��
�O�O��g�g�N�N�N�N�=M�N�N�N�N�N�O��!�!�
%'��!��&�
&�"2�!6�!6�7�7�7�7�"�4�7�7�7�"�"����
"&����%�

+��.���u�:�:��?�?�*/��(�E�'�'�*D�*K�*K��E�
�
��	�	�"�"�1:�5��1J�1J�1J�"�"�"���+�+�E�'�'�'+��#��K��~�
��"�"��)�*�5�e�n�E����"�h�h�{�3�3�<�u�E�O�O��G�L�L����1B�C�C�	���&�&�(
�� �(
�*�"�"�	(
�(
�(
����	�9�d�#�#�#��L�(� �.�!$��!9�!9�!;�!;�%
�%
�
�
	
��"�"�:�.�.�.��	� � ���z�:�:�:�:�:r0r�r�c	��|���ttd��|j��}dx}}|jr|j}|�dt|���d�}|jr|j}|�dt|���d�}|�|j|j	||||d���}tj�|j
d��}t||��t|dtj�|������}	|j�d	|	����|j���d
S)z*Write the index.html file for this report.r�rJz filez" skipped due to complete coverage.z empty filez	 skipped.)�filesr��skipped_covered_msg�skipped_empty_msgr�r�zfile://zWrote HTML report to N)r�rrFr�r�rr�rr�r�r:r;r<r�rVr�abspathrn�_messager�rS)
rwr�r��
index_tmplr,r-r�rGr��
print_hrefs
          r1r�zHtmlReporter.index_file�sZ���������i��5�5�t�7L�M�M�
�24�4��/��%�	[��*�A�%&�"Z�"Z�V�A�Y�Y�"Z�"Z�"Z���#�	F��(�A�#$� E� E����� E� E� E��� � ��(��k�#6�!2�$�$�
"
�"
�����W�\�\�$�.�,�?�?�
��:�t�$�$�$� ��-T�r�w���z�7R�7R�-T�-T�U�U�
��
���C�z�C�C�D�D�D�	
�	�������r0Nr�)r�r�r7r��r7rH)r�r�r7r\)r�r�r�r&r�r&r7rH)r�r&r�r&r7rH)r*r+r,r-r�ryr�r�r�r�r�r�r/r0r1r�r��s������������L�;T�;T�;T�;T�z0C�0C�0C�0C�d,�,�,�,�a�a�a�a�$����.\;�\;�\;�\;�|�����r0r�c�j�eZdZdZdZdZdd�Zdd	�Zdd
�Zdd�Z	d d�Z
d!d�Zd"d�Zd#d�Z
d$d�Zd%d�ZdS)&r�z0Logic and data to support incremental reporting.zstatus.jsonrr�r&r7rHc�<�||_|���dSr�)r��reset)rwr�s  r1ryzIncrementalChecker.__init__s��"����
�
�����r0c�"�d|_i|_dS)z5Initialize to empty. Causes all files to be reported.rJN)�globalsr+r�s r1r5zIncrementalChecker.resets�����.0��
�
�
r0c�N�d}	tj�|j|j��}t|��5}t
j|��}ddd��n#1swxYwYd}|d|jkrd}n2|dtj
krd}n#ttf$rd}YnwxYw|r^i|_
|d���D]-\}}t|dd�|dd<||j
|<�.|d	|_dS|���dS)
z)Read the information we stored last time.FNTr�versionr+r5r%r7)r:r;r<r��STATUS_FILErCr�load�
STATUS_FORMATrnr��OSError�
ValueErrorr+rrr7r5)rw�usable�status_file�fstatus�statusr��fileinfos       r1rDzIncrementalChecker.read"s}����	��'�,�,�t�~�t�7G�H�H�K��k�"�"�
,�g���7�+�+��
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,����
,�
,�
,�
,�
�F��h��4�#5�5�5�����	�"�h�&:�:�:�������$�	�	�	��F�F�F�	�����	��D�J�&,�W�o�&;�&;�&=�&=�
0�
0�"��(�,3�X�g�5F�v�5N�,O���!�&�)�'/��
�8�$�$�!�)�,�D�L�L�L��J�J�L�L�L�L�Ls4�9B�A�B�A"�"B�%A"�&B�B.�-B.c��tj�|j|j��}i}|j���D]/\}}|d}|d���|d<|||<�0|jtj
|j|d�}t|d��5}tj||d���ddd��dS#1swxYwYdS)zWrite the current status.r5r%)rr9r7r+r�)�,�:)�
separatorsN)r:r;r<r�r:r+r�	init_argsr<rnr�r7rCr�dump)rwr@r+r�rCr5rBrUs        r1rSzIncrementalChecker.write;s���g�l�l�4�>�4�3C�D�D����"&�*�"2�"2�"4�"4�	'�	'��H�h��W�%�E�!�&�M�3�3�5�5�E�&�M�&�E�(�O�O��(��+��|��	
�
���+�s�
#�
#�	;�t��I�f�d�z�:�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�!C�C
�
C
rxrc���t��}|D]}|�|���|���}|j|kr|���||_dSdS)z<Check the global data that can affect incremental reporting.N)r�update�	hexdigestr7r5)rwrx�mr
�
these_globalss     r1r�z$IncrementalChecker.check_global_dataMse���H�H���	�	�A�
�H�H�Q�K�K�K�K����
�
�
��<�=�(�(��J�J�L�L�L�(�D�L�L�L�)�(r0r
rzr!r�r\c�P�t��}|�|����d����t	||j|��|���}|�|��}||krdS|�||��dS)z�Can we skip reporting this file?

        `data` is a CoverageData object, `fr` is a `FileReporter`, and
        `rootname` is the name being used for the file.
        zutf-8TF)	rrK�sourcerTrr�rL�	file_hash�
set_file_hash)rwrxrzr�rM�	this_hash�	that_hashs       r1rz IncrementalChecker.can_skip_fileWs���
�H�H��	��������#�#�G�,�,�-�-�-���r�{�A�.�.�.��K�K�M�M�	��N�N�8�,�,�	��	�!�!��4����x��3�3�3��5r0r6c�`�|j�|i���dd��S)z#Get the hash of `fname`'s contents.r4rJ�r+r��rwr6s  r1rQzIncrementalChecker.file_hashks(���z�~�~�e�R�(�(�,�,�V�R�8�8�8r0�valc�B�||j�|i��d<dS)z#Set the hash of `fname`'s contents.r4N�r+�
setdefault)rwr6rXs   r1rRz IncrementalChecker.set_file_hashos$��36��
���e�R�(�(��0�0�0r0r$c�`�|j�|i���di��S)z/Get the information for index.html for `fname`.r5rVrWs  r1rzIncrementalChecker.index_infoss(���z�~�~�e�R�(�(�,�,�W�b�9�9�9r0�infoc�B�||j�|i��d<dS)z/Set the information for index.html for `fname`.r5NrZ)rwr6r]s   r1r!z!IncrementalChecker.set_index_infows$��48��
���e�R�(�(��1�1�1r0N)r�r&r7rHr2)rxrr7rH)rxr
rzr!r�r&r7r\�r6r&r7r&)r6r&rXr&r7rH)r6r&r7r$)r6r&r]r$r7rH)r*r+r,r-r:r<ryr5rDrSr�rrQrRrr!r/r0r1r�r��s�������:�:��K��M�:����1�1�1�1�
����2;�;�;�;�$)�)�)�)�����(9�9�9�9�7�7�7�7�:�:�:�:�9�9�9�9�9�9r0r�r�c�V�|�dd���dd��S)z\HTML-escape the text in `t`.

    This is only suitable for HTML text, not attributes.

    �&z&amp;�<z&lt;)�replace)r�s r1r�r�~s(��
�9�9�S�'�"�"�*�*�3��7�7�7r0�ratio�Tuple[int, int]c��d|zS)zEFormat a pair of numbers so JavaScript can read them in an attribute.z%s %sr/)rds r1r�r��s���U�?�r0r_)r6r&rGr&r7rH)r�r�r7r&)r�r&r7r&)rdrer7r&)Ir-�
__future__rrr��	functoolsrr:rPr��string�dataclassesr�typingrrrrr	r
rrrn�
coverage.datar
r�coverage.exceptionsr�coverage.filesr�
coverage.miscrrrrrrrr�coverage.report_corer�coverage.resultsrr�coverage.templiter�coverage.typesrr�coverage.versionrr �coverage.pluginsr!r"r$r3rArFrVrXrhrkr��
ascii_letters�digitsr��	lru_cacher�r�r�r�r�r/r0r1�<module>rys,��&�%�"�"�"�"�"�"�����������������	�	�	�	�	�	�	�	�
�
�
�
�
�
�
�
�!�!�!�!�!�!�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�����8�8�8�8�8�8�8�8�+�+�+�+�+�+�(�(�(�(�(�(�a�a�a�a�a�a�a�a�a�a�a�a�a�a�;�;�;�;�;�;�;�;�;�;�7�7�7�7�7�7�.�.�.�.�.�.�.�.�&�&�&�&�&�&�)�)�)�)�)�)�)�)�$�$�$�$�$�$���!�!�!�!�!�!�-�-�-�-�-�-�!� � � � � ������	���������y�����^�B�������� � � � �>�>�>�>������������$�����������L�L�L�L�L�L�L�L�^5�5�5�5�5�5�5�5�
� �6�=�0�3P�P�	����T�"�"�"�	�	�	�#�"�	�f�f�f�f�f�f�f�f�R	A9�A9�A9�A9�A9�A9�A9�A9�L8�8�8�8������r0