+
    O×i]0  ã            	       ó¾  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI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Ht ^RIHt ^R	IHtHt ^R
IHt ^RIHtH t H!t! ^RI"H#t# ^RI$H%t%H&t&H't' ]PP                  ! ])4      t*R R lt+R R lt, ! R R]4      t- ! R R]P\                  4      t/ ! R R]/4      t0 ! R R]']/]Pb                  RR7      t2R# )é    N)Úbasename)ÚTemporaryDirectory)ÚSequence)Úferny)Úmake_bootloader)ÚBusÚVariantÚbus)ÚBridgeBeibootHelper)Ú
JsonObjectÚget_str)ÚBridgeConfig)ÚConfiguredPeerÚPeerÚ	PeerError)ÚPolkitAgent)ÚRouterÚRoutingErrorÚRoutingRulec                ó0   € V ^8„  d   QhR\         R\        /# )é   Ú	sudo_pathÚreturn)ÚstrÚbool)Úformats   "Ú3/usr/lib/python3/dist-packages/cockpit/superuser.pyÚ__annotate__r   !   s   € ÷ ñ ¤Sð ¬Tñ ó    c                 óÜ   €  \         P                  ! V R R.\         P                  \         P                  \         P                  RR7       R#   \         P                  \        3 d     R# i ; i)z-Az--helpT)ÚstdinÚstdoutÚstderrÚcheckF)Ú
subprocessÚrunÚDEVNULLÚCalledProcessErrorÚOSError)r   s   &r   Úsudo_supports_askpassr*   !   s]   € ðä�ŠØ˜˜hÐ'Ü×$Ñ$Ü×%Ñ%Ü×%Ñ%Øõ	
ñ øÜ×)Ñ)¬7Ð3ô Úðús   ‚AA ÁA+Á*A+c                ó0   € V ^8„  d   QhR\         R\        /# )r   Úconfigr   )r   r   )r   s   "r   r   r   0   s   € ÷ ñ ¤lð ´tñ r   c                 óÎ   € V P                   '       g   R # \        P                  ! V P                  ^ ,          4      pVf   R # \	        V4      R8X  d   \        V4      '       g   R # R# )FÚsudoT)Ú
privilegedÚshutilÚwhichÚspawnr   r*   )r,   Úcommands   & r   Úis_valid_superuser_configr4   0   sM   € Ø××ÐÙÜ�lŠl˜6Ÿ<™<¨�?Ó+€GØ‚ÙÜ�Ó˜FÔ"Ô+@À×+IÒ+IÙÙr   c                   ón   a a€ ] tR t^;t oV3R lV 3R lltV3R lR ltV3R lR ltV3R ltRtVt	V ;t
# )	ÚSuperuserPeerc                ó@   <€ V ^8„  d   QhRS[ RS[RS[P                  /# )r   Úrouterr,   Ú	responder)r   r   r   ÚAskpassHandler)r   Ú__classdict__s   "€r   r   ÚSuperuserPeer.__annotate__>   s(   ø€ ÷ #ñ #™vð #©|ð #É×H\ÑH\ñ #r   c                ó2   <€ \         SV `  W4       W0n        R # ©N)ÚsuperÚ__init__r9   )Úselfr8   r,   r9   Ú	__class__s   &&&&€r   r@   ÚSuperuserPeer.__init__>   s   ø€ Ü‰Ñ˜Ô(Ø"Žr   c                ó>   <€ V ^8„  d   QhRRRS[ RS[P                  /# )r   ÚargszSequence[str]r#   r   )ÚobjectÚasyncioÚ	Transport)r   r;   s   "€r   r   r<   B   s)   ø€ ÷ (ñ (¨ð (Éð (ÑSZ×SdÑSdñ (r   c              ƒ  ó€  a "  € \         P                  ! \         P                  \         P                  4      w  r4\        P
                  ! 4       pR \        P                  ! 4        R2p\        P                  ! 4       pVP                  RRRRRVRRR	R
RR/3RR	R
RR/3RR	R
RR/3RR	RRV/3RR	RRV/3RR	RRV/3RR	RR\        P                  ! V^ ,          4      VR3./3.. 4	      pVP                  R4       VP                  V4      G Rj  x€L
  VP                  V 3R lVR7      G Rj  x€L
 w  ršV
