403Webshell
Server IP : 43.141.49.119  /  Your IP : 113.219.202.141
Web Server : Apache
System : Linux VM-8-5-opencloudos 6.6.34-9.oc9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 19 19:35:45 CST 2024 x86_64
User : www ( 1000)
PHP Version : 8.1.27
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.11/site-packages/dnf/cli/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.11/site-packages/dnf/cli/__pycache__/cli.cpython-311.pyc
�

8O�dh����dZddlmZddlmZddlmZ	ddlmZn#e$r	ddlmZYnwxYwddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZdd	lmZdd
lmZmZddlZddlZddlZddlZddlZddl Zddl!Zddl"Zddl#Zddl$Zddl%Zddl&Zddl'Zddl(Zddl)Zddl*Zddl+Zddl,Zddl-Zddl.Zddl/Zddl0Zddl1Zddl2Zddl3Zddl4Zddl5Zddl6Zddl7Zddl8Zddl9Zddl:Zddl;Zddl<Zddl=Zddl>Zddl?Zddl@ZddlAZddlBZddlCZddlDZe
jEd��ZFdd
�ZGd�ZHd�ZId�ZJGd�dejK��ZLGd�deM��ZNdS)z/
Command line interface yum class and related.
�)�print_function)�absolute_import)�unicode_literals)�SequenceN�)�output)�CliError)�ucd�_�dnf�c�T�t|j��dzt|j��zt|��z}t|j��}t|j��}d|fd|fd|ffD]7\}}||�|d��|||xxdz
cc<�8dS)zl Get the length of each pkg's column. Add that to data.
        This "knows" about simpleList and printVer. r�na�ver�ridrN)�len�name�arch�evr�
_from_repo�
setdefault)�data�pkg�indentrrr�d�vs        �0/usr/lib/python3.11/site-packages/dnf/cli/cli.py�_add_pkg_simple_list_lensr]s���

�S�X����	�S���]�]�	*�S��[�[�	8�B�

�c�g�,�,�C�

�c�n�
�
�C��"�:��s�|�e�S�\�:�����A��Q����1�a� � � ��Q���
�
�
�a��
�
�
�
���c��iiid�}|j|j|j|j|j|jfD]}|D]}t
||����t|j��dkr/|j	D]'\}}t
||��t
||d����(|d|d|dg}|j
|d�	��}|d|d|d
fS)zA Work out the dynamic size of the columns to pass to fmtColumns. )rrrrz    )rrrrr)�remainder_column�)�	installed�	available�extras�
autoremove�updates�recentrr�	obsoletes�obsoletesTuples�calcColumns)r�yplr�lstr�npkg�opkg�columnss        r�_list_cmd_calc_columnsr1hs���r�2�.�.�D��
�s�}�c�j�#�.���S�Z�)�1�1���	1�	1�C�%�d�C�0�0�0�0�	1�
�3�=���A����/�	B�	B�L�T�4�%�d�D�1�1�1�%�d�D��A�A�A�A�A���J��U��T�%�[�1�D� �f� ���:�:�:�G�
�Q�Z�K�'�!�*��w�q�z�k�2�2rc	��d�}tj�|��}d}|�������|���D]�}|rt
d��d}|jdkr|j�d|j	�d|j
��}n!|j�d	|j�d|j	�d|j
��}|j�|j
��}t
td
��||||j��fz��t
td��|jr|jnd||j��fz����dS)Nc�P�tjdtj|����S)N�%c)�time�strftime�gmtime)�xs r�
sm_ui_timez"print_versions.<locals>.sm_ui_timezs���}�T�4�;�q�>�>�2�2�2rF)rr
T�0�-�.�:z  Installed: %s-%s at %sz  Built    : %s at %s)r�sack�
rpmdb_sack�queryr#�filterm�print�epoch�version�releaser�term�boldrr�installtime�packager�	buildtime)	�pkgs�baserr9r?�donerrrs	         r�print_versionsrNys���3�3�3���$�$�T�*�*�J��D����!�!�+�+�-�-�5�5�4�5�@�@�
H�
H���	��"�I�I�I����9���� #����S�[�[�[�#�(�(�C�C�C�#&�9�9�9�#&�;�;�;�����S�X�X�G�C��{�����)�)��
�a�*�+�+�d�C�.8�j���.I�.I�.K�K�	L�	L�	L�
�a�'�(�(�C�L�,P�C�L�L�b�,6�J�s�}�,E�,E�,G�G�	H�	H�	H�	H�
H�
Hrc	���td��}|���D]@\}}t�|�||d|d�����AdS)NzTThe operation would result in switching of module '{0}' stream '{1}' to stream '{2}'rr)r�items�logger�warning�format)�switchedModules�msg1�
moduleName�streamss    r�report_module_switchrX�sq������D�.�4�4�6�6�H�H��
�G����t�{�{�:�w�q�z�7�1�:�F�F�G�G�G�G�H�Hrc���eZdZdZd�fd�	Zd�fd�	Zd�Zd�Zd�Zd	�Z	dd�Z
d
�Zggdfd�Zdd�Z
		dd�Z�fd�Zd�Z�xZS)�BaseCliz#This is the base class for yum cli.Nc����|ptj���}tt|���|���t
j||j��|_dS)N)�conf)rr\�Conf�superrZ�__init__r�Output)�selfr\�	__class__s  �rr_zBaseCli.__init__�sQ����&�s�x�}�}����
�g�t���%�%�4�%�0�0�0��m�D�$�)�4�4����r�c��
��tjjr�|jjs�t|j�����}|r`t|��td���
tjj���}tj
�|���|j}|j�|��}|rt$�|��|r�g}g}d}|D]i}	|	jtjjvr|�|	j���5|	jtjjvrd}|�|	j���j|`|s|j�|��n|j�||��|s:|j���s!|j�r|jjs
|jj�r|jj rKt$�td���
tjj!�����nXd|jj"vrJt$�td���
tjj!�����|�#��rA|jj$s|j�%��stMtd�����n)t$�td	����d
S|r�|r�t$�td����	|jj'}
|�(||jj)|
��n�#tj
j*$rx}tj+j
�,t[|����}td��d
|zz}
t]��tj
�|
���d
}~wwxYw|�/|��|jj rd
Sta|tb��s|g}t!j2��gtg|��z}titj|���6|��}|�Q|j7�8|g��d}tj9j�:|j7|j;��}nd
}|r�t]��t]d�<|j�=|������t]��|D]H}	|	j>t~jj@kr,tj
�td������I|S)z�Take care of package downloading, checking, user
        confirmation and actually running the transaction.

        :param display: `rpm.callback.TransactionProgress` object(s)
        :return: history database transaction ID or None
        aQIt is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.
