Ë
    •2Úi6¡ ã                   óž  — d dl mZ d dlmZ d dlmZmZ ddl­ ddlmZm	Z	 ddl
mZmZmZmZmZ ddl­ d Zd ZdZ G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zd„ Zeeeeeee e!e"eiZ#e$de%dede!de&de'de(diZ) G d„ de«      Z* e*e$ e+d«      «      Z, G d „ d!e«      Z-dZ. G d"„ d#e«      Z/y$)%é    )Úprint_function)Úarray)ÚcalcsizeÚunpacké   )Ú*)ÚFormatÚnearest_colour_index)ÚFMLA_TYPE_CELLÚFMLA_TYPE_SHAREDÚdecompile_formulaÚdump_formulaÚrangename2d))Úshow_formulasr   )Úshow_grid_linesr   )Úshow_sheet_headersr   )Úpanes_are_frozenr   )Úshow_zero_valuesr   )Úautomatic_grid_line_colourr   )Úcolumns_from_right_to_leftr   )Úshow_outline_symbolsr   )Ú'remove_splits_if_pane_freeze_is_removedr   )Úsheet_selectedr   )Úsheet_visibler   )Úshow_in_page_break_previewr   c                   ón  — e Zd ZdZdZdZdZdZi Zi Z	g Z
g Zg Zi ZdZdZdZdZdZdZdZdZdZg Zi Zi ZdZdZdZdZdZdZg Z g Z!d„ Z"d„ Z#d„ Z$d	„ Z%d
„ Z&d„ Z'd„ Z(d„ Z)d„ Z*e*Z+d(d„Z,d(d„Z-d(d„Z.d(d„Z/d(d„Z0d(d„Z1e/Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8d)d„Z9d*d„Z:d*d„Z;d„ Z<d„ Z=d „ Z>d!„ Z?d"„ Z@d#„ ZAd$„ ZBd%„ ZCd&„ ZDd'„ ZEy)+ÚSheetaj  
    Contains the data for one worksheet.

    In the cell access functions, ``rowx`` is a row index, counting from
    zero, and ``colx`` is a column index, counting from zero.
    Negative values for row/column indexes and slice positions are supported in
    the expected fashion.

    For information about cell types and cell values, refer to the documentation
    of the :class:`Cell` class.

    .. warning::

      You don't instantiate this class yourself. You access :class:`Sheet`
      objects via the :class:`~xlrd.book.Book` object that
      was returned when you called :func:`xlrd.open_workbook`.
    Ú Nr   (   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                 ó’  — || _         |j                  | _        || _        |j                  | _        t	        dt
        g«      | _        t	        ddg«      | _        || _        || _	        |j                  | _
        |j                  | _        |j                  | _        | j                  r| j                  | _        n| j                  | _        |j                   | _        d| _        d| _        d| _        d| _        d| _        d| _        g | _        g | _        g | _        d | _        d | _        d | _        d| _        d| _        d| _        d| _         i | _!        i | _"        g | _#        g | _$        g | _%        i | _&        g | _'        g | _(        g d¢| _)        |jT                  |   | _+        tX        D ]  \  }}t[        | ||«       Œ d| _.        d| _/        d| _0        d | _1        g | _2        i | _3        i | _4        d| _5        d| _6        d| _7        d| _8        d | _9        d | _:        i | _;        | j                  d	k\  rd
| _<        nd| _<        d| _=        d| _>        y )NÚBÚhéÿÿÿÿr   )r   r   r   r   é@   é<   éd   éP   i   é @  é   )?ÚbookÚbiff_versionÚ	_positionÚlogfiler   ÚXL_CELL_EMPTYÚbtÚbfÚnameÚnumberÚ	verbosityÚformatting_infoÚragged_rowsÚput_cell_raggedÚput_cellÚput_cell_unraggedÚ_xf_index_to_xl_type_mapÚnrowsÚncolsÚ_maxdatarowxÚ_maxdatacolxÚ	_dimnrowsÚ	_dimncolsÚ_cell_valuesÚ_cell_typesÚ_cell_xf_indexesÚdefcolwidthÚstandardwidthÚdefault_row_heightÚdefault_row_height_mismatchÚdefault_row_hiddenÚdefault_additional_space_aboveÚdefault_additional_space_belowÚcolinfo_mapÚrowinfo_mapÚcol_label_rangesÚrow_label_rangesÚmerged_cellsÚrich_text_runlist_mapÚhorizontal_page_breaksÚvertical_page_breaksÚ_xf_index_statsÚ_sheet_visibilityÚ
visibilityÚ_WINDOW2_optionsÚsetattrÚfirst_visible_rowxÚfirst_visible_colxÚgridline_colour_indexÚgridline_colour_rgbÚhyperlink_listÚhyperlink_mapÚcell_note_mapÚ$cooked_page_break_preview_mag_factorÚcooked_normal_view_mag_factorÚ$cached_page_break_preview_mag_factorÚcached_normal_view_mag_factorÚscl_mag_factorÚ_ixfeÚ_cell_attr_to_xfxÚutter_max_rowsÚutter_max_colsÚ_first_full_rowx)Úselfr)   Úpositionr0   r1   ÚattrÚdefvals          úA/var/www/html/acx/venv/lib/python3.12/site-packages/xlrd/sheet.pyÚ__init__zSheet.__init__@  sE  € ØˆŒ	Ø ×-Ñ-ˆÔØ!ˆŒØ—|‘|ˆŒÜ˜œm˜_Ó-ˆŒÜ˜˜b˜TÓ"ˆŒØˆŒ	ØˆŒØŸ™ˆŒØ#×3Ñ3ˆÔØ×+Ñ+ˆÔØ×ÒØ ×0Ñ0ˆD�Mà ×2Ñ2ˆDŒMØ(,×(EÑ(EˆÔ%ØˆŒ
ØˆŒ
ØˆÔØˆÔØˆŒØˆŒØˆÔØˆÔØ "ˆÔØˆÔØ!ˆÔØ"&ˆÔØ+,ˆÔ(Ø"#ˆÔØ./ˆÔ+Ø./ˆÔ+ØˆÔØˆÔØ "ˆÔØ "ˆÔØˆÔØ%'ˆÔ"Ø&(ˆÔ#Ø$&ˆÔ!Ú+ˆÔØ×0Ñ0°Ñ8ˆŒÜ,ò 	(‰LˆD�&Ü�D˜$ Õ'ð	(à"#ˆÔØ"#ˆÔØ%)ˆÔ"Ø#'ˆÔ Ø ˆÔØˆÔØˆÔð 57ˆÔ1Ø-0ˆÔ*ð 56ˆÔ1Ø-.ˆÔ*Ø"ˆÔàˆŒ
Ø!#ˆÔà×Ñ Ò"Ø"'ˆDÕà"'ˆDÔØ!ˆÔà "ˆÕó    c                 óž   — | j                   r| j                  ||«      }nd}t        | j                  |   |   | j                  |   |   |«      S )zC
        :class:`Cell` object in the given row and column.
        N)r3   Úcell_xf_indexÚCellr@   r?   ©rg   ÚrowxÚcolxÚxfxs       rk   Úcellz
Sheet.cell”  sZ   € ð ×ÒØ×$Ñ$ T¨4Ó0‰CàˆCÜØ×Ñ˜TÑ" 4Ñ(Ø×Ñ˜dÑ# DÑ)Øó
ð 	
rm   c                 ó&   — | j                   |   |   S )z.Value of the cell in the given row and column.©r?   ©rg   rr   rs   s      rk   Ú
cell_valuezSheet.cell_value¢  s   € à× Ñ  Ñ& tÑ,Ð,rm   c                 ó&   — | j                   |   |   S )z
        Type of the cell in the given row and column.

        Refer to the documentation of the :class:`Cell` class.
        ©r@   rx   s      rk   Ú	cell_typezSheet.cell_type¦  s   € ð ×Ñ Ñ% dÑ+Ð+rm   c                 óÒ  — | j                  «        | j                  |   |   }|dkD  r| j                  dxx   dz  cc<   |S 	 | j                  |   j                  }|dkD  r| j                  dxx   dz  cc<   |S 	 	 | j                  |   j                  }|dk(  rd}| j                  dxx   dz  cc<   |S # t
        $ r Y ŒEw xY w# t
        $ r | j                  dxx   dz  cc<   Y yw xY w)z£
        XF index of the cell in the given row and column.
        This is an index into :attr:`~xlrd.book.Book.xf_list`.

        .. versionadded:: 0.6.1
        r"   r   r   é   é   é   )Úreq_fmt_inforA   rQ   rJ   Úxf_indexÚKeyErrorrI   rq   s       rk   ro   zSheet.cell_xf_index®  s  € ð 	×ÑÔØ×#Ñ# DÑ)¨$Ñ/ˆØ�Š8Ø× Ñ  Ó# qÑ(Ó#ØˆJð	Ø×"Ñ" 4Ñ(×1Ñ1ˆCØ�RŠxØ×$Ñ$ QÓ'¨1Ñ,Ó'Ø�
ð ð	Ø×"Ñ" 4Ñ(×1Ñ1ˆCØ�bŠy ˜#Ø× Ñ  Ó# qÑ(Ó#ØˆJøô ò 	Ùð	ûô ò 	à× Ñ  Ó# qÑ(Ó#Ùð	ús$   Á6B4 Á;8C Â4	C Â?C Ã C&Ã%C&c                 ó2   — t        | j                  |   «      S )z÷
        Returns the effective number of cells in the given row. For use with
        ``open_workbook(ragged_rows=True)`` which is likely to produce rows
        with fewer than :attr:`~Sheet.ncols` cells.

        .. versionadded:: 0.7.2
        )Úlenr?   )rg   rr   s     rk   Úrow_lenzSheet.row_lenÍ  s   € ô �4×$Ñ$ TÑ*Ó+Ð+rm   c                 óŠ   — t        t        | j                  |   «      «      D �cg c]  }| j                  ||«      ‘Œ c}S c c}w )zS
        Returns a sequence of the :class:`Cell` objects in the given row.
        )Úxranger…   r?   ru   rx   s      rk   Úrowz	Sheet.row×  sD   € ô œs 4×#4Ñ#4°TÑ#:Ó;Ó<ö
