
    ,hv                     F    d dl mZ ddlmZ  G d dej                        Zy)    )warn   )	xmlwriterc                       e Zd ZdZdI fd	Zd ZdJdZd ZdKdZdKdZ	dLdZ
dKd	ZdLd
ZdKdZdKdZd ZdKdZdKdZd ZdMdZdKdZd ZdLdZdKdZdKdZdLdZd Zd ZdLdZd ZdLdZd ZdLdZ dLdZ!d  Z"dLd!Z#d" Z$dLd#Z%d$ Z&d% Z'dLd&Z(dKd'Z)dKd(Z*dKd)Z+dKd*Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2dNd1Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:dKd9Z;d: Z<dKd;Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCdB ZDdC ZEdD ZFdE ZGdF ZHdG ZIdH ZJ xZKS )OFormatz;
    A class for writing the Excel XLSX Format file.


    c                     |i }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| _/        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   FCalibri      minorr   set_)Fsuper__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checkboxitemsgetattr_format_key)self
properties
xf_indicesdxf_indiceskeyvalue	__class__s         S/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/xlsxwriter/format.pyr   zFormat.__init__   s;   
 J!+"-# !!	""

!#	
! %**, 	/JC'GD&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   rU   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   rU   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   rU   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   )rU   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   )rU   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   )rU   r   s     r\   set_underlinezFormat.set_underline   rf   r]   c                     || _         y)z
        Set the Format font_strikeout property.

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

        Returns:
            Nothing.

        N)r    )rU   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#   )rU   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!   )rU   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"   )rU   r"   s     r\   set_font_shadowzFormat.set_font_shadow   ry   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   )rU   r   s     r\   set_num_formatzFormat.set_num_format       %r]   c                     || _         y)z
        Set the Format locked property.

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

        Returns:
            Nothing.

        N)r-   )rU   r-   s     r\   
set_lockedzFormat.set_locked  rr   r]   c                     || _         y)z
        Set the Format hidden property.

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

        Returns:
            Nothing.

        N)r,   )rU   r,   s     r\   
set_hiddenzFormat.set_hidden  rr   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)rU   	alignments     r\   	set_alignzFormat.set_align(  s    OO%	 !!!$ !!!$ !!!$!!!$!!!$	!!!!$'!!!$'!!!$%!!!$--!!!$-- !D !!!$	!!!!$	!!!!$ !!!$
"!!!$&!!!$ 'r]   c                 &    | j                  d       y)z`
        Set the Format center_across property.

        Returns:
            Nothing.

        r   N)r   )rU   
align_types     r\   set_center_acrosszFormat.set_center_across[  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/   )rU   r/   s     r\   set_text_wrapzFormat.set_text_wrapf  rf   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     iZ   r   z3Rotation rotation outside range: -90 <= angle <= 90N)intr   r2   )rU   r2   s     r\   set_rotationzFormat.set_rotations  sc     x= s?H ! H""!|$9r>
 ! FG r]   c                     || _         y)z
        Set the Format indent property.

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

        Returns:
            Nothing.

        N)rI   )rU   rI   s     r\   
set_indentzFormat.set_indent  rr   r]   c                     || _         y)z
        Set the Format shrink property.

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

        Returns:
            Nothing.

        N)rJ   )rU   rJ   s     r\   
set_shrinkzFormat.set_shrink  rr   r]   c                     || _         y)z
        Set the Format text_justlast property.

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

        Returns:
            Nothing.

        N)r1   )rU   r1   s     r\   set_text_justlastzFormat.set_text_justlast       +r]   c                     || _         y)z
        Set the Format pattern property.

        Args:
            pattern: Default is 1, solid fill.

        Returns:
            Nothing.

        N)r5   )rU   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)ri   r4   )rU   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)ri   r3   )rU   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)rU   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)rU   colors     r\   set_border_colorzFormat.set_border_color  s<     	e$5!E"U#r]   c                     || _         yr   )r>   )rU   r>   s     r\   r   zFormat.set_bottom  rr   r]   c                 0    | j                  |      | _        y)z
        Set the Format bottom_color property.

        Args:
            bottom_color: Color string. No default.

        Returns:
            Nothing.

        N)ri   r?   )rU   r?   s     r\   r   zFormat.set_bottom_color	  s     !OOL9r]   c                     || _         y)z
        Set the Format diag_type property.

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

        Returns:
            Nothing.

        N)rB   )rU   rB   s     r\   set_diag_typezFormat.set_diag_type  rf   r]   c                     || _         y)z
        Set the Format left property.

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

        Returns:
            Nothing.

        N)rC   )rU   rC   s     r\   r   zFormat.set_left#  ro   r]   c                 0    | j                  |      | _        y)z
        Set the Format left_color property.

        Args:
            left_color: Color string. No default.

        Returns:
            Nothing.

        N)ri   rD   )rU   rD   s     r\   r   zFormat.set_left_color0  rl   r]   c                     || _         y)z
        Set the Format right property.

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

        Returns:
            Nothing.

        N)rE   )rU   rE   s     r\   r   zFormat.set_right=       
