+
    4SsiWV  ã                   ó  € R t Rt^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
HtHtHt ^ RIHt ^ RItR t ! R R	]P$                  4      t ! R
 R]4      t ! R R]R7      t ! R R]P.                  4      t ! R R]P0                  4      t ! R R]P2                  4      t ! R R]P6                  4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR t R  t! ! R! R"]4      t" ! R# R$]"4      t#R# )%z7Support for parsing Samba-related command-line options.ÚrestructuredTextN)ÚABCMetaÚabstractmethod)Úcopy)ÚCredentialsÚAUTO_USE_KERBEROSÚDONT_USE_KERBEROSÚMUST_USE_KERBEROS)Úget_burnt_commandlinec                ó0  € R^RRRRRR/pVP                  RR4      pRpV'       d   VR,          P                  4       '       g   VR,          R	8X  d   WT^ ,          ,          pVR
,          pKM   \        V4      pTP                  4       P                  RR4      p YcT,          ,          #   \         d)    RP	                  T4      p\
        P                  ! T4      hi ; i  \         d-   p	RP	                  Y4      p\
        P                  ! T4      hRp	?	ii ; i)z˜Custom option type to allow the input of sizes using byte, kb, mb ...

units, e.g. 2Gb, 4KiB ...
   e.g. Option("--size", type="bytes", metavar="SIZE")
ÚBÚKBi   ÚMBÚGBÚ Ú :é    é   NÚ.:r   NNzA{0} option requires a numeric value, with an optional unit suffixÚIz3{0} invalid suffix '{1}', should be B, Kb, Mb or GbNi   i   @)	ÚreplaceÚisdigitÚfloatÚ
ValueErrorÚformatÚoptparseÚOptionValueErrorÚupperÚKeyError)
ÚoptionÚoptÚvalueÚmultipliersÚvÚdigitsÚmÚmsgÚsuffixÚks
   &&&       Ú./usr/lib/python3/dist-packages/samba/getopt.pyÚcheck_bytesr*   &   s  € ð ˜Ø˜Ø˜ØÐ+ð-€Kð 	�‰�c˜2Ó€Að €Fß
��#•—‘× Ò  A c¥F¨c¤MØ�A•$�ˆØˆb�EŠð-Ü�&‹Mˆð �W‰W‹Y×Ñ˜s BÓ'€Fð-Ø˜vÕ&Õ&Ð&øô ô -ð.ß/5©v°c«{ð 	ä×'Ò'¨Ó,Ð,ð-ûô ô -ð+ß,2©F°3«Nð 	ä×'Ò'¨Ó,Ð,ûð-ús$   Á-B( ÂC Â(3CÃDÃ)'DÄDc                   ó0   a € ] tR t^Mt o RtR tR tRtV tR# )ÚOptionMissingErrorz2One or more Options with required=True is missing.c                ó   € Wn         R# )zjRaised when required Options are missing from the command line.

:param options: list of 1 or more option
N©Úoptions)Úselfr/   s   &&r)   Ú__init__ÚOptionMissingError.__init__P   s	   € ð
 Žó    c                óü   € \        V P                  4      ^8X  d   V P                  ^ ,          pRV R2# \        V P                   Uu. uF  p\        V4      NK  	  up4      pRP	                  V4      pRV R2# u upi )r   z	Argument z is required.z, zThe arguments z are required.)Úlenr/   ÚsortedÚstrÚjoin)r0   Úmissingr   r/   s   &   r)   Ú__str__ÚOptionMissingError.__str__W   ss   € Üˆt�|‰|Ó Ô!Ø—l‘l 1•oˆGØ˜w˜i }Ð5Ð5ä¸¿ºÓE¹¨fœc &žk¹ÑEÓFˆGØ—i‘i Ó(ˆGØ# G 9¨NÐ;Ð;ùò Fs   ÁA9r.   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r1   r:   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r)   r,   r,   M   s   ø‡ € Ù<ò÷<ð <r3   r,   c                   ó   € ] tR t^atRtRtR# )ÚValidationErrorz}ValidationError is the exception raised by validators.

Should be raised from the __call__ method of the Validator subclass.
© N)r<   r=   r>   r?   r@   rA   rG   r3   r)   rF   rF   a   s   † ñó 	r3   rF   c                   ó4   a € ] tR t^it o Rt]R 4       tRtV tR# )Ú	ValidatorzpBase class for Validators used by SambaOption.