àð �I‰I�d˜DÕ!ò
ð 	
ùò 
s   ¤A c                 ór   — 	 |\  }}| j                  ||«      S # t        $ r | j                  |«      cY S w xY w)z�
        Takes either rowindex or (rowindex, colindex) as an index,
        and returns either row or cell respectively.
        )ru   Ú	TypeErrorr‰   )rg   ÚitemÚrowixÚcolixs       rk   Ú__getitem__zSheet.__getitem__à  sD   € ð
	+Ø‰LˆE�5ð —9‘9˜U EÓ*Ð*øô ò 	"ð —8‘8˜D“>Ò!ð	"ús   ‚ ™6µ6c                 ó@   ‡ — ˆ fd„t        ‰ j                  «      D «       S )z3Returns a generator for iterating through each row.c              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­w©N)r‰   )Ú.0Úindexrg   s     €rk   ú	<genexpr>z!Sheet.get_rows.<locals>.<genexpr>ð  s   øè ø€ Ò? E�—‘˜—Ñ?ùs   ƒ)Úranger9   ©rg   s   `rk   Úget_rowszSheet.get_rowsî  s   ø€ ã?¬U°4·:±:Ó->Ô?Ð?rm   c                 óN   — |€| j                   |   |d S | j                   |   || S )zM
        Returns a slice of the types of the cells in the given row.
        Nr{   ©rg   rr   Ú
start_colxÚend_colxs       rk   Ú	row_typeszSheet.row_typesõ  s:   € ð ÐØ×#Ñ# DÑ)¨*¨+Ð6Ð6Ø×Ñ Ñ% j°Ð:Ð:rm   c                 óN   — |€| j                   |   |d S | j                   |   || S )zN
        Returns a slice of the values of the cells in the given row.
        Nrw   rš   s       rk   Ú
row_valueszSheet.row_valuesý  s:   € ð ÐØ×$Ñ$ TÑ*¨:¨;Ð7Ð7Ø× Ñ  Ñ& z°(Ð;Ð;rm   c                 óÚ   — t        | j                  |   «      }|dk  r||z  }|dk  rd}|�||kD  r|}n
|dk  r||z  }t        ||«      D �cg c]  }| j                  ||«      ‘Œ c}S c c}w )zP
        Returns a slice of the :class:`Cell` objects in the given row.
        r   )r…   r?   rˆ   ru   )rg   rr   r›   rœ   Úncrs   s         rk   Ú	row_slicezSheet.row_slice  s‹   € ô �×"Ñ" 4Ñ(Ó)ˆØ˜Š>Ø˜"ÑˆJØ˜AŠ~Ø�
ØÐ˜x¨"š}Ø‰HØ˜Š\Ø˜‰NˆHô ˜z¨8Ó4ö
àð �I‰I�d˜DÕ!ò
ð 	
ùò 
s   ÁA(c                 óÂ   — | j                   }|dk  r||z  }|dk  rd}|�||kD  r|}n
|dk  r||z  }t        ||«      D �cg c]  }| j                  ||«      ‘Œ c}S c c}w )zS
        Returns a slice of the :class:`Cell` objects in the given column.
        r   )r9   rˆ   ru   ©rg   rs   Ú
start_rowxÚend_rowxÚnrrr   s         rk   Ú	col_slicezSheet.col_slice  s   € ð �Z‰ZˆØ˜Š>Ø˜"ÑˆJØ˜AŠ~Ø�
ØÐ˜x¨"š}Ø‰HØ˜Š\Ø˜‰NˆHô ˜z¨8Ó4ö
àð �I‰I�d˜DÕ!ò
ð 	
ùò 
ó   Á Ac                 óÂ   — | j                   }|dk  r||z  }|dk  rd}|�||kD  r|}n
|dk  r||z  }t        ||«      D �cg c]  }| j                  |   |   ‘Œ c}S c c}w )zQ
        Returns a slice of the values of the cells in the given column.
        r   )r9   rˆ   r?   r¤   s         rk   Ú
col_valueszSheet.col_values)  s„   € ð �Z‰ZˆØ˜Š>Ø˜"ÑˆJØ˜AŠ~Ø�
ØÐ˜x¨"š}Ø‰HØ˜Š\Ø˜‰NˆHô ˜z¨8Ó4ö
àð ×Ñ˜dÑ# DÓ)ò
ð 	
ùò 
r©   c                 óÂ   — | j                   }|dk  r||z  }|dk  rd}|�||kD  r|}n
|dk  r||z  }t        ||«      D �cg c]  }| j                  |   |   ‘Œ c}S c c}w )zP
        Returns a slice of the types of the cells in the given column.
        r   )r9   rˆ   r@   r¤   s         rk   Ú	col_typeszSheet.col_types;  s„   € ð �Z‰ZˆØ˜Š>Ø˜"ÑˆJØ˜AŠ~Ø�
ØÐ˜x¨"š}Ø‰HØ˜Š\Ø˜‰NˆHô ˜z¨8Ó4ö
àð ×Ñ˜TÑ" 4Ó(ò
ð 	
ùò 
r©   c           
      óJ  — | j                   dk\  r,t        | j                  d| j                  | j                  «       | j
                  rèdx}}| j                  }| j                  }| j
                  D ]l  }|\  }}}}	d|cxk  r|cxk  r|k  rn nd|cxk  r|	cxk  r|k  s/n t        | j                  d| j                  | j                  |«       ||kD  r|}|	|kD  sŒk|	}Œn || j                  kD  r|| _        d| _
        || j                  kD  r%| j                  |dz
  dt        t        d«      d«       | j                   dk\  rŠ| j                  | j                  k7  s| j                  | j                  k7  rXt        | j                  d	| j                  | j                  | j                  | j                  | j                  | j                  «       | j                   sÏ| j                  }
| j"                  }| j$                  }| j&                  }| j(                  }| j                  dk(  r| j                  }n| j                  }t+        |«      D ]\  }||   }t-        |«      }|
|z
  }|dkD  sŒt        d«      g|z  ||   |d  | j.                  |z  ||d  |sŒH| j0                  |z  ||   |d  Œ^ y y )
Nr€   z$tidy_dimensions: nrows=%d ncols=%d 
r   r   z6*** WARNING: sheet #%d (%r), MERGEDCELLS bad range %r
éþÿÿÿr   r"   z?NOTE *** sheet %d (%r): DIMENSIONS R,C = %d,%d should be %d,%d
)r2   Úfprintfr,   r9   r:   rM   rd   re   r1   r0   rf   r6   r-   ÚUNICODE_LITERALr=   r>   r4   r@   r?   rA   r3   rˆ   r…   r.   r/   )rg   r§   r¡   ÚumaxrowsÚumaxcolsÚcrangeÚrloÚrhiÚcloÚchir:   Ús_cell_typesÚs_cell_valuesÚs_cell_xf_indexesÚ
s_fmt_infoÚuboundrr   ÚtrowÚrlenÚnextras                       rk   Útidy_dimensionszSheet.tidy_dimensionsR  sr  € Ø�>‰>˜QÒÜØ—‘Ø7Ø—
‘
˜DŸJ™Jôð
 ×"Ò"ØˆKˆB�Ø×*Ñ*ˆHØ×*Ñ*ˆHØ×+Ñ+ò &�Ø%+Ñ"��S˜#˜sØ˜SÔ2 3Ô2¨(Õ2¸AÀÔ<VÀsÔ<VÈhÔ<VÜ˜DŸL™LØQØŸ™ T§Y¡Y°ô8ð ˜’8 #˜RØ˜“8 #™Rð&ð �D—J‘JŠØ�”
Ø(*�Ô%Ø�D—J‘JŠð —‘˜b ™d A¤}´oÀbÓ6IÈ2ÔNØ�N‰N˜aÒØ—‘˜tŸ~™~Ò-°·±¸t¿~¹~Ò1MÜØ—‘ØRØ—‘Ø—	‘	Ø—‘Ø—‘Ø—
‘
Ø—
‘
ô	ð ×Òà—J‘JˆEØ×+Ñ+ˆLØ ×-Ñ-ˆMØ $× 5Ñ 5ÐØ×-Ñ-ˆJà×$Ñ$¨Ò*ØŸ™‘à×.Ñ.�Ü˜v›ò J�Ø# DÑ)�Ü˜4“y�Ø ™�Ø˜A“:Ü2AÀ"Ó2EÐ1FÈÑ1O�M $Ñ'¨¨Ð.Ø"&§'¡'¨FÑ"2�D˜˜�KÚ!Ø9=¿¹À6Ñ9IÐ)¨$Ñ/°°Ñ6ñJð  rm   c                 ó  — |€| j                   |   }d|cxk  r| j                  k  sJ ‚ J ‚d|cxk  r| j                  k  sJ ‚ J ‚| j                  }	 |dz   }| j                  |k  r�| j
                  j                  }| j                  j                  }	| j                  j                  }
| j                  }| j                  }t        | j                  |«      D ]#  } ||dz  «        |	g «       |sŒ |
|dz  «       Œ% || _        | j
                  |   }| j                  |   }|r| j                  |   }t        |«      }|| j                  k\  r
|dz   | _        ||z
  }|s6|j                  |«       |j                  |«       |rj                  |«       y |dkD  r=|dz  }| j                  |z  ||d  t        d«      g|z  ||d  |r| j                  |z  |d  |||<   |||<   |r||<   y y #  t        d||| j                   ¬«       ‚ xY w)Nr   r   r   r6   ©Úfile)r8   re   rd   r3   r9   r@   Úappendr?   rA   r.   r/   rˆ   r…   r:   r±   Úprintr,   )rg   rr   rs   ÚctypeÚvaluer‚   Úfmt_infor§   ÚsctaÚscvaÚscxar.   r/   Ú_unusedÚ	types_rowÚ
values_rowÚfmt_rowÚltrÚ	num_emptys                      rk   r5   zSheet.put_cell_ragged�  s&  € Øˆ=à×1Ñ1°(Ñ;ˆEØ�DÔ.˜4×.Ñ.Ò.Ð.Ñ.Ð.Ð.Ø�DÔ.˜4×.Ñ.Ò.Ð.Ñ.Ð.Ð.Ø×'Ñ'ˆð1	Ø˜‘ˆBØ�z‰z˜BŠà×'Ñ'×.Ñ.�Ø×(Ñ(×/Ñ/�Ø×,Ñ,×3Ñ3�Ø—W‘W�Ø—W‘W�Ü% d§j¡j°"Ó5ò %�GÙ˜˜a™”LÙ˜”HÚÙ˜R !™V�ð	%ð
  �”
à×(Ñ(¨Ñ.ˆIØ×*Ñ*¨4Ñ0ˆJÙØ×/Ñ/°Ñ5�Ü�i“.ˆCØ�t—z‘zÒ!Ø! A™X�”
Ø˜s™
ˆIÙð × Ñ  Ô'Ø×!Ñ! %Ô(ÙØ—N‘N 8Ô,ØØ˜1Š}Ø˜Q‘�	ð #'§'¡'¨IÑ"5�	˜#˜$�Ü$3°BÓ$7Ð#8¸9Ñ#D�
˜3˜4Ð ÙØ$(§G¡G¨iÑ$7�G˜C˜D�MØ#ˆI�d‰OØ$ˆJ�tÑÙØ (�˜’ð øð	Ü�*˜d D¨t¯|©|Õ<Øús   ÁBG) Ã0B#G) ÆAG) Ç)Hc                 óÜ  — |€| j                   |   }	 || j                  |   |<   || j                  |   |<   | j                  r|| j                  |   |<   y y # t
        $ �rp |dz   }|dz   }d|cxk  r| j                  k  sJ ‚ J ‚d|cxk  r| j                  k  sJ ‚ J ‚|| j                  kD  r=|| _        || j                  k  rd| _
        n|| j                  cxkD  rdkD  r
n n|| _
        || j                  k  r®| j                  |   }| j                  t        |«      z
  }	|	dkD  �rC|j                  | j                  |	z  «       | j                  r+| j                  |   j                  | j                  |	z  «       | j                  |   j                  t        d«      g|	z  «       nÂ| j                  j                   }
| j                  j                   }| j                  j                   }| j                  }| j                  }| j                  }| j                  }t#        | j                  |«      D ]0  } |
||z  «        |t        d«      g|z  «       |sŒ& |||z  «       Œ2 || _	        	 || j                  |   |<   || j                  |   |<   | j                  r|| j                  |   |<   Y y Y y #  t%        d||| j&                  ¬«       ‚ xY w t%        d||| j&                  ¬«       ‚ xY w)Nr   r¯   r   r   r6   rÃ   )r8   r@   r?   r3   rA   Ú
IndexErrorre   rd   r:   r9   rf   r…   Úextendr.   r/   r±   rÅ   rˆ   rÆ   r,   )rg   rr   rs   rÇ   rÈ   r‚   r§   r¡   r¾   rÀ   rÊ   rË   rÌ   rÉ   r.   r/   rÍ   s                    rk   r7   zSheet.put_cell_unraggedÊ  sÙ  € Øˆ=à×1Ñ1°(Ñ;ˆEð@	Ø+0ˆD×Ñ˜TÑ" 4Ñ(Ø,1ˆD×Ñ˜dÑ# DÑ)Ø×#Ò#Ø4<�×%Ñ% dÑ+¨DÒ1ð $øäó 8	ð ˜‘ˆBØ˜‘ˆBØ˜Ô1˜d×1Ñ1Ò1Ð1Ñ1Ð1Ð1Ø˜Ô1˜d×1Ñ1Ò1Ð1Ñ1Ð1Ð1Ø�D—J‘JŠØ�”
ð
 ˜Ÿ
™
’?ð -/�DÕ)Ø˜D×1Ñ1Ô6°BÕ6Ø,0�DÔ)Ø�T—Z‘ZÒð ×'Ñ'¨Ñ-�ØŸ™¤c¨$£iÑ/�Ø˜A“:à—K‘K §¡¨&Ñ 0Ô1Ø×+Ò+Ø×-Ñ-¨dÑ3×:Ñ:¸4¿7¹7ÀVÑ;KÔLØ×%Ñ% dÑ+×2Ñ2´OÀBÓ4GÐ3HÈ6Ñ3QÕRà×'Ñ'×.Ñ.�Ø×(Ñ(×/Ñ/�Ø×,Ñ,×3Ñ3�Ø×/Ñ/�Ø—Z‘Z�Ø—W‘W�Ø—W‘W�Ü% d§j¡j°"Ó5ò &�Gá˜˜b™”MÙœ/¨"Ó-Ð.°Ñ3Ô4ÚÙ˜R "™W�ð&ð  �”
ðØ/4�× Ñ  Ñ& tÑ,Ø05�×!Ñ! $Ñ'¨Ñ-Ø×'Ò'Ø8@�D×)Ñ)¨$Ñ/°Ó5ñ (øðÜ�j $¨°4·<±<Õ@Øúð	Ü�*˜d D¨t¯|©|Õ<Øús&   “AA ÁG>K+ÉK+É+AJ1Ê1KËK+c                 óì5  — d}|xs | j                   dk\  }|xs | j                   dk\  }d}d}|j                  }| j                  |_        t        t        t        t
        t        t        f}| j                  }	t        }
|j                  }| j                  }| j                  }|xr |j                  }i }i }d}	  |«       \  }}}|t        k(  r |
d|d d «      \  }}}} |	||d ||«       �nº|t        k(  r_ |
d|«      \  }}}} |	||t         |j"                  |   |«       |�rƒ|j                  j%                  |«      }|�re|| j&                  ||f<   �nR|t(        k(  re |
d|dd	 «      \  }}}|t*        k  r,t-        |d	|j.                  xs |j1                  «       d¬
«      }nt3        |d	d¬
«      } |	||t         ||«       �nä|t4        k(  �r8 |
d|dd	 «      \  }}}|t*        k  r‰t7        |d	|j.                  xs |j1                  «       d¬
«      \  }}t9        ||   «      }|dz  }g }t;        |«      D ](  }|j=                  t        d|||dz    «      «       |dz  }Œ* |t?        |«      k(  suJ ‚tA        |d	d¬
«      \  }}t        d|||dz    «      d   }|dz  }g }t;        |«      D ](  }|j=                  t        d|||dz    «      «       |dz  }Œ* |t?        |«      k(  sJ ‚ |	||t         ||«       || j&                  ||f<   �n¢|tB        k(  r, |
d|d d	 «      \  }}}tE        |d	d «      } |	||d ||«       �nm|tF        k(  rk |
d|dd «      \  }}  |
d|dd  «      \  }!d}t;        | |!dz   «      D ]8  } |
d|||dz    «      \  }tE        ||dz   |d	z    «      }|d	z  } |	||d ||«       Œ: �nù|tH        k(  �rc|s�Œ |
d|dd «      \  }}"}#d|cxk  r| jJ                  k  s*n tM        d|| jJ                  fz  | jN                  ¬«       �ŒR|"|#f}$|j%                  |$«      }%|%€žtQ        «       x||$<   }%|"dz  |%_)        |"dz	  dz  |%_*        |#dz  |%_+        |#dz	  dz  |%_,        |#dz	  dz  |%_-        |#d	z	  dz  |%_.        |#dz	  dz  |%_/        |#dz	  dz  |%_0        |#dz	  dz  |%_1        |#dz	  dz  |%_2        |%j^                  sd|%_0        |%| jf                  |<   	 |�rÔtM        d||"|#| jN                  ¬«       |%jm                  | jN                  d| jj                  |fz  ¬«       �nŒ|tn        v �rh|dk\  r |
d |dd «      \  }}}}&}'n=|d!k\  r |
d |dd «      \  }}}}&}'n% |
d"|dd «      \  }}}(}&}'| jq                  |(||«      }|rAti        | jN                  d#||«        |
d|d$d% «      d   })ts        ||d%d  |)tt        ||d|¬&«       |&d	d' d(k(  �r­t9        |&d   «      }*|*dk(  �r*d}+	 |j                  «       \  },}-}.|,tv        k(  s	|,tx        k(  rd}+n |,t        k(  r1 |
d)|.d d «      \  }/}0}1}2}3}4|r‚ti        | jN                  d*|/|0|1|2|3«       nf|,t        k(  rK |
d+|.d d «      \  }/}0}1}2}5}4|rHti        | jN                  d,|/|0|1|2|5«       ts        ||.dd  |4tz        d|||¬-«       n|,|vrt}        d.|,z  «      ‚|+s0|j                  «       \  },}6}.|,tv        tx        fvrt}        d/|,z  «      ‚| j                  |.«      }| j                  ||t         ||«       �n¤|*dk(  r t9        |&d   «      }7 |	||t€        |7|«       �n|*dk(  r t9        |&d   «      }7 |	||t‚        |7|«       �nZ|*d0k(  r |	||t         d1|«       �nCt}        d2|*z  «      ‚ |
d3|&«      d   } |	||d ||«       �n|t„        k(  r/ |
d4|d d' «      \  }}}}7}8t€        t‚        f|8   }9 |	|||9|7|«       �nã|t†        k(  rï|s�Œt‰        «       }: |
d5|d d «      \  };}<|:_E        |:_0        }'d|;cxk  r|<cxk  rd6k  s!n tM        d7|;|<fz  | jN                  ¬«       ~:�Œpt�        |:|'d8«       t;        |;|<dz   «      D ]  }|d9kD  r n|:| jŽ                  |<   Œ |�rDti        | jN                  d:| jj                  |;|<|:jŠ                  |:j`                  |'«       |:jm                  | jN                  d;¬«       �në|t�        k(  r |
d|d d «      \  | _I        �nÍ|t”        k(  r<|dk7  r"tM        d<|t—        |«      | jN                  ¬«        |
d|d d «      \  | _L        �nˆ|tš        k(  rh|s�Œs|d=k(  sJ ‚|dd d>k(  sJ ‚t        d?|dd= «      }=g }>|=D ]+  }?t;        d@«      D ]  }@|>j=                  |?dz  «       |?dz  }?Œ Œ- t�        |>«      | _O        �n|t¨        k(  r&|s�Œä |
d|d d	 «      \  }}} |	||tª        d1|«       �nè|t¬        k(  r_|s�	Œ|dz	  }B |
dA|Bz  |«      }C|Cd d \  }}D|Cd   }E|B|Edz   |Dz
  k(  sJ ‚d}t;        DEdz   «      D ]  } |	||tª        d1C|   «       |dz  }Œ �n€|t®        k(  s	|t°        k(  rÔ|dk(  r�	Œ‡|dBk  r |
dC|dd' «      }Fn |
dD|ddE «      }FdF\  | _Y        | _Z        F\  | _[        | _\        |dGv rF| jº                  j¼                  r0| jº                  j¾                  s| jº                  jÁ                  «        |�rÞti        | jN                  dH| jj                  | jÂ                  | j¸                  | j¶                  «       �nš|tÄ        k(  r| jÇ                  |«       �n~|tÈ        k(  r| jË                  |«       �nb|tÌ        k(  rd}|rtM        dI| jN                  ¬«       d}�n<|tÎ        k(  r%| jÑ                  |«      }G|GrGjÒ                  }H�nd }H�n|tÔ        k(  r| j×                  |||«       �nî|tØ        k(  r | jÛ                  |«      }I|I�rÑH�rÎI|H<   d }H�nÅ|tÜ        k(  r| jß                  ||«       �n¨|tà        k(  r| jã                  |«       �nŒ|tä        v r~ |
d|dd «      \  }J}K|Kd@k7  r.tM        dJ||j                  |z
  dz
  JKfz  | jN                  ¬«       	 |j                  «       \  }L}}|LtÌ        k(  rnŒ|�rtM        dK| jN                  ¬«       �n|tæ        k(  r|jé                  |«       �nê|tê        k(  r>d}tí        | jî                  |||d'¬L«      }tí        | jð                  |||d'¬L«      }||k(  �s¥J ‚|t        k(  r4 |
d)|d d «      \  }/}0}1}2}3}4|�r„tM        dM|/|0|1|2|3| jN                  ¬«       �nf|t        k(  rN |
d+|d d «      \  }/}0}1}2}5}4|�rGtM        dN|/|0|1|2|5| jN                  ¬«       ts        ||dd  |4tz        d|¬-«       �n|tò        k(  rÌ|s�Œì|dBk\  sJ ‚t        dO|ddE «      \  }M}N}O}P}Q}R| j                   dk\  rAti        | jN                  dP| jj                  | jÂ                  MNtõ        OPdz   QRdz   «      «       g }Stí        |S|dE|d'¬L«      }| j                   dk\  �rsti        | jN                  dQt?        S«      dRj¡                  dS„ |SD «       «      «       �n:|tö        k(  �r\|s�ŒÂt        dT|dd «      \  }T}U}V}W}'|'dUz	  dz  }X|'dz	  dz  }Y|'dz	  dz  }Z| j                   dk\  rti        | jN                  dVTUVW|'XYZ«
       dE}Xrqt        dW|||dXz    «      \	  }[}\}]}^}_}`}a}b}c|adkD  dz  }d|\dkD  dz  }e|adkD  dz  }f|\dkD  dz  }g| j                   dk\  r!ti        | jN                  dY[]^_`bcdefg«       |dXz  }Yr|d'z  }Zr|dz  }|||Vz    }h||Vz  }|r)Vr'ti        | jN                  dZ«       tù        |hV|dd¬[«       |||Wz    }i||Wz  }||k(  sJ ‚|�r W�
rýti        | jN                  d\«       tù        |iW|dd¬[«       �
nÔ|tú        k(  rš|dk(  rt        d|d d «      \  }?| _~        nJ|dk(  r,t        d|«      \  | _~        d}?ti        | jN                  d]«       nd}?ti        | jN                  d^|«       |?dz  | _        |?dz	  dz  | _€        |?dz	  dz  | _�        |?d0z	  dz  | _‚        �
n1|�t        k(  rP|s�ŒËtí        | �j                  |d|d'¬L«      }|rti        | jN                  d_|dz
  d'z  «       ||k(  �	sãJ d`||fz  «       ‚|�t
        k(  rÍ|dBk\  r5|dk\  r0t        da|d d «      \  }j| _†        | _‡        | _ˆ        | _‰        | _Š        nl|d!k\  sJ ‚t        d|d d	 «      \  }j| _†        | _‡        t        db|d	dc «      | _‹        �t        | jº                  �j                  | �j                  d¬d«      | _ˆ        �t        D ]  \  }k}l�t        | |kjdz  «       |jdz  }jŒ �	n |�t         k(  rkt        d|«      \  }m}nd}C|nrmdez  nz  }CdCcxk  rdfk  s<n |s| j                   dk\  r'tM        dg| jj                  mnfz  | jN                  ¬«       de}CC| _‘        �n‹|�t$        k(  r7t        dh|d dc «      \  | _“        | _”        | _•        | _–        | _—        d| _˜        �nJ|�t2        k(  r­|s�Œ² |