S J g   Q hV	#  L/ L5i)zcockpit-superuser-z.servicezorg.freedesktop.systemd1z/org/freedesktop/systemd1z org.freedesktop.systemd1.ManagerÚStartTransientUnitzssa(sv)a(sa(sv))ÚfailÚDescriptionÚtÚsÚvzCockpit privileged bridgeÚTypeÚexecÚUserÚrootÚStandardInputFileDescriptorÚhÚStandardOutputFileDescriptorÚStandardErrorFileDescriptorÚ	ExecStartza(sasb)FTNc                  ó   <€ S # r>   © ©rA   s   €r   Ú<lambda>Ú4SuperuserPeer.start_transient_unit.<locals>.<lambda>h   s   ø€ Á4r   )Úsock)ÚsocketÚ
socketpairÚAF_UNIXÚSOCK_STREAMrG   Úget_running_loopÚosÚgetpidr   Údefault_systemÚmessage_new_method_callr0   r1   Ú#set_allow_interactive_authorizationÚ
call_asyncÚcreate_connection)rA   rE   r#   ÚoursÚtheirsÚloopÚ	unit_nameÚsystemÚmsgÚ	transportÚprotocols   f&&        r   Ústart_transient_unitÚ"SuperuserPeer.start_transient_unitB   sp  øé € Ü×(Ò(¬¯©¼×9KÑ9KÓL‰ˆÜ×'Ò'Ó)ˆà(¬¯ª«¨°XÐ>ˆ	ä×#Ò#Ó%ˆØ×,Ñ,Ø&Ø'Ø.Ø ØØØà  c¨3Ð0KÐ LÐMØ˜#˜s C¨Ð0Ð1Ø˜#˜s C¨Ð0Ð1Ø.°°c¸3ÀÐ0GÐHØ/°#°s¸CÀÐ1HÐIØ.°°c¸3ÀÐ0GÐHØ˜s I¨s´f·l²lÀ4ÈÅ7Ó6KÈTÐSXÐ5YÐ4ZÐ[Ð\ðð ó#
ˆð& 	×/Ñ/°Ô5ð ×Ñ Ó$×$Ð$à$(×$:Ñ$:¼<ÈdÐ$:Ó$S×SÑˆ	Ø˜4ÓÐÐØÐñ	 	%áSùs$   ƒDD>Ä
D:ÄD>Ä)D<Ä*D>Ä<D>c                ó   <€ V ^8„  d   QhRR/# ©r   r   NrZ   )r   r;   s   "€r   r   r<   l   s   ø€ ÷ &Tñ &T¨Dñ &Tr   c           	   ƒ  ój  "  € \         P                  ! 4       ;_uu_4       GR j  x€L
 pV P                  P                  '       dN   \        P                  RV P                  4       VP                  \        V P                  4      4      G R j  x€L
  M \        P                  RV P                  4       V P                  .pRV P                  9   ds   \        P                  RV P                  4       \        V R.4      pVP                  V4       \        VP                  \        P                  R7      P!                  4       pMR p\        P"                  ! V4      pRV P$                  9   d7   VP'                  \)        4       4      p\        P*                  ! V4      pRV 2.pMV P$                  pV P                  P,                  R	8X  d'   V P/                  V P                  VR
7      G R j  x€L
 p	M&V P1                  V P                  W…RR7      G R j  x€L
 p	Ve   V	P3                  V4        VP5                  4       G R j  x€L
  R R R 4      GR j  x€L
  R #  EL0 ELË Lq LL L   \        P6                   d   p
\9        R\;        T
4      R7      T
hR p
?
ii ; i LF  + GR j  x€L 
 '       g   i     R # ; i5i)Nz-connecting polkit superuser peer transport %rz1connecting non-polkit superuser peer transport %rz# cockpit-bridgez$going to beiboot superuser bridge %rz--privileged)ÚgadgetszSUDO_ASKPASS=ferny-askpasszSUDO_ASKPASS=rJ   )r#   T)r#   Ústart_new_sessionzauthentication-failed)Úmessage)Ú
