+
    Y°³jø*  ã                   ó:  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHtH	t	 ^ RI
HtHt ^ RIHt ^ RIHt ^ RIHt ]P&                  ! RR.RR.RR	..4      t]P&                  ! . RO4      t ! R
 R4      t ! R R4      t ! R R]]4      t ! R R]4      t ! R R4      tR# )é    N)Úlstsq)Úassert_allcloseÚassert_equalÚassert_)Úrandom_arrayÚ	coo_array)Úaslinearoperator)Ú
lsq_linear)ÚBoundsgÙÎ÷SãÅ?gÙÎ÷Sã¥«?c                   óŽ   a € ] tR t^t o R tR tR tR tR tR t	R t
R t]P                  P                  R	 4       tR
 tRtV tR# )Ú	BaseMixinc                óN   € \         P                  P                  R 4      V n        R# )i­ N)ÚnpÚrandomÚdefault_rngÚrnd)Úselfs   &Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test_lsq_linear.pyÚsetup_methodÚBaseMixin.setup_method   s   € Ü—9‘9×(Ñ(¨Ó1ˆŽó    c           
     ó  € V P                    F|  p\        \        \        V P                  VR 7      p\        VP                  \        \        \        RR7      ^ ,          4       \        VP                  VP                  ^ ,          4       K~  	  R# )©ÚmethodÚ
lsq_solver©ÚrcondNéÿÿÿÿ)	Úlsq_solversr
   ÚAÚbr   r   Úxr   Úunbounded_sol)r   r   Úress   &  r   Útest_dense_no_boundsÚBaseMixin.test_dense_no_bounds   s[   € Ø×*Ô*ˆJÜœQ¤¨$¯+©+À*ÔMˆCÜ˜CŸE™E¤5¬¬A°RÔ#8¸Õ#;Ô<Ü˜CŸE™E 3×#4Ñ#4°QÕ#7Ö8ó +r   c           
     ó˜  € \         P                  ! R
R.4      p\         P                  ! ^^ .4      p\        \        \        R
R7      ^ ,          pV P
                   Ft  p\        \        \        W3V P                  VR7      p\        VP                  \        \        \        R
R7      ^ ,          4       \        VP                  ^ ,          V4       Kv  	  \         P                  ! R\         P                  ) .4      pV P
                   F€  p\        \        \        V\         P                  3V P                  VR7      p\        VP                  \         P                  ! RR.4      RR7       \        VP                  ^ ,          V4       K‚  	  \         P                  ! R
^ .4      pV P
                   F€  p\        \        \        V\         P                  3V P                  VR7      p\        VP                  \         P                  ! R^ .4      RR7       \        VP                  ^ ,          V4       K‚  	  \         P                  ! \         P                  R.4      pV P
                   F  p\        \        \        \         P                  ) V3V P                  VR7      p\        VP                  \         P                  ! RR.4      4       \        VP                  ^ ,          V4       K�  	  \         P                  ! R
\         P                  .4      pV P
                   F  p\        \        \        \         P                  ) V3V P                  VR7      p\        VP                  \         P                  ! R
R.4      4       \        VP                  ^ ,          V4       K�  	  \         P                  ! ^ R.4      p\         P                  ! ^^ .4      pV P
                   Fo  p\        \        \        W3V P                  VR7      p\        VP                  \         P                  ! RR.4      4       \        VP                  ^ ,          V4       Kq  	  R	# )é   r   r   ç        ç�íµ ÷Æ°>©Úatolg‡Ô¡w³Ü?gVçž¯Ò<ç³¾ 
