§ {<ˆjC&ãóP—dZddlmZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z mZmZmZmZddlmZmZddlmZmZmZddlmZdd lmZdd lmZdd lm Z dd l!m"Z"erdd lm#Z#ee¦«ZdZ$d!d„Z%e Gd„d¦«¦«Z&d"d„Z'Gd„d¦«Z(d#d „Z)dS)$zXML reporting for coverage.pyé)Ú annotationsN)Ú dataclass)ÚAnyÚDictÚIOÚIterableÚOptionalÚ TYPE_CHECKING)Ú __version__Úfiles)Úisolate_moduleÚ human_sortedÚhuman_sorted_items)Ú FileReporter)Úget_analysis_to_report)ÚAnalysis)ÚTMorf)Ú__url__)ÚCoveragezQhttps://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtdÚhitÚintÚnumÚreturnÚstrcó"—|dkrdSd||z zS)z0Return the fraction of `hit`/`num`, as a string.rÚ1z%.4g©)rrs úf/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/coverage/xmlreport.pyÚrater"s€à ˆa‚x€x؈sà˜˜s™Ñ#Ð#ócóF—eZdZUdZded<ded<ded<ded<ded<d S) Ú PackageDataz2Data we keep about each "package" (in Java terms).z"Dict[str, xml.dom.minidom.Element]ÚelementsrÚhitsÚlinesÚbr_hitsÚbranchesN)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú__annotations__rr rr"r"*sF€€€€€€à<Ð<Ø0Ð0Ð0Ñ0Ø €I€I�IØ€J€J�JØ€L€L�LØ€M€M�M€M€Mr r"ÚparentrÚchildÚNonecó0—| |¦«dS)z=Append a child to a parent, in a way mypy will shut up about.N)Ú appendChild)r-r.s rr1r14s€à ×Ò�uÑÔÐÐÐr có0—eZdZdZdZdd„Zddd„Zdd„ZdS)Ú XmlReporterzs³€Ø ˆŒ Ø”mÔ*ˆŒ å™EœEˆÔØ Œ;Ô ð /Ø”{Ô)ð /ð /�Ý”7—>’> #Ñ&Ô&ð/Ø”{Ô1ð<Ø!Ÿjšj¨Ñ/Ô/˜˜å#Ô6°sÑ;Ô;˜ØÔ%×)Ò)¨#Ñ.Ô.Ð.øØ02ˆŒ Ø Ð.Ð.Ð.r NÚmorfsúOptional[Iterable[TMorf]]ÚoutfileúOptional[IO[str]]Úfloatc óº —|p tj}|j ¦« ¦«}t jj ¦«}|€J‚|  ddd¦«|_ |j j }|  dt¦«|  dttt!j¦«dz¦«¦«¦«| |j  dt&›d�¦«¦«| |j  dt(›d�¦«¦«t+|j|¦«D]\}}| |||¦«Œ|j  d ¦«}| |¦«t1|j¦«D]V} |j  d ¦«} t#|| ¦«|j  | ¦«} t#| | ¦«ŒWd \} } d \}}|j  d ¦«}| |¦«t7|j ¦«¦«D�]k\}}|j  d ¦«}t#||¦«|j  d¦«}t#||¦«t7|j ¦«¦«D]\}}t#||¦«Œ|  d| t@j!d¦«¦«|  dtE|j#|j$¦«¦«|rtE|j%|j&¦«}nd}|  d|¦«|  dd¦«| |j#z } | |j$z } ||j%z }||j&z }�Œm|  dt| ¦«¦«|  dt| ¦«¦«|  dtE| | ¦«¦«|rk|  dt|¦«¦«|  dt|¦«¦«|  dtE||¦«¦«nB|  dd¦«|  dd¦«|  dd¦«|  dd¦«| 'tQ|j ¦«¦«| |z}|dkrd}n d| |zz|z }|S)z¯Generate a Cobertura-compatible XML report for `morfs`. `morfs` is a list of modules or file names. `outfile` is a file object to write the XML to. Nr4ÚversionÚ timestampièz Generated by coverage.py: ú z Based on Úsourcesr:)rrrBÚpackageÚclassesÚnameú.ú line-rateÚ0ú branch-rateÚ complexityz lines-validz lines-coveredzbranches-validzbranches-coveredrggY@))ÚsysÚstdoutr4Úget_dataÚhas_arcsÚxmlÚdomÚminidomÚgetDOMImplementationÚcreateDocumentÚxml_outÚdocumentElementÚ setAttributer rrÚtimer1Ú createCommentrÚDTD_URLrÚxml_fileÚ createElementrr9ÚcreateTextNoderrBÚitemsr#Úreplacer;Úseprr$r%r&r'ÚwriteÚ serialize_xml)rCrFrHr[ÚimplÚ xcoverageÚfrÚanalysisÚxsourcesr<ÚxsourceÚtxtÚlnum_totÚ lhits_totÚbnum_totÚ bhits_totÚ xpackagesÚpkg_nameÚpkg_dataÚxpackageÚxclassesÚ_Ú class_eltÚ branch_rateÚdenomÚpcts rÚreportzXmlReporter.reportNs €ðÐ'�SœZˆØ”=×)Ò)Ñ+Ô+×4Ò4Ñ6Ô6ˆõŒwŒ×3Ò3Ñ5Ô5ˆØÐÐÐØ×*Ò*¨4°¸TÑBÔBˆŒ ð”LÔ0ˆ Ø×Ò˜y­+Ñ6Ô6Ð6Ø×Ò˜{­CµµD´I±K´KÀÑ4DÑ0EÔ0EÑ,FÔ,FÑGÔGÐGØ×Ò˜dœl×8Ò8Ø 4­'Ð 4Ð 4Ð 4ñ ô ñ ô ð ð ×Ò˜dœl×8Ò8Ð9PÅgÐ9PÐ9PÐ9PÑQÔQÑRÔRÐRõ3°4´=À%ÑHÔHð 2ð 2‰LˆB�Ø �MŠM˜"˜h¨Ñ 1Ô 1Ð 1Ð 1à”<×-Ò-¨iÑ8Ô8ˆØ×Ò˜hÑ'Ô'Ð'õ! Ô!2Ñ3Ô3ð &ð &ˆDØ”l×0Ò0°Ñ:Ô:ˆGÝ ˜ 'Ñ *Ô *Ð *Ø”,×-Ò-¨dÑ3Ô3ˆCÝ ˜ Ñ %Ô %Ð %Ð %à"ш�)Ø"ш�)à”L×.Ò.¨zÑ:Ô:ˆ Ø×Ò˜iÑ(Ô(Ð(õ#5°T´]×5HÒ5HÑ5JÔ5JÑ"KÔ"Kð *ñ *Ñ ˆH�hØ”|×1Ò1°)Ñ<Ô<ˆHÝ ˜  8Ñ ,Ô ,Ð ,Ø”|×1Ò1°)Ñ<Ô<ˆHÝ ˜ (Ñ +Ô +Ð +Ý 2°8Ô3D×3JÒ3JÑ3LÔ3LÑ MÔ Mð 1ð 1‘ ��9ݘH iÑ0Ô0Ð0Ð0Ø × !Ò ! &¨(×*:Ò*:½2¼6À3Ñ*GÔ*GÑ HÔ HÐ HØ × !Ò ! +­t°H´MÀ8Ä>Ñ/RÔ/RÑ SÔ SÐ SØð "Ý" 8Ô#3°XÔ5FÑGÔG� � à!� Ø × !Ò ! -°Ñ =Ô =Ð =Ø × !Ò ! ,°Ñ 4Ô 4Ð 4à ˜œÑ &ˆIØ ˜œÑ &ˆHØ ˜Ô)Ñ )ˆIØ ˜Ô)Ñ )ˆH‰Hà×Ò˜}­c°(©m¬mÑ<Ô<Ð<Ø×Ò˜µ°I±´Ñ?Ô?Ð?Ø×Ò˜{­D°¸HÑ,EÔ,EÑFÔFÐFØ ð 7Ø × "Ò "Ð#3µS¸±]´]Ñ CÔ CÐ CØ × "Ò "Ð#5µs¸9±~´~Ñ FÔ FÐ FØ × "Ò " =µ$°yÀ(Ñ2KÔ2KÑ LÔ LÐ LÐ Là × "Ò "Ð#5°sÑ ;Ô ;Ð ;Ø × "Ò "Ð#3°SÑ 9Ô 9Ð 9Ø × "Ò " =°#Ñ 6Ô 6Ð 6Ø×Ò˜|¨SÑ1Ô1Ð1ð � Š •m D¤LÑ1Ô1Ñ2Ô2Ð2ð˜8Ñ#ˆØ �AŠ:ˆ:؈CˆCà˜9 yÑ0Ñ1°EÑ9ˆC؈ r rqrrrrr[Úboolc ó —|jjr|jjdkrdS|j dd¦«}|jD]j}|jjstj |¦«}|  | dd¦«dz¦«r|t|¦«dzd…}nqŒk|  ¦« dd¦«}|j  |jdt|¦« … d¦«¦«tj |¦«pd}d | d¦«d|jj…¦«}| dd¦«}|j |t/idddd¦«¦«} |j d¦«} t5| |j d ¦«¦«|j d ¦«} t5| | ¦«|  d tj ||¦«¦«|  d | dd¦«¦«|  d d¦«| ¦«} | ¦«} t?|j ¦«D�]}|j d¦«}| dtC|¦«¦«| dtCtE||j#v¦«¦«¦«|r†|| vrC| |\}}| dd¦«| ddd|z|z||fz¦«|| vr;d„| |D¦«}| dd |¦«¦«t5| |¦«�Œt|j ¦«}|t|j#¦«z }|r\tId„|  %¦«D¦«¦«}tId„|  %¦«D¦«¦«}||z }nd}d}|  dtM||¦«¦«|rtM||¦«}nd}|  d|¦«| | j'|<| xj(|z c_(| xj)|z c_)| xj*|z c_*| xj+|z c_+dS)z(Add to the XML report for a single file.rNú\ú/ér6rSÚclassÚmethodsr%rRÚfilenamerWrUÚlineÚnumberr$ÚbranchÚtruezcondition-coveragez %d%% (%d/%d)édcó<—g|]}|dkrdnt|¦«‘ŒS)rÚexit)r)Ú.0Úbs rú z(XmlReporter.xml_file..äs*€Ð_Ð_Ð_À¨!¨aª%¨%  µS¸±V´VÐ_Ð_Ð_r zmissing-branchesú,c3ó K—|] \}}|V—Œ dS©Nr©r”ÚtÚks rú z'XmlReporter.xml_file..ìs&èè€Ð EÐ E¡t q¨! Ð EÐ EÐ EÐ EÐ EÐ Er c3ó&K—|] \}}||z V—Œ dSr™rršs rr�z'XmlReporter.xml_file..ís*èè€Ð"KÐ"K©T¨Q° 1 q¡5Ð"KÐ"KÐ"KÐ"KÐ"KÐ"Kr rTrV),r7Ú skip_emptyÚnumbersÚ n_statementsrŒrkr9r>r r@Ú startswithÚlenÚrelative_filenamerAr?r;r<ÚdirnameÚjoinÚsplitÚxml_package_depthrBÚ setdefaultr"rarhr1rcÚrelpathÚ branch_statsÚmissing_branch_arcsÚsortedÚ statementsrrÚmissingÚsumÚvaluesrr#r$r%r&r')rCrqrrr[rŒÚ source_pathÚrel_namer¥Ú package_namerPÚxclassÚxlinesr«r¬r�ÚxlineÚtotalÚtakenÚannlinesÚ class_linesÚ class_hitsÚclass_branchesÚmissing_branchesÚ class_br_hitsr�s rrgzXmlReporter.xml_fileªs€ð Œ;Ô !ð ØÔÔ,°Ò1Ð1Ø�ð”;×&Ò& t¨SÑ1Ô1ˆØÔ,ð Nð NˆKØ”;Ô-ð DÝ#Ô6°{ÑCÔC� Ø×"Ò" ;×#6Ò#6°t¸SÑ#AÔ#AÀCÑ#GÑHÔHð Ø#¥C¨ Ñ$4Ô$4°QÑ$6Ð$7Ð$7Ô8�Ø�ð ð×+Ò+Ñ-Ô-×5Ò5°d¸CÑ@Ô@ˆHØ Ô × !Ò ! "¤+¨oµ°H± ´ ¨~¨oÔ">×"EÒ"EÀeÑ"LÔ"LÑ MÔ MÐ Må”'—/’/ (Ñ+Ô+Ð2¨sˆØ—(’(˜7Ÿ=š=¨Ñ-Ô-Ð.L¨t¬{Ô/LÐ.LÔMÑNÔNˆØ—’ s¨CÑ0Ô0ˆ à”-×*Ò*¨<½ÀRÈÈAÈqÐRSÑ9TÔ9TÑUÔUˆà*.¬,×*DÒ*DÀWÑ*MÔ*Mˆå�F˜DœL×6Ò6°yÑAÔAÑBÔBÐBà”×+Ò+¨GÑ4Ô4ˆÝ�F˜FÑ#Ô#Ð#à×Ò˜F¥B¤G§O¢O°H¸gÑ$FÔ$FÑGÔGÐGØ×Ò˜J¨×(8Ò(8¸¸sÑ(CÔ(CÑDÔDÐDØ×Ò˜L¨#Ñ.Ô.Ð.à×,Ò,Ñ.Ô.ˆ Ø&×:Ò:Ñ<Ô<Ðõ˜8Ô.Ñ/Ô/ð 'ñ 'ˆDØ”L×.Ò.¨vÑ6Ô6ˆEØ × Ò ˜x­¨T©¬Ñ 3Ô 3Ð 3ð × Ò ˜v¥s­3¨t¸8Ô;KÐ/KÑ+LÔ+LÑ'MÔ'MÑ NÔ NÐ Nàð Oؘ<Ð'Ð'Ø#/°Ô#5‘L�E˜5Ø×&Ò& x°Ñ8Ô8Ð8Ø×&Ò&Ø,Ø&¨#¨e©)°UÑ*:¸EÀ5Ð)IÑIñôððÐ.Ð.Ð.Ø_Ð_ÐEXÐY]ÔE^Ð_Ñ_Ô_�HØ×&Ò&Ð'9¸3¿8º8ÀHÑ;MÔ;MÑNÔNÐNÝ ˜ Ñ &Ô &Ð &Ñ &å˜(Ô-Ñ.Ô.ˆ Ø ¥3 xÔ'7Ñ#8Ô#8Ñ8ˆ à ð Ý Ð EÐ E¨|×/BÒ/BÑ/DÔ/DÐ EÑ EÔ EÑEÔEˆNÝ"Ð"KÐ"K°\×5HÒ5HÑ5JÔ5JÐ"KÑ"KÔ"KÑKÔKÐ Ø*Ð-=Ñ=ˆMˆMàˆN؈Mð ×Ò˜K­¨j¸+Ñ)FÔ)FÑGÔGÐGØ ð ݘ}¨nÑ=Ô=ˆKˆKàˆKØ×Ò˜M¨;Ñ7Ô7Ð7à%+ˆÔ˜Ñ"؈ Œ ˜ Ñ"ˆ Œ ؈ Œ ˜Ñ$ˆ Œ ؈Œ˜=Ñ(ˆŒØÐÔ˜NÑ*ÐÔÐÐr )r4rrr/r™)rFrGrHrIrrJ)rqrrrrr[r…rr/)r(r)r*r+Ú report_typerEr„rgrr rr3r39sl€€€€€ØFÐFà€Kð/ð/ð/ð/ð ZðZðZðZðZðxU+ðU+ðU+ðU+ðU+ðU+r r3r]úxml.dom.minidom.Documentcó*—| ¦«S)z Serialize a minidom node to XML.)Ú toprettyxml)r]s rrnrns€à �?Š?Ñ Ô Ðr )rrrrrr)r-rr.rrr/)r]rÁrr)*r+Ú __future__rr;Úos.pathrXrdÚxml.dom.minidomr\Ú dataclassesrÚtypingrrrrr r r4r r Ú coverage.miscr rrÚcoverage.pluginrÚcoverage.report_corerÚcoverage.resultsrÚcoverage.typesrÚcoverage.versionrrrfrr"r1r3rnrr rúrÏsýðð$Ð#à"Ð"Ð"Ð"Ð"Ð"à € € € Ø€€€Ø € € € Ø € € € ØÐÐÐà!Ð!Ð!Ð!Ð!Ð!ØCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCà'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ØJÐJÐJÐJÐJÐJÐJÐJÐJÐJØ(Ð(Ð(Ð(Ð(Ð(Ø7Ð7Ð7Ð7Ð7Ð7Ø%Ð%Ð%Ð%Ð%Ð%Ø Ð Ð Ð Ð Ð Ø$Ð$Ð$Ð$Ð$Ð$àð"Ø!Ð!Ð!Ð!Ð!Ð!à€^�BÑÔ€ð ^€ð$ð$ð$ð$ð ðððððñôñ „ðððððð F+ðF+ðF+ðF+ðF+ñF+ôF+ðF+ðRðððððr