Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/attr/__pycache__/_next_gen.cpython-311.pyc



]jdZddlmZddlmZddlmZddlmZ	ddl
mZmZm
Z
mZmZddlmZ	dd	d	d	d	d	d
dd
dd	ddd
d	dd
d	d	d	d
dd
ZeZeed
d	Zed	d
d	d
d	d	d	d	dd	d	d	d	ddZd
d	d	ddZd
d	ddZd	S)z]
These are keyword-only APIs that call `attr.s` and `attr.ib` with different
default values.
)partial)setters)asdict)astuple)NOTHING_frozen_setattrs_ng_default_on_setattrattribattrs)UnannotatedAttributeErrorNTF)thesereprunsafe_hashhashinitslotsfrozenweakref_slotstrauto_attribskw_only
cache_hashauto_exceqorderauto_detectgetstate_setstate
on_setattrfield_transformer
match_argsc	


	fd
fd}||S||S)a
    Define an *attrs* class.

    Differences to the classic `attr.s` that it uses underneath:

    - Automatically detect whether or not *auto_attribs* should be `True` (c.f.
      *auto_attribs* parameter).
    - If *frozen* is `False`, run converters and validators when setting an
      attribute by default.
    - *slots=True*

      .. caution::

         Usually this has only upsides and few visible effects in everyday
         programming. But it *can* lead to some suprising behaviors, so please
         make sure to read :term:`slotted classes`.
    - *auto_exc=True*
    - *auto_detect=True*
    - *order=False*
    - Some options that were only relevant on Python 2 or were kept around for
      backwards-compatibility have been removed.

    Please note that these are all defaults and you can change them as you
    wish.

    :param Optional[bool] auto_attribs: If set to `True` or `False`, it behaves
       exactly like `attr.s`. If left `None`, `attr.s` will try to guess:

       1. If any attributes are annotated and no unannotated `attrs.fields`\ s
          are found, it assumes *auto_attribs=True*.
       2. Otherwise it assumes *auto_attribs=False* and tries to collect
          `attrs.fields`\ s.

    For now, please refer to `attr.s` for the rest of the parameters.

    .. versionadded:: 20.1.0
    .. versionchanged:: 21.3.0 Converters are also run ``on_setattr``.
    .. versionadded:: 22.2.0
       *unsafe_hash* as an alias for *hash* (for :pep:`681` compliance).
    ctdid|ddd	dd
ddd	d
d|dd
dddddddd
ddS)N	maybe_clsrrrrrrrrrrrrrrrrcollect_by_mroTrrr r!)r)clsrrrrrr rrrrrr!rrrrrrrrs  n/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib/python3.11/site-packages/attr/_next_gen.pydo_itzdefine.<locals>.do_itYs 


c
%

	

$


%
6
&

&
G
"z
X
r
 %!
"$#
$ 4%
&0/'
("z)
*0/+
,"z-
	
cdtjfv}dur	t|jD]/}|jt
ur|rt
dtjn0|S	|dS#t$r|dcYSwxYw)z
        Making this a wrapper ensures this code runs during class creation.

        We also ensure that frozen-ness of classes is inherited.
        NFz@Frozen classes can't use on_setattr (frozen-ness was inherited).T)rNO_OPr
	__bases____setattr__r	
ValueErrorr
)r'had_on_setattrbase_clsrr)rrs   r(wrapzdefine.<locals>.wrapss$D'-+@@U??z1/J
				H#'777!$7
%]
8#5l+++	%5d###(	%	%	%5e$$$$$	%s%A11B
	B
r&)r$rrrrrrrrrrrrrrrrrrr r!r2r)s ```````````````````` @r(definer3sB






















4!%!%!%!%!%!%!%!%JtIr*)rrdefault	validatorrrrmetadatatype	converterfactoryrrrraliasc<t||||||||||	|
|||
S)a,
    Identical to `attr.ib`, except keyword-only and with some arguments
    removed.

    .. versionadded:: 23.1.0
       The *type* parameter has been re-added; mostly for
       {func}`attrs.make_class`. Please note that type checkers ignore this
       metadata.
    .. versionadded:: 20.1.0
    r4)rr4s              r(fieldr=sE6




r*)recursefiltervalue_serializerc*t||||dS)z
    Same as `attr.asdict`, except that collections types are always retained
    and dict is always used as *dict_factory*.

    .. versionadded:: 21.3.0
    T)instr>r?r@retain_collection_types)_asdict)rBr>r?r@s    r(rrs*
) $r*)r>r?c(t|||dS)z
    Same as `attr.astuple`, except that collections types are always retained
    and `tuple` is always used as the *tuple_factory*.

    .. versionadded:: 21.3.0
    T)rBr>r?rC)_astuple)rBr>r?s   r(rrs$
764r*)N)__doc__	functoolsrr_funcsrrDrrF_makerr	r
rr
exceptionsr
r3mutablerr=r&r*r(<module>rNs%%%%%%''''''211111C	
	
	



-CCCCCL		6	6	6

	
	
	

	


*****Z!




 "$							r*
Back to Directory File Manager