+
    i6                       ^ RI Ht ^ RIHt ^ RIHtHt ^RI5 ^RIHtH	t	 ^RI
HtHtHtHtHt ^RI5 ^ t^ tR#t ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR t]]]]]]] ]!]"]/t#]$R]%R]R]!R]&R]'R](R/t) ! R R]4      t*]*! ]$]+! R4      4      t, ! R R]4      t-^t. ! R  R!]4      t/R"# )$    )print_function)array)calcsizeunpack)*)Formatnearest_colour_index)FMLA_TYPE_CELLFMLA_TYPE_SHAREDdecompile_formuladump_formularangename2dc                     a  ] tR t^2t o RtRtRt^ t^ t/ t	/ t
. t. t. t/ tRtRtRtRtRtRtRt^ tR(t. t/ t/ t^ t^ t^ t^ t^ t^ t . t!. t"R t#R t$R t%R t&R t'R	 t(R
 t)R t*R t+]+t,R)R lt-R)R lt.R)R lt/R)R lt0R)R lt1R)R lt2]0t3R t4R t5R t6R t7R t8R t9R*R lt:R'R lt;R'R lt<R t=R t>R t?R t@R  tAR! tBR" tCR# tDR$ tER% tFR&tGV tHR# )+Sheeta:  
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`.
 Nc                   Wn         VP                  V n        W n        VP                  V n        \	        R \
        .4      V n        \	        RR.4      V n        W0n        W@n	        VP                  V n
        VP                  V n        VP                  V n        V P                  '       d   V P                  V n        MV P                  V n        VP                   V n        ^ V n        ^ V n        RV n        RV n        ^ V n        ^ V n        . V n        . V n        . V n        RV n        RV n        RV n        ^ V n        ^ V n        ^ V n        ^ V n         / V n!        / V n"        . V n#        . V n$        . V n%        / V n&        . V n'        . V n(        . ROV n)        VPT                  V,          V n+        \X         F  w  rV\[        WV4       K  	  ^ V n.        ^ V n/        ^@V n0        RV n1        . V n2        / V n3        / V n4        ^<V n5        ^dV n6        ^ V n7        ^ V n8        RV n9        RV n:        / V n;        V P                  ^P8  d	   RV n<        MRV n<        RV n=        RV n>        R# )BhNi    @     )r   r   r   r   )?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   positionr   r    attrdefvals   &&&&&  S/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/xlrd/sheet.py__init__Sheet.__init__@  s7   	 --!||m_-bT"	#33++ 00DM 22DM(,(E(E%

 "!"&+,("#./+./+ " "%'"&(#$&!+008,LDD' -"#"#%)"#'   571-0* 561-.*"
!#""'D"'D! "    c                    V P                   '       d   V P                  W4      pMRp\        V P                  V,          V,          V P                  V,          V,          V4      # )z3
:class:`Cell` object in the given row and column.
N)r"   cell_xf_indexCellr/   r.   rV   rowxcolxxfxs   &&& rZ   cell
Sheet.cell  s[     $$T0CCT"4(d#D)
 	
r]   c                6    V P                   V,          V,          # )z.Value of the cell in the given row and column.r.   rV   rb   rc   s   &&&rZ   
cell_valueSheet.cell_value  s      &t,,r]   c                6    V P                   V,          V,          # )zg
Type of the cell in the given row and column.

Refer to the documentation of the :class:`Cell` class.
r/   ri   s   &&&rZ   	cell_typeSheet.cell_type  s     %d++r]   c                H   V P                  4        V P                  V,          V,          pVR8  d"   V P                  ^ ;;,          ^,          uu&   V#  V P                  V,          P                  pVR8  d"   V P                  ^;;,          ^,          uu&   V#   V P                  V,          P                  pVR8X  d   ^pV P                  ^;;,          ^,          uu&   V#   \
         d     LUi ; i  \
         d$    T P                  ^;;,          ^,          uu&    ^# i ; i)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   )req_fmt_infor0   r@   r9   xf_indexKeyErrorr8   ra   s   &&& rZ   r_   Sheet.cell_xf_index  s    	##D)$/8  #q(#J	""4(11CRx$$Q'1,'
 	""4(11Cby#  #q(#J  		  	  #q(#	s&   AC" AC3 "C0/C03*D! D!c                :    \        V P                  V,          4      # )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.   )rV   rb   s   &&rZ   row_lenSheet.row_len  s     4$$T*++r]   c                    \        \        V P                  V,          4      4       Uu. uF  pV P                  W4      NK  	  up# u upi )zC
Returns a sequence of the :class:`Cell` objects in the given row.
)xrangerv   r.   re   ri   s   && rZ   row	Sheet.row  sG     s4#4#4T#:;<
< IId!<
 	
 
s   Ac                r     Vw  r#V P                  W#4      #   \         d    T P                  T4      u # i ; i)zi
Takes either rowindex or (rowindex, colindex) as an index,
and returns either row or cell respectively.
)re   	TypeErrorr{   )rV   itemrowixcolixs   &&  rZ   __getitem__Sheet.__getitem__  s@    
	+LE 99U**  	" 88D>!	"s    66c                B   a  V 3R l\        S P                  4       4       # )z3Returns a generator for iterating through each row.c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5iN)r{   ).0indexrV   s   & rZ   	<genexpr>!Sheet.get_rows.<locals>.<genexpr>  s     ?->E->s   !)ranger(   rV   s   frZ   get_rowsSheet.get_rows  s    ?U4::->??r]   c                `    Vf   V P                   V,          VR # V P                   V,          W# # )z=
Returns a slice of the types of the cells in the given row.
Nrm   rV   rb   
start_colxend_colxs   &&&&rZ   	row_typesSheet.row_types  s8     ##D)*+66%j::r]   c                `    Vf   V P                   V,          VR # V P                   V,          W# # )z>
Returns a slice of the values of the cells in the given row.
Nrh   r   s   &&&&rZ   
row_valuesSheet.row_values  s8     $$T*:;77  &z;;r]   c                    \        V P                  V,          4      pV^ 8  d   W$,          pV^ 8  d   ^ pVe   W48  d   TpMV^ 8  d	   W4,          p\        W#4       Uu. uF  pV P                  W4      NK  	  up# u upi )z@
Returns a slice of the :class:`Cell` objects in the given row.
)rv   r.   rz   re   )rV   rb   r   r   ncrc   s   &&&&  rZ   	row_sliceSheet.row_slice  s     ""4()>JA~
x}H\NH z4
4 IId!4
 	
 
s   A;c                    V P                   pV^ 8  d   W$,          pV^ 8  d   ^ pVe   W48  d   TpMV^ 8  d	   W4,          p\        W#4       Uu. uF  pV P                  WQ4      NK  	  up# u upi )zC
Returns a slice of the :class:`Cell` objects in the given column.
)r(   rz   re   rV   rc   
start_rowxend_rowxnrrb   s   &&&&  rZ   	col_sliceSheet.col_slice  sz     ZZ>JA~
x}H\NH z4
4 IId!4
 	
 
s   A+c                    V P                   pV^ 8  d   W$,          pV^ 8  d   ^ pVe   W48  d   TpMV^ 8  d	   W4,          p\        W#4       Uu. uF  pV P                  V,          V,          NK  	  up# u upi )zA
Returns a slice of the values of the cells in the given column.
)r(   rz   r.   r   s   &&&&  rZ   
col_valuesSheet.col_values)  s     ZZ>JA~
x}H\NH z4
4 d#D))4
 	
 
   #A4c                    V P                   pV^ 8  d   W$,          pV^ 8  d   ^ pVe   W48  d   TpMV^ 8  d	   W4,          p\        W#4       Uu. uF  pV P                  V,          V,          NK  	  up# u upi )z@
Returns a slice of the types of the cells in the given column.
)r(   rz   r/   r   s   &&&&  rZ   	col_typesSheet.col_types;  s     ZZ>JA~
x}H\NH z4
4 T"4((4
 	
 
r   c           
        V P                   ^8  d-   \        V P                  RV P                  V P                  4       T P
                  '       d   ^ ;rT P                  pT P                  pT P
                   Fz  pTw  rgr^ Tu;8:  d   Tu;8  d   T8:  d   M M^ Tu;8:  d   T	u;8  d   T8:  g0   M \        T P                  RT P                  T P                  T4       Yq8  d   TpY8  g   Kx  T	pK|  	  Y P                  8  d   Y n        RT n
        YP                  8  d*   T P                  T^,
          ^ \        \        R4      R4       T P                   ^8  d   T P                  T P                  8w  g   T P                  T P                  8w  dY   \        T P                  RT P                  T P                  T P                  T P                  T P                  T P                  4       T P                   '       g   T P                  p
