Ë
    §!f÷!  ã                   ó,   — d Z ddlZdZd„ Zd„ Zd„ Zd„ Zy)z:Python sys.excepthook hook to generate apport crash dumps.é    Nz/etc/default/apportc                  óÔ   — 	 ddl } t        t        d¬«      5 }|j                  «       }ddd«       | j	                  d| j
                  «      du S # 1 sw Y   Œ(xY w# t        $ r Y yw xY w)z4Return whether Apport should generate crash reports.r   Nzutf-8©Úencodingz^\s*enabled\s*=\s*0\s*$T)ÚreÚopenÚCONFIGÚreadÚsearchÚMÚOSError)r   Úconfig_fileÚconfs      ú4/usr/lib/python3/dist-packages/apport_python_hook.pyÚenabledr      si   € ð	ãä”& 7Ô+ð 	&¨{Ø×#Ñ#Ó%ˆD÷	&à�y‰yÐ3°T¸2¿4¹4Ó@ÀDÐHÐH÷	&ð 	&ûô ò áðús'   ‚A —A¨&A ÁAÁA Á	A'Á&A'c                 ó	  — 	 |t         fv r 	 t        rt        j                  |||«       yyt        «       s 	 t        rt        j                  |||«       yy	 ddl}ddl}ddl}ddl}ddl}ddl	}	ddl