d|d d «      \  }o|odd|dBk\  z  z   z  dz   |k(  sJ ‚d}|dBk  rB||k  �r| �j4                  j=                   |
d|||dz    «      d   dd9f«       |dz  }||k  rŒ:�nÏ||k  �rÉ| �j4                  j=                   |
d|||d	z    «      «       |d	z  }||k  rŒ4�n“|�t6        k(  r­|s�Œi |
d|d d «      \  }o|odd|dBk\  z  z   z  dz   |k(  sJ ‚d}|dBk  rB||k  �rT| �j8                  j=                   |
d|||dz    «      d   ddif«       |dz  }||k  rŒ:�n||k  �r| �j8                  j=                   |
d|||d	z    «      «       |d	z  }||k  rŒ4�nÜ|djk  �rÕ|�t:        k(  s
|�t<        k(  r|�j?                  ||«       �n­|�t@        k(  s
|�tB        k(  r|�jE                  |«       �n…|�tF        k(  rD| jº                  j¾                  s| jº                  jÁ                  «        |�jI                  |«       �n7|�tJ        k(  r|�jM                  |«       �n|�tN        k(  r|�jQ                  |«       �nû|�tR        k(  s|�tT        k(  s
|�tV        k(  r|�jY                  |«       �nÉ|�tZ        k(  r|�j]                  |«       �n«|�t^        k(  r|�ja                  |«       �n�|�tb        k(  r|�je                  |«       �no|�tf        k(  r|�ji                  |«       �nQ|�tj        k(  r |
d|«      d   | _¶        �n4|�tn        k(  r- |
dk|«      \  }}}(} |	||d || jq                  |(||«      «       �ný|�tp        k(  r7 |
dl|«      \  }}}(} |	||d �ts        |«      | jq                  |(||«      «       �n¼|�tt        k(  r^ |
dm|dd «      \  }}}(t-        |d|j.                  xs |j1                  «       d¬
«      } |	||t         || jq                  |(||«      «       �nT|�tv        k(  r= |
dn|«      \  }}}(}7}8t€        t‚        f|8   }9 |	|||9|7| jq                  |(||«      «       �n|�tx        k(  r7|s�Œï |
dm|d d «      \  }}}( |	||tª        d1| jq                  |(||«      «       �nÌ|�tz        k(  r|�j}                  |«       �n®|�t~        k(  �rG|s�ŒO |
do|ddp «      \  }}"}#d|cxk  r| jJ                  k  s*n tM        dq|| jJ                  fz  | jN                  ¬«       �Œž|#dz  sd}nC|drk(  r% |
d|ddr «      d   }p| jq                  d |d|p¬s«      }n|dtd }(| jq                  |(|d¬u«      }|"|#|f}$|j%                  |$«      }%|%€7tQ        «       x||$<   }%|"dz  |%_)        |"dz	  dz  |%_*        |#dz  |%_/        ||%_0        |%| jf                  |<   	 |�r£tM        dv||"| jN                  ¬«       |%jm                  | jN                  d| jj                  |fz  ¬«       �n\|�t€        k(  r²|s�Œ  |
dw|d d «      \  };}<}q|;|<k  stM        dx|;|<fz  | jN                  ¬«       �ŒÓt;        |;|<dz   «      D ]@  }|| jŽ                  v r| jŽ                  |   }:nt‰        «       }:|:| jŽ                  |<   q|:_E        ŒB |�rÆti        | jN                  dy| jj                  |;|<q«       �n |�t‚        k(  rë|s�Œ\ |
d|d d «      \  };}<|r#ti        | jN                  dz| jj                  |;|<«       d|;cxk  r|<cxk  rd6k  s+n tM        d{|;|<fz  | jN                  ¬«       �t…        |<d6«      }<t;        |;|<«      D ]g  }dd0||;z
  z  z   }r||r|rd0z    }(| jq                  |(d|¬|«      }|| jŽ                  v r| jŽ                  |   }:nt‰        «       }:|:| jŽ                  |<   ||:_0        Œi n«|�t†        k(  r¡d}}s�t‰        |s|dd «      D ]   \  }k}t�t        | |k�t‹        |td~k7  «      «       Œ" t        d|dd «      \  | _†        | _‡        | _Æ        t        db|ddt «      | _‹        �t        | jº                  �j                  | �j                  d¬d«      | _ˆ        n	 �Œï|s$t}        d€| jj                  | jÂ                  fz  «      ‚| �j�                  «        | �j‘                  «        ||_        y)�Nr   r   é   r   z<HHHdé   z<HHHiú<HHHé   ©Úlenlenz<BBz<Hú<HHé
   r¯   z<H4xH4xié   zT*** NOTE: ROW record has row index %d; should have 0 <= rowx < %d -- record ignored!rÃ   iÿ  r~   é   é   éÿ  é   é   r"   ÚROWz--- sh #%d, rowx=%d ---©Úheaderé2   z<HHH8sHé   z<HH3s8sBzFORMULA: rowx=%d colx=%d
