Ë
    £ëi»X  ã                   óâ   — d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ dd	lmZ dd
lmZ ddlmZ ddlmZmZmZmZmZ ddlmZ ddlmZ d„ Zd„ Zdd„Zd„ Zd„ Z d„ Z!d„ Z"	 	 dd„Z#d„ Z$y)z@Take an "after layout" box tree and draw it onto a pydyf stream.é    N)Úfloor)ÚElementTreeé   )Úboxes)ÚSVGImage)Úreplaced)ÚBackgroundLayer)ÚMatrix)ÚStackingContexté   )Údraw_borderÚ	draw_lineÚdraw_outlineÚrounded_boxÚset_mask_border)Ústyled_color)Ú	draw_textc                 ó   — | j                   d   }t        j                  | «      }t        ||j                  j
                  d| j                  |¬«       t        || «       t        || j                  d¬«       t        || «       t        ||«       y)zDraw the given PageBox.ÚmarksF)Úclip_boxÚbleedr   )r   N)Ústyler   Ú	from_pageÚdraw_backgroundÚboxÚ
backgroundr   r   Úcanvas_backgroundr   Údraw_stacking_context)ÚpageÚstreamr   Ústacking_contexts       úX/var/www/html/chat/reports/venv/lib/python3.12/site-packages/weasyprint/draw/__init__.pyÚ	draw_pager#      sy   € à�J‰J�wÑ€EÜ&×0Ñ0°Ó6ÐÜØÐ ×$Ñ$×/Ñ/¸%ÀtÇzÁzØõô �F˜DÔ!Ü�F˜D×2Ñ2¸UÕCÜ�˜ÔÜ˜&Ð"2Õ3ó    c                 ó�	  — | j                  «       5  |j                  }|j                  r`|j                  j                  d   dk7  rDt        | |j                  j                  «       «       | j                  «        | j                  «        |j                  «       r·|j                  d   r¨|j                  d   \  }}}}|dk(  rd}|dk(  rd}|dk(  r|j                  «       }|dk(  r|j                  «       }| j                  |j                  «       |z   |j                  «       |z   ||z
  ||z
  «       | j                  «        | j                  «        |j                  d   dk  r| } | j                  | j                   Ž } |j"                  rD|j"                  j$                  r$ | j&                  |j"                  j(                  Ž  n
	 ddd«       yt+        |t,        j.                  t,        j0                  t,        j2                  t,        j4                  t,        j6                  t,        j8                  t,        j:                  f«      r.t=        | |«       t?        | |j@                  «       tC        | |«       | j                  «       5  |j                  d   dk7  xr t+        |t,        jD                  «       }|r:t        | |j                  «       «       | j                  «        | j                  «        |jF                  D ]  }	tI        | |	«       Œ |jJ                  D ]W  }