su?Nr   iöÿÿÿgçÞÒ1VÀéûÿÿÿgÀî­»¿gUw-Ör¹Àéüÿÿÿ)r   Úarrayr   r    r!   r   r
   r   r   r"   r#   Úinf)r   ÚlbÚubr#   r   r$   s   &     r   Útest_dense_boundsÚBaseMixin.test_dense_bounds!   s  € ä�XŠX�r˜3�iÓ ˆÜ�XŠX�q˜!�fÓˆÜœa¤¨"Ô-¨aÕ0ˆØ×*Ô*ˆJÜœQ¤ B 8°D·K±KØ(2ô4ˆCä˜CŸE™E¤5¬¬A°RÔ#8¸Õ#;Ô<Ü˜C×-Ñ-¨aÕ0°-Ö@ñ	 +ô �XŠX�sœRŸV™V˜G�nÓ%ˆØ×*Ô*ˆJÜœQ¤ B¬¯© <¸¿¹Ø(2ô4ˆCä˜CŸE™E¤2§8¢8¨SÐ2DÐ,EÓ#FØ!%õ'ä˜C×-Ñ-¨aÕ0°-Ö@ñ +ô �XŠX�r˜1�gÓˆØ×*Ô*ˆJÜœQ¤ B¬¯© <¸¿¹Ø(2ô4ˆCä˜CŸE™E¤2§8¢8Ð->ÀÐ,BÓ#CØ!&õ(ä˜C×-Ñ-¨aÕ0°-Ö@ñ +ô �XŠX”r—v‘v˜r�lÓ#ˆØ×*Ô*ˆJÜœQ¤¤R§V¡V G¨R =¸¿¹Ø(2ô4ˆCä˜CŸE™E¤2§8¢8Ð-?ÀÐ,DÓ#EÔFÜ˜C×-Ñ-¨aÕ0°-Ö@ñ	 +ô �XŠX�rœ2Ÿ6™6�lÓ#ˆØ×*Ô*ˆJÜœQ¤¤R§V¡V G¨R =¸¿¹Ø(2ô4ˆCä˜CŸE™E¤2§8¢8¨RÐ1CÐ,DÓ#EÔFÜ˜C×-Ñ-¨aÕ0°-Ö@ñ	 +ô �XŠX�q˜"�gÓˆÜ�XŠX�q˜!�fÓˆØ×*Ô*ˆJÜœQ¤ B 8°D·K±KØ(2ô4ˆCä˜CŸE™E¤2§8¢8Ð->ÀÐ,CÓ#DÔEÜ˜C×-Ñ-¨aÕ0°-Ö@ó	 +r   c                óÞ  € \         P                  ! ^^.4      pV P                  P                  RR7      pW!,          p\         P                  ! ^^.4      p\         P                  ! ^^.4      pWE3p\	        WE4      p\        W#V4      p\        W#V4      p	\         P                  ! V	P                  V	P                  ^ ,          4      '       d   Q h\        VP                  V	P                  4       R# )r(   ©ÚsizeN)é   r9   )
r   r0   r   Úuniformr   r
   Úallcloser"   r#   r   )
r   r"   r    r!   r2   r3   Ú
bounds_oldÚ
bounds_newÚres_oldÚres_news
   &         r   Útest_bounds_variantsÚBaseMixin.test_bounds_variantsR   s¶   € Ü�HŠH�a˜�VÓˆØ�H‰H×Ñ &ÐÓ)ˆØ�CˆÜ�XŠX�q˜!�fÓˆÜ�XŠX�q˜!�fÓˆØ�Xˆ
