+
    mig                     N   ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHtHt ^ RI	H
t
HtHtHtHtHtHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHtH t  ^ RI!H"t"H#t#H$t$ ]PJ                  ! 4       t&] PN                  ! ]PP                  ! ])4      4      t*. ROt+RR.t,R]+],,           R]+],,           R]+/t-. ROt.. ROt/. ROt0R]+],,           ].,           R]+],,           ]/,           R]+]0,           /t1 ! R R]Pd                  4      t3 ! R R]34      t4 ! R R]34      t5 ! R R]44      t6R# )    N)groupby)ListOptionalTuple)apiaptevent_logger
exceptionsmessagessystemutil)NoCloudTypeReasonget_cloud_type)repo)EntitlementWithMessage)ApplicationStatus)notices)Notice)ServicesOnceEnabledDataservices_once_enabled_file)MessagingOperationsMessagingOperationsDictStaticAffordanceopenssh-client-hmacopenssh-server-hmacxenialbionicfocalc                     a a ] tR t^Vt oRtRtRt]P                  t	Rt
Rt]P                  P                  t. R(Ot]V3R lR l4       t]R 4       tV3R lR	 ltV3R
 lR ltV3R lR ltV3R lR ltR)V3R lV 3R llltV3R lR ltR*V3R lR lltV3R lV 3R llt]V3R lR l4       t]V3R lV 3R ll4       tV3R lV 3R lltV3R lR ltV3R  lV 3R! lltV3R" lV 3R# llt R$ t!V3R% lV 3R& llt"R't#Vt$V ;t%# )+FIPSCommonEntitlementi  zubuntu-pro-fips.gpgz/proc/sys/crypto/fips_enabledTc                    < V ^8  d   QhRS[ /#    return)r   )format__classdict__s   "</usr/lib/python3/dist-packages/uaclient/entitlements/fips.py__annotate__"FIPSCommonEntitlement.__annotate__   s     R R2 R    c                j   R pR pV P                   '       g   \        P                  ! 4       '       dS   \        P                  P                  V P                  R7      pV P                  4       '       g   \        P                  .pMV P                  p\        P                  RV/3.pR pV P                  '       gP   V P                   '       g>   \        P                  R\        P                  P                  V P                  R7      /3.pV P                   '       g   V P                  / 3.MR pRVRVRVRV/p\        V P                   4      ^8X  d   V P                   ^ ,          p\"        P$                  ! RV4      pV'       d   VP'                  ^4      p	MRp	\        P(                  ! 4       P*                  p
W8w  dz   VP-                  R4      ;'       g    . p\        P.                  P                  T	V P0                  T	T
;'       g    R	R
7      pVP3                  \        P                  RV/34       WR&   V# )Ntitlemsg
pre_enablepre_installpost_enablepre_disablezubuntu-([a-z]+)-fipsgenericunknown)variantservicebase_flavorcurrent_flavor)access_onlyr   is_containerr    PROMPT_FIPS_CONTAINER_PRE_ENABLEr%   r-   auto_upgrade_all_on_enableFIPS_RUN_APT_UPGRADEpre_enable_msgr   prompt_for_confirmationpurgePROMPT_FIPS_PRE_DISABLEprompt_if_kernel_downgradelenpackagesrematchgroupget_kernel_infoflavorget#KERNEL_FLAVOR_CHANGE_WARNING_PROMPTnameappend)selfr/   r1   pre_enable_promptr2   r0   	messagingubuntu_fips_package_name ubuntu_fips_package_flavor_matchubuntu_fips_package_flavorr8   r.   s   &           r'   rP   FIPSCommonEntitlement.messaging   s0   
""$$==DD"jj E  "
 6688#+#@#@"AK$($7$7! 00-.J zzz$"2"2"2 00x??FF"&**  G  	K$ ###	 33  	 *;;;	
	 t}}"'+}}Q'7$/1xx&(@0, 04::1= + .7*#335<<N);&]]<8>>B
BBII6 II :#1#>#>Y	 J  !!44 +5,'r*   c                    \         P                  ! 4       P                  p\         P                  ! 4       '       d   \        P                  V. 4      # \        P                  V. 4      # )aE  
Dictionary of conditional packages to be installed when
enabling FIPS services. For example, if we are enabling
FIPS services in a machine that has openssh-client installed,
we will perform two actions:

1. Upgrade the package to the FIPS version
2. Install the corresponding hmac version of that package
   when available.
)r   get_release_infoseriesr:   #FIPS_CONTAINER_CONDITIONAL_PACKAGESrJ   FIPS_CONDITIONAL_PACKAGES)rN   rW   s   & r'   conditional_packages*FIPSCommonEntitlement.conditional_packages   sM     ((*11  6::62FF(,,VR88r*   c                &   < V ^8  d   QhRS[ RS[ /# )r#   
assume_yesr$   bool)r%   r&   s   "r'   r(   r)      s     6 6 6 6r*   c                  \         P                  ! 4       P                  pVf   \        P	                  R4       R# \
        P                  ! RV4      pRp\        V P                  4      ^8X  d   V P                  ^ ,          p\        P                  ! VP                  RR4      4      pVe   Ve   VP                  R4      p\        P                  RVV4       \        P                  ! WV4      ^ 8  d[   \        P!                  \"        P$                  P'                  VVR	7      4       \(        P*                  ! \"        P,                  VR
7      #  R# \        P	                  RVV4       R# )zdCheck if installing a FIPS kernel will downgrade the kernel
and prompt for confirmation if it will.
z Cannot gather kernel informationFz!(?P<kernel_version>\d+\.\d+\.\d+)ubuntu-fipsubuntulinuxkernel_versionz*Kernel information: cur='%s' and fips='%s')current_versionnew_version)r.   r]   z2Cannot gather kernel information for '%s' and '%s'T)r   rH   proc_version_signature_versionLOGwarningrE   searchrC   rD   r   get_pkg_candidate_versionreplacerG   debugversion_compareeventinfor   KERNEL_DOWNGRADE_WARNINGr%   r   r?   PROMPT_YES_NO)rN   r]   our_full_kernel_strour_mfips_packagefips_kernel_version_strour_kernel_version_strs   &$     r'   rB   0FIPSCommonEntitlement.prompt_if_kernel_downgrade   sS    ""$CC 	 &KK:;		02E
 %t}}"==+L #&"?"?  73#
 !8!D%*[[1A%B"II<#' ##+ 
 

55<<(>$; =  33 ..: (  KKD#'
 r*   c                4   < V ^8  d   QhRS[ P                  /# r#   progressr   ProgressWrapper)r%   r&   s   "r'   r(   r)   $  s     ! !++!r*   c           
        . p\         P                  ! 4       p\        \        V P                  4      R  R7      pV F  w  rVWS9   g   K  W&,          pK  	  V F"  p \         P
                  ! V.RR/. ROR7       K$  	  R#   \        P                   d@    TP                  R\        P                  P                  T P                  TR7      4        K{  i ; i)	c                 &    V P                  R R4      # )z-hmac )rl   )pkg_names   &r'   <lambda>NFIPSCommonEntitlement.hardcoded_install_conditional_packages.<locals>.<lambda>-  s    !1!1'2!>r*   )keyDEBIAN_FRONTENDnoninteractiverD   override_env_varsapt_optionsrp   )r6   pkgNz--allow-downgradesz$-o Dpkg::Options::="--force-confdef"z$-o Dpkg::Options::="--force-confold")r   get_installed_packages_namesr   sortedrZ   run_apt_install_commandr
   UbuntuProErroremitr   FIPS_PACKAGE_NOT_AVAILABLEr%   r-   )rN   r{   desired_packagesinstalled_packages
pkg_groupsr   pkg_listr   s   &&      r'   &hardcoded_install_conditional_packages<FIPSCommonEntitlement.hardcoded_install_conditional_packages$  s    
  ==?4,,->


 #-H- ,  #- $C++!U'8:J&K! $ ,, 77>> $

 ? s   A>>ACCc                    < V ^8  d   QhRS[ /# r"   r^   )r%   r&   s   "r'   r(   r)   G  s     
E 
ED 
Er*   c                    \         P                  ! V P                  P                  R R7      p\        P                  ! 4       P
                  R9   pT;'       g    V'       * # )zfeatures.fips_auto_upgrade_allconfigpath_to_value>   r   r   r   )r   is_config_value_truecfgr   rV   rW   )rN   install_all_updates_overridehardcoded_releases   &  r'   r<   0FIPSCommonEntitlement.auto_upgrade_all_on_enableG  sW    '+'@'@88<</O(
$ #335<< A
 

 ,DD3D/DDr*   c                4   < V ^8  d   QhRS[ P                  /# rz   r|   )r%   r&   s   "r'   r(   r)   S  s     "N "N++"Nr*   c                   \         P                  ! V P                  4       Uu. uF  pVP                  NK  	  pp\        P
                  ! 4       P                  R 8X  d   VP                  R4       VP                  4        \        V4      ^ 8  dq    VP                  R\        P                  P                  RP                  V4      R7      4       V P                  V4       \         P                   ! VRR/. R	OR7       R# R# u upi   \"        P$                   d%    TP                  R\        P&                  4        R# i ; i)
jammyopenssl-fips-module-3rp    )rD   r   r   r   Nr   )r   ;get_installed_packages_with_uninstalled_candidate_in_originoriginrL   r   rV   rW   rM   sortrC   r   r   INSTALLING_PACKAGESr%   joinunhold_packagesr   r
   r   FIPS_PACKAGES_UPGRADE_FAILURE)rN   r{   package
to_upgrades   &&  r'   #install_all_available_fips_upgrades9FIPSCommonEntitlement.install_all_available_fips_upgradesS  s   
 ZZ
 LL 	 
 ""$++w656z?QN0077!$*!5 8  $$Z0++''8:J&K! 
< ,, Nfh&L&LMNs   DA-D 5D?>D?c                d   < V ^8  d   QhRS[ P                  RS[S[S[,          ,          RS[RR/# )r#   r{   package_listcleanup_on_failurer$   N)r   r}   r   r   strr_   )r%   r&   s   "r'   r(   r)   w  sB     $ $%%$ tCy)$ !	$
 
$r*   c                  < V P                   pV'       d   \        SV `	  VVR7       M9VP                  \        P
                  P                  V P                  R7      4       V P                  4       '       d   V P                  V4       MV P                  V4       V P                  4       '       d'   \        P                  ! \        P                  4       R# R# )zInstall contract recommended packages for the entitlement.

:param package_list: Optional package list to use instead of
    self.packages.
:param cleanup_on_failure: Cleanup apt files if apt install fails.
)r   r,   N)rD   superinstall_packagesr{   r   INSTALLING_SERVICE_PACKAGESr%   r-   r<   r   r   _check_for_rebootr   addr   FIPS_SYSTEM_REBOOT_REQUIRED)rN   r{   r   r   mandatory_packages	__class__s   &&&& r'   r   &FIPSCommonEntitlement.install_packagesw  s     "]]G$/ %  44;;$**;M **,,44X>77A!!##KK22 $r*   c                    < V ^8  d   QhRS[ /# r"   r^   )r%   r&   s   "r'   r(   r)     s     & &4 &r*   c                ,    \         P                  ! 4       # )z=Check if system needs to be rebooted because of this service.)r   should_reboot)rN   s   &r'   r   'FIPSCommonEntitlement._check_for_reboot  s    ##%%r*   c                *   < V ^8  d   QhRS[ RS[RR/# )r#   	operationsilentr$   Nr   r_   )r%   r&   s   "r'   r(   r)     s%      &*	r*   c                4   V P                  4       p\        P                  V4       V'       dk   V'       g4   \        P                  \        P
                  P                  VR7      4       VR8X  d'   \        P                  ! \        P                  4       R# R# R# )zCheck if user should be alerted that a reboot must be performed.

@param operation: The operation being executed.
@param silent: Boolean set True to silence print/log of messages
)r   zdisable operationN)r   ro   needs_rebootrp   r   ENABLE_REBOOT_REQUIRED_TMPLr%   r   r   r   FIPS_DISABLE_REBOOT_REQUIRED)rN   r   r   reboot_requireds   &&& r'   _check_for_reboot_msg+FIPSCommonEntitlement._check_for_reboot_msg  sy     002?+

88??"+ @ 
 //77 0 r*   c                ,   < V ^8  d   QhRS[ RS[ RS[/# r#   rW   cloud_idr$   r   )r%   r&   s   "r'   r(   r)     s%      %(	r*   c                   < VR8X  dT   \         P                  ! V P                  P                  RR7      '       d   R# VR9   d   R# \        R\        SV `  9   4      # R# )a  Return False when FIPS is allowed on this cloud and series.

On Xenial GCP there will be no cloud-optimized kernel so
block default ubuntu-fips enable. This can be overridden in
config with features.allow_xenial_fips_on_cloud.

GCP doesn't yet have a cloud-optimized kernel or metapackage so
block enable of fips if the contract does not specify ubuntu-gcp-fips.
This also can be overridden in config with
features.allow_default_fips_metapackage_on_gcp.

:return: False when this cloud, series or config override allows FIPS.
gcez.features.allow_default_fips_metapackage_on_gcpr   Tubuntu-gcp-fips)r   r   )r   r   r   r_   r   rD   )rN   rW   r   r   s   &&&r'   _allow_fips_on_cloud_instance3FIPSCommonEntitlement._allow_fips_on_cloud_instance  sZ      u((xx||N   ,,)UW-==>>r*   c                4   < V ^8  d   QhRS[ S[R3,          /# r#   r$   .r   r   )r%   r&   s   "r'   r(   r)     s     
 
E*:C*?$@ 
r*   c                  a aa R RRRRR/p\        4       w  opSf   Ro\        P                  ! 4       P                  o\        P
                  P                  SP                  4       VP                  S4      R7      pVVV V3R lR	33# )
awszan AWSazurezan Azurer   za GCPr   )rW   cloudc                  (   < SP                  SS 4      # N)r   )r   rN   rW   s   r'   r   :FIPSCommonEntitlement.static_affordances.<locals>.<lambda>  s    ::68Lr*   T)	r   r   rV   rW   r   FIPS_BLOCK_ON_CLOUDr%   r-   rJ   )rN   cloud_titles_blocked_messager   rW   s   f   @@r'   static_affordances(FIPSCommonEntitlement.static_affordances  s    x*eWM$&!H((*11"66==<<>)9)9()C > 

  L
 	
r*   c                0   < V ^8  d   QhRS[ S[,          /# r"   )r   r   )r%   r&   s   "r'   r(   r)     s        $s)  r*   c                R   < \         P                  ! 4       '       d   . # \        SV `  # r   )r   r:   r   rD   rN   r   s   &r'   rD   FIPSCommonEntitlement.packages  s"      Iwr*   c                Z   < V ^8  d   QhRS[ S[S[S[P                  ,          3,          /# r"   )r   r   r   r   NamedMessage)r%   r&   s   "r'   r(   r)     s+     9
 9
	 (8+@+@"AA	B9
r*   c                  < \         SV `  4       w  r\        P                  ! 4       '       dC   \        P                  ! 4       '       g(   \
        P                  ! \        P                  4       W3# \        P                  P                  V P                  4      '       Ed   \        P                  ! \        V P                  4      4      '       g%   \
        P                  ! \        P                  4       \        P                  ! V P                  4      P!                  4       R 8X  d(   \
        P                  ! \        P"                  4       W3# \
        P$                  ! \        P"                  4       \&        P(                  \*        P,                  P/                  V P                  R7      3# V\&        P0                  8w  d   W3# \2        P4                  ! 4       p. pV P                   F  pWS9  g   K  VP7                  V4       K  	  V'       dK   \&        P8                  \*        P:                  P/                  RP=                  V4      V P>                  R7      3# \&        P0                  \*        P@                  3# )1)	file_namer   )rD   r6   )!r   application_statusr   r:   r   r   remover   r   ospathexistsFIPS_PROC_FILEsetrD   	load_filestripFIPS_MANUAL_DISABLE_URLr   r   DISABLEDr   FIPS_PROC_FILE_ERRORr%   ENABLEDr   r   rM   WARNINGFIPS_PACKAGES_NOT_INSTALLEDr   rL   FIPS_REBOOT_REQUIRED)rN   super_status	super_msgr   missingr   r   s   &     r'   r   (FIPSCommonEntitlement.application_status  s    #('"<">  )=)=)?)?NN22  **77>>$--.. ''DMM(:;;66  3 34::<C22 $..22 &..1188"&"5"5 9   ,444** ==? }}G0w' % !))44;; XXg.		 <   %%))
 	
r*   c                   < V ^8  d   QhRR/# )r#   r$   N )r%   r&   s   "r'   r(   r)   *  s       r*   c                v   \        \        P                  ! 4       4      p\        V P                  4      P	                  \        V P
                  4      4      pVP                  V4      pV'       dK   \        P                  ! \        V4      \        P                  P                  V P                  R7      4       R# R# )zRemove fips meta package to disable the service.

FIPS meta-package will unset grub config options which will deactivate
FIPS on any related packages.
r,   N)r   r   r   rD   
differencerZ   intersectionremove_packageslistr   DISABLE_FAILED_TMPLr%   r-   )rN   r   fips_metapackager	  s   &   r'   r	  %FIPSCommonEntitlement.remove_packages*  s     !!A!A!CDt}}-88))*
 +778JK%&,,33$**3E r*   c                :   < V ^8  d   QhRS[ P                  RS[/# r#   r{   r$   r   r}   r_   )r%   r&   s   "r'   r(   r)   ;  s!     	 	(;(; 	 	r*   c                  < \         SV `  V4      '       do   \        P                  ! \        P
                  4       \        P                  ! \        P                  4       \        P                  ! \        P                  4       R # R# TF)r   _perform_enabler   r   r   WRONG_FIPS_METAPACKAGE_ON_CLOUDr   r   rN   r{   r   s   &&r'   r  %FIPSCommonEntitlement._perform_enable;  sT    7"8,,NN66 NN6667NN6>>?r*   c                :   < V ^8  d   QhRS[ P                  RS[/# r  r  )r%   r&   s   "r'   r(   r)   F  s!      )<)<  r*   c                   < \         SV `  V4      '       d=   V P                  4       '       d%   \        P                  ! \
        P                  4       R # R# r  )r   _perform_disabler   r   r   r   r   r  s   &&r'   r  &FIPSCommonEntitlement._perform_disableF  s?    7#H--%%''77 r*   c                   R R.p\         P                  ! V\        P                  P	                  RP                  V4      R7      4      p. pVP                  4        F  pWQ9   g   K  VP                  V4       K  	  V'       dR   R R.V,           p\         P                  ! V\        P                  P	                  RP                  V4      R7      4      pR# R# )zapt-mark	showholdsr   )commandunholdN)r   run_apt_commandr   EXECUTING_COMMAND_FAILEDr%   r   
splitlinesrM   )rN   package_namescmdholdsunholdshold
unhold_cmds   &&     r'   r   %FIPSCommonEntitlement.unhold_packagesP  s    ;'##--44SXXc]4K
 $$&D$t$ ' $h/'9J''1188HHZ0 9 E r*   c                8   < V ^8  d   QhRS[ P                  RR/# )r#   r{   r$   Nr|   )r%   r&   s   "r'   r(   r)   c  s!     	+ 	+)<)< 	+ 	+r*   c                \   < V P                  V P                  4       \        SV `  V4       R# )zSetup apt config based on the resourceToken and directives.

FIPS-specifically handle apt-mark unhold

:raise UbuntuProError: on failure to setup any aspect of this apt
   configuration
N)r   fips_pro_package_holdsr   setup_apt_configr  s   &&r'   r,  &FIPSCommonEntitlement.setup_apt_configc  s&     	T889 *r*   r  )zfips-initramfszfips-initramfs-genericlibgcrypt20libgcrypt20-hmaclibgmp10libgnutls30libhogweed6
libnettle8libssl1.0.0libssl1.0.0-hmacr4  r5  	libssl1.1libssl1.1-hmaclibssl3z
linux-fipsopenssh-clientr   openssh-serverr   opensslr   shim-signed
strongswanstrongswan-hmacra   zubuntu-aws-fipszubuntu-azure-fipsr   )NT)F)&__name__
__module____qualname____firstlineno__repo_pin_priorityrepo_key_filer   r   PROMPT_FIPS_PRE_ENABLEr>   supports_access_onlyapt_noninteractiveurlsFIPS_HOME_PAGEhelp_doc_urlr+  propertyrP   rZ   rB   r   r<   r   r   r   r   r   r   rD   r   r	  r  r  r   r,  __static_attributes____classdictcell____classcell__r   r&   s   @@r'   r    r    V   s3    )M4N44N
 ==//L@ R Rh 9 9$6 6p! !F
E 
E"N "NH$ $L& & , > 
 
$      
9
 9
v "	 	 &	+ 	+ 	+r*   r    c                      a a ] tR tRt oRt]P                  t]P                  t	]P                  tRt]P                  t]V3R lR l4       t]V3R lV 3R ll4       tV3R lV 3R	 lltR
tVtV ;t# )FIPSEntitlementio  fips
UbuntuFIPSc                4   < V ^8  d   QhRS[ S[R3,          /# r   r   r   )r%   r&   s   "r'   r(   FIPSEntitlement.__annotate__x  s     
 
u-CS-H'I 
r*   c                    ^ RI Hp ^ RIHp \	        V\
        P                  4      \	        \        \
        P                  4      \	        V\
        P                  4      3# )r   )LivepatchEntitlementRealtimeKernelEntitlement)
uaclient.entitlements.livepatchrX  uaclient.entitlements.realtimerZ  r   r   LIVEPATCH_INVALIDATES_FIPSFIPSUpdatesEntitlementFIPS_UPDATES_INVALIDATES_FIPSREALTIME_FIPS_INCOMPATIBLE)rN   rX  rZ  s   &  r'   incompatible_services%FIPSEntitlement.incompatible_servicesw  sQ    HL #$h&I&I #&(N(N #)8+N+N

 
	
r*   c                4   < V ^8  d   QhRS[ S[R3,          /# r   r   )r%   r&   s   "r'   r(   rV    s     
 
E*:C*?$@ 
r*   c                  <aa \         SV `  p\        V P                  R 7      p\        P
                  p\        VP                  4       ^ ,          V8g  4      o\        P                  ! 4       pV'       d   VP                  MRoV\        P                  P                  V P                  VP                  R7      V3R lR3\        P                  P                  V P                  VP                  R7      V3R lR33,           # ))r   F)rR  fips_updatesc                     < S # r   r  )is_fips_updates_enableds   r'   r   4FIPSEntitlement.static_affordances.<locals>.<lambda>  s    /r*   c                     < S # r   r  )fips_updates_once_enableds   r'   r   rh    s    1r*   )r   r   r^  r   r   r   r_   r   r   readre  r   $FIPS_ERROR_WHEN_FIPS_UPDATES_ENABLEDr%   r-   )FIPS_ERROR_WHEN_FIPS_UPDATES_ONCE_ENABLED)rN   r   re  disabled_statusservices_once_enabled_objrj  rg  r   s   &    @@r'   r   "FIPSEntitlement.static_affordances  s    "W7-$((;+44"&++-a0OC#
 %?$C$C$E! ) &22 	" "==DD,2D2D E  0 BBII,2D2D J  2%
 
 	
r*   c                :   < V ^8  d   QhRS[ P                  RS[/# r  r  )r%   r&   s   "r'   r(   rV    s!      (;(;  r*   c                8  < \        4       w  r#VfN   V\        P                  8X  d9   \        P	                  R4       \
        P                  \        P                  4       \        SV `)  V4      '       d'   \        P                  ! \        P                  4       R# R# )Nz>Could not determine cloud, defaulting to generic FIPS package.TF)r   r   CLOUD_ID_ERRORrh   ri   ro   rp   r   .FIPS_COULD_NOT_DETERMINE_CLOUD_DEFAULT_PACKAGEr   r  r   r   r   FIPS_INSTALL_OUT_OF_DATE)rN   r{   
cloud_typeerrorr   s   &&  r'   r  FIPSEntitlement._perform_enable  st    *,
%+<+K+K"KKK6 JJxNNO7"8,,NN// r*   r  )r?  r@  rA  rB  rL   r   
FIPS_TITLEr-   FIPS_DESCRIPTIONdescriptionFIPS_HELP_TEXT	help_textr   rE  r>   rK  ra  r   r  rL  rM  rN  rO  s   @@r'   rQ  rQ  o  sv     DE++K''IF44N
 
  
 
 
B  r*   rQ  c                      a a ] tR tRt oRt]P                  tRt]P                  t
]P                  t]P                  t]V3R lR l4       tV3R lV 3R lltRtVtV ;t# )	r^  i  zfips-updatesUbuntuFIPSUpdatesc                4   < V ^8  d   QhRS[ S[R3,          /# r   rU  )r%   r&   s   "r'   r(   #FIPSUpdatesEntitlement.__annotate__  s     
 
