Ë
    {�h˜Ä ã                   ó´  — d dl mZ d dlmZ d dlmZmZ ddl	m
Z
mZmZ ddlmZmZmZmZmZ d dlmZ d dlmZmZ d dlZd dlmZmZmZ d dlmc mZ  d	Z! e"eeeee¬
«      Zg d¢g d¢z   g d¢z   g d¢z   Z#g d¢Z$g d¢Z%g d¢Z&e#e$z   e%z   e&z   Z'ejP                  ejR                  ejT                  ejV                  ejX                  ejZ                  gZ.e.ej^                  ej`                  ejb                  gz  Z. G d„ de2«      Z3 e3«       Z4[3da5d„ Z6d„ Z7 edg d¢«      Z8 edg d¢«      Z9d„ Z:d„ Z;de jx                  de=de>fd„Z?d e j€                  de j€                  fd!„ZAde=fd"„ZBd#„ ZCd$„ ZDd%„ ZEd&„ ZFd'„ ZGd(„ ZHd)„ ZId*„ ZJd+„ ZKd,„ ZLd-„ ZMd.„ ZNd/„ ZOd0„ ZPd1„ ZQd2„ ZRd3„ ZSd4„ ZTd5„ ZUd6„ ZVd7„ ZWd8„ ZXd9„ ZYdEd:„ZZd;„ Z[d<„ Z\de jx                  ddfd=„Z]d>„ Z^d?„ Z_d@„ Z`dA„ ZadB„ ZbdEdC„ZcdD„ Zdy)Fé    N)Ú
namedtupleÚOrderedDicté   )ÚIdentityMapÚConstantÚRange)ÚolsÚlowessÚrollingÚ	expandingÚewm)ÚColorscaleValidator)ÚqualitativeÚ
sequential)Úmake_subplotsÚ_set_trace_grid_referenceÚ_subplot_type_for_trace_typeÚpx_no_color_constant)r
   r   r   r   r	   )ÚbaseÚxÚyÚzÚaÚbÚcÚrÚthetaÚsizeÚx_startÚx_end)Ú
hover_nameÚtextÚnamesÚvaluesÚparentsÚ
wide_cross)ÚidsÚerror_xÚerror_x_minusÚerror_yÚerror_y_minusÚerror_z)Úerror_z_minusÚlatÚlonÚ	locationsÚanimation_group)Ú
dimensionsÚcustom_dataÚ
hover_dataÚpathÚwide_variable)Úanimation_frameÚ	facet_rowÚ	facet_colÚ
line_group)ÚcolorÚsymbolÚ	line_dashÚpattern_shapec                   ó    — e Zd Zg d¢Zd„ Zd„ Zy)Ú
PxDefaults©ÚtemplateÚwidthÚheightÚcolor_discrete_sequenceÚcolor_discrete_mapÚcolor_continuous_scaleÚsymbol_sequenceÚ
symbol_mapÚline_dash_sequenceÚline_dash_mapÚpattern_shape_sequenceÚpattern_shape_mapÚsize_maxÚcategory_ordersÚlabelsc                 ó$   — | j                  «        y ©N)Úreset©Úselfs    úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/plotly/express/_core.pyÚ__init__zPxDefaults.__init__I   s   € Ø�
‰
�ó    c                 óÖ   — d | _         d | _        d | _        d | _        i | _        d | _        d | _        i | _        d | _        i | _	        d | _
        i | _        d| _        i | _        i | _        y )Né   rA   rT   s    rV   rS   zPxDefaults.resetL   st   € ØˆŒØˆŒ
ØˆŒØ'+ˆÔ$Ø"$ˆÔØ&*ˆÔ#Ø#ˆÔØˆŒØ"&ˆÔØˆÔØ&*ˆÔ#Ø!#ˆÔØˆŒØ!ˆÔØˆ�rX   N)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__rW   rS   © rX   rV   r@   r@   6   s   „ ò€Iò$órX   r@   c                 ó   — | a y)zì
    Arguments:
        token: A Mapbox token to be used in `plotly.express.scatter_mapbox` and         `plotly.express.line_mapbox` figures. See         https://docs.mapbox.com/help/how-mapbox-works/access-tokens/ for more details
    N)ÚMAPBOX_TOKEN)Útokens    rV   Úset_mapbox_access_tokenrc   e   s	   € ð �LrX   c                 ó   — | j                   S )a©  
    Extracts fit statistics for trendlines (when applied to figures generated with
    the `trendline` argument set to `"ols"`).

    Arguments:
        fig: the output of a `plotly.express` charting call
    Returns:
        A `pandas.DataFrame` with a column "px_fit_results" containing the `statsmodels`
        results objects, along with columns identifying the subset of the data the
        trendline was fit on.
    )Ú_px_trendlines)Úfigs    rV   Úget_trendline_resultsrg   p   s   € ð ×ÑÐrX   ÚMapping)Úshow_in_trace_nameÚgrouperÚval_mapÚsequenceÚupdaterÚvariableÚfacetÚ	TraceSpec©ÚconstructorÚattrsÚtrace_patchÚmarginalc                 ó6   — 	 | d   |   S # t         $ r |cY S w xY w)NrP   )Ú	Exception)ÚargsÚcolumns     rV   Ú	get_labelrz   Ž   s*   € ðØ�H‰~˜fÑ%Ð%øÜò ØŠðús   ‚
 Š—c                 óˆ   — | d   j                  «       D ��ci c]  \  }}||“Œ
 }}}	 ||   S c c}}w # t        $ r |cY S w xY w)z‰Invert mapping.
    Find key corresponding to value column in dict args["labels"].
    Returns `column` if the value does not exist.
    rP   )Úitemsrw   )rx   ry   ÚkeyÚvalueÚreversed_labelss        rV   Úinvert_labelr€   •   sX   € ð
 7;¸8±n×6JÑ6JÓ6L×M¡l s¨E�u˜c‘zÐM€OÑMðØ˜vÑ&Ð&ùó Nøô ò ØŠðús   —-¨3 ³AÁ AÚdfÚcol_nameÚreturnc                 óè   — t         j                  j                  | j                  «       x}«      r||   j                  j
                  dv S | j                  |«      j                  j                  «       S )NÚifc)ÚnwÚdependenciesÚis_pandas_like_dataframeÚ	to_nativeÚdtypeÚkindÚ
get_columnÚ
is_numeric)r�   r‚   Ú	df_natives      rV   Ú_is_continuousr�   ¡   s[   € Ü	‡�×/Ñ/¸R¿\¹\»^Ð0K°	ÔLð ˜Ñ"×(Ñ(×-Ñ-°Ð6Ð6Ø�=‰=˜Ó"×(Ñ(×3Ñ3Ó5Ð5rX   Úsc                 óè  — | j                   }|t        j                  k(  r| j                  j	                  d«      dz  S |t        j
                  k(  r“|j                  dv r| j                  j	                  d«      dz  S |j                  dk(  r| j                  j	                  d«      dz  S |j                  dk(  r| j                  j	                  d«      dz  S d}t        |«      ‚d	|› �}t        |«      ‚)
NÚmséè  )r�   r’   Úusi@B Únsi Êš;z%Unexpected dtype, please report a bugzExpected Date or Datetime, got )	rŠ   r†   ÚDateÚdtÚ	timestampÚDatetimeÚ	time_unitÚ
ValueErrorÚ	TypeError)r�   rŠ   Úmsgs      rV   Ú_to_unix_epoch_secondsrž   ª   sÌ   € Ø�G‰G€EØ”—‘ÒØ�t‰t�~‰~˜dÓ# eÑ+Ð+Ø”—‘ÒØ�?‰?˜kÑ)Ø—4‘4—>‘> $Ó'¨%Ñ/Ð/Ø�_‰_ Ò$Ø—4‘4—>‘> $Ó'¨)Ñ3Ð3Ø�_‰_ Ò$Ø—4‘4—>‘> $Ó'¨-Ñ7Ð7à9ˆCÜ˜S“/Ð!à/°¨wÐ7ˆÜ˜‹nÐrX   c                 ó®   — d}	 t        j                  | |¬«      }||D �ch c]  }|› |› �’Œ
 c}vr|S |dz  }|dkD  rd| ›d|› d�}t        |«      ‚ŒNc c}w )zŸWraps of Narwhals generate_temporary_column_name to generate a token
    which is guaranteed to not be in columns, nor in [col + token for col in columns]
    r   )Úcolumnsr   éd   zKInternal Error: Plotly was not able to generate a column name with n_bytes=z and not in zo.
Please report this to https://github.com/plotly/plotly.py/issues/new and we will try to replicate and fix it.)r†   Úgenerate_temporary_column_nameÚAssertionError)Ún_bytesr    Úcounterrb   r   r�   s         rV   Ú_generate_temporary_column_namer¦   ½   s†   € ð €GØ
ä×1Ñ1°'À7ÔKˆð °Ö8¨1˜A˜3˜u˜gšÒ8Ñ8ØˆLà�1‰ˆØ�SŠ=ðØ�*˜L¨¨	ð 2(ð(ð ô ! Ó%Ð%ð# ùò
 9s    Ac                 ó’  — t        | |«      x}}d| v r´|dk(  s"|dk(  rd| v r| d   dk(  s|dk(  r™d| v r•| d   dk(  r�| d   xs d}|dk7  r|›d	|›�}nd}d
| v r]| d
   �X|dk(  r| d
   }nM| d
   }|dk(  r"|dk(  rd›d	|›�}n6|dk(  r|›d	|›�}n)|›d|›�}n!|dk(  rd›d|›�}n|dk(  rd›d|›�}n|›d	|›�}d| v r| d   �|›d| d   ›d�}|S )NÚhistfuncr   r   ÚorientationÚhr   ÚvÚcountz of ÚhistnormÚsumÚprobabilityÚfractionÚpercentz weighted by z of sum of Úbarnormz (normalized as ú))rz   )rx   ry   ÚroleÚoriginal_labelÚlabelr¨   r­   s          rV   Úget_decorated_labelr·   Ö   s2  € Ü& t¨VÓ4Ð4€N�UØ�TÑØ	�ŠØ�CŠK˜M¨TÑ1°d¸=Ñ6IÈSÒ6PØ�CŠK˜M¨TÑ1°d¸=Ñ6IÈSÒ6Pà˜
Ñ#Ò. wˆØ�wÒÚ"*©EÐ2‰EàˆEà˜Ñ $ zÑ"2Ð">Ø˜ÒØ˜ZÑ(‘à 
Ñ+�Ø˜uÒ$Ø =Ò0Ú.8¹%Ð @™Ø! YÒ.Ú.6¹Ð >™â7?ÁÐ P™Ø Ò.Ú1;¹UÐC‘EØ Ò*Ú1:¹EÐB‘Eâ*2±EÐ:�Eà˜Ñ  i¡Ð!<Ú/4°d¸9³oÐFˆEà€LrX   c           
      óæ  ‡‡‡— ‰dk(  s‰dk(  rt        d| ‰   i dg‰d„ d ¬«      S ‰dk(  s‰dk(  rC‰dk(  rd	nd
}t        d|| ‰   i t        dd«      D �cg c]  }|‘Œ c}d„ ‰dk(  rd¬«      S d¬«      S ‰j                  d«      ^ŠŠŠ‰}‰}‰dk(  rd}‰dk(  rd}d}‰dv rd}d}| |dz      dk(  rt        «       }n| |dz      j	                  «       }t        d‰| |   || |dz      ˆˆˆfd„d ¬«      S c c}w )Nr:   r7   FÚ c                 ó   — |S rR   r_   ©Útracer«   s     rV   ú<lambda>zmake_mapping.<locals>.<lambda>  ó   €  a€ rX   )ri   rj   rk   rl   rn   rm   ro   r8   r9   r   r   r   r“   c                 ó   — |S rR   r_   r»   s     rV   r½   zmake_mapping.<locals>.<lambda>  r¾   rX   ÚrowÚcol)ri   rn   rj   rk   rl   rm   ro   ú.r;   Úcolor_discreteÚdashr=   )ÚpatternÚshaper>   Ú_mapÚidentityTÚ	_sequencec                 óT   •— | j                  ‰dj                  ‰g‰z   «      |ii«      S )NrÂ   )ÚupdateÚjoin)r¼   r«   Úother_variablesÚparentrn   s     €€€rV   r½   zmake_mapping.<locals>.<lambda>'  s-   ø€  §¡Ø�c—h‘h ˜z¨OÑ;Ó<¸aÐ@ÐAó"
€ rX   )rh   ÚrangeÚsplitr   Úcopy)	rx   rn   ÚletterÚiÚvprefixÚarg_namerk   rÍ   rÎ   s	    `     @@rV   Úmake_mappingrÖ   ü   sd  ú€ Ø�<Ò 8Ð/@Ò#@ÜØ$Ø˜‘NØØ�TØÙ'Øô
ð 	
ð �;Ò (¨kÒ"9Ø  KÒ/‘°SˆÜØ$ØØ˜‘NØÜ!& q¨$£Ö0˜A’aÒ0Ù'Ø# {Ò2�%ô
ð 	
ð 9>ô
ð 	
ð ,4¯>©>¸#Ó+>Ð(€VˆX˜Ø€GØ€HØ�7ÒØ"ˆØ�6ÒØˆØˆØÐ'Ñ'Ø"ˆØ!ˆØˆG�fÑÑ Ò+Ü“-‰à�w Ñ'Ñ(×-Ñ-Ó/ˆÜØØØ�X‘ØØ�g Ñ+Ñ,õ
ð ô
ð 
ùò' 1s   Á	C.c                 óB  — | d   }d| v r-| d   r(t        j                  ||j                  d«      gd¬«      }|j                  j	                  «       xs i }d}d}|j
                  D �
]¢  }	| |	   }
t        | |
|	«      }|	dk(  �r%|j                  D �cg c]Ÿ  }|
r||
v r—|j                  t        j                  k7  st        ||«      rn|j                  t        j                  k7  s>|
�||
v s8t        j                  |j                  |«      j                  «       «      | d	   k  r||j                  |«      f‘Œ¡ }}|D ��cg c]  \  }}t!        t#        | |«      |¬
«      ‘Œ c}}|d<   |j                  t        j$                  k(  s�Œ|d   D ]  }t!        d¬«      |d<   Œ d|d<   d|d<   �ŒA|
�	�|	dk(  r?d|vrt!        «       |d<   |j                  |
«      |d   d<   d|d   d<   ||d   d<   d||<   �Œˆ|	dk(  r&|j                  t        j&                  k(  s�Œ¬d|d<   �Œ³|	dk(  r&|j                  t        j&                  k(  s�Œ×d|d<   �ŒÞ|	dk(  �rÈ| d   s�Œë| d   s�Œòt)        |j+                  t        j,                  | d   | d   «      «      j/                  «       «      dkD  s�Œ9|j1                  | d   d¬«      }|j                  | d   «      }|j                  | d   «      }|j2                  t         j4                  k(  s|j2                  t         j6                  k(  rt9        |«      }n>|j2                  j;                  «       s$	 |j=                  t        j>                  «       «      }|j2                  j;                  «       s$	 |j=                  t        j>                  «       «      }|jC                  «       |jC                  «       z   }|jE                  |«      j                  | d   «      |d<   |d   j2                  t         j4                  k(  rI|d   j2                  jF                  �0|d   jH                  jK                  d«      jM                  «       |d<   n|d   jM                  «       |d<   tN        |
   } || d!   |j                  | d   «      |jM                  «       |jM                  «       | d   | d   |jM                  «       «      \  }}}t)        |«      t)        |d   «      k(  sJ d"«       ‚||d<   d|t#        | | d   «      <   d#|t#        | | d   «      <   �Œ¬|	jQ                  d$«      r<|	dd% }|	jS                  d&«      rd'nd(}||vri ||<   |j                  |
«      ||   |<   �Œù|	d)k(  r9t)        |
«      d*kD  s�Œ|j+                  t        j,                  |
«      «      |d+<   �Œ7|	d,k(  r\|j                  t        j&                  t        jT                  t        jV                  fvs�Œy|j                  |
«      |d-<   |dk(  s�Œ”d.}�Œ˜|	d/k(  �r8|j                  t        j&                  t        jT                  t        jV                  fvs�ŒÛtY        |
t         «      }| j[                  d)«      xs g }|
D ]y  }|r|
|   sŒ|| j[                  d«      | j[                  d«      | j[                  d0«      | j[                  d1«      fv rŒP	 | d)   j]                  |«      }t        | |d«      }d2|z  ||<   Œ{ t)        |«      d*kD  s�ŒŽ |j*                  t         je                  |«      D �cg c]  }t        j,                  |«      ‘Œ c}Ž |d+<   �ŒÖ|	d3k(  �rý|j                  t        jf                  t        jh                  t        jj                  fv r |j                  |
«      |d0<   d4|d5<   d6||<   �Œ7|j                  t        jl                  t        jn                  t        jp                  t        jr                  t        jt                  fv rßd|vrt!        «       |d<   | j[                  d7«      r&|j                  |
«      |d   d8<   d4|d   d5<   d9||<   �ŒØg |d   d8<   | d:   �| d:   j	                  «       }ni }|j                  |
«      jw                  «       D ]P  }|j[                  |«      €#| d;   t)        |«      t)        | d;   «      z     ||<   |d   d8   jc                  ||   «       ŒR �Œod} |j                  t        j                  t        j                  fv rd<} | |vrt!        «       || <   |j                  |
«      ||    d3<   d4||    d5<   d=| z  ||<   �ŒÙ|	d>k(  r|j                  |
«      |d?<   �Œô|	d@k(  r|j                  |
«      ||	<   dA||<   �	Œ|	dBk(  r$|j                  |
«      ||	<   |dBk(  rdCn|}!dD||!<   �	Œ=|	dEk(  r$|j                  |
«      ||	<   |dEk(  rdFn|}!dG||!<   �	Œf|	d?k(  r$|j                  |
«      ||	<   |d?k(  rdHn|}!dI||!<   �	Œ�|	dJk(  r“|j                  t        jl                  t        jn                  t        jp                  t        jr                  t        jt                  fv r$|j                  |
«      |dK<   |dJk(  rdLn|}!dM||!<   �
Œ|j                  |
«      ||	<   �
Œ'|j                  |
«      ||	<   dN|	z  ||<   �
ŒE|j                  t        j&                  k(  r|	dOv s5|j                  t        jT                  t        jV                  fv s�
Œ”|	d0k(  s�
Œ›dN|	z  ||<   �
Œ¥ |j                  t        j                  t        j                  fvrãty        |«      }"| d/   r‡tY        | d/   t         «      rt|j{                  «       D ]a  \  }#}$t}        | |#«      }%|%| d/   v sŒ| d/   |%   d*   }&|&r*tY        |&t~        «      sŒ8|$j�                  dPdQ|&z  «      |"|#<   ŒQ|"jƒ                  |#«      }'Œc |"j{                  «       D �#�$cg c]  \  }#}$|#dRz   |$z   ‘Œ }(}#}$|dSj…                  |(«      z   |dT<   |dTxx   dUz  cc<   ||fS c c}w c c}}w # t@        $ r tA        d| d   z  «      ‚w xY w# t@        $ r tA        d «      ‚w xY w# t@        t^        t`        f$ r  t)        |«      }|jc                  |«       Y �ŒÆw xY wc c}w c c}$}#w )Va:  Populates a dict with arguments to update trace

    Parameters
    ----------
    args : dict
        args to be used for the trace
    trace_spec : NamedTuple
        which kind of trace to be used (has constructor, marginal etc.
        attributes)
    trace_data : pandas DataFrame
        data
    mapping_labels : dict
        to be used for hovertemplate
    sizeref : float
        marker sizeref

    Returns
    -------
    trace_patch : dict
        dict to be used to update trace
    fit_results : dict
        fit information to be used for trendlines
    Ú
