Ë
    éì�iP¸  ã                   ó°  — d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
Z
d dlmZ d dlZd dlZd dlZd dlmZmZmZmZmZ d dlZd dlmZmZ d dlZd d	lmZ d d
lmZm Z m!Z!m"Z" d dl#Z$d dl%m&Z&m'Z'm(Z( d dl)mc m*c m+Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<m=Z= d dl>mc m*c m?Z@  e eeA«      d«      ZBej†                  jˆ                  ZEd„ ZFejŽ                  dz   ej�                  deI¬«      j•                  dd«      z  ZKdddideKidœgZLeLj›                  dddid edg«      idœ«       eLj›                  dddid ejœ                  eK«      d ejž                  eK«      z  z   idœ«        ej                   d«      ZQ eR eSdd «      «      eQd <    eR eSdd«      «      eQdd…d f<   eLj›                  d!d"did"eQidœ«       eLj›                  d#d$d#id$ e!eQ«      idœ«       eQj©                  eU«      ZVeVd%xx   dz  cc<   eLj›                  d&d'd#id' e!eV«      idœ«       eLj›                  d(ddd)œeKeQd)œdœ«       eLj›                  d*d+did+ eFd,«      idœ«       eLj›                  d-d.did. ed/g«      idœ«        eFg  eFdg«       eFdd0gg«       eFg d1¢g«      feW¬«      j•                  dd,«      ZX ed2g«      eXd%<   d3d4d3id4eXidœgZY eF eFd«       eFd0«       eFg «       eFg «       eFd5«      feW¬«      j•                  dd,«      ZZ ej¶                  d6eW¬«      Z\ eFd«      e\d%<   eYj›                  d7d8d3id8e\idœ«       eYj›                  d9d:d3id:eZidœ«       eYj›                  d;d<did< eg d=¢«      idœ«       eYj›                  d>d?did? ejº                   ej”                   eR eSdd@«      «      dA«      «      idœ«        e ej¼                  d0«       ej¾                  d«      ejŽ                  g«      j•                  dd5«      Z`dBD � cg c]  } | eWf‘Œ c} Za ej                   d6ea«      Zb edCg«      ebdD   d%<   e`ebdE   d%<   e`dFz  ebdG   d%<   eYj›                  dHdIdHidIebidœ«        ej                   dJeW¬«      Zc eFd«      ecd%<    ej                   dKeW¬«      ecdL<    eFd0ejÈ                  ¬«      ecdL   d%<    eFd5ggejÈ                  ¬«      ecdL   dL<    ej                   dJeW¬«      ecdL   dM<    eFdejÈ                  ¬«      ecdL   dM   d%<    eFdNejÈ                  ¬«      ecdL   dM   dL<   eYj›                  dOdPd3idPecidœ«        ej¶                  d6dQD � cg c]  } | eWf‘Œ c} ¬«      Ze eFd«      eed%   dR<    ej¶                  d6dSeWfg¬«      eed%   dT<    edUg«      eed%   dT   d%   dS<   eYj›                  dVdWdHidWeeidœ«        ej¶                  dJdQD � cg c]  } | eWf‘Œ c} ¬«      Zf eFd«      efd%   dR<    eFd0«      efd%   dT<    edXg«      efdL   dR<    edYg«      efdL   dT<   eYj›                  dZd[dHid[efidœ«        ejÂ                  d\D � cg c]  } | eWf‘Œ c} «      Zg e( ej                   d6eg¬«      d]«      Zhehd%   Zi ed^g«      eid_<    ed`g«      eida<    ed^g«      eidb<    eFd «      eidc<    eFd«      eidd<    eFd«      eide<   eYj›                  dfdgdfidgehidœ«        ej eeBdh«      di«      ZkekjÙ                  «       jÛ                  dj«      Znekjß                  «        eYj›                  dkdldidl eeng«      idœ«       eYj›                  d#d$d#id$ e!eQ«      idœ«       eYj›                  d&d'd#id' e!eV«      idœ«       eYj›                  dmdndoidn edpgdqgg«      idœ«       eYdd Zpepj›                  drdsdfids ejâ                  ehd0«      j•                  dd0«      idœ«       dt„ Zrdu„ Zsdv„ Ztdw„ Zudx„ ZvdÇdy„Zwej†                  jñ                  dedz«      d{„ «       Zyej†                  jñ                  dedz«      d|„ «       Zzej†                  jñ                  d}d~d~dgfd€dgfg«      d�„ «       Z{d‚„ Z|dƒ„ Z}d„„ Z~d…„ Zd†„ Z€d‡„ Z�dˆ„ Z‚d‰„ ZƒdŠ„ Z„d‹„ Z…dŒ„ Z†d�„ Z‡dŽ„ Zˆd�„ Z‰d�„ ZŠd‘„ Z‹d’„ ZŒd“„ Z�d”„ ZŽd•„ Z�d–„ Z�d—„ Z‘d˜„ Z’d™„ Z“dš„ Z”d›„ Z•dœ„ Z–d�„ Z—dž„ Z˜dŸ„ Z™d „ Zšd¡„ Z›d¢„ Zœd£„ Z�d¤„ Zžd¥„ ZŸd¦„ Z d§„ Z¡d¨„ Z¢d©„ Z£dª„ Z¤d«„ Z¥d¬„ Z¦d­„ Z§d®„ Z¨d¯„ Z©d°„ Zªd±„ Z«d²„ Z¬d³„ Z­d´„ Z®dµ„ Z¯d¶„ Z°d·„ Z±d¸„ Z²d¹„ Z³ej†                  jñ                  dºg d»¢«      d¼„ «       Z´d½„ Zµd¾„ Z¶d¿„ Z·dÀ„ Z¸dÁ„ Z¹dÂ„ ZºdÃ„ Z»dÄ„ Z¼dÅ„ Z½dÆ„ Z¾yc c} w c c} w c c} w c c} w )Èé    N)ÚOrderedDict)ÚjoinÚdirname)Úglob)ÚBytesIO)Úmkdtemp)Úassert_array_equalÚassert_array_almost_equalÚassert_equalÚassert_Úassert_allclose)ÚraisesÚwarns)Úarray)ÚissparseÚ	eye_arrayÚ	coo_arrayÚ	csc_array)ÚMatlabOpaqueÚMatlabFunctionÚMatlabObject)ÚmatdimsÚMatWriteErrorÚMatReadErrorÚmatfile_versionÚMatWriteWarning)Úmat_reader_factoryÚloadmatÚsavematÚwhosmat)ÚMatFile5WriterÚMatFile5ReaderÚvarmats_from_matÚto_writeableÚEmptyStructMarkerÚdatac                  ód   — t        j                  | i |¤Ž}|j                  t        |«      «      }|S )z;Convenience function to return matlab-compatible 2-D array.)Únpr   Úreshaper   )ÚargsÚkwargsÚarrs      úƒ/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/scipy/io/matlab/tests/test_mio.pyÚmlarrr.   &   s,   € ä
�(‰(�DÐ
#˜FÑ
#€CØ
�+‰+”g˜c“lÓ
#€CØ€Jó    é   é	   ©Údtypeé   ÚdoubleÚ
testdouble)ÚnameÚclassesÚexpectedÚstringÚ
teststringÚcharz+"Do nine men interpret?" "Nine men," I nod.ÚcomplexÚtestcomplexy              ð?)é   é   é   ÚmatrixÚ
testmatrixÚsparseÚ
testsparse©r   r   ÚsparsecomplexÚtestsparsecomplexÚmulti)ÚthetaÚaÚminusÚ	testminuséÿÿÿÿÚonecharÚtestonecharÚré   )r4   rR   r?   z@This cell contains this string and 3 arrays of increasing lengthÚcellÚtestcellr?   ©r4   r4   Ú
scalarcellÚtestscalarcellÚ	emptycellÚtestemptycellÚstringarrayÚteststringarray)zone  ztwo  ÚthreeÚ3dmatrixÚtest3dmatrixé   )r0   r?   rR   )ÚstringfieldÚdoublefieldÚcomplexfieldzRats live on no evil star.r`   ra   y      ð?      ð?rb   ÚstructÚ
teststruct©r4   rR   )r4   r?   ©r   r4   )r   rR   r@   ÚcellnestÚtestcellnest©ÚoneÚtworj   r\   rk   znumber 3Ú
structnestÚteststructnestznumber 1znumber 2Ú	structarrÚteststructarr)ÚexprÚ	inputExprr*   ÚisEmptyÚnumArgsÚversionÚinlineÚxrp   z x = INLINE_INPUTS_{1};rq   r*   rr   rs   rt   ÚobjectÚ
testobjectzjapanese_utf8.txtÚrbzutf-8ÚunicodeÚtestunicodeÚboolÚ	testboolsÚlogicalTFÚobjectarrayÚtestobjectarrayc                 ó*  — t        | «      }t        |«      }||u ry|t        j                  u r*| j                  dk(  rt        | j	                  «       «      |u S |t        j                  u r*|j                  dk(  rt        |j	                  «       «      |u S y)zkCheck if types are same or compatible.

    0-D numpy scalars are compatible with bare python scalars.
    T© F)Útyper(   ÚndarrayÚshapeÚitem)Úvar1Úvar2Útype1Útype2s       r-   Útypes_compatibler‹   ç   s}   € ô
 �‹J€EÜ�‹J€EØ��~ØØ”—
‘
Ñ˜tŸz™z¨RÒ/Ü�D—I‘I“KÓ  EÐ)Ð)Ø”—
‘
Ñ˜tŸz™z¨RÒ/Ü�D—I‘I“KÓ  EÐ)Ð)Ør/   c           	      óô  — t        |«      r@t        t        |«      «       t        |j                  «       |j                  «       | d¬«       yt        t	        ||«      dt        |«      › dt        |«      › d| › �«       t        |t        j                  t        j                  z  t        z  «      st        ||«       yt        |j                  |j                  k(  d|j                  › d|j                  › d| › �¬«       |j                  }|j                  r\t        |t        «      r t        |j                  |j                  «       t!        |«      D ]  \  }}| › d	|› d
�}t#        ||||   «       Œ y|j$                  r-|j$                  D ]  }| › d|› d�}t#        |||   ||   «       Œ y|j
                  t&        t        j(                  t        j*                  fv rt        ||| ¬«       yt        ||| d¬«       y)z/ Check one level of a potentially nested array r@   )Úerr_msgÚdecimalNzExpected type z, got z at zExpected shape )Úmsgz, [z], z, field z, ©r�   )r   r   r
   Útoarrayr‹   rƒ   Ú
isinstancer(   Úvoidr„   r   r   r…   r3   Ú	hasobjectÚ	classnameÚ	enumerateÚ_check_levelÚfieldsÚstrÚstr_Úbool_)Úlabelr9   ÚactualÚex_dtypeÚiÚevÚlevel_labelÚfns           r-   r—   r—   ÷   sÌ  € ä�ÔÜ”˜Ó Ô!Ü! &§.¡.Ó"2Ø"*×"2Ñ"2Ó"4Ø*/Ø*+õ	-ð 	äÔ˜X vÓ.ØœT (›^Ð,¨F´4¸³<°.ÀÀUÀGÐLôNô �h¤§¡¬"¯*©*Ñ 4´|Ñ CÔDÜ�X˜vÔ&ØäˆH�N‰N˜fŸl™lÑ*Ø! (§.¡.Ð!1°¸¿¹°~ÀTÈ%ÈÐQõSà�~‰~€HØ×ÒÜ�h¤Ô-Ü˜×+Ñ+¨V×-=Ñ-=Ô>Ü˜xÓ(ò 	5‰EˆAˆrØ"˜G 3 q c¨Ð-ˆKÜ˜ b¨&°©)Õ4ð	5ð 	Ø‡‚Ø—/‘/ò 	3ˆBØ"˜G 8¨B¨4¨rÐ2ˆKÜ˜Ø! "™ v¨b¡zõ3ð	3ð 	Ø‡}�}œÜŸ™ÜŸ™ð#ñ #ô 	�V˜X¨uÕ5Øä˜f h¸ÀqÖIr/   c                 ó¾   — |D ]X  }t        |dd¬«      }d| › d|› �}|j                  «       D ]-  \  }}|› d|› �}t        ||v d|› �«       t        ||||   «       Œ/ ŒZ y )NTF©Ústruct_as_recordÚspmatrixútest ú; file z, variable zMissing key at )r   Úitemsr   r—   )	r7   ÚfilesÚcaseÚ	file_nameÚmatdictrœ   Úkr9   Úk_labels	            r-   Ú_load_check_caser°   "  s   € Øò 8ˆ	Ü˜)°dÀUÔKˆØ˜�v˜W Y KÐ0ˆØŸ:™:›<ò 	8‰KˆAˆxØ˜˜{¨1¨#Ð.ˆGÜ�A˜�L O°G°9Ð"=Ô>Ü˜ (¨G°A©JÕ7ñ	8ñ8r/   c           
      ó  — |D ]|  }d| › d|› �}t        |«      }|j                  «       D ��cg c]  \  }}||j                  ||   f‘Œ }	}}|j                  «        |	j                  «        t	        ||	|› d|›d|	›�«       Œ~ y c c}}w )Nr§   r¨   z: z != )r    r©   r…   Úsortr   )
r7   rª   r«   r8   r¬   rœ   Úwhosr®   r9   Úexpected_whoss
             r-   Ú_whos_check_caserµ   ,  s¥   € Øò ˆ	Ø˜�v˜W Y KÐ0ˆä�yÓ!ˆð @D¿z¹z»|÷MÙ0;°°8ˆQ�—‘ ¨¡
Ò+ðMˆñ Mð 	�	‰	ŒØ×ÑÔÜ�T˜=Ø�w˜b  ¨¨]Ð,=Ð>õ	ñùó
Ms   ¬Bc                 ór   — t        «       }t        |||¬«       |j                  d«       t        | |g|«       y )N©Úformatr   )r   r   Úseekr°   )r7   r9   r¸   Ú
mat_streams       r-   Ú_rt_check_caser»   =  s/   € Ü“€JÜˆJ˜¨Õ0Ø‡O�O�AÔÜ�T˜J˜<¨Õ2r/   c              #   ó"  K  — | dk(  rt         }n| dk(  rt        }n| dk(  sJ ‚t        }|D ]a  }|d   }|d   }|€d }nCt        t        |t        |¬«      z  «      }t        |«      }t        |«      dkD  sJ d|› d	|› �«       ‚|d
   }||||f–— Œc y ­w)NÚ4Ú5Ú5_rtr7   r9   )r7   r   zNo files for test ú using filter r8   )Úcase_table4Úcase_table5Úcase_table5_rtÚpjoinÚtest_data_pathÚdictr   Úlen)	rt   ÚfiltÚcasesr«   r7   r9   rª   Úuse_filtr8   s	            r-   Ú_casesrË   E  s¼   è ø€ Ø�#‚~Ü‰Ø	�CŠÜ‰à˜&Ò Ð Ð ÜˆØò -ˆØ�F‰|ˆØ˜
Ñ#ˆØˆ<Ø‰Eäœ^¨T´D¸d´OÑ-CÓDˆHÜ˜“NˆEÜ�u“: ’>ð @Ø$ T F¨.¸¸Ð?ó@�>à�y‘/ˆØ�E˜8 WÐ,Ó,ñ-ùs   ‚BB©r½   r¾   c                 ó:   — t        | «      D ]  }t        |d d Ž  Œ y )Nr?   )rË   r°   ©rt   r«   s     r-   Ú	test_loadrÏ   [  s#   € ä�w“ò $ˆÜ˜$˜r ˜(Ò#ñ$r/   c                 ó4   — t        | «      D ]
  }t        |Ž  Œ y ©N)rË   rµ   rÎ   s     r-   Ú	test_whosrÒ   a  s   € ä�w“ò  ˆÜ˜$Òñ r/   zversion, fmtsr½   r¾   r¿   c                 ó\   — t        | d ¬«      D ]  }|D ]  }t        |d   |d   |«       Œ Œ y )N)rÈ   r   rR   )rË   r»   )rt   Úfmtsr«   Úfmts       r-   Útest_round_triprÖ   h  s=   € ô
 �w TÔ*ò 2ˆØò 	2ˆCÜ˜4 ™7 D¨¡G¨SÕ1ñ	2ñ2r/   c                  ó:  — t        j                  d«      } d| d<   d| d<   t        | «      }d}d|i}d}t        «       }	 t	        ||«      }t        j                  |d	¬
«      }t        |||¬«       |j                  «        t        j                  |d¬
«      }t        |dd¬«      }|j                  «        t        j                  |«       t        |d   j                  «       |d   j                  «       t        |«      ¬«       y # t        j                  |«       w xY w)N)é   rØ   gffffff@©rR   r?   g      @)r0   r@   Ú	gzip_testrv   r½   Úwb)Úmoder·   ry   TFr¤   r�   )r(   Úzerosr   r   rÄ   ÚgzipÚopenr   Úcloser   ÚshutilÚrmtreer
   r‘   Úrepr)	Úxdenserv   r7   r9   r¸   ÚtmpdirÚfnamerº   r�   s	            r-   Útest_gzip_simplerç   r  só   € Ü�X‰X�gÓ€FØ€Fˆ3�KØ€Fˆ3�KÜ�&Ó€Aà€DØ�Aˆw€HØ€Fä‹Y€Fð
Ü�f˜TÓ"ˆÜ—Y‘Y˜u¨4Ô0ˆ
Ü�
˜H¨VÕ4Ø×ÑÔä—Y‘Y˜u¨4Ô0ˆ
Ü˜°dÀUÔKˆØ×ÑÔä�‰�fÔä˜f S™k×1Ñ1Ó3Ø& s™m×3Ñ3Ó5Ü&*¨6£lö4øô 	�‰�fÕús   ¾A6D ÄDc                  óJ  — t        «       } 	 t        t        j                  d«      ¬«      }t	        | d«      }t        ||«       t        j                  |«       t        ||«       t        |«       t        j                  |«       t        |d«      }t        ||«       |j                  d«       |j                  «        t        |d«      }t        |«       |j                  d«       |j                  «        t        j                  | «       y # t        j                  | «       w xY w)N)rR   rR   ©rv   za.matrÛ   r   ry   )r   rÆ   r(   rÝ   rÄ   r   ÚosÚunlinkr   rß   r¹   rà   rá   râ   )rå   rv   ræ   Úfs       r-   Útest_multiple_openrí   Ž  sÍ   € ä‹Y€FðÜ”2—8‘8˜FÓ#Ô$ˆä�f˜gÓ&ˆô 	��qÔÜ
�	‰	�%ÔÜ��qÔÜ�ŒÜ
�	‰	�%Ôô �˜ÓˆÜ��1ŒØ	�‰ˆqŒ	Ø	�‰Œ	ä�˜ÓˆÜ�Œ
Ø	�‰ˆqŒ	Ø	�‰Œ	ä�‰�fÕøŒ�‰�fÕús   ŒC)D ÄD"c                  óØ   — t        t        t        d«      «      } t        t	        | «      dkD  «       | D ]5  }t        |d«      }t        t        t        |d¬«       |j                  «        Œ7 y )Nztesthdf5*.matr   ry   T©r¥   )
r   rÄ   rÅ   r   rÇ   rß   Úassert_raisesÚNotImplementedErrorr   rà   )Ú	filenamesÚfilenameÚfps      r-   Ú
test_mat73rõ   «  sa   € äÜŒn˜oÓ.ó0€IäŒC�	‹N˜QÑÔØò ˆÜ�(˜DÓ!ˆÜÔ)ÜØØ'+õ	-ð 	�‰�
ñr/   c                  óÔ   — t        t        d«      } t        j                  «       5  t        j                  d«       t        | d¬«       t        | d¬«       d d d «       y # 1 sw Y   y xY w)Nztestdouble_7.1_GLNX86.matÚerrorTrï   F)rÄ   rÅ   ÚwarningsÚcatch_warningsÚsimplefilterr   )ræ   s    r-   Útest_warningsrû   ¹  sT   € ô ”.Ð"=Ó>€EÜ	×	 Ñ	 Ó	"ñ /Ü×Ñ˜gÔ&ä�¨Õ-ä�¨Õ.÷/÷ /ñ /ús   ¥0AÁA'c                  óþ   — t        «       } t        | dddiid¬«       t        | «      d   }t        |j                  d«       t        |j
                  t        j
                  t        «      «       t        |d   d u «       y )NÚdr4   rR   r¾   r·   rU   rF   ©	r   r   r   r   r…   r3   r(   rw   r   )ÚsioÚbacks     r-   Útest_regression_653r  Æ  sc   € ô ‹)€CÜˆC�#�q˜�e� SÕ)Ü�3‹<˜Ñ€Dä�—‘˜UÔ#Ü�—‘œRŸX™X¤fÓ-Ô.ÜˆD�‰I˜ÐÕr/   c                  ó  — d} d| z  }t        j                  d|t        fg¬«      }t        t	        «       d|id¬«       d| dz   z  }t        j                  d|t        fg¬«      }t        t        t        t	        «       d|id¬«       y )	Né   rK   rU   r2   Ú
longstructr¾   r·   r4   ©r(   rÝ   rw   r   r   rð   Ú
ValueError©ÚlimÚfldnameÚst1s      r-   Útest_structname_lenr  Ò  sz   € à
€CØ�C‰i€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜŒG‹I˜ cÐ*°3Õ7Ø�S˜‘U‰m€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜ”*œg¤w£yØ Ð%¨cö3r/   c                  ó†   — t        j                  ddt        fg¬«      } t        t        t
        t        «       d| idd¬«       y )NrU   Úmy_fieldnamer2   Ú	my_structr½   T©r¸   Úlong_field_names)r(   rÝ   rw   rð   r  r   r   )r  s    r-   Ú(test_4_and_long_field_names_incompatibler  Þ  s7   € ä—‘˜ ~´fÐ&=Ð%>Ô?€IÜ”*œg¤w£yØ˜yÐ)°#ÈöNr/   c                  ó  — d} d| z  }t        j                  d|t        fg¬«      }t        t	        «       d|idd¬«       d| d	z   z  }t        j                  d|t        fg¬«      }t        t        t        t	        «       d|idd¬«       y )
Né?   rK   rU   r2   r  r¾   Tr  r4   r  r  s      r-   Útest_long_field_namesr  å  s   € à
€CØ�C‰i€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜŒG‹I˜ cÐ*°3ÈÕMØ�S˜‘U‰m€GÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CÜ”*œg¤w£yØ Ð%¨cÀ4öIr/   c                  ó  — d} d| z  }t        j                  dt        ¬«      }t        j                  d|t        fg¬«      }||d<   ||d<   t	        t        «       d|id	d
¬«       t        t        t        t        «       d|id	d¬«       y )Nr  rK   re   r2   rU   rF   rf   r  r¾   Tr  F)r(   r„   rw   rÝ   r   r   rð   r  )r  r	  rS   r
  s       r-   Útest_long_field_names_in_structr  ñ  s€   € ð €CØ�C‰i€GÜ�:‰:�e¤&Ô)€DÜ
�(‰(�5 '¬6Ð!2Ð 3Ô
4€CØ€Dˆ�IØ€Dˆ�IÜŒG‹I˜ dÐ+°CÈÕNô ”*œg¤w£yØ Ð&¨sÀUöLr/   c                  óî   — t        j                  dt        ¬«      } d| d<   d| d<   t        t	        «       d| id¬	«       t        j                  d
t        ¬«      } d| d<   t        t	        «       d| id¬	«       y )Nre   r2   ÚHellorF   ÚWorldrf   rv   r¾   r·   rU   zHello, world)r(   r„   rw   r   r   )Úcellss    r-   Útest_cell_with_one_thing_in_itr    sc   € ô �J‰J�u¤6Ô*€EØ€Eˆ#�JØ€Eˆ#�JÜŒG‹I˜˜U�|¨CÕ0ä�J‰J�u¤6Ô*€EØ€Eˆ#�JÜŒG‹I˜˜U�|¨CÖ0r/   c                  ó`  — t        t        «       «      } t        | j                  g «       dg| _        t        | j                  dg«       t        | j                  d«       d| _        t        | j                  d«       t        | j
                  d«       d| _        t        | j
                  d«       y )NÚavarFT)r!   r   r   Úglobal_varsÚunicode_stringsr  )Úmfws    r-   Útest_writer_propertiesr!    s…   € ä
