
    hi=                       d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
 erddlmZ  ej                    Z ej        dd	
          Ze                    e           ddZddZddZddlmZ  ede            ede           ddlmZmZmZmZmZmZmZmZm Z m!Z!m"Z"  ede            ede            ede            ede            ede            ede!            ede            ed e!            ed!e            ed"e            ed#e            ed$e             ed%e"           dd&l#m$Z$m%Z%m&Z&m'Z'm(Z(  ed'e$            ed(e%            ed)e&            ed*e'            ed+e(           dd,l)m*Z*m+Z+m,Z,  ed-e*            ed.e+            ed/e,           dd0l-m.Z.m/Z/  ed1e.            ed2e/           dd3l0m1Z1m2Z2m3Z3  ed4e1            ed5e2            ed6e3           dd7l4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB  ed8e5            ed9e6            ed:e7            ed;e8            ed<e9            ed=e:            ed>e;            ed?e<            ed@e=            edAe>            edBe?            edCe@            edDeA            edEeB           ddFlCmDZDmEZEmFZFmGZGmHZHmIZI  edGeG            edHeD            edIeE            edJeF            edKeI            edLeH            edMeG            edNeG            edOeG           ddPlJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZT  edQeL            edReK            edSeK            edTeT            edUeM            edVeK            edWeK            edXeT            edYeL            edZeN            ed[eP            ed\eM            ed]eM            ed^eQ            ed_eT            ed`eL            edaeT            edbeL            edceL            eddeL            edeeL            edfeL            edgeK            edheR            edieS            edjeK            edkeM            edleO           ddmlUmVZV  edneV           ddolWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_  edpeX            edqeX            edreY            edseZ            edteZ            edue[            edve\            edwe]            edxe^            edye_           ddzl`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZk  ed{ea            ed|eb            ed}ec            ed~ef            eded            edee            edeg            edeh            edei            edek            edej           ddllmmZm  edem           ddlnmoZompZpmqZqmrZrmsZsmtZt  edeo            edep            edeq            edes            eder            edet           ddlumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZ  edey            edew            edex            ede|            ede}            ede            ede{            ede~            ede            edev            edez            ede            ede           ddlmZmZmZmZ  ede            ede            ede            ede            ede           ddlmZmZmZmZmZ  ede            ede            ede            ede            ede           ddlmZmZmZ  ede            ede            ede            ede           ddlmZmZ  edeb            ede            ede           ddlmZmZmZmZmZmZmZmZ  ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede           ddlmZmZmZmZmZmZmZmZmZmZmZmZmZ  ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede           ddlmZmZmZmZmZmZmZ  ede            ede            ede            ede            ede            ede            ede           ddlmZmZmZmZmZmZmZmZmZmZmZmZmZ  ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede            ede           ddlmZ  edeæ           dS )zInitializes lxml parser, particularly the custom element classes.

Also makes available a handful of functions that wrap its typical uses.
    )annotationsN)TYPE_CHECKINGType)etree)NamespacePrefixedTag)BaseOxmlElementTF)remove_blank_textresolve_entitiestemplate_file_namestrc                6   t           j                            t                    d         }t           j                            |ddd| z            }t          |d          5 }|                                }ddd           n# 1 swxY w Y   t          |          S )zYReturn an element loaded from the XML in the template file identified by `template_name`.r   z..	templatesz%s.xmlrbN)ospathsplit__file__joinopenread	parse_xml)r   thisdirfilenamefxmls        j/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/pptx/oxml/__init__.pyparse_from_templater      s    gmmH%%a(Gw||GT;CU8UVVH	h		 ffhh              S>>s    BBBr   str | bytesc                6    t          j        | t                    S )zKReturn root lxml element obtained by parsing XML character string in `xml`.)r   
fromstringoxml_parser)r   s    r   r   r   "   s    C---    
nsptagnameclsType[BaseOxmlElement]c                v    t          |           }t                              |j                  }|||j        <   dS )zRegister `cls` to be constructed when oxml parser encounters element having `nsptag_name`.

    `nsptag_name` is a string of the form `nspfx:tagroot`, e.g. `"w:document"`.
    N)r   element_class_lookupget_namespacensuri
local_part)r#   r$   nsptag	namespaces       r   register_element_clsr-   '   s9    
 "*--F$226<@@I#&If   r"   )CT_Hyperlinkza:hlinkClickza:hlinkHover)CT_AxisUnitCT_CatAxCT_ChartLines
