+
    f0i;                         ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
HtHt ^RIHt ^RIHtHt ^RIHtHtHt  ! R R	]4      tR# )
    N)StringIO)chain)AnyDictListOptionalSetTextIO)utils)T_obj
T_obj_list)CSV_COLS_REQUIREDCSV_COLS_TO_PREPEND
Serializerc                   @  a  ] tR t^t o . R+Ot]V 3R lR l4       t]V 3R lR l4       tR,V 3R lR lltR,V 3R lR	 llt	]V 3R
 lR l4       t
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R  lR! l4       t]V 3R" lR# l4       t]V 3R$ lR% l4       tR-V 3R& lR' lltR.V 3R( lR) lltR*tV tR# )/	Containerc                @   < V ^8  d   QhRS[ S[S[,          ,          /#    return)r   r   r   )format__classdict__s   "Z/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pdfplumber/container.py__annotate__Container.__annotate__   s     " "xS	* "    c                    \         hNNotImplementedErrorselfs   &r   pagesContainer.pages       !!r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r   )r   strr   )r   r   s   "r   r   r      s     " "c:o. "r   c                    \         hr   r   r!   s   &r   objectsContainer.objects   r%   r   Nc                \   < V ^8  d   QhRS[ S[S[,          ,          RS[S[S[3,          /# )r   object_typesr   )r   r   r'   r   r   )r   r   s   "r   r   r      s.     " "$T#Y/"	c3h"r   c                    \         hr   r   )r"   r,   s   &&r   to_dictContainer.to_dict   s
     "!r   c                D   < V ^8  d   QhRS[ S[S[,          ,          RR/# )r   
propertiesr   N)r   r   r'   )r   r   s   "r   r   r      s$     ! !htCy&9 !T !r   c                x    Vf   V P                   MTpV F!  p\        W4      '       g   K  \        W4       K#  	  R # r   )cached_propertieshasattrdelattr)r"   r1   propsps   &&  r   flush_cacheContainer.flush_cache   s1    *4*<&&*At  r   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r   #        , ,z ,r   c                :    V P                   P                  R . 4      # )rectr)   getr!   s   &r   rectsContainer.rects"       ||++r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   '   r<   r   c                :    V P                   P                  R . 4      # )liner?   r!   s   &r   linesContainer.lines&   rC   r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   +        - -
 -r   c                :    V P                   P                  R . 4      # )curver?   r!   s   &r   curvesContainer.curves*       ||,,r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   /   rJ   r   c                :    V P                   P                  R . 4      # )imager?   r!   s   &r   imagesContainer.images.   rO   r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   3   r<   r   c                :    V P                   P                  R . 4      # )charr?   r!   s   &r   charsContainer.chars2   rC   r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   7   s     7 7* 7r   c                :    V P                   P                  R . 4      # )textboxverticalr?   r!   s   &r   textboxverticalsContainer.textboxverticals6   s    || 1266r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   ;   s     9 9J 9r   c                :    V P                   P                  R . 4      # )textboxhorizontalr?   r!   s   &r   textboxhorizontalsContainer.textboxhorizontals:   s    || 3R88r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   ?   s     8 8: 8r   c                :    V P                   P                  R . 4      # )textlineverticalr?   r!   s   &r   textlineverticalsContainer.textlineverticals>   s    || 2B77r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   C   s     : :Z :r   c                :    V P                   P                  R . 4      # )textlinehorizontalr?   r!   s   &r   textlinehorizontalsContainer.textlinehorizontalsB   s    || 4b99r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   G   s        J  r   c                    \        V R 4      '       d   V P                  # R V P                   4       p\        \	        V!  4      V n        V P                  # )_rect_edgesc              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir   )r   rect_to_edges.0rs   & r   	<genexpr>'Container.rect_edges.<locals>.<genexpr>J   s     E*Q%--a00*   #%)r4   rp   rA   listr   )r"   rect_edges_gens   & r   
rect_edgesContainer.rect_edgesF   sG    4''###E$**E'+E>,B'Cr   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   O   s     ! !Z !r   c                    \        V R 4      '       d   V P                  # R V P                   4       p\        \	        V!  4      V n        V P                  # )_curve_edgesc              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir   )r   curve_to_edgesrs   s   & r   rv   (Container.curve_edges.<locals>.<genexpr>R   s     HKq5//22Krx   )r4   r   rM   ry   r   )r"   curve_edges_gens   & r   curve_edgesContainer.curve_edgesN   sG    4(($$$HDKKH(,UO-D(E   r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   W   s      z r   c                    \        V R 4      '       d   V P                  # \        \        \        P
                  V P                  4      4      pWP                  ,           V P                  ,           V n        V P                  # )_edges)	r4   r   ry   mapr   line_to_edgerG   r{   r   )r"   
