idjddlZddlmZddlZdejd<GddZGddZGd d eZGd d eZ Gd de Z dZ dZ e defe e dZ[ [ eZeZeZe ZeZejdkrddlZGddejeZnGddeeZdZdZdZddlmZedddgZeddZ edddgZ!d e!_"d e!_#e!ddZ$ed!ddgZ%e%ddZ&ed"d#d$gdg%Z'e'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-Gd,deZ.d-Z/e.e/Z0Gd.d/eZ1d0Z2d1Z3d2Z4d3Z5d4Z6e"d5krzeeee)e*e+e,e-e2e3e5e6dSdS)6N)EnumMetaTrecurseceZdZdZdZdS)_classcdSNselfs M/opt/cloudlinux/venv/lib/python3.11/site-packages/dill/tests/test_classdef.py_methodz_class._method cdSNTr r s r okz _class.oktrN__name__ __module__ __qualname__r rr rr rr2   rrceZdZdZdZdS)_class2cdSrr r s r __call__z_class2.__call__rrcdSrr r s r rz _class2.okrrNrrrrrr rr rrrrrceZdZdZdZdS) _newclasscdSrr r s r r z_newclass._methodrrcdSrr r s r rz _newclass.okrrNrr rr r r rrr ceZdZdZdZdS) _newclass2cdSrr r s r rz_newclass2.__call__"rrcdSrr r s r rz _newclass2.ok$rrNrr rr r$r$!rrr$ceZdZdS)_metaNrrrr rr r(r('sDrr(cdSrr r s r rr*sDrcdSrr r s r rr,s 4r_mclass)rri ceZdZdS customIntListNr)r rr r/r/< rr/ceZdZdSr.r)r rr r/r/?r0rcdSrr r rr test_class_instancesr3Crctttttg}t t tttg}d|D}d|D}|D](}t |j )~dD]#}t |$~~t||D]8\}}tj|}tj|}|j dkr9dS)Nc6g|]}tj|Sr dilldumps.0objs r z&test_class_objects..M 333C 3333rc6g|]}tj|Sr r7r:s r r=z&test_class_objects..Nr>r)oocnncr,)rrr r$r,r@rArBrCmglobalspoprzipr8loads)clslistobjlist_clslist_objlistr<cls_cls_objs r test_class_objectsrPJsgi 7;GAbmG337333H337333H$$ cl####" c x))22Cz#z# =I % % 22rcdSrr r rr test_specialtypesrRar4r) namedtupleZabYXFakeNameDefaultsxy)defaultscLGdd}|}ddlmfd}dS)Nc PeZdZGddedddgZde_dS)test_namedtuple..AceZdZdZdS)test_namedtuple..A.B docstringN)rrr__doc__r rr Brds OOOrrgConetwotestingN)rrrrSrgr rr ArbsO      3//     rrlr) NamedTuplec$Gdd}|S)NceZdZUeed<dS)%test_namedtuple..A..Br\N)rrrint__annotations__r rr rgrpsFFFFFrrgr )rgrms r rlztest_namedtuple..As2         r)typingrm)rlrUrms @r test_namedtuplerttso!!!!!!!! A"!!!!!rc\ ddl}|d}dS#t$rYdSwxYw)Nrrq)numpydtype ImportError)npdtis r test_dtyper{sAhhuoo s  ++cd ddl}|dg}|f}dS#t$rYdSwxYw)NrrW)rvarrayrx)ryr\r]s r test_array_nestedr~sJ HHaSMM D s ! //cj ddlGfddj}|dd}tjjs|dd}tjjsGdd j}|gd }d|_tjjsdSdS#t$rYdSwxYw) Nrc*eZdZfdZdZfdZdS)&test_array_subclass..TestArraycf||}||_|Sr)asarrayviewcolor)rM input_arrayrr<rys r __new__z.test_array_subclass..TestArray.__new__s.jj--22377!  rcd|dSt|t|r|j|_dSdSr) isinstancetyper)r r<s r __array_finalize__z9test_array_subclass..TestArray.__array_finalize__s;;Fc4::..+!$DJJJ++rc<||jfSr)rr)r rys r __getnewargs__z5test_array_subclass..TestArray.__getnewargs__szz$''33rN)rrrrrr)rysr TestArrayrsV      + + +  4 4 4 4 4 4 4rrdgreen)r ceZdZdZdS)'test_array_subclass..TestArray2blueN)rrrrr rr TestArray2rsEEErr)rWr_)rvndarrayzerosr8_dillIS_PYPYrrx)ra1a2ra3rys @r test_array_subclassrs# 4 4 4 4 4 4 4 4 4 4Yrxx}}G 4 4 4z! 9!Wz! 9        Z $ $z! 9 9 9 9 9 sBB$$ B21B2cGddt}|}tj|}tj|}|jdS)Nc$eZdZedZdS) test_method_decorator..AcdSrr )rMs r testz%test_method_decorator..A.tests rN)rrr classmethodrr rr rlrs-  {   rrl)objectr8r9rH __class__r)rlrUresnew_objs r test_method_decoratorrsn     F   A *Q--CjooG rceZdZdZdZdS)rX)r] __weakref__c||_dSrr]r r]s r __init__z Y.__init__ DFFFrNrrr __slots__rr rr rXrXs(")r{ceZdZdZdZdS)Y2r]c||_dSrrrs r rz Y2.__init__rrNrr rr rrs()rrcdSrr r rr test_slotsrr4rcdSrr r rr test_origbasesrr4rc^ddljGfdd}|d}dS)Nrc8eZdZZdS)test_attr..AN)rrribrU)attrsr rlrs GGIIrrlrW)rs)rlvrs @r test_attrrs]KKK V V !AAArczGddt}t}tdd||d}dS)Nc$eZdZfdZdZxZS)*test_metaclass..metaclass_with_newcBtj||||fi|}|Sr)superr)mclsnamebasesnskwdsrMrs r rz2test_metaclass..metaclass_with_new.__new__s-!%''/$eR@@4@@CJrc"t||Sr)r)rMrs r methodz1test_metaclass..metaclass_with_new.methodsc4(( (r)rrrrr __classcell__)rs@r metaclass_with_newrsG       ) ) ) ) ) ) )rrzclass subclass_with_new(metaclass=metaclass_with_new): def __new__(cls): self = super().__new__(cls) return selfsubclass_with_new)rlocalsexec)rlrs r test_metaclassrsi)))))T))) A !!%%%-.rcddlm}ddl}dS)Nr) HTTPStatus)httprenum)rrs r test_enummetars!KKKKKr__main__)7r8rrsyssettingsrrrr r$rr(rrr,r@rArBrCrD hexversionrsListrqr/listr3rPrR collectionsrSrTZirYrrXiBadBadir[ Defaultsirtr{r~rrrXvaluer]rrrrrrr rr rs   i         D       % F982&F&F G G  FHH WYY IKKZ\\ GII>JMMM      C(         S    222.((( #"""""JsSIQqVVJsSI  QqVVjc#Y'' s1Qxx :j3*s ; ; ; HQKK MMMB$$$N    AeHH +++SSS***&555  zOJLLLJLLLNNMOOOOOr