m}
m}m} | s 	 t        rt        j                  |||«       yy|j                   j#                  | «      }  || «      s 	 t        rt        j                  |||«       yy|	j$                  j'                  «       }t)        |d«      rL|j+                  «       }|dk(  r 	 t        rt        j                  |||«       yy|dk(  rt-        ||«       n||d<   |t        k(  r$|j.                  �t1        |j.                  «      |d<   |j3                  «       }|j5                  ||||¬«       |j7                  «       j9                  «       |d	<   |j;                  d
dg¬«       |j=                  «        | |d<   d|v r0t1        t?        |jA                  | «      jB                  «      «      |d<   	 t        jD                  ›|d<   |jI                  «       r 	 t        rt        j                  |||«       yy|jK                  tL        tN        «      5  |jQ                  «        ddd«       d|d<   |jR                  jU                  dd«      }	 |jW                  |dd¬«       |jY                  dd| «      }|› d|› d|j[                  «       › d�}|j                   j]                  |«      rC |
||«        |||«      r 	 t        rt        j                  |||«       yy|j_                  |«       |ja                  |jc                  ||jd                  |jf                  z  |jh                  z  d«      d«      5 }|jk                  |«       ddd«       t        rt        j                  |||«       yy# t        t        f$ r! Y t        rt        j                  |||«       yyw xY w# tF        $ r Y �Œâw xY w# 1 sw Y   �Œ�xY w# t        $ r! Y t        rt        j                  |||«       yyw xY w# 1 sw Y   Œ¥xY w# t        rt        j                  |||«       w w xY w)z1Catch an uncaught exception and make a traceback.Nr   )Úincrement_crash_counterÚlikely_packagedÚshould_skip_crashÚget_dbus_namez"org.freedesktop.DBus.Error.NoReplyz)org.freedesktop.DBus.Error.ServiceUnknownÚ_PythonExceptionQualifier)ÚfileÚ	TracebackÚ
PYTHONPATHÚ
PYTHONHOME)ÚextraenvÚExecutablePathÚExecutableTimestampÚ
PythonArgsÚnoÚ	_HooksRunÚAPPORT_REPORT_DIRz
/var/crashiÿ  T)ÚmodeÚexist_okú/Ú_ú.z.crashi   Úwb)6ÚKeyboardInterruptÚsysÚ__excepthook__r   Ú
contextlibÚioÚosr   Ú	tracebackÚapport.reportÚapport.fileutilsr   r   r   ÚImportErrorr   ÚpathÚrealpathÚreportÚReportÚhasattrr   Údbus_service_unknown_analysisÚerrnoÚstrÚStringIOÚprint_exceptionÚgetvalueÚstripÚadd_proc_infoÚadd_user_infoÚintÚstatÚst_mtimeÚargvÚAttributeErrorÚcheck_ignoredÚsuppressÚSystemErrorÚ
ValueErrorÚadd_package_infoÚenvironÚgetÚmakedirsÚsubÚgetuidÚexistsÚunlinkÚfdopenr   ÚO_WRONLYÚO_CREATÚO_EXCLÚwrite)ÚbinaryÚexc_typeÚexc_objÚexc_tbr+   r,   r-   r   r.   Úapportr   r   r   r4   ÚnameÚtb_fileÚ
report_dirÚmangled_programÚpr_filenameÚreport_files                       r   Úapport_excepthookra   "   sY  € ð f:àÔ)Ð+Ñ+ØõD Ü×Ñ˜x¨°&Õ9ð ô ŒyØõ| Ü×Ñ˜x¨°&Õ9ð ðy	ÛÛÛÛÛã ÷ñ ñ ØõT Ü×Ñ˜x¨°&Õ9ð ðQ —‘×!Ñ! &Ó)ˆñ ˜vÔ&ØõH Ü×Ñ˜x¨°&Õ9ð ðE —‘×%Ñ%Ó'ˆô �7˜OÔ,Ø×(Ñ(Ó*ˆDØÐ;Ò;ð õr Ü×Ñ˜x¨°&Õ9ð ðq ÐBÒBÜ-¨g°vÕ>à6:�Ð2Ñ3ð ”wÒ 7§=¡=Ð#<Ü25°g·m±mÓ2DˆFÐ.Ñ/ð —+‘+“-ˆØ×!Ñ! (¨G°VÀ'Ð!ÔJØ%×.Ñ.Ó0×6Ñ6Ó8ˆˆ{ÑØ×Ñ |°\Ð&BÐÔCØ×ÑÔà#)ˆÐÑ Ø  FÑ*Ü,/´°B·G±G¸F³O×4LÑ4LÓ0MÓ,NˆFÐ(Ñ)ð	Ü&)§h¡h \ˆF�<Ñ ð ×ÑÔ!Øõ> Ü×Ñ˜x¨°&Õ9ð ð; × Ñ ¤¬jÓ9ñ 	&Ø×#Ñ#Ô%÷	&à"ˆˆ{Ñà—Z‘Z—^‘^Ð$7¸ÓFˆ
ð	Ø�K‰K˜
¨¸$ˆKÔ?ð Ÿ&™&  c¨6Ó2ˆà#˜ A oÐ%6°a¸¿	¹	»°}ÀFÐKˆØ�7‰7�>‰>˜+Ô&Ù# F¨KÔ8Ù  ¨Ô5Øõ Ü×Ñ˜x¨°&Õ9ð ð �I‰I�kÔ"à�Y‰YØ�G‰G�K §¡¨r¯z©zÑ!9¸B¿I¹IÑ!EÀuÓMÈtó
ð 	&àØ�L‰L˜Ô%÷	&õ Ü×Ñ˜x¨°&Õ9ð øô_ œWÐ%ò 	Øõ\ Ü×Ñ˜x¨°&Õ9ð ð_	ûôZ ò 	Úð	ú÷
	&ñ 	&ûô ò 	Øõ* Ü×Ñ˜x¨°&Õ9ð ð-	ú÷	&ð 	&ûõ Ü×Ñ˜x¨°&Õ9ð úsÍ   ‚	Q  «
Q  Á"O Á8Q  Â#Q  Ã;Q  Ä8C'Q  È P
 È4Q  É$Q  É>PÊ)Q  Ê9P' ËAQ  ÍAQ  ÎQÎ0Q  ÏPÏ&Q  ÐPÐQ  Ð
	PÐQ  ÐPÐQ  ÐP$ÐQ  Ð'	QÐ0Q  ÑQÑQ  ÑQÑQ  Ñ  R c                 ó>  — ddl }ddl}ddlm}m}m} ddlm} |j                  d| j                  «       «      }|sAt        j                  r1t        j                  j                  d| j                  «       z   «       y|j                  d«      }	g }
 |d«      D ]}  } |d¬	«      }|j                  |d
