+
    Û1jq  ã                   óF  € R t  ^ RIt ! R R4      t ! R R]4      t ! R R]4      tR t ! R	 R
]4      t ! R R]4      t	 ! R R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      tR t ! R R4      t ! R R]4      t ! R R]4      tR#   ] d    ^ RIt L—i ; i)zNThis provides a restricted tag language to define the sos report
index/report
Nc                   ó0   a € ] tR t^t o / tR tR tRtV tR# )ÚNodec                óB   € \         P                  ! V P                  4      # ©N)ÚjsonÚdumpsÚdata©Úselfs   &Ú6/usr/lib/python3/dist-packages/sos/report/reporting.pyÚ__str__ÚNode.__str__   s   € Ü�zŠz˜$Ÿ)™)Ó$Ð$ó    c                ó   € R # )F© ©r
   Únodes   &&r   Úcan_addÚNode.can_add   s   € Ùr   r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € à€Dò%÷ð r   r   c                   ó   € ] tR t^"tRtRtR# )ÚLeafz0Marker class that can be added to a Section noder   N)r   r   r   r   Ú__doc__r   r   r   r   r   r   "   s   † Ý:r   r   c                   ó6   a € ] tR t^&t o RtR tR tR tRtV t	R# )ÚReportz?The root element of a report. This is a container for sections.c                ó   € / V n         R # r   ©r   r	   s   &r   Ú__init__ÚReport.__init__)   s	   € ØˆŽ	r   c                ó"   € \        V\        4      # r   )Ú
isinstanceÚSectionr   s   &&r   r   ÚReport.can_add,   s   € Ü˜$¤Ó(Ð(r   c                ó�   € V F?  pV P                  V4      '       g   K  VP                  V P                  VP                  &   KA  	  R # r   )r   r   Úname©r
   Únodesr   s   &* r   ÚaddÚ
Report.add/   s1   € ÛˆDØ�|‰|˜D×!Ô!Ø'+§y¡y�—	‘	˜$Ÿ)™)Ó$ó r   r#   N©
r   r   r   r   r   r$   r   r.   r   r   r   s   @r   r!   r!   &   s   ø‡ € ÙIòò)÷1ð 1r   r!   c                óV   € \        V \        4      '       d   V # V P                  RR4      # )z3returns a string text for a given unicode/str inputÚutf8Úignore©r'   ÚstrÚdecode)Úss   &r   Ú_decoder8   5   s$   € ä˜Aœs×#Ò#ˆAÐD¨¯©°&¸(Ó)CÐDr   c                   ó6   a € ] tR t^:t o RtR tR tR tRtV t	R# )r(   zaA section is a container for leaf elements. Sections may be nested
inside of Report objects only.c                ó4   € \        V4      V n        / V n        R # r   )r8   r+   r   )r
   r+   s   &&r   r$   ÚSection.__init__>   s   € Ü˜D“MˆŒ	ØˆŽ	r   c                ó"   € \        V\        4      # r   )r'   r   r   s   &&r   r   ÚSection.can_addB   s   € Ü˜$¤Ó%Ð%r   c                óÈ   € V F[  pV P                  V4      '       g   K  V P                  P                  VP                  . 4      P	                  VP                  4       K]  	  R # r   )r   r   Ú
setdefaultÚADDS_TOÚappendr,   s   &* r   r.   ÚSection.addE   sB   € ÛˆDØ�|‰|˜D×!Ô!Ø—	‘	×$Ñ$ T§\¡\°2Ó6×=Ñ=¸d¿i¹iÖHó r   )r   r+   Nr0   r   s   @r   r(   r(   :   s    ø‡ € ñ&òò&÷Ið Ir   r(   c                   ó*   a € ] tR t^Kt o RtR tRtV tR# )ÚCommandÚcommandsc                óD   € R \        V4      RVR\        V4      /V n        R# )r+   Úreturn_codeÚhrefN©r8   r   )r
   r+   rG   rH   s   &&&&r   r$   ÚCommand.__init__O   s"   € ØœW T›]Ø" KØœW T›]ð,ˆŽ	r   r#   N©r   r   r   r   r@   r$   r   r   r   s   @r   rD   rD   K   s   ø‡ € à€G÷,ð ,r   rD   c                   ó*   a € ] tR t^Ut o RtR tRtV tR# )Ú
CopiedFileÚcopied_filesc                ó@   € R \        V4      R\        V4      /V n        R# ©r+   rH   NrI   ©r
   r+   rH   s   &&&r   r$   ÚCopiedFile.__init__Y   ó   € ØœW T›]ØœW T›]ð,ˆŽ	r   r#   NrK   r   s   @r   rM   rM   U   s   ø‡ € à€G÷,ð ,r   rM   c                   ó*   a € ] tR t^^t o RtR tRtV tR# )ÚCreatedFileÚcreated_filesc                ó@   € R \        V4      R\        V4      /V n        R# rP   rI   rQ   s   &&&r   r$   ÚCreatedFile.__init__b   rS   r   r#   NrK   r   s   @r   rU   rU   ^   s   ø‡ € à€G÷,ð ,r   rU   c                   ó*   a € ] tR t^gt o RtR tRtV tR# )ÚAlertÚalertsc                ó&   € \        V4      V n        R # r   rI   ©r
   Úcontents   &&r   r$   ÚAlert.__init__k   ó   € Ü˜GÓ$ˆŽ	r   r#   NrK   r   s   @r   rZ   rZ   g   s   ø‡ € à€G÷%ð %r   rZ   c                   ó*   a € ] tR t^ot o RtR tRtV tR# )ÚNoteÚnotesc                ó&   € \        V4      V n        R # r   rI   r]   s   &&r   r$   ÚNote.__init__s   r`   r   r#   NrK   r   s   @r   rb   rb   o   s   ø‡ € à€G÷%ð %r   rb   c                ó$   € V P                  R4      # )zóReturn True if 'string' ends with a backslash, and False otherwise.