œ›Ó
#€CÜ�—‘ "Ô%Ø�h€C„OÜ�—‘ 6 (Ô+Ü�×$Ñ$ eÔ,Ø€CÔÜ�×$Ñ$ dÔ+Ü�×%Ñ% uÔ-Ø€CÔÜ�×%Ñ% tÕ,r/   c                  ó$  — t        «       } t        | «      }t        j                  d«      }|j	                  d|i«       t        | j                  «       «      }| j                  d«       | j                  d«       |j	                  d|i«       t        |t        | j                  «       «      z
  dkD  «       | j                  d«       | j                  d«       |j	                  d|i«       t        t        | j                  «       «      |z
  dk  «       y )Né
   Úaaaaar   Úaaaar0   Úaaaaaa)
r   r!   r(   rÝ   Úput_variablesrÇ   ÚgetvalueÚtruncater¹   r   )rÿ   Úwtrr,   Úw_szs       r-   Útest_use_small_elementr,    sÌ   € ä
‹)€CÜ
˜Ó
€Cä
�(‰(�2‹,€CØ×Ñ�w �nÔ%Üˆs�|‰|‹~Ó€Dà‡L�L�„OØ‡H�HˆQ„KØ×Ñ�v˜s�mÔ$ÜˆD”3�s—|‘|“~Ó&Ñ&¨Ñ*Ô+à‡L�L�„OØ‡H�HˆQ„KØ×Ñ�x �oÔ&ÜŒC�—‘“Ó $Ñ&¨Ñ*Õ+r/   c                  óN  — t        j                  dggdt        fdt        fg¬«      } t        t        fD ]o  } |ddg«      }t        «       }t        |d|i«       |j                  d«       t        |«      d   }t        |j                  j                  d	«       t        || «       Œq y )
Nre   rK   Úbr2   )rK   r4   )r.  rR   rÆ   r   ©rK   r.  )r(   r   rw   rÆ   r   r   r   r¹   r   r   r3   Únamesr	   )Úab_expÚ	dict_typerý   ÚstreamÚvalss        r-   Útest_save_dictr5  2  s”   € ô �X‰X˜�x�j¨#¬v¨¸¼f¸Ð(FÔG€FÜœKÐ(ò )ˆ	á�x Ð*Ó+ˆÜ“ˆÜ�˜ ˜Ô$Ø�‰�AŒÜ�v‹˜vÑ&ˆÜ�T—Z‘Z×%Ñ% zÔ2Ü˜4 Õ(ñ)r/   c                  ó´  — t        j                  d«      } dD ]¾  }t        «       }t        |d| i|¬«       t	        |«      }t        |d   j                  d«       t        «       }t        |d| i|d¬«       t	        |«      }t        |d   j                  d«       t        «       }t        |d| i|d	¬«       t	        |«      }t        |d   j                  d«       ŒÀ y )
Nr@   rÌ   Úonedr·   )r4   r@   Úcolumn)r¸   Úoned_as)r@   r4   Úrow)r(   Úaranger   r   r   r   r…   )r,   r¸   r3  r4  s       r-   Útest_1d_shaper<  A  sÊ   € ä
�)‰)�A‹,€CØò 0ˆä“ˆÜ�˜ ˜¨fÕ5Ü�v‹ˆÜ�T˜&‘\×'Ñ'¨Ô0ä“ˆÜ�˜ ˜ØØ õ	"ô �v‹ˆÜ�T˜&‘\×'Ñ'¨Ô/ä“ˆÜ�˜ ˜ØØõ	ô �v‹ˆÜ�T˜&‘\×'Ñ'¨Õ/ñ'0r/   c                  ó   — t        j                  d«      j                  d«      } d| d<   t        «       }t	        |d| i«       t        |j                  «       «      }t        |«      }t        |d   | «       t        «       }t	        |d| id¬«       t        |j                  «       «      }t        |«      }t        |d   | «       t        ||kD  «       | j                  «       }d|d<   t        «       }t	        || |d	œd
¬«       t        |«      }t        |d   |«       t        «       }t	        || |d	œd¬«       t        |«      }t        |d   |«       y )Néd   )r@   rØ   r4   )rR   r#  r,   T)Údo_compressionrF   )r,   Úarr2Fr@  )r(   rÝ   r)   r   r   rÇ   r(  r   r	   r   Úcopy)r,   r3  Úraw_lenr4  Úcompressed_lenr@  s         r-   Útest_compressionrD  Z  s  € Ü
�(‰(�3‹-×
Ñ
 Ó
'€CØ€Cˆ�IÜ‹Y€FÜˆF�U˜3�KÔ Ü�&—/‘/Ó#Ó$€GÜ�6‹?€DÜ�t˜E‘{ CÔ(Ü‹Y€FÜˆF�U˜3�K°Õ5Ü˜Ÿ™Ó*Ó+€NÜ�6‹?€DÜ�t˜E‘{ CÔ(ÜˆG�nÑ$Ô%à�8‰8‹:€DØ€Dˆ�IÜ‹Y€FÜˆF˜3 tÑ,¸UÕCÜ�6‹?€DÜ�t˜F‘| TÔ*Ü‹Y€FÜˆF˜3 tÑ,¸TÕBÜ�6‹?€DÜ�t˜F‘| TÕ*r/   c                  óf   — t        «       } t        | dt        j                  dt        ¬«      i«       y )NÚAr4   r2   )r   r   r(   r   rw   )r3  s    r-   Útest_single_objectrG  u  s#   € Ü‹Y€FÜˆF�SœŸ™ !¬6Ô2Ð3Õ4r/   c                  ó  — t        t        d«      } t        | d¬«      }t        d|v «       t        d|v «       t	        | d¬«      \  }}|j                  d«      }t        d|v «       |j                  j                  «        y )Nztest_skip_variable.matTrï   ÚfirstÚsecond)rÄ   rÅ   r   r   r   Úget_variablesrº   rà   )ró   rý   ÚfactoryÚfile_openeds       r-   Útest_skip_variablerN  z  sz   € ô ”^Ð$<Ó=€Hô 	�¨4Ô0€AÜˆG�qˆLÔÜˆH˜ˆMÔô .¨hÈÔNÑ€Gˆ[ð 	×Ñ˜hÓ'€AÜˆH˜ˆMÔØ×Ñ×ÑÕr/   c                  ó„  — t        t        d«      } t        | d¬«      }|d   }t        |j                  d«       t        |j
                  t        j
                  t        «      «       t        |d   d u «       t        «       }t        j                  dd¬	«      }t        |d
