
    k7i
e                    (   % S r SSKJr  SrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
Jr  Sr\(       a  SSKJrJrJrJrJrJr  SSK
Jr  SS	KJr   \	R.                  " 5          \	R0                  " S
5        \R2                  " 5       S   =(       d    \R4                  " 5       S   R7                  5       rS\S'   SSS5         \R<                  " \5         " S S\!5      r" " S S\!5      r#S*S jr$S+S jr% " S S\5      r& " S S\5      r' " S S5      r( " S S\&5      r) " S S\'5      r* " S S\*5      r+ " S  S!\&5      r, " S" S#\'5      r- " S$ S%\&5      r. " S& S'\'5      r/ " S( S)\&5      r0g! , (       d  f       N= f!   Sr N= f! \\ 4 a    Sr Nf = f),z
I/O classes provide a uniform API for low-level input and output.  Subclasses
exist for a variety of input/output mechanisms.
    )annotationsreStructuredTextN)TransformSpecF)AnyBinaryIOClassVarFinalLiteralTextIO)nodes)StrPathignore   
str | None_locale_encodingc                      \ rS rSrSrg)
InputError4    N__name__
__module____qualname____firstlineno____static_attributes__r       E/home/james-whalen/.local/lib/python3.13/site-packages/docutils/io.pyr   r   4   s    4r   r   c                      \ rS rSrSrg)OutputError5   r   Nr   r   r   r   r   r   5   s    Dr   r   c                     [         R                  " U R                  5      [         R                  " U5      :H  $ ! [        [        [
        4 a     gf = f)a6  Test, whether the encoding of `stream` matches `encoding`.

Returns

:None:  if `encoding` or `stream.encoding` are not a valid encoding
        argument (e.g. ``None``) or `stream.encoding is missing.
:True:  if the encoding argument resolves to the same value as `encoding`,
:False: if the encodings differ.
N)codecslookupencodingLookupErrorAttributeError	TypeError)streamr$   s     r   check_encodingr)   8   sA    }}V__-x1HHH3 s   69 AAc                8    U R                   R                   SU  3$ )z5Return string representation of Exception `err`.
    z: )	__class__r   )errs    r   error_stringr-   H   s      mm$$%Ru--r   c                  R   \ rS rSr% SrSrS\S'   SrS\S'       S         SS	 jjrSS
 jr	SS jr
SS jr\R                  " S5      rS\S'    \R                   S4\R"                  S4\R$                  S4\R&                  S4\R(                  S44rS\S'    SS jrSS jrSrg)InputN   aO  
Abstract base class for input wrappers.

Docutils input objects must provide a `read()` method that
returns the source, typically as `str` instance.

Inheriting `TransformSpec` allows input objects to add "transforms" to
the "Transformer".  (Since Docutils 0.19, input objects are no longer
required to be `TransformSpec` instances.)
inputr	   component_typeNClassVar[str | None]default_source_pathc                z    X0l          X@l         Xl         X l         U(       d  U R                  U l        S U l        g N)r$   error_handlersourcesource_pathr4   successful_encoding)selfr8   r9   r$   r7   s        r   __init__Input.__init__^   sB     !1**'&-#77D#' Er   c                X    U R                   < SU R                  < SU R                  < 3$ )Nz	: source=z, source_path=)r+   r8   r9   r;   s    r   __repr__Input.__repr__w   s$    26..$++262B2BD 	Dr   c                    [         e)z,Return input as `str`. Define in subclasses.NotImplementedErrorr?   s    r   read
Input.read{       !!r   c                   U R                   (       a:  U R                   R                  5       S:X  a  [        U[        5      (       d   S5       e[        U[        5      (       a  U$ U R                   (       a  U R                   /nO[        R
                  " 5          [        R                  " S[        S9  U R                  U5      nSSS5        W(       a  U/nOpS/n[        R                  SS S:  a  [        R                  " 5       nO[        R                  " S	S
9nU(       a%  UR                  5       S:w  a  UR                  U5        U R                   (       d#  US   S:w  a  [        R                  " S[        SS9  U H"  n [        XU R                   5      nXPl        Us  $    [%        SSR)                  S U 5       5       S[+        W5       S35      e! , (       d  f       GN= f! [$        [&        4 a  nUn SnAM  SnAff = f)a  
Decode `data` if required.

Return Unicode `str` instances unchanged (nothing to decode).

If `self.encoding` is None, determine encoding from data
or try UTF-8 and the locale's preferred encoding.
The client application should call ``locale.setlocale()`` at the
beginning of processing::

    locale.setlocale(locale.LC_ALL, '')

Raise UnicodeError if unsuccessful.

Provisional: encoding detection will be removed in Docutils 1.0.
unicodez;input encoding is "unicode" but `data` is no `str` instancer   )categoryNutf-8   )      F)do_setlocaler   ur   Input encoding auto-detection will be removed and the encoding values None and "" become invalid in Docutils 1.0.
stacklevelz=Unable to decode input data.  Tried the following encodings: z, c              3  8   #    U  H  n[        U5      v   M     g 7fr6   )repr).0encs     r   	<genexpr>Input.decode.<locals>.<genexpr>   s     B.Asc.As   .
())r$   lower
isinstancestrwarningscatch_warningsfilterwarningsDeprecationWarningdetermine_encoding_from_datasysversion_infolocalegetencodinggetpreferredencodingappendwarnr7   r:   UnicodeErrorr%   joinr-   )	r;   dataencoding_candidatesdata_encodingfallbackrU   decodedr,   errors	            r   decodeInput.decode   s   " ==T]]002i?dC(( N ,M N(dC  K== $(==/((*'';MN $ A A$ G + '4o#
 (/i###BQ'72%113H%::NH 0G ;'..x8}}!4Q!77!BMM ./AaQ 'Cd););<+.(	 ' KyyB.ABBC DU#$A'( 	(= +*6 !+. s$   +G?G$
G!$H4G<<Hs   coding[:=]\s*([-\w.]+)zClassVar[re.Pattern[bytes]]coding_slugzutf-32z	utf-8-sigzutf-16z'ClassVar[tuple[tuple[bytes, str], ...]]byte_order_marksc                R   [         R                  " S[        SS9  U R                   H  u  p#UR	                  U5      (       d  M  Us  $    UR                  5       SS  HG  nU R                  R                  U5      nU(       d  M'  UR                  S5      R                  S5      s  $    g)z
Try to determine the encoding of `data` by looking *in* `data`.
Check for a byte order mark (BOM) or an encoding declaration.

Deprecated. Will be removed in Docutils 1.0.
uR   docutils.io.Input.determine_encoding_from_data() will be removed in Docutils 1.0.rL   rP   Nr   ascii)
r]   rh   r`   rt   
startswith
splitlinesrs   searchgrouprq   )r;   rk   start_bytesr$   linematchs         r   ra   "Input.determine_encoding_from_data   s     	 :(Q	8 &*%:%:!K{++ &; OO%bq)D$$++D1Eu{{1~,,W55 * r   c                X     U R                   R                  5       $ ! [         a     gf = f)z>Return True, if the input source is connected to a TTY device.F)r8   isattyr&   r?   s    r   r   Input.isatty   s,    	;;%%'' 		    
)))r$   r7   r8   r9   r:   )NNrK   strict)
r8   z$str | TextIO | nodes.document | Noner9   StrPath | Noner$   str | Literal['unicode'] | Noner7   r   returnNoner   r\   )rk   str | bytesr   r\   )rk   bytesr   r   r   bool)r   r   r   r   __doc__r2   __annotations__r4   r<   r@   rE   rq   recompilers   r"   BOM_UTF32_BEBOM_UTF32_LEBOM_UTF8BOM_UTF16_BEBOM_UTF16_LErt   ra   r   r   r   r   r   r/   r/   N   s    	 $NE#04-4 8<&*4;$,F4F $F 2	F
 "F 
