Ë
    FU h÷h  ã                   óF   — d dl mZ ddlmZ  G d„ dej                  «      Zy)é   )Ú	xmlwriteré    )Úwarnc                   óü  ‡ — e Zd ZdZdHˆ fd„	Zd„ ZdId„Zd„ ZdJd„ZdJd„Z	dKd„Z
dJd	„ZdKd
„ZdJd„ZdJd„Zd„ ZdJd„ZdJd„Zd„ ZdLd„ZdJd„Zd„ ZdKd„ZdJd„ZdJd„ZdKd„Zd„ Zd„ ZdKd„Zd„ ZdKd„Zd„ ZdKd„Z dKd„Z!d „ Z"dKd!„Z#d"„ Z$dKd#„Z%d$„ Z&d%„ Z'dKd&„Z(dJd'„Z)dJd(„Z*dJd)„Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1dMd0„Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9dJd8„Z:d9„ Z;dJd:„Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdF„ ZHdG„ ZIˆ xZJS )NÚFormatz;
    A class for writing the Excel XLSX Format file.


    c                 ó  •— |€i }t         t        | �  «        || _        || _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d	| _        d| _         d| _!        d| _"        d| _#        d| _$        d| _%        d| _&        d| _'        d| _(        d| _)        d| _*        d| _+        d| _,        d| _-        d| _.        d| _/        d| _0        d| _1        d| _2        d| _3        d| _4        d| _5        d| _6        d| _7        d| _8        d| _9        d| _:        d| _;        d| _<        d| _=        d| _>        d| _?        d| _@        d| _A        d| _B        |j‡                  «       D ]  \  }} t‰        | d
|z   «      |«       Œ d| _E        y)z
        Constructor.

        NÚGeneralr   ÚCalibrié   é   ÚminorFr   Úset_)FÚsuperr   Ú__init__Úxf_format_indicesÚdxf_format_indicesÚxf_indexÚ	dxf_indexÚ
num_formatÚnum_format_indexÚ
font_indexÚhas_fontÚhas_dxf_fontÚboldÚ	underlineÚitalicÚ	font_nameÚ	font_sizeÚ
font_colorÚfont_strikeoutÚfont_outlineÚfont_shadowÚfont_scriptÚfont_familyÚfont_charsetÚfont_schemeÚfont_condenseÚfont_extendÚthemeÚ	hyperlinkÚxf_idÚhiddenÚlockedÚtext_h_alignÚ	text_wrapÚtext_v_alignÚtext_justlastÚrotationÚfg_colorÚbg_colorÚpatternÚhas_fillÚhas_dxf_fillÚ
fill_indexÚ
fill_countÚborder_indexÚ
has_borderÚhas_dxf_borderÚborder_countÚbottomÚbottom_colorÚdiag_borderÚ
diag_colorÚ	diag_typeÚleftÚ
left_colorÚrightÚright_colorÚtopÚ	top_colorÚindentÚshrinkÚmerge_rangeÚreading_orderÚjust_distribÚcolor_indexedÚ	font_onlyÚquote_prefixÚitemsÚgetattrÚ_format_key)ÚselfÚ
propertiesÚ
xf_indicesÚdxf_indicesÚkeyÚvalueÚ	__class__s         €úI/var/www/timesheet/venv/lib/python3.12/site-packages/xlsxwriter/format.pyr   zFormat.__init__   s6  ø€ ð
 ÐØˆJäŒf�dÑ$Ô&à!+ˆÔØ"-ˆÔØˆŒØˆŒà#ˆŒØ !ˆÔØˆŒØˆŒØˆÔàˆŒ	ØˆŒØˆŒØ"ˆŒØˆŒØˆŒØˆÔØˆÔØˆÔØˆÔØˆÔØˆÔØ"ˆÔØˆÔØˆÔØˆŒ
