Ë
    AúYj7‰  ã                  ó,  — d dl mZ d dlmZmZ d dlZd dlZd dlZd dl	m
c mZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ ej0                  d„ «       Zej0                  d„ «       Zej0                  d	„ «       Zd
„ Z ej0                  ddg¬«      d„ «       Z ej0                   ej<                  d ej>                  d«      ¬«      dg¬«      d„ «       Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&ejN                  jQ                  de)e*g«      d„ «       Z+dZ,d„ Z-d„ Z.d„ Z/d„ Z0d „ Z1d!„ Z2d"„ Z3d#„ Z4d$„ Z5d%„ Z6d&„ Z7d'„ Z8d(„ Z9d)„ Z:d*„ Z;d+„ Z<d,„ Z=d-„ Z>d.„ Z?d/„ Z@d0ZAd1„ ZBd2„ ZCejN                  jQ                  d3g d4¢«      d5„ «       ZDd6„ ZEd7„ ZFd8„ ZGd9„ ZH ej’                  d«      d:„ «       ZJd;„ ZKd<ZLd=„ ZMd>„ ZNd?„ ZOd@„ ZPejN                  jQ                  dA edB«       edC«      g«      dD„ «       ZQdE„ ZRdF„ ZSdG„ ZTdH„ ZUdI„ ZVdJ„ ZWdK„ ZXdZYdL„ ZZdM„ Z[dN„ Z\dO„ Z]ejN                  j¼                  dP„ «       Z_y)Qé    )Úannotations)ÚBytesIOÚStringION)ÚNAÚ	DataFrameÚIndex)Ú
get_handle)Úread_xmlc                 óJ   — t        g d¢g d¢dt        j                  dgdœ«      S )N)ÚsquareÚcircleÚtriangle)éh  r   é´   é   é   ©ÚshapeÚdegreesÚsides)r   ÚnpÚnan© ó    új/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/pandas/tests/io/xml/test_to_xml.pyÚgeom_dfr   ;   s'   € äâ5Ú&ØœŸ™ �^ñ	
óð r   c                 ó2   — t        g d¢g d¢g d¢g d¢dœ«      S )N)ÚMercuryÚVenusÚEarthÚMarsÚJupiterÚSaturnÚUranusÚNeptune)Úterrestrialr&   r&   r&   ú	gas giantr'   ú	ice giantr(   )Úinnerr)   r)   r)   Úouterr*   r*   r*   )g`é|x– Õ?gcAJx@g2rö´ã@g�l®šçˆä?gh‘í|¿¨�@gÞ	ŠÂ�@gd]ÜF´U@g•Ô	hšY@)ÚplanetÚtypeÚlocationÚmass)r   r   r   r   Ú	planet_dfr/   F   s(   € äò	ò	ò	ò	ñ?)	
ó+ð +r   c                  ó   — y)Nac  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <category>cooking</category>
    <title>Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.0</price>
  </row>
  <row>
    <index>1</index>
    <category>children</category>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </row>
  <row>
    <index>2</index>
    <category>web</category>
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </row>
</data>r   r   r   r   Úfrom_file_expectedr1   v   s   € ðr   c                ó.   — | �| j                  dd«      } | S )Nz%<?xml version="1.0" encoding="utf-8"?z%<?xml version='1.0' encoding='utf-8'?)Úreplace)Údocs    r   Úequalize_declr5   –   s"   € à
€Ø�k‰kØ3Ø3ó
ˆð €Jr   ÚrbÚr)Úparamsc                ó   — | j                   S ©N©Úparam©Úrequests    r   Úmoder?       ó   € à�=‰=Ðr   Úlxml)ÚmarksÚetreec                ó   — | j                   S r:   r;   r=   s    r   ÚparserrE   ¥   r@   r   c                ó¨   — t        | |¬«      }|j                  ||¬«       |j                  d¬«      j                  «       }t	        |«      }||k(  sJ ‚y ©N©rE   úutf-8©Úencoding©r
   Úto_xmlÚ	read_textÚstripr5   ©Ú	xml_booksrE   r1   Ú	temp_fileÚdf_fileÚoutputs         r   Útest_file_output_str_readrU   ­   óS   € Ü�y¨Ô0€Gà‡N�N�9 V€NÔ,Ø× Ñ ¨'Ð Ó2×8Ñ8Ó:€Fä˜6Ó"€FàÐ'Ò'Ð'Ñ'r   c                ó¨   — t        | |¬«      }|j                  ||¬«       |j                  d¬«      j                  «       }t	        |«      }||k(  sJ ‚y rG   rL   rP   s         r   Útest_file_output_bytes_readrX   ¸   rV   r   c                óf   — t        | |¬«      }|j                  |¬«      }t        |«      }||k(  sJ ‚y ©NrH   )r
   rM   r5   )rQ   rE   r1   rS   rT   s        r   Útest_str_outputr[   Ã   s7   € Ü�y¨Ô0€Gà�^‰^ 6ˆ^Ó*€FÜ˜6Ó"€FàÐ'Ò'Ð'Ñ'r   c                óŽ   — d}t        j                  t        d¬«      5  |j                  || ¬«       d d d «       y # 1 sw Y   y xY w)Nz/my/fake/path/output.xmlz6Cannot save file into a non-existent directory: .*path©ÚmatchrH   )ÚpytestÚraisesÚOSErrorrM   )rE   r   Úpaths      r   Útest_wrong_file_pathrc   Ì   s@   € Ø%€Dä	�‰ÜØHô
ñ ,ð 	�‰�t FˆÔ+÷	,÷ ,ñ ,ús	   ž;»Ac                ó®   — d}t        | |¬«      }|j                  |d|¬«       |j                  d¬«      j                  «       }t	        |«      }||k(  sJ ‚y )Na$  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <category>cooking</category>
    <title>Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.0</price>
  </row>
  <row>
    <category>children</category>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </row>
  <row>
    <category>web</category>
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </row>
</data>rH   F©ÚindexrE   rI   rJ   rL   ©rQ   rE   rR   ÚexpectedrS   rT   s         r   Útest_index_falseri   Ù   s]   € ð€Hô4 �y¨Ô0€Gà‡N�N�9 E°&€NÔ9Ø× Ñ ¨'Ð Ó2×8Ñ8Ó:€Fä˜6Ó"€Fà�XÒÐÑr   c                ó²   — d}t        | |¬«      }|j                  |ddd|¬«       |j                  d¬«      j                  «       }t	        |«      }||k(  sJ ‚y )	Na,  <?xml version='1.0' encoding='utf-8'?>
<books>
  <book>
    <category>cooking</category>
    <title>Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.0</price>
  </book>
  <book>
    <category>children</category>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book>
    <category>web</category>
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</books>rH   FÚbooksÚbook)rf   Ú	root_nameÚrow_namerE   rI   rJ   rL   rg   s         r   Ú test_index_false_rename_row_rootro   þ   si   € ð€Hô4 �y¨Ô0€Gà‡N�NØ˜¨'¸FÈ6ð ô ð × Ñ ¨'Ð Ó2×8Ñ8Ó:€Fä˜6Ó"€Fà�XÒÐÑr   Útypc                óÚ   — d}t        dd«      D �cg c]
  } ||«      ‘Œ }}|j                  «       }t        |«      |_        |j	                  d| ¬«      }t        |«      }||k(  sJ ‚yc c}w )z®
    Tests that the output does not contain the `<index>` field when the index of the
    input Dataframe has an offset.

    This is a regression test for issue #42458.
    aD  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>é
   é   Fre   N)ÚrangeÚcopyr   rf   rM   r5   )rE   rp   r   rh   ÚiÚoffset_indexÚoffset_geom_dfrT   s           r   Ú(test_index_false_with_offset_input_indexry   %  sr   € ð€Hô& %*¨"¨b£MÖ2˜q‘C˜•FÐ2€LÐ2Ø—\‘\“^€NÜ  Ó.€NÔØ×"Ñ"¨°vÐ"Ó>€FÜ˜6Ó"€Fà�XÒÐÑùò 3s   ‘A(aƒ  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>c                óT   — |j                  | ¬«      }t        |«      }|t        k(  sJ ‚y rZ   ©rM   r5   Úna_expected©rE   r   rT   s      r   Útest_na_elem_outputr~   d  s*   € Ø�^‰^ 6ˆ^Ó*€FÜ˜6Ó"€Fà”[Ò Ð Ñ r   c                óV   — |j                  d| ¬«      }t        |«      }|t        k(  sJ ‚y )NÚ ©Úna_reprE   r{   r}   s      r   Útest_na_empty_str_elem_optionrƒ   k  s,   € Ø�^‰^ 2¨fˆ^Ó5€FÜ˜6Ó"€Fà”[Ò Ð Ñ r   c                óR   — d}|j                  d| ¬«      }t        |«      }||k(  sJ ‚y )Na�  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides>0.0</sides>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>z0.0r�   ©rM   r5   ©rE   r   rh   rT   s       r   Útest_na_empty_elem_optionr‡   r  s5   € ð€Hð. �^‰^ 5°ˆ^Ó8€FÜ˜6Ó"€Fà�XÒÐÑr   c                óV   — d}|j                  g d¢| ¬«      }t        |«      }||k(  sJ ‚y )Nzß<?xml version='1.0' encoding='utf-8'?>