F2D"=(~ 02zz"0K,  ( 
		h'			h'	+&			h'			h'A= *r   r/   c                  |    \ rS rSr% SrSrS\S'   SrS\S'       S         SS	 jjrSS
 jr	SS jr
SS jrSrg)Output   aR  
Abstract base class for output wrappers.

Docutils output objects must provide a `write()` method that
expects and handles one argument (the output).

Inheriting `TransformSpec` allows output objects to add "transforms" to
the "Transformer".  (Since Docutils 0.19, output objects are no longer
required to be `TransformSpec` instances.)
outputr	   r2   Nr3   default_destination_pathc                    X0l          U=(       d    SU l         Xl         X l         U(       d  U R                  U l        g g )Nr   )r$   r7   destinationdestination_pathr   )r;   r   r   r$   r7   s        r   r<   Output.__init__   sD     %-7"/";8*8C.0@2$($A$AD!  r   c                X    U R                   < SU R                  < SU R                  < 3$ )Nz: destination=z, destination_path=)r+   r   r   r?   s    r   r@   Output.__repr__  s%    >>4#3#3T5J5JL 	Mr   c                    [         e)z#Write `data`. Define in subclasses.rC   r;   rk   s     r   writeOutput.write  rG   r   c                   U R                   (       a<  U R                   R                  5       S:X  a  [        U[        5      (       d   S5       eU$ [        U[        5      (       d  U$ UR	                  U R                   U R
                  5      $ )a  