data_frameÚ
line_closer   Úvertical©ÚhowNr¹   r2   Údimensions_max_cardinality)r¶   r$   T)ÚmatchesÚaxisz%{x}z%{xaxis.title.text}z%{y}z%{yaxis.title.text}r   ÚmarkerÚareaÚsizemodeÚsizerefz%{marker.size}Ú
marginal_xr¬   Ú
marginal_yÚ	trendliner   r   ©ÚbyÚ
nulls_lastz‚Could not convert value of 'x' ('%s') into a numeric type. If 'x' contains stringified dates, please convert to a datetime column.z3Could not convert value of 'y' into a numeric type.Útrendline_optionsz/missing-data-handling failure in trendline codez%{y} <b>(trend)</b>Úerroré   ÚminusÚ
arrayminusÚarrayr3   r   Ú
customdatar!   Ú	hovertextz<b>%{hovertext}</b><br><br>r4   r   r   z%%{customdata[%d]}r;   Ú
coloraxis1Ú	coloraxisz%{z}Úcolor_is_continuousÚcolorsz%{color}rF   rE   Úlinez%%{%s.color}r1   r'   r0   z%{location}r$   r~   z%{value}r%   rÎ   z	%{parent}Úidz%{id}r#   rP   r¶   z%{label}z%%{%s}©r   r   ú}z%s}ú=z<br>Úhovertemplatez<extra></extra>)Cr†   ÚconcatÚheadrt   rÑ   rs   r·   r    rr   ÚgoÚ	Parcoordsr�   ÚParcatsÚto_py_scalarrŒ   Ún_uniqueÚdictrz   ÚSplomÚ	HistogramÚlenÚselectrÁ   Ú
drop_nullsÚsortrŠ   r™   r–   rž   r�   ÚcastÚFloat64r›   Úis_nullÚfilterÚ	time_zoner—   Úreplace_time_zoneÚto_numpyÚtrendline_functionsÚ
startswithÚendswithÚHistogram2dÚHistogram2dContourÚ
isinstanceÚgetÚindexÚAttributeErrorÚKeyErrorÚappendÚfromkeysÚ
ChoroplethÚChoroplethmapÚChoroplethmapboxÚSunburstÚTreemapÚIcicleÚPieÚ
FunnelareaÚto_listr   r|   r€   ÚstrÚreplaceÚpoprÌ   ))rx   Ú
trace_specÚ
trace_dataÚmapping_labelsrã   r�   rt   Úfit_resultsÚhover_headerÚ	attr_nameÚ
attr_valueÚ
attr_labelÚnameÚdimsry   ÚdÚsorted_trace_datar   r   Únon_missingÚtrendline_functionÚy_outÚerror_xyÚarrÚhover_is_dictÚcustomdata_colsrÁ   ÚpositionÚattr_label_colr   ÚmappingÚcatÚ	colorableÚ_labelÚmapping_labels_copyÚkr«   Úk_argsÚ	formatterÚ_Úhover_liness)                                            rV   Úmake_trace_kwargsrH  .  s¸  € ð2 ˜LÑ)€Bà�tÑ  \Ò 2Ü—Y‘Y 
¨J¯O©O¸AÓ,>Ð?ÀZÔPˆ
à×(Ñ(×-Ñ-Ó/Ò5°2€KØ€KØ€LØ×%Ñ%ó @>ˆ	Ø˜)‘_ˆ
Ü(¨¨z¸9ÓEˆ
Ø˜Ó$ð '×.Ñ.öàÙ#¨°Ñ);Ø×+Ñ+¬r¯|©|Ò;¼~ÈbÐRVÔ?Wà×*Ñ*¬b¯j©jÒ8Ø"Ð.°4¸:Ñ3EÜ—‘ r§}¡}°TÓ':×'CÑ'CÓ'EÓFØÐ8Ñ9ò:ð �z×,Ñ,¨TÓ2Ò3ðˆDð ð '+÷)á"�T˜6ô œ9 T¨4Ó0¸Ö@ó)ˆK˜Ñ%ð ×%Ñ%¬¯©Ô1Ø$ \Ñ2ò 3�AÜ $¨TÔ 2�A�f’Ið3à8>�Ð4Ñ5Ø8>�Ð4Ó5àÑ#Ø˜FÒ"Ø ;Ñ.Ü,0«F�K Ñ)Ø0:×0EÑ0EÀjÓ0Q�˜HÑ% fÑ-Ø4:�˜HÑ% jÑ1Ø3:�˜HÑ% iÑ0Ø-=�˜zÓ*Ø˜lÒ*Ø×)Ñ)¬R¯\©\Ô9Ø.4�N 7Ó+Ø˜lÒ*Ø×)Ñ)¬R¯\©\Ô9Ø.4�N 7Ó+Ø˜kÓ)à˜”IØ˜Sœ	ÜØ"×)Ñ)¬"¯&©&°°c±¸DÀ¹IÓ*FÓG×RÑRÓTóð ôð )3¯©¸4À¹9ÐQU¨Ó(VÐ%Ø)×4Ñ4°T¸#±YÓ?�AØ)×4Ñ4°T¸#±YÓ?�Aà—w‘w¤"§+¡+Ò-°·±¼B¿G¹GÒ1Cä2°1Ó5™ØŸW™W×/Ñ/Ô1ðØ !§¡¤r§z¡z£|Ó 4˜Að Ÿ7™7×-Ñ-Ô/ðØ !§¡¤r§z¡z£|Ó 4˜Að %&§I¡I£K°!·)±)³+Ñ$=Ð">�KØ'8×'?Ñ'?ÀÓ'L×'WÑ'WØ˜S™	ó(�K Ñ$ð $ CÑ(×.Ñ.´"·+±+Ò=Ø'¨Ñ,×2Ñ2×<Ñ<ÐHð (¨Ñ,×/Ñ/×AÑAÀ$ÓG×PÑPÓRð $ CÒ(ð ,7°sÑ+;×+DÑ+DÓ+F˜ CÑ(ä)<¸ZÑ)HÐ&Ù7IØÐ0Ñ1Ø)×4Ñ4°T¸#±YÓ?ØŸ
™
›ØŸ
™
›Ø˜S™	Ø˜S™	Ø#×,Ñ,Ó.ó8Ñ4�E˜<¨ô ˜u›:¬Ø# CÑ(ó*ò ð IàHóIð ð (-�K Ñ$ØAG�N¤9¨T°4¸±9Ó#=Ñ>ØAV�N¤9¨T°4¸±9Ó#=Ó>Ø×%Ñ% gÔ.Ø$ R a˜=�Ø&/×&8Ñ&8¸Ô&A‘lÀw�Ø ;Ñ.Ø,.�K Ñ)Ø-7×-BÑ-BÀ:Ó-N�˜HÑ% cÓ*Ø˜mÒ+Ü�z“? QÔ&ð 1;×0AÑ0AÄ"Ç&Á&ÈÓBTÓ0U�K Ó-Ø˜lÒ*Ø×)Ñ)Ü—L‘LÜ—N‘NÜ×)Ñ)ð2ó ð
 0:×/DÑ/DÀZÓ/P�K Ñ,Ø# rÔ)Ø'DšØ˜lÓ*Ø×)Ñ)Ü—L‘LÜ—N‘NÜ×)Ñ)ð2ó ô
 %/¨z¼4Ó$@�MØ&*§h¡h¨}Ó&=Ò&CÀ�OØ)ò ˜Ù(°¸C²Ø$ØØ ŸH™H S›MØ ŸH™H S›MØ ŸH™H S›MØ ŸH™H VÓ,ð	#ñ ð %ð8Ø'+¨MÑ':×'@Ñ'@ÀÓ'E˜Hô *=¸TÀ3ÈÓ)M˜Ø9MØ$ñ:˜ ~Ò6ð!ô( ˜?Ó+¨aÔ/ð 5F°J×4EÑ4EÜ15·±¸Ó1OÖP¨AœbŸf™f Q�iÒPð5˜ LÓ1ð ˜gÓ%Ø×)Ñ)Ü—M‘MÜ×$Ñ$Ü×'Ñ'ð.ñ ð
 (2×'<Ñ'<¸ZÓ'H�K Ñ$Ø/;�K Ñ,Ø17�N :Ó.Ø×+Ñ+Ü—K‘KÜ—J‘JÜ—I‘IÜ—F‘FÜ—M‘Mð0ñ ð   {Ñ2Ü04³˜ HÑ-à—x‘xÐ 5Ô6Ø:D×:OÑ:OØ&ó;˜ HÑ-¨hÑ7ð >J˜ HÑ-¨kÑ:Ø5?˜ zÓ2à:<˜ HÑ-¨hÑ7ØÐ 4Ñ5ÐAØ&*Ð+?Ñ&@×&EÑ&EÓ&G™Gà&(˜GØ#-×#8Ñ#8¸Ó#D×#LÑ#LÓ#Nò 
Q˜Cð  'Ÿ{™{¨3Ó/Ð7Ø/3Ð4MÑ/NÜ$'¨£L´3°tÐ<UÑ7VÓ3WÑ$Wñ0" ¨¡ð (¨Ñ1°(Ñ;×BÑBÀ7È3Á<ÕPò
Qð !)�IØ!×-Ñ-´"·*±*¼b¿l¹lÐ1KÑKØ$*˜	Ø ¨Ñ3Ü15³˜ IÑ.Ø6@×6KÑ6KÈJÓ6W�K 	Ñ*¨7Ñ3Ø:F�K 	Ñ*¨;Ñ7Ø1?À)Ñ1K�N :Ó.ØÐ/Ò/Ø%/×%:Ñ%:¸:Ó%F�˜EÓ"Ø˜kÒ)Ø)3×)>Ñ)>¸zÓ)J�˜IÑ&Ø-:�˜zÓ*Ø˜hÒ&Ø)3×)>Ñ)>¸zÓ)J�˜IÑ&Ø$.°(Ò$:™À
�Ø)3�˜vÓ&Ø˜iÒ'Ø)3×)>Ñ)>¸zÓ)J�˜IÑ&Ø%/°9Ò%<™À*�Ø)4�˜vÓ&Ø˜eÒ#Ø)3×)>Ñ)>¸zÓ)J�˜IÑ&Ø!+¨uÒ!4™¸*�Ø)0�˜vÓ&Ø˜gÒ%Ø×)Ñ)Ü—K‘KÜ—J‘JÜ—I‘IÜ—F‘FÜ—M‘Mð.ñ ð -7×,AÑ,AÀ*Ó,M�K Ñ)Ø(2°gÒ(=™WÀ:�FØ-7�N 6Ó*à-7×-BÑ-BÀ:Ó-N�K 	Ó*à)3×)>Ñ)>¸zÓ)J�˜IÑ&Ø-5¸	Ñ-A�˜zÓ*Ø×$Ñ$¬¯©Ò4¸ÀjÑ9PØ×"Ñ"¤r§~¡~´r×7LÑ7LÐ&MÓMØ˜SÔ ð *2°IÑ)=ˆN˜:Ó&ðA@>ðB ×Ñ¤b§l¡l´B·J±JÐ%?Ñ?ô *¨.Ó9ÐØ�Ò¤*¨T°,Ñ-?ÄÔ"FØ&×,Ñ,Ó.ò 	7‘��1ä% d¨AÓ.�Ø˜T ,Ñ/Ò/Ø $ \Ñ 2°6Ñ :¸1Ñ =�IÙ Ü% i´Õ5Ø56·Y±Y¸sÀEÈIÑDUÓ5VÐ/°Ò2à/×3Ñ3°AÓ6™ð	7ð 0C×/HÑ/HÓ/J×K¡t q¨!�q˜3‘w “{ÐKˆÑKØ'3°f·k±kÀ+Ó6NÑ'Nˆ�OÑ$Ø�OÓ$Ð(9Ñ9Ó$Ø˜Ð#Ð#ùò_ùó)øôX  *ò Ü",ð!jà"& s¡)ñ!,ó#ð ðûô  *ò Ü",Ø Uó#ð ðûô` !+¬N¼HÐEò 8Ü'*¨?Ó';˜HØ+×2Ñ2°3×7ð8üò QùóV LsC   ÂB$pÄ:!p#Ì=#p)Í;#qÚ8qÜr
ï!rð)qñqñ0ròrc                 ó\  — t         j                  t        t         j                  t        t         j
                  t        t         j                  t        t         j                  t        t         j                  t        t         j                  t        t         j                  t        t         j                  t        t         j                  t        t         j                   t        t         j"                  t$        t         j&                  t$        i}t(        D ]  }t*        ||<   Œ ||v r ||   | ||«       y y rR   )rþ   Ú	Scatter3dÚconfigure_3d_axesÚScatterternaryÚconfigure_ternary_axesÚScatterpolarÚconfigure_polar_axesÚScatterpolarglÚBarpolarÚ
ScattermapÚconfigure_mapr  Ú
DensitymapÚScattermapboxÚconfigure_mapboxr  ÚDensitymapboxÚ
ScattergeoÚconfigure_geor  Ú
cartesiansÚconfigure_cartesian_axes)rx   rr   rf   ÚordersÚconfiguratorsr   s         rV   Úconfigure_axesr^  e  sÍ   € ä
�‰Ô'Ü
×ÑÔ1Ü
�‰Ô-Ü
×ÑÔ/Ü
�‰Ô)Ü
�‰”}Ü
×Ñœ-Ü
�‰”}Ü
×ÑÔ*Ü
×ÑÔ-Ü
×ÑÔ*Ü
�‰”}Ü
�‰”}ð€Mô ò 4ˆÜ3ˆ�aÒð4à�mÑ#Ø"ˆ�kÑ" 4¨¨fÕ5ð $rX   c                 ót  — d|z   }d|z   }|| v r>| |   r9d|d<   || v rA| |   r<| |   D �cg c]  }t        j                  |d«      ‘Œ c}|d<   n|| v r| |   r| |   |d<   | |   |v rOd|d<   t        |t        j                  j
                  «      r|| |      nt        t        || |      «      «      |d	<   y y c c}w )
NÚlog_Úrange_ÚlogÚtypeé
   rÏ   rï   ÚcategoryorderÚcategoryarray)Úmathrb  r  rþ   ÚlayoutÚXAxisÚlistÚreversed)rx   rß   rÒ   r\  Úlog_keyÚ	range_keyr   s          rV   Úset_cartesian_axis_optsrn  {  sÙ   € Ø�v‰o€GØ˜6Ñ!€IØ�$�˜4 š=ØˆˆV‰Ø˜Ñ  i¢Ø6:¸9±oÖF°œTŸX™X a¨�_ÒFˆD�ŠMØ	�dÑ	˜t IšØ˜Y™ˆˆW‰àˆF�|�vÑØ 'ˆˆ_Ñô ˜$¤§	¡	§¡Ô0ð �4˜‘<Ò ä”h˜v d¨6¡lÑ3Ó4Ó5ð 	ˆ_Òð ùò	 Gs   ©B5c                 ó¶  — t        |j                  «      }t        |j                  d   «      }|j                  d¬«      D ]  }t        | |d|«       Œ |j	                  d¬«      D ]  }t        | |d|«       Œ | d   rˆ|j                  ddd	d |¬
«       | d   j                  j                  j                  €|j                  | d   dk(  |¬«       | d   j                  j                  j                  €|j                  d|¬«       | d   rˆ|j                  ddd	d |¬«       | d   j                  j                  j                  €|j                  | d   dk(  |¬«       | d   j                  j                  j                  €|j                  d|¬«       t        | | d   d«      }| d   r|j                  |dd¬«       n(t        d|dz   «      D ]  }|j                  ||d¬«       Œ t        | | d   d«      }	| d   r|j                  |	dd¬«       n(t        d|dz   «      D ]  }
|j                  |	d|
¬«       Œ d| v r| d   r|j                  d¬«       d| v r| d   r|j                  d¬«       dt        |dz   «      z   }| d   r)t        d|dz   d«      D ]  }|j                  |d |¬«       Œ | d   r*t        d|dz   d«      D ]  }
|j                  dd |
¬«       Œ y y )Nr   r   ©rÁ   r   ©rÀ   r   rä   Fr¹   )ÚshowticklabelsÚshowlineÚticksrÏ   rÀ   rB   Ú	histogram)ÚshowgridrÀ   Trå   )rr  rs  rt  rÏ   rÁ   )rv  rÁ   )Ú
title_textrÀ   rÁ   Úlog_xrb  ©rc  Úlog_yé   )rÞ   rc  rÀ   Úx2)rÞ   rc  rÁ   )r  Ú	_grid_refÚselect_yaxesrn  Úselect_xaxesÚupdate_yaxesrh  Úyaxisrv  ÚxaxisÚupdate_xaxesr·   rÏ   r&  )rx   rf   r\  ÚnrowsÚncolsr�  r‚  Úy_titlerÀ   Úx_titlerÁ   Ú	matches_ys               rV   Ú!configure_cartesian_marginal_axesr‰  Ž  s6  € Ü�—‘Ó€EÜ�—‘˜aÑ Ó!€Eð ×!Ñ! aÐ!Ó(ò :ˆÜ  e¨S°&Õ9ð:ð ×!Ñ! aÐ!Ó(ò :ˆÜ  e¨S°&Õ9ð:ð ˆLÒØ×ÑØ ¨5¸À$ÈEð 	ô 	
ð �
Ñ×"Ñ"×(Ñ(×1Ñ1Ð9Ø×Ñ d¨<Ñ&8¸KÑ&GÈUÐÔSØ�
Ñ×"Ñ"×(Ñ(×1Ñ1Ð9Ø×Ñ d°ÐÔ6àˆLÒØ×ÑØ ¨5¸À$ÈEð 	ô 	
ð �
Ñ×"Ñ"×(Ñ(×1Ñ1Ð9Ø×Ñ d¨<Ñ&8¸KÑ&GÈUÐÔSØ�
Ñ×"Ñ"×(Ñ(×1Ñ1Ð9Ø×Ñ d°ÐÔ6ô " $¨¨S©	°3Ó7€GØˆLÒØ×Ñ G°¸ÐÕ:ä˜˜E A™IÓ&ò 	AˆCØ×Ñ¨°S¸aÐÕ@ð	Aô " $¨¨S©	°3Ó7€GØˆLÒØ×Ñ G°¸ÐÕ:ä˜˜E A™IÓ&ò 	AˆCØ×Ñ¨°Q¸CÐÕ@ð	Að �$�˜4 š=Ø×Ñ˜eÐÔ$ð �$�˜4 š=Ø×Ñ˜eÐÔ$ð ”c˜% !™)“nÑ$€IØˆLÒÜ˜˜E A™I qÓ)ò 	DˆCØ×Ñ Y°T¸sÐÕCð	Dð ˆLÒÜ˜˜E A™I qÓ)ò 	?ˆCØ×Ñ T°¸#ÐÕ>ñ	?ð rX   c                 ód  — d| v r| d   s	d| v r| d   rt        | ||«       y t        | | d   d«      }|j                  d¬«      D ]"  }|j                  |¬«       t	        | |d|«       Œ$ t        | | d   d«      }|j                  d¬«      D ]&  }d	| vr|j                  |¬«       t	        | |d|«       Œ( d
| v r| d
   r|j                  d¬«       d| v r| d   r|j                  d¬«       d	| v r|j                  d¬«       d| v r.| d   dk(  r|j                  d¬«       y |j                  d¬«       y y )Nrä   rå   r   r   rp  ©rw  r   rq  Úis_timelinerx  rb  ry  rz  ÚdateÚecdfmoder©   r«   Útozero)Ú	rangemode)r‰  r·   r~  rË   rn  r  rƒ  r€  )rx   rf   r\  r†  r�  r‡  r‚  s          rV   r[  r[  Ï  sf  € Ø˜Ñ  lÒ!3Ø˜Ñ  lÒ!3ä)¨$°°VÔ<Øô " $¨¨S©	°3Ó7€GØ×!Ñ! aÐ!Ó(ò :ˆØ�‰ ˆÔ(Ü  e¨S°&Õ9ð:ô
 " $¨¨S©	°3Ó7€GØ×!Ñ! aÐ!Ó(ò :ˆØ Ñ$Ø�L‰L GˆLÔ,Ü  e¨S°&Õ9ð:ð �$�˜4 š=Ø×Ñ˜eÐÔ$ð �$�˜4 š=Ø×Ñ˜eÐÔ$à˜ÑØ×Ñ˜fÐÔ%à�TÑØ�Ñ #Ò%Ø×Ñ xÐÕ0à×Ñ xÐÕ0ð	 rX   c                 ó¶   — |j                  t        t        | | d   «      ¬«      t        t        | | d   «      ¬«      t        t        | | d   «      ¬«      ¬«       y )Nr   r‹  r   r   )ÚaaxisÚbaxisÚcaxis)Úupdate_ternariesr  rz   ©rx   rf   r\  s      rV   rM  rM  õ  sN   € Ø×ÑÜœi¨¨d°3©iÓ8Ô9Üœi¨¨d°3©iÓ8Ô9Üœi¨¨d°3©iÓ8Ô9ð õ rX   c                 ó~  — t        t        | d   | d   ¬«      t        «       ¬«      }dD ]#  \  }}| |   |v sŒd||   d<   || |      ||   d<   Œ% |d	   }| d
   r5d|d<   | d   r8| d   D �cg c]  }t        j                  |d«      ‘Œ c}|d<   n| d   r| d   |d<   | d   r| d   |d<   |j                  |«       y c c}w )NÚ	directionÚstart_angle)r˜  Úrotation)ÚangularaxisÚ
