__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

)+�g�����SSKr\R"SS5 SSKJr SSKJr SSKJr SSKJr SSKJr SS	KJr SSK	r	\	R"S
S\5 SSKrSSK
r
SSKrSSKrSSKrSSKJr SS
KJr SSKJrJr SSKJr SSKJr SSKJr SSKJr SSKJr SSK J r  \!"S5ur"r#r$r%r&SSK'J(r( "SS5r)"SS\RT5r+"SS\5r,g)�N�Gtkz3.0)�GLib)r)�Gdk)�GObject)�Gio)�Pango�ignorezAccessed deprecated property)�gettext)�ngettext�)�
humanize_size�SoftwarePropertiesPage)�AlertWatcher)�UpdateSystemGroup)�InternalDialog)�NotEnoughFreeSpaceError)�ChangelogViewer)�UnitySupport�)�NetworkManagerHelperc��\rSrSrSrSrg)�
UpdateData�Yc�<�U(aUO/UlX lX0lg�N)�groups�group�item)�selfrrrs    �@/usr/lib/python3/dist-packages/UpdateManager/UpdatesAvailable.py�__init__�UpdateData.__init__Zs�� &�f�B����
��	�)rrrN)�__name__�
__module__�__qualname__�__firstlineno__r!�__static_attributes__�r#r rrYs��r#rc�4�\rSrSrSrS	SjrSrSrSrSr	g)
�CellAreaPackage�`z�This CellArea lays our package cells side by side, without allocating
width for a cell if it isn't present (like icons for header labels).
We assume that the last cell should be expanded to fill remaining space,
and other cells have a fixed width.
c�j�[RRU5 XlSUl0Ulgr)r�CellAreaBoxr!�indent_toplevel�column�cached_cell_size)rr/s  r r!�CellAreaPackage.__init__gs)����� � ��&�.����� "��r#c�\^�/mU4SjnURUS5 0n[T5H{up�[U	[R5(aU	RS5n
U
SLnOSnX�U'U(aMIX�R;dMZU	RU5up�X�RU'M} UR5nUR5nURS5nURU5nURUR-nUR5n[RRU5R5nSnUUlSUl
[!T5S-
n[T5GH?up�UU:HnURR#US5nURS:�a(US:Xa"U=RURU--
slUS:XalUS(dUR$(aUS-
nUS:�aF['SUS-
5nUU-nUS:XaUnOUS:XaUS-nOUU-nU=RUU--
slU(a['UUUR-
5nXx(d
UU-Ul
SnOSUl
UU-nU"X�R5UR55(dGM@ g g)	Nc�(>�TRU5 gr)�append)�cell�data�cellss  �r �gather�0CellAreaPackage.do_foreach_alloc.<locals>.gatherrs����L�L��r#�giconF�spacingrr��)�foreach�	enumerate�
isinstancer�CellRendererPixbuf�get_propertyr1�get_preferred_width�copy�get_cell_start�width�x�get_current_path_string�TreePath�new_from_string�	get_depth�len�getr/�max)r�context�widget�cell_area_in�
bg_area_in�callbackr9�cell_is_hidden�cell_numberr6r;�	hide_cell�min_size�natural_size�	cell_area�bg_arear<�
cell_start�orig_end�cur_path�depth�extra_cell_width�last_cell_number�is_last_cell�	cell_size�indent�indent_size�indent_extrar8s                            @r �do_foreach_alloc� CellAreaPackage.do_foreach_allocms{�����	�	
���V�T�"���"+�5�!1��K��$�� 6� 6�7�7��)�)�'�2��!�T�M�	�!�	�*3�;�'��9��4I�4I�!I�)-�)A�)A�&�)I�&��5A�%�%�k�2�"2�!�%�%�'�	��/�/�#���#�#�I�.���(�(��0�
��?�?�Y�[�[�0���/�/�1�����,�,�X�6�@�@�B���� �	���	���u�:��>��!*�5�!1��K�&�*:�:�L��-�-�1�1�+�q�A�I�����"�'7�1�'<����y����8�8���a��%�a�(�T�-A�-A��Q�J�E��1�9� ��E�A�I�.�F�"+�f�"4�K���z�'.���!��'.��{��'.��'7���K�K�;��#=�=�K���	�8�i�k�k�+A�B�	�!�.�"+�.>�">�	��#$� �"#�	��#,�w�#6� ���n�n�.�����?�?��C"2r#c��URU5nURUR-U-
UlXdl[RRXX#XE5$r)rFrGrHrr.�do_event)rrPrQ�eventrZ�flagsr\s       r rj�CellAreaPackage.do_event�sP��
�(�(��0�
�#�/�/�I�K�K�7�*�D�	�� �����'�'��6�)�
�	
r#c� �UR(dgURR5nUR(dP[R"5nURSU5 UR
S5nX#R5-S-U-nU$)Nrz
expander-sizer<�)r0�get_x_offsetr/r�Value�style_get_propertyrC�get_int)rrQr\�valr<s     r rF�CellAreaPackage.get_cell_start�sp���{�{�����1�1�3�J��'�'��m�m�o���)�)�/�3�?��+�+�I�6��'�+�+�-�7�!�;�g�E�
��r#)r1r0r/N)F)
r$r%r&r'�__doc__r!rgrjrFr(r)r#r r+r+`s���#�I�V