ØˆŒØˆŒ
àˆŒØˆŒàˆÔØˆŒØˆÔØˆÔØˆŒàˆŒØˆŒØˆŒØˆŒØˆÔØˆŒØˆŒàˆÔØˆŒØˆÔØˆÔàˆŒØˆÔØˆÔØˆŒØˆŒØˆŒ	ØˆŒØˆŒ
ØˆÔØˆŒØˆŒàˆŒØˆŒØˆÔØˆÔØˆÔØˆÔØˆŒà!ˆÔð %×*Ñ*Ó,ò 	/‰JˆC�Ø'ŒG�D˜& 3™,Ó'¨Õ.ð	/ð  ˆÕó    c                 ó   — || _         y)zï
        Set the Format font_name property such as 'Time New Roman'. The
        default Excel font is 'Calibri'.

        Args:
            font_name: String with the font name. No default.

        Returns:
            Nothing.

        N©r   ©rT   r   s     r[   Úset_font_namezFormat.set_font_name{   s   € ð #ˆ�r\   c                 ó   — || _         y)zÅ
        Set the Format font_size property. The default Excel font size is 11.

        Args:
            font_size: Int with font size. No default.

        Returns:
            Nothing.

        N©r   ©rT   r   s     r[   Úset_font_sizezFormat.set_font_size‰   ó   € ð #ˆ�r\   c                 ó0   — | j                  |«      | _        y)zÈ
        Set the Format font_color property. The Excel default is black.

        Args:
            font_color: String with the font color. No default.

        Returns:
            Nothing.

        N©Ú
_get_colorr   ©rT   r   s     r[   Úset_font_colorzFormat.set_font_color–   ó   € ð Ÿ/™/¨*Ó5ˆ�r\   c                 ó   — || _         y)zœ
        Set the Format bold property.

        Args:
            bold: Default is True, turns property on.

        Returns:
            Nothing.

        N)r   )rT   r   s     r[   Úset_boldzFormat.set_bold£   ó   € ð ˆ�	r\   c                 ó   — || _         y)z 
        Set the Format italic property.

        Args:
            italic: Default is True, turns property on.

        Returns:
            Nothing.

        N)r   )rT   r   s     r[   Ú
set_italiczFormat.set_italic°   ó   € ð ˆ�r\   c                 ó   — || _         y)z¢
        Set the Format underline property.

        Args:
            underline: Default is 1, single underline.

        Returns:
            Nothing.

        N)r   )rT   r   s     r[   Úset_underlinezFormat.set_underline½   re   r\   c                 ó   — || _         y)z°
        Set the Format font_strikeout property.

        Args:
            font_strikeout: Default is True, turns property on.

        Returns:
            Nothing.

        N)r    )rT   r    s     r[   Úset_font_strikeoutzFormat.set_font_strikeoutÊ   s   € ð -ˆÕr\   c                 ó   — || _         y)z¡
        Set the Format font_script property.

        Args:
            font_script: Default is 1, superscript.

        Returns:
            Nothing.

        N)r#   )rT   r#   s     r[   Úset_font_scriptzFormat.set_font_script×   ó   € ð 'ˆÕr\   c                 ó   — || _         y)z¬
        Set the Format font_outline property.

        Args:
            font_outline: Default is True, turns property on.

        Returns:
            Nothing.

        N)r!   )rT   r!   s     r[   Úset_font_outlinezFormat.set_font_outlineä   ó   € ð )ˆÕr\   c                 ó   — || _         y)zª
        Set the Format font_shadow property.

        Args:
            font_shadow: Default is True, turns property on.

        Returns:
            Nothing.

        N)r"   )rT   r"   s     r[   Úset_font_shadowzFormat.set_font_shadowñ   rx   r\   c                 ó   — || _         y)zÇ
        Set the Format num_format property such as '#,##0'.

        Args:
            num_format: String representing the number format. No default.

        Returns:
            Nothing.

        N)r   )rT   r   s     r[   Úset_num_formatzFormat.set_num_formatþ   s   € ð %ˆ�r\   c                 ó   — || _         y)z 
        Set the Format locked property.

        Args:
            locked: Default is True, turns property on.

        Returns:
            Nothing.

        N)r-   )rT   r-   s     r[   Ú
set_lockedzFormat.set_locked  rq   r\   c                 ó   — || _         y)z 
        Set the Format hidden property.

        Args:
            hidden: Default is True, turns property on.

        Returns:
            Nothing.

        N)r,   )rT   r,   s     r[   Ú
set_hiddenzFormat.set_hidden  rq   r\   c                 óþ  — |j                  «       }|dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d	«       |d
k(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  rd| _        |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d«       |dk(  r| j                  d	«       |dk(  r| j                  d«       yy)z¨
        Set the Format cell alignment.

        Args:
            alignment: String representing alignment. No default.

        Returns:
            Nothing.
        rC   r   Úcentrer   ÚcenterrE   é   Úfillé   Újustifyé   Úcenter_acrossé   Úcentre_acrossÚdistributedé   Újustify_distributedrG   ÚvcentreÚvcenterr>   ÚvjustifyÚvdistributedN)ÚlowerÚset_text_h_alignrM   Úset_text_v_align)rT   Ú	alignments     r[   Ú	set_alignzFormat.set_align%  s‹  € ð —O‘OÓ%ˆ	ð ˜ÒØ×!Ñ! !Ô$Ø˜Ò Ø×!Ñ! !Ô$Ø˜Ò Ø×!Ñ! !Ô$Ø˜ÒØ×!Ñ! !Ô$Ø˜ÒØ×!Ñ! !Ô$Ø˜	Ò!Ø×!Ñ! !Ô$Ø˜Ò'Ø×!Ñ! !Ô$Ø˜Ò'Ø×!Ñ! !Ô$Ø˜Ò%Ø×!Ñ! !Ô$ØÐ-Ò-Ø×!Ñ! !Ô$àÐ-Ò-Ø !ˆDÔð ˜ÒØ×!Ñ! !Ô$Ø˜	Ò!Ø×!Ñ! !Ô$Ø˜	Ò!Ø×!Ñ! !Ô$Ø˜Ò Ø×!Ñ! !Ô$Ø˜
Ò"Ø×!Ñ! !Ô$Ø˜Ò&Ø×!Ñ! !Õ$ð 'r\   c                 ó&   — | j                  d«       y)z`
        Set the Format center_across property.

        Returns:
            Nothing.

        r�   N)r—   )rT   Ú