T P"                  pT P$                  pT P&                  pT P(                  pT P                  R8X  d   T P                  pMT P                  p\+        T4       F  pTT,          p\-        T4      pT
T,
          pT^ 8  g   K)  \        R4      .T,          TT,          TR% T P.                  T,          TTR% T'       g   Kf  T P0                  T,          TT,          TR% K  	  R# R# )   z$tidy_dimensions: nrows=%d ncols=%d 
z6*** WARNING: sheet #%d (%r), MERGEDCELLS bad range %r
r   z?NOTE *** sheet %d (%r): DIMENSIONS R,C = %d,%d should be %d,%d
Nr   )r!   fprintfr   r(   r)   r<   rS   rT   r    r   rU   r%   r   UNICODE_LITERALr,   r-   r#   r/   r.   r0   r"   rz   rv   r   r   )rV   r   r   umaxrowsumaxcolscrangerlorhiclochir)   s_cell_typess_cell_valuess_cell_xf_indexes
s_fmt_infouboundrb   trowrlennextras   &                   rZ   tidy_dimensionsSheet.tidy_dimensionsR  s^   >>Q7

DJJ
 """KB**H**H++%+"#S232(2A<Vs<Vh<VDLLQTYY8 8#R8#R , JJ
(*%JJ bdA}ob6I2NNNat~~-t~~1MR		



	 JJE++L --M $ 5 5--J$$*..v#D)4yA:2A"2E1F1OM$'."&''F"2DK!z9=69I)$/6 '  r]   c                   Vf   V P                   V,          p^ Tu;8:  d   V P                  8  g   Q h Q h^ Tu;8:  d   V P                  8  g   Q h Q hV P                  p V^,           pV P                  V8  d   V P
                  P                  pV P                  P                  p	V P                  P                  p
V P                  pV P                  p\        V P                  V4       F3  pV! V^ ,          4       V	! . 4       V'       g   K$  V
! V^ ,          4       K5  	  Wpn        V P
                  V,          pV P                  V,          pV'       d   V P                  V,          p\        V4      pW P                  8  d   V^,           V n        VV,
          pV'       g>   VP                  V4       VP                  V4       V'       d   XP                  V4       R # V^ 8  dT   V^,          pV P                  V,          VVR % \        R4      .V,          VVR % V'       d   V P                  V,          XVR % W>V&   WOV&   V'       d   VXV&   R # R #    \        RYT P                   R7       h ; i)Nr   r%   file)r'   rT   rS   r"   r(   r/   appendr.   r0   r   r   rz   rv   r)   r   printr   )rV   rb   rc   ctypevaluerr   fmt_infor   sctascvascxar   r   _unused	types_row
values_rowfmt_rowltr	num_emptys   &&&&&&             rZ   r$   Sheet.put_cell_ragged  s   =11(;ED.4.......D.4.......''1	BzzB''..((//,,33WWWW%djj"5GaLHxR!V	  6
  
((.I**40J//5i.Czz!!AX
s
I   '!!%(NN8,1}Q	 #'''I"5	#$$3B$7#89#D
34 $(GGi$7GCDM#dO$t ( 	*dt||<s.   !B)I AI AI #)I I  A/I I.c           	        Vf   V P                   V,          p W0P                  V,          V&   W@P                  V,          V&   V P                  '       d   WPP                  V,          V&   R # R #   \
         Ed    T^,           pT^,           p^Tu;8:  d   T P                  8:  g   Q h Q h^Tu;8:  d   T P                  8:  g   Q h Q hYpP                  8  d@   Ypn        Y`P                  8  d	   RT n
        M!YP                  u;8  d   R8  d
   M MYn
        Y`P                  8:  d   T P                  T,          pT P                  \        T4      ,
          p	T	^ 8  d   TP                  T P                  T	,          4       T P                  '       d4   T P                  T,          P                  T P                  T	,          4       T P                  T,          P                  \        R4      .T	,          4       MT P                  P                   p
T P                  P                   pT P                  P                   pT P                  pT P                  pT P                  pT P                  p\#        T P                  T4       FB  pT
! Y,          4       T! \        R4      .T,          4       T'       g   K4  T! Y,          4       KD  	  Y`n	         Y0P                  T,          T&   Y@P                  T,          T&   T P                  '       d   YPP                  T,          T&    R #  R #    \%        RYT P&                  R7       h ; i \%        RYT P&                  R7       h ; i)Nr   r%   r   r   )r'   r/   r.   r"   r0   
IndexErrorrT   rS   r)   r(   rU   rv   extendr   r   r   r   rz   r   r   )rV   rb   rc   r   r   rr   r   r   r   r   r   r   r   r   r   r   r   s   &&&&&&           rZ   r&   Sheet.put_cell_unragged  s   =11(;E@	+0T"4(,1d#D)###4<%%d+D1 $ 8	 BB1d11111111d1111111JJ

 

? -/D)116B6,0)ZZ ''-c$i/A:KK& 01+++--d3::477V;KL%%d+22OB4G3H63QR''..((//,,33//ZZWWWW%djj"5GM/"-.34xRW  6  
/4  &t,05!!$'-'''8@))$/5 (j$4<<@	*dt||<s-   AA. .D"MDM4MAL$$L??Mc                <A   ^ pT;'       g    V P                   ^8  pT;'       g    V P                   ^8  p^ p^ pTP                  pT P                  Tn        \        \        \        \
        \        \        3pT P                  p	\        p
TP                  pT P                  pT P                  pT;'       d    TP                  p/ p/ p^ p T! 4       w  pppT\        8X  d$   T
! RTR,          4      w  ppppT	! TTRTT4       K:  T\        8X  dr   T
! RT4      w  ppppT	! TT\         TP"                  T,          T4       T'       d9   TP                  P%                  T4      pT'       d   TT P&                  TT3&   K  K  K  T\(        8X  ds   T
! RTR,          4      w  pppT\*        8  d3   \-        T^TP.                  ;'       g    TP1                  4       ^R7      pM\3        T^^R7      pT	! TT\         TT4       EK3  T\4        8X  Eds   T
! RTR,          4      w  pppT\*        8  d   \7        T^TP.                  ;'       g    TP1                  4       ^R7      w  pp\9        TT,          4      pT^,          p. p\;        T4       F1  pTP=                  \        RTTT^,            4      4       T^,          pK3  	  T\?        T4      8X  g   Q hM\A        T^^R7      w  pp\        R	TTT^,            4      ^ ,          pT^,          p. p\;        T4       F1  pTP=                  \        R
TTT^,            4      4       T^,          pK3  	  T\?        T4      8X  g   Q hT	! TT\         TT4       TT P&                  TT3&   EK  T\B        8X  d6   T
! RTR,          4      w  ppp\E        TR,          4      pT	! TTRTT4       EK  T\F        8X  d   T
! R
TR,          4      w  pp T
! R	TRzR 4      w  p!^p\;        T T!^,           4       FI  pT
! R	TTT^,            4      w  p\E        TT^,           T^,            4      pT^,          pT	! TTRTT4       KK  	  EK  T\H        8X  Ed   T'       g   EK  T
! RTR,          4      w  pp"p#^ Tu;8:  d   T PJ                  8  g0   M \M        RTT PJ                  3,          T PN                  R7       EK  T"T#3p$TP%                  T$4      p%T%f   \Q        4       ;TT$&   p%T"R,          T%n)        T"^,	          ^,          T%n*        T#^,          T%n+        T#^,	          ^,          T%n,        T#^,	          ^,          T%n-        T#^,	          ^,          T%n.        T#^,	          ^,          T%n/        T#^,	          R,          T%n0        T#^,	          ^,          T%n1        T#^,	          ^,          T%n2        T%P^                  '       g   R{T%n0        T%T Pf                  T&    T'       dN   \M        RTT"T#T PN                  R7       T%Pm                  T PN                  RT Pj                  T3,          R7       EK_  EKb  T\n        9   Ed   T^28  d   T
! RTR,          4      w  pppp&p'MGT^8  d   T
! RTR,          4      w  pppp&p'M)T
! RTR,          4      w  ppp(p&p'T Pq                  T(TT4      pT'       dN   \i        T PN                  RTT4       T
! R	TR,          4      ^ ,          p)\s        TTR,          T)\t        TT^TR7       T&R,          R8X  Ed   \9        T&^ ,          4      p*T*^ 8X  Ed`   ^ p+ TP                  4       w  p,p-p.T,\v        8X  g   T,\x        8X  d   ^p+MT,\        8X  d<   T
! RT.R,          4      w  p/p0p1p2p3p4T'       d   \i        T PN                  R T/T0T1T2T34       M}T,\        8X  dZ   T
! R!T.R",          4      w  p/p0p1p2p5p4T'       d:   \i        T PN                  R#T/T0T1T2T54       \s        TT.R$,          T4\z        ^TTTR%7       MT,T9  d   \}        R&T,,          4      hT+'       g8   TP                  4       w  p,p6p.T,\v        \x        39  d   \}        R'T,,          4      hT P                  T.4      pT P                  TT\         TT4       EK  T*^8X  d&   \9        T&^,          4      p7T	! TT\        T7T4       EK  T*^8X  d&   \9        T&^,          4      p7T	! TT\        T7T4       EK  T*^8X  d   T	! TT\         R(T4       EK"  \}        R)T*,          4      hT
! R*T&4      ^ ,          pT	! TTRTT4       EKS  T\        8X  d9   T
! R+TR,,          4      w  pppp7p8\        \        3T8,          p9T	! TTT9T7T4       EK  T\        8X  Ed   T'       g   EK  \        4       p:T
! R-TR",          4      w  p;p<T:nE        T:n0        p'^ T;u;8:  d   T<u;8:  d   R.8:  g'   M \M        R/T;T<3,          T PN                  R7       ?:E	K  \        T:T'R|4       \;        T;T<^,           4       F  pT^8  d    MT:T P                  T&   K  	  T'       d[   \i        T PN                  R0T Pj                  T;T<T:P                  T:P`                  T'4       T:Pm                  T PN                  R1R7       E	K  E	K  T\        8X  d   T
! R	TR2,          4      w  T nI        E	K  T\        8X  dD   T^8w  d#   \M        R3T\        T4      T PN                  R7       T
! R	TR2,          4      w  T nL        E
K+  T\        8X  d   T'       g   E
KA  T^"8X  g   Q hTR4,          R58X  g   Q h\        R6TR7,          4      p=. p>T= F6  p?\;        ^ 4       F$  p@T>P=                  T?^,          4       T?^,          p?K&  	  K8  	  \        T>4      T nO        E
K  T\        8X  d3   T'       g   E
K  T
! RTR,          4      w  pppT	! TT\        R(T4       E
K  T\        8X  d   T'       g   EK  T^,	          pBT
! R8TB,          T4      pCTCR2,          w  ppDTCR{,          pETBTE^,           TD,
          8X  g   Q h^p\;        XDXE^,           4       F#  pT	! TT\        R(XCT,          4       T^,          pK%  	  EK  T\        8X  g   T\        8X  d   T^ 8X  d   EK  T^P8  d   T
! R9TR:,          4      pFMT
! R;TR<,          4      pF^ ^ uT nY        T nZ        XFw  T n[        T n\        TR}9   dS   T P                  P                  '       d7   T P                  P                  '       g   T P                  P                  4        T'       dF   \i        T PN                  R=T Pj                  T P                  T P                  T P                  4       EK  EK  T\        8X  d   T P                  T4       EK  T\        8X  d   T P                  T4       EK  T\        8X  d&   ^ pT'       d   \M        R>T PN                  R7       ^pEMjT\        8X  d.   T P                  T4      pGTG'       d   XGP                  pHEKE  RpHEKJ  T\        8X  d   T P                  TTT4       EKk  T\        8X  d2   T P                  T4      pITI'       d   XH'       d   XITXH&   RpHEK  EK  EK  T\        8X  d   T P                  TT4       EK  T\        8X  d   T P                  T4       EK  T\        9   d   T
! R
TR,          4      w  pJpKTK^ 8w  d;   \M        R?TTP                  T,
          ^,
          XJXK3,          T PN                  R7        TP                  4       w  pLppTL\        8X  g   K"   T'       d   \M        R@T PN                  R7       EK  EK  T\        8X  d   TP                  T4       EK  T\        8X  dC   ^ p\        T P                  TTT^RA7      p\        T P                  TTT^RA7      pTT8X  g   Q hEK  T\        8X  dB   T
! RTR,          4      w  p/p0p1p2p3p4T'       d    \M        RBT/T0T1T2T3T PN                  R7       EKB  EKE  T\        8X  d`   T
! R!TR",          4      w  p/p0p1p2p5p4T'       d>   \M        RCT/T0T1T2T5T PN                  R7       \s        TTR$,          T4\z        ^XXTR%7       EK  EK  T\        8X  d   T'       g   EK  T^P8  g   Q h\        RDTRE,          4      w  pMpNpOpPpQpRT P                   ^8  dJ   \i        T PN                  RFT Pj                  T P                  XMXN\        XOXP^,           XQXR^,           4      4       . pS\        TST^T^RA7      pT P                   ^8  d;   \i        T PN                  RG\?        XS4      RHP                  RI TS 4       4      4       EK  EK  T\        8X  Ed   T'       g   EK  \        RJTRK,          4      w  pTpUpVpWp'T'^,	          ^,          pXT'^,	          ^,          pYT'^,	          ^,          pZT P                   ^8  d   \i        T PN                  RLXTXUXVXWT'XXXYXZ4
       ^pXX'       d   \        RMTTT^v,            4      w	  p[p\p]p^p_p`papbpcTa^8  ^,          pdT\^8  ^,          peTa^8  ^,          pfT\^8  ^,          pgT P                   ^8  d"   \i        T PN                  RNX[X]X^X_X`XbXcXdXeXfXg4       T^v,          pXY'       d
   T^,          pXZ'       d
   T^,          pTTTXV,            phTTV,          pT'       d0   XV'       d(   \i        T PN                  RO4       \        TXhXVT^ ^RP7       TTTXW,            piTTW,          pTT8X  g   Q hT'       d6   XW'       d+   \i        T PN                  RQ4       \        TXiXWT^ ^RP7       EK  EK  EK  T\        8X  d   T^8X  d   \        R
TRR,          4      w  p?T n~        MLT^8X  d-   \        R	T4      w  T n~        ^ p?\i        T PN                  RS4       M^ p?\i        T PN                  RTT4       T?^,          T n        T?^,	          ^,          T n        T?^,	          ^,          T n        T?^,	          ^,          T n        EK\  TE\        8X  dn   T'       g   EKs  \        T EP                  T^ T^RA7      pT'       d&   \i        T PN                  RUT^,
          ^,          4       TT8X  g   Q RVTT3,          4       hEK  TE\
        8X  d   T^P8  d<   T^8  d5   \        RWTR,          4      w  pjT n        T n        T n        T n        T n        MvT^8  g   Q h\        RTR,          4      w  pjT n        T n        \        RXTRY,          4      T n        E\        T P                  EP                  T EP                  ^ RZ7      T n        E\         F$  w  pkplE\        T TkXj^,          4       Tj^,          pjK&  	  EK  TE\         8X  d   \        R
T4      w  pmpn^ pCTn'       d   Xm^d,          Xn,          pC^
XCu;8:  d   R[8:  gI   M T'       g   T P                   ^ 8  d,   \M        R\T Pj                  XmXn3,          T PN                  R7       ^dpCXCT n        EKa  TE\$        8X  d=   \        R]TR^,          4      w  T n        T n        T n        T n        T n        ^T n        EK  TE\2        8X  d   T'       g   EK  T
! R	TR2,          4      w  poTo^^T^P8  ,          ,           ,          ^,           T8X  g   Q h^pT^P8  dM   TT8  dC   T EP4                  P=                  T
! R	TTT^,            4      ^ ,          ^ ^34       T^,          pKI  EKO  TT8  d9   T EP4                  P=                  T
! RTTT^,            4      4       T^,          pK?  EK  TE\6        8X  d   T'       g   EK  T
! R	TR2,          4      w  poTo^^T^P8  ,          ,           ,          ^,           T8X  g   Q h^pT^P8  dM   TT8  dC   T EP8                  P=                  T
! R	TTT^,            4      ^ ,          ^ R_34       T^,          pKI  EK7  TT8  d9   T EP8                  P=                  T
! RTTT^,            4      4       T^,          pK?  EKy  T^-8:  Ed   TE\:        8X  g   TE\<        8X  d   TEP?                  TT4       EK  TE\@        8X  g   TE\B        8X  d   TEPE                  T4       EK  TE\F        8X  dL   T P                  P                  '       g   T P                  P                  4        TEPI                  T4       EK3  TE\J        8X  d   TEPM                  T4       EKT  TE\N        8X  d   TEPQ                  T4       EKu  TE\R        8X  g   TE\T        8X  g   TE\V        8X  d   TEPY                  T4       EK  TE\Z        8X  d   TEP]                  T4       EK  TE\^        8X  d   TEPa                  T4       EK  TE\b        8X  d   TEPe                  T4       EK  TE\f        8X  d   TEPi                  T4       EK2  TE\j        8X  d   T
! R	T4      ^ ,          T n        EKV  TE\n        8X  d/   T
! R`T4      w  ppp(pT	! TTRTT Pq                  T(TT4      4       EK  TE\p        8X  d9   T
! RaT4      w  ppp(pT	! TTRE\s        T4      T Pq                  T(TT4      4       EK  TE\t        8X  dj   T
! RbTRc,          4      w  ppp(\-        T^TP.                  ;'       g    TP1                  4       ^R7      pT	! TT\         TT Pq                  T(TT4      4       EKI  TE\v        8X  dC   T
! RdT4      w  ppp(p7p8\        \        3T8,          p9T	! TTT9T7T Pq                  T(TT4      4       EK  TE\x        8X  dD   T'       g   EK  T
! RbTRe,          4      w  ppp(T	! TT\        R(T Pq                  T(TT4      4       EK  TE\z        8X  d   TEP}                  T4       EK  TE\~        8X  Ed   T'       g   EK  T
! RfTRg,          4      w  pp"p#^ Tu;8:  d   T PJ                  8  g0   M \M        RhTT PJ                  3,          T PN                  R7       EK{  T#^,          '       g   R{pMQT^8X  d.   T
! R	TRi,          4      ^ ,          ppT Pq                  RTR{TpRj7      pMTRk,          p(T Pq                  T(TR{Rl7      pT"T#T3p$TP%                  T$4      p%T%fH   \Q        4       ;TT$&   p%T"R,          T%n)        T"^,	          ^,          T%n*        T#^,          T%n/        TT%n0        T%T Pf                  T&    T'       dM   \M        RmTT"T PN                  R7       T%Pm                  T PN                  RT Pj                  T3,          R7       EK  EK  TE\        8X  d   T'       g   EK  T
! RnTRR,          4      w  p;p<pqT;T<8:  g$   \M        RoT;T<3,          T PN                  R7       EK  \;        T;T<^,           4       FH  pTT P                  9   d   T P                  T,          p:M\        4       p:T:T P                  T&   XqT:nE        KJ  	  T'       d(   \i        T PN                  RpT Pj                  T;T<Xq4       EK  EK  TE\        8X  Ed"   T'       g   EK  T
! R
TRR,          4      w  p;p<T'       d$   \i        T PN                  RqT Pj                  T;T<4       ^ T;u;8:  d   T<u;8  d   R.8:  g0   M \M        RrT;T<3,          T PN                  R7       E\        T<R.4      p<\;        T;T<4       F  p^^TT;,
          ,          ,           prTTrTr^,            p(T Pq                  T(R{TRs7      pTT P                  9   d   T P                  T,          p:M\        4       p:T:T P                  T&   TT:n0        K  	  EK  TE\        8X  d   R~psE\        TsTRt,          4       F!  w  pkptE\        T TkE\        TtRu8g  4      4       K#  	  \        RvTRw,          4      w  T n        T n        T n        \        RXTRx,          4      T n        E\        T P                  EP                  T EP                  ^ RZ7      T n        EKv  EKy  EK|  T'       g)   \}        RyT Pj                  T P                  3,          4      hT EP                  4        T EP                  4        Yqn        ^# )r   z<HHHd:N   NNz<HHHi<HHH:r      Nlenlenz<BBz<H<HHNr   N:r   
   N:r      Nz<H4xH4xi:r      NzT*** NOTE: ROW record has row index %d; should have 0 <= rowx < %d -- record ignored!r   i    ROWz--- sh #%d, rowx=%d ---headerz<HHH8sHz<HH3s8sBzFORMULA: rowx=%d colx=%d
:      N:r   NN)browxbcolxblahr1c1:r      Ns   z<HHBBBxxxxxHzARRAY: %d %d %d %d %d
z<HHBBxBHNr   NzSHRFMLA (sub): %d %d %d %d %d
:r   NN)r   r   r   r   z@Expected SHRFMLA, ARRAY, TABLEOP* or STRING record; found 0x%04xz$Expected STRING record; found 0x%04xr   z+unexpected special case (0x%02x) in FORMULA<dz<HHHBBNr   Nz<HHHHHr   zr*** NOTE: COLINFO record has first col index %d, last %d; should have 0 <= first <= last <= 255 -- record ignored!z>COLINFO sheet #%d cols %d-%d: wid=%d xf_index=%d flags=0x%04x
z===:N   Nz*** ERROR *** STANDARDWIDTH:r   r   Ns     z<8i:r   "   Nz<%dHz<HxxH:r   r   Nz<ixxH:r      Nz+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<6H:r   r   Nz
*** 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   4   "   T F  p\        V!  x  K  	  R # 5ir   )r   )r   coordss   & rZ   r   Sheet.read.<locals>.<genexpr>  s     !KU6+v"6Us   z<BBHHi:r   r   Nz
*** 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 18xz*** 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:
:Nr   NzR*** 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:r   	   N)debug  zHWARNING *** SCL rcd sheet %d: should have 0.1 <= num/den <= 4; got %d/%dz<HHHHB:Nr   N  z<HH3sdz<HH3sHz<HH3s:r      Nz<HH3sBB:Nr   Nz<H4xH2xB:r      NzW*** NOTE: ROW_B2 record has row index %d; should have 0 <= rowx < %d -- record ignored!:r      N)	cell_attrrb   rc   true_xfx:   r   N)rc   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)rb   rc   :r      N    z<HHB:r  r   N:r   r  Nz Sheet %d (%r) missing EOF recordr   r   ))r      hidden)r  r   	bit1_flag)r   i   outline_level)r   i   	collapsed)      (   )show_formulasshow_grid_linesshow_sheet_headerspanes_are_frozenshow_zero_values)r!   r   
XL_SHRFMLAXL_ARRAY
XL_TABLEOPXL_TABLEOP2	XL_ARRAY2XL_TABLEOP_B2r%   r   get_record_partsr   r"   _rich_text_runlist_map	XL_NUMBERXL_LABELSSTXL_CELL_TEXT_sharedstringsgetr=   XL_LABELBIFF_FIRST_UNICODEunpack_stringencodingderive_encodingunpack_unicode
XL_RSTRINGunpack_string_update_pos	BYTES_ORDrz   r   rv   unpack_unicode_update_posXL_RK	unpack_RKXL_MULRKXL_ROWrS   r   r   Rowinfoheighthas_default_heightr  outline_group_starts_endsr  height_mismatchhas_default_xf_indexrr   additional_space_aboveadditional_space_belowr9   r   r    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upkbitsr8   XL_DEFCOLWIDTHr1   XL_STANDARDWIDTHreprr2   XL_GCWtuplegcwjoinmaprstripreplaceXL_BLANKXL_CELL_BLANKXL_MULBLANKXL_DIMENSIONXL_DIMENSION2r(   r)   r,   r-   r   xf_list_xf_epilogue_donexf_epiloguer   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_posr;   r:   
XL_CONDFMTr   XL_CFr   XL_DEFAULTROWHEIGHTr3   r4   r5   r6   r7   XL_MERGEDCELLSr<   
XL_WINDOW2rE   rF   rG   rN   rO   rH   r	   
colour_maprC   rD   XL_SCLrP   XL_PANEvert_split_poshorz_split_poshorz_split_first_visiblevert_split_first_visiblesplit_active_panehas_pane_recordXL_HORIZONTALPAGEBREAKSr>   XL_VERTICALPAGEBREAKSr?   	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_IXFErQ   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intautomatic_grid_line_colourr   update_cooked_mag_factors)urV   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datarb   rc   rr   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iguffrH  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optionsrX   _unused_defvalnumden
num_breaksrd   rA  offset
attr_namescharsu   &&                                                                                                                   rZ   read
Sheet.read  s   ++!+00T^^q0	~~*k}
  11''#AA(A(A!	!4!6B$ Y +7wS	*J'dHa dD$8<{"1=gt1L.dHhdD,8I8I(8SU]^# 77;;HEGCJ22D$<@  $ x'3FDI'F$dH**(q"++2U2UASASAU^_`D)$!<DdD,hGz!'3FDI'F$dH** 8q"++BeBeQSQcQcQeno pID##DI.C1HC G#)#;veT#c!e_'EFq $/ #d)+++ 9$! LID# tCA7:C1HC G#)#;veT#c!e_'EFq $/ #d)+++dD,hG;B**D$<8u'3FDH'E$dHd4j)dD$8<x)5eT#Y)G&	;*4bc;
";
1=D ,T4CE? CIH!$s1uSU"34A1HC!)T4HE	 >
 v  %1*d4j%I"eUD64#6#66 H!4!456<@LLJ en(,,S194;I=(-$  %v~AH,1RK1+<A(&+aiAO38A:2BA/ %
a/AH).!q(8A%.3qjA-=A*"'2+!6AJ05q/@A,05q/@A,111%'
)*  & %ue$,,GFF4<<8DKK;NN  P  )) 8>J9VZ[_V`>a;D$*e2X>J9VZ[_V`>a;D$*e@LZY]^bYc@d=D$	J $ 8 8D$ OH DLL*FdS*4e=a@G%b$s)Wn"$QTCc?k1!*:a=!9J!Q$%	464G4G4I1CE"i/3,3F,-	!$$0s$L !QueUK#0$+DLL:S(-ueUK%Q "%
!2$0U3Z$H !LueUFG#0$+DLL:[(-ueUF%L$5b%*gO_-.d$T%S!$,>!>&/$fil$l'n !n  )686I6I6K3Ce"9l*CC&/0VY\0\&] ]#::5AdD,hO#q )*Q- 8%dD/5(S#q )*Q- 8%dD-Q#q%dD,HM'(UXb(bcc %T:6q9A!$dAx@z!6B8TRTX6V3dHeV *=9&AdD&%Bz!I"8T#Y7 B
Iqw
E J:):s:  S%y128<F 5 #  #:y{;Dcz5-.D$$T* < YZAGGQZZQV
 FF4<<F6  ~%$0tBx$@! ''q=74:TXT`T`a&24b&B#"v2~%~CyK///ud4j1!D#BZ

4!8,
 ( " !: x'3FDH'E$dHdD-XF{"!Q%fvot<"(*i!":A	!9999"9hl;D!$mRM1HC < |#r]':q= 7 ,Wd3i @I ,Wd4j AI)*A&
DJ1:.%$))*;*;*;DIID_D_D_II))+FTYY  x!!$'{"$$T*v% 1E	v OOD1	Y\\l%)l~%))"h=vood+<),D&#'L (3 w  t,y""4(x#/tCy#A d?ir||h6:GWMNTXT`T`b+-+>+>+@(D(Dv~% 0t||DD5z!!!$'~%?))4bA @))4bA h&x c; AueUK (E5%RVR^R^__ ! z! T#Y7 <ueUFG +UE5%VZVbVbc%b$s)W>Nd$TC C ! z!Rxx5$t*- Fvvvv>>Q&3 TYY#FF1HffQhG ?4R16 >>Q&#E
		!KU!KK ' u39(DJ3O0c5#rkQ.
#rkQ.
#rkQ.
>>Q&U  c5"J
 KQRtvz{~  @C  DG  @G  wH  LII[,
I&(K"*Q,!!3J+a/14G!)A 2I$01$4#9L~~* LLS (Y-x&L 3JC1HC1HCSS)s
CDLL*<= UCaaHSS)s
h&CDLL*<= UCaaHH  4 **q=4:5$r(4K1D$1]/5dD/A,D+DDLL?@ DDLL> " 48!80+/19/'7;qyAo37;qyAo3~%?%%tQaADLL2S1WNDh H5hGHz!8B {DI6/1H2A: 8O8 vtBx0/1H/5fd3i/HD,1E		,,d.F.Fa2QD.  -=,<(D.D$!4MG -= v!%.S!CiC/FV*s*! 3f#{{C56!%
 !F&,#w 8T"X.''11*'($..*4b:
!QbBh%781<HHH7.33::LtTWX[\]X]<_`a<bdegj;klq ) .33::<PTUXY\]^Y^P_;`aq ) ,,*4b:
!QbBh%781<HHH7.1188,tTRUVYZ[V[_:]^_:`bcej9klq ) .1188fdSVWZ[\W\o9^_q ) r?bJ&6$$T2.7]bL&8NN4(8^99666		--/OOD):%%%d+----d36\R6\R6\LL&;&&&t,;&&&t,;&&&t,>)))$/7]!-dD!9!!<DJ<'/;Hd/K,D$	1!$dAt7O7OPY[_ae7fg:%/;Hd/K,D$	1!$dE!Hd>V>VW`bfhl>mn;&,8$s),L)D$	(q"++2U2UASASAU^_`D!$lD$BZBZ[dfjlpBqr=(;G	SW;X8D$	5&-}=fEF!$feT=U=UV_aegk=lm;&#X,8$r(,K)D$	!$mRAYAYZceikoApq8^OOD)9_#X)5j$t*)M&D%:t':':: L#T%8%89:@DN !!AII#%!R*4e=a@#'#;#;dQU\^il#;#m$(K	#'#;#;ItRT#;#U %2C,005Ay8?	A,S1A#(6>05q/@,16.%-
 ./D$$T* !he$,,Gt||#<T?R#R  T ! ;&#X&vtBx8 1J	5%2 K)956<@LLJ ! &z9Q; ?4#3#33 $ 0 0 6A '	A56D,,T2"' !@  LLE KKY  ++#X,8R,I)J	 LLM KKY
 
=Y=#= C)956<@LLJ %(	3$7	 &z9 =!"Q$*;%<!<$(q$9	#'#;#;IBUY#;#Z4#3#33 $ 0 0 6A '	A56D,,T2%-
 !> =("@J&)*d3i&@
ddC,>? 'A
 vtDz2/1H7/5fd5k/JD,1E		,,d.F.Fa2QD. ) >;;		*+ , ,&&(r]   c                v   V P                   pV P                  pV^8  ^,           p\        RRV^,
          ,          ,           VRV 4      ^ ,          pTpV^P8  d%   VP                  ;'       g    VP	                  4       p^ p\        R4      p	 V^P8  d+   \        W,          4      ^,          p
RV
,          pV^,          p\        WR X4      pW,          p	V\        V4      ,          pW8X  d   V	# W8  d   RWX3,          p\        V4      hVP                  4       w  rpV\        8w  d   \        RV,          4      h^ pK  )r  <BHNr   z,STRING/CONTINUE: expected %d chars, found %dz2Expected CONTINUE record; found record-type 0x%04X)latin_1	utf_16_le)r   r   r   r"  r#  r   r'  unicoderv   r:  r  XL_CONTINUE)rV   r  r  r  r   nchars_expectedr  encnchars_foundr  flagchunkmsgr  r  s   &&             rZ   r;  Sheet.string_record_contents  s2   YY(a tFQJ'7!7gvGJ7++55!3!3!5C $Rx .2.t4!DM3/EOFCJ&L.-E&56n$$&$7$7$9!BT[ H2MO OFr]   c                   \         ;'       g    V P                  ^ 8  pV P                  '       d   V P                  f	   ^dV n        MV P                  V n        V P
                  p^
Tu;8:  d   R8:  gK   M V'       d5   \        RV P                  V P
                  3,          V P                  R7       V P                  pW n	        R# V P                  f	   ^dV n	        MV P                  V n	        V P                  pV'       g   ^<pMX^
Tu;8:  d   R8:  gJ   M V'       d4   \        RV P                  : RV P                  : 2V P                  R7       V P                  pW n        R# )r   Nr   zGWARNING *** WINDOW2 rcd sheet %d: Bad cached_normal_view_mag_factor: %dr   zWARNING *** WINDOW2 rcd sheet z,: Bad cached_page_break_preview_mag_factor: )r  r!   show_in_page_break_previewrP   rL   rO   r   r    r   rM   rN   )rV   r   zooms   &  rZ   r  Sheet.update_cooked_mag_factors  s    ******""*<?9<@<O<O955D$$$a;;(J(JKL!\\
 @@15. ""*582595H5H2<<DD'C';;(Q(QS!\\
 998<5r]   c                   ^ pT;'       g    V P                   ^8  pV P                  ^8X  d   V P                  P                  '       dO   Ve   TpM\	        V^ ,          4      ^?,          pV^?8X  d&   V P
                  f   \        R4      hV P
                  pV# ^;V n        V P                  n        \	        V^ ,          4      ^?,          pV^ 8X  g   Q hV P                  P                  V4      pVe   V# V'       d   \        V P                  RWV4       V P                  P                  '       g)   \        ^4       F  pV P                  RV^8  R7       K  	  V P                  VR7      pV# )r   z?BIFF2 cell record has XF index 63 but no preceding IXFE record.zNew cell_attr %r at (%r, %r)
s   @  )r   style)r   )r!   r   r   rR  r'  rQ   r:  rR   r  r   r   rz   insert_new_BIFF20_xf)	rV   r   rb   rc   r   r  r   rd   xfx_slots	   &&&&&    rZ   r7  Sheet.fixed_BIFF2_xfindex1  s>   ++!+"yy   '"C#IaL1D8C$;zz)'(ijj**C
 
9;;D		 6Yq\*T11}}$$((3?JDLL"BIUYZyy   bz))O3QS8)T "'')'<
r]   c           
        ^ pT;'       g    V P                   ^8  pV P                  p\        VP                  4      pV P	                  W4      pWgn        VP                  P                  V4       V'       d&   VP                  V P                  RV,          RR7       VP                  VP                  9  d   VP                  '       d:   Rp\        V P                  VVP
                  VP                  VP                  4       \        VP                  \        \        R4      4      p	WP                  VP                  &   VP                  P                  V	4       \         \"        \        \"        \$        \"        \&        \(        \*        \"        /p
VP                  VP                  ,          p	WP,                  ,          pWP.                  VP
                  &   W`P0                  V&   V# )r   z=== Faked XF %d ===z======r   footerz1ERROR *** XF[%d] unknown format key (%d, 0x%04x)
General)r!   r   rv   rR  fake_XF_from_BIFF20_cell_attrrr   r   r5  r   
format_key
format_mapr   r   FUNr   format_listFNUXL_CELL_NUMBERFGEFDTXL_CELL_DATEFTXtyper'   rR   )rV   r   r   r  r   r   rd   xfr  fmtcellty_from_fmttyr  s   &&&         rZ   r!  Sheet.insert_new_BIFF20_xfS  s]   ++!+yy$,,//	ABGGDLL)>)DXGV==/}}}JcR]]BMMC_Y-GHC-0OOBMM*##C(
 oobmm,"88,5;%%bkk2,/y)
r]   c                   ^RI HpHpHpHpHp V! 4       pV! 4       Vn        ^ VP                  n        ^ VP                  n        ^ VP                  n	        V! 4       Vn
        ^ VP                  n        ^ VP                  n        ^ VP                  n        ^ VP                  n        V! 4       Vn        V! 4       Vn        \#        RV4      w  rpV
^?,          Vn        V
^,          ^,	          Vn        \)        VP                   V	R4       V^,          VP                  n        R FV  w  rW,          '       d   ^^rM^ ^ r\-        VP                  VR,           V4       \-        VP                  VR,           V4       KX  	  VP                  pV^,          '       d	   ^Vn        M^ Vn        ^	Vn        ^Vn        R	V,          Vn        ^VP                  n        ^ VP                  n        . R
OpV F   pRV,           R,           p\-        VV^4       K"  	  V# )r  )XFXFAlignmentXFBorderXFBackgroundXFProtectionr   _colour_index_line_style__flag))r   @   cell_locked)r      formula_hidden))r   left)r   right)    top)rB  bottom)r   r   )formatfont	alignmentborder
background
protection)
formattingr9  r:  r;  r<  r=  rM  indent_levelshrink_to_fittext_directionrN  diag_up	diag_downdiag_colour_indexdiag_line_stylerO  rP  r   r)  
font_indexrB  	hor_alignrD   fill_patternbackground_colour_indexpattern_colour_indexparent_style_index
vert_alignrotation)rV   r   r   r9  r:  r;  r<  r=  r4  	prot_bitsfont_and_format
halign_etcmasksidecolour_index
line_stylebg
attr_stems	attr_stemrX   s   &&&                 rZ   r(  #Sheet.fake_XF_from_BIFF20_cell_attrr  s   UUT"}$%!%&"&'#J					&'		#$%		!$$39&)3L0Z'$.(4/A5y +
 	 ",d!2\JD  +,aj+,ajBIIto5|DBIItm3Z@ ] ]] BOBO%&""# +E 2"# !

 $I?W,DBa  $ 	r]   c                @    V P                   '       g   \        R 4      hR# )z9Feature requires open_workbook(..., formatting_info=True)N)r"   r:  r   s   &rZ   rq   Sheet.req_fmt_info  s    ###WXX $r]   c                v   V P                  4        V P                  ^P8  dH   V P                  P                  VR4      pVe   VP                  # V P
                  e   V P
                  # MV P                  ^(8  db   V P                  V,          '       d   V P
                  e   V P
                  # MjV P                  P                  VR4      pVe   VP                  # M=V P                  ^8X  d-   V P                  P                  VR4      pVe   VP                  # V P                  e   V P                  R,          # R# )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
Nr   i   )rq   r   r8   r  rA  r2   rH  r1   )rV   rc   colinfos   && rZ   computed_column_widthSheet.computed_column_width  s"     	"&&**46G"}}$!!-))) ."$xx~~%%1--- 2 **..tT:&"==( '"$&&**46G"}}$'##c))r]   c                :   \         '       d   \        R V P                  R7       \        V4      p\	        4       p\        RVR,          4      w  Vn        Vn        Vn        Vn	        rEpVR8X  g   Q hVR8X  g   Q h\         '       d   \        RV,          V P                  R7       ^ pR pV^,          '       d   V! W4      w  Vn
        pV^,          '       d   V! W4      w  Vn        pV^,          '       Ed   VR,          '       Eg   \        R	WV^,            4      w  p	\         '       d   \        V P                  R
V	4       V^,          pV	R8X  EdU   \        R4      Vn        \        RWV^,            4      ^ ,          p
V^,          p\        WWz,            R4      Vn        \         '       d6   \        V P                  RVP                   \        VP                   4      4       VP                   P#                  R4      p\         '       d   \        RV,          V P                  R7       VP                   RV Vn        ^V^,           ,          pW|,          pW,
          pWW},            pW},          p\         '       d$   \        V P                  RVP                   WW4       VR'9   g   Q hEMV	R8X  Ed8   \        R4      Vn        \        RWV^,            4      w  rV^,          pRV,          WWz,           ^,
           ,           p\         '       d   \        V P                  RVV4       Wz,          pV^,          p\        RWV^,            4      ^ ,          p\         '       d   \        RV,          V P                  R7       V^,          pV'       dU   \        RWV^,            4      ^ ,          pV^,          pV^,          p\        WVV,            R4      pVV,          pVVn        M~VVn        Mv\        V P                  RV	4       M^VR,          R8X  d"   \        R4      Vn        V! W4      w  Vn        pM/VR,          ^8X  d   \        R 4      Vn        M\        R!4      Vn        V^,          '       d   V! W4      w  Vn        p\         '       d&   VP'                  R"R#7       \        R$Wr3,          4       W',
          pV^ 8  dJ   \        V P                  R%VP                  ^,           VP                  ^,           V\)        W) R 4      4       MV^ 8  d   \+        R&4      hV P,                  P/                  V4       \1        VP                  VP                  ^,           4       FA  p\1        VP                  VP                  ^,           4       F  pW0P2                  VV3&   K  	  KC  	  R# )(z
=== hyperlink ===r   z<HHHH16s4si:NrH  Ns   y  Ks      zoptions: %08Xc                     \        R WV^,            4      ^ ,          ^,          pV^,          p\        WW,            R4      RR pW,          pW13# )<LUTF-16leNr   )r   r  )bufofsnbucs   &&  rZ   get_nul_terminated_unicode6Sheet.handle_hlink.<locals>.get_nul_terminated_unicode  sP    cc!en-a014B1HC*5cr:BIC7Nr]   r   z<16sz	clsid=%r
s   y  Kurlrt  ru  zinitial url=%r len=%d
 z	endpos=%dNz9url=%r
extra=%r
nbytes=%d true_nbytes=%d extra_nbytes=%d
s               Fz
local filez<His   ..\zuplevels=%d shortpath=%r
<izsz=%dz*** unknown clsid %r
ic  i  uncik  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   rv   	Hyperlinkr   frowxlrowxfcolxlcolxdesctargetr   r   r3  r  url_or_pathfindtextmarkr5  REPRr:  rI   r   rz   rJ   )rV   r  record_sizer   guid0dummyr  r  rz  clsidnbytesendpostrue_nbytesextra_nbytes
extra_datauplevels	shortpathszxlextended_pathrb   rc   s   &&                    rZ   rV  Sheet.handle_hlink  s   5%-DLLA$iKDJ=Z^_bZcDdA!'17E'[[[[++++5%'1E	 T>>7ENAFFT>>9$GAHfaKK'E//FD$<=FEugdllL5AbLF[[ )/d&1*&=>qA! 'FO(Dj Q5'$,,0I1==Z]^_^k^kZlm++F35%f 44<<H !gv 66A:.%%3!)>?
&5Vz;
 $w...]](6#)%VaZ1H#I !#h.V_q=P1QQ	5'$,,0LhXab "D$fqj"9:1=5%"4<<@!d&1*&=>qABaKFaKF$+D,Dj$QMbLF$1AM$-AM &>Fu_%$U+AF$>t$L!AM6u_!$Z0AF$Y/AFS==!;D!IAJ5FF/F0,/DDE"+!P!!T-.)* AXYY""1%177AGGAI.Dqww	212""4:. 3 /r]   c                J   \        R VR,          4      w  r#rEpV\        8X  g   Q hV P                  '       g   Q hV P                  R,          pW4WV3VP                  VP                  VP
                  VP                  38X  g   Q hVRR R8X  g   Q h\        V^
R R4      Vn        R# )<5Hr   Ns     r  r   r   )	r   rW  rI   r  r  r  r  r  quicktip)rV   r  rcxr  r  r  r  r   s   &&      rZ   rX  Sheet.handle_quicktipB  s    *0S	*B'E%k!!!"""""#e+!''177/SSSSBCyK'''T"R[+6
r]   c           	        \         '       g   R # ^pV P                  ^P8  d   R # \        4       p^ pWb8  Ed   \        RW6V^,            4      w  rxp	V^,          p
V^,	          R,          pV
^8X  d   ^ pMT	pV'       d:   \	        W6V^,           ^ V P
                  R7       \        V P
                  RWWV	4       VR8X  dM   V^8X  g   Q h\        RW6^,           V^,           V,            4      w  Vn        Vn        Vn	        Vn
        Vn        M"VR8X  d   V	^ 8X  g   Q hV^,           V8X  g   Q hM Wl^,           ,          pEK  Wb8X  g   Q hV'       d!   VP                  V P
                  RR	R
