§
    0›j’  ã                  óš  — d Z ddl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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 ddlZddlmZmZ ddlmZ ddl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! ddl"m#Z#m$Z$m%Z% ddl&m'Z' ddl(m)Z)m*Z* ddl+m,Z, dSd„Z- G d„ d¦  «        Z. G d„ dej/        ¦  «        Z0 G d„ de0¦  «        Z1 G d„ dej2        ¦  «        Z3 G d„ de0¦  «        Z4e.j5        e.j6        e.j7        gZ8 e4de.j9        e.j:        e.j;        e.j<        e.j=        ge8z   d e-d¦  «        ¬ ¦  «         e4d!e.j>        e.j?        e.j@        e.jA        ge8z   d" e-d#¦  «        ¬ ¦  «         e4d$e8d% e-d&¦  «        ¬ ¦  «         e4d'e.j?        ge8z   d(¬)¦  «         e4d*e8d+d,¬ ¦  «         e4d-e.jB        e.j9        e.j:        e.jC        e.j;        e.j<        e.j=        e.jD        e.jA        e.jE        e.jF        e.jG        e.jH        e.jI        ge8z   d e-d.¦  «        ¬ ¦  «         e4d/e.jB        e.j:        e.jC        e.j;        e.j<        e.j=        e.jJ        e.jK        e.jA        e.jE        g
e8z   dd0¬ ¦  «         e4d1e.j:        e.jC        e.j;        e.j<        e.jL        e.j=        e.jA        ge8z   dd2¬ ¦  «         e4d3e.jB        e.j:        e.jC        e.jM        e.j;        e.j<        e.j=        e.jD        e.jN        e.jO        e.jF        e.jG        e.jH        ge8z   dd4¬ ¦  «         e4d5e.j>        e.jP        e.jQ        e.jR        e.jS        e.j<        e.jT        e.j=        e.jU        e.jV        e.jW        e.jX        e.jY        ge8z   d6d7¬ ¦  «         e4d8e.j:        e.jC        e.j;        e.j<        e.j=        e.jZ        e.jA        e.jH        ge8z   dd9¬ ¦  «        d:œZ[	 	 	 dTdUdA„Z\dB\  Z]Z^Z_ G dC„ dD¦  «        Z`dVdG„ZadWdJ„ZbdK e-dL¦  «        dMdNœZcdXdYdQ„ZddXdYdR„ZedS )Zz%Command-line support for coverage.py.é    )ÚannotationsN)ÚAnyÚNoReturnÚcast)ÚCoverageÚenv)ÚCoverageConfig)ÚDEFAULT_DATAFILE)ÚCTRACER_FILE)ÚCoverageDataÚcombinable_filesÚdebug_data_file)Úinfo_headerÚshort_stackÚwrite_formatted_info)ÚNoSourceÚCoverageExceptionÚ_ExceptionDuringRun)ÚPyRunner)Údisplay_coveredÚshould_fail_under)Ú__url__ÚtextÚstrÚreturnc                óf   — d                      d„ |                      d¦  «        D ¦   «         ¦  «        S )znPrepare a multi-line string for help to reformat nicely.

    A \f character indicates a paragraph break.
    úc              3  ód   K  — | ]+}d                       |                     ¦   «         ¦  «        V — Œ,dS )ú N©ÚjoinÚsplit)Ú.0Úps     úO/home/lighthouse/health/venv/lib64/python3.11/site-packages/coverage/cmdline.pyú	<genexpr>zprep_help.<locals>.<genexpr>)   s6   è è € ÐCÐC¨Q�S—X’X˜aŸgšg™iœiÑ(Ô(ÐCÐCÐCÐCÐCÐCó    r    )r   s    r%   Ú	prep_helpr(   $   s1   € ð
 �9Š9ÐCÐC°$·*²*¸TÑ2BÔ2BÐCÑCÔCÑCÔCÐCr'   c                  ó–  — e Zd ZdZ ej        dddd¬¦  «        Z ej        dddd	¬¦  «        Z ej        dd
dd ed¦  «         	                    d 
                     eej        ¦  «        ¦  «        ¦  «        ¬¦  «        Z ej        ddddd¬¦  «        Z ej        dddd ed¦  «        ¬¦  «        Z ej        dddd ed¦  «        ¬¦  «        Z ej        dddd ed¦  «        ¬¦  «        Z ej        dddd ed¦  «        ¬¦  «        Z ej        ddddd¬¦  «        Z ej        d d!dd"d#¬¦  «        Z ej        dd$dd%d&d'¬(¦  «        Z ej        dd)dd*d+¬¦  «        Z	 ej        d,d-dd.¬¦  «        Z ej        d/d0dd1¬¦  «        Z ej        dd2dd3 ed4¦  «        ¬¦  «        Z ej        dd5dd6¬¦  «        Z ej        d7d8d ed9¦  «        ¬¦  «        Z ej        d:d;dd<¬¦  «        Z ej        d:d=d ed>¦  «        ¬¦  «        Z ej        dd?dd3 ed@¦  «        ¬¦  «        Z ej        dAdddBddC¬D¦  «        Z ej        dAdddBddE¬D¦  «        Z  ej        dAdddBddF¬D¦  «        Z! ej        ddGddH¬¦  «        Z" ej        dIdJd edK¦  «        ¬¦  «        Z# ej        ddLddMe$ edN¦  «        ¬(¦  «        Z% ej        dOdPddQ¬¦  «        Z& ej        ddRd edS¦  «        ¬¦  «        Z' ej        ddTddUdVdWg edX¦  «        ¬Y¦  «        Z( ej        dZdd[¬¦  «        Z) ej        d\dd]¬¦  «        Z* ej        d^d_d`da¬b¦  «        Z+ ej        dcddd¬¦  «        Z, ej        deddf edg¦  «        ¬¦  «        Z- ej        ddhddidj¬¦  «        Z. ej        ddkddl¬¦  «        Z/ ej        ddmddndo¬¦  «        Z0 ej        ddpddq¬¦  «        Z1drS )sÚOptszBA namespace class for individual options we'll build parsers from.z-az--appendÚ
store_truezBAppend data to the data file. Otherwise it starts clean each time.)ÚactionÚhelpÚ z--branchz:Measure branch coverage in addition to statement coverage.z--concurrencyÚstoreÚLIBSz‡
            Properly measure code using a concurrency library.
            Valid values are: {}, or a comma-list of them.
            z, )r,   Úmetavarr-   z	--contextÚLABELz2The context label to record for this coverage run.z