<data>
  <row index="0" shape="square" degrees="360" sides="4.0"/>
  <row index="1" shape="circle" degrees="360"/>
  <row index="2" shape="triangle" degrees="180" sides="3.0"/>
</data>r   ©Ú	attr_colsrE   r…   r†   s       r   Útest_attrs_cols_nan_outputr‹   “  s6   € ð€Hð �^‰^Ò&CÈFˆ^ÓS€FÜ˜6Ó"€Fà�XÒÐÑr   c                ó^   — d}|j                  g d¢ddid| ¬«      }t        |«      }||k(  sJ ‚y )Na>  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.xom">
  <doc:row doc:index="0" doc:shape="square" doc:degrees="360" doc:sides="4.0"/>
  <doc:row doc:index="1" doc:shape="circle" doc:degrees="360"/>
  <doc:row doc:index="2" doc:shape="triangle" doc:degrees="180" doc:sides="3.0"/>
</doc:data>)rf   r   r   r   r4   zhttp://example.xom)rŠ   Ú
namespacesÚprefixrE   r…   r†   s       r   Útest_attrs_cols_prefixr�   ¢  sJ   € ð	€Hð �^‰^Ú8ØÐ/Ð0ØØð	 ó €Fô ˜6Ó"€Fà�XÒÐÑr   c                óŽ   — t        j                  t        d¬«      5  |j                  g d¢| ¬«       d d d «       y # 1 sw Y   y xY w)Núno valid columnr]   ©r   Údegreer   r‰   ©r_   r`   ÚKeyErrorrM   ©rE   r   s     r   Útest_attrs_unknown_columnr—   ¹  ó;   € Ü	�‰”xÐ(9Ô	;ñ NØ�‰Ò!=ÀfˆÔM÷N÷ Nñ Núó	   œ;»Ac                óŠ   — t        j                  t        d¬«      5  |j                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nz!is not a valid type for attr_colsr]   ú"shape", "degree", "sides"r‰   ©r_   r`   Ú	TypeErrorrM   r–   s     r   Útest_attrs_wrong_typerž   ¾  ó;   € Ü	�‰”yÐ)LÔ	Nñ NØ�‰Ð!=ÀfˆÔM÷N÷ Nñ Núó	   œ9¹Ac                óX   — d}|j                  dg d¢| ¬«      }t        |«      }||k(  sJ ‚y )NaD  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <degrees>360</degrees>
    <sides>4.0</sides>
    <shape>square</shape>
  </row>
  <row>
    <degrees>360</degrees>
    <sides/>
    <shape>circle</shape>
  </row>
  <row>
    <degrees>180</degrees>
    <sides>3.0</sides>
    <shape>triangle</shape>
  </row>