radialaxis))r   rœ  )r   r›  rï   re  rf  rœ  Úlog_rrb  rc  Úrange_rrd  rÏ   Úrange_thetaÚsector)r  rg  rb  Úupdate_polars)rx   rf   r\  ÚpatchÚvarrß   rœ  r   s           rV   rO  rO  ý  sò   € ÜÜ 4¨Ñ#4¸tÀMÑ?RÔSÜ“6ô€Eð
 Eò =‰	ˆˆTØ�‰9˜ÒØ+2ˆE�$‰K˜Ñ(Ø+1°$°s±)Ñ+<ˆE�$‰K˜Ò(ð=ð
 �|Ñ$€JØˆG‚}Ø"ˆ
�6ÑØ�	Š?Ø<@À¹OÖ"L°q¤4§8¡8¨A¨r¥?Ò"LˆJ�wÒà�	Š?Ø"& y¡/ˆJ�wÑàˆMÒØ˜}Ñ-ˆˆh‰Ø×Ñ�eÕùò #Ms   Á*B:c                 óÐ  — t        t        t        | | d   «      ¬«      t        t        | | d   «      ¬«      t        t        | | d   «      ¬«      ¬«      }dD ]x  }||dz      }| d|z      r;d	|d
<   | d|z      rA| d|z      D �cg c]  }t        j                  |d«      ‘Œ c}|d<   n| d|z      r| d|z      |d<   | |   |v sŒid|d<   || |      |d<   Œz |j	                  |«       y c c}w )Nr   r‹  r   r   )r‚  r�  Úzaxis)r   r   r   rß   r`  rb  rc  ra  rd  rÏ   rï   re  rf  )r  rz   rg  rb  Úupdate_scenes)rx   rf   r\  r¢  rÒ   rß   r   s          rV   rK  rK    s  € ÜÜœi¨¨d°3©iÓ8Ô9Üœi¨¨d°3©iÓ8Ô9Üœi¨¨d°3©iÓ8Ô9ô€Eð "ò 9ˆØ�V˜f‘_Ñ%ˆØ�˜‘Ò Ø ˆD�‰LØ�H˜vÑ%Ò&Ø:>¸xÈ&Ñ?PÑ:QÖ R°Q¤§¡¨!¨R¥Ò R��W’à�H˜vÑ%Ò&Ø $ X°Ñ%6Ñ 7��W‘Ø�‰<˜6Ò!Ø$+ˆD�Ñ!Ø$*¨4°©<Ñ$8ˆD�Ò!ð9ð ×Ñ�eÕùò !Ss   Â C#c                 óÖ   — | d   }|sCd| v r?d| v r;t        | d   | d      j                  «       | d   | d      j                  «       ¬«      }|j                  t        || d   | d   ¬«       y )	NÚcenterr.   r/   rØ   ©r.   r/   ÚzoomÚmapbox_style)Úaccesstokenr¨  rª  Ústyle)r  ÚmeanÚupdate_mapboxesra   ©rx   rf   r\  r¨  s       rV   rV  rV  ,  s‚   € Ø�(‰^€FÙ�e˜t‘m¨°©ÜØ�\Ñ" 4¨¡;Ñ/×4Ñ4Ó6Ø�\Ñ" 4¨¡;Ñ/×4Ñ4Ó6ô
ˆð ×ÑÜ ØØ�&‰\Ø�>Ñ"ð	 õ rX   c                 óÌ   — | d   }|sCd| v r?d| v r;t        | d   | d      j                  «       | d   | d      j                  «       ¬«      }|j                  || d   | d   ¬«       y )	Nr¨  r.   r/   rØ   r©  rª  Ú	map_style)r¨  rª  r­  )r  r®  Úupdate_mapsr°  s       rV   rS  rS  ;  s}   € Ø�(‰^€FÙ�e˜t‘m¨°©ÜØ�\Ñ" 4¨¡;Ñ/×4Ñ4Ó6Ø�\Ñ" 4¨¡;Ñ/×4Ñ4Ó6ô
ˆð ‡O�OØØ�&‰\Ø�;Ñð õ rX   c           
      ób   — |j                  | d   | d   | d   | d   t        | d   ¬«      ¬«       y )Nr¨  ÚscopeÚ	fitboundsÚbasemap_visibleÚ
projectionry  )r¨  rµ  r¶  Úvisibler¸  )Úupdate_geosr  r–  s      rV   rY  rY  I  s?   € Ø‡O�OØ�H‰~Ø�7‰mØ�{Ñ#ØÐ&Ñ'Ü˜T ,Ñ/Ô0ð õ rX   c                 óª  ‡— ˆfd„}d| v rÄ| d   r¾t        |j                  «      dkD  r¥d  |d«      gdddœd g |d«      gd	ddœgd
dddœdddddddœ	g|j                  _        ddd
dt	        | | d   «      dz   idddœddd|j                  D �cg c]%  }|j
                  g |d«      g|j
                  ddœ‘Œ' c}dœ	g|j                  _        y y y y c c}w )Nc                 ó@   •— | ‰t         j                  k7  dœdd| ddœdœS )N)ÚdurationÚredrawÚ	immediateTÚlinear)r½  Úeasing)ÚframeÚmodeÚfromcurrentÚ
transition)rþ   ÚScatter)r½  rr   s    €rV   Ú
frame_argsz0configure_animation_controls.<locals>.frame_argsT  s,   ø€ à"*°kÄRÇZÁZÑ6OÑPØØØ'/¸8ÑDñ	
ð 	
rX   r7   r   iô  z&#9654;Úanimate)rx   r¶   Úmethodr   z&#9724;Úleftrd  éF   )r   ÚtFÚbuttonsgš™™™™™¹?ÚrightÚtop)	rÍ  r˜  ÚpadÚ
showactiverc  r   Úxanchorr   ÚyanchorÚprefixrú   é<   )r   rÌ  gÍÌÌÌÌÌì?)	ÚactiverÓ  rÒ  ÚcurrentvaluerÐ  r  r   r   Ústeps)r  Úframesrh  Úupdatemenusrz   r1  Úsliders)rx   rr   rf   rÇ  Úfs    `   rV   Úconfigure_animation_controlsrÝ  S  s1  ø€ ô
ð ˜DÑ  TÐ*;Ò%<ÄÀSÇZÁZÃÐSTÒATð
 "&¡z°#£Ð 7Ø!*Ø"+ñð #' ©°A«Ð 7Ø!*Ø"+ñðð $Ø bÑ)Ø#Ø!ØØ"ØØ ñ)ð"
ˆ�
‰
Ôð4 Ø Ø!àœi¨¨dÐ3DÑ.EÓFÈÑLð!ð   bÑ)ØØØð !ŸZ™Zöð ð	 #$§&¡& ©:°a«=Ð 9Ø!"§¡Ø"+óòñð
ˆ�
‰
Õð3 BUÐ%<Ð ùòJs   Â*Cc                 óÒ  — |t         j                  t         j                  fv ryd| v ru| d   dk(  s2| d   dk(  ret        | d   «      dkD  rT| j	                  d«      dk7  r@| d   €;|t         j                  k(  rt         j
                  }d	|v r|d	= nt         j                  }t        |||d «      g}d
D �]u  }d|z   | v sŒ| d|z      sŒd }t        |dk(  rdnd|dk(  rdnd¬«      }| d|z      dk(  r/t        t         j                  |d|z   gt        d-d|dœ|¤Ž|¬«      }n²| d|z      dk(  r+t        t         j                  |ddgt        |¬«      |¬«      }n|| d|z      dk(  r+t        t         j                  |ddgt        d¬«      |¬«      }nF| d|z      dk(  r;dd d
œ}t        t         j                  |ddgt        d!d"d!id#d$d%d&||   i¬'«      |¬«      }d"|v sd"| vr?d(|j                  vrt        «       |j                  d(<   | d)   d$   }	|	|j                  d(   d"<   |j                  |«       �Œx | j	                  d*«      r0| j	                  d+d,«      d,k(  r|j                  t        | |«      «       |S ).NÚrender_modeÚwebglÚautorØ   r“   Ú
line_shapeÚspliner7   r©   rø   Ú	marginal_r   Úx1r|  r   Úy1Úy2)r‚  r�  ru  ç      à?)ÚopacityÚbingrouprq   Úviolinr!   r4   )Ú
scalegroupÚboxT)ÚnotchedÚrugzline-ns-openzline-ew-openzrgba(255,255,255,0)r;   Úallr   Úpointsr<   )Ú	fillcolorrö   Ú	boxpointsÚjitterÚhoveronrà   rà   rG   ræ   Útrendline_scoper¼   r_   )rþ   rÆ  rN  r  r  Ú	ScatterglrP  rp   r  r  ÚViolinÚBoxrt   r  Úmake_trendline_spec)
rx   rr   rs   rt   ÚresultrÒ   r)  Úaxis_mapÚsymbolsÚfirst_default_colors
             rV   Úmake_trace_specrÿ  �  s½  € Ø”r—z‘z¤2§?¡?Ð3Ñ3Ø˜DÑ Ø�Ñ 7Ò*à�]Ñ# vÒ-Ü˜˜\Ñ*Ó+¨dÒ2Ø—H‘H˜\Ó*¨hÒ6ØÐ*Ñ+Ð3ð œbŸj™jÒ(Ü Ÿl™l�Ø  KÑ/Ø# MÑ2ä ×/Ñ/�ä˜ U¨K¸Ó>Ð?€Fð ó 0&ˆØ˜Ñ 4Ò'¨D°¸vÑ1EÓ,FØˆJÜØ$¨šm‘d°Ø$¨šm‘d°ôˆHð �K &Ñ(Ñ)¨[Ò8Ü&Ü "§¡Ø! ;°Ñ#7Ð8Ü $Ð N¨S¸6Ñ NÀXÑ NØ#ô	‘
ð �k FÑ*Ñ+¨xÒ7Ü&Ü "§	¡	Ø! <°Ð>Ü $°Ô 7Ø#ô	‘
ð �k FÑ*Ñ+¨uÒ4Ü&Ü "§¡Ø! <°Ð>Ü $¨TÔ 2Ø#ô	‘
ð �k FÑ*Ñ+¨uÒ4Ø .°^ÑD�Ü&Ü "§¡Ø! <°Ð>Ü $Ø"7Ø%Ð'<Ð=Ø"'Ø Ø (Ø (¨'°&©/Ð:ô!ð $ô�
ð ˜%Ñ 7°$Ñ#6Ø :×#9Ñ#9Ñ9Ü7;³v�J×*Ñ*¨8Ñ4Ø&*Ð+CÑ&DÀQÑ&GÐ#Ø<O�
×&Ñ& xÑ0°Ñ9Ø�M‰M˜*Ö%ða0&ðf ‡x�x�Ô §¡Ð*;¸WÓ!EÈÒ!PØ�‰Ô)¨$°Ó<Ô=Ø€MrX   c                 óÞ   — t        |t        j                  k(  rt        j                  nt        j                  dgt	        d¬«      d ¬«      }| d   rt	        | d   ¬«      |j
                  d<   |S )Nræ   Úlines)rÃ  rq   Útrendline_color_override©r;   rö   )rp   rþ   r÷  rÆ  r  rt   )rx   rr   r)  s      rV   rú  rú  Ú  sd   € Üàœ"Ÿ,™,Ò&ô —L’Lä�Z‰ZØˆmÜ˜gÔ&Øô€Jð Ð&Ò'Ü)-°DÐ9SÑ4TÔ)Uˆ
×Ñ˜vÑ&ØÐrX   c                  ó   — y)Nr¹   r_   ©r   s    rV   Ú	one_groupr  è  s   € ØrX   c                 óJ  — t         j                  D ]   }|| v sŒ| |   �Œt        t         |«      | |<   Œ" | d   €=t        j                  j
                  �t        j                  j
                  | d<   nd| d<   	 t        j                  | d      | d<   d| v rw| d   €Z| d   j                  j                  j                  r7| d   j                  j                  j                  D �cg c]  }|d   ‘Œ	 c}| d<   | d   €t        j                  | d<   d| v rR| d   €5| d   j                  j                  r| d   j                  j                  | d<   | d   €t        j                  | d<   d| v rv| d   €W| d   j                   j"                  r>| d   j                   j"                  D �cg c]  }|j$                  j&                  ‘Œ c}| d<   | d   rt)        | d   «      sg d¢| d<   d| v rv| d   €W| d   j                   j"                  r>| d   j                   j"                  D �cg c]  }|j*                  j,                  ‘Œ c}| d<   | d   rt)        | d   «      sg d	¢| d<   d
| v r‚| d
   €a| d   j                   j.                  rH| d   j                   j.                  D �cg c]"  }|j$                  j0                  j2                  ‘Œ$ c}| d
<   | d
   rt)        | d
   «      sg d¢| d
<   y y y # t        $ r) t        j                  j                  | d   «      | d<   Y �Œ}w xY wc c}w c c}w c c}w c c}w )NrB   ÚplotlyrG   r   rE   rH   )ÚcircleÚdiamondÚsquarer   ÚcrossrJ   )ÚsolidÚdotrÄ   ÚlongdashÚdashdotÚlongdashdotrL   )r¹   ú/ú\r   ú+rÂ   )Údefaultsr^   ÚgetattrÚpioÚ	templatesÚdefaultrw   rþ   rh  ÚTemplateÚ
colorscaler   ÚViridisÚcolorwayr   ÚD3ÚdataÚscatterrà   r<   Úanyrö   rÄ   ÚbarrÅ   rÆ   )rx   Úparamr   r   r"  s        rV   Úapply_default_cascader$  ì  sX  € ô ×#Ñ#ò 3ˆØ�DŠ=˜T %™[Ñ0Ü!¤(¨EÓ2ˆD�ŠKð3ð
 ˆJÑÐÜ�=‰=× Ñ Ð,Ü"Ÿ}™}×4Ñ4ˆD�Òà'ˆD�Ñð@äŸ=™=¨¨jÑ)9Ñ:ˆˆZÑð   4Ñ'àÐ)Ñ*Ð2Ø�ZÑ ×'Ñ'×2Ñ2×=Ò=ð # :Ñ.×5Ñ5×@Ñ@×KÑKö.Ø��!“ò.ˆDÐ)Ñ*ð Ð(Ñ)Ð1Ü-7×-?Ñ-?ˆDÐ)Ñ*à  DÑ(ØÐ)Ñ*Ð2°t¸JÑ7G×7NÑ7N×7WÒ7WØ.2°:Ñ.>×.EÑ.E×.NÑ.NˆDÐ*Ñ+ØÐ)Ñ*Ð2Ü.9¯n©nˆDÐ*Ñ+ð ˜DÑ ØÐ!Ñ"Ð*¨t°JÑ/?×/DÑ/D×/LÒ/Là59¸*Ñ5E×5JÑ5J×5RÑ5Rö'Ø*1�—‘×%Ó%ò'ˆDÐ"Ñ#ð Ð%Ò&¬c°$Ð7HÑ2IÔ.JÚ&SˆDÐ"Ñ#à˜tÑ#ØÐ$Ñ%Ð-°$°zÑ2B×2GÑ2G×2OÒ2Oà15°jÑ1A×1FÑ1F×1NÑ1Nö*Ø&-�—‘×!Ó!ò*ˆDÐ%Ñ&ð Ð(Ò)´°TÐ:NÑ5OÔ1Pò*ˆDÐ%Ñ&ð   4Ñ'ØÐ(Ñ)Ð1°d¸:Ñ6F×6KÑ6K×6OÒ6Oà48¸Ñ4D×4IÑ4I×4MÑ4Mö.Ø-0�—
