o
    rMfu                     @   s  d Z 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ZdZ	ej
d dkZej
d dkZej
dd dkZerJefZefZefZeZeZejZn=efZeefZeejfZeZeZejd	reed
Zn"G dd deZ ze!e   W n e"y   ed
ZY nw edZ[ dd Z#dd Z$G dd deZ%G dd de%Z&G dd dej'Z(G dd de%Z)G dd deZ*e*e+Z,G dd de(Z-g e)dddd e)d!d"d#d$d!e)d%d"d"d&d%e)d'd(d#d)d'e)d*d(d+e)d,d"d#d-d,e)d.d/d/d0d.e)d1d/d/d.d1e)d2d(d#d3d2e)d4d(erd5nd6d7e)d8d(d9e)d:d;d<d=e)d d de)d>d>d?e)d@d@d?e)dAdAd?e)d3d(d#d3d2e)dBd"d#dCdBe)dDd"d"dEdDe&d#d(e&dFdGe&dHdIe&dJdKdLe&dMdNdMe&dOdPdQe&dRdSdTe&dUdVdWe&dXdYdZe&d[d\d]e&d^d_d`e&dadbdce&dddedfe&dgdhdie&djdjdke&dldldke&dmdmdke&dndndoe&dpdqe&drdse&dtdue&dvdwdve&dxdye&dzd{d|e&d}d~de&ddde&ddde&ddde&ddde&ddde&ddde&ddde&ddde&ddde&ddde&ddde&ddde&de+d de&de+d de&de+d e+d e&ddde&ddde&dddZ.ejdkree.e&ddg7 Z.e.D ]Z/e0e-e/j1e/ e2e/e&re,3e/de/j1  qg[/e.e-_.e-e+d Z4e,3e4d G dd de(Z5e)ddde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)d=dde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)ddde)dddgZ6e6D ]
Z/e0e5e/j1e/ q[/e6e5_.e,3e5e+d ddҡ G ddԄ de(Z7e)ddde)ddde)dddgZ8e8D ]
Z/e0e7e/j1e/ qE[/e8e7_.e,3e7e+d ddۡ G dd݄ de(Z9g e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃e)ddd߃Z:e:D ]
Z/e0e9e/j1e/ q1[/e:e9_.e,3e9e+d  dd G dd de(Z;e)ddde)ddde)ddde)d	ddgZ<e<D ]
Z/e0e;e/j1e/ qy[/e<e;_.e,3e;e+d
 dd G dd de(Z=e)dddgZ>e>D ]
Z/e0e=e/j1e/ q[/e>e=_.e,3e=e+d dd G dd dej'Z?e,3e?e+d d dd Z@dd ZAerdZBdZCdZDdZEdZFdZGnd ZBd!ZCd"ZDd#ZEd$ZFd%ZGzeHZIW n eJy'   d&d' ZIY nw eIZHzeKZKW n eJy>   d(d) ZKY nw erTd*d+ ZLejMZNd,d- ZOeZPnd.d+ ZLd/d0 ZNd1d- ZOG d2d3 d3eZPeKZKe#eLd4 eQeBZReQeCZSeQeDZTeQeEZUeQeFZVeQeGZWerŐd5d6 ZXd7d8 ZYd9d: ZZd;d< Z[e\d=Z]e\d>Z^e\d?Z_n*d@d6 ZXdAd8 ZYdBd: ZZdCd< Z[e\dDZ]e\dEZ^e\dFZ_e#eXdG e#eYdH e#eZdI e#e[dJ erSdKdL Z`dMdN ZaebZcddldZdededOjfZg[dehdZiejjZkelZmddlnZnenjoZoenjpZpdPZqej
dQ dQkrLdRZrdSZsn<dTZrdUZsn5dVdL Z`dWdN ZaecZcebZgdXdY ZidZd[ ZketejuevZmddloZoeojo ZoZpd\ZqdRZrdSZse#e`d] e#ead^ d_dP Zwd`dT ZxdadU Zyereze4j{dbZ|d|dcddZ}nd}dedfZ|e|dg ej
dd dhkre|di nej
dd dhkre|dj ndkdl Z~eze4j{dmdZedu rdndo Zej
dd dpk reZdqdo Ze#e}dr ej
dd dk r0ejejfdsdtZnejZdudv Zdwdx Zdydz Zg Ze+Ze d{durVg e_ejr{eejD ]\ZZeej+dkrwej1e+krweje=  nq_[[eje, dS (~  z6Utilities for writing code that runs on Python 2 and 3    )absolute_importNz'Benjamin Peterson <benjamin@python.org>z1.9.0      )r      javaic                   @      e Zd Zdd ZdS )Xc                 C   s   dS )Nl         selfr	   r	   S/var/www/html/analyze/labelStudio/lib/python3.10/site-packages/boto/vendored/six.py__len__>      z	X.__len__N)__name__
__module____qualname__r   r	   r	   r	   r   r   <       r   l    c                 C   s
   || _ dS )z Add documentation to a function.N)__doc__)funcdocr	   r	   r   _add_docK   s   
r   c                 C   s   t |  tj|  S )z7Import module, returning the module after the last dot.)
__import__sysmodulesnamer	   r	   r   _import_moduleP   s   
r   c                   @   s   e Zd Zdd Zdd ZdS )
_LazyDescrc                 C   s
   || _ d S Nr   r   r   r	   r	   r   __init__X      