é   é   )ÚbrowxÚbcolxÚblahÚr1c1é   s   ÿÿz<HHBBBxxxxxHzARRAY: %d %d %d %d %d
z<HHBBxBHzSHRFMLA (sub): %d %d %d %d %d
)rî   rì   rí   rï   z@Expected SHRFMLA, ARRAY, TABLEOP* or STRING record; found 0x%04xz$Expected STRING record; found 0x%04xr€   r   z+unexpected special case (0x%02x) in FORMULAú<dz<HHHBBz<HHHHHr(   zr*** NOTE: COLINFO record has first col index %d, last %d; should have 0 <= first <= last <= 255 -- record ignored!))r   r   Úhidden)r   r   Ú	bit1_flag)rð   i   Úoutline_level)é   i   Ú	collapsedéÿ   z>COLINFO sheet #%d cols %d-%d: wid=%d xf_index=%d flags=0x%04x
z===z*** ERROR *** STANDARDWIDTHé"   s     z<8ié    z<%dHr&   z<HxxHz<ixxHrõ   ©r   r   )é   ré   é(   z+sheet %d(%r) DIMENSIONS: ncols=%d nrows=%d
zSHEET.READ: EOFzM*** Unexpected embedded BOF (0x%04x) at offset %d: version=0x%04x type=0x%04xz---> found EOF)Ú	addr_sizezARRAY:zSHRFMLA (main):z<6Hz�
*** WARNING: Ignoring CONDFMT (conditional formatting) record
*** in Sheet %d (%r).
*** %d CF record(s); needs_recalc_or_redraw = %d
*** Bounding box is %s
z#*** %d individual range(s):
*** %s
z, c              3   ó,   K  — | ]  }t        |Ž –— Œ y ­wr’   )r   )r“   Úcoordss     rk   r•   zSheet.read.<locals>.<genexpr>¥  s   è ø€ Ò!K¸6¤+¨vÔ"6Ñ!Kùs   ‚z<BBHHié   z°
*** WARNING: Ignoring CF (conditional formatting) sub-record.
*** cf_type=%d, cmp_op=%d, sz1=%d, sz2=%d, flags=0x%08x
*** optional data blocks: font=%d, border=%d, pattern=%d
z <64x i i H H B 3x i 4x i i i 18xév   z�*** Font info: height=%d, weight=%d, escapement=%d,
*** underline=%d, colour_index=%d, esc=%d, underl=%d,
*** style=%d, posture=%d, canc=%d, cancellation=%d
z*** formula 1:
)Úreldeltarî   z*** formula 2:
zR*** WARNING: DEFAULTROWHEIGHT record len is 2, should be 4; assuming BIFF2 format
zR*** WARNING: DEFAULTROWHEIGHT record len is %d, should be 4; ignoring this record
zMERGEDCELLS: %d ranges
zMERGEDCELLS: pos=%d data_len=%dz	<HHHHxxHHú<BBBé	   )Údebugr%   é�  zHWARNING *** SCL rcd sheet %d: should have 0.1 <= num/den <= 4; got %d/%dz<HHHHBéÿÿ  é-   z<HH3sdz<HH3sHz<HH3sz<HH3sBBz<H4xH2xBé   zW*** NOTE: ROW_B2 record has row index %d; should have 0 <= rowx < %d -- record ignored!é   )Ú	cell_attrrr   rs   Útrue_xfxé   )rs   ÚROW_B2z<BBHzg*** NOTE: COLWIDTH record has first col index %d, last %d; should have first <= last -- record ignored!z&COLWIDTH sheet #%d cols %d-%d: wid=%d
z.COLUMNDEFAULT sheet #%d cols in range(%d, %d)
zd*** NOTE: COLUMNDEFAULT record has first col index %d, last %d; should have 0 <= first < last <= 256)rr   rs   )r   r   r   r   r   ó    z<HHBz Sheet %d (%r) missing EOF record)Ér2   r+   Ú
XL_SHRFMLAÚXL_ARRAYÚ
XL_TABLEOPÚXL_TABLEOP2Ú	XL_ARRAY2ÚXL_TABLEOP_B2r6   r   Úget_record_partsr*   r3   Ú_rich_text_runlist_mapÚ	XL_NUMBERÚXL_LABELSSTÚXL_CELL_TEXTÚ_sharedstringsÚgetrN   ÚXL_LABELÚBIFF_FIRST_UNICODEÚunpack_stringÚencodingÚderive_encodingÚunpack_unicodeÚ
XL_RSTRINGÚunpack_string_update_posÚ	BYTES_ORDrˆ   rÅ   r…   Úunpack_unicode_update_posÚXL_RKÚ	unpack_RKÚXL_MULRKÚXL_ROWrd   rÆ   r,   ÚRowinfoÚheightÚhas_default_heightrô   Úoutline_group_starts_endsrò   Úheight_mismatchÚhas_default_xf_indexr‚   Úadditional_space_aboveÚadditional_space_belowrJ   r°   r1   ÚdumpÚXL_FORMULA_OPCODESÚfixed_BIFF2_xfindexr   r   Ú	XL_STRINGÚXL_STRING_B2r   Ú	XLRDErrorÚstring_record_contentsÚXL_CELL_BOOLEANÚXL_CELL_ERRORÚ
XL_BOOLERRÚ
XL_COLINFOÚColinfoÚwidthÚupkbitsrI   ÚXL_DEFCOLWIDTHrB   ÚXL_STANDARDWIDTHÚreprrC   ÚXL_GCWÚtupleÚgcwÚjoinÚmapÚrstripÚreplaceÚXL_BLANKÚXL_CELL_BLANKÚXL_MULBLANKÚXL_DIMENSIONÚXL_DIMENSION2r9   r:   r=   r>   r)   Úxf_listÚ_xf_epilogue_doneÚxf_epiloguer0   ÚXL_HLINKÚhandle_hlinkÚXL_QUICKTIPÚhandle_quicktipÚXL_EOFÚXL_OBJÚ
handle_objÚidÚXL_MSO_DRAWINGÚhandle_msodrawingetcÚXL_TXOÚ
handle_txoÚXL_NOTEÚhandle_noteÚ	XL_FEAT11Úhandle_feat11ÚbofcodesÚ
XL_COUNTRYÚhandle_countryÚXL_LABELRANGESÚ)unpack_cell_range_address_list_update_posrL   rK   Ú
XL_CONDFMTr   ÚXL_CFr   ÚXL_DEFAULTROWHEIGHTrD   rE   rF   rG   rH   ÚXL_MERGEDCELLSrM   Ú
XL_WINDOW2rV   rW   rX   r_   r`   rY   r
   Ú
colour_maprT   rU   ÚXL_SCLra   ÚXL_PANEÚvert_split_posÚhorz_split_posÚhorz_split_first_visibleÚvert_split_first_visibleÚsplit_active_paneÚhas_pane_recordÚXL_HORIZONTALPAGEBREAKSrO   ÚXL_VERTICALPAGEBREAKSrP   Ú	XL_FORMATÚ
XL_FORMAT2Úhandle_formatÚXL_FONTÚXL_FONT_B3B4Úhandle_fontÚXL_STYLEÚhandle_styleÚ
XL_PALETTEÚhandle_paletteÚXL_BUILTINFMTCOUNTÚhandle_builtinfmtcountÚXL_XF4ÚXL_XF3ÚXL_XF2Ú	handle_xfÚXL_DATEMODEÚhandle_datemodeÚXL_CODEPAGEÚhandle_codepageÚXL_FILEPASSÚhandle_filepassÚXL_WRITEACCESSÚhandle_writeaccessÚXL_IXFErb   ÚXL_NUMBER_B2Ú
XL_INTEGERÚfloatÚXL_LABEL_B2ÚXL_BOOLERR_B2ÚXL_BLANK_B2ÚXL_EFONTÚhandle_efontÚ	XL_ROW_B2ÚXL_COLWIDTHÚXL_COLUMNDEFAULTÚminÚXL_WINDOW2_B2ÚzipÚintr   rÁ   Úupdate_cooked_mag_factors)urg   ÚbkÚDEBUGrî   Ú	blah_rowsÚblah_formulasrï   ÚoldposÚXL_SHRFMLA_ETC_ETCÚself_put_cellÚlocal_unpackÚbk_get_record_partsÚbvrÉ   Údo_sst_rich_textÚrowinfo_sharing_dictÚtxosÚ	eof_foundÚrcÚdata_lenÚdatarr   rs   r‚   ÚdÚsstindexÚrunlistÚstrgÚposÚnrtrÍ   Ú	mulrk_rowÚmulrk_firstÚ
mulrk_lastÚbits1Úbits2ÚkeyÚrÚ
result_strÚflagsr  ÚfmlalenÚ
first_byteÚ	gotstringÚrc2Ú	data2_lenÚdata2Úrow1xÚrownxÚcol1xÚcolnxÚarray_flagsÚtokslenÚnfmlasÚ_unused_lenrÈ   Úis_errÚcelltyÚcÚ
first_colxÚ	last_colxÚiguffrF  ÚbitsÚjÚshowgcwÚnitemsÚresultÚ	mul_firstÚmul_lastÚ	dim_tupleÚ	saved_objÚsaved_obj_idÚtxoÚversionÚboftypeÚcodeÚnum_CFsÚneeds_recalcÚbrowx1Úbrowx2Úbcolx1Úbcolx2ÚolistÚcf_typeÚcmp_opÚsz1Úsz2Ú
font_blockÚ
bord_blockÚ
patt_blockÚfont_heightÚfont_optionsÚweightÚ
escapementÚ	underlineÚfont_colour_indexÚtwo_bitsÚfont_escÚfont_underlÚ
font_styleÚpostureÚ	font_cancÚcancellationÚfmla1Úfmla2Úoptionsri   Ú_unused_defvalÚnumÚdenÚ
num_breaksrt   r?  ÚoffsetÚ
attr_namesÚcharsu                                                                                                                        rk   Úreadz
Sheet.read  sÀ  € àˆØÒ+˜Ÿ™¨!Ñ+ˆØÒ0˜TŸ^™^¨qÑ0ˆ	ØˆØˆØ—‘ˆØ—~‘~ˆŒäœ¤*¬kÜ”}ð
Ðð Ÿ™ˆÜˆØ ×1Ñ1ÐØ×ÑˆØ×'Ñ'ˆØ#ÒA¨×(AÑ(AÐØ!ÐØˆØˆ	Øá!4Ó!6ÑˆB�˜$ð ”YŠñ +7°wÀÀSÀbÀ	Ó*JÑ'��d˜H añ ˜d D¨$°°8Ö<Ø”{Ò"Ù1=¸gÀtÓ1LÑ.��d˜H há˜d D¬,¸×8IÑ8IÈ(Ñ8SÐU]Ô^Ú#Ø ×7Ñ7×;Ñ;¸HÓE�GÚØCJ˜×2Ñ2°D¸$°<Ó@Ø”x’Ù'3°F¸DÀÀ1¸IÓ'FÑ$��d˜HØÔ*Ò*Ü(¨¨q°"·+±+Ò2UÀ×ASÑASÓAUÐ^_Ô`‘Dä)¨$°¸!Ô<�DÙ˜d D¬,¸¸hÖGØ”zÓ!Ù'3°F¸DÀÀ1¸IÓ'FÑ$��d˜HØÔ*Ò*Ü 8¸¸qÀ"Ç+Á+ÒBeÐQS×QcÑQcÓQeÐnoÔ p‘I�D˜#Ü# D¨¡IÓ.�CØ˜1‘H�CØ �GÜ#)¨#£;ò !˜ØŸ™¤v¨e°T¸#¸cÀ!¹e°_Ó'EÔFØ˜q™™ð!ð ¤# d£)Ò+Ð+Ð+ä 9¸$ÀÈ!Ô L‘I�D˜#Ü   t¨C°°A± Ó7¸Ñ:�CØ˜1‘H�CØ �GÜ#)¨#£;ò !˜ØŸ™¤v¨e°T¸#¸cÀ!¹e°_Ó'EÔFØ˜q™™ð!ð ¤# d£)Ò+Ð+Ð+Ù˜d D¬,¸¸hÔGØ;B�×*Ñ*¨D°$¨<Ó8Ø”u’Ù'3°F¸DÀÀ!¸HÓ'EÑ$��d˜HÜ˜d 1 R˜jÓ)�Ù˜d D¨$°°8Ö<Ø”x’Ù)5°e¸TÀ!ÀA¸YÓ)GÑ&�	˜;Ù*¨4°°b°c°Ó;‘�
Ø�Ü" ;°
¸1±Ó=ò F�DÙ ,¨T°4¸¸CÀ¹E°?Ó C‘I�HÜ! $ s¨1¡u¨S°©UÐ"3Ó4�AØ˜1‘H�CÙ! )¨T°4¸¸HÕEò	Fð
 ”v“ñ  ¡Ù%1°*¸dÀ1ÀR¸jÓ%IÑ"��e˜UØ˜DÔ6 4×#6Ñ#6Ô6Üð Hà ×!4Ñ!4Ð5ñ6à<@¿L¹LõJñ Ø˜e�n�Ø(×,Ñ,¨SÓ1�Ø�9Ü4;³IÐ=Ð(¨Ñ-°ð$  % v™~�A”HØ,1°R©K¸1Ñ+<�AÔ(Ø&+¨a¡i�A”OØ38¸A±:ÀÑ2B�AÔ/Ø %¨¡