‘
×"Ñ"×(Ó(ò.ˆDÐ)Ñ*ð Ð,Ò-´SØÐ)Ñ*ô6
ò .LˆDÐ)Ò*ð6
ð (øôa ò @äŸ9™9×-Ñ-¨d°:Ñ.>Ó?ˆˆZÔð@üò.ùò 'ùò*ùò.s*   Á7K Ã!LÆLÈLÊ'L Ë.LÌLc                 ó2   — | |vr| S t        d| ›d| ›d�«      ‚)Nz.A name conflict was encountered for argument 'z '. A column or index with name 'z' is ambiguous.)Ú	NameError)Ú
field_nameÚreserved_namess     rV   Ú_check_name_not_reservedr)  8  s(   € Ø˜Ñ'ØÐåâ@JÊJðXó
ð 	
rX   c                 ób  — | d   }t        «       }| D �]  }|t        vrŒ|t        v r| |   n| |   g}|€Œ#|D ]ò  }|€Œt        |t        «      r|j                  |«       Œ(t        j                  j                  |«      rlt        j                  |d¬«      }|j                  }|sŒm||j                  v sŒ|||j                  |«      k(  j                  «       }|sŒ¡|j                  |«       Œ³|t        j                  |«      u sŒË|j                  €ŒØ|j                  |j                  «       Œô �Œ |S )z¬
    This function builds a list of columns of the data_frame argument used
    as arguments, either as str/int arguments or given as columns
    (pandas series type).
    rØ   T©Úseries_only)ÚsetÚall_attrablesÚarray_attrablesr  r&  Úaddr†   r‡   Úis_into_seriesÚfrom_nativer1  r    rŒ   rð  Úmaybe_get_index)	rx   r�   r(  Úfieldr#   ÚargÚ
arg_seriesrÕ   Úin_dfs	            rV   Ú_get_reserved_col_namesr8  B  s  € ð ˜LÑ)€BÜ“U€NØó -ˆØœÑ%ØØ$¬Ñ7��U’¸dÀ5¹k¸]ˆØˆ=ØØò 	-ˆCØˆ{ØÜ˜C¤Ô%Ø×"Ñ" 3Õ'Ü—‘×/Ñ/°Ô4ÜŸ^™^¨C¸TÔB�
Ø%Ÿ?™?�Ú ¨B¯J©JÒ 6Ø'¨2¯=©=¸Ó+BÑB×GÑGÓI�EÚØ&×*Ñ*¨8Õ4Øœ×*Ñ*¨2Ó.Ò.°3·8±8Ñ3GØ×"Ñ" 3§8¡8Õ,ò	-ð-ð* ÐrX   c                 óJ  — |� t        |t        «      st        |t        «      ry|rt        ||j                  «      ry	 t	        |«       |D ]7  }t        |t        «      st        |t        «      r	| �|| vsŒ* y	 t	        |«       Œ9 y# t
        $ r Y yw xY w# t
        $ r Y  yw xY w)zÉReturns True if arg looks like it's a list of columns or references to columns
    in df_input, and False otherwise (in which case it's assumed to be a single column
    or reference to a column).
    FT)r  r&  ÚintÚ
MultiIndexÚiterrœ   )r    r5  Ú
is_pd_likeÚnative_namespacer   s        rV   Ú_is_col_listr?  b  s«   € ð
 €{”j ¤cÔ*¬j¸¼cÔ.BØÙ”j Ð&6×&AÑ&AÔBØðÜˆSŒ	ð ò ˆÜ�aœÔ¤¨A¬sÔ!3Øˆ !¨7Ò"2ÙðÜ�Q•ðð øô ò Ùðûô ò Úðús#   ¾B Á8BÂ	BÂBÂ	B"Â!B"c                 ó†   — t        | t        «      s0t        | t        «      rt        | «      dk(  st        | t        «      s| €yy)zðReturns True if x is an iterable which can be transformed into a pandas Series,
    False for the other types of possible values of a `hover_data` dict.
    A tuple of length 2 is a special case corresponding to a (format, data) tuple.
    r{  FT)r  r&  Útupler  Úboolr  s    rV   Ú_isinstance_listlikerC  {  s7   € ô 	�1”cÔÜ�qœ%Ô ¤S¨£V¨q¢[Ü�aœÔØˆ9ààrX   c                 ó<   — | €|S || v s||v rd|z   }|| v rŒ
||v rŒ|S )NrF  r_   )r    r‚   Úextras      rV   Ú_escape_col_namerF  ‹  s:   € Ø€ØˆØ
�gÑ
 ¨UÑ!2Ø˜‘>ˆð �gÒ
 ¨UÒ!2à€OrX   c                 ó*  — t        j                  | dd¬«      } t        | t         j                  «      r| j	                  |«      S |�t        j
                  || |¬«      S 	 ddl}t        j
                  || |¬«      S # t        $ r d}t        |«      ‚w xY w)zVAssuming x is list-like or even an existing Series, returns a new Series named `name`.T©r,  Úpass_throughN©r1  r$   r>  r   ú<Pandas installation is required if no dataframe is provided.)	r†   r2  r  ÚSeriesÚrenameÚ
new_seriesÚpandasÚImportErrorÚNotImplementedError)r   r1  r>  Úpdr�   s        rV   Úto_named_seriesrS  “  s†   € ô 	�‰�q d¸Ô>€AÜ�!”R—Y‘YÔØ�x‰x˜‹~ÐØ	Ð	%Ü�}‰} $¨qÐCSÔTÐTð	+Ûä—=‘= d°1ÀrÔJÐJøÜò 	+ØPˆCÜ% cÓ*Ð*ð	+ús   ÁA; Á;Bc                 óH  — | d   }|du}i }i }	g }
t        «       }|rt        | «      n	t        «       }d| v r;| d   €6|st        d«      ‚|j                  D �ci c]  }||j	                  |«      “Œ }}d| v xr | d   xr t        | d   t        «      }|rr| d   D ]j  }t        | d   |   «      rd| d   |   f| d   |<   t        | d   |   t        «      s| d   |   df| d   |<   |sŒM| d   |   d   €ŒY||v sŒ^t        d|z  «      ‚ t        D �]µ  }|t        vr| j                  |«      gn| j                  |«      }|�|dgu rŒ7|t        vr|gn0t        t        |«      «      D �cg c]  }|d	z   t        |«      z   ‘Œ c}}t        t!        ||«      «      D �]*  \  }\  }}t        |«      r t        |t#        t%        |«      «         «      nd
}|€Œ:d}|r?t        ||j&                  «      r)t)        d|› d|j*                  › d|j*                  › d�«      ‚t        |t,        t.        f«      rat1        |j2                  �t        |j2                  «      n||«      }t        |t,        «      r|j4                  |	|<   �nä|
j7                  |«       �nÑt        |t        «      st9        |d«      �sZ|dk(  r‚|r€| d   t        |«         d   �lt        |«      }| d   |   d   }|rBt        |«      x}|k7  r2t        d||t        t;        |j=                  «       «      «      |fz  «      ‚t?        |||«      ||<   �n-|st        d|z  «      ‚||j                  vrF|r|||fv r�ŒÀd|›dt        t;        |j                  «      «      ›d|›�}|dk(  r|dz  }t        |«      ‚|rBt        |«      x}|k7  r2t        d||t        t;        |j=                  «       «      «      |fz  «      ‚t        |«      }t?        |j	                  |«      |«      ||<   �nZ|rãt9        |d«      r×|rd|tA        jB                  |«      u rM|jD                  �|jD                  |j                  v rd}n|jD                  }tG        |j                  |||g«      }nq|jD                  �e|jD                  |j                  v rMt?        ||jD                  |«      |j	                  |jD                  «      k(  jI                  «       r|jD                  }|€t1        ||«      }|rBt        |«      x}|k7  r2t        d||t        t;        |j=                  «       «      «      |fz  «      ‚t?        |t        |«      |¬«      |t        |«      <   |€J d«       ‚|t        vrt        |«      | |<   n%t        | |   t        «      rnt        |«      | |   |<   |dk7  s�Œ|jK                  t        |«      «       �Œ- �Œ¸ t        |«      r t        |t#        t%        |«      «         «      nd
}|€	 d
dl&}|}|
rZd
dl)}tA        jT                  d|jW                  |«      |¬«      } |jY                  |
D �ci c]  }|| j[                  |«      “Œ c}«       |jY                  |	D �ci c]"  }|tA        jT                  ||	|   g|z  |¬«      “Œ$ c}«       |rtA        j\                  |«      }||fS 	 d
dl&}tA        j^                  |ja                  i «      d¬!«      }||fS c c}w c c}w # tN        $ r d}tQ        |«      ‚w xY wc c}w c c}w # tN        $ r d }tQ        |«      ‚w xY w)"ac  
    After this function runs, the `all_attrables` keys of `args` all contain only
    references to columns of `df_output`. This function handles the extraction of data
    from `args["attrable"]` and column-name-generation as appropriate, and adds the
    data to `df_output` and then replaces `args["attrable"]` with the appropriate
    reference.
    rØ   Nr2   zjNo data were provided. Please provide data either with the `data_frame` or with the `dimensions` argument.r4   Tr   zIAmbiguous input: values for '%s' appear both in hover_data and data_framerF  r   z
Argument 'z' is a ú MultiIndex. ú= MultiIndex is not supported by plotly express at the moment.Ú__len__z‘All arguments should have the same length. The length of hover_data key `%s` is %d, whereas the length of previously-processed arguments %s is %dz´String or int arguments are only possible when a DataFrame or an array is provided in the `data_frame` argument. No DataFrame was provided, but argument '%s' is of type str or int.z
Value of 'z?' is not the name of a column in 'data_frame'. Expected one of z but received: r  z6
 To use the index, pass it in directly as `df.index`.z–All arguments should have the same length. The length of column argument `df[%s]` is %d, whereas the length of previously-processed arguments %s is %dr1  z‹All arguments should have the same length. The length of argument `%s` is %d, whereas the length of previously-processed arguments %s is %d)r   r1  r>  zªData-frame processing failure, likely due to a internal bug. Please report this to https://github.com/plotly/plotly.py/issues/new and we will try to replicate and fix it.r6   rK  Ú__placeholder__rJ  z Pandas installation is required.©Ú
eager_only)1r-  r8  r›   r    rŒ   r  r  rC  rA  r.  r/  r  rÏ   r  r&  Ú	enumerateÚzipÚnextr<  r;  rœ   r[   r   r   r)  r¶   r~   r  Úhasattrrj  ÚkeysrS  r†   r3  r1  rF  rð  r0  rO  rP  rQ  ÚnumpyrN  ÚarangerË   ÚaliasÚ	from_dictr2  Ú	DataFrame)!rx   Ú	wide_modeÚvar_nameÚ
value_namer=  r>  Údf_inputÚdf_providedÚ	df_outputÚ	constantsÚrangesÚwide_id_varsr(  rÁ   Úhover_data_is_dictrC  r'  Úargument_listrÓ   Ú
field_listÚargumentr4  Úlengthr‚   Úreal_argumentÚreal_lengthÚerr_msgÚ
actual_lenÚlen_argrR  r�   ÚnpÚrange_seriess!                                    rV   Úprocess_args_into_dataframerz  ¦  s  € ð %)¨Ñ$6€HØ $Ð&€Kð
 €IØ€IØ€FÜ“5€LÙ6AÔ,¨TÔ2ÄsÃu€Nð �tÑ  \Ñ 2Ð :ÙÜØ|óð ð CK×BRÑBRÖS¸3˜˜h×1Ñ1°#Ó6Ñ6ÐSˆIÐSð 	˜Ðò 	1Ø�Ñò	1ä�t˜LÑ)¬4Ó0ð ñ Ø�lÑ#ò 		ˆAÜ# D¨Ñ$6°qÑ$9Ô:Ø)-¨t°LÑ/AÀ!Ñ/DÐ(E��\Ñ" 1Ñ%Ü˜d <Ñ0°Ñ3´UÔ;Ø)-¨lÑ);¸AÑ)>ÀÐ(E��\Ñ" 1Ñ%Ú˜t LÑ1°!Ñ4°QÑ7ÑCÈÈXÊÜ Ø_Øñóð ð		ô $ó _0ˆ
ð ¤Ñ0ð �X‰X�jÓ!Ñ"à—‘˜*Ó%ð 	ð Ð  M°d°VÑ$;Øð
 ¤Ñ0ð ‰Lä5:¼3¸}Ó;MÓ5NÖO°�*˜sÑ"¤S¨£VÓ+ÒOð 	ô %.¬c°-ÀÓ.LÓ$Mó L	0Ñ ˆAÑ �˜%Ü>AÀ)¼n”S˜¤4¬¨Y«Ó#8Ñ9Ô:ÐRSˆFØÐØØˆHáœj¨Ð3C×3NÑ3NÔOÜØ    wÐ/?×/HÑ/HÐ.IÈØ'×0Ñ0Ð1ð 2-ð-óð ô ˜(¤X¬uÐ$5Ô6Ü3Ø+3¯>©>Ð+E”C˜Ÿ™Ô'È5Ø"ó�ô ˜h¬Ô1Ø*2¯.©.�I˜hÓ'à—M‘M (Ö+ä˜H¤cÔ*´'¸(ÀIÕ2Nà ,Ò.Ù*Ø˜\Ñ*¬3¨x«=Ñ9¸!Ñ<ÐHô  # 8›}�HØ$(¨Ñ$6°xÑ$@ÀÑ$C�Má´#°mÓ2DÐ#D ;ÈÒ"OÜ(ðPð !)Ø +Ü #¤D¨¯©Ó)9Ó$:Ó ;Ø &ð	ñó
ð 
ô +:Ø% xÐ1Aó+�I˜hÓ'ñ %Ü$ð6ð 9>ñ>óð ð  X×%5Ñ%5Ñ5Ù  X°*¸hÐ1GÑ%GÙ øò
  %¤c¬$¨x×/?Ñ/?Ó*@Õ&AÁ8ðMð  ð
 $ wÒ.Ø#Ð'`Ñ`˜GÜ(¨Ó1Ð1Ù¬s°8«}Ð!< ÀÒ GÜ$ðLð "Ø&Ü¤ Y§^¡^Ó%5Ó 6Ó7Ø"ð	ñó
ð 
ô  # 8›}�HÜ*9Ø ×+Ñ+¨HÓ5°xó+�I˜hÓ'ñ
 ¤7¨8°VÔ#<Ù! h´"×2DÑ2DÀXÓ2NÑ&NØ#Ÿ=™=Ð0°H·M±MÀX×EUÑEUÑ4UØ'.™Hà'/§}¡}˜HÜ#3Ø$×,Ñ,¨h¸À:Ð8Nó$™ð
 %ŸM™MÐ5Ø (§¡°×1AÑ1AÑ Aä /Ø$,¨h¯m©mÐ=Mó!"ð $,×#6Ñ#6°x·}±}Ó#Eñ!F÷ "™c›eð!$ð (0§}¡}˜HØÐ#Ü7¸¸~ÓN�Há¬#¨h«-Ð7˜w¸FÒBÜ$ðLð ! '¬3¬t°I·N±NÓ4DÓ/EÓ+FÈÐOñPóð ô ,;ØÜ˜X›Ø%5ô,�	œ#˜h›-Ñ(ð Ð'ð ð(óÐ'ð ¤Ñ0Ü#& x£=��ZÒ Ü˜D Ñ,¬dÔ3Øä&)¨(£m��ZÑ  Ñ#Ø˜_Ô,Ø× Ñ ¤ X£Ö/òYL	0ð'_0ôB 7:¸)´nŒS�œ4¤ Y£Ó0Ñ1Ô2È!€FàÐð	+Ûà!Ðñ
 Ûä—}‘}Ø"Ø—9‘9˜VÓ$Ø-ô
ˆð
 	×ÑØDJÖK¸ˆX�|×)Ñ)¨(Ó3Ñ3ÒKô	
ð ×Ñð &ö	
ð ð ”b—m‘mØØ! (Ñ+Ð,¨vÑ5Ø!1ôñ ò	
ô
ñ Ü—L‘L Ó+ˆ	ð �lÐ"Ð"ð	+Ûô —N‘N 2§<¡<°Ó#3ÀÔEˆ	Ø�lÐ"Ð"ùòE TùòH Pøôr ò 	+ØPˆCÜ% cÓ*Ð*ð	+üò Lùò	
øô  ò 	+Ø4ˆCÜ% cÓ*Ð*ð	+ús0   Á[Å"[!×3[& Ø5\ Ù$'\Ú.\
 Û&[=Ü
\!c           	      ó„  ‡(— | D ]h  }|t         v sŒ| |   €Œt        | |   t        «      rt        | |   «      | |<   Œ7|dv rt        | |   t        «      r
| |   g| |<   ŒXt	        | |   «      | |<   Œj | d   du}d}d}|�rút
        j                  j                  | d   «      r0| d   j                  Š(t        j                  | d   d¬«      | d<   d}�nªt
        j                  j                  | d   «      r>t        j                  | d   d¬«      j                  «       | d<   | d   j                  Š(d}�nJt        t        j                  | d   dd¬«      x}t
        j                  «      r-|| d<   t        j                  |«      d	k(  }| d   j                  Š(nèt        t        j                  | d   dd¬
«      x}t
        j                  «      r#|j                  «       | d<   | d   j                  Š(n�t        | d   d«      r=t        j                  | d   j!                  «       d¬«      | d<   | d   j                  Š(d}nD	 ddl}	 t        j                  |j                  | d   «      «      | d<   | d   j                  Š(d}ndŠ(| d   }
