+
    VBiY                        R t ^ RIHt Rt^ RIt^ RIHt ^ RIHt ^ RI	t	^ RI
HtHt ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt R t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )z 
Directives for table elements.
)annotationsreStructuredTextN)urlopen)URLError)nodesstatemachine)	FileInputStringInput)	Directive)
directives)
adapt_path)SystemMessagePropagationc                0    \         P                  ! V R4      # )left)r   centerright)r   choice)arguments   &K/usr/lib/python3.14/site-packages/docutils/parsers/rst/directives/tables.pyalignr      s    X'BCC    c                      ] tR t^tRt^tRtR]P                  R]P                  R]
R]P                  R]P                  ! R]P                  4      /tRtR tR	 tR
 R lt]R 4       tR tR R ltRtR# )Tablez
Generic table base class.
Tclassnamer   widthwidthsc                	F   V P                   '       d   V P                   ^ ,          pV P                  P                  VV P                  4      w  r#\        P
                  ! VR.VO5!  pV P                  P                  V P                  4      w  Vn        Vn	        WC3# Rp. pWC3# )     N)
	argumentsstateinline_textlinenor   titlestate_machineget_source_and_linesourceline)self
title_text
text_nodesmessagesr$   s   &    r   
make_titleTable.make_title.   s    >>>*J#'::#9#9*:>++$G JKK
B<<E--AA$++NU\Z  EHr   c           	     	   \        V4      V8  d|   V P                  P                  V: R \        V4      : RV P                  : R2\        P
                  ! V P                  V P                  4      V P                  R7      p\        V4      h\        V4      Tu;8X  d   ^ 8  dz   M MvV P                  P                  R\        V4       RV P                   R2\        P
                  ! V P                  V P                  4      V P                  R7      p\        V4      hV EF  p\        V4      V8  dy   V P                  P                  V R\        V4       RV P                   R2\        P
                  ! V P                  V P                  4      V P                  R7      p\        V4      h\        V4      Tu;8X  d
   ^ 8  g   K  M K  V P                  P                  R\        V4      : R	V P                  : R2\        P
                  ! V P                  V P                  4      V P                  R7      p\        V4      h	  R
# )z" header row(s) specified but only z row(s) of data supplied ("z" directive).r(   zInsufficient data supplied (z9 row(s)); no data remaining for table body, required by "z" directive.z# stub column(s) specified but only z columns(s) of data supplied ("z= columns(s)); no data remaining for table body, required by "N)	lenreportererrorr   r   literal_block
block_textr#   r   )r)   rowsheader_rowsstub_columnsr3   rows   &&&&  r   check_table_dimensionsTable.check_table_dimensions;   s   t9{"MM''D	499)6 ##DOOT__E[[	 ( "E
 +511t9'a'MM''.s4yk :  $		{,8 ##DOOT__E[[ ( "E +511C3x,&++#n %  #Cz *=2 ''I , & /u553x<+!++++ -0HdiiA ''I , & /u55! r   c                   V ^8  d   QhRR/#    returnNone )formats   "r   __annotate__Table.__annotate__]   s     < <T <r   c                	h    R V P                   9   d!   V P                   P                  R 4      VR &   R# R# )r   Noptionsget)r)   
table_nodes   &&r   set_table_widthTable.set_table_width]   s,    dll""&,,"2"27";Jw #r   c                	:    V P                   P                  R R4      # )r   r   rF   )r)   s   &r   r   Table.widthsa   s    ||"--r   c                	^   \        V P                  \        4      '       d   \        V P                  4      V8w  dp   V P                  P                  R V P                  : RV: R2\        P                  ! V P                  V P                  4      V P                  R7      p\        V4      hV P                  pV# V'       d   ^dV,          .V,          pV# V P                  P                  R\        P                  ! V P                  V P                  4      V P                  R7      p\        V4      h)"z6" widths do not match the number of columns in table ().r0   z#No table data detected in CSV file.)
isinstancer   listr1   r2   r3   r   r   r4   r5   r#   r   )r)   n_colsr3   
col_widthss   &&  r   get_column_widthsTable.get_column_widthse   s    dkk4((4;;6)++:>))V-M''I , & /u55J  -61J 	 MM''(M##DOOT__E[[ ( "E +511r   c                   V ^8  d   QhRR/# r=   rA   )rB   s   "r   rC   rD   x   s     G GD Gr   c           	     	    V FK  pV FB  p\        V4      V8  g   K  VP                  ^ ^ ^ . 3.V\        V4      ,
          ,          4       KD  	  KM  	  R# )r   N)r1   extend)r)   columnspartspartr9   s   &&&  r   "extend_short_rows_with_empty_cells(Table.extend_short_rows_with_empty_cellsx   sF    Ds8g%JJAq"'CH2DEF  r   rA   N)autogrid)__name__
__module____qualname____firstlineno____doc__optional_argumentsfinal_argument_whitespacer   class_option	unchangedr    length_or_percentage_or_unitlessvalue_orpositive_int_listoption_spechas_contentr-   r:   rJ   propertyr   rU   r]   __static_attributes__rA   r   r   r   r      s      $J33://EJGGZ001A1;1M1MO	PK K 6D< . .&G Gr   r   c                       ] tR t^tRtR tRtR# )RSTTablez
Class for the `"table" directive`__ for formal tables using rST syntax.

