§
    Ÿ²ÅjH  ã                   ó0   — d dl Z d dlmZ dd„Zdd„Zd„ ZdS )é    N)ÚreduceTc                 óˆ   — |r|                       ¦   «         |k    r| S |                      ¦   «                              |¦  «        S )N)ÚsizeÚ
contiguousÚview)Útensorr   Úcheck_same_sizes      úPC:\Projects\Historical\venv\Lib\site-packages\torch/autograd/_functions/utils.pyÚ
maybe_viewr      sA   € Øð ˜6Ÿ;š;™=œ=¨DÒ0Ð0ØˆØ×ÒÑÔ×#Ò# DÑ)Ô)Ð)ó    c                 ó’  — |r|                       ¦   «         |k    r| S |                      ¦   «         t          |¦  «        z
  }d„ t          t	          |                       ¦   «         |d …         |¦  «        ¦  «        D ¦   «         }t          |¦  «        D ]}|                      dd¬¦  «        } Œ|D ]}|                      |d¬¦  «        } Œ| S )Nc                 ó*   — g | ]\  }\  }}||k    ¯|‘ŒS © r   )Ú.0ÚdimÚexpandedÚoriginals       r
   ú
<listcomp>z"maybe_unexpand.<locals>.<listcomp>   s:   € ð ð ð á%ˆCÑ%�(˜Hð �xÒÐð	 	ð  ÐÐr   r   F)ÚkeepdimT)r   r   ÚlenÚ	enumerateÚzipÚrangeÚsum)r   Úold_sizer	   Únum_unsqueezedÚexpanded_dimsÚ_r   s          r
   Úmaybe_unexpandr      sÚ   € Øð ˜6Ÿ;š;™=œ=¨HÒ4Ð4ØˆØ—Z’Z‘\”\¥C¨¡M¤MÑ1€Nðð å)2Ý�—’‘”˜n˜o˜oÔ.°Ñ9Ô9ñ*
ô *
ðñ ô €Mõ �>Ñ"Ô"ð .ð .ˆØ—’˜A u�Ñ-Ô-ˆˆØð /ð /ˆØ—’˜C¨�Ñ.Ô.ˆˆØ€Mr   c                 óf  — d}d}t          | ¦  «        }t          |¦  «        }t          t          j        | ¦  «        }t          t          j        |¦  «        }||k     rd}|dk    rd}n2||k    rd}|dk    r| ||z
  d …         |k    rd}n| |k    r
d}|dk    rd}|st	          d| › d|› �¦  «        ‚|S )NFTé   zCNumpy style broadcasting is not supported in ONNX. Input dims are: z, )r   r   ÚoperatorÚmulÚ
ValueError)Údims1Údims2Ú	broadcastÚ	supportedÚlen1Úlen2Únumel1Únumel2s           r
   Úcheck_onnx_broadcastr-   &   sè   € Ø€IØ€IÝˆu‰:Œ:€DÝˆu‰:Œ:€DÝ•H”L %Ñ(Ô(€FÝ•H”L %Ñ(Ô(€FØˆd‚{€{Øˆ	Ø�QŠ;ˆ;ØˆIøØ	�ŠˆØˆ	Ø�QŠ;ˆ;˜5 ¨¡  Ô/°5Ò8Ð8ØˆIøà�EŠ>ˆ>ØˆIØ˜Š{ˆ{Ø!�	àð 
ÝØbÐRWÐbÐbÐ[`ÐbÐbñ
ô 
ð 	
ð Ðr   )T)r"   Ú	functoolsr   r   r   r-   r   r   r
   ú<module>r/      sa   ðà €€€Ø Ð Ð Ð Ð Ð ð*ð *ð *ð *ðð ð ð ð4ð ð ð ð r   