|r|st        j,                  |
«      nd}|r|st        j.                  |
«      nd}| j1                  d«      du }| j1                  d«      du }|rdnt3        ‰(| d   ||«      }|rdnt3        ‰(| d   ||«      }d}d}d}d}t4        j6                  t4        j8                  g}|t4        j:                  k(  xs d| v }|t<        v �ri|r|rt?        d«      ‚|rÌ|rÊ|rÈd}|r<t        ‰(|j@                  «      r&tC        d|jD                  › d|jD                  › d�«      ‚t	        ‰(«      | d<   |r#t        ‰(|jF                  «      r‰(jH                  }nd}|dv s|‰(v rd}|t4        jJ                  k(  r| j1                  d«      xs d}n| j1                  d«      xs d}|| d<   d| d<   nŒ||k7  r‡d}|r| d   n| d   | d<   |r|r| d   ‰(u r‰(jH                  }|r*t        | d   |jF                  «      rt	        | d   «      | d<   |dv s|r|‰(v rd}|r|rdnd}n|rdnd}d| |rdnd<   d| d<   |s|s|rdnd }|rtM        ‰(d!g «      }tM        ‰(|g «      }|rß|r,t        j                  | d   jO                  «       d¬«      | d<   n«| jQ                  «       D �ch c]  }t        |t        «      sŒ|‰(v sŒ|’Œ }}| D ].  }| |   €Œ	|t         v sŒ|jS                  ˆ(fd"„| |   D «       «       Œ0 t	        |«      Š(t        j                  | d   jU                  ‰(«      jO                  «       d¬«      | d<   ddl+}|}d}|t4        jX                  t4        jZ                  t4        jJ                  g|z   v rå|sã|sf||k7  rad#D ]\  }| j1                  |«      �Œ|�|nt]        tM        ‰(|||g«      ¬$«      | |<   |t4        jZ                  k(  r|}ŒK| d   �ŒQ|dk(  rdnd| d<   Œ^ |ry|€w||k7  r| d   €	|rdnd| d<   |rF|rD|�Bt        ||j@                  «      r&tC        d%|jD                  › d|jD                  › d�«      ‚|| d<   nt]        tM        ‰(d&||g«      ¬$«      | d<   d}t        | j1                  d'«      t        «      r| d'   t^        k(  rd}d| d'<   ta        | |||||«      \  }}tM        |j                  d(||g«      } |sw|ru|t4        jZ                  k(  rb|dk(  rdnd}!tc        || |!   «      s9| | |<   |je                  t        jf                  d)«      ji                  | «      «      }n| d   €|dk(  rdnd| d<   ||v r| d= |�ru| d   D �"cg c]	  }"|"|vsŒ|"‘Œ }#}"| d= |dk(  r| d   }n|d k(  r| d   }n| d   }| d= d}$|#D ]O  }%|jk                  |%«      jl                  }&|&jo                  «       rd*n
t        |&«      }&|$€|&}$Œ@|$|&k7  sŒFt?        d+«      ‚ |jq                  ||#||¬,«      }ts        |j                  «      ts        tu        |j                  «      «      k(  sJ d-«       ‚|je                  t        jv                  |«      jy                  t
        jz                  «      «      }dk(  }'|r || |'rdnd<   || |'rdnd<   | d'   xs || d'<   �n/|t4        jX                  t4        jJ                  g|z   v rB|| |'rdnd<   || |'rdnd<   |t4        j6                  k7  r| d'   xs || d'<   d.| v rÕ| d.   xs || d.<   nÈ|t4        jZ                  k(  r}tc        ||«      r|| |'rdnd<   || |'rdnd<   | d'   xs || d'<   nŠ|| |'rdnd<   | | |'rdnd<   |je                  t        jf                  d)«      ji                  | «      «      }| d'   xs || d'<   n8|t4        j|                  t4        j~                  fv r|xs || |'rdnd<   || |'rdnd<   |r­|t4        jX                  k(  rš| d   �| d   �d/| d0<   nŠ| d   €Cd| d0<   d| d<   | | d<   |je                  t        jf                  d)«      ji                  | «      «      }nBd| d0<   d| d<   | | d<   |je                  t        jf                  d)«      ji                  | «      «      }|rd| d'<   || d<   | S # t$        $ r dt'        | d   «      › d�}	t)        |	«      ‚w xY w# t*        $ r dt'        | d   «      › d�}	t)        |	«      ‚w xY wc c}w c c}"w )1aÆ  
    Constructs a dataframe and modifies `args` in-place.

    The argument values in `args` can be either strings corresponding to
    existing columns of a dataframe, or data arrays (lists, numpy arrays,
    pandas columns, series).

    Parameters
    ----------
    args : OrderedDict
        arguments passed to the px function and subsequently modified
    constructor : graph_object trace class
        the trace type selected for this figure
    N)r3   r4   rØ   FTrY  r+  )Úeager_or_interchange_onlyrI  ÚinterchangerH  ÚtoPandasr   z%Unable to convert data_frame of type zm to pandas DataFrame. Please provide a supported dataframe type or a type that can be passed to pd.DataFrame.z)Attempting to convert data_frame of type zl to pandas DataFrame, but Pandas is not installed. Convert it to supported dataframe type or install pandas.r   r   rŽ  zPCannot accept list of column references or list of columns for both `x` and `y`.zData frame columns is a rU  rV  r6   )Nr~   r  rn   r©   rª   r«   r&   Ú__x__Ú__y__r~   c              3   ó,   •K  — | ]  }|‰v sŒ|–— Œ y ­wrR   r_   )Ú.0rÓ   r    s     €rV   ú	<genexpr>z"build_dataframe.<locals>.<genexpr>�  s   øè ø€ Ò,T°1ÀqÈGÂ|¬QÑ,Tùs   ƒ	�rø   )r¶   zData frame index is a r  r;   r¬   r   ÚnumberzLPlotly Express cannot process wide-form data with columns of different type.)r  ÚonÚvariable_namerg  z­Wide-mode name-inference failure, likely due to a internal bug. Please report this to https://github.com/plotly/plotly.py/issues/new and we will try to replicate and fix it.r:   r®   r¨   )@r/  r  r  r&  rj  r†   r‡   rˆ   r    r2  Úis_pandas_like_seriesÚto_framerd  Ú	get_levelrL  r^  r~  rO  rw   rc  rQ  rP  r3  Úget_native_namespacer  r?  rþ   r  r  r  rZ  r›   r;  rœ   r[   ÚIndexr1  ÚFunnelrF  Úto_arrowr$   rË   r  ÚpyarrowrÆ  ÚBarr   ÚNO_COLORrz  r�   Úwith_columnsÚlitrb  rŒ   rŠ   r�   Úunpivotr  r-  rÁ   r
  ÚStringrø  rù  ))rx   rr   r4  ri  r=  Úneeds_interchangingrØ   ÚseriesrR  r�   rh  r  r>  Úno_xÚno_yÚwide_xÚwide_yre  rf  Úwide_cross_namerg  Úhist2d_typesÚhist1d_orientationÚwide_orientationrÓ   Únecessary_columnsÚpaÚmissing_bar_dimÚaxÚno_colorrj  rm  Ú
count_nameÚ	other_dimr   Úwide_value_varsrŠ   r«   Úv_dtypeÚorient_vr    s)                                           @rV   Úbuild_dataframer©  ©  s´  ø€ ð" ò 	0ˆØ”OÒ#¨¨U©Ñ(?Ü˜$˜u™+¤tÔ,Ü" 4¨¡;Ó/��U’ØÐ7Ñ7¼JØ�U‘œSô=ð  $ E™{˜m��U’ä" 4¨¡;Ó/��U’ð	0ð �|Ñ$¨DÐ0€Kð €Jð  Ðò ä�?‰?×3Ñ3°D¸Ñ4FÔGØ˜<Ñ(×0Ñ0ˆGÜ!#§¡°°\Ñ0BÈtÔ!TˆD�ÑØŠJô �_‰_×2Ñ2°4¸Ñ3EÔFÜ!#§¡Ø�\Ñ"°ô"ç‰h‹jð �Ñð ˜<Ñ(×0Ñ0ˆGØŠJô
 ÜŸ.™.Ø�\Ñ"¸dÐQUôð ˆJô �L‰Lô	
ð ",ˆD�ÑÜ"$§,¡,¨zÓ":¸mÑ"KÐØ˜<Ñ(×0Ñ0‰Gô
 Ü—n‘nØ�\Ñ"°À4ôð ˆFô �I‰Iô	
ð "(§¡Ó!2ˆD�ÑØ˜<Ñ(×0Ñ0‰Gô �T˜,Ñ'¨Ô4Ü!#§¡Ø�\Ñ"×+Ñ+Ó-¸$ô"ˆD�Ñð ˜<Ñ(×0Ñ0ˆGØ‰Jð/Û#ð3Ü)+¯©ØŸ™ T¨,Ñ%7Ó8ó*�D˜Ñ&ð # <Ñ0×8Ñ8�GØ!%‘Jð& ˆà$(¨Ñ$6€Hñ Ñ2ô 	×Ñ˜8Ô$àð 
ñ Ñ2ô 	×Ñ Ô)àð ð �8‰8�C‹=˜DÐ €DØ�8‰8�C‹=˜DÐ €Dñ ñ 	ä˜' 4¨¡9¨jÐ:JÓKð ñ ñ 	ä˜' 4¨¡9¨jÐ:JÓKð ð €IØ€HØ€OØ€JÜ—N‘N¤B×$9Ñ$9Ð:€LØ$¬¯©Ñ4ÒJ¸
ÀdÐ8JÐØ”jÒ Ù‘fÜØbóð ñ ™4¡DØˆIÙœj¨Ð2B×2MÑ2MÔNÜØ.Ð/?×/HÑ/HÐ.IÈØ'×0Ñ0Ð1ð 2-ð-óð ô
 %)¨£MˆD�Ñ!Ùœj¨Ð2B×2HÑ2HÔIØ"Ÿ<™<‘à�ØÐ3Ñ3°xÀ7Ñ7JØ%�ØœbŸi™iÒ'Ø#'§8¡8¨MÓ#:Ò#A¸cÑ à#'§8¡8¨MÓ#:Ò#A¸cÐ Ø"2ˆD�ÑØ!%ˆD�ÒØ�vÒØˆIÙ17 D¨¢I¸TÀ#¹YˆD�Ñ!Ù™z¨d°?Ñ.CÀwÑ.NØ"Ÿ<™<�Ùœj¨¨oÑ)>Ð@P×@VÑ@VÔWÜ(,¨T°/Ñ-BÓ(C��_Ñ%ØÐ3Ñ3Ù ¨GÑ 3à%�Ù!Ù*0¡3°cÑ á*0¡3°cÐ Ø+/ˆD™‘ CÑ(Ø!%ˆD�ÑÙ¡Ù-3¡'¸�áÜ% g¨w¸Ó;ˆ
Ü# G¨X°rÓ:ˆñ
 ÙÜ!#§¡Ø�\Ñ"×+Ñ+Ó-¸$ô"ˆD�Òð  Ÿ;™;›=ö!Ø¬J°q¼#Õ,>À1ÈÂ<’ð!Ðð !ð ò U�Ø˜‘;Ñ*¨u¼Ò/GØ%×,Ñ,Ó,T¸¸U¹Ô,TÕTðUô Ð,Ó-ˆGÜ!#§¡Ø�\Ñ"×)Ñ)¨'Ó2×;Ñ;Ó=È$ô"ˆD�Ñó 	àÐØ€OàœŸ
™
¤B§F¡F¬B¯I©IÐ6¸ÑEÑEÙ"á˜d dšlØ ò L�Ø—8‘8˜B“<Ñ'ð !Ð,ñ ä"Ü"2°7¸BÀÈ:Ð@VÓ"Wôð ˜‘Hð #¤b§f¡fÒ,Ø*,™à Ñ.Ñ6Ø9;¸sº±#È˜D Ò/ðLñ ˜Ð0Ø�tŠ|  ]Ñ 3Ð ;Ù-1¡c°s��]Ñ#Ù™z¨eÐ.?Ü˜eÐ%5×%@Ñ%@ÔAÜ#Ø0Ð1A×1JÑ1JÐ0KÈ=Ø+×4Ñ4Ð5ð 68ð8óð ð
 &+��\Ò"ä%*Ü*¨7°G¸hÈ
Ð=SÓTô&��\Ñ"ð €HÜ�$—(‘(˜7Ó#¤SÔ)¨d°7©m¼xÒ.GØˆØˆˆW‰ô :ØØØØØØóÑ€Iˆ|ô " )×"3Ñ"3°W¸xÈÐ>TÓU€JÙ™¨[¼B¿F¹FÒ-Bð
 +¨cÒ1‘C°sˆ	Ü˜i¨¨i©Ô9Ø$.ˆD�Ñ!Ø!×.Ñ.¬r¯v©v°a«y¯©¸zÓ/JÓK‰Ið �MÑ"Ð*Ø-<ÀÒ-C¡cÈ��]Ñ#à�lÑ"Ø�Ðâð '+¨?Ñ&;ÖU ¸qÈÒ?Tš1ÐUˆÐUØ�Ð!Ø˜gÒ%Ø" 3™i‰OØ Ò'Ø" 3™i‰Oà" <Ñ0ˆOØ�ÐØˆØ ò 	ˆAØ×*Ñ*¨1Ó-×3Ñ3ˆGØ")×"4Ñ"4Ô"6‘h¼CÀ»LˆGØˆ}Ø‘Ø˜'Ó!Ü Øbóð ð	ð ×%Ñ%ØØØ"Ø!ð	 &ó 
ˆ	ô �9×$Ñ$Ó%¬¬S°×1BÑ1BÓ-CÓ)DÒDð 	
ð$ó	
ÐDð ×*Ñ*¬2¯6©6°(Ó+;×+@Ñ+@ÄÇÁÓ+KÓLˆ	Ø# sÑ*ˆáØ-7ˆD™‘ cÑ*Ø-<ˆD™‘ cÑ*Ø  ™MÒ5¨XˆD�‹MØœRŸZ™Z¬¯©Ð3°lÑBÑBØ-<ˆD™‘ cÑ*Ø-7ˆD™‘ cÑ*ØœbŸn™nÒ,Ø $ W¡Ò 9°��W‘Ø˜tÑ#Ø%)¨,Ñ%7Ò%C¸8��\Ò"ØœBŸF™FÒ"Ü˜i¨Ô4Ø1@�™H‘S¨#Ñ.Ø1;�™H‘S¨#Ñ.Ø $ W¡Ò 9°��W’à1;�™H‘S¨#Ñ.Ø1;�™H‘S¨#Ñ.Ø%×2Ñ2´2·6±6¸!³9·?±?À:Ó3NÓO�	Ø $ W¡Ò 9°��W’ØœRŸY™Y¬¯©Ð/Ñ/Ø-<Ò-HÀˆD™‘ cÑ*Ø-7ˆD™‘ cÑ*á˜k¬R¯Z©ZÒ7Ø�‰9Ð  T¨#¡YÐ%:Ø$ˆD�ÒØ�#‰YÐØ#ˆD�ÑØ"%ˆD�ÑØ"ˆD�‰IØ!×.Ñ.¬r¯v©v°a«y¯©¸zÓ/JÓK‰Ià#ˆD�ÑØ"%ˆD�ÑØ"ˆD�‰IØ!×.Ñ.¬r¯v©v°a«y¯©¸zÓ/JÓKˆIáØˆˆW‰Ø"€DˆÑØ€Køô{ !ò 3à?ÄÀTÈ,ÑEWÓ@XÐ?Yð ZHð Hð ô .¨cÓ2Ð2ð3ûô ò /à?ÄÀTÈ,ÑEWÓ@XÐ?Yð ZPð Pð ô
 *¨#Ó.Ð.ð/üò\!ùòv Vs<   È6l È;;k$ Ôl8Ô+l8Ô0l8Þ9	l=ßl=ë$'lìl ì'l5c                 óÒ  — | j                   }| j                  |dd¬«      }|j                  t        j                  «       j                  «       «      }|j                  t        j                  «       j                  t        j                  «       «      «      }|j                  t        j                  t        j                  «       «      ¬«      j                  d«      }|j                  |«      }|j                  «       s’t        d|j                  d   «      D ]v  }|d d …|f    |d d …|dz
  f   z  }t        j                  |j                  «       «      sŒ>|j!                  «       j#                  d«      }t%        d|j'                  |«      «      ‚ t        j(                  dd	gt+        |«      z  t        j                  «       t        j,                  |«      ¬
«      }	 |j.                  di |D �
ci c]4  }
|
|j                  |
«      j1                  |j                  |
«       |	«      “Œ6 c}
¤Ž}|j                  t        j2                  |d	d¬«      ¬«      j                  d«      j!                  «       }t5        |j7                  «       j!                  «       «      }t9        t;        |d d |dd  «      d¬«      D ]-  \  }\  }}||v sŒ||v sŒt%        d|j'                  |«      d«      ‚ y c c}
w )NFT©rè   Ú
descendingré   )Ú	null_maskr­  r   z*None entries cannot have not-None childrenÚ
fill_valuer¹   )r1  r$   rŠ   r>  )Ú	separatorÚignore_nulls)Úrow_stringsr±  éÿÿÿÿ)Ústartz4Non-leaves rows are not permitted in the dataframe 
zis not a leaf.r_   )r    r	  r  r†   rð  r  r
  r”  Úany_horizontalrŒ   r  Úis_emptyrÏ   rÆ   r  r!  r%  r  r›   rÀ   rN  r  rŠ  r‘  Úzip_withÚ
concat_strr-  Úarg_truer[  r\  )r�   ÚcolsÚ	df_sortedr­  Únull_indices_maskÚnull_mask_filteredÚcol_idxÚ#null_entries_with_non_null_childrenÚrow_idxÚfill_seriesr   r±  Únull_indicesrÓ   Úcurrent_rowÚnext_rows                   rV   Ú_check_dataframe_all_leavesrÄ  2  s®  € Ø�:‰:€DØ—‘˜4¨E¸d�ÓC€IØ× Ñ ¤§¡£×!1Ñ!1Ó!3Ó4€IØ× Ñ ¤§¡£§¡¬r¯y©y«{Ó!;Ó<€IØ!×(Ñ(Ü×#Ñ#¤B§F¡F£HÓ-ð )ó ç�j�Óð ð #×)Ñ)Ð*;Ó<ÐØ×&Ñ&Ô(Ü˜QÐ 2× 8Ñ 8¸Ñ ;Ó<ò 	ˆGð $¢A w JÑ/Ð/Ð2DÂQÈÐRSÉÀ^Ñ2TÑTð 0ô �‰ÐB×FÑFÓHÕIØ=×EÑEÓG×MÑMÈdÓS�Ü Ø@Ø—M‘M 'Ó*óð ð	ô —-‘-ØØˆt”c˜)“nÑ$Ü�i‰i‹kÜ×0Ñ0°Ó;ô	€Kð '�	×&Ñ&ñ ð ö
àð ˆy×#Ñ# AÓ&×/Ñ/°×1EÑ1EÀaÓ1HÐ0HÈ+ÓVÑVò
ñ€Ið 	×ÑÜŸ™ d°bÀuÔMð 	ó 	
÷ 
‰�MÓ	"ß	‰‹ð ô Ð(×1Ñ1Ó3×;Ñ;Ó=Ó>€LÜ&/ÜˆK˜˜Ð˜k¨!¨"˜oÓ.°aô'ò Ñ"ˆÑ"ˆK˜ð ˜Ò#¨!¨|Ò*;ÜØGØ—‘˜aÓ Ø óð ñ	ùò!
s   Ç,9K$c                 ó   ‡‡‡— | d   }| d   ddd…   }t        ||ddd…      «       | d   rt        || d   «       nd}|j                  «       }|D �cg c]  }|dz   ‘Œ	 }}|j                  d„ t	        ||«      D «       «      }|}i Š| d	   r¢	 |j                  t        j                  | d	   «      j                  t        j                  «       «      «      }| d   rN| d   | d	   k(  rC| d	   dz   }|j                  t        j                  | d	   «      j                  |«      «      }|| d	<   | d	   Šn„|j                  «       j                  «       }d|vrdn'dj                  |D �cg c]  }t        |«      ‘Œ c}«      Š|j                  t        j                   d«      j                  ‰«      «      }‰| d	<   t        j"                  ‰«      ‰‰<   g }	g }
t%        d|j                  «       j                  «       ¬«      Š| d   r»|r‡|	j'                  | d   «       t        j                  | d   «      j)                  «       ‰| d   <   t        j                  | d   «      j+                  «       j                  | d   › ‰› �«      ‰| d   › ‰› �<   n2|
j'                  | d   «       t        j"                  | d   «      ‰| d   <   t-        t/        |j                  «       j                  «       «      j1                  |«      «      }|j                  ˆfd„|D «       «      }|D ]{  }|‰vsŒ|	j'                  |«       t        j                  |«      j)                  «       ‰|<   t        j                  |«      j+                  «       j                  |› ‰› �«      ‰|› ‰› �<   Œ} t-        t/        |«      t/        g d¢«      z
  «      }g }| d   rQ|sO|j                  t        j                  | d   «      t        j                  ‰«      z  j                  | d   «      «      }dt
        j2                  dt
        j2                  fˆˆfd„}t5        |«      D �]š  \  }} |j7                  ||d d¬«      j8                  d+i ‰¤Žj;                  ||