|i«       t        |«      }|d
   }t        ||«       y )Nztest_empty_struct.matTrï   rK   rU   rF   r‚   ÚUr2   r,   )rÄ   rÅ   r   r   r…   r3   r(   rw   r   r   r   r   r	   )ró   rý   rK   r3  r,   Úa2s         r-   Útest_empty_structrR  ˜  sœ   € ä”^Ð$;Ó<€Hô 	�¨4Ô0€AØ	ˆ#‰€AÜ�—‘˜%Ô Ü�—‘œ"Ÿ(™(¤6Ó*Ô+ÜˆAˆc‰F�dˆNÔÜ‹Y€FÜ
�(‰(�2˜SÔ
!€CäˆF�U˜3�KÔ Ü�‹€AØ	
ˆ5‰€BÜ�r˜3Õr/   c                  óú   — t        «       } t        | di i«       t        | «      }|d   }t        |j                  d«       t        |j
                  t        j
                  t        «      «       t        |d   d u «       y )Nr,   rU   rF   rþ   )r3  rý   rK   s      r-   Útest_save_empty_dictrT  «  s^   € ä‹Y€FÜˆF�U˜B�KÔ Ü�‹€AØ	ˆ%‰€AÜ�—‘˜%Ô Ü�—‘œ"Ÿ(™(¤6Ó*Ô+ÜˆAˆc‰F�dˆNÕr/   c                 ód   — d}|D ]  }t        j                  | |k(  «      sŒd} n t        |«       y)zH Assert `output` is equal to at least one element in `alternatives`
    FTN)r(   Úallr   )ÚoutputÚalternativesÚ	one_equalr9   s       r-   Úassert_any_equalrZ  ¶  s;   € ð €IØ ò ˆÜ�6‰6�&˜HÑ$Õ%ØˆIÙðô ˆIÕr/   c            	      óô  — t        t        j                  dg«      «      } t        | j                  d«       t        | d«       t        j                  dgddg¬«      }t        j                  dgddg¬«      }||f}t        t        ddd	œ«      |«       t        j                  t        d
