+
    =l jö  ã                   óî   € ^ RI t ^ RIt^ RIHtHtHt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 ^ R	IHt ^ R
IHt ] P0                  ! ]P2                  ! ]4      4      tR R ltR R ltR# )é    N)ÚactionsÚ
exceptionsÚlockÚsystemÚutil)Ú_is_attached)ÚAutoAttachInstance)ÚAzureAutoAttachInstance)ÚGCPAutoAttachInstance)Úcloud_instance_factory)ÚLXDAutoAttachInstance©ÚUAConfig)Úretry_auto_attachc                ó0   € V ^8„  d   QhR\         R\        /# )é   ÚcfgÚcloud)r   r	   )Úformats   "ÚF/usr/lib/python3/dist-packages/uaclient/daemon/poll_for_pro_license.pyÚ__annotate__r      s   € ÷ 
'ñ 
'œXð 
'Ô.@ñ 
'ó    c                 óÌ  €  \         P                  ! R R7      ;_uu_ 4        \        P                  ! W4       RRR4       \
        P                  R4       R#   + '       g   i     L'; i  \         do   p\
        P                  T4       \         P                  ! 4        \
        P                  R4       \        P                  ! \        P                  4        Rp?R# Rp?ii ; i)zpro.daemon.attempt_auto_attach)Úlock_holderNz%creating flag file to trigger retrieszSuccessful auto attach)r   Ú	RetryLockr   Úauto_attachÚ	ExceptionÚLOGÚerrorÚclear_lock_file_if_presentÚinfor   Úcreate_filer   ÚFLAG_FILE_PATH)r   r   Úes   && r   Úattempt_auto_attachr%      s�   € ðÜ�^Š^Ð(H×IÖIÜ×Ò Ô+÷ Jô ‡H�HÐ%Ö&÷ J×Iûäô Ü�	‰	�!ŒÜ×'Ò'Ô)Ü�‰Ð8Ô9Ü×ÒÔ,×;Ñ;Ô<Ýûðús4   ‚A* ¡A¸A* ÁA'	Á"A* Á'A* Á*C#Á5A#CÃC#c                ó$   € V ^8„  d   QhR\         /# )r   r   r   )r   s   "r   r   r      s   € ÷ Sñ Sœhñ Sr   c                 óÀ  a€ \         P                  ! V P                  R R7      '       d   \        P	                  R4       R# \        V 4      P                  '       d   \        P	                  R4       R# \        P                  ! 4       '       g   \        P	                  R4       R#  \        4       o\        ;QJ d.    T3R l\        \        \        3 4       F  '       g   K   RM#	  R	M! T3R l\        \        \        3 4       4      pT'       g   \        P	                  R
4       R# SP!                  4       '       g   \        P	                  R4       R#  SP#                  R	R7      pT'       d   \%        T S4       R#  T P*                  '       g   \        P	                  R4       R#   \,        P,                  ! 4       pSP#                  RR7      p\,        P,                  ! 4       p\        T 4      P                  '       d   \        P	                  R4       R# T'       d   \%        T S4       R# YC,
          ^
8  dC   \        P	                  RT P.                  4       \,        P0                  ! T P.                  4       KÕ  K×    \        P                   d    \        P	                  R4        R# i ; i  \        P&                   d    \        P	                  R4        R# \        P(                   d     ELui ; i  \        P&                   d    \        P	                  R4        R# \        P(                   d&    \,        P0                  ! T P.                  4        EKµ  i ; i)zfeatures.disable_auto_attach)ÚconfigÚpath_to_valuez,Configured to not auto attach, shutting downNzAlready attached, shutting downzNot on LTS, shutting downzNot on cloud, shutting downc              3   ó<   <"  € T F  p\        SV4      x € K  	  R # 5i)N)Ú
isinstance)Ú.0Úcloud_instancer   s   & €r   Ú	<genexpr>Ú'poll_for_pro_license.<locals>.<genexpr>1   s&   øé € ð ñ
ˆNô 	�5˜.×)Ð)ó
ùs   ƒTFz.Not on supported cloud platform, shutting downz(Not on supported instance, shutting down)Úwait_for_changezCancelling pollingz5Configured to not poll for pro license, shutting downzdwait_for_change returned quickly and no pro license present. Waiting %d seconds before polling again)r   Úis_config_value_truer   r   r!   r   Úis_attachedr   Úis_current_series_ltsr   r   ÚCloudFactoryErrorÚanyr   r
   r   Úshould_poll_for_pro_licenseÚis_pro_license_presentr%   ÚCancelProLicensePollingÚDelayProLicensePollingÚpoll_for_pro_licenseÚtimeÚpolling_error_retry_delayÚsleep)r   Úis_supported_cloudÚpro_license_presentÚstartÚendr   s   &    @r   r:   r:      s¦  ø€ Ü× Ò Ø�w‰wÐ&D÷ó ô 	�‰Ð?Ô@ÙÜ�CÓ×$×$Ð$Ü�‰Ð2Ô3ÙÜ×'Ò'×)Ò)Ü�‰Ð,Ô-ÙðÜ&Ó(ˆ÷
 ›ô ô "Ü#Ü!ñ
óŸŸšô ô "Ü#Ü!ñ
óó Ð÷ Ü�‰ÐAÔBÙà×,Ñ,×.Ò.Ü�‰Ð;Ô<ÙðØ#×:Ñ:Ø!ð ;ó 
Ð÷ Ü  UÔ+Ùð ð ×#×#Ð#Ü�‰ÐHÔIÙà
ð	Ü—I’I“KˆEØ"'×">Ñ">Ø $ð #?ó #Ðô —)’)“+ˆCô ˜CÓ ×,×,Ð,ä—‘Ð:Ô;Ùß"Ü# C¨Ô/ÙØ�{˜RÔÜ—‘ðHà×1Ñ1ôô
 —
’
˜3×8Ñ8Ô9Ùñ  øô{ ×'Ñ'ô Ü�‰Ð.Ô/Úðûô0 ×-Ñ-ô Ü�‰Ð%Ô&ÚÜ×,Ñ,ô ò 	ðûô( ×1Ñ1ô 	Ü�H‰HÐ)Ô*ÚÜ×0Ñ0ô 	Ü�JŠJ�s×4Ñ4Ô5Ûð	úsN   Â&
I> ÅJ/ Æ)<K7 É>*J,Ê+J,Ê/*K4ËK4Ë/K4Ë3K4Ë7*MÌ$MÌ7!MÍM)Úloggingr;   Úuaclientr   r   r   r   r   Ú(uaclient.api.u.pro.status.is_attached.v1r   Úuaclient.cloudsr	   Úuaclient.clouds.azurer
   Úuaclient.clouds.gcpr   Úuaclient.clouds.identityr   Úuaclient.clouds.lxdr   Úuaclient.configr   Úuaclient.daemonr   Ú	getLoggerÚreplace_top_level_logger_nameÚ__name__r   r%   r:   © r   r   Ú<module>rP      sO   ðÛ Û ç <Õ <Ý AÝ .Ý 9Ý 5Ý ;Ý 5Ý $Ý -à×Ò˜×:Ò:¸8ÓDÓE€õ
'÷Sr   