§
    D4¢jl  ã                   óJ   — d dl Zd dlmc mZ d dlmZ d„ Zd„ Z	d„ Z
d„ Zd„ ZdS )é    N)Úget_wiki_dbc                  ó�  — t          ¦   «         } |                      ¦   «         }d }||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}d S )N©úis not©z%(py0)s is not %(py3)sÚconn©Úpy0Úpy3úassert %(py5)sÚpy5)
r   ÚconnectÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)Údbr   Ú@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6s         ú*C:\Projects\AutoPOE2\tests\test_wiki_db.pyÚtest_wiki_db_connectionr      sà   € Ý	‰Œ€BØ�:Š:‰<Œ<€DØÐˆ4�tÐÐÐÐÕÔÐÐÐÐˆ4�tÐÑÔÐÕÔÑÔÐÐÕÔˆ4ÑÔÐÕÔˆ4ÑÔÐÐÕÔ�tÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐó    c                  óª  — t          ¦   «         } |                      d¦  «        }d }||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}|d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||u }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|                      d¦  «        }
d }|
|u}|s—t          j        d|fd|
|f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}|
d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|
d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|                      d¦  «        }d }||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}d}|d         }||v }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}d S )Nú
Divine Orbr   r   Údiviner	   r   r   Úname©ú==©z%(py1)s == %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6Úwidthé   ÚheightÚis_currencyT©Úis©z%(py1)s is %(py4)súScroll of WisdomÚscrollÚWaystoneÚwaystone©Úin©z%(py1)s in %(py4)sÚ
item_classÚMap)
r   Úget_item_infor   r   r   r   r   r   r   r   )r   r!   r   r   r   r   Ú@py_assert0Ú@py_assert3Ú@py_format5Ú@py_format7r3   r5   s               r   Útest_wiki_db_item_lookupr@   	   sÑ  € Ý	‰Œ€Bà×Ò˜lÑ+Ô+€FØÐˆ6˜ÐÐÐÐÕÔÐÐÐÐˆ6˜ÐÑÔÐÕÔÑÔÐÐÕÔˆ6ÑÔÐÕÔˆ6ÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�&Œ>Ð)˜\Ð)ˆ>˜\Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆ>˜\Ð)Ñ)Ô)Õ)Ô)ˆ>Ñ)Ô)Õ)Ô)˜\Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø�'Œ?Ð˜aÐˆ?˜aÒÐÐÐÕÔÐÐÐÐˆ?˜aÐÑÔÕÔˆ?ÑÔÕÔ˜aÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØ�(ÔÐ ˜qÐ Ð˜qÒ Ð Ð Ð Õ Ô Ð Ð Ð Ð Ð˜qÐ Ñ Ô Õ Ô ÐÑ Ô Õ Ô ˜qÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð Ø�-Ô Ð( DÐ(Ð  DÐ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð  DÐ(Ñ(Ô(Õ(Ô(Ð Ñ(Ô(Õ(Ô( DÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð ×ÒÐ0Ñ1Ô1€FØÐˆ6˜ÐÐÐÐÕÔÐÐÐÐˆ6˜ÐÑÔÐÕÔÑÔÐÐÕÔˆ6ÑÔÐÕÔˆ6ÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�'Œ?Ð˜aÐˆ?˜aÒÐÐÐÕÔÐÐÐÐˆ?˜aÐÑÔÕÔˆ?ÑÔÕÔ˜aÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØ�(ÔÐ ˜qÐ Ð˜qÒ Ð Ð Ð Õ Ô Ð Ð Ð Ð Ð˜qÐ Ñ Ô Õ Ô ÐÑ Ô Õ Ô ˜qÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ð ×Ò 
Ñ+Ô+€HØÐˆ8˜4ÐÐÐÐÕÔÐÐÐÐˆ8˜4ÐÑÔÐÕÔÑÔÐÐÕÔˆ8ÑÔÐÕÔˆ8ÑÔÐÐÕÔ˜4ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ)˜ &Ô)Ð)ˆ:Ð)Ð)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆ:Ð)Ð)Ñ)Ô)Õ)Ô)ˆ:Ñ)Ô)Õ)Ô)Ð)Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø�LÔ!Ð* UÐ*Ð! UÒ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð! UÐ*Ñ*Ô*Õ*Ô*Ð!Ñ*Ô*Õ*Ô* UÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r   c                  ó  — t          ¦   «         } |                      d¦  «        }d }||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}|d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}|                      d¦  «        }
d }|
|u}|s—t          j        d|fd|
|f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}}d}|
d         }||v }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}x}}d S )NzThe Riverbankr   r   Ú	riverbankr	   r   r   r"   r#   r%   r&   r)   r*   Úactr,   ÚPersonalHideoutÚhideoutÚHideoutr6   r8   )
r   Úget_area_infor   r   r   r   r   r   r   r   )r   rB   r   r   r   r   r<   r=   r>   r?   rE   s              r   Útest_wiki_db_area_lookuprH      sµ  € Ý	‰Œ€Bà× Ò  Ñ1Ô1€IØ Ð ˆ9˜DÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ9˜DÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ9Ñ Ô Ð Õ Ô ˆ9Ñ Ô Ð Ð Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ø�VÔÐ/ Ð/Ð Ò/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð Ð/Ñ/Ô/Õ/Ô/ÐÑ/Ô/Õ/Ô/ Ñ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ø�UÔÐ ˜qÐ Ð˜qÒ Ð Ð Ð Õ Ô Ð Ð Ð Ð Ð˜qÐ Ñ Ô Õ Ô ÐÑ Ô Õ Ô ˜qÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ð ×ÒÐ0Ñ1Ô1€GØÐˆ7˜$ÐÐÐÐÕÔÐÐÐÐˆ7˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆ7ÑÔÐÕÔˆ7ÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ'˜ œÐ'ˆ9˜Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'ˆ9˜Ð'Ñ'Ô'Õ'Ô'ˆ9Ñ'Ô'Õ'Ô'˜Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r   c                  ó@  — t          ¦   «         } g d¢}|                      |¦  «        }|d         }d}||u }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d	         }d
}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         }t          |¦  «        }d}	||	k    }
|
sÇt          j        d|
fd||	f¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}
}	d S )N)r    r2   zLong QuarterstaffÚfits_in_standard_gridTr/   r1   r&   r)   r*   Útotal_slots_neededé
   )ú>=)z%(py1)s >= %(py4)sÚitemsé   r#   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)sÚlen)r
   Úpy2r(   Úpy7zassert %(py9)sÚpy9)r   Úcalculate_inventory_footprintr   r   r   r   r   rP   r   r   r   )r   rN   Ú	footprintr<   r=   r   r>   r?   r   Ú@py_assert6Ú@py_assert5Ú@py_format8Ú@py_format10s                r   Ú test_wiki_db_inventory_footprintrZ   ,   s‰  € Ý	‰Œ€BØCÐCÐC€EØ×0Ò0°Ñ7Ô7€IØÐ,Ô-Ð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Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ØÐ)Ô*Ð0¨bÐ0Ð*¨bÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð*¨bÐ0Ñ0Ô0Õ0Ô0Ð*Ñ0Ô0Õ0Ô0¨bÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø˜Ô!Ð'�3Ð!Ñ"Ô"Ð' aÐ'Ð" aÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð" aÐ'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'�3Ñ'Ô'Ð'Õ'Ô'�3Ñ'Ô'Ð'Ð'Õ'Ô'Ð!Ñ'Ô'Õ'Ô'Ð"Ñ'Ô'Õ'Ô' aÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r   c                  óü  — t          ¦   «         } |                      d¦  «        }d}||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}|d	         }d}||k    }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}x}}g }|d         }d}
