File: //lib/python3/dist-packages/uaclient/__pycache__/security_status.cpython-38.pyc
U
��Jh�h � @ s� d dl mZ d dlmZmZ d dlmZ d dlmZ d dlm Z d dl
mZmZm
Z
mZmZ d dlZd dlmZmZmZmZ d d lmZ d d
lmZ d dlmZmZmZmZmZ d dl m!Z! d d
l"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z. dZ/G dd� de�Z0dd� Z1edd�dd� �Z2edeej3 f d�dd�Z4ej3ej5e6d�dd�Z7edd�e6e6e8d�d d!��Z9e6e
e6ef ej:e6d"�d#d$�Z;eej3 ee6eeej:e6f f d%�d&d'�Z<e!e
e6ef d(�d)d*�Z=ee
e6ef d�d+d,�Z>ee6eeej:e6f f e
e6ef ee
e6ef d-�d.d/�Z?e!e
e6ef d(�d0d1�Z@dKee6eej3 f e6e8dd4�d5d6�ZAd7d8� ZBd9d:� ZCe6e6e'e&eDeDe8d;�d<d=�ZEd>d?� ZFe!d@�dAdB�ZGdCdD� ZHdEdF� ZIdGdH� ZJdIdJ� ZKdS )L� )�defaultdict)�datetime�timezone)�Enum)� lru_cache)�choice)�Any�DefaultDict�Dict�List�TupleN)�
exceptions� livepatch�messages�util)�_reboot_required)�_is_attached)�PreserveAptCfg�get_apt_cache_datetime�get_apt_pkg_cache�get_esm_apt_pkg_cache�get_pkg_candidate_version)�UAConfig)�ESMAppsEntitlement�ESMInfraEntitlement)�ApplicabilityStatus�ApplicationStatus�ContractStatus)�get_distro_info�get_kernel_info�get_release_info�is_current_series_lts�is_supported)� esm-infra�esm-appsc @ s$ e Zd ZdZdZdZdZdZdZdS )�UpdateStatusz2Represents the availability of a security package.Zupgrade_availableZupgrade_available_not_preferredZpending_attachZpending_enableZupgrade_unavailableN) �__name__�
__module__�__qualname__�__doc__� AVAILABLE�AVAILABLE_NOT_PREFERRED�
UNATTACHED�NOT_ENABLED�UNAVAILABLE� r/ r/ �:/usr/lib/python3/dist-packages/uaclient/security_status.pyr% ( s r% c C s t t�| �� d S )N)�printr Zcreate_package_list_str)�packagesr/ r/ r0 �print_package_list1 s r3 )�maxsizec C sR t � j} dd�| �fddd�| �fddd�| �fd dd
�| �fddd�| �fd iS )N�Ubuntuz{}-security�standard-securityZ
UbuntuESMAppsz{}-apps-securityr$ Z UbuntuESMz{}-infra-securityr# z{}-apps-updatesz{}-infra-updates)r �series�format)r7 r/ r/ r0 �%get_origin_information_to_service_map5 s �r9 �str)�returnc C s` t t�} tt��F}dd� |jD �}|| d<