�r#r+c�"�\rSrSrSrS0SjrSrSrSrSr	S	r
S
rSrSr
S
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr S r!S!r"S"r#S#r$S$r%S%r&S&r'S'r(S(r)S)r*S*r+S+r,S1S,jr-S-r.S.r/S/r0g)2�UpdatesAvailable��z/usr/share/app-install/iconsNc�^�[R"TU5 UTlURTlURTlUTlUTlUTl[RRTRS5nTRUS5 TRTR5 STlSTlSTl["R$R'S5Tl[*R,R/5TlTR0R3TR45 [7TS9TlTR;5 TR=[*R>TRR@5Tl!TR=[ES5TRF5Tl$TR=[ES5TRJ5Tl&TRLTl'[Q5Tl)TRRRU[*RVRX5 TRRR[5 TR\R_TRR5 TRRRa5nURcS	[dRfRhS
9 URcS[dRfRhS
9 URcS[dRfRhS
9 [*Rj"[l[nRp[l[r[r5Tl:TRvRyS5 TRzR}TR5[*R�R�5 [*R�"5nUR�S
S5 UR�SS5 UR�S[*R�R�5 UR�SS5 [*R�"SU5nUR�[*R�R�5 UR�S5 TRvR�U5 UR�UTR�5 [�S5TlN[*R�R�TR�5n	U	TR�lPU	R�[ES55 U	R�SS5 U	R�S5 TRvR�U	5 [*R�"5n
U
R�SS5 U
R�STR�TRv5 U	R�U
S5 U	R�U
S[�5 U	R�U
S[�5 U	R�U
TR�5 [*R�"5nUR�SS5 UR�S[*R�R�5 U	R�US5 U	R�UTR�5 [*R�"5nUR�SS5 UR�S[dR�R�5 U	R�US5 U	R�UTR�5 [*R�"5n
U
R�S
S5 U
R�SS5 U
R�SS5 U
R�SS5 [*R�"[ES 5U
[�S!9nUR�[*R�R�5 UR�U
S[�5 TRvR�U5 TRvR�S5 TRvR�S5 TRvR�[*R�R�5 TRvR�S5 TRvR�U	5 TRvR�[�5 TRvR�S"TR�5 TR(R�S#5TlmTR(R�S$5TlnTR�R�TR(R�S%55 TR�R�S&TR�5 TR�R�S'TR�5 ["R$R'S(5TlsTR�R�S)U4S*j5 TR�5 [�5TlvTR�R�S+TR�5 TR�R�S,TR�5 TR�R�S-TR�5 SS.KzJ{n U"5R�nU(aITGRRa5GRU5 TGRGRS5 gg![�a TR�S/5nNn[�an[�S0U5 S1nSnAN�SnAff=f)2Nzgtkbuilder/UpdateManager.ui�pane_updates_availablerTzcom.ubuntu.update-manager)�parentzEnable Ubuntu Pro...zInstall Now�
versiontag)�weight�
changestag�descriptiontag�xpadro�ypadr=z
stock-sizezfollow-state�FzInstall or remover<�toggled�active�	sensitive�	ellipsize��xalignr�scaleg�������?�Download)�textzbutton-press-eventz
show-versionszsummary-before-name�show-details�activateznotify::expandedzcom.ubuntu.update-notifierzchanged::auto-launchc�$>�TR5$r)�update_close_button)�s�prs  �r �<lambda>�+UpdatesAvailable.__init__.<locals>.<lambda>ys����1I�1I�1Kr#z
network-alertz
battery-alertznetwork-3g-alert)�current_newsz+/var/lib/ubuntu-advantage/messages/apt-newsz&Error running current_news end-point: �)�rr!�window_main�datadir�cache�
custom_header�custom_desc�need_reboot�os�path�join�_load_ui�set_content_widgetr{�dl_size�	connected�sleep_cookier�Settings�new�settingsr�	IconTheme�get_default�	app_icons�append_search_path�APP_INSTALL_ICONS_PATHr�unity�add_settings_button�
add_button�STOCK_CANCEL�close�button_close�_�on_button_pro_clicked�
button_pro�on_button_install_clicked�button_install�focus_buttonr�textview_changes�
set_wrap_mode�WrapMode�WORD�show�scrolledwindow_changes�add�
get_buffer�
create_tagr�Weight�BOLD�	TreeStore�strr�
TYPE_PYOBJECT�bool�store�treeview_update�	set_model�
image_restart�set_from_gicon�get_restart_icon�IconSize�BUTTONrB�set_property�MENU�TreeViewColumn�
set_sizing�TreeViewColumnSizing�FIXED�set_fixed_width�
append_column�set_cell_data_func�restart_icon_renderer_data_funcr+�
pkg_cell_area�
new_with_arear0�	set_title�
set_expand�CellRendererToggle�connect�on_update_toggled�
pack_start�
add_attribute�LIST_TOGGLE_ACTIVE�LIST_SENSITIVE�pkg_toggle_renderer_data_func�pkg_icon_renderer_data_func�CellRendererText�
EllipsizeMode�END�pkg_label_renderer_data_func�	LIST_SIZE�AUTOSIZE�set_headers_visible�set_headers_clickable�
set_direction�
TextDirection�LTR�set_fixed_height_mode�set_expander_column�set_search_column�	LIST_NAME�on_treeview_button_press�get_boolean�
show_versions�summary_before_name�expander_details�set_expanded�pre_activate_details�activate_details�notifier_settingsr�r�
alert_watcher�_on_network_alert�_on_battery_alert�_on_network_3g_alert�'uaclient.api.u.apt_news.current_news.v1r��ImportError�
_get_apt_news�	Exception�print�news�set_text�
expander_news�set_visible)rr��header�descr��content_ui_path�changes_buffer�restart_icon_renderer�restart_column�
pkg_column�pkg_toggle_renderer�pkg_icon_renderer�pkg_label_renderer�
size_renderer�size_columnr��apt_news�es`                 r r!�UpdatesAvailable.__init__�sk�������k�2�&���"�*�*��� �&�&��
�#������&����'�'�,�,��L�L�7�
��	
�
�
�o�'?�@����� ;� ;�<�������!������(�(�)D�E��
����2�2�4������)�)�$�*E�*E�F�"��.��
�	
� � �"� �O�O����d�.�.�4�4�
����/�/�
�$�%�t�'A�'A�
���#�o�o�
�m��d�<�<�
���!�/�/���!0� 1������+�+�C�L�L�,=�,=�>����"�"�$��#�#�'�'��(=�(=�>��.�.�9�9�;���!�!�,�u�|�|�7H�7H�!�I��!�!�,�u�|�|�7H�7H�!�I��!�!�"2�5�<�<�;L�;L�!�M��]�]�3��(=�(=�s�D�$�O��
����&�&�t�,����)�)��!�!�#�S�\�\�%8�%8�	
�!$� 6� 6� 8���*�*�6�1�5��*�*�6�1�5��*�*�<����9J�9J�K��*�*�>�4�@��+�+�D�2G�H���!�!�#�":�":�"@�"@�A��&�&�r�*����*�*�>�:��)�)�!�4�#G�#G�	
�-�U�3����'�'�5�5�d�6H�6H�I�
�$.����!����Q�2�3�4����	�1�-����d�#����*�*�:�6�!�4�4�6���(�(���3��#�#��t�-�-�t�/C�/C�	
�	���1�5�9�� � ���+=�	
�	� � ���n�	
�	�%�%���!C�!C�	
� �2�2�4���&�&�v�q�1��&�&�|�S�\�\�5F�5F�G����/��7��%�%��t�?�?�	
�!�1�1�3���'�'���2��'�'��U�5H�5H�5L�5L�M����0�$�7��%�%��� A� A�	
��,�,�.�
��"�"�6�1�-��"�"�6�1�-��"�"�8�Q�/��"�"�7�I�6��(�(�
�j�M�=�y�
��	���s�7�7�@�@�A��!�!�-��n�M����*�*�;�7����0�0��6����2�2�5�9����*�*�3�+<�+<�+@�+@�A����2�2�5�9����0�0��<����.�.�y�9����$�$� �$�"?�"?�	
�
"�]�]�6�6��G���#'�=�=�#<�#<�!�$
�� �
	
���*�*��M�M�%�%�n�5�	
�	
���%�%�j�$�2K�2K�L����%�%��� 5� 5�	
�
"%���!1�!1�2N�!O������&�&�"�$K�	
�	
� � �"�*�^������"�"�?�D�4J�4J�K����"�"�?�D�4J�4J�K����"�"��� 9� 9�	
�		�L�#�~�2�2�H���I�I� � �"�+�+�H�5����*�*�4�0����	��)�)�=��H��	��:�A�>��H��	�s�4j�k�9	k�k�kc�P�[R"U5 UR5 gr)r�stop�_save_state�rs r r�UpdatesAvailable.stop�s�����D�!����r#c���[R"U5 URURR5 UR
R
5 UR5 gr)r�start�set_update_listr��update_listr��check_alert_state�_restore_staters r r!�UpdatesAvailable.start�sH�����T�"����T�-�-�9�9�:����,�,�.����r#c�J�[RRS5nUS:�$)Nz#APT::Periodic::Update-Package-Listsr)�apt_pkg�config�find_i)r�update_dayss  r �is_auto_update�UpdatesAvailable.is_auto_update�s&���n�n�+�+�1�
���a��r#c��UR5(a[URR[S55 URR	S5 URRS5 gURR[R5 URR	S5 URRS5 g)Nz_Remind Me LaterFT)r,r��	set_labelr��
set_use_stock�set_use_underlinerr�rs r r��$UpdatesAvailable.update_close_button�s������ � ����'�'��*<�(=�>����+�+�E�2����/�/��5����'�'��(8�(8�9����+�+�D�1����/�/��6r#c�F�URS5 UR5 gr)�select_all_upgradesr�)r�menu�menuitemr7s    r �install_all_updates�$UpdatesAvailable.install_all_updates�s��� � ��&��&�&�(r#c�x�Ub
URcgURRRS5nUS:H$)NFzRestart-Required�system)�	candidate�recordrN)r�pkg�restart_conditions   r �pkg_requires_restart�%UpdatesAvailable.pkg_requires_restart�s:���;�#�-�-�/���M�M�0�0�4�4�5G�H�� �H�,�,r#c�H�/SQn[RRU5$)N)zview-refresh-symboliczsystem-restartz
system-reboot)r�
ThemedIcon�new_from_names)r�restart_icon_namess  r r��!UpdatesAvailable.get_restart_icon�s"��
��
�~�~�,�,�-?�@�@r#c��URU[5nURU[5nURU5nUR	U5 Sn	UR
(aAUR
R(a&URUR
R5n	O�UR(atURRU5(dTURRH:n
U
R(dMURU
R5(dM8Sn	 O U	(aUR5nOSnURSU5 g)NFTr;)�	get_value�LIST_UPDATE_DATAr��get_path�
set_sensitiverr=r?rr��row_expanded�itemsr�r�)r�cell_layout�renderer�model�iter�	user_datar7r�r��requires_restart�
group_itemr;s            r r��0UpdatesAvailable.restart_icon_renderer_data_func�s������t�%5�6���O�O�D�.�9�	��~�~�d�#�����y�)� ���9�9������#�8�8������G��
�Z�Z��'�'�4�4�T�:�:�"&�*�*�"2�"2�J�!�~�~�~�$�*C�*C�"���+�+�,0�(��#3���)�)�+�E��E����g�u�-r#c��URU[5nSnSnUR(a_URRRUR
R;nSnURURR5 O�UR(aSnURR5nOdUR(aSSnSnSn	URH=n
U
RH!nUR5nU	b	X�:waSn OUn	M# U(dM= O URSU5 URSU5 g)NFT�activatable�inconsistent)rGrHrr=�name�list�	held_backrJr�r�selection_is_inconsistentrrL�is_selectedr�)
rrMrNrOrPrQr7rVrW�saw_installrr�this_installs
             r r��.UpdatesAvailable.pkg_toggle_renderer_data_func�s�����t�%5�6�������9�9��)�)�-�-�,�,�D�I�I�4G�4G�G�K� �L��"�"�4�9�9�#6�#6�7�
�Z�Z��K��:�:�?�?�A�L�
�[�[��K� �L��K�����!�K�K�D�#'�#3�#3�#5�L�"�.�;�3N�'+���".�K�(� �<��%�	���m�[�9����n�l�;r#c�2�URU[5nSnUR(a&URURR5nO6UR
(a%URUR
R5nUR
SU5 g)Nr;)rGrHr�get_app_install_icon�iconrr�)rrMrNrOrPrQr7r;s        r r��,UpdatesAvailable.pkg_icon_renderer_data_func�sh�����t�%5�6�����:�:��-�-�d�j�j�o�o�>�E�
�Y�Y��-�-�d�i�i�n�n�=�E����g�u�-r#c�h�[U[R5(dU$URR	UR5S[RR5nUbJ[RR[RRUR555$U$)z�Any application icon is coming from app-install-data's desktop
files, which refer to icons from app-install-data's icon directory.
So we look them up here.�)rArrBr��choose_icon�	get_namesr�IconLookupFlags�
FORCE_SIZE�FileIconr��File�new_for_path�get_filename)rrb�infos   r ra�%UpdatesAvailable.get_app_install_icons���
�$����/�/��K��~�~�)�)��N�N��b�#�"5�"5�"@�"@�
�����<�<�#�#�C�H�H�$9�$9�$�:K�:K�:M�$N�O�O��Kr#c�P�URU[5nURU[5n[R"URU[
55nUR
U5 UR(aUn	OUR(aUn	OSU-n	URSU	5 g)Nz	<b>%s</b>�markup)
rGrHr�r�markup_escape_textr�rJrrr�)
rrMrNrOrPrQr7r�rXrqs
          r r��-UpdatesAvailable.pkg_label_renderer_data_funcs������t�%5�6���O�O�D�.�9�	��&�&�u���t�Y�'G�H�����y�)��:�:��F�
�Y�Y��F� �4�'�F����h��/r#c���URS5 URUR5SS5 URUR5US-5 UR	S5n[U5S:XaURU5 gUH�nUR5n[R"S[R"U5-U5n	[R"SU5n
[R"S	U5nU	(a3U	RS5n[S
5U-n
URX�S5 M�U(aURX�S-S5 M�U
(aM�URX�S-5 M� g)
Nr�zTechnical description
r�z

�
rz^%s \((.*)\)(.*)\;.*$z^.*--.*<.*@.*>.*$z^Changes for [^ ]+ versions:$z
Version %s: 
r}r)r	�insert_with_tags_by_name�get_end_iter�insert�splitrM�re�match�escaperr�)rr�	long_descr�rX�srcpkg�lines�line�end_iter�
version_match�author_match�
changes_match�version�version_texts              r �set_changes_buffer�#UpdatesAvailable.set_changes_buffer-sJ������#�	�/�/��0K�0K�0M�0I�0@�	B�	���n�9�9�;�'�&�0�	2��
�
�4� ���u�:��?��#�#�D�)���D�%�2�2�4�H��H�H�(�2�9�9�V�+<�<�d��M��8�8�$7��>�L��H�H�%E�t�L�M��'�-�-�a�0�� �!1�2�W�<���7�7��L����7�7��T�k�<�����%�%�h�t��<�-r#c�~^^^^�UR5SnUcgUR5nURU5nUR5nUR	U[
5(aUR
S[S5S5 OUR
S[S5S5 UR	U[5nURnUc:URb-URRbURRnUbEURb8URRb!URRRc,TRR!5nUR#S5 gURRRn	[$R&"S[$R(5n
U
R+SU	5n	[$R&"S[$R(5n
U
R+S	U	5n	[$R&"S
[$R(5n
U
R+SU	5n	SURR,<SU	<3n	URR,nUcgTRR!5nUTR.R0;aQTR.R0UnTR.URR2n
TR5X�X�U
5 GO2TR6(dUR#[S
55 gTR8R;5(a�[<R>"SS9mX!X�U	4nTRASU4SjU5mUUU4SjmU4Sjn[BRD"TR.RFU4X�S.S9nURI5 UR#S[S5-5 URKS5nURMU5nTRROTU5 TRQ5 gX!X�U	4nTRSU5 g)Nr�notification�Selected�
Unselectedr�z^(\s|\t)*(\*|0|-)z
*z\n� z\s\s+ruz	Package: zKNo network connection detected, you can not download changelog information.z
gtk-cancel)�stock�clickedc�>�T"U5$rr))r��args�hide_buttons  �r r��DUpdatesAvailable.on_treeview_update_cursor_changed.<locals>.<lambda>�s
���;�t�;Lr#c�x>�Tb6TRT5 SmTRS5 TRU5 gg)Nr)�
disconnectr�display_changes)r��button�idrs ���r r��GUpdatesAvailable.on_treeview_update_cursor_changed.<locals>.hide_button�s<����>��%�%�b�)��B��&�&�q�)��(�(��.�	"r#c�4>�[R"TU5 gr)r�idle_add)r�r�s �r �on_thread_done�JUpdatesAvailable.on_treeview_update_cursor_changed.<locals>.on_thread_done�s����
�
�k�4�0r#)�cb�cb_args)�targetr��kwargsz%s
zDownloading list of changes...r)*�
get_cursor�	get_model�get_iter�get_accessiblerGr��emitr�rHrr�	core_itemr=r;�descriptionr�r�r	rz�compile�	MULTILINE�subrXr��all_changes�source_namer�r�r��get_expandedr�Buttonr��	threading�Thread�get_news_and_changelogr!�get_iter_at_line�create_child_anchor�add_child_at_anchorr�r�)rrQr�rOrP�acr7rrr}r�rX�changesr~�
callback_argsr��changelog_thread�anchor�args_normalr�r�r�s`                  @@@r �!on_treeview_update_cursor_changed�2UpdatesAvailable.on_treeview_update_cursor_changedVsk���� � �"�1�%���<��� � �"���~�~�d�#���
"�
"�
$���?�?�4�!3�4�4��G�G�N�A�j�M�1�5��G�G�N�A�l�O�Q�7����t�%5�6���y�y���L��
�
�&��
�
�$�$�0��:�:�'�'�D��L��x�x���x�x�!�!�)��x�x�!�!�-�-�5�!�2�2�=�=�?�N��#�#�B�'���H�H�&�&�2�2�	�
�J�J�+�R�\�\�:���E�E�%��+�	��J�J�u�b�l�l�+���E�E�#�y�)�	��J�J�x����.���E�E�$�	�*�	�)-�����	�B�	��x�x�}�}���<���.�.�9�9�;���4�:�:�)�)�)��j�j�,�,�T�2�G��Z�Z��%�/�/�;�;�F��#�#�N�w�$*�
,�����#�#��-��
�
�
�
"�
"�
/�
/�
1�
1��Z�Z�l�3�F�!�4��K�M����	�+L� -�/�B�
/�
1� )�/�/��z�z�8�8��W�,�G� ��

�"�"�$��#�#���;�<�<�
�"�2�2�1�5�D�#�7�7��=�F��!�!�5�5�f�f�E��K�K�M���T�9�E�����[�)r#c��Uup#pEnUR5SnUcgX':wagSnURURRn	X@RR;aX�RRU-
nX@RR
;aX�RR
U-
nU(dU(aUR
XVX�U	5 gg)Nrr�)r�r�r;r��all_newsr�r�)
rr�r�rQrXrr}�now_pathr�r~s
          r r�� UpdatesAvailable.display_changes�s���:>�7��t�Y��$�$�&�q�)�������������D�!�+�+�7�7���:�:�&�&�&��z�z�*�*�4�0�0�G��:�:�)�)�)��z�z�-�-�d�3�3�G��i��#�#�N�w�$*�
,� r#c	�(�UR[RR:XGaiURS:XGaW[
R"5=Uln[
RR[S55nURSUR5 URU5 URRURR -nUS:XaUR#SS5 [
RR[S55nURSUR$5 URU5 UR'5 UR)SSSSSURUR*5 UR-5 g	gg)
zG
Show a context menu if a right click was performed on an update entry
r>z
_Deselect Allr�rr�FzSelect _AllNT)�typer�	EventType�BUTTON_PRESSr�r�Menur5�MenuItem�new_with_mnemonicr�r��select_none_upgradesr5r��
install_count�	del_countr�r4�show_all�popup_for_device�timer�)rrQrkr5�item_select_none�num_updates�item_select_alls       r r��)UpdatesAvailable.on_treeview_button_press�s1���:�:����3�3�3�����8I� #�x�x�z�)�D�I��"�|�|�=�=��/�"� ��
�$�$�Z��1J�1J�K��K�K�(�)��*�*�2�2�T�Z�Z�5I�5I�I�K��a�� �-�-�k�5�A�!�l�l�<�<�Q�}�=M�N�O��#�#�J��0H�0H�I��K�K��(��M�M�O��!�!��d�D�$��e�l�l�E�J�J�
�
�I�I�K��+9J�3r#c���[R"U[R5(a%[U5nUR	5sSSS5 $g!,(df   g=fr)r��access�R_OK�open�read)r�
apt_news_file�fs   r r�UpdatesAvailable._get_apt_news�s>��
�9�9�]�B�G�G�,�,��m�$���v�v�x�%�$�-�$�$�s�A�
Ac��URR5nUH`nURUR[5nUR
cURcM?URUR[U5 Mb g)z2small helper that will set/unset the group headersN)	r�r�rGrPrHrr�	set_valuer�)r�new_selection_valuerO�rowr7s     r �_toggle_group_headers�&UpdatesAvailable._toggle_group_headers�sa���$�$�.�.�0���C��?�?�3�8�8�-=�>�D��{�{�&�$�*�*�*@�����H�H�0�2E��r#c���URS5 URR5 URS5 URR5 UR
5 URS5 g)z
Select all updates
TFN)�setBusyr��saveDistUpgrader�r��
queue_draw�updates_changed�rrQs  r r4�$UpdatesAvailable.select_all_upgrades�sX��	
���T���
�
�"�"�$��"�"�4�(����'�'�)��������U�r#c���URS5 URR5 URS5 URR5 UR
5 URS5 g)z
Select none updates
TFN)r�r��clearr�r�r�r�r�s  r r��%UpdatesAvailable.select_none_upgrades	sX��	
���T���
�
�����"�"�5�)����'�'�)��������U�r#c�Z�URR5cgU(a_URR5R[RR[RR55 gURR5RS5 g)zxShow a watch cursor if the app is busy for more than 0.3 sec.
Furthermore provide a loop to handle user interface eventsN)r��
get_window�
set_cursorr�Cursorr��
CursorType�WATCH)r�flags  r r��UpdatesAvailable.setBusysu�����&�&�(�0������'�'�)�4�4��
�
���s�~�~�3�3�4�
�
���'�'�)�4�4�T�:r#c�B�SnURRUS5 g)Nc��URU[5nSnUR(aURR5nOpUR(aURR5nODUR(a3[URVs/sHoUR5PM sn5nURU[U5 gs snf)NF)
rGrHrr\r�packages_are_selectedr�anyr�r�)rOr�rPr7r��gs      r �
foreach_cb�;UpdatesAvailable._mark_selected_updates.<locals>.foreach_cb!s����?�?�4�)9�:�D��F��y�y����.�.�0��������9�9�;���������M��A�5�5�7��M�N���O�O�D�"4�f�=��Ns�C
)r�r?)rr�s  r �_mark_selected_updates�'UpdatesAvailable._mark_selected_updates s��		>�	
�
�
���:�t�,r#c�^^�SmUU4SjnTRRUS5 TRRT5 g)NFc�>�URU[5nURU[5nU(dgSnUR(aURRnOLUR
(a;UR
R(a UR
RRnU(aTRU5(aSmggg)NT)rGrHr�rr=rr�r?)rOr�rPr7r�r=rRrs      ��r r��@UpdatesAvailable._check_for_required_restart.<locals>.foreach_cb1s�����?�?�4�)9�:�D��_�_�T�+=�>�F����C��y�y��i�i�m�m������
�
� 4� 4��j�j�*�*�.�.���t�0�0��5�5�#'� �6�sr#)r�r?�hbox_restartr)rr�rRs` @r �_check_for_required_restart�,UpdatesAvailable._check_for_required_restart.s9��� ��	(�	
�
�
���:�t�,����%�%�&6�7r#c���URR5 URRURRURR
-5 URRURR
-nURRUlSnURS:wa�[S5[UR5-nURRS5 URRS5 URRS5 URR5 GO6US:�a^[SSU5nURRS5 URRS5 URR5 O�UR R"(aAUR R$(d&[S5nURR'5 O[[S5nURRS	5 URRS	5 URR5 URRS	5 UR(R+U5 UR,R5 UR.R5 g![0a�n[3S
U-5 UR(R5[S55 URRS	5 UR,R5 UR.R5 SnAgSnAff=f)Nr�rz%s will be downloaded.Tz'The update has already been downloaded.z)The updates have already been downloaded.z7You need to enable Ubuntu Pro to install these updates.z There are no updates to install.Fz-required_download could not be calculated: %szUnknown download size.)r�r�rJr�r�r��required_downloadr�r�r
�image_downsizer��set_install_menuitem_visibler��destroyrrY�ubuntu_pro_fake_groups�ubuntu_pro_groups�hide�label_downsizer	�
hbox_downsize�vbox_alerts�SystemErrorr�
set_markup)r�
inst_count�download_strrs    r �_refresh_updates_count�'UpdatesAvailable._refresh_updates_countBs������ � �"����)�)��J�J�$�$�t�z�z�';�';�;�	
�/	$����1�1�D�J�J�4H�4H�H�J��:�:�7�7�D�L��L��|�|�q� � �!9�:�!�$�,�,�/� ���#�#�1�1�$�7��#�#�1�1�$�7��
�
�7�7��=����'�'�)���>�#+�A�C�"�$�L�
�'�'�5�5�d�;��J�J�;�;�D�A��O�O�+�+�-��i�i�6�6�"�i�i�9�9�#$�&7�$8�L��'�'�,�,�.�#$�%G�#H�L��'�'�5�5�e�<��J�J�;�;�E�B��O�O�+�+�-��#�#�1�1�%�8����(�(��6����#�#�%����!�!�#���	$��A�A�E�F����*�*�1�-E�+F�G����-�-�e�4����#�#�%����!�!�#�#��	$�s�"I-K�
M%�BM � M%c�d�UR5 UR5 UR5 gr)r�rrrs r r�� UpdatesAvailable.updates_changedxs&���#�#�%��(�(�*��#�#�%r#c��UR5 SnSnURbURnURb
URnO�URR	S5(alUR
RRnUR
RRn[S5X44-nURRSS5 OF[S5nURR5(dUR(a[S5nURRS5 UR!U5 UR#U5 g)zbactivate or disable widgets and show dialog texts corresponding to
the number of available updatesNz	first-runzYUpdated software has been issued since %s %s was released. Do you want to install it now?FzOUpdated software is available for this computer. Do you want to install it now?zIThe computer also needs to restart to finish installing previous updates.T)r�r�r�r�r�r��meta_release�flavor_name�current_dist_versionr��set_booleanr��get_visibler�r�rJ�
set_header�set_desc)r�text_header�	text_desc�flavorr�s     r �update_count�UpdatesAvailable.update_count}s-��	
�������	����)��,�,�K����'��(�(�I��]�]�
&�
&�{�
3�
3��%�%�2�2�>�>�F��&�&�3�3�H�H�G��?���!�"�K�
�M�M�%�%�k�5�9��;��K��$�$�0�0�2�2�t�7G�7G��=��	�
	
���*�*�4�0�����$��
�
�i� �r#c�h�URR5nU(aUR5 ggr)r�r�r)r�expander�expandeds   r r��%UpdatesAvailable.pre_activate_details�s*���(�(�5�5�7�������r#c���URR5nURRSU5 U(aUR	UR
5 UR
5 g)Nr�)r�r�r�rr�r�r%)rr#r7r$s    r r��!UpdatesAvailable.activate_details�sM���(�(�5�5�7���
�
�!�!�.�(�;���2�2�4�3G�3G�H����r#c��grr))rr#r7s   r �
activate_desc�UpdatesAvailable.activate_desc�s��r#c�V�URR[R5 gr)r��
show_settingsr�
ubuntu_prors r r��&UpdatesAvailable.on_button_pro_clicked�s�����&�&�'=�'H�'H�Ir#c	�,�URRS5 [S5n[S5n[S5n[S5n[S5n[S5n[S5nURR	5 URR%5 g![
Ga�n[RRS	5n	Sn
URGHonU
S:waU
S
-
n
URU	:Xa6X�URURURURU4--
n
MUURS:Xa6X�URURURURU4--
n
M�URS:Xa6X�URURURURU4--
n
M�URS
:Xa7X�URURURURU4--
n
GM(URS:XdGM;X�URURURURU4--
n
GMr URRSX5 SnAgSnAf[a [ R""S5 GNf=f)NFzNot enough free disk spacezxThe upgrade needs a total of %s free space on disk '%s'. Please free at least an additional %s of disk space on '%s'. %szIRemove temporary packages of former installations using 'sudo apt clean'.z�You can remove old kernels using 'sudo apt autoremove', and you could also set COMPRESS=xz in /etc/initramfs-tools/initramfs.conf to reduce the size of your initramfs.z^Empty your trash and remove temporary packages of former installations using 'sudo apt clean'.z!Reboot to clean up files in /tmp.r�zDir::Cache::archivesr�z/boot�/z/tmpz/usrzfree space check failed)r�rr�r��checkFreeSpacerr(r)�find_dir�free_space_required_list�dir�
size_total�size_neededr��start_errorr
�logging�	exception�
start_install)r�err_sum�err_msg�remedy_archivedir�remedy_boot�remedy_root�
remedy_tmp�
remedy_usrr�
archivedir�err_long�reqs            r r��*UpdatesAvailable.on_button_install_clicked�sf���
�
�/�/��6��0�1���
N�
��
�
4�
���
5�
��
�
>�
���:�;�
��r�U�
�4	9��J�J�%�%�'�h	
���&�&�(��g'�0	� ���0�0�1G�H�J��H��1�1���r�>���O�H��7�7�j�(��������������)�+�!��H��W�W��'��������������#�+�!��H��W�W��^��������������#�+�!��H��W�W��&��������������"�+�!��H��W�W��&��������������"�+�!��H�I2�V
���(�(���B����	9����7�8�	9�s&�*B�J�*E#I,�AI,�,#J�Jc���U[R;apURR[	S55 UR5 URR5 URR5 SUl	gU[R;dU[R:XaMUR5 URR5 SUl	URUR5 gSUl	URR[	S55 UR5 URR5 URR5 g)Nz
Connecting...FTzAYou may not be able to check for updates or download new updates.)r�NM_STATE_CONNECTING_LIST�
label_offliner	r�r��hbox_offliner�rr��NM_STATE_CONNECTED_LIST�NM_STATE_UNKNOWNr	r�r�)r�watcher�states   r r�"UpdatesAvailable._on_network_alerts���(�A�A�A����'�'��/�(:�;�� � �"����"�"�$����!�!�#�"�D�N�
�)�A�A�A��,�=�=�=�� � �"����"�"�$�!�D�N�
�2�2�4�3G�3G�H�"�D�N����'�'��7��
�
� � �"����"�"�$����!�!�#r#c��U(a5URR5 URR5 gURR5 gr)�hbox_batteryr�rr	)rrL�
on_batterys   r r�"UpdatesAvailable._on_battery_alert's;������"�"�$����!�!�#����"�"�$r#c�\�U(a5URR5 URR5 gU(a5URR5 URR5 gURR5 URR5 gr)�hbox_roamingr��
hbox_on_3gr	)rrL�on_3g�
is_roamings    r r�%UpdatesAvailable._on_network_3g_alert.sn������"�"�$��O�O� � �"�
��O�O� � �"����"�"�$��O�O� � �"����"�"�$r#c��URRU5nURRU[5nUR(aAURURVVs/sHofRHowPM M snn5 OSUR(a&URURR5 OURUR/5 UR5nURRU[5(aURS[S5S5 gURS[S5S5 gs snnf)z+a toggle button in the listview was toggledr�r�rr�N)
r�r�rGrHr�toggle_from_itemsrLrrr�r�r�r�)	rrNr��treeviewrPr7rrr�s	         r r��"UpdatesAvailable.on_update_toggled:s����z�z�"�"�4�(���z�z�#�#�D�*:�;���;�;��"�"�#'�;�;�G�;�%�;�;�4��;��;�G�
��Z�Z��"�"�4�:�:�#3�#3�4��"�"�D�I�I�;�/��
$�
$�
&���:�:����&8�9�9��G�G�N�A�j�M�1�5��G�G�N�A�l�O�Q�7��Hs�'E
c�(�URSX!5 g)zR
If an update row was activated (by pressing space), toggle the
install check box
N)r�)rr[r�r0r�s     r � on_treeview_update_row_activated�1UpdatesAvailable.on_treeview_update_row_activatedPs��
	
���t�T�4r#c�x�URS5 [R"URR5n[UVs/sHo3R
5PM sn5nUH�nU(aURR5 M'URRURR;aIUR(dURR5 M�URR5 M�M� URRR (a:[R""URR5nUR%5 UR'5 UR(R+5 AURS5 gs snf![a GMQf=f)NTF)r�r(�ActionGroupr��	_depcacher�r\r=�	mark_keeprXrYrZ�	to_remove�mark_install�mark_deleter
�broken_count�ProblemResolver�resolve_by_keepr�r�r�)rrL�actiongroupr�
keep_packages�Fixs      r rZ�"UpdatesAvailable.toggle_from_itemsWs4�����T���)�)�$�*�*�*>�*>�?���E�B�E�D�-�-�/�E�B�C�
��D�	
� ��H�H�&�&�(��X�X�]�]�$�)�)�*=�*=�=��>�>����-�-�/����,�,�.�	>�	��:�:���,�,��)�)�$�*�*�*>�*>�?�C����!��������'�'�)�����U���)C���
��
�s%�F%�+!F*�AF*�)F*�*
F9�8F9c���URR5(aUURR5upURRSU5 URRSU5 gg)z%save the state  (window-size for now)�window-width�
window-heightN)r�r�r��get_sizer��set_int)r�w�hs   r r�UpdatesAvailable._save_statersZ��� � �-�-�/�/��%�%�.�.�0�F�Q��M�M�!�!�.�!�4��M�M�!�!�/�1�5�0r#c��URRS5nURRS5nURR5nU(aURRX5 gURR
5 g)z'restore the state (window-size for now)rorpF)r�rsr�r�r��begin_user_resizable�end_user_resizable)rrsrtr$s    r r%�UpdatesAvailable._restore_stateysq���M�M�!�!�.�1���M�M�!�!�/�2���(�(�5�5�7������1�1�!�7��
���/�/�1�r#c��SnUHnXER5-nM U[USS5[U5SU/nURR	SU5$)NrT)�get_total_sizerr
r�r5)rrXrr��
total_sizer�
header_rows       r �_add_header�UpdatesAvailable._add_header�sa���
��E�#�&:�&:�&<�<�J��
��v�t�T�*��*�%���
�
��z�z� � ��z�2�2r#c�&�UGH�nUR(dMSn[U[5(d([UR5S:XaURSnURS:XaSUlURn[UR5S:�a$SUR[UR54-nU[SX#5[
UR55SUR/nURRSU5nU(aGMURHlnUR[SSU5[
[URRSS55SUR/nURRXh5 Mn GM� g)NrrzUbuntu basezSystem componentsz%s (%d)T�size)rLrArrMrXrr
r{r�r�r5�getattrr=r;)	rrr�
group_is_itemrX�	group_row�
group_iterr�item_rows	         r �_add_groups�UpdatesAvailable._add_groups�sB���E��;�;�� �M��u�&7�8�8�����$��)� %���A��
��z�z�]�*�0��
��:�:�D��5�;�;��!�#� �E�J�J��E�K�K�0@�#A�A����4��6��e�2�2�4�5������I����*�*�4��;�J��������I�I��t�T�4�0�!�'�$�(�(�*<�*<�f�a�"H�I���O�O����
�
�!�!�*�7�$�9r#c�	�XlURS5 URRS5 URR5 SUlURR5 URR(aTUR[S5URR5 URURR5 URR(aTUR[S5URR5 URURR5 URR(aTUR[S5URR5 URURR5 URR(aTUR[S5URR5 URURR5 URR (aTUR[S5URR 5 URURR 5 URR"(aSUR[S5URR"SS	9 URURR"5 URR$(aSUR[S
5URR$SS	9 URURR$5 URRUR5 ['URR$5=(d� ['URR"5=(d� ['URR5=(dk ['URR5=(dE ['URR5=(d ['URR 5UR(lUR-5 UR/5 URS5 UR15 g)NTrzImproved hardware supportzSecurity updatesz
Other updatesz#Unused kernel updates to be removedz Duplicate packages to be removedzUbuntu Pro security updates)r�u3Ubuntu Pro security updates (enable in Settings…)F)rYr�r�r�r�r�r��scrolledwindow_updater��
oem_groupsr~r�r��security_groups�
update_groups�kernel_autoremove_groups�duplicate_groupsrrr�r�r/r�r r�)rr#s  r r"� UpdatesAvailable.set_update_list�sI���	�	
���T�����&�&�t�,��
�
��������"�"�'�'�)��9�9�������-�.��	�	�0D�0D�
�
���T�Y�Y�1�1�2��9�9�$�$����Q�1�2�D�I�I�4M�4M�N����T�Y�Y�6�6�7��9�9�"�"����Q��/����1H�1H�I����T�Y�Y�4�4�5��9�9�-�-�����7�8��	�	�2�2�
�
���T�Y�Y�?�?�@��9�9�%�%�����4�5��	�	�*�*�
�
���T�Y�Y�7�7�8��9�9�&�&�����/�0��	�	�+�+��
�
�

���T�Y�Y�8�8�9��9�9�+�+�����G�H��	�	�0�0��
�
�

���T�Y�Y�=�=�>����&�&�t�z�z�2�����1�1�2�
0��D�I�I�/�/�0�
0��D�I�I�+�+�,�
0��D�I�I�-�-�.�
0��D�I�I�6�6�7�	
0�
�D�I�I�.�.�/�
	
���*�	
� � �"��������U������r#)r�r�r�r�r�r�r�r�r�r�r�r�rYr5r�r�r�r�r�r�r�r�r�r�r�)NNF)T)1r$r%r&r'r�r!rr!r,r�r7r?r�r�r�r�rar�r�r�r�r�rr�r4r�r�r�rrr�r r�r�r)r�r�rrrr�r^rZrr%r~r�r"r(r)r#r rxrx�s���;��|1�|�� �7�)�-�A�.�8<�B.�� 0�$'=�Rf*�P,�*�6 ��	�	�
;�-�8�(4$�l&�
%�P�
��J�N)�`$�@%�
%�8�,5��66�	�3�*8�XAr#rx)-�gi�require_version�
gi.repositoryrrrrrr�warnings�filterwarnings�DeprecationWarningr(r�rzr8r�r
r�r�
Core.utilsr
r�Core.AlertWatcherr�Core.UpdateListr�Dialogsr�DistUpgrade.DistUpgradeCacherrr�ranger�rHr�r�r��	Core.roamrrr.r+rxr)r#r �<module>r�s���@
����5�%� ����!��������,�.@���	�	��� ��=�+�.�#�@�,�&�"
�!�H�
�
��
���,���o�c�o�o�o�dl�~�lr#

Filemanager

Name Type Size Permission Actions
ChangelogViewer.cpython-313.pyc File 12.85 KB 0644
Dialogs.cpython-313.pyc File 25.5 KB 0644
HelpViewer.cpython-313.pyc File 1.56 KB 0644
MetaReleaseGObject.cpython-313.pyc File 1.85 KB 0644
UnitySupport.cpython-313.pyc File 4.27 KB 0644
UpdateManager.cpython-313.pyc File 28.67 KB 0644
UpdateManagerVersion.cpython-313.pyc File 189 B 0644
UpdatesAvailable.cpython-313.pyc File 59.87 KB 0644
__init__.cpython-313.pyc File 153 B 0644
Filemanager