¬«      5  t        t        ddddœ«      |«       d d d «       t        t        ddddœ«      |«       t        j                  t        d
¬«      5  t        t        ddddœ«      |«       d d d «        G d„ d«      }|}d|_
        d|_        t        t        |«      |«       t        g «      } t        | j                  d«       t        | j                  j                  t        j                  «       t        d«      } t        | j                  d«       t        | j                  j                  t        j                  «       t        t        d «      d u «       t        t        d«      j                  j                  t        j                   «       t        d«      } t        | j                  d«       t        | j                  j                  t        j                  d«      j                  j                  «       t        | d«       t        t        i «      t"        u «       t        t        t%        «       «      d u «        G d„ d«      }t        t         |«       «      t"        u «       t        ddi«      d   } t        | j                  d«       t        | j                  j                  t        j&                  «       t        j                  t        d
¬«      5  t        t        ddi«      t"        u «       d d d «       t        j                  t        d
¬«      5  t        t        ddi«      t"        u «       d d d «       t        j                  t        d
¬«      5  t        t        dddœ«      t        j                  dgdg¬«      «       d d d «       y # 1 sw Y   �ŒwxY w# 1 sw Y   �Œ.xY w# 1 sw Y   Œ·xY w# 1 sw Y   ŒƒxY w# 1 sw Y   y xY w)Nr4   )r4   re   )rK   ú|O8)r.  r\  r2   )rR   r4   rR   r/  úStarting field name with©Úmatchr?   )rK   r.  Ú_c)rK   r.  r>  )rK   r.  Ú99c                   ó   — e Zd Zy)ú test_to_writeable.<locals>.klassN©Ú__name__Ú
__module__Ú__qualname__r‚   r/   r-   Úklassrc  Õ  ó   „ Ør/   rh  ©r   r‚   úa stringc                   ó   — e Zd Zy)útest_to_writeable.<locals>.CNrd  r‚   r/   r-   ÚCrm  ò  ri  r/   rn  rK   Ú1Ú_a)ro  rì   ©rR   )rì   r\  )r$   r(   r   r   r…   r	   rZ  Úpytestr   r   rK   r.  r3   rƒ   Úfloat64r   rš   r%   rw   Úobject_)ÚresÚ	expected1Ú	expected2rX  rh  Úcrn  s          r-   Útest_to_writeablery  Á  sW  € ä
”r—x‘x  “}Ó
%€CÜ�—‘˜DÔ!Ü�s˜AÔä—‘˜&˜¨,¸Ð)EÔF€IÜ—‘˜&˜¨,¸Ð)EÔF€IØ˜yÐ)€LÜ”\ q¨Q¡-Ó0°,Ô?ä	�‰”oÐ-GÔ	Hñ MÜœ¨1°!¸!Ñ&<Ó=¸|ÔL÷Mô ”\ q¨Q°AÑ"6Ó7¸ÔFä	�‰”oÐ-GÔ	Hñ MÜœ¨1°!¸!Ñ&<Ó=¸|ÔL÷M÷ñ ð 	€AØ
€A„CØ
€A„CÜ”\ !“_ lÔ3ä
�rÓ
€CÜ�—‘˜DÔ!Ü�—‘—‘¤§¡Ô,Ü
�rÓ
€CÜ�—‘˜DÔ!Ü�—‘—‘¤§¡Ô,äŒL˜Ó $Ð&Ô'ä”˜jÓ)×/Ñ/×4Ñ4´b·g±gÔ>ä
�q‹/€CÜ�—‘˜BÔÜ�—‘—‘¤§¡¨!£×!2Ñ!2×!7Ñ!7Ô8Ü�s˜AÔäŒL˜ÓÔ 1Ð1Ô2äŒLœ›Ó" dÐ*Ô+÷ñ ô ŒL™›ÓÔ!2Ð2Ô3ä
˜˜Q�xÓ
  Ñ
%€CÜ�—‘˜DÔ!Ü�—‘—‘¤§¡Ô,ä	�‰”oÐ-GÔ	Hñ <Ü”˜c !˜WÓ%Ô):Ð:Ô;÷<ô 
�‰”oÐ-GÔ	Hñ =Ü”˜d 1˜XÓ&Ô*;Ð;Ô<÷=ô 
�‰”oÐ-GÔ	Hñ 9Ü”\ q¨q¡/Ó2Ü—‘˜4˜&¨¨Ô7ô	9÷9ð 9÷kMñ Mú÷
Mñ Mú÷T<ð <ú÷=ð =ú÷9ð 9ús<   Â-P<ÄQ	ÎQÏQ"Ð0Q.Ð<QÑ	QÑQÑ"Q+Ñ.Q7c                  óH  — ddg} t        j                  d| ¬«      }d|d   d<   d|d   d	<   d
|d   d<   d|d   d	<   t        «       }t        |d|i«       t	        |d¬«      }|d   d   }t        |j                  d«       t        |j                  d«       t	        |d¬«      }|d   d   }t        |d   d«       t        |d	   d«       t        |j                  t        j                  ddg«      «       |d   j                  d   }t        |d   d
«       t        |d	   d«       y )N)Úf1Úf8)Úf2ÚS10rq  r2   g      à?r   r{  Úpythonr}  éc   r4   znot perlr,   Frï   rF   T)r{  ÚO)r}  r�  )
r(   rÝ   r   r   r   r   r{  r}  r3   Úflat)Údtr,   r3  rý   Úa20Úa21s         r-   Útest_recarrayr†    s#  € à
Ø
ð
€Bä
�(‰(�4˜rÔ
"€CØ€Cˆ�Fˆ4�LØ€Cˆ�Fˆ4�LØ€Cˆ�Fˆ4�LØ€Cˆ�Fˆ4�LÜ‹Y€FÜˆF�U˜C�LÔ!Ü�¨Ô/€AØ
ˆE‰(�3‰-€CÜ�—‘˜ÔÜ�—‘˜Ô"Ü�¨Ô.€AØ
ˆE‰(�3‰-€CÜ��T‘˜CÔ Ü��T‘˜HÔ%ä�—‘œBŸH™H kØ&1ð&3ó 4ô 5à
ˆE‰(�-‰-˜Ñ
€CÜ��T‘˜BÔÜ��T‘˜JÕ'r/   c                  óZ  —  G d„ d«      }  | «       }d|_         d|_        t        «       }t        |d|i«       t	        |d¬«      }|d   d   }t        |j                   d«       t        |j                  d«       t	        |d	¬«      }|d   d   }t        |d
   d«       t        |d   d«       y )Nc                   ó   — e Zd Zy)útest_save_object.<locals>.CNrd  r‚   r/   r-   rn  r‰  "  ri  r/   rn  r4   rk  rx  Frï   rF   TÚfield1Úfield2)rŠ  r‹  r   r   r   r   )rn  rx  r3  rý   Úc2s        r-   Útest_save_objectr�  !  s    € ÷ñ á	‹€AØ€A„HØ€A„HÜ‹Y€FÜˆF�S˜!�HÔÜ�¨Ô/€AØ	
ˆ3‰�‰€BÜ�—‘˜AÔÜ�—‘˜JÔ'Ü�¨Ô.€AØ	
ˆ3‰�‰€BÜ��H‘˜qÔ!Ü��H‘˜zÕ*r/   c                  ó¦  — t        j                  d«      j                  dd«      } t        «       }t	        |d| i«       t        |«      }|j                  «       }|d   }t        || «       t        |d¬«      }t        |j                  «       d   | j                  d«      «       d|_        t        || «       t        |t        j                  ¬«      }t        |j                  «       d   | «       t        |t        j                  ¬«      }t        t        |j                  «       t        j                  |_        t        |j                  «       d   | «       t        j                  d	g«      } |j!                  d
«       |j#                  d
«       t	        |d| i«       t        |«      }t        |j                  «       d   | «       t        |d¬«      }t        j$                  t        j                  t'        | j)                  «       «      d¬«      «      }t        |j                  «       d   |«       d|_        t        |j                  «       d   | «       y )NrA   r4   rK   T©Ú
squeeze_me)rA   F)Ú
byte_orderrk  r   )Úchars_as_stringsÚU1r2   )r(   r;  r)   r   r   r"   rK  r	   r�  ÚbocÚnative_codeÚswapped_coderð   Ú	Exceptionr‘  r   r)  r¹   Ú
atleast_2dÚlistr†   r’  )r,   r3  ÚrdrÚ	back_dictÚrarrÚcarrs         r-   Útest_read_optsrž  3  sÊ  € ô �)‰)�A‹,×
Ñ
˜q Ó
#€CÜ‹Y€FÜˆF�S˜#�JÔÜ
˜Ó
 €CØ×!Ñ!Ó#€IØ�S‰>€DÜ�t˜SÔ!Ü