7       R # R # )Nz<HHIr   basefoutz.fbt:0x%04X  inst:%d  ver:0x%X  cb:%d (0x%04X)
i  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_hir5  )rV   recidr  r  r  or  tmpfbtcbverinstndbs   &&&&         rZ   r^  Sheet.handle_msodrawingetcK  sV   }r!Ln!&$3q5/:LCb)C1H%Dczdqqt||LEs, f}by y 7=XtPQERUVWRWX[R[G\6]4 !"2 !"2QwwQw(***7NC ?"?FF4<<(<cFJ r]   c                   V P                   ^P8  d   R# \        4       p\        V4      p^ p\        '       d   \	        V P
                  RV4       WC8  Ed   \        RWV^,            4      w  rV\        '       d9   \	        V P
                  RWEV4       \        WV^,           ^ V P
                  R7       V^ 8X  d9   V^8X  d   V^8X  g+   V P                  '       d   \	        V P
                  R4       R# V^8X  dA   V^ 8X  g   Q h\        RW^,           V^
,            4      w  Vn	        Vn
        p\        W'R4       MV^ 8X  da   WV RW4,
          ,          8X  d   MR	p\	        V P
                  R
V,          4       \        WW4,
          ^ V P
                  R7       \        V4      hV^8X  dG   \        RW^,           V^,            4      p	\        V	R4       F  w  r\        VRV,           V
4       K  	  MFV^8X  d$   \        '       d   \	        V P
                  R4       MV^8X  d   VP                  '       d   MM WF^,           ,          pEK   \        '       d   VP!                  V P
                  RRR7       V# )P   Nz... OBJ record len=%d...
r   zpos=%d ft=0x%04X cb=%d
r  z6*** WARNING Ignoring antique or corrupt OBJECT record
r   r  z'Unexpected data at end of OBJECT recordz*** ERROR %s
r  
scrollbar_z.*** OBJ record has ft==0x0D 'notes' structure
z=== MSOBj ===r  r%  ))r   r  locked)r   r   	printable)r   r   
autofilter)r      scrollbar_flag)r  i    autofill)r   r   autoline)r   r  maxincpage)r   MSObjrv   r  r   r   r   r  r!   r3  r\  rB  r:  r  rD   r  r5  )rV   r  r  r  r  ftr  option_flagsr  valuesr   tags   &&          rZ   r[  Sheet.handle_objs  s   r!Gt9=DLL">InE4CE?3FB}&@#2NdaadllKaxtb>>>DLL*cdTzaxx-3FDQs2v<N-O*l *  tH%(.)AA?&6&<=dadllSn$ttE#b&'9:"%f.T"UJEA|c159 #Vt ='$,,8i"jt<<<   6MC =FF4<<FEr]   c                ,   \         '       d:   \        V P                  R 4       \        V^ \	        V4      ^ V P                  R7       \        4       p\	        V4      pV P                  ^P8  Ed   \        RVR,          4      w  Vn        Vn	        p\	        V4      ^,
          pWe8:  g   Q hVR,          .pWV,          pV^ 8  dz   V P                  P                  4       w  rp
