
    i-                        S r SSKrSSKrSSKrSSKJr  SbS jr\\S.\l	        ScS jr
SdS jr " S	 S
5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S 5      r " S! S"5      r " S# S$5      r " S% S&5      r " S' S(5      r " S) S*5      r " S+ S,5      r " S- S.5      r " S/ S05      r " S1 S25      r  " S3 S45      r! " S5 S65      r" " S7 S85      r# " S9 S:5      r$ " S; S<5      r% " S= S>5      r&\RN                  " S?S@SA/5      r( " SB SC\(5      r) " SD SE5      r*\*" 5       r+ " SF SG5      r, " SH SI5      r-SJ r.SK r/ " SL SM\05      r1\1" SSNSO.5      r2 " SP SQ\Rf                  5      r4 " SR SS5      r5SeST jr6SfSU jr7SV r8 " SW SX5      r9 " SY SZ5      r: " S[ S\5      r;S] r<\<SgS^ j5       r=S_ r>SdS` jr?ShSa jr@g)izAThis module has components that are used for testing Python Fire.    N)test_components_py3c                     XX#XE4$ N )arg1arg2arg3arg4arg5arg6s         T/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/fire/test_components.pyidentityr      s    	T	++    )r   r
      c                 
    X-  $ )zMultiplies num by rate.

Args:
  num (int): the num you want to multiply
  rate (int): the rate for multiplication
Returns:
  Multiplication of num by rate
r   )numrates     r   multiplier_with_docstringr      s     
r   c                     U $ r   r   )helps    r   function_with_helpr   *   s    	+r   c                       \ rS rSrSrg)Empty.   r   N__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r   r   .       r   r   c                       \ rS rSrSrg)OldStyleEmpty2   r   Nr   r   r   r   r#   r#   2   r!   r   r#   c                       \ rS rSrS rSrg)WithInit6   c                     g r   r   selfs    r   __init__WithInit.__init__8   s    r   r   Nr   r   r   r   r+   r    r   r   r   r&   r&   6   s    	r   r&   c                       \ rS rSrSS jrSrg)ErrorInConstructor<   c                 $    Xl         [        S5      e)NzError in constructor)value
ValueErrorr*   r2   s     r   r+   ErrorInConstructor.__init__>   s    J
+
,,r   )r2   Nr-   r   r   r   r/   r/   <   s    -r   r/   c                   "    \ rS rSrSrSS jrSrg)WithHelpArgC   z2Test class for testing when class has a help= arg.c                 "    Xl         SS0U l        g )N__helpzhelp in a dict)has_help
dictionary)r*   r   s     r   r+   WithHelpArg.__init__F   s    M!12DOr   )r<   r;   NTr   r   r   r   __doc__r+   r    r   r   r   r7   r7   C   s
    :3r   r7   c                        \ rS rSrS rS rSrg)
NoDefaultsK   c                     SU-  $ Nr   r   r*   counts     r   doubleNoDefaults.doubleM       u9r   c                     SU-  $ N   r   rF   s     r   tripleNoDefaults.tripleP   rJ   r   r   Nr   r   r   r   rH   rN   r    r   r   r   rB   rB   K   s    r   rB   c                   8    \ rS rSrSrSS jrSS jr S	S jrSrg)
WithDefaultsT   z1Class with functions that have default arguments.c                     SU-  $ )zReturns the input multiplied by 2.

Args:
  count: Input number that you want to double.

Returns:
  A number that is the double of count.
r   r   rF   s     r   rH   WithDefaults.doubleW   s     u9r   c                     SU-  $ rL   r   rF   s     r   rN   WithDefaults.tripleb   rJ   r   c                     U$ r   r   )r*   strings     r   textWithDefaults.texte   s	    
 Mr   r   Nr   )P00010203040506070809101112131415161718192021222324252627282930313233343536373839)	r   r   r   r   r@   rH   rN   rZ   r    r   r   r   rR   rR   T   s    9	