--contextszREGEX1,REGEX2,...z�
            Only display data from lines covered in the given contexts.
            Accepts Python regexes, which must be quoted.
            z--data-fileÚDATAFILEz~
            Base name of the data files to operate on.
            Defaults to '.coverage'. [env: COVERAGE_FILE]
            ÚINFILEzŒ
            Read coverage data for report generation from this file.
            Defaults to '.coverage'. [env: COVERAGE_FILE]
            ÚOUTFILEz‚
            Write the recorded coverage data to this file.
            Defaults to '.coverage'. [env: COVERAGE_FILE]
            z--debugÚOPTSz9Debug options, separated by commas. [env: COVERAGE_DEBUG]z-dz--directoryÚDIRzWrite the output files to DIR.z--fail-underÚMINÚfloatz?Exit with a status of 2 if the total coverage is less than MIN.)r,   r1   Útyper-   z--formatÚFORMATz9Output format, either text (default), markdown, or total.z-hz--helpzGet help on this command.z-iz--ignore-errorsz)Ignore errors while reading source files.z	--includezPAT1,PAT2,...z–
            Include only files whose paths match one of these patterns.
            Accepts shell-style wildcards, which must be quoted.
            z--keepz9Keep original coverage files, otherwise they are deleted.z-Lz--pylibz}
            Measure coverage even inside the Python installed library,
            which isn't done by default.
            ú-mz--show-missingzEShow line numbers of statements in each module that weren't executed.ú--modulezˆ
            <pyfile> is an importable Python module, not a script path,
            to be run as 'python -m' would run it.
            z--omitzŽ
            Omit files whose paths match one of these patterns.
            Accepts shell-style wildcards, which must be quoted.
            z-oÚoutfilez=Write the XML report to this file. Defaults to 'coverage.xml')r,   Údestr1   r-   z?Write the JSON report to this file. Defaults to 'coverage.json'z?Write the LCOV report to this file. Defaults to 'coverage.lcov'z--pretty-printz"Format the JSON for human readers.z-pz--parallel-modez„
            Append a unique suffix to the data file name to collect separate
            data from multiple processes.
            z--precisionÚNz|
            Number of digits after the decimal point to display for
            reported coverage percentages.
            z-qz--quietz-Don't print messages about what is happening.z--rcfilez¶
            Specify configuration file.
            By default '.coveragerc', 'setup.cfg', 'tox.ini', and
            'pyproject.toml' are tried. [env: COVERAGE_RCFILE]
            z--save-signalÚSIGNALÚUSR1ÚUSR2zª
            Specify a signal that will trigger coverage to write its collected data.
            Supported values are: USR1, USR2. Not available on Windows.
            )r,   r1   Úchoicesr-   z--show-contextsz Show contexts for covered lines.z--skip-coveredzSkip files with 100% coverage.z--no-skip-coveredÚstore_falseÚskip_coveredzDisable --skip-covered.)r,   r?   r-   z--skip-emptyzSkip files with no code.z--sortÚCOLUMNzˆ
            Sort the report by the named column: name, stmts, miss, branch, brpart, or cover.
            Default is name.
            z--sourcezSRC1,SRC2,...z=A list of directories or importable names of code to measure.z--timidz*Use the slower Python trace function core.z--titleÚTITLEz.A text string to use as the title on the HTML.z	--versionz%Display version information and exit.N)2Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚoptparseÚmake_optionÚappendÚbranchr(   Úformatr!   Úsortedr	   ÚCONCURRENCY_CHOICESÚconcurrencyÚcontextÚcontextsÚdatafileÚdatafile_inputÚdatafile_outputÚdebugÚ	directoryÚ
fail_underr-   Úignore_errorsÚincludeÚkeepÚpylibÚshow_missingÚmoduleÚomitÚ
output_xmlÚoutput_jsonÚoutput_lcovÚjson_pretty_printÚparallel_modeÚintÚ	precisionÚquietÚrcfileÚsave_signalÚshow_contextsrF   Úno_skip_coveredÚ
skip_emptyÚsortÚsourceÚtimidÚtitleÚversion© r'   r%   r*   r*   ,   s<  € € € € € ØLÐLð
 "ˆXÔ!ØØØØQð	ñ ô €Fð "ˆXÔ!Ø
ØØØIð	ñ ô €Fð '�(Ô&Ø
ØØØØˆYðñ
ô 
÷
 Š&�—’˜6˜6 .Ô"DÑEÔEÑFÔFÑ
GÔ
Gðñ ô €Kð #ˆhÔ"Ø
ØØØØAðñ ô €Gð $ˆxÔ#Ø
ØØØ#ØˆYðñ
ô 
ðñ ô €Hð $ˆxÔ#Ø
ØØØØˆYðñ
ô 
ðñ ô €Hð *�XÔ)Ø
ØØØØˆYðñ
ô 
ðñ ô €Nð +�hÔ*Ø
ØØØØˆYðñ
ô 
ðñ ô €Oð !ˆHÔ Ø
ØØØØHðñ ô €Eð %�Ô$ØØØØØ-ðñ ô €Ið &�Ô%Ø
ØØØØØNðñ ô €Jð "ˆXÔ!Ø
ØØØØHðñ ô €Fð  ˆ8ÔØØØØ(ð	ñ ô €Dð )�HÔ(ØØØØ8ð	ñ ô €Mð #ˆhÔ"Ø
ØØØØˆYðñ
ô 
ðñ ô €Gð  ˆ8ÔØ
ØØØHð	ñ ô €Dð !ˆHÔ ØØØØˆYðñ
ô 
ð	
ñ 
ô 
€Eð (�8Ô'ØØØØTð	ñ ô €Lð "ˆXÔ!ØØØØˆYðñ
ô 
ð	
ñ 
ô 
€Fð  ˆ8ÔØ
ØØØØˆYðñ
ô 
ðñ ô €Dð &�Ô%ØØ
ØØØØLðñ ô €Jð '�(Ô&ØØ
ØØØØNðñ ô €Kð '�(Ô&ØØ
ØØØØNðñ ô €Kð -˜Ô,Ø
ØØØ1ð	ñ ô Ðð )�HÔ(ØØØØˆYðñ
ô 
ð	
ñ 
ô 
€Mð %�Ô$Ø
ØØØØØˆYðñ
ô 
ðñ ô €Ið !ˆHÔ ØØØØ<ð	ñ ô €Eð "ˆXÔ!Ø
ØØØˆYðñ
ô 
ð	ñ ô €Fð '�(Ô&Ø
ØØØØ˜Ð ØˆYðñ
ô 
ðñ ô €Kð )�HÔ(ØØØ/ðñ ô €Mð
 (�8Ô'ØØØ-ðñ ô €Lð
 +�hÔ*ØØØØ&ð	ñ ô €Oð &�Ô%ØØØ'ðñ ô €Jð
  ˆ8ÔØØØØˆYðñ
ô 
ð	
ñ 
ô 
€Dð "ˆXÔ!Ø
ØØØØLðñ ô €Fð !ˆHÔ Ø
ØØØ9ð	ñ ô €Eð !ˆHÔ Ø
ØØØØ=ðñ ô €Eð #ˆhÔ"Ø
ØØØ4ð	ñ ô €G€G€Gr'   r*   c                  óT   ‡ — e Zd ZdZdˆ fd„Z G d„ de¦  «        Zdˆ fd„Zdd„Zˆ xZ	S )ÚCoverageOptionParserz|Base OptionParser for coverage.py.

    Problems don't exit the program.
    Defaults are initialized for all options.

    Úkwargsr   r   ÚNonec                óV  •—  t          ¦   «         j        d$dt          ¦   «         dœ|¤Ž  | j        d$i dd “dd “dd “dd “dd “dd “d	d “d
d “dd “dd “dd “dd “dd “dd “dd “dd “dd “dd “dd “dd “dd “dd“dd “dd “dd “dd “dd “dd “d d “d!d “d"d “d#d “Ž |                      ¦   «          d S )%NF)Úadd_help_optionÚ	formatterr,   rO   rP   rT   rU   rV   Ú	data_filerZ   r[   r\   rQ   r-   r]   r^   r_   rb   rc   rh   rj   r`   rk   rl   Trm   rn   ra   rF   rp   rq   rr   rs   rt   ru   rv   )ÚsuperÚ__init__ÚMultiParaHelpFormatterÚset_defaultsÚdisable_interspersed_args)Úselfry   Ú	__class__s     €r%   r€   zCoverageOptionParser.__init__}  sù  ø€ Ø�‰ŒÔð 	
Ø!Ý,Ñ.Ô.ð	
ð 	
ð ð	
ð 	
ð 	
ð
 	ˆÔð "	
ð "	
ð "	
à�4ð"	
ð �4ð"	
ð �4ð	"	
ð
 ˜ð"	
ð �Dð"	
ð �Tð"	
ð �dð"	
ð �$ð"	
ð �dð"	
ð �tð"	
ð �4ð"	
ð �ð"	
ð ˜$ð"	
ð �Dð"	
ð  �ð!"	
ð" �4ð#"	
ð$ �ð%"	
ð& ˜$ð'"	
ð( �dð)"	
ð* �$ð+"	
ð, �$ð-"	
ð. �4ð/"	
ð0 ˜ð1"	
ð2 ˜$ð3"	
ð4 ˜ð5"	
ð6 ˜ð7"	
ð8 �tð9"	
ð: �ð;"	
ð< �4ð="	
ð> �$ð?"	
ð@ �$ðA"	
ðB �DðC"	
ð "	
ðH 	×&Ò&Ñ(Ô(Ð(Ð(Ð(r'   c                  ó   — e Zd ZdZdS )ú&CoverageOptionParser.OptionParserErrorz;Used to stop the optparse error handler ending the process.N)rI   rJ   rK   rL   rv   r'   r%   ÚOptionParserErrorr‡   ©  s   € € € € € ØIÐIàˆr'   rˆ   Úargsú	list[str]ú.tuple[bool, optparse.Values | None, list[str]]c                ó„   •— 	 t          ¦   «                              |¦  «        \  }}n# | j        $ r ddg fcY S w xY wd||fS )zUCall optparse.parse_args, but return a triple:

        (ok, options, args)

        FNT)r   Ú
parse_argsrˆ   )r„   r‰   Úoptionsr…   s      €r%   Úparse_args_okz"CoverageOptionParser.parse_args_ok®  sb   ø€ ð	#Ý!™GœG×.Ò.¨tÑ4Ô4‰MˆG�T�TøØÔ%ð 	#ð 	#ð 	#Ø˜$ �?Ð"Ð"Ð"ð	#øøøà�W˜dÐ"Ð"s   ƒ$( ¨:¹:Úmsgr   r   c                ó.   — t          |¦  «         | j        ‚)z7Override optparse.error so sys.exit doesn't get called.)Ú	show_helprˆ   )r„   r�   s     r%   ÚerrorzCoverageOptionParser.errorº  s   € å�#‰ŒˆØÔ$Ð$r'   )ry   r   r   rz   )r‰   rŠ   r   r‹   )r�   r   r   r   )
rI   rJ   rK   rL   r€   Ú	Exceptionrˆ   r�   r“   Ú__classcell__©r…   s   @r%   rx   rx   u  s¤   ø€ € € € € ðð ð*)ð *)ð *)ð *)ð *)ð *)ðXð ð ð ð ˜Iñ ô ð ð

