ó
    Ñ]jý  ã                  ó‚   • S SK Jr  S SKJr  S SKJr  S SKJr  \(       a  S SKJ	r	  S SK
JrJrJrJr   " S S\S	   5      rg
)é    )Úannotations)ÚTYPE_CHECKING)Úimport_optional_dependency)ÚBaseExcelReader©ÚWorkbook)ÚFilePathÚ
ReadBufferÚScalarÚStorageOptionsc                  ó°   ^ • \ rS rSr  S       SU 4S jjjr\SS j5       r    SS jr\SS j5       rSS jr	SS jr
SS jr S   SS	 jjrS
rU =r$ )ÚPyxlsbReaderé   c                ó:   >• [        S5        [        TU ]	  UUUS9  g)a4  
Reader using pyxlsb engine.

Parameters
----------
filepath_or_buffer : str, path object, or Workbook
    Object to be parsed.
storage_options : dict, optional
    Extra options that make sense for a particular storage connection, e.g.
    host, port, username, password, etc. For HTTP(S) URLs the key-value pairs
    are forwarded to ``urllib.request.Request`` as header options. For other
    URLs (e.g. starting with "s3://", and "gcs://") the key-value pairs are
    forwarded to ``fsspec.open``. Please see ``fsspec`` and ``urllib`` for more
    details, and for more examples on storage options refer `here
    <https://pandas.pydata.org/docs/user_guide/io.html?
    highlight=storage_options#reading-writing-remote-files>`_.
engine_kwargs : dict, optional
    Arbitrary keyword arguments passed to excel engine.
Úpyxlsb)Ústorage_optionsÚengine_kwargsN)r   ÚsuperÚ__init__)ÚselfÚfilepath_or_bufferr   r   Ú	__class__s       €ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/io/excel/_pyxlsb.pyr   ÚPyxlsbReader.__init__   s*   ø€ ô2 	# 8Ô,ô 	‰ÑØØ+Ø'ð 	ò 	
ó    c                ó   • SSK Jn  U$ )Nr   r   )r   r   )r   r   s     r   Ú_workbook_classÚPyxlsbReader._workbook_class8   s
   € å#àˆr   c                ó    • SSK Jn  U" U40 UD6$ )Nr   )Úopen_workbook)r   r    )r   r   r   r    s       r   Úload_workbookÚPyxlsbReader.load_workbook>   s   € õ 	)ñ Ð/ÑA°=ÑAÐAr   c                ó.   • U R                   R                  $ ©N)ÚbookÚsheets)r   s    r   Úsheet_namesÚPyxlsbReader.sheet_namesI   s   € à�y‰y×ÑÐr   c                óZ   • U R                  U5        U R                  R                  U5      $ r$   )Úraise_if_bad_sheet_by_namer%   Ú	get_sheet)r   Únames     r   Úget_sheet_by_nameÚPyxlsbReader.get_sheet_by_nameM   s%   € Ø×'Ñ'¨Ô-Ø�y‰y×"Ñ" 4Ó(Ð(r   c                ó`   • U R                  U5        U R                  R                  US-   5      $ )Né   )Úraise_if_bad_sheet_by_indexr%   r+   )r   Úindexs     r   Úget_sheet_by_indexÚPyxlsbReader.get_sheet_by_indexQ   s+   € Ø×(Ñ(¨Ô/ð �y‰y×"Ñ" 5¨1¡9Ó-Ð-r   c                óê   • UR                   c  g[        UR                   [        5      (       a;  [        UR                   5      nX!R                   :X  a  U$ [        UR                   5      $ UR                   $ )NÚ )ÚvÚ
isinstanceÚfloatÚint)r   ÚcellÚvals      r   Ú_convert_cellÚPyxlsbReader._convert_cellW   sS   € ð �6‰6‰>ØÜ�d—f‘fœe×$Ñ$Ü�d—f‘f“+ˆCØ—f‘f‹}Ø�
ä˜TŸV™V“}Ð$à�v‰vˆr   c                óN  • / nSnUR                  SS9 H®  nUS   R                  nU Vs/ s H  opR                  U5      PM     nnU(       a+  US   S:X  a"  UR                  5         U(       a  US   S:X  a  M"  U(       a-  UR	                  / /Xd-
  S-
  -  5        UR                  U5        UnUc  M�  [        U5      U:¼  d  M®    O   U(       aN  [        S U 5       5      n	[        S U 5       5      U	:  a&  S/n
U Vs/ s H  nX¹[        U5      -
  U
-  -   PM     nnU$ s  snf s  snf )	NéÿÿÿÿT)Úsparser   r6   r0   c              3  ó8   #   • U  H  n[        U5      v •  M     g 7fr$   ©Úlen©Ú.0Údata_rows     r   Ú	<genexpr>Ú.PyxlsbReader.get_sheet_data.<locals>.<genexpr>|   s   é € Ð?º$¨hœC ŸM˜Mº$ùó   ‚c              3  ó8   #   • U  H  n[        U5      v •  M     g 7fr$   rC   rE   s     r   rH   rI   }   s   é € Ð6² X”3�x—=�=²ùrJ   )	ÚrowsÚrr=   ÚpopÚextendÚappendrD   ÚmaxÚmin)r   ÚsheetÚfile_rows_neededÚdataÚprevious_row_numberÚrowÚ
row_numberr;   Úconverted_rowÚ	max_widthÚ
empty_cellrG   s               r   Úget_sheet_dataÚPyxlsbReader.get_sheet_datae   s7  € ð
 $&ˆØ Ðð —:‘: T�:Ó*ˆCØ˜Q™Ÿ™ˆJÙBEÓFÂ#¸$×/Ñ/°Ö5Á#ˆMÐFÞ M°"Ñ$5¸Ó$;à×!Ñ!Ô#ö   M°"Ñ$5¸Õ$;ö Ø—‘˜R˜D JÑ$DÀqÑ$HÑIÔJØ—‘˜MÔ*Ø&0Ð#ØÓ+´°D³	Ð=MÕ0MÙñ +ö äÑ?¹$Ó?Ó?ˆIÜÑ6±Ó6Ó6¸ÓBØ,.¨4�
ñ %)óâ$(˜ð ¬C°«MÑ 9¸ZÑGÔGÙ$(ð ð ð ˆùò' Gùòs   ªDÃ<D"© )NN)r   úFilePath | ReadBuffer[bytes]r   zStorageOptions | Noner   zdict | NoneÚreturnÚNone)r`   ztype[Workbook])r   r_   r`   r   )r`   z	list[str])r,   Ústr)r2   r:   )r`   r   r$   )rT   z
int | Noner`   zlist[list[Scalar]])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Úpropertyr   r!   r'   r-   r3   r=   r\   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s®   ø† ð 26Ø%)ð	 
à8ð 
ð /ð 
ð #ð	 
ð
 
÷ 
ð  
ðD óó ðð
	BØ">ð	Bà	ô	Bð ó ó ð ô)ô.ôð" (,ðð %ðð 
÷	ó r   r   r   N)Ú
__future__r   Útypingr   Úpandas.compat._optionalr   Úpandas.io.excel._baser   r   r   Úpandas._typingr	   r
   r   r   r   r^   r   r   Ú<module>ro      s4   ðå "å  å >å 1æÝ÷ó ôn�? :Ñ.õ nr   