9r   rR   c                   (    \ rS rSrSS jrSS jrSrg)OldStyleWithDefaultsm   c                     SU-  $ rE   r   rF   s     r   rH   OldStyleWithDefaults.doubleo   rJ   r   c                     SU-  $ rL   r   rF   s     r   rN   OldStyleWithDefaults.tripler   rJ   r   r   Nr\   rP   r   r   r   r_   r_   m   s    r   r_   c                   .    \ rS rSrS rSS jrSS jrSrg)	MixedDefaultsv   c                     g)N
   r   r)   s    r   tenMixedDefaults.tenx   s    r   c                     USU-  -   $ rE   r   r*   alphabetas      r   sumMixedDefaults.sum{   s    1t8r   c                     X4$ r   r   rm   s      r   r   MixedDefaults.identity~   s
    ;r   r   Nr   r   )0)r   r   r   r   rj   rp   r   r    r   r   r   rf   rf   v   s    r   rf   c                   (    \ rS rSrSS jrSS jrSrg)SimilarArgNames   c                     X4$ r   r   )r*   bool_onebool_twos      r   r   SimilarArgNames.identity   s    r   Nc                     X4$ r   r   )r*   arn   s      r   	identity2SimilarArgNames.identity2   s	    8Or   r   )FF)NN)r   r   r   r   r   r   r    r   r   r   rw   rw      s    r   rw   c                       \ rS rSrSS jrSrg)CapitalizedArgNames   c                 
    X-   $ r   r   )r*   DeltaGammas      r   rp   CapitalizedArgNames.sum   s
    =r   r   N)      ?g       @)r   r   r   r   rp   r    r   r   r   r   r      s    r   r   c                   L    \ rS rSrSS jrSS jrS\0\l        S\0\l        Srg)Annotations   c                     SU-  $ rE   r   rF   s     r   rH   Annotations.double   rJ   r   c                     SU-  $ rL   r   rF   s     r   rN   Annotations.triple   rJ   r   rG   r   Nr\   )	r   r   r   r   rH   rN   float__annotations__r    r   r   r   r   r      s(     $U+&#U+&r   r   c                       \ rS rSrSrS rSrg)TypedProperties   zDTest class for testing Python Fire with properties of various types.c                     SU l         SU l        [        5       U l        SSSS.S.U l        SS	/U l        S
U l        SU l        g )NT)   r   rM   Er~   b)r   r   )echonestalexbethany)carrydividemyexcitingstring)rn   ro   rR   charliedeltar   foxgammar)   s    r   r+   TypedProperties.__init__   sL    DJDI>DL
DJ #DI"DH#DJr   )rn   ro   r   r   r   r   r   Nr?   r   r   r   r   r      s
    L$r   r   c                   (    \ rS rSrSrS rSS jrSrg)VarArgs   z@Test class for testing Python Fire with a property with varargs.c                 V    S n/ nU H  nUc  UnOX$-  nUR                  U5        M      U$ r   )append)r*   itemstotalsumsitems        r   cumsumsVarArgs.cumsums   s:    ED	
kk%  Kr   c                 (    XSR                  U5      4$ )N join)r*   rn   ro   charss       r   varcharsVarArgs.varchars   s    &&r   r   Nrt   )r   r   r   r   r@   r   r   r    r   r   r   r   r      s    H	'r   r   c                        \ rS rSrS rS rSrg)Underscores   c                     SU l         g )Nzfish fingersunderscore_exampler)   s    r   r+   Underscores.__init__   s
    ,Dr   c                     U$ r   r   )r*   underscore_args     r   underscore_functionUnderscores.underscore_function   s    r   r   N)r   r   r   r   r+   r   r    r   r   r   r   r      s    -r   r   c                       \ rS rSrSS jrSrg)BoolConverter   c                     [        U5      $ r   )bool)r*   args     r   as_boolBoolConverter.as_bool   s    9r   r   N)F)r   r   r   r   r   r    r   r   r   r   r      s    r   r   c                       \ rS rSrS rSrg)
ReturnsObj   c                     A[        5       $ r   )r   )r*   r   s     r   get_objReturnsObj.get_obj   s    ?r   r   N)r   r   r   r   r   r    r   r   r   r   r      s    r   r   c                   (    \ rS rSrSS jrSS jrSrg)NumberDefaults   c                     SU-  $ Nr   r   r*   divisors     r   
reciprocalNumberDefaults.reciprocal       =r   c                     SU-  $ r   r   r   s     r   integer_reciprocal!NumberDefaults.integer_reciprocal   r   r   r   N)g      $@ri   )r   r   r   r   r   r   r    r   r   r   r   r      s    r   r   c                        \ rS rSrS rS rSrg)InstanceVars   c                     Xl         X l        g r   r   r   r*   r   r   s      r   r+   InstanceVars.__init__   s    IIr   c                 4    U R                   U R                  X4$ r   r   r   s      r   runInstanceVars.run   s    IItyy$--r   r   N)r   r   r   r   r+   r   r    r   r   r   r   r      s    .r   r   c                   *    \ rS rSrS rS rSS jrSrg)Kwargs   c                     U$ r   r   r*   kwargss     r   propsKwargs.props   s    Mr   c                 n    SR                  [        UR                  5       5      5      R                  5       $ )N )r   sortedkeysupperr   s     r   r   Kwargs.upper   s%    88F6;;=)*0022r   Nc                 
    XU4$ r   r   )r*   