|	«      } |j                  |t        j                  |«      j                  t        j<                  «       «      t        j                   d«      t        j                  |«      j                  t        j<                  «       «      dœŽ}|t?        |«      dz
  k  �r@t%        dg |¢d‘d‘d‘¬«      }|j                  t        j@                  tC        t?        |«      dz
  |d«      D �cg c];  }t        j                  ||   «      j                  t        j<                  «       «      ‘Œ= c}d¬«      j                  |«      «      j                  t        j@                  t        j                  |«      t        j                  d«      gd¬«      t        j@                  t        j                  |«      t        j                  d«      gd¬«      ¬«      jE                  |«      }|j                  t        j                  d«      j                  jG                  dd«      j                  jG                  dd«      ¬ «      }|j'                   |jH                  dddg|¢Ž «       �Œ� t        jJ                  t        jL                  |d!¬"«      jO                  «       «      }| d   rŽ|rŒd#}||jP                  v r|d$z  }||jP                  v rŒ|j                  t        j                  | d   «      j                  t        j<                  «       «      j                  |«      «      jS                  |d¬%«      }|| d<   d| d<   d| d&<   d| d'<   d| d(<   | d   r^| d)   s| d   g| d)<   | S tU        | d)   tV        «      r$| d)   jY                  | d   «      sd*| d)   | d   <   | S | d)   j'                  | d   «       | S c c}w # t        $ r t        d
| d	   z  «      ‚w xY wc c}w c c}w ),z^
    Build dataframe for sunburst, treemap, or icicle when the path argument is provided.
    rØ   r5   Nr²  r;   FÚ
_path_copyc              3   ój   K  — | ]+  \  }}t        j                  |«      j                  |«      –— Œ- y ­wrR   )r†   rÁ   rb  )r‚  Únew_col_namer‚   s      rV   rƒ  z.process_dataframe_hierarchy.<locals>.<genexpr>x  s0   è ø€ ò á"ˆL˜(ô 	�‰ˆxÓ×Ñ˜|×,ñùs   ‚13r$   zDColumn `%s` of `df` could not be converted to a numerical data type.Ú_sumr¬   r¹   r   é   )r¤   r    c              3   ó”   •K  — | ]?  }|‰vsŒt        j                  |«      j                  t        j                  «       «      –— ŒA y ­wrR   )r†   rÁ   r
  r”  )r‚  r   Úagg_fs     €rV   rƒ  z.process_dataframe_hierarchy.<locals>.<genexpr>Ñ  s.   øè ø€ ÒU¸ÀaÈuÂnœŸ™ ›Ÿ™¬¯	©	«×4ÑUùs
   ƒ	A�;A)rP   rÎ   r÷   Údframerƒ   c                 ó  •—  | j                   g |D �cg c]-  }t        j                  |«      t        j                  ‰«      z  ‘Œ/ c}¢|D �cg c]„  }t        j                  t        j                  |› ‰› �«      dk(  «      j	                  t        j                  |«      «      j                  t        j                  d«      «      j                  |«      ‘Œ† c}¢­Ž j                  |D �cg c]  }|› ‰› �‘Œ
 c}«      S c c}w c c}w c c}w )z™
        - continuous_aggs is either [] or [args["color"]]
        - discrete_aggs is either [args["color"], <rest_of_cols>] or [<rest_of cols>]
        r   z(?))	r‘  r†   rÁ   ÚwhenÚthenÚ	otherwiser’  rb  Údrop)rÍ  Úcontinuous_aggsÚdiscrete_aggsrÁ   Úcount_colnameÚn_unique_tokens       €€rV   Úpost_aggz-process_dataframe_hierarchy.<locals>.post_aggå  så   ø€ ð
 #ˆv×"Ñ"ð 
Ø=LÖM°cŒb�f‰f�S‹kœBŸF™F =Ó1Ó1ÒMð
ð )öð ô —G‘GœBŸF™F c U¨>Ð*:Ð#;Ó<ÀÑAÓBß‘Tœ"Ÿ&™& ›+Ó&ß‘YœrŸv™v e›}Ó-ß‘U˜3“Zñ òò
÷ ‰$°MÖB¨S�3�%˜Ð'Ò(ÒBÓ
Cð	DùÚMùòùò Cs   “2C<
ÁB	D
Ã(DT©Údrop_null_keysrP   rÎ   r÷   r  )r¯  )rÎ   r÷   z/?$z^/?)rÎ   rÚ   rÛ   Úsort_color_if_discrete_colorÚ0rç   r'   r#   r%   r4   )TNr_   )-rÄ  r�   Úlazyr‘  r\  r†   rÁ   r
  r  rw   r›   rb  Úcollect_schemar#   rÌ   r&  r’  r®   r¦   r  Úmaxr  rj  r-  Ú
differenceÚ	LazyFramer[  Úgroup_byÚaggÚpiper”  r  r·  rÏ   rÒ  r'  r  Úmaybe_reset_indexrü   Úcollectr    r	  r  r  r  )rx   r�   r5   Údiscrete_colorr‚   Únew_pathÚnew_value_col_namer    ÚelrÔ  rÓ  r¹  rÁ   Ú	all_treesr×  rÓ   ÚlevelÚdfgÚdf_treeÚ_concat_str_tokenÚjÚdf_all_treesÚsort_col_namerÌ  rÕ  rÖ  s                          @@@rV   Úprocess_dataframe_hierarchyrò  l  sÄ  ú€ ð ˜LÑ)€BØ�‰<™˜"˜Ñ€DÜ  4©¨"¨¡:¡Ô/Ø>BÀ7ºmœ¨¨D°©MÓ:Ñ:ÐQV€Nà	�‰‹€Bà8<Ö=¨H�˜<Ó'Ð=€HÐ=Ø	�‰ñ ä&)¨(°DÓ&9ôó 
€Bð €Dà€EØˆH‚~ð	Ø—‘¤§¡¨¨X©Ó!7×!<Ñ!<¼R¿Z¹Z»\Ó!JÓKˆBð �Š=˜T '™]¨d°8©nÒ<Ø!% h¡°&Ñ!8ÐØ—‘¤§¡¨¨X©Ó!7×!=Ñ!=Ð>PÓ!QÓRˆBØ/ˆD�‰NØ˜X™‰ð ×#Ñ#Ó%×+Ñ+Ó-ˆà gÑ-‰G°2·7±7ÈgÖ;VÈ¼CÀ½GÒ;VÓ3Wð 	ð �_‰_œRŸV™V A›YŸ_™_¨]Ó;Ó<ˆØ&ˆˆX‰ô Ÿ6™6 -Ó0€Eˆ-Ñà€MØ€Oä4Ø˜B×-Ñ-Ó/×5Ñ5Ó7ô€Nð@ ˆG‚}ÙØ× Ñ   g¡Ô/Ü#%§6¡6¨$¨w©-Ó#8×#<Ñ#<Ó#>ˆE�$�w‘-Ñ ä—‘�t˜G‘}Ó%ß‘“ß‘˜$˜w™-˜¨Ð(8Ð9Ó:ð �T˜'‘]�O NÐ#3Ð4Ò5ð ×"Ñ" 4¨¡=Ô1ä#%§6¡6¨$¨w©-Ó#8ˆE�$�w‘-Ñ ô ”�B×%Ñ%Ó'×-Ñ-Ó/Ó0×;Ñ;¸DÓAÓB€DØ	�‰ÓU¸dÔUÓ	U€Bàò ˆØ�eÒà× Ñ  Ô%ÜŸ™ ›Ÿ™Ó*ˆE�#‰Jä—‘�s“×$Ñ$Ó&×,Ñ,°¨u°^Ð4DÐ-EÓFð �S�E˜.Ð)Ð*Ò+ðô ”�D“	œCÒ :Ó;Ñ;Ó<€Dà€IàˆG‚}™^Ø�_‰_Ü�V‰V�D˜‘MÓ"¤R§V¡V¨MÓ%:Ñ:×AÑAÀ$ÀwÁ-ÓPó
ˆðDœŸ™ð DÌ"Ï,É,ö Dô$ ˜d“Oó ,M‰ˆˆ5ðˆB�K‰K˜˜Q˜R˜°ˆKÓ6ß‰SñØñç‰T�(˜O¨]Ó;ð 	ð #�#×"Ñ"ØÜ—6‘6˜%“=×%Ñ%¤b§i¡i£kÓ2Ü—6‘6˜"“:Ü�v‰v�e‹}×!Ñ!¤"§)¡)£+Ó.ò	
ˆð Œs�4‹y˜1‰}ÓÜ ?ØÐ$E dÐ$E¨HÐ$E°hÐ$EÀÐ$Eô!Ðð ×$Ñ$Ü—M‘Mô &+¬3¨t«9°q©=¸!¸RÓ%@öà !ô ŸF™F 4¨¡7›O×0Ñ0´·±³Õ=òð #&ô÷ ‘eÐ-Ó.ó÷ ‘ÜŸ=™=ÜŸ™Ð 1Ó2´B·F±F¸8Ó4DÐEÐQTôô —}‘}ÜŸ™Ð 1Ó2´B·F±F¸4³LÐAÈSôð	 ó ÷ ‘Ð'Ó(ð% ð, ×&Ñ&Ü—6‘6˜(Ó#×'Ñ'×/Ñ/°°rÓ:×>Ñ>×FÑFÀuÈbÓQð 'ó 
ˆð 	×Ñ˜˜Ÿ™¨(°H¸dÐ)JÀTÐ)JÐKÖLðY,Mô\ ×'Ñ'¬¯	©	°)ÀÔ(L×(TÑ(TÓ(VÓW€Lð ˆG‚}™Ø6ˆØ˜|×3Ñ3Ñ3Ø˜SÑ ˆMð ˜|×3Ñ3Ò3à#×0Ñ0Ü�F‰F�4˜‘=Ó!×&Ñ&¤r§y¡y£{Ó3×9Ñ9¸-ÓHó
ç
‰$�-¨Dˆ$Ó
1ð 	ð
 &€DˆÑØ€Dˆ�LØ€Dˆ�KØ€Dˆ�MØ€Dˆ�OØˆG‚}Ø�LÒ!Ø"& w¡- ˆD�Ñð €Kô ˜˜\Ñ*¬DÔ1Ø˜Ñ%×)Ñ)¨$¨w©-Ô8Ø4@��\Ñ" 4¨¡=Ñ1ð €Kð �Ñ×%Ñ% d¨7¡mÔ4Ø€KùòO >øô ò 	ÜØVØ�x‘.ñ!óð ð	üò  <Wùòrs    Á`#ÂA`( Å!aÕ%A aà(ac                 óª  — d| d<   | d   �| d   €t        d«      ‚| d   }|j                  }| d   | d   fD �cg c]0  }||   t        j                  k7  r||   t        j                  k7  r|‘Œ2 }}|r=	 |j                  t        j                  |«      j                  j                  «       «      }|j                  t        j                  | d   «      t        j                  | d   «      z
  j                  j                  «       j                  | d   «      «      | d<   | d   | d	<   | d   | d
<   | d= | d= | S c c}w # t        $ r}t        d«      |‚d}~ww xY w)z8
    Massage input for bar traces for px.timeline()
    TrŒ  r   Nr    z#Both x_start and x_end are requiredrØ   zCBoth x_start and x_end must refer to data convertible to datetimes.r   r   )r›   Úschemar†   r™   r–   r‘  rÁ   r&  Úto_datetimerw   rœ   r—   Útotal_millisecondsrb  )rx   r�   rô  rÁ   Úto_convert_to_datetimeÚexcs         rV   Úprocess_dataframe_timelinerù  A  sh  € ð €DˆÑØˆI�Ð $ w¡-Ð"7ÜÐ>Ó?Ð?à˜LÑ)€BØ�Y‰Y€Fð ˜‘O T¨'¡]Ð3öàØ�#‰;œ"Ÿ+™+Ò%¨&°©+¼¿¹Ò*@ò 	ðÐð ñ ð	Ø—‘¤§¡Ð(>Ó!?×!CÑ!C×!OÑ!OÓ!QÓRˆBð Ÿ™Ü	�‰��W‘Ó	¤§¡¨¨Y©Ó!8Ñ	8ß	‰×ÑÓ ß	‰ˆt�G‰}Ó	ó€DˆÑð
 �W‘€Dˆ�IØ˜	‘?€Dˆ�LØˆYˆ˜˜g˜Ø€Kùò/øô ò 	ÜØUóàðûð	ús   ¸5D3Á2<D8 Ä8	EÅEÅEc           
      óÖ  — dd l }| j                  d«      }|€| |fS | d   j                  |i «      j                  «       }|s| |fS | d   }d|d<   d|d<   |j                  |«      j	                  d	¬
«      j                  «       }t        j                  t        |«      |z   «      D �cg c]	  }||v sŒ|‘Œ }}t        j                  d|j                  «      }	|j                  t        j                  |«      j                  ||j                  t!        |«      «      t        j"                  ¬«      j%                  |	«      «      j'                  |	«      j)                  |	«      | d<   | |fS c c}w )Nr   r#   rO   rØ   Fr	  Ú	clockwiser˜  T©Úmaintain_orderé   )Úreturn_dtype)r`  r  rÑ   rŒ   Úuniquer%  r   r  rj  r†   r¢   r    r‘  rÁ   Úreplace_strictra  r  ÚUInt32rb  r	  rÒ  )
rx   rt   rx  r#   Úorder_inr�   Úuniquesr   Úorderrb   s
             rV   Úprocess_dataframe_pier  e  sL  € Ûà�H‰H�WÓ€EØ€}Ø�[Ð Ð ØÐ%Ñ&×*Ñ*¨5°"Ó5×:Ñ:Ó<€HÙØ�[Ð Ð Ø˜LÑ)€BØ€K�ÑØ*€K�ÑØ�m‰m˜EÓ"×)Ñ)¸Ð)Ó>×FÑFÓH€GÜ#×,Ñ,¬T°(«^¸gÑ-EÓFÖW�1È!ÈwÊ,ŠQÐW€EÐWô ×-Ñ-¨a°·±Ó<€Eà
�‰Ü�F‰F�5‹Mß‰^˜E 2§9¡9¬S°«ZÓ#8ÄrÇyÁyˆ^ÓQß‰U�5‹\ó	
÷
 