t=        | |
«       t+        |
t,        jL                  «      rtO        | |
«       Œ6t?        | |
j@                  «       tC        | |
«       ŒY |jP                  D ]  }	tI        | |	«       Œ t+        |t,        jR                  «      rtU        | |j                  |«       tW        |j                  | ||jX                  i«       |jZ                  D ]  }	tI        | |	«       Œ |j\                  D ]  }	tI        | |	«       Œ 	 ddd«       t_        | |«       |j                  d   dk  rY| j`                  }} | j                  «       5  | jc                  |j                  d   d	d	¬
«       | je                  |«       ddd«       ddd«       y# 1 sw Y   Œ‰xY w# 1 sw Y   ŒxY w# 1 sw Y   yxY w)z*Draw a ``stacking_context`` on ``stream``.ÚoverflowÚvisibleÚclipÚautor   Úopacityr   NT)ÚstrokeÚfill)3Ústackedr   Úis_for_root_elementr   r   r   Úrounded_padding_boxr(   ÚendÚis_absolutely_positionedÚborder_heightÚborder_widthÚ	rectangleÚborder_box_xÚborder_box_yÚ	add_groupÚpage_rectangleÚtransformation_matrixÚdeterminantÚ	transformÚvaluesÚ
isinstancer   ÚBlockBoxÚ	MarginBoxÚInlineBlockBoxÚTableCellBoxÚFlexContainerBoxÚGridContainerBoxÚReplacedBoxr   r   r   r   ÚPageBoxÚnegative_z_contextsr   Úblock_level_boxesÚTableBoxÚ
draw_tableÚfloat_contextsÚ	InlineBoxÚdraw_inline_levelÚdraw_block_levelÚblocks_and_cellsÚzero_z_contextsÚpositive_z_contextsr   ÚidÚ	set_alphaÚdraw_x_object)r    r!   r   ÚtopÚrightÚbottomÚleftÚoriginal_streamr(   Úchild_contextÚblockÚgroup_ids               r"   r   r      s<  € ð 
�‰Ó	ñ f/Ø×"Ñ"ˆð ×"Ò"Ø ×%Ñ%×+Ñ+¨JÑ7¸9ÒDÜ˜Ð 0× 5Ñ 5× IÑ IÓ KÔLØ�K‰KŒMØ�J‰JŒLà×'Ñ'Ô)¨c¯i©i¸Ò.?Ø'*§y¡y°Ñ'8Ñ$ˆC�˜ Ø�fŠ}Ø�Ø˜ŠØ�Ø˜ÒØ×*Ñ*Ó,�Ø�vŠ~Ø×'Ñ'Ó)�Ø×ÑØ× Ñ Ó" UÑ*¨C×,<Ñ,<Ó,>ÀÑ,DØ�u‘˜f s™lô,ð �K‰KŒMØ�J‰JŒLà�9‰9�YÑ !Ò#Ø$ˆOØ%�V×%Ñ% v×'<Ñ'<Ð=ˆFà×$Ò$Ø×(Ñ(×4Ò4Ø �× Ñ  #×";Ñ";×"BÑ"BÒCà÷Ef/ð f/ôN �cœEŸN™N¬E¯O©O¼U×=QÑ=QÜ!×.Ñ.´×0FÑ0FÜ!×2Ñ2´E×4EÑ4EðGô Hô ˜F CÔ(ä˜F C§N¡NÔ3Ü˜ Ô$à�^‰^Óñ -	=ð —	‘	˜*Ñ%¨Ñ2ò 3Ü˜s¤E§M¡MÓ2Ð2ð ñ ô ˜F C×$;Ñ$;Ó$=Ô>Ø—‘”Ø—
‘
”ð "2×!EÑ!Eò =�Ü% f¨mÕ<ð=ð *×;Ñ;ò /�Ü ¨Ô.ä˜e¤U§^¡^Ô4Ü˜v uÕ-ä# F¨E×,<Ñ,<Ô=Ü ¨Õ.ð/ð "2×!@Ñ!@ò =�Ü% f¨mÕ<ð=ô ˜#œuŸ™Ô/Ü! &Ð*:×*?Ñ*?ÀÔEô Ø ×%Ñ% v°Ð5E×5VÑ5VÐ/WôYð "2×!AÑ!Aò =�Ü% f¨mÕ<ð=ð "2×!EÑ!Eò =�Ü% f¨mÕ<ñ=÷Y-	=ô` 	�V˜SÔ!à�9‰9�YÑ !Ò#Ø—y‘yˆHØ$ˆFØ—‘Ó!ñ /Ø× Ñ  §¡¨9Ñ!5¸dÈÐ ÔNØ×$Ñ$ XÔ.÷/÷If/ð f/÷^-	=ð -	=ú÷j/ð /ú÷If/ð f/úsE   ‘F4R<ÇB3R<ÊFR$ÐAR<Ñ 3R0ÒR<Ò$R-	Ò)R<Ò0R9	Ò5R<Ò<Sc                 ó`  — |€y| j                  «       5  |rJ|j                  d   j                  D ]  }t        | |«       Œ | j	                  «        | j                  «        |j                  j                  dkD  r´| j                  «       5  | j                  «       5  | j                  |j                  «       |j                  d   j                  } | j                  |Ž  | j	                  «        | j                  «         | j                  |Ž  | j                  «        ddd«       ddd«       |�r˜|�r•|j                  d   j                  \  }}}	}
|j                  «       D ��ci c]  \  }}||dz  “Œ }}}d|
› d|	› d�}d|v r¾|d	j                  g d
‘|d   › ‘d‘|d   › ‘d‘|d   › ‘d‘|d   › ‘d‘|	› ‘d‘|d   › ‘d‘|d   › ‘d‘|	› ‘d‘|
› ‘d‘|d   › ‘d‘|d   › ‘d‘|
› ‘d‘|d   › ‘d‘|d   › ‘d‘|d   › ‘d‘|d   › ‘d‘|	› ‘d‘|
› ‘d‘|d   › ‘d‘|d   › ‘d‘|
› ‘d‘|d   › ‘d‘|d   › ‘d‘|	› ‘d‘«      z  }d|v �r|d	j                  g d‘|d   › ‘d‘|	› ‘d‘|d   › ‘d‘|	› ‘d‘|d   › ‘d‘|d   › ‘d‘|d   › ‘d ‘|d   › ‘d!‘|d   › ‘d"‘|
› ‘d#‘|	› ‘d$‘|d   › ‘d%‘|d   › ‘d$‘|d   › ‘d&‘|d   › ‘d'‘|d   › ‘d"‘|
› ‘d(‘|	› ‘d)‘|d   › ‘d*‘|d   › ‘d‘|
› ‘d+‘|d   › ‘d$‘|d   › ‘d,‘|d   › ‘d-‘|d   › ‘d.‘|
› ‘d/‘|d   › ‘d0‘|	› ‘d1‘|d   › ‘d‘|
› ‘d%‘|d   › ‘d$‘|d   › ‘d,‘|d   › ‘d2‘|d   › ‘d0‘|	› ‘d3‘|
› ‘d4‘«      z  }|d5z  }t        j                   |«      }t#        |ddd«      }|	|
f}||f}d6}d7}||z   }dd|	|
f}g }t%        ||||||||«      }|j                  j'                  d|«       t)        |j                  «      D ]  }t+        | ||j,                  «       Œ 	 ddd«       y# 1 sw Y   �ŒèxY w# 1 sw Y   �ŒíxY wc c}}w # 1 sw Y   yxY w)8zÕDraw the background color and image to a ``pdf.stream.Stream``.

    If ``clip_box`` is set to ``False``, the background is not clipped to the
    border box of the background, but only to the painting area.

    Néÿÿÿÿr   g      à?z
              <svg height="z	" width="z‹"
                   fill="transparent" stroke="black" stroke-width="1"
                   xmlns="http://www.w3.org/2000/svg">
            ÚcropÚ z
                  <path d="M0,rT   z hrW   z#" />
                  <path d="M0,rU   z/"
                        transform="translate(z2,0) scale(-1,1)" />
                  <path d="M0,rV   ú,z1) scale(-1,-1)" />
                  <path d="M0,z1"
                        transform="translate(0,z.) scale(1,-1)" />
                  <path d="Mz,0 vz!" />
                  <path d="Mz/) scale(-1,-1)" />
                  <path d="Mz$,0) scale(-1,1)" />
                Úcrossz
                  <circle r="z7" transform="scale(0.5)
                     translate(zI) scale(0.5)" />
                  <path transform="scale(0.5) translate(z,0)" d="
                    M-z
                    M0,0 vz"" />
                  <circle r="z." transform="
                    translate(0,z+) scale(0.5)
                    translate(z,-z.) scale(0.5)" />
                  <path d="M-z
                    hz M0,0 v-z) scale(0.5) translate(z%,0)" />
                  <circle r="z6" transform="scale(0.5)
                    translate(z-) scale(0.5)" />
                  <path d="Mz
                    vz M0,0 hz8"
                    transform="scale(0.5) translate(0,z#)" />
                  <circle r="z," transform="
                    translate(z.,0) scale(0.5)
                    translate(-z M0,0 h-z,0) scale(0.5) translate(0,z)" />
                z</svg>)ú	no-repeatrb   T)r-   ÚlayersÚclipped_boxesr   r(   r0   ÚcolorÚalphaÚartifactÚ	set_colorÚpainting_arear4   r,   ÚitemsÚjoinr   Ú
fromstringr   r	   ÚinsertÚreversedÚdraw_background_imager   )r    Úbgr   r   r   r   ri   ÚxÚyÚwidthÚheightÚkeyÚvalueÚ
half_bleedÚsvgÚtreeÚimageÚsizeÚpositionÚrepeatÚ	unboundedÚpositioning_areard   Úlayers                           r"   r   r   ‹   sŸ  € ð 
€zØà	�‰Ó	ñ V;ÙØ—y‘y ‘}×2Ñ2ò )�Ü˜F CÕ(ð)à�K‰KŒMØ�J‰JŒLð �8‰8�>‰>˜AÒØ—‘Ó"ñ  F§N¡NÓ$4ñ Ø× Ñ  §¡Ô*Ø "§	¡	¨"¡× ;Ñ ;�Ø �× Ñ  -Ñ0Ø—‘”Ø—
‘
”Ø �× Ñ  -Ñ0Ø—‘”÷÷ ò ’UØ"$§)¡)¨B¡-×"=Ñ"=ÑˆAˆq�%˜Ø=B¿[¹[»]×K©z¨s°E˜#˜u s™{Ñ*ÐKˆJÑKðØ"˜8 9¨U¨Gð 4ðˆCð
 ˜‰Ø÷ ó ð ð Ø$ U™|˜nðØ,.ðØ/9¸&Ñ/AÐ.BððCðà$ U™|˜nðà,.ðà/9¸'Ñ/BÐ.CððD.ðð /4¨Wðð5ðð  % X™Ð/ð	ð 02ð	ð 3=¸WÑ2EÐ1Fð	ðG.ð	ð
 /4¨Wðð
 56ðð
 7=°Xðð