#ð 
#ð 
#ð 
#ð 
#ð 
#ð%ð %ð %ð %ð %ð %ð %ð %r'   rx   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚGlobalOptionParserz<Command-line parser for coverage.py global option arguments.r   rz   c                óž   •— t          ¦   «                              ¦   «          |                      t          j        t          j        g¦  «         d S ©N)r   r€   Úadd_optionsr*   r-   ru   )r„   r…   s    €r%   r€   zGlobalOptionParser.__init__Ã  sJ   ø€ Ý‰Œ×ÒÑÔÐà×Òå”	Ý”ðñ	
ô 	
ð 	
ð 	
ð 	
r'   ©r   rz   )rI   rJ   rK   rL   r€   r•   r–   s   @r%   r˜   r˜   À  sC   ø€ € € € € ØFÐFð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r'   r˜   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r�   z<An optparse formatter that allows multi-paragraph help text.r   r   r   c                ó˜   •‡— t          ¦   «         j        Š|                     d¦  «        }d                     ˆfd„|D ¦   «         ¦  «        S )z[
        Format help text. \f characters become paragraph breaks with blank lines.
        r   z

c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S rš   rv   )r#   r$   Úsuper_formats     €r%   r&   z6MultiParaHelpFormatter._format_text.<locals>.<genexpr>Ø  s+   øè è € Ð:Ð:¨q˜<˜<¨™?œ?Ð:Ð:Ð:Ð:Ð:Ð:r'   )r   Ú_format_textr"   r!   )r„   r   Úparasr    r…   s      @€r%   r¡   z#MultiParaHelpFormatter._format_textÑ  sJ   øø€ õ
 ‘w”wÔ+ˆØ—
