Ë
    ÌiÓ  ã                   ó@   — d dl mc mZ d dlmZmZ  G d„ d«      Zd„ Zy)é    N)ÚsvgÚthemec                   ó*   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zy)ÚAxisa<  
    A horizontal or vertical chart axis.

    :param ticks:
        Instead of inferring tick values from the data, use exactly this
        sequence of ticks values. These will still be passed to the
        :code:`tick_formatter`.
    :param tick_formatter:
        An optional :func:`.tick_format_function`.
    Nc                 óT   — || _         || _        |�t        |«      | _        y d | _        y )N)Ú_ticksÚ_tick_formatterÚstrÚ_name)ÚselfÚticksÚtick_formatterÚnames       úM/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/leather/axis.pyÚ__init__zAxis.__init__   s'   € ØˆŒØ-ˆÔØ"&Ð"2”S˜“Yˆ�
¸ˆ�
ó    c                 ó  — | j                   xs |j                  «       }t        |«      }| j                  xs |j                  }d}t        |«      D ]"  \  }}t        |t         ||||«      «      «      }Œ$ |t        j                  z  S )z@
        Estimate the y axis space used by tick labels.
        r   )	r   r   Úlenr	   Úformat_tickÚ	enumerateÚmaxr   Útick_font_char_width)r   ÚscaleÚtick_valuesÚ
tick_countr   Úmax_lenÚiÚvalues           r   Ú_estimate_left_tick_widthzAxis._estimate_left_tick_width   s„   € ð —k‘kÒ2 U§[¡[£]ˆÜ˜Ó%ˆ
Ø×-Ñ-ÒB°×1BÑ1BˆØˆä! +Ó.ò 	N‰HˆAˆuÜ˜'¤3¡~°e¸QÀ
Ó'KÓ#LÓM‰Gð	Nð œ×3Ñ3Ñ3Ð3r   c                 ó  — d}|dk(  r)|| j                  |«      t        j                  dz  z   z  }n,|dk(  r'|t        j                  t        j                  dz  z   z  }| j                  r$|t        j
                  t        j                  z   z  }|S )z@
        Estimate the space needed for the tick labels.
        r   Úlefté   Úbottom)r   r   Ú	tick_sizeÚtick_font_char_heightr   Úaxis_title_font_char_heightÚaxis_title_gap)r   r   ÚorientÚmargins       r   Úestimate_label_marginzAxis.estimate_label_margin$   s‚   € ð ˆà�VÒØ�d×4Ñ4°UÓ;¼u¿¹ÐQRÑ?RÑSÑS‰FØ�xÒØ”e×1Ñ1´U·_±_ÀqÑ5HÑIÑIˆFà�:Š:Ø”e×7Ñ7¼%×:NÑ:NÑNÑNˆFàˆr   c           
      ób  — t        j                  d«      }|j                  dd|z   «       | j                  ��E|dk(  rB| j	                  |«      t
        j                  z    }|dz  }d}t        j                  d||«      }	nF|d	k(  rA|dz  }|t
        j                  z   t
        j                  dz  z   t
        j                  z   }d
}d}	t        j                  dt        «      t        «      t
        j                  	¬«      }
|
j                  dd«       |
j                  dt
        j                  «       |
j                  dt        t
        j                  «      «       | j                  |
_        |j!                  |
«       |dk(  r,t
        j                  dz   }t
        j                   }|}|}d}n4|d	k(  r/|t
        j                  dz  z   }d}|t
        j                  z   }d}|}| j"                  xs |j%                  «       }t'        |«      }| j(                  xs |j*                  }d}t-        |«      D �]æ  \  }}t        j                  d«      }|j                  dd«       |dk(  r|}n|j!                  |«       |j/                  |«      }|dk(  rt
        j0                  }nt
        j2                  }|dk(  r|}|}n	|d	k(  r|}|}t        j                  dt        «      t        «      t        «      t        «      |¬«      }|j                  dt        t
        j4                  «      «       |j!                  |«       |dk(  r	}|}d}d}n|d	k(  r|}}d
}d}t        j                  dt        «      t        «      t
        j6                  ¬«      } | j                  d«       | j                  dt
        j8                  «       | j                  dt        t
        j:                  «      «        ||||«      }t        |«      | _        |j!                  | «       �Œé |�|j!                  |«       |S )z3
        Render this axis to SVG elements.
        ÚgÚclasszaxis Nr!   r"   Ú i  r#   Ú1emÚtext)ÚxÚyÚdyÚfillÚ	transformztext-anchorÚmiddlezfont-familyz	font-sizer   ÚtickÚline)Úx1Úy1Úx2Úy2Ústrokezstroke-widthz0.32emÚend)r1   r2   r3   r4   )ÚETÚElementÚsetr   r   r   r'   r   Úrotater%   r$   r
   Úaxis_title_colorÚaxis_title_font_familyÚaxis_title_font_sizer0   Úappendr   r   r   r	   r   r   ÚprojectÚ