z_LazyDescr.__init__c                 C   s@   |   }t|| j| z
t|j| j W |S  ty   Y |S w r   )_resolvesetattrr   delattr	__class__AttributeError)r   objtpresultr	   r	   r   __get__[   s   z_LazyDescr.__get__N)r   r   r   r    r*   r	   r	   r	   r   r   V   s    r   c                       s.   e Zd Zd fdd	Zdd Zdd Z  ZS )	MovedModuleNc                    s4   t t| | tr|d u r|}|| _d S || _d S r   )superr+   r    PY3mod)r   r   oldnewr%   r	   r   r    i   s   

zMovedModule.__init__c                 C   s
   t | jS r   )r   r.   r
   r	   r	   r   r"   r   r!   zMovedModule._resolvec                 C   s"   |   }t||}t| || |S r   )r"   getattrr#   )r   attr_modulevaluer	   r	   r   __getattr__u   s   
zMovedModule.__getattr__r   )r   r   r   r    r"   r6   __classcell__r	   r	   r1   r   r+   g   s    	r+   c                       s(   e Zd Z fddZdd Zg Z  ZS )_LazyModulec                    s   t t| | | jj| _d S r   )r,   r8   r    r%   r   r   r1   r	   r   r    ~   s   z_LazyModule.__init__c                 C   s    ddg}|dd | j D 7 }|S )Nr   r   c                 S   s   g | ]}|j qS r	   r   ).0r3   r	   r	   r   
<listcomp>   s    z'_LazyModule.__dir__.<locals>.<listcomp>)_moved_attributes)r   attrsr	   r	   r   __dir__   s   z_LazyModule.__dir__)r   r   r   r    r=   r;   r7   r	   r	   r1   r   r8   |   s    r8   c                       s&   e Zd Zd fdd	Zdd Z  ZS )MovedAttributeNc                    sf   t t| | tr%|d u r|}|| _|d u r |d u r|}n|}|| _d S || _|d u r.|}|| _d S r   )r,   r>   r    r-   r.   r3   )r   r   old_modnew_modold_attrnew_attrr1   r	   r   r       s   

zMovedAttribute.__init__c                 C   s   t | j}t|| jS r   )r   r.   r2   r3   )r   moduler	   r	   r   r"      s   
zMovedAttribute._resolveNN)r   r   r   r    r"   r7   r	   r	   r1   r   r>      s    r>   c                   @   sV   e Zd ZdZdd Zdd Zdd Zdd	d
Zdd Zdd Z	dd Z
dd ZeZdS )_SixMetaPathImporterz
    A meta path importer to import six.moves and its submodules.

    This class implements a PEP302 finder and loader. It should be compatible
    with Python 2.5 and all existing versions of Python3
    c                 C   s   || _ i | _d S r   )r   known_modules)r   six_module_namer	   r	   r   r       s   