It is recommended to rather remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream.��progTFz7{prog} will only download packages for the transaction.�testzP{prog} will only download packages, install gpg keys, and check the transaction.zOperation aborted.zNothing to do.NzDownloading Packages:zError downloading packages:z
%sr�
zTransaction failed)ArrL�WITH_MODULESr\�module_stream_switch�dict�_moduleContainer�getSwitchedStreamsrXrrS�util�	MAIN_PROG�
exceptions�Error�transactionr�list_transactionrQ�info�action�FORWARD_ACTIONS�appendr�BACKWARD_ACTIONS�_ts�reportRemoveSize�reportDownloadSize�	isChanged�_history�group�env�downloadonly�MAIN_PROG_UPPER�tsflags�
_promptWanted�assumeno�userconfirmr	�download_callback_total_cb�download_packages�progress�
DownloadError�cli�indent_blockr
rB�gpgsigcheck�
isinstancer�CliTransactionDisplay�listr^rZ�do_transaction�history�old�db�RPMTransaction�_trans�join�post_transaction_output�state�libdnf�TransactionItemState_ERROR)ra�displayrT�msg�trans�pkg_str�install_pkgs�rmpkgs�install_only�tsi�total_cb�e�specific�errstr�tidrbs               �rr�zBaseCli.do_transaction�s����8� �	4��9�1�

4�"&�t�'<�'O�'O�'Q�'Q�"R�"R��"�4�(��9�9�9��V�W�W�X^�W]� �X�/�X^�X1�X1�	��.�.�.�s�3�3�3�� ���+�.�.�u�5�5���	!��K�K�� � � ��	K��L��F��L��
+�
+���:���!@�@�@� �'�'���0�0�0�0��Z�3�?�#C�C�C�#(�L��M�M�#�'�*�*�*���� �
K���,�,�V�4�4�4�4���.�.�|�\�J�J�J��	�D�)�3�3�5�5�	���	�$(�M�$7�	�;?�=�;L�	��y�%�
U����A�W�X�X�_�_���1�`�3�3�4�4�4�4��4�9�,�,�,����A�-�.�.�.4�f�#�(�:R�f�.S�.S�U�U�U��!�!�#�#�
<��9�%�<�T�[�-D�-D�-F�-F�<�"�1�%9�#:�#:�;�;�;���K�K��*�+�+�,�,�,��F��	+��
7����A�5�6�6�7�7�7�	7�#�{�E�H��*�*�<���9M�x�X�X�X�X���~�3�7�7�7�"�w�~�:�:�3�q�6�6�B�B�H��<�=�=���@Q�Q�F��G�G�G��.�.�.�v�6�6�6�����
7����
���\�*�*�*��9�!�	��F��'�8�,�,�	 ��i�G��/�1�1�2�T�'�]�]�B���G�T�"�"�1�1�'�:�:���?��L�$�$�c�U�+�+�A�.�E��F�L�/�/���e�l�K�K�E�E��E��		H�
�G�G�G��$�)�)�D�K�?�?��F�F�G�G�H�H�H��G�G�G��
H�
H���9�� 2� M�M�M��.�.�.�q�1E�/F�/F�G�G�G�N��
s�(-M�O"�*A3O�O"c����g}|D�]}��|��\}}|dkr�"|dkr؉jjo�jj}tjrtj���s.|s,tj�	td������fd�}	��||����#tjj	tf$r,}|�
t|����Yd}~��d}~wwxYw|�
|����|rK|D]}	t�|	���tj�	td�����dS)aPerform GPG signature verification on the given packages,
        installing keys if possible.

        :param pkgs: a list of package objects to verify the GPG
           signatures of
        :raises: Will raise :class:`Error` if there's a problem
        rrzTRefusing to automatically import keys when running unattended.
Use "-y" to override.c�6���j���S�N)rr�)r8�y�zras   �r�<lambda>z%BaseCli.gpgsigcheck.<locals>.<lambda>$s���T�[�%<�%<�%>�%>�rNzGPG check FAILED)�_sig_check_pkgr\�	assumeyesr��sys�stdin�isattyrrprqr�_get_key_for_package�
ValueErrorrw�strrQ�critical)
rarK�error_messages�po�result�errmsg�ay�fnr�r�s
`         rr�zBaseCli.gpgsigchecks�������	.�	.�B�!�0�0��4�4�N�F�F���{�{���1����Y�(�C���1C�-C���	�C���)9�)9�);�);�C�R�C��.�.�.�q�2A�0B�0B�C�C�C�
?�>�>�>��2��-�-�b�"�5�5�5�5����,�j�9�2�2�2�"�)�)�#�a�&�&�1�1�1�1�1�1�1�1�����2����
�%�%�f�-�-�-�-��	>�%�
%�
%������$�$�$�$��.�&�&�q�);�'<�'<�=�=�=�	>�	>s�%B<�<D�"C>�>Dc���d�|jj�d|j��D]=}|tj}|r'tj�|d���n�>�fd�|j	D��}|S)zBReturn list of changelogs for package newer then installed versionNrrc�0��g|]}��|d�k�|��S)N�	timestamprc)�.0�chlog�newests  �r�
<listcomp>z-BaseCli.latest_changelogs.<locals>.<listcomp>=s9���D�D�D�E��^�u�[�'9�F�'B�'B��'B�'B�'Br)
�_rpmconn�readonly_ts�dbMatchr�rpm�RPMTAG_CHANGELOGTIME�datetime�date�
fromtimestamp�
changelogs)ra�package�mi�changelogtimes�chlogsr�s     @r�latest_changelogszBaseCli.latest_changelogs3s�������-�+�3�3�F�G�L�I�I�	�	�B��� 8�9�N��
�!��4�4�^�A�5F�G�G����
�D�D�D�D�W�%7�D�D�D���
rc	���d|d�d���dtj�|d���dtj�|d���d�}|S)z*Return changelog formatted as in spec filez* r�r4� �authorrh�text)r6r�i18nr
)ra�	changelog�	chlog_strs   r�format_changelogzBaseCli.format_changelogAsi���
�k�"�+�+�D�1�1�1�1��H�L�L��8�,�-�-�-�-��H�L�L��6�*�+�+�+�+�-�	��rc	��t��}|D]7}|�|jp|jg���|���8t|�����D]�}||}ttd���	d�
d�|D��������|�|d��D]$}t|�|�����%��dS)NzChangelogs for {}�, c�,�g|]}t|����Src)r�)r�rs  rr�z,BaseCli.print_changelogs.<locals>.<listcomp>Qs��:\�:\�:\��3�s�8�8�:\�:\�:\rr)
rkr�source_namerrw�sorted�keysrBrrSr�r�r�)ra�packages�bysrpm�pr��bin_packages�chls       r�print_changelogszBaseCli.print_changelogsIs�������	E�	E�A����a�m�5�q�v�r�:�:�A�A�!�D�D�D�D�!�&�+�+�-�-�0�0�	2�	2�K�!�+�.�L��!�'�(�(�/�/��	�	�:\�:\�|�:\�:\�:\�0]�0]�^�^�_�_�_��-�-�l�1�o�>�>�
2�
2���d�+�+�C�0�0�1�1�1�1�
2�	2�	2rTFc
��|�d||���}|jjs|jjr0|�d||���}|j|_|j|_|�r�t|j|��}t|j��dkr�i}|jj	j
d}	|	rot|j��D]Z}
|
���}tj�|��r%|
���r|
||
j|
jf<�[|jj}|jj}
|j�|jdd||||
d��	��|r|�|j��t|j��dkrdt/t1d
����t|jt3jd�����D]}|j�|d|���� |jp|jS)
z?Check updates matching given *patterns* in selected repository.�upgrades)�reponamer)rrGr
r���=�not in)�
outputType�highlight_nar0�highlight_modes�Obsoleting Packages��key�r0)�returnPkgListsr\r)�verboser*r1rrr'rF�MODEr��localPkg�os�path�exists�verifyLocalPkgrr�color_update_local�color_update_remote�listPkgsr�rBr�operator�
itemgetter�updatesObsoletesList)ra�patternsr��print_r�r,�typlr0�
local_pkgs�	highlightr��local�cul�cur�obtups               r�
check_updateszBaseCli.check_updatesUs)���!�!�*�h��!�J�J���9��	7�$�)�"3�	7��&�&�{�H�x�&�P�P�D� �N�C�M�"&�"6�C���	F�,�T�[�#�>�>�G��3�;���!�#�#��
� �K�,�1�&�9�	��@�$�S�[�1�1�@�@�� "���
�
���7�>�>�%�0�0�@�R�5F�5F�5H�5H�@�=?�J�����'9�:���i�2���i�3����$�$�S�[�"��+5�w�58�S�.I�.I�%�K�K�K��7��)�)�#�+�6�6�6��3�=�!�!�A�%�%��a�-�.�.�/�/�/�#�C�$7�(0�(;�A�(>�(>�@�@�@�F�F�E��K�4�4�U�K�=D�5�F�F�F�F��{�+�c�m�+rc��|j���}t|��dkr|���n|D]}|�|���|j���|z
}|dkrG|j���s0td��}tj�|���dSdS)ab Upgrade or downgrade packages to match the latest versions available
            in the enabled repositories.

            :return: (exit_code, [ errors ])

            exit_code is::
                0 = we're done, exit
                1 = we've errored, exit with error string
                2 = we've got work yet to do, onto the next stage
        rz4No packages marked for distribution synchronization.N)	�_goal�
req_lengthr�distro_sync�req_has_distupgrade_allrrrprq)ra�userlist�oldcount�pkg_spec�cntr�s      r�distro_sync_userlistzBaseCli.distro_sync_userlist{s����:�(�(�*�*���x�=�=�A����������$�
+�
+��� � ��*�*�*�*��j�#�#�%�%��0���!�8�8�D�J�>�>�@�@�8��J�K�K�C��.�&�&�s�+�+�+��8�8�8rc�~�d}|D]�}	|�||���d}�#tjj$rT}t�t
d��|jj�	|j
����Yd}~��d}~wwxYw|D]�}	|�||���d}�#tjj$rQ}t
d��}	t�|	|jj�	|����Yd}~�}d}~wtjj
$rT}t�t
d��|jj�	|j����Yd}~��d}~wtjj$rJ�wxYw|s,tj�t
d�����dS)	aaAttempt to take the user specified list of packages or
        wildcards and downgrade them. If a complete version number is
        specified, attempt to downgrade them to the specified version

        :param specs: a list of names or wildcards specifying packages to downgrade
        :param file_pkgs: a list of pkg objects from local files
        F)�strictTzNo match for argument: %sNzNo package %s available.z6Packages for argument %s available, but not installed.z!No packages marked for downgrade.)�package_downgraderrp�MarkingErrorrQrtrrrFrG�location�downgrade_to�PackageNotFoundError�PackagesNotInstalledErrorrrq)
ra�specs�	file_pkgsrr�rr��arg�errr�s
          r�
downgradePkgszBaseCli.downgradePkgs�s*�����	A�	A�C�
A��&�&�s�6�&�:�:�:������>�.�
A�
A�
A����A�9�:�:� �K�,�1�1�#�,�?�?�A�A�A�A�A�A�A�A�����
A�����	�	�C�

��!�!�#�f�!�5�5�5������>�6�
=�
=�
=��2�3�3�����C���!1�!6�!6�s�!;�!;�<�<�<�<�<�<�<�<������>�;�
A�
A�
A����A�V�W�W� �K�,�1�1�#�,�?�?�A�A�A�A�A�A�A�A������>�.�
�
�
���
�����	O��.�&�&�q�)L�'M�'M�N�N�N�	O�	Os;�"�B
�A
B�B
�B,�,F�AD�F�#A
E2�2F�allc�b�	|jjjd}|�||||���}i}i}i}	d}
|dkrt	|j|��}
|rD|jr=|j|jz|jzD]%}|j	|j
f}||vs|||kr|||<�&|r4|jr-|jD]%}|j	|j
f}||vs|||kr|||<�&|rD|j
r=t|j
��D](}
|
jt jkr|
|	|
j	|
j
f<�)|jj}|jj}|jj}|jj}|j�|jt1d��|||
||||d����}|jj}|jj}|jj}|jj}|j�|jt1d��|||
||||d	����}|j�|jt1d
��||
���}|j�|jt1d��||
���}|jj}|jj }|j�|j
t1d
��||	|
||d����}tC|j"��dkr|dkrytC|j"��}tGt1d����t|j$tKj&d�����D]}|j�'|d|
���� n0|j�|j"t1d��||
���}|j�|j(t1d��||
���}tC|��rV|dkrR|dkrN|dkrJ|dkrF|dkrB|dkr>|dkr:tRj*�+t1d�����dSdSdSdSdSdSdSdS#tRj*j+$r} dtY| ��gfcYd} ~ Sd} ~ wwxYw)zJOutput selection *pkgnarrow* of packages matching *patterns* and *repoid*.rG)�installed_availabler�Nr�zInstalled Packages)�>�<r�r�)r�r0r�zAvailable Packages)r&r%r�r�zAutoremove Packagesr�zExtra PackageszAvailable Upgradesr�rr�r�r)zRecently Added PackageszNo matching Packages to listr)-rrFr�r�r1r#�hidden_available�reinstall_available�
old_availablerrr$�hidden_installedr'r�r��hawkey�SYSTEM_REPO_NAMEr\�color_list_installed_older�color_list_installed_newer�color_list_installed_reinstall�color_list_installed_extrar�r�color_list_available_upgrade�color_list_available_downgrade�color_list_available_reinstall�color_list_available_installr&r%r�r�rr)rBr*r�r�rr(rrprqr�)!ra�basecmd�	pkgnarrowrr�rr,�update_pkgs�	inst_pkgsrr0rr�r��clio�clin�clir�clie�rip�clau�clad�clar�clai�rap�raep�reprr�rup�ropr	�rrapr�s!                                 r�output_packageszBaseCli.output_packages�s��U	N���(�-�f�5�I��%�%��8��X�&�W�W�C�
�K��I��J��G��&� � �0���c�B�B���	
/�S�]�	
/� �0��3�4��-�.�/�/�C��8�S�X�.�C��+�-�-��{�3�7G�1G�1G�+.��C�(���
-�S�]�
-��/�-�-�C��8�S�X�.�C��)�+�+�s�Y�s�^�/C�/C�),�	�#����
<�S�[�
<� ���-�-�<�<�B��{�f�&=�=�=�9;�
�B�G�R�W�#5�6���9�7�D��9�7�D��9�;�D��9�7�D��+�&�&�s�}�a�8L�6M�6M�w�-8�'�7;�4�7;��1N�1N�'�O�O�C��9�9�D��9�;�D��9�;�D��9�9�D��+�&�&�s�}�a�8L�6M�6M�w�-6��7;�4�7;��1N�1N�'�O�O�C��;�'�'����:O�8P�8P� '��(�:�:�D��+�&�&�s�z�1�5E�3F�3F��(/�'�1�1�C��)�.�C��)�/�C��+�&�&�s�{�A�6J�4K�4K�W�-7��7:�s�0K�0K�'�M�M�C�
�3�=�!�!�A�%�%�'�V�*;�*;��#�-�(�(���a�-�.�.�/�/�/�#�C�$7�(0�(;�A�(>�(>�@�@�@�F�F�E��K�4�4�U�K�=D�5�F�F�F�F�F�
�k�*�*�3�=�!�<Q�:R�:R�$+�W�+�>�>���;�'�'��
�A�6O�4P�4P�!(�'�(�;�;�D��8�}�}�
N��A�I�I�#��(�(�s�a�x�x�C�1�H�H��PQ���VZ�^_�V_�V_�dg�kl�dl�dl��n�*�*�1�-K�+L�+L�M�M�M�
N�
N��I�(�(�x�x�H�H���V_�V_�dl�dl��a�~�#�	�	�	��s�1�v�v�h�;�����������	���s�0O>�>P.�P)�#P.�)P.c�<�d}d}|r|dkrd}d}n|r
|dkrd}d}|�||d|���}|jjr-|jD]%}|js|s|j�|���&|r|j|_|j|_|rg|_|rg|_|S)a#Return a :class:`dnf.yum.misc.GenericHolder` object containing
        lists of package objects that match the given names or wildcards.

        :param pkgnarrow: a string specifying which types of packages
           lists to produce, such as updates, installed, available, etc.
        :param patterns: a list of names or wildcards specifying
           packages to list
        :param installed_available: whether the available package list
           is present as .hidden_available when doing all, available,
           or installed
        :param reponame: limit packages list to the given repository

        :return: a :class:`dnf.yum.misc.GenericHolder` instance with the
           following lists defined::

             available = list of packageObjects
             installed = list of packageObjects
             upgrades = tuples of packageObjects (updating, installed)
             extras = list of packageObjects
             obsoletes = tuples of packageObjects (obsoleting, installed)
             recent = list of packageObjects
        Fr#Tr"r$)�ignore_caser�)	�_do_package_listsr\�showdupesfromreposr(r#r$rwr'r*)	rar6rr$r��done_hidden_available�done_hidden_installedr,rs	         rr�zBaseCli.returnPkgLists
s���2!&�� %���	�9��#;�#;�$(�!��I�I�
 �	�Y�+�%=�%=�$(�!��I��$�$��x�T�H�%�F�F���9�'�	.��.�
.�
.���}�.�-B�.��M�(�(��-�-�-���	1�#&�=�C� �#&�=�C� � �	��C�M� �	��C�M��
rc����|jj}d|j_g}g}|D]W}tt|���|��\}}|�|��|�|���Xt
|��D]}|j�|||���||j_|s,tj
�td�����dS)a�Print out a list of packages that provide the given file or
        feature.  This a cli wrapper to the provides methods in the
        rpmdb and pkgsack.

        :param args: the name of a file or feature to search for
        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        Tz{No matches found. If searching for a file, try specifying the full path or using a wildcard prefix ("*/") at the beginning.N)