˜¨DÔ
1€CÜ�s×(Ñ(Ó*¨3Ñ/°·±¸TÓ1BÔCØ€C„NÜ�t˜SÔ!Ü
˜¬C¯O©OÔ
<€CÜ�s×(Ñ(Ó*¨3Ñ/°Ô5ô ˜¬C×,<Ñ,<Ô
=€CÜ”)˜S×.Ñ.Ô/Ü—_‘_€C„NÜ�s×(Ñ(Ó*¨3Ñ/°Ô5Ü
�(‰(�J�<Ó
 €CØ
‡O�O�AÔØ
‡K�K�„NÜˆF�S˜#�JÔÜ
˜Ó
 €CÜ�s×(Ñ(Ó*¨3Ñ/°Ô5Ü
˜°%Ô
8€CÜ�=‰=œŸ™¤$ s§x¡x£zÓ"2¸$Ô?Ó@€DÜ�s×(Ñ(Ó*¨3Ñ/°Ô6Ø€CÔÜ�s×(Ñ(Ó*¨3Ñ/°Õ5r/   c                  óØ  — t        t        d«      } t        | d«      }t        |«      }|j	                  «       }|j                  «        t        |d   t        j                  g d¬«      «       t        «       }t        |dt        j                  dg«      i«       t        |«      }|j	                  «       }t        |d   t        j                  g d¬«      «       |j                  d«       |j                  d«       t        |dt        j                  g d¬«      i«       t        |«      }|j	                  «       }t        |d   t        j                  g d¬«      «       |j                  «        y )Nzsingle_empty_string.matry   rK   r“  r2   Ú r   )rÄ   rÅ   rß   r"   rK  rà   r	   r(   r   r   r   r)  r¹   )Úestring_fnamerô   rš  rý   r3  s        r-   Útest_empty_stringr¢  V  s  € äœ.Ð*CÓD€MÜ	ˆm˜TÓ	"€BÜ
˜Ó
€CØ×ÑÓ€AØ‡H�H„JÜ�q˜‘vœrŸx™x¨°$Ô7Ô8ô ‹Y€FÜˆF�Sœ"Ÿ(™( B 4›.Ð)Ô*Ü
˜Ó
 €CØ×ÑÓ€AÜ�q˜‘vœrŸx™x¨°$Ô7Ô8Ø
‡O�O�AÔØ
‡K�K�„NÜˆF�Sœ"Ÿ(™( 2¨TÔ2Ð3Ô4Ü
˜Ó
 €CØ×ÑÓ€AÜ�q˜‘vœrŸx™x¨°$Ô7Ô8Ø
‡L�L…Nr/   c                  óè   — dd l } t        df| j                  dffD ]I  \  }}t        t	        t
        |«      d«      5 }t        |«      }t        ||j                  «       d d d «       ŒK y # 1 sw Y   ŒVxY w)Nr   úcorrupted_zlib_data.matzcorrupted_zlib_checksum.matry   )	Úzlibr  r÷   rß   rÄ   rÅ   r"   rð   rK  )r¥  Úexcræ   rô   rš  s        r-   Útest_corrupted_datar§  q  sx   € ÛÜ"Ð$=Ð>ØŸ
™
Ð$AÐBðDò 2‰
ˆˆUä”%œ¨Ó.°Ó5ð 	2¸Ü  Ó$ˆCÜ˜#˜s×0Ñ0Ô1÷	2ð 	2ñ2÷	2ð 	2ús   »"A(Á(A1	c                  óœ   — t        t        t        d«      d«      5 } t        | d¬«      }|j	                  «        d d d «       y # 1 sw Y   y xY w)Nr¤  ry   F)Ú verify_compressed_data_integrity)rß   rÄ   rÅ   r"   rK  )rô   rš  s     r-   Ú)test_corrupted_data_check_can_be_disabledrª  z  sC   € Ü	Œe”NÐ$=Ó>ÀÓ	Eð ÈÜ˜RÀ%ÔHˆØ×ÑÔ÷÷ ñ ús   ›AÁAc            	      ód  — dD ]«  } t        t        t        | «      d«      }t        |«      }|j	                  «       }|j                  «        t        |d   t        j                  dgdggt        ¬«      «       t        |d   t        j                  dd	gd	d
ggt        j                  ¬«      «       Œ­ y )N)zbig_endian.matzlittle_endian.matry   ÚstringsÚhelloÚworldr2   Úfloatsç       @ç      @ç      @)rß   rÄ   rÅ   r"   rK  rà   r	   r(   r   rw   Úfloat32)ræ   rô   rš  rý   s       r-   Útest_read_both_endianr´  €  sª   € à8ò 
CˆÜ”%œ¨Ó.°Ó5ˆÜ˜RÓ ˆØ×ÑÓˆØ
�‰Œ
Ü˜1˜Y™<ÜŸ8™8 g YØ&- Yð%0Ü7=ô?ô	@ô 	˜1˜X™;ÜŸ8™8 b¨" XØ&(¨" Xð%/Ü68·j±jôBõ	Cñ
Cr/   c            	      óÖ  — t        j                  ddgddgg«      } t        j                  d«      j                  d«      }t        j                  ddgd¬	«      }t	        «       }t        || j                  «       j                  | j                  j                  «       «      |j                  «       j                  |j                  j                  «       «      |j                  «       j                  |j                  j                  «       «      d
œ«       t        |«      }|j                  «       }t        |d   | «       t        |d   |«       t        |d   |«       |j                  «        y )Nr°  r±  r²  rA   rÙ   r­  r®  rP  r2   )r¯  ÚintsÚuni_arrr¯  r¶  r·  )r(   r   r;  r)   r   r   ÚbyteswapÚviewr3   Únewbyteorderr"   rK  r	   rà   )Ú	float_arrÚint_arrr·  r3  rš  rý   s         r-   Útest_write_opposite_endianr½  �  s   € ô —‘˜2˜r˜(Ø˜r˜(ð$ó %€Iä�i‰i˜‹l×"Ñ" 6Ó*€GÜ�h‰h˜ Ð)°Ô5€GÜ‹Y€FÜˆFØ×$Ñ$Ó&×+Ñ+¨I¯O©O×,HÑ,HÓ,JÓKØ× Ñ Ó"×'Ñ'¨¯©×(BÑ(BÓ(DÓEØ×#Ñ#Ó%×*Ñ*¨7¯=©=×+EÑ+EÓ+GÓHñô ô
 ˜Ó
 €CØ×ÑÓ€AÜ�q˜‘{ IÔ.Ü�q˜‘y 'Ô*Ü�q˜‘| WÔ-Ø
‡L�L…Nr/   c                  óR  — t        t        t        d«      d«      5 } t        | d¬«      }|j	                  «       }d d d «       t        j                  dgdggt
        j                  ¬«      }t        d   |«       t        |d   j                  |j                  «       y # 1 sw Y   ŒexY w)Nztestbool_8_WIN64.matry   T©Ú	mat_dtypeFr2   r}   )rß   rÄ   rÅ   r"   rK  r(   r   r›   r	   r   r3   )Úfobjrš  rý   rv   s       r-   Útest_logical_arrayrÂ  ¤  sŒ   € ô 
Œe”NÐ$:Ó;¸TÓ	Bð  ÀdÜ˜T¨TÔ2ˆØ×ÑÓˆ÷ ô 	�‰�4�&˜5˜'Ð"¬"¯(©(Ô3€AÜ�q˜‘~ qÔ)Ü��;‘×%Ñ% q§w¡wÕ/÷ ð  ús   ›BÂB&c                  óô  — t        «       } t        j                  g d¢«      }t        | d|i«       | j	                  d«       t        | «      }|j                  «        |j                  «        |j                  «       \  }}t        |j                  t        j                  «       t        |j                  d«       |j                  |d«      }t        |j                  j                   t        j"                  «       y )N)FTFÚbarrayr   TF)r   r(   r   r   r¹   r"   Úinitialize_readÚread_file_headerÚread_var_headerr   ÚmclassÚmio5pÚmxUINT8_CLASSÚ
is_logicalÚread_var_arrayr3   rƒ   Úuint8)r3  ÚbarrÚreaderÚhdrÚ_Úvars         r-   Útest_logical_out_typerÓ  ¯  s²   € ô ‹Y€FÜ�8‰8Ò(Ó)€DÜˆF�X˜tÐ$Ô%Ø
‡K�K�„NÜ˜FÓ#€FØ
×ÑÔØ
×ÑÔØ×#Ñ#Ó%�F€CˆÜ�—‘œU×0Ñ0Ô1Ü�—‘ Ô&Ø
×
Ñ
  UÓ
+€CÜ�—‘—‘¤§¡Õ*r/   c                  ó˜   — t        «       } t        | dt        j                  d«      i«       t	        | «      }|d   j
                  dk(  sJ ‚y )Nrý   )r#  r   )r   r   r(   Úemptyr   r…   )r3  rý   s     r-   Útest_roundtrip_zero_dimensionsrÖ  À  s@   € Ü‹Y€FÜˆF�SœŸ™ 'Ó*Ð+Ô,Ü�‹€AØˆS‰6�<‰<˜7Ò"Ð"Ñ"r/   c                  ó”   — t        «       } t        j                  d«      j                  d«      }t	        t
        t        | d|idd«       y )Né   )rR   r?   r0   rK   Tr½   )r   r(   r;  r)   rð   r  r   )r3  r,   s     r-   Útest_mat4_3drÙ  Ç  s7   € ä‹Y€FÜ
�)‰)�B‹-×
Ñ
 Ó
(€CÜ”*œg v°°S¨z¸4ÀÕEr/   c                  ó|  — t        t        d«      } t        | d«      }t        |«      }|j	                  «       }|j                  «        t        |d   t        «      sJ ‚t        «       }t        |«      }t        j                  t        d¬«      5  t        t        |j                  |«       d d d «       y # 1 sw Y   y xY w)Nztestfunc_7.4_GLNX86.matry   Útestfuncr]  r^  )rÄ   rÅ   rß   r"   rK  rà   r’   r   r   r!   rr  r   r   rð   r   r'  )Úfunc_egrô   rš  rý   r3  r*  s         r-   Útest_func_readrÝ  Î  s—   € Ü”NÐ$=Ó>€GÜ	ˆg�tÓ	€BÜ
˜Ó
€CØ×ÑÓ€AØ‡H�H„JÜ�a˜
‘m¤^Ô4Ð4Ð4Ü‹Y€FÜ
˜Ó
 €Cä	�‰”oÐ-GÔ	Hñ ;Ü”m S×%6Ñ%6¸Ô:÷;÷ ;ñ ;ús   ÂB2Â2B;c                  ó”  — t        t        d«      } t        | d«      }t        |d¬«      }|j	                  «       }|j                  «        t        |d   j                  j                  d«       t        | d«      }t        |d¬«      }|j	                  «       }|j                  «        t        |d   j                  j                  d«       y )	Nztestmatrix_6.1_SOL2.matry   Fr¿  rC   ÚuTrì   )	rÄ   rÅ   rß   r"   rK  rà   r   r3   Úkind)Ú	double_egrô   rš  rý   s       r-   Útest_mat_dtyperâ  Ü  s¡   € Ü”nÐ&?Ó@€IÜ	ˆi˜Ó	€BÜ