u-CS-H'I 
r*   c                ~    ^ RI Hp \        \        \        P
                  4      \        V\        P                  4      3# )r   rY  )r\  rZ  r   rQ  r   FIPS_INVALIDATES_FIPS_UPDATES"REALTIME_FIPS_UPDATES_INCOMPATIBLE)rN   rZ  s   & r'   ra  ,FIPSUpdatesEntitlement.incompatible_services  s:    L #!G!G #);;	
 	
r*   c                :   < V ^8  d   QhRS[ P                  RS[/# r  r  )r%   r&   s   "r'   r(   r    s!      (;(;  r*   c                x   < \         SV `  VR 7      '       d#   \        P                  ! \	        RR7      4       R# R# ))r{   T)re  F)r   r  r   writer   r  s   &&r'   r  &FIPSUpdatesEntitlement._perform_enable  s4    7"H"55&,,'T: r*   r  )r?  r@  rA  rB  rL   r   FIPS_UPDATES_TITLEr-   r   FIPS_UPDATES_DESCRIPTIONr{  FIPS_UPDATES_HELP_TEXTr}  PROMPT_FIPS_UPDATES_PRE_ENABLEr>   rK  ra  r  rL  rM  rN  rO  s   @@r'   r^  r^    s\     D''E F33K//I<<N
 
  r*   r^  c                      a a ] tR tRt oRt]P                  t]P                  t	]P                  tRt]P                  tRt]V3R lV 3R ll4       tV3R lR ltR	tVtV ;t# )