Ü˜B“^ˆ
Ü˜Q :Ó.ˆÜ˜Q :Ó.ˆÜ—;’;˜wŸy™y¨'×*?Ñ*?ÀÕ*B×CÒCÐCÐCÜ˜Ÿ	™	 7§9¡9Ö-r   c                ó.  € \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       \        P
                  ! . RO. RO.4      pRRR4       \        P                  ! ^^.4      p\        XV4       R#   + '       g   i     L6; i)ÚignoreN)é   r/   r   r9   é   )é
   éþÿÿÿr(   r   r   )ÚwarningsÚcatch_warningsÚsimplefilterÚPendingDeprecationWarningr   Úmatrixr0   r
   )r   r    Úks   &  r   Útest_np_matrixÚBaseMixin.test_np_matrix_   sc   € ä×$Ò$×&Õ&Ü×!Ò! (Ô,EÔFÜ—	’	Ò,Ò.@ÐAÓBˆA÷ 'ô �HŠH�b˜"�XÓˆÜ�1�aÖ÷	 '×&ús   ž8BÂB	c           
     óÄ  € \         P                  ! RR..4      p\         P                  ! R.4      pRR.pRR.pV P                   Fd  p\        WW43V P                  VR7      p\        VP                  RR.4       \        VP                  ^ ,          \        WRR7      ^ ,          4       Kf  	  \         P                  ! RR.RR.RR..4      p\         P                  ! . RO4      p^ R.p^R.pV P                   Fd  p\        WW43V P                  VR7      p\        VP                  ^ R	R
7       \        VP                  ^ ,          \        WRR7      ^ ,          4       Kf  	  R# )gÙÎ÷Sã¥Ó?g#Ûù~j¼è?gš™™™™™¹?r   r   gÇK7‰A`Õ?gÇK7‰A`å?gú~j¼t“È?gú~j¼t“Ø?g•dyáý¥=r+   NgÙÎ÷Sã¥Ó¿gZd;ßO�Ç¿çš™™™™™¹¿r   gP�—nƒà¿gP�—nƒð¿)g`åÐ"Ûùö¿gHáz®GÁ?gJ+‡í?g      à¿)
r   r0   r   r
   r   r   r"   r#   r   Ú
optimality)r   r    r!   r2   r3   r   r$   s   &      r   Útest_dense_rank_deficientÚ#BaseMixin.test_dense_rank_deficientg   s>  € Ü�HŠH�v˜vÐ&Ð'Ó(ˆÜ�HŠH�e�WÓˆØ�Dˆ\ˆØ�3ˆZˆØ×*Ô*ˆJÜ˜Q B 8°D·K±KØ(2ô4ˆCä˜CŸE™E D¨$ <Ô0Ü˜C×-Ñ-¨aÕ0´%¸ÀBÔ2GÈÕ2JÖKñ	 +ô �HŠHØ�EˆNØ�VÐØ�EˆNð
ó ˆô
 �HŠHÒ+Ó,ˆØ�ˆWˆØ�ˆYˆØ×*Ô*ˆJÜ˜Q B 8°D·K±KØ(2ô4ˆCä˜CŸN™N¨A°EÕ:Ü˜C×-Ñ-¨aÕ0´%¸ÀBÔ2GÈÕ2JÖKó	 +r   c           	     óŠ  € \         P                  ! ^ R	.4      p\         P                  ! ^^ .4      p\        \        \        W3V P
                  R7      p\        VP                  RR	.4       \        VP                  ^ ,          \        \        \        R
R7      ^ ,          4       \        P                  VP                  4      \        ,
          p\        VP                  R\         P                  ! WD4      ,          4       \        VP                  V4       \        VP                  RRR7       \        VP                  ^ R
.4       \!        VP"                  ^8  4       \!        VP$                  ^8H  ;'       g    VP$                  ^8H  4       \!        \'        VP(                  \*        4      4       \!        VP,                  4       R# )r   ©r   r-   r   g      à?r)   gê-�™—q=r+   Nr/   r   )r   r0   r
   r    r!   r   r   r"   r#   r   ÚdotÚcostÚfunrR   r   Úactive_maskr   ÚnitÚstatusÚ
isinstanceÚmessageÚstrÚsuccess)r   r2   r3   r$   Úrs   &    r   Útest_full_resultÚBaseMixin.test_full_result€   s#  € Ü�XŠX�q˜"�gÓˆÜ�XŠX�q˜!�fÓˆÜœœA ˜x°·±Ô<ˆä˜Ÿ™Ð 1°2Ð6Ô7Ü˜×)Ñ)¨!Õ,¬e´A´qÀÔ.CÀAÕ.FÔGä�E‰E�#—%‘%‹Lœ1ÕˆÜ˜Ÿ™ #¬¯ª¨q«Õ"4Ô5Ü˜Ÿ™ Ô#ä˜Ÿ™¨°%Õ8Ü�S—_‘_ q¨" gÔ.Ü�—‘˜"‘ÔÜ�—
‘
˜a‘×2Ð2 3§:¡:°¡?Ô3Ü”
˜3Ÿ;™;¬Ó,Ô-Ü�—‘Ör   c                óÒ   € \         P                  ! . RO. RO. RO.4      p\         P                  ! . RO4      p\        WV P                  R7      p\	        VP
                  R8  4       R# )çSQ�cUì?rV   gg5_PŸG>N)re   gn-É(8´¢?güø²(8´¢?)gƒÚŒ¥ó×?g®«ì,»Š?gk§ªì,»Š?)g\s…`úî?gAÊ¨çþY ?g ¼¨çþY ?)gÏt\O?Šv?gÃ"ÈHªÚe?gFÎýÔH{?)r   r0   r
   r   r   rX   )r   r    r!   Úresults   &   r   Útest_almost_singularÚBaseMixin.test_almost_singular”   sW   € Ü�HŠHÚIÚIÚIðKóLˆô
 �HŠHÚHóJˆô ˜A¨¯©Ô5ˆÜ�—‘˜fÑ$Ö%r   c           	     ó2  € \         P                  P                  R 4      p\         P                  ! VP	                  ^R^R7      4      w  r#V^,          pRVP	                  R^cW2.R7      ,          pRVP	                  R^cV.R7      ,          pR\         P                  ! VP	                  R^c^V3R7      ^ R7      ,          pVR;;,          R,          uu&   VP                  W"4      pVRV3,          p\        WEVRR7      P                  p\        WEVRR7      P                  p	\         P                  ! WH,          V,
          ^,          4      p