¨aÑ/�A”HØ).°!©°qÑ(8�AÔ%Ø.3°q©j¸AÑ-=�AÔ*Ø"'¨2¡+°Ñ!6�A”JØ05¸±¸qÑ/@�AÔ,Ø05¸±¸qÑ/@�AÔ,Ø×1Ò1Ø%'˜œ
Ø)*�× Ñ  Ñ&Øò Ü˜%  u¨e¸$¿,¹,ÕGØ—F‘F˜4Ÿ<™<Ø8¸D¿K¹KÈÐ;NÑNð ö PàÔ)Ò)ð ˜’8Ù>JÈ9ÐVZÐ[\Ð]_ÐV`Ó>aÑ;�D˜$ ¨*±eØ˜2’XÙ>JÈ9ÐVZÐ[\Ð]_ÐV`Ó>aÑ;�D˜$ ¨*±eá@LÈZÐY]Ð^_Ð`bÐYcÓ@dÑ=�D˜$ 	¨J¸Ø $× 8Ñ 8¸ÀDÈ$Ó O�HÙ ä˜DŸL™LÐ*FÈÈdÔSÙ*¨4°°b¸°Ó=¸aÑ@�GÜ% b¨$¨r¨s¨)°W¼nØ"¨$°Q¸TõCà˜a �? kÓ1Ü!*¨:°a©=Ó!9�JØ! Q“à$%˜	àà46×4GÑ4GÓ4IÑ1˜C ¨EØ"¤iÒ/°3¼,Ò3FØ,-¡	Ø!$¬¢á$0°ÀÀsÈÀÓ$Lñ !Q  u¨e°U¸KÈá#0Ü$+¨D¯L©LÐ:SØ(-¨u°e¸UÀKõ%Qð "%¬
Ò!2á$0°¸UÀ3ÀB¸ZÓ$Hñ !L  u¨e°U¸FÀGá#0Ü$+¨D¯L©LÐ:[Ø(-¨u°e¸UÀFô%Lä$5°b¸%ÀÀ¸*ÀgÔO_Ø-.°dÀ$ÈTö%Sà!$Ð,>Ñ!>Ü&/Ø$fÐilÑ$ló'nð !nñ  )Ø68×6IÑ6IÓ6KÑ3˜C ¨eØ"¬9´lÐ*CÑCÜ&/Ð0VÐY\Ñ0\Ó&]Ð ]à#×:Ñ:¸5ÓA˜ØŸ™ d¨D´,ÀÀhÖOà# qšä )¨*°Q©-Ó 8˜Ù% d¨D´/À5È(ÖSØ# qšä )¨*°Q©-Ó 8˜Ù% d¨D´-ÀÈÖQØ# qšá% d¨D´,ÀÀHÖMä'Ð(UÐXbÑ(bÓcÐcñ % T¨:Ó6°qÑ9�AÙ! $¨¨d°A°xÖ@Ø”zÒ!Ù6BÀ8ÈTÐRTÐSTÈXÓ6VÑ3��d˜H e¨Vô *¬=Ð9¸&ÑA�á˜d D¨&°%¸ÖBØ”zÒ!Ù¡Ü“I�á" 8¨T°#°2¨YÓ7ñ B�
˜I q¤w°´
¸Eð ˜JÔ:¨)Ô:°sÔ:ô ð Sà% yÐ1ñ2à8<¿¹õFð ÙÜ˜˜5ð #ô ô # :¨y¸©{Ó;ò ;�DØ˜c’z¡5Ø-.�D×$Ñ$ TÑ*Øð;ò ÜØŸ™ØYØŸ™ Z°¸A¿G¹GÀQÇZÁZÐQVôð
 —F‘F˜4Ÿ<™<°�FÖ6Ø”~Ò%Ù$0°°t¸B¸Q°xÓ$@Ñ!�Ô ÙØÔ'Ò'Ø˜q’=ÜÐ7¸Ä4ÈÃ:ÐTX×T`ÑT`ÕaÙ&2°4¸¸b¸q¸Ó&BÑ#�Ô"ÙØ”v’Ù¡Ø 2’~Ð%�~Ø˜A˜a�y KÒ/Ð/Ð/Ü˜u d¨1¨R jÓ1�Ø�Ø!ò #�DÜ# B›Zò #˜ØŸ
™
 4¨!¡8Ô,Ø ™
™ñ#ð#ô ! ›:�”Ùð ”x’Ù¡Ù'3°F¸DÀÀ!¸HÓ'EÑ$��d˜Há˜d D¬-¸¸XÖFØ”{Ò"Ù¡Ø! Q™�Ù% f¨v¡o°tÓ<�Ø"(¨¨! *‘��iØ! "™:�à ¨A¡°	Ñ!9Ò9Ð9Ð9Ø�Ü" 9¨h¸©lÓ;ò �DÙ! $¨¬m¸RÀÈÁÔMØ˜1‘H‘Còð ”|Ò# r¬]Ò':Ø˜q’=áð ˜’7Ù ,¨W°d¸1¸Q°iÓ @‘Iá ,¨W°d¸1¸R°jÓ A�IØ)-Ñ&�”
˜DœJØ1:Ñ.�” ¤Ø˜Ñ%¨$¯)©)×*;Ò*;ÀDÇIÁI×D_ÒD_Ø—I‘I×)Ñ)Ô+ÚÜØŸ™ØFØŸ™ T§Y¡Y°·±ÀÇÁöð
 ”x’Ø×!Ñ! $Ö'Ø”{Ò"Ø×$Ñ$ TÖ*Ø”v’Ø�Ùœ%Ð 1¸¿¹ÕEØ�	ÙØ”v’à ŸO™O¨DÓ1�	Ù¨Y¯\©\šlØ%)’lØ”~Ò%Ø×)Ñ)¨"¨h¸Ö=Ø”v’Ø—o‘o dÓ+�Úš<Ø),�D˜Ñ&Ø#'’LØ”w’Ø× Ñ   tÖ,Ø”y’Ø×"Ñ" 4Ö(Ø”x‘Ù#/°°t¸A¸a°yÓ#AÑ �˜Ø˜d’?ÜÐiØ˜rŸ|™|¨hÑ6¸Ñ:¸GÀWÐMñNØTX×T`ÑT`õbàØ+-×+>Ñ+>Ó+@Ñ(�D˜( DØœv’~Øð ò œ%Ð 0°t·|±|×DØ”zÒ!Ø×!Ñ! $Ö'Ø”~Ò%Ø�Ü?Ø×)Ñ)¨4°°bÀAô�ô @Ø×)Ñ)¨4°°bÀAô�ð ˜h“Ð&�Ø”x’á  °°c°r°Ó;ñ A��u˜e U¨K¸â Ü˜( E¨5°%¸ÀÐRV×R^ÑR^×_à”zÒ!á  ¨T°#°2¨YÓ7ñ <��u˜e U¨F°Gâ ÜÐ+¨U°E¸5À%ÈÐVZ×VbÑVbÕcÜ% b¨$¨r¨s¨)°WÔ>NØ d°$¸T÷Cà”zÒ!Ù¡Ø˜R’x��xä˜5 $ q¨ *Ó-ñ F�˜ v¨v°v¸và—>‘> QÒ&ÜØŸ™ð3ð Ÿ™ T§Y¡Y°¸Ü# F¨F°1©H°f¸fÀQ¹hÓGôð �Ü?Ø˜4  R°1ô6�ð —>‘> QÓ&ÜØŸ™ð#ä˜E›
ØŸ	™	Ñ!KÀUÔ!KÓKöð ”u“Ù¡Ü39¸(ÀDÈÈ2ÀJÓ3OÑ0�˜  c¨5Ø# r™k¨QÑ.�
Ø# r™k¨QÑ.�
Ø# r™k¨QÑ.�
Ø—>‘> QÒ&ÜØŸ™ðUð   ¨¨c°5Ø" J°
ôð �ÙäKQÐRtÐvzÐ{~ð  @Cð  DGñ  @Gð  wHó  LIñI�[ ,°¸
ÀIØ&¨°(¸KØ"*¨Q¡,°!Ñ!3�JØ+¨aÑ/°1Ñ4�GØ!)¨A¡°Ñ 2�IØ$0°1Ñ$4¸Ñ#9�LØ—~‘~¨Ò*ÜØ ŸL™LðSð (¨°¸YØ-¨x¸Ø&¨°¸Lôð ˜3‘J�CÙØ˜1‘H�CÙØ˜1‘H�CØ˜S  S¡Ð)�Ø�s‘
�Ù™CÜ˜DŸL™LÐ*<Ô=Ü   U¨C°¸aÀaÕHØ˜S  S¡Ð)�Ø�s‘
�Ø˜h’Ð&�ÚšCÜ˜DŸL™LÐ*<Ô=Ü   U¨C°¸aÀa×HØÔ*Ò*Ø˜q’=Ü4:¸5À$ÀrÈÀ(Ó4KÑ1�D˜$Õ1Ø ’]Ü/5°d¸DÓ/AÑ,�DÔ+Ø�DÜ˜DŸL™Lð?õ@ð �DÜ˜DŸL™Lð>à ô"ð 48¸!±8�Ô0Ø+/°1©9¸©/�Ô'Ø7;¸q±yÀA±o�Ô3Ø7;¸q±yÀA±o�Ö3Ø•~Ò%Ù¡Ü?Ø×%Ò% t¨Q°¸aôA�áÜ˜DŸL™LØ2°S¸1±WÀ±NôDà˜h“ð HØ5¸¸h¸ÑGóH�à•zÒ!Ø˜’8 ¨B¢ô ˜{¨D°°"¨IÓ6ñØØÔ/°Ô1HØÔ2ØÔAØÕ:ð  š8�O˜8ô ˜v t¨B¨Q xÓ0ñØØÔ/°Ô1Hä/5°f¸dÀ1ÀQ¸iÓ/H�DÔ,Ý1EØŸ	™	×,Ò,¨d×.FÒ.FÈaô2Q�DÔ.õ  -=ò "Ñ(�D˜.Ý˜D $¨°!©Ô4Ø ‘M‘Gò"ð •v’Ü! %¨Ó.‘��SØ�ÙØ! C™i¨CÑ/�FØ˜VÔ* sÔ*Ù §¡°!Ò 3ÜØfØ#Ÿ{™{¨C°Ð5ñ6à!%§¡õð
 !�FØ&,�Ö#Ø•w’ô ˜8 T¨"¨1 XÓ.ñØÔ'ØÔ'ØÔ1ØÔ1ØÔ*à'(�Ö$ØÕ.Ò.Ù¡Ù*¨4°°b°q°Ó:‘�
Ø! Q¨¨b°B©h©Ñ%7Ñ8¸1Ñ<ÀÒHÐHÐHØ�Ø˜’7Ø ›.Ø×3Ò3×:Ñ:¹LÈÈtÐTWÐX[Ð\]ÑX]ÈÓ<_Ð`aÑ<bÐdeÐgjÐ;kÔlØ˜q™˜ð  �.ð  ›.Ø×3Ò3×:Ñ:¹<ÈÐPTÐUXÐY\Ð]^ÑY^ÐP_Ó;`ÔaØ˜q™˜ð  �.ð Õ,Ò,Ù¡Ù*¨4°°b°q°Ó:‘�
Ø! Q¨¨b°B©h©Ñ%7Ñ8¸1Ñ<ÀÒHÐHÐHØ�Ø˜’7Ø ›.Ø×1Ò1×8Ñ8¹,ÀtÈTÐRUÐVYÐZ[ÑV[È_Ó:]Ð^_Ñ:`ÐbcÐejÐ9kÔlØ˜q™˜ð  �.ð  ›.Ø×1Ò1×8Ñ8¹ÀfÈdÐSVÐWZÐ[\ÑW\ÈoÓ9^Ô_Ø˜q™˜ð  �.ð �r“Ø�’? b­JÒ&6Ø×$Ò$ T¨2Ö.Ø�7’] b­LÒ&8Ø—N’N 4Ö(Ø�8’^ØŸ9™9×6Ò6ØŸ	™	×-Ñ-Ô/Ø—O’O DÖ)Ø�:Ò%Ø×%Ò% dÖ+ØÕ-Ò-Ø×-Ò-¨dÖ3Ø�6’\ R­6¢\°R½6²\Ø—L’L Ö&Ø�;Ò&Ø×&Ò& tÖ,Ø�;Ò&Ø×&Ò& tÖ,Ø�;Ò&Ø×&Ò& tÖ,Ø�>Ò)Ø×)Ò)¨$Ö/Ø�7’]Ù!-¨d°DÓ!9¸!Ñ!<�D–JØ�<Ò'Ù/;¸HÀdÓ/KÑ,�D˜$ 	¨1Ù! $¨¨d°A°t×7OÑ7OÐPYÐ[_ÐaeÓ7fÖgØ�:Ò%Ù/;¸HÀdÓ/KÑ,�D˜$ 	¨1Ù! $¨¨dµE¸!³H¸d×>VÑ>VÐW`ÐbfÐhlÓ>mÖnØ�;Ò&Ù,8¸À$ÀqÈÀ)Ó,LÑ)�D˜$ 	Ü(¨¨q°"·+±+Ò2UÀ×ASÑASÓAUÐ^_Ô`�DÙ! $¨¬l¸DÀ$×BZÑBZÐ[dÐfjÐlpÓBqÖrØ�=Ò(Ù;GÈ	ÐSWÓ;XÑ8�D˜$ 	¨5°&Ü-¬}Ð=¸fÑE�Fá! $¨¨f°e¸T×=UÑ=UÐV_ÐaeÐgkÓ=lÖmØ�;Ò&Ù#¡XÙ,8¸À$ÀrÈÀ(Ó,KÑ)�D˜$ 	Ù! $¨¬m¸RÀ×AYÑAYÐZcÐeiÐkoÓApÖqØ�8’^Ø—O’O DÖ)Ø�9“_Ù#¡XÙ)5°jÀ$ÀqÈÀ*Ó)MÑ&�D˜% Ø Ô: t×':Ñ':Ô:Üð Là# T×%8Ñ%8Ð9ñ:à@DÇÁõNñ !Ø! AšIØ#%™Ø! Ršá*¨4°°b¸°Ó=¸aÑ@˜Ø#'×#;Ñ#;ÀdÐQUÐ\^ÐilÐ#;Ó#m™à$(¨¨B K˜	Ø#'×#;Ñ#;¸IÀtÐRTÐ#;Ó#U˜Ø  %¨Ð2�CØ,×0Ñ0°Ó5�AØ�yÜ8?»	ÐAÐ,¨SÑ1°AØ#(¨6¡>˜œØ05¸±¸qÑ/@˜Ô,Ø16¸±˜Ô.Ø%-˜œ
ð ./�D×$Ñ$ TÑ*Øò !Ü˜h¨¨e¸$¿,¹,ÕGØŸ™˜tŸ|™|Ø#<ÀÇÁÈTÐ?RÑ#Rð ö Tà�;Ò&Ù#¡Xá& v¨t°B°Q¨xÓ8ñ 1�J 	¨5à%¨Ò2Üð Kà)¨9Ð5ñ6à<@¿L¹LõJñ !Ü & z°9¸Q±;Ó ?ò (˜Ø 4×#3Ñ#3Ñ3Ø $× 0Ñ 0°Ñ 6™Aä '£	˜AØ56˜D×,Ñ,¨TÑ2Ø"'˜�ð(ò ÜØ ŸL™LØEØ ŸK™K¨°YÀöð
 Õ+Ò+Ù#¡XÙ,8¸ÀÀRÀaÀÓ,IÑ)�J 	áÜØ ŸL™LØMØ ŸK™K¨°Yôð
  
Ô=¨YÔ=¸#Ô=Üð Cà)¨9Ð5ñ6à<@¿L¹LõJõ %(¨	°3Ó$7˜	Ü & z°9Ó =ò 	.˜Ø!" Q¨$°Ñ*;Ñ%<Ñ!<˜Ø$(¨°°q±Ð$9˜	Ø#'×#;Ñ#;¸IÈBÐUYÐ#;Ó#Z˜Ø 4×#3Ñ#3Ñ3Ø $× 0Ñ 0°Ñ 6™Aä '£	˜AØ56˜D×,Ñ,¨TÑ2Ø%-˜�
ñ	.ð �=Ò(ð"@�Jå&)¨*°d¸1¸Q°iÓ&@ò @™
˜˜dÝ  d­C°¸±Ó,>Õ?ð@ô
 ˜v t¨A¨b zÓ2ñØÔ/°Ô1HØÔ7ä/5°f¸dÀ2Àb¸kÓ/J�DÔ,Ý1EØŸ	™	×,Ò,¨d×.FÒ.FÈaô2Q�DÕ.ð ñe ñf ÜÐ>Ø—;‘; §	¡	Ð*ñ+ó ,ð ,à×ÒÔØ×&Ò&Ô(ØˆŒØrm   c                 óú  — | j                   }| j                  }|dk\  dz   }t        dd|dz
     z   |d | «      d   }|}|dk  r|j                  xs |j	                  «       }d}t        d«      }		 |dk\  rt        ||   «      dz  }
d|
   }|dz  }t        ||d  «      }|	|z  }	|t        |«      z  }||k(  r|	S ||kD  rd	||fz  }t        |«      ‚|j                  «       \  }}}|t        k7  rt        d
|z  «      ‚d}ŒŽ)Nré   r   ú<ÚBHr   r&   r   )Úlatin_1Ú	utf_16_lez,STRING/CONTINUE: expected %d chars, found %dz2Expected CONTINUE record; found record-type 0x%04X)r*   r)   r   r   r!  r±   r%  Úunicoder…   r8  r  ÚXL_CONTINUE)rg   r±  rª  r¡  rÜ   Únchars_expectedr  ÚencÚnchars_foundrÙ  ÚflagÚchunkÚmsgr¯  rÎ  s                  rk   r9  zSheet.string_record_contentsæ  sB  € Ø×ÑˆØ�Y‰YˆØ˜‘(˜a‘ˆÜ   t¨F°Q©JÑ'7Ñ!7¸¸g¸v¸ÓGÈÑJˆØˆØ�Š7Ø—+‘+Ò5 ×!3Ñ!3Ó!5ˆCØˆÜ  Ó$ˆØØ�RŠxÜ   f¡Ó.°Ñ2�Ø.¨tÑ4�Ø˜!‘�Ü˜D  ˜M¨3Ó/ˆEØ�e‰OˆFØœC ›JÑ&ˆLØ˜Ò.Ø�Ø˜oÒ-ØEØ&¨Ð5ñ6�ä “nÐ$Ø$&×$7Ñ$7Ó$9Ñ!ˆB�˜TØ”[Ò ÜØHÈ2ÑMóOð OàˆFð% rm   c                 ód  — t         xs | j                  dkD  }| j                  r„| j                  €d| _        n| j                  | _        | j
                  }d|cxk  rdk  s@n |r0t        d| j                  | j
                  fz  | j                  ¬«       | j                  }|| _	        y | j                  €d| _	        n| j                  | _	        | j                  }|sd}nLd|cxk  rdk  sAn |r1t        d| j                  ›d	| j                  ›�| j                  ¬«       | j                  }|| _        y )