>ðð  % X™Ð/ðð 02ðð 3=¸VÑ2DÐ1EððF0ðð 17¨xðð8ðð # 6™]˜Oðð ,0ðð 1;¸5Ñ0AÐ/BððCðð # 7™^Ð,ðð -1ðð 2<¸HÑ1EÐ0FððG.ðð /4¨Wðð 56ðð 7=°Xðð>ðð # 6™]˜Oðð ,0ðð 1;¸8Ñ0DÐ/EððF0ðð 17¨xðð8ðð # 7™^Ð,ðð -1ðð 2<¸EÑ1BÐ0CððD.ðð /4¨Wðð5ôñ �ð  ˜%ÒØ÷ ó ð ð Ø(¨Ñ/Ð0ðð1 ðà %˜wðà&'ðà(2°5Ñ(9Ð':ðð;9ðð :?¸ðð@ðð " %Ñ(Ð)ð	ð *+ð	ð ,6°eÑ+<Ð*=ð	ð >@ð	ð AFÀeÁ¸~ð	ðNð	ð
 ! ™<˜.ðð
)ðð )¨Ñ2Ð3ðð4!ðð "( ðð)ðð  %˜gðð &(ðð )3°8Ñ(<Ð'=ðð>ðð )¨Ñ2Ð3ðð 46ðð 7AÀÑ6JÐ5KððLðð ˜H‘oÐ&ðð '/ðð 05°X©Ð.?ðð@!ðð "( ðð )@ðð AF¸wððGðð )¨Ñ0Ð1ðð2ðð  *¨&Ñ1Ð2ðð 34ðð 5;°8ðð<ðð (¨Ñ/Ð0ðð 13ðð 4>¸fÑ3EÐ2FððGðð ˜F‘m�_ðð %,ðð -2°&©M¨?ðð;7ðð  8>°hð!ð ?ð!ð" )¨Ñ1Ð2ð#ð"3ð#ð$  %˜gð%ð$& ð%ð& !+¨7Ñ 3Ð4ð'ð& 56ð'ð& 7=°Xð'ð&>ð'ð( )¨Ñ1Ð2ð)ð( 35ð)ð( 6@ÀÑ5HÐ4Ið)ð(Jð)ð* ˜G‘nÐ%ð+ð* &.ð+ð* /4°G©nÐ-=ð+ð*>ð+ð,  %˜gð-ð, &Að-ð, BHÀð-ð,Iô-ñ �ð0 �8‰OˆCÜ×)Ñ)¨#Ó.ˆDÜ˜T 4¨¨tÓ4ˆEà˜6�?ˆDØ˜1�vˆHØ/ˆFØˆIØ$ t™OˆMØ ! 1 e¨VÐ4ÐØˆMÜ#Ø�t˜X v¨y¸-Ø  -ó1ˆEð �I‰I×Ñ˜Q Ô&ä˜bŸi™iÓ(ò 	;ˆEÜ! &¨%°·±Õ:ñ	;÷kV;ð V;÷ñ ú÷ ñ üó L÷+V;ð V;úsJ   ”A6P$Â
PÂBPÄPÄ&?P$Å%PÅ5JP$ÐPÐ	PÐP	ÐP$Ð$P-c           	      ó   — |j                   �d|j                  v ry |j                  \  }}}}|j                  \  }}}	}
|j                  \  }}|j
                  \  }}|j                  \  }}|dk(  rÊ|dk(  rÅ| j                  «       5  |j                  s4| j                  ||||«       | j                  «        | j                  «         | j                  | j                  Ž }|j                  ||z   ||z   ¬«       |j                   j                  ||||«       | j                  |j                   «       d d d «       y |dk(  rt#        |d|z  «      }n1|dv r|}n*|dk(  sJ ‚t%        |	|z  «      }|dk\  r|	|z
  |dz
  z  }d}n|	}|dk(  rt#        |d|z  «      }n1|dv r|}n*|dk(  sJ ‚t%        |
|z  «      }|dk\  r|
|z
  |dz
  z  }d}n|
}t'        ||z   ||z   ¬«      }|| j(                  z  }| j+                  dd|||||«      }|j                  dd||«      }| j                  «       5  | j-                  «       5  |j                   j                  ||||«       |j                  «       5  |j                  |j                   «       d d d «       | j/                  d«       | j1                  |j                   «       |j                  r,| j                  \  }}}}| j                  ||||z
  ||z
  «       n| j                  ||||«       | j3                  «        d d d «       d d d «       y # 1 sw Y   y xY w# 1 sw Y   Œ®xY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)	Nr   rb   ©ÚeÚfr   )r}   ÚroundÚspacer   ÚPattern)rz   r{   ri   r   r|   r}   rg   r~   r4   r(   r0   r7   r8   r;   ÚdrawrS   rQ   Úmaxr   r
   ÚctmÚadd_patternr-   Úset_color_spaceÚset_color_specialr,   )r    r€   r   Ú
