+
     Bi/                        . ROt ^ RIt^ RIt^ RIt^ RIt^ RIt^RIHt ^RIHt ^R	IH	t	  ^ R
IH
t
Ht ^ t^t]P                  P                  t ! R R]4      t
 ! R R]
4      t ! R R]4      t ! R R ]
4      t ! R R]
4      t ! R R]4      t ! R R]4      t ! R R]P.                  4      tR#   ] d
    ]! R4      hi ; i)LockRLock	SemaphoreBoundedSemaphore	ConditionEventN)context)process)util)SemLock
sem_unlinkc                      a  ] tR t^-t o ]P
                  ! 4       tR t]R 4       t	R t
R tR tR tR tR t]R	 4       tR
tV tR# )r   c               @   Vf   \         P                  P                  4       pVP                  4       R8H  V n        \
        P                  R8H  ;'       g    V P                  p\        ^d4       F0  p \        P                  ! WW0P                  4       V4      ;qpn         M	  \        R4      h\        P                  ! RVP                  ,          4       V P!                  4        \
        P                  R8w  d   R p\        P"                  ! W4       V P                  P$                  ec   ^RIHp	 V	! V P                  P$                  R4       \        P*                  ! V \        P,                  V P                  P$                  3^ R7       R # R #   \         d     EK/  i ; i)	Nforkwin32zcannot find name for semaphorezcreated semlock with handle %sc                 :    V P                   P                  4        R # N)_semlock_after_fork)objs   &2/usr/lib/python3.14/multiprocessing/synchronize.pyr   %SemLock.__init__.<locals>._after_forkF   s    ((*    )register	semaphore)exitpriority)r   _default_contextget_contextget_start_method_is_fork_ctxsysplatformrange_multiprocessingr   
_make_namer   FileExistsErrorr
   debughandle_make_methodsregister_after_forknameresource_trackerr   Finalize_cleanup)
selfkindvaluemaxvaluectx
unlink_nowislr   r   s
   &&&&$     r   __init__SemLock.__init__1   sD   ;**668C002f<\\W,AA0A0A
sA%5%=%=??+<&   ]   ""BCC

