+
    4SsiŒ  ã                   ó®  € ^ RI Ht ^ RIt^ RIt^RIHt ^ RIt^ RIH	t	 ^ RI
HtHtHtHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ RIHtHt ^ R	IHt ^ R
IHt ^ RIHtHtH t H!t!H"t" ^ RI#H$t$ ^ RIH%t% R t&R t'R t(R t)Rt* ! R R]4      t+ ! R R]4      t, ! R R]4      t- ! R R]4      t. ! R R]4      t/ ! R R]4      t0 ! R R ]4      t1 ! R! R"]4      t2R# )#é    N)Úcommon)Úsystem_session)ÚCommandÚCommandErrorÚOptionÚSuperCommand)Úattr_default)ÚSamDB)Ú	drs_utilsÚnttime2stringÚdsdb)ÚdrsuapiÚmisc)Ú
join_clone)Úcolour)Úget_partition_mapsÚget_utdv_edgesÚget_utdv_distancesÚget_utdv_summaryÚget_kcc_and_dsas)Ú
get_string)Úget_default_backend_storec                óú   €  \         P                  ! V P                  V P                  V P                  4      w  V n        V n        V n        R#   \         d#   p\        RT P                  ,          T4      hRp?ii ; i)z'make a DRSUAPI connection to the serverzDRS connection to %s failedN)
r   Údrsuapi_connectÚserverÚlpÚcredsr   Údrsuapi_handleÚbind_supported_extensionsÚ	Exceptionr   ©ÚctxÚes   & Ú2/usr/lib/python3/dist-packages/samba/netcmd/drs.pyr   r   4   su   € ðJÜKT×KdÒKdÐeh×eoÑeoÐqt×qwÑqwÐy|÷  zCñ  zCó  LDÑHˆŒ�cÔ(¨#Ö*GøÜô JÜÐ8¸3¿:¹:ÕEÀqÓIÐIûðJús   ‚A	A ÁA:ÁA5Á5A:c                óê   €  \        RV P                  ,          \        4       V P                  V P                  R7      V n        R#   \         d#   p\        RT P                  ,          T4      hRp?ii ; i)z$make a ldap connection to the serverú	ldap://%s©ÚurlÚsession_infoÚcredentialsr   zLDAP connection to %s failedN)r
   r   r   r   r   Úsamdbr    r   r!   s   & r$   Úsamdb_connectr,   <   s]   € ðKÜ˜k¨C¯J©JÕ6Ü'5Ó'7Ø&)§i¡i°C·F±Fô<ˆŽ	øô ô KÜÐ9¸C¿J¹JÕFÈÓJÐJûðKús   ‚AA ÁA2ÁA-Á-A2c                ó0   € V w  rV^ 8X  d   R# RW3,          # )z*return "was successful" or an error stringzwas successfulzfailed, result %u (%s)© )ÚwerrÚecodeÚestrings   &  r$   Ú
drs_errmsgr2   F   s"   € àÑ€UØ�„zÙØ# uÐ&6Õ6Ð6ó    c                ó  € V P                  R4      pV^ ,          R8w  g   V^,          R8w  g   V^,          R8w  d   \        RV ,          4      hV^,          P                  R4      ^,          pV^,          P                  R4      ^,          pW23# )z+parse a NTDS DN returning a site and serverÚ,zCN=NTDS Settingsz
CN=ServerszCN=Siteszbad NTDS DN %sÚ=)ÚsplitÚRuntimeError)Úntds_dnÚar   Úsites   &   r$   Údrs_parse_ntds_dnr<   N   sx   € à�‰�cÓ€AØˆ…tÐ!Ô! Q q¥T¨\Ô%9¸Q¸q½TÀZÔ=OÜÐ+¨gÕ5Ó6Ð6Øˆq�T�Z‰Z˜‹_˜QÕ€FØˆq�T�Z‰Z˜‹_˜QÕ€DØˆ>Ðr3   Úclassicc                   ó`  a € ] tR t^[t o RtRtR]P                  R]P                  R]P                  /t
]! RRRR	R
R7      ]! RRRR	RR7      ]! RRRR	RR7      ]! RR	RRRR7      ]! RRRR	R]R7      ]! RRRRR7      .tR.tR  tR! tR" tR#R#R#R#]R$3R% ltR& tR' tR( tR) tR* tR+ tR, tR-tV tR## ).Úcmd_drs_showreplzShow replication status.ú%prog [<DC>] [options]Ú	sambaoptsÚversionoptsÚcredoptsú--jsonz"replication details in JSON formatÚformatÚstore_constÚjson)ÚhelpÚdestÚactionÚconstz	--summaryz5summarize overall DRS health as seen from this serverÚsummaryz--pull-summaryz:Have we successfully replicated from all relevant servers?Úpull_summaryz--notify-summaryÚnotify_summaryzsHave we successfully notified all relevant servers of local changes, and did they say they successfully replicated?)rJ   rK   rI   rH   z	--classiczprint local replication detailsr=   )rH   rI   rJ   rK   Údefaultz-vz	--verbosez
Be verboseÚ
store_true©rH   rJ   úDC?c                ó~  € \        VP                  4      pRVP                  RVR\        VP                  4      R\        VP                  4      RVP                  R\        VP                  4      R\        VP                  4      RR	/p V P                  P                  R
V,          \        P                  . R7        \#        TP                  4      w  rxT: RT: 2TR&   T#   \        P                   d4   pTP                  w  rVT\        P                   8X  d   RTR&    Rp?Lhh Rp?ii ; i  \$         d     T# i ; i)z8Convert an ldb neighbour object into a python dictionaryúNC dnúDSA objectGUIDúlast attempt timeúlast attempt messageúconsecutive failuresúlast successúNTDS DNú
is deletedFz	<GUID=%s>©ÚbaseÚscopeÚattrsTNÚ\ÚDSA)ÚstrÚsource_dsa_obj_guidÚnaming_context_dnr   Úlast_attemptr2   Úresult_last_attemptÚconsecutive_sync_failuresÚlast_successÚsource_dsa_obj_dnr+   ÚsearchÚldbÚ
SCOPE_BASEÚLdbErrorÚargsÚERR_NO_SUCH_OBJECTr<   r8   )	ÚselfÚnÚdsa_objectguidÚdr#   ÚerrnoÚ_r;   r   s	   &&       r$   Úparse_neighbourÚ cmd_drs_showrepl.parse_neighbour|   s!  € ä˜Q×2Ñ2Ó3ˆà�Q×(Ñ(Ø˜nØ¤¨q¯~©~Ó!>Ø"¤J¨q×/DÑ/DÓ$EØ" A×$?Ñ$?ØœM¨!¯.©.Ó9Ø”s˜1×.Ñ.Ó/Ø˜%ð	
ˆð		Ø�J‰J×Ñ ;°Õ#?Ü$'§N¡NØ$&ð ô (ð	Ü.¨q×/BÑ/BÓC‰NˆTÛ#'ªÐ0ˆAˆe‰Hð ˆøô �|‰|ô 	ØŸ™‰JˆUØœ×.Ñ.Ô.Ø"&��,–àûð	ûô ô 	ØØˆð	ús0   Â	3C" Â=#D- Ã"D*Ã7(D%Ä$D%Ä%D*Ä-D<Ä;D<c                óú  € V P                  RVR,          ,          4       RV9   d!   V P                  RVR,          ,          4       MV P                  RVR,          ,          4       V P                  RVR,          ,          4       V P                  R	VR
,          : RVR,          : 24       V P                  RVR,          ,          4       V P                  RVR,          ,          4       V P                  R4       R# )z&print one set of neighbour informationz%srT   ra   z	%s via RPCz	NTDS DN: %srZ   z		DSA object GUID: %srU   z		Last attempt @ rV   Ú rW   z		%u consecutive failure(s).rX   z		Last success @ %srY   Ú N)Úmessage)rp   rs   s   &&r$   Úprint_neighbourÚ cmd_drs_showrepl.print_neighbour›   sÇ   € à�‰�T˜A˜g�JÕ&Ô'Ø�AŒ:Ø�L‰L˜¨!¨E­(Õ2Õ3à�L‰L˜¨1¨Y­<Õ7Ô8Ø�‰Ð.°Ð3CÕ1DÕDÔEØ�Š°1Ð5H×3IÐ3IØ34Ð5K×3LðNô 	Oà�‰Ð5ØÐ-Õ.õ/ô 	0à�‰Ð,¨q°Õ/@Õ@ÔAØ�‰�RÖr3   c                ó8  € \         P                  ! 4       pWn         V P                   P                  V P                  ^V4      w  rTP                   Uu. uF  qPP                  T4      NK  	  ppT#   \
         d   p\        RT,          T4      hRp?ii ; iu upi )é   z"DsReplicaGetInfo of type %u failedN)	r   ÚDsReplicaGetInfoRequest1Ú	info_typeÚDsReplicaGetInfor   r    r   Úarrayrv   )rp   r�   Úreq1Úinfor#   rq   Úrepss   &&     r$   Úget_neighboursÚcmd_drs_showrepl.get_neighboursª   s“   € Ü×/Ò/Ó1ˆØ"Œð	TØ $§¡× =Ñ =Ø×#Ñ# Q¨ó!.ÑˆYð
 26·²Ó<±¨A×$Ñ$ QÖ'±ˆÐ<Øˆøô	 ô 	TÜÐCÀiÕOÐQRÓSÐSûð	Tüò =s   �)A1 ÁBÁ1BÁ<BÂBNFc           
     ó¤  € VP                  4       V n        Vf!   \        P                  ! V P                  4      pWn        VP                  V P                  RR7      V n        W`n        RV P                  RV P                  RV P                  RV P                  RV P                  /P                  V4      pVf   \        RV,          4      hV! 4       # )	NT©Úfallback_machinerL   rN   rM   rG   r=   zunknown showrepl format %s)Úget_loadparmr   r   Únetcmd_dnsnamer   Úget_credentialsr   ÚverboseÚsummary_outputÚnotify_summary_outputÚpull_summary_outputÚjson_outputÚclassic_outputÚgetr   )rp   ÚDCrA   rC   rB   rE   r�   Úoutput_functions   &&&&&&& r$   ÚrunÚcmd_drs_showrepl.run¶   sÂ   € ð ×(Ñ(Ó*ˆŒØŠ:Ü×&Ò& t§w¡wÓ/ˆBØŒØ×-Ñ-¨d¯g©gÈÐ-ÓMˆŒ
