
    hi                       d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZmZmZ ddlmZmZmZmZmZmZmZ  G d d	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z dS )z?lxml custom element classes for DrawingML-related XML elements.    )annotations)MSO_PATTERN_TYPE)	parse_xml)nsdecls)ST_PercentageST_PositiveFixedAngleST_PositiveFixedPercentageST_RelationshipId)BaseOxmlElementChoice	OneOrMoreOptionalAttributeRequiredAttribute	ZeroOrOneZeroOrOneChoicec                  *    e Zd ZdZ ede          ZdS )CT_Blipz
    <a:blip> element
    zr:embedN)__name__
__module____qualname____doc__r   r
   rEmbed     j/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/pptx/oxml/dml/fill.pyr   r      s-          y*;<<FFFr   r   c                  r    e Zd ZdZdZ ededd                   Z ededd                   Z[d	 ZdS )
CT_BlipFillPropertiesz8
    Custom element class for <a:blipFill> element.
    )a:blip	a:srcRectza:tilez	a:stretchr      N
successorsr      c                d    |                                  }|\  |_        |_        |_        |_        dS )zO
        Set `a:srcRect` child to crop according to *cropping* values.
        N)_add_srcRectltrb)selfcroppingsrcRects      r   cropzCT_BlipFillProperties.crop+   s/     ##%%5=2	79gir   )	r   r   r   r   _tag_seqr   blipr,   r-   r   r   r   r   r   !   so          >H9X(122,777Di===G> > > > >r   r   c                      e Zd ZdZdZ ededd                   Z ededd                   Z ed	ed
d                   Z[e	d             Z
d ZdS )CT_GradientFillPropertiesz"`a:gradFill` custom element class.)a:gsLsta:lina:pathz
a:tileRectr2   r    Nr!   r3   r#   r4      c                @    t          dt          d          z            S )z6Return newly-created "loose" default gradient subtree.a  <a:gradFill %s rotWithShape="1">
  <a:gsLst>
    <a:gs pos="0">
      <a:schemeClr val="accent1">
        <a:tint val="100000"/>
        <a:shade val="100000"/>
        <a:satMod val="130000"/>
      </a:schemeClr>
    </a:gs>
    <a:gs pos="100000">
      <a:schemeClr val="accent1">
        <a:tint val="50000"/>
        <a:shade val="100000"/>
        <a:satMod val="350000"/>
      </a:schemeClr>
    </a:gs>
  </a:gsLst>
  <a:lin scaled="0"/>
</a:gradFill>
ar   r   clss    r   new_gradFillz&CT_GradientFillProperties.new_gradFill<   s+     $ !(%-
 
 	
r   c                4    t                                           S )(Override default to add minimum subtree.)CT_GradientStopList	new_gsLst)r*   s    r   
_new_gsLstz$CT_GradientFillProperties._new_gsLstU   s    ",,...r   )r   r   r   r   r.   r   gsLstlinpathclassmethodr;   r@   r   r   r   r1   r1   3   s        ,,;HIiHQRRL999E
)G
5
5
5C9X(122,777D
 
 [
0/ / / / /r   r1   c            
          e Zd ZdZ e ed           ed           ed           ed           ed           ed          fd	          Z ed
e          Z	dS )CT_GradientStopz`a:gs` custom element class.
a:scrgbClr	a:srgbClra:hslClra:sysClra:schemeClr	a:prstClrr   r!   posN)
r   r   r   r   r   r   eg_colorChoicer   r	   rM   r   r   r   rF   rF   Z   s        &&$_F<  F;F:F:F=!!F;	
 
 
 
