+
     °³j!  ã                   óŠ   € ^ RI HtHt ^ RIt^ RIHtHt RR R lltR R ltR R	 ltRR
 R llt	R R lt
R R ltR R ltR# )é    )ÚOptionalÚUnionN)ÚnnÚTensorc                óR   € V ^8„  d   QhR\         \        ,          R\        R\        /# )é   ÚtensorsÚdimÚreturn)Úlistr   Úint)Úformats   "ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/ops/_utils.pyÚ__annotate__r      s%   € ÷ #ñ #”$”v•,ð #¤Sð #´ñ #ó    c                ó`   € \        V 4      ^8X  d
   V ^ ,          # \        P                  ! W4      # )z_
Efficient version of torch.cat that avoids a copy if there is only a single element in a list
)ÚlenÚtorchÚcat)r	   r
   s   &&r   Ú_catr      s)   € ô ˆ7ƒ|�qÔØ�q�zÐÜ�9Š9�WÓ"Ð"r   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r   Úboxesr   )r   r   )r   s   "r   r   r      s   € ÷ ñ ¤t¬F¥|ð ¼ñ r   c                 ó  € \        V  Uu. uF  qNK  	  up^ R7      p. p\        V 4       F2  w  rAVP                  \        P                  ! VR,          V4      4       K4  	  \        V^ R7      p\        P
                  ! WR.^R7      pV# u upi )r   ©r
   ):NNN:Né   N)r   Ú	enumerateÚappendr   Ú	full_liker   )r   ÚbÚconcat_boxesÚtempÚiÚidsÚroiss   &      r   Úconvert_boxes_to_roi_formatr%      sw   € Ü¡EÓ*¡E˜qš¡EÑ*°Ô2€LØ€DÜ˜%Ö ‰ˆØ�‰”E—O’O A e¥H¨aÓ0Ö1ñ !ä
