XjdZddlmZddlZddlmZddlmZddl m Z ddl m Z erddl mZGd d e ZGd d e Zy) zHeader and footer part objects.) annotationsN) TYPE_CHECKING) CONTENT_TYPE) parse_xml) StoryPart)Packagec2eZdZdZeddZedZy) FooterPartzDefinition of a section footer.c|jd}tj}t|j }|||||S)z!Return newly created footer part.z/word/footer%d.xml) next_partnameCT WML_FOOTERr_default_footer_xmlclspackagepartname content_typeelements e/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/docx/parts/hdrftr.pynewzFooterPart.newB(()=>}} C33568\7G<<ctjjtjjtdddd}t |d5}|j }ddd|S#1swYSxYw)z6Return bytes containing XML for a default footer part.r.. templateszdefault-footer.xmlrbNospathjoinsplit__file__openreadrr f xml_bytess rrzFooterPart._default_footer_xmlbww||BGGMM(3A6kK_` $  !I ! ! A..A8Nrr)__name__ __module__ __qualname____doc__ classmethodrrrrr r +)==rr c2eZdZdZeddZedZy) HeaderPartzDefinition of a section header.c|jd}tj}t|j }|||||S)z!Return newly created header part.z/word/header%d.xml)r r WML_HEADERr_default_header_xmlrs rrzHeaderPart.new'rrctjjtjjtdddd}t |d5}|j }ddd|S#1swYSxYw)z6Return bytes containing XML for a default header part.rrrzdefault-header.xmlrNrr&s rr7zHeaderPart._default_header_xml/r)r*Nr+)r,r-r.r/r0rr7r1rrr4r4$r2rr4)r/ __future__rrtypingrdocx.opc.constantsrr docx.oxml.parserrdocx.parts.storyr docx.packagerr r4r1rrr?s8%" 1&&$(r