z_SixMetaPathImporter.__init__c                 G   s"   |D ]}|| j | jd | < qd S N.rF   r   )r   r.   	fullnamesfullnamer	   r	   r   _add_module   s   z _SixMetaPathImporter._add_modulec                 C   s   | j | jd |  S rH   rJ   r   rL   r	   r	   r   _get_module      z _SixMetaPathImporter._get_moduleNc                 C   s   || j v r| S d S r   )rF   )r   rL   pathr	   r	   r   find_module   s   
z _SixMetaPathImporter.find_modulec                 C   s(   z| j | W S  ty   td| w )Nz!This loader does not know module )rF   KeyErrorImportErrorrN   r	   r	   r   __get_module   s
   z!_SixMetaPathImporter.__get_modulec                 C   sR   zt j| W S  ty   Y nw | |}t|tr| }n| |_|t j|< |S r   )r   r   rS    _SixMetaPathImporter__get_module
isinstancer+   r"   
__loader__)r   rL   r.   r	   r	   r   load_module   s   



z _SixMetaPathImporter.load_modulec                 C   s   t | |dS )z
        Return true, if the named module is a package.

        We need this method to get correct spec objects with
        Python 3.4 (see PEP451)
        __path__)hasattrrV   rN   r	   r	   r   
is_package   s   z_SixMetaPathImporter.is_packagec                 C   s   |  | dS )z;Return None

        Required, if is_package is implementedN)rV   rN   r	   r	   r   get_code   s   
z_SixMetaPathImporter.get_coder   )r   r   r   r   r    rM   rO   rR   rV   rY   r\   r]   
get_sourcer	   r	   r	   r   rE      s    
	rE   c                   @   s   e Zd ZdZg ZdS )_MovedItemszLazy loading of moved objectsN)r   r   r   r   rZ   r	   r	   r	   r   r_      s    r_   	cStringIOioStringIOfilter	itertoolsbuiltinsifilterfilterfalseifilterfalseinput__builtin__	raw_inputinternr   mapimapgetcwdosgetcwdugetcwdbrangexrangereload_module	importlibimpreloadreduce	functoolsshlex_quotepipesshlexquoteUserDictcollectionsUserList