Subclass this to make custom validators and implement __call__.
c                ó   € R # ©NrG   )r0   Úfieldr!   s   &&&r)   Ú__call__ÚValidator.__call__o   s   € ár3   rG   N)	r<   r=   r>   r?   r@   r   rM   rA   rB   rC   s   @r)   rI   rI   i   s   ø‡ € ñð
 ñó ör3   rI   )Ú	metaclassc                   óò   a a€ ] tR t^tt o]P
                  P                  RR.,           t]P
                  P                  R,           t]! ]P
                  P                  4      t	]
]	R&   R tV 3R ltRtVtV ;t# )ÚOptionÚrequiredÚ
validatorsÚbytesc                óT   € \        V R4      ;'       g    . pV F  pV! W4       K  	  R# )z2Runs the list of validators on the current option.rS   N)Úgetattr)r0   r    r!   rS   Ú	validators   &&&  r)   Úrun_validatorsÚOption.run_validatorsz   s(   € ä˜T <Ó0×6Ð6°Bˆ
Û#ˆIÙ�cÖ!ó $r3   c                óH   <€ \         SV `  W4      pV P                  W4       V# )z�Override convert_value to run validators just after.

This can also be done in process() but there we would have to
replace the entire method.
)ÚsuperÚconvert_valuerX   )r0   r    r!   Ú	__class__s   &&&€r)   r\   ÚOption.convert_value€   s'   ø€ ô ‘Ñ% cÓ1ˆØ×Ñ˜CÔ'Øˆr3   rG   )rT   )r<   r=   r>   r?   r   rQ   ÚATTRSÚTYPESr   ÚTYPE_CHECKERr*   rX   r\   rA   rB   Ú__classcell__©r]   rD   s   @@r)   rQ   rQ   t   s_   ù‡ € Ø�O‰O×!Ñ! Z°Ð$>Õ>€EØ�O‰O×!Ñ! JÕ.€EÙ˜Ÿ™×4Ñ4Ó5€LØ'€L�Ñò"÷õ r3   rQ   c            
       ój   a a€ ] tR t^‹t oRtRR]RRRRRRR3
V 3R lltV 3R ltR	V 3R lltRt	Vt
V ;t# )
ÚOptionParserz@Samba OptionParser, adding support for required=True on Options.NÚerrorTc                ó0   <€ \         SV `  WW4WVVW‰V
4
       R# )z5
Ensure that option_class defaults to the Samba one.
N)r[   r1   )r0   ÚusageÚoption_listÚoption_classÚversionÚconflict_handlerÚdescriptionÚ	formatterÚadd_help_optionÚprogÚepilogr]   s   &&&&&&&&&&&€r)   r1   ÚOptionParser.__init__Ž   s    ø€ ô 	‰Ñ˜¨\Ø)¸	Ø(°ö	8r3   c                óú   <€ . pV P                  4        FC  pVP                  '       g   K  \        WP                  4      pVe   K2  VP	                  V4       KE  	  V'       d   \        V4      h\        SV `  W4      # )zBLoop through required options if value is missing raise exception.)Ú_get_all_optionsrR   rV   ÚdestÚappendr,   r[   Úcheck_values)r0   ÚvaluesÚargsr9   r   r!   r]   s   &&&   €r)   rw   ÚOptionParser.check_values    sc   ø€ àˆØ×+Ñ+Ö-ˆFØ��ŠÜ ¯©Ó4�Ø”=Ø—N‘N 6Ö*ñ	 .÷ Ü$ WÓ-Ð-ä‰wÑ# FÓ1Ð1r3   c                óD  <€ \         P                  ! R 4      '       g   \        SV `  RR7      # \	        ^RRR4      p. pV P
                  '       d'   VP                  V P                  4       R,           4       V P                  '       d(   VP                  V P                  V4      R,           4       VP                  R4       VP                  V P                  V4      4       VP                  R4       VP                  V P                  V4      4       R	P                  V4      # )
ÚSAMBATOOL_HELP_IS_XMLN)rn   i'  iç  TÚ
z<variablelist>
z</variablelist>
r   )ÚosÚgetenvr[   Úformat_helpÚSambaDocBookFormatterrh   rv   Ú	get_usagerm   Úformat_descriptionÚformat_option_helpÚformat_epilogr8   )r0   rn   Úresultr]   s   && €r)   r€   ÚOptionParser.format_help®   sÜ   ø€ ô �yŠyÐ0×1Ò1Ü‘7Ñ&°Ð&Ó6Ð6ä)¨!¨T°3¸Ó=ˆ	ØˆØ�:�:ˆ:Ø�M‰M˜$Ÿ.™.Ó*¨TÕ1Ô2Ø××ÐØ�M‰M˜$×1Ñ1°)Ó<¸tÕCÔDØ�‰Ð(Ô)Ø�‰�d×-Ñ-¨iÓ8Ô9Ø�‰Ð)Ô*Ø�‰�d×(Ñ(¨Ó3Ô4Ø�w‰w�v‹Ðr3   rG   rK   )r<   r=   r>   r?   r@   rQ   r1   rw   r€   rA   rB   rb   rc   s   @@r)   re   re   ‹   s<   ù‡ € ÙJð Ø!Ø$ØØ")Ø!ØØ!%ØØ÷8õ$2÷÷ r3   re   c                   ó>   a € ] tR t^Ât o R tR tR tR tR tRt	V t
R# )r�   c                ó6   € R V P                   ,          V,           # )Ú	)Úcurrent_indent)r0   Úss   &&r)   Ú_indentÚSambaDocBookFormatter._indentÄ   s   € Ø�d×)Ñ)Õ)¨AÕ-Ð-r3   c                ó,   € V P                  R V R24      # )z
<constant>z</constant>
©r�   )r0   rh   s   &&r)   Úformat_usageÚ"SambaDocBookFormatter.format_usageÇ   s   € Ø�|‰|˜j¨¨¨}Ð=Ó>Ð>r3   c                ó,   € V P                  R V R24      # )z<!--z-->
r�   )r0   Úheadings   &&r)   Úformat_headingÚ$SambaDocBookFormatter.format_headingÊ   s   € Ø�|‰|˜d 7 )¨5Ð1Ó2Ð2r3   c                ó,   € V P                  RV R24      # )zi
Format a paragraph of free-form text for inclusion in the
help output at the current indentation level.
z<para>z</para>r�   )r0   Útexts   &&r)   Ú_format_textÚ"SambaDocBookFormatter._format_textÍ   s   € ð
 �|‰|˜f T F¨'Ð2Ó3Ð3r3   c                ó^  € V P                  R 4      pV.pVP                  R4       V P                  V,          pVP                  V RV R24       VP                  '       d)   V P	                  V4      pVP                  V RV R24       VP                  V R24       RP                  V4      # )z  z<varlistentry>