painting_xÚ
painting_yÚpainting_widthÚpainting_heightÚpositioning_xÚpositioning_yÚpositioning_widthÚpositioning_heightÚ
position_xÚ
position_yÚrepeat_xÚrepeat_yÚimage_widthÚimage_heightÚgroupÚrepeat_widthÚ	n_repeatsÚrepeat_heightÚmatrixÚpatternÚx1Úy1Úx2Úy2s                              r"   ro   ro   î   sj  € Ø‡{�{Ð˜a 5§:¡:™oØà>C×>QÑ>QÑ;€J�
˜N¨Oà×Ññ H€M�=Ð"3Ð5Gà"Ÿ^™^Ñ€J�
ØŸ™Ñ€HˆhØ %§
¡
Ñ€K�à�;Ò 8¨{Ò#:Ø�_‰_Óñ 	+ð —?’?Ø× Ñ Ø 
¨N¸OôMà—‘”Ø—
‘
”ð %�F×$Ñ$ f×&;Ñ&;Ð<ˆEØ�O‰O˜j¨=Ñ8¸JÈÑ<VˆOÔWØ�K‰K×Ñ˜U K°¸uÔEØ× Ñ  §¡Ô*÷	+ð 	à�;Òô
 ˜;¨¨NÑ(:Ó;‰Ø	Ð(Ñ	(à"‰à˜7Ò"Ð"Ð"ÜÐ+¨kÑ9Ó:ˆ	Ø˜Š>ð
 .°Ñ;À	ÈAÁÑNˆLØ‰Jð -ˆLð �;ÒÜ˜L¨!¨oÑ*=Ó>‰Ø	Ð(Ñ	(Ø$‰à˜7Ò"Ð"Ð"ÜÐ,¨|Ñ;Ó<ˆ	Ø˜Š>Ø/°,Ñ>À9ÈqÁ=ÑQˆMØ‰Jà.ˆMä�j =Ñ0°JÀÑ4NÔO€FØ
ˆf�j‰jÑ€FØ× Ñ Ø	ˆ1ˆk˜<¨°}ÀfóN€Gà×Ñ˜a  L°-Ó@€Eà	�‰Ó	ñ ˜FŸN™NÓ,ñ Ø�‰×Ñ˜ ¨\¸5ÔAØ×ÑÓñ 	,Ø×!Ñ! %§(¡(Ô+÷	,à×Ñ˜yÔ)Ø× Ñ  §¡Ô,Ø�?Š?Ø#×2Ñ2‰NˆB��B˜Ø×Ñ˜R  R¨"¡W¨b°2©gÕ6à×Ñ˜Z¨°^À_ÔUØ�‰Œ÷÷ ð ÷y	+ð 	ú÷^	,ð 	,ú÷ð ú÷ ð úsJ   ÂB,L È#MÈ4/L8É#L,É?BL8ÌMÌ L)Ì,L5Ì1L8Ì8M	Ì=MÍMc                 ó6  — t        | |j                  «       |j                  D ]?  }t        | |j                  «       |j                  D ]  }t        | |j                  «       Œ ŒA |j                  D ]ž  }t        | |j                  «       |j                  D ]w  }t        | |j                  «       |j                  D ]P  }|j                  d   dk(  xs! |j                  d   dk(  xs |j
                   }|sŒ;t        | |j                  «       ŒR Œy Œ  |j                  d   dk(  rt        | |«      S t        | |«       |j                  D ]O  }|j                  D ]>  }|j                  D ]-  }|j                  d   dk(  s|j
                  rŒ"t        | |«       Œ/ Œ@ ŒQ y )NÚborder_collapseÚcollapseÚempty_cellsÚshow)r   r   Úcolumn_groupsÚchildrenr   ÚemptyÚdraw_collapsed_bordersr   )r    ÚtableÚcolumn_groupÚcolumnÚ	row_groupÚrowÚcellÚdraw_cell_backgrounds           r"   rI   rI   D  sŒ  € ä�F˜E×,Ñ,Ô-Ø×+Ñ+ò 7ˆÜ˜ × 7Ñ 7Ô8Ø"×+Ñ+ò 	7ˆFÜ˜F F×$5Ñ$5Õ6ñ	7ð7ð —^‘^ò 
=ˆ	Ü˜ 	× 4Ñ 4Ô5Ø×%Ñ%ò 	=ˆCÜ˜F C§N¡NÔ3ØŸ™ò =�à—K‘KÐ 1Ñ2°jÑ@ò #Ø—J‘J˜}Ñ-°Ñ7ò#àŸ
™
�Nð %ò (Ü# F¨D¯O©OÕ<ñ=ñ	=ð
=ð ‡{�{Ð$Ñ%¨Ò3Ü% f¨eÓ4Ð4Ü�˜ÔØ—^‘^ò .ˆ	Ø×%Ñ%ò 	.ˆCØŸ™ò .�Ø—:‘:˜mÑ,°Ò6¸d¿j»jÜ ¨Õ-ñ.ñ	.ñ.r$   c                 óØ  ‡‡‡‡‡‡‡‡‡‡‡ ‡!‡"‡#— ‰j                   D ��cg c]  }|j                   D ]  }|j                  ‘Œ Œ! }}}‰j                  }|r|sy‰j                   D ��cg c]  }|j                   D ]  }|j                  ‘Œ Œ! c}}Š!t	        ‰j
                  «      Št        |«      Št        |«      Š‰t        ‰«      k(  sJ ‚‰j                  \  Š#Š‰j                  ‰d   |d   z   «       ‰!j                  ‰!d   |d   z   «       ‰j                   d   j                  r#t        ‰j                   d   j                   «      ŠndŠ‰j                   d   j                  r#t        ‰j                   d   j                   «      ŠndŠ‰j                  }|r|‰z
  ŠndŠt        ‰#«      }|‰z
  Šˆˆˆˆˆfd„Š g Š"d
ˆˆˆ fd„	Šˆˆˆˆˆ ˆ!ˆ"ˆˆ#f	d„}ˆˆˆˆˆ ˆ!ˆ"ˆˆ#f	d„}	t        ‰«      D ]  }
 |	|
d«       Œ t        ‰«      D ]3  } |d|«       t        ‰«      D ]  }
 ||
dz   |«        |	|
|dz   «       Œ Œ5 ‰"j                  t        j                  d«      ¬	«       ‰"D ]i  }|\  }}}}}}|\  }}}}t!        |||«      }| j#                  «       5  | j%                  «       5  t'        | ||||z   ||z   |||«       ddd«       ddd«       Œk yc c}}w c c}}w # 1 sw Y   Œ xY w# 1 sw Y   ŒŽxY w)z/Draw borders of table cells when they collapse.Nr]   r   c                 ón   •— ‰r| ‰t        |«      z   k  r| S ‰r| ‰‰z
  t        |«      z
  k\  r| ‰z   S | ‰z   S )N)Úint)rr   Ú