Nr   r%   rÞ   r  zGWARNING *** WINDOW2 rcd sheet %d: Bad cached_normal_view_mag_factor: %drÃ   r$   zWARNING *** WINDOW2 rcd sheet z,: Bad cached_page_break_preview_mag_factor: )r¢  r2   r   ra   r]   r`   rÆ   r1   r,   r^   r_   )rg   rî   Úzooms      rk   r   zSheet.update_cooked_mag_factors  s  € ô Ò*˜Ÿ™¨Ñ*ˆØ×*Ò*Ø×"Ñ"Ð*Ø<?�Õ9à<@×<OÑ<O�Ô9Ø×5Ñ5ˆDØ˜$Ô$ Ô$ÙÜØaØŸ;™;¨×(JÑ(JÐKñLà!Ÿ\™\õð
 ×@Ñ@�Ø15ˆDÕ.ð ×"Ñ"Ð*Ø58�Õ2à59×5HÑ5H�Ô2Ø×<Ñ<ˆDÙà‘Ø˜DÔ' CÔ'ÙÝàŸ;›;¨×(QÒ(QðSà!Ÿ\™\õð
 ×9Ñ9�Ø8<ˆDÕ5rm   c                 ój  — d}|xs | j                   dk\  }| j                  dk(  rn| j                  j                  r@|�|}nt	        |d   «      dz  }|dk(  r#| j
                  €t        d«      ‚| j
                  }|S dx| _        | j                  _        t	        |d   «      dz  }|dk(  sJ ‚| j                  j                  |«      }|�|S |rt        | j                  d|||«       | j                  j                  s&t        d«      D ]  }| j                  d	|d
k  ¬«       Œ | j                  |¬«      }|S )Nr   r   rû   é?   z?BIFF2 cell record has XF index 63 but no preceding IXFE record.rê   zNew cell_attr %r at (%r, %r)
rß   s   @  r~   )r  Ústyle)r  )r2   r*   r)   rP  r%  rb   r8  rc   r  r°   r,   rˆ   Úinsert_new_BIFF20_xf)	rg   r  rr   rs   r  r¢  rî   rt   Úxfx_slots	            rk   r5  zSheet.fixed_BIFF2_xfindex1  s>  € ØˆØÒ+˜Ÿ™¨!Ñ+ˆØ×Ñ Ò"Ø�y‰y× Ò ØÐ'Ø"‘Cä# I¨a¡LÓ1°DÑ8�CØ˜$’;Ø—z‘zÐ)Ü'Ð(iÓjÐjØŸ*™*�Cð
 �
à9;Ð;ˆDÔ §	¡	Ô 6ä˜Y q™\Ó*¨TÑ1ˆØ˜1Š}Ðˆ}Ø×$Ñ$×(Ñ(¨Ó3ˆØˆ?ØˆJÙÜ�D—L‘LÐ"BÀIÈtÐUYÔZØ�y‰y× Ò Ü˜b“zò U�Ø×)Ñ)°OÈ3ÐQSÉ8Ð)ÕTðUà×'Ñ'°)Ð'Ó<ˆØˆ
rm   c           
      ó’  — d}|xs | j                   dk\  }| j                  }t        |j                  «      }| j	                  ||«      }||_        |j                  j                  |«       |r!|j                  | j                  d|z  d¬«       |j                  |j                  vr�|j                  r9d}t        | j                  ||j
                  |j                  |j                  «       t        |j                  t        t        d«      «      }	|	|j                  |j                  <   |j                  j                  |	«       t         t"        t        t"        t$        t"        t&        t(        t*        t"        i}
|j                  |j                     }	|
|	j,                     }|| j.                  |j
                  <   || j0                  |<   |S )Nr   r   z=== Faked XF %d ===z======©rç   Úfooterz1ERROR *** XF[%d] unknown format key (%d, 0x%04x)
ÚGeneral)r2   r)   r…   rP  Úfake_XF_from_BIFF20_cell_attrr‚   rÅ   r3  r,   Ú
format_keyÚ
format_mapr°   r	   ÚFUNr±   Úformat_listÚFNUÚXL_CELL_NUMBERÚFGEÚFDTÚXL_CELL_DATEÚFTXÚtyper8   rc   )rg   r  r  r¢  rî   r)   rt   Úxfr  ÚfmtÚcellty_from_fmttyrÐ  s               rk   r  zSheet.insert_new_BIFF20_xfS  sd  € ØˆØÒ+˜Ÿ™¨!Ñ+ˆØ�y‰yˆÜ�$—,‘,ÓˆØ×/Ñ/°	¸5ÓAˆØˆŒØ�‰×Ñ˜BÔÙØ�G‰G�D—L‘LÐ)>ÀÑ)DÈXˆGÔVØ�=‰= §¡Ñ/Ø�}Š}ØJ�Ü˜Ÿ™ cØŸ™ R§]¡]°B·M±MôCä˜Ÿ™¬¬_¸YÓ-GÓHˆCØ-0ˆD�O‰O˜BŸM™MÑ*Ø×Ñ×#Ñ# CÔ(ä”Ü”Ü”Ü”Ü”ð
Ðð �o‰o˜bŸm™mÑ,ˆØ" 3§8¡8Ñ,ˆØ5;ˆ×%Ñ% b§k¡kÑ2Ø,/ˆ×Ñ˜yÑ)Øˆ
rm   c                 ó²  — ddl m}m}m}m}m}  |«       } |«       |_        d|j                  _        d|j                  _        d|j                  _	         |«       |_
        d|j                  _        d|j                  _        d|j                  _        d|j                  _         |«       |_         |«       |_        t#        d|«      \  }	}
}|
dz  |_        |
dz  dz	  |_        t)        |j                   |	d«       |d	z  |j                  _        d
D ]I  \  }}||z  rd\  }}nd\  }}t-        |j                  |dz   |«       t-        |j                  |dz   |«       ŒK |j                  }|dz  rd|_        nd|_        d|_        d|_        d|   |_        d|j                  _        d|j                  _        g d¢}|D ]  }d|z   dz   }t-        ||d«       Œ |S )Nr   )ÚXFÚXFAlignmentÚXFBorderÚXFBackgroundÚXFProtectionr   r  r  éÀ   rÚ   ))rÚ   r#   Úcell_locked)rà   é€   Úformula_hiddenrà   ))rð   Úleft)rß   Úright)rù   Útop)r#   Úbottom)rð   r   rú   Ú_colour_indexÚ_line_styler8  é   r  rð   )râ   r   r   )ÚformatÚfontÚ	alignmentÚborderÚ
backgroundÚ
protectionÚ_Ú_flag)Ú
formattingr1  r2  r3  r4  r5  rC  Úindent_levelÚshrink_to_fitÚtext_directionrD  Údiag_upÚ	diag_downÚdiag_colour_indexÚdiag_line_stylerE  rF  r   r"  Ú
font_indexr@  Ú	hor_alignrU   Úfill_patternÚbackground_colour_indexÚpattern_colour_indexÚparent_style_indexÚ
vert_alignÚrotation)rg   r  r  r1  r2  r3  r4  r5  r-  Ú	prot_bitsÚfont_and_formatÚ
halign_etcÚmaskÚsideÚcolour_indexÚ
line_styleÚbgÚ
attr_stemsÚ	attr_stemri   s                       rk   r!  z#Sheet.fake_XF_from_BIFF20_cell_attrr  sÉ  € ßUÕUÙ‹TˆÙ"“}ˆŒØ$%ˆ�‰Ô!Ø%&ˆ�‰Ô"Ø&'ˆ�‰Ô#Ù“JˆŒ	Øˆ�	‰	ÔØˆ�	‰	ÔØ&'ˆ�	‰	Ô#Ø$%ˆ�	‰	Ô!Ù$›ˆŒÙ$›ˆŒÜ39¸&À)Ó3LÑ0ˆ�O ZØ'¨$Ñ.ˆŒØ(¨4Ñ/°AÑ5ˆŒÜ�—‘˜yð +
ô 	ð ",¨dÑ!2ˆ�‰ÔØ\ò 	A‰JˆD�$Ø˜DÒ Ø+/Ñ(�™jà+/Ñ(�˜jÜ�B—I‘I˜t oÑ5°|ÔDÜ�B—I‘I˜t mÑ3°ZÕ@ð	Að �]‰]ˆØ˜ÒØ ˆB�OàˆBŒOØ%&ˆÔ"Ø"#ˆÔØ +¨EÑ 2ˆÔØ"#ˆ�‰ÔØ !ˆ�‰Ôò
ˆ
ð $ò 	!ˆIØ˜‘? WÑ,ˆDÜ�B˜˜aÕ ð	!ð ˆ	rm   c                 ó2   — | j                   st        d«      ‚y )Nz9Feature requires open_workbook(..., formatting_info=True))r3   r8  r—   s    rk   r�   zSheet.req_fmt_info¦  s   € Ø×#Ò#ÜÐWÓXÐXð $rm   c                 ó.  — | j                  «        | j                  dk\  rB| j                  j                  |d«      }|�|j                  S | j
                  �¥| j
                  S | j                  dk\  rQ| j                  |   r| j
                  �o| j
                  S | j                  j                  |d«      }|�E|j                  S | j                  dk(  r*| j                  j                  |d«      }|�|j                  S | j                  �| j                  dz  S y)a  
        Determine column display width.

        :param colx:
          Index of the queried column, range 0 to 255.
          Note that it is possible to find out the width that will be used to
          display columns with no cell information e.g. column IV (colx=255).

        :return:
          The column width that will be used for displaying
          the given column by Excel, in units of 1/256th of the width of a
          standard character (the digit zero in the first font).

        .. versionadded:: 0.6.1
        r&   Nrü   ré   r(   i   )r�   r*   rI   r  r?  rC   rF  rB   )rg   rs   Úcolinfos      rk   Úcomputed_column_widthzSheet.computed_column_widthª  s  € ð  	×ÑÔØ×Ñ Ò"Ø×&Ñ&×*Ñ*¨4°Ó6ˆGØÐ"Ø—}‘}Ð$Ø×!Ñ!Ð-Ø×)Ñ)Ð)Ø×Ñ "Ò$Ø�x‰x˜Š~Ø×%Ñ%Ð1Ø×-Ñ-Ð-à×*Ñ*×.Ñ.¨t°TÓ:�ØÐ&Ø"Ÿ=™=Ð(Ø×Ñ "Ò$Ø×&Ñ&×*Ñ*¨4°Ó6ˆGØÐ"Ø—}‘}Ð$à×ÑÐ'Ø×#Ñ# cÑ)Ð)Ørm   c                 ó	  — t         rt        d| j                  ¬«       t        |«      }t	        «       }t        d|d d «      \  |_        |_        |_        |_	        }}}|dk(  sJ ‚|dk(  sJ ‚t         rt        d|z  | j                  ¬«       d}d„ }|d	z  r |||«      \  |_
        }|d
z  r |||«      \  |_        }|dz  �r`|dz  �sZt        d|||dz    «      \  }	t         rt        | j                  d|	«       |dz  }|	dk(  �rt        d«      |_        t        d|||dz    «      d   }
|dz  }t        ||||
z    d«      |_        t         r5t        | j                  d|j                   t        |j                   «      «       |j                   j#                  d«      }t         rt        d|z  | j                  ¬«       |j                   d | |_        d|dz   z  }||z  }|
|z
  }||||z    }||z  }t         r%t        | j                  d|j                   ||
||«       |dv �sWJ ‚|	dk(  råt        d«      |_        t        d|||dz    «      \  }}
|dz  }d |z  ||||
z   dz
   z   }t         rt        | j                  d!||«       ||
z  }|d"z  }t        d#|||dz    «      d   }t         rt        d$|z  | j                  ¬«       |dz  }|r>t        d#|||dz    «      d   }|dz  }|dz  }t        ||||z    d«      }||z  }||_        ns||_        nkt        | j                  d%|	«       nS|d&z  d'k(  r"t        d(«      |_         |||«      \  |_        }n)|d)z  d*k(  rt        d+«      |_        nt        d,«      |_        |d*z  r |||«      \  |_        }t         r"|j'                  d-¬.«       t        d/||fz  «       ||z
  }|dkD  rBt        | j                  d0|j                  dz   |j                  dz   |t)        || d  «      «       n|dk  rt+        d1«      ‚| j,                  j/                  |«       t1        |j                  |j                  dz   «      D ];  }t1        |j                  |j                  dz   «      D ]  }|| j2                  ||f<   Œ Œ= y )2Nz