</data>F)r   r   r   )rf   Ú	elem_colsrE   r…   ©rE   r   Úelems_cols_expectedrT   s       r   Útest_elems_cols_nan_outputr¥   Æ  sB   € ðÐð( �^‰^ØÒ<ÀVð ó €Fô ˜6Ó"€FàÐ(Ò(Ð(Ñ(r   c                óŽ   — t        j                  t        d¬«      5  |j                  g d¢| ¬«       d d d «       y # 1 sw Y   y xY w)Nr‘   r]   r’   ©r¢   rE   r”   r–   s     r   Útest_elems_unknown_columnr¨   ã  r˜   r™   c                óŠ   — t        j                  t        d¬«      5  |j                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nz!is not a valid type for elem_colsr]   r›   r§   rœ   r–   s     r   Útest_elems_wrong_typerª   è  rŸ   r    c                ó\   — d}|j                  dddgdg| ¬«      }t        |«      }||k(  sJ ‚y )Na#  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row shape="square">
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row shape="circle">
    <degrees>360</degrees>
    <sides/>
  </row>
  <row shape="triangle">
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>Fr   r   r   )rf   r¢   rŠ   rE   r…   r£   s       r   Útest_elems_and_attrs_colsr¬   í  sM   € ðÐð" �^‰^ØØ˜gÐ&Ø�)Øð	 ó €Fô ˜6Ó"€FàÐ(Ò(Ð(Ñ(r   c                ó    — d}|j                  ddgdg d¢d¬«      j                  d«      }|j                  | ¬	«      }t        |«      }||k(  sJ ‚y )
NaÔ  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <location>inner</location>
    <type>terrestrial</type>
    <count_mass>4</count_mass>
    <sum_mass>11.81</sum_mass>
    <mean_mass>2.95</mean_mass>
  </row>
  <row>
    <location>outer</location>
    <type>gas giant</type>
    <count_mass>2</count_mass>
    <sum_mass>2466.5</sum_mass>
    <mean_mass>1233.25</mean_mass>
  </row>
  <row>
    <location>outer</location>
    <type>ice giant</type>
    <count_mass>2</count_mass>
    <sum_mass>189.23</sum_mass>
    <mean_mass>94.61</mean_mass>
  </row>
  <row>
    <location>All</location>
    <type/>
    <count_mass>8</count_mass>
    <sum_mass>2667.54</sum_mass>
    <mean_mass>333.44</mean_mass>
  </row>
</data>r-   r,   r.   ©ÚcountÚsumÚmeanT©rf   ÚvaluesÚaggfuncÚmarginsé   rH   )Úpivot_tableÚroundrM   r5   ©rE   r/   rh   ÚpvtrT   s        r   Útest_hierarchical_columnsr»     sj   € ð€HðB ×
Ñ
Ø˜6Ð"ØÚ(Øð	  ó ÷
 �eˆAƒhð ð �Z‰Z˜vˆZÓ&€FÜ˜6Ó"€Fà�XÒÐÑr   c                óø   — d}|j                  ddgdg d¢d¬«      j                  d«      }|j                  t        |j	                  «       j
                  j                  «      | ¬	«      }t        |«      }||k(  sJ ‚y )
Na¦  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row location="inner" type="terrestrial" count_mass="4" sum_mass="11.81" mean_mass="2.95"/>
  <row location="outer" type="gas giant" count_mass="2" sum_mass="2466.5" mean_mass="1233.25"/>
  <row location="outer" type="ice giant" count_mass="2" sum_mass="189.23" mean_mass="94.61"/>
  <row location="All" type="" count_mass="8" sum_mass="2667.54" mean_mass="333.44"/>
