fddlZddlZddlmZddlmZddlmZmZejZ gdZ ej ej ej ejejejejejejejejejejejdZdZd Zd Zd dd d Zd dd dZdZddZ dZ!dZ"dZ#dZ$iZ%ej&Z'Gdde(Z)Gdde)Z*Gdde)Z+Gdde+Z,dS)N)heap) get_context) reductionassert_spawning)RawValueRawArrayValueArraycopy synchronized)cubBhHiIlLqQfdcttj|}tj|}t ||dSN)ctypessizeofr BufferWrapper rebuild_ctype)type_sizewrappers C/opt/alt/python311/lib64/python3.11/multiprocessing/sharedctypes.py _new_valuer&'s3 =  D &&G  . ..c t||}t|}tjtj|dtj||j||SNr)typecode_to_typegetr&rmemset addressofr__init__)typecode_or_typeargsr"objs r%rr,sj  !13C D DE U  C M&"3''FM#,>,>???CL$ Jr'c^ t||}t|trP||z}t |}t jt j|dt j||S|t|z}t |}|j ||Sr)) r*r+ isinstanceintr&rr,r-rlenr.)r/size_or_initializerr"r1results r%r r 6s  !13C D DE%s++ ++ f&s++Q c0B0BCCC /000E"",-- r'T)lockctxc t|g|R}|dur|S|dvr$|p t}|}t|dst d|zt |||SNF)TNacquirez%r has no method 'acquire')r9)rrRLockhasattrAttributeErrorr )r/r8r9r0r1s r%r r Fs # +d + + +C u}}  |"[]]yy{{ 4 # #B9D@AAA Ts + + ++r'c t||}|dur|S|dvr$|p t}|}t|dst d|zt |||Sr;)r rr=r>r?r )r/r6r8r9r1s r%r r Ts #%8 9 9C u}}  |"[]]yy{{ 4 # #B9D@AAA Ts + + ++r'cltt|}|tj|d<|Sr))r&typerpointer)r1new_objs r%r r bs.c##G!$FN7A Nr'c|p t}t|tjrt |||St|tjr5|jtjurt|||St|||St|} t|}nX#t$rKd|j D}d|D}d|jz}t|tf|x}t|<YnwxYw||||S)Ncg|] }|d S)r).0fields r% z synchronized..vs888%U1X888r'c.i|]}|t|SrG) make_property)rHnames r% z synchronized..ws"===t}T**===r' Synchronized)rr3r _SimpleCDatarOr _type_c_charSynchronizedStringSynchronizedArrayrB class_cacheKeyError_fields___name__SynchronizedBase)r1r8r9clssclsnamesr classnames r%r r gs) C#v*++$Cs+++ C & & $ : & &%c455 5 dC0003ii Ns#DD N N N883<888E==u===A&5I&*97G6I1&M&M MD;s###  N tCs###s B))AC>=C>ct|t|tjrt|j|j|jffStt||jdffSr) rr3rr r!rQ_wrapper_length_rB)r1s r% reduce_ctyperasVC#v|$$>sz3<FFFtCyy#,===r'c|||z}t|t|}||}||_|Sr)_ForkingPicklerregisterracreate_memoryview from_bufferr_)r"r$lengthbufr1s r%r!r!sW UL111  # # % %C   C CCL Jr'c t|S#t$r9i}tt|fdzz|||t|<||cYSwxYw)N) prop_cacherVexectemplate)rMrs r%rLrLsh$   X$ #Q'''T7 4w s AAAz def get%s(self): self.acquire() try: return self._obj.%s finally: self.release() def set%s(self, value): self.acquire() try: self._obj.%s = value finally: self.release() %s = property(get%s, set%s) c:eZdZd dZdZdZdZdZdZdZ dS) rYNc||_|r||_n+|ptd}||_|jj|_|jj|_dS)NT)force)_obj_lockrr=r<release)selfr1r8r9s r%r.zSynchronizedBase.__init__sZ  %DJJ04000CDJz) z) r'c4|jSr)rr __enter__rts r%rvzSynchronizedBase.__enter__sz##%%%r'c |jj|Sr)rr__exit__)rtr0s r%ryzSynchronizedBase.__exit__s"tz"D))r'cJt|t|j|jffSr)rr rqrrrws r% __reduce__zSynchronizedBase.__reduce__s$di444r'c|jSrrqrws r%get_objzSynchronizedBase.get_objs yr'c|jSr)rrrws r%get_lockzSynchronizedBase.get_locks zr'cBdt|jd|jdS)N)rBrXrqrws r%__repr__zSynchronizedBase.__repr__s$(,T (;(;(;TYYYGGr'NN) rX __module__ __qualname__r.rvryr{r~rrrGr'r%rYrYs****&&&***555HHHHHr'rYc$eZdZedZdS)rOvalueN)rXrrrLrrGr'r%rOrOs M' " "EEEr'rOc,eZdZdZdZdZdZdZdS)rTc*t|jSr)r5rqrws r%__len__zSynchronizedArray.__len__s49~~r'cT|5|j|cdddS#1swxYwYdSrr})rtrs r% __getitem__zSynchronizedArray.__getitem__su   9Q<                  !!cP|5||j|<ddddS#1swxYwYdSrr})rtrrs r% __setitem__zSynchronizedArray.__setitem__sw  ! ! DIaL ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s cX|5|j||cdddS#1swxYwYdSrr})rtstartstops r% __getslice__zSynchronizedArray.__getslice__sz  ) )9U4Z( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s ##cT|5||j||<ddddS#1swxYwYdSrr})rtrrvaluess r% __setslice__zSynchronizedArray.__setslice__s|  + +$*DIeDj ! + + + + + + + + + + + + + + + + + +rN)rXrrrrrrrrGr'r%rTrTs_   !!!)))+++++r'rTc:eZdZedZedZdS)rSrrawN)rXrrrLrrrGr'r%rSrSs, M' " "E -  CCCr'rSr)-rweakrefrrcontextrrForkingPicklerrc__all__rRc_wcharc_bytec_ubytec_shortc_ushortc_intc_uintc_longc_ulong c_longlong c_ulonglongc_floatc_doubler*r&rr r r r r rar!rLrmrkWeakKeyDictionaryrUobjectrYrOrTrSrGr'r%rsQ ////////* L L L       !3 ///  )-$ , , , , ,:>4 , , , , , $$$$2>>>   'g')) HHHHHvHHH@#########+++++(+++,*r'