r\rLr^rZ�provides�extendr�r�matchcallback_verboserrprqr)
ra�args�old_sdup�matches�used_search_strings�specr@�used_search_stringrrbs
         �rrPzBaseCli.provides?s����9�/��'+��	�$��� ���	;�	;�D�(-�g�t�(<�(<�(E�(E�d�(K�(K�%�E�%��N�N�5�!�!�!��&�&�'9�:�:�:�:��'�?�?�	N�	N�C��K�-�-�c�3F��M�M�M�M�'/��	�$��	V��.�&�&�q�*T�(U�(U�V�V�
V�	V�	Vrc�:�|jjr|jjsdSdS)NFT)r\r�r��ras rr�zBaseCli._promptWanted`s%���9��	�t�y�'9�	��5��trr�)rc)rcNTF)r"rcN)r"NFN)�__name__�
__module__�__qualname__�__doc__r_r�r�r�r�r�r
rr!rHr�rPr��
__classcell__)rbs@rrZrZ�sS�������-�-�5�5�5�5�5�5�
i�i�i�i�i�i�V%>�%>�%>�N������
2�
2�
2�$,�$,�$,�$,�L,�,�,�.#%��5� O� O� O� O�DWN�WN�WN�WN�r8<�;?�0�0�0�0�dV�V�V�V�V�B������rrZc�x�eZdZd�Zd�Zd�Zd�Zd�Zdd�Zdd�Z	dd
�Z
dd�Zej
fd�Zd
�Zd�Zd�Zd�ZdS)�Clic�
�||_i|_d|_tjj���|_|�tjj	j
j��|�tjj	jj
��|�tjj	jj��|�tjj	jj��|�tjj	jj��|�tjj	jj��|�tjj	jj��|�tjj	jj��|�tjj	jj��|�tjj	jj��|�tjj	jj��|�tjj	j j!��|�tjj	j"j#��|�tjj	j$j%��|�tjj	j&j'��|�tjj	j(j)��|�tjj	j*j+��|�tjj	j,j-��|�tjj	j.j/��|�tjj	j0j1��|�tjj	j2j3��|�tjj	j4j5��|�tjj	j6j7��|�tjj	j8��|�tjj	j9��|�tjj	j:��|�tjj	j;��|�tjj	j<��|�tjj	j=��dSr�)>rL�cli_commands�commandrr��demand�DemandSheet�demands�register_command�commands�alias�AliasCommandr&�AutoremoveCommand�check�CheckCommand�clean�CleanCommand�
distrosync�DistroSyncCommand�deplist�DeplistCommand�	downgrade�DowngradeCommandr~�GroupCommandr��HistoryCommand�install�InstallCommand�	makecache�MakeCacheCommand�mark�MarkCommand�module�
ModuleCommand�	reinstall�ReinstallCommand�remove�
RemoveCommand�repolist�RepoListCommand�	repoquery�RepoQueryCommand�search�
SearchCommand�shell�ShellCommand�swap�SwapCommand�
updateinfo�UpdateInfoCommand�upgrade�UpgradeCommand�upgrademinimal�UpgradeMinimalCommand�InfoCommand�ListCommand�ProvidesCommand�CheckUpdateCommand�RepoPkgsCommand�HelpCommand)rarLs  rr_zCli.__init__hs�����	��������w�~�1�1�3�3������c�g�.�4�A�B�B�B����c�g�.�9�K�L�L�L����c�g�.�4�A�B�B�B����c�g�.�4�A�B�B�B����c�g�.�9�K�L�L�L����c�g�.�6�E�F�F�F����c�g�.�8�I�J�J�J����c�g�.�4�A�B�B�B����c�g�.�6�E�F�F�F����c�g�.�6�E�F�F�F����c�g�.�8�I�J�J�J����c�g�.�3�?�@�@�@����c�g�.�5�C�D�D�D����c�g�.�8�I�J�J�J����c�g�.�5�C�D�D�D����c�g�.�7�G�H�H�H����c�g�.�8�I�J�J�J����c�g�.�5�C�D�D�D����c�g�.�4�A�B�B�B����c�g�.�3�?�@�@�@����c�g�.�9�K�L�L�L����c�g�.�6�E�F�F�F����c�g�.�=�S�T�T�T����c�g�.�:�;�;�;����c�g�.�:�;�;�;����c�g�.�>�?�?�?����c�g�.�A�B�B�B����c�g�.�>�?�?�?����c�g�.�:�;�;�;�;�;rc���|j�|��|jr}|j���D]c\}}|jj�||jj|g���}|�|��|j�	|df���d|j
rD|j�dd��|j�d�|j
D����t��}	|jD]�\}}|jj�|��}|s]|jjjr7|dkr1t!d��}	t"j�|	|z���|�|��|dkr|�����|�����nh#t"jj$rQ}
t0�|
��|j���t9jd��Yd}
~
nd}
~
wwxYw|D]*}t0�t!d��|���+|jj� ��}|�|jj�!��}|D]<}|jj�"|��}|r|j#�$���=|jj%�&��\}
|j_'|jj�(���)|
��tKj*|j|jj%��}|jj�(���+|��dS)	N)�baseurl�enabler)�*�disablec��g|]}|df��S)r�rc)r��rs  rr�z(Cli._configure_repos.<locals>.<listcomp>�s��!C�!C�!C�A�1�h�-�!C�!C�!CrzUnknown repo: '%s'rzNo repository match: %s),rL�read_all_repos�repofrompathrP�repos�add_new_repor\�_configure_from_options�repos_edrw�repo�insertrQ�set�get_matchingrrrrp�	RepoError�addr�r��ConfigErrorrQr��	optparser�
print_helpr��exitrR�_repo_persistor�get_expired_reposr��get�_repo�expirer�setup_progress_callbacks�_ds_callbackr"�set_progress_bar�CliKeyImport�_set_key_import)ra�opts�labelr��	this_repo�notmatchr��	operationr�r�r��
expired_reposr�bar�
key_imports               r�_configure_reposzCli._configure_repos�sH���	� � ��&�&�&���	8�#�0�6�6�8�8�
8�
8���t� �I�O�8�8���	��Y]�X^�8�_�_�	��1�1�$�7�7�7��
�$�$�e�X�%6�7�7�7�7��9�	E��M� � ��$4�5�5�5��M� � �!C�!C���!C�!C�!C�D�D�D��5�5��	�%)�]�
'�
'�!��y��9�?�7�7��=�=���'��y�~�,�C��h�1F�1F�� 4�5�5��!�n�6�6�s�T�z�B�B�B��L�L��&�&�&���(�(��O�O�%�%�%�%��$�$�&�&�&�&�
'���~�)�	�	�	��O�O�A�����N�%�%�'�'�'��H�Q�K�K�K�K�K�K�K�K�����	����
�	?�	?�D��N�N�1�6�7�7��>�>�>�>��	�1�C�C�E�E�
�� � �I�O�0�0�2�2�M� �	$�	$�C��9�?�&�&�s�+�+�D��
$��
�!�!�#�#�#��)-�	�(8�(Q�(Q�(S�(S�%��d�i�$��	������.�.�s�3�3�3��(���D�I�4D�E�E�
��	������-�-�j�9�9�9�9�9s�9B:F4�4H�AH�Hc�<�t�d�tjj���tjj��t�tj	j
d|j��t�tj	j
d|jj
j��t�tj	j
d|jj
j��t�d|jj
j��dS)Nz{prog} version: %srezCommand: %szInstallroot: %szReleasever: %szcachedir: %s)rQ�debugrSrrnr��const�VERSION�log�logging�DDEBUG�	cmdstringrLr\�installroot�
releasever�cachedirrZs r�_log_essentialszCli._log_essentials�s������)�0�0�c�h�6N�0�O�O��Y�&�	(�	(�	(��
�
�3�;�%�%�t�~�	7�	7�	7��
�
�3�;�%�)�4�9�>�+E�	G�	G�	G��
�
�3�;�%�'7��	��1�	3�	3�	3����^�T�Y�^�%<�=�=�=�=�=rc�d�|j}|jj}|jrJtj���s,tj�td�����|j
r|���D]	}d|_�
|j
s|jjj
rRd|jj_
|���D]+}|j�tjj���,n|jr1|���D]}|j����nG|js@|���D]+}|j�tjj���,|jr6|j�|jjrdnd|jj���dSdS)Nz[This command has to be run with superuser privileges (under the root user on most systems).T�autoF)�load_system_repo�load_available_repos)rgrLr��	root_userrrn�	am_i_rootrprqrr��iter_enabled�load_metadata_other�	cacheonlyr\�valuesr��setSyncStrategyr��SYNC_ONLY_CACHE�freshest_metadatar��fresh_metadata�	SYNC_LAZY�sack_activation�	fill_sackr��available_repos)rargr�r�s    r�_process_demandszCli._process_demands�s����,���	�����	C��8�%�%�'�'�
C��n�*�*��A�B�B�C�C�C���	0��*�*�,�,�
0�
0��+/��(�(���
	C��	�� 8�
	C�'+�D�I�N�$������
E�
E���
�*�*�3�8�+C�D�D�D�D�
E��(�
C�!�.�.�0�0�(�(�D��J�%�%�'�'�'�'�(��+�
C�!�L�L�N�N�C�C�D��J�.�.�s�x�/A�B�B�B�B��"�	C��I���+/�<�+H�!S���e�%)�\�%A�
 �
C�
C�
C�
C�
C�	C�	Crc��|j}|j�|��}|��t�td��|tjd��|jj	j
r\t�td���tj
jtj
j���|��nJt�td���tj
j�����t �||��|_t�tjjd|��t�tjjd	|��dS)
z,Check that the requested CLI command exists.Nz)No such command: %s. Please use %s --helprzLIt could be a {PROG} plugin command, try: "{prog} install 'dnf-command(%s)'")rf�PROGzRIt could be a {prog} plugin command, but loading of plugins is currently disabled.rezBase command: %szExtra commands: %s)rdrcr�rQr�rr��argvrLr\�pluginsrSrrnror�r	r�r�r�)rar�rSr5�command_clss     r�_parse_commandszCli._parse_commands�sd���,���'�+�+�G�4�4�����O�O�A�I�J�J�#�S�X�a�[�
2�
2�
2��y�~�%�
4�����#N�!O�!O�OU�v���+�#�(�2J�PV�PL�PL�MT�V�V�V�V�����#R�!S�!S�SY�SY���1�TZ�T3�T3�4�4�4��N�"�{�4�(�(����
�
�3�;�%�'9�7�C�C�C��
�
�3�;�%�';�T�B�B�B�B�BrNc�~�tjj���}|�|��}|�#tjj���n||_|j�|��}|j	rattjj��t|jjj|j|jj��t%jd��|jrd|_d|_|jrtjjx|_|_	|jrK|jj�d|jjjtjj��d|j_|jj�|��|�|j ��d|vr|j!|jj_!|jj�"��n�#tj#j$tJf$rF}tL�'tQd��|��t%jd��Yd}~n�d}~wtR$ry}tUtW|�����d	tY|j-����}tL�'tQd��|��t%jd��Yd}~nd}~wwxYw|j.�k|j.|jj_.|jjj/sD|j0d
vr;tL�'tQd����t%jd��|j1s|j2rF|j0dkr;tL�'tQd
����t%jd��|j3�.tij5tmj7|j3dz����|j�8|j9d��|j�:|j;|j<|��|j�8|j9d��|j0s-|j�=��t%jd��||j_>|jj?dz|_@|jj>D]}|xj@d|zz
c_@�|�A��	|�B||��n$#t�$rt%jd��YnwxYw|jDr3|j�=|j0��t%jd��|j�E|j0|��}|jFr|jF|j_Gd|j_H|jIr|jI|j_I|jJrd|jj_K|jLrd|jj_L|j0�M��|j�N��|j�O��|�P|��|j�Q��|jj�|��|j0�R��|jjj.r`tjS�T|jjj.��|jjj.|jjU�V��_W|jjjXdkr4|jjjY�Z|jjjX���t�j\d��dvr�d}|jjU�]��D]}|j^r�
d|_^d}�|jjj_sd|jj__d}|r+tL�`tQd����dSdSdS)aParse command line arguments, and set up :attr:`self.base.conf` and
        :attr:`self.cmds`, as well as logger objects in base instance.

        :param args: a list of command line arguments
        :param option_parser: a class for parsing cli options
        Nrr"r�TrzConfig error: %sr�: )�downloadzsystem-upgrade�reposync�
modulesynczb--destdir or --downloaddir must be used with --downloadonly or download or system-upgrade command.zconfig-managerz_--enable, --set-enabled and --disable, --set-disabled must be used with config-manager command.�<�main�pluginr�z%s r�)�colorz%_pkgverify_level)�	signaturer"Fz�Warning: Enforcing GPG signature check globally as per active RPM security policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message))arr��aliases�Aliases�resolve�
option_parser�OptionParserr��parse_main_argsrDrBr�r�rNrLr\�history_record_packagesrr�r��quiet�
debuglevel�
errorlevelr��
VERBOSE_LEVELr��
_set_value�system_cachedir�PRIO_DEFAULTrgr��_read_conf_filer�r�_adjust_conf_optionsrpr�r�rQr�r�IOErrorr
r��repr�filename�destdirr�rd�set_enabled�set_disabled�	sleeptimer5�sleep�random�	randrange�add_commandsrc�init_plugins�
disableplugin�enablepluginr�rSrfr�r�r�r	�help�parse_command_args�allowerasing�
allow_erasing�_allow_erasingr��debugsolver�debug_solverr)�
pre_configure�pre_configure_plugins�_activate_persistorr��configure_plugins�	configurern�
ensure_dirr�r"�pkgdirr�rF�reinitr��expandMacror��gpgcheck�localpkg_gpgcheckrR)	rarSr�r�r�r�r�forcingr�s	         rrz
Cli.configure�s���'�/�)�)�+�+�����t�$�$���$���.�;�;�=�=�=�*7�	
���~�-�-�d�3�3���<�	��#�)�#�$�$�$��4�9�>�A�4�9��9�+�
-�
-�
-��H�Q�K�K�K��:�	 ��D�O��D�O��<�	H�03�	�0G�G�D�O�d�o�	��~�
.��	��)�)�*�d�i�n�6T�*-�(�*?�A�A�A�)-���&��I�N�2�2�4�8�8�8�� � ���1�1�1���~�~�&*�i��	��#��I�N�/�/�1�1�1�1����*�J�7�	�	�	��O�O�A�0�1�1�1�5�5�5��H�Q�K�K�K�K�K�K�K�K������	�	�	���A���K�K�K�K��a�j�)9�)9�)9�:�A��O�O�A�0�1�1�1�5�5�5��H�Q�K�K�K�K�K�K�K�K�����	�����<�#�%)�\�D�I�N�"��9�>�.�
�4�<�HL�4L�4L�����#K�!L�!L������������	�� 1�	�t�|�GW�7W�7W��O�O��>�?�?�
@�
@�
@�
�H�Q�K�K�K��>�%��J�v�'����(;�<�<�=�=�=�	
��#�#�D�$5�v�>�>�>��	���t�1�4�3D�d�K�K�K���#�#�D�$5�h�?�?�?�
�|�	��N�%�%�'�'�'��H�Q�K�K�K���	����,�s�2����9�>�	*�	*�C��N�N�e�c�k�)�N�N�N�������	�� � ��t�,�,�,�,���	�	�	��H�Q�K�K�K�K�K�	�����9�	��N�%�%�d�l�3�3�3��H�Q�K�K�K��~�0�0���t�D�D����	,�)-�):�D�L�&�'+�D�I�$��!�	D�-1�-C�D�L�*���	/�*.�D�I�N�'��>�	,�'+�D�I�N�$���"�"�$�$�$��	�'�'�)�)�)�	
�	�%�%�'�'�'����d�#�#�#��	�#�#�%�%�%��	��.�.�t�4�4�4����� � � ��9�>�!�	B��H����	�� 6�7�7�7�+/�9�>�+A�D�I�O���!�!�(��9�>��6�)�)��I��!�(�(�t�y�~�/C�(�D�D�D��?�.�/�/�3G�G�G��G��	��4�4�6�6�
�
���=��� $��
�����9�>�3�
�37��	��0����
�����E��������H�G�
�
s8�!CG%�%K�<I�
K�A/K�K�6S
�
S.�-S.c��tj�d��}|jj}|�d��|�d��|�d��}|�d��tjj	kr^tj�|��s?tj
�td���|�����|�tjj���|�d��}|�d��tjj	krd}|j}|�||�d�����|�,|j�%tj�|j��}n%|dkrtj�|��}|�||_|j�'t2�td	����d
D]}|�|���|jj�|��|��|S)N�config�config_file_pathzConfig file "{}" does not exist)�priority�reposdir�varsdir�/)r*zPUnable to detect release version (use '--releasever' to specify release version))r��logdir�
persistdir)rr��TimerrLr\�_check_remote_file�_search_inside_installroot�
_get_value�
_get_priority�PRIO_COMMANDLINEr�r��isfilerpr�rrS�read�PRIO_MAINCONFIG�
substitutions�update_from_etcr�r��detect_releaseverr�rQrR�prepend_installroot�_logging�_setup_from_dnf_conf)rar��timerr\r�	from_root�subst�opts        rrzCli._read_conf_file�s����!�!�(�+�+���y�~��	
��� 2�3�3�3�	
�'�'�(:�;�;�;��?�?�#5�6�6�����1�2�2�c�h�6O�O�O��G�N�N�8�,�,�
P��.�,�,�Q�/P�-Q�-Q�-X�-X�Ya�-b�-b�c�c�c�	
�	�	�3�8�3�	�4�4�4��3�3�J�?�?�	����i�(�(�C�H�,E�E�E��I��"��
���i�����1K�1K��L�L�L���$�/�"9���2�2�4�3C�D�D�J�J�
�3�
�
���2�2�:�>�>�J��!�(�D�O��?�"��N�N�1�0�1�1�
2�
2�
2�8�	*�	*�C��$�$�S�)�)�)�)��	��/�/��5�5�5�
������r�eqc�n�|�|�dSg}|js|r|�d��|js|r|�d��|js|r|�d��|js|r|�d��|j�|||j|j|j	|j
���dS)zz

        :param opts:
        :param cmp_type: string supported "eq", "gte"
        :param all:
        :return:
        N�bugfix�enhancement�
newpackage�security)�types�advisory�bugzilla�cves�severity)rCrwrDrErFrL�add_security_filtersrHrIrJrK)rar��cmp_typer"rGs     r� _populate_update_security_filterz$Cli._populate_update_security_filter�s���
�L�s�{��F����;�	#�#�	#��L�L��"�"�"���	(�s�	(��L�L��'�'�'��?�	'�c�	'��L�L��&�&�&��=�	%�C�	%��L�L��$�$�$��	�&�&�x�u�t�}�04�
�D�I�04�
�	'�	?�	?�	?�	?�	?rc��|�$|jjj�|��|�&|jjj�|��dSdS)z�
        Change minimal logger level for terminal output to stdout and stderr according to specific
        command requirements
        @param stdout: logging.INFO, logging.WARNING, ...
        @param stderr:logging.INFO, logging.WARNING, ...
        N)rLr;�stdout_handler�setLevel�stderr_handler)ra�stdout�stderrs   r�redirect_loggerzCli.redirect_logger�sV�����I��-�6�6�v�>�>�>����I��-�6�6�v�>�>�>�>�>��rc���tjj�|��}||jj_|jj����|��dSr�)	rr�r��MultiFileProgressMeterrLrr�r"r�)ra�for�s   r�redirect_repo_progresszCli.redirect_repo_progress�sQ���7�#�:�:�2�>�>��$,��	��!��	������.�.�x�8�8�8�8�8rc��|jj���}|�dS|jj����|j���}|���}|�d���|}|D]
}||kr|}�||kr&td|z��td|z��dSdS)N)rPrF)�
advisory_typez,Security: %s is an installed security updatez-Security: %s is the currently running version)rLr>�get_running_kernelr@rArr#rB)ra�kernel�q�ikpkgrs     r�_check_running_kernelzCli._check_running_kernel�s������2�2�4�4���>��F��I�N� � �"�"�*�*�F�K�*�@�@��
�K�K�M�M��	�	�	�
�	�+�+�+����	�	�C��U�{�{�����6�>�>��@�5�H�I�I�I��A�F�J�K�K�K�K�K��>rc���t|j�����tj�t
d�||�������)Nz)argument {}: not allowed with argument {})rBr��print_usagerrprqrrS)ra�option_string_1�option_string_2s   r�_option_conflictzCli._option_conflict�s\��
�d�n�(�(�*�*�+�+�+��n�"�"�1�%P�%W�%W��_�&.�&.�$/�$/�0�0�	0rc��|jD]D}||jvr/tj�td��|z���||j|<�EdS)zRegister a Command. :apizCommand "%s" already definedN)r�rcrrpr�r)rar�rs   rrhzCli.register_command�sa���'�	2�	2�D��t�(�(�(��n�0�0��3Q�1R�1R�UY�1Y�Z�Z�Z�&1�D��d�#�#�	2�	2rc�2�|���|jjjrft�t
d��d�tt|jjj������z��|jjj
rft�t
d��d�tt|jjj
������z��|jj���D]�}|jrgt�t
d��|j
zdzd�tt|j������z��|j
rgt�t
d��|j
zdzd�tt|j
������z����|j���S)a2Call the base command, and pass it the extended commands or
           arguments.

        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        zExcludes in dnf.conf: r�zIncludes in dnf.conf: zExcludes in repo r�zIncludes in repo )r�rLr\�excludepkgsrQr�rr�r�r��includepkgsr�r��idrd�run)rar�s  rrkzCli.runs���	
�������9�>�%�	b��L�L��*�+�+�d�i�i��s�4�9�>�C]�?^�?^�8_�8_�.`�.`�`�
b�
b�
b��9�>�%�	b��L�L��*�+�+�d�i�i��s�4�9�>�C]�?^�?^�8_�8_�.`�.`�`�
b�
b�
b��I�O�0�0�2�2�	I�	I�D���
I����Q�2�3�3�d�g�=��D�#�y�y���D�4D�0E�0E�)F�)F�G�G�H�I�I�I���
I����Q�2�3�3�d�g�=��D�#�y�y���D�4D�0E�0E�)F�)F�G�G�H�I�I�I���|���!�!�!rr�)rAN)NN)r[r\r]r_r�r�r�r�rrrNrUr�rTrYr`rerhrkrcrrrarags������"<�"<�"<�H1:�1:�1:�f	>�	>�	>�C�C�C�>C�C�C�,M�M�M�M�^+�+�+�+�Z?�?�?�?�2?�?�?�?�),�
�9�9�9�9�
L�L�L�$0�0�0�
2�2�2�"�"�"�"�"rra)r
)Or^�
__future__rrr�collections.abcr�ImportError�collectionsr�r�r�r�rr�r�r5r+�libdnf.transactionr�r
r�dnf.clir	�dnf.i18nr
rr�dnf.cli.aliases�dnf.cli.commands�dnf.cli.commands.alias�dnf.cli.commands.autoremove�dnf.cli.commands.check�dnf.cli.commands.clean�dnf.cli.commands.deplist�dnf.cli.commands.distrosync�dnf.cli.commands.downgrade�dnf.cli.commands.group�dnf.cli.commands.history�dnf.cli.commands.install�dnf.cli.commands.makecache�dnf.cli.commands.mark�dnf.cli.commands.module�dnf.cli.commands.reinstall�dnf.cli.commands.remove�dnf.cli.commands.repolist�dnf.cli.commands.repoquery�dnf.cli.commands.search�dnf.cli.commands.shell�dnf.cli.commands.swap�dnf.cli.commands.updateinfo�dnf.cli.commands.upgrade�dnf.cli.commands.upgrademinimal�dnf.cli.demand�dnf.cli.format�dnf.cli.option_parser�dnf.conf�dnf.conf.substitutions�	dnf.const�dnf.db.history�dnf.exceptions�dnf.logging�
dnf.persistor�
dnf.plugin�dnf.rpm�dnf.sack�dnf.transaction�dnf.util�dnf.yum.misc�	getLoggerrQrr1rNrX�BaserZ�objectrarcrr�<module>r�s���(��&�%�%�%�%�%�&�&�&�&�&�&�'�'�'�'�'�'�%�(�(�(�(�(�(�(���%�%�%�$�$�$�$�$�$�$�$�%����������������	�	�	�	�
�
�
�
�
�
�
�
�
�
�
�
�����
�
�
�
�������������������������
�
�
�
�������������"�"�"�"�������������"�"�"�"�!�!�!�!�������������!�!�!�!���������!�!�!�!����� � � � �!�!�!�!�������������"�"�"�"�����&�&�&�&�����������������������������������������������������������������	��	�5�	!�	!������3�3�3�"H�H�H�2H�H�H�K�K�K�K�K�c�h�K�K�K�\z"�z"�z"�z"�z"�&�z"�z"�z"�z"�z"s��+�+

Youez - 2016 - github.com/yon3zu
LinuXploit