hyb
2026-01-07 c7f60dc7e9a36596f0e0d1787bd0cca4e9b57bcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Ë
dñúhÎãóþ—ddlZddlmZddlmZmZmZmZmZm    Z    m
Z
ddl m Z ddl mZddlmZmZdZdZd    Zej*d
j-eee««Zd „ZGd „d e«ZGd„de«ZGd„de «Zy)éN)Úwarn)ÚAliasÚBoolÚStrictÚStringÚIntegerÚ MatchPatternÚTyped)Ú Serialisable)ÚElement)ÚescapeÚunescapez&"(?P<font>.+)"z&K(?P<color>[A-F0-9]{6})z&(?P<size>\d+\s?)z {0}|{1}|{2}cóö—tjdtjtjz«}|j    |«}    |j «}|S#t $rtd«ddddœ}Y|SwxYw)z¹
    Split the combined (decoded) string into left, center and right parts
 
    # See http://stackoverflow.com/questions/27711175/regex-with-multiple-optional-groups for discussion
    zN
    (&L(?P<left>.+?))?
    (&C(?P<center>.+?))?
    (&R(?P<right>.+?))?
    $z3Cannot parse header or footer so it will be ignoredÚ)ÚleftÚrightÚcenter)ÚreÚcompileÚVERBOSEÚDOTALLÚmatchÚ    groupdictÚAttributeErrorr)ÚtextÚ
ITEM_REGEXÚmÚpartss    úSH:\Change_password\venv_build\Lib\site-packages\openpyxl/worksheet/header_footer.pyÚ _split_stringr s}€ô—‘ð    ô *‰*”r—y‘yÑ
 ó    "€Jð     ×јӀAð5Ø— ‘ “ ˆð €Løô ò5Ü Ð FÔGØ B°Ñ4‰Ø €Lð5úsÁAÁA8Á7A8có‚—eZdZdZed¬«Zed¬«Zed¬«ZdZ    e
de    ¬«Z d d„Z d„Z d    „Zed
„«Zy) Ú_HeaderFooterPartaÉ
    Individual left/center/right header/footer part
 
    Do not use directly.
 
    Header & Footer ampersand codes:
 
    * &A   Inserts the worksheet name
    * &B   Toggles bold
    * &D or &[Date]   Inserts the current date
    * &E   Toggles double-underline
    * &F or &[File]   Inserts the workbook name
    * &I   Toggles italic
    * &N or &[Pages]   Inserts the total page count
    * &S   Toggles strikethrough
    * &T   Inserts the current time
    * &[Tab]   Inserts the worksheet name
    * &U   Toggles underline
    * &X   Toggles superscript
    * &Y   Toggles subscript
    * &P or &[Page]   Inserts the current page number
    * &P+n   Inserts the page number incremented by n
    * &P-n   Inserts the page number decremented by n
    * &[Path]   Inserts the workbook path
    * &&   Escapes the ampersand character
    * &"fontname"   Selects the named font
    * &nn   Selects the specified 2-digit font point size
 
    Colours are in RGB Hex
    T©Ú