Encode and return `data`.

If `data` is a `bytes` instance, it is returned unchanged.
Otherwise it is encoded with `self.encoding`.

Provisional: If `self.encoding` is set to the pseudo encoding name
"unicode", `data` must be a `str` instance and is returned unchanged.
rI   z<output encoding is "unicode" but `data` is no `str` instance)r$   rZ   r[   r\   encoder7   r   s     r   r   Output.encode  ss     ==T]]002i?dC(( N ,M N(K$$$K;;t}}d.@.@AAr   )r   r   r$   r7   )NNNr   )
r   zTextIO | str | bytes | Noner   r   r$   r   r7   r   r   r   r   )rk   r   r   zstr | bytes | Nonerk   r   r   r   )r   r   r   r   r   r2   r   r   r<   r@   r   r   r   r   r   r   r   r      sy    	 %NE$5929 48+/#$,B0B )B 	B
 "B 
B,M"Br   r   c                  ^    \ rS rSrSr    S	         S
S jjrSS jrSS jrSS jrSr	g)ErrorOutputi1  zx
Wrapper class for file-like error streams with
failsafe de- and encoding of `str`, `bytes`, and `Exception` instances.
Nc                   Uc  [         R                  nO+U(       d  SnO![        U[        5      (       a  [	        US5      nXl         U=(       d#    [        USS5      =(       d    [        =(       d    SU l         X0l	         X@l
        g)a[  
:Parameters:
    - `destination`: a file-like object,
                a string (path to a file),
                `None` (write to `sys.stderr`, default), or
                evaluating to `False` (write() requests are ignored).
    - `encoding`: `destination` text encoding. Guessed if None.
    - `encoding_errors`: how to treat encoding errors.
NFwr$   rv   )rb   stderrr[   r\   openr   getattrr   r$   encoding_errorsdecoding_errors)r;   r   r$   r   r   s        r   r<   ErrorOutput.__init__7  s      **KKS)){C0K?J+  {J5 	 	 	-$3%$3%r   c                4   U R                   (       d  g[        U[        5      (       a  [        U5      n U R                   R	                  U5        g! [
         aD    UR                  U R                  U R                  5      nU R                   R	                  U5         g[         a    [        U[        5      (       aC  UR                  U R                  U R                  5      nU R                   R	                  U5         gU R                   [        R                  [        R                  4;   a'  U R                   R                  R	                  U5         gUR                  U R                  U R                  5      nU R                   R	                  U5         gf = f)z
Write `data` to self.destination. Ignore, if self.destination is False.

`data` can be a `bytes`, `str`, or `Exception` instance.
N)r   r[   	Exceptionr\   r   UnicodeEncodeErrorr   r$   r   r'   rb   r   stdoutbufferrq   r   )r;   rk   binarystrings       r   r   ErrorOutput.write`  s&    dI&&t9D	/""4(! 	+ [[0D0DEF""6* 
	/$$$T]]D4H4HI  &&v.!!cjj#**%==  ''--d3 T]]D4H4HI  &&v.
	/s'   A AFAF>AFAFFc                    U R                   [        R                  [        R                  4;   a  g U R                   R	                  5         g! [
         a     gf = f)zv
Close the error-output stream.

Ignored if the destination is` sys.stderr` or `sys.stdout` or has no
close() method.
N)r   rb   r   r   closer&   r?   s    r   r   ErrorOutput.close  sK     

CJJ77	""$ 		s   A 
AAc                X     U R                   R                  5       $ ! [         a     gf = f)z=Return True, if the destination is connected to a TTY device.F)r   r   r&   r?   s    r   r   ErrorOutput.isatty  s.    	##**,, 		r   )r   r   r$   r   )NNbackslashreplacereplace)
r   z/TextIO | BinaryIO | str | Literal[False] | Noner$   r   r   r\   r   r\   r   r   )rk   zstr | bytes | Exceptionr   r   r   r   r   )
r   r   r   r   r   r<   r   r   r   r   r   r   r   r   r   1  s]     HL#1('&D'& '& 	'&
 '& 
'&R/@r   r   c                  x   ^  \ rS rSrSr      S             S	U 4S jjjrS
S jrSS jrSS jrSr	U =r
$ )	FileInputi  z-
Input for single, simple file-like objects.
c                T  > [         TU ]  XX45        XPl        [        5       U l        UcC  U(       a&   [        X&U R                  U R                  S9U l        Ok[        R                  U l        OU[        U R                  U R                  5      SL a2  [!        SU R                  < SU R                  R                  < S35      eU(       d   U R                  R"                  U l        gg! [         a&  n[        UR                  UR                  U5      eSnAff = f! [&         a     gf = f)a)  
:Parameters:
    - `source`: either a file-like object (which is read directly), or
      `None` (which implies `sys.stdin` if no `source_path` given).
    - `source_path`: a path to a file, which is opened for reading.
    - `encoding`: the expected text encoding of the input file.
    - `error_handler`: the encoding error handler to use.
    - `autoclose`: close automatically after read (except when
      `sys.stdin` is the source).
    - `mode`: how the file is to be opened (see standard function
      `open`). The default is read only ('r').
Nr$   errorsFz#Encoding clash: encoding given is "z&" but source is opened with encoding "z".)superr<   	autocloser   _stderrr   r$   r7   r8   OSErrorr   errnostrerrorrb   stdinr)   ri   namer9   r&   )	r;   r8   r9   r$   r7   r   moderp   r+   s	           r   r<   FileInput.__init__  s    * 	hF""}>O"&{04.2.@.@#BDK "iiDKK75@ $t{{/C/C E F F #';;#3#3    O$U[[%..+NNO " s)   $C' 
D '
D1!DD
D'&D'c                    U R                   (       dt  [        U R                  S5      (       aY  U R                  R                  R	                  5       nU R                  U5      nSR                  UR                  5       S/-   5      nOU R                  R	                  5       nU R                  (       a  U R                  5         U$ ! U R                  (       a  U R                  5         f f = f)z1
Read and decode a single file, return as `str`.
r   
 )
r$   hasattrr8   r   rE   rq   rj   rx   r   r   r   s     r   rE   FileInput.read  s    	==WT[[(%C%C{{))..0{{4(yy!2B4!78{{'')~~

 ~~

 s   BC $C(c                @    U R                  5       R                  S5      $ )z3
Return lines of a single file as list of strings.
T)rE   rx   r?   s    r   	readlinesFileInput.readlines  s     yy{%%d++r   c                t    U R                   [        R                  La  U R                   R                  5         g g r6   )r8   rb   r   r   r?   s    r   r   FileInput.close  s'    ;;cii'KK (r   )r   r   r8   r9   )NNrK   r   Tr)r8   TextIO | Noner9   r   r$   r   r7   r   r   r   r   zLiteral['r', 'rb', 'br']r   r   r   )r   z	list[str]r   )r   r   r   r   r   r<   rE   r   r   r   __classcell__r+   s   @r   r   r     s    
 !%&*4;$,),,, $, 2	,
 ", , ', 
, ,\&,   r   r   c                     ^  \ rS rSr% SrSrS\S'   SrS\S'           S             SU 4S	 jjjrSS
 jr	SS jr
SS jrSrU =r$ )
FileOutputi  z,Output for single, simple file-like objects.z<file>r	   r   r   z:Literal['w', 'a', 'x', 'wb', 'ab', 'xb', 'bw', 'ba', 'bx']r   c                :  > [         TU ]  XX45        SU l        XPl        Ub  [        R
                  " S[        SS9  Ub  Xpl        [        5       U l	        Uc%  U(       a  SU l        O[        R                  U l        OlU(       ae  [        U R                  S5      (       aJ  XpR                  R                  :w  a1  [        SU R                  R                  < S	U< S
3U R                  S9  U(       d   U R                  R                  U l        gg! ["         a     gf = f)a  
:Parameters:
    - `destination`: either a file-like object (which is written
      directly) or `None` (which implies `sys.stdout` if no
      `destination_path` given).
    - `destination_path`: a path to a file, which is opened and then
      written.
    - `encoding`: the text encoding of the output file.
    - `error_handler`: the encoding error handler to use.
    - `autoclose`: close automatically after write (except when
      `sys.stdout` or `sys.stderr` is the destination).
    - `handle_io_errors`: ignored, deprecated, will be removed.
    - `mode`: how the file is to be opened (see standard function
      `open`). The default is 'w', providing universal newline
      support for text files.
TNz_io.FileOutput: init argument "handle_io_errors" is ignored and will be removed in Docutils 2.0.rL   rP   Fr   zWarning: Destination mode "z" differs from specified mode "")file)r   r<   openedr   r]   rh   r`   r   r   r   rb   r   r   r   printr   r   r&   )	r;   r   r   r$   r7   r   handle_io_errorsr   r+   s	           r   r<   FileOutput.__init__  s    2 	8	D"'MM *+=!M I"}##&:: wt//88**///!%!1!1!6!6>||%  (,(8(8(=(=%   " s   0D 
DDc                2   SU R                   ;  a  U R                  U R                  S.nO0 n [        U R                  U R                   40 UD6U l        SU l
        g ! [         a0  n[        UR                  UR                  U R                  5      eS nAff = f)Nbr   T)r   r$   r7   r   r   r   r   r   r   r   r   )r;   kwargsrp   s      r   r   FileOutput.open(  s    dii"&-- $ 2 24F F	5#D$9$9499OOD   	5ekk5>>"335 5	5s   &A 
B&+BBc                   U R                   (       d  U R                  5         [        U[        5      (       ah  [	        U R
                  U R                  5      SL aE  [        R                  S:w  a   UR                  S[        R                  5      nU R                  U5      n U R
                  R                  U5        U R*                  (       a  U R-                  5         U$ ! [         a  n[        U[        5      (       a   U R
                  R                  R                  U5         SnANm! [         ac    [	        U R
                  U R                  5      SL a=  [!        SU R"                   SU R
                  R                   SU R                   S35      eUef = f SnANSnAf[$        [&        4 a*  n[%        SU R                   S	[)        U5       S35      eSnAff = f! U R*                  (       a  U R-                  5         f f = f)
a  Write `data` to a single file, also return it.

`data` can be a `str` or `bytes` instance.
If writing `bytes` fails, an attempt is made to write to
the low-level interface ``self.destination.buffer``.

If `data` is a `str` instance and `self.encoding` and
`self.destination.encoding` are  set to different values, `data`
is encoded to a `bytes` instance using `self.encoding`.

Provisional: future versions may raise an error if `self.encoding`
and `self.destination.encoding` are set to different values.
Fr   zEncoding of z (z&) differs 
  from specified encoding (rY   Nz2Unable to encode output data. output-encoding is: rX   )r   r   r[   r\   r)   r   r$   oslinesepr   r   r   r'   r   r   r&   
ValueErrorr   ri   r%   r-   r   r   )r;   rk   r,   s      r   r   FileOutput.write6  s    {{IIKtS!!t//?5HzzT!||D"**5;;t$D	""4(& ~~

)  	"$&&
"$$++11$77% "%d&6&6&*mm58=>(*4+@+@*A B  $ 0 0 9 9: ;::>--KL L
 "	" ' k* 	<D==/l3&7%8;< <	<
 ~~

 sO    C 
G(F>%D(#G (A-FFG G0%GGG $Hc                    U R                   [        R                  [        R                  4;  a"  U R                   R	                  5         SU l        g g )NF)r   rb   r   r   r   r   r?   s    r   r   FileOutput.closed  s;    CJJ

#;;""$DK <r   )r   r   r   r   r   r   )NNNr   TNN)r   r   r   r   r$   r   r7   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r<   r   r   r   r   r   r   s   @r   r   r     s    6&.e.GJD
DJ) /348(,-5#'*.3+3#13 &3 !+	3
 !3 $(3 3 3j,\   r   r   c                  4   ^  \ rS rSrSrSrSU 4S jjrSrU =r$ )BinaryFileOutputij  u   
A version of docutils.io.FileOutput which writes to a binary file.

Deprecated. Use `FileOutput` (works with `bytes` since Docutils 0.20).
Will be removed in Docutils 0.24.
wbc                Z   > [         R                  " S[        SS9  [        TU ]  " U0 UD6  g )NzU"BinaryFileOutput" is obsoleted by "FileOutput" and will be removed in Docutils 0.24.rL   rP   )r]   rh   r`   r   r<   )r;   argsr   r+   s      r   r<   BinaryFileOutput.__init__t  s-     ?(Q	8 	$)&)r   r   )r   r   r   r   r   r   )	r   r   r   r   r   r   r<   r   r   r   s   @r   r   r   j  s     D* *r   r   c                  <    \ rS rSr% SrS\S'   SrS\S'   SS jrS	rg
)StringInputi{  z'Input from a `str` or `bytes` instance.r   r8   <string>r	   r4   c                8    U R                  U R                  5      $ )zPReturn the source as `str` instance.

Decode, if required (see `Input.decode`).
)rq   r8   r?   s    r   rE   StringInput.read  s    
 {{4;;''r   r   Nr   	r   r   r   r   r   r   r4   rE   r   r   r   r   r   r   {  s    1!++(r   r   c                  <    \ rS rSr% SrS\S'   SrS\S'   SS jrS	rg
)StringOutputi  z5Output to a `bytes` or `str` instance.

Provisional.
r   r   r   r	   r   c                F    U R                  U5      U l        U R                  $ )a&  Store `data` in `self.destination`, and return it.

If `self.encoding` is set to the pseudo encoding name "unicode",
`data` must be a `str` instance and is stored/returned unchanged
(cf. `Output.encode`).

Otherwise, `data` can be a `bytes` or `str` instance and is
stored/returned as a `bytes` instance
(`str` data is encoded with `self.encode()`).

Attention: the `output_encoding`_ setting may affect the content
of the output (e.g. an encoding declaration in HTML or XML or the
representation of characters as LaTeX macro vs. literal character).
)r   r   r   s     r   r   StringOutput.write  s!      ;;t,r   )r   Nr   	r   r   r   r   r   r   r   r   r   r   r   r   r  r    s    
 &0e0 r   r  c                  <    \ rS rSr% SrS\S'   SrS\S'   SS jrS	rg
)	NullInputi  zDegenerate input: read nothing.r   r8   z
null inputr	   r4   c                    g)zReturn an empty string.r   r   r?   s    r   rE   NullInput.read  s    r   r   Nr   r   r   r   r   r  r    s    )L!--r   r  c                  <    \ rS rSr% SrS\S'   SrS\S'   SS jrS	rg
)
NullOutputi  z!Degenerate output: write nothing.r   r   znull outputr	   r   c                    g)zDo nothing, return None.Nr   r   s     r   r   NullOutput.write  s    r   r   N)rk   r   r   r   r  r   r   r   r
  r
    s    +&3e3'r   r
  c                  <    \ rS rSr% SrS\S'   SrS\S'   SS jrS	rg
)DocTreeInputi  za
Adapter for document tree input.

The document tree must be passed in the ``source`` parameter.
nodes.documentr8   zdoctree inputr	   r4   c                    U R                   $ )zReturn the document tree.)r8   r?   s    r   rE   DocTreeInput.read  s    {{r   r   N)r   r  r   r   r   r   r  r    s     !00r   r  )r(   r   r$   r\   r   zbool | None)r,   BaseExceptionr   r\   )1r   
__future__r   __docformat__r"   rd   r   r   rb   r]   docutilsr   TYPE_CHECKINGtypingr   r   r   r	   r
   r   r   docutils.nodesr   r^   simplefilter	getlocalegetdefaultlocalerZ   r   r   r#   r%   r'   r   r   r   r)   r-   r/   r   r   r   r   r   r   r  r  r
  r  r   r   r   <module>r     s  

 #"   	 	 
  "FF&			 	 	"h'(.(8(8(:1(= )H+1+B+B+DQ+G*/%' 	* 	2 
#
MM"#
     '   .]M ]@@B] @BFb bJN  N b@  @ F*z *"(% ( 6  :
 
	' 	'5 u 
#	"
 	Y s=   E; !AE*6E; ?F *
E84E; 8E; ;F
FF