ˆt˜Ô
€CÜ�9Š9�cÐ(¨aÔ0€DØ€Kùò +s   Š
Bc                ó\   € V ^8„  d   QhR\         \        \        \        ,          3,          /# )r   r   )r   r   r   )r   s   "r   r   r      s!   € ÷ 
ñ 
¤¤v¬t´F­|Ð';Õ!<ñ 
r   c                 ój  € \        V \        \        34      '       d5   V  F,  p\        P                  ! VP                  ^4      ^8H  R4       K.  	  R# \        V \        P                  4      '       d,   \        P                  ! V P                  ^4      ^8H  R4       R# \        P                  ! RR4       R# )r   zNThe shape of the tensor in the boxes list is not correct as List[Tensor[L, 4]]z5The boxes tensor shape is not correct as Tensor[K, 5]Fz>boxes is expected to be a Tensor[L, 5] or a List[Tensor[K, 4]]N)Ú
isinstancer   Útupler   Ú_assertÚsizer   )r   Ú_tensors   & r   Úcheck_roi_boxes_shaper-      s‰   € Ü�%œ$¤˜×'Ò'ÛˆGÜ�MŠMØ—‘˜Q“ 1Ñ$Ð&vöñ ñ ô	 
�Eœ5Ÿ<™<×	(Ò	(Ü�Š�e—j‘j “m qÑ(Ð*aÔbñ ô 	�Š�eÐ]Ô^Ù
r   c          	      óÊ   € V ^8„  d   QhR\         P                  R\        \        \        ,          ,          R\
        \        \        ,          \        \        ,          3,          /# )r   ÚmodelÚnorm_classesr   )r   ÚModuler   r   Útyper)   r   )r   s   "r   r   r   )   sC   € ÷ %ñ %Ü�9‰9ð%Ü$,¬T´$­ZÕ$8ð%ä
Œ4”�<œœf�Ð%Õ&ñ%r   c                 ó  € V'       gv   \         P                  P                  P                  \         P                  \         P
                  \         P                  P                  P                  \         P                  .pV F2  p\        V\         P                  4      '       d   K%  \        R V R24      h	  \        V4      p. p. pV P                  4        F¬  p\        VP                  4       R4      '       d+   VP                  R VP!                  RR7       4       4       KM  \#        Wc4      '       d)   VP                  R VP!                  4        4       4       K†  VP                  R VP!                  4        4       4       K®  	  WE3# )zClass z  is not a subclass of nn.Module.Nc              3   óL   "  € T F  qP                   '       g   K  Vx € K  	  R # 5i©N©Úrequires_grad©Ú.0Úps   & r   Ú	<genexpr>Ú-split_normalization_params.<locals>.<genexpr>@   s   é € Ð_Ñ+K aÏÍ§¢Ó+Kùó   ‚$š
$F)Úrecursec              3   óL   "  € T F  qP                   '       g   K  Vx € K  	  R # 5ir5   r6   r8   s   & r   r;   r<   B   s   é € ÐQÑ*= QÇÅŸqšqÓ*=ùr=   c              3   óL   "  € T F  qP                   '       g   K  Vx € K  	  R # 5ir5   r6   r8   s   & r   r;   r<   D   s   é € ÐRÑ+> aÇ/Å/§¢Ó+>ùr=   )r   ÚmodulesÚ	batchnormÚ
_BatchNormÚ	LayerNormÚ	GroupNormÚinstancenormÚ_InstanceNormÚLocalResponseNormÚ
issubclassr1   Ú
ValueErrorr)   ÚnextÚchildrenÚextendÚ
parametersr(   )r/   r0   ÚtÚclassesÚnorm_paramsÚother_paramsÚmodules   &&     r   Úsplit_normalization_paramsrT   )   s)  € ÷ ä�J‰J× Ñ ×+Ñ+Ü�L‰LÜ�L‰LÜ�J‰J×#Ñ#×1Ñ1Ü× Ñ ð
ˆó ˆÜ˜!œRŸY™Y×'Ô'Ü˜v a SÐ(HÐIÓJÐJñ ô �LÓ!€Gà€KØ€LØ—-‘-–/ˆÜ�—‘Ó! 4×(Ò(Ø×ÑÑ_¨6×+<Ñ+<ÀUÐ+<Ô+KÓ_Ö_Ü˜×(Ò(Ø×ÑÑQ¨&×*;Ñ*;Ô*=ÓQÖQà×ÑÑR¨6×+<Ñ+<Ô+>ÓRÖRñ "ð Ð$Ð$r   c                ó0   € V ^8„  d   QhR\         R\         /# ©r   rO   r   ©r   )r   s   "r   r   r   H   s   € ÷ Gñ GŒvð Gœ&ñ Gr   c                 ó2  € V P                  4       '       dB   V P                  \        P                  \        P                  39   d   V # V P                  4       # V P                  \        P                  \        P                  39   d   V # V P                  4       # r5   )	Úis_floating_pointÚdtyper   Úfloat32Úfloat64ÚfloatÚint32Úint64r   ©rO   s   &r   Ú_upcastra   H   sc   € à×Ñ×ÒØ—G‘G¤§¡¬u¯}©}Ð=Ô=ˆqÐLÀ1Ç7Á7Ã9ÐLà—G‘G¤§¡¬U¯[©[Ð9Ô9ˆqÐF¸q¿u¹u»wÐFr   c                ó0   € V ^8„  d   QhR\         R\         /# rV   rW   )r   s   "r   r   r   P   s   € ÷ ñ œð ¤Fñ r   c                 ó„   € V P                   \        P                  \        P                  39  d   V P	                  4       # V # r5   )rZ   r   r[   r\   r]   r`   s   &r   Ú_upcast_non_floatrd   P   s,   € à‡w�w”u—}‘}¤e§m¡mÐ4Ô4Ø�w‰w‹yÐØ€Hr   c                ó®   € V ^8„  d   QhR\         P                  R\         P                  R\        \         P                  \         P                  3,          /# )r   Úboxes1Úboxes2r   )r   r   r)   )r   s   "r   r   r   W   s@   € ÷ ñ Ü�L‰Lðä�L‰Lðô Œ5�<‰<œŸ™Ð%Õ&ñr   c                 ó"  € V P                  RR7      w  r#rEVP                  RR7      w  rgr‰\        P                  ! W&4      p
\        P                  ! W74      p\        P                  ! WH4      p\        P                  ! WY4      p\        P                  ! V4      pWÛ8„  WÊ8„  ,          pWÏ,          W¯,          ,
          Wß,          W¿,          ,
          ,          Wï&   WB,
          WS,
          ,          W†,
          W—,
          ,          ,           V,
          pVV3# )r   r   éÿÿÿÿ)Úunbindr   ÚmaxÚminÚ
zeros_like)rf   rg   Úx1Úy1Úx2Úy2Úx1gÚy1gÚx2gÚy2gÚxkis1Úykis1Úxkis2Úykis2ÚintsctkÚmaskÚunionks   &&               r   Ú_loss_inter_unionr}   W   sÎ   € ð
 —]‘] r�]Ó*�N€BˆBØŸ™¨2˜Ó.Ñ€Cˆcô �IŠI�bÓ€EÜ�IŠI�bÓ€EÜ�IŠI�bÓ€EÜ�IŠI�bÓ€Eä×Ò˜rÓ"€GØ‰M˜e™mÕ,€DØ•[ 5¥;Õ.°5µ;ÀÅÕ3LÕM€G�MØ�g˜"�'Õ" c¥i°CµIÕ%>Õ>ÀÕH€Fà�Fˆ?Ðr   )r   r5   )Útypingr   r   r   r   r   r   r%   r-   rT   ra   rd   r}   © r   r   Ú<module>r€      s2   ðß "ã ß ÷#õõ
÷%õ>Gõ÷r   