allow_nonez^[A-Fa-f0-9]{6}$)r$ÚpatternNcó<—||_||_||_||_y©N)rÚfontÚsizeÚcolor)Úselfrr(r)r*s     rÚ__init__z_HeaderFooterPart.__init__]s€ØˆŒ    ØˆŒ    ØˆŒ    Øˆ
ócóˆ—g}|jr*|jdj|j««|jr*|jdj|j««|jr*|jdj|j««dj ||j gz«S)zI
        Convert to Excel HeaderFooter miniformat minus position
        z&"{0}"z&{0} z&K{0}r)r(ÚappendÚformatr)r*Újoinr)r+Úfmts  rÚ__str__z_HeaderFooterPart.__str__ds…€ðˆØ 9Š9Ø J‰Jy×'Ñ'¨¯    ©    Ó2Ô 3Ø 9Š9Ø J‰Jw—~‘~ d§i¡iÓ0Ô 1Ø :Š:Ø J‰Jw—~‘~ d§j¡jÓ1Ô 2؏x‰x˜˜tŸy™y˜kÑ)Ó*Ð*r-có,—t|j«Sr')Úboolr©r+s rÚ__bool__z_HeaderFooterPart.__bool__qs€ÜD—I‘I‹Ðr-c󘇗dŠtˆfd„tj|«D««}tjd|«|d<|di|¤ŽS)z3
        Convert from miniformat to object
        )r(r*r)c3óR•K—|]}t‰|«D] \}}|r||f–—ŒŒ y­wr')Úzip)Ú.0rÚkÚvÚkeyss    €rú    <genexpr>z-_HeaderFooterPart.from_str.<locals>.<genexpr>|s;øèø€ò5˜UÜ! $¨Ó.ò5ِa˜±!ða”&ð5&ñ5ùsƒ$'rr©)ÚdictÚ FORMAT_REGEXÚfindallÚsub)ÚclsrÚkwr>s   @rÚfrom_strz_HeaderFooterPart.from_strvsOø€ð
)ˆÜ ó5¤l×&:Ñ&:¸4Ó&@ô5ó5ˆô"×%Ñ% b¨$Ó/ˆˆ6‰
á‰yR‰yÐr-)NNNN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrr(rr)ÚRGBr    r*r,r3r7Ú classmethodrGr@r-rr"r"5s[„ññ> ˜TÔ "€DÙ ˜TÔ "€DÙ ˜dÔ #€DØ €CÙ  D°#Ô 6€Eóò +òð
ñ
óñ
r-r"có„—eZdZdZee¬«Zee¬«Zed«Z    ee¬«Z
dZ d d„Z d„Z d„Zd    „Zed
„«Zy) ÚHeaderFooterItemz 
    Header or footer item
 
    )Ú expected_typer)ÚLÚCÚRNcóv—|€
t«}||_|€
t«}||_|€
t«}||_yr')r"rrr)r+rrrs    rr,zHeaderFooterItem.__init__’s>€Ø ˆ<Ü$Ó&ˆD؈Œ    Ø ˆ>Ü&Ó(ˆF؈Œ Ø ˆ=Ü%Ó'ˆE؈
r-c ó"‡—ddddddddd    œŠtjd
j‰Dcgc]&}d jtj|««‘Œ(c}««}ˆfd „}g}t |j |j|j|jg«D]<\}}|j€Œ|jd j|t|«««Œ>dj|«}|j||«}t    |«Scc}w)z1
        Pack parts into a single string
        z&Az&Nz&Dz&Zz&Pz&Tz&Fz&G)z&[Tab]z&[Pages]z&[Date]z&[Path]z&[Page]z&[Time]z&[File]z
&[Picture]ú|z({0})có0•—|jd«}‰|S)zn
            Callback for re.sub
            Replace expanded control with mini-format equivalent
            r)Úgroup)rrDÚ    TRANSFORMs  €rÚreplacez)HeaderFooterItem.__str__.<locals>.replaceªsø€ð
—+‘+˜a“.ˆCؘS‘>Ð !r-z&{0}{1}r)rrr1r0r r:Ú_HeaderFooterItem__keysrrrrr/ÚstrrD)r+r<Ú
SUBS_REGEXrZÚtxtÚkeyÚpartrYs       @rr3zHeaderFooterItem.__str__žsøø€ð $°À$Ø $°À$ÐSWØ#'ñ)ˆ    ô
—Z‘Z §¡Ø3<ö*>Ø./ð+2¯.©.¼¿¹À1»Õ*Fò*>ó!?ó@ˆ
ô    "ðˆÜØ K‰K˜$Ÿ)™) T§[¡[°$·*±*Ð=ó?ò    >‰IˆCày‰yÑ$Ø—
‘
˜:×,Ñ,¨S´#°d³)Ó<Õ=ð    >ðg‰gc‹lˆØn‰n˜W cÓ*ˆÜc‹{Ðùò%*>s«+D cóZ—t|j|j|jg«Sr')Úanyrrrr6s rr7zHeaderFooterItem.__bool__¼s €ÜD—I‘I˜tŸ{™{¨D¯J©JÐ7Ó8Ð8r-có<—t|«}t|«|_|S)z$
        Return as XML node
        )r r\r)r+ÚtagnameÚels   rÚto_treezHeaderFooterItem.to_treeÁs€ôWÓ ˆÜd“)ˆŒØˆ    r-có֗|jr]t|j«}t|«}|j«D] \}}|€Œ    tj |«||<Œ"|di|¤Ž}|Sy)Nr@)rrr Úitemsr"rG)rEÚnoderrr<r=r+s       rÚ    from_treezHeaderFooterItem.from_treeÊsj€à 9Š9ܘDŸI™IÓ&ˆDÜ! $Ó'ˆEØŸ ™ › ò =‘1Ø‘=Ü0×9Ñ9¸!Ó<E˜!’Hð =ñ‘<˜‘<ˆD؈Kð r-)NNN)rHrIrJrKr