</data>r-   r,   r.   r®   Tr²   r¶   r‰   )r·   r¸   rM   ÚlistÚreset_indexÚcolumnsr³   r5   r¹   s        r   Útest_hierarchical_attrs_columnsrÀ   <  s„   € ð€Hð ×
Ñ
Ø˜6Ð"ØÚ(Øð	  ó ÷
 �eˆAƒhð ð �Z‰Z¤$ s§¡Ó'8×'@Ñ'@×'GÑ'GÓ"HÐQWˆZÓX€FÜ˜6Ó"€Fà�XÒÐÑr   c                ó¼   — d}|j                  ddg«      d   j                  g d¢«      j                  d«      }|j                  | ¬«      }t	        |«      }||k(  sJ ‚y )NaÞ  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <location>inner</location>
    <type>terrestrial</type>
    <count>4</count>
    <sum>11.81</sum>
    <mean>2.95</mean>
  </row>
  <row>
    <location>outer</location>
    <type>gas giant</type>
    <count>2</count>
    <sum>2466.5</sum>
    <mean>1233.25</mean>
  </row>
  <row>
    <location>outer</location>
    <type>ice giant</type>
    <count>2</count>
    <sum>189.23</sum>
    <mean>94.61</mean>
  </row>
</data>r-   r,   r.   r®   r¶   rH   )ÚgroupbyÚaggr¸   rM   r5   ©rE   r/   rh   rÃ   rT   s        r   Útest_multi_indexrÅ   Z  sf   € ð€Hð6 	×Ñ˜: vÐ.Ó/°Ñ7ß	‰Ò%Ó	&ß	‰ˆq‹ð ð �Z‰Z˜vˆZÓ&€FÜ˜6Ó"€Fà�XÒÐÑr   c                ó  — d}|j                  ddg«      d   j                  g d¢«      j                  d«      }|j                  t	        |j                  «       j                  j                  «      | ¬«      }t        |«      }||k(  sJ ‚y )Na$  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row location="inner" type="terrestrial" count="4" sum="11.81" mean="2.95"/>
  <row location="outer" type="gas giant" count="2" sum="2466.5" mean="1233.25"/>
  <row location="outer" type="ice giant" count="2" sum="189.23" mean="94.61"/>
</data>r-   r,   r.   r®   r¶   r‰   )	rÂ   rÃ   r¸   rM   r½   r¾   r¿   r³   r5   rÄ   s        r   Útest_multi_index_attrs_colsrÇ   �  s�   € ð	€Hð 	×Ñ˜: vÐ.Ó/°Ñ7ß	‰Ò%Ó	&ß	‰ˆq‹ð ð
 �Z‰Z¤$ s§¡Ó'8×'@Ñ'@×'GÑ'GÓ"HÐQWˆZÓX€FÜ˜6Ó"€Fà�XÒÐÑr   c                óV   — d}|j                  ddi| ¬«      }t        |«      }||k(  sJ ‚y )Naž  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>r€   úhttp://example.com©r�   rE   r…   r†   s       r   Útest_default_namespacerË   ›  s;   € ð€Hð. �^‰^¨Ð,@Ð'AÈ&ˆ^ÓQ€FÜ˜6Ó"€Fà�XÒÐÑr   c                óX   — d}|j                  dddœ| ¬«      }t        |«      }||k(  sJ ‚y )Na¾  <?xml version='1.0' encoding='utf-8'?>
<data xmlns:oth="http://other.org" xmlns:ex="http://example.com">
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>úhttp://other.orgrÉ   )ÚothÚexrÊ   r…   r†   s       r   Útest_unused_namespacesrÐ   ¹  sD   € ð€Hð. �^‰^Ø-Ð5IÑJØð ó €Fô ˜6Ó"€Fà�XÒÐÑr   c                óX   — d}|j                  ddid| ¬«      }t        |«      }||k(  sJ ‚y )Na  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.com">
  <doc:row>
    <doc:index>0</doc:index>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:index>1</doc:index>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:index>2</doc:index>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>r4   rÉ   ©r�   rŽ   rE   r…   r†   s       r   Útest_namespace_prefixrÓ   Ý  sE   € ð€Hð. �^‰^ØÐ/Ð0¸Àvð ó €Fô ˜6Ó"€Fà�XÒÐÑr   c                ó�   — t        j                  t        d¬«      5  |j                  ddid| ¬«       d d d «       y # 1 sw Y   y xY w)Nz!doc is not included in namespacesr]   r€   rÉ   r4   rÒ   r”   r–   s     r   Útest_missing_prefix_in_nmsprÕ   ý  sD   € Ü	�‰”xÐ(KÔ	Mñ 
Ø�‰ØÐ0Ð1¸%Èð 	ô 	
÷
÷ 
ñ 
úó	   œ<¼Ac                óZ   — d}|j                  dddœd| ¬«      }t        |«      }||k(  sJ ‚y )Na7  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://other.org" xmlns="http://example.com">
  <doc:row>
    <doc:index>0</doc:index>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:index>1</doc:index>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:index>2</doc:index>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>rÉ   rÍ   )r€   r4   r4   rÒ   r…   r†   s       r   Ú!test_namespace_prefix_and_defaultrØ     sG   € ð€Hð. �^‰^Ø,Ð5GÑHØØð ó €Fô
 ˜6Ó"€Fà�XÒÐÑr   u«  <?xml version='1.0' encoding='ISO-8859-1'?>