z  <term>z</term>
z  <listitem><para>z</para></listitem>
z</varlistentry>
r   )r�   rv   Úoption_stringsÚhelpÚexpand_defaultr8   )r0   r   Úindentr†   ÚoptsÚ	help_texts   &&    r)   Úformat_optionÚ#SambaDocBookFormatter.format_optionÔ   s¥   € ð —‘˜dÓ#ˆØ�ˆØ�‰Ð(Ô)Ø×"Ñ" 6Õ*ˆØ�‰˜˜ ¨¨¨iÐ8Ô9Ø�;�;ˆ;Ø×+Ñ+¨FÓ3ˆIØ�M‰M˜V˜HÐ$6°y°kÐAUÐVÔWØ�‰˜˜Ð 1Ð2Ô3Ø�w‰w�v‹Ðr3   rG   N)r<   r=   r>   r?   r�   r‘   r•   r™   r¢   rA   rB   rC   s   @r)   r�   r�   Â   s#   ø‡ € ò.ò?ò3ò4÷ð r3   r�   c                   ó<   a a€ ] tR t^ãt oRtV 3R ltR tRtVtV ;t	# )ÚOptionGroupa
  Samba OptionGroup base class.

Provides a generic set_option method to be used as Option callback,
so that one doesn't need to be created for every available Option.