UserStringzipizipzip_longestizip_longestconfigparserConfigParsercopyregcopy_regdbm_gnugdbmzdbm.gnu_dummy_threaddummy_threadhttp_cookiejar	cookielibzhttp.cookiejarhttp_cookiesCookiezhttp.cookieshtml_entitieshtmlentitydefszhtml.entitieshtml_parser
HTMLParserzhtml.parserhttp_clienthttplibzhttp.clientemail_mime_multipartzemail.MIMEMultipartzemail.mime.multipartemail_mime_nonmultipartzemail.MIMENonMultipartzemail.mime.nonmultipartemail_mime_textzemail.MIMETextzemail.mime.textemail_mime_basezemail.MIMEBasezemail.mime.baseBaseHTTPServerzhttp.serverCGIHTTPServerSimpleHTTPServercPicklepicklequeueQueuereprlibreprsocketserverSocketServer_threadthreadtkinterTkintertkinter_dialogDialogztkinter.dialogtkinter_filedialog
FileDialogztkinter.filedialogtkinter_scrolledtextScrolledTextztkinter.scrolledtexttkinter_simpledialogSimpleDialogztkinter.simpledialogtkinter_tixTixztkinter.tixtkinter_ttkttkztkinter.ttktkinter_constantsTkconstantsztkinter.constantstkinter_dndTkdndztkinter.dndtkinter_colorchoosertkColorChooserztkinter.colorchoosertkinter_commondialogtkCommonDialogztkinter.commondialogtkinter_tkfiledialogtkFileDialogtkinter_fonttkFontztkinter.fonttkinter_messageboxtkMessageBoxztkinter.messageboxtkinter_tksimpledialogtkSimpleDialogurllib_parsez.moves.urllib_parsezurllib.parseurllib_errorz.moves.urllib_errorzurllib.errorurllibz.moves.urlliburllib_robotparserrobotparserzurllib.robotparserxmlrpc_client	xmlrpclibzxmlrpc.clientxmlrpc_serverSimpleXMLRPCServerzxmlrpc.serverwin32winreg_winregzmoves.z.movesmovesc                   @      e Zd ZdZdS )Module_six_moves_urllib_parsez7Lazy loading of moved objects in six.moves.urllib_parseNr   r   r   r   r	   r	   r	   r   r   @      r   ParseResulturlparseSplitResultparse_qs	parse_qsl	urldefragurljoinurlsplit
urlunparse
urlunsplit
quote_plusunquoteunquote_plus	urlencode
splitquerysplittag	splituseruses_fragmentuses_netlocuses_params
uses_queryuses_relativemoves.urllib_parsezmoves.urllib.parsec                   @   r   )Module_six_moves_urllib_errorz7Lazy loading of moved objects in six.moves.urllib_errorNr   r	   r	   r	   r   r   h  r   r   URLErrorurllib2	HTTPErrorContentTooShortErrorz.moves.urllib.errormoves.urllib_errorzmoves.urllib.errorc                   @   r   )Module_six_moves_urllib_requestz9Lazy loading of moved objects in six.moves.urllib_requestNr   r	   r	   r	   r   r   |  r   r   urlopenzurllib.requestinstall_openerbuild_openerpathname2urlurl2pathname
getproxiesRequestOpenerDirectorHTTPDefaultErrorHandlerHTTPRedirectHandlerHTTPCookieProcessorProxyHandlerBaseHandlerHTTPPasswordMgrHTTPPasswordMgrWithDefaultRealmAbstractBasicAuthHandlerHTTPBasicAuthHandlerProxyBasicAuthHandlerAbstractDigestAuthHandlerHTTPDigestAuthHandlerProxyDigestAuthHandlerHTTPHandlerHTTPSHandlerFileHandler
FTPHandlerCacheFTPHandlerUnknownHandlerHTTPErrorProcessorurlretrieve
urlcleanup	URLopenerFancyURLopenerproxy_bypassz.moves.urllib.requestmoves.urllib_requestzmoves.urllib.requestc                   @   r   ) Module_six_moves_urllib_responsez:Lazy loading of moved objects in six.moves.urllib_responseNr   r	   r	   r	   r   r    r   r  addbasezurllib.responseaddclosehookaddinfo
addinfourlz.moves.urllib.responsemoves.urllib_responsezmoves.urllib.responsec                   @   r   )#Module_six_moves_urllib_robotparserz=Lazy loading of moved objects in six.moves.urllib_robotparserNr   r	   r	   r	   r   r    r   r  RobotFileParserz.moves.urllib.robotparsermoves.urllib_robotparserzmoves.urllib.robotparserc                   @   sN   e Zd ZdZg ZedZedZedZ	edZ
edZdd Zd	S )
Module_six_moves_urllibzICreate a six.moves.urllib namespace that resembles the Python 3 namespacer   r   r  r  r!  c                 C   s   g dS )N)parseerrorrequestresponser   r	   r
   r	   r	   r   r=        zModule_six_moves_urllib.__dir__N)r   r   r   r   rZ   	_importerrO   r#  r$  r%  r&  r   r=   r	   r	   r	   r   r"    s    




r"  zmoves.urllibc                 C   s   t t| j|  dS )zAdd an item to six.moves.N)r#   r_   r   )mover	   r	   r   add_move  s   r*  c                 C   sN   zt t|  W dS  ty&   ztj| = W Y dS  ty%   td| f w w )zRemove item from six.moves.zno such move, %rN)r$   r_   r&   r   __dict__rS   r   r	   r	   r   remove_move  s   r,  __func____self____closure____code____defaults____globals__im_funcim_selffunc_closure	func_codefunc_defaultsfunc_globalsc                 C   s   |   S r   )next)itr	   r	   r   advance_iterator  r'  r;  c                 C   s   t dd t| jD S )Nc                 s   s    | ]}d |j v V  qdS )__call__N)r+  )r9   klassr	   r	   r   	<genexpr>  s    zcallable.<locals>.<genexpr>)anytype__mro__)r'   r	   r	   r   callable  s   rB  c                 C      | S r   r	   unboundr	   r	   r   get_unbound_function  r   rF  c                 C   rC  r   r	   r   clsr	   r	   r   create_unbound_method  r   rI  c                 C   s   | j S r   )r3  rD  r	   r	   r   rF  "  s   c                 C   s   t | ||jS r   )types
MethodTyper%   )r   r'   r	   r	   r   create_bound_method%     rL  c                 C   s   t | d |S r   )rJ  rK  rG  r	   r	   r   rI  (     c                   @   r   )Iteratorc                 C   s   t | | S r   )r@  __next__r
   r	   r	   r   r9  -  rN  zIterator.nextN)r   r   r   r9  r	   r	   r	   r   rO  +  r   rO  z3Get the function out of a possibly unbound functionc                 K      t | jdi |S Nr	   )iterkeysdkwr	   r	   r   iterkeys>  rP   rX  c                 K   rQ  rR  )rS  valuesrU  r	   r	   r   