=== hyperlink ===rÃ   z<HHHH16s4sirù   s   ÐÉêyùºÎŒ‚ ª K©s      zoptions: %08Xc                 óx   — t        d| ||dz    «      d   dz  }|dz  }t        | |||z    d«      d d }||z  }||fS )Nú<Lr×   r   r   úUTF-16ler"   )r   r  )ÚbufÚofsÚnbÚucs       rk   Úget_nul_terminated_unicodez6Sheet.handle_hlink.<locals>.get_nul_terminated_unicodeÝ  sZ   € Ü˜˜c # c¨!¡e˜nÓ-¨aÑ0°1Ñ4ˆBØ�1‰HˆCÜ˜˜S  R¡˜¨*Ó5°c°rÐ:ˆBØ�2‰IˆCØ�s�7ˆNrm   rê   r8  r   r(   z<16srß   z	clsid=%r
s   àÉêyùºÎŒ‚ ª K©Úurlri  r×   r   rj  zinitial url=%r len=%d
ú z	endpos=%dr   z9url=%r
extra=%r
nbytes=%d true_nbytes=%d extra_nbytes=%d
)é   r   s         À      Fz
local filez<HirÚ   s   ..\zuplevels=%d shortpath=%r
rr  ú<izsz=%dz*** unknown clsid %r
ic  i  Úuncik  rð   ÚworkbookÚunknownz... object dump ...ræ   zoffset=%d record_size=%dz=*** WARNING: hyperlink at R%dC%d has %d extra data bytes: %s
z:Bug or corrupt file, send copy of input file for debugging)r¢  rÆ   r,   r…   Ú	Hyperlinkr   ÚfrowxÚlrowxÚfcolxÚlcolxÚdescÚtargetr°   r±   r,  r  Úurl_or_pathÚfindÚtextmarkr3  ÚREPRr8  rZ   rÅ   rˆ   r[   )rg   r±  Úrecord_sizer!   Úguid0Údummyr   r  ro  ÚclsidÚnbytesÚendposÚtrue_nbytesÚextra_nbytesÚ
extra_dataÚuplevelsÚ	shortpathÚszÚxlÚextended_pathrr   rs   s                         rk   rT  zSheet.handle_hlinkÒ  sµ  € å”%Ð-°D·L±LÕAÜ˜$“iˆÜ‹KˆÜDJÈ=ÐZ^Ð_bÐ`bÐZcÓDdÑAˆŒ�”˜!œ' 1¤7¨E°5¸'ØÐ[Ò[Ð[Ð[ØÐ+Ò+Ð+Ð+Ý”%˜¨'Ñ1¸¿¹ÕEØˆò	ð �TŠ>Ù7¸¸fÓE‰NˆAŒF�Fà�TŠ>Ù9¸$ÀÓGÑˆAŒH�fà�a‹K '¨E£/ä˜F D¨°¸±Ð$<Ó=‰FˆEÝ”g˜dŸl™l¨L¸5ÔAØ�b‰LˆFØÐ[Ó[ô )¨Ó/�”Ü  d¨6°&¸1±*Ð&=Ó>¸qÑA�Ø˜!‘�Ü '¨¨V°F¸V±OÐ(DÀjÓ Q�”Ýœ' $§,¡,Ð0IÈ1Ï=É=ÔZ]Ð^_×^kÑ^kÓZlÔmØŸ™×+Ñ+¨FÓ3�Ýœ% ¨fÑ 4¸4¿<¹<ÕHØ !§¡¨g¨vÐ 6�”Ø 6¨A¡:Ñ.�Ø˜+Ñ%�Ø%¨Ñ3�Ø! &¨°,Ñ)>Ð?�
Ø˜,Ñ&�ÝÜØŸ™ØVØŸ™ z°6¸;Èôð
 $ wÒ.Ð.Ð.ØÐ]Ò]ä(¨Ó6�”Ü#)¨%°°f¸VÀa¹ZÐ1HÓ#IÑ �˜&Ø˜!‘�Ø# hÑ.°°f¸VÀf¹_ÈqÑ=PÐ1QÑQ�	Ýœ' $§,¡,Ð0LÈhÐXaÔbØ˜&Ñ �Ø˜"‘�ä˜D $ v¨f°q©jÐ"9Ó:¸1Ñ=�Ýœ% ¨"¡°4·<±<Õ@Ø˜!‘�ÙÜ  d¨6°&¸1±*Ð&=Ó>¸qÑA�BØ˜a‘K�FØ˜a‘K�FÜ$+¨D°¸À¹Ð,DÀjÓ$Q�MØ˜b‘L�FØ$1�A•Mà$-�A•Mô ˜Ÿ™Ð&>ÀÕFØ�u‰_ Ò%Ü$ UÓ+ˆAŒFÙ$>¸tÀVÓ$LÑ!ˆAŒM™6Ø�u‰_ Ò!Ü$ ZÓ0ˆA�Fä$ YÓ/ˆAŒFà�SŠ=Ù!;¸DÀ&Ó!IÑˆAŒJ˜åØ�F‰FÐ/ˆFÔ0ÜÐ,°¸Ð/DÑDÔEà" VÑ+ˆØ˜!ÒÜØ—‘ØPØ—‘˜!‘Ø—‘˜!‘ØÜ�T˜<˜-˜.Ð)Ó*õð ˜AÒÜÐXÓYÐYà×Ñ×"Ñ" 1Ô%Ü˜1Ÿ7™7 A§G¡G¨A¡IÓ.ò 	3ˆDÜ˜qŸw™w¨¯©°©	Ó2ò 3�Ø12�×"Ñ" 4¨ :Ò.ñ3ñ	3rm   c                 ó(  — t        d|d d «      \  }}}}}|t        k(  sJ ‚| j                  sJ ‚| j                  d   }||||f|j                  |j                  |j
                  |j                  fk(  sJ ‚|dd  dk(  sJ ‚t        |dd d«      |_        y )Nú<5HrÞ   r"   r¯   s     r  )	r   rU  rZ   rx  ry  rz  r{  r  Úquicktip)rg   r±  Úrcxrx  ry  rz  r{  r!   s           rk   rV  zSheet.handle_quicktipB  s¤   € Ü*0°¸¸S¸b¸	Ó*BÑ'ˆˆU�E˜5 %Ø”kÒ!Ð!Ð!Ø×"Ò"Ð"Ð"Ø×Ñ Ñ#ˆØ�u˜e UÐ+°·±¸¿¹À!Ç'Á'È1Ï7É7Ð/SÒSÐSÐSØ�B�Cˆy˜KÒ'Ð'Ð'Ü˜T " R˜[¨+Ó6ˆ�
rm   c           	      óH  — t         sy d}| j                  dk  ry t        «       }d}||k  rÐt        d|||dz    «      \  }}}	|dz  }
|dz	  dz  }|
dk(  rd}n|	}|r8t	        |||dz   d| j
                  ¬	«       t        | j
                  d
|||
|	|	«       |dk(  r?|dk(  sJ ‚t        d||dz   |dz   |z    «      \  |_        |_        |_	        |_
        |_        n|dk(  r|	dk(  sJ ‚|dz   |k(  sJ ‚	 ||dz   z  }||k  rŒÐ||k(  sJ ‚|r|j                  | j
                  dd¬«       y y )Nr   r&   r   z<HHIrð   r~   r×   râ   ©ÚbaseÚfoutz.fbt:0x%04X  inst:%d  ver:0x%X  cb:%d (0x%04X)
ið  r
  z<Hiiiiið  z=== MSODrawing ===ú r  )ÚOBJ_MSO_DEBUGr*   Ú
MSODrawingr   Úhex_char_dumpr,   r°   Ú
anchor_unkÚanchor_colx_loÚanchor_rowx_loÚanchor_colx_hiÚanchor_rowx_hir3  )rg   Úrecidr°  r±  r¢  Úor¶  ÚtmpÚfbtÚcbÚverÚinstÚndbs                rk   r\  zSheet.handle_msodrawingetcK  so  € ÝØØˆØ×Ñ˜rÒ!ØÜ‹LˆØˆØ�HŠnÜ! &¨$¨s°3°q±5¨/Ó:‰LˆC��bØ˜‘)ˆCØ˜1‘H Ñ%ˆDØ�cŠzØ‘à�ÙÜ˜d C¨¨q©°q¸t¿|¹|ÕLÜ˜Ÿ™ØEØ˜˜s B¨ô,ð �fŠ}Ø˜b’yÐ �yô 7=¸XÀtÈCÐPQÉEÐRUÐVWÑRWÐX[ÑR[ÐG\Ó6]ñ4�”ØÔ  !Ô"2ØÔ  !Õ"2Ø˜’à˜Q’w��wØ˜Q‘w (Ò*Ð*Ð*àØ�3˜‘7‰NˆCð1 �H‹nð6 ˜(’?Ð"�?ÙØ�F‰F�4—<‘<Ð(<ÀcˆFÕJð rm   c                 ó  — | j                   dk  ry t        «       }t        |«      }d}t        rt	        | j
                  d|«       ||k  �ršt        d|||dz    «      \  }}t        r6t	        | j
                  d|||«       t        |||dz   d| j
                  ¬«       |dk(  r-|dk(  r|d	k(  s#| j                  rt	        | j
                  d
«       y |dk(  r8|dk(  sJ ‚t        d||dz   |dz    «      \  |_	        |_
        }t        ||d«       nË|dk(  rR||| d||z
  z  k(  rnÇd}t	        | j
                  d|z  «       t        ||||z
  d| j
                  ¬«       t        |«      ‚|dk(  r:t        d||dz   |d	z    «      }	t        |	d«      D ]  \  }
}t        |d|z   |
«       Œ n5|dk(  rt        r*t	        | j
                  d«       n|dk(  r|j                  rn	 ||dz   z  }||k  r�Œš	 t        r|j!                  | j
                  dd¬«       |S )Nr&   r   z... OBJ record len=%d...
rÝ   r×   zpos=%d ft=0x%04X cb=%d
r•  rû   r
  z6*** WARNING Ignoring antique or corrupt OBJECT record
rÙ   rÞ   ))r   r   Úlocked)r×   rß   Ú	printable)rð   r(   Ú
autofilter)r  é   Úscrollbar_flag)r  i    Úautofill)rØ   r'   Úautoliner  z'Unexpected data at end of OBJECT recordz*** ERROR %s
rõ   r‘  rð   )rÈ   rœ  ÚmaxÚincÚpageÚ
scrollbar_r  z.*** OBJ record has ft==0x0D 'notes' structure
é   z=== MSOBj ===r˜  r  )r*   ÚMSObjr…   r™  r°   r,   r   r›  r2   r,  rZ  r@  r8  rž  rU   r¬  r3  )rg   r±  r¢  r°  r¶  Úftr¥  Úoption_flagsr  ÚvaluesrÈ   Útags               rk   rY  zSheet.handle_objs  s  € Ø×Ñ˜rÒ!ØÜ‹GˆÜ�t“9ˆØˆÝÜ�D—L‘LÐ">ÀÔIØ�H‹nÜ˜E 4¨¨C°©E ?Ó3‰FˆB�ÝÜ˜Ÿ™Ð&@À#ÀrÈ2ÔNÜ˜d C¨¨a©°a¸d¿l¹lÕKØ�aŠx  t¢°°b²Ø—>’>Ü˜DŸL™LÐ*cÔdØØ�TŠzØ˜a’x��xÜ-3°F¸DÀÀQÁÀsÈ2ÁvÐ<NÓ-OÑ*�”˜œ˜lÜ˜˜<ð *õ ð �t’Ø˜˜HÐ%¨°(¸S±.Ñ)AÒAàØ?�Ü˜Ÿ™Ð&6¸Ñ&<Ô=Ü˜d C¨°C©¸aÀdÇlÁlÕSÜ “nÐ$Ø�t’Ü  t¨C°©E°#°b±&Ð'9Ó:�Ü"% fÐ.TÓ"Uò :‘J�E˜3Ü˜A˜|¨cÑ1°5Õ9ñ:à�t’å ¤'¨$¯,©,Ð8iÕ"jØ�t’Ø—<’<ØàØ�2˜‘6‰MˆCðQ �HŒnðV ÝØ�F‰F�4—<‘<¨ÀˆFÔEØˆrm   c                 óp  — t         r9t        | j                  d«       t        |dt	        |«      d| j                  ¬«       t        «       }t	        |«      }| j                  dk  �r`t        d|d d «      \  |_        |_	        }t	        |«      dz
  }||k  sJ ‚|dd  g}||z  }|dkD  rk| j                  j                  «       \  }}	}
|t        k(  sJ ‚t        d|
d d «      \  }}|dk(  sJ ‚||	dz
  k(  sJ ‚|j                  |
dd  «       ||z  }|dkD  rŒk|dk(  sJ ‚| j                  j                  xs | j                  j                  «       }t!        d	j#                  |«      |«      |_        d
g|_        d|_        d|_        d|_        t/        d«      |_        d |_        || j4                  |j                  |j                  f<   y t        d|d d «      \  |_        |_	        }|_        |dz	  dz  |_        |dz	  dz  |_        |dz	  dz  |_        t7        |dd¬«      \  |_        }||z
  dv sJ ‚t         r|j9                  | j                  dd¬«       |j;                  |j2                  «      }|rH|j$                  |_        |j&                  |_        || j4                  |j                  |j                  f<   y y )Nz... NOTE record ...
r   r•  r&   rÙ   rÚ   z<H2xHr  rm   rú   r   z<4Hrð   r   rà   r   rÛ   )r   r   z=== Note ===r˜  r  )r™  r°   r,   r›  r…   ÚNoter*   r   rr   rs   r)   r  r_  rÅ   r   r!  r  rG  ÚtextÚrich_text_runlistÚshowÚ
row_hiddenÚ
col_hiddenr±   ÚauthorÚ
_object_idr\   r&  r3  r  )rg   r±  r­  r¢  r°  Úexpected_bytesrm  ÚpiecesrÄ  rÅ  rÆ  Ú
dummy_rowxr  r¸  r‡  rß  s                   rk   r`  zSheet.handle_note«  s£  € ÝÜ�D—L‘LÐ"9Ô:Ü˜$ ¤3 t£9°1¸4¿<¹<ÕHÜ‹FˆÜ�t“9ˆØ×Ñ˜rÓ!Ü-3°F¸DÀÀ!¸HÓ-EÑ*ˆAŒF�A”F˜NÜ�T“˜Q‘ˆBØ˜Ò'Ð'Ð'Ø˜1˜2�h�ZˆFØ˜bÑ ˆNØ  1Ò$Ø(,¯	©	×(BÑ(BÓ(DÑ%��Y Øœg’~Ð%�~Ü!'¨°°r¸°Ó!;‘�
˜BØ! VÒ+Ð+Ð+Ø˜Y¨™]Ò*Ð*Ð*Ø—‘˜e A B˜iÔ(Ø "Ñ$�ð ! 1Ó$ð " QÒ&Ð&Ð&Ø—)‘)×$Ñ$ÒC¨¯	©	×(AÑ(AÓ(CˆCÜ˜SŸX™X fÓ-¨sÓ3ˆAŒFØ#) (ˆAÔØˆAŒFØˆAŒLØˆAŒLÜ& rÓ*ˆAŒHØˆAŒLØ12ˆD×Ñ˜qŸv™v q§v¡v˜~Ñ.Øä5;¸EÀ4ÈÈÀ8Ó5LÑ2ˆŒ�”˜ a¤lØ !Ñ# qÑ(ˆŒØ$¨Ñ)¨QÑ.ˆŒØ$¨Ñ)¨QÑ.ˆŒô 5°T¸1ÀQÔGÑˆŒ�&ð ˜6Ñ! fÑ,Ð,Ð,ÝØ�F‰F�4—<‘<¨ÀˆFÔDØ�h‰h�q—|‘|Ó$ˆÙØ—X‘XˆAŒFØ"%×"7Ñ"7ˆAÔØ12ˆD×Ñ˜qŸv™v q§v¡v˜~Ò.ð rm   c                 óz  — | j                   dk  ry t        «       }d}t        |«      }t        ||d | «      \  }|_        }}}|_        ||d  |_        t        ||d«       d}	t        d«      |_	        |	|k  r¥| j                  j                  «       \  }
}}|
t        k(  sJ ‚t        rt        |d|d| j                  ¬«       t!        |d   «      }|dz
  }|r|dz  dk(  sJ ‚|dz  }t#        |d|¬	«      \  }}||k(  sJ ‚|xj                  |z  c_	        |	|z  }	|	|k  rŒ¥g |_        d}||k  r}| j                  j                  «       \  }}}|t        k(  sJ ‚|d
z  dk(  sJ ‚t'        d|d
«      D ]4  }t        d|||d
z    «      }|j$                  j)                  |«       |d
z  }Œ6 ||k  rŒ}|j$                  rD|j$                  d   d   |k(  r/|j$                  d= |j$                  r|j$                  d   d   |k(  rŒ/t        r?|j+                  | j                  dd¬«       t-        |j$                  | j                  ¬«       |S )Nr&   z<HH6sHHH))r€   rØ   Ú
horz_align)rÚ   ép   rW  )r  r­  Ú	lock_text)rØ   r'   Ú	just_last)r~   i €  Úsecret_editr   r   r•  r   r   )Ú	known_lenrð   z<HH4xr"   z=== MSTxo ===r˜  r  rÃ   )r*   ÚMSTxor   r   ÚrotÚ	ifntEmptyÚfmlar@  r±   r½  r)   r  r  r™  r›  r,   r%  r&  r¾  rˆ   rÅ   r3  rÆ   )rg   r±  r¢  r.  Úfmtsizer¸  ÚcontrolInfoÚcchTextÚcbRunsÚtotcharsrÄ  rÅ  rÆ  rm  ÚncharsÚutextr‡  ÚtotrunsÚrc3Ú	data3_lenÚdata3r¶  Úruns                          rk   r^  zSheet.handle_txoÞ  se  € Ø×Ñ˜rÒ!ØÜ‹GˆØˆÜ˜3“-ˆÜIOÐPSÐUYÐZbÐ[bÐUcÓIdÑFˆ�a”e˜[¨'°6¸1¼;Ø�g�h�ˆŒÜ��<ð "
ô 	ð ˆÜ  Ó$ˆŒØ˜Ò Ø$(§I¡I×$>Ñ$>Ó$@Ñ!ˆC�˜EØœ+Ò%Ð%Ð%ÝÜ˜e Q¨	¸ÀÇÁÕMÜ˜5 ™8Ó$ˆBØ ‘]ˆFÙØ ‘z Q’Ð&�Ø˜1‘�Ü5°e¸QÈ&ÔQ‰MˆE�6Ø˜YÒ&Ð&Ð&Ø�FŠF�e‰O�FØ˜ÑˆHð ˜Ó ð !ˆÔØˆØ˜ÒØ$(§I¡I×$>Ñ$>Ó$@Ñ!ˆC�˜Eàœ+Ò%Ð%Ð%Ø˜q‘= AÒ%Ð%Ð%Ü˜a ¨AÓ.ò �Ü˜W e¨C°°A±Ð&6Ó7�Ø×#Ñ#×*Ñ*¨3Ô/Ø˜1‘‘ðð ˜Óð ×!Ò! a×&9Ñ&9¸"Ñ&=¸aÑ&@ÀGÒ&KØ×#Ñ# BÐ'ð ×!Ò! a×&9Ñ&9¸"Ñ&=¸aÑ&@ÀGÓ&KåØ�F‰F�4—<‘<¨ÀˆFÔEÜ�!×%Ñ%¨D¯L©LÕ9Øˆrm   c                 ó^  — t         sy t        d|dd «      \
  }}}}}}}}	}
}|dk(  sJ ‚|
dk(  sJ ‚|dk(  sJ ‚|dk(  sJ ‚|dk(  sJ ‚||k(  sJ ‚t        | j                  d||||	«       t        d|dd «      \  }}}}}}}}}}}}}}}t        d	|||||||||||||||fz  | j                  ¬
«       y )Nz<HH8sHBiHiH8sr   é#   rá   ir  z3FEAT11: grbitFrt=%d  Ref0=%r cref=%d cbFeatData=%d
z<iiiiiiHHiiiii16sHée   zÆlt=%d  idList=%d crwHeader=%d  crwTotals=%d  idFieldNext=%d cbFSData=%d
rupBuild=%d  unusedShort=%d listFlags=%04X  lPosStmCache=%d  cbStmCache=%d
cchStmCache=%d  lem=%d  rgbHashParam=%r  cchName=%drÃ   )r™  r   rÆ   r,   )rg   r±  ÚrtÚgrbitFrtÚRef0ÚisfÚfHdrÚ	reserved0ÚcrefÚ
cbFeatDataÚ	reserved1ÚRef1ÚltÚidListÚ	crwHeaderÚ	crwTotalsÚidFieldNextÚcbFSDataÚrupBuildÚunusedShortÚ	listFlagsÚlPosStmCacheÚ
cbStmCacheÚcchStmCacheÚlemÚrgbHashParamÚcchNames                              rk   rb  zSheet.handle_feat11  s  € ÝØô W]Ð]lÐnrÐstÐuwÐnxÓVyÑSˆˆH�d˜C  y°$¸
ÀIÈtØ˜AŠ~Ðˆ~Ø˜AŠ~Ðˆ~Ø�aŠxˆˆxØ�UŠ{Ðˆ{Ø�qŠyÐˆyØ�tŠ|Ðˆ|Üˆd�l‰lÐRÐT\Ð^bÐdhÐjtÔuô( 4:Ð:NÐPTÐUWÐX]ÐP^Ó3_ñ	1ˆˆV�Y 	¨;¸Ø�+˜y¨,¸
Ø�S˜,¨Üð Bð �F˜I y°+¸xØ˜+ i°¸zØ˜S ,°ðE9ñ9ð
 @D¿|¹|ö	Mrm   c                 óN   — dj                  | j                  | j                  «      S )NzSheet {:>2}:<{}>)rA  r1   r0   r—   s    rk   Ú__repr__zSheet.__repr__@  s   € Ø!×(Ñ(¨¯©°d·i±iÓ@Ð@rm   )r   Nr’   )r   )FÚ__name__Ú
__module__Ú__qualname__Ú__doc__r0   r)   r9   r:   rI   rJ   rK   rL   rM   rN   rB   rC   rD   rE   rF   rG   rH   rS   rF  rZ   r[   r\   rp  rq  rr  rs  rt  ru  rO   rP   rl   ru   ry   r|   ro   r†   r‰   r�   r˜   Ú__iter__r�   rŸ   r¢   r¨   r«   r­   ÚcolrÁ   r5   r7   r  r9  r   r5  r  r!  r�   rf  rT  rV  r\  rY  r`  r^  rb  rû  © rm   rk   r   r   2   s·  „ ñð& €Dð €Dð €Eð €Eð €Kð €Kð" Ðð Ðð6 €Lð0 Ðð  €Kð €Mð
 Ðð
 #'Ðð
 Ðð
 &*Ð"ð
 &*Ð"ð €Jð €Cð €Nð €Mð €Mð €Nð €Nð  !Ðð  !Ðð Ðð €Oð  Ðð ÐòM#òh
