
    EgyC                    T   U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
mZmZmZmZmZmZmZmZ d dlZd dlmZmZmZ erEd dlmZmZmZmZ d dlmZmZm Z m!Z!m"Z" d dl#m$Z$m%Z%m&Z&m'Z'm(Z( d d	l)m*Z*m+Z+m,Z,m-Z- d d
l.m/Z0  e,d          Z1 ed          Z2ee3df         Z4de5d<   d-dZ6d.dZ7d/dZ8d0d!Z9d1d#Z:d2d%Z; G d& de<          Z=e G d' d(e=)                      Z>d*e>j?        _@        ejA        d+k     rd,e>jB        _@        e>jC        `@ejD        E                    e>           dS )3    )annotationsN)partial)	IOTYPE_CHECKINGAnyBinaryIOClassVarTypeVarUnioncastoverload)async_wrapsfinalwraps)	AwaitableCallableIterableSequence)BufferedRandomBufferedReaderBufferedWriterFileIOTextIOWrapper)OpenBinaryModeOpenBinaryModeReadingOpenBinaryModeUpdatingOpenBinaryModeWritingOpenTextMode)ConcatenateLiteral	ParamSpec	TypeAlias)AsyncIOWrapperPTzos.PathLike[str]r"   StrPathvaluereturnT | Pathc                X    t          | t          j                  rt          |           S | S N)
isinstancepathlibPath)r'   s    ?/var/www/sysmax/venv/lib/python3.11/site-packages/trio/_path.pyrewrap_pathr0   .   s'    %&& E{{    clsAsyncAutoWrapperType	attr_namestrattr)Callable[Concatenate[pathlib.Path, P], T](Callable[Concatenate[Path, P], T | Path]c                    t          |          d
fd	            }t          |t          j                  sJ t	          j        |          |_        |S )Nselfr.   argsP.argskwargsP.kwargsr(   r)   c                \    t          | j                  } ||i |}t          |          S r+   )getattr_wrappedr0   )r:   r;   r=   r6   r'   r4   s        r/   wrapperz!_forward_factory.<locals>.wrapper:   s6    t}i00d%f%%5!!!r1   )r:   r.   r;   r<   r=   r>   r(   r)   )r   r,   typesFunctionTypeinspect	signature__signature__)r2   r4   r6   rB   s    `  r/   _forward_factoryrH   5   sf    
 4[[" " " " " [" gu122222#-d33GNr1   Callable[..., T]Callable[..., Path | T]c                     t                      t                    fd fd            }t          |t          j                  sJ t          j                  |_        |S )	Nr:   r.   otherobjectr(   Path | Tc                    |u r | j                   S t          |          rt          t          |          j         } | j         |          }t	          |          S r+   )rA   r,   r   r.   r0   )r:   rL   r'   r6   r2   sentinels      r/   rB   z_forward_magic.<locals>.wrapperM   se    H4&&&eS!! 	/u%%.ET]E**5!!!r1   )r:   r.   rL   rM   r(   rN   )rM   r   r,   rC   rD   rE   rF   rG   )r2   r6   rB   rP   s   `` @r/   _forward_magicrQ   H   s     xxH
4[[,4 " " " " " " " " [" gu122222#-d33GNr1   	meth_name9Callable[Concatenate[Path, P], Awaitable[Iterable[Path]]]c                L    t          | | j                  d
fd	            }|S )Nr:   r.   r;   r<   r=   r>   r(   Iterable[Path]c                   K   t          | j                  }t          |g|R i |t          j                            fd           d {V }d |D             S )Nc                 2    t                                  S r+   )list)funcs   r/   <lambda>z7iter_wrapper_factory.<locals>.wrapper.<locals>.<lambda>d   s    d4466ll r1   c              3  4   K   | ]}t          |          V  d S r+   )r0   ).0items     r/   	<genexpr>z8iter_wrapper_factory.<locals>.wrapper.<locals>.<genexpr>e   s*      44dD!!444444r1   )r@   rA   r   trio	to_threadrun_sync)r:   r;   r=   methitemsrY   rR   s        @r/   rB   z%iter_wrapper_factory.<locals>.wrapper^   s}      t}i00t-d---f-- n--.B.B.B.BCCCCCCCC44e4444r1   )r:   r.   r;   r<   r=   r>   r(   rU   r   _wrapsr2   rR   rB   s    ` r/   iter_wrapper_factoryrg   [   sC     cj),,5 5 5 5 5 -,5 Nr1   /Callable[Concatenate[Path, P], Awaitable[Path]]c                L    t          | | j                  d	fd            }|S )
Nr:   r.   r;   r<   r=   r>   r(   c                   K   t          | j                  }t          |g|R i |}t          j                            |           d {V }t          |          S r+   )r@   rA   r   r_   r`   ra   r0   )r:   r;   r=   rb   rY   r'   rR   s         r/   rB   z'thread_wrapper_factory.<locals>.wrapperm   sj      t}i00t-d---f--n--d333333335!!!r1   )r:   r.   r;   r<   r=   r>   r(   r.   rd   rf   s    ` r/   thread_wrapper_factoryrk   j   sC     cj),," " " " " -," Nr1   classmethodc                    t          | | j                  d	fd            }t          |t          j                  sJ t          j        t          | j                            |_        t          |          S )
Nr2   
type[Path]r;   r   r=   r(   r.   c                   K   t          | j                  }t          |g|R i |}t          j                            |           d {V }t          |          S r+   )r@   re   r   r_   r`   ra   r0   )r2   r;   r=   rb   rY   r'   rR   s         r/   rB   z,classmethod_wrapper_factory.<locals>.wrapperz   sj      sz9--t-d---f--n--d333333335!!!r1   )r2   rn   r;   r   r=   r   r(   r.   )
r   re   r,   rC   rD   rE   rF   r@   rG   rl   rf   s    ` r/   classmethod_wrapper_factoryrp   w   s     cj),," " " " " -," gu122222#-gcj).L.LMMGwr1   c                  t     e Zd ZU ded<   ded<   ded<   ded<   ded<   d fdZddZddZddZddZ xZ	S )r3   type	_forwardsre   	list[str]rQ   
_wrap_iter_forwardnamer5   basestuple[type, ...]attrsdict[str, object]r(   Nonec                t   t                                          |||           g | _        t          |                               | |           t          |                               | |           t          |                               | |           t          |                               | |           d S r+   )super__init__rv   rr   generate_forwardsgenerate_wrapsgenerate_magicgenerate_iter)r2   rw   rx   rz   	__class__s       r/   r   zAsyncAutoWrapperType.__init__   s     	ue,,,S		##C///S		  e,,,S		  e,,,S		U+++++r1   c                   | j         j                                        D ]\  }}|                    d          s||v rt	          |t
                    r| j                            |           Ot	          |t          j	                  r#t          | ||          }t          | ||           t          |t          |                    d S N_)rs   __dict__rc   
startswithr,   propertyrv   appendrC   rD   rH   setattr	TypeErrorrr   r2   rz   r4   r6   rB   s        r/   r   z&AsyncAutoWrapperType.generate_forwards   s    "}5;;== 
	7 
	7OIt##C(( I,>,>$)) 7##I....D%"455 7*3	4@@Y0000	4::666
	7 
	7r1   c                
   | j         j                                        D ]\  }}|                    d          s||v rt	          |t
                    r"t          | |          }t          | ||           Vt	          |t          j	                  rWt          | |          }t	          |t          j	                  sJ t          j        |          |_        t          | ||           t          |t          |                    d S r   )re   r   rc   r   r,   rl   rp   r   rC   rD   rk   rE   rF   rG   r   rr   r   s        r/   r   z#AsyncAutoWrapperType.generate_wraps   s     #z288:: 	7 	7OIt##C(( I,>,>$,, 	75c9EEY0000D%"455 70i@@!'5+=>>>>>(/(9$(?(?%Y0000	4::666	7 	7r1   c                    | j         D ]8}t          | j        |          }t          | |          }t          | ||           9d S r+   )rQ   r@   rs   r   r   s        r/   r   z#AsyncAutoWrapperType.generate_magic   sS    + 	- 	-I3=)44D$S$//GCG,,,,	- 	-r1   c                   | j         j                                        D ]d\  }}|| j        v rVt	          | |          }t          |t          j                  sJ t          j	        |          |_
        t          | ||           ed S r+   )re   r   rc   ru   rg   r,   rC   rD   rE   rF   rG   r   r   s        r/   r   z"AsyncAutoWrapperType.generate_iter   s      #z288:: 	1 	1OItCN**.sI>>!'5+=>>>>>(/(9$(?(?%Y000	1 	1r1   )rw   r5   rx   ry   rz   r{   r(   r|   )rz   r{   r(   r|   )
__name__
__module____qualname____annotations__r   r   r   r   r   __classcell__r   s   @r/   r3   r3      s         OOOLLL	, 	, 	, 	, 	, 	,7 7 7 77 7 7 7$- - - -1 1 1 1 1 1 1 1r1   c                      e Zd ZU dZded<   ej        Zded<   ej        Z	ded<   g dZ
ded<   g d	Zded
<   ddZesd Zd fdZddZddZe	 	 	 	 	 ddd"            Ze	 	 	 ddd&            Ze	 	 	 	 ddd*            Ze	 	 	 	 ddd-            Ze	 	 	 	 ddd0            Ze	 	 	 	 ddd2            Ze	 	 	 	 ddd4            Z eej        j                  dd7            Zerdd9Zdd;Zdd<Zdd?Zdd@ZddAZddBZeddD            ZeddE            ZeddF            ZeddG            Z eddH            Z!eddI            Z"eddJ            Z#eddK            Z$eddM            Z%eddN            Z&ddOZ'ddPZ(ddQZ)ddRZ*ddTZ+ddUZ,ddWZ-ddYZ.ddZZ/e0j1        d[k    rdd\Z2dd^Z3e4dd_            Z5e0j1        d`k    rdadbddeZ6dadbddfZ7nddgZ6ddhZ7ddiZ8ddlZ9ddmZ:ddnZ;ddoZ<ddpZ=ddqZ>ddrZ?ddsZ@ddtZAdduZBddvZCddd{ZDe0jE        d|k    rdd}ZFdd~ZGddZHe0j1        d[k    rddZIddZJddZKdddZLddZMddZNdddZOe0j1        d`k    rddZPdddZQdddZRe4dd            ZSddZTddZUddZVdddZWddZXddZYe0j1        d`k    r		 	 	 dddZZn	 	 dddZZe0j1        dk     rddZ[e0j1        dk    rddZ\d5ed<   ddZ] xZ^S  xZ^S  xZ^S )r.   zlA :class:`pathlib.Path` wrapper that executes blocking methods in
    :meth:`trio.to_thread.run_sync`.

    zClassVar[list[str]]rv   zClassVar[type]re   rs   )
