f,H ddlZddlZddlmZddlmZmZddlmZ ddl m Z n #e $rdZ YnwxYwgdZ ddl m Z n#e $rGdd eZ YnwxYwGd d eZGd d ZGddeZGddeZGddZe eZ dSdS)N)deque)heappushheappop) monotonic) SimpleQueue)EmptyFullQueue PriorityQueue LifoQueuer)rceZdZ dS)rN__name__ __module__ __qualname__,/opt/alt/python311/lib64/python3.11/queue.pyrrs> rrceZdZ dS)r Nrrrrr r s:Drr ceZdZ ddZdZdZdZdZdZdd Z dd Z d Z d Z dZ dZdZdZeejZd S)r rc0||_||tj|_tj|j|_tj|j|_tj|j|_d|_ dSNr) maxsize_init threadingLockmutex Condition not_emptynot_fullall_tasks_doneunfinished_tasksselfrs r__init__zQueue.__init__"s}  7 ^%% #,TZ88"+DJ77 (1$*== !rc |j5|jdz }|dkr.|dkrtd|j||_ddddS#1swxYwYdS)Nrz!task_done() called too many times)r!r" ValueError notify_all)r$ unfinisheds r task_donezQueue.task_done9s   / /.2JQ>>$%HIII#..000$.D !  / / / / / / / / / / / / / / / / / /sAAA #A c |j5|jr |j|j ddddS#1swxYwYdSN)r!r"waitr$s rjoinz Queue.joinOs   + +' +#((***' + + + + + + + + + + + + + + + + + + +s(>AAcn |j5|cdddS#1swxYwYdSr-r_qsizer/s rqsizez Queue.qsize\s|G Z ! !;;== ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s *..cp |j5| cdddS#1swxYwYdSr-r2r/s remptyz Queue.emptyas Z % %{{}}$ % % % % % % % % % % % % % % % % % %s +//c |j5d|jcxko|knccdddS#1swxYwYdSr)rrr3r/s rfullz Queue.fullos Z 5 5t|4444t{{}}4444 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s'=AATNc |j5|jdkr|s%||jkrtn|T||jkr6|j||jk6n|dkrt dt |z}||jkrU|t z }|dkrt|j|||jkU|||xjdz c_|j ddddS#1swxYwYdS)Nr''timeout' must be a non-negative numberr') r rr3r r.r(time_putr"rnotify)r$itemblocktimeoutendtime remainings rputz Queue.putzs ] $ $|a6{{}} 44" 5_++--4<77 **,,,++--4<77q[[$%NOOO"ffw.G++--4<77$+dff$4 $++"&J **9555 ++--4<77 IIdOOO  ! !Q & ! ! N ! ! # # #' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $sE E66E:=E:ct |j5|s|stn|B|s-|j|-n|dkrt dt |z}|sL|t z }|dkrt|j||L|}|j|cdddS#1swxYwYdS)Nrr:r;) rr3rr.r(r<_getr r>)r$r@rArBrCr?s rgetz Queue.getsu ^   3{{}} K ++--*N'')))++--*1 !JKKK&&7*++--3 '$&& 0I C''# N'' 222 ++--3 99;;D M " " "%                  sDD--D14D1c2 ||dSNF)r@rDr$r?s r put_nowaitzQueue.put_nowait xxEx***rc0 |dSrIrGr/s r get_nowaitzQueue.get_nowait xxex$$$rc,t|_dSr-)rqueuer#s rrz Queue._initsWW rc*t|jSr-lenrSr/s rr3z Queue._qsize4:rc:|j|dSr-rSappendrKs rr=z Queue._put $rc4|jSr-)rSpopleftr/s rrFz Queue._getsz!!###r)rTN)rrrr%r+r0r4r6r8rDrGrLrPrr3r=rF classmethodtypes GenericAlias__class_getitem__rrrr r s  """".///, + + +!!! % % % 5 5 5$$$$@>+++%%%   $$$$ E$677rr c(eZdZ dZdZdZdZdS)r cg|_dSr-rSr#s rrzPriorityQueue._init  rc*t|jSr-rUr/s rr3zPriorityQueue._qsizerWrc0t|j|dSr-)rrSrKs rr=zPriorityQueue._putsT"""""rc*t|jSr-)rrSr/s rrFzPriorityQueue._getstz"""rNrrrrr3r=rFrrrr r sU ########rr c(eZdZ dZdZdZdZdS)r cg|_dSr-rer#s rrzLifoQueue._initrfrc*t|jSr-rUr/s rr3zLifoQueue._qsizerWrc:|j|dSr-rYrKs rr=zLifoQueue._putr[rc4|jSr-)rSpopr/s rrFzLifoQueue._getsz~~rNrjrrrr r sSL        rr c^eZdZ dZd dZd dZdZdZdZd Z e e j Z dS) _PySimpleQueuec^t|_tjd|_dSr)r_queuer Semaphore_countr/s rr%z_PySimpleQueue.__init__ s#gg )!,, rTNcn |j||jdSr-)rtrZrvrelease)r$r?r@rAs rrDz_PySimpleQueue.puts9 4    rc ||dkrtd|j||st|jS)Nrr:)r(rvacquirerrtr])r$r@rAs rrGz_PySimpleQueue.getsY   7Q;;FGG G{""5'22 K{""$$$rc2 ||dSrIrJrKs rrLz_PySimpleQueue.put_nowait*rMrc0 |dSrIrOr/s rrPz_PySimpleQueue.get_nowait2rQrc4 t|jdkSrrVrtr/s rr6z_PySimpleQueue.empty:sQ4;1$$rc, t|jSr-r~r/s rr4z_PySimpleQueue.qsize>sG4;rr^)rrrr%rDrGrLrPr6r4r_r`rarbrrrrrrrs---%%%%"+++%%%%%%   $ E$677rrr)rr` collectionsrheapqrrr<rrtr ImportError__all__r Exceptionr r r r rrrrrrs- ########"""""""""""""KKK R Q Q                    9   @8@8@8@8@8@8@8@8F#####E###&          @8@8@8@8@8@8@8@8F KKKs&00?AA