horizontalÚbody_rows_offsetÚfooter_rowsÚfooter_rows_offsetÚgrid_heightÚheader_rowss     €€€€€r"   Ú
row_numberz*draw_collapsed_borders.<locals>.row_number‡  sM   ø€ á˜1˜{¬S°«_Ñ<Ò<àˆHÙ˜Q +°Ñ";¼cÀ*»oÑ"MÒMàÐ)Ñ)Ð)ð Ð'Ñ'Ð'r$   c                 ó  •— d}|D ]u  \  }}|r#d|cxk  xr ‰
k  nc xr d|cxk  xr ‰k  nc }n"d|cxk  xr ‰
k  nc xr d|cxk  xr ‰k  nc }|sŒP ‰|| ¬«      }| |   |   \  }\  }}	}t        ||	«      }Œw |dz  S )Nr   ©r¹   r   )r‰   )Úborder_listÚyx_pairsÚverticalÚresultrr   rq   ÚinsideÚyyÚ_rs   r½   Ú
grid_widthr¿   s             €€€r"   Úhalf_max_widthz.draw_collapsed_borders.<locals>.half_max_width•  sœ   ø€ ØˆØò 	,‰DˆAˆqÙØ˜aÖ- +Ô-ÒF°!°qÖ2F¸JÔ2F‘à˜aÖ. ;Ô.ÒF°1¸Ö3F¸JÔ3F�ÚÙ °(¨lÔ;�Ø#.¨r¡?°1Ñ#5Ñ �‘=�A�u˜aÜ˜V UÓ+‘ð	,ð ˜‰zÐr$   c                 ót  •	—  ‰|d¬«      }‰|   |    \  }\  }}}|dk(  s|j                   dk(  ry ‰
|    }‰|   }|dk7  s‰j                  s| ‰‰|| dz
  f|| fgd¬«      z  }‰|dz      }	|‰dz
  k7  s‰j                  s|	 ‰‰|dz   | dz
  f|dz   | fgd¬«      z  }	‰j                  ||||d||d|	|z
  ff«       y )NFrÁ   r   r   )rÄ   rW   )rf   Úskip_cell_border_topÚskip_cell_border_bottomÚappend)rq   rr   rÇ   Úscorer   rs   re   Úpos_xÚpos_y1Úpos_y2Úcolumn_positionsr½   rÊ   Úhorizontal_bordersr¿   Úrow_positionsÚsegmentsr¯   Úvertical_borderss             €€€€€€€€€r"   Úadd_verticalz,draw_collapsed_borders.<locals>.add_vertical¢  s  ø€ Ù˜ eÔ,ˆØ'7¸Ñ';¸AÑ'>Ñ$ˆÑ$��u˜eØ�AŠ:˜Ÿ™¨Ò)ØØ  Ñ#ˆØ˜qÑ!ˆØ�Š6˜×3Ò3Ø‘nØ" a¨¨Q© Z°!°Q°Ð$8À5ôJñ JˆFà˜q 1™uÑ%ˆØ�˜a‘Ò u×'DÒ'DØ‘nØ" a¨!¡e¨Q°©U ^°a¸!±e¸Q°ZÐ$@È5ôRñ RˆFà�‰Ø�5˜% ¨°¸ÀÀ6ÈFÁ?Ð0SðUõ 	Vr$   c                 ój  •	— |dk(  r‰j                   ry |‰k(  r‰j                  ry  ‰|d¬«      }‰|   |    \  }\  }}}|dk(  s|j                  dk(  ry ‰|   } ‰‰|dz
  | f|| fg«      } ‰‰|dz
  | dz   f|| dz   fg«      }	‰|    |z
  }