3bii?@<<7"+$$T7==) 3T]]''5MM$ 0 04==3E3E2G'(* * # s   1,FFFc                :    ^RI Hp \        V 4       V! V R4       R# )   )
unregisterr   N)r+   r:   r   )r*   r:   s   & r   r-   SemLock._cleanupS   s    044%r   c                r    V P                   P                  V n        V P                   P                  V n        R # r   )r   acquirereleaser.   s   &r   r(   SemLock._make_methodsY   s$    }},,}},,r   c                6    V P                   P                  4       # r   )r   _is_zeror?   s   &r   lockedSemLock.locked]   s    }}%%''r   c                6    V P                   P                  4       # r   )r   	__enter__r?   s   &r   rF   SemLock.__enter__`   s    }}&&((r   c                6    V P                   P                  ! V!  # r   )r   __exit__r.   argss   &*r   rI   SemLock.__exit__c   s    }}%%t,,r   c                f   \         P                  ! V 4       V P                  p\        P                  R 8X  d0   \         P
                  ! 4       P                  VP                  4      pM)V P                  '       d   \        R4      hVP                  pW!P                  VP                  VP                  3# )r   zA SemLock created in a fork context is being shared with a process in a spawn context. This is not supported. Please use the same context to create multiprocessing objects and Process.)r   assert_spawningr   r    r!   get_spawning_popenduplicate_for_childr'   r   RuntimeErrorr/   r1   r*   )r.   r5   hs   &  r   __getstate__SemLock.__getstate__f   s    %]]<<7"**,@@KA   " $J K K 		A77BKK11r   c                    \         P                  P                  ! V!  V n        \        P
                  ! R V^ ,          ,          4       V P                  4        RV n        R# )z recreated blocker with handle %rFN)r#   r   _rebuildr   r
   r&   r(   r   r.   states   &&r   __setstate__SemLock.__setstate__t   sD    (00995A

5a@A!r   c                     \         P                  ! 4       P                  R ,          : R\        \        P
                  4      : 2# )	semprefix-)r	   current_process_confignextr   _rand r   r   r$   SemLock._make_name{   s2    !113;;KHHw}}-/ 	/r   )r   r   r=   r>   N)__name__
__module____qualname____firstlineno__tempfile_RandomNameSequencera   r6   staticmethodr-   r(   rC   rF   rI   rS   rY   r$   __static_attributes____classdictcell____classdict__s   @r   r   r   -   s_     ((*E *D & &
-()-2" / /r   r   c                   6   a  ] tR t^t o RR ltR tR tRtV tR# )r   c               L    \         P                  ! V \        V\        VR 7       R# r2   N)r   r6   	SEMAPHORESEM_VALUE_MAXr.   r0   r2   s   &&$r   r6   Semaphore.__init__   s    y%CHr   c                6    V P                   P                  4       # r   )r   
_get_valuer?   s   &r   	get_valueSemaphore.get_value   s    }}''))r   c                     V P                   P                  4       pRV P                  P                  : RV: R2#   \         d    R p L.i ; i)unknown<(value=)>)r   rx   	Exception	__class__rd   r.   r0   s   & r   __repr__Semaphore.__repr__   sG    	MM,,.E $(>>#:#:EBB  	E	s   ; A
Arb   Nr9   )	rd   re   rf   rg   r6   ry   r   rk   rl   rm   s   @r   r   r      s     I*C Cr   c                   0   a  ] tR t^t o RR ltR tRtV tR# )r   c               B    \         P                  ! V \        WVR 7       R# rq   r   r6   rs   ru   s   &&$r   r6   BoundedSemaphore.__init__   s    y%C@r   c                     V P                   P                  4       pRV P                  P                  : RV: RV P                   P
                  : R2#   \         d    R p LFi ; i)r|   r}   r~   z, maxvalue=r   )r   rx   r   r   rd   r1   r   s   & r   r   BoundedSemaphore.__repr__   sY    	MM,,.E ''0F0FH 	H  	E	s   A A#"A#rb   Nr   rd   re   rf   rg   r6   r   rk   rl   rm   s   @r   r   r      s     AH Hr   c                   ,   a  ] tR t^t o R tR tRtV tR# )r   c               D    \         P                  ! V \        ^^VR7       R# r9   rr   Nr   r.   r2   s   &$r   r6   Lock.__init__   s    y!QC8r   c                    V P                   P                  4       '       dr   \        P                  ! 4       P                  p\
        P                  ! 4       P                  R 8w  d.   VR\
        P                  ! 4       P                  ,           ,          pMHV P                   P                  4       '       g   RpM%V P                   P                  4       ^ 8  d   RpMRp RV P                  P                  : RV: R2#   \         d    Rp L.i ; i)	
MainThread|NoneSomeOtherThreadSomeOtherProcessr|   r}   z(owner=r   )r   _is_miner	   r^   r*   	threadingcurrent_threadrB   _countr   r   rd   )r.   r*   s   & r   r   Lock.__repr__   s    	}}%%''..055++-22lBC)":":"<"A"AAAD]]++--%%'!+() $(>>#:#:DAA  	D	s/   C: A0C: C: 3C: 6!C: C: :D
	D
rb   Nr   rm   s   @r   r   r      s     9B Br   c                   ,   a  ] tR t^t o R tR tRtV tR# )r   c               D    \         P                  ! V \        ^^VR7       R# r   )r   r6   RECURSIVE_MUTEXr   s   &$r   r6   RLock.__init__   s    1#>r   c                ^    V P                   P                  4       '       d   \        P                  ! 4       P                  p\
        P                  ! 4       P                  R 8w  d.   VR\
        P                  ! 4       P                  ,           ,          pV P                   P                  4       pMKV P                   P                  4       '       g   R^ r!M'V P                   P                  4       ^ 8  d   RRr!MRRr! RV P                  P                  : RV: R	V: R