˜ uÔ
-€CØ×ÑÓ€AØ‡H�H„JÜ��<‘×&Ñ&×+Ñ+¨SÔ1ä	ˆi˜Ó	€BÜ
˜ tÔ
,€CØ×ÑÓ€AØ‡H�H„JÜ��<‘×&Ñ&×+Ñ+¨SÕ1r/   c                  óÔ   — dt        d«      i} t        «       }t        |d| i«       t        |d¬«      }t	        |d   d   d   j                  «       t        j                  d«      «       y )NÚsparsefieldr0   rK   Trï   rF   )r   r   r   r   r	   r‘   r(   Úeye)Ústr3  rý   s      r-   Útest_sparse_in_structrç  ë  s[   € ð œ 1›Ð	&€BÜ‹Y€FÜˆF�S˜�HÔÜ�¨Ô.€AÜ�q˜‘v˜d‘| MÑ2×:Ñ:Ó<¼b¿f¹fÀQ»iÕHr/   c                  ót   — t        «       } ddddœi}t        | |«       t        | d¬«       t        | dd¬«       y )	Nræ  r4   rR   ri   Frï   T)r¥   r�  )r   r   r   )r3  Úin_ds     r-   Útest_mat_struct_squeezerê  õ  s8   € Ü‹Y€FØ˜ Ñ#Ð$€DÜˆF�DÔäˆF UÕ+äˆF U°tÖ<r/   c                  ó  — t        «       } dggddddœdœ}t        | |«       t        | d¬«      }t        t	        |d	   t
        «      «       t        t	        |d
   t        «      «       t        t	        |d   t        j                  «      «       y )Nçš™™™™™¹?zmy namer4   rR   ri   )Úscalarr:   ræ  Tr�  rí  r:   ræ  )	r   r   r   r   r’   Úfloatr™   r(   r„   )r3  ré  Úout_ds      r-   Útest_scalar_squeezerð  ÿ  sq   € Ü‹Y€FØ�u�g¨ÀÈÑ9KÑL€DÜˆF�DÔÜ�F tÔ,€EÜŒJ�u˜X‘¬Ó.Ô/ÜŒJ�u˜X‘¬Ó,Ô-ÜŒJ�u˜T‘{¤B§J¡JÓ/Õ0r/   c                  óÀ  — t        «       } t        j                  ddg«      }t        j                  ddg«      }t        | t	        |¬«      «       t        | «      }t        |d   |«       | j                  d«       | j                  d«       |j                  d¬«      }t        j                  t        j                  |j                  d|¬	«      }t        | t	        |¬«      «       t        |d   |«       | j                  d«       | j                  d«       |j                  d
«      }|j                  d
«      }t        | d|i«       t        | «      }t        |d   |«       y )Nr  ÚFoobzFoob )rK   rK   r   ÚF)Úorder)r…   r3   rô  ÚbufferrP  )r   r(   r   r   rÆ   r   r	   r)  r¹   Útobytesr„   rK   r…   r3   Úastype)r3  Úin_arrÚout_arrru  Úin_strÚin_from_strÚin_arr_uÚ	out_arr_us           r-   Útest_str_roundrþ  	  s  € ä‹Y€FÜ�X‰X�w Ð'Ó(€FÜ�h‰h˜ Ð)Ó*€GÜˆF”D˜6”NÔ#Ü
�&‹/€Cä�s˜3‘x Ô)Ø
‡O�O�AÔØ
‡K�K�„Nà�^‰^ #ˆ^Ó&€FÜ—*‘*¤1§7¡7Ø#)§<¡<Ø#&Ø$*ô,€Kô ˆF”D˜;Ô'Ô(Ü�s˜3‘x Ô)à
‡O�O�AÔØ
‡K�K�„NØ�}‰}˜SÓ!€HØ—‘˜sÓ#€IÜˆF�S˜(�OÔ$Ü
�&‹/€CÜ�s˜3‘x Õ+r/   c                  ó°   — t        «       } t        | ddddœi«       t        | «      }|d   j                  j                  }t        t        |«      ddh«       y )NrK   r4   rR   r/  r.  )r   r   r   r3   r0  r   Úset)r3  ru  Úfield_namess      r-   Útest_fieldnamesr  &  sK   € ä‹Y€FÜˆF�S˜q a™.Ð)Ô*Ü
�&‹/€CØ�c‘(—.‘.×&Ñ&€KÜ”�[Ó! C¨ :Õ.r/   c                  óx  — g d¢} t        t        d«      g ft        t        d«      | ffD �]Ž  \  }}t        |«      }t        t	        |j                  «       «      t	        ddg|z   «      «       t        |d¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |dg¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |dg¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |d¬«      }t        t	        |j                  «       «      t	        dg|z   «      «       t        |g ¬«      }t        t	        |j                  «       «      t	        |«      «       dg}t        ||¬«      }t        |dg«       �Œ‘ y )N)Ú__globals__Ú
__header__Ú__version__ztestmulti_4.2c_SOL2.matztestmulti_7.4_GLNX86.matrK   rJ   )Úvariable_names)rJ   )rÄ   rÅ   r   r   r   Úkeys)Úmat5_sys_namesÚeg_fileÚsys_v_namesÚvarsÚvnamess        r-   Útest_loadmat_varnamesr  /  sv  € ò%€Nô 
Œ~Ð8Ó	9¸2Ð>ÄÜÐ6óB8Ø9GðAIð!Jó (Ñˆ�ô �wÓˆÜ”S˜Ÿ™›Ó%¤s¨C°¨>¸KÑ+GÓ'HÔIÜ�w¨sÔ3ˆÜ”S˜Ÿ™›Ó%¤s¨C¨5°;Ñ+>Ó'?Ô@Ü�w°¨uÔ5ˆÜ”S˜Ÿ™›Ó%¤s¨C¨5°;Ñ+>Ó'?Ô@Ü�w°¨yÔ9ˆÜ”S˜Ÿ™›Ó%¤s¨G¨9°{Ñ+BÓ'CÔDÜ�w¨zÔ:ˆÜ”S˜Ÿ™›Ó%¤s¨G¨9°{Ñ+BÓ'CÔDÜ�w¨rÔ2ˆÜ”S˜Ÿ™›Ó%¤s¨;Ó'7Ô8Ø�ˆÜ�w¨vÔ6ˆÜ�V˜g˜YÖ'ñ#(r/   c                  ó<  — t        j                  d«      } t        «       }dD ]x  }|j                  d«       |j	                  d«       t        |d| j                  |«      i«       t        |«      }t        t        j                  |«      |d   j                  «       Œz y )Nr#  )r|  Úf4Úi8Úi4Úi2Úi1Úu8Úu4Úu2Úu1Úc16Úc8r   r,   )
r(   r;  r   r)  r¹   r   r÷  r   r   r3   )r,   r3  Údtsr  s       r-   Útest_round_typesr  H  sz   € ä
�)‰)�B‹-€CÜ‹Y€Fð0ò 7ˆà�‰˜ÔØ�‰�AŒÜ�˜ §
¡
¨3£Ð0Ô1Ü�v‹ˆÜ”R—X‘X˜c“] D¨¡K×$5Ñ$5Õ6ñ7r/   c                  ó’  ‡	— dt        t        j                  d«      «      fdt        d«      fdt        d«      ffŠ	 G ˆ	fd„d«      } t        «       }t	        | | «       «       t        |«      }t        t        |«      d«       t        d«      D ]8  }||   \  }}‰	|   \  }}t        ||«       t        |«      }t        ||   |«       Œ: y )	Nr,   r#  Úmystrrk  Úmynumc                   ó   •— e Zd Zˆ fd„Zy)ú test_varmats_from_mat.<locals>.Cc                 ó   •— ‰S rÑ   r‚   ©ÚselfÚ
names_varss    €r-   r©   z&test_varmats_from_mat.<locals>.C.items]  ó	   ø€ ØÐr/   N©re  rf  rg  r©   ©r%  s   €r-   rn  r!  \  ó   ø„ õ	r/   rn  r?   )r.   r(   r;  r   r   r#   r   rÇ   Úranger   r	   )
rn  r3  ÚvarmatsrŸ   r7   Ú
var_streamÚexp_nameÚexp_resru  r%  s
            @r-   Útest_varmats_from_matr/  U  sÀ   ø€ àœ%¤§	¡	¨"£Ó.Ð/ØœE *Ó-Ð.ØœE "›IÐ&ð(€J÷
ó ô ‹Y€FÜˆF‘A“CÔÜ˜vÓ&€GÜ”�W“˜qÔ!Ü�1‹Xò /ˆØ" 1™:ÑˆˆjØ& q™MÑˆ�'Ü�T˜8Ô$Ü�jÓ!ˆÜ˜3˜t™9 gÕ.ñ/r/   c                  óÄ   — t        t        d«      } t        | d«      }t        |«      }|j	                  «       }|j                  «        t        |d   j                  d«       y )Nzone_by_zero_char.matry   rÒ  rj  )rÄ   rÅ   rß   r"   rK  rà   r   r…   )rÜ  rô   rš  rý   s       r-   Útest_one_by_zeror1  k  sN   € ä”NÐ$:Ó;€GÜ	ˆg�tÓ	€BÜ
˜Ó
€CØ×ÑÓ€AØ‡H�H„JÜ��5‘—‘ Õ&r/   c                  ó^   — t        t        d«      } t        | «      }t        |d   ddgg«       y )Nztest_mat4_le_floats.matrK   rì  g333333ó?)rÄ   rÅ   r   r	   )Ú
mat4_fnamer  s     r-   Útest_load_mat4_ler4  u  s/   € ô ”~Ð'@ÓA€JÜ�:Ó€DÜ�t˜C‘y C¨ : ,Õ/r/   c                  óv   — t        «       } ddi}t        | |d¬«       t        | «      }t        |d   |d   «       y )NÚ
second_catu   SchrÃ¶dingerr½   r·   )r   r   r   r   )ÚbiorÒ  Úvar_backs      r-   Útest_unicode_mat4r9  }  s<   € ä
‹)€CØ˜Ð
(€CÜˆC�˜SÕ!Ü�s‹|€HÜ�˜,Ñ'¨¨\Ñ):Õ;r/   c            	      óB  — t        t        d«      } t        | dd¬«      }|d   }t        t	        |«      xr |j
                  dk(  «       t        |j                  j                  t        j                  «       t        |j                  «       g d¢g d¢g d¢g d	¢g d	¢g«       y )
Nzlogical_sparse.matTFr¤   Ú
sp_log_5_4Úcsc)TTTF)FFTF)FFFF)rÄ   rÅ   r   r   r   r¸   r   r3   rƒ   r(   r›   r	   r‘   )ró   rý   Úlog_sps      r-   Útest_logical_sparser>  †  s‚   € ô ”^Ð$8Ó9€Hô 	�¨4¸%Ô@€AØˆ|‰_€FÜŒH�VÓÒ7 §¡°%Ñ!7Ô8Ü�—‘×"Ñ"¤B§H¡HÔ-Ü�v—~‘~Ó'Ú1Ú3Ú3Ú4Ú4ð	6õ7r/   c                  ó  — t        «       } dd l}|j                  j                  ddgddgg«      }t	        | t        |¬«      «       | j                  d«       t        | d¬«      }|j                  j                  |d   «      rJ ‚t        | d¬«      }|j                  j                  |d   «      sJ ‚t        | «      }|j                  j                  |d   «      sJ ‚t        |d   j                  |j                  «       t        |d   j                  «       d«       | j                  d«       t        | «      }|j                  «        |j                  «        |j                  «       \  }}t!        |j"                  d«       y )Nr   ré   F)r¦   rv   Tr4   )r   Úscipy.sparserD   Ú	csr_arrayr   rÆ   r¹   r   Ú
isspmatrixr	   r…   r‘   r"   rÅ  rÆ  rÇ  r   Únzmax)rÿ   ÚscipyÚempty_sparseru  rÏ  rÐ  rÑ  s          r-   Útest_empty_sparserF  ›  s9  € ä
‹)€CÛØ—<‘<×)Ñ)¨A¨a¨5°!°A°¨-Ó8€LÜˆC”˜Ô%Ô&Ø‡H�HˆQ„Kä
�# Ô
&€CØ�|‰|×&Ñ& s¨3¡xÔ0Ð0Ð0Ü
�# Ô
%€CØ�<‰<×"Ñ" 3 s¡8Ô,Ð,Ð,Ü
�#‹,€CØ�<‰<×"Ñ" 3 s¡8Ô,Ð,Ð,ä�s˜3‘x—~‘~ |×'9Ñ'9Ô:Ü�s˜3‘x×'Ñ'Ó)¨1Ô-ð ‡H�HˆQ„KÜ˜CÓ €FØ
×ÑÔØ
×ÑÔØ×#Ñ#Ó%�F€CˆÜ�—‘˜AÕr/   c                  óB   — t        «       } t        t        t        | «       y rÑ   )r   rð   r   r   )rÿ   s    r-   Útest_empty_mat_errorrH  ¶  s   € ä
‹)€CÜ”,¤¨Õ-r/   c                  ó
  — t        t        d«      } t        | «      }t        |d   t	        j
                  d«      d d d …f   «       t        t        d«      } t        t        «      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nzmiuint32_for_miint32.matÚan_arrayr#  zbad_miuint32.mat)rÄ   rÅ   r   r   r(   r;  rð   r  ©ró   ru  s     r-   Útest_miuint32_compromiserL  ¼  sl   € ô ”^Ð%?Ó@€HÜ