align_types     r[   Úset_center_acrosszFormat.set_center_acrossX  s   € ð 	×Ñ˜aÕ r\   c                 ó   — || _         y)z¦
        Set the Format text_wrap property.

        Args:
            text_wrap: Default is True, turns property on.

        Returns:
            Nothing.

        N)r/   )rT   r/   s     r[   Úset_text_wrapzFormat.set_text_wrapb  re   r\   c                 ó    — t        |«      }|dk(  r
d}|| _        yd|cxk  rdk  rn n|dk  r| dz   }|| _        yt        d«       y|| _        y)zœ
        Set the Format rotation property.

        Args:
            rotation: Rotation angle. No default.

        Returns:
            Nothing.

        i  éÿ   i¦ÿÿÿéZ   r   z3Rotation rotation outside range: -90 <= angle <= 90N)Úintr   r2   )rT   r2   s     r[   Úset_rotationzFormat.set_rotationo  sc   € ô �x“=ˆð �sŠ?ØˆHð !ˆ�ð �HÔ" Õ"Ø˜!Š|Ø$˜9 r™>�ð
 !ˆ�ô ÐFÔGØà ˆ�r\   c                 ó   — || _         y)z£
        Set the Format indent property.

        Args:
            indent: Default is 1, first indentation level.

        Returns:
            Nothing.

        N)rI   )rT   rI   s     r[   Ú
set_indentzFormat.set_indentˆ  rq   r\   c                 ó   — || _         y)z 
        Set the Format shrink property.

        Args:
            shrink: Default is True, turns property on.

        Returns:
            Nothing.

        N)rJ   )rT   rJ   s     r[   Ú
set_shrinkzFormat.set_shrink•  rq   r\   c                 ó   — || _         y)z®
        Set the Format text_justlast property.

        Args:
            text_justlast: Default is True, turns property on.

        Returns:
            Nothing.

        N)r1   )rT   r1   s     r[   Úset_text_justlastzFormat.set_text_justlast¢  s   € ð +ˆÕr\   c                 ó   — || _         y)z˜
        Set the Format pattern property.

        Args:
            pattern: Default is 1, solid fill.

        Returns:
            Nothing.

        N)r5   )rT   r5   s     r[   Úset_patternzFormat.set_pattern¯  s   € ð ˆ�r\   c                 ó0   — | j                  |«      | _        y)zž
        Set the Format bg_color property.

        Args:
            bg_color: Background color. No default.

        Returns:
            Nothing.

        N)rh   r4   )rT   r4   s     r[   Úset_bg_colorzFormat.set_bg_color¼  ó   € ð Ÿ™¨Ó1ˆ�r\   c                 ó0   — | j                  |«      | _        y)zž
        Set the Format fg_color property.

        Args:
            fg_color: Foreground color. No default.

        Returns:
            Nothing.

        N)rh   r3   )rT   r3   s     r[   Úset_fg_colorzFormat.set_fg_colorÉ  r¯   r\   c                 óŒ   — | j                  |«       | j                  |«       | j                  |«       | j                  |«       y©z™
        Set the Format bottom property.

        Args:
            bottom: Default is 1, border type 1.

        Returns:
            Nothing.

        N)Ú