’
˜4Ñ Ô ˆØ�{Š{Ð:Ð:Ð:Ð:°EÐ:Ñ:Ô:Ñ:Ô:Ð:r'   ©r   r   r   r   )rI   rJ   rK   rL   r¡   r•   r–   s   @r%   r�   r�   Î  sC   ø€ € € € € ØFÐFð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;r'   r�   c                  ó@   ‡ — e Zd ZdZ	 ddˆ fd
„Zdd„ZdZdˆ fd„Zˆ xZS )ÚCmdOptionParserz4Parse one of the new-style commands for coverage.py.Nr,   r   rŽ   úlist[optparse.Option]ÚdescriptionÚusageú
str | Nonec                óÀ   •— |rd|z   }t          ¦   «                              ||¬¦  «         |                      |¬¦  «         |                      |¦  «         || _        dS )a4  Create an OptionParser for a coverage.py command.

        `action` is the slug to put into `options.action`.
        `options` is a list of Option's for the command.
        `description` is the description of the command, for the help text.
        `usage` is the usage string to display in help.

        z%prog ©r¨   r§   )r,   N)r   r€   r‚   r›   Úcmd)r„   r,   rŽ   r§   r¨   r…   s        €r%   r€   zCmdOptionParser.__init__Þ  sv   ø€ ð ð 	%Ø˜uÑ$ˆEÝ‰Œ×ÒØØ#ð 	ñ 	
ô 	
ð 	
ð 	×Ò ÐÑ(Ô(Ð(Ø×Ò˜Ñ!Ô!Ð!ØˆŒˆˆr'   Úotherr   Úboolc                ó    — |d| j         › d�k    S )Nz<CmdOptionParser:ú>)r¬   )r„   r­   s     r%   Ú__eq__zCmdOptionParser.__eq__÷  s   € ð Ð7¨D¬HÐ7Ð7Ð7Ò7Ð7r'   c                ó\   •— t          ¦   «                              ¦   «         }|› d| j        › �S )z>Override of an undocumented function in optparse.OptionParser.r   )r   Úget_prog_namer¬   )r„   Úprogram_namer…   s     €r%   r³   zCmdOptionParser.get_prog_nameþ  s0   ø€ å‘w”w×,Ò,Ñ.Ô.ˆð Ð+Ð+ ¤Ð+Ð+Ð+r'   rš   )r,   r   rŽ   r¦   r§   r   r¨   r©   )r­   r   r   r®   )r   r   )	rI   rJ   rK   rL   r€   r±   Ú__hash__r³   r•   r–   s   @r%   r¥   r¥   Û  s†   ø€ € € € € Ø>Ð>ð !ðð ð ð ð ð ð ð28ð 8ð 8ð 8ð
 €Hð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,r'   r¥   Úannotatez[options] [modules]z¢
            Make annotated copies of the given files, marking statements that are executed
            with > and statements that are missed with !.
            r«   Úcombinez%[options] <path1> <path2> ... <pathN>a|  
            Combine data from multiple coverage files.
            The combined results are written to a single
            file representing the union of the data. The positional
            arguments are data files or directories containing data files.
            If no paths are provided, data files in the default data file's
            directory are combined.
            rZ   z<topic>aê  
            Display information about the internals of coverage.py,
            for diagnosing problems. Topics are:
             'config' to show configuration settings.
             'data [filenames]' to summarize data files.
             'premain' to show what is calling coverage.
             'pybehave' to show internal flags describing Python behavior.
             'sqlite' to show SQLite compilation options.
             'sys' to show installation information.
            Úerasez)Erase previously collected coverage data.)r§   r-   z	[command]zDescribe how to use coverage.pyÚhtmlzÊ
            Create an HTML report of the coverage of the files.
            Each file gets its own page, with the source decorated to show
            executed, excluded, and missed lines.
            Újsonz+Generate a JSON report of coverage results.Úlcovz,Generate an LCOV report of coverage results.Úreportz&Report coverage statistics on modules.Úrunz$[options] <pyfile> [program options]z/Run a Python program, measuring code execution.Úxmlz+Generate an XML report of coverage results.)r¶   r·   rZ   r¸   r-   r¹   rº   r»   r¼   r½   r¾   r“   r©   ÚtopicÚparserúoptparse.OptionParser | Nonerz   c                ó  — | s|s|sJ ‚t           j        d         }|                     t          j        j        dz   ¦  «        rt          j                             |¦  «        }t          j                             |¦  «        }t          j	        r/d}|                     |¦  «        r|dt          |¦  «         …         }t          t          j        ¦  «        }t          |d<   ||d<   t          rd|d<   nd	|d<   | r;t!          | t           j        ¬
¦  «         t!          d|› d�t           j        ¬
¦  «         n¶|rBt!          |                     ¦   «                              ¦   «         ¦  «         t!          ¦   «          nr|€J ‚t)          j        t,                               |d¦  «        ¦  «                             ¦   «         }|rt!           |j        di |¤Ž¦  «         nt!          d|›�¦  «         t!           dj        di |¤Ž¦  «         dS )z-Display an error message, or the named topic.r   z__main__.pyz
-script.pyNr   r´   zwith C extensionÚextension_modifierzwithout C extension)ÚfilezUse 'z help' for help.r.   zDon't know topic z"Full documentation is at {__url__}rv   )ÚsysÚargvÚendswithÚosÚpathÚsepÚdirnameÚbasenamer   ÚWINDOWSÚlenÚdictÚcoverageÚ__dict__r   r   ÚprintÚstderrÚformat_helpÚstripÚtextwrapÚdedentÚHELP_TOPICSÚgetrQ   )r“   r¿   rÀ   Úprogram_pathr´   Úauto_suffixÚhelp_paramsÚhelp_msgs           r%   r’   r’   Ó  s  € ð Ð#�EÐ#˜VÐ#Ð#Ð#å”8˜A”;€LØ×Ò�RœWœ[¨=Ñ8Ñ9Ô9ð 5å”w—’ |Ñ4Ô4ˆÝ”7×#Ò# LÑ1Ô1€LÝ
„{ð =ð #ˆØ× Ò  Ñ-Ô-ð 	=Ø'Ð(;­3¨{Ñ+;Ô+;Ð*;Ð(;Ô<ˆLå•xÔ(Ñ)Ô)€KÝ$€K�	ÑØ".€K�ÑÝð BØ,>ˆÐ(Ñ)Ð)à,AˆÐ(Ñ)àð 1Ýˆe�#œ*Ð%Ñ%Ô%Ð%ÝÐ4�lÐ4Ð4Ð4½3¼:ÐFÑFÔFÐFÐFØ	ð 	1Ýˆf× Ò Ñ"Ô"×(Ò(Ñ*Ô*Ñ+Ô+Ð+Ý‰ŒˆˆàÐ Ð Ð Ý”?¥;§?¢?°5¸"Ñ#=Ô#=Ñ>Ô>×DÒDÑFÔFˆØð 	1Ý�/�(”/Ð0Ð0 KÐ0Ð0Ñ1Ô1Ð1Ð1åÐ/ eÐ/Ð/Ñ0Ô0Ð0Ý	Ð
5Ð
.Ô
5Ð
DÐ
D¸Ð
DÐ
DÑEÔEÐEÐEÐEr'   )r   é   é   c                  óB   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dS )ÚCoverageScriptz*The command-line interface to coverage.py.r   rz   c                ó   — d| _         |  d S )NF)Úglobal_option)r„   s    r%   r€   zCoverageScript.__init__  s   € Ø"ˆÔØÐÐÐr'   rÆ   rŠ   ri   c                ó¤
  — |st          d¬¦  «         t          S |d                              d¦  «        | _        | j        rt	          ¦   «         }nKt
                               |d         ¦  «        }|st          d|d         ›�¦  «         t          S |dd…         }|                     |¦  «        \  }}}|st          S |€J ‚|  	                    |||¦  «        rt          S t          |j        ¦  «        }t          |j        ¦  «        }t          |j        ¦  «        }t          |j        ¦  «        }	t          |j        ¦  «        }