\         P                  ! WI,          V,
          ^,          4      p\        \        W«,
          4      VR	,          8  4       R
# )iá¯ éè  r7   ç      ð?)ÚaxisºNNNÚbvls©Úboundsr   Útrfç»½×Ùß|Û=Ni�ÿÿÿ)r(   rm   )r   r   r   ÚsortÚintegersÚchoicer
   r"   Úsumr   Úabs)r   ÚrngÚnÚmr    r!   rp   ÚwÚx_bvlsÚx_trfÚ	cost_bvlsÚcost_trfs   &           r   Útest_large_rank_deficientÚ#BaseMixin.test_large_rank_deficient    s:  € ä�i‰i×#Ñ# GÓ,ˆÜ�wŠw�s—|‘| A t°!�|Ó4Ó5‰ˆØ	ˆQ�ˆØ�#—,‘,˜s B¨a¨V�,Ó4Õ4ˆØ�#—,‘,˜s B¨a¨S�,Ó1Õ1ˆØ”r—w’w˜sŸ|™|¨C°¸1¸a¸&˜|ÓAÈÔJÕJˆØˆt�˜Õ‹ð �J‰J�qÓˆØˆa�ˆd�Gˆä˜A¨¸Ô?×AÑAˆÜ˜1¨°uÔ=×?Ñ?ˆä—F’F˜A�J¨�N¨QÕ.Ó/ˆ	Ü—6’6˜1�9 q�=¨1Õ,Ó-ˆä”�IÕ(Ó)¨H°U­NÑ:Ö;r   c                óü  € \         P                  ! . RO. RO. RO.4      p\         P                  ! . R	O4      p\         P                  ! . R
O. RO.4      p\        WVRR7      P                  p\        WVRR7      P                  p\         P                  ! W,          V,
          ^,          4      p\         P                  ! W,          V,
          ^,          4      p\        \        Wg,
          4      VR,          8  4       R# )ç     €H@rn   ro   rq   rr   N)rƒ   g     €D@ç      @À)g      3Àr„   g       À)g      *Àg      $@g     @Q@)g     €DÀg     €VÀg     €G@)g      ?@g      FÀg      :@)g      K@r„   g      <@)r   r0   r
   r"   rv   r   rw   )r   r    r!   rp   r|   r}   r~   r   s   &       r   Útest_convergence_small_arrayÚ&BaseMixin.test_convergence_small_array¶   s½   € Ü�HŠHÒ)Ú*Ú)ð+ó ,ˆô �HŠHÒ)Ó*ˆÜ—’Ò.Ú.ð0ó 1ˆô ˜A¨¸Ô?×AÑAˆÜ˜1¨°uÔ=×?Ñ?ˆä—F’F˜A�J¨�N¨QÕ.Ó/ˆ	Ü—6’6˜1�9 q�=¨1Õ,Ó-ˆä”�IÕ(Ó)¨H°U­NÑ:Ö;r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r%   r4   r@   rN   rS   rb   rg   ÚpytestÚmarkÚxslowr€   r…   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      sX   ø‡ € ò2ò9ò/Aòb.òòLò2ò(