r"rrrÚcentrerr[r,r3r7rfrMrjr@r-rrOrO„s`„ññ
Ð0Ô 1€DÙ Ð!2Ô 3€FÙ 8‹_€FÙ Р1Ô 2€Eà €Fó    òò<9ò
ðñóñr-rOcóö—eZdZdZed¬«Zed¬«Zed¬«Zed¬«Ze    e
d¬«Z e    e
d¬«Z e    e
d¬«Z e    e
d¬«Ze    e
d¬«Ze    e
d¬«ZdZ                                        d    d„Zd„Zy)
Ú HeaderFooterÚ headerFooterTr#)rPr$)Ú    oddHeaderÚ    oddFooterÚ
evenHeaderÚ
evenFooterÚ firstHeaderÚ firstFooterNc ó —||_||_||_||_|€
t    «}||_|€
t    «}||_|€
t    «}||_|€
t    «}||_|    €
t    «}    |    |_    |
€
t    «}
|
|_
yr') ÚdifferentOddEvenÚdifferentFirstÚ scaleWithDocÚalignWithMarginsrOrorprqrrrsrt) r+rvrwrxryrorprqrrrsrts            rr,zHeaderFooter.__init__çs¤€ð!1ˆÔØ,ˆÔØ(ˆÔØ 0ˆÔØ Ð Ü(Ó*ˆIØ"ˆŒØ Ð Ü(Ó*ˆIØ"ˆŒØ Ð Ü)Ó+ˆJØ$ˆŒØ Ð Ü)Ó+ˆJØ$ˆŒØ Ð Ü*Ó,ˆKØ&ˆÔØ Ð Ü*Ó,ˆKØ&ˆÕr-có‚—|j|jzDcgc]}t||«‘Œ}}t|«Scc}wr')Ú    __attrs__Ú __elements__Úgetattrrb)r+Úattrrs   rr7zHeaderFooter.__bool__ s;€Ø15·±À$×BSÑBSÑ1SÖT¨”˜˜tÕ$ÐTˆÐTܐ5‹zÐùòUsœ<)
NNNNNNNNNN)rHrIrJrdrrvrwrxryr
rOrorprqrrrsrtr|r,r7r@r-rrmrmÖs¯„à€Gá tÔ,ÐÙ TÔ*€NÙ 4Ô(€LÙ tÔ,ÐÙÐ$4ÀÔF€IÙÐ$4ÀÔF€IÙÐ%5À$ÔG€JÙÐ%5À$ÔG€JÙÐ&6À4ÔH€KÙÐ&6À4ÔH€Kàg€Lð#'Ø $Ø"Ø"&ØØØ Ø Ø!Ø!ó!'óHr-rm)rÚwarningsrÚopenpyxl.descriptorsrrrrrr    r
Ú!openpyxl.descriptors.serialisabler Úopenpyxl.xml.functionsr Úopenpyxl.utils.escaper rÚ FONT_PATTERNÚ COLOR_PATTERNÚ
SIZE_REGEXrr0rBr r"rOrmr@r-rú<module>r‡sðó
 
Ý÷÷ñõ;õ+ß2ð!€ Ø+€ Ø !€
؈rz‰z˜-×.Ñ.¨|¸]Ø/9ó;ó€ òô,L˜ôLô^OvôOôd7<õ7r-