contextlibÚAsyncExitStackr,   ÚpolkitÚloggerÚdebugrE   Úenter_async_contextr   r9   r   Úappendr   Ústepsr   ÚBEIBOOT_GADGETSÚencodeÚInteractionAgentÚenvÚenter_contextr   Úwrite_askpass_to_tmpdirÚmethodrs   r2   ÚwriteÚcommunicateÚInteractionErrorr   r   )rA   ÚcontextÚ
respondersÚhelperÚstage1ÚagentÚtmpdirÚferny_askpassr†   rq   Úexcs   &          r   Údo_connect_transportÚ"SuperuserPeer.do_connect_transportl   s  é € Ü×,Ò,×.×.Ô.°'Ø�{‰{×!×!Ð!Ü—‘ÐLÈdÏiÉiÔXØ×1Ñ1´+¸d¿n¹nÓ2MÓN×NÑNä—‘ÐPÐRV×R[ÑR[Ô\à<@¿N¹NÐ;KˆJà! T§Y¡YÔ.Ü—‘ÐCÀTÇYÁYÔOÜ,¨T°NÐ3CÓD�Ø×!Ñ! &Ô)Ü(¨¯©¼u×?TÑ?TÔU×\Ñ\Ó^‘à�ä×*Ò*¨:Ó6ˆEà+¨t¯x©xÔ7Ø ×.Ñ.Ô/AÓ/CÓD�Ü %× =Ò =¸fÓ E�Ø(5°m°_Ð&EÐ%F‘à—h‘h�à�{‰{×!Ñ!Ð%9Ô9Ø"&×";Ñ";¸D¿I¹IÈeÐ";Ó"T×T‘	à"&§*¡*¨T¯Y©Y¸Ð]a *Ó"b×b�	àÒ!Ø—‘ Ô'ðTØ×'Ñ'Ó)×)Ð)÷G /×.Ô.ò Oñ0 Uábñ *øÜ×)Ñ)ô TÜÐ 7ÄÀSÃÔJÐPSÐSûðTú÷I /×.×.Ó.üs²   ‚"J3¤I¥J3¨A$JÂIÂEJÇ(IÇ)&JÈIÈJÈ*I È=IÈ>I ÉJ3ÉJÉJ3ÉJÉJÉJÉI É JÉ5JÊJÊJÊJ3ÊJ0	ÊJÊ
J0	Ê(J0	Ê*	J3c                ó:   <€ V ^8„  d   Qh/ S[ P                  ;R&   # )r   r9   )r   r:   )r   r;   s   "€r   r   r<   ;   s   ø‡ ‚ Ù×#Ñ#Ñ#ò r   )r9   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r@   rs   r•   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rB   r;   s   @@r   r6   r6   ;   s.   ù‡ € ÷#ó #÷(ð (÷T&Tð &T÷c … r   r6   c                   ó6   a € ] tR t^•t o RtV 3R lR ltRtV tR# )ÚCockpitResponderc          
      ó2   <€ V ^8„  d   QhRS[ RRRRRS[ RR/# )	r   r3   rE   ztuple[object, ...]Úfdsz	list[int]r#   r   N©r   )r   r;   s   "€r   r   ÚCockpitResponder.__annotate__˜   s<   ø€ ÷ gñ gÙðgØ"6ðgØ=HðgÙRUðgà	ñgr   c              ƒ  óZ  "  € VR 8X  dŒ   \         P                   ! V^ ,          R7      ;_uu_ 4       pVP                  ^ 4       VP                  R.\         P                  \         P                  \
        P
                  ! R^.4      3.4       RRR4       R# R#   + '       g   i     R# ; i5i)úcockpit.send-stderr)Úfilenoó    ÚiN)r_   ÚpopÚsendmsgÚ
SOL_SOCKETÚ
SCM_RIGHTSÚarray)rA   r3   rE   r¤   r#   r^   s   &&&&& r   Údo_custom_commandÚ"CockpitResponder.do_custom_command˜   s|   é € ð Ð+Ô+Ü—’ c¨!¥f×-Õ-°Ø—‘˜”
à—‘˜e˜W¬×(9Ñ(9¼6×;LÑ;LÌeÏkÊkÐZ]Ð`aÐ_bÓNcÐ'dÐ&eÔf÷ .Ñ-ñ ,ß-×-Ð-üs   ‚.B+°ABÂB+ÂB(	Â"	B+rZ   N)zferny.askpassr¨   )r˜   r™   rš   r›   Úcommandsr±   r�   rž   ©r;   s   @r   r¢   r¢   •   s   ø‡ € Ø7€H÷gö gr   r¢   c                   óD   a € ] tR t^¢t o V 3R lR ltV 3R lR ltRtV tR# )ÚAuthorizeResponderc                ó    <€ V ^8„  d   QhRS[ /# )r   r8   )r   )r   r;   s   "€r   r   ÚAuthorizeResponder.__annotate__£   s   ø€ ÷ )ñ )™vñ )r   c                ó    € Wn         R V n        R# )FN)r8   Úauthorize_attempted)rA   r8   s   &&r   r@   ÚAuthorizeResponder.__init__£   s   € ØŒØ#(ˆÖ r   c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[ RR/# ©r   ÚmessagesÚpromptÚhintr   z
str | Noner¥   )r   r;   s   "€r   r   r¸   §   s)   ø€ ÷ 	4ñ 	4©ð 	4±cð 	4Áð 	4Èñ 	4r   c              ƒ  óD  "  € V P                   '       d   \        P                  R 4       R# RV n         RP                  R \        P
                  ! 4       P                  R4       4       4      pV P                  P                  RV 24      G Rj  x€L
 pVR8X  d   R# T#  L5i)zAnoninteractive authorize during init already attempted, rejectingNTÚ c              3   ó(   "  € T F  qR  x € K
  	  R# 5i)Ú02xNrZ   )Ú.0Úcs   & r   Ú	<genexpr>Ú0AuthorizeResponder.do_askpass.<locals>.<genexpr>­   s   é € ÐPÑ.O¨˜s˜Gœ*Ó.Oùs   ‚Úasciizplain1:)	rº   r~   ÚinfoÚjoinÚgetpassÚgetuserr„   r8   Úrequest_authorization)rA   r¾   r¿   rÀ   ÚhexuserÚpasswords   &&&&  r   Ú
do_askpassÚAuthorizeResponder.do_askpass§   s„   é € Ø×#×#Ð#Ü�K‰KÐ[Ô\ÙØ#'ˆÔ à—'‘'ÑP¬g¯oªoÓ.?×.FÑ.FÀwÔ.OÓPÓPˆØŸ™×:Ñ:¸WÀWÀIÐ;NÓO×Oˆà 2”~ˆtÐ3¨8Ð3ñ Pùs   ‚BB ÂBÂB )rº   r8   N)r˜   r™   rš   r›   r@   rÑ   r�   rž   r´   s   @r   r¶   r¶   ¢   s   ø‡ € ÷)ð )÷	4ö 	4r   r¶   c                   óÔ  a a€ ] tR t^³t oR&t]P                  P                  RRRRR4      t]P                  P                  R. R7      t
]P                  P                  RRR7      t]P                  P                  R/ R7      tV3R lR ltV3R	 lR
 ltRR/V3R lV 3R lll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V3R lR ltV3R lR ltV3R lR lt]P                  P/                  R.R7      V3R lR l4       t]P                  P/                  4       V3R  lR! l4       t]P                  P/                  R.R7      V3R" lR# l4       tV3R$ ltR%tVtV ;t# )'ÚSuperuserRoutingRulerN   ÚbÚas)ÚvalueÚnoneúa{sv}c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úoptionsr   zPeer | None©r   )r   r;   s   "€r   r   Ú!SuperuserRoutingRule.__annotate__Á   s   ø€ ÷ 0ñ 0¡*ð 0°ñ 0r   c                óº   € VP                  R 4      pV'       d   V P                  R8X  d   R# V P                  '       g   VR8X  d   V P                  # \        R4      h)Ú	superuserrS   NÚtryzaccess-denied)ÚgetÚcurrentÚpeerr   )rA   rÛ   rß   s   && r   Ú
apply_ruleÚSuperuserRoutingRule.apply_ruleÁ   sJ   € Ø—K‘K Ó,ˆ	ç˜DŸL™L¨FÔ2áØ�Y�YˆY˜) uÔ,ð —9‘9Ðô ˜Ó/Ð/r   c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[ RR/# r½   r¥   )r   r;   s   "€r   r   rÝ   Ð   s)   ø€ ÷ 'ñ '©ð '±cð 'Áð 'Èñ 'r   c              ƒ  ó,  "  € V P                   e   Q hVR8H  p\        P                  ! 4       P                  4       V n          \        P                  RV4       V P                  RVRWA4       V P                   G R j  x€L
 R V n         #  L  R T n         i ; i5i)NÚconfirmzprompting for %srÂ   )Úpending_promptrG   rc   Úcreate_futurer~   r   r¿   )rA   r¾   r¿   rÀ   Úechos   &&&& r   rÑ   ÚSuperuserRoutingRule.do_askpassÐ   s…   é € Ø×"Ñ"Ò*Ð*Ð*Ø�yÑ ˆÜ%×6Ò6Ó8×FÑFÓHˆÔð	'Ü�L‰LÐ+¨VÔ4ð �K‰K˜˜F B¨Ô7Ø×,Ñ,×,à"&ˆDÕñ -øà"&ˆDÕüs/   ‚>BÁ9B Á:BÁ;B Á>BÂB Â	BÂBr/   Fc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r8   r/   )r   r   )r   r;   s   "€r   r   rÝ   Ý   s   ø€ ÷ "ñ "™vð "±dñ "r   c               ó¦   <€ \         SV `  V4       R V n        R V n        R V n        V'       g   \
        P                  ! 4       ^ 8X  d
   RV n        R # R # )NrS   )r?   r@   ré   rã   Ústartuprd   Úgetuidrâ   )rA   r8   r/   rB   s   &&$€r   r@   ÚSuperuserRoutingRule.__init__Ý   sB   ø€ Ü‰Ñ˜Ô à"ˆÔØˆŒ	ØˆŒçœŸš›¨Ô)Ø!ˆDŽLñ *r   c                ó   <€ V ^8„  d   QhRR/# rv   rZ   )r   r;   s   "€r   r   rÝ   ç   s   ø€ ÷ ñ ˜4ñ r   c                ó"   € R V n         RV n        R# )rØ   N)râ   rã   r[   s   &r   Ú	peer_doneÚSuperuserRoutingRule.peer_doneç   s   € ØˆŒØˆŽ	r   c                ó>   <€ V ^8„  d   QhRS[ RS[P                  RR/# )r   Únamer9   r   N)r   r   r:   )r   r;   s   "€r   r   rÝ   ë   s(   ø€ ÷ -ñ -™Sð -©U×-AÑ-Að -Àdñ -r   c              ƒ  ó<  "  € V P                   R 8w  d   \        P                  ! RR4      hV P                  e   Q hV P                  e   Q hV P
                   F  pWP                  R39   g   K   M	  \        P                  ! RRV R24      hRV n         \        V P                  W24      V n        V P                  P                  V P                  4        V P                  P                  V P                  P                  R7      G Rj  x€L
  T P                  P$                  P                  T n         R#  L+  \        P                   d    \        P                  ! R	R
4      Rh\        \         3 d'   p\        P                  ! R\#        T4      4      ThRp?ii ; i5i)rØ   zcockpit.Superuser.Errorz Superuser bridge already runningNÚanyzUnknown superuser bridge type "Ú"Úinit)Ú	init_hostz!cockpit.Superuser.Error.CancelledzOperation aborted)râ   r
   ÚBusErrorrã   rï   Úsuperuser_configsr÷   r6   r8   Úadd_done_callbackrô   Ústartrü   rG   ÚCancelledErrorr)   r   r   r,   )rA   r÷   r9   r,   r”   s   &&&  r   ÚgoÚSuperuserRoutingRule.goë   sP  é € Ø�<‰<˜6Ô!Ü—,’,Ð8Ð:\Ó]Ð]à�y‰yÒ Ð Ð Ø�|‰|Ò#Ð#Ð#à×,Ô,ˆFØŸ™ UÐ+Ö+Ùñ -ô —,’,Ð8Ð<[Ð\`Ð[aÐabÐ:cÓdÐdàˆŒÜ! $§+¡+¨vÓAˆŒ	Ø�	‰	×#Ñ# D§N¡NÔ3ð	MØ—)‘)—/‘/¨D¯K©K×,AÑ,A�/ÓB×BÐBð —y‘y×'Ñ'×,Ñ,ˆŽñ CøÜ×%Ñ%ô 	cÜ—,’,ÐBÐDWÓXÐ^bÐbÜœÐ#ô 	MÜ—,’,Ð8¼#¸c»(ÓCÈÐLûð	MüsI   ‚A'FÁ.A&FÃ3D6 ÄD4Ä	D6 Ä'FÄ4D6 Ä6;FÅ2FÅ3!FÆFÆFc                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )r   Úconfigsr   N©r   r   )r   r;   s   "€r   r   rÝ     s    ø€ ÷  ñ  ¡8©LÕ#9ð  ¸dñ  r   c           
     óü  € \         P                  R \        V4      4       V Uu. uF  p\        V4      '       g   K  VNK  	  pp\	        V4      V n        V P
                   Uu. uF  q"P                  NK  	  upV n        V Uu/ uFB  q3P                  '       g   K  VP                  \        R\        VP                  4      /R4      bKD  	  upV n
        \         P                  RV P                  4       V P                  en   V P                  P                  V P
                  9  dG   \         P                  RV P                  P                  P                  4       V P                  4        R# R# R# u upi u upi u upi )zset_configs() with %d itemsÚlabelrÙ   z  bridges are now %sNz=  stopping superuser bridge '%s': it disappeared from configs)r~   r   Úlenr4   Útuplerþ   r÷   Úbridgesr  r	   Úmethodsrã   r,   Úshutdown)rA   r  r,   rÆ   s   &&  r   Úset_configsÚ SuperuserRoutingRule.set_configs  s  € Ü�‰Ð2´C¸³LÔAÙ(/ÓU©˜fÔ3LÈV×3T—6�6©ˆÐUÜ!& w£ˆÔØ26×2HÒ2HÓIÑ2H¨ŸœÑ2HÑIˆŒÙX_ÓkÑX_ÐST×cjÕcjÔN˜Ÿ™¤¨'´7¸1¿7¹7Ó3CÐ)DÀgÓ!NÒNÑX_ÑkˆŒä�‰Ð+¨T¯\©\Ô:ð �9‰9Ò Ø�y‰y×Ñ t×'=Ñ'=Ô=Ü—‘Ð\Ð^b×^gÑ^g×^nÑ^n×^sÑ^sÔtØ—‘–ñ >ñ !ùò VùâIùÚks   ¤E/¼E/Á"E4ÂE9Â0E9c                ó   <€ V ^8„  d   QhRR/# rv   rZ   )r   r;   s   "€r   r   rÝ     s   ø€ ÷ 'ñ '˜tñ 'r   c                óh   € V P                   e$   V P                   P                  4        R V n         R # R # r>   )ré   Úcancelr[   s   &r   Úcancel_promptÚ"SuperuserRoutingRule.cancel_prompt  s-   € Ø×ÑÒ*Ø×Ñ×&Ñ&Ô(Ø"&ˆDÖñ +r   c                ó   <€ V ^8„  d   QhRR/# rv   rZ   )r   r;   s   "€r   r   rÝ     s   ø€ ÷ !ñ !˜$ñ !r   c                ó–   € V P                  4        V P                  e   V P                  P                  4        V P                  e   Q hR # r>   )r  rã   Úcloser[   s   &r   r  ÚSuperuserRoutingRule.shutdown  s8   € Ø×ÑÔà�9‰9Ò Ø�I‰I�O‰OÔð �y‰yÒ Ð Ò r   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úparamsr   NrÜ   )r   r;   s   "€r   r   rÝ   #  s   ø€ ÷ ;ñ ;™:ð ;¨$ñ ;r   c                óè   € \        VR R4      p\        V P                  4      p\        P                  ! V P                  W#4      4      V n        V P                  P                  V P                  4       R# )Úidrù   N)	r   r¶   r8   rG   Úcreate_taskr  Ú
