HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1780863/root/lib/python3/dist-packages/reportbug/ui/__pycache__/
Upload File :
Current File : //proc/1780863/root/lib/python3/dist-packages/reportbug/ui/__pycache__/gtk_ui.cpython-311.pyc
�

��c�����ddlmZddlZdejvsdejvsed���	ddlZejdd��ddlmZejd	d
��ddlmZejdd
��ddlm	Z	ejdd��ddlm
Z
ejdd
��ddlmZejdd��ddlmZej
d��n#e$red���wxYwddlZddlZddlZddlmZddlZddlZddlZddlmZmZmZddlmZddlmZdZdZda d�Z!d�Z"d �Z#d!�Z$ej%d"��Z&d#�Z'd$�Z(dqd&�Z)d'�Z*Gd(�d)ej+��Z,Gd*�d+e,��Z-Gd,�d-e,��Z.Gd.�d/ej+��Z/Gd0�d1e0��Z1Gd2�d3e0��Z2Gd4�d5ej3ej4��Z5Gd6�d7ej+��Z6Gd8�d9ej4��Z7Gd:�d;e8��Z9Gd<�d=e0��Z:Gd>�d?e:��Z;Gd@�dAe;��Z<GdB�dCe;��Z=GdD�dEe=��Z>GdF�dGe;��Z?GdH�dIe;��Z@GdJ�dKe@��ZAGdL�dMe;��ZBGdN�dOe@��ZCGdP�dQe;��ZDGdR�dSe;��ZEGdT�dUe;��ZFGdV�dWeF��ZGGdX�dYe;��ZHGdZ�d[e;��ZIGd\�d]e;��ZJGd^�d_e;��ZKGd`�daejL��ZMGdb�dce:ejN��ZOGdd�dee:ejN��ZPGdf�dge:ejQ��ZRdh�ZSdi�ZTdj�ZUe=e>eBeCeDeFeEeGeHeIeAeJe?dk�
ZVeOeRePdl�ZWdm�ZXdn�ZYdo�ZZdp�Z[dS)r�)�UINotImportableN�DISPLAY�WAYLAND_DISPLAYz7No graphical display detected, falling back to text UI.�GLibz2.0)r�Pangoz1.0)r�Gdkz3.0)r�	GdkPixbuf)r	�Gtk)r
�	GtkSource�4)r�cairoz?Please install the reportbug-gtk package to use this interface.)�Queue)�	NoPackage�NoBugs�
QuertBTSError)�debbugs)�launch_browserTz"/usr/share/pixmaps/debian-logo.pngc�T�|tkrdS|tkrdSt|��S)Nz<MainContext of UI thread>z!<MainContext of reportbug thread>)�
ui_context�reportbug_context�repr)�contexts �5/usr/lib/python3/dist-packages/reportbug/ui/gtk_ui.py�_describe_contextrOs1���*���+�+�	�%�	%�	%�2�2��G�}�}��c���tj���}||kr/tdt	|���dt	|�������|���std���dS)NzFunction should be called in z but was called in z*Function should be called with %s acquired)r�MainContext�ref_thread_default�AssertionErrorr�is_owner)�expected�reallys  r�_assert_contextr#Xs���
�
�
0�
0�
2�
2�F������n�/��9�9�9�9�;L�V�;T�;T�;T�V�W�W�	W��?�?���K��I�J�J�J�K�Krc�f�tjtj��tj��dS�N)�os�kill�getpid�signal�SIGINT�rr�_exitr,ds"���G�B�I�K�K���'�'�'�'�'rc��d|zS)N�	<b>%s</b>r+��ss r�	highlightr1hs����?�rz<.*?>c�8�t�d|��S�N�)�re_markup_free�subr/s r�markup_freer7os�����b�!�$�$�$rc�V�|���}|ddvr
|dd�S|S)N���)�?�:)�stripr/s r�ask_freer=ss0��	���	�	�A���u�
�����"��v�
��HrFc�^�tt��tj��}|�tjj��|�tjj	tjj	��|r|�
|��n|�|��|Sr%)r#rr
�ScrolledWindow�set_shadow_type�
ShadowType�	ETCHED_IN�
set_policy�
PolicyType�	AUTOMATIC�add_with_viewport�add)�widget�
with_viewport�scrolleds   r�create_scrollablerKzs����J�����!�#�#�H����S�^�5�6�6�6������0�#�.�2J�K�K�K����"�"�6�*�*�*�*����V�����Orc�f�tt��tjttjjtjjztjj	tj
j|��}|�dd���|�
d��|���dS)N�responsec�*�|���Sr%��destroy)�d�argss  r�<lambda>zinfo_dialog.<locals>.<lambda>�s���	�	���r�	Reportbug)r#rr
�
MessageDialog�	assistant�DialogFlags�MODAL�DESTROY_WITH_PARENT�MessageType�INFO�ButtonsType�CLOSE�connect�	set_title�show_all)�message�dialogs  r�info_dialogrc�s����J����
�
�y�#�/�*?�#�/�Be�*e�"��3�S�_�5J�G�U�U�F�
�N�N�:�;�;�<�<�<�
���[�!�!�!�
�O�O�����rc��eZdZd�ZdS)�CustomDialogc�:�tt��tj�|dt
tjjtjjz|��|�	|d��|�
d��tjd���}|�
d��|j�
|ddd��tjd���}|�
|d	dd��tjd
d
dd���}|�
|d	dd��tj�|tjj��}	|�
|	ddd��tj|�
��}
|
�d��|
�tjj��|
�d��|
�dd	��|�
|
d	dd��|j|g|�Ri|��dS)NrTr9��
��spacing�TrFg�?g�?)�xalign�yalign�xscale�yscale��label�	can-focus)r#rr
�Dialog�__init__rVrWrXrY�set_default_response�set_border_width�VBox�vbox�
pack_start�HBox�	Alignment�Image�new_from_stock�IconSize�DIALOG�Label�
set_line_wrap�set_justify�
Justification�FILL�set_selectable�set_property�setup_dialog)�self�stock_imagera�buttonsrR�kwargsrx�hbox�align�imagerqs           rrtzCustomDialog.__init__�s����
�#�#�#��
���D�+�y��O�1�C�O�4W�W�#�	%�	%�	%�	
�!�!�'�"�+�.�.�.����a� � � ��x��#�#�#�����a� � � ��	���T�4��q�1�1�1��x��#�#�#������e�T�1�-�-�-�
�
�S��S��M�M�M������u�d�A�.�.�.��	�(�(��c�l�6I�J�J������t�T�1�-�-�-��	��(�(�(��
���D�!�!�!�
���#�+�0�1�1�1�
���T�"�"�"�
���;��.�.�.�����u�d�A�.�.�.����$�0��0�0�0��0�0�0�0�0rN��__name__�
__module__�__qualname__rtr+rrrere�s#������!1�!1�!1�!1�!1rrec� �eZdZd�Zd�Zd�ZdS)�InputStringDialogc	���tt��t�|tj|tjtjjtj	tjj
f��dSr%)r#rrertr
�STOCK_DIALOG_INFO�STOCK_CANCEL�ResponseType�CANCEL�STOCK_OK�ACCEPT)r�ras  rrtzInputStringDialog.__init__�sa���
�#�#�#����d�C�$9�7�"�/��1A�1H�"�|�S�-=�-D�F�	G�	G�	G�	G�	Grc��tt��tj��|_|�|jddd��dS)NFTr)r#rr
�Entry�entryry�r�rxs  rr�zInputStringDialog.setup_dialog�s=���
�#�#�#��Y�[�[��
�����
�E�4��3�3�3�3�3rc�\�tt��|j���Sr%�r#rr��get_text�r�s r�	get_valuezInputStringDialog.get_value��$���
�#�#�#��z�"�"�$�$�$rN)r�r�r�rtr�r�r+rrr�r��sD������G�G�G�4�4�4�
%�%�%�%�%rr�c�L�eZdZed���Zed���Zd�Zd�Zd�ZdS)�ExceptionDialogc�>���tt����fd�}|S)Nc
����r
�|||��t��jd�t	j|||������dSr3)�application�run_once_in_main_thread�start_dialog�join�	traceback�format_exception)�exctype�value�tb�cls�oldhooks   ��r�
excepthookz5ExceptionDialog.create_excepthook.<locals>.excepthook�sl����
,������+�+�+��/�/��0@�02���	�8R�SZ�\a�ce�8f�8f�0g�0g�
i�
i�
i�
i�
ir�r#r)r�r�r�s`` r�create_excepthookz!ExceptionDialog.create_excepthook�s?�����)�*�*�*�	i�	i�	i�	i�	i�	i��rc��tt��	||��}|���dS#t$rt	��YdSwxYwr%)r#rr`�	Exceptionr,)r�r�rbs   rr�zExceptionDialog.start_dialog�sb���
�#�#�#�	��S��W�W�F��O�O��������	�	�	��G�G�G�G�G�G�	���s�7�A�Ac��tt��t�|tjdtjtjjf|��dS)NzSAn error has occurred while doing an operation in Reportbug.
Please report the bug.)	r#rrertr
�STOCK_DIALOG_ERROR�STOCK_CLOSEr�r])r�r�s  rrtzExceptionDialog.__init__�su���
�#�#�#����d�C�$:�=S�VY�Ve�gj�gw�g}�U~�@B�	C�	C�	C�	C�	Crc��tj�d��}|�|ddd��tj��}|�d��|����|��t|��}|�	|��|�
d|j��dS)NzMore detailsTrFrM)r
�Expander�new_with_mnemonicry�TextView�set_editable�
get_buffer�set_textrKrGr^�on_response)r�rxr��expander�viewrJs      rr�zExceptionDialog.setup_dialog�s����<�1�1�.�A�A������$��a�0�0�0��|�~�~�����%� � � ������"�"�2�&�&�&�$�T�*�*�����X�������Z��!1�2�2�2�2�2rc�J�tt��t��dSr%�r#rr,�r�rb�ress   rr�zExceptionDialog.on_response�����
�#�#�#�
�����rN)	r�r�r��classmethodr�r�rtr�r�r+rrr�r��sx�������
�
��[�
�����[��C�C�C�3�3�3�����rr�c��eZdZd�Zd�ZdS)�ReportViewerDialogc
��tt��tj�|dt
tjjtjjztj	tj
jtjtj
j
f��||_|�dd��|�tj
j
��|�d��|�d|j��tj��}|����|j��|j�t3|��ddd��|���dS)NrT�rkrMTr)r#rr
rsrtrVrWrXrY�
STOCK_COPYr��APPLYr�r]ra�set_default_sizerurvr^r�r�r�r�rxryrKr`)r�rar�s   rrtzReportViewerDialog.__init__�s*���
�#�#�#��
���D�+�y��O�1�C�O�4W�W� �^�S�-=�-C� �_�c�.>�.D�F�	G�	G�	G�������c�3�'�'�'��!�!�#�"2�"8�9�9�9����a� � � ����Z��!1�2�2�2��|�~�~�������"�"�4�<�0�0�0��	���.�t�4�4�d�D�!�D�D�D��
�
�����rc��tt��|tjjkrFtj�tj��}|�	|j
d��dS|���dS)Nr9)r#rr
r�r��	Clipboard�getr�SELECTION_CLIPBOARDr�rarP)r�rbr��	clipboards    rr�zReportViewerDialog.on_responsesj���
�#�#�#��#�"�(�(�(��
�)�)�#�*A�B�B�I����t�|�R�0�0�0�0�0��L�L�N�N�N�N�NrN)r�r�r�rtr�r+rrr�r��s2���������&����rr�c��eZdZdZd�Zd�ZdS)�Bugz(Encapsulate a bug report for the GTK+ UIc�Z�|j|_d�|j��|_|j|_|j|_|j|_	|j
|_
|j|_d�|j��|_
|j
|_|j|_|j|_dS)Nz, )�bug_num�idr��tags�tag�package�pending�status�
originator�reporter�date�severity�found_versions�version�
filed_date�log_modified�
modified_date�subject�info)r��bugs  rrtzBug.__init__s����+����9�9�S�X�&�&����{����k������
��H��	����
��y�y��!3�4�4����(��� �-����K��	�	�	rc#��K�|jV�|jV�|jV�|jV�|jV�|jV�|jV�|jV�|jV�|j	V�|j
V�dSr%)r�r�r�r�r�r�r�r�r�r�r�r�s r�__iter__zBug.__iter__"s������g�
�
�
��h�����l�����i�����k�����m�����i�����m�����l�����o����� � � � � � rN)r�r�r��__doc__rtr�r+rrr�r�s8������2�2� � � �!�!�!�!�!rr�c�:�eZdZd�Zd�Zd�Zd�Zd�Zdd�Zd	�Z	d
S)�	BugReportc�$�|�d��}d}g|_|t|��kre||}|dz
}|���snC|j�|��|�d��rn|t|��k�ed}g}d}|t|��krl||}|�|��|dz
}|���s|dkr|dz
}�U|dkr|dks|dkrd	}nd}|t|��k�l|rId�|dd
���|_d�||dz
d���|_dSd�|dd���|_d|_dS)
N�
r�zSubject:F�z-- Package-specific info:z-- System Information:T������r4)	�split�headers�lenr<�append�
startswithr��
original_info�others)r�ra�lines�i�line�storer��	has_others        rrtzBugReport.__init__1s����
�
�d�#�#��
������#�e�*�*�n�n���8�D�
��F�A��:�:�<�<�
���L����%�%�%����z�*�*�
���#�e�*�*�n�n������	��#�e�*�*�n�n���8�D��K�K�����
��F�A��:�:�<�<�
��1�9�9��Q�J�E����z�z�t�'B�B�B�d�Nf�Ff�Ff� �	���E��#�e�*�*�n�n��	�!%���4����9�!5�!5�D���)�)�E�!�a�%�&�&�M�2�2�D�K�K�K�!%���4����9�!5�!5�D���D�K�K�Krc��|jSr%)rr�s r�
get_otherszBugReport.get_othersVs
���{�rc��|jSr%)r�r�s r�get_original_infozBugReport.get_original_infoYs���!�!rc�T�|jD]}d|vr|td��d�cS� dS�N�Subject�	Subject: )r�r�)r��headers  r�get_subjectzBugReport.get_subject\sL���l�	1�	1�F��F�"�"��c�+�.�.�/�/�0�0�0�0�#�	1�	1rc��tt|j����D]!}d|j|vrd|z|j|<dS�"dSr)�ranger�r�)r�r�rs   r�set_subjectzBugReport.set_subjectasZ���s�4�<�(�(�)�)�	�	�A��D�L��O�+�+�"-��"7���Q�����,�	�	r�OFc���d}d}|���D]U}|r||dzz
}|���sd}�#tj|||���}|d�|��dzz
}�V|S)z8Wrap every line in the message, except the pseudoheadersr4Tr�F)�width�break_long_words)�
splitlinesr<�textwrap�wrapr�)r��msgrr�body�pheadr�tmps        r�
wrap_bug_bodyzBugReport.wrap_bug_bodygs��������N�N�$�$�
	*�
	*�D��
���t��#���z�z�|�|�"�!�E���-��E�1A�C�C�C�C��D�I�I�c�N�N�T�)�)�D�D��rc� �|jrGd�d�|j��|�|��|j��Sd�d�|j��|�|����S)Nz	{}
{}

{}r�z{}
{}
)r�formatr�r�r�r�r�s  r�create_messagezBugReport.create_message{sx���;�	i�!�(�(����4�<�)@�)@�$�BT�BT�UY�BZ�BZ�\`�\g�h�h�h�� � ����4�<�!8�!8�$�:L�:L�T�:R�:R�S�S�SrN)rF)
r�r�r�rtrr	rrrr"r+rrr�r�0s�������#�#�#�J���"�"�"�1�1�1�
�������(T�T�T�T�Trr�c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�BugPagec
��tt��tj�|��t
j�|��|�d��tj	��|_
||_||_|jj
|_
||_||_||_||_||_||_|	|_d|_tjd���}
|
�tjd���ddd��tj��|_|j�d��|
�|jddd��|�|
��dS)	NT�rizRetrieving bug information.rpFr�{�G�z�?)r#r�	threading�Threadrtr
�EventBox�	setDaemonrrrrbrVr��number�	queryonly�bts�mirrors�
http_proxy�timeout�archived�
bug_statusrwryr��ProgressBar�progress�set_pulse_steprG)r�rVrbr,r-r.r/r0r1r2rxs           rrtzBugPage.__init__�s=���
�#�#�#���!�!�$�'�'�'�����d�#�#�#����t�����'�)�)������"����>�5������"���������$������ ��
�����x��#�#�#������	�(E�F�F�F��t�UV�W�W�W���)�)��
��
�$�$�T�*�*�*�����
�u�d�A�6�6�6���������rc���|j���std���|j���t	jd|j��tjt|j
��|j|j|j
|j|j���}|s!|j�|j��dS|d|_|j�|j|��dS)Nz%Could not acquire my own main-contextrh)r/r0r2r)r�acquirer�push_thread_defaultr�timeout_add�pulser�
get_report�intr,r1r.r/r0r2r�r��	not_foundr3�foundr!s  r�runzBugPage.run�s����|�#�#�%�%�	J� �!H�I�I�I���(�(�*�*�*�	
���T�Z�(�(�(��!�#�d�k�"2�"2�D�L�"&�(�D�L�-1�_�t�}�V�V�V���	G���4�4�T�^�D�D�D�D�D�"�1�g�D�O���4�4�T�Z��F�F�F�F�Frc��tt��|���}|r+|�|��|���dSdSr%)r#r�	get_child�remove�unparent)r��childs  r�drop_progressbarzBugPage.drop_progressbar�sY���
�#�#�#���� � ���	��K�K������N�N������	�	rc��tt��|j���|���Sr%)r#rr5r;�is_aliver�s rr;z
BugPage.pulse�s2���
�#�#�#��
�������}�}���rc���tt��|���|�t	jd�����|���dS)Nz-The bug can't be fetched or it doesn't exist.rp)r#rrFrGr
r�r`r�s rr>zBugPage.not_found�sS���
�#�#�#������������!P�Q�Q�Q�R�R�R��
�
�����rc���tt��|���|dj}|d}t	jd���}|�d��t	jd|z���}|�d��|�	tj
j��|�|ddd��t	j��}d}|D]�}t	j
��}	|	�d��|	����|dd	���|r%|	�tjjd��|�|	ddd��|}��t)|d��}
|�|
ddd��t	j��}t	jd
���}|�d|j��|�|ddd��|js�t	jd���}|�tj�tjtjj����|�d|j ��|�|ddd��|�|ddd��|�!|��|�"��dS)
Nrr�r&riz
Description: rpTFi'zOpen in browser�clicked�Reply)#r#rrFr�r
rwrvr�r�r�r�r�ryr�r�r�r��set_state_flags�
StateFlags�PRELIGHTrK�
HButtonBox�Buttonr^�on_open_browserr-�	set_imager|r}�
STOCK_EDITr~�BUTTON�on_replyrGr`)
r�r��desc�bodiesrxrq�views�oddrr�rJ�bbox�buttons
             rr?z
BugPage.found�s����
�#�#�#��������A�w����a����x��#�#�#�����b�!�!�!��	��$� 6�7�7�7��
���D�!�!�!�
���#�+�0�1�1�1�����u�d�A�.�.�.���
�
�����
	�
	�D��<�>�>�D����e�$�$�$�
�O�O���&�&�t�F�U�F�|�4�4�4��
E��$�$�S�^�%<�e�D�D�D����T�5�$��2�2�2��'�C�C�$�U�D�1�1������$��a�0�0�0��~������"3�4�4�4�����y�$�"6�7�7�7������d�A�.�.�.��~�	3��Z�g�.�.�.�F����S�Y�5�5�c�n�c�l�FY�Z�Z�[�[�[��N�N�9�d�m�4�4�4��O�O�F�D�$��2�2�2�����e�T�1�-�-�-���������
�
�����rc��tt��ttj|jt
|j��|j����dSr%)	r#rrr�get_report_urlr.r=r,r2�r�r\s  rrRzBugPage.on_open_browser�sA���
�#�#�#��w�-�d�h��D�K�8H�8H�$�-�X�X�Y�Y�Y�Y�Yrc���tt��|j�|j��|j���	|j���dS#t$rYdSwxYwr%)
r#rr��set_next_valuer3rV�forward_pagerbrP�AttributeErrorr_s  rrVzBugPage.on_reply�s~���
�#�#�#���'�'���8�8�8���#�#�%�%�%�	��K���!�!�!�!�!���	�	�	��D�D�	���s�A)�)
A7�6A7N)r�r�r�rtr@rFr;r>r?rRrVr+rrr$r$�s����������:G�G�G�$������
���(�(�(�TZ�Z�Z�����rr$c� �eZdZd�Zd�Zd�ZdS)�
BugsDialogc��tt��tj�|d|tjjtjjztjtj	j
f��||_||_|j
|_
tj��|_|j�|jddd��|�d|j��|�dd��dS)NzReportbug: bug informationTrrM�X)r#rr
rsrtrWrXrYr�r�r]rVr-r��Notebook�notebookrxryr^r�r�)r�rVr-s   rrtzBugsDialog.__init__s����
�#�#�#��
���D�">�	��O�1�C�O�4W�W� �_�c�.>�.D�E�	G�	G�	G�#���"���$�0��������
��	���T�]�D�$��:�:�:����Z��!1�2�2�2����c�3�'�'�'�'�'rc�.�|���dSr%rO�r�rRs  rr�zBugsDialog.on_responses���������rc��t|j|||jg|�R�}|j�|tj|�����|���dS)Nrp)r$rVr-ri�append_pager
r��start)r�r,rR�pages    r�show_bugzBugsDialog.show_bugsW���t�~�t�V�T�^�K�d�K�K�K���
�!�!�$��	��(?�(?�(?�@�@�@��
�
�����rN)r�r�r�rtr�rpr+rrreresA������(�(�(��������rrec�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�ReportbugApplicationc���tt��tj�|��|�d��t
��|_d|_dS�NT)	r#rr(r)rtr+r�queue�
next_valuer�s rrtzReportbugApplication.__init__sP���)�*�*�*���!�!�$�'�'�'����t�����W�W��
�����rc��t���std���t���t	j��dS)NzCould not acquire UI context)rr8rr9r
�mainr�s rr@zReportbugApplication.run"sG���!�!�#�#�	A� �!?�@�@�@��&�&�(�(�(���
�
�
�
�
rc�\�tt��|j���Sr%)r#rrur�r�s r�get_last_valuez#ReportbugApplication.get_last_value*s#���)�*�*�*��z�~�~���rc�z�tt��|j�|j��d|_dSr%)r#rru�putrvr�s r�put_next_valuez#ReportbugApplication.put_next_value.s1���
�#�#�#��
���t��'�'�'�����rc�<�tt��||_dSr%)r#rrv�r�r�s  rraz#ReportbugApplication.set_next_value3s���
�#�#�#�����rc�B�������fd�}tj|��dS)Nc�@��tt����i���dS�NF�r#r)rR�funcr�s���r�callbackz>ReportbugApplication.run_once_in_main_thread.<locals>.callback:s+����J�'�'�'��D�$�!�&�!�!�!��5r)r�idle_add)r�r�rRr�r�s ``` rr�z,ReportbugApplication.run_once_in_main_thread7s@�����	�	�	�	�	�	�	�
	