FIPSPreviewEntitlementi  zfips-previewUbuntuFIPSPreviewzubuntu-pro-fips-preview.gpgc                4   < V ^8  d   QhRS[ S[R3,          /# r   rU  )r%   r&   s   "r'   r(   #FIPSPreviewEntitlement.__annotate__  s     
 
u-CS-H'I 
r*   c                `   < \         SV `  \        \        \        P
                  4      3,           # r   )r   ra  r   rQ  r   r  r   s   &r'   ra  ,FIPSPreviewEntitlement.incompatible_services  s-    w,"!G!G0
 
 	
r*   c                ,   < V ^8  d   QhRS[ RS[ RS[/# r   r   )r%   r&   s   "r'   r(   r    s%      %(	r*   c                    R # )Tr  )rN   rW   r   s   &&&r'   r   4FIPSPreviewEntitlement._allow_fips_on_cloud_instance  s     r*   r  )r?  r@  rA  rB  rL   r   FIPS_PREVIEW_TITLEr-   FIPS_PREVIEW_DESCRIPTIONr{  FIPS_PREVIEW_HELP_TEXTr}  r   PROMPT_FIPS_PREVIEW_PRE_ENABLEr>   rD  rK  ra  r   rL  rM  rN  rO  s   @@r'   r  r    sf     D''E33K//I F<<N1M
 
 
  r*   r  )r=  r>  r9  r:  r<  )r;  r4  r5  )r;  r6  r7  r.  r/  )7loggingr   rE   	itertoolsr   typingr   r   r   uaclientr   r   r	   r
   r   r   r   uaclient.clouds.identityr   r   uaclient.entitlementsr   uaclient.entitlements.baser   (uaclient.entitlements.entitlement_statusr   uaclient.filesr   uaclient.files.noticesr   uaclient.files.state_filesr   r   uaclient.typesr   r   r   get_event_loggerro   	getLoggerreplace_top_level_logger_namer?  rh   CONDITIONAL_PACKAGES_EVERYWHERE!CONDITIONAL_PACKAGES_OPENSSH_HMACrY   &UBUNTU_FIPS_METAPACKAGE_DEPENDS_XENIAL&UBUNTU_FIPS_METAPACKAGE_DEPENDS_BIONIC%UBUNTU_FIPS_METAPACKAGE_DEPENDS_FOCALrX   RepoEntitlementr    rQ  r^  r  r  r*   r'   <module>r     sO    	 	  ( ( O O O F & = F " )  	%%'::8DE#  % !
 -'(-'(, "* &
* &) % -'(,- -'(,- ,+,	' #V+D00 V+rI+ IX2 @_ r*   