ó
    cÛ–i¬Q  ã                   óÞ   • S SK r S SKJr  S SKrS SKJr  S SKJrJr  S SK	J
r
  S SKr S SKJrJrJrJr  S SKJr  S rS rS	 r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      rg)é    N)ÚLdbError)ÚdrsuapiÚmisc)Úsystem_session)ÚCommandÚCommandErrorÚSuperCommandÚOption)ÚSamDBc                 óD  •  U R                  U[        R                  S/S9nSUS   ;   a0  [        R                  " XS   S   S   R                  S5      5      nU$ SnU$ ! [         a6  nUR                  u  pVU[        R
                  :X  a  [        SU-  5      ee SnAff = f)zbGets the owner of an FSMO role

:param roledn: The DN of the FSMO role
:param role: The FSMO role
ÚfSMORoleOwner©ÚscopeÚattrsz+The '%s' role is not present in this domainNr   Úutf8)	ÚsearchÚldbÚ
SCOPE_BASEr   ÚargsÚERR_NO_SUCH_OBJECTr   ÚDnÚdecode)ÚsamdbÚrolednÚroleÚresÚe7ÚnumÚmsgÚmaster_owners           Ú3/usr/lib/python3/dist-packages/samba/netcmd/fsmo.pyÚget_fsmo_roleownerr"   $   s²   € ðØ�l‰l˜6Ü!$§¡¸Ð7Hð ð Jˆð ˜#˜a™&Ó ÜŸš˜u¨!¡f¨_Ñ&=¸aÑ&@×&GÑ&GÈÓ&OÓPˆð Ðð ˆàÐøô ó Ø—W‘W‰
ˆØ”#×(Ñ(Ó(ÜÐLÈtÑSÓTÐTØûð	ús   ‚ A Á
BÁ)1BÂBc           
      óô  • US:X  a  UR                  5       nSU-   nO/US:X  a)  [        R                  " UR                  5       5      nSU-   nUR	                  5       nUR                  WS/[        R                  S/S9n	SU	S   ;   a”   [        [        R                  " [        R                  " UU	S   S   S   R                  S	5      5      R                  S
5      5      5      n
[        [        R                  " XIS   S   S   R                  S	5      5      5      nOU R#                  SU-  5        gUS:X  a=  U
< SUR%                  5       < 3nUR'                  5       < SUR%                  5       < 3nOBUS:X  a<  U
< SUR                  5       < 3nUR'                  5       < SUR                  5       < 3nUR)                  5       nWW:w  GaE  UR+                  5       nUR-                  USS9n[/        SU-  [1        5       UUS9n[        R2                  " 5       n[        R                  " XF5      Ul        [        R6                  " U[        R8                  S5      US'   [        R6                  " U[        R:                  S5      US'    UR=                  U5         [        R>                  RA                  UUU5      n US   nUS   n[D        RF                  nUSS n[        R>                  RI                  UUU
UU5        U R#                  SU-  5        gU R#                  SU-  5        g! [         a0  nUR                  u  pÞ[!        SU	S   S   S   < SU< S35      eSnAff = f! [         a&  nUR                  u  pÞ[!        SU< SU< 35      eSnAff = f! [        R>                  RB                   a  n[!        SU5      eSnAff = f! [        R>                  RB                   a  n[!        SU5      eSnAff = f) zTransfer dns FSMO role. Ú	domaindnsú$CN=Infrastructure,DC=DomainDnsZones,Ú	forestdnsú$CN=Infrastructure,DC=ForestDnsZones,r   zextended_dn:1:1)r   r   Úcontrolsr   r   ÚGUIDz"No GUID found in naming master DN z : z 
Nz0* The '%s' role does not have an FSMO roleowner
Fz._msdcs.T©Úfallback_machinez	ldap://%s©ÚurlÚsession_infoÚcredentialsÚlpÚfSMORoleOwner_DelÚfSMORoleOwner_AddzFailed to add role 'z': zDrsuapi Connect failedé   é   zReplication failedú&FSMO transfer of '%s' role successful
ú'This DC already has the '%s' FSMO role
)%Ú	domain_dnÚsambaÚdn_from_dns_nameÚforest_dns_nameÚhost_dns_namer   r   r   Ústrr   r)   r   r   Úget_extended_componentr   r   r   ÚwriteÚdomain_dns_nameÚget_ntds_GUIDÚget_dsServiceNameÚget_loadparmÚget_credentialsr   r   ÚMessageÚdnÚMessageElementÚFLAG_MOD_DELETEÚFLAG_MOD_ADDÚmodifyÚ	drs_utilsÚdrsuapi_connectÚdrsExceptionr   ÚDRSUAPI_DRS_WRIT_REPÚsendDsReplicaSync)ÚoutfÚ	sambaoptsÚcredoptsr   r   r7   Úrole_objectÚ	forest_dnÚnew_host_dns_namer   Úmaster_guidr    Úe3r   r   Úmaster_dns_nameÚnew_dns_nameÚ	new_ownerr0   ÚcredsÚmÚe5Ú
connectionÚeÚdrsuapi_connectionÚdrsuapi_handleÚreq_optionsÚNCÚestrs                                r!   Útransfer_dns_rolerd   ;   sß  € ð ˆ{ÓØ—O‘OÓ%ˆ	Ø<¸yÑH‰Ø	�Ó	Ü×*Ò*¨5×+@Ñ+@Ó+BÓCˆ	Ø<¸yÑHˆà×+Ñ+Ó-Ðà
�,‰,�{Ø-Ð.Ü Ÿ^™^Ø!2Ð 3ð ð 5€Cð
 ˜#˜a™&Ó ð	BÜœdŸiši¬¯ª¨uØ/2°1©v°oÑ/FÀqÑ/I×/PÑ/PÐQWÓ/Xó)Zç)?Ñ)?ÀÓ)GóIó JˆKô œsŸvšv e°©V°OÑ-DÀQÑ-G×-NÑ-NÈvÓ-VÓWÓX‰Lð 	�
‰
ÐFÈÑMÔNØàˆ{ÓÛ,7Ø,1×,AÑ,AÕ,CðEˆà).×)<Ñ)<Ö)>Ø).×)>Ñ)>Õ)@ðB‰à	�Ó	Û,7Ø,1×,AÑ,AÕ,CðEˆà).×)<Ñ)<Ö)>Ø).×)>Ñ)>Õ)@ðBˆð ×'Ñ'Ó)€Ià˜,Ô&Ø×#Ñ#Ó%ˆØ×(Ñ(¨¸dÐ(ÐCˆÜ˜+¨Ñ9Ü#1Ó#3Ø"'¨Bñ0ˆô �KŠK‹MˆÜ�vŠv�eÓ)ˆŒÜ!$×!3Ò!3°LÜ47×4GÑ4GØ4Có"EˆÐ
Ñô "%×!3Ò!3°IÜ47×4DÑ4DØ4Có"EˆÐ
Ñð	LØ�L‰L˜ŒOð
	<ÜŸ™×8Ñ8Ð9JØ9;¸UóDˆJð

	;Ø!+¨A¡ÐØ'¨™]ˆNÜ!×6Ñ6ˆKØ˜R˜SÐ!ˆBÜ�O‰O×-Ñ-Ð.@Ø.<Ø.9Ø.0°+ô?ð 	�
‰
Ð<¸tÑCÔDØà�
‰
Ð=ÀÑDÔEØøôA ó 	BØŸ™‰JˆSÝØ # A¡ Ñ 7¸Ô :»Cð Aó Bð Bûð	BûôL ó 	LØŸ™‰JˆSÝÃÂcÐJÓKÐKûð	Lûô �‰×+Ñ+ó 	<ÜÐ7¸Ó;Ð;ûð	<ûô �‰×+Ñ+ó 	;ÜÐ3°TÓ:Ð:ûð	;úsb   ÂBL& ÊM# Ê!N Ê:AO Ì&
M Ì0+MÍM Í#
NÍ-!NÎNÎOÎ4O Ï OÏO7Ï&O2Ï2O7c                 ó8  • UR                  5       nSU-   nSUR                  5       -  nSU-   n[        UR                  5       5      n[        R
                  " X"R                  5       5      n[        R                  " 5       n	[        R
                  " US5      U	l        US:X  a7  [        X$U5      n
[        R                  " S[        R                  S5      U	S'   GO7US:X  ar  [        X#U5      n
UR                  U[        R                  S	/S
9n[        U5      S:X  d   eUS   S	   S   n[        R                  " U[        R                  S5      U	S'   O¿US:X  a6  [        X%U5      n
[        R                  " S[        R                  S5      U	S'   OƒUS:X  a6  [        X&U5      n
[        R                  " S[        R                  S5      U	S'   OGUS:X  a6  [        X'U5      n
[        R                  " S[        R                  S5      U	S'   O[        S5      eU
c  U R!                  SU-  5        gX¨:w  a'   UR#                  U	5        U R!                  SU-  5        gU R!                  SU-  5        g! [$         a&  nUR&                  u  pï[        SU< SU< 35      eSnAff = f)zTransfer standard FSMO role. úCN=RID Manager$,CN=System,úCN=Partitions,%súCN=Infrastructure,Ú ÚridÚ1ÚbecomeRidMasterÚpdcÚ	objectSidr   r3   r   Ú	becomePdcÚnamingÚbecomeDomainMasterÚinfrastructureÚbecomeInfrastructureMasterÚschemaÚbecomeSchemaMasterúInvalid FSMO role.NzECannot transfer, no DC assigned to the %s role.  Try 'seize' instead
FzTransfer of 'z' role failed: r5   Tr6   )r7   Úget_config_basednr<   Úget_schema_basednr   r   rA   rD   rE   r"   rF   ÚFLAG_MOD_REPLACEr   r   Úlenr   r>   rI   r   r   )rO   r   r   r7   Úrid_dnÚ	naming_dnÚinfrastructure_dnÚ	schema_dnrY   r[   r    r   ÚsidÚe6r   r   s                   r!   Útransfer_roler�   •   s€  € ð —‘Ó!€IØ)¨IÑ5€FØ" U×%<Ñ%<Ó%>Ñ>€IØ,¨yÑ8ÐÜ�E×+Ñ+Ó-Ó.€IÜ—’�u×5Ñ5Ó7Ó8€IÜ�Š‹€AÜ�6Š6�%˜Ó€A„DØˆuƒ}Ü)¨%¸Ó>ˆÜ"×1Ò1Ø”×%Ñ%Øó ˆÐ
Óð 
�‹Ü)¨%¸DÓAˆà�l‰l˜9Ü!$§¡¸°}ð ð Fˆä�3‹x˜1‹}Ðˆ}Ø�!‰f�[Ñ! !Ñ$ˆÜ×+Ò+Ø”×%Ñ%Øóˆˆ+Šð 
�Ó	Ü)¨%¸DÓAˆÜ"%×"4Ò"4Ø”×%Ñ%Ø ó#"ˆÐ
Òð 
Ð!Ó	!Ü)¨%ÀDÓIˆÜ*-×*<Ò*<Ø”×%Ñ%Ø(ó+*ˆÐ
&Ò'ð 
�Ó	Ü)¨%¸DÓAˆÜ"%×"4Ò"4Ø”×%Ñ%Ø ó#"ˆÐ
Òô Ð/Ó0Ð0àÑØ�
‰
Ð[Ð^bÑbÔcØàÓ ð	,Ø�L‰L˜ŒOð 	�
‰
Ð<¸tÑCÔDØà�
‰
Ð=ÀÑDÔEØøô ó 	,ØŸ™‰JˆSÝÛ $¢cð +ó ,ð ,ûð	,ús   È.I) É)
JÉ3!JÊJc            	       ó¼   • \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSS\SS	S
9\" SSSS9\" SS/ SQSS9/r/ rS rS r  SS jrSrg)Úcmd_fsmo_seizeéÔ   zSeize the role.ú%prog [options]©rP   rQ   Úversionoptsú-Hú--URLú%LDB URL for database or target serverÚURLÚH©ÚhelpÚtypeÚmetavarÚdestz--forcez5Force seizing of role without attempting to transfer.Ú
store_true)rŽ   Úactionú--roleÚchoice©rj   rm   rr   rt   rp   r$   r&   ÚalláI  The FSMO role to seize or transfer.