2#   \         d    RRr! L3i ; i)r   r   r   r   nonzeror   r|   r}   (, r   )r   r   r	   r^   r*   r   r   r   rB   r   r   rd   )r.   r*   counts   &  r   r   RLock.__repr__   s    	/}}%%''..055++-22lBC)":":"<"A"AAAD,,.]]++--$ae%%'!+/e0)e "&!8!8$FF  	/#Y%	/s/   D B
D -D D "D 4D D,+D,rb   Nr   rm   s   @r   r   r      s     ?G Gr   c                   r   a  ] tR t^t o RR ltR tR tR tR tR t	R t
RR	 ltRR
 ltR tRR ltRtV tR# )r   Nc                   T;'       g    VP                  4       V n        VP                  ^ 4      V n        VP                  ^ 4      V n        VP                  ^ 4      V n        V P                  4        R#     N)r   _lockr   _sleeping_count_woken_count_wait_semaphorer(   )r.   lockr2   s   &&$r   r6   Condition.__init__   sV    ((SYY[
"}}Q/MM!,"}}Q/r   c                    \         P                  ! V 4       V P                  V P                  V P                  V P
                  3# r   )r   rN   r   r   r   r   r?   s   &r   rS   Condition.__getstate__   s:    %

D00!!4#7#79 	9r   c                \    Vw  V n         V n        V n        V n        V P	                  4        R # r   )r   r   r   r   r(   rW   s   &&r   rY   Condition.__setstate__   s*    49	2T)		D0r   c                6    V P                   P                  4       # r   )r   rF   r?   s   &r   rF   Condition.__enter__   s    zz##%%r   c                6    V P                   P                  ! V!  # r   )r   rI   rJ   s   &*r   rI   Condition.__exit__   s    zz""D))r   c                r    V P                   P                  V n        V P                   P                  V n        R # r   )r   r=   r>   r?   s   &r   r(   Condition._make_methods   s$    zz))zz))r   c                    V P                   P                  P                  4       V P                  P                  P                  4       ,
          pRV P
                  P                  : RV P                  : RV: R2#   \         d    R p L<i ; i)r|   r}   r   r   r   )r   r   rx   r   r   r   rd   r   )r.   num_waiterss   & r   r   Condition.__repr__   ss    	$//88CCE,,55@@BCK "&!8!8$**kRR  	$#K	$s   AA< <BBc                2   V P                   P                  4        V P                  P                  P	                  4       p\        V4       F  pV P                  P                  4        K  	   V P                  P                  R V4      V P                  P                  4        \        V4       F  pV P                  P                  4        K  	  #   T P                  P                  4        \        T4       F  pT P                  P                  4        K  	  i ; i)T)	r   r>   r   r   r   r"   r   r=   r   )r.   timeoutr   r4   s   &&  r   waitCondition.wait   s    
 	$$& 

##**,uAJJ  		%''//g> %%' 5\

""$ " %%' 5\

""$ "s   ,C ADc                   V P                   P                  R 4      '       d   V P                  P                  R 4      pK>  ^ pW18  dG   V P                  P                  R 4      '       d&   V P                  P	                  4        V^,          pKL  V'       dR   \        V4       F  pV P                   P                  4        K  	  V P                  P                  R 4      '       d   K#  R# R# FN)r   r=   r   r   r>   r"   )r.   nressleepersr4   s   &&   r   notifyCondition.notify  s     ''..&&..u5C lt33;;EBB  ((*MH8_!!))+ % &&..u55 6 r   c                F    V P                  \        P                  R 7       R# ))r   N)r   r    maxsizer?   s   &r   
notify_allCondition.notify_all1  s    ckk"r   c                
   V! 4       pV'       d   V# Ve   \         P                  ! 4       V,           pMR pR pV'       gE   Ve'   V\         P                  ! 4       ,
          pV^ 8:  d    V# V P                  X4       V! 4       pKL  V# r   )time	monotonicr   )r.   	predicater   resultendtimewaittimes   &&&   r   wait_forCondition.wait_for4  sw    Mnn&0GGH""T^^%55q=  IIh[Fr   )r   r   r   r   r=   r>   r   r   )rd   re   rf   rg   r6   rS   rY   rF   rI   r(   r   r   r   r   r   rk   rl   rm   s   @r   r   r      sB     9

