+
    xȇi,                        ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIHtHtH	t	H
t
Ht ^ RIHt ^ RIHtHt ]'       d   ^ RIHt ^ RIHtHtHtHt ^ R	IHt  ! R
 R]4      tR# )    )annotations)defaultdictN)TYPE_CHECKINGAnyDefaultDictcastoverload)ExcelWriter)combine_kwargsvalidate_freeze_panesOpenDocumentSpreadsheet)ExcelWriterIfSheetExistsFilePathStorageOptionsWriteExcelBuffer)	ExcelCellc                     a  ] tR t^!tRtRtRR V 3R lllt]R R l4       t]R R l4       t	R R	 lt
RR
 R lltR R ltR R lt]R R l4       t]R R l4       tR R ltR R ltRtV ;t# )	ODSWriterodfc               @    V ^8  d   QhRRRRRRRRRRR	R
RRRRRRRR/
# )   pathz)FilePath | WriteExcelBuffer | ExcelWriterengine
str | Nonedate_formatdatetime_formatmodestrstorage_optionszStorageOptions | Noneif_sheet_existszExcelWriterIfSheetExists | Noneengine_kwargsdict[str, Any] | Nonekwargsr   returnNone )formats   "j/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/io/excel/_odswriter.py__annotate__ODSWriter.__annotate__%   sn     . .7. .  	.
 $. . /. 9. -. . 
.    c	                	   < ^ RI Hp
 VR8X  d   \        R4      h\        W4      pV