r]   c                 0    | j                  |      | _        y)z
        Set the Format right_color property.

        Args:
            right_color: Color string. No default.

        Returns:
            Nothing.

        N)ri   rF   )rU   rF   s     r\   r   zFormat.set_right_colorJ  s      ??;7r]   c                     || _         y)z
        Set the Format top property.

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

        Returns:
            Nothing.

        N)rG   )rU   rG   s     r\   r   zFormat.set_topW  s     r]   c                 0    | j                  |      | _        y)z
        Set the Format top_color property.

        Args:
            top_color: Color string. No default.

        Returns:
            Nothing.

        N)ri   rH   )rU   rH   s     r\   r   zFormat.set_top_colord  s     3r]   c                 0    | j                  |      | _        y)z
        Set the Format diag_color property.

        Args:
            diag_color: Color string. No default.

        Returns:
            Nothing.

        N)ri   rA   )rU   rA   s     r\   set_diag_colorzFormat.set_diag_colorq  rl   r]   c                     || _         y)z
        Set the Format diag_border property.

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

        Returns:
            Nothing.

        N)r@   )rU   r@   s     r\   set_diag_borderzFormat.set_diag_border~  ry   r]   c                     || _         y)z
        Set the Format quote prefix property.

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

        Returns:
            Nothing.

        N)rP   )rU   rP   s     r\   set_quote_prefixzFormat.set_quote_prefix  r|   r]   c                     || _         y)a  
        Set the Format property to show a checkbox in a cell.

        This format property can be used with a cell that contains a boolean
        value to display it as a checkbox. This property isn't required very
        often and it is generally easier to create a checkbox using the
        ``worksheet.insert_checkbox()`` method.

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

        Returns:
            Nothing.

        N)rQ   )rU   rQ   s     r\   set_checkboxzFormat.set_checkbox  s      !r]   c                     || _         y)z
        Set the property to indicate the format has a font.

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

        Returns:
            Nothing.

        N)r   )rU   r   s     r\   set_has_fontzFormat.set_has_font       !r]   c                     || _         y)z
        Set the property to indicate the format has a fill.

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

        Returns:
            Nothing.

        N)r6   )rU   r6   s     r\   set_has_fillzFormat.set_has_fill  r   r]   c                     || _         y)z
        Set the unique font index property.

        Args:
            font_index: The unique font index.

        Returns:
            Nothing.

        N)r   )rU   r   s     r\   set_font_indexzFormat.set_font_index  r   r]   c                     || _         y)z
        Set the unique format index property.

        Args:
            xf_index: The unique Excel format index.

        Returns:
            Nothing.

        N)r   )rU   r   s     r\   set_xf_indexzFormat.set_xf_index  r   r]   c                     || _         y)z
        Set the unique conditional format index property.

        Args:
            dxf_index: The unique Excel conditional format index.

        Returns:
            Nothing.

        N)r   )rU   r   s     r\   set_dxf_indexzFormat.set_dxf_index  rf   r]   c                     || _         y)z
        Set the number format_index property.

        Args:
            num_format_index: The unique number format index.

        Returns:
            Nothing.

        N)r   )rU   r   s     r\   set_num_format_indexzFormat.set_num_format_index  s     !1r]   c                     || _         y)z
        Set the horizontal text alignment property.

        Args:
            text_h_align: Horizontal text alignment.

        Returns:
            Nothing.

        N)r.   )rU   r.   s     r\   r   zFormat.set_text_h_align  r|   r]   c                     || _         y)z
        Set the vertical text alignment property.

        Args:
            text_h_align: Vertical text alignment.

        Returns:
            Nothing.

        N)r0   )rU   r0   s     r\   r   zFormat.set_text_v_align  r|   r]   c                     || _         y)z
        Set the reading order property.

        Args:
            direction: Default is 0, left to right.

        Returns:
            Nothing.

        N)rL   )rU   	directions     r\   set_reading_orderzFormat.set_reading_order  s     'r]   c                 &    | j                  |       y)a  
        Set vertical cell alignment property.

        This is required by the constructor properties dict to differentiate
        between the vertical and horizontal properties.

        Args:
            align: Alignment property.

        Returns:
            Nothing.

        N)r   )rU   aligns     r\   
set_valignzFormat.set_valign'  s    " 	ur]   c                     || _         y)z
        Set the font family property.

        Args:
            font_family: Font family number.

        Returns:
            Nothing.

        N)r$   )rU   r$   s     r\   set_font_familyzFormat.set_font_family:  ry   r]   c                     || _         y)z
        Set the font character set property.

        Args:
            font_charset: The font character set number.

        Returns:
            Nothing.

        N)r%   )rU   r%   s     r\   set_font_charsetzFormat.set_font_charsetG  r|   r]   c                     || _         y)z
        Set the font scheme property.

        Args:
            font_scheme: The font scheme.

        Returns:
            Nothing.

        N)r&   )rU   r&   s     r\   set_font_schemezFormat.set_font_schemeT  ry   r]   c                     || _         y)z
        Set the font condense property.

        Args:
            font_condense: The font condense property.

        Returns:
            Nothing.

        N)r'   )rU   r'   s     r\   set_font_condensezFormat.set_font_condensea  r   r]   c                     || _         y)z
        Set the font extend property.

        Args:
            font_extend: The font extend property.

        Returns:
            Nothing.

        N)r(   )rU   r(   s     r\   set_font_extendzFormat.set_font_extendn  ry   r]   c                     || _         y)z
        Set the theme property.

        Args:
            theme: Format theme.

        Returns:
            Nothing.

        N)r)   )rU   r)   s     r\   	set_themezFormat.set_theme{  r   r]   c                 d    d| _         | j                  d       | j                  d       || _        y)z
        Set the properties for the hyperlink style.

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

        Returns:
            Nothing.

        r   
   N)r+   rt   r   r*   )rU   r*   s     r\   set_hyperlinkzFormat.set_hyperlink  s,     