&ð ‡[�[×Ññ<ó ð<÷*<ð <r   r   c                   ón   a € ] tR t^Çt o R t]P                  P                  ^
4      R 4       tR t	Rt
V tR# )ÚSparseMixinc                ó,  € R pRp\         P                  P                  ^ 4      p\        W3VR7      pVP	                  V4      p\        WE4      p\        VP                  ^ RR7       \        V4      p\        WE4      p\        VP                  ^ RR7       R# )éˆ  rj   ©Úrandom_stater*   r+   N)	r   r   ÚRandomStater   Úrandnr
   r   rR   r	   )r   rz   ry   rx   r    r!   r$   s   &      r   Útest_sparse_and_LinearOperatorÚ*SparseMixin.test_sparse_and_LinearOperatorÈ   sy   € ØˆØˆÜ�i‰i×#Ñ# AÓ&ˆÜ˜!˜¨cÔ2ˆØ�I‰I�a‹LˆÜ˜ÓˆÜ˜Ÿ™¨°Õ5ä˜QÓˆÜ˜ÓˆÜ˜Ÿ™¨°×5r   c                ó¦  € R pRp\         P                  P                  ^ 4      p\        W3VR7      pVP	                  V4      pVP	                  V4      pV^,           p\        WEWg34      p\        VP                  RRR7       \        WEWg3RRR7      p\        VP                  RRR7       \        WEWg3R	R
7      p\        VP                  RRR7       R# )r•   rj   r–   r)   r*   r+   g‚vIhÂ%<=iÜ  )Úlsmr_tolÚlsmr_maxiterÚauto)r�   N)r   r   r˜   r   r™   r
   r   rR   )	r   rz   ry   rx   r    r!   r2   r3   r$   s	   &        r   Útest_sparse_boundsÚSparseMixin.test_sparse_boundsÕ   s´   € àˆØˆä�i‰i×#Ñ# AÓ&ˆÜ˜!˜¨cÔ2ˆØ�I‰I�a‹LˆØ�Y‰Y�q‹\ˆØ�!�VˆÜ˜ ˜xÓ(ˆÜ˜Ÿ™¨°$Õ7ä˜ ˜x°%Ø&*ô,ˆä˜Ÿ™¨°$Õ7ä˜ ˜x°&Ô9ˆÜ˜Ÿ™¨°$×7r   c                ó<  € \         P                  ! . RO4      p\         P                  ! . RO4      p\         P                  ! . R	O4      p\        WV33R
R7      p\        VP	                  4       \
        RR7      p\        V\
        RR7      p\        P                  ! \        4      ;_uu_ 4        \        VP                  VP                  4       RRR4       \        V\
        R^
R7      p\        VP                  VP                  4       R#   + '       g   i     LE; i)rk   )ÚshapeÚexact)r   ÚlsmrN©r   rž   )rk   rk   rk   gzo ð?rk   )r   r   r(   r9   r9   )r   r9   r(   r   r9   )rE   rE   )r   r0   r   r
   Útoarrayr!   r‹   ÚraisesÚAssertionErrorr   r"   )r   ÚdataÚrowÚcolr    Ú	exact_solÚdefault_lsmr_solÚ	conv_lsmrs   &       r   Útest_sparse_ill_conditionedÚ'SparseMixin.test_sparse_ill_conditionedé   s½   € ä�xŠxÒ3Ó4ˆÜ�hŠh’Ó'ˆÜ�hŠh’Ó'ˆÜ�t 3˜ZÐ(°Ô7ˆô ˜qŸy™y›{¬A¸'ÔBˆ	ô & a¬°vÔ>ÐÜ�]Š]œ>×*Õ*Ü˜IŸK™KÐ)9×);Ñ);Ô<÷ +ô ˜q¤!°ÀRÔHˆ	Ü˜	Ÿ™ Y§[¡[Ö1÷ +×*ús   Â-!DÄD	© N)r‡   rˆ   r‰   rŠ   rš   r‹   rŒ   Ú	fail_slowr    r°   rŽ   r�   r�   s   @r   r“   r“   Ç   s7   ø‡ € ò6ð ‡[�[×Ñ˜2Óñ8ó ð8÷&2ð 2r   r“   c                   ó"   € ] tR t^ýtRtRR.tRtR# )ÚTestTRFrq   r¤   r¥   r²   N©r‡   rˆ   r‰   rŠ   r   r   rŽ   r²   r   r   rµ   rµ   ý   s   † Ø€FØ˜FÐ#„Kr   rµ   c                   ó    € ] tR tRtRtR.tRtR# )ÚTestBVLSi  rn   r¤   r²   Nr¶   r²   r   r   r¸   r¸     s   † Ø€FØ�)„Kr   r¸   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestErrorCheckingi  c           	     ó   € \        \        \        R RR7      p\        \        \        R RR7      p\        \        \        R RR7      pRp\        P                  ! \
        VR7      ;_uu_ 4        \        \        \        R RR7      pRRR4       \        P                  ! \
        VR7      ;_uu_ 4        \        \        \        R RR7      pRRR4       \        P                  ! \
        VR7      ;_uu_ 4        \        \        \        R ^R7      pRRR4       R#   + '       g   i     Lš; i  + '       g   i     Li; i  + '       g   i     R# ; i)	r¥   g{®Gáz„?)r   r�   rŸ   Nz3`lsmr_tol` must be None, 'auto', or positive float.©ÚmatchÚfoorQ   ©r
   r    r!   r‹   r¨   Ú