N 
E#=
>
>CCCr   rF   c                  >    e Zd ZdZ ed          Zed             ZdS )r>   z`a:gsLst` custom element class.za:gsc                @    t          dt          d          z            S )zReturn newly-created "loose" default stop-list subtree.

        An `a:gsLst` element must have at least two `a:gs` children. These
        are the default from the PowerPoint built-in "White" template.
        al  <a:gsLst %s>
  <a:gs pos="0">
    <a:schemeClr val="accent1">
      <a:tint val="100000"/>
      <a:shade val="100000"/>
      <a:satMod val="130000"/>
    </a:schemeClr>
  </a:gs>
  <a:gs pos="100000">
    <a:schemeClr val="accent1">
      <a:tint val="50000"/>
      <a:shade val="100000"/>
      <a:satMod val="350000"/>
    </a:schemeClr>
  </a:gs>
</a:gsLst>
r7   r8   r9   s    r   r?   zCT_GradientStopList.new_gsLstp   s+      %S\\*
 
 	
r   N)r   r   r   r   r   gsrD   r?   r   r   r   r>   r>   k   sB        ))	6		B
 
 [
 
 
r   r>   c                      e Zd ZdZdS )CT_GroupFillPropertiesz `a:grpFill` custom element classNr   r   r   r   r   r   r   rS   rS      s        ****r   rS   c                  *    e Zd ZdZ ede          ZdS )CT_LinearShadePropertiesz`a:lin` custom element classangN)r   r   r   r   r   r   rW   r   r   r   rV   rV      s'        &&

E#8
9
9CCCr   rV   c                      e Zd ZdZdS )CT_NoFillPropertiesz`a:noFill` custom element classNrT   r   r   r   rY   rY      s        ))))r   rY   c                      e Zd ZdZdZ ededd                   Z ededd                   Z[ ed	e	          Z
d
 Zd ZdS )CT_PatternFillPropertiesz!`a:pattFill` custom element class)a:fgClra:bgClrr\   r    Nr!   r]   r#   prstc                H    dt          d          z  }t          |          }|S )r=   z3<a:bgClr %s>
 <a:srgbClr val="FFFFFF"/>
</a:bgClr>
r7   r   r   )r*   xmlbgClrs      r   
_new_bgClrz#CT_PatternFillProperties._new_bgClr   &    MQXY\Q]Q]]#r   c                H    dt          d          z  }t          |          }|S )r=   z3<a:fgClr %s>
 <a:srgbClr val="000000"/>
</a:fgClr>
r7   r`   )r*   ra   fgClrs      r   
_new_fgClrz#CT_PatternFillProperties._new_fgClr   rd   r   )r   r   r   r   r.   r   rf   rb   r   r   r^   rc   rg   r   r   r   r[   r[      s        ++%HIiHQRRL999EIiHQRRL999EV%566D      r   r[   c                      e Zd ZdZ eded          Z eded          Z eded          Z eded          Z	dS )	CT_RelativeRectz'`a:srcRect` element and perhaps others.r&   g        )defaultr'   r(   r)   N)
r   r   r   r   r   r   r&   r'   r(   r)   r   r   r   ri   ri      sp        11#}c:::A#}c:::A#}c:::A#}c:::AAAr   ri   c            
          e Zd ZdZ e ed           ed           ed           ed           ed           ed          fd	          Zd
S )CT_SolidColorFillPropertiesz#`a:solidFill` custom element class.rG   rH   rI   rJ   rK   rL   r   r!   N)r   r   r   r   r   r   rN   r   r   r   rl   rl      s        --$_F<  F;F:F:F=!!F;	
 
 
 
NNNr   rl   N)!r   
__future__r   pptx.enum.dmlr   	pptx.oxmlr   pptx.oxml.nsr   pptx.oxml.simpletypesr   r   r	   r
   pptx.oxml.xmlchemyr   r   r   r   r   r   r   r   r   r1   rF   r>   rS   rV   rY   r[   ri   rl   r   r   r   <module>rs      s   E E " " " " " " * * * * * *                                              = = = = =o = = => > > > >O > > >$$/ $/ $/ $/ $/ $/ $/ $/N? ? ? ? ?o ? ? ?"
 
 
 
 
/ 
 
 
@+ + + + +_ + + +: : : : : : : :* * * * */ * * *       ,; ; ; ; ;o ; ; ;    /     r   