__str__	__bytes____truediv____rtruediv____eq____lt____le____gt____ge____hash__rQ   )globrglobiterdirru   r;   r&   r(   r|   c                ,    t          j        | | _        d S r+   )r-   r.   rA   )r:   r;   s     r/   r   zPath.__init__   s    d+r1   c                z    || j         v r$t          | j        |          }t          |          S t	          |          r+   )rv   r@   rA   r0   AttributeError)r:   rw   r'   s      r/   __getattr__zPath.__getattr__   s<    t}$$t44"5))) &&&r1   rt   c                V    g t                                                      | j        S r+   )r~   __dir__rv   )r:   r   s    r/   r   zPath.__dir__   s#    3""3T]33r1   r5   c                (    dt          |           dS )Nz
trio.Path())r5   r:   s    r/   __repr__zPath.__repr__   s    *CII****r1   c                4    t          j        | j                  S r+   )osfspathrA   r   s    r/   
__fspath__zPath.__fspath__   s    y'''r1   rNmoder   	bufferingintencoding
str | Noneerrorsnewline_AsyncIOWrapper[TextIOWrapper]c                
   K   d S r+    r:   r   r   r   r   r   s         r/   openz	Path.open          	r1   r   
Literal[0]_AsyncIOWrapper[FileIO]c                
   K   d S r+   r   r   s         r/   r   z	Path.open  r   r1   r   Literal[-1, 1]_AsyncIOWrapper[BufferedRandom]c                
   K   d S r+   r   r   s         r/   r   z	Path.open  r   r1   r   _AsyncIOWrapper[BufferedWriter]c                
   K   d S r+   r   r   s         r/   r   z	Path.open  r   r1   r   _AsyncIOWrapper[BufferedReader]c                
   K   d S r+   r   r   s         r/   r   z	Path.open%  r   r1   _AsyncIOWrapper[BinaryIO]c                
   K   d S r+   r   r   s         r/   r   z	Path.open0  r   r1   _AsyncIOWrapper[IO[Any]]c                
   K   d S r+   r   r   s         r/   r   z	Path.open;  r   r1   r   r=   c                   K   t          | j        j        g|R i |}t          j                            |           d{V }t          j        |          S )zfOpen the file pointed to by the path, like the :func:`trio.open_file`
        function does.

        N)r   rA   r   r_   r`   ra   	wrap_file)r:   r;   r=   rY   r'   s        r/   r   z	Path.openF  sa       t});D;;;F;;n--d33333333~e$$$r1   bytesc                    d S r+   r   r   s    r/   r   zPath.__bytes__T        r1   rL   c                    d S r+   r   r:   rL   s     r/   r   zPath.__truediv__U  r   r1   c                    d S r+   r   r   s     r/   r   zPath.__rtruediv__V  r   r1   Path | pathlib.PurePathboolc                    d S r+   r   r   s     r/   r   zPath.__lt__W  r   r1   c                    d S r+   r   r   s     r/   r   zPath.__le__X  r   r1   c                    d S r+   r   r   s     r/   r   zPath.__gt__Y  r   r1   c                    d S r+   r   r   s     r/   r   zPath.__ge__Z  r   r1   tuple[str, ...]c                    d S r+   r   r   s    r/   partsz
Path.parts_  s    ,/Cr1   c                    d S r+   r   r   s    r/   drivez
Path.drivea  s     #r1   c                    d S r+   r   r   s    r/   rootz	Path.rootc      "sr1   c                    d S r+   r   r   s    r/   anchorzPath.anchore      !$r1   c                    d S r+   r   r   s    r/   rw   z	Path.nameg  r   r1   c                    d S r+   r   r   s    r/   suffixzPath.suffixi  r   r1   c                    d S r+   r   r   s    r/   suffixeszPath.suffixesk  s    ),r1   c                    d S r+   r   r   s    r/   stemz	Path.stemm  r   r1   Sequence[pathlib.Path]c                    d S r+   r   r   s    r/   parentszPath.parentso  s    58Sr1   c                    d S r+   r   r   s    r/   parentzPath.parentq  s    "%#r1   c                    d S r+   r   r   s    r/   as_posixzPath.as_posixu  r   r1   c                    d S r+   r   r   s    r/   as_urizPath.as_uriv  r   r1   c                    d S r+   r   r   s    r/   is_absolutezPath.is_absolutew  r   r1   c                    d S r+   r   r   s    r/   is_reservedzPath.is_reservedx  r   r1   path_patternc                    d S r+   r   )r:   r   s     r/   matchz
Path.matchy  r   r1   c                    d S r+   r   r   s     r/   relative_tozPath.relative_toz  r   r1   rw   c                    d S r+   r   )r:   rw   s     r/   	with_namezPath.with_name{  r   r1   r   c                    d S r+   r   )r:   r   s     r/   with_suffixzPath.with_suffix|  r   r1   c                    d S r+   r   r   s     r/   joinpathzPath.joinpath}  r   r1   )   	   c                    d S r+   r   r   s     r/   is_relative_tozPath.is_relative_to  r   r1   r   c                    d S r+   r   )r:   r   s     r/   	with_stemzPath.with_stem  r   r1   c                
   K   d S r+   r   r   s    r/   cwdzPath.cwd  s      %(Sr1   )r	  
   T)follow_symlinksr  os.stat_resultc               
   K   d S r+   r   )r:   r  s     r/   statz	Path.stat  
        r1   c               
   K   d S r+   r   )r:   r   r  s      r/   chmodz
Path.chmod  r  r1   c                
   K   d S r+   r   r   s    r/   r  z	Path.stat  r  r1   c                
   K   d S r+   r   r:   r   s     r/   r  z
Path.chmod  r  r1   c                
   K   d S r+   r   r   s    r/   existszPath.exists  r  r1   patternrU   c                
   K   d S r+   r   r:   r  s     r/   r   z	Path.glob  r  r1   c                
   K   d S r+   r   r   s    r/   is_dirzPath.is_dir  r  r1   c                
   K   d S r+   r   r   s    r/   is_filezPath.is_file  r  r1   c                
   K   d S r+   r   r   s    r/   
is_symlinkzPath.is_symlink  r  r1   c                
   K   d S r+   r   r   s    r/   	is_socketzPath.is_socket  r  r1   c                
   K   d S r+   r   r   s    r/   is_fifozPath.is_fifo  r  r1   c                
   K   d S r+   r   r   s    r/   is_block_devicezPath.is_block_device  r  r1   c                
   K   d S r+   r   r   s    r/   is_char_devicezPath.is_char_device  r  r1   c                
   K   d S r+   r   r   s    r/   r   zPath.iterdir  r  r1   c                
   K   d S r+   r   r  s     r/   lchmodzPath.lchmod  r  r1   c                
   K   d S r+   r   r   s    r/   lstatz
Path.lstat  r  r1     Fr   exist_okc                
   K   d S r+   r   )r:   r   r   r5  s       r/   mkdirz
Path.mkdir  r  r1   win32c                
   K   d S r+   r   r   s    r/   ownerz
Path.owner  r  r1   c                
   K   d S r+   r   r   s    r/   groupz
Path.group  r  r1   c                
   K   d S r+   r   r   s    r/   is_mountzPath.is_mount  r  r1   c                
   K   d S r+   r   r   s    r/   readlinkzPath.readlink  r  r1   targetc                
   K   d S r+   r   r:   rA  s     r/   renamezPath.rename  r  r1   c                
   K   d S r+   r   rC  s     r/   replacezPath.replace  r  r1   strictc                
   K   d S r+   r   )r:   rG  s     r/   resolvezPath.resolve  r  r1   c                
   K   d S r+   r   r   s     r/   r   z
Path.rglob  r  r1   c                
   K   d S r+   r   r   s    r/   rmdirz
Path.rmdir  r  r1   target_is_directoryc                
   K   d S r+   r   )r:   rA  rM  s      r/   
symlink_tozPath.symlink_to  r  r1   str | pathlib.Pathc                
   K   d S r+   r   rC  s     r/   hardlink_tozPath.hardlink_to  r  r1     c                
   K   d S r+   r   )r:   r   r5  s      r/   touchz
Path.touch  r  r1   
missing_okc                
   K   d S r+   r   )r:   rV  s     r/   unlinkzPath.unlink  r  r1   c                
   K   d S r+   r   r   s    r/   homez	Path.home  s      &)cr1   c                
   K   d S r+   r   r   s    r/   absolutezPath.absolute  r  r1   c                
   K   d S r+   r   r   s    r/   
expanduserzPath.expanduser  r  r1   c                
   K   d S r+   r   r   s    r/   
read_byteszPath.read_bytes  r  r1   c                
   K   d S r+   r   )r:   r   r   s      r/   	read_textzPath.read_text  r  r1   
other_pathbytes | int | StrPathc                
   K   d S r+   r   )r:   rc  s     r/   samefilezPath.samefile  r  r1   datac                
   K   d S r+   r   )r:   rg  s     r/   write_byteszPath.write_bytes  r  r1   c                
   K   d S r+   r   )r:   rg  r   r   r   s        r/   
write_textzPath.write_text  s      
 cr1   c                
   K   d S r+   r   )r:   rg  r   r   s       r/   rk  zPath.write_text  s       cr1   r	     StrPath | bytesc                
   K   d S r+   r   rC  s     r/   link_tozPath.link_to  r  r1   c                
   K   d S r+   r   r   s    r/   is_junctionzPath.is_junction  r  r1   walkpathsegmentsc                
   K   d S r+   r   )r:   ru  s     r/   with_segmentszPath.with_segments  r  r1   )r;   r&   r(   r|   )r(   rt   )r(   r5   )r   r   NNN)r   r   r   r   r   r   r   r   r   r   r(   r   )NNN)r   r   r   r   r   r|   r   r|   r   r|   r(   r   )r   NNN)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   r|   r   r|   r   r|   r(   r   )r   r   r   r   r   r|   r   r|   r   r|   r(   r   )r   r5   r   r   r   r   r   r   r   r   r(   r   )r;   r   r=   r   r(   r   )r(   r   )rL   r&   r(   r.   )rL   r   r(   r   )r(   r   )r(   r   )r(   r.   )r(   r   )r   r5   r(   r   )rw   r5   r(   r.   )r   r5   r(   r.   )rL   r&   r(   r   )r   r5   r(   r.   )r  r   r(   r  )r   r   r  r   r(   r|   )r(   r  )r   r   r(   r|   )r  r5   r(   rU   )r(   rU   )r4  FF)r   r   r   r   r5  r   r(   r|   )rA  r&   r(   r.   )F)rG  r   r(   r.   )r(   r|   )rA  r&   rM  r   r(   r|   )rA  rP  r(   r|   )rS  T)r   r   r5  r   r(   r|   )rV  r   r(   r|   )NN)r   r   r   r   r(   r5   )rc  rd  r(   r   )rg  r   r(   r   )
rg  r5   r   r   r   r   r   r   r(   r   )rg  r5   r   r   r   r   r(   r   )rA  ro  r(   r|   )ru  r&   r(   r.   )_r   r   r   __doc__r   r-   r.   re   PurePathrs   rQ   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rw   r   r   r   r   r   r   r   r   r   r   r  r  r  r  sysversion_infor  r  rl   r  r  r  r  r   r"  r$  r&  r(  r*  r,  r.  r   r1  r3  r7  platformr:  r<  r>  r@  rD  rF  rI  r   rL  rO  rR  rU  rX  rZ  r\  r^  r`  rb  rf  ri  rk  rq  rs  rw  r   r   s   @r/   r.   r.      s~         
 "!!!$\F)))) ' 0I0000+ + +N     'C&B&BJBBBB, , , ,  '	' 	' 	'4 4 4 4 4 4+ + + +( ( ( (  !#!"    X 
     X  %'    X  %'    X  %'    X      X  #!"    X U7<% % % %  wO 	*)))::::;;;;EEEEEEEEEEEEEEEE
 
/// 
/	### 
#	""" 
"	$$$ 
$	""" 
"	$$$ 
$	,,, 
,	""" 
"	888 
8	%%% 
% 	'&&&$$$$********7777;;;;333377778888v%%BBBB7777 
((( 
(w&&<@XXXXXXHLZZZZZZZ77779999++++AAAA++++,,,,////....,,,,44443333666666664444lllll<7""--------1111v%%1111<<<<====BBBBBBBBB****cccccw&&PPPPTTTTTEEEEE	))) 
)----////0000eeeeePPPP<<<<w&& (,%)&*	      (,%)     g%%IIIIw&&4444IIINNNNNNNNowO wO wO wOh '&&&r1   r.   )	metaclassa  
    Like :meth:`~pathlib.Path.iterdir`, but async.

    This is an async method that returns a synchronous iterator, so you
    use it like::

       for subpath in await mypath.iterdir():
           ...

    Note that it actually loads the whole directory list into memory
    immediately, during the initial call. (See `issue #501
    <https://github.com/python-trio/trio/issues/501>`__ for discussion.)

rm  z
    Like Python 3.8-3.11's :meth:`~pathlib.Path.link_to`, but async.

    :deprecated: This method was deprecated in Python 3.10 and entirely     removed in 3.12. Use :meth:`hardlink_to` instead which has     a more meaningful parameter order.
)r'   r%   r(   r)   )r2   r3   r4   r5   r6   r7   r(   r8   )r2   r3   r6   rI   r(   rJ   )r2   r3   rR   r5   r(   rS   )r2   r3   rR   r5   r(   rh   )r2   r3   rR   r5   r(   rl   )F
__future__r   rE   r   r-   rz  rC   	functoolsr   typingr   r   r   r   r	   r
   r   r   r   r_   
trio._utilr   r   r   collections.abcr   r   r   r   ior   r   r   r   r   	_typeshedr   r   r   r   r   typing_extensionsr   r    r!   r"   trio._file_ior#   _AsyncIOWrapperr$   r%   r5   r&   r   r0   rH   rQ   rg   rk   rp   rr   r3   r.   r   rx  r{  rq  r\  PathLikeregisterr   r1   r/   <module>r     sE   " " " " " " "  				  



       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  0 0 0 0 0 0 0 0 0 0 GGGGGGGGGGGGXXXXXXXXXXXXXX              MLLLLLLLLLLL??????	#AGCLL3 223 3 3 3 3      &   &   
 
 
 
       A1 A1 A1 A1 A14 A1 A1 A1H }O }O }O }O }O) }O }O }O }O@  gDL 	M   T     r1   