|j        �|j                             d¦  «        }nd}t%          |j        pt(          |j        |j        |j        |j        |j        ||||	|d	|j        |j         ¬
¦  «        | _        |j        dk    r|                      |¦  «        S |j        dk    r | j                             ¦   «          t          S |j        dk    r|                       ||¦  «        S |j        dk    rs|j!        r| j         "                    ¦   «          |pd}| j         #                    |d	tI          |j%        ¦  «        ¬¦  «         | j         &                    ¦   «          t          S tO          tQ          |¦  «        |j)        |||
¬¦  «        }tT          j+         ,                    dd¦  «         | j         "                    ¦   «          | j         #                    dd¬¦  «         d}|j        dk    r8 | j        j-        d$|j.        |j/        |j0        |j1        |j2        |j3        dœ|¤Ž}nð|j        dk    r | j        j4        d$d|j5        i|¤Ž nË|j        dk    r8 | j        j6        d$|j5        |j.        |j0        |j1        |j7        |j8        dœ|¤Ž}nˆ|j        dk    r  | j        j9        d$|j:        |j1        dœ|¤Ž}n]|j        dk    r& | j        j;        d$|j:        |j<        |j7        dœ|¤Ž}n,|j        dk    r | j        j=        d$d|j:        i|¤Ž}nt|          ‚|�ö|j?        � | j         @                    d|j?        ¦  «         |j.        � | j         @                    d |j.        ¦  «         tƒ          t„          | j         C                    d¦  «        ¦  «        }tƒ          tˆ          | j         C                    d ¦  «        ¦  «        }t‹          |||¦  «        r=d! 3                    t�          ||¦  «        ||¬"¦  «        }t�          d#|¦  «         t�          S t          S )%z¯The bulk of the command line interface to coverage.py.

        `argv` is the argument list to process.

        Returns 0 if all is well, 1 if something went wrong.

        Úminimum_help©r¿   r   ú-zUnknown command: rÞ   Nú,T)r~   Údata_suffixÚcover_pylibrs   rP   Úconfig_filerr   rc   r^   rZ   rT   Úcheck_preimportedrU   ÚmessagesrZ   r¸   r½   r·   )Ústrictr_   )Úmorfsr]   rc   r^   rV   r.   Fr¼   )rj   ra   rF   rp   rq   Úoutput_formatr¶   r[   r¹   )r[   rj   rF   rp   rn   rt   r¾   )r>   rp   rº   )r>   Úpretty_printrn   r»   r>   zreport:fail_underzreport:precisionz;total of {total} is less than fail-under={fail_under:.{p}f})Útotalr\   r$   zCoverage failure:rv   )Ir’   ÚOKÚ