ØŒð �t×*Ñ*Ø˜d×8Ñ8Ø˜D×4Ñ4Ø�D×$Ñ$Ø�t×*Ñ*ð
÷ ‰#ˆf‹+ð 	ð Ò"ÜÐ;¸fÕDÓEÐEáÓ Ð r3   c                óv   € V P                  4       pVR  VR \        P                  ! WP                  ^R7       R# )r;   r   ©ÚindentN)Úget_local_repl_datarG   ÚdumpÚoutf)rp   Údatas   & r$   r“   Úcmd_drs_showrepl.json_outputÍ   s0   € Ø×'Ñ'Ó)ˆØ�ˆLØ�ˆNÜ�	Š	�$Ÿ	™	¨!×,r3   c                ó^  € . p. pV P                  4       pVR8w  dQ   VR,           FC  pVR,          '       d   K  VR,          ^ 8w  g   VR,          ^ 8X  g   K2  VP                  V4       KE  	  VR8w  dQ   VR,           FC  pVR,          '       d   K  VR,          ^ 8w  g   VR,          ^ 8X  g   K2  VP                  V4       KE  	  V'       g	   V'       d¶   V P                  \        P                  ! R4      4       V'       d@   V P                  \        P                  ! R	4      4       V F  pV P                  V4       K  	  V'       d@   V P                  \        P                  ! R
4      4       V F  pV P                  V4       K  	  ^# V P                  \        P                  ! R4      4       R# )z[Print a short message if every seems fine, but print details of any
links that seem broken.rM   ÚrepsTor[   rX   rY   rN   ÚrepsFromzThere are failing connectionszFailing outbound connections:zFailing inbound connection:z
[ALL GOOD]N)r�   Úappendr{   r   Úc_REDr|   Úc_GREEN)rp   Útypeof_outputÚfailing_repstoÚfailing_repsfromÚ
local_dataÚreps   &&    r$   Úsummary_output_handlerÚ'cmd_drs_showrepl.summary_output_handlerÓ   sZ  € ð ˆØÐà×-Ñ-Ó/ˆ
à˜NÔ*Ø! (×+Ð+�Ø�|×$Ô$ÙØÐ-Õ.°!Ô3°s¸>Õ7JÈaÖ7OØ"×)Ñ)¨#Ö.ñ	 ,ð Ð,Ô,Ø! *×-Ð-�Ø�|×$Ô$ÙØÐ-Õ.°!Ô3°s¸>Õ7JÈaÖ7OØ$×+Ñ+¨CÖ0ñ	 .÷ ×-Ø�L‰LœŸšÐ&EÓFÔGßØ—‘œVŸ\š\Ð*IÓJÔKÛ)�CØ×(Ñ(¨Ö-ñ *çØ—‘œVŸ\š\Ð*GÓHÔIÛ+�CØ×(Ñ(¨Ö-ñ ,ñ à�‰”V—^’^ LÓ1Ö2r3   c                ó$   € V P                  R 4      # )rL   ©r­   ©rp   s   &r$   r�   Úcmd_drs_showrepl.summary_outputø   s   € Ø×*Ñ*¨9Ó5Ð5r3   c                ó$   € V P                  R 4      # )rN   r°   r±   s   &r$   r‘   Ú&cmd_drs_showrepl.notify_summary_outputû   s   € Ø×*Ñ*Ð+;Ó<Ð<r3   c                ó$   € V P                  R 4      # )rM   r°   r±   s   &r$   r’   Ú$cmd_drs_showrepl.pull_summary_outputþ   s   € Ø×*Ñ*¨>Ó:Ð:r3   c                ó°  € \        V 4       \        V 4       V P                  P                  4       p\	        V4      w  r# V P                  P                  V\        P                  . ROR7      pR \        \        T^ ,          R ^ 4      4      R\        T P                  P                  RT^ ,          R,          ^ ,          4      4      R\        T P                  P                  RT^ ,          R,          ^ ,          4      4      /pT P                  P                  TRR7      pT P                  \        P                   4      pT P                  \        P"                  4      p	. p
T EFd  p\%        TR,          ^ ,          4      P'                  R	4      w  rÍpR
\%        TR
,          4      R\%        TR,          ^ ,          4      R \        \        TR ^ 4      4      R\        \        TRR4      4      P)                  4       R8H  /pT
P+                  T4        T P                  P                  T\        P                  R.R7      p\%        T^ ,          R,          ^ ,          4      TR&   . TR&   TP7                  R. 4       FN  p\%        T4      P9                  R4      pTR,          P+                  T^,          \        T^,          4      34       KP  	  EKg  	  RTRTRT	RT
RTRT/#   \         d   p\        RT,          4      hRp?ii ; i  \        P,                   d4   pTP.                  w  ppT\        P0                  8X  d   RTR&    Rp?LäRp?i\2        \4        3 d     Lúi ; i)ÚoptionsÚ
objectGUIDÚinvocationIdr\   zFailed to search NTDS DN %sNz(objectClass=nTDSConnection))r]   Ú
expressionÚ
fromServerr5   Únameú	remote DNÚenabledÚenabledConnectionÚTRUEÚdnsHostNameúdns nameTr[   úreplicates NCzmS-DS-ReplicatesNCReasonÚ:Údsar¤   r£   ÚNTDSConnectionsr;   r   )r¸   r¹   rº   )r   r,   r+   Úget_dsServiceNamer<   rj   rk   rl   r    r   Úintr	   r   Úschema_format_valuer‡   r   Ú!DRSUAPI_DS_REPLICA_INFO_NEIGHBORSÚDRSUAPI_DS_REPLICA_INFO_REPSTOrb   Ú	partitionÚupperr¥   rm   rn   ro   ÚKeyErrorÚ
IndexErrorr•   r7   )rp   r9   r;   r   Úntdsr#   Údsa_detailsÚconnÚrepsfromÚrepstoÚconn_detailsÚcÚc_rdnÚsepÚc_server_dnrs   Úc_server_resrt   ru   Úrr:   s   &                    r$   r�   Ú$cmd_drs_showrepl.get_local_repl_data  sþ  € Ü˜ÔÜ�dÔð —*‘*×.Ñ.Ó0ˆä*¨7Ó3‰ˆð	HØ—:‘:×$Ñ$¨'¼¿¹ÒOxÐ$ÓyˆDð
 ”sœ<¨¨Q­°¸AÓ>Ó?Øœ* T§Z¡Z×%CÑ%CØ˜d 1�g lÕ3°AÕ6ó&8ó 9àœJ t§z¡z×'EÑ'EØ˜d 1�g nÕ5°aÕ8ó(:ó ;ð	
ˆð �z‰z× Ñ  gÐ:XÐ ÓYˆØ×&Ñ&¤w×'PÑ'PÓQˆØ×$Ñ$¤W×%KÑ%KÓLˆàˆÜˆAÜ&)¨!¨L­/¸!Õ*<Ó&=×&GÑ&GÈÓ&LÑ#ˆE˜àœ˜A˜f�I›ØœS  <¥°Õ!3Ó4Øœ3œ|¨A¨y¸!Ó<Ó=ØœJ¤|°AÐ7JØ)/ó(1ó 2ß27±%³'¸VñDð	ˆAð ×Ñ Ô"ð
Ø#Ÿz™z×0Ñ0°kÜ7:·~±~Ø8E°ð  1ó  H�ô !$ L°¥O°MÕ$BÀ1Õ$EÓ F��*‘ð "$ˆAˆoÑØ—U‘UÐ5°rÖ:�Ü˜“F—L‘L Ó%�Ø�/Õ"×)Ñ)¨1¨Q­4´°Q°qµT³Ð*;Ö<ô ;ñ1 ð: �;Ø˜Ø�fØ˜|Ø�DØ�fð
ð 	
øôY ô 	HÜÐ<¸wÕFÓGÐGûð	Hûô@ —<‘<ô +ØŸV™V‘
�˜ØœC×2Ñ2Ô2Ø&*�A�l‘OÿøÜœjÐ)ô Ùðús<   ¿.K È
AK;ËK8Ë!K3Ë3K8Ë;MÌ)L>Ì>MÍMÍMc                ó¼  € V P                  4       pVR ,          pVR,          pVR,          pVR,          pVR,          pVR,          pV P                  V: RV: 24       V P                  RVR,          ,          4       V P                  R	VR
,          ,          4       V P                  RVR,          ,          4       V P                  R4       V F  pV P                  V4       K  	  V P                  R4       V F  pV P                  V4       K  	  . R#Op	V P                  R4       V EF®  p
V P                  R4       V
P                  R4      '       d   V P                  R4       V P                  RV
R,          ,          4       V P                  R\	        V
R,          4      P                  4       ,          4       V P                  RV
P                  R4      ,          4       V P                  RV
R,          ,          4       V P                  R4       V P                  RV
R,          ,          4       V
R,          '       d‡   V
R,           Fv  w  r¼V P                  RV,          4       V P                  RV,          4       V	 F;  p\        \        V^ 4      V,          '       g   K#  V P                  R V,          4       K=  	  Kx  	  EK�  V P                  R!4       EK±  	  R"# )$rÆ   r¤   r£   rÇ   r;   r   r`   zDSA Options: 0x%08xr¸   zDSA object GUID: %sr¹   zDSA invocationId: %s
rº   z==== INBOUND NEIGHBORS ====
z==== OUTBOUND NEIGHBORS ====
z!==== KCC CONNECTION OBJECTS ====
zConnection --r[   z'	WARNING: Connection to DELETED server!z	Connection name: %sr½   z	Enabled        : %sr¿   z	Server DNS name : %srÃ   z	Server DN name  : %sr¾   z		TransportType: RPCz		options: 0x%08XrÄ   z		ReplicatesNC: %sz		Reason: 0x%08xz			%sz)Warning: No NC replicated for Connection!N)
ÚNTDSCONN_KCC_GC_TOPOLOGYÚNTDSCONN_KCC_RING_TOPOLOGYÚ#NTDSCONN_KCC_MINIMIZE_HOPS_TOPOLOGYÚ#NTDSCONN_KCC_STALE_SERVERS_TOPOLOGYÚ,NTDSCONN_KCC_OSCILLATING_CONNECTION_TOPOLOGYÚ"NTDSCONN_KCC_INTERSITE_GC_TOPOLOGYÚNTDSCONN_KCC_INTERSITE_TOPOLOGYÚ%NTDSCONN_KCC_SERVER_FAILOVER_TOPOLOGYÚ#NTDSCONN_KCC_SITE_FAILOVER_TOPOLOGYÚ&NTDSCONN_KCC_REDUNDANT_SERVER_TOPOLOGY)r�   r{   r|   r•   rb   rÎ   Úgetattrr   )rp   r    rÒ   rÔ   rÕ   rÖ   r;   r   rq   Úreasonsrs   ÚncÚreasonÚss   &             r$   r”   Úcmd_drs_showrepl.classic_output@  sA  € Ø×'Ñ'Ó)ˆØ˜5•kˆØ˜
Õ#ˆØ�h•ˆØÐ-Õ.ˆØ�F�|ˆØ�h•ˆà�‰£¢vÐ.Ô/Ø�‰Ð*¨[¸Õ-CÕCÔDØ�‰Ð*¨[¸Õ-FÕFÔGØ�‰Ð-°¸NÕ0KÕKÔLà�‰Ð4Ô5ÛˆAØ× Ñ  Ö#ñ ð 	�‰Ð5Ô6ÛˆAØ× Ñ  Ö#ñ ò	=ˆð 	�‰Ð9Ô:ÜˆAØ�L‰L˜Ô)Ø�u‰u�\×"Ò"Ø—‘ÐGÔHà�L‰LÐ0°1°Vµ9Õ<Ô=Ø�L‰LÐ0´3°q¸µ|Ó3D×3JÑ3JÓ3LÕLÔMØ�L‰LÐ1°A·E±E¸*Ó4EÕEÔFØ�L‰LÐ1°A°kµNÕBÔCØ�L‰LÐ1Ô2Ø�L‰LÐ.°°9µÕ=Ô>à�×!Ô!Ø"# O×"4Ð"4‘J�BØ—L‘LÐ!7¸"Õ!<Ô=Ø—L‘LÐ!5¸Õ!>Ô?Û$˜Ü"¤4¨¨AÓ.°×7Ö7Ø ŸL™L¨°a­Ö8ó %ô #5ð —‘ÐH×Ió) r3   )r   r   r   r�   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úsynopsisr¸   ÚSambaOptionsÚVersionOptionsÚCredentialsOptionsÚtakes_optiongroupsr   ÚDEFAULT_SHOWREPL_FORMATÚtakes_optionsÚ
takes_argsrv   r|   r‡   r˜   r“   r­   r�   r‘   r’   r�   r”   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r$   r?   r?   [   s%  ø‡ € Ù"à'€Hð 	�W×)Ñ)Ø�w×-Ñ-Ø�G×.Ñ.ðÐñ 	ˆxÐBØ ]¸&ô	Báˆ{ð #5à ]¸)ô	Eñ 	Ðð (Dà ]¸.ô	Jñ 	Ð!¨-Ø%¨Hð#ô	%ñ
 	ˆ{Ð!BØ ]¸)Ø.ô	0ñ 	ˆt�[ |¸LÔIð#€Mð( �€Jòò>ò
ð  TØ tØ*Øô!ò.-ò#3òJ6ò=ò;ò=
÷~6Jð 6Jr3   r?   c                   ó„   a € ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
R.tRR	 ltR
tV tR# )Úcmd_drs_kcciy  z)Trigger knowledge consistency center run.r@   rA   rB   rC   rR   Nc                óÆ  € VP                  4       V n        Vf!   \        P                  ! V P                  4      pWn        VP                  V P                  RR7      V n        \        V 4       \        P                  ! 4       p V P                  P                  V P                  ^V4       T P                  RT,          4       R #   \         d   p\        RT4      hR p?ii ; i)NTrŠ   zDsExecuteKCC failedz#Consistency check on %s successful.)rŒ   r   r   r�   r   rŽ   r   r   r   ÚDsExecuteKCC1ÚDsExecuteKCCr   r    r   r{   )rp   r–   rA   rC   rB   r„   r#   s   &&&&&  r$   r˜   Úcmd_drs_kcc.run†  s¸   € ð ×(Ñ(Ó*ˆŒØŠ:Ü×&Ò& t§w¡wÓ/ˆBØŒà×-Ñ-¨d¯g©gÈÐ-ÓMˆŒ
ä˜Ôä×$Ò$Ó&ˆð	9Ø�L‰L×%Ñ% d×&9Ñ&9¸1¸dÔCð 	�‰Ð:¸RÕ?Ö@øô ô 	9ÜÐ4°aÓ8Ð8ûð	9ús   Â'C ÃC ÃCÃC ©r   r   r   ©NNNN©rï   rð   rñ   rò   ró   rô   r¸   rõ   rö   r÷   rø   rû   r˜   rü   rý   rþ   s   @r$   r  r  y  sM   ø‡ € Ù3à'€Hð 	�W×)Ñ)Ø�w×-Ñ-Ø�G×.Ñ.ðÐð �€J÷Aò Ar3   r  c                   ó4  a € ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
. ROt]! RRR	R
7      ]! RRR	R
7      ]! RRR	R
7      ]! RRR	R
7      ]! RRR	R
7      ]! RRR	R
7      ]! RRR	R
7      ]! RRR	R
7      .tRR ltRR ltRtV tR# ) Úcmd_drs_replicateiš  z+Replicate a naming context between two DCs.z/%prog <destinationDC> <sourceDC> <NC> [options]rA   rB   rC   z	--add-refz&use ADD_REF to add to repsTo on sourcerP   rQ   z--sync-forcedz,use SYNC_FORCED to force inbound replicationz
--sync-allz&use SYNC_ALL to replicate from all DCsz--full-synczresync all objectsz--localzIpull changes directly into the local database (destination DC is ignored)z--local-onlinez_pull changes into the local database (destination DC is ignored) as a normal online replicationz
--async-opz use ASYNC_OP for the replicationz--single-objectz\Replicate only the object specified, instead of the whole Naming Context (only with --local)c           
     óD  € Wn         \        V 4       \        \        4       RV P                  V P
                  ^ R7      V n        \        RV P                   ,          \        4       V P                  V P
                  R7      V n        V P                  P                  R\        P                  R.R7      pV^ ,          R,          ^ ,          V n        V P                  P                  V P                  \        P                  R.R7      p\        P                  ! V P                  P                  RV^ ,          R,          ^ ,          4      4      V n        \        P                  ! V P                  P!                  4       4      p\        P                  ! V P                  P!                  4       4      pV P                  p	\"        P$                  p
