+
    G-jV  ã                   óh   € ^ RI Ht ^ RIt^ RIHt ^ RIHtHt ^ RI	H
t
 ]! ]4      t ! R R]4      tR# )é    )Ú	getLoggerN)ÚFusion)ÚTensorProtoÚhelper©Ú	OnnxModelc                   óJ   a a€ ] tR t^t oV3R lV 3R lltR tR tRtVtV ;t	# )ÚFusionReshapec                ó    <€ V ^8„  d   QhRS[ /# )é   Úmodelr   )ÚformatÚ__classdict__s   "€Úx/Volumes/fast/ai/experiments/nudenet-smoke/.venv/lib/python3.14/site-packages/onnxruntime/transformers/fusion_reshape.pyÚ__annotate__ÚFusionReshape.__annotate__   s   ø€ ÷ 'ñ '™iñ 'ó    c                ó8   <€ \         SV `  VR R 4       RV n        R# )ÚReshapeFN)ÚsuperÚ__init__Úprune_graph)Úselfr   Ú	__class__s   &&€r   r   ÚFusionReshape.__init__   s   ø€ Ü‰Ñ˜ 	¨9Ô5Ø!&ˆÖr   c                óF  € \         P                  ! V\         P                  R 7      pV P                  P	                  RR4      p\
        P                  ! R. V.\
        P                  ! R\        P                  VP                  \        V4      RR7      R7      pWRP                  ^&   V P                  P	                  RR4      Vn        V P                  P                  V.4       V P                   P#                  V4       V P$                  V P&                  VP                  &   R	# )
)ÚdtypeÚConstantÚconstant_shapeÚconst_tensorT)ÚnameÚ	data_typeÚdimsÚvalsÚraw)ÚinputsÚoutputsÚvaluer   ÚReshape_FuseN)ÚnpÚasarrayÚint64r   Úcreate_node_namer   Ú	make_nodeÚmake_tensorr   ÚINT64ÚshapeÚbytesÚinputr!   Únodes_to_removeÚextendÚnodes_to_addÚappendÚthis_graph_nameÚnode_name_to_graph_name)r   r1   Úreshape_nodeÚconcat_nodeÚshape_valueÚconstant_shape_nameÚnew_nodes   &&&&   r   Úreplace_reshape_nodeÚ"FusionReshape.replace_reshape_node   så   € Ü—j’j ¬b¯h©hÔ7ˆØ"Ÿj™j×9Ñ9¸*ÐFVÓWÐÜ×#Ò#ØØØ(Ð)Ü×$Ò$Ø#Ü%×+Ñ+Ø ×&Ñ&Ü˜;Ó'Øôô	
ˆð !4×Ñ˜1ÑØ ŸJ™J×7Ñ7¸	À>ÓRˆÔØ×Ñ×#Ñ# [ MÔ2Ø×Ñ× Ñ  Ô*Ø6:×6JÑ6Jˆ×$Ñ$ X§]¡]Ó3r   c                óä	  € VP                   ^,          V9  d   R# W1P                   ^,          ,          pVP                  R8w  g5   \        VP                   4      ^8  g   \        VP                   4      ^8”  d   R# V P                  P	                  V. RO. ROV4      pVf   R# Vw  rgpV P                  P	                  V. RO. ROV4      p	V	f   R# V	w  r«p. pV P                  P                  VP                   ^,          4      pV^ 8X  d   VP                  ^ 4       V P                  P                  VP                   ^,          4      pV^8X  d   VP                  ^ 4       \        V4      ^8w  d   R# . p. pWŒ.p\        VP                   4      ^8X  dþ   V P                  P                  VP                   ^,          4      fÐ   V P                  P	                  V. RO. R	OV4      pVf)   V P                  P	                  V. R
O. ROV4      pVf   R# V P                  P	                  V. RO. ROV4      pVf)   V P                  P	                  V. R
O. ROV4      pVf   R# VP                  VR,          VR,          .4       VP                  R4       M�\        VP                   4      ^8”  d„   V P                  P                  VP                   ^,          4      pVf   R# \        V\        P                  4      '       d!   VP                  VP                  4       4       MVP                  V4       \        VP                   4      ^8X  d±   V P                  P                  VP                   ^,          4      fƒ   RV9   d   R# V P                  P	                  V. RO. ROV4      pVf)   V P                  P	                  V. RO. ROV4      pVf   R# VP                  VR,          .4       VP                  R4       M�\        VP                   4      ^8”  d„   V P                  P                  VP                   ^,          4      pVf   R# \        V\        P                  4      '       d!   VP                  VP                  4       4       MVP                  V4       VP                   ^ ,          pRpV F  pVP                   ^ ,          V8w  g   K  RpK!  	  V'       g   R# V P                  WÑV4       RV n        R# )é   NÚConcatTF)Ú	UnsqueezeÚGatherÚShape)r   r   r   )rB   r   r   )rD   ÚMulrE   rF   )r   r   r   r   )rD   rG   ÚSqueezeÚSlicerF   )r   r   r   r   r   )r   r   rB   r   )r   r   rB   r   r   éÿÿÿÿ)rD   ÚDivrE   rF   )é   r   r   r   )rD   rK   rH   rI   rF   )rL   r   r   r   r   )r3   Úop_typeÚlenr   Úmatch_parent_pathÚget_constant_valuer7   r5   Ú
isinstancer*   ÚndarrayÚtolistr?   r   )r   r:   Úinput_name_to_nodesÚoutput_name_to_noder;   Úpath0Úunsqueeze_0Úgather_0Úshape_0Úpath1Úunsqueeze_1Úgather_1Úshape_1r1   Úgather_valueÚpath2Úpath3Úshape_nodesÚconcat_valueÚ
root_inputÚsame_shape_inputÚ
shape_nodes   &&&&                  r   ÚfuseÚFusionReshape.fuse*   s/  € Ø×Ñ˜aÕ Ð(;Ô;Ùà)×*<Ñ*<¸QÕ*?Õ@ˆØ×Ñ (Ô*¬c°+×2CÑ2CÓ.DÀqÔ.HÌCÐP[×PaÑPaÓLbÐefÔLfÙà—
‘
×,Ñ,ØÚ,ÚØó	
ˆð Š=Ùà+0Ñ(ˆ à—
‘
×,Ñ,ØÚ,ÚØó	
ˆð Š=ÙØ+0Ñ(ˆ àˆØ—z‘z×4Ñ4°X·^±^ÀAÕ5FÓGˆØ˜1ÔØ�L‰L˜ŒOà—z‘z×4Ñ4°X·^±^ÀAÕ5FÓGˆØ˜1ÔØ�L‰L˜ŒOäˆu‹:˜Œ?ÙàˆØˆØÐ(ˆÜˆ{× Ñ Ó! QÔ&¨4¯:©:×+HÑ+HÈ×IZÑIZÐ[\ÕI]Ó+^Ò+fØ—J‘J×0Ñ0ØÚ7ÚØ#ó	ˆEð Š}ØŸ
™
×4Ñ4ØÚEÚ#Ø'ó	�ð ’=Ùà—J‘J×0Ñ0ØÚ7ÚØ#ó	ˆEð Š}ØŸ
™
×4Ñ4ØÚEÚ#Ø'ó	�ð ’=Ùà×Ñ  b¥	¨5°­9Ð5Ô6Ø�L‰L˜ÕÜ�×"Ñ"Ó# aÔ'ØŸ:™:×8Ñ8¸×9JÑ9JÈ1Õ9MÓNˆLØÒ#ÙÜ˜,¬¯
©
×3Ò3Ø—‘˜\×0Ñ0Ó2Õ3à—‘˜\Ô*äˆ{× Ñ Ó! QÔ&¨4¯:©:×+HÑ+HÈ×IZÑIZÐ[\ÕI]Ó+^Ò+fØ�UŒ{Ùà—J‘J×0Ñ0ØÚ7ÚØ#ó	ˆEð Š}ØŸ
™
×4Ñ4ØÚEÚ#Ø'ó	�ð ’=ÙØ×Ñ  b¥	˜{Ô+Ø�L‰L˜ÕÜ�×"Ñ"Ó# aÔ'ØŸ:™:×8Ñ8¸×9JÑ9JÈ1Õ9MÓNˆLØÒ#Ùä˜,¬¯
©
×3Ò3Ø—‘˜\×0Ñ0Ó2Õ3à—‘˜\Ô*à!×'Ñ'¨Õ*ˆ
ØÐÛ%ˆJØ×Ñ Õ" jÖ0Ø#(Ò ñ &÷  Ùà×!Ñ! %°{ÔCð  ˆÖr   )r   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r?   rf   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   r   s   @@r   r
   r
      s!   ù‡ € ÷'ó 'òK÷*C ò C r   r
   )Úloggingr   Únumpyr*   Úfusion_baser   Úonnxr   r   Ú
onnx_modelr   rh   Úloggerr
   © r   r   Ú<module>rv      s.   ðõ ã Ý ß $Ý  á	�8Ó	€ô] �Fö ] r   