Also overrides the add_option method, so it correctly initialises
the defaults on the OptionGroup.
c                óÖ   <€ \         SV `  ! V/ VB pVP                  \        P                  8X  d   RMVP                  pV P                  W3P                  4       W@P                  4       V# )z>Override add_option so it applies defaults during constructor.N)r[   Ú
add_optionÚdefaultr   Ú
NO_DEFAULTÚ
set_optionÚget_opt_stringÚparser)r0   ry   Úkwargsr    r¨   r]   s   &*,  €r)   r§   ÚOptionGroup.add_optioní   sS   ø€ ä‰gÒ  $Ð1¨&Ñ1ˆØŸ+™+¬×)<Ñ)<Ô<‘$À#Ç+Á+ˆØ�‰˜×/Ñ/Ó1°7¿K¹KÔHØˆ
r3   c                óš   € VP                   ;'       g+    VP                  ^ ,          R,          P                  RR4      p\        WV4       R# )z<Callback to set the attribute based on the Option dest name.:é   NNÚ-Ú_N)ru   Ú
_long_optsr   Úsetattr)r0   r   Úopt_strÚargr¬   ru   s   &&&&& r)   rª   ÚOptionGroup.set_optionô   s:   € à�{‰{×HÐH˜f×/Ñ/°Õ2°2Õ6×>Ñ>¸sÀCÓHˆÜ�˜CÖ r3   rG   )
r<   r=   r>   r?   r@   r§   rª   rA   rB   rb   rc   s   @@r)   r¥   r¥   ã   s   ù‡ € ñõ÷!ò !r3   r¥   c                   óZ   a a€ ] tR t^út oRtV 3R ltR tR tR tR t	R t
R tR	tVtV ;t# )
ÚSambaOptionsz+General Samba-related command line options.c           
     ó¶  <€ ^ RI Hp V! 4        \        \        P                  4      pVe    ^ RIpVP                  V4       ^ RI
Hp \        SV `5  VR4       V P                  RRR\        R	R
V P                   R7       V P                  RRR\        RRV P"                  R7       V P                  RR\        RRV P$                  R7       V P                  RR\        RRV P&                  R7       RV n        V! 4       V n        RV n        R#   \         dD    Rp\        P                  P                  T4       \        P                  P                  4         ELi ; i)r   )Úfault_setupNz’WARNING: Using passwords on command line is insecure. Installing the setproctitle python module will hide these from shortly after program start.
)ÚLoadParmzSamba Common Optionsz-sz--configfileÚcallbackÚFILEzConfiguration file)ÚactionÚtypeÚmetavarr�   r½   z-dz--debuglevelÚ
DEBUGLEVELúdebug levelz--optionÚOPTIONz%set smb.conf option from command linez--realmÚREALMzset the realm name)Úsambar»   r
   ÚsysÚargvÚsetproctitleÚModuleNotFoundErrorÚstderrÚwriteÚflushÚsamba.paramr¼   r[   r1   r§   r7   Ú_load_configfileÚ_set_debuglevelÚ_set_optionÚ
_set_realmÚ_configfileÚ_lpÚrealm)r0   r¬   r»   Únew_proctitlerÉ   r&   r¼   r]   s   &&     €r)   r1   ÚSambaOptions.__init__ý   sB  ø€ Ý%ÙŒô .¬c¯h©hÓ7ˆØÒ$ð	#Û#Ø×)Ñ)¨-Ô8õ 	)Ü‰Ñ˜Ð!7Ô8Ø�‰˜˜n°ZÜ ¨&Ð7KØ!%×!6Ñ!6ð 	ô 	8ð 	�‰˜˜n°ZÜ ¨,¸]Ø!%×!5Ñ!5ð 	ô 	7ð 	�‰˜
¨:Ü ¨(ØDØ!%×!1Ñ!1ð 	ô 	3ð 	�‰˜	¨*Ü ¨'Ð8LØ!%§¡ð 	ô 	2ð  ˆÔÙ“:ˆŒØˆŽ
øô1 'ô #ðC�ô —
‘
× Ñ  Ô%Ü—
‘
× Ñ ×"ð#ús   ­D
 Ä
A
EÅEc                ó   € V P                   # )z?Return path to the smb.conf file specified on the command line.©rÓ   ©r0   s   &r)   Úget_loadparm_pathÚSambaOptions.get_loadparm_path&  s   € à×ÑÐr3   c                ó   € W0n         R # rK   rÙ   ©r0   r   rµ   r¶   r¬   s   &&&&&r)   rÏ   ÚSambaOptions._load_configfile*  s   € ØÖr3   c                ó²   €  V P                   P                  R V4       Y4P
                  n        R#   \         d    \        P                  ! RT R24      hi ; i)rÃ   zinvalid -d/--debug value: 'Ú'N)rÔ   ÚsetÚRuntimeErrorr   r   rx   Ú
debuglevelrÞ   s   &&&&&r)   rÐ   ÚSambaOptions._set_debuglevel-  sU   € ð	6Ø�H‰H�L‰L˜¨Ô,ð $'�‰Ö øô ô 	6Ü×+Ò+Ø-¨c¨U°!Ð4ó6ð 6ð	6ús	   ‚0 °&Ac                óž   €  V P                   P                  R V4       Y0n        R#   \         d    \        P                  ! RT R24      hi ; i)rÕ   zinvalid --realm value: 'rá   N)rÔ   râ   rã   r   r   rÕ   rÞ   s   &&&&&r)   rÒ   ÚSambaOptions._set_realm5  sP   € ð	3Ø�H‰H�L‰L˜ #Ô&ð Ž
øô ô 	3Ü×+Ò+Ø*¨3¨%¨qÐ1ó3ð 3ð	3ús	   ‚& ¦&Ac                ó:  € VP                  R 4      R8X  d   \        P                  ! R4      hVP                  R ^4      p V P                  P                  V^ ,          V^,          4       R#   \         d$   p\        P                  ! RT: RT: 24      hRp?ii ; i)Ú=z&--option option takes a 'a=b' argumentzinvalid --option option value z: Néÿÿÿÿ)Úfindr   r   ÚsplitrÔ   râ   Ú	Exception)r0   r   rµ   r¶   r¬   ÚaÚes   &&&&&  r)   rÑ   ÚSambaOptions._set_option=  s‡   € Ø�8‰8�C‹=˜BÔÜ×+Ò+Ø8ó:ð :à�I‰I�c˜1Óˆð	CØ�H‰H�L‰L˜˜1�˜q �tÖ$øÜô 	CÜ×+Ó+Û:=ºqÐAóCð Cûð	Cús   Á *A, Á,BÁ7BÂBc                ór  € V P                   e2   V P                  P                  V P                   4       V P                  # \        P                  ! R4      e<   V P                  P                  \        P                  ! R4      4       V P                  # V P                  P                  4        V P                  # )z?Return loadparm object with data specified on the command line.ÚSMB_CONF_PATH)rÓ   rÔ   Úloadr~   r   Úload_defaultrÚ   s   &r)   Úget_loadparmÚSambaOptions.get_loadparmH  s   € à×ÑÒ'Ø�H‰H�M‰M˜$×*Ñ*Ô+ð
 �x‰xˆô	 �YŠY�Ó'Ò3Ø�H‰H�M‰Mœ"Ÿ)š) OÓ4Ô5ð �x‰xˆð �H‰H×!Ñ!Ô#Ø�x‰xˆr3   )rÓ   rÔ   rÕ   )r<   r=   r>   r?   r@   r1   rÛ   rÏ   rÐ   rÒ   rÑ   rõ   rA   rB   rb   rc   s   @@r)   r¹   r¹   ú   s2   ù‡ € Ù5õ'òR òò'òò	C÷ò r3   r¹   c                   ó6   a a€ ] tR tRt oRtV 3R ltRtVtV ;t# )ÚSamba3OptionsiS  z<General Samba-related command line options with an s3 param.c                ó\   <€ \         SV `  V4       ^ RIHp VP	                  4       V n        R# )r   )ÚparamN)r[   r1   Úsamba.samba3rú   Úget_contextrÔ   )r0   r¬   Ús3paramr]   s   && €r)   r1   ÚSamba3Options.__init__V  s#   ø€ Ü‰Ñ˜Ô Ý1Ø×&Ñ&Ó(ˆŽr3   )rÔ   ©	r<   r=   r>   r?   r@   r1   rA   rB   rb   rc   s   @@r)   rø   rø   S  s   ù‡ € ÙF÷)õ )r3   rø   c                   ó6   a a€ ] tR tRt oRtV 3R ltRtVtV ;t# )ÚHostOptionsi\  z?Command line options for connecting to target host or database.c                óv   <€ \         SV `  VR 4       V P                  RRR\        RRV P                  RR7       R# )	zHost Optionsz-Hz--URLz%LDB URL for database or target serverÚURLr½   ÚH)r�   rÀ   rÁ   r¿   r½   ru   N)r[   r1   r§   r7   rª   ©r0   r¬   r]   s   &&€r)   r1   ÚHostOptions.__init___  s:   ø€ Ü‰Ñ˜ Ô0à�‰˜˜gØDÜ ¨%¸