ò-ò,òò>,ò
ò+ò@ð
 €Hó;ó<ó
ó$
ó$
ó$
ð$ €Cò
;Jòz9òvFòVOòbò<+=óZ óDó>2òhYò&òPn3ò`7ò%KòP6òp13òf0òd.Mó`Arm   r   c                   ó   — e Zd Zy)rš  N©rü  rý  rþ  r  rm   rk   rš  rš  D  ó   „ Ørm   rš  c                   ó   — e Zd Zy)r¶  Nr  r  rm   rk   r¶  r¶  H  r  rm   r¶  c                   ó   — e Zd Zy)rÎ  Nr  r  rm   rk   rÎ  rÎ  L  r  rm   rÎ  c                   óH   — e Zd ZdZ ed«      ZdZdZdZdZ	dZ
dZ ed«      Zy)r¼  z’
    Represents a user "comment" or "note".
    Note objects are accessible through :attr:`Sheet.cell_note_map`.

    .. versionadded:: 0.7.2
    r   r   N)rü  rý  rþ  rÿ  r±   rÂ  rÁ  rs   r¾  rÀ  rr   r¿  r½  r  rm   rk   r¼  r¼  P  sJ   „ ññ ˜RÓ €Fð €Jð €Dð
 Ðð €Jð €Dð €Dñ ˜2Ó�Drm   r¼  c                   ó8   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZy)rw  z½
    Contains the attributes of a hyperlink.
    Hyperlink objects are accessible through :attr:`Sheet.hyperlink_list`
    and :attr:`Sheet.hyperlink_map`.

    .. versionadded:: 0.7.2
    N)rü  rý  rþ  rÿ  rx  ry  rz  r{  r,  r~  r|  r}  r€  r’  r  rm   rk   rw  rw  s  sM   „ ñð €Eð €Eð €Eð €Eð €Dð €Kð €Dð €Fð
 €Hð �Hrm   rw  c           
      óè   — t        | d   «      }|dz  r(t        d| «      \  }|dz  }|dz  r|dz  S t        |«      S t        ddt        t	        |dz  «      «      z   | dd	 z   «      \  }|dz  r|dz  S |S )
Nr   r   rs  r   g      Y@rñ   s       éü   r×   )r%  r   r“  ÚBYTES_LITERALÚchr)Úrk_strrÀ  Úir²  s       rk   r(  r(  «  sŽ   € Ü�f˜Q‘iÓ €EØˆq‚yä�T˜6Ó"‰ˆØ	ˆa‰ˆØ�1Š9Ø�u‘9ÐÜ�Q‹xˆô �D˜+¬´c¸%À#¹+Ó6FÓ(GÑGÈ&ÐQRÐSTÈ+ÑUÓV‰ˆØ�1Š9Ø�u‘9ÐØˆrm   Úemptyr½  r1   ÚxldateÚboolÚerrorÚblankc                   ó&   — e Zd ZdZg d¢Zdd„Zd„ Zy)rp   a…  
    Contains the data for one cell.

    .. warning::
      You don't call this class yourself. You access :class:`Cell` objects
      via methods of the :class:`Sheet` object(s) that you found in the
      :class:`~xlrd.book.Book` object that was returned when you called
      :func:`~xlrd.open_workbook`

    Cell objects have three attributes: ``ctype`` is an int, ``value``
    (which depends on ``ctype``) and ``xf_index``.
    If ``formatting_info`` is not enabled when the workbook is opened,
    ``xf_index`` will be ``None``.

    The following table describes the types of cells and how their values
    are represented in Python.

    .. raw:: html

        <table border="1" cellpadding="7">
        <tr>
        <th>Type symbol</th>
        <th>Type number</th>
        <th>Python value</th>
        </tr>
        <tr>
        <td>XL_CELL_EMPTY</td>
        <td align="center">0</td>
        <td>empty string ''</td>
        </tr>
        <tr>
        <td>XL_CELL_TEXT</td>
        <td align="center">1</td>
        <td>a Unicode string</td>
        </tr>
        <tr>
        <td>XL_CELL_NUMBER</td>
        <td align="center">2</td>
        <td>float</td>
        </tr>
        <tr>
        <td>XL_CELL_DATE</td>
        <td align="center">3</td>
        <td>float</td>
        </tr>
        <tr>
        <td>XL_CELL_BOOLEAN</td>
        <td align="center">4</td>
        <td>int; 1 means TRUE, 0 means FALSE</td>
        </tr>
        <tr>
        <td>XL_CELL_ERROR</td>
        <td align="center">5</td>
        <td>int representing internal Excel codes; for a text representation,
        refer to the supplied dictionary error_text_from_code</td>
        </tr>
        <tr>
        <td>XL_CELL_BLANK</td>
        <td align="center">6</td>
        <td>empty string ''. Note: this type will appear only when
        open_workbook(..., formatting_info=True) is used.</td>
        </tr>
        </table>
    ©rÇ   rÈ   r‚   Nc                 ó.   — || _         || _        || _        y r’   r  )rg   rÇ   rÈ   r‚   s       rk   rl   zCell.__init__	  s   € ØˆŒ
ØˆŒ
Ø ˆ�rm   c                 ó¾   — | j                   €"t        | j                     ›d| j                  ›�S t        | j                     ›d| j                  ›d| j                   ›d�S )Nú:z (XF:ú))r‚   Ú
ctype_textrÇ   rÈ   r—   s    rk   rû  zCell.__repr__	  sB   € Ø�=‰=Ð Ü(¨¯©Ó4°d·j²jÐAÐAä&0°·±Ó&<¸d¿j»jÈ$Ï-Ë-ÐXÐXrm   r’   )rü  rý  rþ  rÿ  Ú	__slots__rl   rû  r  rm   rk   rp   rp   Ð  s   „ ñ?òB /€Ió!ó
Yrm   rp   r   c                   ó(   — e Zd ZdZdZdZdZdZdZdZ	y)r>  aR  
    Width and default formatting information that applies to one or
    more columns in a sheet. Derived from ``COLINFO`` records.

    Here is the default hierarchy for width, according to the OOo docs:

      In BIFF3, if a ``COLINFO`` record is missing for a column,
      the width specified in the record ``DEFCOLWIDTH`` is used instead.

      In BIFF4-BIFF7, the width set in this ``COLINFO`` record is only used,
      if the corresponding bit for this column is cleared in the ``GCW``
      record, otherwise the column width set in the ``DEFCOLWIDTH`` record
      is used (the ``STANDARDWIDTH`` record is always ignored in this case [#f1]_).

      In BIFF8, if a ``COLINFO`` record is missing for a column,
      the width specified in the record ``STANDARDWIDTH`` is used.
      If this ``STANDARDWIDTH`` record is also missing,
      the column width of the record ``DEFCOLWIDTH`` is used instead.

    .. [#f1] The docs on the ``GCW`` record say this:

      If a bit is set, the corresponding column uses the width set in the
      ``STANDARDWIDTH`` record. If a bit is cleared, the corresponding column
      uses the width set in the ``COLINFO`` record for this column.

      If a bit is set, and the worksheet does not contain the ``STANDARDWIDTH``
      record, or if the bit is cleared, and the worksheet does not contain the
      ``COLINFO`` record, the ``DEFCOLWIDTH`` record of the worksheet will be
      used instead.

    xlrd goes with the GCW version of the story.
    Reference to the source may be useful: see
    :meth:`Sheet.computed_column_width`.

    .. versionadded:: 0.6.1
    r   r"   N)
rü  rý  rþ  rÿ  r?  r‚   rò   ró   rô   rö   r  rm   rk   r>  r>  $	  s2   „ ñ#ðN €Eð €Hð €Fð €Ið €Mð �Irm   r>  c                   ó*   — e Zd ZdZerdZd„ Zd„ Zd„ Zy)r+  z”
    Height and default formatting information that applies to a row in a sheet.
    Derived from ``ROW`` records.

    .. versionadded:: 0.6.1
    ©
r,  r-  rô   r.  rò   r/  r0  r‚   r1  r2  c                 ó�   — d | _         d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _	        y r’   r  r—   s    rk   rl   zRowinfo.__init__x	  sa   € àˆŒð #'ˆÔð "ˆÔð
 *.ˆÔ&ð ˆŒð  $ˆÔð %)ˆÔ!ð ˆŒð '+ˆÔ#ð '+ˆÕ#rm   c           
      óâ   — | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  f
S r’   r  r—   s    rk   Ú__getstate__zRowinfo.__getstate__ 	  s`   € à�K‰KØ×#Ñ#Ø×ÑØ×*Ñ*Ø�K‰KØ× Ñ Ø×%Ñ%Ø�M‰MØ×'Ñ'Ø×'Ñ'ð
ð 	
rm   c                 ó‚   — |\
  | _         | _        | _        | _        | _        | _        | _        | _        | _        | _	        y r’   r  )rg   Ústates     rk   Ú__setstate__zRowinfo.__setstate__®	  sE   € ð ñ	
ØŒKØÔ#ØÔØÔ*ØŒKØÔ ØÔ%ØŒMØÔ'ØÕ'rm   N)	rü  rý  rþ  rÿ  Ú
_USE_SLOTSr  rl   r"  r%  r  rm   rk   r+  r+  b	  s#   „ ññ ð
ˆ	ò&+òP
órm   r+  N)0Ú
__future__r   r   Ústructr   r   ÚbiffhrI  r	   r
   Úformular   r   r   r   r   Útimemachiner¢  r™  rT   Ú
BaseObjectr   rš  r¶  rÎ  r¼  rw  r(  r&  r'  r$  r(  r)  r*  r+  r/  r-   r  r:  r;  rL  r  rp   r±   Ú
empty_cellr>  r&  r+  r  rm   rk   ú<module>r.     s!  ðõ &å ß #ä ß 4÷õ ô à	€Ø€ðÐ ô8O AˆJô O Aôd@	�ô 	ô	ˆJô 	ô	ˆJô 	ô ˆ:ô  ôF4�
ô 4òpð& ˆØˆØˆØˆØˆðÐ ð �7Ø�&Ø�HØ�(Ø�VØ�7Ø�7ð€
ôMYˆ:ô MYñ^ �-¡°Ó!4Ó5€
ô
9ˆjô 9ðv €
ôXˆjõ Xrm   