positionalnamedr   s       r   r   
Kwargs.run   s    v&&r   r   r   )r   r   r   r   r   r   r   r    r   r   r   r   r      s    3'r   r   c                       \ rS rSrS rSrg)ErrorRaiser   c                     [        S5      e)NzThis error is part of a test.r3   r)   s    r   failErrorRaiser.fail   s    
4
55r   r   N)r   r   r   r   r   r    r   r   r   r   r      s    6r   r   c                        \ rS rSrS rS rSrg)NonComparable   c                     [        S5      eNz+Instances of this class cannot be compared.r   r*   others     r   __eq__NonComparable.__eq__       
B
CCr   c                     [        S5      er  r   r  s     r   __ne__NonComparable.__ne__  r
  r   r   N)r   r   r   r   r  r  r    r   r   r   r  r     s    DDr   r  c                        \ rS rSrS rS rSrg)EmptyDictOutputi  c                     0 $ r   r   r)   s    r   totally_emptyEmptyDictOutput.totally_empty  s    Ir   c                 
    SS0$ )N__do_not_print_mer   r   r)   s    r   nothing_printable!EmptyDictOutput.nothing_printable  s    ##r   r   N)r   r   r   r   r  r  r    r   r   r   r  r    s    $r   r  c                       \ rS rSrS rSrg)CircularReferencei  c                     0 nXS'   U$ )Nyr   r*   xs     r   createCircularReference.create  s    
AcFHr   r   N)r   r   r   r   r  r    r   r   r   r  r    s    r   r  c                        \ rS rSrS rS rSrg)OrderedDictionaryi  c                 ,    [         R                  " 5       $ r   collectionsOrderedDictr)   s    r   emptyOrderedDictionary.empty  s    ""$$r   c                 D    [         R                  " 5       nSUS'   SUS'   U$ )NAr   r"  )r*   ordered_dicts     r   	non_emptyOrderedDictionary.non_empty  s)    **,LLLOr   r   N)r   r   r   r   r%  r*  r    r   r   r   r   r     s    %r   r   c                   $    \ rS rSrSrS rS rSrg)
NamedTuplei#  z2Functions returning named tuples used for testing.c                 B    [         R                  " SSS/5      nU" SSS9$ )z(Point example straight from Python docs.Pointr  r        )r  r#  
namedtupler*   r/  s     r   pointNamedTuple.point&  s&     ""7S#J7Er?r   c                 B    [         R                  " SSS/5      nU" SSS9$ )zField name equals value.r/  r  r  r  r  r2  r4  s     r   matching_namesNamedTuple.matching_names,  s'     ""7S#J7E3#r   r   N)r   r   r   r   r@   r5  r9  r    r   r   r   r-  r-  #  s    :r   r-  c                   (    \ rS rSrSrSrS rS rSrg)CallableWithPositionalArgsi3  #Test class for supporting callable.r   c                 
    X-   $ r   r   )r*   r  r  s      r   __call__#CallableWithPositionalArgs.__call__8  s	    5Lr   c                     US-   $ Nr   r   r  s     r   fnCallableWithPositionalArgs.fn;  s    q5Lr   r   N)	r   r   r   r   r@   TESTr?  rC  r    r   r   r   r<  r<  3  s    +	
$r   r<  NamedTuplePointr  r  c                       \ rS rSrSrS rSrg)SubPointiB  z@Used for verifying subclasses of namedtuples behave as intended.c                 4    U R                   U R                  -   $ r   r8  r)   s    r   coordinate_sumSubPoint.coordinate_sumE  s    66DFF?r   r   N)r   r   r   r   r@   rJ  r    r   r   r   rH  rH  B  s
    Hr   rH  c                   $    \ rS rSrSrS rS rSrg)CallableWithKeywordArgumentiI  r=  c                 j    UR                  5        H  u  p#[        SR                  X#5      5        M!     g )Nz{}: {})r   printformat)r*   r   keyr2   s       r   r?  $CallableWithKeywordArgument.__call__L  s%    lln