set_bottomÚset_topÚset_leftÚ	set_right)rT   Ústyles     r[   Ú
set_borderzFormat.set_border×  s4   € ð 	�‰˜ÔØ�‰�UÔØ�‰�eÔØ�‰�uÕr\   c                 óŒ   — | j                  |«       | j                  |«       | j                  |«       | j                  |«       y)z•
        Set the Format bottom property.

        Args:
            color: Color string. No default.

        Returns:
            Nothing.

        N)Úset_bottom_colorÚset_top_colorÚset_left_colorÚset_right_color)rT   Úcolors     r[   Úset_border_colorzFormat.set_border_colorè  s<   € ð 	×Ñ˜eÔ$Ø×Ñ˜5Ô!Ø×Ñ˜EÔ"Ø×Ñ˜UÕ#r\   c                 ó   — || _         yr³   )r>   )rT   r>   s     r[   r´   zFormat.set_bottomø  rq   r\   c                 ó0   — | j                  |«      | _        y)z¢
        Set the Format bottom_color property.

        Args:
            bottom_color: Color string. No default.

        Returns:
            Nothing.

        N)rh   r?   )rT   r?   s     r[   r»   zFormat.set_bottom_color  s   € ð !ŸO™O¨LÓ9ˆÕr\   c                 ó   — || _         y)zŸ
        Set the Format diag_type property.

        Args:
            diag_type: Default is 1, border type 1.

        Returns:
            Nothing.

        N)rB   )rT   rB   s     r[   Úset_diag_typezFormat.set_diag_type  re   r\   c                 ó   — || _         y)z•
        Set the Format left property.

        Args:
            left: Default is 1, border type 1.

        Returns:
            Nothing.

        N)rC   )rT   rC   s     r[   r¶   zFormat.set_left  rn   r\   c                 ó0   — | j                  |«      | _        y)zž
        Set the Format left_color property.

        Args:
            left_color: Color string. No default.

        Returns:
            Nothing.

        N)rh   rD   )rT   rD   s     r[   r½   zFormat.set_left_color,  rk   r\   c                 ó   — || _         y)z—
        Set the Format right property.

        Args:
            right: Default is 1, border type 1.

        Returns:
            Nothing.

        N)rE   )rT   rE   s     r[   r·   zFormat.set_right9  s   € ð ˆ�
r\   c                 ó0   — | j                  |«      | _        y)z 
        Set the Format right_color property.

        Args:
            right_color: Color string. No default.

        Returns:
            Nothing.

        N)rh   rF   )rT   rF   s     r[   r¾   zFormat.set_right_colorF  s   € ð  Ÿ?™?¨;Ó7ˆÕr\   c                 ó   — || _         y)z“
        Set the Format top property.

        Args:
            top: Default is 1, border type 1.

        Returns:
            Nothing.

        N)rG   )rT   rG   s     r[   rµ   zFormat.set_topS  s   € ð ˆ�r\   c                 ó0   — | j                  |«      | _        y)zœ
        Set the Format top_color property.

        Args:
            top_color: Color string. No default.

        Returns:
            Nothing.

        N)rh   rH   )rT   rH   s     r[   r¼   zFormat.set_top_color`  s   € ð Ÿ™¨Ó3ˆ�r\   c                 ó0   — | j                  |«      | _        y)zž
        Set the Format diag_color property.

        Args:
            diag_color: Color string. No default.

        Returns:
            Nothing.

        N)rh   rA   )rT   rA   s     r[   Úset_diag_colorzFormat.set_diag_colorm  rk   r\   c                 ó   — || _         y)z£
        Set the Format diag_border property.

        Args:
            diag_border: Default is 1, border type 1.

        Returns:
            Nothing.

        N)r@   )rT   r@   s     r[   Úset_diag_borderzFormat.set_diag_borderz  rx   r\   c                 ó   — || _         y)z¬
        Set the Format quote prefix property.

        Args:
            quote_prefix: Default is True, turns property on.

        Returns:
            Nothing.

        N)rP   )rT   rP   s     r[   Úset_quote_prefixzFormat.set_quote_prefix‡  r{   r\   c                 ó   — || _         y ©N)r   )rT   r   s     r[   Úset_has_fontzFormat.set_has_font›  ó	   € à ˆ�r\   c                 ó   — || _         y rÒ   )r6   )rT   r6   s     r[   Úset_has_fillzFormat.set_has_fillŸ  rÔ   r\   c                 ó   — || _         y rÒ   )r   )rT   r   s     r[   Úset_font_indexzFormat.set_font_index£  s	   € à$ˆ�r\   c                 ó   — || _         y rÒ   )r   )rT   r   s     r[   Úset_xf_indexzFormat.set_xf_index§  rÔ   r\   c                 ó   — || _         y rÒ   )r   )rT   r   s     r[   Úset_dxf_indexzFormat.set_dxf_index«  ó	   € à"ˆ�r\   c                 ó   — || _         y rÒ   )r   )rT   r   s     r[   Úset_num_format_indexzFormat.set_num_format_index¯  s
   € à 0ˆÕr\   c                 ó   — || _         y rÒ   )r.   )rT   r.   s     r[   r—   zFormat.set_text_h_align³  ó
   € à(ˆÕr\   c                 ó   — || _         y rÒ   )r0   )rT   r0   s     r[   r˜   zFormat.set_text_v_align·  rá   r\   c                 ó   — || _         y rÒ   )rL   )rT   Ú	directions     r[   Úset_reading_orderzFormat.set_reading_order»  s
   € à&ˆÕr\   c                 ó&   — | j                  |«       y rÒ   )rš   )rT   Úaligns     r[   Ú
set_valignzFormat.set_valign¿  s   € ð 	�‰�uÕr\   c                 ó   — || _         y rÒ   )r$   )rT   r$   s     r[   Úset_font_familyzFormat.set_font_familyÅ  ó
   € à&ˆÕr\   c                 ó   — || _         y rÒ   )r%   )rT   r%   s     r[   Úset_font_charsetzFormat.set_font_charsetÉ  rá   r\   c                 ó   — || _         y rÒ   )r&   )rT   r&   s     r[   Úset_font_schemezFormat.set_font_schemeÍ  rë   r\   c                 ó   — || _         y rÒ   )r'   )rT   r'   s     r[   Úset_font_condensezFormat.set_font_condenseÑ  s
   € à*ˆÕr\   c                 ó   — || _         y rÒ   )r(   )rT   r(   s     r[   Úset_font_extendzFormat.set_font_extendÕ  rë   r\   c                 ó   — || _         y rÒ   )r)   )rT   r)   s     r[   Ú	set_themezFormat.set_themeÙ  s	   € àˆ�
r\   c                 ód   — d| _         | j                  d«       | j                  d«       || _        y )Nr   é
   )r+   rs   rõ   r*   )rT   r*   s     r[   Úset_hyperlinkzFormat.set_hyperlinkÝ  s,   € ð ˆŒ
Ø×Ñ˜1ÔØ�‰�rÔØ"ˆ�r\   c                 ó   — || _         y rÒ   )rN   )rT   Úcolor_indexs     r[   Úset_color_indexedzFormat.set_color_indexedå  s
   € à(ˆÕr\   c                 ó   — || _         y rÒ   )rO   )rT   rO   s     r[   Úset_font_onlyzFormat.set_font_onlyé  rÝ   r\   c                 ó   — || _         y rÒ   r^   r_   s     r[   Úset_fontzFormat.set_fontî  rÝ   r\   c                 ó   — || _         y rÒ   rb   rc   s     r[   Úset_sizezFormat.set_sizeò  rÝ   r\   c                 ó0   — | j                  |«      | _        y rÒ   rg   ri   s     r[   Ú	set_colorzFormat.set_colorö  s   € àŸ/™/¨*Ó5ˆ�r\   c                 ó8  — d}g }| j                   sH| j                  s<| j                  s0| j                  s$| j                  s| j
                  s| j                  rd}n||fS | j                  ra| j                   dk7  rR| j                   dk7  rC| j                   dk7  r4| j                  dk7  r%| j                  dk7  r| j                  dk7  rd| _         | j                  rd| _        | j                   dk(  rd| _        | j                   dk(  rd| _        | j                   dk(  rd| _        | j                   dk7  rd| _        | j                  rd| _        d}| j                   dk(  r|j                  d«       | j                   d	k(  r|j                  d
«       | j                   dk(  r|j                  d«       | j                   dk(  r|j                  d«       | j                   dk(  r|j                  d«       | j                   dk(  r|j                  d|f«       | j                   dk(  r|j                  d«       | j                  r|j                  d«       | j                  dk(  r|j                  d«       | j                  d	k(  r|j                  d«       | j                  dk(  r|j                  d«       | j                  dk(  r|j                  d«       | j                  r|j                  d| j                  f«       | j                  r|j                  d| j                  f«       | j                  r|j                  d«       | j
                  r|j                  d«       | j                  dk(  r|j                  d«       | j                  d	k(  r|j                  d«       ||fS )Nr   r   r‡   r�   r‹   r‰   ÚcenterContinuous)Ú
horizontalrC   r   )r  r†   )r  rE   )r  rˆ   )r  rŠ   r�   r  )r  r�   )ÚjustifyLastLiner   )ÚverticalrG   )r  r†   )r  rŠ   )r  r�   ÚtextRotationrI   )ÚwrapTextr   )ÚshrinkToFitr   )ÚreadingOrderr   )r  r   )	r.   r0   rI   r2   r/   rJ   rL   rM   Úappend)rT   Úchangedrç   Ú
continuouss       r[   Ú_get_align_propertieszFormat._get_align_properties   s  € àˆØˆð ×ÒØ× Ò Ø�{Š{Ø�}Š}Ø�~Š~Ø�{Š{Ø×!Ò!à‰Gà˜E�>Ð!ð �KŠKØ×!Ñ! QÒ&Ø×!Ñ! QÒ&Ø×!Ñ! QÒ&Ø×!Ñ! QÒ&Ø×!Ñ! QÒ&Ø×!Ñ! QÒ&à !ˆDÔð �>Š>ØˆDŒKØ×Ñ Ò!ØˆDŒKØ×Ñ Ò!ØˆDŒKØ×Ñ Ò!ØˆDŒKØ×Ñ Ò!Ø !ˆDÔØ�;Š;Ø !ˆDÔà'ˆ
à×Ñ Ò!Ø�L‰LÐ/Ô0Ø×Ñ Ò!Ø�L‰LÐ1Ô2Ø×Ñ Ò!Ø�L‰LÐ0Ô1Ø×Ñ Ò!Ø�L‰LÐ/Ô0Ø×Ñ Ò!Ø�L‰LÐ2Ô3Ø×Ñ Ò!Ø�L‰L˜,¨
Ð3Ô4Ø×Ñ Ò!Ø�L‰LÐ6Ô7à×ÒØ�L‰LÐ/Ô0ð ×Ñ Ò!Ø�L‰LÐ,Ô-Ø×Ñ Ò!Ø�L‰LÐ/Ô0Ø×Ñ Ò!Ø�L‰LÐ0Ô1Ø×Ñ Ò!Ø�L‰LÐ4Ô5à�=Š=Ø�L‰L˜.¨$¯-©-Ð8Ô9Ø�;Š;Ø�L‰L˜( D§K¡KÐ0Ô1à�>Š>Ø�L‰L˜Ô)Ø�;Š;Ø�L‰LÐ+Ô,à×Ñ Ò"Ø�L‰LÐ,Ô-Ø×Ñ Ò"Ø�L‰LÐ,Ô-à˜ˆ~Ðr\   c                 ó~   — g }| j                   s|j                  d«       | j                  r|j                  d«       |S )N)r-   r   )r,   r   )r-   r  r,   )rT   Úattribss     r[   Ú_get_protection_propertiesz!Format._get_protection_properties_  s2   € àˆà�{Š{Ø�N‰N˜=Ô)Ø�;Š;Ø�N‰N˜=Ô)àˆr\   c                 ó<  — | j                   €…dj                  d„ | j                  «       | j                  «       | j	                  «       | j                  «       | j                  | j                  | j                  | j                  fD «       «      | _         | j                   S )Nú:c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrÒ   ©Ústr©Ú.0Úxs     r[   ú	<genexpr>z)Format._get_format_key.<locals>.<genexpr>m  s   è ø€ ò (àô �A—ñ(ùó   ‚)
rS   ÚjoinÚ_get_font_keyÚ_get_border_keyÚ_get_fill_keyÚ_get_alignment_keyr   r-   rP   r,   )rT   s    r[   Ú_get_format_keyzFormat._get_format_keyj  sŒ   € à×ÑÐ#Ø"Ÿx™xñ (ð ×&Ñ&Ó(Ø×(Ñ(Ó*Ø×&Ñ&Ó(Ø×+Ñ+Ó-Ø—O‘OØ—K‘KØ×%Ñ%Ø—K‘Kð	ô(ó  ˆDÔð ×ÑÐr\   c                 óT  — dj                  d„ | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  fD «       «      }|S )Nr  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrÒ   r  r  s     r[   r  z'Format._get_font_key.<locals>.<genexpr>  s   è ø€ ò 
àô ��Fñ
ùr  )r  r   r   r%   r$   r!   r#   r"   r    r   r   r   r   r)   ©rT   rX   s     r[   r  zFormat._get_font_key}  s�   € à�h‰hñ 
ð —	‘	Ø—‘Ø×!Ñ!Ø× Ñ Ø×!Ñ!Ø× Ñ Ø× Ñ Ø×#Ñ#Ø—‘Ø—‘Ø—‘Ø—‘Ø—
‘
ðô
ó 
ˆð& ˆ
r\   c                 ó(  — dj                  d„ | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  fD «       «      }|S )Nr  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrÒ   r  r  s     r[   r  z)Format._get_border_key.<locals>.<genexpr>–  s   è ø€ ò 
àô ��Fñ
ùr  )r  r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   r&  s     r[   r   zFormat._get_border_key”  s{   € à�h‰hñ 
ð —‘Ø×!Ñ!Ø× Ñ Ø—‘Ø—‘Ø—	‘	Ø—‘Ø—
‘
Ø× Ñ Ø—‘Ø—‘ðô
ó 
ˆð" ˆ
r\   c                 óx   — dj                  d„ | j                  | j                  | j                  fD «       «      }|S )Nr  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrÒ   r  r  s     r[   r  z'Format._get_fill_key.<locals>.<genexpr>«  s   è ø€ ÒT !”s˜1—vÑTùr  )r  r5   r4   r3   r&  s     r[   r!  zFormat._get_fill_key©  s.   € à�h‰hÑT¨¯©°d·m±mÀTÇ]Á]Ð'SÔTÓTˆàˆ
r\   c           
      óÐ   — dj                  d„ | j                  | j                  | j                  | j                  | j
                  | j                  | j                  fD «       «      }|S )Nr  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrÒ   r  r  s     r[   r  z,Format._get_alignment_key.<locals>.<genexpr>²  s   è ø€ ò 
àô ��Fñ
ùr  )r  r.   r0   rI   r2   r/   rJ   rL   r&  s     r[   r"  zFormat._get_alignment_key¯  sa   € ð �h‰hñ 
ð ×!Ñ!Ø×!Ñ!Ø—‘Ø—‘Ø—‘Ø—‘Ø×"Ñ"ðô
ó 
ˆð ˆ
r\   c                 óì   — | j                   �| j                   S | j                  «       }|| j                  v r| j                  |   S dt        | j                  «      z   }|| j                  |<   || _         |S )Nr   )r   r#  r   Úlen©rT   rX   Úindexs      r[   Ú_get_xf_indexzFormat._get_xf_indexÁ  sx   € à�=‰=Ð$à—=‘=Ð ð ×&Ñ&Ó(ˆCà�d×,Ñ,Ñ,à×-Ñ-¨cÑ2Ð2ð œC × 6Ñ 6Ó7Ñ7�Ø.3�×&Ñ& sÑ+Ø %�”Ø�r\   c                 óæ   — | j                   �| j                   S | j                  «       }|| j                  v r| j                  |   S t        | j                  «      }|| j                  |<   || _         |S rÒ   )r   r#  r   r.  r/  s      r[   Ú_get_dxf_indexzFormat._get_dxf_indexÕ  ss   € à�>‰>Ð%à—>‘>Ð!ð ×&Ñ&Ó(ˆCà�d×-Ñ-Ñ-à×.Ñ.¨sÑ3Ð3ô ˜D×3Ñ3Ó4�Ø/4�×'Ñ'¨Ñ,Ø!&�”Ø�r\   c                 ó‚   — i dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“}||v r||   }|S )"NÚblackz#000000Úbluez#0000FFÚbrownz#800000Úcyanz#00FFFFÚgrayz#808080Úgreenz#008000Úlimez#00FF00Úmagentaz#FF00FFÚnavyz#000080Úorangez#FF6600ÚpinkÚpurplez#800080Úredz#FF0000Úsilverz#C0C0C0Úwhitez#FFFFFFÚyellowz#FFFF00Ú	automaticÚ	Automatic© )rT   r¿   Únamed_colorss      r[   rh   zFormat._get_colorè  sê   € ð
Ø�Yð
à�Ið
ð �Yð
ð �Ið	
ð
 �Ið
ð �Yð
ð �Ið
ð �yð
ð �Ið
ð �ið
ð �Ið
ð �ið
ð �9ð
ð �ið
ð �Yð
ð  �ið!
ð" ˜ð#
ˆð( �LÑ Ø  Ñ'ˆEàˆr\   )NNN)r   )T)r   rÒ   )r   )KÚ__name__Ú
__module__Ú__qualname__Ú__doc__r   r`   rd   rj   rm   rp   rs   ru   rw   rz   r}   r   r�   rƒ   rš   r�   rŸ   r¤   r¦   r¨   rª   r¬   r®   r±   r¹   rÀ   r´   r»   rÄ   r¶   r½   r·   r¾   rµ   r¼   rÌ   rÎ   rÐ   rÓ   rÖ   rØ   rÚ   rÜ   rß   r—   r˜   rå   rè   rê   rí   rï   rñ   ró   rõ   rø   rû   rý   rÿ   r  r  r  r  r#  r  r   r!  r"  r1  r3  rh   Ú__classcell__)rZ   s   @r[   r   r      sk  ø„ ñõX ò@#ó#ò6óóó#ó-ó'ó)ó'ò%óóò1%óf!ó#ò!ó2óó+óò2ò2óò"$ó ò:ó#óò6óò8óò4ò6ó'ó)ó(!ó!ò%ò!ò#ò1ò)ò)ó'òò'ò)ò'ò+ò'òó#ò)ó#ò
#ò#ò6ò]ò~	ò ò&ò.ò*òò$ò(ö&r\   r   N)Ú r   Úwarningsr   Ú	XMLwriterr   rG  r\   r[   ú<module>rQ     s!   ðõ Ý ôuˆY× Ñ õ ur\   