Ë
    ÄÓ^j#  ã                  ó¦  — d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZ  ej                  d«      Zeez  ez  ez  Zeez  Z ej                  d«      Z ej                  d«      Z ej                  d	«      Z ej                  d
«      Z ej                  d«      Z ej                  d«      Z ej                  dej6                  ¬«      Zd/d„Zd/d„Zd/d„Zd/d„Zd/d„Z d/d„Z!d„ Z"d/d„Z#d/d„Z$d/d„Z%d/d„Z&i de“de“de“de“de “de“de“d e$“d!e$“d"e%“d#e%“d	e$“d$e!“d%e!“de#“de"“d&e&“d'e&i¥Z'd(„ Z(d0d*„Z)d+„ Z*ed)fd,„Z+d/d)d-œd.„Z,y)1zY "Normalize" arguments: convert array_likes to tensors, dtypes to torch dtypes and so on.é    )ÚannotationsNé   )Ú_dtypesÚ_dtypes_implÚ_utilÚ	ArrayLikeÚ	DTypeLikeÚAxisLikeÚNDArrayÚCastingModesÚKeepDimsÚOutArrayÚNotImplementedType)Úboundc                ó2   — ddl m}  || «      j                  S )Nr   )Úasarray)Ú_ndarrayr   Útensor)ÚxÚparmr   s      úg/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/_numpy/_normalizations.pyÚnormalize_array_liker   .   s   € Ý!á�1‹:×ÑÐó    c                óH   — t        j                  | «      r| S t        | |«      S ©N)r   Úis_scalar_or_symbolicr   ©r   r   s     r   Únormalize_array_like_or_scalarr   4   s"   € Ü×)Ñ)¨!Ô,ØˆÜ  4Ó(Ð(r   c                ó    — | €y t        | |«      S r   )r   r   s     r   Ú'normalize_optional_array_like_or_scalarr    :   s   € Ø€yØÜ)¨!¨TÓ2Ð2r   c                ó"   — | €d S t        | |«      S r   ©r   r   s     r   Únormalize_optional_array_liker#   @   s   € ð �9ˆ4Ð?Ô"6°q¸$Ó"?Ð?r   c                ó&   — t        d„ | D «       «      S )Nc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr   r"   )Ú.0Úvalues     r   ú	<genexpr>z+normalize_seq_array_like.<locals>.<genexpr>G   s   è ø€ Ò<°Ô% e×,Ñ<ùó   ‚)Útupler   s     r   Únormalize_seq_array_liker+   F   s   € ÜÑ<¸!Ô<Ó<Ð<r   c                óP   — d }| �!t        j                  | «      } | j                  }|S r   )r   ÚdtypeÚtorch_dtype)r-   r   r.   s      r   Únormalize_dtyper/   J   s,   € à€KØÐÜ—‘˜eÓ$ˆØ×'Ñ'ˆØÐr   c                óT   — | |j                   k7  rt        d|j                  › d�«      ‚y )Nú'z' parameter is not supported.)ÚdefaultÚNotImplementedErrorÚname©Úargr   s     r   Únormalize_not_implementedr7   S   s1   € Ø
ˆd�l‰lÒÜ!Ø�—	‘	ˆ{Ð7Ð8ó
ð 	
ð r   c                óT   — ddl m} t        | |«      rt        j                  | «      } | S ©Nr   ©Úndarray)r   r;   Ú
isinstanceÚoperatorÚindex©r6   r   r;   s      r   Únormalize_axis_liker@   Z   s"   € Ý!ä�#�wÔÜ�n‰n˜SÓ!ˆØ€Jr   c                óx   — | €| S ddl m} t        | |«      st        d|j                  › d�«      ‚| j
                  S ©Nr   r:   r1   z' must be an array)r   r;   r<   Ú	TypeErrorr4   r   r?   s      r   Únormalize_ndarrayrD   b   s<   € à
