+
    G-jë
  ã                   ól   € ^ RI t ^ RIHt ^ RIHt ^ RIHt ] P                  ! ]4      t	 ! R R]4      t
R# )é    N)ÚFusion)Úhelper©Ú	OnnxModelc                   óD   a a€ ] tR t^t oV3R lV 3R lltR tRtVtV ;t# )ÚFusionQuickGeluc                ó    <€ V ^8„  d   QhRS[ /# )é   Úmodelr   )ÚformatÚ__classdict__s   "€Úz/Volumes/fast/ai/experiments/nudenet-smoke/.venv/lib/python3.14/site-packages/onnxruntime/transformers/fusion_quickgelu.pyÚ__annotate__ÚFusionQuickGelu.__annotate__   s   ø€ ÷ 6ñ 6™iñ 6ó    c                ó,   <€ \         SV `  VR R.4       R# )Ú	QuickGeluÚMulN)ÚsuperÚ__init__)Úselfr   Ú	__class__s   &&€r   r   ÚFusionQuickGelu.__init__   s   ø€ Ü‰Ñ˜ ¨e¨WÖ5r   c                óŽ  € VP                   R 8w  d   \        P                  R4       R# TpVP                  ^ ,          pV P                  P                  VR.^.4      pVf   \        P                  R4       R# V^ ,          pV P                  P                  VR .^ .4      pVf   \        P                  R4       R# V^ ,          pV P                  P                  VP                  ^,          4      P                  4       p\        VR,
          4      R8¼  d   \        P                  R4       R# VP                  ^ ,          V8w  d   \        P                  R	4       R# \        P                  ! R
V.VP                  ^ ,          .V P                  P                  R
4      R7      p	RV	n        V	P                  P                  \        P                   ! RV4      .4       V P"                  P                  WvV.4       V P$                  P'                  V	4       V P(                  V P*                  V	P,                  &   V P/                  R
4       R# )r   z/fuse_quickgelu: failed to match second Mul nodeNÚSigmoidz,fuse_quickgelu: failed to match Sigmoid nodez.fuse_quickgelu: failed to match first Mul nodeg     <û?gü©ñÒMbP?z3fuse_quickgelu: failed to match approximation valuezFfuse_quickgelu: failed to match root input with first Mul node's inputr   )ÚinputsÚoutputsÚnamezcom.microsoftÚalpha)Úop_typeÚloggerÚdebugÚinputr   Úmatch_parent_pathÚget_constant_valueÚitemÚabsr   Ú	make_nodeÚoutputÚcreate_node_nameÚdomainÚ	attributeÚextendÚmake_attributeÚnodes_to_removeÚnodes_to_addÚappendÚthis_graph_nameÚnode_name_to_graph_namer   Úincrease_counter)
r   ÚnodeÚinput_name_to_nodesÚoutput_name_to_nodeÚsecond_mul_nodeÚ
root_inputÚsigmoid_nodeÚfirst_mul_nodeÚapproximation_valueÚnew_nodes
   &&&&      r   ÚfuseÚFusionQuickGelu.fuse   sÜ  € ð �<‰<˜5Ô Ü�L‰LÐJÔKÙàˆØ$×*Ñ*¨1Õ-ˆ
à—z‘z×3Ñ3°OÀiÀ[ÐSTÐRUÓVˆØÒÜ�L‰LÐGÔHÙØ# A•ˆàŸ™×5Ñ5°lÀUÀGÈaÈSÓQˆØÒ!Ü�L‰LÐIÔJÙØ'¨Õ*ˆà"Ÿj™j×;Ñ;¸N×<PÑ<PÐQRÕ<SÓT×YÑYÓ[ÐÜÐ" \Õ1Ó2°dÔ:Ü�L‰LÐNÔOÙà×Ñ Õ" jÔ0Ü�L‰LÐaÔbÙä×#Ò#ØØ�<Ø$×+Ñ+¨AÕ.Ð/Ø—‘×,Ñ,¨[Ó9ô	
ˆð *ˆŒØ×Ñ×!Ñ!¤6×#8Ò#8¸ÐBUÓ#VÐ"WÔXà×Ñ×#Ñ# ^À?Ð$SÔTØ×Ñ× Ñ  Ô*Ø6:×6JÑ6Jˆ×$Ñ$ X§]¡]Ñ3Ø×Ñ˜kÖ*r   © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r>   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   r   s   @@r   r   r      s   ù‡ € ÷6ó 6÷7+ò 7+r   r   )ÚloggingÚfusion_baser   Úonnxr   Ú
onnx_modelr   Ú	getLoggerrA   r!   r   r@   r   r   Ú<module>rM      s/   ðó å Ý Ý  à	×	Ò	˜8Ó	$€ô;+�fö ;+r   