<data>
  <row>
    <index>0</index>
    <rank>1</rank>
    <malename>JosÃ©</malename>
    <femalename>SofÃ­a</femalename>
  </row>
  <row>
    <index>1</index>
    <rank>2</rank>
    <malename>Luis</malename>
    <femalename>Valentina</femalename>
  </row>
  <row>
    <index>2</index>
    <rank>3</rank>
    <malename>Carlos</malename>
    <femalename>Isabella</femalename>
  </row>
  <row>
    <index>3</index>
    <rank>4</rank>
    <malename>Juan</malename>
    <femalename>Camila</femalename>
  </row>
  <row>
    <index>4</index>
    <rank>5</rank>
    <malename>Jorge</malename>
    <femalename>Valeria</femalename>
  </row>
</data>c                ó¢   — t        | |d¬«      j                  d«      }|j                  d|¬«      }|�|j                  dd«      }|t        k(  sJ ‚y )Nú
ISO-8859-1)rE   rK   é   ©rK   rE   z*<?xml version="1.0" encoding="ISO-8859-1"?z*<?xml version='1.0' encoding='ISO-8859-1'?)r
   ÚheadrM   r3   Úencoding_expected)Úxml_baby_namesrE   rS   rT   s       r   Útest_encoding_option_strrà   L  sY   € Ü�~¨f¸|ÔL×QÑQÐRSÓT€Gà�^‰^ \¸&ˆ^ÓA€FàÐà—‘Ø8Ø8ó