�(Ó
€CÜ��Z‘¤"§)¡)¨B£-°²a°Ñ"8Ô9ä”^Ð%7Ó8€HÜ	”zÓ	"ñ Ü�Ô÷÷ ñ ús   Á$A9Á9Bc                  óÚ   — t        t        d«      } t        | «      }t        |d   dgg«       t        t        d«      } t	        t
        «      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nzmiutf8_array_name.matÚ
array_namer4   zbad_miutf8_array_name.mat)rÄ   rÅ   r   r   rð   r  rK  s     r-   Ú!test_miutf8_for_miint8_compromiserO  È  s^   € ä”^Ð%<Ó=€HÜ
�(Ó
€CÜ��\Ñ" a S EÔ*ä”^Ð%@ÓA€HÜ	”zÓ	"ñ Ü�Ô÷÷ ñ ús   ÁA!Á!A*c                  óx   — t        t        d«      } t        | «      }t        |d   dj	                  dd«      «       y )Nzbroken_utf8.matÚ
bad_strings   € am brokenÚutf8Úreplace)rÄ   rÅ   r   r   ÚdecoderK  s     r-   Útest_bad_utf8rU  Ó  s8   € ä”^Ð$5Ó6€HÜ
�(Ó
€CÜ��\Ñ"Ø"×)Ñ)¨&°)Ó<õ>r/   c                 ó|   — t         j                  j                  t        | «      d«      }ddddœi}t	        ||«       y )Nútest.matrK   r4   Útest_str)r.  rx  )rê   Úpathr   r™   r   )rå   ró   Ú	test_dicts      r-   Útest_save_unicode_fieldr[  Û  s3   € Ü�w‰w�|‰|œC ›K¨Ó4€HØ˜! 
Ñ+Ð,€IÜˆH�iÕ r/   c                 óî   —  G d„ d«      } |«       }t         j                  j                  t        | «      d«      }t	        |d|i«       t        |«      }t        |d   t        j                  |«      «       y )Nc                   ó   — e Zd Zdd„Zy)ú0test_save_custom_array_type.<locals>.CustomArrayNc                 óL   — t        j                  d«      j                  dd«      S )Ng      @rR   r?   )r(   r;  r)   )r$  r3   rA  s      r-   Ú	__array__z:test_save_custom_array_type.<locals>.CustomArray.__array__ã  s   € Ü—9‘9˜S“>×)Ñ)¨!¨QÓ/Ð/r/   )NN)re  rf  rg  r`  r‚   r/   r-   ÚCustomArrayr^  â  s   „ ô	0r/   ra  rW  rK   )	rê   rY  r   r™   r   r   r	   r(   r   )rå   ra  rK   ró   Úouts        r-   Útest_save_custom_array_typerc  á  s[   € ÷0ñ 0ñ 	‹€AÜ�w‰w�|‰|œC ›K¨Ó4€HÜˆH�s˜A�hÔÜ
�(Ó
€CÜ�s˜3‘x¤§¡¨!£Õ-r/   c                  óX   — t        t        t        d«       t        t        t        d«       y )NzNotExistentFile00.matÚNotExistentFile00)rð   ÚOSErrorr   r‚   r/   r-   Útest_filenotfoundrg  ì  s   € ä”'œ7Ð$;Ô<Ü”'œ7Ð$7Õ8r/   c                  ó*  — t        t        d«      } t        | d¬«      }t        | d¬«      }t        t	        |d   t
        «      «       t        t	        |d   t        j                  «      «       t        |d   d   t        j                  g d¢«      «       y )Nztestsimplecell.matT©Úsimplify_cellsFÚsÚmycell)rK   r.  rx  )
rÄ   rÅ   r   r   r’   rÆ   r(   r„   r	   r   )ró   Úres1Úres2s      r-   Útest_simplify_cellsro  ò  sm   € ä”^Ð%9Ó:€HÜ�8¨DÔ1€DÜ�8¨EÔ2€DÜŒJ�t˜C‘y¤$Ó'Ô(ÜŒJ�t˜C‘y¤"§*¡*Ó-Ô.Ü�t˜C‘y Ñ*¬B¯H©H²_Ó,EÕFr/   zversion, filt, regex))r   z_4*_*N)r4   z_5*_*N)r4   z_6*_*N)r4   ú_7*_*z^((?!hdf5).)*$)rR   rp  z.*hdf5.*)r4   z8*_*Nc                 ó
  — t        t        d|› d�«      }t        |«      }|�&|D �cg c]  }t        j                  ||«      €Œ|‘Œ }}t        |«      dkD  sJ d| › d|› �«       ‚|D ]  }t        |«      }|d   | k(  rŒJ ‚ y c c}w )Nztest*z.matr   zNo files for version rÀ   )rÄ   rÅ   r   Úrer_  rÇ   r   )rt   rÈ   ÚregexrÊ   rª   ÚfileÚgot_versions          r-   Útest_matfile_versionrv  ü  s£   € ô ”^ u¨T¨F°$Ð%7Ó8€HÜ�‹N€EØÐØ"'ÖM˜$¬2¯8©8°E¸4Ó+@Ñ+L’ÐMˆÐMÜˆu‹:˜Š>ð >Ø
 ˜y¨°t°fÐ=ó>ˆ>àò )ˆÜ% dÓ+ˆØ˜1‰~ Ó(Ð(Ð(ñ)ùò Ns   ¦B ÁB c                  óÎ   — t        t        t        d«      «      } t        | d   t        «      sJ ‚t        | d   j                  «       d   j                  «       d   t        «      sJ ‚y)z,Test that we can read a MatlabOpaque object.úparabola.matÚparabolar?   N)r   rÄ   rÅ   r’   r   r†   r   ©r&   s    r-   Útest_opaquer{    sY   € ä”5œ¨Ó8Ó9€DÜ�d˜:Ñ&¬Ô7Ð7Ð7Ü�d˜:Ñ&×+Ñ+Ó-¨aÑ0×5Ñ5Ó7¸Ñ:¼LÔIÐIÑIr/   c                  ód   — t        t        t        d«      d¬«      } t        | d   t        «      sJ ‚y)zETest that we can read a MatlabOpaque object when simplify_cells=True.rx  Tri  ry  N)r   rÄ   rÅ   r’   r   rz  s    r-   Útest_opaque_simplifyr}    s*   € ä”5œ¨Ó8ÈÔN€DÜ�d˜:Ñ&¬Ô7Ð7Ñ7r/   c                  óü   — t        t        «      5  t        j                  j                  j
                  j                   ddd«       t        t        «      5  ddlm}  ddd«       y# 1 sw Y   Œ(xY w# 1 sw Y   yxY w)z4Test that access to previous attributes still works.Nr   ©r   )	Úassert_warnsÚDeprecationWarningrD  ÚioÚmatlabÚmio5_paramsr   Úscipy.io.matlab.miobaser   r  s    r-   Útest_deprecationr†    sa   € ô 
Ô(Ó	)ñ 1Ü�‰�‰×#Ñ#×0Ò0÷1ô 
Ô(Ó	)ñ 9Ý8÷9ð 9÷	1ð 1ú÷9ð 9ús   �/A&ÁA2Á&A/Á2A;c                 ó*  — t         j                  j                  d«      }| dz  }|j                  d«      }|j                  d«      }||g}t        |d|idd¬«       i }t	        ||«       t        |d   d   d   |«       t        |d   d   d	   |«       y )
Ni90  z	lists.mat)r@   r?   )rA   r?   r&   T)r  r?  r   r4   )r(   ÚrandomÚdefault_rngr   r   r   )Útmp_pathÚrngÚoutfileÚ	array_oneÚ	array_twoÚlist_of_arraysÚnew_dicts          r-   Útest_gh_17992r‘  (  s¤   € Ü
�)‰)×
Ñ
 Ó
&€CØ˜Ñ$€GØ—
‘
˜5Ó!€IØ—
‘
˜5Ó!€IØ Ð+€NÜˆGØ�^Ð$Ø!Øõ!ð
 €HÜˆGØôä�H˜VÑ$ QÑ'¨Ñ*¨IÔ6Ü�H˜VÑ$ QÑ'¨Ñ*¨IÕ6r/   c                 ó°   — t        j                  t        d«      t        d«      gd¬«      t        j                  ddg«      dœ}| dz  }t        ||d¬«       y )	Nr<   r“  r2   r:   )Ú
char_arrayÚstring_arrayztmp.matr½   r·   )r(   r   r™  r   )rŠ  rý   rŒ  s      r-   Útest_gh_19659r•  :  sM   € ä—h‘h¤ V£¬d°6«lÐ;À4ÔHÜŸ™ (¨HÐ!5Ó6ñ	
€Að ˜Ñ"€GäˆG�Q˜sÖ#r/   c                  óä   — t        t        d«      } t        j                  t        j                  k(  rdnd}t        j                  t        |¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nzdebigged_m4.matz$Not enough bytes to read matrix 'a';z9Variable 'a' has byte length longer than largest possibler^  )	rÄ   rÅ   r(   ÚintpÚint64rr  r   r  r   )Útruncated_matr_  s     r-   Útest_large_m4rš  D  s[   € ô œ.Ð*;Ó<€Mä—‘œ2Ÿ8™8Ò#ñ 4àHð 
ô 
�‰”z¨Ô	/ñ Ü�Ô÷÷ ñ ús   ÁA&Á&A/c                  ó   — ddl m}  y )Nr   ©r#   )Úscipy.io.matlabr#   rœ  s    r-   Útest_gh_19223rž  T  s   € Þ0r/   c                  óÀ   — dt        t        j                  d«      «      fdt        d«      ff} t        | «       ddddœff} t        | «       dddd	œff} t        | «       y )
NÚ_1r#  r  rk  Úmymapr4   rR   )rK   Ú_b)rK   Ú1a)r.   r(   r;  Úcheck_mat_write_warningr(  s    r-   Útest_invalid_field_name_warningr¥  X  si   € à	Œu”R—Y‘Y˜r“]Ó#Ð$Ø	”%˜
Ó#Ð$ð&€Jô ˜JÔ'à !¨1Ñ-Ð.Ð0€JÜ˜JÔ'à !¨1Ñ-Ð.Ð0€JÜ˜JÕ'r/   c                 ó´   ‡ —  G ˆ fd„d«      }t        «       }t        j                  t        d¬«      5  t	        | |«       «       d d d «       y # 1 sw Y   y xY w)Nc                   ó   •— e Zd Zˆ fd„Zy)ú"check_mat_write_warning.<locals>.Cc                 ó   •— ‰S rÑ   r‚   r#  s    €r-   r©   z(check_mat_write_warning.<locals>.C.itemsg  r&  r/   Nr'  r(  s   €r-   rn  r¨  f  r)  r/   rn  r]  r^  )r   rr  r   r   r   )r%  rn  r3  s   `  r-   r¤  r¤  e  sF   ø€ ÷ó ô ‹Y€FÜ	�‰”oÐ-GÔ	Hñ Ü�™›Ô÷÷ ñ ús   ³AÁAc                  ó(  — dD ]=  } t        j                  t        d¬«      5  t        t	        d| z  «      «       d d d «       Œ? t        j                  t        d¬«      5  t        t	        d«      «       d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   y xY w)N)rR   r0   r#  é   z Mat file appears to be truncatedr^  ó    zMat file appears to be corrupts                       )rr  r   r   r   r   ©Úns    r-   Útest_corrupt_filesr¯  o  sˆ   € àò *ˆÜ�]‰]œ<Ø!CôEñ 	*ä”G˜G a™KÓ(Ô)÷	*ð 	*ð*ô 
�‰”|Ø=ô
?ñ 'ä”˜Ó%Ô&÷'ð '÷	*ð 	*ú÷'ð 'ús   ¡A<ÁBÁ<B	ÂB)ztest%(name)s_*.mat)¿rê   Úcollectionsr   Úos.pathr   rÄ   r   r   r‚  r   rr  Útempfiler   rø   rá   rÞ   Únumpy.testingr	   r
   r   r   r   rr  r   rð   r   r€  Únumpyr(   r   r@  r   r   r   r   Úscipy.iorD  r�  r   r   r   Úscipy.io.matlab._byteordercodesrƒ  Ú_byteordercodesr”  Úscipy.io.matlab._miobaser   r   r   r   r   Úscipy.io.matlab._mior   r   r   r    Úscipy.io.matlab._mio5r!   r"   r#   r$   r%   Úscipy.io.matlab._mio5_paramsÚ_mio5_paramsrÉ  Ú__file__rÅ   ÚmarkÚthread_unsafeÚ
pytestmarkr.   Úpir;  rî  r)   rJ   rÁ   ÚappendÚcosÚsinrÝ   rF  r™  r*  r÷  r=   ÚBrw   ÚCArÂ   ÚCAErÕ  ÚobjarrÚ	transposeÚsqrtÚexpÚ
st_sub_arrr3   r
  ÚCNrÍ  Úst2rK   ÚODTÚMOÚm0rß   Úfp_u_strÚreadrT  Úu_strrà   rÃ   Úrepeatr‹   r—   r°   rµ   r»   rË   ÚparametrizerÏ   rÒ   rÖ   rç   rí   rõ   rû   r  r  r  r  r  r  r!  r,  r5  r<  rD  rG  rN  rR  rT  rZ  ry  r†  r�  rž  r¢  r§  rª  r´  r½  rÂ  rÓ  rÖ  rÙ  rÝ  râ  rç  rê  rð  rþ  r  r  r  r/  r1  r4  r9  r>  rF  rH  rL  rO  rU  r[  rc  rg  ro  rv  r{  r}  r†  r‘  r•  rš  rž  r¥  r¤  r¯  r­  s   0r-   ú<module>r×     s‘  ðÛ 	Ý #ß *Ý Ý Û 	Ý ã Û Û ÷Cõ Cã ß Aã Ý ß BÓ Bã ß FÑ Fß -Ó -÷Hõ Hç NÓ N÷õ ÷ -Ó ,ñ ‘w˜xÓ(¨&Ó1€Ø�[‰[×&Ñ&€
òð 	�‰ˆa‰�	�—	‘	˜! %Ô(×0Ñ0°°1Ó5Ñ5€àØ˜xÐ(Ø Ð&ñð€ð
 × Ñ ØØ˜vÐ&ØÙÐFÐGÓHðJñôð × Ñ ØØ Ð)Ø  §¡¨£°°F°B·F±F¸5³MÑ1AÑ!AÐBñôð
 €B‡H�HˆUƒO€Ù‰E�!�A‹JÓ€€!�Ù	‰e�A�a‹jÓ	€‚!€A€#�Ø × Ñ ØØ˜xÐ(Ø Ð"ñôð
 × Ñ ØØ˜xÐ(Ø¡	¨!£Ð-ñôð
 ‡H�HˆWÓ€Ø €#ƒˆ"�ƒØ × Ñ ØØ$ hÐ/Ø%¡y°£|Ð4ñôð
 × Ñ ØØ"¨Ñ2Ø  qÑ)ñôð
 × Ñ ØØ˜hÐ'Ø™u R›yÐ)ñôð
 × Ñ ØØ Ð'Ø¡¨ u£Ð.ñôñ Ø
Ùˆqˆc‹
Ù��!ˆuˆg‹ÙŠwˆiÓð	ð "(ô	)÷ *1©°°2«ð	 ñ
 ØGÐHóJ€€3�ð Ø˜VÐ$Ø˜bÐ!ñ#ð$€ñ Ù	ˆ!ƒHÙ	ˆ!ƒHÙ	ˆ"ƒIÙ	ˆ"ƒIÙ	ˆ!ƒHðð
 ô÷
 %™W Q r›]ð ð 
ˆ�‰�%˜fÔ	%€Ù�A‹h€€s�Ø × Ñ ØØ! 6Ð*Ø" FÐ+ñôð
 × Ñ ØØ  &Ð)Ø! 3Ð'ñ)ô*ð × Ñ ØØ" FÐ+Ø#¡UÚó&!ð "ñôð × Ñ ØØ Ð*à�L�B—L‘L  §¡©D±°q¸³Ó,=¸wÓ!GÓHðJñôñ �G�B—G‘G˜A“J˜v˜rŸv™v a›y¨¯©Ð/Ó0×8Ñ8¸¸1Ó=€
ØLÖM˜ˆ!ˆVŠÒM€Ø€b‡h�hˆu�eÓ€ÙÐ!=Ð >Ó?€€MÑ �3Ñ Ø$€€MÑ �3Ñ Ø%¨Ñ0€€NÑ �CÑ Ø × Ñ ØØ˜xÐ(Ø Ð$ñôð
 €R‡X�Xˆe˜6Ô"€Ù
�‹(€€3�Ø
ˆ"�(‰(�5 Ô
'€€3�Ù�Q˜bŸh™hÔ'€€3�ˆ�Ù�q�c�U "§(¡(Ô+€€3�ˆ�Øˆr�x‰x˜ VÔ,€€3�ˆ�Ù˜! 2§8¡8Ô,€€3�ˆ�ˆSÑ Ù˜! 2§8¡8Ô,€€3�ˆ�ˆSÑ Ø × Ñ ØØ Ð(Ø  "Ð%ñôð
 €b‡h�hˆu°.ÖA¨Q˜a š[ÒAÔB€Ù˜“(€€C�ˆ�Ø�"—(‘(˜5¨'°6Ð):Ð(;Ô<€€C�ˆ�Ù % z lÓ 3€€C�ˆ��Ñ �WÑ Ø × Ñ ØØ! 8Ð,Ø" CÐ(ñôð
 €B‡H�HˆU°Ö?¨1˜A˜vš;Ò?Ô@€Ù�a“€€#�€u�Ù�a“€€#�€u�Ù�z�lÓ#€€#�€u�Ù�z�lÓ#€€#�€u�Ø × Ñ ØØ  (Ð+Ø! 1Ð%ñôð
 €b‡h�hð3ö4 ��F’ò 4ó 5€ñ �(�"—(‘(˜5¨Ô,¨hÓ7€Øˆ�W€Ù�C�5‹\€€6�
ÙÐ2Ð3Ó4€€;�Ù�C�5‹\€€6�
Ù�a“€€9�Ù�a“€€9�Ù�a“€€9�Ø × Ñ ØØ˜xÐ(Ø Ð#ñôñ
 ‘�nÐ&9Ó:¸DÓA€Ø�‰‹×Ñ˜wÓ'€Ø ‡�Ô Ø × Ñ ØØ Ð'Ø¡ u g£Ð/ñôð
 × Ñ ØØ˜xÐ(Ø¡	¨!£Ð-ñôð
 × Ñ ØØ$ hÐ/Ø%¡y°£|Ð4ñôð
 × Ñ ØØ˜iÐ(ØÙ˜$˜ % Ð)Ó*ð,ñôð ™Q�€à × Ñ ØØ" HÐ-Ø# Y R§Y¡Y¨r°1Ó%5×%=Ñ%=¸aÀÓ%BÐCñEôFòò (JòV8òò"3ó-ð, ‡�×Ñ˜ JÓ/ñ$ó 0ð$ð
 ‡�×Ñ˜ JÓ/ñ ó 0ð ð ‡�×Ñ˜Øˆ3�ˆ*ÐØˆcˆU€Oð+ó ñ2ó	ð2ò4ò8ò:ò
/ò	ò	3òNò	IòLò"1ò-ò,ò()ò0ò2+ò65ò
ò< ò&òòB9òJ(ò6+ò$ 6òFò62òòCòò*0ò+ò"#òFò;ò2òIò=ò1ò,ò:/ò(ò2
7ò/ò,'ò0ò<ò7ò*ò6.ò	òò>ò!ò.ò9òGð ‡�×ÑÐ/ò 2ó ñ	)óð	)òJò8ò9ò7ò$$òò 1ò
(òó'ùòG' 	Nùò. Bùò @ùò4s   ÐeÕe	
×e
Ùe