HOOC'( %r   c                     [        U5        g r   rO  r*   msgs     r   	print_msg%CallableWithKeywordArgument.print_msgP  s	    	#Jr   r   N)r   r   r   r   r@   r?  rW  r    r   r   r   rM  rM  I  s    +)r   rM  c                   ,    \ rS rSrSrSS jrSS jrSrg)	ClassWithDocstringiW  z^Test class for testing help text output.

This is some detail description of this test class.
c                     Xl         g)z|Constructor of the test class.

Constructs a new ClassWithDocstring object.

Args:
  message: The default message to print.
Nmessage)r*   r]  s     r   r+   ClassWithDocstring.__init__]  s	     Lr   Nc                 8    Uc  U R                   n[        U5        g)zPrints a message.N)r]  rO  rU  s     r   rW  ClassWithDocstring.print_msgg  s    
{LLc	#Jr   r\  )zHello!r   )r   r   r   r   r@   r+   rW  r    r   r   r   rZ  rZ  W  s    
r   rZ  c                   (    \ rS rSrSr\S 5       rSrg)ClassWithMultilineDocstringin  zTest class for testing help text output with multiline docstring.

This is a test class that has a long docstring description that spans across
multiple lines for testing line breaking in help text.
c              #   6   #    [        U 5       Sh  vN   g N7f)a  Generators have a ``Yields`` section instead of a ``Returns`` section.

Args:
    n (int): The upper limit of the range to generate, from 0 to `n` - 1.

Yields:
    int: The next number in the range of 0 to `n` - 1.

Examples:
    Examples should be written in doctest format, and should illustrate how
    to use the function.

    >>> print([i for i in example_generator(4)])
    [0, 1, 2, 3]

N)range)ns    r   example_generator-ClassWithMultilineDocstring.example_generatoru  s     $ Qxs   r   N)r   r   r   r   r@   staticmethodrf  r    r   r   r   rb  rb  n  s      r   rb  c                  
    1 Sk$ N>   threer   r   r   r   r   r   
simple_setrl    s    	r   c                      [        1 Sk5      $ rj  )	frozensetr   r   r   simple_frozensetro    s    	?	##r   c                       \ rS rSrSrSrg)Subdicti  z)A subclass of dict, for testing purposes.r   N)r   r   r   r   r@   r    r   r   r   rq  rq    s    1r   rq  blue)r   redc                        \ rS rSrSrSrSrSrg)Colori  r   r   rM   r   N)r   r   r   r   REDGREENBLUEr    r   r   r   ru  ru    s    	#
%	
$r   ru  c                   B    \ rS rSrSrSrS r\S 5       r\	S 5       r
Srg)	HasStaticAndClassMethodsi  z0A class with a static method and a class method.r   c                     Xl         g r   instance_state)r*   r}  s     r   r+   !HasStaticAndClassMethods.__init__  s    (r   c                     U $ r   r   )argss    r   	static_fn"HasStaticAndClassMethods.static_fn  s    Kr   c                     XR                   -   $ r   )CLASS_STATE)clsr  s     r   class_fn!HasStaticAndClassMethods.class_fn  s    //!!r   r|  N)r   r   r   r   r@   r  r+   rh  r  classmethodr  r    r   r   r   rz  rz    s7    8+)   " "r   rz  c                     A AAU$ )zFunction with varargs.

Args:
  arg1: Position arg docstring.
  arg2: Position arg docstring.
  arg3: Flags docstring.
  *varargs: Accepts unlimited positional args.
Returns:
  The unlimited positional args.
r   )r   r   r	   varargss       r   function_with_varargsr    s     D$	.r   c                 
    AX4$ r   r   r   r   r   s      r   function_with_keyword_argumentsr    s    
	r   c                      g)zThis has code in the docstring.



Example:
  x = fn_with_code_in_docstring()
  indentation_matters = True



Returns:
  True.