CT_Crosses	CT_DateAxCT_LblOffsetCT_Orientation
CT_ScalingCT_TickLblPosCT_TickMarkCT_ValAxzc:catAxz	c:crosseszc:dateAxzc:lblOffsetzc:majorGridlineszc:majorTickMarkzc:majorUnitzc:minorTickMarkzc:minorUnitzc:orientationz	c:scalingzc:tickLblPoszc:valAx)CT_ChartCT_ChartSpaceCT_ExternalDataCT_PlotAreaCT_Stylezc:chartzc:chartSpacezc:externalDataz
c:plotAreazc:style)CT_DLbl
CT_DLblPosCT_DLblszc:dLblz	c:dLblPoszc:dLbls)	CT_LegendCT_LegendPoszc:legendzc:legendPos)	CT_MarkerCT_MarkerSizeCT_MarkerStylezc:markerzc:sizezc:symbol)CT_Area3DChartCT_AreaChartCT_BarChart	CT_BarDirCT_BubbleChartCT_BubbleScaleCT_DoughnutChartCT_GapAmountCT_GroupingCT_LineChart
CT_OverlapCT_PieChartCT_RadarChartCT_ScatterChartzc:area3DChartzc:areaChartz
c:barChartzc:barDirzc:bubbleChartzc:bubbleScalezc:doughnutChartz
c:gapWidthz
c:groupingzc:lineChartz	c:overlapz
c:pieChartzc:radarChartzc:scatterChart)CT_AxDataSourceCT_DPtCT_LvlCT_NumDataSourceCT_SeriesCompositeCT_StrVal_NumVal_Compositezc:bubbleSizezc:catzc:dPtzc:lvlzc:ptzc:serzc:valzc:xValzc:yVal)