line_edgess   & r   edgesContainer.edgesV   sW    4"";;#e00$**=>
",">AQAQ"Q{{r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   _   s     . .* .r   c                J    R  R lp\        \        WP                  4      4      # )c                0    V ^8  d   QhR\         R\        /# r   xr   r   bool)r   s   "r   r   0Container.horizontal_edges.<locals>.__annotate__`        	1 	1E 	1d 	1r   c                 ,    \        V R ,          R8H  4      # )orientationhr   r   s   &r   test(Container.horizontal_edges.<locals>.test`       -(C/00r   ry   filterr   r"   r   s   & r   horizontal_edgesContainer.horizontal_edges^       	1 F4,--r   c                    < V ^8  d   QhRS[ /# r   r;   )r   r   s   "r   r   r   f   s     . .
 .r   c                J    R  R lp\        \        WP                  4      4      # )c                0    V ^8  d   QhR\         R\        /# r   r   )r   s   "r   r   .Container.vertical_edges.<locals>.__annotate__g   r   r   c                 ,    \        V R ,          R8H  4      # )r   vr   r   s   &r   r   &Container.vertical_edges.<locals>.testg   r   r   r   r   s   & r   vertical_edgesContainer.vertical_edgese   r   r   c                   < V ^8  d   QhRS[ S[,          RS[ S[S[,          ,          RS[ S[S[,          ,          RS[ S[S[,          ,          RS[ S[,          RS[ S[,          RS[ S[,          /# )r   streamr,   include_attrsexclude_attrs	precisionindentr   r   r
   r   r'   int)r   r   s   "r   r   r   l   s}        tCy)  S	*	
  S	* C=  
#r   c                    V P                  V4      p\        VVVR 7      P                  V4      pVf   \        P                  ! WR7      # \        P
                  ! WVR7       R# )r   r   r   N)r   )r.   r   	serializejsondumpsdump)	r"   r   r,   r   r   r   r   data
serializeds	   &&&&&&&  r   to_jsonContainer.to_jsonl   sZ     ||L)''
 )D/	 	 >::j88IIj8r   c                   < V ^8  d   QhRS[ S[,          RS[ S[S[,          ,          RS[ S[,          RS[ S[S[,          ,          RS[ S[S[,          ,          RS[ S[,          /# )r   r   r,   r   r   r   r   r   )r   r   s   "r   r   r      so     7 7 7 tCy)7 C=	7
  S	*7  S	*7 
#7r   c           
        Vf   \        4       pRpMRpVf,   \        V P                  P                  4       4      R.,           p. p\	        4       pV P
                  f   V .MV P
                  p	\        VVVR7      p
V	 F  pV F  p\        WR,           4      p\        V4      '       g   K(  WzP                  V4      ,          pV^ ,          P                  4        UUu. uF  w  r\        V4      \        Jg   K  VNK  	  pppVP                  \	        V4      4      pK  	  K  	  \        \        \        \	        V4      \	        \         \        ,           4      ,
          4      4      ,           p\         \        \#        V
P$                  V4      4      ,           p\&        P(                  ! VVR\&        P*                  RR7      pVP-                  4        VP/                  V4       V'       d"   VP1                  ^ 4       VP3                  4       # R # u uppi )	NTFannotr   signore\)
fieldnamesextrasactionquoting
escapechar)r   ry   r)   keyssetr#   r   getattrlenr   itemstypedictunionr   sortedr   r   attr_filtercsv
DictWriterQUOTE_MINIMALwriteheader	writerowsseekread)r"   r   r,   r   r   r   	to_stringr   fieldsr#   
serializerpagetobjskr   new_keysnon_req_colscolsws   &&&&&&              r   to_csvContainer.to_csv   s    >ZFII 1 1 34y@L
5**,$**''


 D!tW-t99"6"6t"<<J.21gmmoUodaaPTAToHU#\\#h-8F "  +T3v;%69L%L!MMN.
 
 !4z/E/E|(T#UUNN!%%
 	
	JKKN;;= /  Vs   H
6H
)r   r   rp   )rp   r   r   _objectsr   )NNNNNN)NNNNN)__name__
__module____qualname____firstlineno__r3   propertyr#   r)   r.   r8   rA   rG   rM   rS   rX   r]   rb   rg   rl   r{   r   r   r   r   r   r   __static_attributes____classdictcell__)r   s   @r   r   r      sv    M" " " "" "
! ! , , , , - - - - , , 7 7 9 9 8 8 : :     ! !   . . . . 07 7 7r   r   )r   r   ior   	itertoolsr   typingr   r   r   r   r	   r
    r   _typingr   r   convertr   r   r   objectr    r   r   <module>r      s1    
    9 9  & G Go or   