�
�h�����rc����������fd�}tj|������}t|t��r|�|S)Nc����tt��	��i���}��|��n,#t$r}��|��Yd}~nd}~wwxYw����dSr�)r#rra�
BaseExceptionr})�ret�erRr�r�r�s  ����rr�z:ReportbugApplication.call_in_main_thread.<locals>.callbackDs�����J�'�'�'�
)��d�D�+�F�+�+���#�#�C�(�(�(�(��!�
'�
'�
'��#�#�A�&�&�&�&�&�&�&�&�����
'����

���!�!�!��5s�5�
A�A�A)rr�rz�
isinstancer�)r�r�rRr�r�r�s````  r�call_in_main_threadz(ReportbugApplication.call_in_main_threadAsm������
	�
	�
	�
	�
	�
	�
	�
	�	
�
�h�����!�!�#�#���c�=�)�)�	��I��JrN)
r�r�r�rtr@rzr}rar�r�r+rrrrrrs}������������ � � ����
 � � � � � �����rrrc��eZdZd�ZdS)�
SyncReturnc�r�tt��t�||��||_dSr%)r#r�RuntimeErrorrt�result)r�r�s  rrtzSyncReturn.__init__\s2���)�*�*�*����d�F�+�+�+�����rNr�r+rrr�r�[s#����������rr�c��eZdZd�Zd�ZdS)�ReportbugConnectorc�.�tt��dSr%r��r�rRr�s   r�execute_operationz$ReportbugConnector.execute_operationcs���
�#�#�#��rc�2�tt��||fSr%r�)r�rRr�s   r�sync_pre_operationz%ReportbugConnector.sync_pre_operationis���)�*�*�*��V�|�rN)r�r�r�r�r�r+rrr�r�bs2������
�
�
�����rr�c��eZdZdZejjZdZe	Z
ejd��Z
d�Zd�Zd�Zd�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�ZdS)�PagerFz#fff8aec�&�tt��||_|j|_|���|_||j_|j�d��|j���tj
|_dS)Nrk)r#rrVr��
create_widgetrHrorvr`r��
next_page_num�page_num)r�rVs  rrtz
Page.__init__vsw���
�#�#�#�"���$�0����(�(�*�*���������$�$�Q�'�'�'���������*��
�
�
rc�^�tt��|���|���|�dd��|_|�dd��|_|j|i|��|j�	��|�
��dS)N�empty_okF�presubj)r#r�	switch_in�connect_signals�popr�r��executerV�show�setup_focusr�s   rr�zPage.execute_operation�s����
�#�#�#��������������
�
�:�u�5�5��
��z�z�)�U�3�3������d�%�f�%�%�%���������������rc�.�tt��dSr%r�r�s rr�zPage.connect_signals�����
�#�#�#�#�#rc�n�tt��|j�|j|��dSr%)r#rrV�set_page_completerH)r��completes  rr�zPage.set_page_complete�s0���
�#�#�#���(�(���h�?�?�?�?�?rc�n�tt��|j�|j|��dSr%)r#rrV�
set_page_typerH)r��types  rr�zPage.set_page_type�s0���
�#�#�#���$�$�T�[�$�7�7�7�7�7rc�v�tt��|r"|j�|j|��dSdSr%)r#rrV�set_page_titlerH)r��titles  rr�zPage.set_page_title�sB���
�#�#�#��	>��N�)�)�$�+�u�=�=�=�=�=�	>�	>rc��tt��txjdz
c_|j�|j|j��|�|j	��|�
|j��|�d��|j�
|jtj�|j����|j�|��|j���dS)Nr�rT)r#rr�r�rV�insert_pagerHr�r��default_completer��	page_typer��set_page_side_imager	�Pixbuf�
new_from_file�
side_image�
set_next_page�commitr�s rr�zPage.switch_in�s����
�#�#�#����a������"�"�4�;��
�>�>�>����t�4�5�5�5����4�>�*�*�*����K�(�(�(���*�*�4�;�	�8H�8V�8V�W[�Wf�8g�8g�h�h�h���$�$�T�*�*�*���������rc�`�tt��|j���dSr%)r#rrH�
grab_focusr�s rr�zPage.setup_focus�s*���
�#�#�#����� � � � � rc��tt��|j�|j��r|j���dSdSr%)r#rrV�get_page_completerHrbrks  r�activate_forwardzPage.activate_forward�sN���
�#�#�#��>�+�+�D�K�8�8�	*��N�'�'�)�)�)�)�)�	*�	*rc�.�tt��dSr%r�r�s r�
switch_outzPage.switch_out�r�rc�Z�tt��|jrdSt|��Srt)r#rr��boolrs  r�is_validz
Page.is_valid�s+���
�#�#�#��=�	��4���;�;�rc��tt��|���}|�|��r1|j�|��|�d��dS|�d��dS�NTF)r#rr�r�r�rar�)r�rRr�r�s    r�validatez
Page.validate�s~���
�#�#�#���� � ���=�=����	*���+�+�E�2�2�2��"�"�4�(�(�(�(�(��"�"�5�)�)�)�)�)rN)r�r�r�r�r
�AssistantPageType�CONTENTr�r��DEBIAN_LOGOr�r�color_parse�
WARNING_COLORrtr�r�r�r�r�r�r�r�r�r�r�r+rrr�r�os��������M��%�-�I����J�#�C�O�I�.�.�M�+�+�+����$�$�$�@�@�@�8�8�8�>�>�>�
 �
 �
 �!�!�!�
*�*�*�$�$�$����*�*�*�*�*rr�c�0�eZdZejjZdZd�ZdS)�	IntroPageTc��tt��tjd���}tjd���}|�d��|�d��|�tjj	��|�
|ddd��tj�dd	��}|�
|ddd��|S)
N�ria'
<b>Reportbug</b> is a tool designed to make the reporting of bugs in Debian and derived distributions relatively painless.

This wizard will guide you through the bug reporting process step by step.

<b>Note:</b> bug reports are publicly archived (including the email address of the submitter).rpTFrz1https://salsa.debian.org/reportbug-team/reportbugzHomepage of reportbug project)
r#rr
rwr��set_use_markupr�r�r�r�ry�
LinkButton�new_with_label)r�rxrq�links    rr�zIntroPage.create_widget�s����
�#�#�#��x��#�#�#���	�!b�c�c�c��	���T�"�"�"�
���D�!�!�!�
���#�+�0�1�1�1�����u�d�A�.�.�.��~�,�,�-`�-L�N�N������e�T�1�-�-�-��rN)	r�r�r�r
r��INTROr�r�r�r+rrr�r��s4�������%�+�I�������rr�c�.�eZdZd�Zd�Zd�Zd�Zd	d�ZdS)
�
GetStringPagec�`�tt��|j���dSr%�r#rr�r�r�s rr�zGetStringPage.setup_focus��*���
�#�#�#��
�������rc��tt��tjd���}tj��|_|j�d��|j�tjj	��|j�
d��|j�dd��tj��|_
|�|jddd��|�|j
ddd��|S�Nr&riTrrFr)r#rr
rwr�rqr�r�r�r�r�r�r�r�ryr�s  rr�zGetStringPage.create_widget�s����
�#�#�#��x��#�#�#���Y�[�[��
��
� � ��&�&�&��
���s�0�5�6�6�6��
�!�!�$�'�'�'��
����U�3�3�3��Y�[�[��
�����
�E�4��3�3�3�����
�E�4��3�3�3��rc��tt��|j�d|j��|j�d|j��dS)N�changed�activate)r#rr�r^r�r�r�s rr�zGetStringPage.connect_signals�sK���
�#�#�#��
���9�d�m�4�4�4��
���:�t�'<�=�=�=�=�=rc�\�tt��|j���Sr%r�r�s rr�zGetStringPage.get_value�r�rNFr4c�l�tt��tj|jj|�dd����|j�|��|r�|���tj
��}tjt��}|D]}|�
|g���|�|��|�d��|�d��|j�|��nd|_|���dS)Nz8(enter Ctrl+c to exit reportbug without reporting a bug)r4Tr)r#rrr�rqr��replacer��sortr
�EntryCompletion�	ListStore�strr��	set_model�set_inline_selection�set_text_column�set_completion�
completionr�)r��prompt�options�force_prompt�defaultr��model�options        rr�zGetStringPage.execute�s���
�#�#�#��
�d�j�)�6�>�>�:t�vx�+y�+y�z�z�z��
���G�$�$�$��	#��L�L�N�N�N��,�.�.�J��M�#�&�&�E�!�
'�
'�����f�X�&�&�&�&�� � ��'�'�'��+�+�D�1�1�1��&�&�q�)�)�)��J�%�%�j�1�1�1�1�"�D�O��
�
�����r)NFr4�r�r�r�r�r�r�r�r�r+rrr�r��sd������ � � ����>�>�>�
%�%�%������rr�c��eZdZd�ZdS)�GetPasswordPagec��tt��t�|��}|j�d��|Sr�)r#rr�r�r��set_visibility�r�rHs  rr�zGetPasswordPage.create_widgets>���
�#�#�#��,�,�T�2�2���
�!�!�%�(�(�(��
rN)r�r�r�r�r+rrr�r�s#����������rr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�GetMultilinePagec�`�tt��|j���dSr%�r#rr�r�r�s rr�zGetMultilinePage.setup_focus�*���
�#�#�#��	�������rc�v�tt��tjd���}tj��|_|j�d��|j�tjj	��|j�
d��|j�dd��|�|jddd��tj
��|_|j���|_t#|j��}|�|ddd��|Sr�)r#rr
rwr�rqr�r�r�r�r�r�ryr�r�r��bufferrK)r�rxrJs   rr�zGetMultilinePage.create_widget!s����
�#�#�#��x��#�#�#���Y�[�[��
��
� � ��&�&�&��
���s�0�5�6�6�6��
�!�!�$�'�'�'��
����U�3�3�3�����
�E�4��3�3�3��L�N�N��	��i�*�*�,�,���$�T�Y�/�/������$��a�0�0�0��rc�n�tt��|j�d|j��dS�Nr�)r#rrr^r�r�s rr�z GetMultilinePage.connect_signals1s0���
�#�#�#�����I�t�}�5�5�5�5�5rc���tt��|j�|j���|j���d��}|�d��S)NTr�)r#rrr��get_start_iter�get_end_iterr��r��texts  rr�zGetMultilinePage.get_value5sX���
�#�#�#��{�#�#�D�K�$>�$>�$@�$@�$�+�BZ�BZ�B\�B\�^b�c�c���z�z�$���rc���tt��d|_tj|jj|��|j�d��|j�d��dS)NTr4r�)	r#rr�rr�rqr�r�emit�r�r�s  rr�zGetMultilinePage.execute:s`���
�#�#�#���
��
�d�j�)�6�2�2�2�����R� � � ������#�#�#�#�#rNr�r+rrr�r�s_������������ 6�6�6� � � �
$�$�$�$�$rr�c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�TreePageNc��tt��tj|g|�Ri|��|j���|_dSr%)r#rr�rtr��
get_selection�	selectionr�s   rrtzTreePage.__init__FsI���
�#�#�#��
�d�,�T�,�,�,�V�,�,�,���0�0�2�2����rc�`�tt��|j���dSr%r�r�s rr�zTreePage.setup_focusKr�rc�n�tt��|j�d|j��dSr)r#rrr^r�r�s rr�zTreePage.connect_signalsOs0���
�#�#�#�����y�$�-�8�8�8�8�8rc��tt��|j���\}}|j���t
jjk}g}|D]T}|�|�	|��|j
��}|�"|�t|�����U|r
|s|dS|S�Nr)
r#rr�get_selected_rows�get_moder
�
SelectionMode�MULTIPLEr��get_iter�value_columnr�r7)r�r��paths�multipler��pathr�s       rr�zTreePage.get_valueSs����
�#�#�#��~�7�7�9�9���u��>�*�*�,�,��0A�0J�J�����	2�	2�D��O�O�E�N�N�4�$8�$8�$�:K�L�L�E�� ��
�
�k�%�0�0�1�1�1���	�(�	��!�9���
r)r�r�r�rrtr�r�r�r+rrr
r
CsU�������L�3�3�3�
���9�9�9�����rr
c�6�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�GetListPagerc���tt��tjd���}tj��|_|j�d��|j�tjj	��|�
|jddd��tjd���}tj��|_
|j
�d��|j
����tjj��t'|j
��}|�
|ddd��tj��}|�d��|�tjj��tjtj���}|�d|j��|�
|ddd��tjtj���}|�d|j��|�
|ddd��|�
|ddd��|�
|ddd��|S)	Nr&riTFrrk)�stockrK)r#rr
rwr�rqr�r�r�r�ryrz�TreeViewr��set_rules_hintr�set_moderrrK�
VButtonBox�set_spacing�
set_layout�ButtonBoxStyle�STARTrQ�	STOCK_ADDr^�on_add�STOCK_REMOVE�	on_remove)r�rxr�rJr[r\s      rr�zGetListPage.create_widgetds����
�#�#�#��x��#�#�#���Y�[�[��
��
� � ��&�&�&��
���s�0�5�6�6�6�����
�E�4��3�3�3��x��"�"�"���L�N�N��	��	� � ��&�&�&��	���!�!�*�*�3�+<�+E�F�F�F�$�T�Y�/�/������$��a�0�0�0��~���������������*�0�1�1�1���#�-�0�0�0�����y�$�+�.�.�.������t�Q�/�/�/���#�"2�3�3�3�����y�$�.�1�1�1������t�Q�/�/�/�����e�T�1�-�-�-�����d�D�!�,�,�,��rc��tt��g}|jD]"}|�||j���#|Sr%)r#rr�r�r)r��values�rows   rr�zGetListPage.get_value�sH���
�#�#�#����:�	2�	2�C��M�M�#�d�/�0�1�1�1�1��
rc��tt��td��}|���|�d|j��dS)NzAdd a new item to the listrM)r#rr�r`r^�on_add_dialog_response)r�r\rbs   rr+zGetListPage.on_add�sK���
�#�#�#�"�#?�@�@�����������z�4�#>�?�?�?�?�?rc��tt��|tjjkrA|j�|���g��|���|�	��dSr%)
r#rr
r�r�r�r�r�r�rPr�s   rr2z"GetListPage.on_add_dialog_response�si���
�#�#�#��#�"�)�)�)��J���v�/�/�1�1�2�3�3�3��M�M�O�O�O��������rc�4�tt��|j���\}}g}|D]/}|�|j�|�����0|D]}|j�|���|���dSr%)	r#rrrr�r�rrCr�)r�r\r�r�itersr�iters       rr-zGetListPage.on_remove�s����
�#�#�#��~�7�7�9�9���u����	4�	4�D��L�L���,�,�T�2�2�3�3�3�3��	$�	$�D��J���d�#�#�#�#��
�
�����rc��tt��d|_tj|jj|��tjt��|_
|j
�d|j��|j
�|j
��|j�tjj��|j
�tjdtj��d�����dS)NTzrow-changed�Itemr�r)r#rr�rr�rqr�r
r�r�r�r^r�r�r�rr$rr�
append_column�TreeViewColumn�CellRendererTextrs  rr�zGetListPage.execute�s����
�#�#�#���
��
�d�j�)�6�2�2�2��]�3�'�'��
��
���=�$�-�8�8�8��	���D�J�'�'�'������ 1� :�;�;�;��	���� 2�6�3�;O�;Q�;Q�XY� Z� Z� Z�[�[�[�[�[rN)
r�r�r�rr�r�r+r2r-r�r+rrrras{�������L����<���@�@�@����	�	�	�\�\�\�\�\rrc�T�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
		dd�Zd�Zd
�Z
d	S)�MenuPager�c�X�tt��tj|g|�Ri|��dSr%)r#rr�rtr�s   rrtzMenuPage.__init__�s6���
�#�#�#��
�d�,�T�,�,�,�V�,�,�,�,�,rc�`�tt��|j���dSr%r�r�s rr�zMenuPage.setup_focus�r�rc���tt��tjd���}tj��|_|j�d��|j�tjj	��|�
|jddd��tj��|_|j�
��}|�tj��t!|�|�tjj����|�|�tjj�������|_t!|�|�tjj����|�|�tjj�������|_|j���|_|j�tjj��|j�d��tj��|_ tC|j��}|�"tj#j$tj#j%��|�
|ddd��|�&��|S)Nr&riTFr)�selected�normal)'r#rr
rwr�rqr�r�r�r�ryr"r��get_style_context�	add_class�STYLE_CLASS_CELL�dict�_rgba_to_string�get_background_colorrN�SELECTED�NORMAL�
background�	get_color�
foregroundrrr$r�NONE�set_activate_on_single_click�CellRendererToggle�chkboxrKrCrD�NEVER�ALWAYSr`)r�rx�
style_contextrJs    rr�zMenuPage.create_widget�s*���
�#�#�#��x��#�#�#���Y�[�[��
��
� � ��&�&�&��
���s�0�5�6�6�6�����
�E�4��3�3�3��L�N�N��	��	�3�3�5�5�
����� 4�5�5�5���)�)�-�*L�*L�S�^�Md�*e�*e�f�f��'�'�
�(J�(J�3�>�K`�(a�(a�b�b�d�d�d�����)�)�-�*A�*A�#�.�BY�*Z�*Z�[�[��'�'�
�(?�(?���@U�(V�(V�W�W�Y�Y�Y�����0�0�2�2�������� 1� 6�7�7�7��	�.�.�t�4�4�4��,�.�.���$�T�Y�/�/�����C�N�0�#�.�2G�H�H�H�����$��a�0�0�0��
�
�����rc��tt��t�|��|j�d|j��dS)N�
row-activated)r#rr�r�r�r^�	on_toggler�s rr�zMenuPage.connect_signals�sD���
�#�#�#����T�"�"�"��	���/�4�>�:�:�:�:�:rc���tt��g}|jD]7}|dr-|�t	||j�����8t
|��dkr|js|dS|Sr)r#rr�r�r7rr�r)r�r�r0s   rr�zMenuPage.get_value�s|���
�#�#�#����:�	C�	C�C��1�v�
C��
�
�k�#�d�.?�*@�A�A�B�B�B���v�;�;��?�?�4�=�?��!�9���
rc��d�t|jdz��t|jdz��t|jdz����S)Nz#{:02x}{:02x}{:02x}�)r r=�red�green�blue)r��rgbas  rrHzMenuPage._rgba_to_string�sP��$�+�+�C���3��,?�,?�,/��
�S�0@�,A�,A�,/��	�C��,@�,@�B�B�	Brc�"�|jo|jSr%)rr�r�s r�_is_suitable_radio_buttonz"MenuPage._is_suitable_radio_button�s���=� �6���%6�6rNFc	�<�tt��tj|jj|��t
jttt��|_
|j�|j
��||_
|j�|�����t
jd|jd���}	|	�|j|j��|j�|	��t
j��}
t
jd|
d���}	|	�|
|j��|j�|	��t
j��}|�dt.jj��|�dd	��t
jd
|d���}|�||j��|j�|��d}
t5|t6��r�|rh|D]e}||vr_d
�||�����}|j
�dt?|��|g��}||kr|}
�f|� ��D]d\}}|r||vrYd
�|�����}|j
�dt?|��|g��}||kr|}
�enp|D]m}d
�|d�����}|j
�dt?|d��|g��}|d|kr|}
�n|
r|j
�!|
dd��|�"��dS)N�Selr)�active�Optionr�)�markupz	wrap-modez
wrap-widthi��Descriptionr�r9� FT)#r#rrr�rqr�r
r�r�r�r�r�r�rrR�	set_radiorar;�set_cell_data_func�on_cell_funcr:r<r�r�WrapMode�WORDr�rGr�r�r�r1�items�	set_valuer�)r��parr�r�r��any_ok�order�extrasr�column�	cell_text�rend�desc_column�default_iterr�rr6rWr0s                   rr�zMenuPage.execute�sO���
�#�#�#��
�d�j�)�3�/�/�/��]�4��c�2�2��
��	���D�J�'�'�'� ��
�����d�<�<�>�>�?�?�?��#�E�4�;�q�A�A�A���!�!�$�+�t�/@�A�A�A��	����'�'�'��(�*�*�	��#�H�i��B�B�B���!�!�)�T�->�?�?�?��	����'�'�'��#�%�%�����+�u�~�':�;�;�;����,��,�,�,��(���1�E�E�E���&�&�t�T�->�?�?�?��	����,�,�,����g�t�$�$�	(��
0�#�0�0�F���(�(�"�x�x����(=�(=�(?�(?�@�@��#�z�0�0�%��6�9J�9J�D�1Q�R�R��!�W�,�,�+/�L�� '�
�
���
,�
,�����,��e� 3� 3��8�8�D�J�J�L�L�1�1�D��:�,�,�e�Y�v�5F�5F��-M�N�N�D���(�(�'+���
,��
(�
(���x�x��A������/�/���z�(�(�%��3�q�6�1B�1B�D�)I�J�J���q�6�W�$�$�#'�L���	8��J� � ��q�$�7�7�7��
�
�����rc��|jsItj|��}|jD],}|j|kr|jsd|d<�|d|d<�'d|d<�-n"|j|d|j|d<|���dS)NTrF)rr
�TreePathr�rr�r�)r�rHr�data�
selected_pathr0s      rrXzMenuPage.on_toggle%s����}�	:��L��.�.�M��z�
#�
#���8�}�,�,��=�,�!%��A���%(��V���A���"�C��F�F�
#�'+�j��&6�q�&9�"9�D�J�t��Q���
�
�����rc�2�|�|d��r�t|tj��r#|�d|jd��dS|�d|jd��|�d|jd��dSt|tj��r#|�d|jd��dS|�d|jd��|�d|jd��dS)Nrzcell-backgroundrBrLrNrC)r�r�r
rQr�rLrN)r�rt�cellr��itr{s      rrkzMenuPage.on_cell_func4s
���?�?�2�q�!�!�	K��$�� 6�7�7�
M��!�!�"3�T�_�Z�5P�Q�Q�Q�Q�Q��!�!�,���
�0K�L�L�L��!�!�,���
�0K�L�L�L�L�L��$�� 6�7�7�
K��!�!�"3�T�_�X�5N�O�O�O�O�O��!�!�,����0I�J�J�J��!�!�,����0I�J�J�J�J�Jr)NFNNF)r�r�r�rrtr�r�r�r�rHrar�rXrkr+rrr>r>�s��������L�-�-�-�������@;�;�;�
���B�B�B�
7�7�7�BG�27�1�1�1�1�f
�
�
�K�K�K�K�Krr>c�h�eZdZdZdZ			dd�Zd�Zd	�Zd
�Zd�Z	d�Z
d
�Zd�Zd�Z
d�Zdd�Zd�ZdS)�HandleBTSQueryPageTrNr4F�noc
�X�tt��||_||_||_||_||_||_|rtj	j
|_tj
|}|�d��}|std���t!|t"��r(|}|	r|dz
}dtj
|d�d|��}n;dtj
|d�dd�d�|D������}|j�|jj|��	tj||||||||	�	��\}}}nM#t0$r@}d
tj
|d�dt3|���d�}t5|���d}~wwxYw	|s|�t6�t8�|d
krd|fz}nd}g}|D]O\}}t;|d�|���}|�|t?tAtB|����f���P||fifS#t6$rt6�wxYw)N�btsrootz(source)z	Querying �namez$ bug tracking system for reports on z! bug tracking system for reports rhc�,�g|]}t|����Sr+)r�)�.0�xs  r�
<listcomp>z9HandleBTSQueryPage.sync_pre_operation.<locals>.<listcomp>bs?��yR�yR�yR�EF�y|�}~�y�y�yR�yR�yRr)r/r�r0r2�sourcezUnable to connect to z BTS (error: "z"); r�z%d bug reports foundzOne bug report foundc��|jSr%)r�)�bs rrSz7HandleBTSQueryPage.sync_pre_operation.<locals>.<lambda>|s����r)�key�reverse)"r#rr.r/r0r1r2r-r
r��CONFIRMr�r�SYSTEMSr�r�r�r�r�r�r�rV�set_progress_label�get_reportsr�rrrr�sortedr��list�mapr�)r�r�r.r1r/r0r-�screenr2r�r�r��buglist�mbox_reader_cmd�latest_first�sysinfo�root�pkgname�progress_label�count�sectitle�	hierarchyr��errmsg�report�category�bugss                           rr�z%HandleBTSQueryPage.sync_pre_operationGs���	�)�*�*�*�������$������ ��
�"����	;� �2�:�D�N��/�#�&���{�{�9�%�%���	#��T�"�"�"��g�s�#�#�	T��G��
&��:�%���T[�Tc�dg�Th�io�Tp�Tp�Tp�ry�ry�z�N�N�	T�RY�Q`�ad�Qe�fl�Qm�Qm�Qm�or�ow�ow�yR�yR�JQ�yR�yR�yR�pS�pS�pS�T�N���0�0���1R�Tb�c�c�c�	(�+2�+>���#�w��%���,I�,I�,I�(�U�H�i�i���	(�	(�	(�	(�FM�o�VY�FZ�[a�Fb�Fb�Fb�dh�ij�dk�dk�dk�dk�l�F���'�'�'�����	(����	��
.��$�#�O� �L��1�9�9�5���@�H�H�5�H���&/�G�G�N�H�d�$�T�/B�/B�L�Y�Y�Y�G��M�M�8�T�#�c�7�2C�2C�-D�-D�"E�F�F�F�F���)�2�-�-���	�	�	��O�	���s%�- E�
F�;F�F�A:H�H)c�`�tt��|j���dSr%r�r�s rr�zHandleBTSQueryPage.setup_focus�r�rc
��tt��tjd���}tjd���|_|�|jddd��tjd���}tjd���}|�|ddd��tj��|_	|�|j	ddd��tj
��}|�tj�
tjtjj����|�tjj��|�d	|j��|�|ddd��|�|ddd��tj��|_|j�d��t3|j��}gd
�|_t7|jt9t;t=|j��������D]e}tj|dtj ��|d���}|�!d��|j�"|���f|�|ddd��tj
d
���}|�tj�
tj#tjj$����|�d	|j%��|�|ddd��|S)NrkrizCList of bugs. Select a bug to retrieve and submit more information.rpFTzFilter:rrK)�ID�Tag�Packagerg�Status�	Submitter�Date�Severity�Versionz
Filed datez
Modified dater�r9z#Retrieve and submit bug information)&r#rr
rwr�rqryrzr�r�rQrSr|r}�STOCK_CLEARr~�MENU�
set_relief�ReliefStylerOr^�on_filter_clearr"r�r#rK�columns�zipr�rr�r;r<�set_reorderabler:�
STOCK_INFOrU�on_retrieve_info)r�rxr�rqr\rJ�colrts        rr�z HandleBTSQueryPage.create_widget�s����
�#�#�#��x��"�"�"���Y�%j�k�k�k��
�����
�E�4��3�3�3��x��"�"�"���	�	�*�*�*������u�d�A�.�.�.��Y�[�[��
�����
�D�$��2�2�2�����������1�1�#�/�3�<�CT�U�U�V�V�V����#�/�.�/�/�/����y�$�"6�7�7�7������t�Q�/�/�/�����e�T�1�-�-�-��L�N�N��	��	� � ��&�&�&�$�T�Y�/�/��7�7�7����t�|�T�%��D�L�0A�0A�*B�*B�%C�%C�D�D�	,�	,�C��'��A���0D�0F�0F�S�QR�V�T�T�T�F��"�"�4�(�(�(��I�#�#�F�+�+�+�+�����$��a�0�0�0���"G�H�H�H�������1�1�#�.�#�,�BU�V�V�W�W�W����y�$�"7�8�8�8������t�Q�/�/�/��rc���tt��t�|��|j�d|j��|j�d|j��dS)NrWr�)	r#rr
r�r�r^r�r��on_filter_changedr�s rr�z"HandleBTSQueryPage.connect_signals�s`���
�#�#�#�� � ��&�&�&��	���/�4�+@�A�A�A��
���9�d�&<�=�=�=�=�=rc�b�tt��|j�d��dSr3)r#rr�r�r_s  rr�z"HandleBTSQueryPage.on_filter_clear�s,���
�#�#�#��
���B�����rc��tt��|������|j_|j���dSr%)r#rr��lowerr��filter_text�filter�refilter)r�r�s  rr�z$HandleBTSQueryPage.on_filter_changed�sJ���
�#�#�#�!&���!1�!1�!7�!7�!9�!9��
����������rc	�T�tt��t�|��}|st	d��dSt|j|j��}|D]5}|�||j	|j
|j|j|j
���6|���dS)NzPlease select one or more bugs)r#rr
r�rcrerVr-rpr.r/r0r1r2r`)r�rR�bug_idsrbr�s     rr�z#HandleBTSQueryPage.on_retrieve_info�s����
�#�#�#��$�$�T�*�*���	��8�9�9�9��F��D�N�D�N�;�;���	f�	f�B��O�O�B���$�,�����W[�Wd�e�e�e�e��������rc�.�tt��dSrtr�rs  rr�zHandleBTSQueryPage.is_valid�����
�#�#�#��trc�.�tt��dSr%r�r�s rr�zHandleBTSQueryPage.get_value�s���
�#�#�#��trc�p�tt��d}tt|j����D]@}|j�||��}|r!||j�||��dzz
}�A|���}|jj�	d��D]	}||vrdS�
dS)Nr4rhTF)
r#rrr�r�r�r�r�r�r�)r�r6rr�r��tokens      r�match_filterzHandleBTSQueryPage.match_filter�s����
�#�#�#�����T�\�*�*�+�+�	>�	>�C��J�(�(��s�3�3�E��
>���
�,�,�T�3�7�7�#�=�=����z�z�|�|���Z�+�1�1�#�6�6�	�	�E���}�}��t�t���urc��tt��|�|��}|j�|��sI|sG|�|��}|r.|�|��rdS|�|��}|�.dS|Sr�)r#rr�r��iter_parent�
iter_children�	iter_next)r�r�r6�	user_data�matchesrs      r�filter_visible_funcz&HandleBTSQueryPage.filter_visible_func�s����
�#�#�#��#�#�D�)�)���z�%�%�d�+�+�	�G�	��$�$�T�*�*�B��
)��$�$�R�(�(� ��4��_�_�R�(�(���
)��5��rc��tt��tj|jjd|z��t
jtgt|j
��z�|_|D]�}dgt|j
��z}|d|d<|j�d|��}|dD]=}|j�|ttt|�������>��|j�tjj��d|j_|j���|_|j�|j��|j�|j��dS)Nz^%s. Double-click a bug to retrieve and submit more information, or press 'Next' if none match.r�r�r4)r#rrr�rqr�r
�	TreeStorer�r�r�r�r�r�r�rr$rrr��
filter_newr��set_visible_funcr�r�r�)r�r�r�r�r0r6r�s       rr�zHandleBTSQueryPage.execute�s`���
�#�#�#��
�d�j�)�,L�OW�,W�	X�	X�	X��]�c�U�S���->�->�%>�@��
��	=�	=�H��&�3�t�|�,�,�,�C��a�[�C��F��:�$�$�T�3�/�/�D���{�
=�
=���
�!�!�$��S��c�]�]�(;�(;�<�<�<�<�
=�	
����� 1� :�;�;�;�!#��
���j�+�+�-�-�����$�$�T�%=�>�>�>��	���D�K�(�(�(�(�(r)Nr4FNr�FNNNNFr%)r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r+rrr�r�Cs����������L�mq�>B�Z_�=�=�=�=�~ � � �!�!�!�F>�>�>� � � ����

�
�
�������
��� ����)�)�)�)�)rr�c�2�eZdZdZd�Zd�Zd�Zd�Zdd
�Zd	S)�ShowReportPageTc�z�tt��t|jdddddddd�	�	|_|jSr%)r#rr$rVror�s rr�zShowReportPage.create_widgets;���
�#�#�#��D�N�D�$��d�D�$�PT�VZ�[�[��	��y�rc�.�tt��dSr%r�r�s rr�zShowReportPage.get_valuer�rc�.�tt��dSrtr�rs  rr�zShowReportPage.is_validr�rc��tt��|�d��rtjj|_||fS)Nr-)r#rr�r
r�r�r�r�s   rr�z!ShowReportPage.sync_pre_operations<���)�*�*�*��:�:�k�"�"�	;� �2�:�D�N��V�|�rFr4r�Nc
�0�tt��||j_||j_||j_||j_||j_||j_||j_	|j�
��|���dSr%)r#rror,r.r/r0r1r-r2rnr�)
r�r,�systemr/r0r1r-r�r2r�s
          rr�zShowReportPage.executesx���
�#�#�#�!��	����	�
�#��	��)��	��#��	��'��	��%��	���	�������
�
�����r)Fr4r�N)	r�r�r�r�r�r�r�r�r�r+rrr�r�sj�����������
���������
�
�
�
�
�
rr�c��eZdZdZd�Zd�ZdS)�DisplayReportPageTc��tt��tj��|_|j�d��t
|j��}|Sr�)r#rr
r�r�r�rK)r�rJs  rr�zDisplayReportPage.create_widget)sG���
�#�#�#��L�N�N��	��	���u�%�%�%�$�T�Y�/�/���rc��tt��|r||z}|j����|��dSr%)r#rr�r�r��r�rarRs   rr�zDisplayReportPage.execute0sI���
�#�#�#��	%���n�G��	�����'�'��0�0�0�0�0rN�r�r�r�r�r�r�r+rrr�r�&s8�����������1�1�1�1�1rr�c��eZdZdZd�Zd�ZdS)�LongMessagePageTc��tt��tj��|_|j�d��|j�tjj��|j�	d��|j�
dd��tj��}|�|j��|S)NTrrF)
r#rr
r�rqr�r�r�r�r�r�r*rG)r��ebs  rr�zLongMessagePage.create_widget;s����
�#�#�#��Y�[�[��
��
� � ��&�&�&��
���s�0�5�6�6�6��
�!�!�$�'�'�'��
����U�3�3�3�
�\�^�^��
���t�z�����	rc���tt��||z}d�d�|���D����}d|vrd|z}t	j|jj|��dS)Nz

