
    ht
                         S r SSKrSSKrSSKJrJrJr  SSKJr  SSK	J
r
  SSKJr  SSKJrJrJrJr  SSKJr  SS	KJrJr   " S
 S\R.                  \R0                  5      rS rg)z
Shiny new words service maker
    N)ListOptionalSequence)plugin)strports)MultiService)checkerscredentialsportalstrcred)usage)iwordsservicec                      \ rS rSr% \R
                  /rSS\R                  " 5       S4/r	\
\\\         \S'   \R                   " S/S9r0 rSr\R*                  " \R.                  5       HV  r\R0                  \;  d   e\\\R0                  '   \	R3                  \R0                  S-   SSS	\R0                  -   S
-   45        MX     CS rS rS rSrg)Options   hostnameNz*Name of this server; purely an informativeoptParametersgroup)multiUse-portz2strports description of the port to bind for the  z serverc                 V    [         R                  R                  " U /UQ70 UD6  / U S'   g )Ngroups)r   r   __init__)selfakws      X/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/twisted/words/tap.pyr   Options.__init__2   s'    t.a.2.X    c                 z    U S   R                  UR                  [        R                  R                  5      5        g)z"Specify a group which should existr   N)appenddecodesysstdinencoding)r   names     r   	opt_groupOptions.opt_group6   s'    Xdkk#))*<*<=>r    c                 N    U R                  [        R                  " U5      5        g)zu
Name of a passwd-style file. (This is for
backwards-compatibility only; you should use the --auth
command instead.)
N)
addCheckerr	   FilePasswordDB)r   filenames     r   
opt_passwdOptions.opt_passwd:   s     	//9:r     )__name__
__module____qualname____firstlineno__r
   IUsernamePasswordsupportedInterfacessocketgethostnamer   r   r   r   str__annotations__r   CompletionscompDatainterfacePluginsplgr   
getPluginsr   IProtocolPluginr'   r"   r   r(   r.   __static_attributes__r0   r    r   r   r      s    &889  8		
4M4#/0    7)4H
C  !7!78xx////%("7"D((			
 9 	?;r    r   c                    U R                  S/ 5      n[        R                  " U S   5      n[        R                  " X!5      n[        5       nU R                   Ha  nU R                  US-   5      nUc  M  U R                  U   R                  X#5      n[        R                  " Xg5      nUR                  U5        Mc     U S    H  n	UR                  U	5        M     U$ )NcredCheckersr   r   r   )getr   InMemoryWordsRealmr   Portalr   r=   
getFactoryr   setServiceParentcreateGroup)
configrC   
wordsRealmwordsPortalmsvcplgNameportfactorysvcgs
             r   makeServicerS   C   s    ::nb1L++F:,>?J--
9K>D **zz'G+,--g6AAG ""41C  & + Hq!  Kr    )__doc__r7   r$   typingr   r   r   twistedr   twisted.applicationr   twisted.application.servicer   twisted.credr	   r
   r   r   twisted.pythonr   twisted.wordsr   r   r   AuthOptionMixinrS   r0   r    r   <module>r]      sK     
 + +  ( 4 ? ?   ),;emmW44 ,;^r    