ˆð
 Ô&Ò&Ð&Ñ&r   c                ót   — t        j                  d«       t        | dd¬«      }|j                  |ddd¬«       y ©NrA   rÚ   rÜ   F)rf   rK   rE   ©r_   Úimportorskipr
   rM   )rß   rR   rS   s      r   Útest_correct_encoding_filerå   [  s2   € Ü
×Ñ˜ÔÜ�~°ÀVÔL€Gà‡N�N�9 E°LÈ€NÕPr   rK   )zUTF-8zUTF-16rÚ   c                ót   — t        j                  d«       t        | dd¬«      }|j                  |d||¬«       y râ   rã   )rß   rE   rK   rR   rS   s        r   Útest_wrong_encoding_option_lxmlrç   b  s2   € ä
×Ñ˜ÔÜ�~°ÀVÔL€Gà‡N�N�9 E°HÀV€NÕLr   c                óŠ   — t        j                  t        d¬«      5  |j                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nzunknown encodingr]   zuft-8rÜ   )r_   r`   ÚLookupErrorrM   r–   s     r   Útest_misspelled_encodingrê   j  s6   € Ü	�‰”{Ð+=Ô	?ñ 8Ø�‰ °ˆÔ7÷8÷ 8ñ 8úr    c                ód   — t        j                  d«       d}| j                  d¬«      }||k(  sJ ‚y )NrA   a\  <data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>F)Úxml_declaration)r_   rä   rM   )r   rh   rT   s      r   Ú!test_xml_declaration_pretty_printrí   r  s7   € Ü
×Ñ˜Ôð€Hð, �^‰^¨Eˆ^Ó2€Fà�XÒÐÑr   c                óz   — d}|j                  d| ¬«      }t        |«      }|�|j                  dd«      }||k(  sJ ‚y )Na4  <?xml version='1.0' encoding='utf-8'?>
<data><row><index>0</index><shape>square</shape><degrees>360</degrees><sides>4.0</sides></row><row><index>1</index><shape>circle</shape><degrees>360</degrees><sides/></row><row><index>2</index><shape>triangle</shape><degrees>180</degrees><sides>3.0</sides></row></data>F)Úpretty_printrE   ú />ú/>)rM   r5   r3   r†   s       r   Útest_no_pretty_print_with_declrò   �  sP   € ð	ð ð �^‰^¨°vˆ^Ó>€FÜ˜6Ó"€Fð ÐØ—‘  tÓ,ˆà�XÒÐÑr   c                óf   — d}|j                  dd| ¬«      }|�|j                  dd«      }||k(  sJ ‚y )Na  <data><row><index>0</index><shape>square</shape><degrees>360</degrees><sides>4.0</sides></row><row><index>1</index><shape>circle</shape><degrees>360</degrees><sides/></row><row><index>2</index><shape>triangle</shape><degrees>180</degrees><sides>3.0</sides></row></data>F)rì   rï   rE   rð   rñ   )rM   r3   r†   s       r   Útest_no_pretty_print_no_declrô   ¤  sH   € ð	ð ð �^‰^¨EÀÈfˆ^ÓU€Fð ÐØ—‘  tÓ,ˆà�XÒÐÑr   c                ó„   — t        j                  t        d¬«      5  | j                  «        d d d «       y # 1 sw Y   y xY w)Nz7lxml not found, please install or use the etree parser.r]   )r_   r`   ÚImportErrorrM   ©r   s    r   Útest_default_parser_no_lxmlrø   º  s5   € ä	�‰ÜÐUô
ñ ð 	�‰Ô÷÷ ñ ús   œ6¶?c                óˆ   — t        j                  t        d¬«      5  | j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nz,Values for parser can only be lxml or etree.r]   Úbs4rH   ©r_   r`   Ú
ValueErrorrM   r÷   s    r   Útest_unknown_parserrý   Â  s9   € Ü	�‰ÜÐIô
ñ %ð 	�‰˜eˆÔ$÷%÷ %ñ %ús	   œ8¸Aa%  <?xml version="1.0" encoding="utf-8"?>
<data>
  <row>
    <field field="index">0</field>
    <field field="shape">square</field>
    <field field="degrees">360</field>
    <field field="sides">4.0</field>
  </row>
  <row>
    <field field="index">1</field>
    <field field="shape">circle</field>
    <field field="degrees">360</field>
    <field field="sides"/>
  </row>
  <row>
    <field field="index">2</field>
    <field field="shape">triangle</field>
    <field field="degrees">180</field>
    <field field="sides">3.0</field>
  </row>
</data>c                óº   — t        j                  d«       t        | ||dk(  rdnd ¬«      5 }|j                  |¬«      t        k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w©NrA   r7   rI   rJ   ©Ú
stylesheet©r_   rä   ÚopenrM   Úxsl_expected)Úxsl_row_field_outputr?   r   Úfs       r   Útest_stylesheet_file_liker  ã  sX   € Ü
×Ñ˜ÔÜ	Ø˜d¸Àº©WÈô
ð <à	
Ø�~‰~¨ˆ~Ó+¬|Ò;Ð;Ñ;÷<÷ <ñ <ús   «AÁAc                ó,  — t        j                  d«       t        | ||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }d d d «       |j                  ¬«      }|t        k(  sJ ‚y # 1 sw Y   Œ'xY w)NrA   r7   rI   rJ   r6   r   )r_   rä   r  r   Úreadr   rM   r  )r  r?   r   r  Úxsl_objrT   s         r   Útest_stylesheet_ior  ë  sŠ   € ô ×Ñ˜Ôô 
Ø˜d¸Àº©WÈô
ð )à	
Ø�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆG÷)ð �^‰^ wˆ^Ó/€Fà”\Ò!Ð!Ñ!÷)ð )ús   «9B
Â
Bc                ó¼   — t        j                  d«       t        | ||dk(  rdnd ¬«      5 }|j                  |¬«      }d d d «       t        k(  sJ ‚y # 1 sw Y   ŒxY wrÿ   r  )r  r?   r   r  rT   s        r   Útest_stylesheet_buffered_readerr  þ  s_   € Ü
×Ñ˜ÔÜ	Ø˜d¸Àº©WÈô
ð .à	
Ø—‘¨1�Ó-ˆ÷.ð
 ”\Ò!Ð!Ñ!÷.ð .ús   «AÁAc                óö   — t        j                  d«       t        j                  j	                  dddd«      }t        j
                  t        d¬«      5  | j                  |¬«       d d d «       y # 1 sw Y   y xY w)	Nú
lxml.etreeÚdoesÚnotÚexistzrow_field_output.xsltz$\[Errno 2\] No such file or directorr]   r   )r_   rä   Úosrb   Újoinr`   ÚFileNotFoundErrorrM   ©r   Úxsls     r   Útest_stylesheet_wrong_pathr    s`   € Ü
×Ñ˜Ô%ä
�'‰'�,‰,�v˜u gÐ/FÓ
G€Cä	�‰ÜÐ!Hô
ñ 'ð 	�‰ #ˆÔ&÷'÷ 'ñ 'ús   ÁA/Á/A8Úvalr€   r   c                óä   — t        j                  d«      }dj                  g d¢«      }t        j                  |j                  |¬«      5  |j                  | ¬«       d d d «       y # 1 sw Y   y xY w)Nr  ú|)zDocument is emptyz!Start tag expected, '<' not foundzNone \(line 0\)r]   r   )r_   rä   r  r`   ÚXMLSyntaxErrorrM   )r  r   Ú
lxml_etreeÚmsgs       r   Útest_empty_string_stylesheetr    s^   € ä×$Ñ$ \Ó2€Jà
�(‰(ò	
ó€Cô 
�‰�z×0Ñ0¸Ô	<ñ 'Ø�‰ #ˆÔ&÷'÷ 'ñ 'ús   Á
A&Á&A/c                óÔ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  | j	                  t        |«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr  aR  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" >
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="row/*">
        <field>
            <xsl:attribute name="field">
                <xsl:value-of select="name()"/>
            </xsl:attribute>
            <xsl:value-of select="text()"/>
        </field>
    </xsl:template>
</xsl:stylesheet>zOpening and ending tag mismatchr]   r   )r_   rä   r`   r  rM   r   ©r   r  r  s      r   Útest_incorrect_xsl_syntaxr"  $  s\   € Ü×$Ñ$ \Ó2€Jð€Cô* 
�‰Ø×!Ñ!Ð)Jô
ñ 1ð 	�‰¤(¨3£-ˆÔ0÷1÷ 1ñ 1úó   ¹AÁA'c                óÔ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  | j	                  t        |«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr  aT  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node(*)">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="row/*">
        <field>
            <xsl:attribute name="field">
                <xsl:value-of select="name()"/>
            </xsl:attribute>
            <xsl:value-of select="text()"/>
        </field>
    </xsl:template>
</xsl:stylesheet>zfailed to compiler]   r   )r_   rä   r`   ÚXSLTParseErrorrM   r   r!  s      r   Útest_incorrect_xsl_evalr&  B  sW   € Ü×$Ñ$ \Ó2€Jð€Cô* 
�‰�z×0Ñ0Ð8KÔ	Lñ 1Ø�‰¤(¨3£-ˆÔ0÷1÷ 1ñ 1úr#  c                óÖ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  | j	                  |t        |«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr  ag  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:copy-of select="document('non_existent.xml')/*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>zCannot resolve URIr]   r   )r_   rä   r`   ÚXSLTApplyErrorrM   r   )r   rR   r  r  s       r   Útest_incorrect_xsl_applyr)  ^  sY   € Ü×$Ñ$ \Ó2€Jð
€Cô 
�‰�z×0Ñ0Ð8LÔ	Mñ <Ø�‰�y¬X°c«]ˆÔ;÷<÷ <ñ <ús   ¹AÁA(c                ó    — d}t        j                  t        d¬«      5  | j                  dt	        |«      ¬«       d d d «       y # 1 sw Y   y xY w)NaI  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node(*)">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>z*To use stylesheet, you need lxml installedr]   rC   )rE   r  )r_   r`   rü   rM   r   r  s     r   Útest_stylesheet_with_etreer+  q  sG   € ð	€Cô 
�‰”zÐ)UÔ	Vñ AØ�‰˜g´(¸3³-ˆÔ@÷A÷ Añ Aús   žAÁAc                ó¾   — t        j                  d«       d}| j                  d¬«      }|�|j                  «       }| j	                  t        |«      ¬«      }||k(  sJ ‚y )NrA   aQ  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:param name="delim">,</xsl:param>
    <xsl:template match="/data">
        <xsl:text>,shape,degrees,sides&#xa;</xsl:text>
        <xsl:apply-templates select="row"/>
    </xsl:template>

    <xsl:template match="row">
        <xsl:value-of select="concat(index, $delim, shape, $delim,
                                     degrees, $delim, sides)"/>
         <xsl:text>&#xa;</xsl:text>
    </xsl:template>