V\        8X  g   Q h\        RV
R,          4      w  rVR8X  g   Q hWi^,
          8X  g   Q hVP                  V
R,          4       WV,          pK  V^ 8X  g   Q hV P                  P                  ;'       g    V P                  P                  4       p\!        RP#                  V4      V4      Vn        R.Vn        ^ Vn        ^ Vn        ^ Vn        \/        R4      Vn        R	Vn        W0P4                  VP                  VP                  3&   R	# \        R
VR,          4      w  Vn        Vn	        qn        V^,	          ^,          Vn        V^,	          ^,          Vn        V^,	          ^,          Vn        \7        V^^R7      w  Vn        pWN,
          R9   g   Q h\         '       d   VP9                  V P                  RRR7       VP;                  VP2                  4      pV'       dI   VP$                  Vn        VP&                  Vn        W0P4                  VP                  VP                  3&   R	# R	# )z... NOTE record ...
r  r   r   :r   NNz<H2xHr   r]   r   Nz<4Hr   r   z=== Note ===r  r%  )r   r   )r   r  )r  r   r   r  rv   Noter   r   rb   rc   r   r  ra  r   r"  r#  r  rI  textrich_text_runlistshow
row_hidden
col_hiddenr   author
_object_idrK   r(  r5  r  )rV   r  r  r  r  expected_bytesrx  piecesr  r  r  
dummy_rowxr  r  r  r  s   &&&             rZ   rb  Sheet.handle_note  s   =DLL"9:$3t914<<HFt9r!-3FDH-E*AFAFNTQB'''2hZF N 1$(,		(B(B(D%g~%~!'r!;
!V+++]***eBi($!Q&&&))$$CC		(A(A(CCSXXf-s3AF#)(AAFALAL&r*AHAL12qvvqvv~.5;E485L2l!#q($)Q.$)Q. 5T1QG& !f,,,=FF4<<FDhhq||$XXAF"%"7"7A12qvvqvv~. r]   c                   V P                   ^P8  d   R# \        4       pRp\        V4      p\        W1RV 4      w  qRn        rgqn        WR Vn        \        W%R4       ^ p	\        R4      Vn	        W8  d   V P                  P                  4       w  rpV
\        8X  g   Q h\        '       d   \        V^ V^ V P                  R7       \!        V^ ,          4      pV^,
          pV'       d   V^,          ^ 8X  g   Q hV^,          p\#        V^ VR7      w  ppVV8X  g   Q hV;P                  V,          un	        W,          p	K  . Vn        ^ pVV8  d   V P                  P                  4       w  pppV\        8X  g   Q hV^,          ^ 8X  g   Q h\'        ^ V^4       F=  p\        RVVV^,            4      pVP$                  P)                  V4       V^,          pK?  	  K  VP$                  '       d/   VP$                  R,          ^ ,          V8X  d   VP$                  R K@  \        '       d@   VP+                  V P                  RRR	7       \-        VP$                  V P                  R
7       V# )r  Nz<HH6sHHHr   r  )	known_lenz<HH4xz=== MSTxo ===r  r%  r   ))r   r   
horz_align)r   p   r_  )r   r  	lock_text)r   r   	just_last)   i   secret_editr   )r   MSTxor   r   rot	ifntEmptyfmlarB  r   r  r   r  r  r  r  r   r'  r(  r  rz   r   r5  r   )rV   r  r  r5  fmtsizer  controlInfocchTextcbRunstotcharsr  r  r  rx  ncharsutextr  totrunsrc3	data3_lendata3r  runs   &&                     rZ   r`  Sheet.handle_txo  s   r!G3-IOPSZb[bUcIdFe[6;h "
 	  $ $(II$>$>$@!CE+%%%}eQ	M58$B]FzQ&15eQ&QME6Y&&&FFeOFH $(II$>$>$@!CE+%%%q=A%%%aA.WeCA&67##**3/1 /
 !!!a&9&9"&=a&@G&K##B'=FF4<<FE!%%DLL9r]   c                ~   \         '       g   R # \        RVR,          4      w
  r#rErgrrV^ 8X  g   Q hV
^ 8X  g   Q hV^8X  g   Q hVR8X  g   Q hV^ 8X  g   Q hW8X  g   Q h\        V P                  RW4W4       \        RV^#^e 4      w  rrppppppppppp\        RWWVVVVVVVVVVV3,          V P                  R7       R # )Nz<HH8sHBiHiH8s:r   #   Nir  z3FEAT11: grbitFrt=%d  Ref0=%r cref=%d cbFeatData=%d
z<iiiiiiHHiiiii16sHzlt=%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   )rV   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   &&                         rZ   rd  Sheet.handle_feat11  s   } W]]lnrswnxVySd$IA~~A~~axxU{{qyy||dllRT\dhu( 4::NPTUWX]P^3_	1Y;+y,
S, B I+x+izS,E99
 @D||	Mr]   c                N    R P                  V P                  V P                  4      # )zSheet {:>2}:<{}>)rK  r    r   r   s   &rZ   __repr__Sheet.__repr__@  s    !((dii@@r]   )@rR   r/   r.   r0   r-   r,   rU   rQ   r+   r*   r   r@   r'   r  r   r   r   r   rO   rN   rK   r:   r8   rM   rL   r6   r7   r3   r4   r5   r1   rF   rE   r"   rH  rG   rH   rw  r>   rt  rs  rI   rJ   r   r<   r   r)   r(   r    r%   r#   r=   r;   r9   rP   rv  r2   rT   rS   r!   ru  rr  r?   rB   )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   r   )r   Nr   )I__name__
__module____qualname____firstlineno____doc__r   r   r(   r)   r8   r9   r:   r;   r<   r=   r1   r2   r3   r4   r5   r6   r7   rB   rH  rI   rJ   rK   rr  rs  rt  ru  rv  rw  r>   r?   r[   re   rj   rn   r_   rw   r{   r   r   __iter__r   r   r   r   r   r   colr   r$   r&   r  r;  r  r7  r!  r(  rq   rp  rV  rX  r^  r[  rb  r`  rd  r  __static_attributes____classdictcell____classdict__s   @rZ   r   r   2   s    & D D E E K K"  6 L0   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3f0d.M`A Ar]   r   c                       ] tR tRtRtR# )r  iD   Nr  r  r  r  r  r  r]   rZ   r  r  D      r]   r  c                       ] tR tRtRtR# )r  iH  r  Nr  r  r]   rZ   r  r  H  r  r]   r  c                       ] tR tRtRtR# )r  iL  r  Nr  r  r]   rZ   r  r  L  r  r]   r  c                   R    ] tR tRtRt]! R4      t^ t^ tRt	^ t
^ t^ t]! R4      tRtR# )r  iP  z
Represents a user "comment" or "note".
Note objects are accessible through :attr:`Sheet.cell_note_map`.

.. versionadded:: 0.7.2
r   Nr  )r  r  r  r  r  r   r  r  rc   r  r  rb   r  r  r  r  r]   rZ   r  r  P  sJ     R F J D
  J D D 2Dr]   r  c                   B    ] tR tRtRtRtRtRtRtRt	Rt
