+
    NV-j±  ã                   ót   € ^ RI t ^ RIHt ^ RIHt ^ RIHt  ! R R]4      t ! R R]4      t	 ! R R	]4      t
R# )
é    N)ÚUnion)ÚModulec                   óR   a a€ ] tR t^
t oRtRV3R lV 3R llltR tR tRtVt	V ;t
# )ÚConvTranspose1da�  Applies a 1-dimensional transposed convolution over the multi-channel input sequence.

The channels are expected to be last i.e. the input shape should be ``NLC`` where:

* ``N`` is the batch dimension
* ``L`` is the sequence length
* ``C`` is the number of input channels

Args:
    in_channels (int): The number of input channels
    out_channels (int): The number of output channels
    kernel_size (int): The size of the convolution filters
    stride (int, optional): The stride when applying the filter.
        Default: ``1``.
    padding (int, optional): How many positions to 0-pad the input with.
        Default: ``0``.
    dilation (int, optional): The dilation of the convolution.
    output_padding(int, optional): Additional size added to one side of the
        output shape. Default: ``0``.
    bias (bool, optional): If ``True`` add a learnable bias to the output.
        Default: ``True``
c                óJ   <€ V ^8„  d   QhRS[ RS[ RS[ RS[ RS[ RS[ RS[ RS[/# ©	é   Úin_channelsÚout_channelsÚkernel_sizeÚstrideÚpaddingÚdilationÚoutput_paddingÚbias)ÚintÚbool)ÚformatÚ__classdict__s   "€Út/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx/nn/layers/convolution_transpose.pyÚ__annotate__ÚConvTranspose1d.__annotate__"   s[   ø€ ÷ -ñ -áð-ñ ð-ñ ð	-ñ
 ð-ñ ð-ñ ð-ñ ð-ñ ñ-ó    c	                ó6  <€ \         S
V `  4        \        P                  ! ^W,          ,          4      p	\        P
                  P                  V	) V	W#V3R7      V n        V'       d   \        P                  ! V34      V n	        WPn
        W`n        W@n        Wpn        R# )é   ©ÚlowÚhighÚshapeN)ÚsuperÚ__init__ÚmathÚsqrtÚmxÚrandomÚuniformÚweightÚzerosr   r   r   r   r   ©Úselfr
   r   r   r   r   r   r   r   ÚscaleÚ	__class__s   &&&&&&&&& €r   r!   ÚConvTranspose1d.__init__"   s}   ø€ ô 	‰ÑÔä—	’	˜!˜{Õ8Õ9Ó:ˆÜ—i‘i×'Ñ'Ø�ØØ¨kÐ:ð (ó 
ˆŒ÷
 ÜŸš , Ó1ˆDŒIàŒØ ŒØŒØ,Ör   c                ó,  € V P                   P                  R	,           RV P                   P                  ^ ,           RV P                   P                  ^,           RV P                   RV P                   RV P                   RV P
                   RRV 9    2# )
r   ú, ú, kernel_size=ú	, stride=ú
, padding=ú, dilation=ú, output_padding=ú, bias=r   éÿÿÿÿ©r'   r   r   r   r   r   ©r*   s   &r   Ú_extra_reprÚConvTranspose1d._extra_repr=   s”   € à�{‰{× Ñ  Õ$Ð% R¨¯©×(9Ñ(9¸!Õ(<Ð'=ð >ØŸ;™;×,Ñ,¨QÕ/Ð0°	¸$¿+¹+¸ð GØ—|‘|�n K°·±¨ð ?Ø"×1Ñ1Ð2ð 3Ø˜d‘NÐ#ð	%ð	
r   c                óÒ   € \         P                  ! VV P                  V P                  V P                  V P
                  V P                  4      pR V 9   d   W P                  ,           pV# ©r   )r$   Úconv_transpose1dr'   r   r   r   r   r   ©r*   ÚxÚys   && r   Ú__call__ÚConvTranspose1d.__call__F   óS   € Ü×ÒØØ�K‰KØ�K‰KØ�L‰LØ�M‰MØ×Ñó
ˆð �TŒ>Ø—I‘I•ˆAØˆr   ©r   r   r   r   r   r'   ©r   r   r   r   T©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r!   r9   rA   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r,   r   s   @@r   r   r   
   s#   ù‡ € ñ÷.-õ -ò6
÷ò r   r   c                   óR   a a€ ] tR t^Tt oRtRV3R lV 3R llltR tR tRtVt	V ;t
# )ÚConvTranspose2daë  Applies a 2-dimensional transposed convolution over the multi-channel input image.

The channels are expected to be last i.e. the input shape should be ``NHWC`` where:

* ``N`` is the batch dimension
* ``H`` is the input image height
* ``W`` is the input image width
* ``C`` is the number of input channels

Args:
    in_channels (int): The number of input channels.
    out_channels (int): The number of output channels.
    kernel_size (int or tuple): The size of the convolution filters.
    stride (int or tuple, optional): The size of the stride when
        applying the filter. Default: ``1``.
    padding (int or tuple, optional): How many positions to 0-pad
        the input with. Default: ``0``.
    dilation (int or tuple, optional): The dilation of the convolution.
    output_padding(int or tuple, optional): Additional size added to one
        side of the output shape. Default: ``0``.
    bias (bool, optional): If ``True`` add a learnable bias to the
        output. Default: ``True``
c                ó¸   <€ V ^8„  d   QhRS[ RS[ RS[S[ S[3,          RS[S[ S[3,          RS[S[ S[3,          RS[S[ S[3,          RS[S[ S[3,          RS[/# r   ©r   r   Útupler   )r   r   s   "€r   r   ÚConvTranspose2d.__annotate__m   sˆ   ø€ ÷ -ñ -áð-ñ ð-ñ ™3¡˜:Õ&ð	-ñ
 ‘c™5�jÕ!ð-ñ ‘s™E�zÕ"ð-ñ ™™U˜
Õ#ð-ñ ™c¡5˜jÕ)ð-ñ ñ-r   c	                óŒ  <€ \         S
V `  4        \        R  W4WW34      w  r4rW\        P                  ! ^W^ ,          ,          V^,          ,          ,          4      p	\
        P                  P                  V	) V	V.VOVN5R7      V n        V'       d   \
        P                  ! V34      V n
        WPn        W@n        W`n        Wpn        R# )c                 ó8   € \        V \        4      '       d   W 3# T # ©N©Ú
isinstancer   ©r?   s   &r   Ú<lambda>Ú*ConvTranspose2d.__init__.<locals>.<lambda>{   s   € ¤
¨1¬c× 2Ò 2�q�fÐ9¸Ð9r   r   N©r    r!   Úmapr"   r#   r$   r%   r&   r'   r(   r   r   r   r   r   r)   s   &&&&&&&&& €r   r!   ÚConvTranspose2d.__init__m   s®   ø€ ô 	‰ÑÔä7:Ù9Ø 'Ð:ó8
Ñ4ˆ˜Wô —	’	˜!˜{¸­^Õ;¸kÈ!½nÕLÕMÓNˆÜ—i‘i×'Ñ'Ø�ØØÐ; +Ð;¨{Ñ;ð (ó 
ˆŒ÷
 ÜŸš , Ó1ˆDŒIàŒØŒØ ŒØ,Ör   c                ó,  € V P                   P                  R
,           RV P                   P                  ^ ,           RV P                   P                  R,           RV P                   RV P                   RV P                   RV P
                   RR	V 9    2# )r   r/   r0   :r   r	   Nr1   r2   r3   r4   r5   r   r6   r7   r8   s   &r   r9   ÚConvTranspose2d._extra_reprŒ   ó”   € à�{‰{× Ñ  Õ$Ð% R¨¯©×(9Ñ(9¸!Õ(<Ð'=ð >ØŸ;™;×,Ñ,¨SÕ1Ð2°)¸D¿K¹K¸=ð IØ—|‘|�n K°·±¨ð ?Ø"×1Ñ1Ð2ð 3Ø˜d‘NÐ#ð	%ð	
r   c                óÒ   € \         P                  ! VV P                  V P                  V P                  V P
                  V P                  4      pR V 9   d   W P                  ,           pV# r<   )r$   Úconv_transpose2dr'   r   r   r   r   r   r>   s   && r   rA   ÚConvTranspose2d.__call__•   rC   r   rD   rE   rF   rO   s   @@r   rQ   rQ   T   s#   ù‡ € ñ÷0-õ -ò>
÷ò r   rQ   c                   óR   a a€ ] tR t^£t oRtRV3R lV 3R llltR tR tRtVt	V ;t
# )ÚConvTranspose3da  Applies a 3-dimensional transposed convolution over the multi-channel input image.

The channels are expected to be last i.e. the input shape should be ``NDHWC`` where:

* ``N`` is the batch dimension
* ``D`` is the input image depth
* ``H`` is the input image height
* ``W`` is the input image width
* ``C`` is the number of input channels

Args:
    in_channels (int): The number of input channels.
    out_channels (int): The number of output channels.
    kernel_size (int or tuple): The size of the convolution filters.
    stride (int or tuple, optional): The size of the stride when
        applying the filter. Default: ``1``.
    padding (int or tuple, optional): How many positions to 0-pad
        the input with. Default: ``0``.
    dilation (int or tuple, optional): The dilation of the convolution.
    output_padding(int or tuple, optional): Additional size added to one
        side of the output shape. Default: ``0``.
    bias (bool, optional): If ``True`` add a learnable bias to the
        output. Default: ``True``
c                ó¸   <€ V ^8„  d   QhRS[ RS[ RS[S[ S[3,          RS[S[ S[3,          RS[S[ S[3,          RS[S[ S[3,          RS[S[ S[3,          RS[/# r   rS   )r   r   s   "€r   r   ÚConvTranspose3d.__annotate__½   sˆ   ø€ ÷ -ñ -áð-ñ ð-ñ ™3¡˜:Õ&ð	-ñ
 ‘c™5�jÕ!ð-ñ ‘s™E�zÕ"ð-ñ ™™U˜
Õ#ð-ñ ™c¡5˜jÕ)ð-ñ ñ-r   c	                ó¨  <€ \         S
V `  4        \        R  W4WW34      w  r4rW\        P                  ! ^W^ ,          ,          V^,          ,          V^,          ,          ,          4      p	\
        P                  P                  V	) V	V.VOVN5R7      V n        V'       d   \
        P                  ! V34      V n
        WPn        W@n        W`n        Wpn        R# )c                 ó:   € \        V \        4      '       d   W V 3# T # rX   rY   r[   s   &r   r\   Ú*ConvTranspose3d.__init__.<locals>.<lambda>Ë   s   € ¤:¨a´×#5Ò#5�q˜Q�iÐ<¸1Ð<r   r   Nr^   r)   s   &&&&&&&&& €r   r!   ÚConvTranspose3d.__init__½   s¼   ø€ ô 	‰ÑÔä7:Ù<Ø 'Ð:ó8
Ñ4ˆ˜Wô —	’	Ø�¨1�~Õ-°¸AµÕ>ÀÈQÅÕOÕPó
ˆô —i‘i×'Ñ'Ø�ØØÐ; +Ð;¨{Ñ;ð (ó 
ˆŒ÷
 ÜŸš , Ó1ˆDŒIàŒØŒØ ŒØ,Ör   c                ó,  € V P                   P                  R
,           RV P                   P                  ^ ,           RV P                   P                  R,           RV P                   RV P                   RV P                   RV P
                   RR	V 9    2# )r   r/   r0   :r   é   Nr1   r2   r3   r4   r5   r   r6   r7   r8   s   &r   r9   ÚConvTranspose3d._extra_reprÞ   rc   r   c                óÒ   € \         P                  ! VV P                  V P                  V P                  V P
                  V P                  4      pR V 9   d   W P                  ,           pV# r<   )r$   Úconv_transpose3dr'   r   r   r   r   r   r>   s   && r   rA   ÚConvTranspose3d.__call__ç   rC   r   rD   rE   rF   rO   s   @@r   rh   rh   £   s$   ù‡ € ñ÷2-õ -òB
÷ò r   rh   )r"   Útypingr   Úmlx.coreÚcorer$   Úmlx.nn.layers.baser   r   rQ   rh   © r   r   Ú<module>rz      s?   ðó Ý å Ý %ôG�fô GôTL�fô Lô^O�fö Or   