rid=RidAllocationMasterRole

schema=SchemaMasterRole

pdc=PdcEmulationMasterRole

naming=DomainNamingMasterRole

infrastructure=InfrastructureMasterRole

domaindns=DomainDnsZonesMasterRole

forestdns=ForestDnsZonesMasterRole

all=all of the above

You must provide an Admin user and password.©r�   ÚchoicesrŽ   c                 óø  • UR                  5       nUR                  5       nSU-   U l        SUR                  5       -  U l        [        UR                  5       5      U l        SU-   U l        [        R                  " 5       nUS:X  a&  [        R                  " X R                  5      Ul        O±US:X  a  [        R                  " X%5      Ul        O�US:X  a&  [        R                  " X R                  5      Ul        OcUS:X  a&  [        R                  " X R                  5      Ul        O7US:X  a&  [        R                  " X R                  5      Ul        O[        S	5      eS
n[        X&R                  U5      nUbb  X„:w  a>  Uc:  U R                  S5         [!        U R"                  X5        U R                  S5        gO!U R"                  R%                  SU-  5        g
SnUc  U(       a¤  U R                  SU-  5        [        R&                  " U[        R(                  S5      US'   UR+                  5          UR-                  U5        US:X  a  UR/                  5         UR9                  5         U R"                  R%                  SU-  5        gg!   SnU R                  S5         NÆ= f! [0         aÊ  n	U	R2                  u  p«US:X  aŽ  U
[        R4                  :X  az  UR7                  5         UR+                  5          UR-                  U5         Sn	A	N³! [0         a6  nUR2                  u  p«UR7                  5         [        SU< SU< 35      eSnAff = fUR7                  5         [        SU< SU< 35      eSn	A	ff = f)zSeize standard fsmo role. rh   rg   rf   rj   rm   rp   rr   rt   rv   FNúAttempting transfer...z%Transfer successful, not seizing roleTú!Transfer unsuccessful, seizing...r6   úSeizing %s FSMO role...r   úFailed to seize 'ú' role: ú#FSMO seize of '%s' role successful
)rA   r7   r}   rw   r|   r<   rx   r~   r{   r   rD   r   rE   r   r"   Úmessager�   rO   r>   rF   ry   Útransaction_startrI   Úcreate_own_rid_setr   r   ÚERR_ENTRY_ALREADY_EXISTSÚtransaction_cancelÚtransaction_commit)Úselfr   r   ÚforceÚserviceNamer7   r[   Úseizer    Úe1r   r   r^   s                r!   Ú
seize_roleÚcmd_fsmo_seize.seize_roleõ   s÷  € ð ×-Ñ-Ó/ˆØ—O‘OÓ%ˆ	Ø!5¸	Ñ!AˆÔØ+¨e×.EÑ.EÓ.GÑGˆŒÜ˜U×4Ñ4Ó6Ó7ˆŒØ2°YÑ>ˆŒä�KŠK‹MˆØ�5‹=Ü—6’6˜%§¡Ó-ˆA�DØ�U‹]Ü—6’6˜%Ó+ˆA�DØ�XÓÜ—6’6˜%§¡Ó0ˆA�DØÐ%Ó%Ü—6’6˜%×!7Ñ!7Ó8ˆA�DØ�XÓÜ—6’6˜%§¡Ó0ˆA�DäÐ3Ó4Ð4àˆÜ)¨%·±°tÓ<ˆàÑ#àÓ*à‘=Ø—L‘LÐ!9Ô:ð$Ü% d§i¡i°Ô=ð Ÿ™Ð%LÔMØ#ð !ð —	‘	—‘Ð JØ $ñ!%ô &ààˆEàÑ¦Ø�L‰LÐ2°TÑ9Ô:Ü!$×!3Ò!3ØœS×1Ñ1Øó"!ˆAˆoÑð ×#Ñ#Ô%ð4Ø—‘˜Q”Ø˜5“=à×,Ñ,Ô.ð0 ×$Ñ$Ô&Ø�I‰I�O‰OÐBÀTÑIÔJàðM !&øðJà $˜ØŸ™Ð%HÖIûô0 ó 4ØŸW™W‘
�Ø˜5“= S¬C×,HÑ,HÓ%Hð ×,Ñ,Ô.Ø×+Ñ+Ô-ð8ØŸ™ QŸ™øÜ#ó 8Ø%&§V¡V™
˜Ø×0Ñ0Ô2Ý*Û,0²#ð,7ó 8ð 8ûð8úð ×,Ñ,Ô.Ý&Û(,ªcð(3ó 4ð 4ûð)4úsC   ÆJ È4'J% ÊJ"Ê%
M9Ê/AM4Ë8LÌ
MÌ1M	Í	MÍ&M4Í4M9c                 ó0  • UR                  5       nUR                  5       n[        R                  " UR	                  5       5      n	SU-   U l        SU	-   U l        [        R                  " 5       n
US:X  a&  [        R                  " X R
                  5      U
l
        O7US:X  a&  [        R                  " X R                  5      U
l
        O[        S5      eSn[        X*R                  U5      nUbd  XÇ:w  a@  Uc<  U R                  S5         [        U R                  XCUU5        U R                  S	5        g
O!U R                  R!                  SU-  5        gS
nUc  U(       an  U R                  SU-  5        [        R"                  " U[        R$                  S5      U
S'    UR'                  U
5        U R                  R!                  SU-  5        g
g!   S
nU R                  S5         N�= f! [(         a&  nUR*                  u  pï[        SU< SU< 35      eSnAff = f)zSeize DNS FSMO role. r%   r'   r$   r&   rv   FNrœ   z&Transfer successful, not seizing role
Tr�   r6   rž   r   rŸ   r    r¡   )rA   r7   r8   r9   r:   Údomaindns_dnÚforestdns_dnr   rD   r   rE   r   r"   r¢   rd   rO   r>   rF   ry   rI   r   r   )r¨   r   r   rQ   rP   r‡   r©   rª   r7   rS   r[   r«   r    Úe2r   r   s                   r!   Úseize_dns_roleÚcmd_fsmo_seize.seize_dns_roleN  sç  € ð ×-Ñ-Ó/ˆØ—O‘OÓ%ˆ	Ü×*Ò*¨5×+@Ñ+@Ó+BÓCˆ	ØBÀYÑNˆÔØBÀYÑNˆÔä�KŠK‹MˆØ�;ÓÜ—6’6˜%×!2Ñ!2Ó3ˆA�DØ�[Ó Ü—6’6˜%×!2Ñ!2Ó3ˆA�DäÐ3Ó4Ð4àˆÜ)¨%·±°tÓ<ˆØÑ#àÓ*à‘=Ø—L‘LÐ!9Ô:ð	$Ü)¨$¯)©)°YÈ$Ø*/ô1ð Ÿ™Ð%NÔOØ#ð !ð —	‘	—‘Ð JØ $ñ!%ô &ààˆEàÑ¦Ø�L‰LÐ2°TÑ9Ô:Ü!$×!3Ò!3ØœS×1Ñ1Øó"!ˆAˆoÑð0Ø—‘˜Q”ð
 �I‰I�O‰OÐBÀTÑIÔJØð !&øðJà $˜ØŸ™Ð%HÖIûô$ ó 0ØŸW™W‘
�Ý"Û$(ª#ð$/ó 0ð 0ûð0ús$   ÄG ÆG% ÇG"Ç%
HÇ/!HÈHNc                 óà  • UR                  5       nUR                  USS9n[        U[        5       X‡S9n	US:X  aƒ  U R	                  SX‘5        U R	                  SX‘5        U R	                  SX‘5        U R	                  SX‘5        U R	                  S	X‘5        U R                  S
X”UXa5        U R                  SX”UXa5        g US
:X  d  US:X  a  U R                  X9XEXa5        g U R	                  X9U5        g ©NTr*   r,   r—   rj   rm   rp   rr   rt   r$   r&   )rB   rC   r   r   r­   r³   ©
r¨   r©   rŒ   r   rQ   rP   r‡   r0   rZ   r   s
             r!   ÚrunÚcmd_fsmo_seize.run‡  sï   € ð ×#Ñ#Ó%ˆØ×(Ñ(¨¸dÐ(ÐCˆä˜!¬.Ó*:Ø"'ñ0ˆð �5‹=Ø�O‰O˜E 5Ô0Ø�O‰O˜E 5Ô0Ø�O‰O˜H eÔ3Ø�O‰OÐ,¨eÔ;Ø�O‰O˜H eÔ3Ø×Ñ ¨U¸iØ +ô4à×Ñ ¨U¸iØ +õ4ð �{Ó" d¨kÓ&9Ø×#Ñ# D°Ø$/õ8ð —‘ ¨UÕ3ó    )r°   r±   r}   r|   r{   r~   ©NNNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚsynopsisÚoptionsÚSambaOptionsÚCredentialsOptionsÚVersionOptionsÚtakes_optiongroupsr
   r<   Útakes_optionsÚ
takes_argsr­   r³   r¸   Ú__static_attributes__© rº   r!   rƒ   rƒ   Ô   s˜   † Ùà €Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐñ 	ˆt�WÐ#JØ ¨Sñ	2áˆyØKØ"ñ	$ñ 	ˆx˜hò 1fð	0ñ	1ð€Mð( €JòWòr7ðr ,0Ø7;÷4rº   rƒ   c            	       óŠ   • \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSS\SS	S
9/r/ rSS jrSrg)Úcmd_fsmo_showi¢  zShow the roles.r…   r†   rˆ   r‰   rŠ   r‹   rŒ   r�   Nc           	      óž  • UR                  5       nUR                  USS9n[        U[        5       XeS9nUR	                  5       n[
        R                  " UR                  5       5      n	SU-   n
SUR                  5       -  nUR                  5       nSU-   nSU-   nSU	-   nUS	S
4U
SS4USS4USS4USS4USS4USS4/nU HQ  nUu  nnn [        UUU5      nUb#  U R                  U< S[        U5      < 35        M=  U R                  SU-  5        MS     g ! [         a-  nU R                  U< SUR                  < 35         S nAMˆ  S nAff = f)NTr*   r,   rh   rg   rf   r%   r'   rt   ÚSchemaMasterRolerr   ÚInfrastructureMasterRolerj   ÚRidAllocationMasterRolerm   ÚPdcEmulationMasterRolerp   ÚDomainNamingMasterRoler$   ÚDomainDnsZonesMasterRoler&   ÚForestDnsZonesMasterRolez owner: z%s has no current ownerz: * )rB   rC   r   r   r7   r8   r9   r:   rw   rx   r"   r¢   r<   r   )r¨   rŒ   rQ   rP   r‡   r0   rZ   r   r7   rS   r}   r|   r~   r{   r°   r±   ÚmastersÚmasterrE   Ú
short_nameÚ	long_namer^   s                         r!   r¸   Úcmd_fsmo_show.run´  s„  € Ø×#Ñ#Ó%ˆØ×(Ñ(¨¸dÐ(ÐCˆä˜!¬.Ó*:Ø"'ñ0ˆð —O‘OÓ%ˆ	Ü×*Ò*¨5×+@Ñ+@Ó+BÓCˆ	Ø0°9Ñ<ÐØ&¨×)@Ñ)@Ó)BÑBˆ	Ø×+Ñ+Ó-ˆ	Ø-°	Ñ9ˆØ=À	ÑIˆØ=À	ÑIˆà˜xÐ);Ð<Ø%Ð'7Ð9SÐTØ˜EÐ#<Ð=Ø˜uÐ&>Ð?Ø˜xÐ)AÐBØ  +Ð/IÐJØ  +Ð/IÐJðˆó ˆFØ*0Ñ'ˆR�˜YðBÜ+¨E°2°zÓB�ØÑ%Ø—L‘L³9¼cÀ&½kÐ!JÖKà—L‘LÐ!:¸iÑ!HÖIò øô  ó BØ—‘«9°a·i³iÐ@×AÒAûðBús   Ã	1DÃ<DÄ
EÄ"EÅErÊ   )NNNN©r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   r
   r<   rÇ   rÈ   r¸   rÉ   rÊ   rº   r!   rÌ   rÌ   ¢  s[   † Ùà €Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐñ 	ˆt�WÐ#JØ ¨Sñ	2ð€Mð
 €J÷"Brº   rÌ   c            	       ó¢   • \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSS\SS	S
9\" SS/ SQSS9/r/ r  SS jrSrg)Úcmd_fsmo_transferiÙ  zTransfer the role.r…   r†   rˆ   r‰   rŠ   r‹   rŒ   r�   r”   r•   r–   r˜   r™   Nc                 ó2  • UR                  5       nUR                  USS9n[        U[        5       X‡S9n	US:X  a¤  [	        U R
                  SU	5        [	        U R
                  SU	5        [	        U R
                  SU	5        [	        U R
                  SU	5        [	        U R
                  S	U	5        [        U R
                  XTS
U	5        [        U R
                  XTSU	5        g US
:X  d  US:X  a  [        U R
                  XTX95        g [	        U R
                  X95        g r¶   )rB   rC   r   r   r�   rO   rd   r·   s
             r!   r¸   Úcmd_fsmo_transfer.run÷  sî   € ð ×#Ñ#Ó%ˆØ×(Ñ(¨¸dÐ(ÐCˆä˜!¬.Ó*:Ø"'ñ0ˆð �5‹=Ü˜$Ÿ)™) U¨EÔ2Ü˜$Ÿ)™) U¨EÔ2Ü˜$Ÿ)™) X¨uÔ5Ü˜$Ÿ)™)Ð%5°uÔ=Ü˜$Ÿ)™) X¨uÔ5Ü˜dŸi™i¨Ø)¨5ô2ä˜dŸi™i¨¸kØ#õ%ð �{Ó" d¨kÓ&9Ü! $§)¡)¨YÀ$ÕNä˜dŸi™i¨Õ5rº   rÊ   r»   rÚ   rÊ   rº   r!   rÜ   rÜ   Ù  sw   † Ùà €Hð ×)Ñ)Ø×.Ñ.Ø×-Ñ-ñÐñ 	ˆt�WÐ#JØ ¨Sñ	2áˆx˜hò 1fð	0ñ	1ð€Mð" €Jà+/Ø7;÷6rº   rÜ   c                   óX   • \ rS rSrSr0 r\" 5       \S'   \" 5       \S'   \" 5       \S'   Sr	g)Úcmd_fsmoi  z:Flexible Single Master Operations (FSMO) roles management.r«   ÚshowÚtransferrÊ   N)
r¼   r½   r¾   r¿   rÀ   Úsubcommandsrƒ   rÌ   rÜ   rÉ   rÊ   rº   r!   rà   rà     s0   † ÙDà€KÙ)Ó+€K�ÑÙ'›/€K�ÑÙ/Ó1€K�
Ôrº   rà   )r8   Úsamba.getoptÚgetoptrÂ   r   r   Úsamba.dcerpcr   r   Ú
samba.authr   Úsamba.drs_utilsÚsamba.netcmdr   r   r	   r
   Úsamba.samdbr   r"   rd   r�   rƒ   rÌ   rÜ   rà   rÊ   rº   r!   Ú<module>rë      st   ðó( Ý Û 
Ý ß &Ý %Û ÷ó õ òò.Wòt<ô~K4�Wô K4ô\4B�Gô 4Bôn56˜ô 56ôp2ˆ|õ 2rº   