+
    "Ý³j  ã                   ór   € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RI Ht ^RIH	t	  ! R R4      t
 ! R R4      tR# )é    N)ÚThreadPoolExecutor)Úcapture_device_telemetryc                   ór   a € ] tR t^t o RtRV 3R lR lltV 3R lR ltR tRV 3R lR	 lltRR
 lt	Rt
V tR# )ÚAsyncManagerzCSingle-queue async offloader. Submit only callables (fn or lambda).c                ó    <€ V ^8„  d   QhRS[ /# )é   Úthreads)Úint)ÚformatÚ__classdict__s   "€ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/threads.pyÚ__annotate__ÚAsyncManager.__annotate__   s   ø€ ÷ !ñ !±cñ !ó    c                óš   € V^ 8”  g   Q h\        W!R7      V n        \        P                  ! 4       V n        \        4       V n        RV n        R# )r   )Úmax_workersÚthread_name_prefixN)r   Ú_execÚ	threadingÚLockÚ_lockÚsetÚ_futuresÚ_last_future)ÚselfÚnamer	   s   &&&r   Ú__init__ÚAsyncManager.__init__   s9   € Ø˜Œ{Ðˆ{Ü'°GÔUˆŒ
Ü—^’^Ó%ˆŒ
Ü›ˆŒØ ˆÖr   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# )r   ÚfÚreturnN©ÚcfÚFuture)r   r   s   "€r   r   r      s   ø€ ÷ %ñ %¡§¡ð %¨tñ %r   c                óž   € V P                   ;_uu_ 4        V P                  P                  V4       R R R 4       R #   + '       g   i     R # ; i©N)r   r   Údiscard)r   r    s   &&r   Ú_discard_futureÚAsyncManager._discard_future   s)   € Ø�Z�Z‹ZØ�M‰M×!Ñ! !Ô$÷ �Z�ZŠZús	   •;»A	c                ón  a€ \        S4      '       g   \        R4      hV3R lpV P                  P                  \	        V4      4      pVP                  V P                  4       V P                  ;_uu_ 4        V P                  P                  V4       W0n
        RRR4       V#   + '       g   i     T# ; i)z9Submit a callable (function or lambda). Returns a Future.z(AsyncOffloader.submit expects a callablec                  ó^   <€  S ! 4       #   \          d    \        P                  ! 4        h i ; ir&   )Ú	ExceptionÚ	tracebackÚ	print_exc)Úfns   €r   Ú_runnerÚ$AsyncManager.submit.<locals>._runner"   s-   ø€ ðÙ“t�øÜô Ü×#Ò#Ô%Øðús   ƒ
 Š",N)ÚcallableÚ	TypeErrorr   Úsubmitr   Úadd_done_callbackr(   r   r   Úaddr   )r   r/   r0   Úfuts   &f  r   r4   ÚAsyncManager.submit   s‰   ø€ ä˜�|Š|ÜÐFÓGÐGõ	ð �j‰j×ÑÔ 8¸Ó AÓBˆØ×Ñ˜d×2Ñ2Ô3Ø�Z�Z‹ZØ�M‰M×Ñ˜cÔ"Ø #Ô÷ ð ˆ
÷ ŽZð ˆ
ús   Á7"B#Â#B4	Nc                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   Úfuturer"   )r   r   s   "€r   r   r   0   s   ø€ ÷ [ñ [©¯©ñ [r   c                ó®  € Vf   RM\         P                   ! 4       V,           pVeA   Vf   RM%\        RV\         P                   ! 4       ,
          4      pVP                  VR7       R#  V P                  ;_uu_ 4        V P                   Uu0 uF  qUP                  4       '       d   K  VkK  	  ppRRR4       X'       g   R# Vf   RM%\        RV\         P                   ! 4       ,
          4      pVR8X  d   Rp\        P                  ! Wd\        P                  R7      w  rxV'       g   KÁ  \        \        V4       R24      hu upi   + '       g   i     L�; i)zµ
Wait for tasks to complete.
  - If `future` is given, wait for that specific one.
  - Else, wait for all currently in-flight tasks.