RtRtRtRtRtR# )r  is  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
Nr  )r  r  r  r  r  r  r  r  r  r3  r  r  r  r  r  r  r  r]   rZ   r  r  s  sM     E E E E D K D F
 H Hr]   r  c           
      d   \        V ^ ,          4      pV^,          '       d;   \        RV 4      w  pV^,          pV^,          '       d
   VR,          # \        V4      # \        RR\        \	        V^,          4      4      ,           V R,          ,           4      w  pV^,          '       d
   VR,          # V# )r   r~  g      Y@r   s       :r  r   N)r'  r   r  BYTES_LITERALchr)rk_strr  ir  s   &   rZ   r*  r*    s    fQi EqyyT6"	a199u9Qx D+c%#+6F(GG&QT+UV199u9r]   emptyr  r    xldateboolerrorblankc                   <   a  ] tR tRt o Rt. ROtRR ltR tRtV t	R# )r`   i  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>
Nc                *    Wn         W n        W0n        R # r   r   r   rr   )rV   r   r   rr   s   &&&&rZ   r[   Cell.__init__	  s    

 r]   c                    V P                   f)   \        V P                  ,          : RV P                  : 2# \        V P                  ,          : RV P                  : RV P                   : R2# )N:z (XF:))rr   
ctype_textr   r   r   s   &rZ   r  Cell.__repr__	  sH    == (44djjAA&0&<&<djj$--XXr]   r/  r   )
r  r  r  r  r  	__slots__r[   r  r  r  r  s   @rZ   r`   r`     s#     ?B /I!
Y Yr]   r`   r   c                   2    ] tR tRtRt^ tRt^ t^ t^ t	^ t
RtR# )r@  i$	  a  
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  Nr   )r  r  r  r  r  rA  rr   r  r  r  r	  r  r  r]   rZ   r@  r@  $	  s2    #N E H F I M Ir]   r@  c                   J   a  ] tR tRt o Rt]'       d   RtR tR tR t	Rt
V tR# )	r-  ib	  z
Height and default formatting information that applies to a row in a sheet.
Derived from ``ROW`` records.

.. versionadded:: 0.6.1
c                    R V n         R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n	        R # r   
r.  r/  r  r0  r  r1  r2  rr   r3  r4  r   s   &rZ   r[   Rowinfo.__init__x	  sa     #' "
 *.&   $ %)!  '+# '+#r]   c           
         V P                   V P                  V P                  V P                  V P                  V P
                  V P                  V P                  V P                  V P                  3
# r   r:  r   s   &rZ   __getstate__Rowinfo.__getstate__	  s`    KK##**KK  %%MM''''
 	
r]   c                    Vw
  V n         V n        V n        V n        V n        V n        V n        V n        V n        V n	        R # r   r:  )rV   states   &&rZ   __setstate__Rowinfo.__setstate__	  sE     	
K#*K %M''r]   )
r3  r4  r/  r2  r.  r1  r  r0  r  rr   Nr:  )r  r  r  r  r  
_USE_SLOTSr6  r[   r=  rA  r  r  r  s   @rZ   r-  r-  b	  s+      
	&+P
 r]   r-  N))r  r   )r  r  )r  r  )r  r   )r  r  )r  r  )columns_from_right_to_leftr   )show_outline_symbolsr  )'remove_splits_if_pane_freeze_is_removedr   )sheet_selectedr   )sheet_visibler   )r  r   )0
__future__r   r   structr   r   biffhrQ  r   r	   formular
   r   r   r   r   timemachiner  r  rC   
BaseObjectr   r  r  r  r  r  r*  r-  r.  r+  r/  r0  r1  r2  r6  r   r  r<  r=  rN  r4  r`   r   
empty_cellr@  rC  r-  r  r]   rZ   <module>rP     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r]   