startswithrã   r˜   ÚCOMMANDSrÙ   ÚERRr�   Údo_helpÚunshell_listrr   rc   r^   rZ   rV   rT   r"   r   r~   r
   rh   r`   rs   rP   rl   rU   rk   rÐ   r,   Údo_debugr¸   Údo_runrO   Úloadr·   r®   r_   ÚsaverÏ   Úunglob_argsr]   rÅ   rÉ   Úinsertr¼   rj   ra   rF   rp   rq   rQ   r¶   r[   Úhtml_reportrn   rt   Ú
xml_reportr>   Újson_reportrñ   Úlcov_reportÚAssertionErrorr\   Ú
set_optionr   r9   Ú
get_optionri   r   r   rÒ   Ú
FAIL_UNDER)r„   rÆ   rÀ   ÚokrŽ   r‰   rr   rc   r^   rZ   rV   rT   Ú
data_pathsÚreport_argsrò   r\   rj   r�   s                     r%   Úcommand_linezCoverageScript.command_line  sÑ  € ð ð 	Ý˜NÐ+Ñ+Ô+Ð+ÝˆIð
 " !œW×/Ò/°Ñ4Ô4ˆÔØÔð 	Ý'Ñ)Ô)ˆFˆFå—\’\ $ q¤'Ñ*Ô*ˆFØð ÝÐ9¨d°1¬gÐ9Ð9Ñ:Ô:Ð:Ý�
Ø˜˜˜”8ˆDà"×0Ò0°Ñ6Ô6ÑˆˆG�TØð 	ÝˆJØÐ"Ð"Ð"ð �<Š<˜  vÑ.Ô.ð 	ÝˆIõ ˜gœnÑ-Ô-ˆÝ˜GœLÑ)Ô)ˆÝ˜wœÑ/Ô/ˆÝ˜Wœ]Ñ+Ô+ˆÝ Ô 0Ñ1Ô1ˆàÔÐ*Ø!Ô-×3Ò3°CÑ8Ô8ˆKˆKàˆKõ !ØÔ'Ð;Õ+;ØÔ-ØœØ”-Ø”>ØœØØØØØ#Ø"Ø”OØ œÐ&ð
ñ 
ô 
ˆŒð" Œ>˜WÒ$Ð$Ø—=’= Ñ&Ô&Ð&àŒ^˜wÒ&Ð&ØŒM×ÒÑ!Ô!Ð!ÝˆIàŒ^˜uÒ$Ð$Ø—;’;˜w¨Ñ-Ô-Ð-àŒ^˜yÒ(Ð(ØŒ~ð %Ø”×"Ò"Ñ$Ô$Ð$Ø˜ ˆJØŒM×!Ò! *°TÅÀWÄ\Ñ@RÔ@RÐ!ÑSÔSÐSØŒM×ÒÑ Ô Ð ÝˆIõ '+Ý˜dÑ#Ô#Ø!Ô/ØØØð'
ñ '
ô '
ˆõ 	Œ�Š˜˜2ÑÔÐàŒ×ÒÑÔÐØŒ×Ò U°ÐÑ7Ô7Ð7àˆØŒ>˜XÒ%Ð%Ø(�D”MÔ(ð Ø!Ô+Ø$Ô1Ø$Ô1Ø"Ô-Ø”\Ø%œnðð ð ðð ˆEˆEð Œ^˜zÒ)Ð)Ø"ˆDŒMÔ"ÐNÐN¨WÔ->ÐNÀ+ÐNÐNÐNÐNØŒ^˜vÒ%Ð%Ø-�D”MÔ-ð Ø!Ô+Ø!Ô+Ø$Ô1Ø"Ô-Ø%Ô3Ø”mðð ð ðð ˆEˆEð Œ^˜uÒ$Ð$Ø,�D”MÔ,ð ØœØ"Ô-ðð ð ðð ˆEˆEð
 Œ^˜vÒ%Ð%Ø-�D”MÔ-ð ØœØ$Ô1Ø%Ô3ðð ð ð	ð ˆEˆEð Œ^˜vÒ%Ð%Ø-�D”MÔ-ð ð Øœðàðð ˆEˆEõ !Ð àÐð Ô!Ð-Ø”×(Ò(Ð)<¸gÔ>PÑQÔQÐQØÔ Ð,Ø”×(Ò(Ð);¸WÔ=NÑOÔOÐOå�e T¤]×%=Ò%=Ð>QÑ%RÔ%RÑSÔSˆJÝ�S $¤-×":Ò":Ð;MÑ"NÔ"NÑOÔOˆIÝ  ¨
°IÑ>Ô>ð "ØS×ZÒZÝ)¨%°Ñ;Ô;Ø)Øð [ñ ô �õ
 Ð)¨3Ñ/Ô/Ð/Ý!Ð!åˆ	r'   rŽ   úoptparse.Valuesr‰   rÀ   úoptparse.OptionParserr®   c                ó^  — |j         r*| j        rt          d¬¦  «         nt          |¬¦  «         dS |j        dk    rW|rC|D ]?}t                               |¦  «        }|�t          |¬¦  «         Œ/t          |¬¦  «         Œ@nt          d¬¦  «         dS |j        rt          d¬¦  «         dS dS )z`Deal with help requests.

        Return True if it handled the request, False if not.

        r-   ræ   )rÀ   TNru   F)r-   rã   r’   r,   rõ   rÙ   ru   )r„   rŽ   r‰   rÀ   ÚaÚparser_maybes         r%   r÷   zCoverageScript.do_help±  sè   € ð Œ<ð 	ØÔ!ð )Ý Ð'Ñ'Ô'Ð'Ð'å Ð(Ñ(Ô(Ð(Ø�4àŒ>˜VÒ#Ð#Øð (Øð +ð +�AÝ#+§<¢<°¡?¤?�LØ#Ð/Ý!¨Ð6Ñ6Ô6Ð6Ð6å!¨Ð*Ñ*Ô*Ð*Ð*ð+õ  Ð'Ñ'Ô'Ð'Ø�4ð Œ?ð 	Ý˜IÐ&Ñ&Ô&Ð&Ø�4àˆur'   Ú_signumÚ_frameútypes.FrameType | Nonec                óZ   — t          dd¬¦  «         | j                             ¦   «          dS )z&Signal handler to save coverage reportzSaving coverage data...T)ÚflushN)rÒ   rÐ   rü   )r„   r  r  s      r%   Údo_signal_savezCoverageScript.do_signal_save×  s0   € åÐ'¨tÐ4Ñ4Ô4Ð4ØŒ×ÒÑÔÐÐÐr'   c                ó  — |s}|j         rt          d¦  «         t          S t          t          | j                             d¦  «        ¦  «        }|�1t          j        |¦  «        }|r|d         dv rd|_         |dd…         }|st          d¦  «         t          S |j	        r0| j                             d	¦  «        rt          d
¦  «         t          S |j
        dk    r4dD ]1}t          ||¦  «        �t          dd|› d�z   ¦  «         t          c S Œ2dt          j        d<   t          |t          |j         ¦  «        ¬¦  «        }|                     ¦   «          |j	        r| j                             ¦   «          |j        rYt&          j        rt          d¦  «         t          S t          t*          d|j        › �¦  «        }t+          j        || j        ¦  «         | j                             ¦   «          d}	 |                     ¦   «          n# t2          $ r d}‚ w xY w	 | j                             ¦   «          |r| j                             ¦   «          n:# | j                             ¦   «          |r| j                             ¦   «          w w xY wt8          S )z!Implementation of 'coverage run'.zNo module specified for -mzrun:command_lineNr   >   r<   r=   TrÞ   zNothing to do.zrun:parallelz,Can't append to data files in parallel mode.Úmultiprocessing)rP   r^   rc   r`   rr   rs   zROptions affecting multiprocessing must only be specified in a configuration file.
z	Remove --z from the command line.ÚtrueÚCOVERAGE_RUN)Ú	as_modulez*--save-signal is not supported on Windows.ÚSIGF)rb   r’   rö   r   r   rÐ   r  Úshlexr"   rO   rT   ÚgetattrrÈ   Úenvironr   r®   Úpreparerû   rm   r   rÍ   Úsignalr  Ústartr½   r   Ústoprü   ró   )r„   rŽ   r‰   r
  Úopt_nameÚrunnerÚsigÚcode_rans           r%   rú   zCoverageScript.do_runÜ  sÉ  € ð ð 
	$ØŒ~ð åÐ6Ñ7Ô7Ð7Ý�
Ý¥ T¤]×%=Ò%=Ð>PÑ%QÔ%QÑRÔRˆLØÐ'Ý”{ <Ñ0Ô0�Øð $˜D œGÐ'9Ð9Ð9Ø%)�G”NØ   œ8�DØð 	ÝÐ&Ñ'Ô'Ð'ÝˆJàŒ>ð 	˜dœm×6Ò6°~ÑFÔFð 	ÝÐDÑEÔEÐEÝˆJàÔÐ"3Ò3Ð3ð Vð 	ð 	�õ ˜7 HÑ-Ô-Ð9Ýð7àG hÐGÐGÐGñHñô ð õ
 �J�J�Jð :ð &,�Œ