</xsl:stylesheet>ú
)Úlineterminatorr   )r_   rä   Úto_csvrO   rM   r   )r   r  Úout_csvÚout_xmls       r   Útest_style_to_csvr2  �  s\   € Ü
×Ñ˜Ôð€Cð$ �n‰n¨DˆnÓ1€GàÐØ—-‘-“/ˆØ�n‰n¬°«ˆnÓ6€Gà�gÒÐÑr   c                ó˜   — t        j                  d«       d}| j                  «       }| j                  dt	        |«      ¬«      }||k(  sJ ‚y )NrA   a˜  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:param name="delim"><xsl:text>               </xsl:text></xsl:param>
    <xsl:template match="/data">
        <xsl:text>      shape  degrees  sides&#xa;</xsl:text>
        <xsl:apply-templates select="row"/>
    </xsl:template>

    <xsl:template match="row">
        <xsl:value-of select="concat(index, ' ',
                                     substring($delim, 1, string-length('triangle')
                                               - string-length(shape) + 1),
                                     shape,
                                     substring($delim, 1, string-length(name(degrees))
                                               - string-length(degrees) + 2),
                                     degrees,
                                     substring($delim, 1, string-length(name(sides))
                                               - string-length(sides) + 2),
                                     sides)"/>
         <xsl:text>&#xa;</xsl:text>
    </xsl:template>
</xsl:stylesheet>ÚNaN)r‚   r  )r_   rä   Ú	to_stringrM   r   )r   r  Úout_strr1  s       r   Útest_style_to_stringr7  ž  sK   € Ü
×Ñ˜Ôð€Cð4 ×ÑÓ!€GØ�n‰n E´h¸s³mˆnÓD€Gà�gÒÐÑr   c                ó–   — t        j                  d«       d}| j                  «       }| j                  t	        |«      ¬«      }||k(  sJ ‚y )NrA   a]  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:param name="quot">"</xsl:param>

    <xsl:template match="/data">
        <xsl:text>{"shape":{</xsl:text>
        <xsl:apply-templates select="descendant::row/shape"/>
        <xsl:text>},"degrees":{</xsl:text>
        <xsl:apply-templates select="descendant::row/degrees"/>
        <xsl:text>},"sides":{</xsl:text>
        <xsl:apply-templates select="descendant::row/sides"/>
        <xsl:text>}}</xsl:text>
    </xsl:template>

    <xsl:template match="shape|degrees|sides">
        <xsl:variable name="val">
            <xsl:if test = ".=''">
                <xsl:value-of select="'null'"/>
            </xsl:if>
            <xsl:if test = "number(text()) = text()">
                <xsl:value-of select="text()"/>
            </xsl:if>
            <xsl:if test = "number(text()) != text()">
                <xsl:value-of select="concat($quot, text(), $quot)"/>
            </xsl:if>
        </xsl:variable>
        <xsl:value-of select="concat($quot, preceding-sibling::index,
                                     $quot,':', $val)"/>
        <xsl:if test="preceding-sibling::index != //row[last()]/index">
            <xsl:text>,</xsl:text>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>r   )r_   rä   Úto_jsonrM   r   )r   r  Úout_jsonr1  s       r   Útest_style_to_jsonr;  À  sH   € Ü