1r"r]   c                     || _         y)z
        Set the color index property. Some fundamental format properties use an
        indexed color instead of a rbg or theme color.

        Args:
            color_index: Generally 0 or 1.

        Returns:
            Nothing.

        N)rN   )rU   color_indexs     r\   set_color_indexedzFormat.set_color_indexed  s     )r]   c                     || _         y)z
        Set property to indicate that the format is used for fonts only.

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

        Returns:
            Nothing.

        N)rO   )rU   rO   s     r\   set_font_onlyzFormat.set_font_only  rf   r]   c                     || _         y)z(Deprecated: Use set_font_name() instead.Nr_   r`   s     r\   set_fontzFormat.set_font  	    "r]   c                     || _         y)z(Deprecated: Use set_font_size() instead.Nrc   rd   s     r\   set_sizezFormat.set_size  r  r]   c                 0    | j                  |      | _        y)z)Deprecated: Use set_font_color() instead.Nrh   rj   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)rU   changedr   
continuouss       r\   _get_align_propertieszFormat._get_align_properties  s       {{}}~~{{!!GE>! KK!!Q&!!Q&!!Q&!!Q&!!Q&!!Q& !D >>DK!DK!DK!DK! !D;; !D'
!LL/0!LL12!LL01!LL/0!LL23!LL,
34!LL67LL/0 !LL,-!LL/0!LL01!LL45==LL.$--89;;LL(DKK01>>LL);;LL+,"LL,-"LL,-~r]   c                 ~    g }| j                   s|j                  d       | j                  r|j                  d       |S )N)r-   r   )r,   r   )r-   r  r,   )rU   
attributess     r\   _get_protection_propertiesz!Format._get_protection_properties)  s7    
{{m,;;m,r]   c                 R   | j                   dj                  d | j                         | j                         | j	                         | j                         | j                  | j                  | j                  | j                  | j                  f	D              | _         | j                   S )N:c              3   2   K   | ]  }t        |        y wNstr.0xs     r\   	<genexpr>z)Format._get_format_key.<locals>.<genexpr>7  s      ( A(   )rT   join_get_font_key_get_border_key_get_fill_key_get_alignment_keyr   r-   rQ   rP   r,   )rU   s    r\   _get_format_keyzFormat._get_format_key4  s    #"xx ( &&(((*&&(++-OOKKMM%%KK
(  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>J  s      
 F
r!  )r"  r   r   r%   r$   r!   r#   r"   r    r   r   r   r   r)   rU   rY   s     r\   r#  zFormat._get_font_keyH  s    hh 
 		!!  !!    ##


 
& 
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>a  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{    hh 
 !!  		

  
 
" 
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>v  s     T!s1vTr!  )r"  r5   r4   r3   r*  s     r\   r%  zFormat._get_fill_keyt  s.    hhTdmmT]]'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_keyz  sa     hh 
 !!!!""
 
 
r]   c                     | j                   | j                   S | j                         }|| j                  v r| j                  |   S dt        | j                        z   }|| j                  |<   || _         |S )Nr   )r   r'  r   lenrU   rY   indexs      r\   _get_xf_indexzFormat._get_xf_index  sx    ==$==  ""$$((())#.. C..//&+s#r]   c                     | j                   | j                   S | j                         }|| j                  v r| j                  |   S t        | j                        }|| j                  |<   || _         |S r  )r   r'  r   r2  r3  s      r\   _get_dxf_indexzFormat._get_dxf_index  ss    >>%>>! ""$$)))**3// D++,',$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!}|j                  ||      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)get)rU   r   named_colorss      r\   ri   zFormat._get_color  s    
Y
I
 Y
 I	

 I
 Y
 I
 y
 I
 i
 I
 i
 9
 i
 Y
  i!
" #
( u--r]   )NNN)r   )T)r   r  )r   )L__name__
__module____qualname____doc__r   ra   re   rk   rn   rq   rt   rv   rx   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$  r%  r&  r5  r7  ri   __classcell__)r[   s   @r\   r   r      sp   Y B##6#-')'%1%f	!#!2+22"$ :#6846')!2!!%!#1))'&')'+'# )#"##6^@	 (.*$(&.r]   r   N)warningsr    r   	XMLwriterr    r]   r\   <module>rV     s!     {.Y   {.r]   