�>Ñ"å˜$­$¨w¬~Ñ*>Ô*>Ð?Ñ?Ô?ˆØ�ŠÑÔÐàŒ>ð 	!ØŒM×ÒÑ Ô Ð àÔð 	4ÝŒ{ð ÝÐFÑGÔGÐGÝ�
Ý�&Ð"=¨Ô(;Ð"=Ð"=Ñ>Ô>ˆCÝŒM˜#˜tÔ2Ñ3Ô3Ð3ð 	Œ×ÒÑÔÐØˆð	%Ø�JŠJ‰LŒLˆLˆLøÝð 	ð 	ð 	ØˆHØð	øøøð ð
 ŒM×ÒÑ Ô Ð Øð %Ø”×"Ò"Ñ$Ô$Ð$øøð ŒM×ÒÑ Ô Ð Øð %Ø”×"Ò"Ñ$Ô$Ð$Ð$ð%øøøõ ˆ	s   Ç0H ÈI ÈHÈI É7Jc                ó:  — |st          d¦  «         t          S |d         dk    r€|dd…         }|s| j        j        j        g}|D ]]}t          t          d¦  «        ¦  «         t          |¦  «         t          |¦  «        D ] }t          d¦  «         t          |¦  «         Œ!Œ^�nq|dd…         r t          d|d         › d�¦  «         t          S |d         d	k    r/t          t
          d	| j         
                    ¦   «         ¦  «         �n|d         d
k    r3t          t
          d
| j        j                             ¦   «         ¦  «         nÍ|d         dk    r:t          t          d¦  «        ¦  «         t          t          d¬¦  «        ¦  «         n‡|d         dk    r(t          t
          dt          j        ¦   «         ¦  «         nS|d         dk    r(t          t
          dt          j
        ¦   «         ¦  «         nt          d|d         ›�¦  «         t          S t          S )z#Implementation of 'coverage debug'.zNWhat information would you like: config, data, sys, premain, pybehave, sqlite?r   ÚdatarÞ   Nz-----z'debug z' takes no additional argumentsrÅ   ÚconfigÚpremainT)ÚfullÚpybehaveÚsqlitezDon't know what you mean by )r’   rö   rÐ   r)  r~   rÒ   r   r   r   r   Úsys_infoÚ
debug_infor   r   r   ró   )r„   r‰   Ú
file_namesr~   Úfilenames        r%   rù   zCoverageScript.do_debug  s*  € ð ð 	ÝðBñô ð õ ˆJà�Œ7�fÒÐØ˜a˜b˜bœˆJØð >Ø"œmÔ2Ô<Ð=�
Ø'ð .ð .�	Ý•k &Ñ)Ô)Ñ*Ô*Ð*Ý 	Ñ*Ô*Ð*Ý 0°Ñ ;Ô ;ð .ð .�HÝ˜'‘N”N�NÝ# HÑ-Ô-Ð-Ð-ð.ñ.ð �A�B�BŒxð ÝÐL D¨¤GÐLÐLÐLÑMÔMÐMÝ�
Ø�AŒw˜%ÒÐÝ$¥U¨E°4´=×3IÒ3IÑ3KÔ3KÑLÔLÐLÑLØ�a”˜HÒ$Ð$Ý$¥U¨H°d´mÔ6J×6UÒ6UÑ6WÔ6WÑXÔXÐXÐXØ�a”˜IÒ%Ð%Ý•k )Ñ,Ô,Ñ-Ô-Ð-Ý•k tÐ,Ñ,Ô,Ñ-Ô-Ð-Ð-Ø�a”˜JÒ&Ð&Ý$¥U¨J½¼Ñ8HÔ8HÑIÔIÐIÐIØ�a”˜HÒ$Ð$Ý$¥U¨HµlÔ6KÑ6MÔ6MÑNÔNÐNÐNåÐD¸¸a¼ÐDÐDÑEÔEÐEÝ�
åˆ	r'   Nrœ   )rÆ   rŠ   r   ri   )rŽ   r  r‰   rŠ   rÀ   r  r   r®   )r  ri   r  r  r   rz   )rŽ   r  r‰   rŠ   r   ri   )r‰   rŠ   r   ri   )
rI   rJ   rK   rL   r€   r
  r÷   r  rú   rù   rv   r'   r%   rá   rá     s�   € € € € € Ø4Ð4ð ð  ð  ð  ðcð cð cð cðJ$ð $ð $ð $ðLð ð ð ð
@ð @ð @ð @ðD'ð 'ð 'ð 'ð 'ð 'r'   rá   Úsúlist[str] | Nonec                óv   — | sdS t           j        r|                      d¦  «        } |                      d¦  «        S )z)Turn a command-line argument into a list.Nú'rè   )r   rÍ   rÕ   r"   )r2  s    r%   rø   rø   H  s:   € àð ØˆtÝ
„{ð ð �GŠG�C‰LŒLˆØ�7Š7�3‰<Œ<Ðr'   r‰   rŠ   c                óº   — t           j        rNg }| D ]G}d|v sd|v r(|                     t          j        |¦  «        ¦  «         Œ2|                     |¦  «         ŒH|} | S )z5Interpret shell wildcards for platforms that need it.ú?Ú*)r   rÍ   ÚextendÚglobrO   )r‰   ÚglobbedÚargs      r%   rý   rý   V  sm   € å
„{ð ØˆØð 	$ð 	$ˆCØ�cˆzˆz˜S C˜Z˜ZØ—’�tœy¨™~œ~Ñ.Ô.Ð.Ð.à—’˜sÑ#Ô#Ð#Ð#ØˆØ€Kr'   aí          Coverage.py, version {__version__} {extension_modifier}
        Measure, collect, and report on code coverage in Python programs.

        usage: {program_name} <command> [options] [args]

        Commands:
            annotate    Annotate source files with execution information.
            combine     Combine a number of data files.
            debug       Display information about the internals of coverage.py
            erase       Erase previously collected coverage data.
            help        Get help on using coverage.py.
            html        Create an HTML report.
            json        Create a JSON report of coverage results.
            lcov        Create an LCOV report of coverage results.
            report      Report coverage stats on modules.
            run         Run a Python program and measure code execution.
            xml         Create an XML report of coverage results.

        Use "{program_name} help <command>" for detailed help on any command.
    zƒ
        Code coverage for Python, version {__version__} {extension_modifier}.
        Use '{program_name} help' for help.
        z7Coverage.py, version {__version__} {extension_modifier})r-   rå   ru   rÆ   ú
int | Nonec                óò  — | €t           j        dd…         } 	 t          ¦   «                              | ¦  «        }n½# t          $ r$}t          j        |j        Ž  t          }Y d}~n”d}~wt          $ r[}|j        d         }|j
        r'|                     d¦  «        › dt          › d|j
        › �}t          |¦  «         t          }Y d}~n1d}~wt          $ r!}|j        r|j        d         }nd}Y d}~nd}~ww xY w|S )z\The main entry point to coverage.py.

    This is installed as the script entry point.

    NrÞ   r   ú.z; see z/messages.html#error-)rÅ   rÆ   rá   r
  r   Ú	tracebackÚprint_exceptionr‰   rö   r   ÚslugÚrstripr   rÒ   Ú