ValueError©r   Ú_Úerr_messages   &  r   Útest_option_lsmr_tolÚ&TestErrorChecking.test_option_lsmr_tol  sÉ   € ä”qœ!¨¸Ô>ˆÜ”qœ!¨¸Ô@ˆÜ”qœ!¨¸Ô>ˆð LˆÜ�]Š]œ:¨[×9Ö9Üœ1œa¨F¸TÔBˆA÷ :ä�]Š]œ:¨[×9Ö9Üœ1œa¨F¸UÔCˆA÷ :ä�]Š]œ:¨[×9Ö9Üœ1œa¨F¸QÔ?ˆA÷ :Ñ9÷	 :×9úç9×9úç9×9Ð9ús$   Á,DÂ0D)Ã4D<ÄD&	Ä)D9	Ä<E	c           	     óÄ  € \        \        \        R ^R7      p\        \        \        R RR7      pRp\        P                  ! \
        VR7      ;_uu_ 4        \        \        \        R ^ R7      pRRR4       \        P                  ! \
        VR7      ;_uu_ 4        \        \        \        R RR7      pRRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)r¥   r¦   Nz0`lsmr_maxiter` must be None or positive integer.r¼   r   r¿   rÁ   s   &  r   Útest_option_lsmr_maxiterÚ*TestErrorChecking.test_option_lsmr_maxiter  sŒ   € ä”qœ!¨¸QÔ?ˆÜ”qœ!¨¸TÔBˆð IˆÜ�]Š]œ:¨[×9Ö9Üœ1œa¨FÀÔCˆA÷ :ä�]Š]œ:¨[×9Ö9Üœ1œa¨FÀÔDˆA÷ :Ñ9÷ :×9úç9×9Ð9ús   ÁB;ÂCÂ;C	ÃC	r²   N)r‡   rˆ   r‰   rŠ   rÄ   rÇ   rŽ   r�   r�   s   @r   rº   rº     s   ø‡ € ò@÷ 
Eð 
Er   rº   gÉv¾Ÿ/­¿gJ+‡©¿gX9´Èv¾Ï¿gsh‘í|?Å¿)g‹lçû©ñ²?gÓMbX9ð?gP�—nƒØ¿)rH   r‹   Únumpyr   Únumpy.linalgr   Únumpy.testingr   r   r   Úscipy.sparser   r   Úscipy.sparse.linalgr	   Úscipy.optimizer
   Úscipy.optimize._minimizer   r0   r    r!   r   r“   rµ   r¸   rº   r²   r   r   Ú<module>rÐ      s�   ðÛ ã ã Ý ß @Ñ @ç 0Ý 0Ý %Ý +ð ‡H‚HØ
ˆF€OØˆVÐØˆU€Oðó €ð
 ‡H‚HÒ#Ó$€÷m<ñ m<÷`32ñ 32ôl$ˆi˜ô $ô
ˆyô ÷
Eó Er   