Ø!%§¡°sð 	ö 	<r3   rG   rÿ   rc   s   @@r)   r  r  \  s   ù‡ € ÙI÷<õ <r3   r  c                   ó<   a a€ ] tR tRt oRtV 3R ltR tRtVtV ;t	# )ÚVersionOptionsih  z/Command line option for printing Samba version.c           	     óŒ   <€ \         SV `  VR 4       V P                  RRRV P                  R\        P
                   R2R7       R# )zVersion Optionsz-Vz	--versionr½   zDisplay version number (Ú))r¿   r½   r�   N)r[   r1   r§   Ú_display_versionrÆ   rk   r  s   &&€r)   r1   ÚVersionOptions.__init__j  sD   ø€ Ü‰Ñ˜Ð!2Ô3Ø�‰˜˜k°*Ø!%×!6Ñ!6Ø7¼¿¹°ÀaÐHð 	ö 	Jr3   c                ód   € \        \        P                  4       \        P                  ! ^ 4       R# )r   N)ÚprintrÆ   rk   rÇ   ÚexitrÞ   s   &&&&&r)   r  ÚVersionOptions._display_versionp  s   € ÜŒe�m‰mÔÜ�Š�Žr3   rG   )
r<   r=   r>   r?   r@   r1   r  rA   rB   rb   rc   s   @@r)   r  r  h  s   ù‡ € Ù9õJ÷ò r3   r  c                 óà   € V P                  4       R9   d   \        # V P                  4       R9   d   \        # V P                  4       R9   d   \        # \        P
                  ! RV: RV : 24      h)Úyesúinvalid ú option value: )r  ÚtrueÚ1)ÚnoÚfalseÚ0)Úauto)Úlowerr	   r   r   r   r   ©r¶   rµ   s   &&r)   Úparse_kerberos_arg_legacyr  u  s]   € Ø