__ https://docutils.sourceforge.io/docs/ref/rst/directives.html
c                	D   V P                   '       gf   V P                  P                  R V P                  ,          \        P
                  ! V P                  V P                  4      V P                  R7      pV.# V P                  4       w  r#\        P                  ! 4       pV P                  P                  V P                   V P                  V4       \        V4      ^8w  g(   \        V^ ,          \        P                  4      '       gf   V P                  P!                  RV P                  ,          \        P
                  ! V P                  V P                  4      V P                  R7      pV.# V^ ,          pVR;;,          V P"                  P%                  R. 4      ,          uu&   V P'                  V4       RV P"                  9   d   V P"                  P%                  R4      VR&   \        V P(                  \*        4      '       di   V^ ,          p V P-                  VR,          4      pTP2                   U
u. uF  p
T
P4                  R8X  g   K  T
NK  	  pp
\7        Y4       F	  w  rYR	&   K  	  V P(                  R
8X  d   VR;;,          R.,          uu&   M(V P(                  '       d   VR;;,          R.,          uu&   V P9                  V4       V'       d   VP;                  ^ V4       V.V,           #   \.         d   p	T	P0                  ^ ,          .u Rp	?	# Rp	?	ii ; iu up
i )z:Content block expected for the "%s" directive; none found.r0   zOError parsing content block for the "%s" directive: exactly one table expected.classesr   r   colsNcolspeccolwidthr_   colwidths-autocolwidths-given)contentr2   warningr   r   r4   r5   r#   r-   Elementr!   nested_parsecontent_offsetr1   rQ   tabler3   rG   rH   rJ   r   rR   rU   r   argschildrentagnamezipadd_nameinsert)r)   r{   r$   r,   noder3   rI   tgrouprT   detailchildcolspecsrv   	col_widths   &             r   runRSTTable.run   st   |||mm++ -68<		-B##DOOT__E[[ , "G 9//+}}

d.A.A4Ht9>DGU[[!A!AMM'' )>@D		)J##DOOT__E[[ ( "E 7N!W
9!1!1'2!>>Z(dll""&,,"2"27";Jwdkk4((]F(!33F6NC
 ,2?? 7?% ==I5 ?H 7&)(&?"&/
# '@;;& y!&6%77![[[y!&7%88!j!a'|h&& , (A''(7s*   K1 4LL1L<LLLrA   N)ra   rb   rc   rd   re   r   rp   rA   r   r   rr   rr      s    &'r   rr   c                     ] tR t^tR]P
                  R]P
                  R]P                  R]P                  R]P                  ! R]P                  4      R]P                  R]P                  R]P                  R	]P                  R
]P                  R]R]P                  R]P                   R]P"                  R]P"                  /t ! R R]P(                  4      t ! R R]P(                  4      t]R R l4       tR tR tR tR tRtR# )CSVTableheader-rowsstub-columnsheaderr   r   fileurlencodingr   r   r   delim	keepspacequoteescapec                  b   a  ] tR t^tRtRtRtRtRtRt	Rt
]P                  tR V 3R lltRtV ;t# )	CSVTable.DocutilsDialectz&CSV dialect for `csv_table` directive.,rO   T
c                   V ^8  d   QhRR/# r=   rA   )rB   s   "r   rC   %CSVTable.DocutilsDialect.__annotate__   s     
	 
	t 
	r   c                	   < R V9   d   VR ,          V n         RV9   d   RV n        RV9   d   VR,          V n        RV9   d   RV n        VR,          V n        \
        SV `  4        R# )r   r   Fr   r   N)	delimiterskipinitialspace	quotechardoublequote
escapecharsuper__init__)r)   rG   	__class__s   &&r   r   !CSVTable.DocutilsDialect.__init__   sb    '!!(!1g%(-%'!!(!17"#( ")("3Gr   )r   r   r   r   r   )ra   rb   rc   rd   re   r   r   r   r   strictlineterminatorcsvQUOTE_MINIMALquotingr   rp   __classcell__r   s   @r   DocutilsDialectr      s:    4		##
	 
	r   r   c                  f   a  ] tR t^tRtRtRtRtRtRt	Rt
Rt]P                  tR V 3R	 lltR
tV ;t# )CSVTable.HeaderDialectz_
CSV dialect used for the "header" option data.

Deprecated. Will be removed in Docutils 0.22.
r   rO   \FTr   c                   V ^8  d   QhRR/# r=   rA   )rB   s   "r   rC   #CSVTable.HeaderDialect.__annotate__   s     	 	d 	r   c                	^   < \         P                  ! R \        ^R7       \        SV `  4        R# )z6CSVTable.HeaderDialect will be removed in Docutils 1.0
stacklevelN)warningswarnDeprecationWarningr   r   )r)   r   s   &r   r   CSVTable.HeaderDialect.__init__   s&    MM ,,< Gr   rA   )ra   rb   rc   rd   re   r   r   r   r   r   r   r   r   r   r   r   rp   r   r   s   @r   HeaderDialectr      sC    	& 		
##	 	r   r   c                   V ^8  d   QhRR/# r=   rA   )rB   s   "r   rC   CSVTable.__annotate__  s     8 8 8r   c                 	@    \         P                  ! R \        ^R7       R# )zaCSVTable.check_requirements() is not required with Python 3 and will be removed in Docutils 0.22.r   N)r   r   r   rA   r   r   check_requirementsCSVTable.check_requirements  s     ? )Q	8r   c                	H   V P                   P                  V P                  ^,
          4      p. p^ pRV P                  9   d`   V P	                  V P                  R,          P                  R4      V P                  V P                  4      V4      w  rCVP                  V4       W#3# )   r   r   )r%   
get_sourcer#   rG   parse_csv_data_into_rowssplitr   rY   )r)   r'   
table_headmax_header_colsr6   s   &    r   process_header_optionCSVTable.process_header_option  s    ##..t{{Q?
t||#$($A$A(,X(>(D(DT(J(,(<(<T\\(J(.%0!D d#**r   c                	    V P                   P                  P                  P                  '       g   R V P                  9   g   RV P                  9   df   V P
                  P                  RV P                  ,          \        P                  ! V P                  V P                  4      V P                  R7      pV.# V P                  4       w  r#V P                  4       w  rEV P                  4       w  rgV P                  W@P!                  V P                  4      V4      w  r\#        W4      p	V P                  P%                  R^ 4      p
V P                  P%                  R^ 4      pV P'                  WV4       VP)                  VRV
 4       WR pV P+                  V	4      pV P-                  V	Wl34       YT3pT P                   P;                  TT P<                  YP>                  R	7      pTR
;;,          T P                  P%                  R. 4      ,          uu&   RT P                  9   d   T P                  P%                  R4      TR&   T PA                  T4       T PC                  T4       T'       d   TPE                  ^ T4       T.T,           #   \.         d   pTP0                  ^ ,          .u Rp?# Rp?i\2        P4                   d|   p\7        T4      pT P
                  P9                  RT P                  : RT: 2\        P                  ! T P                  T P                  4      T P                  R7      pT.u Rp?# Rp?ii ; i)r   r   z9File and URL access deactivated; ignoring "%s" directive.r0   r   r   NzError with CSV data in "z" directive:
)r   rt   r   r   )#r!   documentsettingsfile_insertion_enabledrG   r2   r{   r   r   r4   r5   r#   r-   get_csv_datar   r   r   maxrH   r:   rY   rU   r]   r   r   r   Errorstrr3   build_tabler~   r   rJ   r   r   )r)   r{   r$   r,   csv_datar'   r   r   r6   max_colsr7   r8   
table_bodyrT   r   messager3   r   rI   s   &                  r   r   CSVTable.run  s   	JJ''00GGGt||+---// 1<>Bii1H''I 0 &  y "oo/OE#002H*.*D*D*F'J!::..t||<fFND85H,,**=!<K<<++NA>L''<Hd<K01l+J//9J33H5?4LN 4ZZ++E43F3F,8 , N
9!1!1'2!>>dll""&,,"2"27";JwZ(j!a'|h&&' ( 	$KKN##yy 	&kGMM''-1YY)A##DOOT__E[[ ( "E 7N	sC   /J BJ 9C4J L>J+%L>+L>L>A0L93L>9L>c           
        V P                   P                  P                  pV P                  P	                  RVP
                  4      pVP                  pV P                  '       d   RV P                  9   g   RV P                  9   dn   V P                  P                  RV P                  ,          \        P                  ! V P                  V P                  4      V P                  R7      p\        V4      hV P                  P!                  ^ 4      pV P                  pWe3# RV P                  9   Ed   RV P                  9   dn   V P                  P                  RV P                  ,          \        P                  ! V P                  V P                  4      V P                  R7      p\        V4      h\#        V P                  R,          V P                   P                  P$                  VP&                  4      p \)        VVVR7      pVP+                  4       P-                  4       pVP.                  P1                  V4       We3# RV P                  9   dq   V P                  R,          p \7        V4      ;_uu_ 4       p	V	P+                  4       p
RRR4       \=        X
TTTR7      pTP+                  4       P-                  4       pYe3# V P                  P?                  RV P                  ,          \        P                  ! V P                  V P                  4      V P                  R7      p\        V4      h  \2         du   pT P                  P5                  RT P                  : R	T: R
2\        P                  ! T P                  T P                  4      T P                  R7      p\        T4      hRp?ii ; i  + '       g   i     EL0; i  \8        \2        \:        3 d   pT P                  P5                  RT P                  : RT P                  R,          : RT: R
2\        P                  ! T P                  T P                  4      T P                  R7      p\        T4      hRp?ii ; i)zZ
Get CSV data from the directive content, from an external
file, or from a URL reference.
r   r   r   zF"%s" directive may not both specify an external file and have content.r0   zXThe "file" and "url" options may not be simultaneously specified for the "%s" directive.)source_pathr   error_handlerzProblems with "z" directive path:
.Nz" directive URL "z":
)r'   r   r   r   z3The "%s" directive requires content; none supplied.) r!   r   r   rG   rH   input_encodinginput_encoding_error_handlerrz   r2   r3   r   r   r4   r5   r#   r   r'   r   current_sourceroot_prefixr   read
splitlinesrecord_dependenciesaddOSErrorseverer   r   
ValueErrorr	   r{   )r)   r   r   r   r3   r'   r   csv_filer   responsecsv_texts   &          r   r   CSVTable.get_csv_dataA  s   
 ::&&//<<##J0G0GH ==<<<%$,,)>++ -ACG99-M''I , & /u55\\((+F||Hd c t||#$++ -.04		-: ''I	 , &
 /u55V 4 $

 3 3 B B ( 4 46F9$.63@B $==?557 ,,0080 / dll"\\%(F	7V__'}}H % #(,41>@H  }}113H  MM))E))##DOOT__E[[	 * "E
 +511?  7--yy%)''I	 . &
 /v667 %__gz2 7--DLL$7$7@))$//4??K;;	 . (
 /v667sP   5,L- $O 7N/O -N,8A/N''N,/O 	:O  O Q"BQQ"c           
     	8   \         P                  ! R  V 4       VR7      p. p^ pV Fo  p. pV F>  p	^ ^ ^ \        P                  ! V	P	                  4       VR7      3p
VP                  V
4       K@  	  VP                  V4       \        V\        V4      4      pKq  	  WV3# )c              3  2   "   T F  qR ,           x  K  	  R# 5i)r   NrA   ).0r(   s   & r   	<genexpr>4CSVTable.parse_csv_data_into_rows.<locals>.<genexpr>  s      Bs   )dialect)r'   )r   readerr   
StringListr   appendr   r1   )r)   r   r   r'   
csv_readerr6   r   r9   row_datacell	cell_datas   &&&&       r   r   !CSVTable.parse_csv_data_into_rows  s    ZZ B B(/1
CH1l&=&=OO%f'6 7		*  KK!8SX.H  ~r   rA   Nr_   )ra   rb   rc   rd   r   nonnegative_intri   rj   rk   rl   pathurir   rh   r   $single_char_or_whitespace_or_unicodeflagsingle_char_or_unicoderm   r   Dialectr   r   staticmethodr   r   r   r   r   rp   rA   r   r   r   r      s     *"<"<!:#=#=Z11JGGZ001;1M1MO:??*..z22J33://EJKK
J==Z>>'@K*#++ 0! !F 8 8
++'ZC Jr   r   c                      ] tR tRtRtR]P                  R]P                  R]P                  R]P                  ! R]P                  4      R]P                  R]P                  R	]/tR
 tR tR tRtR# )	ListTablei  z
Implement tables whose data is encoded as a uniform two-level bullet list.
For further ideas, see
https://docutils.sourceforge.io/docs/dev/rst/alternatives.html#list-driven-tables
r   r   r   r   r   r   r   c                	   V P                   '       gf   V P                  P                  R V P                  ,          \        P
                  ! V P                  V P                  4      V P                  R7      pV.# V P                  4       w  r#\        P                  ! 4       pV P                  P                  V P                   V P                  V4        V P                  V4      w  rVV^ ,           UUu. uF%  pV^ ,           Uu. uF  qP                  NK  	  upNK'  	  p	ppV P                  P!                  R^ 4      p
V P                  P!                  R^ 4      pV P#                  WV4       T P)                  YY4      pRT P                  9   d   T P                  P!                  R4      TR&   TR;;,          T P                  P!                  R. 4      ,          uu&   T P+                  T4       T P-                  T4       T'       d   TP/                  ^ T4       T.T,           # u upi u uppi   \$         d   pTP&                  ^ ,          .u Rp?# Rp?ii ; i)z.The "%s" directive is empty; content required.r0   r   r   Nr   rt   r   )rz   r2   r3   r   r   r4   r5   r#   r-   r|   r!   r}   r~   check_list_contentr   rG   rH   r:   r   r   build_table_from_listrJ   r   r   )r)   r3   r$   r,   r   	_num_colsrT   row_listitem
table_datar7   r8   r   rI   s   &             r   r   ListTable.run  s   |||MM'' )$&*ii)0##DOOT__E[[ ( "E 7N//+}}

d.A.A4H	$$($;$;D$A!I*.q'3*1h 6>a[A[T==[A*1  3,,**=!<K<<++NA>L''
N //
0;K
dll""&,,"2"27";Jw9!1!1'2!>>Z(j!a'|h&&! B 3
 ( 	$KKN##	$sC   H) 0H# HH#AH) H##H) )I4IIIc                	   \        V4      ^8w  g(   \        V^ ,          \        P                  4      '       gn   V P                  P                  RV P                  ,          \        P                  ! V P                  V P                  4      V P                  R7      p\        V4      hV^ ,          p^ p\        \        V4      4       EF{  pW5,          p\        V4      ^8w  g(   \        V^ ,          \        P                  4      '       gw   V P                  P                  RV P                  : RV^,           : R2\        P                  ! V P                  V P                  4      V P                  R7      p\        V4      hV'       d   \        V^ ,          4      V8w  d   V P                  P                  RV P                  : RV^,           : R\        V^ ,          4      : RV: R	2	\        P                  ! V P                  V P                  4      V P                  R7      p\        V4      hEKi  \        V^ ,          4      pEK~  	  V P                  V4      pWG3# )
r   zUError parsing content block for the "%s" directive: exactly one bullet list expected.r0   z%Error parsing content block for the "z5" directive: two-level bullet list expected, but row z- does not contain a second-level bullet list.z=" directive: uniform two-level bullet list expected, but row z5 does not contain the same number of items as row 1 (z vs rP   )r1   rQ   r   bullet_listr2   r3   r   r4   r5   r#   r   rangerU   )r)   r   r3   	list_nodenum_cols
item_indexr  rT   s   &&      r   r  ListTable.check_list_content  s   t9>DGU5F5F!G!GMM''46:ii@##DOOT__E[[	 ( "E
 +511G	I/J(D4yA~ZQ9J9J%K%K++ yy*q..2 ''I , & /u55tAw<8+ MM//
  99j1nnc$q'lH	N
 ++DOOT__M![[ 0 *E 3599 , tAw</ 00 ++H5
##r   c                	`   \         P                  ! 4       pV P                  R 8X  d   VR;;,          R.,          uu&   M(V P                  '       d   VR;;,          R.,          uu&   \         P                  ! \	        V4      R7      pWV,          pV FR  p\         P
                  ! 4       pVe   WxP                  R&   V'       d   RVP                  R&   V^,          pWh,          pKT  	  . p	V FW  p
\         P                  ! 4       pV
 F(  p\         P                  ! 4       pW,          pW,          pK*  	  V	P                  V4       KY  	  V'       d2   \         P                  ! 4       pVP                  V	RV 4       Wn,          p\         P                  ! 4       pVP                  WR 4       Wo,          pV# )	r_   rt   rx   ry   )ru   Nrw   Tstub)r   r   r   r   r1   rv   
attributesr9   entryr   theadrY   tbody)r)   r  rT   r7   r8   r   r   r   rv   r6   r9   row_noder   r  r  r  s   &&&&&           r   r	  ListTable.build_table_from_list  sQ   ;;& )!1 22[[[)!2 333z?3#ImmoG$1:"":.-1""6*!F $ Cyy{H!  KK!  KKMELLl{+,OFT,'(r   rA   Nr   )ra   rb   rc   rd   re   r   r   rj   rk   rl   rh   ri   r   rm   r   r  r	  rp   rA   r   r   r  r    sx     !*"<"<!:#=#=JGGZ001;1M1MOJ33://E#K'<$$L r   r  )re   
__future__r   __docformat__r   urllib.requestr   urllib.errorr   r   docutilsr   r   docutils.ior   r	   docutils.parsers.rstr
   r   $docutils.parsers.rst.directives.miscr   docutils.utilsr   r   r   rr   r   r  rA   r   r   <module>r'     ss   
 #" 
 " !  ( . * + ; 3D^GI ^GB-'u -'`du dNu ur   