CT_BooleanCT_Boolean_Explicit	CT_Double	CT_LayoutCT_LayoutModeCT_ManualLayout	CT_NumFmtCT_TitleCT_TxCT_UnsignedIntzc:autoTitleDeletedzc:autoUpdatez
c:bubble3Dz	c:crossAxzc:crossesAtz
c:date1904zc:deletezc:idxzc:invertIfNegativezc:layoutzc:manualLayoutzc:maxzc:minzc:numFmtzc:orderz	c:overlayz	c:ptCountzc:showCatNamezc:showLegendKeyzc:showPercentzc:showSerNamez	c:showValzc:smoothzc:titlezc:txzc:varyColorszc:xzc:xMode)CT_CorePropertieszcp:coreProperties)CT_ColorCT_HslColorCT_PercentageCT_PresetColorCT_SchemeColorCT_ScRgbColorCT_SRgbColorCT_SystemColorza:bgClrza:fgClrza:hslClrza:lumModza:lumOffz	a:prstClrza:schemeClrz
a:scrgbClrz	a:srgbClrza:sysClr)CT_BlipCT_BlipFillPropertiesCT_GradientFillPropertiesCT_GradientStopCT_GradientStopListCT_GroupFillPropertiesCT_LinearShadePropertiesCT_NoFillPropertiesCT_PatternFillPropertiesCT_RelativeRectCT_SolidColorFillPropertiesza:blipz
a:blipFillz
a:gradFillz	a:grpFillza:gsza:gsLstza:linza:noFillz
a:pattFillza:solidFillz	a:srcRect)CT_PresetLineDashPropertiesz
a:prstDash)CT_Presentation
CT_SlideIdCT_SlideIdListCT_SlideMasterIdListCT_SlideMasterIdListEntryCT_SlideSizezp:presentationzp:sldIdz
p:sldIdLstzp:sldMasterIdzp:sldMasterIdLstzp:sldSz)CT_AdjPoint2DCT_CustomGeometry2DCT_GeomGuideCT_GeomGuideListCT_NonVisualDrawingShapeProps	CT_Path2DCT_Path2DCloseCT_Path2DLineToCT_Path2DListCT_Path2DMoveToCT_PresetGeometry2DCT_ShapeCT_ShapeNonVisualza:avLstz
a:custGeomza:gdza:closeza:lnToza:moveToza:pathz	a:pathLstz
a:prstGeomza:ptz	p:cNvSpPrzp:nvSpPrzp:sp)CT_ConnectionCT_ConnectorCT_ConnectorNonVisualCT_NonVisualConnectorPropertiesza:endCxnza:stCxnzp:cNvCxnSpPrzp:cxnSpzp:nvCxnSpPr)CT_GraphicalObjectCT_GraphicalObjectDataCT_GraphicalObjectFrame CT_GraphicalObjectFrameNonVisualCT_OleObjectz	a:graphicza:graphicDatazp:graphicFramezp:nvGraphicFramePrzp:oleObj)CT_GroupShapeCT_GroupShapeNonVisualCT_GroupShapePropertieszp:grpSpz	p:grpSpPrzp:nvGrpSpPrzp:spTree)
CT_PictureCT_PictureNonVisualz
p:blipFillz	p:nvPicPrzp:pic)#CT_ApplicationNonVisualDrawingPropsCT_LinePropertiesCT_NonVisualDrawingPropsCT_Placeholder
CT_Point2DCT_PositiveSize2DCT_ShapePropertiesCT_Transform2Dza:chExtza:chOffza:extza:lnza:offza:xfrmzc:spPrzp:cNvPrzp:nvPrzp:phzp:spPrzp:xfrm)CT_BackgroundCT_BackgroundPropertiesCT_CommonSlideDataCT_NotesMasterCT_NotesSlideCT_SlideCT_SlideLayoutCT_SlideLayoutIdListCT_SlideLayoutIdListEntryCT_SlideMasterCT_SlideTimingCT_TimeNodeListCT_TLMediaNodeVideozp:bgzp:bgPrzp:childTnLstzp:cSldzp:noteszp:notesMasterzp:sldzp:sldLayoutzp:sldLayoutIdzp:sldLayoutIdLstzp:sldMasterzp:timingzp:video)CT_TableCT_TableCellCT_TableCellPropertiesCT_TableColCT_TableGridCT_TablePropertiesCT_TableRowz	a:gridColza:tblz	a:tblGridza:tblPrza:tcza:tcPrza:tr)CT_RegularTextRunCT_TextBodyCT_TextBodyPropertiesCT_TextCharacterPropertiesCT_TextFieldCT_TextFontCT_TextLineBreakCT_TextNormalAutofitCT_TextParagraphCT_TextParagraphPropertiesCT_TextSpacingCT_TextSpacingPercentCT_TextSpacingPointza:bodyPrza:brza:defRPrza:endParaRPrza:fldza:latinza:lnSpcza:normAutofitza:rza:pza:pPrzc:richza:rPrza:spcAftza:spcBefza:spcPctza:spcPtsza:txBodyzc:txPrzp:txBody)CT_OfficeStyleSheetza:theme)r   r   )r   r   )r#   r   r$   r%   )__doc__
__future__r   r   typingr   r   lxmlr   pptx.oxml.nsr   pptx.oxml.xmlchemyr   ElementNamespaceClassLookupr'   	XMLParserr!   set_element_class_lookupr   r   r-   pptx.oxml.actionr.   pptx.oxml.chart.axisr/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   pptx.oxml.chart.chartr:   r;   r<   r=   r>   pptx.oxml.chart.datalabelr?   r@   rA   pptx.oxml.chart.legendrB   rC   pptx.oxml.chart.markerrD   rE   rF   pptx.oxml.chart.plotrG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   pptx.oxml.chart.seriesrU   rV   rW   rX   rY   rZ   pptx.oxml.chart.sharedr[   r\   r]   r^   r_   r`   ra   rb   rc   rd   pptx.oxml.corepropsre   pptx.oxml.dml.colorrf   rg   rh   ri   rj   rk   rl   rm   pptx.oxml.dml.fillrn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   pptx.oxml.dml.linery   pptx.oxml.presentationrz   r{   r|   r}   r~   r   pptx.oxml.shapes.autoshaper   r   r   r   r   r   r   r   r   r   r   r   r   pptx.oxml.shapes.connectorr   r   r   r   pptx.oxml.shapes.graphfrmr   r   r   r   r   pptx.oxml.shapes.groupshaper   r   r   pptx.oxml.shapes.picturer   r   pptx.oxml.shapes.sharedr   r   r   r   r   r   r   r   pptx.oxml.slider   r   r   r   r   r   r   r   r   r   r   r   r   pptx.oxml.tabler   r   r   r   r   r   r   pptx.oxml.textr   r   r   r   r   r   r   r   r   r   r   r   r   pptx.oxml.themer    r"   r   <module>r      s   
 # " " " " " 				 & & & & & & & &       - - - - - - 3222222 9u8:: eouMMM  $ $%9 : : :   . . . .