‰| dz      |	z   }‰j                  ||||d|
|||
z
  dff«       y )Nr   TrÁ   r   rT   )rÌ   rÍ   rf   rÎ   )rq   rr   rÇ   rÏ   r   rs   re   Úpos_yÚshift_beforeÚshift_afterÚpos_x1Úpos_x2rÓ   r½   rÊ   rÔ   r¿   rÕ   rÖ   r¯   r×   s               €€€€€€€€€r"   Úadd_horizontalz.draw_collapsed_borders.<locals>.add_horizontal³  s  ø€ Ø�Š6�e×0Ò0ØØ�Ò × =Ò =ØÙ˜ dÔ+ˆØ'9¸"Ñ'=¸aÑ'@Ñ$ˆÑ$��u˜eØ�AŠ:˜Ÿ™¨Ò)ØØ˜aÑ ˆÙ%Ð&6¸!¸a¹%À¸ÀaÈÀVÐ8LÓMˆÙ$Ð%5¸¸Q¹ÀÀAÁ¸ÈÈAÐPQÉEÈ
Ð7SÓTˆØ! !Ñ$ |Ñ3ˆØ! ! a¡%Ñ(¨;Ñ6ˆØ�‰Ø�5˜% ¨°¸¸vÈ¹ÐPQÐ/RðTõ 	Ur$   r   )ru   )T)r¬   rt   Úcolumn_widthsr—   ÚlistrÓ   ÚlenÚcollapsed_border_gridrÎ   Ú	is_headerÚ	is_footerÚskipped_rowsÚrangeÚsortÚoperatorÚ
itemgetterr   rg   r-   r   )$r    r¯   r²   r³   Úrow_heightsrà   ræ   Úoriginal_grid_heightrØ   rß   rq   rr   ÚsegmentrÈ   r   rs   re   ÚsideÚ
border_boxÚbxÚbyÚbwÚbhrº   rÓ   r»   r¼   r½   rÉ   rÊ   r¾   rÔ   r¿   rÕ   rÖ   r×   s$    `                     @@@@@@@@@@@@@r"   r®   r®   b  s  ÿý€ ð %*§N¡N÷'Ø Ø×%Ñ%ò'àð 	�
‹
ð'Øð'€Kñ 'ð ×'Ñ'€MÙ™Màà(-¯©÷'Ø$Ø×%Ñ%ò'àð 	�‹ð'Øó'€Mô ˜E×2Ñ2Ó3ÐÜ�kÓ"€KÜ�]Ó#€JØœÐ-Ó.Ò.Ð.Ð.Ø+0×+FÑ+FÑ(ÐÐ(à×ÑÐ,¨RÑ0°=ÀÑ3DÑDÔEà×Ñ˜ rÑ*¨[¸©_Ñ<Ô=Ø‡~�~�aÑ×"Ò"Ü˜%Ÿ.™.¨Ñ+×4Ñ4Ó5‰àˆØ‡~�~�bÑ×#Ò#Ü˜%Ÿ.™.¨Ñ,×5Ñ5Ó6‰àˆØ×%Ñ%€LÙØ'¨+Ñ5ÑàÐÜÐ/Ó0ÐØ-°Ñ;Ð÷
(ð 
(ð €H÷÷Vô V÷"Uô Uô" �:Óò ˆÙ�q˜!Õðä�;Óò %ˆÙ�Q˜ÔÜ�zÓ"ò 	%ˆAÙ˜˜Q™ Ô"Ù˜1˜a !™eÕ$ñ	%ð%ð ‡M�M”h×)Ñ)¨!Ó,€MÔ-àò MˆØ3:Ñ0ˆˆ5�%˜  jØ#‰ˆˆB��BÜ˜U E¨4Ó0ˆØ�_‰_Óñ 	M §¡Ó 0ñ 	MÜ�f˜b " b¨2¡g¨r°B©w¸¸uÀeÔL÷	M÷ 	Mð 	Mñ	MùóW'ùó'÷P	Mð 	Mú÷ 	Mð 	Mús/   ž$KÁ%$KÊK ÊKÊ5K ËKËK Ë K)	c                 óÐ  — |j                   d   dk7  s|j                  r|j                  syt        j                  |«      \  }}}}|dk  s|dk  ry| j                  «       5  | j                  d«       | j                  ||¬«       | j                  «       5  |j                  j                  | |||j                   «       ddd«       ddd«       y# 1 sw Y   ŒxY w# 1 sw Y   yxY w)zEDraw the given :class:`boxes.ReplacedBox` to a ``pdf.stream.Stream``.Ú
visibilityr'   Nr   r   r‚   )
r   rs   rt   r   Úreplacedbox_layoutr-   rR   r;   Úreplacementrˆ   )r    r   Ú
draw_widthÚdraw_heightÚdraw_xÚdraw_ys         r"   Údraw_replacedboxrü   ×  s×   € à
‡y�y�Ñ )Ò+°3·9²9ÀCÇJÂJØä.6×.IÑ.IÈ#Ó.NÑ+€J�˜V VØ�Q‚˜+¨Ò*Øà	�‰Ó	ñ MØ×Ñ˜ÔØ×Ñ˜6 VÐÔ,Ø�^‰^Óñ 	Mð �O‰O× Ñ  ¨°[À#Ç)Á)ÔL÷	M÷Mð M÷	Mð 	Mú÷Mð Mús$   Á!5CÂ)CÂ?CÃC	ÃCÃC%c           	      óp  — t        |t        «      rV|}t        j                  t        j                  t        j
                  f}t        |j                  |«      sJ ‚t        | |«       y t        | |«       t        | |j                  «       t        | |«       t        |t        j                  t        j                  f«      rót        |t        j                  «      r|j                  }|j                  }d}t!        |j"                  «      D ]¦  \  }	}
|	t%        |j"                  «      dz
  k(  r|}t        |
t        «      r|}n||
j&                  z   |j&                  z
  }t        |
t        j(                  «      r+| j+                  |
d«      5  t-        | |
|||«       d d d «       Œ—t/        | ||
|||«       Œ¨ y t        |t        j0                  «      r(| j+                  |d«      5  t3        | |«       d d d «       y t        |t        j(                  «      sJ ‚t-        | |||«       y # 1 sw Y   �Œ!xY w# 1 sw Y   y xY w)NÚnoner   ÚSpanÚFigure)r=   r   r   r@   ÚInlineFlexBoxÚInlineGridBoxr   r   r   r   r   r   rK   ÚLineBoxÚtext_overflowÚblock_ellipsisÚ	enumerater¬   râ   r–   ÚTextBoxÚmarkedr   rL   ÚInlineReplacedBoxrü   )r    r   r   Úoffset_xr  r  r!   Úallowed_boxesÚellipsisÚiÚchildÚchild_offset_xs               r"   rL   rL   é  sä  € ä�#”Ô'ØÐÜ×-Ñ-¬u×/BÑ/BÄE×DWÑDWÐXˆÜÐ*×.Ñ.°Ô>Ð>Ð>Ü˜fÐ&6Õ7ä˜ Ô$Ü˜ §¡Ô/Ü�F˜CÔ Ü�cœEŸO™O¬U¯]©]Ð;Ô<Ü˜#œuŸ}™}Ô-Ø #× 1Ñ 1�Ø!$×!3Ñ!3�ØˆHÜ% c§l¡lÓ3ò V‘��5Øœ˜CŸL™LÓ)¨AÑ-Ò-à-�HÜ˜e¤_Ô5Ø%-‘Nà%-°×0@Ñ0@Ñ%@À3Ç>Á>Ñ%Q�NÜ˜e¤U§]¡]Ô3ØŸ™ u¨fÓ5ñ TÜ!Ø" E¨>¸=È(ôT÷Tð Tô &Ø  e¨^¸]ÈHõVñVô ˜œU×4Ñ4Ô5Ø—‘˜s HÓ-ñ .Ü  ¨Ô-÷.ð .ô ˜c¤5§=¡=Ô1Ð1Ð1ä�f˜c 8¨]Õ;÷Tñ Tú÷.ð .ús   ÆHÇH,ÈH)	È,H5c                 óŒ  — |j                  «       D ]¥  \  }}t        |t        j                  «      r(|j	                  |d«      5  t        ||«       d d d «       nQ|j                  rEt        |j                  d   t        j                  «      r|j                  D ]  }t        || |«       Œ t        | ||«       Œ§ y # 1 sw Y   ŒxY w)Nr   r]   )
rj   r=   r   rD   r  rü   r¬   r  rL   rM   )r   r    rN   rZ   r  s        r"   rM   rM     s¬   € Ø#3×#9Ñ#9Ó#;ò 9ÑˆÐÜ�eœU×.Ñ.Ô/Ø—‘˜u hÓ/ñ 0Ü  ¨Ô/÷0ð 0à�^Š^Ü˜%Ÿ.™.¨Ñ,¬e¯m©mÔ<Ø"Ÿ^™^ò ;�EÜ% f¨d°EÕ:ð;ä˜˜vÐ'7Õ8ñ9÷0ð 0ús   ÁB:Â:C	)TN© )r   r(   rþ   )%Ú__doc__ré   Úmathr   Ú	xml.etreer   Úformatting_structurer   Úimagesr   Úlayoutr   Úlayout.backgroundr	   r    r
   Ústackingr   Úborderr   r   r   r   r   re   r   Útextr   r#   r   r   ro   rI   r®   rü   rL   rM   r  r$   r"   ú<module>r     sq   ðÙ Fã Ý Ý !å (Ý Ý Ý /Ý Ý &ß VÕ VÝ Ý ò
4òi/óX`;òFSòl.ò<rMòjMð$ DJØ%+ó%<óP	9r$   