&**S%.4# r   c                   H   a  ] tR tRt o R tR tR tR tR
R ltR t	R	t
V tR# )r   iJ  c               z    VP                  VP                  4       4      V n        VP                  ^ 4      V n        R# r   )r   r   _condr   _flagr   s   &$r   r6   Event.__init__L  s(    ]]388:.
]]1%
r   c                    V P                   ;_uu_ 4        V P                  P                  R 4      '       d&   V P                  P                  4         RRR4       R#  RRR4       R #   + '       g   i     R# ; iFNT)r   r   r=   r>   r?   s   &r   is_setEvent.is_setP  sK    ZZZzz!!%((

""$ Z 	 ZZZs   =A'A''A8	c                   V P                   ;_uu_ 4        V P                  P                  R 4       V P                  P                  4        V P                   P	                  4        RRR4       R#   + '       g   i     R# ; ir   )r   r   r=   r>   r   r?   s   &r   set	Event.setW  sI    ZZZJJu%JJ JJ!!# ZZZs   AA//B 	c                    V P                   ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; ir   )r   r   r=   r?   s   &r   clearEvent.clear]  s)    ZZZJJu% ZZZs	   ;A	Nc                   V P                   ;_uu_ 4        V P                  P                  R 4      '       d   V P                  P                  4        MV P                   P	                  V4       V P                  P                  R 4      '       d&   V P                  P                  4         RRR4       R#  RRR4       R #   + '       g   i     R# ; ir   )r   r   r=   r>   r   )r.   r   s   &&r   r   
Event.waita  s    ZZZzz!!%((

""$

(zz!!%((

""$ Z  ZZZs   A8B>B>3B>>C	c                    V P                  4       '       d   R MRpR\        V 4      P                   R\        V 4      R RV R2# )r   unsetr}   z at z#x >)r   typerf   id)r.   
set_statuss   & r   r   Event.__repr__m  s?    "kkmmU
4:**+44}Aj\KKr   )r   r   r   )rd   re   rf   rg   r6   r   r   r   r   r   rk   rl   rm   s   @r   r   r   J  s*     &$&
L Lr   c                      a  ] tR tRt o RR ltR tR t]R 4       t]P                  R 4       t]R 4       t
]
P                  R	 4       t
R
tV tR# )Barrierit  Nc                   ^ RI p^RIHp V! VP                  R4      ^,          4      pVP	                  4       pV P                  WW8V34       ^ V n        ^ V n        R# )r   N)BufferWrapperr4   )structheapr   calcsizer   rY   _stater   )	r.   partiesactionr   r2   r   r   wrapperconds	   &&&&$    r   r6   Barrier.__init__v  sN    ' 4q 89}}7G7CDr   c                    Vw  V n         V n        V n        V n        V n        V P                  P                  4       P                  R 4      V n        R# )r4   N)_parties_action_timeoutr   _wrappercreate_memoryviewcast_arrayrW   s   &&r   rY   Barrier.__setstate__  s>    &+	$dm	T]mm557<<SAr   c                t    V P                   V P                  V P                  V P                  V P                  3# r   )r   r   r   r   r   r?   s   &r   rS   Barrier.__getstate__  s,    t||T]]

DMM+ 	+r   c                (    V P                   ^ ,          # )r   r  r?   s   &r   r   Barrier._state      {{1~r   c                "    WP                   ^ &   R# r   r  r   s   &&r   r   r	        Ar   c                (    V P                   ^,          # r   r  r?   s   &r   r   Barrier._count  r
  r   c                "    WP                   ^&   R# )r9   Nr  r   s   &&r   r   r    r  r   )r   r  r   r   r   r   r   r   )NN)rd   re   rf   rg   r6   rY   rS   propertyr   setterr   rk   rl   rm   s   @r   r   r   t  sm     B
+   ]]    ]] r   r   )r   r   r   r   r   r   zjThis platform lacks a functioning sem_open implementation. https://github.com/python/cpython/issues/48020.)__all__r   r    rh   r#   r    r   r	   r
   r   r   ImportErrorr   rs   rt   objectr   r   r   r   r   r   r   rb   r   r   <module>r     s     
      Z4 	 ((66Q/f Q/nC C&Hy H"B7 B2GG G4i i^%LF %LT"i "s
  Z
 Y Z ZZs   B2 2C