¬«       	 |j                  dd«      |	k(  rI|j                  dd«      }|j                  dd|g|j                   ¬«      dk(  }|
j#                  |||f«       Œ |
s	d|	› �|d<   yd|d<   |
D ]!  \  }}}|dxx   d|› d|› d|rdnd› d�z  cc<   Œ# y# ||f$ rG t        j                  r3t        j                  j                  d|› d| j                  «       › �«       Y �Œw xY w)z7Analyze D-Bus service error and add analysis to report.r   N)ÚConfigParserÚNoOptionErrorÚNoSectionError)Úglobz/name\s+(\S+)\s+was not provided by any .servicez/Error: cannot parse D-BUS name from exception: é   z%/usr/share/dbus-1/*services/*.service)ÚinterpolationzUTF-8r   zD-BUS ServiceÚNameÚExecÚpidofz-sx)ÚstdoutzInvalid D-BUS .service file z: zno service file providing ÚDbusErrorAnalysiszprovided byú z (z is Ú znot zrunning))r   Ú
subprocessÚconfigparserrc   rd   re   rf   r
   Úget_dbus_messager)   ÚstderrrU   Úgroupr	   rK   ÚcallÚPIPEÚappend)rX   r4   r   rp   rc   rd   re   rf   ÚmatchÚ	dbus_nameÚservicesÚservice_fileÚserviceÚexeÚrunnings                  r   r7   r7   ›   sÑ  € ó
 ÛßHÑHÝð �I‰IØ:¸G×<TÑ<TÓ<Vó€Eñ Ü�:Š:Ü�J‰J×ÑØAØ×*Ñ*Ó,ñ-ôð à—‘˜A“€Ið €HÙÐDÓEò ˆÙ¨TÔ2ˆØ�‰�\¨GˆÔ4ð	Ø�{‰{˜?¨FÓ3°yÒ@Ø—k‘k /°6Ó:�à—O‘O W¨e°SÐ$9À*Ç/Á/�OÓRÐVWÑWð ð —‘ ¨s°GÐ <Ô=øðñ$ Ø(BÀ9À+Ð&NˆÐ"Ò#à&3ˆÐ"Ñ#Ø%-ò 	MÑ!ˆG�S˜'ØØ#óà�W�I˜R ˜u D©w©¸FÐ(CÀ8ÐLñMô ñ	Møð  Ð.ò 	Ü�zŠzÜ—
‘
× Ñ Ø2°<°.ð AØ×0Ñ0Ó2Ð3ð5ôò ð	ús   Â7AEÅA
FÆFc                  ó6  ‡— t         j                  d   Š‰r+‰j                  d«      sddl} 	 | j	                  «       › d‰› �Šˆfd„}|t         _	        y# t
        $ r< 	 | j                  d«      Š‰j                  d«      r‰dd Šn# t        $ r Y Y yw xY wY ŒUw xY w)zInstall the python apport hook.r   r$   Nz/proc/self/cwdz
 (deleted)iöÿÿÿc                 ó    •— t        ‰| ||«      S )N)ra   )rW   rX   rY   rV   s      €r   Úpartial_apport_excepthookz*install.<locals>.partial_apport_excepthookã   s   ø€ Ü  ¨°7¸FÓCÐCó    )
r)   rC   Ú
startswithr-   ÚgetcwdÚFileNotFoundErrorÚreadlinkÚendswithr   Ú
excepthook)r-   r�   rV   s     @r   Úinstallr‰   Ñ   s�   ø€ ô �X‰X�a‰[€FÙ�f×'Ñ'¨Ô,ãð	ØŸ	™	›�} A f XÐ.ˆFôDð /„C…Nøô !ò 	ðØŸ™Ð%5Ó6�Ø—?‘? <Ô0Ø# D S˜\�FùÜò Úðüð	ús5   ­A Á	BÁ'BÂBÂ	BÂBÂBÂBÂB)Ú__doc__r)   r   r   ra   r7   r‰   © r‚   r   ú<module>rŒ      s*   ðÙ @ó à	€òò v:òr3Mól/r‚   