_init_taskrÿ   Ú
_init_done)rA   r  r÷   r9   s   &&  r   rû   ÚSuperuserRoutingRule.init#  sO   € Ü�v˜t UÓ+ˆÜ& t§{¡{Ó3ˆ	Ü!×-Ò-¨d¯g©g°dÓ.FÓGˆŒØ�‰×)Ñ)¨$¯/©/Ö:r   c                ó"   <€ V ^8„  d   QhRRRR/# )r   Útaskzasyncio.Task[None]r   NrZ   )r   r;   s   "€r   r   rÝ   )  s   ø€ ÷ ñ Ð3ð ¸ñ r   c                óŠ   € \         P                  R VP                  4       4       V P                  P	                  RR7       V =R# )zsuperuser init done! %szsuperuser-init-done)r3   N)r~   r   Ú	exceptionr8   Úwrite_controlr  )rA   r"  s   &&r   r  ÚSuperuserRoutingRule._init_done)  s3   € Ü�‰Ð.°·±Ó0@ÔAØ�‰×!Ñ!Ð*?Ð!Ô@ØŠOr   )Úin_typesc                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r÷   r   Nr¥   )r   r;   s   "€r   r   rÝ   0  s   ø€ ÷ "ñ "¡ð "¨ñ "r   c              ƒ  óD   "  € V P                  W4      G R j  x€L
  R #  L5ir>   )r  )rA   r÷   s   &&r   r   ÚSuperuserRoutingRule.start/  s   é € à�g‰g�dÓ!×!Ô!ùs   ‚ —˜ c                ó   <€ V ^8„  d   QhRR/# rv   rZ   )r   r;   s   "€r   r   rÝ   4  s   ø€ ÷ ñ �dñ r   c                ó&   € V P                  4        R # r>   )r  r[   s   &r   ÚstopÚSuperuserRoutingRule.stop3  s   € à�‰Žr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úreplyr   Nr¥   )r   r;   s   "€r   r   rÝ   8  s   ø€ ÷ >ñ >™Cð > Dñ >r   c                ó°   € V P                   e3   \        P                  R4       V P                   P                  V4       R # \        P                  R4       R # )Nzresponding to pending promptz!got Answer, but no prompt pending)ré   r~   r   Ú