‡y�yƒ{Ð*Ô*Ü Ð Ø	�‰‹Ð,Ô	,Ü Ð Ø	�‰‹˜Ô	 Ü Ð ä×'Ó'Û)0²#ð)7ó 8ð 	8r3   c                 óà   € V P                  4       R 8X  d   \        # V P                  4       R8X  d   \        # V P                  4       R8X  d   \        # \        P
                  ! RV: RV : 24      h)rR   ÚdesiredÚoffr  r  )r  r	   r   r   r   r   r  s   &&r)   Úparse_kerberos_argr!  �  s[   € Ø
‡y�yƒ{�jÔ Ü Ð Ø	�‰‹˜	Ô	!Ü Ð Ø	�‰‹˜Ô	Ü Ð ä×'Ó'Û)0²#ð)7ó 8ð 	8r3   c                   óŒ   a a€ ] tR tRt oRtRV 3R lltR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tRR ltRtVtV ;t# )ÚCredentialsOptionsi�  z0Command line options for specifying credentials.c           
     óæ  <€ W n         Ve   RV,          V n        MRV n        RV n        R V n        RV n        \
        SV `  WP                  4       V P                  RRRV P                  \        RR	7       V P                  R
RRR\        V P                  R7       V P                  RRRR\        RV P                  R7       V P                  RRRR\        RV P                  R7       V P                  RRRRV P                  R7       V P                  RRRR\        RV P                  R7       V P                  RR RR!V P                  R7       V P                  R"R#R\        R$V P                   R7       V P                  R%R&R\        R'V P"                  R7       V P                  R(R)R*R\        R+V P$                  R7       V P                  R,R-R.R\        R/V P&                  R7       \)        4       V n        R # )0NzCredentials Options (%s)zCredentials OptionsTFz--simple-bind-dnÚDNr½   úDN to use for a simple bind©rÁ   r¿   r½   rÀ   r�   z
--passwordÚPASSWORDÚPassword©rÁ   r¿   r�   rÀ   r½   z-Uz
--usernameÚUSERNAMEÚUsername©rÁ   r¿   rÀ   r�   r½   z-Wz--workgroupÚ	WORKGROUPÚ	Workgroupz-Nz	--no-passzDon't ask for a password)r¿   r�   r½   r   z--ipaddressÚ	IPADDRESSzIP address of serverz-Pz--machine-passz#Use stored machine account passwordz--use-kerberosúdesired|required|offúUse Kerberos authenticationz--use-krb5-ccacheÚ
KRB5CCNAMEzKerberos Credentials cachez-Az--authentication-fileÚAUTHFILEzAuthentication filez-kz
--kerberosÚKERBEROSz%DEPRECATED: Migrate to --use-kerberos)Úspecial_nameÚsectionÚask_for_passwordÚ	ipaddressÚmachine_passr[   r1   Ú_add_optionÚ_set_simple_bind_dnr7   Ú_set_passwordÚ_parse_usernameÚ_parse_workgroupÚ_set_no_passwordÚ_set_ipaddressÚ_set_machine_passÚ_set_kerberosÚ_set_krb5_ccacheÚ_set_auth_fileÚ_set_kerberos_legacyr   Úcreds)r0   r¬   r6  r]   s   &&&€r)   r1   ÚCredentialsOptions.__init__�  s)  ø€ Ø(ÔØÒ#Ø5¸ÕDˆD�Là0ˆDŒLà $ˆÔØˆŒØ!ˆÔÜ‰Ñ˜§¡Ô.Ø×ÑÐ+°TÀ*Ø"&×":Ñ":ÄØ;ð 	ô 	=ð 	×Ñ˜¨zÀ*Ø(¬s¸T×=OÑ=Oð 	ô 	Qà×Ñ˜˜|°ZØ *´Ø(°4×3GÑ3Gð 	ô 	Ið 	×Ñ˜˜}°kØ *´Ø)°D×4IÑ4Ið 	ô 	Kð 	×Ñ˜˜{°:Ø8Ø"&×"7Ñ"7ð 	ô 	9ð 	×Ñ˜˜]°KØ *´Ø4Ø"&×"5Ñ"5ð 	ô 	7ð 	×Ñ˜Ð/Ø *ØCØ"&×"8Ñ"8ð 	ô 	:ð 	×ÑÐ)Ð3IØ *´Ø;Àd×FXÑFXð 	ô 	Zð 	×ÑÐ,°lØ *´Ø:Ø"&×"7Ñ"7ð 	ô 	9ð 	×Ñ˜Ð6À
Ø *´Ø3Ø"&×"5Ñ"5ð 	ô 	7ð 	×Ñ˜˜|°ZØ *´ØEÐPT×PiÑPið 	ô 	kô !“]ˆŽ
r3   c                ó  € V P                   f   V P                  ! V/ VB # RpV FF  pVP                  R4      '       g   K  W4P                  RRV P                   ,          4      3,          pKH  	  V P                  ! V/ VB  R # )Nz--z--%s-rG   )r6  r§   Ú
startswithr   )r0   Úargs1r­   Úargs2rî   s   &*,  r)   r;  ÚCredentialsOptions._add_optionÃ  sw   € Ø×ÑÒ$Ø—?’? EÐ4¨VÑ4Ð4àˆÛˆAØ—<‘< ×%Ò%ÙØ—i‘i  g°×0AÑ0AÕ&AÓBÐDÕDŠEñ ð 	�Š˜Ð) &Ô)r3   c                óJ   € V P                   P                  V4       R V n        R# ©FN)rG  Úparse_stringr:  rÞ   s   &&&&&r)   r>  Ú"CredentialsOptions._parse_usernameÎ  s   € Ø�
‰
×Ñ Ô$Ø!ˆÖr3   c                ó<   € V P                   P                  V4       R # rK   )rG  Ú
set_domainrÞ   s   &&&&&r)   r?  Ú#CredentialsOptions._parse_workgroupÒ  s   € Ø�
‰
×Ñ˜cÖ"r3   c                óX   € V P                   P                  V4       R V n        R V n        R# rO  )rG  Úset_passwordr8  r:  rÞ   s   &&&&&r)   r=  Ú CredentialsOptions._set_passwordÕ  s$   € Ø�
‰
×Ñ Ô$Ø %ˆÔØ!ˆÖr3   c                ó   € R V n         R# rO  )r8  rÞ   s   &&&&&r)   r@  Ú#CredentialsOptions._set_no_passwordÚ  s
   € Ø %ˆÖr3   c                ó   € R V n         R# )TN)r:  rÞ   s   &&&&&r)   rB  Ú$CredentialsOptions._set_machine_passÝ  s
   € Ø ˆÖr3   c                ó   € W0n         R # rK   )r9  rÞ   s   &&&&&r)   rA  Ú!CredentialsOptions._set_ipaddressà  s   € ØŽr3   c                ód   € \        R 4       V P                  P                  \        W24      4       R# )z0WARNING: The option -k|--kerberos is deprecated!N)r  rG  Úset_kerberos_stater  rÞ   s   &&&&&r)   rF  Ú'CredentialsOptions._set_kerberos_legacyã  s#   € ÜÐ@ÔAØ�
‰
×%Ñ%Ô&?ÀÓ&MÖNr3   c                óN   € V P                   P                  \        W24      4       R # rK   )rG  r_  r!  rÞ   s   &&&&&r)   rC  Ú CredentialsOptions._set_kerberosç  s   € Ø�
‰
×%Ñ%Ô&8¸Ó&FÖGr3   c                ó<   € V P                   P                  V4       R # rK   )rG  Úset_bind_dnrÞ   s   &&&&&r)   r<  Ú&CredentialsOptions._set_simple_bind_dnê  s   € Ø�
‰
×Ñ˜sÖ#r3   c                óˆ   € R V n         V P                  P                  \        4       V P                  P	                  V4       R# rO  )r8  rG  r_  r	   Úset_named_ccacherÞ   s   &&&&&r)   rD  Ú#CredentialsOptions._set_krb5_ccacheí  s/   € Ø %ˆÔØ�
‰
×%Ñ%Ô&7Ô8Ø�
‰
×#Ñ# CÖ(r3   c                ó¦   € \         P                  P                  V4      '       d,   V P                  P	                  V4       R V n        R V n        R# R# rO  )r~   ÚpathÚexistsrG  Ú
parse_filer8  r:  rÞ   s   &&&&&r)   rE  Ú!CredentialsOptions._set_auth_fileò  s<   € Ü�7‰7�>‰>˜#×ÒØ�J‰J×!Ñ! #Ô&Ø$)ˆDÔ!Ø %ˆDÖñ r3   c                óÜ  € V P                   P                  V4       V P                  '       d   V P                   P                  V4       M,V P                  '       d   V P                   P                  4        V'       dI   V P                   P                  4       '       g)    V P                   P                  V4       V P                   # V P                   #   \         d     T P                   # i ; i)zpObtain the credentials set on the command-line.

:param lp: Loadparm object to use.
:return: Credentials object
)rG  Úguessr:  Úset_machine_accountr8  Úset_cmdline_callbacksÚauthentication_requestedrí   )r0   ÚlpÚfallback_machines   &&&r)   Úget_credentialsÚ"CredentialsOptions.get_credentialsø  s±   € ð 	�
‰
×Ñ˜ÔØ××ÐØ�J‰J×*Ñ*¨2Õ.Ø×"×"Ð"Ø�J‰J×,Ñ,Ô.÷  D§J¡J×$GÑ$G×$IÒ$IðØ—
‘
×.Ñ.¨rÔ2ð �z‰zÐˆt�z‰zÐøô ô Øà�z‰zÐðús   ÂC ÃC+Ã*C+)r8  rG  r9  r:  r7  r6  rK   )F)r<   r=   r>   r?   r@   r1   r;  r>  r?  r=  r@  rB  rA  rF  rC  r<  rD  rE  ru  rA   rB   rb   rc   s   @@r)   r#  r#  �  sV   ù‡ € Ù:÷1#òf	*ò"ò#ò"ò
&ò!òòOòHò$ò)ò
&÷ô r3   r#  c                   ód   a a€ ] tR tRt oRtV 3R ltR tR tR tR t	R t
R	 tRR
 ltRtVtV ;t# )ÚCredentialsOptionsDoublei  z?Command line options for specifying credentials of two servers.c           	     ó6  <€ \         SV `  V4       R V n        V P                  RRRV P                  \
        RR7       V P                  RRRR\
        V P                  R	7       V P                  R
RR\
        RV P                  R7       V P                  RRR\
        RV P                  R7       V P                  RRRR7       V P                  RRR\
        RV P                  R7       V P                  RRR\
        RV P                  R7       \        4       V n        R# )Tz--simple-bind-dn2ÚDN2r½   r&  r'  z--password2Ú	PASSWORD2r)  r*  z--username2Ú	USERNAME2zUsername for second serverr-  z--workgroup2Ú
WORKGROUP2zWorkgroup for second serverz
--no-pass2Ú
store_truez.Don't ask for a password for the second server)r¿   r�   z--use-kerberos2r1  r2  z--kerberos2Ú	KERBEROS2zUse KerberosN)r[   r1   Úno_pass2r§   Ú_set_simple_bind_dn2r7   Ú_set_password2Ú_parse_username2Ú_parse_workgroup2Ú_set_kerberos2Ú_set_kerberos2_legacyr   Úcreds2r  s   &&€r)   r1   Ú!CredentialsOptionsDouble.__init__  s*  ø€ Ü‰Ñ˜Ô ØˆŒØ�‰Ð+°UÀ:Ø!%×!:Ñ!:ÄØ:ð 	ô 	<ð 	�‰˜¨{À:Ø'¬cØ!%×!4Ñ!4ð 	ô 	6ð 	�‰˜¨{Ø)´Ø9Ø!%×!6Ñ!6ð 	ô 	8ð 	�‰˜°Ø)´Ø:Ø!%×!7Ñ!7ð 	ô 	9ð 	�‰˜¨\ØMð 	ô 	Oà�‰Ð)Ð3IØ)´Ø:ÀT×EXÑEXð 	ô 	Zð
 	�‰˜¨{Ø)´Ø+°d×6PÑ6Pð 	ô 	Rô "“mˆŽr3   c                ó<   € V P                   P                  V4       R # rK   )r‡  rP  rÞ   s   &&&&&r)   rƒ  Ú)CredentialsOptionsDouble._parse_username2/  s   € Ø�‰× Ñ  Ö%r3   c                ó<   € V P                   P                  V4       R # rK   )r‡  rS  rÞ   s   &&&&&r)   r„  Ú*CredentialsOptionsDouble._parse_workgroup22  s   € Ø�‰×Ñ˜sÖ#r3   c                óJ   € V P                   P                  V4       R V n        R# rO  )r‡  rV  r€  rÞ   s   &&&&&r)   r‚  Ú'CredentialsOptionsDouble._set_password25  s   € Ø�‰× Ñ  Ô%ØˆŽr3   c                óN   € V P                   P                  \        W24      4       R # rK   ©r‡  r_  r!  rÞ   s   &&&&&r)   r†  Ú.CredentialsOptionsDouble._set_kerberos2_legacy9  ó   € Ø�‰×&Ñ&Ô'9¸#Ó'GÖHr3   c                óN   € V P                   P                  \        W24      4       R # rK   r�  rÞ   s   &&&&&r)   r…  Ú'CredentialsOptionsDouble._set_kerberos2<  r’  r3   c                ó<   € V P                   P                  V4       R # rK   )r‡  rd  rÞ   s   &&&&&r)   r�  Ú-CredentialsOptionsDouble._set_simple_bind_dn2?  s   € Ø�‰×Ñ Ö$r3   c                ó.  € V'       d   V P                   P                  V4       M:V P                   P                  4       '       g   V P                   P                  4        V P                  '       d   V P                   P                  4        V P                   # )z¥Obtain the credentials set on the command-line.