€{Øˆ
å!ä�c˜7Ô#Ü˜!˜DŸI™I˜;Ð&8Ð9Ó:Ð:Ø�:‰:Ðr   c                ó¨   — | €| S ddl m} t        | t        j                  «      r || «      } t        | |«      st        d|j                  › d�«      ‚| S rB   )r   r;   r<   ÚtorchÚTensorrC   r4   r?   s      r   Únormalize_outarrayrH   n   sP   € à
€{Øˆ
Ý!ô �#”u—|‘|Ô$Ù�c‹lˆä�c˜7Ô#Ü˜!˜DŸI™I˜;Ð&8Ð9Ó:Ð:Ø€Jr   c                ó,   — | dvrt        d| › d�«      ‚| S )N)ÚnoÚequivÚsafeÚ	same_kindÚunsafezMcasting must be one of 'no', 'equiv', 'safe', 'same_kind', or 'unsafe' (got 'z'))Ú
ValueErrorr5   s     r   Únormalize_castingrP   ~   s.   € Ø
Ð@Ñ@ÜØ[Ð\_Ð[`Ð`bÐcó
ð 	
ð €Jr   ÚArrayLikeOrScalarzOptional[ArrayLike]zArrayLike | NonezSequence[ArrayLike]zOptional[ArrayLikeOrScalar]zArrayLikeOrScalar | NonezOptional[NDArray]zNDArray | NonezOptional[OutArray]zOutArray | NonezOptional[DTypeLike]zDTypeLike | NonezOptional[CastingModes]zCastingModes | Nonec                óZ   — t         j                  |j                  «      }|r	 || |«      S | S )z,Normalize arg if a normalizer is registered.)ÚnormalizersÚgetÚ
annotation)r6   r   Ú
normalizers      r   Úmaybe_normalizerW   œ   s(   € ä—‘ §¡Ó1€JÙ$.‰:�c˜4Ó Ð7°CÐ7r   Fc                óê  ‡— | €|S t        |t        j                  «      r•|j                  | j                  k7  r_|j	                  «       dk(  xr | j
                  dk(  }‰r|r|j                  «       }n&t        d| j                  › d|j                  › d�«      ‚| j                  j                  |«       | S t        |t        t        f«      r$ t        |«      ˆfd„t        | |«      D «       «      S t        ‚)Nr   r   z'Bad size of the out array: out.shape = z while result.shape = ú.c              3  ó>   •K  — | ]  \  }}t        ||‰«      –— Œ y ­wr   )Úmaybe_copy_to)r&   ÚoÚrÚpromote_scalar_results      €r   r(   z maybe_copy_to.<locals>.<genexpr>¶   s$   øè ø€ ò 