set_result)rA   r0  s   &&r   ÚanswerÚSuperuserRoutingRule.answer7  s<   € à×ÑÒ*Ü�L‰LÐ7Ô8Ø×Ñ×*Ñ*¨5Ö1ä�L‰LÐ<Ö=r   c                óJ   <€ V ^8„  d   Qh/ S[ S[,          ;R&   R;R&   R;R&   # )r   rþ   zasyncio.Future[str] | Noneré   zSuperuserPeer | Nonerã   r  )r   r;   s   "€r   r   rÝ   ³   s-   ø‡ ‚ Ù¡Õ-Ñ2ñ à0Ñ0ñ ð !Ñ ò r   )r  r  râ   r  rã   ré   rï   rþ   rZ   )r˜   r™   rš   r›   rþ   r
   Ú	InterfaceÚSignalr¿   ÚPropertyr  râ   r  rä   rÑ   r@   rô   r  r  r  r  rû   r  ÚMethodr   r-  r3  rœ   r�   rž   rŸ   r    s   @@r   rÔ   rÔ   ³   sZ  ù‡ € Ø02Ðð
 �]‰]×!Ñ! # s¨C°°cÓ:€Fð �m‰m×$Ñ$ T°Ð$Ó4€GØ�m‰m×$Ñ$ S°Ð$Ó7€GØ�m‰m×$Ñ$ W°BÐ$Ó7€G÷0ð 0÷'ð 'ð"¸U÷ "õ "÷ð ÷-ð -÷4 ð  ÷'ð '÷