:param lp: Loadparm object to use.
:param guess: Try guess Credentials from environment
:return: Credentials object
)r‡  ro  Úget_usernameÚset_anonymousr€  rq  )r0   rs  ro  s   &&&r)   Úget_credentials2Ú)CredentialsOptionsDouble.get_credentials2B  s_   € ÷ Ø�K‰K×Ñ˜bÕ!Ø—‘×)Ñ)×+Ò+Ø�K‰K×%Ñ%Ô'à�=�=ˆ=Ø�K‰K×-Ñ-Ô/Ø�{‰{Ðr3   )r‡  r€  )T)r<   r=   r>   r?   r@   r1   rƒ  r„  r‚  r†  r…  r�  rš  rA   rB   rb   rc   s   @@r)   rx  rx    s7   ù‡ € ÙIõ$ò:&ò$òòIòIò%÷ô r3   rx  )$r@   Ú__docformat__r   r~   rÇ   Úabcr   r   r   Úsamba.credentialsr   r   r   r	   Úsamba._gluer
   rÆ   r*   r   r,   rí   rF   rI   rQ   re   ÚHelpFormatterr�   r¥   r¹   rø   r  r  r  r!  r#  rx  rG   r3   r)   Ú<module>r¡     s  ðñ$ >à"€ã Û 	Û 
ß 'Ý ÷ó õ .Û ò$-ôN<˜×2Ñ2ô <ô(	�iô 	ô˜'õ ôˆX�_‰_ô ô.4�8×(Ñ(ô 4ôn˜H×2Ñ2ô ôB!�(×&Ñ&ô !ô.V�;ô Vôr)�Lô )ô	<�+ô 	<ô
�[ô 
ò	8ò	8ô˜ô ôDAÐ1ö Ar3   