‰ˆe‹ß	‰ˆe‹ð 	ˆÑð �ÐÐùò Xs   Â&	E&Â0E&c                 ó¾  — t         t        z   D �cg c]	  }|| v sŒ|‘Œ }}g }| d   }d}d| v rC| d   r>t        j                  |j	                  | d   «      j                  «       «      | d   dz  z  }d| v �r³d| v rœd| vr|j                  d«       �n| d   r&t        || d   «      r|j                  d«       d	| d
<   nî|t        j                  t        j                  t        j                  fv r|j                  d«       d| d
<   n¦|j                  d«       n”d| v s|t        j                  k(  r|j                  d«       nk|t        j                  t        j                  fv r8|j                  d«       | d   r3| d   €g | d<   | d   j                  | d   «       n|j                  d«       t        d|v xro | d   xrh |t        j                  t        j                  fvxrD |t        j                  t        j                  t        j                  fvxs | j!                  d
«      «      }	nd}	d| v r|j                  d«       d| v r|j                  d«       d| v r6|t        j"                  fv r|j                  d«       n|j                  d«       d| v �r¥| d   d u}
| d   d u}| d   €u|t        j$                  t        j"                  fv r
|rQ|
sOd| d<   nI|t        j&                  t        j(                  t        j*                  t        j,                  fv r	|
r|sd| d<   | d   €4|
r2|r0t        || d   «      }t        || d   «      }|r|sd| d<   |r|sd| d<   | d   €d| d<   |t        j$                  k(  rA|
r|r| d   €
dx| d<   |d<   | d   }| d   }|dk(  r|nd |d<   |dk(  rd n||d <   |dk(  rdnd|d!<   | d   |d<   |t        j&                  t        j(                  fv r\|t        j(                  k(  rd"nd#}||   €6| d   �1| d   | d   k(  r| d   dk(  rd$||<   n| d   | d   k(  r| d   dk(  rd$||<   ||   €d%||<   |t        j.                  k(  r| d&   �| d   €
dx| d<   |d<   | j!                  d'd«      durn|t        j.                  t        j                  fv rd&}n"|t        j*                  k(  r| d   dk(  rdnd}nd(}| d'   d	u rd)|z   d*z   |d+<   nd)|z   d,z   | d'   z   d*z   |d+<   |t        j.                  t        j0                  t        j2                  fv rd	}	d-|d.<   d/| v r‹| d/   €d0| v r‚| d0   d$k(  rzt5        d1¬2«      |d3<   nj|t        j0                  t        j2                  t        j                  t        j,                  t        j                  fv r	| d/   |d/<   nt5        | d/   ¬2«      |d3<   d| v sd| v rÐt7        «       }| j!                  d4d	«      r|j9                  d4«       | j!                  d5«      s"| j!                  d«      s| j!                  d6«      r|j9                  d6«       | j!                  d5«      r|j9                  d5«       t;        |«      dk(  r|j9                  d4«       d7j=                  t?        |«      «      |d8<   nH|t        j@                  k7  r5d| v s"|t        jB                  t        jD                  fv rd6| d5   rd9nd:z   |d8<   d;| v rt5        | d;   ¬<«      |d=<   nd>| v rt5        | d>   d?k(  rd@ndA¬<«      |d=<   dB| v r.| dC   |dC<   tG        | dB   dD«      s| dB   n| dB   jH                  |dB<   dE| v r%| d   dk(  rdFndG}| d   dk(  rdFndG}| dE   | |<   d | |<   |jK                  «       r
d x| dH<   | dI<   | j!                  dI«      �| j!                  dG«      �d | dG<   | j!                  dH«      �| j!                  dF«      �d | dF<   | j!                  dF«      €"| j!                  dG«      €| j!                  dH«      �d| dJ<   dK| v r6| dK   �1| dK   tL        vr&tO        dL| dK   ›dMtL        jQ                  «       ›�«      ‚dN| v r| dN   €t5        «       | dN<   dO| v r0| j!                  dOd «      dPvrtO        dQdR| dO   z  z   «      ‚| dO   | dS<   |jS                  tT        D �cg c]	  }|| v sŒ|‘Œ c}«       |D �cg c]  }tW        | |«      ‘Œ }}tY        | |||«      }||||	fS c c}w c c}w c c}w )TNrØ   r   r   rN   r{  r;   rG   rE   Trô   Fzmarker.colorr:   z
line.colorr4   r=   z	line.dashr<   zmarker.symbolr>   zfillpattern.shapezmarker.pattern.shaper©   r   r   rª   r«   r¨   r®   ÚnbinsÚnbinsxÚnbinsyrê  ÚboxmodeÚ
violinmodeÚoverlayÚgroupr   Ú	text_autor~   z%{rù   Útexttemplateú:rò   ró   ré  Úbarmoderè  )ré  rà   r  r"   Úmarkersr  rÃ  z+textr¹   râ  )rÆ   rö   rŽ  rk  ÚvhÚhvÚgeojsonÚfeatureidkeyÚ__geo_interface__ru   rä   rå   r8   r9   Úfacet_col_wrapræ   zValue 'z!' for `trendline` must be one of rê   Úecdfnorm)Nr±   r¯   z<`ecdfnorm` must be one of None, 'percent' or 'probability'. z'%s' was provided.r­   )-Údirect_attrablesr/  r†   r  rŒ   rÞ  r  r�   rþ   r   r!  r"  r  r#  r$  rB  r  rÆ  r  rø  rù  r�  rŒ  r  rT  rW  r  r-  r0  r  rÌ   Úsortedr  rR  rU  r^  r  rµ  r  r›   r_  ÚextendÚgroup_attrablesrÖ   rÿ  )rx   rr   rt   Úlayout_patchrC  rs   Úgrouped_attrsr�   rã   Úshow_colorbarÚhas_xÚhas_yÚx_is_continuousÚy_is_continuousr©   r  rÃ  rÒ   Úmodesr<  Úother_positionr   Úgrouped_mappingsÚtrace_specss                           rV   Úinfer_configr*  ‚  s€	  € Ü(¬?Ñ:ÖH�1¸aÀ4ºiŠQÐH€EÐHØ€MØ˜LÑ)€Bð €GØ��~˜$˜vš,ä�O‰O˜BŸM™M¨$¨v©,Ó7×;Ñ;Ó=Ó>ÀÀjÑAQÐUVÑAVÑVð 	ð
 �$‚Ø# tÑ+Ø(°Ñ4Ø—‘˜WÖ%à˜’=¤^°B¸¸W¹Ô%FØ—L‘L Ô)Ø26�DÐ.Ò/Ø ¤R§[¡[´"·*±*¼b¿i¹iÐ$HÑHØ—L‘L Ô)Ø27�DÐ.Ò/à!×(Ñ(¨Õ8Ø˜TÑ! [´B×4IÑ4IÒ%IØ× Ñ  Õ.ØœRŸV™V¤R§]¡]Ð3Ñ3Ø�L‰L˜Ô!Ø�GŠ}Ø˜Ñ%Ð-Ø)+�D˜Ñ&Ø�\Ñ"×)Ñ)¨$¨w©-Õ8à× Ñ  Ô0äØ�uÐò Ø�W‘òà¤B§F¡F¬B¯M©MÐ#:Ð:òð ¤B§J¡J´·±¼R¿Y¹YÐ#GÐGò 3Ø—8‘8Ð1Ó2ó
‰ð ˆà�dÑØ×Ñ˜[Ô)à�4ÑØ×Ñ˜_Ô-à˜$ÑØœ2Ÿ:™:˜,Ñ&Ø× Ñ Ð!4Õ5à× Ñ Ð!7Ô8à˜ÒØ�S‘	 Ð%ˆØ�S‘	 Ð%ˆØ�ÑÐ&ØœrŸ|™|¬R¯Z©ZÐ8Ñ8Ù¡Ø*-�D˜Ò'Ø¤§¡¬B¯F©F´B·F±F¼B¿I¹IÐ FÑFÙ¡Ø*-�D˜Ñ'à�ÑÐ&©5±UÜ,¨R°°c±Ó;ˆOÜ,¨R°°c±Ó;ˆOÙ¡Ø&)��]Ñ#Ù¡Ø&)��]Ñ#à�ÑÐ&Ø"%ˆD�Ñàœ"Ÿ,™,Ò&Ù™ 4¨
Ñ#3Ð#;Ø=BÐB��ZÑ  ;¨zÑ#:à˜}Ñ-ˆKØ˜‘MˆEØ-8¸CÒ-?¡EÀTˆK˜Ñ!Ø,7¸3Ò,>¡DÀEˆK˜Ñ!Ø-8¸CÒ-?¡cÀSˆK˜
Ñ#Ø%)¨-Ñ%8ˆ�MÑ"àœ2Ÿ9™9¤b§f¡fÐ-Ñ-Ø +¬r¯v©vÒ 5‘9¸<ˆDØ˜DÑ!Ð)¨d°7©mÐ.GØ˜‘9  W¡Ò-°$°}Ñ2EÈÒ2LØ)2�L Ò&Ø˜#‘Y $ w¡-Ò/°D¸Ñ4GÈ3Ò4NØ)2�L Ñ&Ø˜DÑ!Ð)Ø%,�˜TÑ"ð 	”r—~‘~Ò%Ø�‰IÐ!Ø�ÑÐ$à5:Ð:ˆˆZÑ˜; zÑ2à‡x�x�˜UÓ#¨5Ñ0Øœ2Ÿ>™>¬2×+@Ñ+@ÐAÑAØ‰FØœBŸF™FÒ"Ø  Ñ/°3Ò6‘S¸C‰FàˆFØ�Ñ Ñ$Ø*.°©-¸#Ñ*=ˆK˜Ò'à*.°©-¸#Ñ*=ÀÀ[Ñ@QÑ*QÐTWÑ*WˆK˜Ñ'à”r—~‘~¤r§}¡}´b×6FÑ6FÐGÑGØˆØ#/ˆ�KÑ à�DÑØ�	‰?Ð"Ø˜DÑ  T¨)¡_¸	Ò%AÜ(,°SÔ(9�˜HÒ%ØÜ�M‰MÜ×ÑÜ�F‰FÜ�I‰IÜ�M‰Mð
ñ 
ð &*¨)¡_ˆK˜	Ò"ä$(°°i±Ô$AˆK˜Ñ!à˜Ñ ¨tÑ 3ä“ˆØ�8‰8�G˜TÔ"Ø�I‰I�gÔØ�8‰8�FÔ˜tŸx™x¨Ô1°T·X±X¸iÔ5HØ�I‰I�iÔ Ø�8‰8�FÔØ�I‰I�fÔÜˆu‹:˜Š?Ø�I‰I�gÔØ!Ÿh™h¤v¨e£}Ó5ˆ�FÒØ	œŸ™Ò	 Ø�DÑ˜K¬B¯M©M¼2×;KÑ;KÐ+LÑLà'°d¸6²l©7ÈÑKˆ�FÑà�tÑÜ"¨¨lÑ);Ô<ˆ�FÒØ	�tÑ	Ü"Ø˜zÑ*¨jÒ8‘$¸dô
ˆ�FÑð �DÑØ&*¨>Ñ&:ˆ�NÑ#ô ˜4 	™?Ð,?Ô@ð �ŠOà�i‘×2Ñ2ð 	�IÑð �TÑØ#'¨Ñ#6¸#Ò#=‘<À<ˆØ)-¨mÑ)<ÀÒ)C™ÈˆØ˜jÑ)ˆˆX‰Ø#ˆˆ^Ñð 
‡{�{„}Ø04Ð4ˆˆ[Ñ˜D Ñ-ð ‡x�x�ÓÐ(¨T¯X©X°lÓ-CÐ-OØ!ˆˆ\Ñà‡x�x�ÓÐ(¨T¯X©X°lÓ-CÐ-OØ!ˆˆ\Ñð 	�‰�ÓÐ*Ø�8‰8�LÓ!Ð-Ø�8‰8�KÓ Ð,à!"ˆÐÑà�dÑ˜t KÑ0Ð<Ø�ÑÔ$7Ñ7Ýà˜Ó$Ô&9×&>Ñ&>Ô&@ðBóð ð
 ˜dÑ" tÐ,?Ñ'@Ð'HÜ$(£FˆÐ Ñ!à�TÑØ�8‰8�J Ó%Ð-MÑMÜØNØ&¨¨jÑ)9Ñ9ñ:óð ð   
Ñ+ˆˆZÑð ×Ñ¤_ÖB ¸¸Tº	š!ÒBÔCð 8EÖE°!œ T¨1Õ-ÐEÐÐEô " $¨°U¸KÓH€KØÐ(¨'°=Ð@Ð@ùòC Iùòt Cùò Fs   �	cšcâ	câcâ'cc                 óò  ‡‡— d| vri n| d   j                  «       Š| d   }g }t        «       }t        |«      D ]·  \  }}|t        k(  r|j	                  d«       Œ!||vr2|j                  |«      j                  d¬«      j                  «       ||<   ||   }t        |«      dk(  r|j	                  |d   «       |‰vr|‰|<   Œˆt        t        j                  t        ‰|   «      |z   «      «      ‰|<   Œ¹ t        |«      t        |«      k(  rt        |«      |i}|‰fS ‰D �	cg c]	  }	|	|v sŒ|	‘Œ c}	Št        |j                  ‰d¬«      j                  «       «      }
t        |
j!                  «       ˆˆfd	„¬
«      }|D ��cg c]8  }t        |D �cg c]!  }|t        k(  rdn|‰j#                  |«         ‘Œ# c}«      ‘Œ: }}}t%        ||«      D ��ci c]  \  }}||
|   “Œ }}}|‰fS c c}	w c c}w c c}}w c c}}w )aò  
    `orders` is the user-supplied ordering with the remaining data-frame-supplied
    ordering appended if the column is used for grouping. It includes anything the user
    gave, for any variable, including values not present in the dataset. It's a dict
    where the keys are e.g. "x" or "color"

    `groups` is the dicts of groups, ordered by the order above. Its keys are
    tuples like [("value1", ""), ("value2", "")] where each tuple contains the name
    of a single dimension-group
    rO   rØ   r¹   Trü  r   r   rØ  c                 ó„   •— t        ‰| «      D ��cg c]"  \  }}|‰|   v r‰|   j                  |«      nd‘Œ$ c}}S c c}}w )Nr²  )r\  r  )r$   r  r~   r\  Úrequired_groupers      €€rV   r½   z'get_groups_and_orders.<locals>.<lambda>‘	  sK   ø€ ä$'Ð(8¸&Ó$A÷ á �E˜5ð /4°v¸e±}Ñ.D��u‘×#Ñ# EÔ*È"ÑLó € ùó  s   ‘'<©r}   )rÑ   r  r[  r  r  rŒ   r   r%  r  rj  r   r  rA  rá  Ú__iter__r  r_  r  r\  )rx   rj   r�   Úsingle_group_nameÚunique_cacherÓ   rÁ   r  Úgroupsr  ÚgroupedÚsorted_group_namesÚsub_group_namesÚfull_sorted_group_namesÚsfr�   r\  r-  s                   @@rV   Úget_groups_and_ordersr8  g	  s;  ù€ ð %¨DÑ0‰R°dÐ;LÑ6M×6RÑ6RÓ6T€FØ˜LÑ)€BàÐÜ“6€Lä˜GÓ$ò V‰ˆˆ3Ø”)ÒØ×$Ñ$ RÕ(à˜,Ñ&à—M‘M #Ó&×-Ñ-¸TÐ-ÓB×JÑJÓLð ˜SÑ!ð # 3Ñ'ˆGÜ�7‹|˜qÒ Ø!×(Ñ(¨°©Ô4Ø˜&Ñ Ø%��s’ä"¤;×#7Ñ#7¼¸VÀC¹[Ó8IÈGÑ8SÓ#TÓU��s’ðVô  ÐÓ¤ W£Ò-äÐ)Ó*¨BÐ/ˆð: �6ˆ>Ðð7 06ÖJ e¸À'Ò9IšEÒJÐÜ�r—{‘{Ð#3ÀD�{ÓI×RÑRÓTÓUˆä#Ø�L‰L‹Nôô
Ðð$ $6÷
#
ð  ô ð
  'ö	ð ð œiÒ'ñ à(Ð)9×)?Ñ)?ÀÓ)DÑEñFòõð
#
Ðñ 
#
ô ),Ð,CÐEWÓ(X÷
Ù$˜r 1ˆB�˜‘
‰Nð
ˆñ 
ð �6ˆ>Ðùò7 Kùòùó
#
ùó
s*   Ä	G#Ä(G#Å=G-Æ&G(Æ1	G-ÇG3Ç(G-c                 ó:  ‡ ‡:— |xs i }|xs i }t        ‰ «       t        ‰ |«      Š |t        j                  t        j                  t        j
                  fv r‰ d   �t        ‰ «      Š |t        j                  fv rt        ‰ |«      \  Š }|dk(  rt        j                  }t        ‰ «      Š d‰ j                  d«      ‰ j                  d«      fv rd|d<   t        ‰ |||«      \  }}}}|D �cg c]  }|j                  xs t        ‘Œ c}xs t        g}	t        ‰ |	«      \  }
Š:g }g }dx}}|D �]&  }|j                  ‰:vr|j                   d	   |j"                  d
<   Œ/‰:|j                     }|j$                  dk(  r8t'        ‰ ‰ d   «      dz   }|D �cg c]  }|t)        |«      z   ‘Œ }}t+        |«      }|j$                  dk(  r8t'        ‰ ‰ d   «      dz   }|D �cg c]  }|t)        |«      z   ‘Œ }}t+        |«      }|D ]V  }||j"                  vsŒ|j                   t+        |j"                  «      t+        |j                   «      z     |j"                  |<   ŒX �Œ) t-         |«       j.                  «      }i }t1        «       }g }d }‰ j                  dd	«      }|
j3                  «       D �]­  \  }}t1        «       }t1        «       }d
}t5        |	||«      D ]p  \  }}}|t        k7  sŒt'        ‰ |«      }t7        |j"                  t8        «      s(t)        |«      ||<   |j:                  rt)        |«      ||<   |j<                  dk(  sŒo|}Œr dj?                  |jA                  «       «      } ||vrtC        «       ||<   ||   }!|D �]Ö  }"|"jE                  | ¬«      }#|"jD                  t        jF                  t        jH                  t        jJ                  t        jL                  t        jN                  t        jP                  t        jR                  t        jT                  t        j                  t        j                  t        j
                  fvr|#jW                  | | d
k7  xr | |!v¬«       |j                  d«      }$|"jD                  t        j                  t        jX                  t        jZ                  t        j\                  fv r|$dk(  s|$€|#jW                  d| ¬«       |!j_                  | «       d|#_0        d|#_1        te        |«      D ]Ò  \  }%}||%   }	 |jg                  |#|j"                  |   «       |j$                  dk(  r|j"                  |   }&n%‰ j                  d«      �|"jl                  d k7  rd}&nd}&|j$                  dk(  r(|j"                  |   }|r+d|dz
  |z  z   }&d|dz
  |z  z   }n|"jl                  d!k(  rd}nd}|&dkD  r|&|#_0        |dkD  sŒÌ||#_1        ŒÔ |d	   jD                  t        jn                  k(  rc|"jD                  t        jX                  k(  rF|#jp                  jr                  r0|#jW                  tk        |#jp                  jr                  ¬«      ¬«       d"‰ v �rq‰ d#   d$k(  r‰ d    n‰ d!   }'‰ d#   d%k(  r‰ d    n‰ d!   }(‰ j                  d"d&«      d'k7  })|ju                  |'|) d¬(«      }|jw                  |(«      jy                  «       }*|j{                  t}        j~                  |(«      j�                  «       jƒ                  |(«      «      }|)s|ju                  |'dd¬(«      }‰ j                  d"d&«      d)k(  r6|j{                  |*t}        j~                  |(«      z
  jƒ                  |(«      «      }‰ d*   d+k(  r(|j{                  t}        j~                  |(«      |*z  «      }n2‰ d*   d,k(  r*|j{                  t}        j~                  |(«      |*z  d-z  «      }t…        ‰ |"||j‡                  «       |«      \  }+},|#jW                  |+«       |,�'|j‰                  |j‡                  «       «       |,|d.   d/<   ||vrtk        g |¬0«      ||<   ||   d1   j‰                  |#«       �ŒÙ �Œ° |jA                  «       D �-cg c]  }-|-‘Œ }.}-t+        |.«      dkD  rt‹        |.ˆ ˆ:fd2„¬3«      }.|r’|t        jT                  t        jP                  t        jR                  fv rd4nd}/‰ d5   xs d d g}0t�        d6d7«      }1tk        |1j�                  ‰ d8   «      ‰ d9   |0d	   |0d   tk        t‘        ‰ ‰ |/   |/«      ¬:«      ¬;«      |d<<   d=D ]  }2‰ |2   sŒ	‰ |2   ||2<   Œ tk        d	¬>«      |d?<   |rdj?                  |«      |d?   d@<   ‰ dA   r	‰ dA   |d@<   n*‰ dB   j’                  j”                  j–                  €dCdDi|dE<   ‰ dF   r‰ dF   |dG<   dH‰ v r0‰ dH   r+‰ dB   j’                  j˜                  jš                  €dI|d?   dJ<   |r$t�        jž                  ||z  «      }t¡        ||«      }‰ j                  d«      �|dz  }‰ j                  d«      �|dz  }t£        ‰ ||.||||«      }3|.D ]d  }4|4d1   D ]Z  }#t7        |#t        j¤                  «      rŒt§        |#|3j’                  |3j¨                  ||#j`                  z
  dz   |#jb                  «       Œ\ Œf |3j«                  t+        |.«      d	kD  r|.d	   d1   ng «       |3j­                  |«       dB‰ v r‰ dB   �|3j­                  ‰ dB   d¬K«       |.D ]  }-t)        |-dL   «      |-dL<   Œ t+        |«      dkD  r|.ng |3_W        ‰ j                  dM«      �r‰ j                  dNdO«      dPk(  �rt±        ‰ |«      }5|5jE                  dQdQd¬R«      }6dS|5j²                  vrh|D ]c  }|j<                  dk(  sŒ|j                   t+        |j"                  «      t+        |j                   «      z     }7tk        |7¬«      |5j²                  dS<   Œe t…        ‰ |5‰ dT   i |«      \  }+},|6jW                  |+«       |3jµ                  |6dUdUd¬V«       |3j·                  d.d¬W«       |,�|j‰                  tk        |,¬X«      «       |r	 d	d l\}8|8j»                  |«      |3_^        ng |3_^        tÃ        ‰ ||3‰:«       tÅ        ‰ ||3«       |3S c c}w c c}w c c}w # th        $ �rO |"|d	   k7  r:|"jD                  t        jZ                  t        jX                  fv r|j<                  dv s+|"jD                  t        j\                  fv r|j<                  dv rnÝ|"|d	   k7  rV|"jD                  t        j\                  fv r9|j<                  dk(  r*|#jW                  tk        |j"                  |   ¬«      ¬«       n|"jD                  t        jJ                  t        jL                  t        jN                  fv rC|j<                  dk(  r4|#jW                  dgt+        |«      z  |j"                  |   gdz  dd¬«       n‚ Y �ŒØw xY wc c}-w # t¾        $ r dY}9tÁ        |9«      ‚w xY w)ZNr5   Útimelineru  rä   rå   r  r  r   r   r¹   rÁ   r9   rú   rÀ   r8   r  r7   z, )r1  )ÚlegendgroupÚ
showlegendr  T)ÚalignmentgroupÚoffsetgroup)r<   rÅ   rÄ   )r<   rÄ   r;   r  )rà   r{  F)r   r  Ú	showscaler<  r   r   rŽ  r©   r«   rª   Ústandardrk  r«  Úcomplementaryr  r¯   r±   g      Y@r²  Úpx_fit_results)r  r1  r  c                 ó8   •— ‰‰d      j                  | d   «      S )Nr7   r1  )r  )rÜ  rx   r\  s    €€rV   r½   zmake_figure.<locals>.<lambda>{
  s!   ø€  f¨TÐ2CÑ-DÑ&E×&KÑ&KÈAÈfÉIÓ&V€ rX   r.  r   Úrange_colorr  Úmake_figurerG   Úcolor_continuous_midpointr‹  )r  ÚcmidÚcminÚcmaxÚcolorbarrò   )rD   rC   )ÚtracegroupgapÚlegendrw  ÚtitlerB   rÌ  rÕ  ÚmarginÚsubtitleÚtitle_subtitle_textr   ÚconstantÚ
