Ë
    0Ò^j‘  ã                   óö  — d dl Z d dlmZmZmZmZmZ d dlZddl	­ ddl
m	Z	 ddl
mZ e	j                  ZdZd„ Zg d	¢Zd
„ Z eddgdd¬«      Z eddd¬«       eddd¬«       eddd¬«       eddd¬«       eddd¬«       ed¬«       edddgdd¬«       ed¬«      dœZe	j                  D ]L  Z ee	e«      Z eeedz   «      Zej/                  ee«      Z eer  eee«      e«      ne«      Ze e«       e<   ŒN y)é    N)Úis_cupyÚis_jaxÚscipy_namespace_forÚSCIPY_ARRAY_APIÚxp_capabilitiesé   )Ú*)Ú_ndimage_api)Ú_delegatorsÚndimagec                 óâ   ‡— t        | t        j                  t        j                  z  «      r‰j	                  | «      S t        | t
        t        z  «      r t        | «      ˆfd„| D «       «      S | S )z4Convert arrays/scalars hiding in the sequence `arg`.c              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­w©N)Ú_maybe_convert_arg)Ú.0ÚxÚxps     €úv/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/ndimage/_support_alternative_backends.pyú	<genexpr>z%_maybe_convert_arg.<locals>.<genexpr>   s   øè ø€ Ò@°qÔ+¨A¨r×2Ñ@ùs   ƒ)Ú
isinstanceÚnpÚndarrayÚgenericÚasarrayÚlistÚtupleÚtype)Úargr   s    `r   r   r      sR   ø€ ä�#”r—z‘z¤B§J¡JÑ.Ô/Ø�z‰z˜#‹ÐÜ	�Cœ¤™Ô	&ØŒt�C‹yÓ@¸CÔ@Ó@Ð@àˆ
ó    )Údistance_transform_bfÚdistance_transform_cdtÚfind_objectsÚgeometric_transformÚvectorized_filterc                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 óH   •‡ — t        j                  ‰ «      ˆˆ ˆfd„«       }|S )Nc            	      óÚ  •‡—  ‰| i |¤ŽŠt        ‰«      rH‰j                  t        vr6dd l}|j	                  d‰› �«      }t        |‰j                  «      } || i |¤ŽS t        ‰«      rD‰j                  dk(  r5t        ‰«      }t        |‰«      }t        |‰j                  «      } || i |¤ŽS  ‰| i |¤Ž}t        |t        j                  t        j                  z  «      r‰j                  |«      S t        |t        «      r|S t        |t        «      rD|j                  «       D �	�
ci c](  \  }	}
|	j!                  «       t#        ˆfd„|
D «       «      “Œ* c}
}	S |€|S t%        |‰«      S c c}
}	w )Nr   zcupyx.scipy.Úmap_coordinatesc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr   )r   )r   Úvvr   s     €r   r   z>delegate_xp.<locals>.inner.<locals>.wrapper.<locals>.<genexpr>E   s   øè ø€ Ò'C¸2¨¯
©
°2¯Ñ'Cùs   ƒ)r   Ú__name__ÚCUPY_BLOCKLISTÚ	importlibÚimport_moduleÚgetattrr   r   r   r   r   r   r   ÚintÚdictÚitemsÚitemr   r   )ÚargsÚkwdsr-   Úcupyx_moduleÚ
cupyx_funcÚspxÚ
jax_moduleÚjax_funcÚresultÚkÚvr   Ú	delegatorÚfuncÚmodule_names              @€€€r   Úwrapperz+delegate_xp.<locals>.inner.<locals>.wrapper'   sV  ù€ á˜DÐ) DÑ)ˆBô �rŒ{˜tŸ}™}´NÑBã Ø(×6Ñ6¸ÀkÀ]Ð7SÓT�Ü$ \°4·=±=ÓA�
Ù! 4Ð0¨4Ñ0Ð0Ü˜” §¡Ð1BÒ BÜ)¨"Ó-�Ü$ S¨+Ó6�
Ü" :¨t¯}©}Ó=�Ù Ð.¨Ñ.Ð.ñ ˜tÐ, tÑ,�ä˜f¤b§j¡j´2·:±:Ñ&=Ô>àŸ:™: fÓ-Ð-Ü ¬Ô,Ø!�MÜ ¬Ô-ð
 $*§<¡<£>÷á˜A˜að Ÿ™›¤%Ó'CÀÔ'CÓ"CÑCóð ð �^à!�Mô .¨f°bÓ9Ð9ùós   Ä&-E')Ú	functoolsÚwraps)r?   rA   r>   r@   s   ` €€r   Úinnerzdelegate_xp.<locals>.inner&   s&   ù€ Ü	�‰˜Ó	õ%	:ó 
ð%	:ðL ˆr   © )r>   r@   rD   s   `` r   Údelegate_xprF   %   s   ù€ õ(ðR €Lr   TÚcupyF)Úcpu_onlyÚ
exceptionsÚallow_dask_computeÚjax_jit)rH   rJ   rK   )Úout_of_scopez	jax.numpy)Únp_only)r#   r"   r    r!   r$   Úgenerate_binary_structurer(   Úlabeled_comprehensionÚ
_signature)rB   Úscipy._lib._array_apir   r   r   r   r   Únumpyr   r
   Ú r   Ú__all__ÚMODULE_NAMEr   r,   rF   Údefault_capabilitiesÚcapabilities_dictÚ	func_namer/   Ú	bare_funcr>   ÚgetÚcapabilitiesÚfÚvarsrE   r   r   ú<module>r^      s^  ðÛ ÷õ ó Ü Ý Ý Ø
×
Ñ
€ð €òò€ò*ñX 'Ø˜v˜h¸4ÈôÐ ñ
 +Ø¨$¸ôñ $Ø¨$¸ôñ -Ø¨$¸ôñ .Ø¨$¸ôñ )Ø¨$¸ôñ "1¸dÔ!CÙ&Ø 6¨;Ð"7Ø¨ôñ -°TÔ:ñ+Ð ð2 ×%Ñ%ò €IÙ˜ iÓ0€IÙ˜ Y°Ñ%=Ó>€Ià$×(Ñ(¨Ð4HÓI€Lñ 	áð 	,‰�I˜{Ó+¨IÔ6Ø )ó	€Að
 �DƒFˆ9Òñr   