Define this as a named function for no other reason than that pep8
now forbids binding of a lambda expression to a name:

'E731 do not assign a lambda expression, use a def'
Ú\)Úendswith)Ústrings   &r   Úends_bsrj   w   s   € ð �?‰?˜4Ó Ð r   c                   ó    a € ] tR t^‚t o RtRtRtRtRtRt	Rt
RtRt^tRtR	tRt]]R
R3]]RR3]]RR3]]RR3]]	RR33t. tR tR tR tRtV tR# )ÚPlainTextReportz@Will generate a plain text report from a top_level Report objectÚ z  * %(name)sz  ! %sz  * %szLoaded Plugins:z
  %(name)sÚ
z%(name)sz-  commands executed:z-  files copied:z-  files created:z
-  alerts:z	-  notes:c                ó`   € \        \        P                  VP                  4      4      V n        R # r   )ÚsortedÚdictÚitemsr   Úreport_data)r
   Úreport_nodes   &&r   r$   ÚPlainTextReport.__init__œ   s   € Ü!¤$§*¡*¨[×-=Ñ-=Ó">Ó?ˆÖr   c           	     ó¸  € . ;V n         p\        V P                  4      ^ 8”  d   VP                  V P                  4       VP                  V P                  4       Rp^ p\        V P
                  4      pV P
                   F\  w  rVW P                  RV/,          ,          pV^,          pW0P                  ,          ^ 8X  g   KB  W48  g   KJ  W P                  ,          pK^  	  W P                  ,          pVP                  V4       V P
                   Fw  w  rWVP                  V P                  4       VP                  V P                  RV/,          4       V P                   F#  w  r‰r«V P                  WxP                  W©V4       K%  	  Ky  	  \        V P                  4      ^ 8”  d   VP                  V P                  4       RP!                  \#        R V4      4      pV# )é    rm   r+   rn   c                 óV   € \        V \        4      '       d   V # V P                  R R4      # )r2   r3   r4   )Úis   &r   Ú<lambda>Ú)PlainTextReport.unicode.<locals>.<lambda>¼   s*   € ¬z¸!¼S×/AÒ/A¨!ð +JØ/0¯x©x¸ÀÓ/Ið+Jr   )Úline_bufÚlenÚHEADERrA   ÚPLUGLISTHEADERrs   ÚPLUGLISTITEMÚPLUGLISTMAXITEMSÚPLUGLISTSEPÚPLUGLISTFOOTERÚPLUGDIVIDERÚPLUGINFORMATÚsubsectionsÚprocess_subsectionr@   ÚFOOTERÚjoinÚmap)r
   r|   Úlinery   Ú	plugcountÚsection_nameÚ_Úsection_contentsÚtype_Úformat_ÚheaderÚfooterÚoutputs   &            r   ÚunicodeÚPlainTextReport.unicodeŸ   s‰  € Ø#%Ð%ˆŒ˜äˆt�{‰{Ó˜aÔØ�O‰O˜DŸK™KÔ(ð 	�‰˜×+Ñ+Ô,ØˆØˆÜ˜×(Ñ(Ó)ˆ	Ø#×/Ô/‰OˆLØ×%Ñ%¨°Ð(>Õ>Õ>ˆDØ��FˆAØ×)Ñ)Õ)¨QÖ.°Q¶]Ø×(Ñ(Õ(’ñ	  0ð
 	×#Ñ#Õ#ˆØ�‰˜Ôà.2×.>Ô.>Ñ*ˆLØ�O‰O˜D×,Ñ,Ô-Ø�O‰O˜D×-Ñ-°¸Ð0FÕFÔGØ26×2BÔ2BÑ.� Ø×'Ñ'Ð(8¿-¹-Ø(.¸öAó 3Cñ /?ô ˆt�{‰{Ó˜aÔØ�O‰O˜DŸK™KÔ(à—‘œ3ñ  Kà'ó)ó *ˆð ˆr   c                ó0  € W!9   d�   V P                   P                  V4       \        VP                  V4      R  R7       F$  pV P                   P                  WF,          4       K&  	  \	        V4      ^ 8”  d   V P                   P                  V4       R# R# R# )c                 óD   € \        V \        4      '       d
   V R ,          # R# )r+   rm   )r'   rq   )Úxs   &r   rz   Ú4PlainTextReport.process_subsection.<locals>.<lambda>Æ   s   € ¬z¸!¼T×/BÒ/B ! F¥)Ð"JÈÐ"Jr   )ÚkeyN)r|   rA   rp   Úgetr}   )r
   Úsectionr›   r’   r‘   r“   Úitems   &&&&&& r   r‡   Ú"PlainTextReport.process_subsectionÁ   sv   € ØŒ>Ø�M‰M× Ñ  Ô(ÜØ—K‘K Ó$ÙJ÷�ð —‘×$Ñ$ W¥^Ö4ñ	ô
 �6‹{˜QŒØ—‘×$Ñ$ VÖ,ñ ñ r   )r|   rs   NzH========================================================================)r   r   r   r   r   r~   rˆ   ÚLEAFÚALERTÚNOTEr   r€   r‚   r�   rƒ   r…   r„   rD   rM   rU   rZ   rb   r†   r|   r$   r•   r‡   r   r   r   s   @r   rl   rl   ‚   sª   ø‡ € ÙJà€FØ€FØ€DØ€EØ€DØ&€NØ€LØ€KØÐØ€NØ€LØ€Kð 
�$Ð4°bÐ9Ø	�TÐ/°bÐ9Ø	�dÐ0°bÐ9Ø	�˜\°bÐ9Ø	ˆt˜[°bÐ9ð€Kð €Hò@ò ÷D	-ð 	-r   rl   c                   ó€   € ] tR t^ÍtRtRtRtRtRtRt	Rt
RtRt^tR	tR
tRt]]RR3]]RR3]]RR3]]RR3]]	RR33tRtR# )Ú
HTMLReportz:Will generate a HTML report from a top_level Report objectaÿ  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
        <head>
            <meta http-equiv="Content-Type" content="text/html;
                  charset=utf-8" />
            <title>Sos System Report</title>
            <style type="text/css">
                td {
                    padding: 0 5px;
                   }
            </style>
        </head>
        <body>
z</body></html>z(<li><a href="%(href)s">%(name)s</a></li>z<li>%s</li>z#<h3>Loaded Plugins:</h3><table><tr>z*<td><a href="#%(name)s">%(name)s</a></td>
z
</tr>
<tr>z</tr></table>z/<h2 id="%(name)s">Plugin <em>%(name)s</em></h2>z<hr/>
z<p>Commands executed:</p><ul>z</ul>z<p>Files copied:</p><ul>z<p>Files created:</p><ul>z<p>Alerts:</p><ul>z<p>Notes:</p><ul>r   N)r   r   r   r   r   r~   rˆ   r    r¡   r¢   r   r€   r‚   r�   rƒ   r…   r„   rD   rM   rU   rZ   rb   r†   r   r   r   r   r¤   r¤   Í   s�   † ÙDð€Fð €FØ5€DØ€EØ€DØ:€NØ@€LØ€KØÐØ$€NØD€LØ€Kð 
�$Ð<¸gÐFØ	�TÐ7¸gÐFØ	�dÐ8¸gÐFØ	�Ð1¸gÐFØ	ˆtÐ0¸gÐFð„Kr   r¤   c                   ó*   a € ] tR t^ót o RtR tRtV tR# )Ú
JSONReportz:Will generate a JSON report from a top_level Report objectc                óL   € \         P                  ! V P                  ^RR7      pV# )é   F)ÚindentÚensure_ascii)r   r   rs   )r
   r”   s   & r   r•   ÚJSONReport.unicodeö   s   € Ü—’˜D×,Ñ,°QÀUÔKˆØˆr   r   N)r   r   r   r   r   r•   r   r   r   s   @r   r¦   r¦   ó   s   ø‡ € ÙD÷ð r   r¦   )r   r   ÚImportErrorÚ
simplejsonr   r   r!   r8   r(   rD   rM   rU   rZ   rb   rj   rl   r¤   r¦   r   r   r   Ú<module>r®      sÄ   ðñðÛ÷
	ñ 	ô;ˆ4ô ;ô1ˆTô 1òEô
Iˆdô Iô",ˆdô ,ô,�ô ,ô,�$ô ,ô%ˆDô %ô%ˆ4ô %ò!÷H-ñ H-ôV#�ô #ôL�ö øðC ô Ýðús   „B ÂB ÂB 