Ù;?¸1¸aŒM˜!˜QÐ 5×6ñ
ùs   ƒ)r<   rF   rG   ÚshapeÚnumelÚndimÚsqueezerO   r   Úcopy_r*   ÚlistÚtypeÚzipÚAssertionError)ÚoutÚresultr^   Úcan_fits     ` r   r[   r[   ¥   sÙ   ø€ à
€{ØˆÜ	�FœEŸL™LÔ	)Ø�<‰<˜3Ÿ9™9Ò$Ø—l‘l“n¨Ñ)Ò;¨c¯h©h¸!©mˆGÙ$©ØŸ™Ó)‘ä Ø=¸c¿i¹i¸[Ø,¨V¯\©\¨N¸!ð=óð ð 	�
‰
×Ñ˜Ô Øˆ
Ü	�FœU¤D˜MÔ	*ØŒt�F‹|ó 
ÜCFÀsÈFÓCSô
ó 
ð 	
ô Ðr   c                ó²   — ddl m} t        | t        j                  «      r || «      S t        | t
        t        f«      r t        | «      d„ | D «       «      } | S )Nr   r:   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr   )Úwrap_tensors)r&   r   s     r   r(   zwrap_tensors.<locals>.<genexpr>Ã   s   è ø€ Ò>°!œl¨1ŸoÑ>ùr)   )r   r;   r<   rF   rG   r*   rd   re   )ri   r;   s     r   rm   rm   ½   sF   € Ý!ä�&œ%Ÿ,™,Ô'Ù�v‹ÐÜ	�FœU¤D˜MÔ	*Ø”�f“Ñ>°vÔ>Ó>ˆØ€Mr   c                óN   — |r || j                  «       «      S ddlm}  || «      S r9   )Úitemr   r;   )ÚvaluesÚpy_typeÚreturn_scalarr;   s       r   Úarray_or_scalarrs   Ç   s#   € ÙÙ�v—{‘{“}Ó%Ð%å%á�v‹Ðr   )r^   c               ó&   ‡— ˆfd„}| €|S  || «      S )Nc                óF   •‡ — t        j                  ‰ «      ˆ ˆfd„«       }|S )Nc            
     óÀ  •— t        j                  ‰«      }|j                  }t        t	        |j                  «       «      «      }|j                  t         j                  j                  k(  r| D �cg c]  }t        ||«      ‘Œ } }nGt        d„ t        | |j                  «       «      D «       «      | t        |j                  «       «      d  z   } |j                  «       D ��ci c]  \  }}|||v rt        |||   «      n|“Œ }}} ‰| i |¤Ž}d }d|v rw|d   j                  dk(  re |j                  | i |¤Žj                   }|j#                  dd«      r7| d   }	|j#                  d«      }
t%        j&                  ||
|	j(                  «      }d|v r<|€ |j                  | i |¤Žj                   }|j#                  d«      }t+        ||‰«      }t-        |«      }|S c c}w c c}}w )Nc              3  ó:   K  — | ]  \  }}t        ||«      –— Œ y ­wr   )rW   )r&   r6   r   s      r   r(   zHnormalizer.<locals>.normalizer_inner.<locals>.wrapped.<locals>.<genexpr>á   s#   è ø€ ò á%˜C ô (¨¨T×2ñùs   ‚Úkeepdimsr   Fr   Úaxisrh   )ÚinspectÚ	signatureÚ
parametersÚnextÚiterrp   ÚkindÚ	ParameterÚVAR_POSITIONALrW   r*   rf   ÚlenÚitemsrU   ÚbindÚ	argumentsrT   r   Úapply_keepdimsra   r[   rm   )ÚargsÚkwdsÚsigÚparamsÚfirst_paramr6   r4   ri   Ú
bound_argsr   ry   rh   Úfuncr^   s               €€r   Úwrappedz5normalizer.<locals>.normalizer_inner.<locals>.wrappedÕ   sÝ  ø€ ä×#Ñ# DÓ)ˆCØ—^‘^ˆFÜœt F§M¡M£OÓ4Ó5ˆKð ×Ñ¤7×#4Ñ#4×#CÑ#CÒCØEIÖJ¸cœ¨¨[Õ9ÐJ�ÑJô ñ ä),¨T°6·=±=³?Ó)Côó ð œ3˜vŸ}™}›Ó/Ð1Ð2ñ	3ð ð "&§¡£÷á�D˜#ð ¸DÀF¹N”o c¨6°$©<Ô8ÐPSÑSðˆDñ ñ
 ˜4Ð( 4Ñ(ˆFð ˆJØ˜VÑ#¨¨zÑ(:×(EÑ(EÈÒ(Sà%˜SŸX™X tÐ4¨tÑ4×>Ñ>�
Ø—>‘> *¨eÔ4ð " !™W�FØ%Ÿ>™>¨&Ó1�DÜ"×1Ñ1°&¸$ÀÇÁÓL�Fð ˜‰àÐ%Ø!) §¡¨4Ð!8°4Ñ!8×!BÑ!B�JØ —n‘n UÓ+�Ü& s¨FÐ4IÓJ�Ü! &Ó)ˆFàˆMùòO Kùós   Á0GÃ  G)Ú	functoolsÚwraps)r�   rŽ   r^   s   ` €r   Únormalizer_innerz$normalizer.<locals>.normalizer_innerÔ   s&   ù€ Ü	�‰˜Ó	ô.	ó 
ð.	ð` ˆr   © )Ú_funcr^   r‘   s    ` r   rV   rV   Ó   s!   ø€ ô2ðh €}ØÐá Ó&Ð&r   r   )F)-Ú__doc__Ú
__future__r   r�   rz   r=   ÚtypesÚtypingrF   Ú r   r   r   ÚTypeVarr   ÚintÚfloatÚcomplexÚboolÚScalarrQ   r	   r
   r   r   r   r   r   r   r   r    r#   r+   r/   r7   r@   rD   rH   rP   rS   rW   r[   rm   rs   rV   r’   r   r   ú<module>rŸ      s  ðñ `å "ã Û Û Û Û ã ç *Ñ *ð ˆF�N‰N˜;Ó'€	Ø	ˆu‰�wÑ	 Ñ	%€Ø Ñ&Ð àˆF�N‰N˜;Ó'€	Øˆ6�>‰>˜*Ó%€Ø
ˆ&�.‰.˜Ó
#€Øˆv�~‰~˜nÓ-€Øˆ6�>‰>˜*Ó%€ð ˆ6�>‰>˜*Ó%€à#�V—^‘^Ø × 8Ñ 8ôÐ ó
ó)ó3ó@ó=óò
óó	óó ðØÐ%ðàÐ7ðð Ð8ðð Ð5ð	ð
 Ð3ðð "Ð#Jðð Ð Gðð Ð*ðð Ð'ðð Ð,ðð Ð)ðð Ð ðð ˜?ðð ˜ðð Ð#ðð  Ð3ð!ð" Ð/ð#ð$ Ð,ñ%€ò,8óò0ð %*¸ó ð8'°Eõ 8'r   