Tr   r   r   r   fn_with_code_in_docstringr    s     
r   c                   F    \ rS rSrSrSS jrS rS rS rS r	S r
S	 rS
rg)BinaryCanvasi  z:A canvas with which to make binary art, one bit at a time.c                     [        U5       Vs/ s H	  nS/U-  PM     snU l        Xl        SU l        SU l        g s  snf Nr   )rd  pixels_size_row_col)r*   size_s      r   r+   BinaryCanvas.__init__  s:    ',T{3{!A3:{3DKJDIDI 4s   ;c                 F    SR                  S U R                   5       5      $ )N
c              3   R   #    U  H  nS R                  S U 5       5      v   M     g7f)r   c              3   8   #    U  H  n[        U5      v   M     g 7fr   )str).0pixels     r   	<genexpr>1BinaryCanvas.__str__.<locals>.<genexpr>.<genexpr>  s     -Us   Nr   )r  rows     r   r  'BinaryCanvas.__str__.<locals>.<genexpr>  s&      F9D#----s   %')r   r  r)   s    r   __str__BinaryCanvas.__str__  s(    99 F9=F F Fr   c                     [        U 5        U $ r   rT  r)   s    r   showBinaryCanvas.show  s    	$KKr   c                 R    XR                   -  U l        X R                   -  U l        U $ r   )r  r  r  )r*   r  cols      r   moveBinaryCanvas.move  s#    jj DIjj DIKr   c                 $    U R                  S5      $ rB  setr)   s    r   onBinaryCanvas.on      88A;r   c                 $    U R                  S5      $ r  r  r)   s    r   offBinaryCanvas.off  r  r   c                 P    XR                   U R                     U R                  '   U $ r   )r  r  r  r4   s     r   r  BinaryCanvas.set  s     (-KK		499%Kr   )r  r  r  r  Nr   )r   r   r   r   r@   r+   r  r  r  r  r  r  r    r   r   r   r  r    s)    BF
r   r  c                        \ rS rSrS rS rSrg)DefaultMethodi  c                     SU-  $ rE   r   r*   numbers     r   rH   DefaultMethod.double      v:r   c                     S nU$ )Nc                      g)NzUndefined functionr   r   r   r   _missing+DefaultMethod.__getattr__.<locals>._missing  s    !r   r   )r*   namer  s      r   __getattr__DefaultMethod.__getattr__  s    "Or   r   N)r   r   r   r   rH   r  r    r   r   r   r  r    s    r   r  c                   *    \ rS rSrS r\S 5       rSrg)InvalidPropertyi  c                     SU-  $ rE   r   r  s     r   rH   InvalidProperty.double  r  r   c                     [        S5      e)Ntestr   r)   s    r   propInvalidProperty.prop  s    
V
r   r   N)r   r   r   r   rH   propertyr  r    r   r   r   r  r    s      r   r  c                 F   ^  [         R                  " T 5      U 4S j5       nU$ )Nc                     > T" U 0 UD6$ r   r   )r  r   fs     r   wrapper!simple_decorator.<locals>.wrapper  s    dfr   )	functoolswraps)r  r  s   ` r   simple_decoratorr    s#    ??1 	.r   c                     SU -  $ )NzHello %sr   )r  s    r   decorated_methodr    s    	d	r   c                 (    A AUR                  S5      $ )zzFunction with kwarg.

:param arg1: Description of arg1.
:param arg2: Description of arg2.
:key arg3: Description of arg3.
r	   getr  s      r   fn_with_kwargr    s     D	F	r   c                 *    A AAUR                  S5      $ )zFunction with kwarg and defaults.

:param arg1: Description of arg1.
:param arg2: Description of arg2.
:key arg3: Description of arg3.
r	   r  )r   r   optr   s       r   fn_with_kwarg_and_defaultsr  $  s     D#	F	r   c                 
    AAU $ )zFunction with kwarg and defaults.

:key first: Description of first.
:key last: Description of last.
:key late: Description of late.
r   firstlastlates      r   fn_with_multiple_defaultsr  /  s     D	,r   )ri      )r   r>   )r   )rM   )Worldr  )Ar@   r#  enumr  firer   py3r   intr   r   r   r   r#   r&   r/   r7   rB   rR   r_   rf   rw   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r-  r<  r3  rF  rH  rM  CALLABLE_WITH_KEYWORD_ARGUMENTrZ  rb  rl  ro  dictrq  SUBDICTEnumru  rz  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r     s*   H    +, %(5 	  	 	- -3 3  2 	 	  	, 	,$ $&' '$    . .	' 	'6 6D D$ $ 	 	  	 	 (():S#JG   "=!>  . 8$2d 2
 a'
(DII " ""
" B    
r   