×Ñ˜Ôð#€CðJ �‰Ó €HØ�n‰n¬°«ˆnÓ6€Gà�wÒÐÑr   c                óò   — |}|j                  || |¬«       t        |d|¬«      5 }|j                  j                  «       }d d d «       t	        «      }t
        |j                  «       k(  sJ ‚y # 1 sw Y   Œ.xY w)N©rE   Úcompressionr7   ©r>  ©rM   r	   Úhandler	  r5   Úgeom_xmlrO   )rE   Úcompression_onlyr   rR   rb   Ú
handle_objrT   s          r   Útest_compression_outputrE    sy   € Ø€DØ‡N�N�4 Ð4D€NÔEä	ØØØ$ô
ð *ð 
Ø×"Ñ"×'Ñ'Ó)ˆ÷*ô ˜6Ó"€Fä�v—|‘|“~Ò%Ð%Ñ%÷*ð *ús   ¥A-Á-A6c                ó  — d||   z   }||z  }|j                  || |¬«       t        |d|¬«      5 }|j                  j                  «       }d d d «       t	        «      }t
        |j                  «       k(  sJ ‚y # 1 sw Y   Œ.xY w)Nzxml.r=  r7   r?  r@  )	rE   rC  r   Úcompression_to_extensionÚtmp_pathÚcompfilerb   rD  rT   s	            r   Útest_filename_and_suffix_comprJ    s‘   € ð Ð0Ð1AÑBÑB€HØ�hÑ€DØ‡N�N�4 Ð4D€NÔEä	ØØØ$ô
ð *ð 
Ø×"Ñ"×'Ñ'Ó)ˆ÷*ô ˜6Ó"€Fä�v—|‘|“~Ò%Ð%Ñ%÷*ð *ús   °A8Á8Bc                óª   — d}t        dt        gi«      j                  | «      }|j                  |¬«      }t	        |«      j                  «       |k(  sJ ‚y )Nzd<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <a/>
  </row>
</data>ÚarH   )r   r   ÚastyperM   r5   rO   )Úany_numeric_ea_dtyperE   rh   ÚdfÚresults        r   Útest_ea_dtypesrQ  +  sS   € ð€Hô 
�Cœ"˜�;Ó	×	&Ñ	&Ð';Ó	<€BØ�Y‰Y˜fˆYÓ%€FÜ˜Ó ×&Ñ&Ó(¨HÒ4Ð4Ñ4r   c                ó�   — t        j                  t        d¬«      5  |}|j                  || d¬«       d d d «       y # 1 sw Y   y xY w)NzUnrecognized compression typer]   Ú7zr=  rû   )rE   r   rR   rb   s       r   Útest_unsupported_compressionrT  9  s=   € Ü	�‰”zÐ)HÔ	Iñ >ØˆØ�‰�t F¸ˆÔ=÷>÷ >ñ >úrÖ   c                ó^  — t        j                  d«      }t        j                  d«       t        j                  t        t
        f«      5  |j                  d¬«      }|j                  |j                  «       |j                  d|j                  › d�d| ¬«       d d d «       y # 1 sw Y   y xY w)	NÚs3fsrA   T)Úanonzs3://z	/geom.xmlÚzip)r>  rE   )
r_   rä   ÚtmÚexternal_error_raisedÚPermissionErrorr  ÚS3FileSystemÚlsÚnamerM   )rE   Ús3_bucket_publicr   rV  Úfss        r   Útest_s3_permission_outputra  B  s™   € ä×Ñ˜vÓ&€DÜ
×Ñ˜Ôä	×	!Ñ	!¤?Ô4EÐ"FÓ	Gñ 
Ø×Ñ DÐÓ)ˆØ
�‰Ð×#Ñ#Ô$à�‰ØÐ$×)Ñ)Ð*¨)Ð4À%ÐPVð 	ô 	
÷	
÷ 
ñ 
ús   Á
AB#Â#B,)`Ú
__future__r   Úior   r   r  Únumpyr   r_   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   r   r   Úpandas._testingÚ_testingrY  Úpandas.io.commonr	   Úpandas.io.xmlr
   Úfixturer   r/   r1   r5   r?   r<   Ú
skip_if_norE   rU   rX   r[   rc   ri   ro   ÚmarkÚparametrizeÚintÚstrry   r|   r~   rƒ   r‡   r‹   r�   r—   rž   r¥   r¨   rª   r¬   r»   rÀ   rÅ   rÇ   rË   rÐ   rÓ   rÕ   rØ   rÞ   rà   rå   rç   rê   rí   rò   rô   Úskip_if_installedrø   rý   r  r  r  r  r  r  r"  r&  r)  r+  r2  r7  r;  rB  rE  rJ  rQ  rT  Ú
single_cpura  r   r   r   ú<module>rv     sÅ  ðÝ "÷ó 
ã Û ç )Ð )÷ñ õ
 å 'Ý "ðJ ‡�ñó ðð ‡�ñ,ó ð,ð^ ‡�ñó ðò>ð €‡�˜˜c�{Ô#ñó $ðð €‡�˜˜Ÿ™ V°=°2·=±=ÀÓ3HÔIÈ7ÐSÔTñó Uðò(ò(ò(ò,ò"òJ$ðN ‡�×Ñ˜  c 
Ó+ñ!ó ,ð!ðL€ò0!ò!òòBòò.Nò
Nò)ò:Nò
Nò
)ò@,ò^ò<$òNò4ò<òHò@
òðH!Ð òH'òQð ‡�×Ñ˜Ò%FÓGñMó HðMò8òò:ò*ð, €×Ñ�fÓñó ðò%ð€ò0<ò"ò&"ò'ð ‡�×Ñ˜¡¨"£©w°s«|Ð <Ó=ñ'ó >ð'ò 1ò<1ò8<ò&Aò ò:òD*ð`€ò0&ò &ò&5ò>ð ‡�×Ññ

ó ñ

r   