' ' ' ' * ) ) ) ) )  ^\ 2 2 2  ^\ 2 2 2                           Y ) ) )  [* - - -  Z + + +  ]L 1 1 1  ' 7 7 7  & 4 4 4  ]K 0 0 0  & 4 4 4  ]K 0 0 0  _n 5 5 5  [* - - -  ^] 3 3 3  Y ) ) )               Y ) ) )  ^] 3 3 3  % 7 7 7  \; / / /  Y ) ) ) D C C C C C C C C C  Xw ' ' '  [* - - -  Y ) ) ) ; : : : : : : :  Z + + +  ]L 1 1 1 L K K K K K K K K K  Z + + +  X} - - -  Z 0 0 0                               "  _n 5 5 5  ]L 1 1 1  \; / / /  Z + + +  _n 5 5 5  _n 5 5 5  &(8 9 9 9  \< 0 0 0  \; / / /  ]L 1 1 1  [* - - -  \; / / /  ^] 3 3 3  % 7 7 7                 ^%5 6 6 6  Wo . . .  Wf % % %  Wf % % %  V7 8 8 8  W0 1 1 1  W. / / /  X/ 0 0 0  X/ 0 0 0                         )+> ? ? ?  ^Z 0 0 0  \: . . .  [. 1 1 1  ]I . . .  \: . . .  Z , , ,  Wn - - -  )+> ? ? ?  Z + + +  % 7 7 7  Wi ( ( (  Wi ( ( (  Z + + +  Y / / /  ["5 6 6 6  [. 1 1 1  _&9 : : :  &(; < < <  _&9 : : :  _&9 : : :  ["5 6 6 6  Z , , ,  Y ) ) )  VU # # #  ^Z 0 0 0  UI & & &  Y . . . 2 1 1 1 1 1  (*; < < <	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  Y ) ) )  Y ) ) )  Z - - -  Z / / /  Z / / /  [. 1 1 1  ]N 3 3 3  \= 1 1 1  [, / / /  Z 0 0 0                           Xw ' ' '  \#8 9 9 9  \#< = = =  ["8 9 9 9  V_ - - -  Y 3 4 4 4  W6 7 7 7  Z!4 5 5 5  \#; < < <  ]$? @ @ @  [/ 2 2 2 ; : : : : :  \#> ? ? ?                 % 7 7 7  Y
 + + +  \> 2 2 2  _&? @ @ @  ')= > > >  Y - - -                                Y 0 1 1 1  \#6 7 7 7  V\ * * *  Y / / /  X / / /  Z 1 1 1  Xy ) ) )  [- 0 0 0  \#6 7 7 7  V] + + +  ["? @ @ @  Z!2 3 3 3  VX & & &             Z / / /  Y . . .  ^%D E E E  Y - - -  ]$9 : : :               ["4 5 5 5  _&< = = =  %'> ? ? ?  )+K L L L  Z . . .           Y . . .  ["9 : : :  ]$: ; ; ;  Z / / / E D D D D D D D  \#8 9 9 9  ["5 6 6 6  Wj ) ) )	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  Y 1 2 2 2  Y
 + + +  W/ 0 0 0  V. / / /  Wj ) ) )  X~ . . .  X1 2 2 2  Y 8 9 9 9  XB C C C  V^ , , ,  X1 2 2 2  X~ . . .                                V] + + +  X6 7 7 7  ^_ 5 5 5  X1 2 2 2  Y . . .  _n 5 5 5  Wh ' ' '  ]N 3 3 3  _&? @ @ @  ')= > > >  ]N 3 3 3  Z 0 0 0  Y 3 4 4 4                   [+ . . .  Wh ' ' '  [, / / /  Y 2 3 3 3  V\ * * *  X5 6 6 6  V[ ) ) )                                Z!6 7 7 7  V- . . .  Z!; < < <  ^%? @ @ @  Wl + + +  Y , , ,  Y / / /  _&: ; ; ;  U- . . .  U, - - -  W8 9 9 9  X{ + + +  W8 9 9 9  Z 0 0 0  Z 0 0 0  Z!6 7 7 7  Z!4 5 5 5  Z - - -  X{ + + +  Z - - - 0 / / / / /  Y 3 4 4 4 4 4r"   