ó
    5ûojš  ã                  óø  • S r SSKJr  SSKrSSKJs  Jr  SSK	J
r
Jr  SSKJrJr  SSKJrJr  SSKJrJrJrJrJrJr  S r\" / S	Q/ S
Q/ SQ/ SQ/5      rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S r*S r+S r,S r-S  r.S! r/S" r0S# r1S$ r2S% r3S& r4S' r5S( r6S) r7S* r8S+ r9S, r:S- r;S. r<S/ r=S0 r>S1 r?S2 r@S3Rƒ                  / S4Q5      rBS5 rCS6 rDS7 rES8 rFS9 rGS: rHS; rIS< rJS= rKS> rLS? rMg)@uÄ  Tests for address-based grounding of the corrected table.

The agent reads the Camelot grid inside a printed coordinate frame and reports
each merge's source cells by address; grounding is a lookup into `cell_grid`
guarded by a text check, so the tests assert exact box equality throughout.
`resolve_corrected_grid` then closes the whole table by order-preserving
alignment. Everything here is pure and deterministic â€” no vision, no words,
no model.
é    )ÚannotationsN)Ú	CellMergeÚFootnoteMark)ÚGroundedCellÚMergedCellBox)Úcolumn_letterÚgrid_to_addressed_markdown)Úlocate_markersÚlog_ungroundedÚlog_ungrounded_cellsÚparse_addressÚresolve_corrected_gridÚresolve_mergesc                ó€   • U  VVVs/ s H   o VVs/ s H  u  p#[        X#S9PM     snnPM"     snnn$ s  snnf s  snnnf )N)ÚtextÚbox)r   )ÚrowsÚrowÚtÚbs       Ú9/home/mande/repo/quber/tests/core/test_merge_grounding.pyÚ_cellsr      s3   € ÙEIÕJÂT¸c°SÔ9²S©T¨QŒ\˜qÔ(±SÕ9ÁTÓJÐJùÓ9ùÔJs   ‡
9‘3¦9³9)©ÚItem©çš™™™™™¹?r   çš™™™™™É?ç¸…ëQ¸¾?)úThree Months Ended©çš™™™™™Ù?r   çffffffæ?r   ©Ú N)r#   )úDecember 31, 2022©gáz®GáÚ?çìQ¸…ëÁ?gÃõ(\�Âå?ç{®GázÄ?r#   )©ÚRevenue©r   r   r   ç)\�Âõ(Ì?©Ú$©r!   r   ç)\�Âõ(Ü?r,   ©ú1,637©ç      à?r   ç333333ã?r,   ))ÚCost©r   ç333333Ó?r   ç{®GázÔ?)r.   )r!   r8   r0   r9   )ú1,592©r4   r8   r5   r9   c                 óè
  • S V s/ s H  n [        U 5      PM     nn / SQo!U:H  o3(       do  [        R                  " SU4SX45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[	        [        R
                  " U5      5      eS =n=p2Sn[        U5      nS	orU:H  oˆ(       d×  [        R                  " SU4S
X'45      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[	        [        R
                  " U
5      5      eS =n=n=p‡Sn[        U5      nSorU:H  oˆ(       d×  [        R                  " SU4S
X'45      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[	        [        R
                  " U
5      5      eS =n=n=p‡Sn[        U5      nS orUL oˆ(       d×  [        R                  " SU4SX'45      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[	        [        R
                  " U
5      5      eS =n=n=p‡Sn[        U5      nS orUL oˆ(       d×  [        R                  " SU4SX'45      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[	        [        R
                  " U
5      5      eS =n=n=p‡Sn[        U5      nS orUL oˆ(       d×  [        R                  " SU4SX'45      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[	        [        R
                  " U
5      5      eS =n=n=p‡g s  sn f )N)r   é   é   é   )ÚAÚZÚAAÚAB©ú==©z%(py1)s == %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6ÚB3)é   é   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)sr   )Úpy0Úpy2rI   Úpy7úassert %(py9)sÚpy9z aa12 )é   r>   Ú7©Úis)z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} is %(py7)sÚB0z$B3)
r   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprÚAssertionErrorÚ_format_explanationr   Ú@py_builtinsÚlocalsÚ_should_repr_global_name)ÚiÚ@py_assert0Ú@py_assert3Ú@py_assert2Ú@py_format5Ú@py_format7Ú@py_assert1Ú@py_assert6Ú@py_assert5Ú@py_format8Ú@py_format10s              r   Ú/test_column_letters_and_address_parse_roundtriprl   5   só  € Ù&5Ó6¢o ŒM˜!Ö¡oÐPÐ6Ò:PÐPÐ:PÑP×P×P×PÒPÐ6×P×PÔPÐ6×P×PÓPÐ:P×P×P×P×P×P×PÓPØÐ(Œ=˜ÓÐ( &Ð( &Ñ(×(×(×(Ò(Ð×(×(×(×(×(Õ(Œ=×(×(×(Ñ(Œ=×(×(Õ(˜×(×(Ó(Ð×(×(Ó( &×(×(×(×(×(×(Õ(Ø!Ð.Œ=˜Ó"Ð. hÐ. hÑ.×.×.×.Ò.Ð"×.×.×.×.×.Õ.Œ=×.×.×.Ñ.Œ=×.×.Õ.˜×.×.Ó.Ð"×.×.Ó. h×.×.×.×.×.×.Õ.ØÐ%Œ=˜ÓÐ% Ð% Ð%×%×%×%Ò%Ð×%×%×%×%×%Õ%Œ=×%×%×%Ñ%Œ=×%×%Õ%˜×%×%Ó%Ð×%×%Ó% ×%×%×%×%×%×%Õ%ØÐ&Œ=˜ÓÐ& $Ð& $Ð&×&×&×&Ò&Ð×&×&×&×&×&Õ&Œ=×&×&×&Ñ&Œ=×&×&Õ&˜×&×&Ó&Ð×&×&Ó& $×&×&×&×&×&×&Õ&ØÐ'Œ=˜ÓÐ' 4Ð' 4Ð'×'×'×'Ò'Ð×'×'×'×'×'Õ'Œ=×'×'×'Ñ'Œ=×'×'Õ'˜×'×'Ó'Ð×'×'Ó' 4×'×'×'×'×'×'Ö'ùò 7s   …U/c                 ój  • [        SS/SS/SS//5      n U R                  5       nUS   nSo2U:H  oD(       do  [        R                  " SU4S	X#45      [        R                  " U5      [        R                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pCUS   nSo2U:H  oD(       do  [        R                  " SU4S	X#45      [        R                  " U5      [        R                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pCUS   nSo2U:H  oD(       do  [        R                  " SU4S	X#45      [        R                  " U5      [        R                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pCg )Nr   Ú2022r*   r$   r2   r   z| [A1] Item | [B1] 2022 |rD   rF   rG   rJ   rK   rM   z| [A2] Revenue |  |é   z|  | [B3] 1,637 |)r	   Ú
splitlinesrY   rZ   r[   r\   r]   )ÚmdÚlinesrb   rc   rd   re   rf   s          r   Ú7test_addressed_markdown_tags_every_nonempty_cell_inliners   >   s  € Ü	# f¨fÐ%5¸	À2°ÈÈWÈÐ$VÓ	W€BØ�M‰M‹O€EØ�‰8Ð2Ð2Ð2Ð2Ñ2×2×2×2Ò2ˆ8×2×2Ô2ˆ8×2×2Ó2Ð2×2×2×2×2×2×2Ó2Ø�‰8Ð,Ð,Ð,Ð,Ñ,×,×,×,Ò,ˆ8×,×,Ô,ˆ8×,×,Ó,Ð,×,×,×,×,×,×,Ó,Ø�‰8Ð*Ð*Ð*Ð*Ñ*×*×*×*Ò*ˆ8×*×*Ô*ˆ8×*×*Ó*Ð*×*×*×*×*×*×*Ô*ó    c            	     óž  • [        SSSSS/SS/S9[        S	SSS
S/SS/S9/n [        U [        5      nU Vs/ s H  o"R                  PM     nnSS/oCU:H  oU(       do  [        R
                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTUS   o3R                  nSS/o…U:H  o™(       d„  [        R
                  " SU	4SXX45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n
[        [        R                  " U
5      5      eS =n=n=p˜US   o3R                  nSo…U:H  o™(       d„  [        R
                  " SU	4SXX45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n
[        [        R                  " U
5      5      eS =n=n=p˜US   o3R                  nSS/o…U:H  o™(       d„  [        R
                  " SU	4SXX45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n
[        [        R                  " U
5      5      eS =n=n=p˜g s  snf )Nú$Three Months Ended December 31, 2022r   rN   r   r%   ÚB1ÚB2©Úresultr   ÚcolÚsourcesÚsource_cellsú$ 1,637r.   r2   rL   ÚC3Úcell_addressrD   rF   rG   rJ   rK   r    r&   ©z4%(py3)s
{%(py3)s = %(py1)s.source_boxes
} == %(py6)s©rH   Úpy3rK   úassert %(py8)sÚpy8©r!   r   r"   r(   ©z+%(py3)s
{%(py3)s = %(py1)s.box
} == %(py6)sr/   r3   )r   r   ÚGRIDÚgrounded_byrY   rZ   r[   r\   r]   Úsource_boxesr   )ÚmergesÚoutÚmrb   rc   rd   re   rf   ri   Ú@py_assert4Ú@py_format9s              r   Ú3test_merge_addresses_resolve_to_exact_camelot_boxesr�   I   sù  € ô 	Ø9ØØØ)Ð+>Ð?Ø ˜ñ	
ô 	˜¨¨q¸3À¸.ÐX\Ð^bÐWcÑdð	€Fô ˜¤Ó
&€CÙ#&Ó'¢3˜a�MŒM¡3ÐKÐ'¨N¸NÐ+KÐKÐ+KÑK×K×K×KÒKÐ'×K×KÔKÐ'×K×KÓKÐ+K×K×K×K×K×K×KÓKØˆq‰6ÐV×ÑÐVÐ#;Ð=UÐ"VÐVÐ"VÑV×V×V×VÒVÐ×V×VÔVˆ6×V×VÓVÐ×V×VÓVÐ"V×V×V×V×V×V×VÕVØˆq‰6Ð1�:‰:Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ:×1×1Ô1ˆ6×1×1Ó1ˆ:×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6ÐV×ÑÐVÐ#;Ð=UÐ"VÐVÐ"VÑV×V×V×VÒVÐ×V×VÔVˆ6×V×VÓVÐ×V×VÓVÐ"V×V×V×V×V×V×VÖVùò (s   ·K
c                 óè  • [        SSSSS/SS/S9/n [        U [        5      nUS   o"R                  nS	oCU:H  oU(       d„  [        R
                  " S
U4SX445      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=pTUS   o"R                  nSS /oCU:H  oU(       d„  [        R
                  " S
U4SX445      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=pTg )Nr~   rN   r.   r2   rL   ÚC4ry   r   ÚpartialrD   ©z3%(py3)s
{%(py3)s = %(py1)s.grounded_by
} == %(py6)sr‚   r„   r…   r/   r�   )
r   r   rˆ   r‰   rY   rZ   r[   r\   r]   rŠ   )r‹   rŒ   rb   rd   ri   rŽ   rf   r�   s           r   Ú1test_misread_address_is_refused_by_the_text_checkr•   \   sþ   € ô ˜y¨a°QÀÀgÀÐ^bÐdhÐ]iÑjÐk€FÜ
˜¤Ó
&€CØˆq‰6Ð*×ÑÐ* Ð* Ñ*×*×*×*Ò*Ð×*×*Ô*ˆ6×*×*Ó*Ð×*×*Ó* ×*×*×*×*×*×*Õ*Øˆq‰6ÐB×ÑÐBÐ#;¸TÐ"BÐBÐ"BÑB×B×B×BÒBÐ×B×BÔBˆ6×B×BÓBÐ×B×BÓBÐ"B×B×B×B×B×B×BÖBrt   c            
     óX  • [        SSSS/S/S9[        SSSS/S/S9[        SSSS/S/S9[        SSSSS/S	9/n [        U [        5      nU Vs/ s H  o"R                  PM     nn/ S
QoCU:H  oU(       do  [        R
                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTS U 5       n[        U5      oD(       d¢  SS[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      S.-  n[        [        R                  " U5      5      eS =p„g s  snf )Nr~   rN   r.   ÚZ99ry   z??ÚC1r2   )rz   r   r{   r|   )Únoner™   r™   r™   rD   rF   rG   rJ   rK   c              3  ó<   #   • U  H  oR                   S L v •  M     g 7f©N©r   )Ú.0r�   s     r   Ú	<genexpr>ÚUtest_unparseable_out_of_bounds_and_blank_addresses_resolve_to_none.<locals>.<genexpr>n   s   é € Ð*¢c �u‰u˜�}¢cùs   ‚ú,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úall©rO   rP   rI   )r   r   rˆ   r‰   rY   rZ   r[   r\   r]   r¡   r^   r_   r`   )	r‹   rŒ   r�   rb   rc   rd   re   rf   rg   s	            r   ÚBtest_unparseable_out_of_bounds_and_blank_addresses_resolve_to_noner£   e   s.  € ä˜¨¨q¸3¸%ÈuÈgÑVÜ˜¨¨q¸3¸%ÈtÈfÑUÜ˜¨¨q¸3¸%ÈtÈfÑUÜ˜¨¨q¸3À¸.ÑIð	€Fô ˜¤Ó
&€CÙ#&Ó'¢3˜a�MŒM¡3ÐKÐ'Ò+KÐKÐ+KÑK×K×K×KÒKÐ'×K×KÔKÐ'×K×KÓKÐ+K×K×K×K×K×K×KÓKÙ*¡cÓ*Ð*Œ3Ð*Ó*Ð*Õ*×*×*×*×*×*Ñ*Œ3×*×*×*Ñ*Œ3×*×*Õ*Ð*×*×*Ó*Ð*×*×*×*×*×*Ó*ùò (s   ÁF'c                 ó†  • [        SSS/ SQSS/S9n U R                  nS/o!U:H  o3(       dº  [        R                  " SU4S	X45      S
[        R
                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OS
[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=p2U R                  nS/o!U:H  o3(       dº  [        R                  " SU4SX45      S
[        R
                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OS
[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=p2g )NúTop-hole Rigsé	   r   )r¥   r$   z  ÚA9Ú ry   rD   )z/%(py2)s
{%(py2)s = %(py0)s.sources
} == %(py5)sr�   ©rO   rP   Úpy5úassert %(py7)srQ   )z4%(py2)s
{%(py2)s = %(py0)s.source_cells
} == %(py5)s)r   r|   rY   rZ   r^   r_   r`   r[   r\   r]   r}   )r�   rg   rŽ   rc   Ú@py_format6rj   s         r   Ú0test_cell_merge_drops_blank_pieces_at_the_schemar­   q   s  € ÜØØØÚ+Ø˜C�[ñ	€Að �9‰9Ð)˜Ð)Ð)Ð)Ñ)×)×)×)Ò)ˆ9×)×)×)×)×)Õ)ˆ1×)×)×)Ñ)ˆ1×)×)Õ)ˆ9×)×)Ó)Ð)×)×)×)×)×)×)Ó)Ø�>‰>Ð#˜d˜VÐ#˜VÑ#×#×#×#Ò#ˆ>×#×#×#×#×#Õ#ˆ1×#×#×#Ñ#ˆ1×#×#Õ#ˆ>×#×#Ó#˜V×#×#×#×#×#×#Ô#rt   c            	     óô  • SSK Jn   [        SSSSS/SS/S	9[        S
SSSS/SS/S	9/n[        U[        5      n/ nU R                  UR                  SS9n [        USS9  U R                  U5        [        U5      nSoeU:H  ow(       Gd  [        R                  " SU4SXV45      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OSS[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[!        [        R"                  " U	5      5      eS =n=pvSo£S   oºU;   oU(       do  [        R                  " SU4SX«45      [        R                  " U
5      [        R                  " U5      S.-  nSSU0-  n[!        [        R"                  " U5      5      eS =n
=p[/ nSoSS   oeU;   owo§(       a!  SoãS   oþU;   nUn
U(       a  S nUS   nUU;   nUn
U
(       Gdr  [        R                  " SU4S!XV45      [        R                  " U5      [        R                  " U5      S".-  nS#SU0-  o�R                  U	5        U(       aË  [        R                  " SW4S$WW45      [        R                  " U5      [        R                  " U5      S%.-  nS&S'U0-  nUR                  U5        U(       ab  [        R                  " SW4S(WW45      [        R                  " U5      [        R                  " U5      S).-  nS*S+U0-  nUR                  U5        [        R$                  " US5      0 -  nS,S-U0-  n[!        [        R"                  " U5      5      eS =n
=n=n=n=n=n=n=n=n=nng ! U R                  U5        f = f).Nr   ©Úloggerr~   rN   r.   r2   rL   r’   ry   ú$ 1,592rM   r:   ÚB4ÚDEBUG©Úlevelé   ©ÚpagerD   ©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenÚcaptured©rO   rH   rƒ   rK   r„   r…   ©Úin©z%(py1)s in %(py4)srG   rJ   rK   zpage 7z'C4'r“   ©z%(py3)s in %(py6)s©rƒ   rK   ú%(py8)s©z%(py11)s in %(py14)s©Úpy11Úpy14ú%(py16)sÚpy16)z%(py19)s in %(py22)s)Úpy19Úpy22z%(py24)sÚpy24zassert %(py27)sÚpy27)Úlogurur°   r   r   rˆ   ÚaddÚappendr   Úremoverº   rY   rZ   r^   r_   r`   r[   r\   r]   Ú_format_boolop)r°   r‹   rŒ   r»   Úsink_idrd   ri   rŽ   rf   r�   rb   rc   re   rg   Ú@py_assert10Ú@py_assert13Ú@py_assert12Ú@py_assert18Ú@py_assert21Ú@py_assert20Ú@py_format15Ú@py_format17Ú@py_format23Ú@py_format25Ú@py_format26Ú@py_format28s                             r   Ú0test_ungrounded_merges_are_traced_with_addressesrß   }   so  € õ ô 	˜¨¨q¸3À¸.ÐX\Ð^bÐWcÑdÜ˜¨¨q¸3À¸.ÐX\Ð^bÐWcÑdð€Fô ˜¤Ó
&€CØ€HØ�j‰j˜Ÿ™°ˆjÐ8€GðÜ�s Ò#à�‰�gÔäˆx‹=Ð˜AÐ˜AÑ×××Óˆ=×××××ÕŒ3×××ÑŒ3×××××Öˆx×××Ñˆx××Õˆ=××Ó˜A××××××ÓØÐ!˜q‘kÐ!�kÑ!×!×!×!Ò!ˆ7×!×!Ô!ˆ7×!×!Ó!�k×!×!×!×!×!×!Ó!ÙYˆ8ÐY ‘{ÐY�{Ñ"×Y vÐY¸!±ÐY°Ñ'<×YÑYÀÐYÈhÐWXÉkÐYÀÈkÑAY×Y×Y×YÖYˆ8×Y×YÔYˆ8×Y×YÓY�{×Y×Y×Y×Y×Y×Y×YÒY v°×Y×YÔY v×Y×YÓY°×Y×Y×Y×Y×Y×Y×YÓYÀÈk×Y×YÔYÀ×Y×YÓYÈk×Y×Y×Y×Y×Y×Y×Y×Y×Y×Y×Y×Y×Y×Y×Yøð	 	�‰�gÕús   Á
O$ Ï$O7c                 ó   • Sn [        [        SSSSS/SS/S	9[        S
SSSS/SS/S	9[        SSSSS/SS/S	9/[        5      n[        X[        5      nUS   S   o3R                  nSoTU:H  of(       d„  [
        R                  " SU4SXE45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [
        R                  " SU4SXE45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [
        R                  " SU4SXE45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [
        R                  " SU4SXE45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [
        R                  " SU4SXE45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [
        R                  " SU4SXE45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=n=peg )Nzf| Item | Three Months Ended December 31, 2022 |
| --- | --- |
| Revenue | $ 1,637 |
| Cost | $ 1,592 |rv   r   rN   r   r%   rw   rx   ry   r~   r.   r2   rL   r   r±   rM   r:   r²   r’   r†   rD   r‡   r‚   r„   r…   ©r!   r   r5   r,   )r!   r8   r5   r9   r   r+   r7   )
r   r   rˆ   r   r   rY   rZ   r[   r\   r]   )	rq   r‹   Úgridrb   rd   ri   rŽ   rf   r�   s	            r   Ú;test_corrected_grid_aligns_moved_values_and_merge_addressesrã   –   sí  € ð	4ð ô äØ=ØØØ-Ð/BÐCØ" D˜\ñô ˜Y¨A°1¸sÀG¸nÐ\`ÐbfÐ[gÑhÜ˜Y¨A°1¸sÀG¸nÐ\`ÐbfÐ[gÑhð
	
ô 	ó€Fô " "¬dÓ3€DØ�‰7�1‰:Ð5�>‰>Ð5Ð5Ð5Ð5Ñ5×5×5×5Ò5ˆ>×5×5Ô5ˆ:×5×5Ó5ˆ>×5×5Ó5Ð5×5×5×5×5×5×5Õ5Ø�‰7�1‰:Ð5�>‰>Ð5Ð5Ð5Ð5Ñ5×5×5×5Ò5ˆ>×5×5Ô5ˆ:×5×5Ó5ˆ>×5×5Ó5Ð5×5×5×5×5×5×5Õ5Ø�‰7�1‰:Ð5�>‰>Ð5Ð5Ð5Ð5Ñ5×5×5×5Ò5ˆ>×5×5Ô5ˆ:×5×5Ó5ˆ>×5×5Ó5Ð5×5×5×5×5×5×5Õ5à�‰7�1‰:Ð5�>‰>Ð5Ð5Ð5Ð5Ñ5×5×5×5Ò5ˆ>×5×5Ô5ˆ:×5×5Ó5ˆ>×5×5Ó5Ð5×5×5×5×5×5×5Õ5Ø�‰7�1‰:Ð5�>‰>Ð5Ð5Ð5Ð5Ñ5×5×5×5Ò5ˆ>×5×5Ô5ˆ:×5×5Ó5ˆ>×5×5Ó5Ð5×5×5×5×5×5×5Õ5Ø�‰7�1‰:Ð5�>‰>Ð5Ð5Ð5Ð5Ñ5×5×5×5Ò5ˆ>×5×5Ô5ˆ:×5×5Ó5ˆ>×5×5Ó5Ð5×5×5×5×5×5×5Ö5rt   c                 óì  • [        SS/SS//5      n Sn[        U/ U 5      nUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " S	U4S
XE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " S	U4S
XE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peg )N)ÚBasicr+   )ú5.98r3   )ÚDilutedr7   )ræ   r;   z1| Basic | 5.98 |
| --- | --- |
| Diluted | 5.98 |r   rN   r3   rD   r‡   r‚   r„   r…   r;   ©r   r   r   rY   rZ   r[   r\   r]   ©	râ   rq   rŒ   rb   rd   ri   rŽ   rf   r�   s	            r   Ú5test_corrected_grid_maps_identical_twin_rows_in_orderrê   ´   s  € ô à-Ð/NÐOØ/Ð1PÐQð	
ó€Dð 
?€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Ö1rt   c                 óæ  • [        / SQ/5      n Sn[        U/ U 5      nUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =n=n=peg )N))zLetters of credit©r   r   r8   r,   )ú47.8©r!   r   r4   r,   )rí   ©r5   r   r"   r,   z7| Letters of credit | 47.8 | 47.8 |
| --- | --- | --- |r   rN   rî   rD   r‡   r‚   r„   r…   rM   rï   rè   ré   s	            r   Ú8test_corrected_grid_twins_within_a_row_map_left_to_rightrð   Ã   sø   € Üòð	
ó€Dð 
D€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Ö1rt   c                 óš  • [        / SQ/ SQ/ SQ/5      n Sn[        U/ U 5      nUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=n=peg )N))ÚjunkNr#   r#   ))ÚRegionr   r#   )Ú2025©r4   r   r5   r   )©ÚUSr+   r#   r1   z.| Region | 2025 |
| --- | --- |
| US | 1,637 |r   r   rD   r‡   r‚   r„   r…   rN   rõ   r+   r3   rè   ré   s	            r   Ú5test_corrected_grid_survives_dropped_columns_and_rowsrø   Ó   sÉ  € ô â4Ú\ÚYð	
ó€Dð 
<€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Ö1rt   c                 óò  • SSK Jn   [        SS//5      nSn[        U/ U5      n/ oCS   S   oUR                  nS ovULoˆo˜(       a  US   S   oªR                  nS oËULoÝn	U	(       Gd3  [
        R                  " SU4SXg45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S	.-  nS
SU0-  oôR                  U5        U(       aw  [
        R                  " SW4SWW45      [
        R                  " W
5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  nUR                  U5        [
        R                  " US5      0 -  nSSU0-  n[        [
        R                  " U5      5      eS =n	=n=n=n=n=n=n
=n=pÜ/ oCS   S   oUR                  nS ovUL oˆo˜(       a  US   S   oªR                  nS oËUL oÝn	U	(       Gd2  [
        R                  " SU4SXg45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S	.-  nS
SU0-  oôR                  U5        U(       av  [
        R                  " SU4SX¼45      [
        R                  " U
5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  nUR                  U5        [
        R                  " US5      0 -  nSSU0-  n[        [
        R                  " U5      5      eS =n	=n=n=n=n=n=n
=n=pÜ/ nU R                  UR                  SS9n [        USS9  U R                  U5        [        U5      nSnUU:H  of(       Gd  [
        R                  " SU4SUU45      S[         R"                  " 5       ;   d  [
        R$                  " [        5      (       a  [
        R                  " [        5      OSS[         R"                  " 5       ;   d  [
        R$                  " U5      (       a  [
        R                  " U5      OS[
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=nnSn	US   nU	U;   oU(       dp  [
        R                  " S U4S!U	U45      [
        R                  " U	5      [
        R                  " U5      S".-  nS#S$U0-  n[        [
        R                  " U5      5      eS =n	=nn/ nS%nUS   nUU;   ofo–(       a  S&nUS   nUU;   oªn	U	(       Gd
  [
        R                  " S U4S'UU45      [
        R                  " U5      [
        R                  " U5      S(.-  nS)SU0-  oäR                  U5        U(       ab  [
        R                  " S U
4S*WW45      [
        R                  " U5      [
        R                  " U5      S+.-  nS,S-U0-  nUR                  U5        [
        R                  " US5      0 -  nS.S/U0-  n[        [
        R                  " U5      5      eS =n	=n=n=n=n=n=n
ng ! U R                  U5        f = f)0Nr   r¯   rö   r1   z2| US | 1,637 |
| --- | --- |
| Recovered | 9,999 |rN   ©úis not)z/%(py5)s
{%(py5)s = %(py3)s.box
} is not %(py8)s©rƒ   rª   r…   ú%(py10)sÚpy10)z3%(py15)s
{%(py15)s = %(py13)s.box
} is not %(py18)s©Úpy13Úpy15Úpy18ú%(py20)sÚpy20úassert %(py23)sÚpy23rV   )z+%(py5)s
{%(py5)s = %(py3)s.box
} is %(py8)s)z/%(py15)s
{%(py15)s = %(py13)s.box
} is %(py18)sr³   r´   é   r·   rD   r¹   rº   r»   r¼   r„   r…   r½   r¿   rG   rJ   rK   z'Recovered'z'9,999'rÀ   rÁ   rÂ   rÃ   rÄ   rÇ   rÈ   zassert %(py19)srÉ   )rÍ   r°   r   r   r   rY   rZ   r[   rÏ   rÑ   r\   r]   rÎ   r   rÐ   rº   r^   r_   r`   ) r°   râ   rq   rŒ   rg   rd   rŽ   Ú@py_assert7rh   rb   rÕ   Ú@py_assert14Ú@py_assert17Ú@py_assert16r�   Ú@py_format11Ú@py_format19Ú@py_format21Ú@py_format22Ú@py_format24r»   rÒ   ri   rf   rc   re   rÓ   rÔ   rÙ   rÚ   Ú@py_format18Ú@py_format20s                                    r   Ú3test_corrected_grid_recovered_text_is_an_honest_gapr  å   s¿  € õ äÐ1Ð3SÐTÐUÓV€DØ	?€BÜ
   R¨Ó
.€CÙBˆq‰6�!‰9ÐB�=‰=ÐB ÐB Ð$×B¨¨Q©°©ÐB¯©ÐB¸dÐB¸dÐ)B×B×B×BÕBˆ=×B×BÔBˆ9×B×BÓBˆ=×B×BÓB ×B×B×B×B×B×B×BÒB¨¸d×B×BÔB¨×B×BÓB¨×B×BÓB¸d×B×B×B×B×B×B×B×B×B×B×B×B×B×BÓBÙ:ˆq‰6�!‰9Ð:�=‰=Ð:˜DÐ:˜DÐ ×: S¨¡V¨A¡YÐ:§]¡]Ð:°dÐ:°dÐ%:×:×:×:Õ:ˆ=×:×:Ô:ˆ9×:×:Ó:ˆ=×:×:Ó:˜D×:×:×:×:×:×:×:Ò: ]×:×:Ô: Y×:×:Ó: ]×:×:Ó:°d×:×:×:×:×:×:×:×:×:×:×:×:×:×:Ó:à€HØ�j‰j˜Ÿ™°ˆjÐ8€GðÜ˜S qÒ)à�‰�gÔÜˆx‹=Ð˜AÐˆ=˜AÑ×××Óˆ=˜A×××××ÕŒ3×××ÑŒ3×××××Öˆx×××Ñˆx××Õˆ=××Ó˜A××××××ÔØÐ!�h˜q‘kÐ!ˆ7�kÑ!×!×!×!Ò!ˆ7�k×!×!Ô!ˆ7×!×!Ó!�k×!×!×!×!×!×!Ô!ÙDˆ=ÐD˜H Q™KÐDˆ=˜KÑ'×D¨IÐD¸À!¹ÐD¨I¸Ñ,D×D×D×DÕDˆ=˜K×D×DÔDˆ=×D×DÓD˜K×D×D×D×D×D×D×DÒD¨I¸×D×DÔD¨I×D×DÓD¸×D×D×D×D×D×D×D×D×D×D×D×D×D×DÑDøð 	�‰�gÕús   Í
Y# Ù#Y6c            	     óÖ  • Sn / n[        X[        5      n/ o2U:H  oD(       Gd?  [        R                  " SU4SX#45      S[        R
                  " 5       ;   d  [        R                  " [         5      (       a  [        R                  " [         5      OS[        R                  " U 5      [        R                  " U5      S[        R
                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n =n=n=pCg )	Nr$   rD   )zC%(py7)s
{%(py7)s = %(py0)s(%(py2)s, %(py4)s, %(py5)s)
} == %(py10)sr   rˆ   )rO   rP   rI   rª   rQ   rþ   zassert %(py12)sÚpy12)
r   rˆ   rY   rZ   r^   r_   r`   r[   r\   r]   )rg   rc   rh   Ú@py_assert9Ú@py_assert8r  Ú@py_format13s          r   Ú0test_corrected_grid_empty_markdown_returns_emptyr  û   s¾   € Ø"$Ð5 bÐ5Ô! "¬$Ó/Ð5°2Ð5°2Ñ5×5×5×5Ó5Ð/×5×5×5×5×5Õ5Ô!×5×5×5Ñ5Ô!×5×5Õ5 "×5×5Ó5 b×5×5×5×5×5Ô5¬$×5×5×5Ñ5¬$×5×5Õ5Ð/×5×5Ó5°2×5×5×5×5×5×5×5Ð5rt   c                 ó$  • [        SSSSS/SS/S9/n [        U [        5      nUS   R                  5       nUS	   nSS/oCU:H  oU(       do  [        R
                  " S
U4SX445      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTUS   nSoCU:H  oU(       do  [        R
                  " S
U4SX445      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pT[        R                  oˆ" U5      o‘S   o©U
:H  o»(       Gd"  [        R
                  " S
U4SXš45      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U	5      [        R                  " U
5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n	=pºg )Nr~   rN   r.   r2   rL   r   ry   r   r}   rD   rF   rG   rJ   rK   r‰   r€   )zT%(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.model_validate
}(%(py3)s)
} == %(py8)sr   Údumped)rO   rP   rƒ   rª   r…   zassert %(py10)srþ   )r   r   rˆ   Ú
model_dumprY   rZ   r[   r\   r]   r   Úmodel_validater^   r_   r`   )r‹   rŒ   r  rb   rc   rd   re   rf   rg   rŽ   r  rh   r�   r  s                 r   Ú-test_resolved_merge_serializes_with_addressesr  ÿ   s’  € Ü˜y¨a°QÀÀgÀÐ^bÐdhÐ]iÑjÐk€FÜ
˜¤Ó
&€CØ�‰V×ÑÓ €FØ�.Ñ!Ð1 d¨D \Ð1 \Ñ1×1×1×1Ò1Ð!×1×1Ô1Ð!×1×1Ó1 \×1×1×1×1×1×1Ó1Ø�-Ñ Ð2 NÐ2 NÑ2×2×2×2Ò2Ð ×2×2Ô2Ð ×2×2Ó2 N×2×2×2×2×2×2Ó2Ü×'Ñ'Ð9Ð'¨Ó/Ð9°q±6Ð9°6Ñ9×9×9×9Ó9Ð/×9×9×9×9×9Õ9Œ=×9×9×9Ñ9Œ=×9×9Õ9Ð'×9×9×9×9×9Ô9¨×9×9×9Ñ9¨×9×9Õ9Ð/×9×9Ó9°6×9×9×9×9×9×9Ö9rt   c                 óæ  • [        / SQ/5      n Sn[        U/ U 5      nUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSS	U0-  n[        [        R                  " U5      5      eS =n=n=peUS   S
   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSS	U0-  n[        [        R                  " U5      5      eS =n=n=peg )N))zClass A common stock,rì   )zpar value $0.0001)r9   r   ç¸…ëQ¸Þ?r,   )r.   )r5   r   g{®Gázä?r,   r#   )z168,663©r"   r   çš™™™™™é?r,   zE| Class A common stock, par value $0.0001 | $ 168,663 |
| --- | --- |r   )r   r   r   r,   rD   r‡   r‚   r„   r…   rN   )r5   r   r"  r,   rè   ré   s	            r   ÚBtest_corrected_grid_matches_unreported_cell_joins_by_concatenationr#    sú   € ô òð	
ó
€Dð 
R€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð3�=‰=Ð3Ð3Ð3Ð3Ñ3×3×3×3Ò3ˆ=×3×3Ô3ˆ9×3×3Ó3ˆ=×3×3Ó3Ð3×3×3×3×3×3×3Õ3Øˆq‰6�!‰9Ð3�=‰=Ð3Ð3Ð3Ð3Ñ3×3×3×3Ò3ˆ=×3×3Ô3ˆ9×3×3Ó3ˆ=×3×3Ó3Ð3×3×3×3×3×3×3Ö3rt   c                 ó&  • Sn [        SSU 4//5      nSn[        U/ U5      nUS   S   oDR                  nSoeU:H  ow(       d„  [        R                  " SU4SXV45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n	[        [        R                  " U	5      5      eS =n=n=pvS V
s/ s H  o£S   U
   R                  PM     nn
U /nSokU-  oÄU:H  oU(       d„  [        R                  " SU4SXL45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=plg s  sn
f )N©r!   r   çÍÌÌÌÌÌì?ç¸…ëQ¸Î?)z
Net income©r   r   r8   r'  z 46,706
 34,238
 438,841
 428,302zT| Net income | 46,706 | 34,238 | 438,841 | 428,302 |
| --- | --- | --- | --- | --- |r   r(  rD   r‡   r‚   r„   r…   ©rN   rM   ro   r  r  ©z%(py1)s == (%(py4)s * %(py6)s)©rH   rI   rK   rR   rS   rè   )Úgluedrâ   rq   rŒ   rb   rd   ri   rŽ   rf   r�   Úcrc   r  rj   rk   s                  r   Ú9test_corrected_grid_tiles_fragments_of_a_glued_value_cellr.    s&  € ð
 "€EÜà2Ð5ZÐ\aÐ4bÐcð	
ó€Dð
 
a€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Õ1Ù#/Ó0¢<˜a�‰F�1‰I�MŒM¡<Ð?Ð0°U°GÐ?¸aÐ?¸a±KÐ?°KÑ?×?×?×?Ò?Ð0×?×?Ô?Ð0×?×?Ó?°G×?×?Ó?¸a×?×?×?×?×?×?×?Ð?ùÒ0s   ÃFc                 ó<  • Sn SnSn[        SU 4S/SU4SU4//5      nSn[        U/ U5      nUS	   S	   ofR                  nS
o‡U:H  o™(       d„  [        R                  " SU	4SXx45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=n=p˜S Vs/ s H  oÅS	   U   R                  PM     nnU/nSo�U-  oæU:H  ow(       d„  [        R                  " SU4SXn45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=pŽg s  snf )N)r   r   r5   r,   )r   r'  ç      Ð?ç¤p=
×£Ð?)r5   r'  r&  r1  z;Deduct gain from real estate dispositions of unconsolidatedr#   zjoint venturesz(135)
 (93)
 (14,880)z‚| Deduct gain from real estate dispositions of unconsolidated joint ventures | (135) | (93) | (14,880) |
| --- | --- | --- | --- |r   )r   r   r5   r1  rD   r‡   r‚   r„   r…   ©rN   rM   ro   ro   r*  r+  rR   rS   rè   )ÚtopÚbottomr,  râ   rq   rŒ   rb   rd   ri   rŽ   rf   r�   r-  rc   r  rj   rk   s                    r   Ú:test_corrected_grid_tiles_a_label_wrapped_across_grid_rowsr5  .  sG  € ð
 #€CØ%€FØ$€EÜàKÈSÐQÐS]Ð^Ø Ð'Ð*CÀUÐ)KÐLð	
ó€Dð	Að ô !  R¨Ó
.€CØˆq‰6�!‰9Ð4�=‰=Ð4Ð4Ð4Ð4Ñ4×4×4×4Ò4ˆ=×4×4Ô4ˆ9×4×4Ó4ˆ=×4×4Ó4Ð4×4×4×4×4×4×4Õ4Ù#,Ó-¢9˜a�‰F�1‰I�MŒM¡9Ð<Ð-°%°Ð<¸1Ð<¸1±Ð<°Ñ<×<×<×<Ò<Ð-×<×<Ô<Ð-×<×<Ó<°×<×<Ó<¸1×<×<×<×<×<×<×<Ð<ùÒ-s   ÃFc                 ót  • Sn [        SSU 4//5      nSn[        U/ U5      nUS   S   oDR                  nS oeUL ow(       d„  [        R                  " SU4SXV45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n	[        [        R                  " U	5      5      eS =n=n=pv/ o£S   S   oUR                  owU :H  o»oK(       a  US   S   oÌR                  oÝU :H  oînU(       Gd   [        R                  " SU4SXp45      [        R
                  " U5      [        R
                  " U5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R
                  " U 5      OSS.-  nSSU0-  nU
R                  U5        U(       a­  [        R                  " SW4SWU 45      [        R
                  " W5      [        R
                  " U5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R
                  " U 5      OSS.-  nSSU0-  nU
R                  U5        [        R                  " U
S5      0 -  nSSU0-  n[        [        R                  " U5      5      eS =n=n
=n=n=n=n=pÞg )Nr%  )zDeduct gainr(  z(135)
 (93)u>   | Deduct gain | â€” | (135) | (93) |
| --- | --- | --- | --- |r   rN   rV   ©z+%(py3)s
{%(py3)s = %(py1)s.box
} is %(py6)sr‚   r„   r…   rM   ro   rD   ©z+%(py5)s
{%(py5)s = %(py3)s.box
} == %(py7)sr,  ©rƒ   rª   rQ   ú%(py9)srS   ©z/%(py14)s
{%(py14)s = %(py12)s.box
} == %(py16)s©r  rÆ   rÈ   ú%(py18)sr  úassert %(py21)sÚpy21)r   r   r   rY   rZ   r[   r\   r]   r^   r_   r`   rÏ   rÑ   )r,  râ   rq   rŒ   rb   rd   ri   rŽ   rf   r�   rg   rh   Ú@py_assert11rÔ   Ú@py_assert15rj   rk   rÚ   r  r  r  s                        r   Ú?test_corrected_grid_fabricated_placeholder_never_acquires_a_boxrB  E  s”  € ð "€EÜÐ:¸^ÈUÐ<SÐTÐUÓV€DØ	J€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð �=‰=Ð ˜DÐ ˜DÐ × × × Ò ˆ=× × Ô ˆ9× × Ó ˆ=× × Ó ˜D× × × × × × Õ Ù<ˆq‰6�!‰9Ð<�=‰=Ð<˜EÑ!×< c¨!¡f¨Q¡iÐ<§m¡mÐ<°uÑ&<×<×<×<Õ<ˆ=×<×<Ô<ˆ9×<×<Ó<ˆ=×<×<×<×<×<Ô<˜E×<×<×<Ñ<˜E×<×<×<×<×<×<×<Õ< m°u×<×<Ô< i×<×<Ó< m×<×<×<×<×<Ô<°u×<×<×<Ñ<°u×<×<×<×<×<×<×<×<×<×<×<×<×<×<Ò<rt   c                 ó   • Sn Sn[        SSU 4SU4//5      nSn[        U/ U5      nS Vs/ s H  oTS   U   R                  PM     nnX X/ovU:H  oˆ(       do  [        R                  " S	U4S
Xg45      [        R
                  " U5      [        R
                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=p‡g s  snf )N©r!   r   r5   r'  )r"   r   r&  r'  )r   r(  z12
 34z12
 78z<| Item | 12 | 34 | 12 | 78 |
| --- | --- | --- | --- | --- |r)  r   rD   rF   rG   rJ   rK   rè   )Úbox_aÚbox_brâ   rq   rŒ   r-  rb   rc   rd   re   rf   s              r   Ú;test_span_tiling_keeps_printed_order_for_repeated_fragmentsrG  Q  s¯   € ð "€EØ!€EÜÐ3°iÀÐ5GÈ)ÐUZÐI[Ð\Ð]Ó^€DØ	H€BÜ
   R¨Ó
.€CÙ#/Ó0¢<˜a�‰F�1‰I�MŒM¡<ÐPÐ0°UÀ5Ð4PÐPÐ4PÑP×P×P×PÒPÐ0×P×PÔPÐ0×P×PÓPÐ4P×P×P×P×P×P×PÔPùÒ0s   «Cc                 ó�  • [        SS//5      n Sn[        U/ U 5      nUS   S   o3R                  nS oTUL of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =n=n=peg )N)ÚTotalr(  )z15,637rD  z| Total | 5 |
| --- | --- |r   rN   rV   r7  r‚   r„   r…   rè   ré   s	            r   Ú,test_span_tiling_never_matches_a_single_charrJ  \  sŽ   € ô Ð4Ð6WÐXÐYÓZ€DØ	'€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð �=‰=Ð ˜DÐ ˜DÐ × × × Ò ˆ=× × Ô ˆ9× × Ó ˆ=× × Ó ˜D× × × × × × Ö rt   c                 ó¤  • [        SS/SS/SS/SS//5      n Sn[        U/ U 5      nUS   S	   o3R                  nS
oTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peg )Nr#   )Ú
Additionalrõ   )zPaid-In)r4   ç¤p=
×£À?r5   ç333333Ã?)ÚCapital)r4   r(   r5   ç
×£p=
Ç?©ÚBalancer+   )z$ 3,142,993r3   zM| Item | Additional Paid-In Capital |
| --- | --- |
| Balance | $ 3,142,993 |r   rN   )r4   r   r5   rP  rD   r‡   r‚   r„   r…   rè   ré   s	            r   Ú7test_header_stack_closure_boxes_flattened_column_stacksrS  e  s³   € ô àÐ?Ð@ØÐ<Ð=ØÐ<Ð=Ø/Ð1WÐXð		
ó€Dð 
[€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð2�=‰=Ð2Ð2Ð2Ð2Ñ2×2×2×2Ò2ˆ=×2×2Ô2ˆ9×2×2Ó2ˆ=×2×2Ó2Ð2×2×2×2×2×2×2Ö2rt   c                 ó,  • Sn [        SSU 4S// SQ/ SQ/5      nSn[        U/ U5      n/ oCS   S   oUR                  ofU :H  owo‡(       a  US   S	   o™R                  oªU :H  o»nU(       Gdž  [        R                  " S
U4SX`45      [        R
                  " U5      [        R
                  " U5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R
                  " U 5      OSS.-  nSSU0-  oÔR                  U5        U(       a¬  [        R                  " S
W4SW
U 45      [        R
                  " W	5      [        R
                  " U
5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R
                  " U 5      OSS.-  nSSU0-  oôR                  U5        [        R                  " US5      0 -  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=n	=p«g )Nr    r#   zCommon Stock)r#   )ÚShares©r!   rM  r4   rN  )ÚDollars)r5   rM  r"   rN  )rQ  )z670,378,701rî   ©z$ 6,704rï   zz| Item | Common Stock | Common Stock |
| --- | --- | --- |
| Item | Shares | Dollars |
| Balance | 670,378,701 | $ 6,704 |r   rN   rM   rD   r8  Úlabelr9  r:  rS   r;  r<  r=  r  r>  r?  ©r   r   r   rY   rZ   r[   r^   r_   r`   rÏ   rÑ   r\   r]   )rY  râ   rq   rŒ   rg   rd   rŽ   rh   rb   r@  rÔ   rA  rj   rk   rÚ   r  r  r  s                     r   ÚAtest_header_stack_closure_span_label_serves_every_column_it_spansr[  u  sG  € ð #€EÜà˜.¨%Ð0°*Ð=Úaòð	
ó
€Dð	Kð ô !  R¨Ó
.€CÙ<ˆq‰6�!‰9Ð<�=‰=Ð<˜EÑ!×< c¨!¡f¨Q¡iÐ<§m¡mÐ<°uÑ&<×<×<×<Õ<ˆ=×<×<Ô<ˆ9×<×<Ó<ˆ=×<×<×<×<×<Ô<˜E×<×<×<Ñ<˜E×<×<×<×<×<×<×<Ô< m°u×<×<Ô< i×<×<Ó< m×<×<×<×<×<Ô<°u×<×<×<Ñ<°u×<×<×<×<×<×<×<×<×<×<×<×<×<×<Ñ<rt   c                 ó  • Su  pSu  p#[        SSU 4SU4/SSU4SU4// SQ/5      nSn[        U/ U5      nUS   S	   owR                  nS
o˜U	:H  oª(       d„  [        R                  " SU
4SX‰45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U	5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=p©US   S   owR                  nSo˜U	:H  oª(       d„  [        R                  " SU
4SX‰45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U	5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=p©g )N)©r!   r   r4   r   rV  ))r"   r   r"  r   )r"   rM  r"  rN  r#   z% ofr*   ))ÚGrossr+   )z12.1%rî   )z7.7%r!  zS| Item | % of Revenue | % of Revenue |
| --- | --- | --- |
| Gross | 12.1% | 7.7% |r   rN   )r!   r   r4   rN  rD   r‡   r‚   r„   r…   rM   )r"   r   r"  rN  rè   )Úa1Úa2Úb1Úb2râ   rq   rŒ   rb   rd   ri   rŽ   rf   r�   s                r   Ú?test_header_stack_closure_pairs_repeated_bands_in_reading_orderrc  Œ  s,  € ð <�F€BØ;�F€BÜà˜& "˜¨° |Ð4Ø˜) R˜¨9°b¨/Ð:òð	
ó
€Dð 
a€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð2�=‰=Ð2Ð2Ð2Ð2Ñ2×2×2×2Ò2ˆ=×2×2Ô2ˆ9×2×2Ó2ˆ=×2×2Ó2Ð2×2×2×2×2×2×2Õ2Øˆq‰6�!‰9Ð2�=‰=Ð2Ð2Ð2Ð2Ñ2×2×2×2Ò2ˆ=×2×2Ô2ˆ9×2×2Ó2ˆ=×2×2Ó2Ð2×2×2×2×2×2×2Ö2rt   c                 ó�  • Sn [        SSU 4S// SQ/ SQ/5      nSn[        SSS	S/S
/S9/n[        X1U5      nUS   oUR                  nSovU:H  oˆ(       d„  [        R
                  " SU4SXg45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=n=p‡[        X$U5      nUS   S	   oUR                  ofU :H  oˆ(       dº  [        R
                  " SU4SX`45      [        R                  " U5      [        R                  " U5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OSS.-  nSSU0-  n[        [        R                  " U5      5      eS =n=phg )N)r5   r   r"   r   r#   ÚTreasury)rI  )r"  r   r&  r   )rQ  rX  )z$ 1,614)r"  r   r&  r,   ))zTreasury stock©r   r8   r8   r9   )z(1,791))r5   r8   r"   r9   )z(1,342))r"  r8   r&  r9   zv| Item | Treasury | Total |
| --- | --- | --- |
| Balance | $ 6,704 | $ 1,614 |
| Treasury stock | (1,791) | (1,342) |r   rN   ÚA3ry   r™   rD   r”   r‚   r„   r…   ©z+%(py3)s
{%(py3)s = %(py1)s.box
} == %(py5)sÚ
header_box©rH   rƒ   rª   r«   rQ   )r   r   r   r‰   rY   rZ   r[   r\   r]   r   r   r^   r_   r`   )ri  râ   rq   r‹   Úmergedrb   rd   ri   rŽ   rf   r�   rŒ   r¬   rj   s                 r   Ú8test_header_merge_citing_a_data_region_source_is_refusedrl  ¢  sJ  € ð (€JÜà˜* jÐ1Ð3TÐUòò
ð	
ó€Dð 	Rð ô ˜z¨q°aÀ*ÀÐ]aÐ\bÑcÐd€FÜ˜F¨"Ó-€FØ�!‰9Ð*× Ñ Ð* FÐ* FÑ*×*×*×*Ò*Ð ×*×*Ô*ˆ9×*×*Ó*Ð ×*×*Ó* F×*×*×*×*×*×*Õ*Ü
  ¨TÓ
2€CØˆq‰6�!‰9Ð&�=‰=Ð&˜JÑ&×&×&×&Ò&ˆ=×&×&Ô&ˆ9×&×&Ó&ˆ=×&×&×&×&×&Ô&˜J×&×&×&Ñ&˜J×&×&×&×&×&×&Ö&rt   c                 óJ  • Sn [        SSU 4/SS/SS//5      nSn[        U/ U5      n/ oCS   S   oUR                  ofU :H  owo‡(       a  US   S	   o™R                  oªU :H  o»nU(       Gdž  [        R                  " S
U4SX`45      [        R
                  " U5      [        R
                  " U5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R
                  " U 5      OSS.-  nSSU0-  oÔR                  U5        U(       a¬  [        R                  " S
W4SW
U 45      [        R
                  " W	5      [        R
                  " U
5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R
                  " U 5      OSS.-  nSSU0-  oôR                  U5        [        R                  " US5      0 -  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=n	=p«/ oCS   S   oUR                  nSnUU:H  owo‡(       a  US   S   nUR                  nSnUU:H  nUnU(       Gd5  [        R                  " S
U4SUU45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  nUR                  U5        U(       aw  [        R                  " S
W4SWW45      [        R
                  " W5      [        R
                  " U5      [        R
                  " U5      S.-  nS S!U0-  nUR                  U5        [        R                  " US5      0 -  nS"S#U0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=n=n=n=nng )$N)r!   r   r&  r,   )úInterest costrì   z1,235
 1,177r#   ©rn  )r   r4   r8   ç¤p=
×£à?©z95
 91©r!   r4   r&  rp  zp| Item | 2022 | 2021 | 2022 | 2021 |
| --- | --- | --- | --- | --- |
| Interest cost | 1,235 | 1,177 | 95 | 91 |rN   rM   rD   r8  Úusr9  r:  rS   r;  r<  r=  r  r   r>  r?  ro   rr  r  )z+%(py5)s
{%(py5)s = %(py3)s.box
} == %(py8)srü   rý   rþ   )z/%(py15)s
{%(py15)s = %(py13)s.box
} == %(py18)srÿ   r  r  r  r  rZ  )rs  râ   rq   rŒ   rg   rd   rŽ   rh   rb   r@  rÔ   rA  rj   rk   rÚ   r  r  r  r  rÕ   r	  r
  r  r�   r  r  r  s                              r   Ú7test_unpaired_row_closure_boxes_a_cross_section_rebuildrt  Á  s4  € ð 
€BÜà5¸ÈÐ7LÐMØ˜Ð$Ø5Ð7YÐZð	
ó€Dð 
~€BÜ
   R¨Ó
.€Cñ 7ˆq‰6�!‰9Ð6�=‰=Ð6˜BÑ×6 3 q¡6¨!¡9Ð6§=¡=Ð6°BÑ#6×6×6×6Õ6ˆ=×6×6Ô6ˆ9×6×6Ó6ˆ=×6×6×6×6×6Ô6˜B×6×6×6Ñ6˜B×6×6×6×6×6×6×6Ô6 =°B×6×6Ô6 9×6×6Ó6 =×6×6×6×6×6Ô6°B×6×6×6Ñ6°B×6×6×6×6×6×6×6×6×6×6×6×6×6×6Ð6Ù\ˆq‰6�!‰9Ð\�=‰=Ð\Ð1Ð\ˆ=Ð1Ñ1×\°c¸!±f¸Q±iÐ\°i·m±mÐ\ÐG\Ð\°mÐG\Ñ6\×\×\×\Ö\ˆ=Ð1×\×\Ô\ˆ9×\×\Ó\ˆ=×\×\Ó\Ð1×\×\×\×\×\×\×\Ó\°mÐG\×\×\Ô\°i×\×\Ó\°m×\×\Ó\ÐG\×\×\×\×\×\×\×\×\×\×\×\×\×\×\Õ\rt   c                 óè  • [        SS/SS//5      n Sn[        U/ U 5      nUS   S   o3R                  nS oTULof(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S   o3R                  nS oTUL of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=n=peg )Nro  rq  )ÚOther)r   r5   r8   ç×£p=
×ã?)z1,235)r!   r5   r&  rw  zI| Interest cost | 95 | 91 |
| --- | --- | --- |
| Other | 1,235 | 9,999 |rN   rú   ©z/%(py3)s
{%(py3)s = %(py1)s.box
} is not %(py6)sr‚   r„   r…   rM   rV   r7  rè   ré   s	            r   Ú+test_unpaired_row_closure_is_all_or_nothingry  Õ  s  € ô à5Ð7YÐZØ-Ð/OÐPð	
ó€Dð 
W€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð$�=‰=Ð$ Ð$ Ð$×$×$×$Ò$ˆ=×$×$Ô$ˆ9×$×$Ó$ˆ=×$×$Ó$ ×$×$×$×$×$×$Õ$Øˆq‰6�!‰9Ð �=‰=Ð ˜DÐ ˜DÐ × × × Ò ˆ=× × Ô ˆ9× × Ó ˆ=× × Ó ˜D× × × × × × Ö rt   c                 óx  • Sn [        SS/SS/SS//5      n[        SS	S	S
S/SS/S9/n[        X!U 5      nUS   oDR                  nS oeULow(       d„  [        R
                  " SU4SXV45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=n=pv[        XU5      n
U
S	   S	   oDR                  nSoeU:H  ow(       d„  [        R
                  " SU4SXV45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=n=pvU
S   S	   oDR                  nSoeU:H  ow(       d„  [        R
                  " SU4SXV45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=n=pvg )NzE| Item | 2022 |
| --- | --- |
| Revenue | 1,637 |
| Total | $ 9,999 |r   ©rn   r]  r)   ©r2   rî   )rI  r7   )z$
9,999©r!   r8   r4   r9   z$ 9,999rN   r.   z9,999rL   ry   r   rú   rx  r‚   r„   r…   rî   rD   r‡   rM   r}  )
r   r   r   r   rY   rZ   r[   r\   r]   r   )rq   râ   r‹   rk  rb   rd   ri   rŽ   rf   r�   rŒ   s              r   Ú4test_mispositioned_merge_report_never_plants_its_boxr~  ä  s™  € ð
 
T€BÜà,Ð.MÐNØ/Ð1QÐRØ-Ð/RÐSð	
ó€Dô ˜y¨a°QÀÀgÀÐ^bÐdhÐ]iÑjÐk€FÜ˜F¨"Ó-€FØ�!‰9Ð$�=‰=Ð$ Ð$ Ð$×$×$×$Ò$ˆ=×$×$Ô$ˆ9×$×$Ó$ˆ=×$×$Ó$ ×$×$×$×$×$×$Õ$Ü
  ¨TÓ
2€CØˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Ö1rt   c                 ón  • [        SS// SQ/5      n Sn[        SSSSS/S	S
/S9/n[        X U5      nUS   oDR                  nSoeU:H  ow(       d„  [        R
                  " SU4SXV45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=n=pvUS   oDR                  nSoeU:H  ow(       d„  [        R
                  " SU4SXV45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=n=pv[        XU 5      n
U
S   S   oDR                  nSoeU:H  ow(       d„  [        R
                  " SU4SXV45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=n=pvg )Nr   r{  )r)   r-   )ú7,818r3   z3| Item | 2022 |
| --- | --- |
| Revenue | $ 7,818 |z$ 7,818rN   r.   r€  rx   ÚC9ry   r   r“   rD   r”   r‚   r„   r…   r/   r‡   rá   )r   r   r   r‰   rY   rZ   r[   r\   r]   r   r   )râ   rq   r‹   rk  rb   rd   ri   rŽ   rf   r�   rŒ   s              r   Ú=test_partially_grounded_merge_never_plants_its_shrunken_unionr‚  ù  sŒ  € ô à,Ð.MÐNòð	
ó	€Dð 
A€Bä˜y¨a°QÀÀgÀÐ^bÐdhÐ]iÑjÐk€FÜ˜F¨"Ó-€FØ�!‰9Ð-× Ñ Ð- IÐ- IÑ-×-×-×-Ò-Ð ×-×-Ô-ˆ9×-×-Ó-Ð ×-×-Ó- I×-×-×-×-×-×-Õ-Ø�!‰9Ð2�=‰=Ð2Ð2Ð2Ð2Ñ2×2×2×2Ò2ˆ=×2×2Ô2ˆ9×2×2Ó2ˆ=×2×2Ó2Ð2×2×2×2×2×2×2Õ2Ü
  ¨TÓ
2€CØˆq‰6�!‰9Ð1�=‰=Ð1Ð1Ð1Ð1Ñ1×1×1×1Ò1ˆ=×1×1Ô1ˆ9×1×1Ó1ˆ=×1×1Ó1Ð1×1×1×1×1×1×1Ö1rt   c                 ó–  ^• Sm[        SST4SS// SQ/5      n S Vs/ s H  n[        SSUS/S/S	9PM     nn[        X 5      nU Vs/ s H  oDR                  PM     nnS
/nSovU-  o…U:H  o™(       d„  [        R
                  " SU	4SXX45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=n	=n=pxU4S jU 5       n[        U5      of(       d¢  SS[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " U5      [        R                  " U5      S.-  n[        [        R                  " U5      5      eS =pÆg s  snf s  snf )N)r8   r'   r"  r(   )ÚMetricr   zGAAP Resultsr#   )r)   )r2   )r8   r   r!   r,   )z(12)r3   )z1,625r!  r2  rN   rw   ry   r€   ro   rD   r*  r+  rR   rS   c              3  ó@   >#   • U  H  oR                   T:H  v •  M     g 7fr›   rœ   )r�   r�   Úbands     €r   rž   ÚKtest_single_source_merge_grounds_a_replicated_band_label.<locals>.<genexpr>&  s   øé € Ð*¢c �u‰u˜Ž}¢cùs   ƒr    r¡   r¢   )r   r   r   r‰   rY   rZ   r[   r\   r]   r¡   r^   r_   r`   )râ   r-  r‹   rŒ   r�   rb   rc   ri   r  rd   rj   rk   rg   re   r†  s                 @r   Ú8test_single_source_merge_grounds_a_replicated_band_labelrˆ    sZ  ø€ ð "€DÜà.°ÀÐ0FÈ
ÐT^Ð_òð	
ó
€Dñ óâˆAô 	˜¨Q°AÀÐ?OÐ_cÐ^dÔeÙð ð ô ˜Ó
&€CÙ#&Ó'¢3˜a�MŒM¡3Ð?Ð'¨NÐ+;Ð?¸aÐ?¸aÑ+?Ð?Ð+?Ñ?×?×?×?Ò?Ð'×?×?Ô?Ð'×?×?Ó?Ð+;×?×?Ó?¸a×?×?×?×?×?×?×?Ü*¡cÓ*Ð*Œ3Ð*Ó*Ð*Õ*×*×*×*×*×*Ñ*Œ3×*×*×*Ñ*Œ3×*×*Õ*Ð*×*×*Ó*Ð*×*×*×*×*×*Ó*ùòùò
 (s   �GÁGc                 óÌ  • Sn Sn[        SS/SU 4S/SU4S//5      nS	n[        U/ US
S/S9nUS   S   oUR                  ofU :H  ow(       dº  [        R                  " SU4SX`45      [        R
                  " U5      [        R
                  " U5      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R
                  " U 5      OSS.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=pgUS   S   oUR                  ofU:H  ow(       dº  [        R                  " SU4SXa45      [        R
                  " U5      [        R
                  " U5      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R
                  " U5      OSS.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=pgg )Nrì   rf  r   r{  ú!Transaction and integration costsr|  zShare-based compensation)r:   r}  zt| Item | 2022 |
| --- | --- |
| Transaction and integration costs(1) | 1,637 |
| Share-based compensation* | 1,592 |Ú1Ú*©Úfootnote_refsrN   r   rD   rh  rY  rj  r«   rQ   rM   Ústarred)r   r   r   rY   rZ   r[   r^   r_   r`   r\   r]   )
rY  r�  râ   rq   rŒ   rb   rd   rŽ   r¬   rj   s
             r   ÚBtest_marker_extended_label_closes_by_stripping_a_catalogued_markerr�  )  sL  € ð
 "€EØ#€GÜà,Ð.MÐNØ1°5Ð9Ð;[Ð\Ø(¨'Ð2Ð4TÐUð	
ó€Dð	0ð ô
 !  R¨¸cÀ3¸ZÑ
H€CØˆq‰6�!‰9Ð!�=‰=Ð!˜EÑ!×!×!×!Ò!ˆ=×!×!Ô!ˆ9×!×!Ó!ˆ=×!×!×!×!×!Ô!˜E×!×!×!Ñ!˜E×!×!×!×!×!×!Õ!Øˆq‰6�!‰9Ð#�=‰=Ð#˜GÑ#×#×#×#Ò#ˆ=×#×#Ô#ˆ9×#×#Ó#ˆ=×#×#×#×#×#Ô#˜G×#×#×#Ñ#˜G×#×#×#×#×#×#Ö#rt   c                 ó  • [        SS/SS//5      n Sn[        U/ U 5      nUS   S   o3R                  nS oTUL of(       d„  [        R                  " SU4S	XE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peSn	[        U	/ U S/S9n
U
S   S   o3R                  nS oTUL of(       d„  [        R                  " SU4S	XE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peg )Nr   r{  )rŠ  rì   r|  zN| Item | 2022 |
| --- | --- |
| Transaction and integration costs(1) | 1,637 |rN   r   rV   r7  r‚   r„   r…   zA| Item | 2022 |
| --- | --- |
| Integration expenses(1) | 1,637 |r‹  r�  rè   )râ   rq   rŒ   rb   rd   ri   rŽ   rf   r�   Úmd2Úout2s              r   ÚAtest_marker_strip_is_grounded_in_the_catalogued_refs_and_the_gridr”  A  s  € Üà,Ð.MÐNØIÐKkÐlð	
ó€Dð 
\€Bä
   R¨Ó
.€CØˆq‰6�!‰9Ð �=‰=Ð ˜DÐ ˜DÐ × × × Ò ˆ=× × Ô ˆ9× × Ó ˆ=× × Ó ˜D× × × × × × Õ à
O€CÜ! # r¨4À¸uÑE€DØ�‰7�1‰:Ð!�>‰>Ð!˜TÐ!˜TÐ!×!×!×!Ò!ˆ>×!×!Ô!ˆ:×!×!Ó!ˆ>×!×!Ó!˜T×!×!×!×!×!×!Ö!rt   c                 ó–  • [        SS/SS//5      n Sn[        U/ U S/S9nUS   S	   o3R                  nS oTUL of(       d„  [        R                  " S
U4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peg )Nr   r{  )rv  rì   r|  z@| Item | 2022 |
| --- | --- |
| Other | 1,637 |
| (84) | 1,637 |Ú84r�  rM   r   rV   r7  r‚   r„   r…   rè   ré   s	            r   Ú;test_parenthesized_value_is_never_consumed_as_a_bare_markerr—  R  s¢   € ô à,Ð.MÐNØ-Ð/OÐPð	
ó€Dð 
O€BÜ
   R¨¸d¸VÑ
D€CØˆq‰6�!‰9Ð �=‰=Ð ˜DÐ ˜DÐ × × × Ò ˆ=× × Ô ˆ9× × Ó ˆ=× × Ó ˜D× × × × × × Ö rt   c                 óæ
  • [        SS/SS/SS//5      n Sn[        U/ U SS9nUS	   S
   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS	   S	   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS
   S	   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S	   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S
   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S	   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS
   S
   o3R                  nS oTUL of(       d„  [        R                  " SU4SXE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peg )Nr#   r{  )zDeferred incomer+   )ú1,637 2,291rá   )ztaxes payable)r   r0  r   gHáz®GÑ?zœ| Item | 2022 | 2021 |
| --- | --- | --- |
| Three Months Ended March 31, 2023 | | |
| Deferred income taxes payable | 1,637 | 2,291 |
| Total | $ | 9,999 |z!Three Months Ended March 31, 2023)Úregion_textr   rN   Ú
reconciledrD   ©z.%(py3)s
{%(py3)s = %(py1)s.status
} == %(py6)sr‚   r„   r…   Úheader_label_addedÚheader_printed_unlocatedrM   Úlabel_printed_unlocatedro   Úsingle_characterÚtotal_label_addedÚ
unverifiedrV   )z.%(py3)s
{%(py3)s = %(py1)s.status
} is %(py6)s©r   r   ÚstatusrY   rZ   r[   r\   r]   ré   s	            r   Ú'test_classifier_names_every_kind_of_gapr¥  `  s‘  € ô
 àÐ8Ð9Ø7Ð9_Ð`Ø6¸
ÐCð	
ó€Dð	 ð ô !  R¨Ð;^Ñ
_€CØˆq‰6�!‰9Ð+×ÑÐ+˜|Ð+˜|Ñ+×+×+×+Ò+Ð×+×+Ô+ˆ9×+×+Ó+Ð×+×+Ó+˜|×+×+×+×+×+×+Õ+àˆq‰6�!‰9Ð3×ÑÐ3Ð3Ð3Ð3Ñ3×3×3×3Ò3Ð×3×3Ô3ˆ9×3×3Ó3Ð×3×3Ó3Ð3×3×3×3×3×3×3Õ3àˆq‰6�!‰9Ð9×ÑÐ9Ð9Ð9Ð9Ñ9×9×9×9Ò9Ð×9×9Ô9ˆ9×9×9Ó9Ð×9×9Ó9Ð9×9×9×9×9×9×9Õ9àˆq‰6�!‰9Ð8×ÑÐ8Ð8Ð8Ð8Ñ8×8×8×8Ò8Ð×8×8Ô8ˆ9×8×8Ó8Ð×8×8Ó8Ð8×8×8×8×8×8×8Õ8Øˆq‰6�!‰9Ð1×ÑÐ1Ð1Ð1Ð1Ñ1×1×1×1Ò1Ð×1×1Ô1ˆ9×1×1Ó1Ð×1×1Ó1Ð1×1×1×1×1×1×1Õ1Øˆq‰6�!‰9Ð2×ÑÐ2Ð2Ð2Ð2Ñ2×2×2×2Ò2Ð×2×2Ô2ˆ9×2×2Ó2Ð×2×2Ó2Ð2×2×2×2×2×2×2Õ2Øˆq‰6�!‰9Ð+×ÑÐ+˜|Ð+˜|Ñ+×+×+×+Ò+Ð×+×+Ô+ˆ9×+×+Ó+Ð×+×+Ó+˜|×+×+×+×+×+×+Õ+àˆq‰6�!‰9Ð#×ÑÐ#˜tÐ#˜tÐ#×#×#×#Ò#Ð×#×#Ô#ˆ9×#×#Ó#Ð×#×#Ó#˜t×#×#×#×#×#×#Ö#rt   c                 ó
  • SS K n SSKJn  U Vs1 s H  o"R                  iM     nn1 SkoCU:H  oU(       do  [        R
                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTU Vs/ s H!  o"R                  (       d  M  UR                  PM#     nn/ S	QoCU:H  oU(       do  [        R
                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pTU Vs/ s H!  o"R                  (       d  M  UR                  PM#     nn/ S
QoXU:H  o™(       d¥  [        R
                  " SU	4SX…45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =p•U R                  [        5         [!        SSS9  S S S 5        g s  snf s  snf s  snf ! , (       d  f       g = f)Nr   )ÚCELL_STATUS_REFERENCE>   Údefectr›  r¢  Úvalue_misreadr   r¡  r�  Úvalue_unreconciledÚfootnote_unresolvedÚheader_text_droppedÚfootnote_unreferencedrŸ  Úfootnote_marker_unplacedrž  rD   rF   rG   rJ   rK   )	r¡  r�  r¢  r¨  r«  r®  r¬  r©  rª  )r‹  z2 and 3rU   Ú5Ú6Ú4)z%(py0)s == %(py3)sÚby_case)rO   rƒ   zassert %(py5)srª   ÚxÚmystery)r   r¤  )ÚpytestÚquber.core.extractors.baser§  ÚcoderY   rZ   r[   r\   r]   ÚinspectÚcasesr^   r_   r`   ÚraisesÚ
ValueErrorr   )rµ  r§  Úsrb   rc   rd   re   rf   r²  rg   Ú@py_format4r¬   s               r   Ú(test_status_codes_come_from_the_registryr¾  �  sö  € ó å@á1Ó2Ò1�q�FŒFÑ1ð Ð2ò 7ð ð 7ñ ÷ ó ïé ôÐ2÷ ñ ïé ðÐ2÷ ð ïé ðð 7÷ ÷ ÷ ñ ïé ÷÷ ñ  2Ó?Ò1�q·YµY‹FˆA�FŒFÑ1ð 
Ð?ò 
Dð 
ð 
Dñ 
÷ 
ó 
ïé ô
Ð?÷ 
ñ 
ïé ð
Ð?÷ 
ð 
ïé ð
ð 
D÷ 
÷ 
÷ 
ñ 
ïé ÷
÷ 
ñ !6ÓAÒ 5˜1¿½‹wˆq�wŒwÑ 5€GÐAÚ:Ð:Ð:Ñ:×:×:×:Ò:ˆ7×:×:×:×:×:Õ:ˆ7×:×:×:Ñ:ˆ7×:×:Õ:Ð:×:×:×:×:×:×:Ñ:Ø	�‰”zÕ	"Ü˜# iÒ0÷ 
#Ð	"ùò= 3ùò  @ùò Bç	"Õ	"ús)   �I%Â,I*ÃI*ÅI/Å4I/ÉI4É4
Jc                 ó˜  • [        SS/SS//5      n Sn[        U/ U 5      nUS   S   o3R                  nSoTU:H  of(       d„  [        R                  " SU4S	XE45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peg )N)zRevenue Netr   )z	Sales taxr]  )r   r+   )r™  rî   z2| NetSales | 2022 |
| --- | --- |
| Item | 1,637 |r   r¢  rD   rœ  r‚   r„   r…   r£  ré   s	            r   Ú;test_classifier_never_matches_a_token_across_two_cells_seamrÀ  ª  s¢   € ô à3Ð5YÐZØ,Ð.TÐUð	
ó€Dð 
@€BÜ
   R¨Ó
.€CØˆq‰6�!‰9Ð+×ÑÐ+˜|Ð+˜|Ñ+×+×+×+Ò+Ð×+×+Ô+ˆ9×+×+Ó+Ð×+×+Ó+˜|×+×+×+×+×+×+Ö+rt   c            
     óÈ  • SSK Jn   [        / SQ/ SQ/ SQ/5      nSn[        U/ U5      nSnSoP" X1XE5      nS	/ovU:H  oˆ(       Gdz  [        R
                  " S
U4SXg45      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OSS[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OSS[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=n=n=p‡SnSoP" X1XE5      n/ ovU:H  oˆ(       Gdz  [        R
                  " S
U4SXg45      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OSS[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OSS[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  n	SSU	0-  n
[        [        R                  " U
5      5      eS =n=n=n=p‡g )Nr   )Úfind_dropped_header_text)r#   )úCoverage Data)r!   r   r"  r   r#   ))r   )r   r'   r   r(   )zBefore Fees)r!   r'   r5   r(   )z
After Fees)çÍÌÌÌÌÌä?r'   r"  r(   ))zTwelve monthsr+   )z1.37xrá   )z1.04x)rÄ  r   r"  r,   zY| Item | Before Fees | After Fees |
| --- | --- | --- |
| Twelve months | 1.37x | 1.04x |r$   r¦   rÃ  rD   )zL%(py8)s
{%(py8)s = %(py0)s(%(py1)s, %(py2)s, %(py4)s, %(py6)s)
} == %(py11)srÂ  rŒ   râ   )rO   rH   rP   rI   rK   r…   rÅ   zassert %(py13)sr   zCoverage Data (in millions))Ú1quber.core.extractors.set_of_mark.merge_groundingrÂ  r   r   rY   rZ   r^   r_   r`   r[   r\   r]   )rÂ  râ   rq   rŒ   rc   ri   r  rÓ   r  Ú@py_format12Ú@py_format14s              r   Ú1test_dropped_header_text_is_returned_for_flaggingrÈ  ¸  sý  € õ
 [äâNòò
ð	
ó€Dð 
g€BÜ
   R¨Ó
.€CØ/1ÐJ°1ÐJÐ# C¨rÓ5ÐJ¸/Ð9JÐJÐ9JÑJ×J×J×JÓJÐ5×J×J×J×J×JÕJÐ#×J×J×JÑJÐ#×J×J×J×J×JÖJ C×J×J×JÑJ C×J×J×J×J×JÖJ¨×J×J×JÑJ¨×J×JÕJ¨r×J×JÓJ°1×J×JÓJÐ5×J×JÓJÐ9J×J×J×J×J×J×J×JØ/LÐVÈaÐVÐ# CÐ/LÓPÐVÐTVÐVÐTVÑV×V×V×VÓVÐP×V×V×V×V×VÕVÐ#×V×V×VÑVÐ#×V×V×V×V×VÖV C×V×V×VÑV C×V×V×V×V×VÖV¨×V×V×VÑV¨×V×VÕVÐ/L×V×VÓVÈa×V×VÓVÐP×V×VÓVÐTV×V×V×V×V×V×V×VÐVrt   c                 ó†  • SSK Jn Jn  U " SSSSS[        SS	S
S9[        SSSS9[        SSSS9[        SSSS9//S/S9nU" U/5      nU Vs/ s H  oDR                  UR
                  4PM     nn/ SQoeU:H  ow(       do  [        R                  " SU4SXV45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=pvUS   R                  US   R                  US   R                  4nSoeU:H  ow(       do  [        R                  " SU4SXV45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=pvUS   nUR                  UR                  UR                  UR                   UR                  UR                  4nS oeU:H  ow(       do  [        R                  " SU4SXV45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=pvUR"                  n
S
oºU:H  of(       dº  [        R                  " SU4S!X«45      S"[$        R&                  " 5       ;   d  [        R(                  " U5      (       a  [        R                  " U5      OS"[        R                  " U
5      [        R                  " U5      S#.-  nS$S%U0-  n[        [        R                  " U5      5      eS =n
=pkg s  snf )&Nr   )ÚExtractedTableÚ
cell_flagsú	doc-p9-t1Ú	Occupancyz| a |r¦   údoc.pdfÚPeriodr¨  zpage shows other headers)r   r¤  ÚnoterI  r¡  zblank totals rowz76.2 %)r   r   r   r   r›  )r   r   r¤  ÚCoveragerž  zprinted bandúAttachment 1)Útable_idÚtitleÚmarkdownr¸   ÚsourceÚcorrected_gridÚdropped_text))r¨  rÏ  )r¡  rI  )r¬  rÒ  rD   rF   rG   rJ   rK   rM   )NNr¦   )rÎ  r¦   rÌ  rÍ  r   r   )z,%(py2)s
{%(py2)s = %(py0)s.note
} == %(py5)sÚfr©   r«   rQ   )r¶  rÊ  rË  r   r¤  r   rY   rZ   r[   r\   r]   r   r{   r¸   rÖ  rÓ  rÔ  rÐ  r^   r_   r`   )rÊ  rË  r   ÚflagsrÙ  rb   rc   rd   re   rf   rg   rŽ   r¬   rj   s                 r   Ú?test_cell_flags_collect_inspect_statuses_with_document_identityrÛ  Ô  s«  € ßEáØØØØØô  (°8ÐB\Ñ]Ü 'Ð2EÐL^Ñ_Ü (Ð0DÈ\ÑZÜ *Ð5OÐVdÑeð	ð
ð %Ð%ñ	€Añ  ˜�s‹O€Eñ ).Ó.ª 1�X‰X�q—v‘vÓ©ð Ð.ò 3ð ð 3ñ ÷ ó ïé ô	Ð.÷ ñ ïé ð	Ð.÷ ð ïé ð	ð 3÷ ÷ ÷ ñ ïé ÷	÷ ð
 �!‰H�L‰L˜% ™(Ÿ,™,¨¨a©¯©Ð6ÐI¸/ÐI¸/ÑI×I×I×IÒIÐ6×I×IÔIÐ6×I×IÓI¸/×I×I×I×I×I×IÓIØˆa‰€AØ�H‰H�a—f‘f˜aŸj™j¨!¯'©'°1·5±5¸!¿%¹%Ð@ð ð Eð ð Eñ ÷ ó ïé ôÐ@÷ ñ ïé ðÐ@÷ ð ïé ðð E÷ ÷ ÷ ñ ïé ÷÷ ð �6‰6Ð/Ð/Ð/Ð/Ñ/×/×/×/Ò/ˆ6×/×/×/×/×/Õ/ˆ1×/×/×/Ñ/ˆ1×/×/Õ/ˆ6×/×/Ó/Ð/×/×/×/×/×/×/Ô/ùò /s   Á!L>c                 óü  • [        S/S//5      n [        SSSSS/SS	/S
9/n[        X5      nUS   o3R                  nSoTU:H  of(       d„  [        R
                  " SU4SXE45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peUS   o3R                  nSS/oTU:H  of(       d„  [        R
                  " SU4SXE45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=peg )N)z% of April 30,©r!   r   r4   r'   )z
Total 2022©r!   r(   r4   r   z!Three Months Ended April 30, 2022r   rN   z	April 30,rn   ÚA1ÚA2ry   r€   rD   r”   r‚   r„   r…   rÝ  rÞ  r�   )
r   r   r   r‰   rY   rZ   r[   r\   r]   rŠ   )	râ   r‹   rŒ   rb   rd   ri   rŽ   rf   r�   s	            r   Ú6test_camelot_glued_cell_validates_by_piece_containmentrá  ü  s#  € ô à6Ð7Ø3Ð4ð	
ó€Dô 	Ø6ØØØ  &Ð)Ø ˜ñ	
ð€Fô ˜Ó
&€CØˆq‰6Ð/×ÑÐ/ Ð/ Ñ/×/×/×/Ò/Ð×/×/Ô/ˆ6×/×/Ó/Ð×/×/Ó/ ×/×/×/×/×/×/Õ/Øˆq‰6ÐQ×ÑÐQÐ#8Ð:PÐ"QÐQÐ"QÑQ×Q×Q×QÒQÐ×Q×QÔQˆ6×Q×QÓQÐ×Q×QÓQÐ"Q×Q×Q×Q×Q×Q×QÖQrt   Ú
)z| | Pension | Health Care |ú|---|---|---|z| Service cost | 280 | 60 |z*| Benefit obligation(3) | 21,400 | 4,100 |c                 ó®  • [        SSS9/n [        U S/[        5      nU Vs/ s H%  o"R                  UR                  UR
                  4PM'     nnS/oCU:H  oU(       do  [        R                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nSS	U0-  n[        [        R                  " U5      5      eS =n=pTg s  snf )
Nú(3)úBenefit obligation(3)©ÚmarkerÚ	cell_text©rå  rM   r   rD   rF   rG   rJ   rK   ©r   r
   ÚMARKER_MARKDOWNrè  r   r{   rY   rZ   r[   r\   r]   ©ÚmarksrŒ   r�   rb   rc   rd   re   rf   s           r   Ú3test_locate_markers_quote_places_at_the_quoted_cellrï     s’   € Ü Ð2IÑJÐK€EÜ
˜  ¬Ó
9€CÙ.1Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cÐEÐ2°}°oÐE°oÑE×E×E×EÒEÐ2×E×EÔEÐ2×E×EÓE°o×E×E×E×E×E×EÔEùÒ2ó   ¢,Cc                 ó®  • [        SSS9/n [        U S/[        5      nU Vs/ s H%  o"R                  UR                  UR
                  4PM'     nnS/oCU:H  oU(       do  [        R                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nSS	U0-  n[        [        R                  " U5      5      eS =n=pTg s  snf )
Nú(2)zService cost(2)rç  )rò  rN   r   rD   rF   rG   rJ   rK   rë  rí  s           r   Ú6test_locate_markers_marker_stripped_quote_still_placesró  &  s”   € ô  Ð2CÑDÐE€EÜ
˜  ¬Ó
9€CÙ.1Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cÐEÐ2°}°oÐE°oÑE×E×E×EÒEÐ2×E×EÔEÐ2×E×EÓE°o×E×E×E×E×E×EÔEùÒ2rð  c                 óð  • SR                  / SQ5      n [        SSS9[        SSS9[        SSS9/n[        U/ U 5      nU Vs/ s H%  o3R                  UR                  UR
                  4PM'     nn/ SQoTU:H  of(       do  [        R                  " S	U4S
XE45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=peg s  snf )Nrâ  )ú
| | 2022 |ú	|---|---|u;   | Net write-off rate â€” principal and fees(e)(f) | 1.3 % |z@| 90+ days past billing as a % of total(e) - corporate | 0.5 % |ú(e)u/   Net write-off rate â€” principal and fees(e)(f)rç  z490+ days past billing as a % of total(e) - corporateú(f)))r÷  rN   r   )r÷  rM   r   )rø  rN   r   rD   rF   rG   rJ   rK   ©Újoinr   r
   rè  r   r{   rY   rZ   r[   r\   r]   ©	rq   rî  rŒ   r�   rb   rc   rd   re   rf   s	            r   Ú8test_locate_markers_mid_stack_and_mid_label_quotes_placerü  /  sû   € ð 
�‰ò	
ó
€Bô 	˜EÐ-^Ñ_Ü˜EÐ-cÑdÜ˜EÐ-^Ñ_ð€Eô
 ˜  BÓ
'€CÙ.1Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cð Ð2ò 7ð ð 7ñ ÷ ó ïé ô	Ð2÷ ñ ïé ð	Ð2÷ ð ïé ð	ð 7÷ ÷ ÷ ñ ïé ÷	÷ ð ùÒ2s   Á,C3c                 óÌ  • SR                  / SQ5      n [        SSS9/n[        U/ U 5      nU Vs/ s H%  o3R                  UR                  UR
                  4PM'     nnSS/oTU:H  of(       do  [        R                  " SU4S	XE45      [        R                  " U5      [        R                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=peg s  snf )Nrâ  )rõ  rö  z| Segment EBITDA(3) | 280 |z| Segment EBITDA(3) | 12.1 |rå  zSegment EBITDA(3)rç  )rå  rN   r   rê  rD   rF   rG   rJ   rK   rù  rû  s	            r   Ú-test_locate_markers_twin_labels_place_on_bothrþ  G  sª   € Ø	�‰ò	
ó
€Bô  Ð2EÑFÐG€EÜ
˜  BÓ
'€CÙ.1Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cÐTÐ2°}ÀmÐ6TÐTÐ6TÑT×T×T×TÒTÐ2×T×TÔTÐ2×T×TÓTÐ6T×T×T×T×T×T×TÔTùÒ2s   °,C!c                 ó¬  • [        SSS9/n [        U / [        5      nU Vs/ s H%  o"R                  UR                  UR
                  4PM'     nnS/oCU:H  oU(       do  [        R                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nSS	U0-  n[        [        R                  " U5      5      eS =n=pTg s  snf )
Nrò  z"A label the table does not containrç  ©rò  NNrD   rF   rG   rJ   rK   rë  rí  s           r   Ú/test_locate_markers_unmatched_quote_is_unplacedr  U  s”   € Ü Ð2VÑWÐX€EÜ
˜ ¤OÓ
4€CÙ.1Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cÐKÐ2Ð7JÐ6KÐKÐ6KÑK×K×K×KÒKÐ2×K×KÔKÐ2×K×KÓKÐ6K×K×K×K×K×K×KÔKùÒ2s   ¡,Cc                 ó˜  • [        / S/[        5      n U  Vs/ s H%  oR                  UR                  UR                  4PM'     nnS/o2U:H  oD(       do  [
        R                  " SU4SX#45      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=pCg s  snf )Nrò  r   rD   rF   rG   rJ   rK   )
r
   rì  rè  r   r{   rY   rZ   r[   r\   r]   )rŒ   r�   rb   rc   rd   re   rf   s          r   Ú<test_locate_markers_catalogued_but_unreported_marker_is_keptr  [  s†   € ä
˜˜e˜W¤oÓ
6€CÙ.1Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cÐKÐ2Ð7JÐ6KÐKÐ6KÑK×K×K×KÒKÐ2×K×KÔKÐ2×K×KÓKÐ6K×K×K×K×K×K×KÔKùÒ2s   —,Cc                 óÌ  • SR                  / SQ5      n [        SSS9/n[        US/U 5      nU Vs/ s H%  o3R                  UR                  UR
                  4PM'     nnS/oTU:H  of(       do  [        R                  " SU4SXE45      [        R                  " U5      [        R                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =n=peg s  snf )Nrâ  )z| | 2022 | Change |rã  z| Provisions | 1,514 | # |Ú#rç  )r  rN   rM   rD   rF   rG   rJ   rK   rù  rû  s	            r   Ú2test_locate_markers_whole_cell_symbol_quote_placesr  a  s¦   € Ø	�‰ò	
ó
€Bô  °Ñ4Ð5€EÜ
˜   rÓ
*€CÙ.1Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cÐCÐ2°{°mÐC°mÑC×C×C×CÒCÐ2×C×CÔCÐ2×C×CÓC°m×C×C×C×C×C×CÔCùÒ2s   ±,C!c                 ó²  • [        SSSS9/n [        U / [        5      nU Vs/ s H'  o"R                  UR                  UR
                  S L4PM)     nnS/oCU:H  oU(       do  [        R                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =n=pTg s  snf )NúNote 16ræ  Úsection)rè  ré  Úkind)r  r	  TrD   rF   rG   rJ   rK   )r   r
   rì  rè  r
  r   rY   rZ   r[   r\   r]   rí  s           r   Ú.test_locate_markers_carries_the_kind_judgementr  n  sœ   € Ü Ð6MÐT]Ñ^Ð_€EÜ
˜ ¤OÓ
4€CÙ;>Ó?º3°a�X‰X�q—v‘v˜qŸu™u¨DÐ0Ó1¹3ÐaÐ?ÐD`ÐCaÐaÐCaÑa×a×a×aÒaÐ?×a×aÔaÐ?×a×aÓaÐCa×a×a×a×a×a×aÔaùÒ?s   ¢.Cc                 óÜ  • SSK Jn   SR                  / SQ5      n[        / / UU " SSS9U " SS	S9/5      nU Vs/ s H%  o3R                  UR
                  UR                  4PM'     nnS
S/oTU:H  of(       do  [        R                  " SU4SXE45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=peg s  snf )Nr   )ÚFootnoteDefrâ  )z| | Change 2022 vs. 2021 |rö  z$| Provisions for credit losses | # |z#| Earnings per common share | # % |z| Expenses | 24 |r  z)Denotes a variance of 100 percent or more)rè  r   Ú2z+Never cell-searched by its definition alone)r  rN   rN   )r  rM   rN   rD   rF   rG   rJ   rK   )Úquber.agents.llm_clientr  rú  r
   rè  r   r{   rY   rZ   r[   r\   r]   )	r  rq   rŒ   r�   rb   rc   rd   re   rf   s	            r   Ú@test_locate_markers_symbol_legend_places_from_its_own_definitionr  t  sÁ   € õ 4à	�‰ò	
ó
€Bô Ø
Ø
Ø
á˜sÐ)TÑUÙ˜sÐ)VÑWð	
ó	€Cñ /2Ó2ªc¨�X‰X�q—u‘u˜aŸe™eÓ$©cÐPÐ2°{ÀKÐ6PÐPÐ6PÑP×P×P×PÒPÐ2×P×PÔPÐ2×P×PÓPÐ6P×P×P×P×P×P×PÔPùÒ2s   ¸,C)c                 ó8  • SR                  / SQ5      n [        / / SQU 5      nU Vs/ s H4  o"R                  c  M  UR                  UR                  UR                  4PM6     nnSS/oCU:H  oU(       do  [
        R                  " SU4SX445      [
        R                  " U5      [
        R                  " U5      S.-  nS	S
U0-  n[        [
        R                  " U5      5      eS =n=pTU Vs/ s H  o"R                  b  M  UR                  PM     nnS/oCU:H  oU(       do  [
        R                  " SU4SX445      [
        R                  " U5      [
        R                  " U5      S.-  nS	S
U0-  n[        [
        R                  " U5      5      eS =n=pTg s  snf s  snf )Nrâ  )z| | Principal Only | 30+ Days |rã  z| Consumer | 0.9 % | 1.0 % |z| Corporate | (b) | (1) |z| b | 0.4 % | (c) |)ú(b)ú(c)ú(1))r  rM   rN   )r  ro   rM   rD   rF   rG   rJ   rK   r  )
rú  r
   r   rè  r{   rY   rZ   r[   r\   r]   )rq   rŒ   r�   rb   rc   rd   re   rf   s           r   Ú3test_locate_markers_whole_cell_marker_places_itselfr  �  sO  € ð 
�‰ò	
ó
€Bô ˜Ò2°BÓ
7€CÙ.1ÓGªc¨·U±UÓ$ˆQ�X‰X�q—u‘u˜aŸe™eÓ$©cð ÐGØØðLð ð Lñ ÷ ó ïé ôÐG÷ ñ ïé ðÐG÷ ð ïé ðð L÷ ÷ ÷ ñ ïé ÷÷ ñ "Ó3šc˜§U¡U‹HˆA�HŒH™cÐ>Ð3¸°wÐ>°wÑ>×>×>×>Ò>Ð3×>×>Ô>Ð3×>×>Ó>°w×>×>×>×>×>×>Ô>ùò	 Hùò 4s   §F»'FÃ*FÃ>Fc                 óŽ  • SR                  / SQ5      n [        / SS/U SS9nU Vs0 s H  o"R                  U_M     nn/ oCS   oUR                  nSovU:H  oˆo˜(       a  US   oªR                  nS oËUL oÝn	U	(       Gd3  [
        R                  " SU4S	Xg45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S
.-  nSSU0-  oôR                  U5        U(       aw  [
        R                  " SW4SWW45      [
        R                  " W
5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  nUR                  U5        [
        R                  " US5      0 -  nSSU0-  n[        [
        R                  " U5      5      eS =n	=n=n=n=n=n=n
=n=pÜ/ oCS   oUR                  nSovU:H  oˆo˜(       a  US   oªR                  nS oËUL oÝn	U	(       Gd2  [
        R                  " SU4S	Xg45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S
.-  nSSU0-  oôR                  U5        U(       av  [
        R                  " SU4SX¼45      [
        R                  " U
5      [
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  nUR                  U5        [
        R                  " US5      0 -  nSSU0-  n[        [
        R                  " U5      5      eS =n	=n=n=n=n=n=n
=n=pÜg s  snf )Nrâ  )z$| 2021 (Millions) | In Program (d) |rö  z| Consumer | $ 708 |r  z(x)z8As of December 31, 2021 Accounts Classified as a TDR (c))Ú
table_textÚtablerD   )z-%(py5)s
{%(py5)s = %(py3)s.scope
} == %(py8)srü   rý   rþ   rV   )z/%(py15)s
{%(py15)s = %(py13)s.row
} is %(py18)srÿ   r  r  r   r  r  Úcell)rú  r
   rè  Úscoper   rY   rZ   r[   rÏ   rÑ   r\   r]   )rq   rŒ   r�   Ú	by_markerrg   rd   rŽ   r  rh   rb   rÕ   r	  r
  r  r�   r  r  r  r  r  s                       r   Ú<test_locate_markers_header_text_marker_places_at_table_scoper  ¦  s  € ð
 
�‰ò	
ó
€Bô Ø
Ø	�ˆØ
ØMñ	€Cñ '*Ó*¢c —‘˜1’¡c€IÐ*ÙM�UÑÐM×!Ñ!ÐM WÐM WÑ,×M°¸5Ñ1AÐM×1EÑ1EÐMÈÐMÈÐ1M×M×M×MÕMÐ!×M×MÔMÐ×M×MÓMÐ!×M×MÓM W×M×M×M×M×M×M×MÒMÐ1EÈ×M×MÔMÐ1A×M×MÓMÐ1E×M×MÓMÈ×M×M×M×M×M×M×M×M×M×M×M×M×M×MÓMÙL�UÑÐL×!Ñ!ÐL VÐL VÑ+×L°	¸%Ñ0@ÐL×0DÑ0DÐLÈÐLÈÐ0L×L×L×LÕLÐ!×L×LÔLÐ×L×LÓLÐ!×L×LÓL V×L×L×L×L×L×L×LÒLÐ0D×L×LÔLÐ0@×L×LÓLÐ0D×L×LÓLÈ×L×L×L×L×L×L×L×L×L×L×L×L×L×LÔLùò +s   ¦M)NÚ__doc__Ú
__future__r   Úbuiltinsr^   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterY   r  r   r   r¶  r   r   Ú%quber.core.extractors.camelot.acquirer   r	   rÅ  r
   r   r   r   r   r   r   rˆ   rl   rs   r�   r•   r£   r­   rß   rã   rê   rð   rø   r  r  r  r#  r.  r5  rB  rG  rJ  rS  r[  rc  rl  rt  ry  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  © rt   r   Ú<module>r%     sm  ðñõ #ç  „ × ;ß Bß [÷÷ òKñ âjÚQò	
ò
	
ðó€ò*(ò+òWò&Cò	+ò	$òZò26ò<2ò2ò 2ò$Eò,6ò:ò4ò*@ò"=ò.	=òQò!ò3ò =ò.3ò,'ò>]ò(!ò2ò*2ò0+ò0$ò0"ò"!ò$òB&1òR,òWò8%0òPRð4 —)‘)òó€òFòFòò0UòLòLò
DòbòQò6?ó.Mrt   