o
    M¾±h¢
  ã                   @   s>   d dl mZ d dlmZ edƒZdd„ Zdd„ ZeedœZd	S )
é   )Ú	Undefined)Ú
get_moduleÚnumpyc                    s®   t | tƒr‡ fdd„|  ¡ D ƒS t | ttfƒr ‡ fdd„| D ƒS tdurOt | tjƒrO| jdkrK| jj	dv rK| jdkrK| jd	krKt
| ƒt| jƒ| jd
œS |  ¡ S | tu rUdS | S )a´  
    Python -> Javascript ipywidget serializer

    This function must repalce all objects that the ipywidget library
    can't serialize natively (e.g. numpy arrays) with serializable
    representations

    Parameters
    ----------
    v
        Object to be serialized
    widget_manager
        ipywidget widget_manager (unused)

    Returns
    -------
    any
        Value that the ipywidget library can serialize natively
    c                    ó   i | ]
\}}|t |ˆ ƒ“qS © ©Ú	_py_to_js©Ú.0ÚkÚv©Úwidget_managerr   úS/var/www/html/Persson_Maskin/env/lib/python3.10/site-packages/plotly/serializers.pyÚ
<dictcomp>   ó    z_py_to_js.<locals>.<dictcomp>c                    ó   g | ]}t |ˆ ƒ‘qS r   r   ©r
   r   r   r   r   Ú
<listcomp>$   ó    z_py_to_js.<locals>.<listcomp>Nr   )ÚuÚiÚfÚint64Úuint64)ÚbufferÚdtypeÚshapeÚ_undefined_)Ú
isinstanceÚdictÚitemsÚlistÚtupleÚnpÚndarrayÚndimr   ÚkindÚ
memoryviewÚstrr   Útolistr   ©r   r   r   r   r   r      s   



r   c                    sZ   t | tƒr‡ fdd„|  ¡ D ƒS t | ttfƒr ‡ fdd„| D ƒS t | tƒr+| dkr+tS | S )a   
    Javascript -> Python ipywidget deserializer

    Parameters
    ----------
    v
        Object to be deserialized
    widget_manager
        ipywidget widget_manager (unused)

    Returns
    -------
    any
        Deserialized object for use by the Python side of the library
    c                    r   r   ©Ú	_js_to_pyr	   r   r   r   r   V   r   z_js_to_py.<locals>.<dictcomp>c                    r   r   r,   r   r   r   r   r   [   r   z_js_to_py.<locals>.<listcomp>r   )r   r    r!   r"   r#   r)   r   r+   r   r   r   r-   C   s   
r-   )Ú	from_jsonÚto_jsonN)Úbasedatatypesr   Úoptional_importsr   r$   r   r-   Úcustom_serializersr   r   r   r   Ú<module>   s    <&