c3�K�|]}|�|V��	dSr%r+)r�rps  r�	<genexpr>z*LongMessagePage.execute.<locals>.<genexpr>Ks'����I�I�c�S�I�c�I�I�I�I�I�Ir�nnnnnnzThank you for your report.

)r#rr�rrr�rqr�r�s   rr�zLongMessagePage.executeFsy���
�#�#�#��D�.���+�+�I�I�W�-?�-?�-A�-A�I�I�I�I�I���w���6��@�G��
�d�j�)�7�3�3�3�3�3rNr�r+rrr�r�8s8��������	�	�	�4�4�4�4�4rr�c�0�eZdZejjZdZd�ZdS)�FinalMessagePageTc�X�tt��tj|g|�Ri|��dSr%)r#rr�r�r�s   rr�zFinalMessagePage.executeUs7���
�#�#�#����6�t�6�6�6�v�6�6�6�6�6rN)	r�r�r�r
r��SUMMARYr�r�r�r+rrr�r�Qs4�������%�-�I���7�7�7�7�7rr�c�:�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd
d�Z	d	S)�
EditorPagec�&��tt��tjd���}tjd���}|�tjd���ddd��tj��|_|�|jddd��|�|ddd��tj
��|_tj|j�	��|_
|j
�tjd
����|j
�tjj��t(�	ddlan#t*$r
t,aYnwxYwt(t,ur1	t(�|j
��n#t0$rYnwxYwt3|j
��}|�|ddd��tj�d��}tj��}|�tjd
����|�d��|���|_t3|��}|� |��|�|ddd��t(t,ur�tj!���tjd���}|�"d��|�#d��|�$d��|�%d
d���� |����&tj'j(|j)����*d�fd���|��ddd��|S)Nrkrir&r
rpFTr)r�	MonospacezOther system informationzDPlease install <b>python3-gtkspellcheck</b> to enable spell checkingrrzbutton-press-eventc�,������Sr%rO)rR�boxs �rrSz*EditorPage.create_widget.<locals>.<lambda>�s���C�K�K�M�M�r)+r#rr
rwrzryr�r�r�r�Buffer�info_buffer�Viewr��modify_fontr�FontDescription�
set_wrap_moderlrm�
gtkspellcheck�ImportError�NotImplemented�SpellCheckerr�rKr�r�r�r�r��
others_bufferrGr*r�r�r�r��	modify_bg�	StateTyperKr�r^)r�rxr�rJr�r�rqr�s       @rr�zEditorPage.create_widget[s.����
�#�#�#��x��"�"�"���x��#�#�#������	��4�4�4�e�T�1�E�E�E��y�{�{��������d�D�!�4�4�4�����e�T�1�-�-�-�$�+�-�-����N�$�*:�;�;�;��	��	���e�3�K�@�@�A�A�A��	����� 1�2�2�2�� �
/�$�$�$�$�$���
/�
/�
/� .�
�
�
�
/������.�.�
��*�*�4�9�5�5�5�5���
�
�
���
����$�T�Y�/�/������$��a�0�0�0��<�1�1�2L�M�M���|�~�~������.�{�;�;�<�<�<����%� � � �!�_�_�.�.���$�T�*�*�����X��������%��q�1�1�1��N�*�*��,�.�.�C��I�$j�k�k�k�E�� � ��&�&�&�����%�%�%�� � ��&�&�&����{�E�2�2�2��G�G�E�N�N�N��M�M�#�-�.��0B�C�C�C��K�K�,�.I�.I�.I�.I�J�J�J��O�O�C���a�0�0�0��s$�E�E%�$E%�7F�
F$�#F$c��tt��|���dat	|jdd���5}|�t��ddd��dS#1swxYwYdS)Nr�w�backslashreplace)�errors)r#rr��report_message�open�filename�write)r��fs  rr�zEditorPage.switch_out�s����
�#�#�#����)�)�!�,��
�$�-��-?�
@�
@�
@�	$�A�
�G�G�N�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�A.�.A2�5A2c��tt��|j�d|j��|j�d|j��dSr)r#rr�r^r�r�r�s rr�zEditorPage.connect_signals�sK���
�#�#�#��� � ��D�M�:�:�:�����Y��
�6�6�6�6�6rc���tt��|j�|j���|j���d��}|���sdS|j������}|���sdS|j�	|��|j�
|��}|||jkfSrt)r#rr�r�rrr<r�r�rr"ra)r�r�r�ras    rr�zEditorPage.get_value�s����
�#�#�#���(�(��)9�)H�)H�)J�)J�)-�)9�)F�)F�)H�)H�)-�/�/���z�z�|�|�	��4��,�'�'�)�)�/�/�1�1���}�}���	��4������(�(�(��+�,�,�T�2�2����D�L�0�1�1rc�x�tt��|j�d|j��|_dS)Nzfocus-in-event)r#rr�r^�on_view_focus_in_event�focus_in_idr�s r�handle_first_infozEditorPage.handle_first_info�s4���
�#�#�#��9�,�,�-=�t�?Z�[�[����rc��tt��|j�d��|�|j��dSr3)r#rr�r��
disconnectr)r�r�rRs   rrz!EditorPage.on_view_focus_in_event�sB���
�#�#�#���!�!�"�%�%�%�����(�)�)�)�)�)r�utf-8c��tt��||_t|��|_||_||_|j�|j�	����|j
�|j�����|j���}|�
��dkrd}|���|j�|��dS)NzDear Maintainer,zXPlease type your report here.
The text will be wrapped to be max 79 chars long per line.)r#rrar�r�r	�charsetr�r�rrrr	r<rr�)r�rar	�editorrr�s      rr�zEditorPage.execute�s����
�#�#�#������(�(��� ��
��������d�k�5�5�7�7�8�8�8���#�#�D�K�$:�$:�$<�$<�=�=�=��{�,�,�.�.���:�:�<�<�-�-�-�n�D��"�"�$�$�$���!�!�$�'�'�'�'�'rN)r)
r�r�r�r�r�r�r�rrr�r+rrr�r�Zs�������4�4�4�l$�$�$�7�7�7�

2�
2�
2�\�\�\�*�*�*�(�(�(�(�(�(rr�c�0�eZdZdZd�Zd�Zd�Zd�Zd�ZdS)�SelectOptionsPageFc�t�tt��tj��|_|j�d��|j�tjj��tj	d���|_
|j
�|jddd��d|_|j
S)NTrkriF)
r#rr
r�rqr�r�r�r�rwrxryr�r�s rr�zSelectOptionsPage.create_widget�s����
�#�#�#��Y�[�[��
��
� � ��&�&�&��
���s�0�5�6�6�6��H�Q�'�'�'��	��	���T�Z���a�8�8�8�����y�rc��tt��|j�|��|j���dSr%�r#rr�rarVrb)r�r\�menuopts   r�
on_clickedzSelectOptionsPage.on_clicked�sA���
�#�#�#���'�'��0�0�0���#�#�%�%�%�%�%rc�V�tt��tt��dSr%)r#rr�rr_s  r�on_display_clickedz$SelectOptionsPage.on_display_clicked�s$���
�#�#�#��>�*�*�*�*�*rc���tt��|jrVd|jj_d|jj_|j���|j���dSdSrt)r#rr��props�can_default�has_default�grab_defaultr�r�s rr�zSelectOptionsPage.setup_focus�sl���
�#�#�#��<�	&�-1�D�L��*�-1�D�L��*��L�%�%�'�'�'��L�#�#�%�%�%�%�%�		&�	&rc�4�tt��|�dd��}tj|jj|��g}|D�]�}||���}d|vr�"d|vr�'d|vrFtj	d���}|�
d|j��|�|���qtj	��}tj
||������}|�|��|�
d|j|�����|���rp|�d	|���z��||_|�d
tj����|�d
|����x|�|�����|D]}|j�|ddd
��� |j���dS)
Nz(e to edit)r4z
Change editorz"Pipe the message through the pagerzPrint message to stdoutzDisplay message in a text viewrprKr.rFT)r#rr�rr�rqr�r�r
rQr^r r�r�rGr�isupper�
set_markupr�r��insert�
HSeparatorrxryr`)	r�r��menuoptsr�r�rrWr\rqs	         rr�zSelectOptionsPage.execute�s����
�#�#�#����
�r�2�2���
�d�j�)�6�2�2�2����	+�	+�G��7�=�=�?�?�+�D��$�&�&��3�t�;�;��(�D�0�0���*J�K�K�K�����y�$�*A�B�B�B����v�&�&�&�&�������	���
�
���(@�A�A�A���
�
�5�!�!�!����y�$�/�7�=�=�?�?�K�K�K��?�?�$�$�+��$�$�[�5�>�>�3C�3C�%C�D�D�D�#)�D�L��N�N�1�c�n�&6�&6�7�7�7��N�N�1�f�-�-�-�-��N�N�6�*�*�*�*��	9�	9�F��I� � ����a�8�8�8�8��	�������rN)	r�r�r�r�r�rr r�r�r+rrrr�se�����������&�&�&�
+�+�+�
&�&�&�$�$�$�$�$rrc�$�eZdZdZd�Zd�Zd�ZdS)�
SystemPageFc���tt��tj��}t���|_|j�d��|j�d|j	��|�
|jddd��tj��}|�|j�
����|�
|ddd��|S)NTzchild-exitedrF)r#rr
rz�Vte�Terminal�terminal�set_cursor_blink_moder^�on_child_exitedry�
VScrollbar�set_adjustment�get_vadjustment)r�r��	scrollbars   rr�zSystemPage.create_widgets����
�#�#�#��x�z�z��������
��
�+�+�D�1�1�1��
���n�d�.B�C�C�C�����
�t�T�1�5�5�5��N�$�$�	�� � ���!>�!>�!@�!@�A�A�A����	�5�$��2�2�2��rc��tt��|j�|��|j���dSr%r)r�r1�
exitstatuss   rr3zSystemPage.on_child_exitedsA���
�#�#�#���'�'�
�3�3�3���#�#�%�%�%�%�%rc���tt��|j�tjjtjddd|gdtj
jdddd�	�	dS)N�HOMEz	/bin/bashz-cr9)r#rr1�spawn_asyncr/�PtyFlags�DEFAULTr&�environr�
SpawnFlags)r��cmdlines  rr�zSystemPage.execute$s����
�#�#�#��
�!�!�#�,�"6��
�6�8J�[�Z^�`g�Lh�jn�pt�p�qH�JN�PT�VX�Z^�	_�	_�	_�	_�	_rN)r�r�r�r�r�r3r�r+rrr-r-
sL��������
�
�
�&�&�&�
_�_�_�_�_rr-c�>�eZdZejjZd�Zd�Zd�Z	d�Z
dS)�ProgressPagec�`�tt��|j���dSrt)r#rr5r;r�s rr;zProgressPage.pulse,s)���
�#�#�#��
�������trc��tt��tjd���}tj��|_|j�d��|j�tjj	��tj
��|_|j�d��|�
|jddd��|�
|jddd��tjd|j��|S)NrkriTr'Frrh)r#rr
rwr�rqr�r�r�r�r4r5r6ryrr:r;r�s  rr�zProgressPage.create_widget1s����
�#�#�#��x��"�"�"���Y�[�[��
��
� � ��&�&�&��
���s�0�5�6�6�6���)�)��
��
�$�$�T�*�*�*�����
�E�4��3�3�3�����
�u�d�A�6�6�6����T�Z�(�(�(��rc�l�tt��tj|jj|��dSr%)r#rrr�rqr�rs  r�	set_labelzProgressPage.set_label>s-���
�#�#�#��
�d�j�)�4�0�0�0�0�0rc�X�tt��|�d��dS)NzThis operation may take a while)r#rrGr�s r�reset_labelzProgressPage.reset_labelBs)���
�#�#�#����8�9�9�9�9�9rN)r�r�r�r
r��PROGRESSr�r;r�rGrIr+rrrCrC)s[�������%�.�I����
���1�1�1�:�:�:�:�:rrCc�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�ReportbugAssistantc��tt��tj�|��||_|�d��|���d|_d|_	d|_
|�dd��|�|j
��|���|���dS)NrTrgr�)r#rr
�	Assistantrtr�r_�hack_buttons�showing_page�requested_page�
progress_pager��set_forward_page_func�forwardr��setup_pages�r�r�s  rrtzReportbugAssistant.__init__Hs����
�#�#�#��
���t�$�$�$�&������{�#�#�#������� ���"���!������c�3�'�'�'��"�"�4�<�0�0�0��������������rc��tt��t|tj���rd|���dkr|�d|j��dS|���dkr|�d|j��dS|���dkretj�	tj
tjj��}|�
d��|�|��dS|���dkretj�	tjtjj��}|�
d��|�|��dSt|tj��r|�|j��dSdS)Nzgtk-go-backr�z	gtk-applyz
gtk-cancel�_Quitzgtk-go-forward�	_Continue)r#rr�r
rQ�	get_labelr^�on_back_showr|r}�
STOCK_QUITr~rUrGrS�STOCK_GO_FORWARD�	Container�forall�
_hack_buttons)r�rHr�s   rr`z ReportbugAssistant._hack_buttonsWs����
�#�#�#��f�c�j�)�)�	����!�!�]�2�2����v�t�'8�9�9�9������!�!�[�0�0����v�t�'8�9�9�9������!�!�\�1�1��	�0�0���14��1D�F�F��� � ��)�)�)�� � ��'�'�'������!�!�%5�5�5��	�0�0��1E�s�|�GZ�[�[��� � ��-�-�-�� � ��'�'�'����f�c�m�,�,�	.��M�M�$�,�-�-�-�-�-�	.�	.rc�X�tt��|�|��dSr%)r#rr`r�s rrOzReportbugAssistant.hack_buttonsrs*���
�#�#�#����4� � � � � rc�<�tt��|�d|j��|�d|j��|�d|j��|�d|j��|�d|j��dS)N�cancel�preparezdelete-event�apply�close)r#rr^�confirm_exit�
on_preparerfr�s rr�z"ReportbugAssistant.connect_signalsvs����
�#�#�#����X�t�0�1�1�1����Y���0�0�0����^�T�Z�0�0�0����W�d�j�)�)�)����W�d�j�)�)�)�)�)rc�V�tt��|���dSr%)r#r�hider�s  rr[zReportbugAssistant.on_back_show~s!���
�#�#�#����
�
�
�
�
rc���tt��|jr�|j|jkrs|���|jjkrQ|j���|jj�	d��|j�
��|j|_|j|jkr|j�
��tj|jj��dSr�)r#rrPrQ�get_current_pager�r�r}rH�
set_sensitiver�rorRrIrr�r�)r�rVrHs   rrhzReportbugAssistant.on_prepare�s����
�#�#�#���	+��!2�d�6I�!I�!I�d�Nc�Nc�Ne�Ne�hl�hy�iC�OC�OC���+�+�-�-�-���$�2�2�5�9�9�9���(�(�*�*�*�"�K������ 2�2�2���*�*�,�,�,��
�d�'�3�4�4�4�4�4rc�J�tt��t��dSr%r�rks  rrfzReportbugAssistant.close�r�rc�v�tt��tjdtjjtjjztjjtj	j
d��}|���}|���|tj
jkrt��dSdS)Nz(Are you sure you want to quit Reportbug?)r#rr
rUrWrXrYrZ�WARNINGr\�YES_NOr@rPr��YESr,)r�rRrbrMs    rrgzReportbugAssistant.confirm_exit�s����
�#�#�#��"�4���)>���Ad�)d�#&�?�#:�C�O�<R�#M�O�O���:�:�<�<���������s�'�+�+�+��G�G�G�G�G�,�+rc�4�tt��|dzS�Nr�r�)r�r�s  rrTzReportbugAssistant.forward�s���
�#�#�#��!�|�rc��tt��|�|�|jj����dSr%)r#r�set_current_pagerTrPr�r�s rrbzReportbugAssistant.forward_page�s<���
�#�#�#����d�l�l�4�+<�+E�F�F�G�G�G�G�Grc��tt��||_|j|jkr|�|j��dSdSr%)r#rrQrPrRrvr�)r�ros  rr�z ReportbugAssistant.set_next_page�sM���
�#�#�#�"������ 2�2�2��!�!�$�-�0�0�0�0�0�3�2rc�h�tt��|j�||z��dSr%)r#rrRrG)r�rrRr�s    rr�z%ReportbugAssistant.set_progress_label�s1���
�#�#�#���$�$�T�D�[�1�1�1�1�1rc��tt��t|��|_|j���t|��|_|j���dt_dSrt)	r#rr�rPr�rCrRr�r�r�s rrUzReportbugAssistant.setup_pages�sh���
�#�#�#�&�d�O�O�����#�#�%�%�%�)�$�/�/�����$�$�&�&�&�����rN)r�r�r�rtr`rOr�r[rhrfrgrTrbr�r�rUr+rrrLrLGs�������
�
�
�.�.�.�6!�!�!�*�*�*����5�5�5�"���������H�H�H�1�1�1�2�2�2�����rrLc�"�eZdZd�Zd�Zdd�ZdS)�YesNoDialogc�@�tt��tj�|t
tjjtjjztj	j
tjj��||_
|�d|j��dS�NrM)r#rr
rUrtrVrWrXrYrZ�QUESTIONr\rqr�r^r�rVs  rrtzYesNoDialog.__init__�sw���
�#�#�#���"�"�4��C�O�4I�C�O�Lo�4o�#&�?�#;�S�_�=S�	U�	U�	U�&������Z��!1�2�2�2�2�2rc���tt��|j�|tjjk��|j���|���dSr%)	r#rr�rar
r�rrr}rPr�s   rr�zYesNoDialog.on_response�sX���
�#�#�#���'�'��s�/?�/C�(C�D�D�D���'�'�)�)�)��������rNTFc��tt��|�|��|r%|�tjj��n$|�tjj��|���dSr%)	r#rr(rur
r�rr�NOr`)r�r�yeshelp�nohelpr��nowraps      rr�zYesNoDialog.execute_operation�sr���
�#�#�#���������	;��%�%�c�&6�&:�;�;�;�;��%�%�c�&6�&9�:�:�:��
�
�����r)NNTF�r�r�r�rtr�r�r+rrr{r{�sF������3�3�3���������rr{c� �eZdZd�Zd�Zd�ZdS)�DisplayFailureDialogc�@�tt��tj�|t
tjjtjjztj	j
tjj��||_
|�d|j��dSr})r#rr
rUrtrVrWrXrYrZrpr\r]r�r^r�rVs  rrtzDisplayFailureDialog.__init__�sw���
�#�#�#���"�"�4��C�O�4I�C�O�Lo�4o�#&�?�#:�C�O�<Q�	S�	S�	S�&������Z��!1�2�2�2�2�2rc��tt��|j���|���dSr%)r#rr�r}rPr�s   rr�z DisplayFailureDialog.on_response�s6���
�#�#�#���'�'�)�)�)��������rc��tt��|�||z��|���dSr%)r#rr(r`)r�rrRs   rr�z&DisplayFailureDialog.execute_operation�s7���
�#�#�#�����d�
�#�#�#��
�
�����rNr�r+rrr�r��sA������3�3�3����
����rr�c�"�eZdZd�Zd�Zdd�ZdS)�GetFilenameDialogc	�.�tt��tj�|dt
tjtjjtj	tjj
f���||_|�d|j
��dS)Nr4)r�rM)r#rr
�FileChooserDialogrtrVr�r�r��
STOCK_OPEN�OKr�r^r�rVs  rrtzGetFilenameDialog.__init__�s���
�#�#�#���&�&�t�R��S�EU�WZ�Wg�Wn�EH�^�UX�Ue�Uh�Ej�&�	k�	k�	k�&������Z��!1�2�2�2�2�2rc��tt��d}|tjjkr|���}|j�|��|j���|�	��dSr%)
r#rr
r�r��get_filenamer�rar}rP)r�rbr�r�s    rr�zGetFilenameDialog.on_response�st���
�#�#�#����#�"�%�%�%��%�%�'�'�E���'�'��.�.�.���'�'�)�)�)��������rFc��tt��|�t|����|���dSr%)r#rr_r=r`)r�r�r�s   rr�z#GetFilenameDialog.execute_operation�s9���
�#�#�#����x����'�'�'��
�
�����rN�Fr�r+rrr�r��sF������3�3�3���������rr�c�l�tt��tjtjg|�Ri|��dSr%)r#rr�r�rVr��rRr�s  r�log_messager�s;���%�&�&�&��'�	�(D�V�t�V�V�V�v�V�V�V�V�Vrc�V�tt��d|d<d|d<t|i|��S)NTrr�)r#r�menur�s  r�select_multipler�s8���%�&�&�&��F�:���F�:���� �� � � rc�r�tt��d|vrt|g|�Ri|��St|g|�Ri|��S)N�ENTER)r#r�get_list�_get_multiline)r�rRr�s   r�
get_multiliner�sX���%�&�&�&��&�����0��0�0�0��0�0�0��f�6�t�6�6�6�v�6�6�6r)
�
get_string�get_passwordr��handle_bts_query�show_report�long_message�display_report�
final_message�spawn_editor�select_optionsr�r�r�)�yes_nor��display_failurec�>���tt����fd�}|S)Nc�(��tt��t�����}	|j|i|��\}}n#t
$r}|jcYd}~Sd}~wwxYwtj|jg|�Ri|��t�	��Sr%)
r#rr�r�r�r�r�r�r�rz)rRr��opr��klass�parents    ��rr�zcreate_forwarder.<locals>.func/s�����)�*�*�*�
�
,�
,�U�F�
;�
;��	�0�2�0�$�A�&�A�A�L�D�&�&���	�	�	��8�O�O�O�O�O�O�����	�����+�B�,@�R�4�R�R�R�6�R�R�R��)�)�+�+�+s�A�
A�
A�A�Ar�)r�r�r�s`` r�create_forwarderr�,s8�����%�&�&�&�,�,�,�,�,�,��Krc��tt��|���D]$\}}t||��t	��|<�%dSr%)r#rrnr��globals)r��
operations�	operationr�s    r�forward_operationsr�<sV���%�&�&�&�&�,�,�.�.�?�?��	�5�/���>�>��	�	�)���?�?rc��	tjdd��ddlma�n #tt
f$�rd}t
jdtjj	tjj
ztjjtj
jd��}|�|dz��|���|���t
j��r&t
j��t
j���&t(j���st/jdddd	��Yd
SwxYwt3j��at6���st;d���t6���t2j���a t(j!}tD�#|��t(_!tj$�%tL��tO��a(tP�)��tUtPtV��tP�,tZtP��a.tUt\t^��dS)
Nr/z2.91r)r/zxPlease install the %s package to use the GTK+ (known as 'gtk' in reportbug) interface.
Falling back to 'text' interface.z<b>gir1.2-vte-2.91</b>zx-terminal-emulatorz-ezreportbug -u textFz"Could not acquire new main-contextT)0�gi�require_version�
gi.repositoryr/r��
ValueErrorr
rUrWrXrYrZr[r\r]r(r@rP�events_pending�main_iteration�sys�stdout�isattyr&�execlprrrr8rr9r�rr�r�r��Window�set_default_icon_from_filer�rrr�rnr��dialogsr�rLrV�pages)rarbr�s   r�
initializer�Bs���
��5�&�)�)�)�%�%�%�%�%�%�%����$����%���"�4���)>���Ad�)d�#&�?�#7���9N�PT�V�V�����'�$<�<�=�=�=��
�
����������� �"�"�	!��� � � �� �"�"�	!��z� � �"�"�	_��I�+�-B�D�J]�^�^�^��u�u������(�*�*���$�$�&�&�C��A�B�B�B��)�)�+�+�+�
�!�)�)�+�+�J��n�G�$�6�6�w�?�?�C�N��J�)�)�+�6�6�6�&�(�(�K��������{�G�,�,�,��/�/�0B�K�P�P�I��y�%�(�(�(��4s��DD<�;D<c�.�tt��dSrtr�r+rr�	can_inputr�ss���%�&�&�&��4rr�)\�reportbug.exceptionsrr&r?r�r�r�rrrr	r
r�require_foreignr�r��rer�rurr(rr)rrr�	reportbugr�reportbug.urlutilsr�ISATTYr�r�rr#r,r1�compiler5r7r=rKrcrsrer�r�r��objectr�r�r*r)r$rerrr�r�r�r�r�r�r�r�r
rr>r�r�r�r�r�r�rr-rCrNrLrUr{r�r�r�r�r�r�r�r�r�r�r�r�r+rr�<module>r�sb	��01�0�0�0�0�0�	�	�	�	��R�Z���#4��
�#B�#B�
�/�S�
T�
T�T�]�
�I�I�I��B��v�u�%�%�%�"�"�"�"�"�"��B��w��&�&�&�#�#�#�#�#�#��B��u�e�$�$�$�!�!�!�!�!�!��B��{�E�*�*�*�'�'�'�'�'�'��B��u�e�$�$�$�!�!�!�!�!�!��B��{�C�(�(�(�'�'�'�'�'�'��B��w�������]�]�]�
�/�[�
\�
\�\�]�����
�
�
�	�	�	�	�������������������
�
�
�
�A�A�A�A�A�A�A�A�A�A�������-�-�-�-�-�-�	
��2��
�
����	K�	K�	K�(�(�(�������G�$�$��%�%�%�
�
�
�	�	�	�	����"1�"1�"1�"1�"1�3�:�"1�"1�"1�J%�%�%�%�%��%�%�%�"+�+�+�+�+�l�+�+�+�\����������@!�!�!�!�!�&�!�!�!�:OT�OT�OT�OT�OT��OT�OT�OT�f{�{�{�{�{�c�l�I�,�{�{�{�|����������0=�=�=�=�=�9�+�=�=�=�D���������	�	�	�	�	��	�	�	�W*�W*�W*�W*�W*��W*�W*�W*�t���������4.�.�.�.�.�D�.�.�.�b�����m����$$�$$�$$�$$�$$�t�$$�$$�$$�N�����t����<L\�L\�L\�L\�L\�(�L\�L\�L\�^PK�PK�PK�PK�PK�t�PK�PK�PK�f})�})�})�})�})��})�})�})�@ � � � � �T� � � �F1�1�1�1�1��1�1�1�$4�4�4�4�4�d�4�4�4�27�7�7�7�7��7�7�7�j(�j(�j(�j(�j(��j(�j(�j(�ZC�C�C�C�C��C�C�C�L_�_�_�_�_��_�_�_�8:�:�:�:�:�4�:�:�:�<u�u�u�u�u���u�u�u�r�����$�c�&7����0�����-�s�/@����&�����*�C�,A����0W�W�W�
!�!�!�7�7�7�%�(��/�&�(�,�*�#�,� ��+�
	�
	��!�,�2�
�
��
�
�
� ?�?�?�.�.�.�b����s�BC�C