itervaluesA  rP   rZ  c                 K   rQ  rR  )rS  itemsrU  r	   r	   r   	iteritemsD  rP   r\  c                 K   rQ  rR  )rS  listsrU  r	   r	   r   	iterlistsG  rP   r^  rT  rY  r[  c                 K      | j di |S rR  )rX  rU  r	   r	   r   rX  P  rM  c                 K   r_  rR  )rZ  rU  r	   r	   r   rZ  S  rM  c                 K   r_  rR  )r\  rU  r	   r	   r   r\  V  rM  c                 K   r_  rR  )r^  rU  r	   r	   r   r^  Y  rM  viewkeys
viewvalues	viewitemsz1Return an iterator over the keys of a dictionary.z3Return an iterator over the values of a dictionary.z?Return an iterator over the (key, value) pairs of a dictionary.zBReturn an iterator over the (key, [values]) pairs of a dictionary.c                 C   s
   |  dS )Nzlatin-1)encodesr	   r	   r   bk  r!   rf  c                 C   rC  r   r	   rd  r	   r	   r   un  r   rg  z>BassertCountEqual   assertRaisesRegexpassertRegexpMatchesassertRaisesRegexassertRegexc                 C   rC  r   r	   rd  r	   r	   r   rf    r   c                 C   s   t | dddS )Nz\\z\\\\unicode_escape)unicodereplacerd  r	   r	   r   rg    s   c                 C   s   t | d S )Nr   ord)bsr	   r	   r   byte2int     rt  c                 C   s   t | | S r   rq  )bufir	   r	   r   
indexbytes  ru  rx  assertItemsEqualzByte literalzText literalc                 O      t | t|i |S r   )r2   _assertCountEqualr   argskwargsr	   r	   r   rh    rP   c                 O   rz  r   )r2   _assertRaisesRegexr|  r	   r	   r   rl    rP   c                 O   rz  r   )r2   _assertRegexr|  r	   r	   r   rm    rP   execc                 C   s&   |d u r|  }|j |ur|||r   )__traceback__with_traceback)r(   r5   tbr	   r	   r   reraise  s
   

r  c                 C   sB   |du rt d}|j}|du r|j}~n|du r|}td dS )zExecute code in a namespace.Nri  zexec _code_ in _globs_, _locs_)r   	_getframe	f_globalsf_localsr  )_code__globs__locs_framer	   r	   r   exec_  s   
r  z9def reraise(tp, value, tb=None):
    raise tp, value, tb
)r   r   zrdef raise_from(value, from_value):
    if from_value is None:
        raise value
    raise value from from_value
zCdef raise_from(value, from_value):
    raise value from from_value
c                 C   s   | r   r	   )r5   
from_valuer	   r	   r   
raise_from  r   r  printc            
         s*  | dtj  du rdS  fdd}d}| dd}|dur0t|tr'd}n	t|ts0td| d	d}|durKt|trBd}n	t|tsKtd