||
k    }|}|r|d         }d}||k    }|}|�st          j        d
|fd||
f¦  «        t          j        |¦  «        t          j        |
¦  «        dœz  }	dd|	iz  }| 
                    |¦  «         |r`t          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }| 
                    |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}x}
x}x}}|                      d¦  «        }d}||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}|                      d¦  «        }d}||u}|s—t          j        d|fd||f¦  «        d t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}|d	         }d}||k    }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}x}}dS )!zNPatch 0.5.5 (04/09/2026): new Soul Cores + Sacred Bloom Ritual atlas currency.z Jiquani's Soul Core of AbundanceNr   r   Úcorer	   r   r   r"   r#   r%   r&   r)   r*   r+   r,   r-   )z%(py3)s == %(py6)s)r   r*   z%(py8)sÚpy8)z%(py11)s == %(py14)s)Úpy11Úpy14z%(py16)sÚpy16r   zassert %(py19)sÚpy19zAtziri's Soul Core of VitalityÚatzirizSacred BloomÚbloom)r   r;   r   r   r   r   r   r   r   r   ÚappendÚ_format_boolop)r   r\   r   r   r   r   r<   r=   r>   r?   rW   Ú@py_assert4Ú@py_assert10Ú@py_assert13Ú@py_assert12Ú@py_format9Ú@py_format15Ú@py_format17Ú@py_format18Ú@py_format20rb   rc   s                         r   Ú+test_wiki_db_poe2_055_forbidden_rites_itemsro   5   sˆ  € å	‰Œ€BØ×ÒÐ>Ñ?Ô?€DØÐˆ4�tÐÐÐÐÕÔÐÐÐÐˆ4�tÐÑÔÐÕÔÑÔÐÐÕÔˆ4ÑÔÐÕÔˆ4ÑÔÐÐÕÔ�tÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�Œ<Ð=Ð=Ð=ˆ<Ð=Ò=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=ˆ<Ð=Ð=Ñ=Ô=Õ=Ô=ˆ<Ñ=Ô=Õ=Ô=Ð=Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø5Ð5ˆ4�Œ=Ð5˜AÐ5ˆ=˜AÒÐ5Ð5Ð5Ð5Ð5 $ x¤.Ð5°AÐ5 .°AÒ"5Ð5Ð5Ð5Ð5Ñ5Õ5Ô5Ð5Ð5Ð5Ð5ˆ=˜AÐ5Ñ5Ô5Õ5Ô5ˆ=Ñ5Ô5Õ5Ô5˜AÑ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 .°AÐ5Ñ5Ô5Õ5Ô5 .Ñ5Ô5Õ5Ô5°AÑ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Ð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Ð5Ð5Ð5Ð5Ð5Ø×ÒÐ>Ñ?Ô?€FØÐˆ6˜ÐÐÐÐÕÔÐÐÐÐˆ6˜ÐÑÔÐÕÔÑÔÐÐÕÔˆ6ÑÔÐÕÔˆ6ÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ×Ò˜^Ñ,Ô,€EØÐˆ5˜ÐÐÐÐÕÔÐÐÐÐˆ5˜ÐÑÔÐÕÔÑÔÐÐÕÔˆ5ÑÔÐÕÔˆ5ÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�Œ=Ð*˜NÐ*ˆ=˜NÒ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*ˆ=˜NÐ*Ñ*Ô*Õ*Ô*ˆ=Ñ*Ô*Õ*Ô*˜NÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r   )Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   Úsrc.assistant_tool.wiki_dbr   r   r@   rH   rZ   ro   © r   r   ú<module>rv      s‡   ðØ  € € € € € € € € € € € € Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð
+ð +ð +ð,(ð (ð (ð(ð (ð (ð+ð +ð +ð +ð +r   