itemsizing)rB   Ú	overwriter1  ræ   rö  r¼   ÚoverallzOverall Trendline)r1  r;  r<  rö   rØ   rð  )rÀ   rÁ   Úexclude_empty_subplots)Úselectorr<  )rB  z*Trendlines require pandas to be installed.)cr$  r©  rþ   r!  r   r"  rò  r#  r  r�  rù  r  r*  rj   r  r8  rl   rk   ro   rz   r&  r  r   rc  r   r|   r\  r  r   ri   rn   rÌ   r$   r-  rr   r   rÿ   r  r  r  rT  rW  r  rË   rù  rø  r  r0  Ú_subplot_rowÚ_subplot_colr[  rm   r›   r  ru   r  rö   r;   r	  rŒ   r®   r‘  r†   rÁ   Úcum_sumrb  rH  rÑ   r  r  r   Úvalidate_coercer·   rh  rN  rÌ  rL  rR  rg  ÚceilÚminÚinit_figurer  r   r}  Ú
add_tracesÚupdate_layoutrÙ  rú  rt   Ú	add_traceÚupdate_tracesrO  rd  re   rP  rQ  r^  rÝ  );rx   rr   rt   r  r)  r(  rã   r!  r   rj   r2  Ú
col_labelsÚ
row_labelsr„  r…  ÚmÚsorted_valuesrÔ  r�   ÚvalÚsubplot_typeÚtrace_names_by_framerÙ  Útrendline_rowsÚtrace_name_labelsr  Ú
group_namer  r+  Ú
frame_namerÁ   r}   Ú
trace_nameÚtrace_namesr)  r¼   r  rÓ   rÀ   r   r£  Ú	ascendingÚ	group_sumr¢  r,  rÜ  Ú
frame_listÚcolorvarrD  Úcolorscale_validatorr«   rf   rÂ  Útrendline_specÚtrendline_traceÚ
next_colorrR  r�   r\  s;   `                                                         @rV   rE  rE  ª	  s¿  ù€ ØÒ# €KØÒ% 2€LÜ˜$Ôä˜4 Ó-€DØ”r—z‘z¤2§;¡;´·	±	Ð:Ñ:¸tÀF¹|Ð?WÜ*¨4Ó0ˆØ”r—v‘v�hÑÜ1°$¸ÓDÑˆˆkØ�jÒ Ü—f‘fˆÜ)¨$Ó/ˆð �t—x‘x Ó-¨t¯x©x¸Ó/EÐFÑFØ"+ˆ�YÑä<HØˆk˜;¨ó=Ñ9€KÐ! 7¨Mð 0@Ö@¨!ˆq�y‰yÒ%œIÑ%Ò@ÒOÄYÀK€GÜ*¨4°Ó9�N€FˆFà€JØ€JØÐ€EˆEØó RˆØ�9‰9˜FÑ"ØŸJ™J q™MˆA�I‰I�bŠMà" 1§9¡9Ñ-ˆMØ�w‰w˜%ÒÜ" 4¨¨kÑ):Ó;¸cÑA�Ø7DÖE°!˜f¤s¨1£v›oÐE�
ÐEÜ˜J›�Ø�w‰w˜%ÒÜ" 4¨¨kÑ):Ó;¸cÑA�Ø7DÖE°!˜f¤s¨1£v›oÐE�
ÐEÜ˜J›�Ø$ò R�Ø˜aŸi™iÒ'Ø%&§Z¡Z´°A·I±I³ÄÀQÇZÁZÃÑ0PÑ%Q�A—I‘I˜c’NòRðRô" 0±³×0BÑ0BÓC€LàÐÜ‹]€FØ€NØÐØ—X‘XÐ.°Ó2€NØ#Ÿ\™\›^ó Z5Ñˆ
�EÜ$›ˆÜ'›MÐØˆ
Ü˜w¨
Ð4DÓEò 	%‰KˆC��aØ”iÓÜ  cÓ*�Ü! !§)¡)¬[Ô9Ü*-¨c«(�N 3Ñ'Ø×+Ò+Ü14°S³Ð)¨#Ñ.Ø—:‘:Ð!2Ó2Ø!$‘Jð	%ð —Y‘YÐ0×7Ñ7Ó9Ó:ˆ
ØÐ1Ñ1Ü/2«uÐ  Ñ,Ø*¨:Ñ6ˆà%ó H	5ˆJà×*Ñ*°
Ð*Ó;ˆEØ×%Ñ%Ü—
‘
Ü—‘Ü—‘Ü× Ñ Ü×#Ñ#Ü—‘Ü× Ñ Ü—‘Ü—‘Ü—
‘
Ü—	‘	ð.ñ ð —‘Ø *Ø *¨bÑ 0Ò R°ZÀ{Ð5Rð ô ð #×&Ñ& yÓ1ˆGØ×%Ñ%¬"¯&©&´"·&±&¼"¿)¹)ÄRÇ\Á\Ð)RÑRØ˜7Ò" g oà—‘¨D¸j�ÔIØ�O‰O˜JÔ'ð "#ˆEÔØ!"ˆEÔä!Ð"2Ó3ò B-‘��1Ø  ‘m�ð"Ø—I‘I˜e Q§Y¡Y¨s¡^Ô4ðH —7‘7˜eÒ#ØŸ)™) C™.‘Cð Ÿ™ Ó.Ð:Ø&×/Ñ/°3Ò6à™à˜ð —7‘7˜eÒ#ØŸ)™) C™.�CÙ%Ø C¨!¡G°Ñ#>Ñ?˜Ø C¨!¡G¨~Ñ#=Ñ>™à!×*Ñ*¨cÒ1Ø™à˜à˜’7Ø),�EÔ&à˜“7Ø),�EÕ&ðEB-ðH ˜A‘×*Ñ*¬b×.CÑ.CÒCØ×*Ñ*¬b¯f©fÒ4Ø—J‘J×$Ò$à—‘¤D¨u¯z©z×/?Ñ/?Ô$@�ÔAà˜TÒ!Ø$(¨Ñ$7¸3Ò$>�t˜C’yÀDÈÁI�Ø#'¨Ñ#6¸#Ò#=�d˜3’iÀ4ÈÁ9�Ø ŸH™H Z°Ó<À
ÑJ�	ØŸ
™
 d¸9°}ÐQU˜
ÓV�Ø!×,Ñ,Øóç‘#“%ð ð ×*Ñ*¬2¯6©6°#«;×+>Ñ+>Ó+@×+FÑ+FÀsÓ+KÓL�Ù Ø!ŸJ™J¨$¸5ÈT˜JÓR�Eà—8‘8˜J¨
Ó3°ÒFØ!×.Ñ.°	¼B¿F¹FÀ3»KÑ0G×/NÑ/NÈsÓ/SÓT�Eà˜
Ñ# }Ò4Ø!×.Ñ.¬r¯v©v°c«{¸YÑ/FÓG‘EØ˜*Ñ%¨Ò2Ø!×.Ñ.´·±°s³¸iÑ0GÈ5Ñ/PÓQ�Eä!2Ø�j %¨×)<Ñ)<Ó)>Àó"ÑˆE�;ð �L‰L˜ÔØÐ&Ø×%Ñ% n×&9Ñ&9Ó&;Ô<Ø7B�˜rÑ"Ð#3Ñ4Ø Ñ'Ü%)¨r¸
Ô%C��zÑ"Ø�:Ñ˜vÑ&×-Ñ-¨eÖ4òQH	5ð%Z5ðv $Ÿ]™]›_Ö-˜’!Ð-€JÐ-Ü
ˆ:ƒ˜ÒÜØÔVô
ˆ
ñ ð œrŸ~™~¬r¯}©}¼b×>NÑ>NÐOÑOñ àð 	ð
 ˜=Ñ)Ò9¨d°D¨\ˆä2°<ÀÓOÐÜ%)Ø+×;Ñ;ØÐ-Ñ.óð Ð1Ñ2Ø˜Q‘Ø˜Q‘ÜÜ.¨t°T¸(±^ÀXÓNôô
&
ˆ�\Ñ"ð !ò &ˆØ�‹7Ø" 1™gˆL˜ŠOð&ô "°Ô2€L�ÑÙØ/3¯y©yÐ9JÓ/Kˆ�XÑ˜|Ñ,ØˆG‚}Ø%)¨'¡]ˆ�\Ò"Ø	ˆjÑ	×	 Ñ	 ×	'Ñ	'×	)Ñ	)Ð	1Ø"% r ˆ�XÑØˆJÒØ.2°:Ñ.>ˆÐ*Ñ+à�$‰Ø�ŠLØ�Ñ×#Ñ#×*Ñ*×5Ñ5Ð=à/9ˆ�XÑ˜|Ñ,áÜ—	‘	˜% .Ñ0Ó1ˆÜ�E˜>Ó*ˆà‡x�x�ÓÐ)Ø�‰
ˆà‡x�x�ÓÐ)Ø�‰
ˆä
Øˆl˜J¨¨u°jÀ*ó€Cð
 ò ˆØ˜6‘]ò 	ˆEÜ˜%¤§¡Ô*àä%ØØ—
‘
Ø—‘Ø˜×*Ñ*Ñ*¨QÑ.Ø×"Ñ"õñ	ðð ‡N�N¬C°
«O¸aÒ,?�:˜a‘= Ò(ÀRÔHØ×Ñ�lÔ#Ø�TÑ˜d :Ñ.Ð:Ø×Ñ 4¨
Ñ#3¸tÐÔDØò #ˆÜ˜˜&™	“Nˆˆ&Š	ð#ä" 6›{¨Qš‘°B€C„Jà‡x�x�Õ §¡Ð*;¸WÓ!EÈÓ!RÜ,¨T°;Ó?ˆØ(×4Ñ4Ø$Ð2EÐRWð 5ó 
ˆð ˜×3Ñ3Ñ3Ø%ò P�Ø—:‘: Ó(Ø!"§¡¬C°·	±	«N¼SÀÇÁ»_Ñ,LÑ!M�JÜ9=ÀJÔ9O�N×.Ñ.¨vÒ6ðPô /Ø�. $ |Ñ"4°b¸'ó
Ñˆˆ{ð 	×Ñ˜uÔ%Ø�‰Ø ¨EÈ$ð 	ô 	
ð 	×Ñ 2°$ÐÔ7ØÐ"Ø×!Ñ!¤$°kÔ"BÔCáð	+Ûà!#§¡¨nÓ!=ˆCÕð
  ˆÔä�4˜ c¨6Ô2Ü   {°CÔ8Ø€Jùò]	 Aùò Fùò FøôH "ó  ð # k°!¡nÒ4à&×2Ñ2´r·y±yÄ"Ç&Á&Ð6IÑIØ !§
¡
Ð.KÑ Kð '×2Ñ2´r·|±|°nÑDØ !§
¡
Ð.@Ñ @ð à" k°!¡nÒ4Ø&×2Ñ2´r·|±|°nÑDØŸJ™J¨'Ò1àŸ™¬D°q·y±yÀ±~Ô,F˜ÕGà"×.Ñ.ÜŸM™M¬2×+;Ñ+;¼R×=PÑ=PÐQñRàŸJ™J¨'Ò1àŸ™Ø ˜c¤C¨£JÑ.Ø()¯	©	°#©Ð'7¸!Ñ';Ø&+Ø'+ð	 %õ ð úðA üòH .øôZ ò 	+Ø>ˆCÜ% cÓ*Ð*ð	+ús7   Ã)rÆrÇrÔr"á"	w>ñx ò"Ew;	÷:w;	øxc                 ó°  — t        |«      D �cg c]  }t        |xs d¬«      g|z  ‘Œ }}dg|z  }	dg|z  }
| j                  dd«      }|dk(  r·| j                  d«      �)| d   dk(  s	d	| v r| d	   rd
}nd}|g|dz
  z  d|z
  gz   }
d}n-|r| j                  d«      xs d}n| j                  d«      xs d}| j                  d«      �)| d   dk(  s	d	| v r| d	   rd
}nd}|g|dz
  z  d|z
  gz   }	d}nX| j                  d«      xs d}nB|r| j                  d«      xs d}n| j                  d«      xs d}| j                  d«      xs d}|rwd g|z  |z  }t        |«      ||z  k  r#|j	                  d «       t        |«      ||z  k  rŒ#t        |«      D ],  }t        |«      D ]  }||dz
  |z
  |z  |z      |||z  |z   <   Œ Œ. d„ }	 t        |||dd|rg nt        t        |«      «      |rg n||rng |||
|	d¬«      }j                  j                  D ]  }|j                  d ¬«       Œ |S c c}w # t        $ r} ||dd«        ||dd«       Y d }~ŒVd }~ww xY w)NÚdomainry  g      ð?r  r   Úxyrä   ru  r;   g®Gáz®ç?gáz®Gáê?r   g{®Gáz„?Úfacet_row_spacinggìQ¸…ë±?g¸…ëQ¸ž?rå   g{®Gázt?Úfacet_col_spacingg{®Gáz”?c                 ó€   — |›d�| j                   d   v r*| j                   d   dj                  |¬«      z   f| _         | ‚y)z¡
        Translates the spacing errors thrown by the underlying make_subplots
        routine into one that describes an argument adjustable through px.
        z spacingr   z5
Use the {facet_arg} argument to adjust this spacing.)Ú	facet_argN)rx   Úformat)Úer˜  r}  s      rV   Ú_spacing_error_translatorz.init_figure.<locals>._spacing_error_translator&  sS   € ò
 &Ð'¨A¯F©F°1©IÑ5à—‘�q‘	ð8ß8>¹Ø'ð 9?ó 9ñðˆAŒFð ˆGð 6rX   rð  zbottom-left)Úrowsr¹  ÚspecsÚshared_xaxesÚshared_yaxesÚ
row_titlesÚcolumn_titlesÚsubplot_titlesÚhorizontal_spacingÚvertical_spacingÚrow_heightsÚcolumn_widthsÚ
start_cellÚ
HorizontalÚVertical)Úfont)rÏ   r  r  r  r  r   rj  rk  r›   rh  ÚannotationsrË   )rx   rg  rq  r„  r…  rb  rc  rF  r‚  r‹  rŠ  r  Ú	main_sizer‰  rˆ  Úsubplot_labelsrÓ   rï  r€  rf   r  Úannots                         rV   r]  r]  ð
  sÜ  € äDIÈ%ÃLÖQ¸qŒd˜Ò0¨Ô1Ð2°UÓ:ÐQ€EÐQð �E˜E‘M€MØ�%˜%‘-€KØ—X‘XÐ.°Ó2€Nð �tÒØ�8‰8�LÓ!Ð-Ø�LÑ! [Ò0°WÀ±_ÈÈgÊØ ‘	à �	à$˜+¨°©Ñ3°q¸9±}°oÑEˆKØ#ÑÙØ#Ÿx™xÐ(;Ó<ÒDÀÑà#Ÿx™xÐ(;Ó<ÒDÀÐà�8‰8�LÓ!Ð-Ø�LÑ! [Ò0°WÀ±_ÈÈgÊØ ‘	à �	à&˜K¨5°1©9Ñ5¸¸Y¹¸ÑGˆMØ!&Ñà!%§¡Ð*=Ó!>Ò!FÀ$Ññ Ø#Ÿx™xÐ(;Ó<ÒDÀÑà#Ÿx™xÐ(;Ó<ÒDÀÐØ!ŸX™XÐ&9Ó:ÒB¸dÐáØ˜ %™¨%Ñ/ˆÜ�*‹o ¨¡Ò-Ø×Ñ˜dÔ#ô �*‹o ¨¡Ó-ä�u“ò 	XˆAÜ˜5“\ò X�Ø0:¸EÀA¹IÈ¹MÈUÑ;RÐUVÑ;VÑ0W�˜q 5™y¨1™}Ò-ñXð	Xòð FÜØØØØØÙ+‘r´´h¸zÓ6JÓ1KÙ .™"°JÙ-;™>ÀØ1Ø-Ø#Ø'Ø$ô
ˆð( —‘×'Ñ'ò  ˆØ�‰˜$ˆÕð ð €Jùòy Røôh ò FÙ! ! \Ð3FÔGÙ! ! ZÐ1D×EÑEûðFús   ŽH)Ç6H. È.	IÈ7IÉI)NN)eÚplotly.graph_objsÚ
graph_objsrþ   Ú	plotly.ioÚior  Úcollectionsr   r   Ú_special_inputsr   r   r   r  r	   r
   r   r   r   Ú_plotly_utils.basevalidatorsr   Úplotly.colorsr   r   rg  Úplotly._subplotsr   r   r   Únarwhals.stable.v1ÚstableÚv1r†   r�  r  r  r/  r  Úrenameable_group_attrablesr.  rÆ  r÷  r�  rŒ  rù  rø  rZ  r  r  r  Úobjectr@   r  ra   rc   rg   rh   rp   rz   r€   rd  r&  rB  r�   rL  rž   r¦   r·   rÖ   rH  r^  rn  r‰  r[  rM  rO  rK  rV  rS  rY  rÝ  rÿ  rú  r  r$  r)  r8  r?  rC  rF  rS  rz  r©  rÄ  rò  rù  r  r*  r8  rE  r]  r_   rX   rV   ú<module>r¢     sl  ðÝ Ý ß /ß 9Ñ 9ß EÕ Eå <ß 1Û ÷ñ ÷  Ð ð "€ñ Ø˜7¨°yÀcôÐ ò UÚHñIâPñQò FñFð ò W€ÚM€òÐ ð �Ñ&¨Ñ8Ð;UÑUð ð �j‰j˜"Ÿ,™,¨¯©°·	±	¸2¿6¹6À2Ç9Á9ÐM€
Ø 
ˆr�|‰|˜RŸ^™^¨R×-BÑ-BÐCÑ C€
ô%�ô %ñP ‹<€Øð €òòñ Øòó€ñ �{Ò$WÓX€	òò	ð6�r—|‘|ð 6¨sð 6°tó 6ð˜bŸi™ið ¨B¯I©Ió ð&&¸ó &ò2#òL/òdt$òn	6ò,
ò&>?òB#1òLòò2ò,òòò7
òtJòZòòILòX
òò@ò2ò ó+ò&@#òFFðR7 B§L¡Lð 7°Tó 7òtRòj!òHò:bAòJ@óFCóL
^rX   