V'       d   \"        P&                  p
R	pV P                  P)                  4        \*        P,                  ! R
V P                   ,          V P
                  V P                  V P                  V4      pV P                  P/                  4       p VP1                  VVV	VVV
VR7      w  rÞT P                  P7                  4        T'       d2   T P9                  RYÞTT P                  P:                  3,          4       R# T P9                  RYÞTT P                  P:                  3,          4       R#   \2         d   p\5        RT,          T4      hRp?ii ; i)z+replicate from a source DC to the local SAMN)r)   r(   r*   r   Úflagsr&   r'   rz   ÚdsServiceNamer\   r¹   Tzncacn_ip_tcp:%s[seal])ÚrodcÚ	full_syncÚexopÚsync_forcedzError replicating DN %szMFull Replication of all %d objects and %d links from %s to %s was successful.zPIncremental replication of %d objects and %d links from %s to %s was successful.)r   r   r
   r   r   r   Úlocal_samdbr+   rj   rk   rl   r9   r   ÚGUIDrÊ   Ú	ntds_guidÚget_invocation_idr   ÚDRSUAPI_EXOP_NONEÚDRSUAPI_EXOP_REPL_OBJÚtransaction_startr   Údrs_ReplicateÚam_rodcÚ	replicater    r   Útransaction_commitr{   r(   )rp   Ú	SOURCE_DCÚNCr  Úsingle_objectr  ÚresÚsource_dsa_invocation_idÚdest_dsa_invocation_idÚdestination_dsa_guidr  Úreplr  Únum_objectsÚ	num_linksr#   s   &&&&&&          r$   Údrs_local_replicateÚ%cmd_drs_replicate.drs_local_replicate²  s’  € ð
  ŒÜ˜Ôô !¬nÓ.>ÀDØ-1¯Z©Z¸D¿G¹GØ'(ô*ˆÔô ˜{¨T¯[©[Õ8Ü(6Ó(8Ø'+§z¡z°d·g±gô?ˆŒ
ð
 ×Ñ×%Ñ%¨2´S·^±^Ø-<Ð,=ð &ó ?ˆà˜1•v˜oÕ.¨qÕ1ˆŒà×Ñ×%Ñ%¨4¯<©<¼s¿~¹~Ø-9¨Nð &ó <ˆäŸšØ�J‰J×*Ñ*¨<Ø+.¨q­6°,Õ+?ÀÕ+BóDóEˆŒô $(§9¢9¨T¯Z©Z×-IÑ-IÓ-KÓ#LÐ Ü!%§¢¨4×+;Ñ+;×+MÑ+MÓ+OÓ!PÐØ#Ÿ~™~Ðä×(Ñ(ˆçÜ×0Ñ0ˆDØˆIà�
‰
×$Ñ$Ô&Ü×&Ò&Ð'>ÀÇÁÕ'LØ'+§w¡wØ'+§z¡z°4×3CÑ3CØ'=ó?ˆð ×Ñ×'Ñ'Ó)ˆð		BØ'+§~¡~°bØ6NØ6JØ;?Ø@IØ;?ØBMð (6ó (OÑ$ˆ[ð 	�
‰
×%Ñ%Ô'çØ�L‰Lð 9à%°)Ø×*Ñ*×.Ñ.ð0õ0ö 1ð
 �L‰Lð 9à%°)Ø×*Ñ*×.Ñ.ð0õ0ö 1øô ô 	BÜÐ8¸2Õ=¸qÓAÐAûð	Bús   ÉK< Ë<LÌLÌLNc           	     óŒ  € Wn         VP                  4       V n        VP                  V P                  R R7      V n        V'       d   V P                  W#VVVR7       R# V	'       d9   \        P                  ! RV P                  R7      p\        P                  ! 4       pM#\        V 4       V P                  pV P                  pV
'       g   RVn        \        V 4       V P                  P                  V P                  P                  4       R\         P"                  ! V4      : R\         P"                  ! V4      : R2. R	7      p\%        V4      ^ 8X  d   \'        R
V,          4      hV^ ,          R,          pV P                  P                  V\         P(                  RRR.R7      p\%        V4      ^ 8X  d   \'        RV,          4      hV^ ,          R,          ^ ,          p\+        \-        VR^ 4      4      p^ pV\.        P0                  ,          '       g   V\        P2                  ,          pV'       d   V\        P4                  ,          pV'       d   V\        P6                  ,          pV'       d   V\        P8                  ,          pV'       d   V\        P:                  ,          pV
'       d   V\        P<                  ,          p \>        P@                  ! VVVVV4       T
'       d   T PE                  RT: RT: R24       R# T PE                  RT: RT: R24       R#   \>        PB                   d   p\'        RT4      hRp?ii ; i)TrŠ   )r  r  r  Nzirpc:dreplsrv)Úlp_ctxz!(&(objectCategory=server)(|(name=z)(dNSHostName=z))))r]   r»   r_   zFailed to find source DC %sÚdnz5(|(objectCategory=nTDSDSA)(objectCategory=nTDSDSARO))r¹   r¸   )r]   r^   r»   r_   z Failed to find source NTDS DN %szDsReplicaSync failedzReplicate from z to z was started.z was successful.i,  )#r   rŒ   r   rŽ   r   r'  r   r   Úpolicy_handler   r   Úrequest_timeoutr,   r+   rj   Úget_config_basednrk   Úbinary_encodeÚlenr   ÚSCOPE_ONELEVELrÉ   r	   r   Ú$DS_NTDSDSA_OPT_DISABLE_OUTBOUND_REPLÚDRSUAPI_DRS_WRIT_REPÚDRSUAPI_DRS_ADD_REFÚDRSUAPI_DRS_SYNC_FORCEDÚDRSUAPI_DRS_SYNC_ALLÚDRSUAPI_DRS_FULL_SYNC_NOWÚDRSUAPI_DRS_ASYNC_OPr   ÚsendDsReplicaSyncÚdrsExceptionr{   )rp   ÚDEST_DCr  r  Úadd_refr  Úsync_allr  ÚlocalÚlocal_onlineÚasync_opr  rA   rC   rB   Úserver_bindÚserver_bind_handleÚmsgÚ	server_dnÚsource_dsa_guidÚdsa_optionsÚreq_optionsÚestrs   &&&&&&&&&&&&&&&        r$   r˜   Úcmd_drs_replicate.runø  sŽ  € ð
 ŒØ×(Ñ(Ó*ˆŒà×-Ñ-¨d¯g©gÈÐ-ÓMˆŒ
çØ×$Ñ$ Y¸iØ3@Ø1<ð %ô >ñ çÜ!Ÿ/š/¨/À$Ç'Á'ÔJˆKÜ!%×!3Ò!3Ó!5Ñä˜DÔ!ØŸ,™,ˆKØ!%×!4Ñ!4Ðçà*0ˆKÔ'ä�dÔð �j‰j×Ñ T§Z¡Z×%AÑ%AÔ%Cä×Ò˜iÖ(Ü×Ò˜iÖ(ð,*ð ')ð	  ó *ˆô
 ˆs‹8�qŒ=ÜÐ<¸yÕHÓIÐIØ˜•F˜4•Lˆ	à�j‰j×Ñ Y´c×6HÑ6HØ+bØ'3°YÐ&?ð  ó Aˆô ˆs‹8�qŒ=ÜÐAÀIÕMÓNÐNØ˜a�& Õ.¨qÕ1ˆÜœ, s¨I°qÓ9Ó:ˆàˆØœd×GÑG×GÔGØœ7×7Ñ7Õ7ˆKßØœ7×6Ñ6Õ6ˆKßØœ7×:Ñ:Õ:ˆKßØœ7×7Ñ7Õ7ˆKßØœ7×<Ñ<Õ<ˆKßØœ7×7Ñ7Õ7ˆKð	=Ü×'Ò'¨Ð5GÈÐZ\Ð^iÔj÷ Ø�LŠLÃ9ËgÐVÖWà�LŠLÃiÓQXÐYÖZøô ×%Ñ%ô 	=ÜÐ5°tÓ<Ð<ûð	=ús   ËL ÌMÌ2L>Ì>M)r   r  r   r9   r  r+   r   )r;  r  r  )FFF)FFFFFFFFNNN)rï   rð   rñ   rò   ró   rô   r¸   rõ   rö   r÷   rø   rû   r   rú   r'  r˜   rü   rý   rþ   s   @r$   r
  r
  š  sä   ø‡ € Ù5à@€Hð 	�W×)Ñ)Ø�w×-Ñ-Ø�G×.Ñ.ðÐò 0€Jñ 	ˆ{Ð!IÐR^Ô_ÙˆÐ%SÐ\hÔiÙˆ|Ð"JÐS_Ô`Ùˆ}Ð#7ÀÔMÙˆyÐjÐsô  	AÙÐð  'Hð  Q]ô  	^Ùˆ|Ð"DÈ\ÔZÙÐ ð  (Fð  O[ô  	\ð	€MôD1÷LE[ò E[r3   r
  c                   ó„   a € ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
R.tRR	 ltR
tV tR# )Úcmd_drs_bindi@  z"Show DRS capabilities of a server.r@   rA   rB   rC   rR   Nc           
     ó  € VP                  4       V n        Vf!   \        P                  ! V P                  4      pWn        VP                  V P                  RR7      V n        \        V 4       \        P                  ! 4       p^Vn
        \        P                  ! 4       Vn        V P                  P                  \        P                  ! \        P                   4      V4      w  rg. RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1Np. R2Op	V P#                  RV,          4       V P#                  R4       V F]  w  r«\%        \        V
^ 4      pVP                  P&                  V,          '       d   RpMRpV P#                  RV
:R R	V: R
V: R24       K_  	  \)        VP                  \        P*                  4      '       du   V P#                  R4       V	 F]  w  r«\%        \        V
^ 4      pVP                  P,                  V,          '       d   RpMRpV P#                  RV
:R R	V: R
V: R24       K_  	  V P#                  RVP                  P.                  ,          4       V P#                  RVP                  P0                  ,          4       \)        VP                  \        P*                  4      '       d/   V P#                  RVP                  P2                  ,          4       R # R # )3NTrŠ   zBind to %s succeeded.zExtensions supported:ÚYeszNo ú  Ú60ú: z (Ú)z
Extended Extensions supported:z
Site GUID: %szRepl epoch: %uzForest GUID: %s)Ú DRSUAPI_SUPPORTED_EXTENSION_BASEÚDRS_EXT_BASE)Ú-DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATIONÚDRS_EXT_ASYNCREPL)Ú%DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPIÚDRS_EXT_REMOVEAPI)Ú&DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2ÚDRS_EXT_MOVEREQ_V2)Ú+DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESSÚDRS_EXT_GETCHG_DEFLATE)Ú%DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1ÚDRS_EXT_DCINFO_V1)Ú4DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATIONÚ DRS_EXT_RESTORE_USN_OPTIMIZATION)Ú$DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYÚDRS_EXT_ADDENTRY)Ú'DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTEÚDRS_EXT_KCC_EXECUTE)Ú'DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2ÚDRS_EXT_ADDENTRY_V2)Ú4DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATIONÚ DRS_EXT_LINKED_VALUE_REPLICATION)Ú%DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2ÚDRS_EXT_DCINFO_V2)Ú8DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MODÚ$DRS_EXT_INSTANCE_TYPE_NOT_REQ_ON_MOD)Ú'DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BINDÚDRS_EXT_CRYPTO_BIND)Ú)DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFOÚDRS_EXT_GET_REPL_INFO)Ú-DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTIONÚDRS_EXT_STRONG_ENCRYPTION)Ú&DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01ÚDRS_EXT_DCINFO_VFFFFFFFF)Ú1DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIPÚDRS_EXT_TRANSITIVE_MEMBERSHIP)Ú+DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORYÚDRS_EXT_ADD_SID_HISTORY)Ú&DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3ÚDRS_EXT_POST_BETA3)Ú(DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5ÚDRS_EXT_GETCHGREQ_V5)Ú,DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2ÚDRS_EXT_GETMEMBERSHIPS2)Ú(DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6ÚDRS_EXT_GETCHGREQ_V6)Ú)DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCSÚDRS_EXT_NONDOMAIN_NCS)Ú(DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8ÚDRS_EXT_GETCHGREQ_V8)Ú*DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5ÚDRS_EXT_GETCHGREPLY_V5)Ú*DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6ÚDRS_EXT_GETCHGREPLY_V6)Ú,DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3ÚDRS_EXT_WHISTLER_BETA3)Ú*DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7r‰  )Ú)DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECTr‰  )Ú+DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESSÚDRS_EXT_W2K3_DEFLATE)Ú)DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10ÚDRS_EXT_GETCHGREQ_V10)Ú*DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2Ú*DRS_EXT_RESERVED_FOR_WIN2K_OR_DOTNET_PART2)Ú*DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3Ú*DRS_EXT_RESERVED_FOR_WIN2K_OR_DOTNET_PART3))Ú DRSUAPI_SUPPORTED_EXTENSION_ADAMÚDRS_EXT_ADAM)Ú$DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2ÚDRS_EXT_LH_BETA2)Ú'DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BINÚDRS_EXT_RECYCLE_BIN)rŒ   r   r   r�   r   rŽ   r   r   r   ÚDsBindInfoCtrÚlengthÚDsBindInfo28r…   ÚDsBindr   r  ÚDRSUAPI_DS_BIND_GUIDr{   ré   Úsupported_extensionsÚ
isinstanceÚDsBindInfo48Úsupported_extensions_extÚ	site_guidÚ
repl_epochÚconfig_dn_guid)rp   r–   rA   rC   rB   Ú	bind_infor…   ÚhandleÚoptmapÚ
optmap_extÚoptrb   ÚoptvalÚyesnos   &&&&&         r$   r˜   Úcmd_drs_bind.runM  sz  € ð ×(Ñ(Ó*ˆŒØŠ:Ü×&Ò& t§w¡wÓ/ˆBØŒØ×-Ñ-¨d¯g©gÈÐ-ÓMˆŒ
ä˜Ôä×)Ò)Ó+ˆ	Øˆ	ÔÜ ×-Ò-Ó/ˆ	ŒØŸ™×,Ñ,¬T¯YªY´w×7SÑ7SÓ-TÐV_Ó`‰ˆð#
Ø@ð#
àRð#
ð Kð#
ð Mð	#
ð
 Vð#
ð Kð#
ð ið#
ð Ið#
ð Oð#
ð Oð#
ð ið#
ð Kð#
ð qð#
ð Oð#
ð Sð#
ð  [ð!#
ð" Sð##
ð$ cð%#
ð& Wð'#
ð( Mð)#
ð* Qð+#
ð, Xð-#
ð. Qð/#
ð0 Sð1#
ð2 Qð3#
ð4 Uð5#
ð6 Uð7#
ð8 Wð9#
ð: Uð;#
ð< Tð=#
ð> Tð?#
ð@ SðA#
ðB iðC#
ðD iðE#
ˆòJPˆ
ð
 	�‰Ð,¨rÕ1Ô2Ø�‰Ð,Ô-Û ‰JˆSÜœW c¨1Ó-ˆFØ�y‰y×-Ñ-°×6Ô6Ø‘à�Ø�LŠL¬s³E»3Ð?Ö@ñ !ô �d—i‘i¤×!5Ñ!5×6Ò6Ø�L‰LÐ;Ô<Û(‘
�Ü ¤¨#¨qÓ1�Ø—9‘9×5Ñ5¸×>Ô>Ø!‘Eà!�EØ—’´3»»sÐCÖDñ )ð 	�‰Ð&¨¯©×)<Ñ)<Õ<Ô=Ø�‰Ð%¨¯	©	×(<Ñ(<Õ<Ô=Ü�d—i‘i¤×!5Ñ!5×6Ò6Ø�L‰LÐ*¨T¯Y©Y×-EÑ-EÕEÖFñ 7r3   r  r  r  rþ   s   @r$   rK  rK  @  sO   ø‡ € Ù,à'€Hð 	�W×)Ñ)Ø�w×-Ñ-Ø�G×.Ñ.ðÐð �€J÷QGò QGr3   rK  c                   ó²   a € ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
R.t]! RR	R
RR7      .tR^R^R^R^/tRR ltRtV tR# )Úcmd_drs_optionsi¡  zJQuery or change 'options' for NTDS Settings object of a Domain Controller.r@   rA   rB   rC   rR   z--dsa-optionzDSA option to enable/disablerb   za{+|-}IS_GC | {+|-}DISABLE_INBOUND_REPL | {+|-}DISABLE_OUTBOUND_REPL | {+|-}DISABLE_NTDSCONN_XLATE)rH   ÚtypeÚmetavarÚIS_GCÚDISABLE_INBOUND_REPLÚDISABLE_OUTBOUND_REPLÚDISABLE_NTDSCONN_XLATENc                ó¨  € VP                  4       V n        Vf!   \        P                  ! V P                  4      pWn        VP                  V P                  RR7      V n        \        V 4       V P                  P                  4       pV P                  P                  V\        P                  R.R7      p\        V^ ,          R,          ^ ,          4      pV P                   U	u. uF&  q�P                  V	,          V,          '       g   K$  V	NK(  	  p
p	V P                  RRP!                  V
4      ,           4       V'       Ed‰   VR,          R9  d   \#        R	V,          4      hVR
,          pW°P                  P%                  4       9  d   \#        R	V,          4      hVR,          R8X  d   W€P                  V,          ,          pMW€P                  V,          ( ,          p\        P&                  ! 4       p\        P(                  ! V P                  V4      Vn        \        P,                  ! \/        V4      \        P0                  R4      VR&   V P                  P3                  V4       V P                   U	u. uF&  q�P                  V	,          V,          '       g   K$  V	NK(  	  p
p	V P                  RRP!                  V
4      ,           4       R # R # u up	i u up	i )NTrŠ   r¸   r\   zCurrent DSA options: z, :Nr   NÚ+zUnknown option %s:r   NNzNew DSA options: )r·  Ú-)rŒ   r   r   r�   r   rŽ   r   r,   r+   rÈ   rj   rk   rl   rÉ   Ú
option_mapr{   Újoinr   ÚkeysÚMessageÚDnr+  ÚMessageElementrb   ÚFLAG_MOD_REPLACEÚmodify)rp   r–   Ú
dsa_optionrA   rC   rB   r9   r   Údsa_optsÚxÚcur_optsÚflagÚms   &&&&&&       r$   r˜   Úcmd_drs_options.run¸  s  € ð ×(Ñ(Ó*ˆŒØŠ:Ü×&Ò& t§w¡wÓ/ˆBØŒØ×-Ñ-¨d¯g©gÈÐ-ÓMˆŒ
ä�dÔà—*‘*×.Ñ.Ó0ˆØ�j‰j×Ñ W´C·N±NÈ9È+ÐÓVˆÜ�s˜1•v˜iÕ(¨Õ+Ó,ˆð  $ŸšÓP™˜!·/±/À!Õ2DÀx×2OÑ2O—A�A™ˆÐPØ�‰Ð,¨t¯y©y¸Ó/BÕBÔC÷ ˆ:Ø˜"�~ ZÔ/Ü"Ð#6¸Õ#CÓDÐDØ˜b•>ˆDØŸ?™?×/Ñ/Ó1Ô1Ü"Ð#6¸Õ#CÓDÐDØ˜"�~ Ô$ØŸO™O¨DÕ1Õ1‘àŸ_™_¨TÕ2Ð2Õ2�ä—’“ˆAÜ—6’6˜$Ÿ*™* gÓ.ˆAŒDÜ×-Ò-¬c°(«m¼S×=QÑ=QÐS\Ó]ˆAˆi‰LØ�J‰J×Ñ˜aÔ à#'§?¢?ÓT¡?˜a·o±oÀaÕ6HÈ8×6SÑ6SŸ˜¡?ˆHÐTØ�L‰LÐ,¨t¯y©y¸Ó/BÕBÖCñ# ùò	 Qùò( Us   Ã"!K
ÄK
É1!KÊKr  )NNNNN)rï   rð   rñ   rò   ró   rô   r¸   rõ   rö   r÷   rø   rû   r   rú   r¹  r˜   rü   rý   rþ   s   @r$   r¯  r¯  ¡  s†   ø‡ € ÙTà'€Hð 	�W×)Ñ)Ø�w×-Ñ-Ø�G×.Ñ.ðÐð �€Jñ 	ˆ~Ð$BÈØzô	|ð€Mð
 ˜:Ø(¨*Ø)¨:Ø*¨Jð8€J÷
%Dò %Dr3   r¯  c                   ó$  a € ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
]! RR]R	7      ]! R
R]R	7      ]! RRRRR7      ]! RRRR7      ]! RRRRR.R]! 4       ,          R7      ]! RRRR"R7      .tR.tR#R  ltR!tV tR# )$Úcmd_drs_clone_dc_databaseià  z9Replicate an initial clone of domain, but DO NOT JOIN it.z%prog <dnsdomain> [options]rA   rB   rC   z--serverz
DC to join)rH   r°  z--targetdirz#where to store provision (required)z-qz--quietzBe quietrP   rQ   z--include-secretszAlso replicate secret valuesz--backend-storeÚchoiceÚBACKENDSTOREÚtdbÚmdbz7Specify the database backend to be used (default is %s))r°  r±  ÚchoicesrH   z--backend-store-sizeÚbytesÚSIZE)r°  r±  rH   ÚdomainNc                ó®   € VP                  4       pVP                  V4      pV P                  W‡R 7      pVf   \        R4      h\	        WåWÜVRWiV
VR7
       R# ))r�   ÚquietNz$--targetdir option must be specifiedÚSAMBA_INTERNAL)
Úloggerr   r   r   rÑ  Údns_backendÚ	targetdirÚinclude_secretsÚbackend_storeÚbackend_store_size)rŒ   rŽ   Ú
get_loggerr   r   )rp   rÑ  rA   rC   rB   r   r×  rÓ  r�   rØ  rÙ  rÚ  r   r   rÕ  s   &&&&&&&&&&&&   r$   r˜   Úcmd_drs_clone_dc_database.runû  s_   € ð ×#Ñ#Ó%ˆØ×(Ñ(¨Ó,ˆà—‘¨�Ó>ˆàÒÜÐEÓFÐFä˜&°uØ Ð.>Ø&Ø!.Ø&8÷		:r3   r.   zeSpecify the size of the backend database, currentlyonly supported by lmdb backends (default is 8 Gb).)
NNNNNFFFNN)rï   rð   rñ   rò   ró   rô   r¸   rõ   rö   r÷   rø   r   rb   r   rú   rû   r˜   rü   rý   rþ   s   @r$   rÉ  rÉ  à  sÊ   ø‡ € ÙCà,€Hð 	�W×)Ñ)Ø�w×-Ñ-Ø�G×.Ñ.ðÐñ 	ˆz °3Ô7Ùˆ}Ð#HÈsÔSÙˆt�Y Z¸ÔEÙÐ"Ð)GÐP\Ô]ÙÐ  x¸Ø˜u�~ð&Ù(AÓ(CõDô	Eñ 	Ð%¨G¸VðIô	Jð€Mð �€J÷:ò :r3   rÉ  c                   ó
  a € ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
]! RRR	R
RR7      ]! RRRR7      ]! RRRR7      ]! RRRR7      ]! RRRR7      ]! RRRR7      .tR tR tR R ltRtV tR# )!Úcmd_drs_uptodatenessi  zShow uptodateness statusz%prog [options]rA   rB   rC   z-Hz--URLÚURLÚHz%LDB URL for database or target server)r±  rI   rH   z-pz--partitionzrestrict to this partition)rH   rD   rP   zPrint data in json format)rJ   rH   z	--maximumz#Print maximum out-of-date-ness onlyz--medianz"Print median out-of-date-ness onlyz--fullz Print full out-of-date-ness datac                ó2   € \         P                  ! V^R7      # )é   r›   )rG   Údumps)rp   Úpartitions_summariess   &&r$   Úformat_as_jsonÚ#cmd_drs_uptodateness.format_as_json(  s   € Ü�zŠzÐ.°qÔ9Ð9r3   c                ó  € . pVP                  4        FY  w  r4VP                  4        UUu. uF  w  rVV: R V: 2NK  	  pppV:R RRP                  V4      : 2pVP                  V4       K[  	  RP                  V4      # u uppi )rP  Ú15ry   rN  Ú
)Úitemsrº  r¥   )	rp   rä  ÚlinesÚ	part_namerL   ÚkÚvrê  Úlines	   &&       r$   Úformat_as_textÚ#cmd_drs_uptodateness.format_as_text+  st   € ØˆØ"6×"<Ñ"<Ö">ÑˆIØ3:·=±=´?ÔC±?©4¨1£¢AÓ&±?ˆEÑCÜ!*¨D¯I©I°eÕ,<Ð=ˆDØ�L‰L˜Öñ #?ð �y‰y˜ÓÐùó Ds   «BNc                ó¶  € VP                  4       pVP                  VR R7      p\        WV4      w  rïVP                  p\	        V4      w  ppV'       d(   VV9   d   VV,          pVV/pM\        RV,          4      h. pV'       d   VP                  R4       V'       d   VP                  R4       / p/ pVP                  4        F6  w  pp\        WïVWÍ4      p\        VV4      p\        VVR7      pVVV&   VVV&   K8  	  V'       d   V P                  V4      pM+V'       d   V P                  V4      pMV P                  V4      p\        VV P                  R7       R# )TrŠ   zunknown partition %sÚmaximumÚmedian)Úfilters)ÚfileN)rŒ   rŽ   r   r+   r   r   r¥   rê  r   r   r   rå  rð  ÚprintrŸ   )rp   rà  rÍ   rG   ró  rô  ÚfullrA   rC   rB   rÓ  r�   r   r   Ú	local_kccÚdsasr+   Úshort_partitionsru   Úpart_dnrõ  Úpartitions_distancesrä  rì  Ú
utdv_edgesÚ	distancesrL   Úoutputs   &&&&&&&&&&&&                r$   r˜   Úcmd_drs_uptodateness.run3  sL  € ð
 ×#Ñ#Ó%ˆØ×(Ñ(¨¸dÐ(ÓCˆÜ*¨1°%Ó8‰ˆ	Ø—‘ˆÜ0°Ó7ÑÐ˜!ßØÐ,Ô,Ø*¨9Õ5�à$-¨wÐ#7Ñ ä"Ð#9¸IÕ#EÓFÐFàˆßØ�N‰N˜9Ô%ßØ�N‰N˜8Ô$à!ÐØ!ÐØ"2×"8Ñ"8Ö":ÑˆI�wÜ'¨	¸À"ÓLˆJÜ*¨:°tÓ<ˆIÜ& y¸'ÔBˆGØ.7Ð  Ñ+Ø.5Ð  Ó+ñ #;÷ à×(Ñ(Ð)=Ó>‰FçØ×,Ñ,Ð-AÓB‘à×,Ñ,Ð-AÓB�äˆf˜4Ÿ9™9×%r3   r.   )NNFFFFNNNFF)rï   rð   rñ   rò   ró   rô   r¸   rõ   rö   r÷   rø   r   rú   rå  rð  r˜   rü   rý   rþ   s   @r$   rÞ  rÞ    s³   ø‡ € Ù"à €Hð 	�W×)Ñ)Ø�w×-Ñ-Ø�G×.Ñ.ðÐñ 	ˆt�W e°#Ø;ô	=áˆt�]Ø0ô	2áˆx Ø/ô	1áˆ{ <Ø9ô	;áˆz ,Ø8ô	:áˆx Ø6ô	8ð€Mò:ò ÷*&ò *&r3   rÞ  c                   óª   € ] tR tRtRt/ t]! 4       ]R&   ]! 4       ]R&   ]! 4       ]R&   ]	! 4       ]R&   ]
! 4       ]R&   ]! 4       ]R&   ]! 4       ]R	&   R
tR# )Úcmd_drsi`  z0Directory Replication Services (DRS) management.ÚbindÚkccr  Úshowreplr¸   zclone-dc-databaseÚuptodatenessr.   N)rï   rð   rñ   rò   ró   ÚsubcommandsrK  r  r
  r?   r¯  rÉ  rÞ  rü   r.   r3   r$   r  r  `  sd   † Ù:à€KÙ&›.€K�ÑÙ$›€K�ÑÙ0Ó2€K�ÑÙ.Ó0€K�
ÑÙ,Ó.€K�	ÑÙ'@Ó'B€KÐ#Ñ$Ù"6Ó"8€K�Õr3   r  )3Úsamba.getoptÚgetoptr¸   rk   Úloggingrz   r   rG   Ú
samba.authr   Úsamba.netcmdr   r   r   r   Úsamba.netcmd.commonr	   Úsamba.samdbr
   Úsambar   r   r   Úsamba.dcerpcr   r   Ú
samba.joinr   r   Úsamba.uptodatenessr   r   r   r   r   Úsamba.commonr   r   r   r,   r2   r<   rù   r?   r  r
  rK  r¯  rÉ  rÞ  r  r.   r3   r$   Ú<module>r     sã   ðõ, Û 
Û Ý Û å %÷ó õ -Ý ß 0Ñ 0ß &Ý !Ý ÷õ õ $Ý 1òJòKò7òð $Ð ô[J�wô [Jô|A�'ô AôBc[˜ô c[ôL^G�7ô ^GôB<D�gô <Dô~+: ô +:ô\O&˜7ô O&ôd
9ˆlö 
9r3   