|rQtd|sa| D ]}t|tr`d} nqU|rltd}td}nd}d}|du rv|}|du r||}t| D ]\}	}|	r|| || q|| dS )z4The new-style print function for Python 2.4 and 2.5.fileNc                    sd   t | ts	t| } t  tr+t | tr+ jd ur+t dd }|d u r$d}|  j|}  |  d S )Nerrorsstrict)	rW   
basestringstrr  ro  encodingr2   rc  write)datar  fpr	   r   r    s   


zprint_.<locals>.writeFsepTzsep must be None or a stringendzend must be None or a stringz$invalid keyword arguments to print()
 )popr   stdoutrW   ro  r  	TypeError	enumerate)
r}  r~  r  want_unicoder  r  argnewlinespacerw  r	   r  r   print_  sN   






r  )r   r   c                  O   sH   | dtj}|dd}t| i | |r |d ur"|  d S d S d S )Nr  flushF)getr   r  r  _printr  )r}  r~  r  r  r	   r	   r   r    s   zReraise an exception.c                    s    fdd}|S )Nc                    s   t  | } | _| S r   )rz   wraps__wrapped__)fassignedupdatedwrappedr	   r   wrapper  s   zwraps.<locals>.wrapperr	   )r  r  r  r  r	   r  r   r    s   r  c                    s&   G  fddd}t |ddi S )z%Create a base class with a metaclass.c                       s   e Zd Z fddZdS )z!with_metaclass.<locals>.metaclassc                    s   | |S r   r	   )rH  r   
this_basesrV  basesmetar	   r   __new__'  ru  z)with_metaclass.<locals>.metaclass.__new__N)r   r   r   r  r	   r  r	   r   	metaclass%  s    r  temporary_classr	   )r@  r  )r  r  r  r	   r  r   with_metaclass   s   r  c                    s    fdd}|S )z6Class decorator for creating a class with a metaclass.c                    sh   | j  }|d}|d ur t|tr|g}|D ]}|| q|dd  |dd   | j| j|S )N	__slots__r+  __weakref__)r+  copyr  rW   r  r  r   	__bases__)rH  	orig_varsslots	slots_varr  r	   r   r  .  s   


zadd_metaclass.<locals>.wrapperr	   )r  r  r	   r  r   add_metaclass,  s   r  c                 C   s2   t rd| jvrtd| j | j| _dd | _| S )a   
    A decorator that defines __unicode__ and __str__ methods under Python 2.
    Under Python 3 it does nothing.

    To support Python 2 and 3 with a single code base, define a __str__ method
    returning text and apply this decorator to the class.
    __str__zY@python_2_unicode_compatible cannot be applied to %s because it doesn't define __str__().c                 S   s   |   dS )Nzutf-8)__unicode__rc  r
   r	   r	   r   <lambda>J  s    z-python_2_unicode_compatible.<locals>.<lambda>)PY2r+  
ValueErrorr   r  r  )r=  r	   r	   r   python_2_unicode_compatible<  s   

r  __spec__r   rD   )r   
__future__r   rz   rd   operatorr   rJ  
__author____version__version_infor  r-   PY34r  string_typesintinteger_typesr@  class_types	text_typebytesbinary_typemaxsizeMAXSIZEr  long	ClassTypero  platform
startswithobjectr   lenOverflowErrorr   r   r   r+   
ModuleTyper8   r>   rE   r   r(  r_   r;   r3   r#   r   rW   rM   r   r   _urllib_parse_moved_attributesr   _urllib_error_moved_attributesr    _urllib_request_moved_attributesr  !_urllib_response_moved_attributesr  $_urllib_robotparser_moved_attributesr"  r*  r,  
_meth_func
_meth_self_func_closure
_func_code_func_defaults_func_globalsr9  r;  	NameErrorrB  rF  rK  rL  rI  rO  
attrgetterget_method_functionget_method_selfget_function_closureget_function_codeget_function_defaultsget_function_globalsrX  rZ  r\  r^  methodcallerr`  ra  rb  rf  rg  chrunichrstructStructpackint2byte
itemgetterrt  getitemrx  rS  	iterbytesra   rb   BytesIOr{  r  r  partialrn   rr  rh  rl  rm  r2   re   r  r  r  r  r  WRAPPER_ASSIGNMENTSWRAPPER_UPDATESr  r  r  r  rZ   __package__globalsr  r  submodule_search_locations	meta_pathr  rw  importerappendr	   r	   r	   r   <module>   s   

>
	















 
!
"
#
$
%&'(
)*
+
,
-
.
/
0
1
235
7
8
9:<=>
?
@
AD


































	























 
!#









5