!ð !÷;ð ;÷ð ð 	‡]�]×Ñ C 5ÐÓ)÷"ó *ð"ð 	‡]�]×ÑÓ÷ó ðð 	‡]�]×Ñ C 5ÐÓ)÷>ó *ð>÷K … r   rÔ   zcockpit.Superuser)Ú	interface)3r°   rG   r{   rÌ   Úloggingrd   r0   r_   r%   Úos.pathr   Útempfiler   Útypingr   Úcockpit._vendorr   Úcockpit._vendor.bei.bootloaderr   Úcockpit._vendor.systemd_ctypesr   r	   r
   Úbeipackr   Újsonutilr   r   Úpackagesr   rã   r   r   r   r}   r   r8   r   r   r   Ú	getLoggerr˜   r~   r*   r4   r6   r:   r¢   r¶   ÚObjectrÔ   rZ   r   r   Ú<module>rG     sµ   ðó Û Û Û Û Û 	Û Û Û Ý Ý 'Ý å !Ý :ß <Ñ <å (ß )Ý "ß 1Ñ 1Ý ß 5Ñ 5à	×	Ò	˜8Ó	$€õõôWT�Nô WTôt
g�u×+Ñ+ô 
gô4Ð)ô 4ô"J>˜;Ð(8¸#¿*¹*ÐPc÷ J>r   