zero_colorÚ
tick_colorÚ
tick_widthÚlabel_colorÚtick_font_familyÚtick_font_size)!r   ÚwidthÚheightr   r(   ÚgroupÚtitle_xÚtitle_yr3   r5   ÚtitleÚlabel_xr9   r;   Ú	range_minÚ	range_maxÚlabel_yr:   r<   r   r   r   Úzero_tick_groupr   r   Ú
tick_groupÚprojected_valuerI   r7   r1   r2   Útext_anchorÚlabels!                                    r   Úto_svgzAxis.to_svg4   sÄ  € ô —
‘
˜3“ˆØ�	‰	�'˜7 VÑ+Ô,ð �:‰:Ñ!Ø˜ÒØ ×:Ñ:¸5ÓAÄE×DXÑDXÑXÐY�Ø  1™*�Ø�ÜŸJ™J s¨G°WÓ=‘	Ø˜8Ò#Ø !™)�Ø ¤5×#>Ñ#>Ñ>Ä%Ç/Á/ÐTUÑBUÑVÔY^×YmÑYmÑm�Ø�Ø�	ä—J‘JØÜ�g“,Ü�g“,ØÜ×+Ñ+Ø#ôˆEð �I‰I�m XÔ.Ø�I‰I�m¤U×%AÑ%AÔBØ�I‰I�k¤3¤u×'AÑ'AÓ#BÔCØŸ™ˆEŒJà�L‰L˜Ôð �VÒÜŸ™¨!Ñ+Ð,ˆGÜ—/‘/Ð!ˆBØˆBØˆIØ‰IØ�xÒØ¤§¡°!Ñ 3Ñ4ˆGØˆBØœ%Ÿ/™/Ñ)ˆBØˆIØˆIà—k‘kÒ2 U§[¡[£]ˆÜ˜Ó%ˆ
Ø×-Ñ-ÒB°×1BÑ1Bˆàˆä! +Ó.ó @	%‰HˆAˆuäŸ™ C›ˆJØ�N‰N˜7 FÔ+à˜ŠzØ",‘à—‘˜ZÔ(ð $Ÿm™m¨E°9¸iÓHˆOà˜ŠzÜ"×-Ñ-‘
ä"×-Ñ-�
à˜ÒØ$�Ø$‘à˜8Ò#Ø$�Ø$�ä—:‘:ØÜ�r“7Ü�r“7Ü�r“7Ü�r“7Ø!ôˆDð �H‰H�^¤S¬×)9Ñ)9Ó%:Ô;à×Ñ˜dÔ#ð ˜ÒØ�Ø#�Ø�Ø#‘Ø˜8Ò#Ø#�Ø�Ø�Ø&�ä—J‘JØÜ�a“&Ü�a“&ØÜ×&Ñ&ôˆEð �I‰I�m [Ô1Ø�I‰I�m¤U×%;Ñ%;Ô<Ø�I‰I�k¤3¤u×';Ñ';Ó#<Ô=á" 5¨!¨ZÓ8ˆEÜ˜U›ˆEŒJà×Ñ˜eÖ$ðA@	%ðD Ð&Ø�L‰L˜Ô)àˆr   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r*   r]   © r   r   r   r      s   „ ñ	ó=ò
4òó |r   r   c                 ó   — t        | «      S )aE  
    This example shows how to define a function to format tick values for
    display.

    :param x:
        The value to be formatted.
    :param index:
        The index of the tick.
    :param tick_count:
        The total number of ticks being displayed.
    :returns:
        A stringified tick value for display.
    )r
   )r   Úindexr   s      r   Útick_format_functionre   ³   s   € ô ˆu‹:Ðr   )	Úxml.etree.ElementTreeÚetreeÚElementTreer?   Úleatherr   r   r   re   rb   r   r   ú<module>rj      s    ðß "Ð "ç ÷jñ jóZr   