ó
    ‰*£hE0  ã                   ó²  • S r SSKJrJr  SSKJr  SSKrSSKrSSK	J
r
   SSKJr  SS	KJr  SS
KJrJrJrJrJrJrJrJrJrJrJr  SSKJr  SSKJr  SSK J!r!J"r"  SSK#J$r$  SSK%J&r&  SSK'J(r(  SSK)J*r*  SSK+J,r,J-r-  SSK.J/r/J0r0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7  SSK8J9r9  SSK:J;r;  SSK<J=r=  SSK>J?r?  Sr@S rAS rB " S S 5      rCS\SS!S4S" jrDg! \ a    Sr N¯f = f)#zRead an xlsx file into Pythoné    )ÚZipFileÚZIP_DEFLATED)ÚBytesION)ÚTableDefinitioné   )ÚKEEP_VBAF)ÚInvalidFileException)ÚARC_COREÚ
ARC_CUSTOMÚARC_CONTENT_TYPESÚARC_WORKBOOKÚ	ARC_THEMEÚCOMMENTS_NSÚSHARED_STRINGSÚXLTMÚXLTXÚXLSMÚXLSX)Ú
MergedCell)ÚCommentSheeté   )Úread_string_tableÚread_rich_text)ÚWorkbookParser)Úapply_stylesheet)ÚDocumentProperties)ÚCustomPropertyList)ÚManifestÚOverride)ÚRelationshipListÚget_dependentsÚget_rels_path)ÚReadOnlyWorksheet)ÚWorksheetReader)Ú
Chartsheet)ÚTable)ÚSpreadsheetDrawing)Ú
fromstring)Úfind_images)z.xlsxz.xlsmz.xltxz.xltmc                 ó,  • [        U S5      nU(       dt  [        R                  R                  U 5      S   R	                  5       nU[
        ;  a:  US:X  a  SnO&US:X  a  SnOSU< SS	R                  [
        5      < 3n[        U5      e[        U S
5      nU$ )a†  
Does a first check whether filename is a string or a file-like
object. If it is a string representing a filename, a check is done
for supported formats by checking the given file-extension. If the
file-extension is not in SUPPORTED_FORMATS an InvalidFileException
will raised. Otherwise the filename (resp. file-like object) will
forwarded to zipfile.ZipFile returning a ZipFile-Instance.
Úreadéÿÿÿÿz.xlszŠopenpyxl does not support the old .xls file format, please use xlrd to read this file, or convert it to the more recent .xlsx file format.z.xlsbz|openpyxl does not support binary format .xlsb, please convert this file to .xlsx format if you want to open it with openpyxlzopenpyxl does not support zT file format, please check you can open it with Excel first. Supported formats are: Ú,Úr)	ÚhasattrÚosÚpathÚsplitextÚlowerÚSUPPORTED_FORMATSÚjoinr	   r   )ÚfilenameÚis_file_likeÚfile_formatÚmsgÚarchives        ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/openpyxl/reader/excel.pyÚ_validate_archiver<   B   sœ   € ô ˜8 VÓ,€LÞÜ—g‘g×&Ñ& xÓ0°Ñ4×:Ñ:Ó<ˆØÔ/Ó/Ø˜fÓ$ð<‘ð  Ó'ð2‘ð (ó 8CØ7:·x±xÔ@QÕ7Rð	T�ô
 ' sÓ+Ð+ä�h Ó$€GØ€Nó    c                 óN  • [         [        [        [        /nU H  nU R	                  U5      nU(       d  M  Us  $    U R
                   Vs1 s H  oDR                  iM     nnU[        U5      -  nU(       a!  [        S[        -   UR                  5       5      $ [        S5      es  snf )NÚ/z$File contains no valid workbook part)r   r   r   r   ÚfindÚDefaultÚContentTypeÚsetr   r   ÚpopÚIOError)ÚpackageÚworkbook_typesÚctÚpartÚpÚdefaultsÚworkbook_types          r;   Ú_find_workbook_partrM   c   sŒ   € ÜœD¤$¬Ð-€NÛˆØ�|‰|˜BÓˆßˆ4ØŠKñ ð (/§¢Ó7¢ !—”¡€HÐ7Øœs >Ó2Ñ2€MÞÜ˜œlÑ*¨M×,=Ñ,=Ó,?Ó@Ð@ä
Ð8Ó
9Ð9ùò 8s   Á
B"c                   ób   • \ rS rSrSrS\SSS4S jrS rS rS r	S	 r
S
 rS rS rS rS rSrg)ÚExcelReaderés   zI
Read an Excel package and dispatch the contents to the relevant modules
FTc                 ó¬   • [        U5      U l        U R                  R                  5       U l        X l        X0l        X@l        XPl        X`l        / U l	        g ©N)
r<   r:   ÚnamelistÚvalid_filesÚ	read_onlyÚkeep_vbaÚ	data_onlyÚ
keep_linksÚ	rich_textÚshared_strings)ÚselfÚfnrU   rV   rW   rX   rY   s          r;   Ú__init__ÚExcelReader.__init__y   sD   € ä(¨Ó,ˆŒØŸ<™<×0Ñ0Ó2ˆÔØ"ŒØ ŒØ"ŒØ$ŒØ"ŒØ ˆÕr=   c                 óŽ   • U R                   R                  [        5      n[        U5      n[        R
                  " U5      U l        g rR   )r:   r+   r   r(   r   Ú	from_treerF   )r[   ÚsrcÚroots      r;   Úread_manifestÚExcelReader.read_manifest…   s2   € Ø�l‰l×ÑÔ 1Ó2ˆÜ˜#‹ˆÜ×)Ò)¨$Ó/ˆ�r=   c                 ó&  • U R                   R                  [        5      n[        nU R                  (       a  [
        nUbA  UR                  SS  nU R                  R                  U5       nU" U5      U l	        S S S 5        g g ! , (       d  f       g = f)Nr   )
rF   r@   r   r   rY   r   ÚPartNamer:   ÚopenrZ   )r[   rH   ÚreaderÚstrings_pathra   s        r;   Úread_stringsÚExcelReader.read_strings‹   so   € Ø�\‰\×Ñœ~Ó.ˆÜ"ˆØ�>�>Ü#ˆFØ‰>ØŸ;™; q r˜?ˆLØ—‘×"Ñ" <Ô1°SÙ&,¨S£k�Ô#÷ 2Ð1ð ç1Õ1ús   Á*BÂ
Bc                 óº  • [        U R                  5      n[        U R                  UR                  SS  U R
                  S9U l        U R                  R                  5         U R                  R                  n/ Ul	        U R                  Ul        U R                  Ul        UR                  [        [         4;   Ul        U R$                  (       ae  ['        [)        5       S[*        5      Ul        U R.                   H7  nUR,                  R1                  X0R                  R3                  U5      5        M9     U R                  (       a  U R                  Ul        X l        g )Nr   )rX   Úa)rM   rF   r   r:   rf   rX   ÚparserÚparseÚwbÚ_sheetsrW   Ú
_data_onlyrU   Ú
_read_onlyrB   r   r   ÚtemplaterV   r   r   r   Úvba_archiverT   Úwritestrr+   Ú_archive)r[   Úwb_partrp   Únames       r;   Úread_workbookÚExcelReader.read_workbook–   sí   € Ü% d§l¡lÓ3ˆÜ$ T§\¡\°7×3CÑ3CÀAÀBÐ3GÐTX×TcÑTcÑdˆŒØ�‰×ÑÔØ�[‰[�^‰^ˆØˆŒ
ØŸ™ˆŒØŸ™ˆŒØ×)Ñ)¬d´D¨\Ñ9ˆŒð �=�=Ü$¤W£Y°´\ÓBˆBŒNØ×(Ô(�Ø—‘×'Ñ'¨¯l©l×.?Ñ.?ÀÓ.EÖFñ )ð �>�>ØŸ,™,ˆBŒKà�r=   c                 óÈ   • [         U R                  ;   aN  [        U R                  R	                  [         5      5      n[
        R                  " U5      U R                  l        g g rR   )	r
   rT   r(   r:   r+   r   r`   rp   Ú
properties©r[   ra   s     r;   Úread_propertiesÚExcelReader.read_properties­   sE   € Ü�t×'Ñ'Ó'Ü˜TŸ\™\×.Ñ.¬xÓ8Ó9ˆCÜ!3×!=Ò!=¸cÓ!BˆD�G‰GÕð (r=   c                 óÈ   • [         U R                  ;   aN  [        U R                  R	                  [         5      5      n[
        R                  " U5      U R                  l        g g rR   )	r   rT   r(   r:   r+   r   r`   rp   Úcustom_doc_propsr~   s     r;   Úread_customÚExcelReader.read_custom³   sE   € Ü˜×)Ñ)Ó)Ü˜TŸ\™\×.Ñ.¬zÓ:Ó;ˆCÜ'9×'CÒ'CÀCÓ'HˆD�G‰GÕ$ð *r=   c                 óŠ   • [         U R                  ;   a/  U R                  R                  [         5      U R                  l        g g rR   )r   rT   r:   r+   rp   Úloaded_theme)r[   s    r;   Ú
read_themeÚExcelReader.read_theme¹   s0   € Ü˜×(Ñ(Ó(Ø#'§<¡<×#4Ñ#4´YÓ#?ˆD�G‰GÕ ð )r=   c                 ó�  • UR                   n[        U5      n/ nX@R                  ;   a  [        U R                  U5      nU R                  R                  US5       nUR                  5       nS S S 5        [        W5      n[        R                  " U5      n	U R                  U	l        UR                  U	l        U R                  R                  U	5        UR                  [         R"                  5      n
U
 H?  n[%        U R                  UR                   5      u  p¼U H  nU	R'                  U5        M     MA     g ! , (       d  f       NÑ= f)Nr.   )Útargetr"   rT   r!   r:   rg   r+   r(   r%   r`   rp   Ú_parentry   ÚtitleÚ
_add_sheetr@   r'   Ú	_rel_typer)   Ú	add_chart)r[   ÚsheetÚrelÚ
sheet_pathÚ	rels_pathÚrelsra   ÚxmlÚnodeÚcsÚdrawingsÚchartsÚimagesÚcs                 r;   Úread_chartsheetÚExcelReader.read_chartsheet¾   sð   € Ø—Z‘Zˆ
Ü! *Ó-ˆ	ØˆØ×(Ñ(Ó(Ü! $§,¡,°	Ó:ˆDà�\‰\×Ñ˜z¨3Ô/°3Ø—(‘(“*ˆC÷ 0ä˜#‹ˆÜ×!Ò! $Ó'ˆØ—W‘WˆŒ
Ø—:‘:ˆŒØ�‰×Ñ˜2Ôà—9‘9Ô/×9Ñ9Ó:ˆÛˆCÜ(¨¯©°s·z±zÓB‰NˆFÛ�Ø—‘˜Q–ó ò ÷ 0Õ/ús   ÁD7Ä7
Ec           
      ó|	  • SnU R                   R                  5        GH2  u  p#UR                  U R                  ;  a  M"  SUR                  ;   a  U R                  X#5        ME  [        UR                  5      n[        5       nX@R                  ;   a  [        U R                  U5      nU R                  (       ao  [        U R                  UR                  UR                  U R                  5      nUR                  Ul        U R                  R"                  R%                  U5        GM	  U R                  R'                  UR                  5      nU R                  R)                  UR                  5      nXVl        [-        XgU R                  U R.                  U R0                  5      nUR3                  5         UR5                  5         UR7                  [8        5       Hf  n	U R                  R;                  U	R                  5      n
[<        R>                  " [A        U
5      5      nURB                   H  u  pÍ XÖU   l"        M     Mh     U R                  RV                  (       a<  URX                  (       a+  UR[                  URX                  5      R                  Ul,        OS Ul,        UR\                   HP  nU R                  R;                  U5      n
[A        U
5      n[^        R>                  " U5      nURa                  U5        MR     UR7                  [b        Rd                  5      nU Ho  n[g        U R                  UR                  5      u  nnU H  nURi                  XîRj                  5        M      U H  nURm                  UURj                  5        M!     Mq     UR7                  [n        Rp                  5      nU R                   Rr                  nU Hp  n	U	Rt                  nU R                  R;                  U5      n
[A        U
5      n[n        R>                  " U5      nUURv                     Ul<        UR{                  U5        Mr     UR                  Ul        GM5     g ! [F         a\    Xl   n[I        U[J        5      (       a>  [L        RN                  " URQ                  URR                  URT                  5      5         GMŒ   GM�  f = f)Nz~Cell '{0}':{1} is part of a merged range but has a comment which will be removed because merged cells cannot contain any data.Ú
chartsheet)>rn   Úfind_sheetsrŠ   rT   ÚTyperœ   r"   r    r!   r:   rU   r#   rp   ry   rZ   ÚstateÚsheet_staterq   Úappendrg   Úcreate_sheetÚ_relsr$   rW   rY   Úbind_allÚcloser@   r   r+   r   r`   r(   ÚcommentsÚcommentÚAttributeErrorÚ
isinstancer   ÚwarningsÚwarnÚformatrŒ   Ú
coordinateru   Úlegacy_drawingÚgetÚtablesr&   Ú	add_tabler'   rŽ   r)   r�   ÚanchorÚ	add_imager   Úrel_typeÚpivot_cachesÚTargetÚcacheIdÚcacheÚ	add_pivot)r[   Úcomment_warningr�   r‘   r“   r”   ÚwsÚfhÚ	ws_parserr.   ra   Úcomment_sheetÚrefrª   r›   Útr•   Útabler˜   r™   rš   ÚimÚ	pivot_relr¸   Ú
pivot_pathÚtreeÚpivots                              r;   Úread_worksheetsÚExcelReader.read_worksheetsÔ   sp  € ð _ˆØŸ+™+×1Ñ1×3‰JˆEØ�z‰z ×!1Ñ!1Ó1Ùà˜sŸx™xÓ'Ø×$Ñ$ UÔ0Ùä% c§j¡jÓ1ˆIÜ#Ó%ˆDØ×,Ñ,Ó,Ü% d§l¡l°IÓ>�à�~�~Ü& t§w¡w°·
±
¸C¿J¹JÈ×H[ÑH[Ó\�Ø!&§¡�”Ø—‘—‘×&Ñ& rÔ*Úà—\‘\×&Ñ& s§z¡zÓ2�Ø—W‘W×)Ñ)¨%¯*©*Ó5�Ø”Ü+¨B°D×4GÑ4GÈÏÉÐY]×YgÑYgÓh�	Ø×"Ñ"Ô$Ø—‘”
ð —Y‘Yœ{Ö+�Ø—l‘l×'Ñ'¨¯©Ó1�Ü ,× 6Ò 6´zÀ#³Ó G�Ø$1×$:Ô$:‘L�Cð%Ø*1˜3™žó %;ñ ,ð �w‰w×"×" r×'8×'8Ø$(§H¡H¨R×->Ñ->Ó$?×$FÑ$F�Õ!à$(�Ô!à×%Ô%�Ø—l‘l×'Ñ'¨Ó*�Ü  “o�ÜŸš¨Ó,�Ø—‘˜UÖ#ñ	 &ð —y‘yÔ!3×!=Ñ!=Ó>ˆHÛ�Ü!,¨T¯\©\¸3¿:¹:Ó!F‘�˜Û�AØ—L‘L §H¡HÖ-ñ  ã �BØ—L‘L  R§Y¡YÖ/ó !ñ	  ð Ÿ	™	¤/×":Ñ":Ó;ˆIØŸ;™;×3Ñ3ˆLÛ�ØŸX™X�
Ø—l‘l×'Ñ'¨
Ó3�Ü! #“�Ü'×1Ò1°$Ó7�Ø*¨5¯=©=Ñ9�”Ø—‘˜UÖ#ñ ð #Ÿ[™[ˆB�NòK 4øôB *ó %Ø™G˜Ü% a¬×4Ñ4Ü$ŸMšM¨/×*@Ñ*@ÀÇÁÈ1Ï<É<Ó*XÔYÛ$ó 5ð%ús   È0	QÑAR;	Ò:R;	c                 óH  • Sn U R                  5         SnU R                  5         SnU R                  5         SnU R                  5         SnU R	                  5         SnU R                  5         Sn[        U R                  U R                  5        SnU R                  5         S	nU R                  R                  5         U R                  (       d  U R                  R                  5         g g ! [         a,  n[        S
U SU R                  R                   S35      UeS nAff = f)Nzread manifestzread stringszread workbookzread propertieszread custom propertiesz
read themezread stylesheetzread worksheetszassign namesz#Unable to read workbook: could not z from z~.
This is most probably because the workbook source files contain some invalid XML.
Please see the exception for more details.)rc   rj   rz   r   rƒ   r‡   r   r:   rp   rÊ   rn   Úassign_namesrU   r¨   Ú
ValueErrorr6   )r[   ÚactionÚes      r;   r+   ÚExcelReader.read  s	  € Ø ˆð	Ø×ÑÔ Ø#ˆFØ×ÑÔØ$ˆFØ×ÑÔ Ø&ˆFØ× Ñ Ô"Ø-ˆFØ×ÑÔØ!ˆFØ�O‰OÔØ&ˆFÜ˜TŸ\™\¨4¯7©7Ô3Ø&ˆFØ× Ñ Ô"Ø#ˆFØ�K‰K×$Ñ$Ô&Ø—>—>Ø—‘×"Ñ"Õ$ð "øäó 	ÜØ5°f°X¸VÀDÇLÁL×DYÑDYÐCZð [=ð =óð ð	ûð	ús   „C%C+ Ã+
D!Ã5'DÄD!)r:   rW   rX   rV   rF   rn   rU   rY   rZ   rT   rp   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r]   rc   rj   rz   r   rƒ   r‡   rœ   rÊ   r+   Ú__static_attributes__© r=   r;   rO   rO   s   sL   † ñð &+°XØ ¨T¸Uô	!ò0ò2òò.CòIò@ò
 ò,G)õTr=   rO   Tc                 óV   • [        XUX4U5      nUR                  5         UR                  $ )a  Open the given filename and return the workbook

:param filename: the path to open or a file-like object
:type filename: string or a file-like object open in binary mode c.f., :class:`zipfile.ZipFile`

:param read_only: optimised for reading, content cannot be edited
:type read_only: bool

:param keep_vba: preserve vba content (this does NOT mean you can use it)
:type keep_vba: bool

:param data_only: controls whether cells with formulae have either the formula (default) or the value stored the last time Excel read the sheet
:type data_only: bool

:param keep_links: whether links to external workbooks should be preserved. The default is True
:type keep_links: bool

:param rich_text: if set to True openpyxl will preserve any rich text formatting in cells. The default is False
:type rich_text: bool

:rtype: :class:`openpyxl.workbook.Workbook`

.. note::

    When using lazy load, all worksheets will be :class:`openpyxl.worksheet.iter_worksheet.IterableWorksheet`
    and the returned workbook will be read-only.

)rO   r+   rp   )r6   rU   rV   rW   rX   rY   rh   s          r;   Úload_workbookrÚ   <  s*   € ô< ˜¨hØ"°	ó;€Fà
‡K�K„MØ�9‰9Ðr=   )ErÖ   Úzipfiler   r   Úior   Úos.pathr0   r­   Úopenpyxl.pivot.tabler   Útestsr   ÚImportErrorÚopenpyxl.utils.exceptionsr	   Úopenpyxl.xml.constantsr
   r   r   r   r   r   r   r   r   r   r   Úopenpyxl.cellr   Úopenpyxl.comments.comment_sheetr   Ústringsr   r   Úworkbookr   Úopenpyxl.styles.stylesheetr   Úopenpyxl.packaging.corer   Úopenpyxl.packaging.customr   Úopenpyxl.packaging.manifestr   r   Úopenpyxl.packaging.relationshipr    r!   r"   Úopenpyxl.worksheet._read_onlyr#   Úopenpyxl.worksheet._readerr$   Úopenpyxl.chartsheetr%   Úopenpyxl.worksheet.tabler&   Ú$openpyxl.drawing.spreadsheet_drawingr'   Úopenpyxl.xml.functionsr(   r˜   r)   r4   r<   rM   rO   rÚ   rØ   r=   r;   Ú<module>rò      sÁ   ðñ $÷ *Ý Û Û å 0ðÝ õ
 ;÷÷ ÷ ñ õ %Ý 8ç 6Ý $Ý 7å 6Ý 8ß :÷ñ õ <Ý 6Ý *Ý *Ý Cå -å !ð 9Ð òòB:÷ Fñ FðR ',°hØ!¨d¸eõ!øðW	 ó Ø‚Hðús    C ÃCÃC