Ë
    GKÕië  ã                   ó®  — d dl Z d dlZd dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZmZ d dlmZmZ d dlmZ d dlmZmZmZ d dlmZ d d	lmZmZ d d
lmZmZ d dlm Z  d dl!m"Z"  ejF                  «       Z$d„ Z%ejL                  ejN                   ejP                  d«      d„ «       «       «       Z) edejT                  ejV                  e)dejX                  d e edejZ                  d¬«       edej\                  dd¬«       edej^                   e j`                  d«      ¬«       edejb                  je                  d¬«      d dd!gd¬"«      g¬#«      g¬$«      Z3y)%é    N)ÚactionsÚcontractÚevent_loggerÚ
exceptionsÚmessagesÚsecret_manager)Ú	_initiate)ÚMagicAttachRevokeOptionsÚ_revoke)ÚMagicAttachWaitOptionsÚ_wait)Úcli_util)ÚProArgumentÚProArgumentGroupÚ
ProCommand)ÚHelpCategory)ÚAttachActionsConfigFileÚIncorrectTypeError)Ú*create_enable_entitlements_not_found_errorÚget_valid_entitlement_names)ÚCanEnableFailure)Ú	safe_loadc                ó²  — | j                   dk(  r!t        j                  d| j                   ¬«      ‚t        j	                  t
        j                  «       t        |¬«      }t        j	                  dt
        j                  j                  |j                  ¬«      z   «       t        |j                  ¬«      }	 t        ||¬«      }t        j	                  dt
        j"                  z   «       |j$                  S # t        j                  $ rM}t        j	                  t
        j                  «       t        |j                  ¬«      }t!        ||¬«       |‚d }~ww xY w)	NÚjsonú--format)ÚparamÚvalue©Úcfgú
)Ú	user_code)Úmagic_token)Úoptionsr   )Úformatr   ÚMagicAttachInvalidParamÚeventÚinfor   ÚCLI_MAGIC_ATTACH_INITr	   ÚCLI_MAGIC_ATTACH_SIGN_INr!   r   Útokenr   ÚMagicAttachTokenErrorÚCLI_MAGIC_ATTACH_FAILEDr
   r   ÚCLI_MAGIC_ATTACH_PROCESSINGÚcontract_token)Úargsr   ÚkwargsÚinitiate_respÚwait_optionsÚ	wait_respÚeÚrevoke_optionss           ú5/usr/lib/python3/dist-packages/uaclient/cli/attach.pyÚ_magic_attachr7   #   s  € Ø‡{�{�fÒÜ×0Ñ0ØØ—+‘+ô
ð 	
ô
 
‡J�JŒx×-Ñ-Ô.Ü #Ô&€MÜ	‡J�JØÜ
×
+Ñ
+×
2Ñ
2Ø#×-Ñ-ð 3ó 
ñ	
ôô *°m×6IÑ6IÔJ€Lð	Ü ,°CÔ8ˆ	ô 
‡J�Jˆt”h×:Ñ:Ñ:Ô;Ø×#Ñ#Ð#øô ×+Ñ+ò Ü�
‰
”8×3Ñ3Ô4ä1Ø%×+Ñ+ô
ˆô 	˜¨CÕ0Øˆûðús   Â7C6 Ã6EÄ	AEÅEz
pro attachc                óð  — | j                   r | j                  rt        j                  «       ‚| j                   s| j                  st	        | |¬«      }d }n{| j                   r.| j                   }t
        j                  j                  |«       d }nA	 t        j                  t        | j                  «      «      }|j                   }|j                  }| j                   xr |d u }	 t#        j$                  |||¬«       d}|��K| j                   �r>t'        ||«      \  }	}
|	D ]¿  }t#        j(                  ||«      \  }}|s�d}|€Œ#t+        |t,        «      sŒ4|j.                  €ŒAt0        j3                  |j.                  j                  «       t0        j5                  |j.                  j                  |j.                  j                  |¬«       Œ«t0        j7                  |«       ŒÁ |
rit9        |
|¬«      }t0        j3                  |j                  t:        j<                  ¬«       t0        j5                  |j                  |j>                  ¬«       d}tA        jB                  |«      }|jE                  «        tG        jH                  |«       |S # t        $ r:}t        j                  | j                  j                  |j                  ¬«      ‚d }~ww xY w# t        jJ                  $ r t        jL                  «       ‚w xY w)	Nr   )Úconfig_nameÚerror)r*   Úallow_enabler   é   )Ú	error_msgÚ
error_codeÚservice)Ú	file_type)r=   r>   )'r*   Úattach_configr   ÚCLIAttachTokenArgXORConfigr7   r   ÚsecretsÚ
add_secretr   Ú	from_dictr   r   ÚAttachInvalidConfigFileErrorÚnameÚmsgÚenable_servicesÚauto_enabler   Úattach_with_tokenr   Úenable_entitlement_by_nameÚ
isinstancer   Úmessager&   r'   r:   Úservice_processedr   ÚsysÚstderrÚmsg_coder   ÚUAContractClientÚupdate_activity_tokenr   Úpost_cli_attachÚConnectivityErrorÚAttachError)r/   r   r0   r*   Úenable_services_overriderA   r4   r;   ÚretÚfoundÚ	not_foundrG   Úent_retÚreasonr:   Úcontract_clients                   r6   Úaction_attachr_   D   sw  € ð ‡z‚z�d×(Ò(Ü×3Ñ3Ó5Ð5Ø�ZŠZ × 2Ò 2Ü˜d¨Ô,ˆØ#'Ñ Ø	�ŠØ—
‘
ˆÜ×Ñ×)Ñ)¨%Ô0Ø#'Ñ ð	Ü3×=Ñ=Ü˜$×,Ñ,Ó-óˆMð ×#Ñ#ˆØ#0×#@Ñ#@Ð à×#Ñ#ÒHÐ(@ÀDÐ(H€Lð(Ü×!Ñ! #¨UÀÕNð ˆØ#Ñ/°D×4DÓ4DÜ:Ø(¨#ó ÑˆE�9ð ò 2�Ü")×"DÑ"DÀSÈ$Ó"O‘�˜ÙØ�CàÑ*Ü& vÔ/?Õ@Ø"ŸN™NÑ6äŸ
™
 6§>¡>×#5Ñ#5Ô6ÜŸ™Ø&,§n¡n×&8Ñ&8Ø'-§~¡~×':Ñ':Ø$(ð $õ ô ×+Ñ+¨DÕ1ð!2ñ$ ÜBØ 3ô�ô —
‘
˜5Ÿ9™9´·
±
�
Ô;Ü—‘ e§i¡i¸E¿N¹N�ÔKØ�ä"×3Ñ3°CÓ8ˆØ×-Ñ-Ô/ä× Ñ  Ô%Øˆ
øôe "ò 	Ü×9Ñ9Ø ×.Ñ.×3Ñ3¸1¿5¹5ôð ûð	ûô ×'Ñ'ò 'Ü×$Ñ$Ó&Ð&ð'ús$   Â(J Ã#K Ê	K
Ê5KËK
Ë(K5ÚattachTé   r*   ú?)ÚhelpÚnargsz--no-auto-enableÚstore_falserJ   )rc   ÚactionÚdestz--attach-configÚr)rc   Útyper   Úcli)ÚdefaultÚstorer   )rc   rf   Úchoicesrk   )Ú	arguments)rc   Údescriptionrf   Úpreserve_descriptionÚhelp_categoryÚhelp_positionÚargument_groups)4ÚargparserP   Úuaclientr   r   r   r   r   r   Ú+uaclient.api.u.pro.attach.magic.initiate.v1r	   Ú)uaclient.api.u.pro.attach.magic.revoke.v1r
   r   Ú'uaclient.api.u.pro.attach.magic.wait.v1r   r   Úuaclient.clir   Úuaclient.cli.commandsr   r   r   Úuaclient.cli.parserr   Úuaclient.data_typesr   r   Úuaclient.entitlementsr   r   Ú(uaclient.entitlements.entitlement_statusr   Úuaclient.yamlr   Úget_event_loggerr&   r7   Úassert_not_attachedÚassert_rootÚassert_lock_filer_   ÚCLI_ROOT_ATTACHÚCLI_ATTACH_DESCÚ
QUICKSTARTÚCLI_ATTACH_TOKENÚCLI_ATTACH_NO_AUTO_ENABLEÚCLI_ATTACH_ATTACH_CONFIGÚFileTypeÚCLI_FORMAT_DESCr$   Úattach_command© ó    r6   ú<module>r�      sg  ðÛ Û 
÷÷ õ B÷÷õ "ß KÑ KÝ ,ß K÷õ FÝ #à%ˆ×%Ñ%Ó'€ò$ðB 
×ÑØ	×ÑØ€×Ñ˜<Ó(ñAó )ó ó ðAñH ØØ	×	!Ñ	!Ø×(Ñ(ØØØ×)Ñ)ØááØ (×";Ñ";À3ôñ Ø&Ø!×;Ñ;Ø(Ø&ô	ñ Ø%Ø!×:Ñ:Ø*˜×*Ñ*¨3Ó/ôñ
 ØØ!×1Ñ1×8Ñ8ÀÐ8ÓGØ"Ø" F˜OØ!ôðô	
ðô#�rŽ   