Respects `timeout` as a total budget (seconds).
Ng        )Útimeout)r<   Úreturn_whenz$ task(s) not finished before timeout)ÚtimeÚmaxÚresultr   r   Údoner#   ÚwaitÚALL_COMPLETEDÚTimeoutErrorÚlen)	r   r<   r:   ÚdeadlineÚ	remainingr    ÚpendingrA   Únot_dones	   &&&      r   ÚjoinÚAsyncManager.join0   sõ   € ð #š?‘4´·²³¸wÕ1FˆàÒà (Ò 0™´c¸#¸xÌ$Ï)Ê)Ë+Õ?UÓ6VˆIØ�M‰M )ˆMÔ,Ùð Ø——“Ø&*§m¢mÓD¡m ¿6¹6¿8Ÿ1˜1¡m�ÐD÷ çÙØ (Ò 0™´c¸#¸xÌ$Ï)Ê)Ë+Õ?UÓ6VˆIØ˜CÔà�	ÜŸWšW WÌR×M]ÑM]Ô^‰NˆDß‰xÜ"¤c¨(£m _Ð4XÐ#YÓZÐZùò E÷ —ús$   Á<EÂD?Â'D?Â-EÄ?EÅE	c                ó6  € V'       dJ   V P                   ;_uu_ 4        \        V P                  4       F  pVP                  4        K  	  RRR4       V'       d   V P	                  4        V P
                  P                  VR7       R#   + '       g   i     LF; i)z§
Shut down the executor.
  - If `cancel_pending` is True, attempts to cancel futures that haven't started.
  - If `wait` is True, waits for all in-flight tasks first.
N)rB   )r   Úlistr   ÚcancelrJ   r   Úshutdown)r   rB   Úcancel_pendingr    s   &&& r   rO   ÚAsyncManager.shutdownM   s\   € ÷ Ø——“Ü˜dŸm™mÖ,�AØ—H‘H–Jñ -÷ ÷ Ø�I‰IŒKØ�
‰
×Ñ ÐÖ&÷ —ús   �-BÂB	)r   r   r   r   )zasyncmanager-é   )NN)TF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r(   r4   rJ   rO   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s7   ø‡ € ÙM÷!ò !÷%ð %ò÷&[ò [÷:'ò 'r   r   c                   óF   a € ] tR t^\t o RR ltR tR tR	R ltR tRt	V t
R# )
ÚSerialWorkerc                ó¾   € \         P                  ! 4       V n        \        P                  ! V P
                  VR R7      V n        V P                  P                  4        R# )T)Útargetr   ÚdaemonN)ÚqueueÚQueueÚ_qr   ÚThreadÚ_loopÚ_tÚstart)r   r   s   &&r   r   ÚSerialWorker.__init__]   s6   € Ü—+’+“-ˆŒÜ×"Ò"¨$¯*©*¸4ÈÔMˆŒØ�‰�‰Žr   c                ó  €  V P                   P                  4       pVf   R#  V! 4        V P                   P                  4        KE    \         d    \        P                  ! 4         L>i ; i  T P                   P                  4        i ; i)TN)rb   Úgetr,   r-   r.   Ú	task_done©r   r/   s   & r   rd   ÚSerialWorker._loopb   sh   € ØØ—‘—‘“ˆBØŠzÙð$Ù”ð —‘×!Ñ!Ö#øô ô &Ü×#Ò#Ö%ð&ûð —‘×!Ñ!Õ#ús#   £A Á A)Á&A, Á(A)Á)A, Á,Bc                ó†   € \        V4      '       g   \        R 4      hV P                  P                  \	        V4      4       R# )zsubmit expects a callableN)r2   r3   rb   Úputr   rk   s   &&r   r4   ÚSerialWorker.submitn   s-   € Ü˜�|Š|ÜÐ7Ó8Ð8Ø�‰�‰Ô,¨RÓ0Ö1r   Nc                ó:   € V P                   P                  4        R # r&   )rb   rJ   )r   r<   s   &&r   rJ   ÚSerialWorker.joins   s   € Ø�‰�‰Žr   c                óp   € V P                   P                  R 4       V P                  P                  4        R # r&   )rb   rn   re   rJ   )r   s   &r   rO   ÚSerialWorker.shutdownv   s   € Ø�‰�‰�DÔØ�‰�‰Žr   )rb   re   )zserial-workerr&   )rS   rT   rU   rV   r   rd   r4   rJ   rO   rX   rY   rZ   s   @r   r\   r\   \   s#   ø‡ € ôò

$ò2ô
÷ð r   r\   )Úconcurrent.futuresÚfuturesr#   r`   r   r>   r-   r   Údevice_telemetryr   r   r\   © r   r   Ú<module>rx      s3   ðõ  Û Û Û Û Ý 1å 6÷I'ñ I'÷Xó r   