! R/ VB V n        \
        SV `  VVVVVR7       / V n        R# )r   r   az&Append mode is not supported with odf!)r   r    r!   r"   Nr'   )odf.opendocumentr   
ValueErrorr   _booksuper__init___style_dict)selfr   r   r   r   r   r    r!   r"   r$   r   	__class__s   &&&&&&&&&, r)   r3   ODSWriter.__init__%   s_     	=3;EFF&}=,=}=
++' 	 	
 ,.r,   c                   V ^8  d   QhRR/# )r   r%   r   r'   )r(   s   "r)   r*   r+   D   s      - r,   c                    V P                   # )z
Book instance of class odf.opendocument.OpenDocumentSpreadsheet.

This attribute can be used to access engine-specific features.
)r1   )r5   s   &r)   bookODSWriter.bookC   s     zzr,   c                   V ^8  d   QhRR/# )r   r%   dict[str, Any]r'   )r(   s   "r)   r*   r+   M   s       r,   c                    ^ RI Hp V P                  P                  V4       Uu/ uF  pVP	                  R4      VbK  	  ppV# u upi )z(Mapping of sheet names to sheet objects.)Tablename)	odf.tabler?   r:   getElementsByTypegetAttribute)r5   r?   sheetresults   &   r)   sheetsODSWriter.sheetsL   sT     	$ 44U;
; v&-; 	 
 	
s   Ac                   V ^8  d   QhRR/# )r   r%   r&   r'   )r(   s   "r)   r*   r+   W   s     - -t -r,   c                    V P                   P                  4        F(  pV P                  P                  P	                  V4       K*  	  V P                  P                  V P                  P                  4       R# )z
Save workbook to disk.
N)rF   valuesr:   spreadsheet
addElementsave_handleshandle)r5   rD   s   & r)   _saveODSWriter._saveW   sM     [['')EII!!,,U3 *		t}}++,r,   c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# )r   cellszlist[ExcelCell]
sheet_namer   startrowintstartcolfreeze_panesztuple[int, int] | Noneautofilter_ranger%   r&   r'   )r(   s   "r)   r*   r+   _   sP     >- >->- >- 	>-
 >- ->- %>- 
>-r,   c                r   V'       d   \        R4      h^ RIHpHpHp	 ^ RIHp
 V P                  V4      pVf   Q hW P                  9   d   V P                  V,          pM.V! VR7      pV P                  P                  P                  V4       \        V4      '       d3   \        \        \        \        3,          V4      pV P!                  W%4       \#        V4       F  pVP                  V	! 4       4       K  	  \%        V	4      p\%        \        4      p\'        VR R7       EF8  pWP(                  ,          '       g9   \#        V4       F)  pWP(                  ,          P                  V! 4       4       K+  	  \#        VP*                  WP(                  ,          ,
          4       FG  pWP(                  ,          P                  V! 4       4       WP(                  ;;,          ^,          uu&   KI  	  V P-                  V4      w  ppWP(                  ,          P                  V4       WP(                  ;;,          ^,          uu&   V
! VR7      pVP                  V4       EK;  	  \/        V4      ^ 8  dK   \#        \1        VP3                  4       4      ^,           4       F  pVP                  VV,          4       K  	  R# R# )	z!
Write the frame cells using odf
z%Autofilter is not supported with odf!)r?   	TableCellTableRow)PNr@   c                2    V P                   V P                  3# N)rowcol)cells   &r)   <lambda>(ODSWriter._write_cells.<locals>.<lambda>   s    DHHdhh3Gr,   )key)text)r0   rA   r?   r[   r\   odf.textr]   _get_sheet_namerF   r:   rK   rL   r   r   tuplerV   _create_freeze_panesranger   sortedra   rb   _make_table_celllenmaxkeys)r5   rS   rT   rU   rW   rX   rY   r?   r[   r\   r]   wks_rows	col_countrc   pvaluetcprow_nrs   &&&&&&&             r)   _write_cellsODSWriter._write_cells_   s    DEE	
 	

 	))*5
%%%$++j)CZ(CII!!,,S1 ..c3h>L%%j?xANN8:& ! (1!,S!1	5&GHHDXX&&xAN--ik: ) 488i&99:XX)))+6((#q(# ; ..t4JFBN%%b)hh1$vAMM! I$ t9q=DIIK 01 45tF|, 6 r,   c                    V ^8  d   QhRRRR/# )r   rc   r   r%   zdict[str, int | str]r'   )r(   s   "r)   r*   r+      s      	 >R r,   c                    / pV P                  VP                  4      pVe   W2R&   VP                  e7   VP                  e)   \	        ^VP                  4      VR&   VP                  VR&   V# )zConvert cell attributes to OpenDocument attributes

Parameters
----------
cell : ExcelCell
    Spreadsheet cell data

Returns
-------
attributes : Dict[str, Union[int, str]]
    Dictionary with attributes and attribute values
	stylenamenumberrowsspannednumbercolumnsspanned)_process_stylestyle
mergestartmergeendrp   )r5   rc   
attributes
style_names   &&  r)   _make_table_cell_attributes%ODSWriter._make_table_cell_attributes   si     ,.
((4
!&0{#??&4==+D.1!T__.EJ*+15J-.r,   c                    V ^8  d   QhRRRR/# )r   rc   r   r%   ztuple[object, Any]r'   )r(   s   "r)   r*   r+      s     @ @Y @3E @r,   c                   ^ RI Hp V P                  V4      pV P                  VP                  4      w  rET;rg\        V\        4      '       d@   \        V4      P                  4       p\        V4      P                  4       pVV! RVVR7      3# \        V\        P                  4      '       d.   VP                  4       pVP                  R4      pVV! RWsR7      3# \        V\        P                  4      '       dH   VP                   RVP                  R RVP                   R 2pVP                  R	4      pVV! RWsR7      3# \        V\        4      '       d   VV! R
VVR7      3# VV! RVVR7      3# )zConvert cell data to an OpenDocument spreadsheet cell

Parameters
----------
cell : ExcelCell
    Spreadsheet cell data

Returns
-------
pvalue, cell : Tuple[str, TableCell]
    Display value, Cell value
)r[   boolean)	valuetypebooleanvaluer   z%cdate)r   	datevaluer   -02dz%xstring)r   stringvaluer   float)r   valuer   )rA   r[   r   _value_with_fmtval
isinstanceboolr   lowerupperdatetime	isoformatstrftimer   yearmonthday)r5   rc   r[   r   r   fmtrv   r   s   &&      r)   rn   ODSWriter._make_table_cell   sp    	(55d;
''1c4  HNN$EX^^%F'!&)  X..//MMOE\\$'FFeS  X]]++xxj#))C#''#?E\\$'FFeS  S!!& %)  %) r,   c                    V ^8  d   QhRRRR/# )r   r   r=   r%   r   r'   )r(   s   "r)   r*   r+      s    ??N?s?r,   c                	    R # r`   r'   r5   r   s   &&r)   r   ODSWriter._process_style   s    <?r,   c                    V ^8  d   QhRRRR/# )r   r   r&   r%   r'   )r(   s   "r)   r*   r+      s    66D6T6r,   c                	    R # r`   r'   r   s   &&r)   r   r      s    36r,   c                    V ^8  d   QhRRRR/# )r   r   r#   r%   r   r'   )r(   s   "r)   r*   r+      s     2 2$9 2j 2r,   c                X   ^ RI HpHpHpHp Vf   R# \
        P                  ! V4      pW`P                  9   d   V P                  V,          # R\        V P                  4      ^,            2pWpP                  V&   V! VRR7      pRV9   d:   VR,          p	V	P                  RR4      '       d   VP                  V! RR	7      4       R
V9   dJ   VR
,          p
V
P                  4        F,  w  rRR/pVP                  V! RV 2W,          /R7      4       K.  	  RV9   dl   VR,          pVP                  R4      pV'       d   VP                  V! VR7      4       VP                  R4      pV'       d   VP                  V! VR7      4       V P                  P                  P                  V4       V# )zConvert a style dictionary to an OpenDocument style sheet

Parameters
----------
style : Dict
    Style dictionary

Returns
-------
style_key : str
    Unique style key for later reference in sheet
)ParagraphPropertiesStyleTableCellPropertiesTextPropertiesNpdz
table-cell)r@   familyfontboldF)
fontweightbordersthinz0.75pt solid #000000border)r   	alignment
horizontal)	textalignvertical)verticalalign)	odf.styler   r   r   r   jsondumpsr4   ro   getrL   itemsr:   styles)r5   r   r   r   r   r   	style_keyr@   	odf_styler   r   side	thicknessthickness_translationr   r   r   s   &&               r)   r   r      s   	
 	
 =JJu%	(((##I..C(()A-./&*#tL9	U?=Dxx&&$$^v%FGI&G#*==?)/1G(H%$$'&,TFO5J5U#V $3 %k*I"|4J$$%8:%NO }}Z0H$$%8x%PQ		##I.r,   c               $    V ^8  d   QhRRRRRR/# )r   rT   r   rX   ztuple[int, int]r%   r&   r'   )r(   s   "r)   r*   r+   1  s$     9
 9
9
-<9
	9
r,   c           
        ^ RI HpHpHpHpHp V! RR7      pV P                  P                  P                  V4       V! RR7      p	VP                  V	4       V! 4       p
V	P                  V
4       V! RR7      pV
P                  V4       V! VR7      p
VP                  V
4       V
P                  V! RRRR	7      4       V
P                  V! R
RRR	7      4       V
P                  V! RR\        V^ ,          4      R	7      4       V
P                  V! RR\        V^,          4      R	7      4       V
P                  V! RR\        V^ ,          4      R	7      4       V
P                  V! RR\        V^,          4      R	7      4       R# )z
Create freeze panes in the sheet.

Parameters
----------
sheet_name : str
    Name of the spreadsheet
freeze_panes : tuple of (int, int)
    Freeze pane location x and y
)
ConfigItemConfigItemMapEntryConfigItemMapIndexedConfigItemMapNamedConfigItemSetzooo:view-settingsr^   ViewsTablesHorizontalSplitModeshort2)r@   typerg   VerticalSplitModeHorizontalSplitPositionrV   VerticalSplitPositionPositionRightPositionBottomN)

odf.configr   r   r   r   r   r:   settingsrL   r   )r5   rT   rX   r   r   r   r   r   config_item_setconfig_item_map_indexedconfig_item_map_entryconfig_item_map_nameds   &&&         r)   rk   ODSWriter._create_freeze_panes1  sm   	
 	
 (-@A		%%o6"6G"D""#:; 2 4**+@A 2 A(()>? 2
 C(()>?((1cJ	
 	((/gCH	
 	((.U\RS_AU	

 	((,5s<PQ??S	

 	((O%c,q/>RS	
 	((,5s<PQ??ST	
r,   )r1   r4   )z.ods)NNNwNNN)Nr   r   NN)__name__
__module____qualname____firstlineno___engine_supported_extensionsr3   propertyr:   rF   rP   rz   r   rn   r	   r   rk   __static_attributes____classcell__)r6   s   @r)   r   r   !   s    G%. .<    ->-@,@D ? ?6 62h9
 9
r,   r   )
__future__r   collectionsr   r   r   typingr   r   r   r   r	   pandas.io.excel._baser
   pandas.io.excel._utilr   r   r/   r   pandas._typingr   r   r   r   pandas.io.formats.excelr   r   r'   r,   r)   <module>r      sJ    " #    .
 8  2I
 I
r,   