SystemExit)rÆ   ÚstatusÚerrr�   s       r%   ÚmainrG  ƒ  s#  € ð €|ÝŒx˜˜˜Œ|ˆðÝÑ!Ô!×.Ò.¨tÑ4Ô4ˆˆøÝð ð ð õ 	Ô! 3¤8Ð,Ð,ÝˆˆˆˆˆˆøøøøÝð ð ð àŒh�qŒkˆØŒ8ð 	UØ—Z’Z ‘_”_ÐTÐT­GÐTÐTÈ#Ì(ÐTÐTˆCÝˆc‰
Œ
ˆ
ÝˆˆˆˆˆˆøøøøÝð ð ð àŒ8ð 	Ø”X˜a”[ˆFˆFàˆFøøøøøøøøøðøøøð €Ms.   ˜!: º
C4ÁA#Á#C4Á0ACÃC4ÃC/Ã/C4c                ób   — t          t          j        d¦  «        ¦  «         t          | ¦  «        S )z)For entry points we'll be getting rid of.zÝ            **
            ** This entry point is deprecated and will be removed.
            ** Send me an email if you want to keep this command name working:
            ** ned@nedbatchelder.com
            **
        )rÒ   rÖ   r×   rG  )rÆ   s    r%   Úmain_deprecatedrI  £  s6   € å	ÝŒð ñ 	ô 	ñô ð õ �‰:Œ:Ðr'   r£   )NNN)r“   r©   r¿   r©   rÀ   rÁ   r   rz   )r2  r   r   r3  )r‰   rŠ   r   rŠ   rš   )rÆ   r3  r   r=  )frL   Ú
__future__r   r:  rM   rÈ   Úos.pathr  r   rÅ   rÖ   r@  ÚtypesÚtypingr   r   r   rÐ   r   r   Úcoverage.configr	   Úcoverage.controlr
   Úcoverage.corer   Úcoverage.datar   r   r   Úcoverage.debugr   r   r   Úcoverage.exceptionsr   r   r   Úcoverage.execfiler   Úcoverage.resultsr   r   Úcoverage.versionr   r(   r*   ÚOptionParserrx   r˜   ÚIndentedHelpFormatterr�   r¥   rZ   r-   rl   ÚGLOBAL_ARGSr[   rX   r]   r^   rc   rO   rW   r_   rk   rV   r\   rj   rn   rF   ro   rp   rt   re   rg   rf   rQ   rq   ra   rP   rT   rU   rY   rb   r`   rh   rm   rr   rs   rd   rõ   r’   ró   rö   r  rá   rø   rý   rØ   rG  rI  rv   r'   r%   ú<module>rZ     su  ðð ,Ð +à "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø €€€Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à €€€Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø *Ð *Ð *Ð *Ð *Ð *Ø -Ð -Ð -Ð -Ð -Ð -Ø &Ð &Ð &Ð &Ð &Ð &Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ &Ð &Ð &Ð &Ð &Ð &Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø $Ð $Ð $Ð $Ð $Ð $ðDð Dð Dð DðFð Fð Fð Fð Fñ Fô Fð FðR
H%ð H%ð H%ð H%ð H%˜8Ô0ñ H%ô H%ð H%ðV
ð 
ð 
ð 
ð 
Ð-ñ 
ô 
ð 
ð
;ð 
;ð 
;ð 
;ð 
;˜XÔ;ñ 
;ô 
;ð 
;ð(,ð (,ð (,ð (,ð (,Ð*ñ (,ô (,ð (,ðd 	„JØ„IØ„Kð€ð  �ØàŒNØÔØÔØŒLØŒIð	
ð ñ	ð $Ø�Iðñ
ô 
ðñ ô ð$ ˆØàŒKØŒMØŒIØŒJð		
ð ñ	ð 6Ø�Iðñ	
ô 	
ðñ ô ð* ˆ_ØØØØ�Ið	ñ
ô 
ð	ñ ô ð" ˆ_ØàŒMð	
ð ñ	ð @ðñ ô ð ˆOØØØØ5ð	ñ ô ð ˆOØàŒMØŒNØÔØŒOØÔØŒLØŒIØŒNØŒJØÔØÔØÔ ØŒOØŒJð	
ð  ñ!	ð" $Ø�Iðñ
ô 
ð)ñ ô ð8 ˆOØàŒMØÔØŒOØÔØŒLØŒIØÔØÔ"ØŒJØÔð	
ð ñ	ð $ØAð!ñ ô ð$ ˆOØàÔØŒOØÔØŒLØÔØŒIØŒJð	
ð ñ		ð $ØBðñ ô ð ˆoØàŒMØÔØŒOØŒKØÔØŒLØŒIØŒNØŒIØÔØÔØÔ ØŒOð	
ð ñ	ð  $Ø<ð'ñ ô ð* ˆ?ØàŒKØŒKØÔØŒLØÔ ØŒLØŒKØŒIØŒJØÔØÔØŒKØŒJð	
ð ñ	ð  5ØEð'ñ ô ð* ˆ?ØàÔØŒOØÔØŒLØŒIØŒOØŒJØŒOð		
ð ñ
	ð $ØAðñ ô ð]~ð ~€ðD ØØ+/ð,Fð ,Fð ,Fð ,Fð ,Fð^ Ñ €€Cˆð@ð @ð @ð @ð @ñ @ô @ð @ðF
ð ð ð ð
ð 
ð 
ð 
ðð* �Ið	ñô ð Ið9ð €ð@ð ð ð ð ð@ð ð ð ð ð ð r'   