Browse Source

+ Added compile time function OPTION(x) for MacPas

olle 21 years ago
parent
commit
5843170183
1 changed files with 1351 additions and 3190 deletions
  1. 1351 3190
      compiler/scanner.pas

+ 1351 - 3190
compiler/scanner.pas

@@ -1,3190 +1,1351 @@
-{
-    $Id$
-    Copyright (c) 1998-2002 by Florian Klaempfl
-
-    This unit implements the scanner part and handling of the switches
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- ****************************************************************************
-}
-unit scanner;
-
-{$i fpcdefs.inc}
-
-interface
-
-    uses
-       cclasses,
-       globtype,globals,version,tokens,
-       verbose,comphook,
-       finput,
-       widestr,cpuinfo;
-
-    const
-       max_include_nesting=32;
-       max_macro_nesting=16;
-       maxmacrolen=16*1024;
-       preprocbufsize=32*1024;
-
-
-    type
-       tcommentstyle = (comment_none,comment_tp,comment_oldtp,comment_delphi,comment_c);
-
-       pmacrobuffer = ^tmacrobuffer;
-       tmacrobuffer = array[0..maxmacrolen-1] of char;
-       tscannerfile = class;
-
-       tmacro = class(TNamedIndexItem)
-          defined,
-          defined_at_startup,
-          is_used : boolean;
-          buftext : pchar;
-          buflen  : longint;
-          fileinfo : tfileposinfo;
-          constructor Create(const n : string);
-          destructor  destroy;override;
-       end;
-
-       preproctyp = (pp_ifdef,pp_ifndef,pp_if,pp_ifopt,pp_else,pp_elseif);
-
-       tpreprocstack = class
-          typ     : preproctyp;
-          accept  : boolean;
-          next    : tpreprocstack;
-          name    : stringid;
-          line_nb : longint;
-          owner   : tscannerfile;
-          constructor Create(atyp:preproctyp;a:boolean;n:tpreprocstack);
-       end;
-
-       tdirectiveproc=procedure;
-
-       tdirectiveitem = class(TNamedIndexItem)
-       public
-          is_conditional : boolean;
-          proc : tdirectiveproc;
-          constructor Create(const n:string;p:tdirectiveproc);
-          constructor CreateCond(const n:string;p:tdirectiveproc);
-       end;
-
-       tscannerfile = class
-       public
-          inputfile    : tinputfile;  { current inputfile list }
-          inputfilecount : longint;
-
-          inputbuffer,                { input buffer }
-          inputpointer : pchar;
-          inputstart   : longint;
-
-          line_no,                    { line }
-          lastlinepos  : longint;
-
-          lasttokenpos : longint;     { token }
-          lasttoken,
-          nexttoken    : ttoken;
-
-          comment_level,
-          yylexcount     : longint;
-          lastasmgetchar : char;
-          ignoredirectives : tstringlist; { ignore directives, used to give warnings only once }
-          preprocstack   : tpreprocstack;
-          macros         : Tdictionary;
-          in_asm_string  : boolean;
-
-          preproc_pattern : string;
-          preproc_token   : ttoken;
-
-          constructor Create(const fn:string);
-          destructor Destroy;override;
-        { File buffer things }
-          function  openinputfile:boolean;
-          procedure closeinputfile;
-          function  tempopeninputfile:boolean;
-          procedure tempcloseinputfile;
-          procedure saveinputfile;
-          procedure restoreinputfile;
-          procedure firstfile;
-          procedure nextfile;
-          procedure addfile(hp:tinputfile);
-          procedure reload;
-          procedure insertmacro(const macname:string;p:pchar;len,line,fileindex:longint);
-        { Scanner things }
-          procedure def_macro(const s : string);
-          procedure set_macro(const s : string;value : string);
-          procedure gettokenpos;
-          procedure inc_comment_level;
-          procedure dec_comment_level;
-          procedure illegal_char(c:char);
-          procedure end_of_file;
-          procedure checkpreprocstack;
-          procedure poppreprocstack;
-          procedure addpreprocstack(atyp : preproctyp;a:boolean;const s:string;w:longint);
-          procedure elsepreprocstack;
-          procedure elseifpreprocstack(accept:boolean);
-          procedure handleconditional(p:tdirectiveitem);
-          procedure handledirectives;
-          procedure linebreak;
-          procedure readchar;
-          procedure readstring;
-          procedure readnumber;
-          function  readid:string;
-          function  readval:longint;
-          function  readval_asstring:string;
-          function  readcomment:string;
-          function  readquotedstring:string;
-          function  readstate:char;
-          procedure skipspace;
-          procedure skipuntildirective;
-          procedure skipcomment;
-          procedure skipdelphicomment;
-          procedure skipoldtpcomment;
-          procedure readtoken;
-          function  readpreproc:ttoken;
-          function  asmgetcharstart : char;
-          function  asmgetchar:char;
-       end;
-
-{$ifdef PREPROCWRITE}
-       tpreprocfile=class
-         f   : text;
-         buf : pointer;
-         spacefound,
-         eolfound : boolean;
-         constructor create(const fn:string);
-         destructor  destroy;
-         procedure Add(const s:string);
-         procedure AddSpace;
-       end;
-{$endif PREPROCWRITE}
-
-    var
-        { read strings }
-        c              : char;
-        orgpattern,
-        pattern        : string;
-        patternw       : pcompilerwidestring;
-
-        { token }
-        token,                        { current token being parsed }
-        idtoken    : ttoken;          { holds the token if the pattern is a known word }
-
-        current_scanner : tscannerfile;  { current scanner in use }
-
-        aktcommentstyle : tcommentstyle; { needed to use read_comment from directives }
-{$ifdef PREPROCWRITE}
-        preprocfile     : tpreprocfile;  { used with only preprocessing }
-{$endif PREPROCWRITE}
-
-    type
-        tdirectivemode = (directive_all, directive_turbo, directive_mac);
-
-    procedure AddDirective(const s:string; dm: tdirectivemode; p:tdirectiveproc);
-    procedure AddConditional(const s:string; dm: tdirectivemode; p:tdirectiveproc);
-
-    procedure InitScanner;
-    procedure DoneScanner;
-
-
-implementation
-
-    uses
-{$ifdef delphi}
-      dmisc,
-{$else}
-      dos,
-{$endif delphi}
-      cutils,
-      systems,
-      switches,
-      symbase,symtable,symtype,symsym,symconst,
-      fmodule;
-
-    var
-      { dictionaries with the supported directives }
-      turbo_scannerdirectives : tdictionary;     { for other modes }
-      mac_scannerdirectives : tdictionary;       { for mode mac }
-
-
-{*****************************************************************************
-                              Helper routines
-*****************************************************************************}
-
-    const
-      { use any special name that is an invalid file name to avoid problems }
-      preprocstring : array [preproctyp] of string[7]
-        = ('$IFDEF','$IFNDEF','$IF','$IFOPT','$ELSE','$ELSEIF');
-
-
-    function is_keyword(const s:string):boolean;
-      var
-        low,high,mid : longint;
-      begin
-        if not (length(s) in [tokenlenmin..tokenlenmax]) then
-         begin
-           is_keyword:=false;
-           exit;
-         end;
-        low:=ord(tokenidx^[length(s),s[1]].first);
-        high:=ord(tokenidx^[length(s),s[1]].last);
-        while low<high do
-         begin
-           mid:=(high+low+1) shr 1;
-           if pattern<tokeninfo^[ttoken(mid)].str then
-            high:=mid-1
-           else
-            low:=mid;
-         end;
-        is_keyword:=(pattern=tokeninfo^[ttoken(high)].str) and
-                    (tokeninfo^[ttoken(high)].keyword in aktmodeswitches);
-      end;
-
-
-{*****************************************************************************
-                           Conditional Directives
-*****************************************************************************}
-
-    procedure dir_else;
-      begin
-        current_scanner.elsepreprocstack;
-      end;
-
-
-    procedure dir_endif;
-      begin
-        current_scanner.poppreprocstack;
-      end;
-
-
-    procedure dir_ifdef;
-      var
-        hs    : string;
-        mac   : tmacro;
-      begin
-        current_scanner.skipspace;
-        hs:=current_scanner.readid;
-        if hs='' then
-          Message(scan_e_error_in_preproc_expr);
-        mac:=tmacro(current_scanner.macros.search(hs));
-        if assigned(mac) then
-          mac.is_used:=true;
-        current_scanner.addpreprocstack(pp_ifdef,assigned(mac) and mac.defined,hs,scan_c_ifdef_found);
-      end;
-
-
-    procedure dir_ifndef;
-      var
-        hs    : string;
-        mac   : tmacro;
-      begin
-        current_scanner.skipspace;
-        hs:=current_scanner.readid;
-        if hs='' then
-          Message(scan_e_error_in_preproc_expr);
-        mac:=tmacro(current_scanner.macros.search(hs));
-        if assigned(mac) then
-          mac.is_used:=true;
-        current_scanner.addpreprocstack(pp_ifndef,not(assigned(mac) and mac.defined),hs,scan_c_ifndef_found);
-      end;
-
-
-    procedure dir_ifopt;
-      var
-        hs    : string;
-        found : boolean;
-        state : char;
-      begin
-        current_scanner.skipspace;
-        hs:=current_scanner.readid;
-        if (length(hs)>1) then
-         Message1(scan_w_illegal_switch,hs)
-        else
-         begin
-           state:=current_scanner.ReadState;
-           if state in ['-','+'] then
-            found:=CheckSwitch(hs[1],state);
-         end;
-        current_scanner.addpreprocstack(pp_ifopt,found,hs,scan_c_ifopt_found);
-      end;
-
-
-    function parse_compiler_expr:string;
-
-        function read_expr : string; forward;
-
-        procedure preproc_consume(t : ttoken);
-        begin
-          if t<>current_scanner.preproc_token then
-           Message(scan_e_preproc_syntax_error);
-          current_scanner.preproc_token:=current_scanner.readpreproc;
-        end;
-
-        function preproc_substitutedtoken: string;
-        var
-          hs: string;
-          mac : tmacro;
-          macrocount,
-          len : integer;
-        begin
-          result := current_scanner.preproc_pattern;
-          { allow macro support in macro's }
-          macrocount:=0;
-          repeat
-            mac:=tmacro(current_scanner.macros.search(result));
-            if not assigned(mac) then
-              break;
-
-            inc(macrocount);
-            if macrocount>max_macro_nesting then
-              begin
-                Message(scan_w_macro_deep_ten);
-                break;
-              end;
-
-            if mac.defined and assigned(mac.buftext) then
-              begin
-                if mac.buflen>255 then
-                  begin
-                    len:=255;
-                    Message(scan_w_macro_cut_after_255_chars);
-                  end
-                else
-                  len:=mac.buflen;
-                hs[0]:=char(len);
-                move(mac.buftext^,hs[1],len);
-                result:=upcase(hs);
-              end;
-          until false;
-        end;
-
-        function read_factor : string;
-        var
-           hs : string;
-           mac: tmacro;
-           srsym : tsym;
-           srsymtable : tsymtable;
-           l : longint;
-           w : integer;
-
-        begin
-           if current_scanner.preproc_token=_ID then
-             begin
-                if preproc_substitutedtoken='DEFINED' then
-                  begin
-                    preproc_consume(_ID);
-                    current_scanner.skipspace;
-                    if current_scanner.preproc_token =_LKLAMMER then
-                      begin
-                        preproc_consume(_LKLAMMER);
-                        current_scanner.skipspace;
-                      end
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                    if current_scanner.preproc_token =_ID then
-                      begin
-                        hs := current_scanner.preproc_pattern;
-                        mac := tmacro(current_scanner.macros.search(hs));
-                        if assigned(mac) then
-                          hs := '1'
-                        else
-                          hs := '0';
-                        read_factor := hs;
-                        preproc_consume(_ID);
-                        current_scanner.skipspace;
-                      end
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                    if current_scanner.preproc_token =_RKLAMMER then
-                      preproc_consume(_RKLAMMER)
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                  end
-                else
-                if (m_mac in aktmodeswitches) and (preproc_substitutedtoken='UNDEFINED') then
-                  begin
-                    preproc_consume(_ID);
-                    current_scanner.skipspace;
-                    if current_scanner.preproc_token =_ID then
-                      begin
-                        hs := current_scanner.preproc_pattern;
-                        mac := tmacro(current_scanner.macros.search(hs));
-                        if assigned(mac) then
-                          hs := '0'
-                        else
-                          hs := '1';
-                        read_factor := hs;
-                        preproc_consume(_ID);
-                        current_scanner.skipspace;
-                      end
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                  end
-                else
-                if preproc_substitutedtoken='SIZEOF' then
-                  begin
-                    preproc_consume(_ID);
-                    current_scanner.skipspace;
-                    if current_scanner.preproc_token =_LKLAMMER then
-                      begin
-                        preproc_consume(_LKLAMMER);
-                        current_scanner.skipspace;
-                      end
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                    if searchsym(current_scanner.preproc_pattern,srsym,srsymtable) then
-                      begin
-                        l:=0;
-                        case srsym.typ of
-                          varsym :
-                            l:=tvarsym(srsym).getsize;
-                          typedconstsym :
-                            l:=ttypedconstsym(srsym).getsize;
-                          else
-                            Message(scan_e_error_in_preproc_expr);
-                        end;
-                        str(l,read_factor);
-                        preproc_consume(_ID);
-                        current_scanner.skipspace;
-                      end
-                    else
-                      Message1(sym_e_id_not_found,current_scanner.preproc_pattern);
-
-                    if current_scanner.preproc_token =_RKLAMMER then
-                      preproc_consume(_RKLAMMER)
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                  end
-                else
-                if preproc_substitutedtoken='DECLARED' then
-                  begin
-                    preproc_consume(_ID);
-                    current_scanner.skipspace;
-                    if current_scanner.preproc_token =_LKLAMMER then
-                      begin
-                        preproc_consume(_LKLAMMER);
-                        current_scanner.skipspace;
-                      end
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                    if current_scanner.preproc_token =_ID then
-                      begin
-                        hs := upper(current_scanner.preproc_pattern);
-                        if searchsym(hs,srsym,srsymtable) then
-                          hs := '1'
-                        else
-                          hs := '0';
-                        read_factor := hs;
-                        preproc_consume(_ID);
-                        current_scanner.skipspace;
-                      end
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                    if current_scanner.preproc_token =_RKLAMMER then
-                      preproc_consume(_RKLAMMER)
-                    else
-                      Message(scan_e_error_in_preproc_expr);
-                  end
-                else
-                if preproc_substitutedtoken='NOT' then
-                  begin
-                    preproc_consume(_ID);
-                    hs:=read_factor();
-                    valint(hs,l,w);
-                    if l<>0 then
-                      read_factor:='0'
-                    else
-                      read_factor:='1';
-                  end
-                else
-                if (m_mac in aktmodeswitches) and (preproc_substitutedtoken='TRUE') then
-                  begin
-                    preproc_consume(_ID);
-                    read_factor:='1';
-                  end
-                else
-                if (m_mac in aktmodeswitches) and (preproc_substitutedtoken='FALSE') then
-                  begin
-                    preproc_consume(_ID);
-                    read_factor:='0';
-                  end
-                else
-                  begin
-                    hs:=preproc_substitutedtoken;
-                    preproc_consume(_ID);
-                    read_factor:=hs;
-                  end
-             end
-           else if current_scanner.preproc_token =_LKLAMMER then
-             begin
-                preproc_consume(_LKLAMMER);
-                read_factor:=read_expr;
-                preproc_consume(_RKLAMMER);
-             end
-           else
-             Message(scan_e_error_in_preproc_expr);
-        end;
-
-        function read_term : string;
-        var
-           hs1,hs2 : string;
-           l1,l2 : longint;
-           w : integer;
-        begin
-          hs1:=read_factor;
-          repeat
-            if (current_scanner.preproc_token<>_ID) then
-              break;
-            if preproc_substitutedtoken<>'AND' then
-              break;
-            preproc_consume(_ID);
-            hs2:=read_factor;
-            valint(hs1,l1,w);
-            valint(hs2,l2,w);
-            if (l1<>0) and (l2<>0) then
-              hs1:='1'
-            else
-              hs1:='0';
-           until false;
-           read_term:=hs1;
-        end;
-
-
-        function read_simple_expr : string;
-        var
-           hs1,hs2 : string;
-           l1,l2 : longint;
-           w : integer;
-        begin
-          hs1:=read_term;
-          repeat
-            if (current_scanner.preproc_token<>_ID) then
-              break;
-            if preproc_substitutedtoken<>'OR' then
-              break;
-            preproc_consume(_ID);
-            hs2:=read_term;
-            valint(hs1,l1,w);
-            valint(hs2,l2,w);
-            if (l1<>0) or (l2<>0) then
-              hs1:='1'
-            else
-              hs1:='0';
-          until false;
-          read_simple_expr:=hs1;
-        end;
-
-        function read_expr : string;
-        var
-           hs1,hs2 : string;
-           b : boolean;
-           t : ttoken;
-           w : integer;
-           l1,l2 : longint;
-        begin
-           hs1:=read_simple_expr;
-           t:=current_scanner.preproc_token;
-           if not(t in [_EQUAL,_UNEQUAL,_LT,_GT,_LTE,_GTE]) then
-             begin
-                read_expr:=hs1;
-                exit;
-             end;
-           preproc_consume(t);
-           hs2:=read_simple_expr;
-           if is_number(hs1) and is_number(hs2) then
-             begin
-                valint(hs1,l1,w);
-                valint(hs2,l2,w);
-                case t of
-                   _EQUAL : b:=l1=l2;
-                 _UNEQUAL : b:=l1<>l2;
-                      _LT : b:=l1<l2;
-                      _GT : b:=l1>l2;
-                     _GTE : b:=l1>=l2;
-                     _LTE : b:=l1<=l2;
-                end;
-             end
-           else
-             begin
-                case t of
-                   _EQUAL : b:=hs1=hs2;
-                 _UNEQUAL : b:=hs1<>hs2;
-                      _LT : b:=hs1<hs2;
-                      _GT : b:=hs1>hs2;
-                     _GTE : b:=hs1>=hs2;
-                     _LTE : b:=hs1<=hs2;
-                end;
-             end;
-           if b then
-             read_expr:='1'
-           else
-             read_expr:='0';
-        end;
-
-     begin
-        current_scanner.skipspace;
-        { start preproc expression scanner }
-        current_scanner.preproc_token:=current_scanner.readpreproc;
-        parse_compiler_expr:=read_expr;
-      end;
-
-
-    procedure dir_if;
-      var
-        hs : string;
-      begin
-        hs:=parse_compiler_expr;
-        current_scanner.addpreprocstack(pp_if,hs<>'0',hs,scan_c_if_found);
-      end;
-
-
-    procedure dir_elseif;
-      var
-        hs : string;
-      begin
-        hs:=parse_compiler_expr;
-        current_scanner.elseifpreprocstack(hs<>'0');
-      end;
-
-
-    procedure dir_define;
-      var
-        hs  : string;
-        bracketcount : longint;
-        mac : tmacro;
-        macropos : longint;
-        macrobuffer : pmacrobuffer;
-      begin
-        current_scanner.skipspace;
-        hs:=current_scanner.readid;
-        mac:=tmacro(current_scanner.macros.search(hs));
-        if not assigned(mac) then
-          begin
-            mac:=tmacro.create(hs);
-            mac.defined:=true;
-            Message1(parser_c_macro_defined,mac.name);
-            current_scanner.macros.insert(mac);
-          end
-        else
-          begin
-            Message1(parser_c_macro_defined,mac.name);
-            mac.defined:=true;
-          { delete old definition }
-            if assigned(mac.buftext) then
-             begin
-               freemem(mac.buftext,mac.buflen);
-               mac.buftext:=nil;
-             end;
-          end;
-        mac.is_used:=true;
-        if (cs_support_macro in aktmoduleswitches) then
-          begin
-          { key words are never substituted }
-             if is_keyword(hs) then
-              Message(scan_e_keyword_cant_be_a_macro);
-           { !!!!!! handle macro params, need we this? }
-             current_scanner.skipspace;
-           { may be a macro? }
-             if c=':' then
-               begin
-                  current_scanner.readchar;
-                  if c='=' then
-                    begin
-                       new(macrobuffer);
-                       macropos:=0;
-                       { parse macro, brackets are counted so it's possible
-                         to have a $ifdef etc. in the macro }
-                       bracketcount:=0;
-                       repeat
-                         current_scanner.readchar;
-                         case c of
-                           '}' :
-                             if (bracketcount=0) then
-                              break
-                             else
-                              dec(bracketcount);
-                           '{' :
-                             inc(bracketcount);
-                           #10,#13 :
-                             current_scanner.linebreak;
-                           #26 :
-                             current_scanner.end_of_file;
-                         end;
-                         macrobuffer^[macropos]:=c;
-                         inc(macropos);
-                         if macropos>maxmacrolen then
-                          Message(scan_f_macro_buffer_overflow);
-                       until false;
-                       { free buffer of macro ?}
-                       if assigned(mac.buftext) then
-                         freemem(mac.buftext,mac.buflen);
-                       { get new mem }
-                       getmem(mac.buftext,macropos);
-                       mac.buflen:=macropos;
-                       { copy the text }
-                       move(macrobuffer^,mac.buftext^,macropos);
-                       dispose(macrobuffer);
-                    end;
-               end;
-          end
-        else
-          begin
-           { check if there is an assignment, then we need to give a
-             warning }
-             current_scanner.skipspace;
-             if c=':' then
-              begin
-                current_scanner.readchar;
-                if c='=' then
-                  Message(scan_w_macro_support_turned_off);
-              end;
-          end;
-      end;
-
-    procedure dir_setc;
-      var
-        hs  : string;
-        mac : tmacro;
-      begin
-        current_scanner.skipspace;
-        hs:=current_scanner.readid;
-        mac:=tmacro(current_scanner.macros.search(hs));
-        if not assigned(mac) then
-          begin
-            mac:=tmacro.create(hs);
-            mac.defined:=true;
-            Message1(parser_c_macro_defined,mac.name);
-            current_scanner.macros.insert(mac);
-          end
-        else
-          begin
-            mac.defined:=true;
-          { delete old definition }
-            if assigned(mac.buftext) then
-             begin
-               freemem(mac.buftext,mac.buflen);
-               mac.buftext:=nil;
-             end;
-          end;
-        mac.is_used:=true;
-
-
-        { key words are never substituted }
-           if is_keyword(hs) then
-            Message(scan_e_keyword_cant_be_a_macro);
-         { !!!!!! handle macro params, need we this? }
-           current_scanner.skipspace;
-         { may be a macro? }
-
-        { assignment can be both := and = }
-        if c=':' then
-          current_scanner.readchar;
-
-        if c='=' then
-          begin
-             current_scanner.readchar;
-             hs:= parse_compiler_expr;
-             if length(hs) <> 0 then
-               begin
-                 Message2(parser_c_macro_set_to,mac.name,hs);
-                 { free buffer of macro ?}
-                 if assigned(mac.buftext) then
-                   freemem(mac.buftext,mac.buflen);
-                 { get new mem }
-                 getmem(mac.buftext,length(hs));
-                 mac.buflen:=length(hs);
-                 { copy the text }
-                 move(hs[1],mac.buftext^,mac.buflen);
-               end
-             else
-               Message(scan_e_preproc_syntax_error);
-          end
-        else
-          Message(scan_e_preproc_syntax_error);
-      end;
-
-
-    procedure dir_undef;
-      var
-        hs  : string;
-        mac : tmacro;
-      begin
-        current_scanner.skipspace;
-        hs:=current_scanner.readid;
-        mac:=tmacro(current_scanner.macros.search(hs));
-        if not assigned(mac) then
-          begin
-             mac:=tmacro.create(hs);
-             Message1(parser_c_macro_undefined,mac.name);
-             mac.defined:=false;
-             current_scanner.macros.insert(mac);
-          end
-        else
-          begin
-             Message1(parser_c_macro_undefined,mac.name);
-             mac.defined:=false;
-             { delete old definition }
-             if assigned(mac.buftext) then
-               begin
-                  freemem(mac.buftext,mac.buflen);
-                  mac.buftext:=nil;
-               end;
-          end;
-        mac.is_used:=true;
-      end;
-
-    procedure dir_include;
-
-        function findincludefile(const path,name,ext:string;var foundfile:string):boolean;
-        var
-          found : boolean;
-          hpath : string;
-        begin
-         { look for the include file
-            1. specified path,path of current inputfile,current dir
-            2. local includepath
-            3. global includepath }
-           found:=false;
-           foundfile:='';
-           hpath:='';
-           if path<>'' then
-             begin
-               if not path_absolute(path) then
-                 hpath:=current_scanner.inputfile.path^+path
-               else
-                 hpath:=path+';'+current_scanner.inputfile.path^;
-             end
-           else
-             hpath:=current_scanner.inputfile.path^;
-           found:=FindFile(name+ext,hpath+';.'+source_info.DirSep,foundfile);
-           if (not found) then
-            found:=current_module.localincludesearchpath.FindFile(name+ext,foundfile);
-           if (not found) then
-            found:=includesearchpath.FindFile(name+ext,foundfile);
-           findincludefile:=found;
-        end;
-
-
-      var
-        args,
-        foundfile,
-        hs    : string;
-        path  : dirstr;
-        name  : namestr;
-        ext   : extstr;
-        hp    : tinputfile;
-        found : boolean;
-      begin
-        current_scanner.skipspace;
-        args:=current_scanner.readcomment;
-        hs:=GetToken(args,' ');
-        if hs='' then
-         exit;
-        if (hs[1]='%') then
-         begin
-         { case insensitive }
-           hs:=upper(hs);
-         { remove %'s }
-           Delete(hs,1,1);
-           if hs[length(hs)]='%' then
-            Delete(hs,length(hs),1);
-         { save old }
-           path:=hs;
-         { first check for internal macros }
-           if hs='TIME' then
-            hs:=gettimestr
-           else
-            if hs='DATE' then
-             hs:=getdatestr
-           else
-            if hs='FILE' then
-             hs:=current_module.sourcefiles.get_file_name(aktfilepos.fileindex)
-           else
-            if hs='LINE' then
-             hs:=tostr(aktfilepos.line)
-           else
-            if hs='FPCVERSION' then
-             hs:=version_string
-           else
-            if hs='FPCTARGET' then
-             hs:=target_cpu_string
-           else
-            if hs='FPCTARGETCPU' then
-             hs:=target_cpu_string
-           else
-            if hs='FPCTARGETOS' then
-             hs:=target_info.shortname
-           else
-             hs:=getenv(hs);
-           if hs='' then
-            Message1(scan_w_include_env_not_found,path);
-           { make it a stringconst }
-           hs:=''''+hs+'''';
-           current_scanner.insertmacro(path,@hs[1],length(hs),
-            current_scanner.line_no,current_scanner.inputfile.ref_index);
-         end
-        else
-         begin
-           hs:=FixFileName(hs);
-           fsplit(hs,path,name,ext);
-           { try to find the file }
-           found:=findincludefile(path,name,ext,foundfile);
-           if (ext='') then
-            begin
-              { try default extensions .inc , .pp and .pas }
-              if (not found) then
-               found:=findincludefile(path,name,'.inc',foundfile);
-              if (not found) then
-               found:=findincludefile(path,name,target_info.sourceext,foundfile);
-              if (not found) then
-               found:=findincludefile(path,name,target_info.pasext,foundfile);
-            end;
-           if current_scanner.inputfilecount<max_include_nesting then
-             begin
-               inc(current_scanner.inputfilecount);
-               { we need to reread the current char }
-               dec(current_scanner.inputpointer);
-               { shutdown current file }
-               current_scanner.tempcloseinputfile;
-               { load new file }
-               hp:=do_openinputfile(foundfile);
-               current_scanner.addfile(hp);
-               current_module.sourcefiles.register_file(hp);
-               if not current_scanner.openinputfile then
-                Message1(scan_f_cannot_open_includefile,hs);
-               Message1(scan_t_start_include_file,current_scanner.inputfile.path^+current_scanner.inputfile.name^);
-               current_scanner.reload;
-             end
-           else
-             Message(scan_f_include_deep_ten);
-         end;
-      end;
-
-
-
-{*****************************************************************************
-                                 TMacro
-*****************************************************************************}
-
-    constructor tmacro.create(const n : string);
-      begin
-         inherited createname(n);
-         defined:=true;
-         defined_at_startup:=false;
-         fileinfo:=akttokenpos;
-         is_used:=false;
-         buftext:=nil;
-         buflen:=0;
-      end;
-
-
-    destructor tmacro.destroy;
-      begin
-         if assigned(buftext) then
-           freemem(buftext,buflen);
-         inherited destroy;
-      end;
-
-
-{*****************************************************************************
-                            Preprocessor writting
-*****************************************************************************}
-
-{$ifdef PREPROCWRITE}
-    constructor tpreprocfile.create(const fn:string);
-      begin
-      { open outputfile }
-        assign(f,fn);
-        {$I-}
-         rewrite(f);
-        {$I+}
-        if ioresult<>0 then
-         Comment(V_Fatal,'can''t create file '+fn);
-        getmem(buf,preprocbufsize);
-        settextbuf(f,buf^,preprocbufsize);
-      { reset }
-        eolfound:=false;
-        spacefound:=false;
-      end;
-
-
-    destructor tpreprocfile.destroy;
-      begin
-        close(f);
-        freemem(buf,preprocbufsize);
-      end;
-
-
-    procedure tpreprocfile.add(const s:string);
-      begin
-        write(f,s);
-      end;
-
-    procedure tpreprocfile.addspace;
-      begin
-        if eolfound then
-         begin
-           writeln(f,'');
-           eolfound:=false;
-           spacefound:=false;
-         end
-        else
-         if spacefound then
-          begin
-            write(f,' ');
-            spacefound:=false;
-          end;
-      end;
-{$endif PREPROCWRITE}
-
-
-{*****************************************************************************
-                              TPreProcStack
-*****************************************************************************}
-
-    constructor tpreprocstack.create(atyp : preproctyp;a:boolean;n:tpreprocstack);
-      begin
-        accept:=a;
-        typ:=atyp;
-        next:=n;
-      end;
-
-
-{*****************************************************************************
-                              TDirectiveItem
-*****************************************************************************}
-
-    constructor TDirectiveItem.Create(const n:string;p:tdirectiveproc);
-      begin
-        inherited CreateName(n);
-        is_conditional:=false;
-        proc:={$ifndef FPCPROCVAR}@{$endif}p;
-      end;
-
-
-    constructor TDirectiveItem.CreateCond(const n:string;p:tdirectiveproc);
-      begin
-        inherited CreateName(n);
-        is_conditional:=true;
-        proc:={$ifndef FPCPROCVAR}@{$endif}p;
-      end;
-
-{****************************************************************************
-                                TSCANNERFILE
- ****************************************************************************}
-
-    constructor tscannerfile.create(const fn:string);
-      begin
-        inputfile:=do_openinputfile(fn);
-        if assigned(current_module) then
-          current_module.sourcefiles.register_file(inputfile);
-      { reset localinput }
-        inputbuffer:=nil;
-        inputpointer:=nil;
-        inputstart:=0;
-      { reset scanner }
-        preprocstack:=nil;
-        comment_level:=0;
-        yylexcount:=0;
-        block_type:=bt_general;
-        line_no:=0;
-        lastlinepos:=0;
-        lasttokenpos:=0;
-        lasttoken:=NOTOKEN;
-        nexttoken:=NOTOKEN;
-        lastasmgetchar:=#0;
-        ignoredirectives:=TStringList.Create;
-        in_asm_string:=false;
-        macros:=tdictionary.create;
-      end;
-
-
-    procedure tscannerfile.firstfile;
-      begin
-      { load block }
-        if not openinputfile then
-          Message1(scan_f_cannot_open_input,inputfile.name^);
-        reload;
-      end;
-
-
-    destructor tscannerfile.destroy;
-      begin
-        if assigned(current_module) and
-           (current_module.state=ms_compiled) and
-           (status.errorcount=0) then
-          checkpreprocstack
-        else
-          begin
-            while assigned(preprocstack) do
-             poppreprocstack;
-          end;
-        if not inputfile.closed then
-          closeinputfile;
-        ignoredirectives.free;
-        macros.free;
-      end;
-
-
-    procedure tscannerfile.def_macro(const s : string);
-      var
-        mac : tmacro;
-      begin
-         mac:=tmacro(macros.search(s));
-         if mac=nil then
-           begin
-             mac:=tmacro.create(s);
-             Message1(parser_c_macro_defined,mac.name);
-             macros.insert(mac);
-           end;
-         mac.defined:=true;
-         mac.defined_at_startup:=true;
-      end;
-
-
-    procedure tscannerfile.set_macro(const s : string;value : string);
-      var
-        mac : tmacro;
-      begin
-         mac:=tmacro(macros.search(s));
-         if mac=nil then
-           begin
-             mac:=tmacro.create(s);
-             macros.insert(mac);
-           end
-         else
-           begin
-              if assigned(mac.buftext) then
-                freemem(mac.buftext,mac.buflen);
-           end;
-         Message2(parser_c_macro_set_to,mac.name,value);
-         mac.buflen:=length(value);
-         getmem(mac.buftext,mac.buflen);
-         move(value[1],mac.buftext^,mac.buflen);
-         mac.defined:=true;
-         mac.defined_at_startup:=true;
-      end;
-
-
-    function tscannerfile.openinputfile:boolean;
-      begin
-        openinputfile:=inputfile.open;
-      { load buffer }
-        inputbuffer:=inputfile.buf;
-        inputpointer:=inputfile.buf;
-        inputstart:=inputfile.bufstart;
-      { line }
-        line_no:=0;
-        lastlinepos:=0;
-        lasttokenpos:=0;
-      end;
-
-
-    procedure tscannerfile.closeinputfile;
-      begin
-        inputfile.close;
-      { reset buffer }
-        inputbuffer:=nil;
-        inputpointer:=nil;
-        inputstart:=0;
-      { reset line }
-        line_no:=0;
-        lastlinepos:=0;
-        lasttokenpos:=0;
-      end;
-
-
-    function tscannerfile.tempopeninputfile:boolean;
-      begin
-        if inputfile.is_macro then
-          exit;
-        tempopeninputfile:=inputfile.tempopen;
-      { reload buffer }
-        inputbuffer:=inputfile.buf;
-        inputpointer:=inputfile.buf;
-        inputstart:=inputfile.bufstart;
-      end;
-
-
-    procedure tscannerfile.tempcloseinputfile;
-      begin
-        if inputfile.closed or inputfile.is_macro then
-         exit;
-        inputfile.setpos(inputstart+(inputpointer-inputbuffer));
-        inputfile.tempclose;
-      { reset buffer }
-        inputbuffer:=nil;
-        inputpointer:=nil;
-        inputstart:=0;
-      end;
-
-
-    procedure tscannerfile.saveinputfile;
-      begin
-        inputfile.saveinputpointer:=inputpointer;
-        inputfile.savelastlinepos:=lastlinepos;
-        inputfile.saveline_no:=line_no;
-      end;
-
-
-    procedure tscannerfile.restoreinputfile;
-      begin
-        inputpointer:=inputfile.saveinputpointer;
-        lastlinepos:=inputfile.savelastlinepos;
-        line_no:=inputfile.saveline_no;
-        if not inputfile.is_macro then
-          parser_current_file:=inputfile.name^;
-      end;
-
-
-    procedure tscannerfile.nextfile;
-      var
-        to_dispose : tinputfile;
-      begin
-        if assigned(inputfile.next) then
-         begin
-           if inputfile.is_macro then
-             to_dispose:=inputfile
-           else
-             begin
-               to_dispose:=nil;
-               dec(inputfilecount);
-             end;
-           { we can allways close the file, no ? }
-           inputfile.close;
-           inputfile:=inputfile.next;
-           if assigned(to_dispose) then
-             to_dispose.free;
-           restoreinputfile;
-         end;
-      end;
-
-
-    procedure tscannerfile.addfile(hp:tinputfile);
-      begin
-        saveinputfile;
-        { add to list }
-        hp.next:=inputfile;
-        inputfile:=hp;
-        { load new inputfile }
-        restoreinputfile;
-      end;
-
-
-    procedure tscannerfile.reload;
-      begin
-        with inputfile do
-         begin
-           { when nothing more to read then leave immediatly, so we
-             don't change the aktfilepos and leave it point to the last
-             char }
-           if (c=#26) and (not assigned(next)) then
-            exit;
-           repeat
-           { still more to read?, then change the #0 to a space so its seen
-             as a seperator, this can't be used for macro's which can change
-             the place of the #0 in the buffer with tempopen }
-             if (c=#0) and (bufsize>0) and
-                not(inputfile.is_macro) and
-                (inputpointer-inputbuffer<bufsize) then
-              begin
-                c:=' ';
-                inc(inputpointer);
-                exit;
-              end;
-           { can we read more from this file ? }
-             if (c<>#26) and (not endoffile) then
-              begin
-                readbuf;
-                inputpointer:=buf;
-                inputbuffer:=buf;
-                inputstart:=bufstart;
-              { first line? }
-                if line_no=0 then
-                 begin
-                   line_no:=1;
-                   if cs_asm_source in aktglobalswitches then
-                     inputfile.setline(line_no,bufstart);
-                 end;
-              end
-             else
-              begin
-              { load eof position in tokenpos/aktfilepos }
-                gettokenpos;
-              { close file }
-                closeinputfile;
-              { no next module, than EOF }
-                if not assigned(inputfile.next) then
-                 begin
-                   c:=#26;
-                   exit;
-                 end;
-              { load next file and reopen it }
-                nextfile;
-                tempopeninputfile;
-              { status }
-                Message1(scan_t_back_in,inputfile.name^);
-              end;
-           { load next char }
-             c:=inputpointer^;
-             inc(inputpointer);
-           until c<>#0; { if also end, then reload again }
-         end;
-      end;
-
-
-    procedure tscannerfile.insertmacro(const macname:string;p:pchar;len,line,fileindex:longint);
-      var
-        hp : tinputfile;
-      begin
-        { save old postion }
-        dec(inputpointer);
-        tempcloseinputfile;
-      { create macro 'file' }
-        { use special name to dispose after !! }
-        hp:=do_openinputfile('_Macro_.'+macname);
-        addfile(hp);
-        with inputfile do
-         begin
-           setmacro(p,len);
-         { local buffer }
-           inputbuffer:=buf;
-           inputpointer:=buf;
-           inputstart:=bufstart;
-           ref_index:=fileindex;
-         end;
-      { reset line }
-        line_no:=line;
-        lastlinepos:=0;
-        lasttokenpos:=0;
-      { load new c }
-        c:=inputpointer^;
-        inc(inputpointer);
-      end;
-
-
-    procedure tscannerfile.gettokenpos;
-    { load the values of tokenpos and lasttokenpos }
-      begin
-        lasttokenpos:=inputstart+(inputpointer-inputbuffer);
-        akttokenpos.line:=line_no;
-        akttokenpos.column:=lasttokenpos-lastlinepos;
-        akttokenpos.fileindex:=inputfile.ref_index;
-        aktfilepos:=akttokenpos;
-      end;
-
-
-    procedure tscannerfile.inc_comment_level;
-      var
-         oldaktfilepos : tfileposinfo;
-      begin
-         if (m_nested_comment in aktmodeswitches) then
-           inc(comment_level)
-         else
-           comment_level:=1;
-         if (comment_level>1) then
-          begin
-             oldaktfilepos:=aktfilepos;
-             gettokenpos; { update for warning }
-             Message1(scan_w_comment_level,tostr(comment_level));
-             aktfilepos:=oldaktfilepos;
-          end;
-      end;
-
-
-    procedure tscannerfile.dec_comment_level;
-      begin
-         if (m_nested_comment in aktmodeswitches) then
-           dec(comment_level)
-         else
-           comment_level:=0;
-      end;
-
-
-    procedure tscannerfile.linebreak;
-      var
-         cur : char;
-         oldtokenpos,
-         oldaktfilepos : tfileposinfo;
-      begin
-        with inputfile do
-         begin
-           if (byte(inputpointer^)=0) and not(endoffile) then
-             begin
-               cur:=c;
-               reload;
-               if byte(cur)+byte(c)<>23 then
-                 dec(inputpointer);
-             end
-           else
-             begin
-               { Support all combination of #10 and #13 as line break }
-               if (byte(inputpointer^)+byte(c)=23) then
-                 inc(inputpointer);
-             end;
-           { Always return #10 as line break }
-           c:=#10;
-           { increase line counters }
-           lastlinepos:=bufstart+(inputpointer-inputbuffer);
-           inc(line_no);
-           { update linebuffer }
-           if cs_asm_source in aktglobalswitches then
-             inputfile.setline(line_no,lastlinepos);
-           { update for status and call the show status routine,
-             but don't touch aktfilepos ! }
-           oldaktfilepos:=aktfilepos;
-           oldtokenpos:=akttokenpos;
-           gettokenpos; { update for v_status }
-           inc(status.compiledlines);
-           ShowStatus;
-           aktfilepos:=oldaktfilepos;
-           akttokenpos:=oldtokenpos;
-         end;
-      end;
-
-
-    procedure tscannerfile.illegal_char(c:char);
-      var
-        s : string;
-      begin
-        if c in [#32..#255] then
-          s:=''''+c+''''
-        else
-          s:='#'+tostr(ord(c));
-        Message2(scan_f_illegal_char,s,'$'+hexstr(ord(c),2));
-      end;
-
-
-    procedure tscannerfile.end_of_file;
-      begin
-        checkpreprocstack;
-        Message(scan_f_end_of_file);
-      end;
-
-  {-------------------------------------------
-           IF Conditional Handling
-  -------------------------------------------}
-
-    procedure tscannerfile.checkpreprocstack;
-      begin
-      { check for missing ifdefs }
-        while assigned(preprocstack) do
-         begin
-           Message4(scan_e_endif_expected,preprocstring[preprocstack.typ],preprocstack.name,
-             preprocstack.owner.inputfile.name^,tostr(preprocstack.line_nb));
-           poppreprocstack;
-         end;
-      end;
-
-
-    procedure tscannerfile.poppreprocstack;
-      var
-        hp : tpreprocstack;
-      begin
-        if assigned(preprocstack) then
-         begin
-           Message1(scan_c_endif_found,preprocstack.name);
-           hp:=preprocstack.next;
-           preprocstack.free;
-           preprocstack:=hp;
-         end
-        else
-         Message(scan_e_endif_without_if);
-      end;
-
-
-    procedure tscannerfile.addpreprocstack(atyp : preproctyp;a:boolean;const s:string;w:longint);
-      begin
-        preprocstack:=tpreprocstack.create(atyp,((preprocstack=nil) or preprocstack.accept) and a,preprocstack);
-        preprocstack.name:=s;
-        preprocstack.line_nb:=line_no;
-        preprocstack.owner:=self;
-        if preprocstack.accept then
-         Message2(w,preprocstack.name,'accepted')
-        else
-         Message2(w,preprocstack.name,'rejected');
-      end;
-
-
-    procedure tscannerfile.elsepreprocstack;
-      begin
-        if assigned(preprocstack) and
-           (preprocstack.typ<>pp_else) then
-         begin
-           if (preprocstack.typ=pp_elseif) then
-             preprocstack.accept:=false
-           else
-             if (not(assigned(preprocstack.next)) or (preprocstack.next.accept)) then
-               preprocstack.accept:=not preprocstack.accept;
-           preprocstack.typ:=pp_else;
-           preprocstack.line_nb:=line_no;
-           if preprocstack.accept then
-            Message2(scan_c_else_found,preprocstack.name,'accepted')
-           else
-            Message2(scan_c_else_found,preprocstack.name,'rejected');
-         end
-        else
-         Message(scan_e_endif_without_if);
-      end;
-
-
-    procedure tscannerfile.elseifpreprocstack(accept:boolean);
-      begin
-        if assigned(preprocstack) and
-           (preprocstack.typ in [pp_if,pp_elseif]) then
-         begin
-           { when the branch is accepted we use pp_elseif so we know that
-             all the next branches need to be rejected. when this branch is still
-             not accepted then leave it at pp_if }
-           if (preprocstack.typ=pp_elseif) then
-             preprocstack.accept:=false
-           else
-             if (preprocstack.typ=pp_if) and preprocstack.accept then
-               begin
-                 preprocstack.accept:=false;
-                 preprocstack.typ:=pp_elseif;
-               end
-           else
-             if accept and
-                (not(assigned(preprocstack.next)) or (preprocstack.next.accept)) then
-               begin
-                 preprocstack.accept:=true;
-                 preprocstack.typ:=pp_elseif;
-               end;
-
-           preprocstack.line_nb:=line_no;
-           if preprocstack.accept then
-             Message2(scan_c_else_found,preprocstack.name,'accepted')
-           else
-             Message2(scan_c_else_found,preprocstack.name,'rejected');
-         end
-        else
-         Message(scan_e_endif_without_if);
-      end;
-
-
-    procedure tscannerfile.handleconditional(p:tdirectiveitem);
-      var
-        oldaktfilepos : tfileposinfo;
-      begin
-        oldaktfilepos:=aktfilepos;
-        repeat
-          current_scanner.gettokenpos;
-          p.proc{$ifdef FPCPROCVAR}(){$endif};
-          { accept the text ? }
-          if (current_scanner.preprocstack=nil) or current_scanner.preprocstack.accept then
-           break
-          else
-           begin
-             current_scanner.gettokenpos;
-             Message(scan_c_skipping_until);
-             repeat
-               current_scanner.skipuntildirective;
-               if not (m_mac in aktmodeswitches) then
-                 p:=tdirectiveitem(turbo_scannerdirectives.search(current_scanner.readid))
-               else
-                 p:=tdirectiveitem(mac_scannerdirectives.search(current_scanner.readid));
-             until assigned(p) and (p.is_conditional);
-             current_scanner.gettokenpos;
-             Message1(scan_d_handling_switch,'$'+p.name);
-           end;
-        until false;
-        aktfilepos:=oldaktfilepos;
-      end;
-
-
-    procedure tscannerfile.handledirectives;
-      var
-         t  : tdirectiveitem;
-         hs : string;
-      begin
-         gettokenpos;
-         readchar; {Remove the $}
-         hs:=readid;
-{$ifdef PREPROCWRITE}
-         if parapreprocess then
-          begin
-            t:=Get_Directive(hs);
-            if not(is_conditional(t) or (t=_DIR_DEFINE) or (t=_DIR_UNDEF)) then
-             begin
-               preprocfile^.AddSpace;
-               preprocfile^.Add('{$'+hs+current_scanner.readcomment+'}');
-               exit;
-             end;
-          end;
-{$endif PREPROCWRITE}
-         { skip this directive? }
-         if (ignoredirectives.find(hs)<>nil) then
-          begin
-            if (comment_level>0) then
-             readcomment;
-            { we've read the whole comment }
-            aktcommentstyle:=comment_none;
-            exit;
-          end;
-         if hs='' then
-          begin
-            Message1(scan_w_illegal_switch,'$'+hs);
-          end;
-      { Check for compiler switches }
-         while (length(hs)=1) and (c in ['-','+']) do
-          begin
-            HandleSwitch(hs[1],c);
-            current_scanner.readchar; {Remove + or -}
-            if c=',' then
-             begin
-               current_scanner.readchar;   {Remove , }
-             { read next switch, support $v+,$+}
-               hs:=current_scanner.readid;
-               if (hs='') then
-                begin
-                  if (c='$') and (m_fpc in aktmodeswitches) then
-                   begin
-                     current_scanner.readchar;  { skip $ }
-                     hs:=current_scanner.readid;
-                   end;
-                  if (hs='') then
-                   Message1(scan_w_illegal_directive,'$'+c);
-                end
-               else
-                Message1(scan_d_handling_switch,'$'+hs);
-             end
-            else
-             hs:='';
-          end;
-      { directives may follow switches after a , }
-         if hs<>'' then
-          begin
-            if not (m_mac in aktmodeswitches) then
-              t:=tdirectiveitem(turbo_scannerdirectives.search(hs))
-            else
-              t:=tdirectiveitem(mac_scannerdirectives.search(hs));
-
-            if assigned(t) then
-             begin
-               if t.is_conditional then
-                handleconditional(t)
-               else
-                begin
-                  Message1(scan_d_handling_switch,'$'+hs);
-                  t.proc{$ifdef FPCPROCVAR}(){$endif};
-                end;
-             end
-            else
-             begin
-               current_scanner.ignoredirectives.insert(hs);
-               Message1(scan_w_illegal_directive,'$'+hs);
-             end;
-          { conditionals already read the comment }
-            if (current_scanner.comment_level>0) then
-             current_scanner.readcomment;
-            { we've read the whole comment }
-            aktcommentstyle:=comment_none;
-          end;
-      end;
-
-
-    procedure tscannerfile.readchar;
-      begin
-        c:=inputpointer^;
-        if c=#0 then
-          reload
-        else
-          inc(inputpointer);
-      end;
-
-
-    procedure tscannerfile.readstring;
-      var
-        i : longint;
-      begin
-        i:=0;
-        repeat
-          case c of
-            '_',
-            '0'..'9',
-            'A'..'Z' :
-              begin
-                if i<255 then
-                 begin
-                   inc(i);
-                   orgpattern[i]:=c;
-                   pattern[i]:=c;
-                 end;
-                c:=inputpointer^;
-                inc(inputpointer);
-              end;
-            'a'..'z' :
-              begin
-                if i<255 then
-                 begin
-                   inc(i);
-                   orgpattern[i]:=c;
-                   pattern[i]:=chr(ord(c)-32)
-                 end;
-                c:=inputpointer^;
-                inc(inputpointer);
-              end;
-            #0 :
-              reload;
-            else
-              break;
-          end;
-        until false;
-        orgpattern[0]:=chr(i);
-        pattern[0]:=chr(i);
-      end;
-
-
-    procedure tscannerfile.readnumber;
-      var
-        base,
-        i  : longint;
-      begin
-        case c of
-          '%' :
-            begin
-              readchar;
-              base:=2;
-              pattern[1]:='%';
-              i:=1;
-            end;
-          '&' :
-            begin
-              readchar;
-              base:=8;
-              pattern[1]:='&';
-              i:=1;
-            end;
-          '$' :
-            begin
-              readchar;
-              base:=16;
-              pattern[1]:='$';
-              i:=1;
-            end;
-          else
-            begin
-              base:=10;
-              i:=0;
-            end;
-        end;
-        while ((base>=10) and (c in ['0'..'9'])) or
-              ((base=16) and (c in ['A'..'F','a'..'f'])) or
-              ((base=8) and (c in ['0'..'7'])) or
-              ((base=2) and (c in ['0'..'1'])) do
-         begin
-           if i<255 then
-            begin
-              inc(i);
-              pattern[i]:=c;
-            end;
-           readchar;
-         end;
-        pattern[0]:=chr(i);
-      end;
-
-
-    function tscannerfile.readid:string;
-      begin
-        readstring;
-        readid:=pattern;
-      end;
-
-
-    function tscannerfile.readval:longint;
-      var
-        l : longint;
-        w : integer;
-      begin
-        readnumber;
-        valint(pattern,l,w);
-        readval:=l;
-      end;
-
-
-    function tscannerfile.readval_asstring:string;
-      begin
-        readnumber;
-        readval_asstring:=pattern;
-      end;
-
-
-    function tscannerfile.readcomment:string;
-      var
-        i : longint;
-      begin
-        i:=0;
-        repeat
-          case c of
-            '{' :
-              begin
-                if aktcommentstyle=comment_tp then
-                  inc_comment_level;
-              end;
-            '}' :
-              begin
-                if aktcommentstyle=comment_tp then
-                  begin
-                    readchar;
-                    dec_comment_level;
-                    if comment_level=0 then
-                      break
-                    else
-                      continue;
-                  end;
-              end;
-            '*' :
-              begin
-                if aktcommentstyle=comment_oldtp then
-                  begin
-                    readchar;
-                    if c=')' then
-                      begin
-                        readchar;
-                        dec_comment_level;
-                        break;
-                      end
-                    else
-                    { Add both characters !!}
-                      if (i<255) then
-                        begin
-                          inc(i);
-                          readcomment[i]:='*';
-                          if (i<255) then
-                            begin
-                              inc(i);
-                              readcomment[i]:='*';
-                            end;
-                        end;
-                  end
-                else
-                { Not old TP comment, so add...}
-                  begin
-                    if (i<255) then
-                      begin
-                        inc(i);
-                        readcomment[i]:='*';
-                      end;
-                  end;
-              end;
-            #10,#13 :
-              linebreak;
-            #26 :
-              end_of_file;
-            else
-              begin
-                if (i<255) then
-                  begin
-                    inc(i);
-                    readcomment[i]:=c;
-                  end;
-              end;
-          end;
-          readchar;
-        until false;
-        readcomment[0]:=chr(i);
-      end;
-
-
-    function tscannerfile.readquotedstring:string;
-      var
-        i : longint;
-        msgwritten : boolean;
-      begin
-        i:=0;
-        msgwritten:=false;
-        if (c='''') then
-          begin
-            repeat
-              readchar;
-              case c of
-                #26 :
-                  end_of_file;
-                #10,#13 :
-                  Message(scan_f_string_exceeds_line);
-                '''' :
-                  begin
-                    readchar;
-                    if c<>'''' then
-                     break;
-                  end;
-              end;
-              if i<255 then
-                begin
-                  inc(i);
-                  result[i]:=c;
-                end
-              else
-                begin
-                  if not msgwritten then
-                    begin
-                      Message(scan_e_string_exceeds_255_chars);
-                      msgwritten:=true;
-                    end;
-                 end;
-            until false;
-          end;
-        result[0]:=chr(i);
-      end;
-
-
-    function tscannerfile.readstate:char;
-      var
-        state : char;
-      begin
-        state:=' ';
-        if c=' ' then
-         begin
-           current_scanner.skipspace;
-           current_scanner.readid;
-           if pattern='ON' then
-            state:='+'
-           else
-            if pattern='OFF' then
-             state:='-';
-         end
-        else
-         state:=c;
-        if not (state in ['+','-']) then
-         Message(scan_e_wrong_switch_toggle);
-        readstate:=state;
-      end;
-
-
-    procedure tscannerfile.skipspace;
-      begin
-        repeat
-          case c of
-            #26 :
-              begin
-                reload;
-                if (c=#26) and not assigned(inputfile.next) then
-                  break;
-                continue;
-              end;
-            #10,
-            #13 :
-              linebreak;
-            #9,#11,#12,' ' :
-              ;
-            else
-              break;
-          end;
-          readchar;
-        until false;
-      end;
-
-
-    procedure tscannerfile.skipuntildirective;
-      var
-        found : longint;
-        next_char_loaded : boolean;
-      begin
-         found:=0;
-         next_char_loaded:=false;
-         repeat
-           case c of
-             #10,
-             #13 :
-               linebreak;
-             #26 :
-               begin
-                 reload;
-                 if (c=#26) and not assigned(inputfile.next) then
-                   end_of_file;
-                 continue;
-               end;
-             '{' :
-               begin
-                 if (aktcommentstyle in [comment_tp,comment_none]) then
-                   begin
-                     aktcommentstyle:=comment_tp;
-                     if (comment_level=0) then
-                       found:=1;
-                     inc_comment_level;
-                   end;
-               end;
-             '*' :
-               begin
-                 if (aktcommentstyle=comment_oldtp) then
-                   begin
-                     readchar;
-                     if c=')' then
-                       begin
-                         dec_comment_level;
-                         found:=0;
-                         aktcommentstyle:=comment_none;
-                       end
-                     else
-                       next_char_loaded:=true;
-                   end
-                 else
-                   found := 0;
-               end;
-             '}' :
-               begin
-                 if (aktcommentstyle=comment_tp) then
-                   begin
-                     dec_comment_level;
-                     if (comment_level=0) then
-                       aktcommentstyle:=comment_none;
-                     found:=0;
-                   end;
-               end;
-             '$' :
-               begin
-                 if found=1 then
-                  found:=2;
-               end;
-             '''' :
-               if (aktcommentstyle=comment_none) then
-                begin
-                  repeat
-                    readchar;
-                    case c of
-                      #26 :
-                        end_of_file;
-                      #10,#13 :
-                        break;
-                      '''' :
-                        begin
-                          readchar;
-                          if c<>'''' then
-                           begin
-                             next_char_loaded:=true;
-                             break;
-                           end;
-                        end;
-                    end;
-                  until false;
-                end;
-             '(' :
-               begin
-                 if (aktcommentstyle=comment_none) then
-                  begin
-                    readchar;
-                    if c='*' then
-                     begin
-                       readchar;
-                       if c='$' then
-                        begin
-                          found:=2;
-                          inc_comment_level;
-                          aktcommentstyle:=comment_oldtp;
-                        end
-                       else
-                        begin
-                          skipoldtpcomment;
-                          next_char_loaded:=true;
-                        end;
-                     end
-                    else
-                     next_char_loaded:=true;
-                  end
-                 else
-                  found:=0;
-               end;
-             '/' :
-               begin
-                 if (aktcommentstyle=comment_none) then
-                  begin
-                    readchar;
-                    if c='/' then
-                     skipdelphicomment;
-                    next_char_loaded:=true;
-                  end
-                 else
-                  found:=0;
-               end;
-             else
-               found:=0;
-           end;
-           if next_char_loaded then
-             next_char_loaded:=false
-           else
-             readchar;
-         until (found=2);
-      end;
-
-
-{****************************************************************************
-                             Comment Handling
-****************************************************************************}
-
-    procedure tscannerfile.skipcomment;
-      begin
-        aktcommentstyle:=comment_tp;
-        readchar;
-        inc_comment_level;
-      { handle compiler switches }
-        if (c='$') then
-         handledirectives;
-      { handle_switches can dec comment_level,  }
-        while (comment_level>0) do
-         begin
-           case c of
-            '{' :
-              inc_comment_level;
-            '}' :
-              dec_comment_level;
-            #10,#13 :
-              linebreak;
-            #26 :
-              begin
-                reload;
-                if (c=#26) and not assigned(inputfile.next) then
-                  end_of_file;
-                continue;
-              end;
-           end;
-           readchar;
-         end;
-        aktcommentstyle:=comment_none;
-      end;
-
-
-    procedure tscannerfile.skipdelphicomment;
-      begin
-        aktcommentstyle:=comment_delphi;
-        inc_comment_level;
-        readchar;
-        { this is not supported }
-        if c='$' then
-          Message(scan_w_wrong_styled_switch);
-        { skip comment }
-        while not (c in [#10,#13,#26]) do
-          readchar;
-        dec_comment_level;
-        aktcommentstyle:=comment_none;
-      end;
-
-
-    procedure tscannerfile.skipoldtpcomment;
-      var
-        found : longint;
-      begin
-        aktcommentstyle:=comment_oldtp;
-        inc_comment_level;
-        { only load a char if last already processed,
-          was cause of bug1634 PM }
-        if c=#0 then
-          readchar;
-      { this is now supported }
-        if (c='$') then
-         handledirectives;
-      { skip comment }
-        while (comment_level>0) do
-         begin
-           found:=0;
-           repeat
-             case c of
-               #26 :
-                 begin
-                   reload;
-                   if (c=#26) and not assigned(inputfile.next) then
-                     end_of_file;
-                   continue;
-                 end;
-               #10,#13 :
-                 linebreak;
-               '*' :
-                 begin
-                   if found=3 then
-                    found:=4
-                   else
-                    found:=1;
-                 end;
-               ')' :
-                 begin
-                   if found in [1,4] then
-                    begin
-                      dec_comment_level;
-                      if comment_level=0 then
-                       found:=2
-                      else
-                       found:=0;
-                    end;
-                 end;
-               '(' :
-                 begin
-                   if found=4 then
-                    inc_comment_level;
-                   found:=3;
-                 end;
-               else
-                 begin
-                   if found=4 then
-                    inc_comment_level;
-                   found:=0;
-                 end;
-             end;
-             readchar;
-           until (found=2);
-         end;
-        aktcommentstyle:=comment_none;
-      end;
-
-
-
-{****************************************************************************
-                               Token Scanner
-****************************************************************************}
-
-    procedure tscannerfile.readtoken;
-      var
-        code    : integer;
-        len,
-        low,high,mid : longint;
-        m       : longint;
-        mac     : tmacro;
-        asciinr : string[6];
-        msgwritten,
-        iswidestring : boolean;
-      label
-         exit_label;
-      begin
-        if localswitcheschanged then
-          begin
-            aktlocalswitches:=nextaktlocalswitches;
-            localswitcheschanged:=false;
-          end;
-      { was there already a token read, then return that token }
-        if nexttoken<>NOTOKEN then
-         begin
-           token:=nexttoken;
-           nexttoken:=NOTOKEN;
-           goto exit_label;
-         end;
-
-      { Skip all spaces and comments }
-        repeat
-          case c of
-            '{' :
-              skipcomment;
-            #26 :
-              begin
-                reload;
-                if (c=#26) and not assigned(inputfile.next) then
-                  break;
-              end;
-            ' ',#9..#13 :
-              begin
-{$ifdef PREPROCWRITE}
-                if parapreprocess then
-                 begin
-                   if c=#10 then
-                    preprocfile.eolfound:=true
-                   else
-                    preprocfile.spacefound:=true;
-                 end;
-{$endif PREPROCWRITE}
-                skipspace;
-              end
-            else
-              break;
-          end;
-        until false;
-
-      { Save current token position, for EOF its already loaded }
-        if c<>#26 then
-          gettokenpos;
-
-      { Check first for a identifier/keyword, this is 20+% faster (PFV) }
-        if c in ['A'..'Z','a'..'z','_'] then
-         begin
-           readstring;
-           token:=_ID;
-           idtoken:=_ID;
-         { keyword or any other known token,
-           pattern is always uppercased }
-           if (pattern[1]<>'_') and (length(pattern) in [tokenlenmin..tokenlenmax]) then
-            begin
-              low:=ord(tokenidx^[length(pattern),pattern[1]].first);
-              high:=ord(tokenidx^[length(pattern),pattern[1]].last);
-              while low<high do
-               begin
-                 mid:=(high+low+1) shr 1;
-                 if pattern<tokeninfo^[ttoken(mid)].str then
-                  high:=mid-1
-                 else
-                  low:=mid;
-               end;
-              with tokeninfo^[ttoken(high)] do
-                if pattern=str then
-                  begin
-                    if keyword in aktmodeswitches then
-                      if op=NOTOKEN then
-                        token:=ttoken(high)
-                      else
-                        token:=op;
-                    idtoken:=ttoken(high);
-                  end;
-            end;
-         { Only process identifiers and not keywords }
-           if token=_ID then
-            begin
-            { this takes some time ... }
-              if (cs_support_macro in aktmoduleswitches) then
-               begin
-                 mac:=tmacro(macros.search(pattern));
-                 if assigned(mac) and (assigned(mac.buftext)) then
-                  begin
-                    if yylexcount<max_macro_nesting then
-                     begin
-                       inc(yylexcount);
-                       insertmacro(pattern,mac.buftext,mac.buflen,
-                         mac.fileinfo.line,mac.fileinfo.fileindex);
-                     { handle empty macros }
-                       if c=#0 then
-                         reload;
-                       readtoken;
-                       { that's all folks }
-                       dec(yylexcount);
-                       exit;
-                     end
-                    else
-                     Message(scan_w_macro_deep_ten);
-                  end;
-               end;
-            end;
-         { return token }
-           goto exit_label;
-         end
-        else
-         begin
-           idtoken:=_NOID;
-           case c of
-
-             '$' :
-               begin
-                 readnumber;
-                 token:=_INTCONST;
-                 goto exit_label;
-               end;
-
-             '%' :
-               begin
-                 if not(m_fpc in aktmodeswitches) then
-                  Illegal_Char(c)
-                 else
-                  begin
-                    readnumber;
-                    token:=_INTCONST;
-                    goto exit_label;
-                  end;
-               end;
-
-             '&' :
-               begin
-                 if m_fpc in aktmodeswitches then
-                  begin
-                    readnumber;
-                    token:=_INTCONST;
-                    goto exit_label;
-                  end
-                 else if m_mac in aktmodeswitches then
-                  begin
-                    readchar;
-                    token:=_AMPERSAND;
-                    goto exit_label;
-                  end
-                 else
-                  Illegal_Char(c);
-               end;
-
-             '0'..'9' :
-               begin
-                 readnumber;
-                 if (c in ['.','e','E']) then
-                  begin
-                  { first check for a . }
-                    if c='.' then
-                     begin
-                       readchar;
-                       { is it a .. from a range? }
-                       case c of
-                         '.' :
-                           begin
-                             readchar;
-                             token:=_INTCONST;
-                             nexttoken:=_POINTPOINT;
-                             goto exit_label;
-                           end;
-                         ')' :
-                           begin
-                             readchar;
-                             token:=_INTCONST;
-                             nexttoken:=_RECKKLAMMER;
-                             goto exit_label;
-                           end;
-                       end;
-                       { insert the number after the . }
-                       pattern:=pattern+'.';
-                       while c in ['0'..'9'] do
-                        begin
-                          pattern:=pattern+c;
-                          readchar;
-                        end;
-                      end;
-                  { E can also follow after a point is scanned }
-                    if c in ['e','E'] then
-                     begin
-                       pattern:=pattern+'E';
-                       readchar;
-                       if c in ['-','+'] then
-                        begin
-                          pattern:=pattern+c;
-                          readchar;
-                        end;
-                       if not(c in ['0'..'9']) then
-                        Illegal_Char(c);
-                       while c in ['0'..'9'] do
-                        begin
-                          pattern:=pattern+c;
-                          readchar;
-                        end;
-                     end;
-                    token:=_REALNUMBER;
-                    goto exit_label;
-                  end;
-                 token:=_INTCONST;
-                 goto exit_label;
-               end;
-
-             ';' :
-               begin
-                 readchar;
-                 token:=_SEMICOLON;
-                 goto exit_label;
-               end;
-
-             '[' :
-               begin
-                 readchar;
-                 token:=_LECKKLAMMER;
-                 goto exit_label;
-               end;
-
-             ']' :
-               begin
-                 readchar;
-                 token:=_RECKKLAMMER;
-                 goto exit_label;
-               end;
-
-             '(' :
-               begin
-                 readchar;
-                 case c of
-                   '*' :
-                     begin
-                       c:=#0;{Signal skipoldtpcomment to reload a char }
-                       skipoldtpcomment;
-                       readtoken;
-                       exit;
-                     end;
-                   '.' :
-                     begin
-                       readchar;
-                       token:=_LECKKLAMMER;
-                       goto exit_label;
-                     end;
-                 end;
-                 token:=_LKLAMMER;
-                 goto exit_label;
-               end;
-
-             ')' :
-               begin
-                 readchar;
-                 token:=_RKLAMMER;
-                 goto exit_label;
-               end;
-
-             '+' :
-               begin
-                 readchar;
-                 if (c='=') and (cs_support_c_operators in aktmoduleswitches) then
-                  begin
-                    readchar;
-                    token:=_PLUSASN;
-                    goto exit_label;
-                  end;
-                 token:=_PLUS;
-                 goto exit_label;
-               end;
-
-             '-' :
-               begin
-                 readchar;
-                 if (c='=') and (cs_support_c_operators in aktmoduleswitches) then
-                  begin
-                    readchar;
-                    token:=_MINUSASN;
-                    goto exit_label;
-                  end;
-                 token:=_MINUS;
-                 goto exit_label;
-               end;
-
-             ':' :
-               begin
-                 readchar;
-                 if c='=' then
-                  begin
-                    readchar;
-                    token:=_ASSIGNMENT;
-                    goto exit_label;
-                  end;
-                 token:=_COLON;
-                 goto exit_label;
-               end;
-
-             '*' :
-               begin
-                 readchar;
-                 if (c='=') and (cs_support_c_operators in aktmoduleswitches) then
-                  begin
-                    readchar;
-                    token:=_STARASN;
-                  end
-                 else
-                  if c='*' then
-                   begin
-                     readchar;
-                     token:=_STARSTAR;
-                   end
-                 else
-                  token:=_STAR;
-                 goto exit_label;
-               end;
-
-             '/' :
-               begin
-                 readchar;
-                 case c of
-                   '=' :
-                     begin
-                       if (cs_support_c_operators in aktmoduleswitches) then
-                        begin
-                          readchar;
-                          token:=_SLASHASN;
-                          goto exit_label;
-                        end;
-                     end;
-                   '/' :
-                     begin
-                       skipdelphicomment;
-                       readtoken;
-                       exit;
-                     end;
-                 end;
-                 token:=_SLASH;
-                 goto exit_label;
-               end;
-
-             '|' :
-               if m_mac in aktmodeswitches then
-                begin
-                  readchar;
-                  token:=_PIPE;
-                  goto exit_label;
-                end
-               else
-                Illegal_Char(c);
-
-             '=' :
-               begin
-                 readchar;
-                 token:=_EQUAL;
-                 goto exit_label;
-               end;
-
-             '.' :
-               begin
-                 readchar;
-                 case c of
-                   '.' :
-                     begin
-                       readchar;
-                       case c of
-                         '.' :
-                         begin
-                           readchar;
-                           token:=_POINTPOINTPOINT;
-                           goto exit_label;
-                         end;
-                       else
-                         begin
-                           token:=_POINTPOINT;
-                           goto exit_label;
-                         end;
-                       end;
-                     end;
-                   ')' :
-                     begin
-                       readchar;
-                       token:=_RECKKLAMMER;
-                       goto exit_label;
-                     end;
-                 end;
-                 token:=_POINT;
-                 goto exit_label;
-               end;
-
-             '@' :
-               begin
-                 readchar;
-                 token:=_KLAMMERAFFE;
-                 goto exit_label;
-               end;
-
-             ',' :
-               begin
-                 readchar;
-                 token:=_COMMA;
-                 goto exit_label;
-               end;
-
-             '''','#','^' :
-               begin
-                 len:=0;
-                 msgwritten:=false;
-                 pattern:='';
-                 iswidestring:=false;
-                 if c='^' then
-                  begin
-                    readchar;
-                    c:=upcase(c);
-                    if (block_type=bt_type) or
-                       (lasttoken=_ID) or (lasttoken=_NIL) or
-                       (lasttoken=_RKLAMMER) or (lasttoken=_RECKKLAMMER) or (lasttoken=_CARET) then
-                     begin
-                       token:=_CARET;
-                       goto exit_label;
-                     end
-                    else
-                     begin
-                       inc(len);
-                       if c<#64 then
-                        pattern[len]:=chr(ord(c)+64)
-                       else
-                        pattern[len]:=chr(ord(c)-64);
-                       readchar;
-                     end;
-                  end;
-                 repeat
-                   case c of
-                     '#' :
-                       begin
-                         readchar; { read # }
-                         if c='$' then
-                           begin
-                              readchar; { read leading $ }
-                              asciinr:='$';
-                              while (upcase(c) in ['A'..'F','0'..'9']) and (length(asciinr)<6) do
-                               begin
-                                 asciinr:=asciinr+c;
-                                 readchar;
-                               end;
-                           end
-                         else
-                           begin
-                              asciinr:='';
-                              while (c in ['0'..'9']) and (length(asciinr)<6) do
-                               begin
-                                 asciinr:=asciinr+c;
-                                 readchar;
-                               end;
-                           end;
-                         valint(asciinr,m,code);
-                         if (asciinr='') or (code<>0) then
-                           Message(scan_e_illegal_char_const)
-                         else if (m<0) or (m>255) or (length(asciinr)>3) then
-                           begin
-                              if (m>=0) and (m<=65535) then
-                                begin
-                                  if not iswidestring then
-                                   begin
-                                     ascii2unicode(@pattern[1],len,patternw);
-                                     iswidestring:=true;
-                                     len:=0;
-                                   end;
-                                  concatwidestringchar(patternw,tcompilerwidechar(m));
-                                end
-                              else
-                                Message(scan_e_illegal_char_const)
-                           end
-                         else if iswidestring then
-                           concatwidestringchar(patternw,asciichar2unicode(char(m)))
-                         else
-                           begin
-                             if len<255 then
-                              begin
-                                inc(len);
-                                pattern[len]:=chr(m);
-                              end
-                             else
-                              begin
-                                if not msgwritten then
-                                 begin
-                                   Message(scan_e_string_exceeds_255_chars);
-                                   msgwritten:=true;
-                                 end;
-                              end;
-                           end;
-                       end;
-                     '''' :
-                       begin
-                         repeat
-                           readchar;
-                           case c of
-                             #26 :
-                               end_of_file;
-                             #10,#13 :
-                               Message(scan_f_string_exceeds_line);
-                             '''' :
-                               begin
-                                 readchar;
-                                 if c<>'''' then
-                                  break;
-                               end;
-                           end;
-                           if iswidestring then
-                             concatwidestringchar(patternw,asciichar2unicode(c))
-                           else
-                             begin
-                               if len<255 then
-                                begin
-                                  inc(len);
-                                  pattern[len]:=c;
-                                end
-                               else
-                                begin
-                                  if not msgwritten then
-                                   begin
-                                     Message(scan_e_string_exceeds_255_chars);
-                                     msgwritten:=true;
-                                   end;
-                                end;
-                             end;
-                         until false;
-                       end;
-                     '^' :
-                       begin
-                         readchar;
-                         c:=upcase(c);
-                         if c<#64 then
-                          c:=chr(ord(c)+64)
-                         else
-                          c:=chr(ord(c)-64);
-
-                         if iswidestring then
-                           concatwidestringchar(patternw,asciichar2unicode(c))
-                         else
-                           begin
-                             if len<255 then
-                              begin
-                                inc(len);
-                                pattern[len]:=c;
-                              end
-                             else
-                              begin
-                                if not msgwritten then
-                                 begin
-                                   Message(scan_e_string_exceeds_255_chars);
-                                   msgwritten:=true;
-                                 end;
-                              end;
-                           end;
-
-                         readchar;
-                       end;
-                     else
-                      break;
-                   end;
-                 until false;
-                 { strings with length 1 become const chars }
-                 if iswidestring then
-                   begin
-                      if patternw^.len=1 then
-                       token:=_CWCHAR
-                      else
-                       token:=_CWSTRING;
-                   end
-                 else
-                   begin
-                      pattern[0]:=chr(len);
-                      if len=1 then
-                       token:=_CCHAR
-                      else
-                       token:=_CSTRING;
-                   end;
-                 goto exit_label;
-               end;
-
-             '>' :
-               begin
-                 readchar;
-                 case c of
-                   '=' :
-                     begin
-                       readchar;
-                       token:=_GTE;
-                       goto exit_label;
-                     end;
-                   '>' :
-                     begin
-                       readchar;
-                       token:=_OP_SHR;
-                       goto exit_label;
-                     end;
-                   '<' :
-                     begin { >< is for a symetric diff for sets }
-                       readchar;
-                       token:=_SYMDIF;
-                       goto exit_label;
-                     end;
-                 end;
-                 token:=_GT;
-                 goto exit_label;
-               end;
-
-             '<' :
-               begin
-                 readchar;
-                 case c of
-                   '>' :
-                     begin
-                       readchar;
-                       token:=_UNEQUAL;
-                       goto exit_label;
-                     end;
-                   '=' :
-                     begin
-                       readchar;
-                       token:=_LTE;
-                       goto exit_label;
-                     end;
-                   '<' :
-                     begin
-                       readchar;
-                       token:=_OP_SHL;
-                       goto exit_label;
-                     end;
-                 end;
-                 token:=_LT;
-                 goto exit_label;
-               end;
-
-             #26 :
-               begin
-                 token:=_EOF;
-                 checkpreprocstack;
-                 goto exit_label;
-               end;
-             else
-               Illegal_Char(c);
-           end;
-        end;
-exit_label:
-        lasttoken:=token;
-      end;
-
-
-    function tscannerfile.readpreproc:ttoken;
-      begin
-         skipspace;
-         case c of
-           '_',
-           'A'..'Z',
-           'a'..'z' :
-             begin
-               current_scanner.preproc_pattern:=readid;
-               readpreproc:=_ID;
-             end;
-           '0'..'9' :
-             begin
-               current_scanner.preproc_pattern:=readval_asstring;
-               { realnumber? }
-               if c='.' then
-                 begin
-                   readchar;
-                   while c in ['0'..'9'] do
-                     begin
-                       current_scanner.preproc_pattern:=current_scanner.preproc_pattern+c;
-                       readchar;
-                     end;
-                 end;
-               readpreproc:=_ID;
-             end;
-           '$','%','&' :
-             begin
-               current_scanner.preproc_pattern:=readval_asstring;
-               readpreproc:=_ID;
-             end;
-           '}' :
-             begin
-               readpreproc:=_END;
-             end;
-           '(' :
-             begin
-               readchar;
-               readpreproc:=_LKLAMMER;
-             end;
-           ')' :
-             begin
-               readchar;
-               readpreproc:=_RKLAMMER;
-             end;
-           '+' :
-             begin
-               readchar;
-               readpreproc:=_PLUS;
-             end;
-           '-' :
-             begin
-               readchar;
-               readpreproc:=_MINUS;
-             end;
-           '*' :
-             begin
-               readchar;
-               readpreproc:=_STAR;
-             end;
-           '/' :
-             begin
-               readchar;
-               readpreproc:=_SLASH;
-             end;
-           '=' :
-             begin
-               readchar;
-               readpreproc:=_EQUAL;
-             end;
-           '>' :
-             begin
-               readchar;
-               if c='=' then
-                 begin
-                   readchar;
-                   readpreproc:=_GTE;
-                 end
-               else
-                 readpreproc:=_GT;
-             end;
-           '<' :
-             begin
-               readchar;
-               case c of
-                 '>' :
-                   begin
-                     readchar;
-                     readpreproc:=_UNEQUAL;
-                   end;
-                 '=' :
-                   begin
-                     readchar;
-                     readpreproc:=_LTE;
-                   end;
-                 else
-                   readpreproc:=_LT;
-               end;
-             end;
-           #26 :
-             begin
-               readpreproc:=_EOF;
-               checkpreprocstack;
-             end;
-           else
-             Illegal_Char(c);
-         end;
-      end;
-
-
-    function tscannerfile.asmgetcharstart : char;
-      begin
-        { return first the character already
-          available in c }
-        lastasmgetchar:=c;
-        result:=asmgetchar;
-      end;
-
-
-    function tscannerfile.asmgetchar : char;
-      begin
-         if lastasmgetchar<>#0 then
-          begin
-            c:=lastasmgetchar;
-            lastasmgetchar:=#0;
-          end
-         else
-          readchar;
-         if in_asm_string then
-           begin
-             asmgetchar:=c;
-             exit;
-           end;
-         repeat
-           case c of
-{$ifndef arm}
-             // the { ... } is used in ARM assembler to define register sets,  so we can't used
-             // it as comment, either (* ... *), /* ... */ or // ... should be used instead
-             '{' :
-               skipcomment;
-{$endif arm}
-             #10,#13 :
-               begin
-                 linebreak;
-                 asmgetchar:=c;
-                 exit;
-               end;
-             #26 :
-               begin
-                 reload;
-                 if (c=#26) and not assigned(inputfile.next) then
-                   end_of_file;
-                 continue;
-               end;
-             '/' :
-               begin
-                  readchar;
-                  if c='/' then
-                   skipdelphicomment
-                  else
-                   begin
-                     asmgetchar:='/';
-                     lastasmgetchar:=c;
-                     exit;
-                   end;
-               end;
-             '(' :
-               begin
-                  readchar;
-                  if c='*' then
-                   begin
-                     c:=#0;{Signal skipoldtpcomment to reload a char }
-                     skipoldtpcomment;
-                   end
-                  else
-                   begin
-                     asmgetchar:='(';
-                     lastasmgetchar:=c;
-                     exit;
-                   end;
-               end;
-             else
-               begin
-                 asmgetchar:=c;
-                 exit;
-               end;
-           end;
-         until false;
-      end;
-
-
-{*****************************************************************************
-                                   Helpers
-*****************************************************************************}
-
-    procedure AddDirective(const s:string; dm: tdirectivemode; p:tdirectiveproc);
-      begin
-        if dm in [directive_all, directive_turbo] then
-          turbo_scannerdirectives.insert(tdirectiveitem.create(s,p));
-        if dm in [directive_all, directive_mac] then
-          mac_scannerdirectives.insert(tdirectiveitem.create(s,p));
-      end;
-
-    procedure AddConditional(const s:string; dm: tdirectivemode; p:tdirectiveproc);
-      begin
-        if dm in [directive_all, directive_turbo] then
-          turbo_scannerdirectives.insert(tdirectiveitem.createcond(s,p));
-        if dm in [directive_all, directive_mac] then
-          mac_scannerdirectives.insert(tdirectiveitem.createcond(s,p));
-      end;
-
-{*****************************************************************************
-                                Initialization
-*****************************************************************************}
-
-    procedure InitScanner;
-      begin
-        InitWideString(patternw);
-        turbo_scannerdirectives:=TDictionary.Create;
-        mac_scannerdirectives:=TDictionary.Create;
-
-        { Default directives and conditionals for all modes }
-        AddDirective('I',directive_all, {$ifdef FPCPROCVAR}@{$endif}dir_include);
-
-        { Default Turbo directives and conditionals }
-        AddDirective('DEFINE',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_define);
-        AddDirective('UNDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_undef);
-        AddDirective('INCLUDE',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_include);
-
-        AddConditional('ELSE',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_else);
-        AddConditional('ELSEIF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_elseif);
-        AddConditional('ENDIF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
-        AddConditional('IFEND',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
-        AddConditional('IF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_if);
-        AddConditional('IFDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifdef);
-        AddConditional('IFNDEF',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifndef);
-        AddConditional('IFOPT',directive_turbo, {$ifdef FPCPROCVAR}@{$endif}dir_ifopt);
-
-        { Default Mac directives and conditionals: }
-        AddDirective('SETC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_setc);
-        AddConditional('IFC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_if);
-        AddConditional('ELSEC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_else);
-        AddConditional('ENDC',directive_mac, {$ifdef FPCPROCVAR}@{$endif}dir_endif);
-      end;
-
-
-    procedure DoneScanner;
-      begin
-        turbo_scannerdirectives.Free;
-        mac_scannerdirectives.Free;
-        DoneWideString(patternw);
-      end;
-
-
-end.
-{
-  $Log$
-  Revision 1.81  2004-07-05 23:25:34  olle
-    + adding operators "|" and "&" for macpas
-
-  Revision 1.80  2004/06/20 08:55:30  florian
-    * logs truncated
-
-  Revision 1.79  2004/05/23 20:55:38  peter
-    * support sizeof() in preprocessor
-
-  Revision 1.78  2004/05/19 23:29:56  peter
-    * $message directive compatible with delphi
-
-  Revision 1.77  2004/05/16 13:55:26  peter
-    * report about illegal chars in preproctoken instead of end of
-      expression
-    * support realnumbers in preproctoken parser
-
-  Revision 1.76  2004/05/03 10:06:38  olle
-    + added language constructs UNIV, C, ... for mode mac
-    * consolidated macro expression to conform to Pascal
-    * macro true is defined as <> 0
-
-  Revision 1.75  2004/03/04 17:23:10  peter
-    * $elseif support
-    * conditiotnal in // returns warning isntead of error
-
-}
+(This file must be converted with BinHex 4.0)
+:!*!0!B,1!!!"(Y[IH`SJN!3N5@3k)(0MB@jZCA)ZF'&c,(BJ-5ii-5!b-$!d,c!
+h,c!e)$)c1M)e1M-d)'pXE'8J4AK`)#3+)*!%3fp`HA*TCfKd)#KM+5!a16Ni,6)
+`-$)JBRNJ4Qa[FQPKEL",E'&PEA"QE!S+)*!%9'KTFb"eEQPd)'PYF'aPE@9ZG(-
+JG'KP)(0MB@jZCA)JF'&bG#"KEQ3JD'&ZC'aTEQFJEfBJG'KP)(0hDA4MD'9c#JS
+JN!48D'Pc)("bEfGbB@dJDA-JCR*PC5"cEfCdGf&bC6XJH@pe)'0KEL"bC@4TFh4
+bD@*eG'8JDA3JB@jN,fpb)'e[C'PQH3SJN!4TG#"eEQ4PFL"dD'8JG'9bEA-JEfB
+JG'KP)%G195"(C@jPFQ&X)&"eBQaTBb"-D@0PER0P)'&c)("eBQaTFfKPC#"LH3S
+JN!4dD'8J4R*PC5"6EfCdGf&bC5"'Eh9ZC'&dD@pZ1b"PDA4SCA)JGQ9bFfP[EL!
+b)'pQ)(4SC5"-D@0PER0P,#"[FJSJN!3SBA3JH@peFL"[F(4TEfiT)'&ZH5"XBA4
+PFL"fCA*cD@pZ,JS+)*!%9'KTFb"`FQpRFQ&Y)'Pc)'4TFh4bD@*eG'9N)'PZ)(4
+SC5"SEh"P)(4SBA3JDA3JGfPXE#"LC5"eFf9QG@`X#L#3"'*eG#"A594)6e98)%&
+1@5"A39*538j8@6XJGfPdD'peG#"PGQ9Z)(4SC5"TEA"XD@9N)(GKFR*KER4j)'p
+Q#L#3"%e&8N0)38j838**6%P8@5"[FL"'59414906)%C28L"")&""8P4*3e9-39)
+J8&958%p645iJ)&0PC5"dD'8+)*!%4dj9)%GPEQ9bB@`J8(9LE'PM)%aTBf9ZFf8
+JCQpb)'e[FQ8JC'9dB@PXFbi+#L#3"&P[G5"cD'peE'3JD'&fC5"bC@0PDACPC#"
+K)'0[F(NJEfBJG'KP)%G195"(C@jPFQ&X)&"eBQaTBb"-D@0PER0P#L#3"'&XEfj
+R)(GTG'JJG'KTFb"`FQpRFQ&Y1b"TCL"ZEh3X)(GbDA4P)(4[)(4SC5"'FQ9P)&0
+[CR4hBA*P#L#3"%C[G@jNBA4TEfiX)%PZBbiX)$Bh05"0BA0c)%&fC5`J3f&YBR*
+TC'GP,#"035!`-M%c15`J990",JS+)#U36!Tp#R9ZDA3JFf0KEQjPFMX+#RXND5"
+QF'0NC@Cc,QPZBhd+#QPZG'9bCQ&MC3S+)*!%GA0PF`SJN!GMBfaKFh0PFb`+)*!
+(Cfa[BR4jF'8XCfa[BQ&XFbafCA*cD@pZ,(4[Df9ZFb`+)*!(GQ9bBQpcC5aMEfe
+`D'p[Db`+)*!(CQPZF(9d,!SJN!GhD@4PFh4b,'0`G@PZCQml#JSJN!4MEfjcG!S
+JN!GYBAKID@jME(9NC9pZCA0dD@jR26-b1`SJN!GYBAKIE@&MFQpIEQ9cG'PZCcd
+a0MX+)*!(E@&iE@&MFQpXC@ip-6BU-6!b0$X+)*!(F(*PF(*[Bf*eCR0THQ8p-c)
+U-6!b0$X+#JSJN!4dHA"P#L#3"h4MEfeYC@jdFh4jE'8J25!SBfpYE@9ZG&pZEfj
+P,'0[E@ePER4IG(!XBfpYE@9ZG&p[E'4dF#aMEfeYC@jdAf4PE("SD5aMEfeYC@j
+dAf-T1`S+)*!(F'eKBh*[BR9QCQ9b)$dJAR4YB@0bEf*eCQCPFMX+)*!(G'eKBh*
+[BR9QCQ9b)$dJBA*bBAPE-#iZE@&iE@&MFQpXC@iY-9dJEfBJBfKKFMX+)*!(G(0
+MB@jZCA*QD@aP)$dJBfaKFh-l#JSJN!GdE@&MFQmJ25"ME'&cFbK86Q&YC@4*EQ4
+PH%PdC@dT#L#3#Q4PCQPZC@3X#L#3#Q4PCQPZC@4IBA4IFh4KFR4eF#`+)*!+DA0
+IGA0PC#!k)'*[EfaPB@il#L#3#Q*eCR4PH(3J1L"`BfKKFMX+)*!+BR9QE'9Z)#!
+k)'a[EQGTER3l#L#3#QCTE'9TEQC[)$SJG'CTE'9`Eh0TEQC[1`SJN!TMEfjcG(*
+eBh4[FL"$FQ9KG'8SBfpZFh3JEL!k)(0dFQPZCbNl#L#3#Q4PFh4bG@0dEh)J)'4
+PFh4bEhNlEhCPFR*TC'8l#L#3"f9ZC$X+#L#3"h"bCA"bEf0dHA!J25!SF("ID@C
+NC@BXF("ID@CZC'9Q,("`AfPQ,("`AfPQEh"d,("`Af9XFf8XF("IC@acC@PQ+6X
++#L#3"h4`FQ9`FQpMFh4KBfXJ25"ME'&cF`SJN!TdHA!JN!8k)("bCA"bEf0dHA!
+l#L#3#Q&MBf9`G#!J1L"LEfpXC@&Z1`SJN!TZCAKd)*!%1L"dF(*PF(*[Bh0dB@0
+V1`SJN!TZB@eP)*!%1L"cG(*TEQGTC$X+)*!+E'PZC9pZBL!k)'a[EQGTER3l#L#
+3#QphEQ9b)#!J1L"dFf0KEQjPFQCTE'8l#L#3#Q0[ER0dFR9MG'pb)%0bC@&dC5K
+KG(P`1R"bCA"bEf0dHA!lB6TLEfpXC@&Z1fikG("bCA"bEf0cG'&MDbNl#L#3"f9
+ZC$X+#L#3"h4NDA*PBh4TGQ9`FQpM2A"bEf0PC(9bC6X+#L#3"h4NDA*PBh4TGQ9
+TG'9Y)$dJBfaKFh-S9%jKE@9N5@jNCAK*G'9Y+3SJN!G`G@*XD@-+)*!+DA0IBfp
+ZC'PdD@pZB@`J1L"LEfpXC@&Z1`SJN!T`FQpM)$SJG'4TFQ9MG'PfCA"bEf-l#L#
+3#Q0[ER0dFR9MG'pb)%0bC@&dC5KMEfjcG#"Z1R0dFQPZCcY`1R4NDA*PBh4TGQ9
+`FQpM+6X+)*!+BfpZFh4bG@0dEh)J3h*PBA4P3fpZC#KMEfjcG#"Z1R0dFQPZCcY
+`1R4NDA*PBh4TGQ9`FQpM+6X+)*!(C@jN1`S+)*!(G(0MB@jZCA*QD@aP)$dJBfa
+KFh-+)*!(F(9LE'PM#L#3#QPZF(9dCQPXC5#3"$SJG'PZF(9dCQPXC6XJ)(XJBh9
+bFQ9ZG#"TER"eG'CTE'8JE'PcG#"p#L#3#QPZF(9dCQPXC@0[G@jd)$SJE'pZCfP
+ZG$X+#L#3#QPZF(9dBR9QCQ9b,##3%(XJD@j`GA3JBR9QCQ9b)(d+)*!+D@j`GA4
+`EfPZG'9b)$SJF'0SBA)l#L#3#QPZF(9dFh4KFR3J)#!k)'a[EQGTER3l#JSJN!T
+XD@jPAfj[,##3&(XJE'PZC5"p#L#3#QaKFh4XD@jPF'pc)#!k)'a[EQGTER3l#JS
+JN!TXBA0dG'pVC@j`Eh-J1L"XEfjRD@jd1b#3"AXJG'pVC@iJI3SJN!TXBA0dG'p
+VC@iX#L#3#QjPH(4dEfYPEL#3"$SJG(4[Df9Z1`S+)*!+BfpYE@9ZG&pXCACPE#`
++)*!+HAPXCAKMEh9ZG##3"6SJE'pZCfPZG$X+)*!+E'&cG'&cE@GPG'0SBA)J1L"
+MD'&b1`SJN!TTCfj[FQ9NDA*PBh4TGQ9c)$SJG(0dFQPZCfaTFh3l)(XJD@GZEh*
+P)'4TFQ9MG'PfCA-X)(9cC@3JG'mJCfPfC5"hBA*ZD@jRFb"[EQaj)'pZBf8JI3S
+JN!T`FQ9`FQpMFh4KBfXJ)#!k)(4`FQ9`FQpMFh4KBfXl#L#3#QeKBh*[Fb#3#6S
+J9'4TBh4TEfjKFRNl#L#3#QPZAf&cE9pcG(*TEQFJ)$SJBQp[E'9KEMX+#L#3#R"
+bCA"bEf0IF'&dG'9bEL!k)(0dFQPZCcX+)*!+F(*PF(*[BepdEfYPEL!J)$SJG(4
+[Df9Z1`S+)*!+BfpZFh4bG@0dEh)J3h*PBA4P+'0[ER0d)'CZ1R0dFQPZCbNl#L#
+3#Q4PFh4bG@0dEh)J4'9cG(*[H6Y[GQ9bFQPNC6X+)*!)Hb"'D@aP)'*eCQCPFL"
+dD'PZCh-JI3SJN!TQG@jMG'P[EL!JEh"PEQPZF(9dCQPXC6TLEfpXC@&Z1`SJN!T
+`FQpMC@4eFQ8JBfa[Ff9TER"eG'CTE'8l#L#3#QCeEQ0dD@pZ)#"dC@e`Eh"PEQP
+ZF(9dCQPXC6TLEfpXC@&Z1`SJN!T`FQpMC@4eFQ8JG'9YF'0XEh0PD@j`GA4QD@a
+P1`SJN!T`FQpMC@4eFQ8JFf&fC@PZF(9dCQPXC6X+)*!+F(*[Bf9NGA*P)(*PFh4
+[FQ9TER"eG'CTE'8l#L#3#R"bEf0PC(9bC5"QDA*cG'CTE'8l#L#3#R"bEf0PC(9
+bC5"ZCAKdCQPXC6X+)*!+F(*[Bf9NGA*P)'&NC'CTE'8SD(!kG'PZF(9dCQPXC5N
+l#L#3#R"bEf0PC(9bC5"bC@a[B@3l#L#3#R"bEf0PC(9bC5"TER0PFR4YB@0bEbK
+MEfjcG#"YB@0ZB@eP1R0dFQPZCcY`1R"MD'&b1faPELaXD@jP,'CTE'9TEQ4PH$T
+XEfjRD@jd+6X+)*!)Hb"6Bf&ZEQ9b)(4SD@jRFb"p#L#3#R"bEf0PC(9bC5"NC@C
+IE@&MFQmSBfpZFh3JFb!k)(0dFQPZCbNl#L#3#R"bEf0PC(9bC5"cCA4IE@&MFQm
+SBfpZFh3JFb!k)(0dFQPZCcYfB@aeC5!k)(0dFQPZCbNl#L#3#R"bEf0PC(9bC5"
+RCA4dEfYPER"[FcX+)*!+F(*[Bf9NGA*P)'PZBepMEfeYC@jdAfaPGQ9X1`SJN!T
+`FQpMC@4eFQ8JC'9MAf0[E@ePER4IE'9fC@`l#L#3#R"bEf0PC(9bC5"TE'aPCf&
+XAf0SBA)SBcTMD'&b+6X+)*!+F(*[Bf9NGA*P)'9ZC&p[CPpQD@aP1`SJN!T`FQp
+MC@4eFQ8JBfKPBfY`FQ9`FQpMFh4KBfXl#L#3#R"bEf0PC(9bC5"`Eh"`FQ9`FQp
+MFh4KBfXl#L#3#R"bEf0PC(9bC5"KC'4`FQ9`FQpMFh4KBfXSBA4jF#!k)("bCA"
+bEf0dHA!lB6TLEfpXC@&Z1f0[ER0d)(-kFh4bD@jR1hFkE'pZCfPZG#Nl#L#3#R"
+bEf0PC(9bC5"PE(0PF(*PF(*[Bh0dB@0V1`SJN!T`FQpMC@4eFQ8JC@acC@PQF(*
+PF(*[Bh0dB@0V+'&MBf9`G$TLEfpXC@&Z+6X+)*!+F(*[Bf9NGA*P)'KKEQ4XC@0
+[EQ4TG'P[EQ&X+(!kG'4TFQ9MG'PfC@PdC@dT1`SJN!T`FQpMC@4eFQ8JD'&ZC'a
+PC'PbC@0dDACPFcX+)*!+F(*[Bf9NGA*P)'aTEQ9LFQ9KDcX+)*!+F(*[Bf9NGA*
+P)(*PB@4MD'&b1`SJN!T`FQpMC@4eFQ8JFQ9KC(0dFQPZCcX+)*!+F(*[Bf9NGA*
+P)(*PB@4ZG@eLCA)l#L#3#QCeEQ0dD@pZ)#"bC@&ND@3kFh4bD@jR1`SJN!TQG@j
+MG'P[EL!JFQ9KC(CKE$TXEfjRD@jd1`SJN!TQG@jMG'P[EL!JFQ9KC(CKE&pKFh0
+dFQPZCcTcG(*TEQFl#L#3#QCeEQ0dD@pZ)#"bC@&NBfpYE@9ZG$TcG(*TEQFl#L#
+3#QCeEQ0dD@pZ)#"bC@&NFA9[G'9NFh4bD@jR1R0dFQPZCcX+)*!+CR9ZBh4TEfi
+J)(*PB@4cG'&dC6TMD'&b1`SJN!T`FQpMC@4eFQ8JFfYTF(0`B@0P1`SJN!T`FQp
+MC@4eFQ8JFfYTF(9ZG'PXC'PbC@0dDACP1`SJN!T`FQpMC@4eFQ8JFfYTF'0[E@e
+PER3l#L#3#R"bEf0PC(9bC5"cDfP`C'9XF'KTBfpYE@9ZG$X+)*!+F(*[Bf9NGA*
+P)(0VDA"[E'4dF'0[E@ePER3l#L#3#R"bEf0PC(9bC5"bC@&NG'pVC@il#L#3#QC
+eEQ0dD@pZ)#"bC@&NF(*PF(*[BcTdG'pVC@il#L#3#QCeEQ0dD@pZ)#"KFfeRCA4
+MD'&bFh4KFR3J1L"MD'&b1`SJN!TQG@jMG'P[EL!JBA0YCf9dBfKKFMTMD'&b1`S
+JN!GPEQ3l#JTl*'PQC'9Q)&"549"56d0A8NP84Ad+)*!(G("bCA"bEf0QD@aP2@0
+XBA0c#L#3#@BJ)#!k)(4PH(3l#L#3#@*eCL!k)("[D@jdCA)l#L#3#A0`B@0PCQp
+eEQ3X#L#3#@9[E'C[G@jN)$SJBQp[E'9KEMX+)*!*BfpZFh4bG@0dEh)JBh*PBA4
+P+'0[ER0d)'CZ1R0dFQPZCbNl#L#3#@4PFh4bG@0dEh)J)'4PFh4bEhNl#L#3#A"
+bEf0PC(9bC5""C'3SBfpZFh3JFcTcG(*TEQFT1`SJN!P`FQpMC@4eFQ8J3@4N8h"
+KBf8l#L#3"f9ZC$X+Hb4PEQ4TCL"38N938Np$9e**9%9p#JSJN!4fBA)+)*!)Hb"
+bC@&N)(0dFQPZCh-JI3SJN!KM)*!11L"MD'&b1`SJN!K[FQG`BA4dCA*Z,!SJN!K
+`BA4dCA*Z)*!)1L"cG(*TEQFl#L#3#("KG(4PFQjh)*!(1L"`BfpYF'PXCA*hD@4
+PFh4bD@jR1`S+)*!)Hb"dEfYPEL"p#L#3#(4[Df9Z,##3'(XJBh9bFQ9ZG#"dEfY
+PEL"LC@PZCb"`BA*cC@3JI3SJN!KTC(4[Df9Z)*!%1L"dG'pVC@il)*!+Hb"SEfa
+NFb"dD'8JG'pVC@iJD@BJG'KP)("KG(4PFQiJDA-JB5"VEQphEL"hEh*N)(d+#L#
+3#'0eFR*PER4IFf0KEQjPFL!k)(4cBf&ZEQ9bCQPXC6XJ)(XJBh9bFQ9ZG#"cBf&
+ZEQ9b)'PZ)(9cC5"p#JSJN!KKDh4MEfeYC@jdFh4jE'8J1L"dBfpYE@9ZG(0dH@a
+P1b"l)'jPC@4PC#"dEb"eFf8JFQ9KC&pMEfeYC@jd)'CbEfdJC'PbC@0dDACPFb"
+p#RXND@CNC@BJ8&*&8&*23eG5594&I3SJN!K`FQ9`FQpMCQPXC5#3"6SJG("bCA"
+bEf0QD@aP1b!JHb"eFf9N)(GTG'JJEfjXH5"`FQ9`FQpMCA0cD@jR)(d+Hb4PEQ4
+TCL"38N938Np$9e**9%9p#JSJN!4dHA"P#L#3#(4NDA*PBh4TGQ9YEf4P)$dJ+'4
+TFQ9MG'PfC9pKE'`X)'4TFQ9MG'PfC9pdGA*LEb`JC'PbC@0dDACPAfeKBbNl#JS
+JN!4`FQpMC@4eFQ8J3@4N4'PbC@0dDACP+'0[ER0d)(-kFh4bD@jR1b"NE6SJG'4
+TFQ9MG'PfC@e[C'8l)(!kG'4TFQ9MG'PfCA"bEf-T1`SJN!4`FQpMC@4eFQ8J3@4
+N3fpZC'PdD@pZB@`SBfpZFh3JFcTcG(*TEQFl)'4Y1L"dC'PbC@0dDACPE@pNC6X
+JF$TdC'PbC@0dDACPF(*[BbNl#JSJN!4`FQpMC@4eFQ8J5@jTG&0MB@jZCA)l#L#
+3"("bEf0PC(9bC5"%EfjP8f0KEQjPFMX+#JTTEA"XC@ePER4KG'P[EJS+)*!%GA0
+PF`Tl*'PQC'9Q)'4PE("SDAd+)*!'C'eTFf-X#RXNC@acCAd+)*!'C'pc,!Tl*'9
+ZC'PQ)'4PE("SDAd+)*!'Bh9dD@ac,!SJN!CcHA0dC@ec,!SJN!CcGfPdBfKPFb`
++)*!'FhPYBQ&cC5acH@edB@*XC5acH@edHA"P,(0jEA0jE5acH@eMEfjcG#`+)*!
+'CQe[C(9XC6X+#L#3"(CKFJSJN!Cl)'4TBh4TEfjKFQPPFb"hDA4S)(4SC5"cGA"
+`Eh*dC@3JC'PbC@0dDACPFb"p#L#3"R4eFQ*[Ah0MB@jZCA*NDA*PBh4TGQ9c)$S
+JG'4TBh4TEfjKFRNl)*!&Hb"QEh)JEh4SCA)JE@pNCA-JI3SJN!CYB@0IFf0KEQj
+PFQ4TFQ9MG'PfCA-J1L"dC'PMG'P[EQ&bH6XJN!Gl)'C[FL"YEf4P)'eKBb"p#JS
++HbU363SJN"j)C@a`CA)JFQpeG'PZCA-++T"0I3S+)*!%BfpZFh3+)*!'Hb"eFf8
+JB@jj)(0`C@0TB@`JEQ&YC5"dD'&d)'Pc)'&Z)'PZGQ&XD@3JCQPXC5"ZB@eP)(4
+[)'&fEfPN)("bEf*XC@ec)(d+)*!'F(*PF(*[Bh0dFQPZCb!k)'&bFQ&j)&Y`FQ9
+`FQpMG(P`A5"[CL"cG(*TEQGE0ed+)*!)25!S*b4*4N4&4LFX*b4*4Nj%48BR,#F
+N58BR,#FN58C28&3R,#FN48a645FX*b4&6&0&58BR+6X+#JSJN!4QG@jMG'P[EL"
+TFepVCAPhEh*N+'0[ER0d)(-kFh4bD@jR+6TLEfpXC@&Z1`SJN!CfBA)+)*!)E'p
+h,'KTCfJXE@PN)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)D@BJEQpd)#KXC@jRG'J
+SFbNJD@iJ@h4[Df9ZE'9ZE@PZ,LjdEfYPEQaPEQeKH&dT)(4SC@i+)*!*BQ9RD@i
++)*!,DA0IDf9jGfpbC$SpCQ&XFf8l#L#3#f9iDA3l#L#3#@9ZC$X+)*!)E'ph1Me
+[FQ3SG'pVC@jTC(KH@faPEQGdD#Kc+5ac@c&GA5jQDA*cG#Nl#L#3#'KTCfJk2@p
+bC#KdEfYPEQPNH&jEE'9ZCh4S+(-T,(0E-9eG,QaKFh3T1`SJN!KhD'PXC5"XEhF
+mD'PRD#"NE`SJN!PLC@GTEJSJN!YYD@3k25KSD@GS+fa[GbXa+5"cD()J-6X+)*!
+,D@BJF'&dG'9bEMadEfYPEQPZCQpH@h4dEfYPELKYD@3TA5jcG()JG'KPEJSJN!a
+SD@GS1MeYD@3Y-3SJN!YPE(0P#L#3$'a[GcSpE@PN1`SJN!PPEQ3l#L#3#'PcAfY
+PHAG[FQ3k25K`BA4dCA*Z2A4[Df9ZD@jQEejEG(4[Df9Z+'KTCfJTA5jcG()T)'&
+ZC!SJN"3SG'pVC@jTEQC[APYdG'pVC@iSD'PRD#PG,QYPHAG[FQ3JD@iJB@YdE@p
+NCA0hDA4MD'9c+6X+)*!'C@jN1`S+#RXUN%d+)*!E3fpZC'PdD@pZB@`J4'PbC@0
+dDACPF`SUN%ep#JSJN!4`FQpMC@4eFQ8JC'PbAf9XFf8l#L#3"Q*PCfPZ#L#3#'0
+eFR*PER4IFf0KEQjPFLjPE(0PF(*PF(*[Bh0dB@0V1`SJN!CPEQ3l#JS+)*!%F(*
+[Bf9NGA*P)'4TFPpPEQ4TCMX+)*!'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,R"
+[F("bCA"bEf0cG'&MDcX+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"NDA*ID@CNC@B
+l#L#3"RCKFJSJN!KSFb#3"$SJFh4bD@jR1`SJN!KYB@-J)#!k)(4YB@0bEcX+)*!
+'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!)D(-k2@0eFR*
+PER4IFf0KEQjPFLjbC@&ND@3l#L#3#'PQ)'Kc25FR)(4SC@i+)*!+6@9cFf&RC5K
+cBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!)E@&M1MedE@&MFQmSBh9
+bFQ9ZG&pcBf&ZEQ9b,QeKBh*[FbjcC@&bBfJSD(-T+6X+)*!)D@BJBA0cD@GZC@3
+SE@&M+5"dD'9Z#L#3#QeKBbjTFepeFf9N1MedFR9P1`SJN!KMGA*bC@jdAh0MB@j
+ZCA)ZB@4NF(*PF(*[Bh0dB@0V+("`AfPQC'9Q,'&cFfPREQ9N+'eKBbNJB@jN)'e
+KBbjNC@CTEQ9N,'Kc,(0MB@jIBepTCQ4PCPpQEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4
+`FQpMC@4eFQ8JC'PbAfPQEQ4PCMX+)*!'GQ&b#L#3#'Kc)*!%1L"cG(*TEQFl#L#
+3#'eKBb!J)$SJG'eKBh*[1`SJN!CLC@GTEJSJN!KMGA*bC@jdAh0MB@jZCA)ZFfY
+TF(0`B@0P1`SJN!KSFcSpBh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4TC$X+)*!)D@BJD(-
+p*bFJG'KPEJSJN!T0CA0cB@GP+(0MB@jIC9pPFR*[FPpTEPp`FQ9`FQpMAf9iF()
+T1`SJN!KYB@-k2A4YB@0bEbKMGA*bC@jdAh0MB@jZCA)ZE@&MFQpc,R0PBA*MD#K
+SFbNT1`SJN!KTCL"KFh0TCfjPC#KYB@-T)(4SC@i+)*!+E@&M,QPcAh9cC@3k2A4
+bG@8l#L#3#'0eFR*PER4IFf0KEQjPFLjKC'4`FQ9`FQpMFh4KBfXSF("ID@CZC'9
+Q,'j[G#KKFh0TCfjPC#KYB@-T)'&ZC#"YB@-ZC'9QD@jPC#NXD(-XFf0KEPpMAfP
+QEQ4PCPpQEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JC'PbAfPQEh"d1`S
+JN!CfBA)+)*!)D(-JN!3k)(0dFQPZCcX+)*!)CQpeEQ3J1L"LEfpXC@&Z1`SJN!K
+cG'&dC5!k)'0SBA)l#L#3"Q*PCfPZ#L#3#'0eFR*PER4IFf0KEQjPFLjcDfP`Fh"
+KBf8l#L#3#'Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!KTCL!SE'9ZCh4
+S+'Kc+6ia+5"dD'9Z#L#3#8ePFh0KCf8a+(0MB@jIGepTE'aPCf&XAh0hDA4MD#a
+SFbN+)*!)C@acC3SJN!PLC@GTEJSJN!YcG'&dC6SpBh9bFQ9ZG&pcBf&ZEQ9b,P*
+PB@46G'&dC6X+)*!,D@BJFh4KG'8JD@iJ@bFY*b`R+bGG)(4SC@i+)*!-CQpeEQ3
+k280SC@0V8hGTG'0S+'Kc@c&G,(0dBA4P+6X+)*!*C@jN1`SJN!KMGA*bC@jdAh0
+MB@jZCA)ZB@4NF(*PF(*[Bh0dB@0V+("`AfPQEh"d,'C[G@jN,'Kc,(0MB@jIBep
+TCQp`G&pQEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4QG@jMG'P[EL"`BA*cC9pMEfe`D@a
+PFPpPH("b1R0dFQPZCcX+#L#3#'CeEQ0dD@pZ)(*PB@4ICAK`FL!k)(0dFQPZCcX
+JCQpbGf&bC$X+#L#3#("bEf0PC(9bC5"`FQ9`FQpMAf0[ER0eE@8SG#!k)(4dEfY
+PELNl#L#3#'*PCfPZ#L#3#QPQ)(3m2Q0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4
+[Df9Z)(4SC@i+)*!,6@9cFf&RC5KcBf&ZAf9IF(*PF(*[BepcH@jdBAKICA*bEh)
+T1`SJN!TMGA*bC@jdAh0MB@jZCA)ZF(*PF(*[BepdEfYPEMSpBh9bFQ9ZG&pcBf&
+ZEQ9b,R*PB@4`FQ9`FQpM1`SJN!KPEQ3l#JSJN!KQG@jMG'P[EL"`FQ9`FQpMAh0
+eBR0dDA4eG'9NG'pVC@ik)(0dFQPZCcX+)*!)GQ&b#L#3#QKc1L"cG(*TEQFl#L#
+3#QeKBb!k)(4YB@0bEcX+)*!+E@&MFQpMEh9ZG#`+)*!+E'9Z)$SJD@jdC@GPFMX
++)*!)BQ9RD@i+)*!+FQ9cG@ad)$Sp)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh"
+KG(4PFQil#L#3#RXJB@aXEhFJE@&MFQmJFh9`F'pbG#"TEL"YB@0bEbGc)(d+)*!
++E@&MFQpMEh9ZG$Sp-$X+)*!+FQ9`C@&d#L#3$'eKBcSpG'eKBh*[+'0eFR*PER4
+IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+(*PFh9XG#NT1`SJN!aTCL"ZEh3JBA0cD@G
+ZC@3SE@&M+5"dD'9Z#L#3$Q*bC@&V1`S+)*!-D@jM+'eKBh*[BfpeER3T1`SJN!a
+TCL"YB@0bEf0[G@jd2QeKH&pYB@0bEepZCA0dD@jR)(4SC@i+)*!1BQ9RD@i+)*!
+36@9cFf&RC5KcBf&ZAhGIE@&MFQpIC'9PF&pdC@iT1`SJN""LFQ9KDcX+)*!1C@j
+N1`S+)*!-D@BJE@&M,Q4PCQPZC@3JB@jN)'&cFfPREQ9N+'eKBbjLG@CdCAKd+5"
+dD'9Z#L#3$Q*PCfPZ#L#3%'PQ)'eKBbjLG@CXC@iq-M8e)(4SC@i+)*!5BQ9RD@i
++)*!8E'9Z1Mdb068l#L#3&%ePFh0KCf8SFf0KEPphAfeKBh*[Af0eG&pKCR4PFPm
+b069IBfKKFR-T1`SJN"*PEQ3+)*!3C@acC3SJN"*XC@ik2@eKBbjLG@CXC@il#L#
+3%'Kc@c"G1MeMD'&b+'aPELNl#L#3%'e[GQ8SE@&M,Q*eCR4PH(4H,'Kc@c&G,'a
+PELNl#L#3%(*PFh9XG$SpGA"MBA0P+'Kc+6X+)*!1C@jN1`SJN!TeER4TE#"QB@a
+cC6X+)*!)C@jN1`S+)*!)CR9ZBh4TEfiJFQ9KC&pQB@0dEh)J1L"cG(*TEQFl#L#
+3#(CKFJSJN!YSFb!k)(0dFQPZCcX+)*!,E@&M1L"dE@&MFQml#L#3#h0bFhPY)$S
+JG(0jE6X+)*!,Fh*cH@edB@*XC5!k)(4cH@edB@*XC6X+)*!,E#!k)'a[EQGTER3
+l#L#3#hFJ1L"TER4PCf9b1`S+)*!)BQ9RD@i+)*!,D@BJBh9bFQ9ZG&pcBf&ZEQ9
+b,R"bCA"bEf0IG'pVC@ipAdP%)(4SC@i+)*!0BQ9RD@i+)*!3D@BJF(*PF(*[Bep
+cG@*cG'PdGA4PC(4[Df9Z25G%48C*6N9%*b"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"
+bEf0IBfpZFh9YC5KI583T1`SJN"4MGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`S
+JN"4TCL"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[BepdEfYPEL!pAda,6%&06895)(4
+SC@i+)*!@BQ9RD@i+)*!BF(*PF(*[BepMEfjcG@eP+&p-5da"68e&8LNl#L#3''0
+eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&Q9ZC!SJN"4PE(0P#L#3&NePFh0
+KCf8SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0ICAK`FLNl#L#3&'PQ)'0eFR*PER4
+IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI583JG'KPEJSJN"CLC@GTEJSJN"KSFb!
+k25"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1`SJN"KYB@-J1MdJG'e
+KBh*[+'0eFR*PER4IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+'Kc+5Nl#L#3''PQ)'&
+cFfPREQ9N+'eKBbNJG'KPEJSJN"TSFb!k25!R-5F+)*!BC@acC3SJN"TSFb!k25!
+R-#Fl#L#3'(*PB@4ICQ&MG'pb)$Sp)'Kc1`SJN"K`FQ9`FQpMAf0[ER0eE@8SAdP
+%+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!@C@jN#L#3&'9XFf8
++)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!8D@B
+JBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@iJ29p55da"68e&8L"dD'9Z#L#
+3&R"bCA"bEf0IBfpZFh9YC5KI8NY-38e049)T#L#3&'9XFf8+)*!@6@9cFf&RC5K
+cBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!5C@jN#L#3%'9XFf8+)*!
+3D@BJ+'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJB@jN)#K`FQ9`FQpMAh0eBR0
+dDA4eG'9NG'pVC@ip*e914%9'58j&4#FT)(4SC@i+)*!5BQ9RD@i+)*!8F(*PF(*
+[BepMEfjcG@eP+&p*4#Nl#L#3&'0eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#
+3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI583JG'KPEJSJN"C
+LC@GTEJSJN"KSFb!k25"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1`S
+JN"KYB@-J1MdJG'eKBh*[+'0eFR*PER4IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+'K
+c+5Nl#L#3''PQ)'&cFfPREQ9N+'eKBbNJG'KPEJSJN"TSFb!k25!R-#F+)*!BC@a
+cC3SJN"TSFb!k25!R-5Fl#L#3'(*PB@4ICQ&MG'pb)$Sp)'Kc1`SJN"K`FQ9`FQp
+MAf0[ER0eE@8SAdP%+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!
+@C@jN#L#3&'9XFf8+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[Bep
+PH("b+6X+)*!5C@jN#L#3%'9XFf8+)*!3D@BJ+'eIE@&M)'PZ)'&VG'e[C'9cGfP
+dBfKPFbNJB@jN)#K`FQ9`FQpMAh0eBR0dDA4eG'9NG'pVC@ip*dp39%P26LFT)(4
+SC@i+)*!5BQ9RD@i+)*!8F(*PF(*[BepMEfjcG@eP+&p*4#Nl#L#3&'0eFR*PER4
+IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQp
+MAh4[Df9Z)$eI6%Y-38e049)JG'KPEJSJN"CLC@GTEJSJN"K`FQ9`FQpMAf0[ER0
+eE@8SAda,6%&06895+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!
+@C@jN#L#3&'9XFf8+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[Bep
+PH("b+6X+#L#3&'PQ)'j[G#!SBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@i
+J25"I583T)(4SC@i+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[Bep
+PH("b+6X+#L#3&'Kc1MeMGA*bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1`S
+JN"4TCL!SE'9ZCh4S+'Kc+5!q)$%T)(4SC@i+)*!@He424%mJ4@jKBQaP)(4SDA-
+X)'Pd)'Pc)'&XE'phC@3JD@iJ6@9dFQphCA*VFb"3BA0MB@ap#L#3&NePFh0KCf8
+SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0ICAK`FLN+)*!8C@acC3SJN"CLC@GTEJS
+JN"KTCL"$D'9MDe0hDA4MD#KSFeXaA5`R+bFT)(4SC@i+)*!DFQ9KC&pQB@0dEh)
+J1MdJ*c%R#L#3''9XFf8+)*!DFQ9KC&pQB@0dEh)J1MdJ*c!R1`SJN"CPEQ3l#JS
+JN"4`FQ9`FQpMAf0[ER0eE@8SAdP%+6X+)*!8Bh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"
+cF'&MC6X+)*!8D@BJBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@iJ29p55da
+"68e&8L"dD'9Z#L#3&R"bCA"bEf0IBfpZFh9YC5KI8NY-38e049)T#L#3&'9XFf8
++)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!5C@j
+N#L#3%'9XFf8+)*!3D@BJF(*PF(*[BepcG@*cG'PdGA4PC(4[Df9Z25G659T&6dB
+R)(4SC@i+)*!5BQ9RD@i+)*!8F(*PF(*[BepMEfjcG@eP+&p*4#Nl#L#3&'0eFR*
+PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9
+`FQpMAh4[Df9Z)$eI6%Y-38e049)JG'KPEJSJN"CLC@GTEJSJN"K`FQ9`FQpMAf0
+[ER0eE@8SAda,6%&06895+6X+)*!BBh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X
++)*!@C@jN#L#3&'9XFf8+)*!@6@9cFf&RC5KcBf&ZAf9ICA*bEh*ID@jIF(*PF(*
+[BepPH("b+6X+)*!8D@BJFf9KFQ0SFhPY+'0eFR*PER4IFf0KEQjPFLj`FQ9`FQp
+MAh"KG(4PFQiXFh*cH@dXFh*cH@edB@*XC5NJG'KPEJSJN"CLC@GTEJSJN"KX1Md
+`1`SJN"KMBA0P)(0bFhPY,R4jF#"[CJSJN"TfBA*cH@dJ1JSJN"aX1MedGQ&bFhP
+Y+(0bFhPY+5jRCA4cDATP1`SJN"TdHA"PC'0[ER0dFhPY)$S+)*!FE$SpG(4jF'9
+NBfpZFh4cH@dSFh*cH@dT,QGPG(0THQ8l#L#3'Q9XFf8+)*!F6@9cFf&RC5KcBf&
+ZAf9ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!BC@jN1`SJN"KcG()SE#abC@&
+NAfCKBh4[FLNl#L#3'("bCA"bEf0IBfpZFh9YC5KI583T1`SJN"KMGA*bC@jdAh0
+MB@jZCA)ZFfYTF(0`B@0P1`SJN"CPEQ3+)*!8C@acC3SJN"C0CA0cB@GP-5KcH@e
+IC9pTC&pZEh4ICQpeEQ3XBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IF'&dG'9bELN
+l#JSJN"4TCL"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*[BepdEfYPEL!pAe*,6%&0689
+5)(4SC@i+)*!@F(*PF(*[BepMEfjcG@eP+&p55da"68e&8LN+)*!8C@acC3SJN"C
+0CA0cB@GP+(0MB@jIC9pPFR*[FPpTEPp`FQ9`FQpMAf9iF()T1`SJN"*PEQ3+)*!
+3C@acC3SJN""TCL"`FQ9`FQpMAh0eBR0dDA4eG'9NG'pVC@ip*d4&3da"8N9%*b"
+dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"bEf0IBfpZFh9YC5KI583T1`SJN"4MGA*bC@j
+dAh0MB@jZCA)ZFfYTF(0`B@0P1`SJN"4TCL"MGA*bC@jdAh0MB@jZCA)ZF(*PF(*
+[BepdEfYPEL!pAda,6%&06895)(4SC@i+)*!@BQ9RD@i+)*!BF(*PF(*[BepMEfj
+cG@eP+&p-5da"68e&8LNl#L#3''0eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#
+3&Q9ZC!SJN"4PE(0P#L#3&NePFh0KCf8SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0
+ICAK`FLNl#L#3&'PQ)'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI583
+JG'KPEJSJN"CLC@GTEJSJN"KSFb!k25"eF("PFLKMGA*bC@jdAh0MB@jZCA)ZF(*
+PF(*[Bep`BA4dCA*Z+6X+)*!BD@BJFf9KFQ0SFhPY+'Kc,(0bFhPY,(0bFhPYG'&
+LE'8T)(4SC@i+)*!DD(-J1MdJ*c%R#L#3''9XFf8+)*!DD(-J1MdJ*c!R1`SJN"K
+bC@&NAfCKBh4[FL!k25"SFcX+)*!BF(*PF(*[BepMEfjcG@eP+&p*4#Nl#L#3''0
+eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8l#L#3&Q9ZC!SJN"4PE(0P#L#3&NePFh0
+KCf8SFf0KEPpPAf9bFQpbAfPZAh"bCA"bEf0ICAK`FLNl#L#3&'PQ)'0eFR*PER4
+IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z)$eI8NY-38e049)JG'KPEJSJN"C`FQ9`FQp
+MAf0[ER0eE@8SAe*,6%&06895+3SJN"4PE(0P#L#3&NePFh0KCf8SFf0KEPpPAf9
+bFQpbAfPZAh"bCA"bEf0ICAK`FLNl#L#3%Q9ZC!SJN""PE(0P#L#3%'PQ)("bCA"
+bEf0IFh9LFh4TG(9dC@4dEfYPEMdR6Np8*b"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"
+bEf0IBfpZFh9YC5KI583T1`SJN"4SFcSpFQ9KC&pQB@0dEh)S+6X+)*!8GQ&XD@j
+d+'Kc,'`XGbNl#L#3&'PQ)'`m2M!JG'KPEJSJN"CbC@&NAfCKBh4[FMSp*c!R#L#
+3&'9XFf8+)*!@FQ9KC&pQB@0dEh)k25Fa*cX+)*!5C@jN#L#3%'9XFf8+)*!3D@B
+J+'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJB@jN)#K`FQ9`FQpMAh0eBR0dDA4
+eG'9NG'pVC@ip*e45988R+5"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"bEf0IBfpZFh9
+YC5KI583T1`SJN"4bC@&NAfCKBh4[FMSp*c%R1`SJN"*PEQ3+)*!3C@acC3SJN""
+TCL!SE9pYB@-JD@iJB@YdE@pNCA0hDA4MD'9c+5"KEQ3J+("bCA"bEf0IFh9LFh4
+TG(9dC@4dEfYPEMdR4N&-8d8R+5"dD'9Z#L#3%Q*PCfPZ#L#3&("bCA"bEf0IBfp
+ZFh9YC5KI583T1`SJN"4bC@&NAfCKBh4[FMSp*c!R1`SJN"*PEQ3+)*!3C@acC3S
+JN"*LC@GTEJSJN"4SFcSpF(*PF(*[BepcG@*cG'PdGA4PC(4[Df9Z1`SJN"4`FQ9
+`FQpMAf0[ER0eE@8SAdP%+6X+)*!8FQ9KC&pQB@0dEh)k2@Kc1`SJN"*PEQ3+)*!
+0C@jN#L#3#f9XFf8JD@BJBh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IG'pVC@iJ29p
+-5da"68e&8L"dD'9Z#L#3$@*PCfPZ#L#3%("bCA"bEf0IBfpZFh9YC5KI6%Y-38e
+049)T1`SJN""bC@&NAfCKBh4[FMSpFQ9KC&pPH("b1`SJN""`FQ9`FQpMAf0[ER0
+eE@8SAe*,6%&06895+6X+)*!0C@jN#L#3#f9XFf8+)*!06@9cFf&RC5KcBf&ZAf9
+ICA*bEh*ID@jIF(*PF(*[BepPH("b+6X+)*!)C@jN1`S+)*!)CR9ZBh4TEfiJFQ9
+KC&pdCA*Y)$SJFh4bD@jR1`SJN!KfBA)+)*!,D(-a,'Kc-L!k)(0dFQPZCcX+)*!
+,E$%XE$)J1L"XEfjRD@jd1`SJN!Yh)$SJD@jdC@GPFMX+)*!)BQ9RD@i+)*!+D(-
+a1MebC@&NAfCKBh4[FMX+)*!+FQ9`C@&d#L#3$'PQ)#KMGA*bC@jdAh0MB@jZCA)
+ZF(*PF(*[BepdEfYPEM`qAdP%+5"dD'9Z#L#3$Q*bC@&V1`SJN!aTCL"`FQ9`FQp
+MAh0eBR0dDA4eG'9NG'pVC@im2LG"6N3R)(4SC@i+)*!1BR*PB@Xl#L#3$("bCA"
+bEf0IBfpZFh9YC5KI583T1`SJN!aSFc)k2A*PB@4ICQ&MG'pb1`SJN!afB@aTER3
+SD(-a,'`a,(FT1`SJN!afB@aTER3SD(-b,'`b,(FT1`SJN!aTCL!SE$%m2M!T)'&
+ZC#!SE$)m2M!T)(4SC@i+)*!1D(-a1MdR-5F+)*!-C@acC3SJN!jSFc%k25F`*cX
++)*!,G@jdD@`JCQ&XFf8l#L#3#h*PB@4IG'9bE6SpD(-a1`SJN!KPEQ3l#JS+)*!
+)CR9ZBh4TEfiJFQ9KC&pcD@e`E'9ICAK`FL!k)(0dFQPZCcX+)*!)GQ&b#L#3#fK
+c-5aSFc)J1L"cG(*TEQFl#L#3#f`a,'`b)$SJE'pZCfPZG$X+)*!,Gb!k)'PZG'9
+RCA)l#L#3#'*PCfPZ#L#3#QKc-6SpFQ9KC&pdCA*Y1`SJN!TbCA"PBA3+)*!-D@B
+J+'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z2$jI583T)(4SC@i+)*!1BR*
+PB@Xl#L#3$'PQ)("bCA"bEf0IFh9LFh4TG(9dC@4dEfYPEM`q*dp5*b"dD'9Z#L#
+3$Q*bC@&V1`SJN!a`FQ9`FQpMAf0[ER0eE@8SAdP%+6X+)*!-D(-b1MebC@&NAh4
+PFQdl#L#3$(CKE'PZG#KSFc%XE$%XGbNl#L#3$(CKE'PZG#KSFc)XE$)XGbNl#L#
+3$'PQ)#KX-6`q-#NJEh)J+'`b2$i`+5"dD'9Z#L#3$QKc-6Sp*c%R#L#3$'9XFf8
++)*!1D(-a1MdR-#Fl#L#3#R9ZG'PX)'CKE(0P1`SJN!TbC@&NAh0TEA"XC9pPH("
+b1MeSFc%l#L#3#'9ZC$X+#L#3#'CeEQ0dD@pZ)(*PB@4ICAK`FL!k)(0dFQPZCcX
++)*!)GQ&b#L#3#fKc-5aSFc)J1L"cG(*TEQFl#L#3#f)J1L"LEfpXC@&Z1`SJN!Y
+d)$SJG(4[Df9Z1`SJN!Yh)$SJD@jdC@GPFMX+)*!,E$%XE$)J1L"XEfjRD@jd1`S
+JN!KLC@GTEJSJN!YSFc%k2A*PB@4IFfPYF'aPAf9iF()l#L#3#h3k2@0eFR*PER4
+IFf0KEQjPFLj`FQ9`FQpMAh4[Df9Z1`SJN!YTCL"ZEh3SG#"TEL"EAd9498&-,&p
+96N9498&-,&p-9#aI4e3XAda845aI4e4&A5NJG'KPEJSJN!eLC@GTEJSJN""bC@&
+NAf9iF()k2@Kc-6X+)*!3CAKTG$X+)*!0C@jN1`SJN!Y`FQ9`FQpMAf0[ER0eE@8
+SG#Nl#L#3#fKc-MSpFQ9KC&pcD@e`E'9ICAK`FMX+)*!,D@BJDA0IER9YBQ9b+'K
+c-5NJB@jN)'PcAfjeE@*PFLKSFc)T)(4SC@i+)*!0BQ9RD@i+)*!3GQ&XD@jd+'K
+c-5aX-5ah+6X+)*!3GQ&XD@jd+'Kc-LaX-Lah+6X+)*!3Bf&cC5"d)'pQ#L#3%ep
+&899"6#!k)')k2@`a2@`b1`SJN"&I98j&899"6#!k)')k2@`a2$jX-MX+)*!@Ada
+8)$SJBMSpE$%mE$)l#L#3&Pp(9#!k)')k2@`a2Q`b1`SJN"9I4e4&)$SJBMSpE$%
+q2@`b1`SJN"9I6&4&)$SJBMSpE$%m2@`b1`SJN""PEQ3l#L#3$@9ZC!SJN!YPE(0
+P#L#3$@*PCfPZ#L#3%'0KFf8JG#"[CJSJN"0I49&938`J1L"L1MeSFc%pD(-b1`S
+JN"&I98j&899"6#!k)')k2@Kc-6`qD(-b1`SJN"CI6&3J1L"L1MeSFc%mD(-b1`S
+JN"CI4e3J1L"L1MeSFc%qD(-b1`SJN"9I4e4&)$SJBMSpD(-a2MeSFc)l#L#3&9p
+-9%8J1L"L1MeSFc%m2@Kc-MX+)*!3C@jN1`SJN!ePEQ3l#L#3#fPQ)')JG'KPEJS
+JN!ebC@&NAf9iF()k25Fa*`SJN!YPE(0P#L#3$A*PB@4ICAK`FMSp*c!R1`SJN!K
+PEQ3l#JSJN!9LC@GTEJSJN!KMGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`SJN!K
+l)(0dBA*d)("bCA"bEf-JCAK`FQ9cFfP[EL"cBf&ZEQ9b)(d+)*!)Bh9bFQ9ZG&p
+cBf&ZEQ9b,R"bCA"bEf0IG'pVC@ik2@0eFR*PER4IFf0KEQjPFLjbC@&NF(*PF(*
+[BcX+)*!)F'&bFf9IBfpYF'PXCA*ICAK`FMSpFQ9KC&pPH("b1`SJN!CPEQ3l#JS
++)*!%F(*[Bf9NGA*P)'4TFPpTCMX+)*!'GQ&b#L#3#'Kc)$SJFh4bD@jR1`SJN!C
+LC@GTEJSJN!KSFcSpF'&bFf9IBfpYF'PXCA*ICAK`FMX+)*!)Bh9bFQ9ZG&pcBf&
+ZEQ9b,Q&NC("bCA"bEf0cG'&MDbK`F&pTCLaSFc`q*c!R,'Kc,(0MB@jIBepTCPp
+QEh9ZC#Nl#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JC'PbAf9XFf9TCMX+)*!'GQ&
+b#L#3#'Kc)$SJFh4bD@jR1`SJN!CLC@GTEJSJN!KSFcSpF'&bFf9IBfpYF'PXCA*
+ICAK`FMX+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,Q9XFf9TCR"bCA"bEf0cG'&MDbKSFc`
+q*c!R+6X+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"NDA*IC'9QD@jP1`SJN!CfBA)
++)*!)D(-J)$SJFh4bD@jR1`SJN!KLFQ&MDf9dBfpeER3J1L"XEfjRD@jd1`SJN!K
+YB@-J1L"dE@&MFQml#L#3#'eKBh*[F'pc)$SJE'pZCfPZG$X+)*!)E@&MFQpLG@C
+QCA)J1L"`E@&MFQpLG@CQCA)l#L#3"Q*PCfPZ#L#3#'0eFR*PER4IFf0KEQjPFLj
+cDfP`Fh"KBf8l#L#3#'Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!KYB@-
+k2A4YB@0bEbKMGA*bC@jdAh0MB@jZCA)ZE@&MFQpc,R0PBA*MD#KSFbNT1`SJN!K
+TCL"ZEh3JBA0cD@GZC@3SE@&M+5"dD'9Z#L#3#Q*PCfPZ#L#3$'eKBcSpG'eKBh*
+[,Q0bC@&dC5KSFbNl#L#3$'eKBbjNC@CTEQ9N1MedFR9P1`SJN!a0CA0cB@GP-5K
+`BA*cCA*IBepYB@0bEepNC@CTEQ9N,'eKBbjZB@eP+6X+)*!-Bh9bFQ9ZG&pcBf&
+ZEQ9b,QeKBh*[FbjTER0PFR3SE@&M+6X+)*!+C@jN#L#3#'9XFf8+)*!+BQ9RD@i
++)*!-6@9cFf&RC6%SF'&bFf9bAf0IE@&MFQpIC'9QD@jPC#aYB@-ZEQ&YC5Nl#L#
+3$'eKBbjNC@CTEQ9N1MedFR9P1`SJN!Tl)'4PE'9dC5"[E'3JC'9QD@jTG'P[EL"
+p#L#3$'PQ)'&cFfPREQ9N+'eKBbjLG@CdCAKd+5"dD'9Z#L#3$@*PCfPZ#L#3$fC
+bC@9YC@dSE@&M,Q*eCR4PH(3XE@&M,Q*eCQaPELNl#L#3$feKBbjLG@CdCAKd1Me
+ZD@`l#L#3$@9ZC$X+)*!+C@jN1`SJN!KYB@-ZDA0IGA0PC$SpG(*eC6X+)*!)D@B
+J+'0cAh0eF("[FR4IE@&MFQmJD@iJB@YdE@pNG@aPFhGTG'0SCA-T)(4SC@i+)*!
++BQ9RD@i+)*!+Hb"VCANJGfpbC(-JBA*P)'jPGQ9b)(0eBR0dDA4eG'9N)(d+)*!
+0D@BJDA0IDf9jGfpbC#KSFbNJG'KPEJSJN!j0CA0cB@GP+(0MB@jIC9pVCAPhEh*
+NAf0KER4IBQ9IB9pYB@0bEbNl#L#3#hXJ)C!')'KKEQ4XC5"YB@0bEb"`BA*KEA-
+X)'jPC@3JGf8JG'KTFcmJI3SJN!eMGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`S
+JN!Yl)'eKH5"LC5"K)'eKBh*[2b"p#L#3$@PQ)'-p*cSR)(4SC@i+)*!2BQ9RD@i
++)*!5Bh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4MD'&b1`SJN"*TCL"M25Fp*b"dD'9Z#L#
+3&'*PCfPZ#L#3&fjPGbKYB@0bEf*eCQCPFLNl#L#3&feKBh*[F'pc1Md`1`SJN"G
+l)("KFR0P)'eKBh*[,#"LFQ&MDf9dFb"KFQ8JBfpeER4PC#"cEb"TG#Gc)("[Fh0
+TBQaP#L#3'A4[)'KKGQ8JB5!ND@CNC@BJCA4M,L"TEL"dD'8JE@&MFQmJI3SJN"G
+LFQ&MDf9dBfpeER3k26!l#L#3&h*PF'9KG!SJN"PMGA*bC@jdAh0MB@jZCA)ZFQ9
+KC'0SBA)l#L#3'@0KFf8JBb"[CJSJN"XRI5FJ1JSJN"eTCL!SBR*KBfYPG'0[G@j
+d26!T)(4SC@i+)*!HBR*PB@X+)*!GC@acC3SJN"jNC@-SBR*KBfYPG'0[G@jd+6X
++)*!E*hXR)$S+)*!GD@jM+'*bB@0VCA4MEh9ZG#Nl#L#3'b-a-#`M-6-J1JSJN"e
+MGA*bC@jdAh0MB@jZCA)ZE'PZC@*bC@&V1`SJN"XM-MBJ1JSJN"eMGA*bC@jdAh0
+MB@jZCA)ZC@jNAfpQAfCTE'8l#L#3'@9ZC$X+)*!CE@&MFQpLG@CQCA*H@feKBh*
+[F'pcA6SpBcX+)*!CD@jM+'eKBh*[F'pc+6X+)*!CD@BJE@&MFQp`Eh-qE@&iE@&
+MFQpXC@iJG'KPEJSJN"T0CA0cB@GP+(0MB@jICPpYB@0bEepLG@CQCA*IEhCPFQC
+XEhFT1`SJN"GeER4TE#"QB@acC6X+)*!AHb"QFQ9P)'*eCQCPFL"[CL"YB@0bEb!
+rI3SJN"GTCL"KFh0TCfjPC#KYB@-ZBR9QG'9iG#NJG'KPEJSJN"PQFQ9PE@9Y+'e
+KBbjLG@CdCAKd,'eKBbjLG@CXC@iT1`SJN"Gl)'GPG#"ZCAFJE@9Y)(d+)*!ACf9
+dE@9Y+'eKBbjLG@CdCAKd,'eKBh*[F'pc+6X+)*!AE@&M,Q*eCQaPEMSpE@&MFQp
+`Eh-l#L#3&hXJBfp`H5"dD'8JG'9iG#"p#L#3&fe[GQ8SE@&MFQpLG@CQCA*H,'e
+KBbjLG@CdCAKdALaYB@0bEh"[FbNl#L#3&f4TFh"[Ff8SE@&MFQpLG@CQCA)T1`S
+JN"4PEQ3l#L#3$f9ZC$X+)*!+C@jN#L#3#'9XFf8+)*!+BQ9RD@i+)*!,Hb"MD'9
+MDb"TCL"dD'9bC5"TFb"KEL"KFh0TCfjYC@jd,#"dD'9Z)(GP)'jPC@3JG'mJCfP
+fC5"K#L#3$AGKFQjTEQFJI3SJN!eMGA*bC@jdAh0MB@jZCA)ZFfYTF(0`B@0P1`S
+JN!eTCL"M25Fk*b"dD'9Z#L#3$Q*PCfPZ#L#3%'0eFR*PER4IFf0KEQjPFLjbC@&
+NBfKKFMX+)*!3D@BJBcdR25FJG'KPEJSJN"*0CA0cB@GP+(0MB@jIGepYB@0bEep
+cGA"`Eh*dAh4eFQjPC&p[CQBT1`SJN!jPEQ3l#L#3#Q9ZC$X+)*!'C@jN1`S+)*!
+%F(*[Bf9NGA*P)'4TFPpcCA4M1`SJN!CfBA)+)*!)D(-J)$SJFh4bD@jR1`SJN!K
+YB@-J1L"dE@&MFQml#L#3"Q*PCfPZ#L#3#'0eFR*PER4IFf0KEQjPFLjcDfP`Fh"
+KBf8l#L#3#'Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!KYB@-k2A4YB@0
+bEbKMGA*bC@jdAh0MB@jZCA)ZE@&MFQpc,R0PBA*MD#KSFbNT1`SJN!KTCL"ZEh3
+JBA0cD@GZC@3SE@&M+5"dD'9Z#L#3#Q*PCfPZ#L#3$'eKBcSpG'eKBh*[,Q0bC@&
+dC5KSFbNl#L#3$'eKBbjNC@CTEQ9N1MedFR9P1`SJN!a0CA0cB@GP-5K`BA*cCA*
+IBepYB@0bEepNC@CTEQ9N,'eKBbjZB@eP+6X+)*!-Bh9bFQ9ZG&pcBf&ZEQ9b,Qe
+KBh*[FbjTER0PFR3SE@&M+6X+)*!+C@jN#L#3#'9XFf8+)*!+BQ9RD@i+)*!-E@&
+M,Q4PCQPZC@3k2A4bG@8l#L#3#RXJC'9XCA4P)'pXC#"NC@CTEQPdD@pZ)(d+)*!
+-D@BJBA0cD@GZC@3SE@&M,Q*eCR4PH(3T)(4SC@i+)*!0BQ9RD@i+)*!2CR*PC@e
+PE5KYB@-ZBR9QG'9iG#aYB@-ZBR9QE'9Z+6X+)*!2E@&M,Q*eCR4PH(3k2@jTE$X
++)*!0C@jN1`SJN!TPEQ3l#L#3#'eKBbjTFepeFf9N1MedFR9P1`S+#L#3#(XJDf9
+j)(G[FQ4c)'&bC5"ZCACPFL"cG@*cG'PdGA4PC#"p#L#3#fPQ)'PcAfYPHAG[FQ3
+SD(-T)(4SC@i+)*!-6@9cFf&RC5KcBf&ZAf9IDf9jGfpbC&pMB@jdAf*PAf&IE@&
+MFQmT1`SJN!Pl)#'3"L"SB@jNE'8JE@&MFQmJF'&bB@ec,#"ZC@9N)(GP)(4SDA-
+r)(d+)*!,Bh9bFQ9ZG&pcBf&ZEQ9b,R0VDA"cF'&MC6X+)*!*Hb"YBANJBQ8JB5"
+YB@0bEcmJI3S+)*!)Hb"KFh0TCfjYC@jd)'0KEL"LC5"LEh4S)$Sp)'&ZC#!p)(d
++)*!)D@BJBcdR1LFJG'KPEJSJN!TMGA*bC@jdAh0MB@jZCA)ZFQ9KC'0SBA)l#JS
+JN!KTCL"M25Fp*b"dD'9Z#L#3#Q*PCfPZ#L#3$@0eFR*PER4IFf0KEQjPFLjbC@&
+NBfKKFMX+)*!0D(-k25"`BA*cC9pMEfe`D@aPFPpPH("b1`SJN!eTCL"XC@jRG'J
+SD(-T)$`q)$!JG'KPEJSJN!pLC@GTEJSJN"&0CA0cB@GP-LK`BA*cCA*IBepYB@0
+bEepcCA4IG'mXE@&M,QjKE@8XD(-T1`SJN"&l)'CbC@8JBR9QCQ9b)'pQ)'eKBh*
+[)$pp#L#3%@PQ)'&cFfPREQ9N+'eKBbjLG@CdCAKd+5"dD'9Z#L#3%fCbC@9YC@d
+SE@&M,Q*eCR4PH(3XE@&M,Q*eCQaPELNl#L#3%AXJCf9d)'jPGb"YC@dJI3SJN"&
+RCA4YC@dSE@&M,Q*eCR4PH(3XE'9ZCh4S+'Kc+5Nl#L#3%@eKBbjLG@CXC@ik2@a
+PEQGdD#KSFbNl#L#3%AXJBfp`H5"dD'8JG'9iG#"p#L#3%@e[GQ8SD(0E-9dXE@&
+M,Q*eCR4PH(4H,'eKBbjLG@CXC@iT1`SJN!pPEQ3+)*!0C@acC3SJN!p0CA0cB@G
+P+(0MB@jIC9p`FQ9`FQpMAh0jER4KH&pPFR*[FLNl#L#3#Q9ZC!SJN!KPE(0P#L#
+3#NePFh0KCf8SFf0KEPpPAh"bCA"bEf0IFhPZG'&iAf9bFQpb+6X+)*!'C@jN1`S
++#L#3"("bEf0PC(9bC5"NDA*IG@jNC@Bl#L#3"RCKFJSJN!KSFb!J1L"cG(*TEQF
+l#L#3#'eKBb!k)(4YB@0bEcX+)*!'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&ZEQ9b,R0
+VDA"cF'&MC6X+)*!)D(-k2@0eFR*PER4IFf0KEQjPFLjbC@&ND@3l#L#3#'eKBcS
+pG'eKBh*[+'0eFR*PER4IFf0KEQjPFLjYB@0bEh-ZFf9KFQ0S+'Kc+5Nl#L#3#'P
+Q)'j[G#"KFh0TCfjPC#KYB@-T)(4SC@i+)*!+BQ9RD@i+)*!0E@&M1MedE@&MFQm
+ZBh*PBA4P+'Kc+6X+)*!06@9cFf&RC6%SF'&bFf9bAf0IE@&MFQpIG@jNC@CTEQ9
+N,'eKBbjZB@eP+6X+)*!0E@&M,Q4PCQPZC@3k2@CKE(0P1`SJN!eMGA*bC@jdAh0
+MB@jZCA)ZE@&MFQpc,QPZFf9bG#KYB@-T1`SJN!TPEQ3+)*!)C@acC3SJN!TLC@G
+TEJSJN!e0CA0cB@GP-5K`BA*cCA*IBepYB@0bEepeEQ4PCQPZC@3XE@&M,QjKE@8
+T1`SJN!eYB@-ZC'9QD@jPC$SpCQ&XFf8l#L#3$AXJC'9XCA4P)'pXC#"NC@CTEQP
+dD@pZ)(d+)*!0D@BJBA0cD@GZC@3SE@&M,Q*eCR4PH(3T)(4SC@i+)*!2BQ9RD@i
++)*!5CR*PC@ePE5KYB@-ZBR9QG'9iG#aYB@-ZBR9QE'9Z+6X+)*!5E@&M,Q*eCR4
+PH(3k2@jTE$X+)*!2C@jN1`SJN!TPEQ3l#L#3#'eKBbjTFepeFf9N1MedFR9P1`S
+JN!CPEQ3l#JSJN!4`FQpMC@4eFQ8JC'PbAfPZBfaeC'8l#JSJN!KQG@jMG'P[EL"
+QD@jND@jME(9NC@CTE'8SBfpZFh3JF'&dD#aZB@eP,'9iG$TcG(*TEQFlGQ&b)'C
+[G@jNCQPXC6TcG(*TEQFT1Q*[EfaPB@il#L#3#(CKFJSJN!TQEh9ZC#!k)'*[Efa
+PB@il#L#3#QK`BA4S)$SJFh4bD@jR1`SJN!KLC@GTEJSJN!Pl)'a[EfXJCQpb)(4
+SC5"TEQ0XG@4P)'CTE'8+)*!--5iJFh"PBfPQD@9N)("KG'JXF'&dD#"[CL"MGA*
+bC@jd)'PZF(9dCQPXC5aMGA*bC@jd)'4TFJSJN!`b,L"XEf0KE#"TEQ0XG@4PF'&
+dD!SJN!`c,L"RE'pLB@`JD@jME(9NCA"KG'JJI3SJN!YQEh9ZC$SpCQ&XFf8l#L#
+3#fC[G@jNCQPXC6Sp*bFl#L#3#fK`BA4S1MdR*cX+)*!,D@BJF'&dD$`q*bFJG'K
+PEJSJN!eLC@GTEJSJN!pTCL"ZEh3JF'&dD&pKBR0[E(9dC5K`BA4S+5"dD'9Z#L#
+3%@K`BA4S1MeMGA*bC@jdAh0MB@jZCA)ZD@j`GA4QD@aP,R"KG'KH+h"KG'J+)*!
+2C@acC3SJN"&SF'&dD$SpF'&dD#XR1bFVBh9bFQ9ZG&pcBf&ZEQ9b,QPZF(9dCQP
+XC5j`BA4SAMX+)*!0C@jN#L#3#f9XFf8+)*!0D("KG'Jk2@0eFR*PER4IFf0KEQj
+PFLjTER"eG'CTE'8ZF'&dD&il#L#3#fC[G@jN1Me'D@jN4QPXC5KZB@eP+f9iG#a
+SF'&dD#XR1biR+h0[GA*MC9pTEQC[,N4TFP0PF#aQEh9ZC'CTE'8T1`SJN!YTCL!
+SEQpd)'C[G@jN+5"dD'9Z#L#3$'C[G@jN1MeMGA*bC@jdAfe[C(9XC5jXEf0KE'P
+ZBfaeC'9cC@&bBfK`BA4S,NCTEQ4'D@aP+'jKE@8VCAKd,'C[G@jNCQPXC5Nl#L#
+3#fPQ)#KZEh3JCQpeEQ3T)(4SC@i+)*!-CQpeEQ3k2@PZBfaeC'9cC@&bBfK`BA4
+S,NCTEQ4'D@aP+'jKE@8VCAKd,'C[G@jNCQPXC5Nl#L#3#fCTEQ4TEQ0XG@4PCQP
+XC6SpCQpeEQ3l#L#3#'9ZC$X+#JSJN!CfBA)+)*!)BA*RFb`+)*!)CQpeEQ4QD@a
+P,!SJN!KSFb#3"$SJFh4bD@jR1`SJN!K`BA4S)#!k)'4TFR0dFMX+)*!)EQ&YC5!
+J1L"ZB@ePFh4b1`SJN!KPH(3J)#!k)'9iG(0dFMX+)*!)D(!JN!3k)(4TER"eG'C
+TE'8l#L#3#'C[G@jN)$SJBQp[E'9KEMX+)*!'BQ9RD@i+)*!)Bh9bFQ9ZG&pcBf&
+ZEQ9b,R0VDA"cF'&MC6X+)*!)BA*RFcSpBh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4MEfe
+YC@jd1`SJN!KSFcSp4f9d9'pVC@iSBA*RFb`R)#FT1`SJN!KTCL"SFcdR*b"dD'9
+Z#L#3#@9iDA3l#L#3#'PQ)#KSFeXaA6dR*5FT)(4SC@i+)*!*BQ9RD@i+)*!*Hb"
+MBA0P)'PZFf9ZFfPdDACP)(d+)*!,D(-k2A9`F'9b+'Kc+6X+)*!*Hb"bC@e[GQ8
+J*5Gc)(d+)*!,4'9XCA4P+'Kc,$%X-5Nl#L#3#fPQ)'Kc@faPEQGdD#KSFbPG25F
+P*b"dD'9Z#L#3$%4PE'9dC5KSFbaXC@jRG'JSD(-T,$%T1`SJN!Pl)(0KGQ8JEfa
+N)(d+)*!,F'&dD$SpD(-l#L#3#AXJCQPbFh3JBfKPBfXJCQpb)'PZG'9bEQ&X)'e
+KBh*[Fb"p#L#3#fPQ)'Kc25G858e&*b"dD'9Z#L#3$'Kc1MeRCA4dD@ePFh4b#L#
+3#f9XFf8+)*!-D@BJD(-p*d4"9%8R)(4SC@i+)*!0D(-k2@GPG'4KG'9cG()+)*!
+,C@acC3SJN!aTCL"SFcdR4NP-45FJG'KPEJSJN!eSFcSpBh9bFQ9ZG&pYEf4eE'8
+ZFfpeFQ0PCQPXCA-ZCf9dAfCTE'9IEQ&YC5KKDh4QD@aPF'pc,QCTE'9TEQ4PH#N
++)*!,C@acC3SJN!aTCL"SFcdR6%P145FJG'KPEJSJN!eSFcSpG'pcG()SB@YdCQP
+XCA"[FbjXD@jP+3SJN!YPE(0P#L#3$'PQ)'Kc25G'8%0@49*658p1*b"dD'9Z#L#
+3$@Kc1MefCA*cD@pZAh0dFQPZC`SJN!YPE(0P#L#3$'PQ)'Kc25G'8%0839*(493
+R)(4SC@i+)*!0D(-k2A4KFQGPG&pMF(9IFh4bD@jR#L#3#f9XFf8+)*!-D@BJD(-
+p*dC33e4"8NG&9%0395FJG'KPEJSJN!eSFcSpG'&bCf9dAf0`G9pcG(*TEQF+)*!
+,C@acC3SJN!aTCL"SFcdR4P"$9%&54d986e-R)(4SC@i+)*!0D(-k2A4KFQGPG&p
+TEQC[,R0SEh*dEQ&YC3SJN!YPE(0P#L#3$@Kc1MeRCA4PERBSD(-T1`SJN!YTCL"
+SFcdR*b"dD'9Z#L#3$%ePFh0KCf8a+(0MB@jIGepTEQ0XG@4PAf9ZGPpZEh4ICQp
+eEQ3XF'&dD#Nl#L#3#hXJE@&VC5"TG#"K)(0dFQPZCf0[ER0d)(d+)*!,D(-k25H
+3"#YSFbXRN!3l#L#3#f0eFR*PER4IFf0KEQjPFLjTER0PFR4YB@0bEbK`BA4S,%"
+SFeXaA5aXC@jRG'JSD(-T,!SJN!aMGA*bC@jdAh0MB@jZCA)ZE'PZC9pZEbaMGA*
+bC@jdAh0MB@jZCA)ZD@j`GA4QD@aP,R*PCPpTEQ4PH#Nl#L#3#@9ZC!SJN!KPE(0
+P#L#3#@*PCfPZ#L#3#fKc1Me'DAK'D@aP6Q&YC5KSFbNl#L#3#fCcF'aTG#KSFba
+`BA4S,'jKE@8XCAKd+6X+)*!,Hb"dFRNJG'mJCQPZC#"dD'8JCQPXC5"p#L#3#fC
+[G@jN1MeQD@jND@jME(9NC@CTE'8SF'&dD#aZB@eP,'9iG#aQEh9ZC'CTE'8T1`S
+JN!YTCL!SCAKd25FR+5"dD'9Z#L#3$'*PCfPZ#L#3$RXJG(*j)'4PCQ&eE(3JCAK
+dC@jcD@pZFb!ZD@jM)#`J,R"`)'&ZC#!ZF'&c)(d+)*!1D@BJ+'j[G#"QEh9ZC#N
+JG'KPEJSJN!pQEh9ZC$SpCQPZC'PZBfaeC'9QD@aP+("KG'JXEQ&YC5`R,QPZBbF
+XCQpeEQ4QD@aP+6X+)*!1D@BJ+'j[G#"QEh9ZC#NJG'KPEJSJN!pQEh9ZC$SpCQP
+ZC'PZBfaeC'9QD@aP+("KG'JXEQ&YC5adBA*RCA4ID@jQEbjcEh9bBf9PH(3XCQp
+eEQ4QD@aP+6X+)*!1D@BJ+'j[G#"QEh9ZC#NJG'KPEJSJN!pQEh9ZC$SpCQPZC'P
+ZBfaeC'9QD@aP+("KG'JXEQ&YC5adBA*RCA4ID@jQEbj`BA0PH(3XCQpeEQ4QD@a
+P+6X+)*!-C@jN1`SJN!YTCL"MGA*bC@jdAh0MB@jZCA)ZD@j`GA4QD@aPBfpeER3
+mE@&iAfPZBfaeC'9IEQ9cG'PZCb"dD'9Z#L#3$@*PCfPZ#L#3$fPZBbKMGA*bC@j
+dAh0MB@jZCA)ZD@j`GA4QD@aPBfpeER3T1`SJN!pl)(GP)'jPC@3JG'mJFQ9bC@&
+N)(4SC5"MGA*bC@jd)'0SBA)JI3SJN!pNC@-SBh9bFQ9ZG&pcBf&ZEQ9b,QPZF(9
+dF'pTER4PFLNl#L#3$hXJFfKeG'4[GfiJBh9bFQ9ZG#"QD@aP)(d+)*!2Bh9bFQ9
+ZG&pcBf&ZEQ9b,R4PEA"ME'pcC@PZF(9dCQPXC6X+)*!2Hb"XEf&N)'jPGb"QD@a
+P)(d+)*!2D(!k2@4[Afp`C@jTER"eG'CTE'8SCQpeEQ4QD@aP+6X+)*!2Bh9bFQ9
+ZG&pcBf&ZEQ9b,Q&NC'CTE'8SD(!T1`SJN!pMGA*bC@jdAfe[C(9XC5jcEh9bBf9
+QD@aPFbjbC@GTFh4PFPpQD@aP+'K`+6X+)*!2D@BJEQpd)'0eFR*PER4IFf0KEQj
+PFLj[F'9ZD@j`GA4QD@aP)(4SC@i+)*!36@9cFf&RC6%SFf0KEPpQAf0KEQj[G&p
+[F'9ZAfPZBfaeC'9QD@aP,'Kc+6X+)*!26@9cFf&RC6%SFf0KEPpdAh0dBA*dAfP
+ZBfaeC'9ICQPXC5aMGA*bC@jdAh0MB@jZCA)ZD@j`GA4QD@aP,R"KG'KH+f0eFR*
+PER4IFf0KEQjPFLjTER"eG'CTE'8ZEQ&YC9iT1`SJN!pMGA*bC@jdAh0MB@jZCA)
+ZFQ9XEf&N1`SJN!ePEQ3+)*!,C@acC3SJN!e0CA0cB@GP+(0MB@jICPpTEQ0XG@4
+PAf4PCA"IG'9Z+6X+)*!*C@jN1`SJN!CPEQ3l#T!%HbU363SJN#&86@&MFQm++T"
+0I3S+)*!%BfpZFh4bG@0dEh)JG'eKBh*[,Q0bC@&dC5KMEfjcG#"Z)$SJFh4bD@j
+R+6X+)*!'BQ9RD@i+)*!*D@jSCA*TG'9N)'0bC@&dC@jKE@8SELNl#L#3#@4PCQP
+ZC@3k2A4bG@8l#L#3#@4PCQPZC@4IBA4IFh4KFR4eF$SpCQ&XFf8l#L#3#@CTE'9
+TEQC[1MeKDh4dEfYPER"[FcX+)*!*DA0IGA0PC$SpCQ&XFf8l#L#3#@*eCR4PH(3
+k2@jTE$X+)*!*BR9QE'9Z1Md`1`SJN!CPEQ3l#JS+)*!%C'9cG(*eBh4[FL"dE@&
+MFQmZC'9cG(*[H6X+)*!'BQ9RD@i+)*!*D@BJBA0cD@GZC@3SBR9QG'9iG#NJG'K
+PEJSJN!YQFQ9PE@9Y+'*eCR4PH(3XBR9QE'9Z+6X+)*!*D@jSCA*TG'9N)'4PFh4
+bEhNl#L#3"Q9ZC$X+#JTl+T"0#L#3(&"bCA"bEf0PFh0[FL"hFQPdG'PZC`SUN%e
+p#JTl*'PQC'9Q)&"549"56d0A8NP84Ad+)*!%BfpZFh4bG@0dEh)JG("bCA"bEf0
+QD@aP,Q0bC@&dC5KMEfjcG#"QEMTcG(*TEQFT1`SJN!CLC@GTEJSJN!Cl)'p`C@i
+JEh9dF(9dCQPXC5"p#L#3#'&cFfPRELKQ,'CZ+6X+)*!)Hb4*,Ad+)*!*FQ9hFQP
+dC5KQ+6X+)*!)Hb4*+hd+)*!)D@BJD@pbCA0eE(3m2M!JG'KPEJSJN!P$EfeYC@j
+d+&CI4Q&dB@`X*f0KELFRG#"MFQ9KG'8JCQPXC5!R+fCZ+6X+)*!)Cf9dE@9Y+'*
+eCLa`FQ9`FQpMBR9QFfPkC5Nl#L#3#(0PG(4PH(4LG@BSCLaLG@CH,("bCA"bEf0
+LG@CcDATP+6X+)*!'Hb"bCA0PG#"p#L#3#'9[E'C[G@jN1MeQB@acC6X+)*!)Fh"
+KBf9QEh9ZC$SpCQ&XFf8l#L#3"Q9ZC$X+#JSJN!4NCA0dFR9MG'pb)(4`FQ9`FQp
+MCQPXC5jNCA0dFQpj1`SJN!CLC@GTEJSJN!KME'pcC5KQ+6X+)*!)CR*PC@ePE5K
+LG@BXF(*PF(*[Bf*eCR0THQ8T1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4`FQ9
+`FQpMCQPXC5jKC'3SBfpZFh3JFcTcG(*TEQFT1`SJN!CLC@GTEJSJN!KhFQPdC5K
+Q,(-T1`SJN!CPEQ3l#JSJN!4`FQpMC@4eFQ8JG("bCA"bEf0QD@aP,Q&NC(0`B@0
+P1`SJN!CLC@GTEJSJN!KTCL"PEfaQEh9ZC#"dD'9Z#L#3#@*PCfPZ#L#3#hGbDA4
+PE'iSCL`R*bNl#L#3#f9[E'C[G@jN1MeQB@acC6X+)*!,Fh"KBf9QEh9ZC$SpCQ&
+XFf8l#L#3#@9ZC!SJN!KPE(0P#L#3#@PQ)(0`B@0PCQpeEQ3JG'KPEJSJN!TLC@G
+TEJSJN!ahFQPdC5KQ,#FJ*bNl#L#3$(0`B@0PCQpeEQ3k2@CKE(0P1`SJN!TPEQ3
+l#L#3"Q9ZC$X+Hb4PEQ4TCL"38N938Np$9e**9%9p#JS+HbU363SJN"j88(*P8(*
+[Be0dB@0V#LU36Ad+#L#3"'0[ER0dFR9MG'pb)(4`FQ9`FQpMFh4KBfXZBh*PBA4
+P+'&dHA!J1L"`FQ9`FQpMG(P`1f%kBQp[E'9KEMYZ1R4`FQ9`FQpMFh4KBfXT1`S
+JN!CLC@GTEJSJN!KKBf0PF(3k2@%l#L#3#(4jF$SpBA4jF$X+)*!)EQ9iG$SpEMX
++)*!'C@jN1`S+#RXUN%d+)*!H9%4TFQ9MG'PfC8PdC@d++T"0I3S+)*!%BfpZFh4
+bG@0dEh)J9%4TFQ9MG'PfC8PdC@dZ3h*PBA4P+'0[ER0d)'ikFh4bD@jR1h!kG'4
+TFQ9MG'PfCA"bEf-T1`SJN!CLC@GTEJSJN!KTEQKPFQPdC@3J3h*PBA4P6Q&YC5K
+Z+6X+)*!)DA0IBfpZC'PdD@pZB@`k2@CKE(0P1`SJN!K`FQpM1Mel*'PQEQ4PCL"
+'8%038Np$9N&5I8"l*'9ZC'PQIA!l#L#3"Q9ZC$X+#JSJN!4MEfjcG(*eBh4[FL"
+84'PbC@0dDACP5A4PE5j$FQ9KG'9$EfjN+'0[ER0d)'ikFh4bD@jR1h!kG'4TFQ9
+MG'PfCA"bEf-T1`SJN!CLC@GTEJSJN!KTEQKPFQPdC@3J3h*PBA4P6Q&YC5KZ+6X
++)*!)DA0IBfpZC'PdD@pZB@`k2A4bG@8l#L#3#("bEf-k2AXND@CZC'9Q)%C33e"
+56d0@39*p3(XNC@jND@CpF$X+)*!'C@jN1`S+HbU36!SJN#"88d0"6Nj&8NC*6%8
++)#U36(d+#L#3"'0[ER0dFR9MG'pb)(4cBf&ZEQ9bCQPXC5jMFQ9KG'8SBfpZFh3
+JCQikFh4bD@jR+6X+)*!'BQ9RD@i+)*!)D@j`GA4QD@aP1MeNEep[F'9ZD@j`GA4
+QD@aP+'CZ+6X+)*!)D@BJBA0cD@GZC@3SBh9bFQ9ZG&pYEf4eE'8T)(4SC@i+)*!
++Bh9bFQ9ZG&pYEf4eE'8ZFfpeFQ0PCQPXCA-ZFQ9RDA0dCA*ICQPXC5KTER"eG'C
+TE'8T1`SJN!Cl)(*PFf9d)'a[Bf&XD@j`GA3JI3SJN!KTER"eG'*eCQCPFMSpEQP
+X1`SJN!KTER"eG("[D@jdCA)k2@jTE$X+)*!)D@j`GA4cG'&bG$Sp-$X+)*!'Hb"
+bCA0PG#"cBf&ZEQ9b)(d+)*!)F(*PF(*[Bh0dB@0V1MeZD@`l#L#3#'0[E@ePER4
+IE'9fC@`k26!l#L#3#(PjE'9iBfpeER3k26!l#L#3#'*XEf0VAh4jF'8k2@*dAfG
+PEQ9bB@`l#L#3#'aTEQ9IEQmk26!l#L#3#'aKFh4XD@jPF'pc1Md`1`SJN!KXBA0
+dG'pVC@j`Eh-k26!l#L#3#'aKFh4dEfYPEMSp6Np86dY&6MX+)*!)EQ9iG(4[Df9
+Z1Me16e425d911`SJN!KXBA0dBA0YCf9dBfKKFMSp)c!l#L#3#'PREQpbC@4TFQ9
+MG'PfCA-k2946G(*TEQG-DA0d,N0bC@&dC6X+)*!)D@jIBA0YAh0dFQPZCcSpCQ&
+XFf8l#L#3#'eKBh*[FcSpG'4TBh4TEfjKFRNZBh*PBA4P1`SJN!CPEQ3l#JS+)*!
+%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jQDA*cG'CTE'8l#L#3"Q*PCfPZ#L#3"RX
+JE'pKC#"LE'pMDb"p#L#3#'PQ)'j[G#"[F'9ZD@j`GA4QD@aP)(4SC@i+)*!+6@9
+cFf&RC6%SFf0KEPpQAf0KEQj[G&p[F'9ZAfPZF(9d,'PZF(9dCQPXC5jZB@ePALN
+l#L#3#(*PE'pKC$X+)*!'C@jN1`S+#L#3"'4PFh4bG@0dEh)JG(0MB@jZCA*QD@a
+P,Q4PFh4bEhNl#L#3"Q*PCfPZ#L#3#'PQ)'&cFfPREQ9N+'0eFR*PER4IE@pNG@a
+P+5"KEQ3+)*!,+'0eFR*PER4IE@pNG@aP,R0dBA4P2@ecAf0[EA"TE'9N+5"KEQ3
++)*!,+(0dBA4eFbjPFR*[FQ0[G@jd26!T)(4SC@i+)*!+BfKPBfY`FQ9`FQpMFh4
+KBfX+)*!)C@acC3SJN!TLC@GTEJSJN!ahD'PXC5"KFh0TCfjPC#K`FQ9`FQpMFh4
+KBfXT)'4[#L#3$A"[F("bCA"bEf0cG'&MDcX+)*!+C@jN1`SJN!KTCL"ZEh3JD@j
+`GA4QD@aP,Q0XEh0PC#"dD'9Z#L#3#Q0XEh0PD@j`GA4QD@aP1`SJN!KTCfj[FQ9
+NDA*PBh4TGQ9c,QCbC@8l#L#3#'eKBh*[FbjQFQ9P1`SJN!CPEQ3l#JS+)*!%F(*
+[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jNC@CIE@&MFQmSBfpZFh3JFb!k)(0dFQPZCbN
+l#L#3"RCKFJSJN!KYB@-J1L"dE@&MFQml#L#3"Q*PCfPZ#L#3#@eKBcSpG'eKBh*
+[+'eKBh*[FbjcC@&bBfJSFbNT1`SJN!PTCL"YB@-pEQPX)(4SC@i+)*!,BQ9RD@i
++)*!0E@&M1MedE@&MFQmZBh*PBA4P+(-T1`SJN!e0CA0cB@GP-5K`BA*cCA*IBep
+YB@0bEepNC@CTEQ9N,'eKBbjZB@eP+6X+)*!0E@&MFQpc,QPZFf9bG#KYB@-T1`S
+JN!YPEQ3l#L#3#@eKBbjNC@CTEQ9N1MedFR9P1`SJN!PYB@-ZC'9QD@jPC&pKG&p
+cG'&bG(9`1MedFR9P1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQP
+XC5jcCA4IE@&MFQmSBfpZFh3JFb!k)(0dFQPZCcYfB@aeC5!k)(0dFQPZCbNl#L#
+3"RCKFJSJN!KYB@-J1L"dE@&MFQml#L#3"Q*PCfPZ#L#3#@eKBcSpG'eKBh*[+'e
+KBh*[FbjcC@&bBfJSFbNT1`SJN!PTCL"YB@-pEQPX)(4SC@i+)*!,BQ9RD@i+)*!
+0E@&M1MedE@&MFQmZBh*PBA4P+(-T1`SJN!eYB@0bEh-ZD@jcCA*d+'eKBbNl#L#
+3#f9ZC!SJN!PPE(0P#L#3#f*PCfPZ#L#3$QPQ)'&cFfPREQ9N+'eKBbjLG@CdCAK
+d+5"dD'9Z#L#3%'CbC@9YC@dSE@&M,Q*eCR4PH(3XE@&M,Q*eCQaPELNl#L#3#f9
+ZC$X+)*!*6@9cFf&RC6)SF'&bFf9bAf0IE@&MFQpIFf9dAh4[,'eKBbjZB@eP,(C
+KE(9P+6X+)*!*E@&M,Q*eCQaPEMSpE'9ZCh4S+(CKE(9P+6X+)*!*Cf9dE@9Y+'e
+KBbjLG@CdCAKd,'eKBbjLG@CXC@iT1`SJN!PYEhCP+(CKE(9P@c&G,'eKBbjLG@C
+dCAKdALaYB@-ZBR9QE'9Z+6X+)*!*E@&M,Q4PCQPZC@3k2A4bG@8l#L#3#@eKBbj
+NC@CTEQ9NAf&dAh0dBA*dGA!k2A4bG@8l#L#3"Q9ZC$X+#JSJN!4QG@jMG'P[EL"
+dFf0KEQjPFQCTE'8ZEh"PEQPZF(9dCQPXC6TLEfpXC@&Z1`SJN!CLC@GTEJSJN!K
+[F'9ZD@j`GA4QD@aP1MeTER"eG'CTE'8ZEh"PEMX+)*!'Hb"XEf&N)'*eCQCPFL"
+p#L#3#'PZF(9dBR9QCQ9b1MeTER"eG'CTE'8ZBR9Q1`SJN!KTER"eG("[D@jdCA)
+k2@PZF(9dCQPXC5jLG@Bl#L#3#'PZF(9dFh4KFR3k2@PZF(9dCQPXC5jLG@CcG'&
+bG$X+)*!'Hb"XD@jP)(d+)*!)E'PZC9pZEcSp-$X+)*!)E'&cG'aTEQ9`Eh-k26!
+l#L#3#'aKFh4dEfYPER"[FcSp-$X+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"dFf0
+KEQjPFQCTE'8ZBfa[Ff9TER"eG'CTE'8l#L#3"Q*PCfPZ#L#3#'PZF(9dCQPXC5j
+ME'pcC6X+)*!'Hb"bCA0PG#"LG@CQCA)JI3SJN!KTER"eG'*eCQCPFMSpEQPX1`S
+JN!KTER"eG("[D@jdCA)k2@jTE$X+)*!)D@j`GA4cG'&bG$Sp-$X+)*!'Hb"bCA0
+PG#"XD@jP)(d+)*!)E'PZC9pZEcSp-$X+)*!)E'&cG'aTEQ9`Eh-k26!l#L#3#'a
+KFh4dEfYPER"[FcSp-$X+)*!'C@jN1`S+#L#3"'CeEQ0dD@pZ)(4cBf&ZEQ9bCQP
+XC5jdC@e`Eh"PEQPZF(9dCQPXC6TLEfpXC@&Z1`SJN!CLC@GTEJSJN!KTCL"TER"
+eG'CTE'8ZDA0IE@&MFQmJG'KPEJSJN!TPH'Pd1`SJN!KdC@e`Eh"PEQPZF(9dCQP
+XC6SpD@j`GA4QD@aP,R4PEA"[F'9Z1`SJN!Cl)(*PE'pKC#"LG@CQCA)JI3SJN!K
+TER"eG'*eCQCPFMSpD@j`GA4QD@aP,Q*eCMX+)*!)D@j`GA4`EfPZG'9b1MeTER"
+eG'CTE'8ZBR9Q1`SJN!KTER"eG(0dBA*d1MeTER"eG'CTE'8ZBR9QFh4KFR3l#L#
+3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,R4PEA"ME'pcC@PZF(9
+dCQPXC6X+)*!'BQ9RD@i+)*!)D@BJD@j`GA4QD@aP,Q0XEh0PC#"[FL"TER"eG'C
+TE'8ZDA0IE@&MFQmJG'KPEJSJN!PPH'Pd1`SJN!KTER"eG'CTE'8ZFf9dF'pc+'P
+ZF(9dFh4KFR3V+'PZF(9dF'pTER4PFLeTER"eG'*eCQCPFLNT1`SJN!KTER"eG'C
+TE'8ZG'9YF'0XEh0P1`SJN!Cl)(*PFf9d)'*eCQCPFL"p#L#3#'PZF(9dBR9QCQ9
+b1MeZD@`l#L#3#'PZF(9dF'pTER4PFMSpEQPX1`SJN!KTER"eG(0dBA*d1Md`1`S
+JN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jcBACPD@j`GA4QD@a
+P1`SJN!CLC@GTEJSJN!KTER"eG'CTE'8ZFf&fC@PZF(9dF'pTER4PFMSpD@j`GA4
+`EfPZG'9b1`SJN!KTER"eG'CTE'8ZFf&fC@aKFh4XD@jPF'pc1MeXBA0dE'PZCA"
+[FcX+)*!)D@j`GA4QD@aP,R0KGQ9XD@jPAfj[1MeXD@jPAfj[1`SJN!CPEQ3l#JS
++)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jbCA0dEh*PD@j`GA4QD@aP1`SJN!C
+LC@GTEJSJN!KTER"eG("[D@jdCA)k2@PZF(9dCQPXC5jcBACPD@j`GA4`EfPZG'9
+b1`SJN!KXBA0dE'PZCA"[FcSpD@j`GA4QD@aP,R0KGQ9XBA0dE'PZCA"[FcX+)*!
+)E'PZC9pZEcSpD@j`GA4QD@aP,R0KGQ9XD@jPAfj[1`SJN!KTCL"ZEh3JD@j`GA4
+QD@aP,QPcAfeKBh*[)(4SC@i+)*!+F'&bFf9bAf0eFR*PER4ICQPXC6SpD@j`GA4
+QD@aP,QjKE@9H1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5j
+ZCAKdCQPXC6X+)*!'GQ&b#L#3#(4[Af4TFh"[Ff8J1L"dD@j`GA4QD@aP1`SJN!C
+LC@GTEJSJN!KTCL"KFh0TCfjPC#KTER"eG'CTE'8ZEQ9iG#NJG'KPEJSJN!PLC@G
+TEJSJN!YTCL"TER"eG'CTE'8ZDA0IE@&MFQmJG'KPEJSJN!edEepNDA0`Eh0P1Me
+TER"eG'CTE'8+)*!,C@acC3SJN!eLC@GTEJSJN!pdEepNDA0`Eh0P1MeZD@`l#L#
+3$f4PBbKTER"eG'CTE'9MEh9ZG#Nl#L#3$@9ZC$X+)*!,Hb"hC5"MB@iJB@aXGf&
+jFb"ME'pcC5"dD'8JCQPXC5`JEQmJ2b"p#L#3#fPZF(9dCQPXC5jME'pcC6X+)*!
+,D@j`GA4QD@aP1MeTER"eG'CTE'8ZEQ9iG$X+)*!,D@BJBA0cD@GZC@3SG'pIC'P
+cF'pcC5NJG'KPEJSJN!edEepNDA0`Eh0P,QCbC@8l#L#3#h*PFh4[FQ9TER"eG'C
+TE'8l#L#3#@9ZC$X+)*!'C@jN1`S+#L#3"("bEf0PC(9bC5"dFf0KEQjPFQCTE'8
+ZB@4NCQPXC5KSF$TdD@j`GA4QD@aP+6X+)*!'BQ9RD@i+)*!)Ff&fC@PZF(9dCQP
+XC6X+)*!)Hb"KC'3JG'mJE'PcG#"p#L#3#'K`,QjPH(3k2@PZF(9dCQPXC6X+)*!
+)D@j`GA4QD@aP1MeSF$X+)*!)Hb"XEf&N)'jPGb"TER"eG'CTE'8JI3SJN!KbCA0
+dEh*PD@j`GA4QD@aP1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQP
+XC5jbC@a[B@3l#L#3"Q*PCfPZ#L#3#(GTG'JJD@j`GA4QD@aP)'4[#L#3#@*PCfP
+Z#L#3#hXJGfKPEL"ZEh4SD@jR)'e[FQ8JG'mJFQ9KC#"dD'9Z)'aPBACP)'PYE@9
+ND@&dE(NX)(0[)(GP#L#3$@4[ELGd)'0SB@jRC5"dD'8JB@YdCQPXCA"[Fb"KEQ3
+JE'9KGQ8JDA3JF'pTER3JG'mJG'KP)'aKFh3+)*!0BfKKFL"p#L#3#fPQ)#KM25-
+b0LNJB@jN)#KZEh3JBA0cD@GZC@3SEQ9iG#NT)(4SC@i+)*!-CAKTG$X+)*!,FQ9
+`C@&d#L#3#hXJFh4TE'`JE@pbC5"dEb"bC@&N2b`JG'KPEL"MD'&ZCf8JG'KP)#-
+`)(4[)'%JFh"KBf8JFfmJDA4c)(0PC@i+)*!0BA-JB5"cCA"PFQ&dEh)X)(4SDA-
+JBf&Z*h3JBQ8JGA0PC#"QEh)JE@&MFQmRFb"hD'PMD#"MB@iJBfKKEQGP#L#3$A4
+SC5"`E'&MC5"[CL"dD'8J)c!JD@iJG'KP)'*eCQCPFL"hDA4S)(4PEA"[F'9Z)(d
++)*!0D@BJ+'-p)c!T)'&ZC#!SBR9QFfPkC6i`+5"KEQ3+)*!3EQpd+'PZF(9dCQP
+XC5jTFepYB@0bEbNJB@jN#L#3%#KTER"eG("[D@jdCA)YD@j`GA4LG@CQCA)mBR9
+QFfPkC5NJG'KPEJSJN!jLC@GTEJSJN""M1MdR)#Fl#L#3%'PZBbKTER"eG("[D@j
+dCA)T1`SJN""PH'Pd1`SJN!jPEQ3l#L#3#hXJBf&Z)(GP)(*PB@3JE@pbC5"QFQp
+Y)(4SDA-JCQPXC5!r)(d+)*!0D@BJ+'-m2L-b0LNJB@jN)#KZEh3JC@jNEfCQD@a
+P+5"dD'9Z#L#3$Q*PCfPZ#L#3%(*PB@4LG@Bl#L#3%'PZF(9dF'pTER4PFMSpBR9
+Q1`SJN""TER"eG'*eCQCPFMSpBR9Q1`SJN""TER"eG(0dBA*d1MeLG@CcG'&bG$X
++)*!1Hb"QDA*cG#"XD@jP2b"p#L#3%'PQ)'aTEQ9IEQmp-#"dD'9Z#L#3%@*PCfP
+Z#L#3%faTEQ9IEQmk26%l#L#3%fPQ)'0cAf&cE9pcEh9bBf8JD@iJB@YdCfa[BQ&
+XFhGTG'0SCA-JG'KPEJSJN"9TER"eG'CTE'8ZFf9dE'PZC5KXD@jPAfj[,'*eCR0
+dBA*d+6X+)*!4C@jN1`SJN!jPEQ3+)*!0C@acC3SJN!jLC@GTEJSJN!jl)'a[B@3
+JC@pQ)("[FfPdD@pZ)'PZ)(4[Df9ZF'pc,f&VG'CTE'9`Eh-JI3SJN""RCA4dEfY
+PER"[FcX+)*!1Hb"ME'pcC5"QD@aP)(d+)*!3Bfa[Ff9TER"eG'CTE'8l#L#3$RX
+JEQmJEQ9iG#"YEf4eE'8X)(4SB@iJ48p')(d+)*!3D@BJEQpd)'&cFfPREQ9N+'P
+ZF(9dCQPXC5jZCAKd+5"dD'9Z#L#3%@*PCfPZ#L#3%f-k25-b0MX+)*!6CAKTG$X
++)*!4C@jN1`SJN!jl)'a[B@3JEQ9iG#"QD@aP)'&ZC#"bC@p`C@iJDA3JI3SJN""
+ZCAKdCQPXC6X+)*!3G'9YF'p`C@jTER"eG'CTE'8l#L#3$RXJFh4KG(9c)(d+)*!
+36@9cFf&RC6%SFf0KEPpdAf*KBfYID@iXD@j`GA4QD@aP,QjKE@9H+6X+)*!1C@j
+N1`SJN!Yl)'a[B@3JEQ9iG#"MD'&b)(d+)*!0BcSpD@j`GA4`EfPZG'9bAMX+)*!
+0D@jM+'PZF(9dF'pTER4PFLNl#L#3#h9ZG'PX)'-m2L-`1b"l)'PQ)'&XFfmJC@j
+N,#"dD'9Z)(*PE'pKC#"KCf&TEL"p#L#3#@9ZC$X+)*!'C@jN1`S+#L#3"("bEf0
+PC(9bC5"dFf0KEQjPFQCTE'8ZD@jcCA*dE@&MFQmSBfpZFh3JE@&MEQ&YC6TcG(*
+TEQFlF$T`BfKKFMYXC@iXE'PZC5aQD@aPD@jNCAJkE'pZCfPZG#Nl#L#3"RCKFJS
+JN!KSF#!k)(4TER"eG'CTE'8l#L#3"Q*PCfPZ#L#3#(XJFf&fC5"[E'3JF'pcG'P
+[EL"p#L#3#'4PBbKTER"eG("[D@jdCA)T1`SJN!KdC@e`Bfa[Ff9TER"eG'CTE'8
+l#L#3"RXJBh*PBA4P)'eKBh*[)#GQD@aP*b"p#L#3#(XJGA0P)(0`C@0TB@`JEQ&
+YC5"dEb"NDA0`Eh0P)'&QG'9b)#%K)(d+)*!)D(!k2@4[Afp`C@jTER"eG'CTE'8
+S*ep0B@0bEemZ*bYYB@0ZB@eP+6X+)*!)B@4NCQPXC5KSF#Nl#L#3#(GTG'JJD@j
+`GA4QD@aP)'4[#L#3#@*PCfPZ#L#3#h0PG'eKBh*[+(!XE'9Z+6X+)*!*Hb"XEf0
+KE#"LG@CQCA)JI3SJN!YTER"eG'*eCQCPFMSpBR9Q1`SJN!YTER"eG("[D@jdCA)
+k2@*eCMX+)*!,D@j`GA4cG'&bG$SpBR9QFh4KFR3l#L#3#h*PCPpTEQ4PH$SpCQP
+XC@PZC'9i1`SJN!PPEQ3l#L#3"RXJFQ9cCA3JE'PZC5"p#L#3#'aTEQ9IEQmk2@a
+TEQ8l#L#3#'aKFh4XD@jPF'pc1Md`1`SJN!KXBA0dG'pVC@j`Eh-k26!l#L#3"RX
+JE'pKC#"ZCAFJBb"p#L#3#'-k2@PZF(9dF'pTER4PFPil#L#3#'PZBbKTER"eG("
+[D@jdCA)T1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jRCA4
+dEfYPER"[FcX+)*!%Hb"XEf&N)(4SC5"fB@aeCA-JEfBJG'pVC@j`Eh-JB@jN)'a
+KFh4dEfYPER"[Fb"p#L#3"Q*PCfPZ#L#3#'aKFh4dEfYPER"[FcSpD@j`GA4cG'&
+bG#XSD@j`GA4`EfPZG'9b,@PZF(9dBR9QCQ9b+6X+)*!)B@YdG'pVC@j`Eh-ZE'P
+ZC6SpE'PZC9pZEcX+)*!)B@YdG'pVC@j`Eh-ZBfpXG@eZ1MeXBA0dG'pVC@j`Eh-
+YE'&cG'aTEQ9`Eh-l#L#3#'&VG(4[Df9ZF'pc,QCTE'9TEQ4PH$SpD@j`GA4QD@a
+P,R*PCPpTEQ4PH$X+)*!)B@YdCQPXCA"[FcSpB@YdG'pVC@j`Eh-l#L#3"Q9ZC$X
++#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,QPZBepMEfeYC@jdAfaPGQ9X1`S
+JN!CfBA)+)*!*EfaNB@YdCQPXCA"[Fb!k)(4QD@aPF'pcD@jQEcX+)*!'BQ9RD@i
++)*!*D@BJ+'eIEQ9cG'9NAf0[E@ePER3JD@iJB@YdE@pNCA0hDA4MD'9c+5"dD'9
+Z#L#3#fPZBbKMEfeYC@jdAfaPGQ9X+3SJN!PPE(0P#L#3#f0[E@ePER4IE'9fC@`
+k26%l#L#3#@PQ)#KMEfeYC@jdAfaPGQ9X2M%T)(4SC@i+)*!+BQ9RD@i+)*!0Efa
+NB@YdCQPXCA"[FcSpB@YdCQPXCA"[FcX+)*!0Cf9dG'pVC@j`Eh-l)(XJGA"NBA4
+P)'C[FL"hBA*ZD@jR)(d+)*!06@9cFf&RC6%SFf0KEPphAf0[E@ePER4IE'9fC@`
+XG'pcG()SBfpYE@9ZG&pXCACPE#NT1`SJN!eKDh4QD@aPF'pc1Me[E'4KDh4QD@a
+PF'pc1`SJN!TPEQ3l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@a
+P,Q4PBepMEfeYC@jdAfaPGQ9X1`SJN!CLC@GTEJSJN!PTCL!SE9pZCA0dC@4IBfp
+YE@9ZG#"TEL"KDh4YEf4PFhGTG'0SCA-T)(4SC@i+)*!,C'9M+'0[E@ePER4IE'9
+fC@`T#L#3#@9XFf8+)*!,BfpYE@9ZG&pXCACPE$Sp-$X+)*!'C@jN1`S+#L#3"("
+bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZE'PZC@*bC@&V1`SJN!CfBA)+)*!*Bh9b)$S
+JBfKKFMX+)*!*EfaNG'pVC@j`Eh-X#L#3#@pXC'&VG'CTE'9`Eh-J1L"dCQPXCA"
+[FfPZCQml#L#3"Q*PCfPZ#L#3#(GTG'JJD@j`GA4QD@aP)'4[#L#3#@*PCfPZ#L#
+3#fPQ)#KLHA4P+'PZF(9dF'pTER4PFPiT26!T)'&ZC#"ZEh3SC@jNEfCQD@aP+5"
+dD'9Z#L#3$@*PCfPZ#L#3$f0eFMSpBcX+)*!2FQ9XEf&N1`SJN!pTCL"LHA4P+'0
+eFLNVBRPdC5KM+6`q-M-JG'KPEJSJN"&NC@-SD@j`GA4`EfPZG'9b+6X+)*!0C@j
+N#L#3#f9XFf8+)*!0BQ9RD@i+)*!2Hb"6GA"`Eh*d)'&XE#"MEfeLD@jKG'P[EL"
+[CL!M-6!JB@jN)#-a-b"KFb"XD@jP)'*bC@&V)(d+)*!2D@BJ+'*jG'8SD@j`GA4
+`EfPZG'9bALNVBRPdC5KM+6db-bNJG'KPEJSJN"&TEQ-SD@j`GA4`EfPZG'9b+6X
++)*!0C@jN1`SJN!Yl)%&XGf&jFb"bCA4eFQiJ)c%`)'&c)'aTEQ8JBR*PB@XJI3S
+JN!YM1MdM-6!l#L#3#hXJD@jMFQ9KFf8JE'PZC5"MEh9ZG'9bFb"p#L#3#faKFh4
+XD@jPF'pc1MeLG@CcG'&bG#XSD@j`GA4`EfPZG'9b,@PZF(9dBR9QCQ9b+6X+)*!
+,D@jM+'aTEQ9IEQmT1`SJN!Yl)(9`C'&dC5"XD@jPBR9QCQ9b)(d+)*!,D@BJBh0
+IBA0YAh0[GA*MC5"TEL"KDh4RE'pLB@acGfPdBfKPFb"dD'9Z#L#3$@PZF(9dCQP
+XC5jcCA4XD@jP+'aTEQ9IEQmXE'&cG'aTEQ9`Eh-T1`SJN!Yl)(9`C'&dC5"QEh)
+JFh4KG(9c)'&ZC#"MB@aX)(4SC5"cD'ph)(0dBA4eFb"bEh9dD@jP,!SJN!eLGA3
+JC'pZ*h3JG'peBfJJB@YdCQPXCA"[Fb!K)(d+)*!,EfaNB@YdCQPXCA"[FcSpB@Y
+dCQPXCA"[FcX+)*!,EfaNG'pVC@j`Eh-k2@&VG(4[Df9ZF'pc1`SJN!YRCA4dEfY
+PER"[FcXJHb"eF'4KG'8JCQpb)(CIFh4KG(9c)(d+)*!,D@jM+(0dBA4eFbjMEfe
+`D@aPC'aTEQ9c+6X+)*!,8fK[Ge0dBA4eFcX+)*!,B@YdCQPXCA"[FcSpEfaNB@Y
+dCQPXCA"[FcX+)*!,B@YdG'pVC@j`Eh-k2@pXC(4[Df9ZF'pc1`SJN!PPEQ3l#L#
+3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,QPXE'9RB@aIBfKKFLK
+M1Q0SBA)T1`SJN!CfBA)+)*!)Fb!k)(0dFQPZCcX+)*!'BQ9RD@i+)*!)D@BJBb"
+TEL"E)c-b,LiM-M8eA5"dD'9Z#L#3#R-k25H3"#YM+bH3"!SJN!KPE(0P#L#3#R-
+k25FM*bYdEh0dFLK[FQ3SBbNT1`SJN!K0CA0cB@GP-LKcBf&ZAfCID@aXC@GKE&p
+MD'&b,(-X*b3R+fKPH(0dFLK[FQ3SBbNX-LNT1`SJN!CPEQ3l#JS+)*!%F(*[Bf9
+NGA*P)(4cBf&ZEQ9bCQPXC5jPEQ4IEfCICQPXC6X+)*!'BQ9RD@i+)*!)BfKPBfY
+`FQ9`FQpMFh4KBfXl#L#3#%ePFh0KCf8SFf0KEPpQAf9ZC&p[CPpQD@aP+6X+)*!
+'C@jN1`S+)#"l,C!V#L#3#dP')%0[EQ4TG'P[EQ&X)%KKEQ4XD@jR#L!J,C!VI3S
++)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jMD'9MDh"bCA"bEf0cG'&MDcX+)*!
+'BQ9RD@i+)*!'Hb"MD'9MDb"QEh)JE@PcFfPZCb"TCQ4PCR-JI3SJN!KhD'PXC5"
+KFh0TCfjPC#K`FQ9`FQpMFh4KBfXT)'4[#L#3#@*PCfPZ#L#3#dePFh0KCf8d+(0
+MB@jIC9pPEQ4TCPpPH("PBh4PC#a`FQ9`FQpMFh4bD@jR@h"bCA"bEf0cG'&MDbj
+dHA"G,("bCA"bEf0cG'&MDbjZB@eP,!SJN!e`FQ9`FQpMFh4KBfXZEhGZCA)ZD@j
+`GA4QD@aP,QjKE@9H,(4[Fh4b+("bCA"bEf0cG'&MDbjXD@jPAfjL+5Nl#L#3#h"
+[F("bCA"bEf0cG'&MDcX+)*!*C@jN1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4
+cBf&ZEQ9bCQPXC5j`Eh"`FQ9`FQpMFh4KBfXl#L#3"RCKFJSJN!KSF#!k)(4`FQ9
+`FQpMFh4KBfXl#L#3"Q*PCfPZ#L#3#'PQ)'&cFfPREQ9N+("bCA"bEf0cG'&MDbN
+JG'KPEJSJN!PLC@GTEJSJN!Y0CA0cB@GP-5KcBf&ZAf0IC@jND@CICQpeEQ3XF(*
+PF(*[Bh0dB@0V,QjKE@8T1`SJN!YSF$SpF(*PF(*[Bh0dB@0V,QjPH(3l#L#3#h"
+bCA"bEf0cG'&MDbjQFQ9P1`SJN!Y`FQ9`FQpMFh4KBfXk2@K`1`SJN!PPEQ3+)*!
+)C@acC3SJN!P0CA0cB@GP+(0MB@jIC9pPEQ4TCPphDA4SEh9dAfPQ+6X+)*!'C@j
+N1`S+#L#3"("bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZB@4NF(*PF(*[Bh0dB@0V+'&
+dHA!J1L"`FQ9`FQpMG(P`1f%kBQp[E'9KEMYMEfjcG#"c1R0dFQPZCcYh1Qa[EQG
+TER3T1`SJN!CLC@GTEJSJN!K`FQ9`FQpMFh4KBfXk2A4`FQ9`FQpMFh4KBfXZBh*
+PBA4P+'&dHA!X+#K`FQ9`FQpMFh4KBfXpEQPX+5"[FL"`FQ9`FQpMFh4KBfXZB@0
+MCA"d+5"KEQ3JB5a`FQ9`FQpMFh4KBfXT1`SJN!K`FQ9`FQpMFh4KBfXZEQ&YC6S
+pFcX+)*!)F(*PF(*[Bh0dB@0V,QaTEQ9IEQ)k2@aTEQ9IEQml#L#3#("bCA"bEf0
+cG'&MDbj[GfjPFMSpFf9XCMX+)*!)D@BJF(*PF(*[Bh0dB@0V,Q&MBf9`G#"dD'9
+Z#L#3#8ePFh0KCf8b+(FXF(*PF(*[Bh0dB@0V,QjKE@8X*f&MBf9`G'9N*bN+)*!
+)C@acC3SJN!P0CA0cB@GP-LKh,("bCA"bEf0cG'&MDbjZB@eP,#GbC@TPBh4PC#F
+T1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jPE(0PF(*PF(*
+[Bh0dB@0V1`SJN!CLC@GTEJSJN!KTCL"KFh0TCfjPC#K`FQ9`FQpMFh4KBfXT)'&
+ZC!SJN!XSF(*PF(*[Bh0dB@0V,R4jF$`qF("IC@acC5NJG'KPEJSJN!PLC@GTEJS
+JN!YTCL!SF(*PF(*[Bh0dB@0V,R4jF$e`F&pPE(0PD@BT)(4SC@i+)*!0F(*PF(*
+[Bh0dB@0V,Q&MBf9`G$SpCQ&XFf8+)*!,C@acC3SJN!eTCL!SEQpd+'&cFfPREQ9
+N+("bCA"bEf0cG'&MDbjZCAKd+5NJEh)J+("bCA"bEf0cG'&MDbjZCAKd,Q&MBf9
+`G#NT)(4SC@i+)*!2F(*PF(*[Bh0dB@0V,Q&MBf9`G$SpEQpd)("bCA"bEf0cG'&
+MDbjKBf0PF(3l#L#3#h"bCA"bEf0cG'&MDbjdHA!k2A"`Af9XFf8l#L#3#h"bCA"
+bEf0cG'&MDbjXD@jPAfjL1MeXD@jPAfj[1`SJN!YTCL"`FQ9`FQpMFh4KBfXZB@0
+MCA"d)(4SC@i+)*!-6@9cFf&RC6)SFf0KEPpMAf9XFf9ICQpeEQ3XF(*PF(*[Bh0
+dB@0V,QjKE@8X*f&MBf9`G'9N*bN+)*!,C@acC3SJN!a0CA0cB@GP-LKcBf&ZAf0
+IC@acC9pQEh9ZC#a`FQ9`FQpMFh4KBfXZEQ&YC5`RFQ9UC@0dC@3R+6X+)*!*C@j
+N#L#3#'9XFf8+)*!*6@9cFf&RC5KcBf&ZAf9IC@jND@CIGfPdD'peG&pTCLNl#L#
+3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,Q9XFf9TCR"bCA"bEf0
+cG'&MDbKKBf0PF(3kBQp[E'9KELNl#L#3"Q*PCfPZ#L#3#'PQ)'&cFfPREQ9N+("
+bCA"bEf0cG'&MDbNJB@jN#L#3#bK`FQ9`FQpMFh4KBfXZG(P`)'PZ)&Y`F&pTCLa
+`F&pPE(0PD@CG+5"dD'9Z#L#3#@*PCfPZ#L#3#hXJGfKPEL"dD'8JBR*KEQ0S)'P
+c)'&MBf9`G'9N)(GP)(9cC5"`F&pPE(0PD@BJFfmJGf8JDfj[Gb"dD'&d#L#3$@&
+XE#"dD'8JEQ9iG#"LFQ&ZBfKPFb"ZC@9N)(4[)'*P)(*PDQ9MG'9N,L"hD'9Z)(4
+SDA-JBR*KEQ0S)'Pc)(0dD@aX#L#3$@j[G#"KBf0PF(4PC#"dD'9Z)'aPBACP)'P
+d)'&d)("`AfPQ)(d+)*!,D@BJ+("bCA"bEf0cG'&MDbjdHA!pF("IC@acC@PQ+5"
+dD'9Z#L#3$A"bCA"bEf0cG'&MDbjKBf0PF(3k2@CKE(0P#L#3#f9XFf8+)*!0D@B
+J+("bCA"bEf0cG'&MDbjdHA!pF("ID@BT)'&ZC#"`FQ9`FQpMFh4KBfXZB@0MCA"
+d)(4SC@i+)*!2BQ9RD@i+)*!4F(*PF(*[Bh0dB@0V,Q&MBf9`G$SpCQ&XFf8l#L#
+3%A"bCA"bEf0cG'&MDbjdHA!k2A"`Af9XFf9TCMX+)*!2C@jN#L#3#f9XFf8+)*!
+0D@BJB@0MCA"d)'&ZC!SJN"!SEQpd+'&cFfPREQ9N+("bCA"bEf0cG'&MDbjZCAK
+d+5NJEh)J+("bCA"bEf0cG'&MDbjZCAKd,Q&MBf9`G#NT)(4SC@i+)*!2BQ9RD@i
++)*!4F(*PF(*[Bh0dB@0V,Q&MBf9`G$SpG(*eC6X+)*!4F(*PF(*[Bh0dB@0V,R4
+jF$SpF("IC@acC@PQ1`SJN!pPEQ3l#JSJN!Y`FQ9`FQpMFh4KBfXZE'PZC9pZBMS
+pE'PZC9pZEcX+)*!,D@BJF(*PF(*[Bh0dB@0V,Q&MBf9`G#"dD'9Z#L#3$8ePFh0
+KCf8b+(0MB@jIBepPE(0PAfC[G@jN,("bCA"bEf0cG'&MDbjZB@eP,#GKBf0PF(4
+PC#FT#L#3#f9XFf8+)*!06@9cFf&RC6)SFf0KEPpMAf9XFf9ICQpeEQ3XF(*PF(*
+[Bh0dB@0V,QjKE@8X*h*PDQ9MG'9N*bNl#L#3#@9ZC!SJN!KPE(0P#L#3#8ePFh0
+KCf8SFf0KEPpPAf9ZC'PQAhGTG'K[GA4ID@BT1`SJN!CPEQ3l#JS+)*!%F(*[Bf9
+NGA*P)(4cBf&ZEQ9bCQPXC5jSB@jNE'9MEfjNDA4TEfjKE#K`1R4NDA*PBh4TGQ9
+TG'9Y+6X+)*!'GQ&b#L#3#'pXC'&VG'CTE'9`Eh-J1L"dCQPXCA"[FfPZCQml#L#
+3"Q*PCfPZ#L#3#'pXC'&VG'CTE'9`Eh-k2@&VG'CTE'9`Eh-l#L#3#(*PF'9KG!S
+JN!TMGA*bC@jdAh0MB@jZCA)ZCf9dG'pVC@j`Eh-l#L#3#R!ZF(*[BhXND@CNC@B
+J4P"$8&*23eC"8RdS+AXNC@jND@Cp1`SJN!Tl)'&MBf9`G#"dD'8JG'9iG#!r)(d
++)*!+D@BJ+'0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMFh4KBfXpEQPX+5"[FL"MGA*
+bC@jdAh0MB@jZCA)ZF(*PF(*[Bh0dB@0V,Q&MBf9`G#"dD'9Z#L#3#f*bC@&V#L#
+3#Q9XFf8+)*!,BQ9RD@i+)*!0Bh9bFQ9ZG&pcBf&ZEQ9b,QGPG(4[Df9ZF'pc1`S
+JN!e0CA0cB@GP+(0MB@jIBepcDfP`F'PZCepeER4TE#Nl#L#3$A*PF'9KG!SJN!p
+MGA*bC@jdAh0MB@jZCA)ZFfYTF(9ZG'PXC'PbC@0dDACP1`SJN!pTCL"ZEh3J+'e
+IE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJG'KPEJSJN"&`1MedC'PbC@0dDACPDA4
+PE5KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbjcC@&bBfJSBh9bFQ9ZG&pcBf&ZEQ9
+b,R*PB@4TC#NT#L#3$f9XFf8+)*!4F$SpG'4TFQ9MG'PfC@PdC@dSE@&MAh0MB@j
+ZCA*NDA*PBh4TGQ9c,R0PBA*MD#KMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN+5Nl#L#
+3$A9ZG'PX)'&cFfPREQ9N+(!T)'&ZC#!SF#jTFepMEfjNDA4TEfjKE#Nl#L#3$@0
+eFR*PER4IFf0KEQjPFLjRCA4dEfYPER"[FcX+)*!06@9cFf&RC6%SFf0KEPpNAfK
+KEQ4XD@jRAh0hDA4MD#`R*#FVF#jZB@eP+6X+)*!,C@jN1`SJN!KeER4TE#"QB@a
+cC6X+)*!)B@YdCQPXCA"[FcSpEfaNB@YdCQPXCA"[FcX+)*!'C@jN1`S+#L#3"("
+bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZD'&ZC'aPC'PbC@0dDACPFcX+)*!'GQ&b#L#
+3#A3J)$SJG'4TFQ9MG'PfC@PdC@dl#L#3#@Kc)$SJFh4bD@jR1`SJN!CLC@GTEJS
+JN!PRCA4dEfYPER"[FcX+)*!*FQ9KC'0SBA)l)(Y5C@e[GQ8JG'KP)#4p#L#3#@K
+c1MebC@&ND@3l#RXND@CNC@BJ8&*&8&*23eG5594&I3SJN!PTCL"`BA*KF(*PF(*
+[Bf9cFb"dD'9Z#L#3#Q*PCfPZ#L#3$(3k28GPG&p%DA*PBh4TGQ8SD(-T1`SJN!a
+TCL"ZEh3SDA0IBfpZC'PdD@pZB@`SG#NJEh)J+(3pAd4*8Pp%48C*6N8T)'pb)#K
+d29p%59*I98j%48BT+5"dD'9Z#L#3$@*PCfPZ#L#3$h"bCA"bEf0QD@aPALj"C'4
+6F'&MC6X+)*!2F(*PF(*[BfCTE'9H,N&NC#JRHb3R+fKc+f0eFR*PER4IFf0KEQj
+PFLjbC@&NBfpYE@9ZG#XRI5FT1`SJN!pPH'Pd1`SJN!ePEQ3l#L#3#Q9ZC$X+Hb4
+PEQ4TCL"38N938Np$9e**9%9p#L#3#AXJFfYTF#"dD'Pc)'4TFQ9MG'PfC6mJI3S
+JN!PTCL!SD@GZEh*PC'PbC@0dDACPFbjQD@jN+'Kc+6`qEQPX+5"dD'9Z#L#3#Q*
+PCfPZ#L#3$'PQ)#KMEfeYC@jdAfaPGQ9X2M!T)(4SC@i+)*!0FQ9KC'0[E@ePER3
+l#L#3$(XJGf8RGQ8JFQ9KC#"dD'8JGfK[E'8JBfpYE@9ZG#"p#L#3$'&VG'0[E@e
+PER4cG(PXC6SpBfpYE@9ZG&pZEfjP1`SJN!aPH'Pd1`SJN!TPEQ3l#L#3#@PQ)'K
+c25FR)(4SC@i+)*!+BQ9RD@i+)*!-6@9cFf&RC6%SFf0KEPphAfPXE'9RB@aIFhG
+TG'0S,#FN*bYSFbNl#L#3#Q9ZC$X+)*!'Hb"$D'9MDb"QEh)JBfpYF'PXCA)JFhG
+TG'0SCA-JI3SJN!PhD'PXC5!SE'9ZCh4S+'Kc+6da+5"KEQ3J+'-JD@iJ@bFY*b`
+R+bGG+5"NE`SJN!TLC@GTEJSJN!a)B@jNE'96GfPdBfJSD(0E-9dXBbNl#L#3$'0
+eFR*PER4IFf0KEQjPFLjbC@&NBfKKFMXJHe*PE@pfC5!V)'pb)#ep#L#3$'PQ)'-
+p*b`R)(4SC@i+)*!0BQ9RD@i+)*!2Bh9bFQ9ZG&pcBf&ZEQ9b,R*PB@4MD'&b1b!
+J)(Y5C@e[GQ8J,#"p#L#3$AXJFQ9KC#"ZCAKd)(0hDA4MD#`JFh9`F'pbG#!NGLX
+X*#Yp#L#3$fKc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'PN1`SJN!pTCL!SD(-p*bF
+T)(4SC@i+)*!3BQ9RD@i+)*!5D@BJ+'-p*b3R+5"KEQ3J+'eICR"M)'PZ)'&VG'e
+[C'9cGfPdBfKPFbNJG'KPEJSJN"0LC@GTEJSJN"9MGA*bC@jdAh0MB@jZCA)ZFQ9
+KC'0SBA)l)#"l)(0VDA!J*#"p#L#3&@Kc1MeMGA*bC@jdAh0MB@jZCA)ZFQ9KC'P
+N1`SJN"0PEQ3l#L#3%QPQ)#KSFcdR*bNJG'KPEJSJN"00CA0cB@GP-5KcBf&ZAhG
+ID@aXC@GKE&pNDA*PBh4TGQ8X*b3R+f-T1`SJN""PEQ3+)*!2C@acC3SJN""0CA0
+cB@GP-5KcBf&ZAf4ID'&ZC'aTEQGIFhGTG'0S,#FN*bYSFbNl#L#3$@9ZC!SJN!a
+PE(0P#L#3$@Kc1MdR*cX+)*!+C@jN1`SJN!Cl)'4TFQ9MG'PfCA-JE@&j)'C[E'a
+[Gb"cGfPdBfKPFb"KCR4PFL"K)#`JI3SJN!PTCL"SFc`q*bFJG'KPEJSJN!TLC@G
+TEJSJN!aTCL"ZEh3J+'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFbNJG'KPEJSJN!j
+d1MedC'PbC@0dDACPDA4PE5KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbjcC@&bBfJ
+SD(-T+3SJN!aPE(0P#L#3$R3k2A4NDA*PBh4TGQ9TG'9Y+'eKBepcBf&ZEQ9bC'P
+bC@0dDACPFbjcC@&bBfJSD(-T+6X+#L#3$'PQ)'&cFfPREQ9N+(3T)(4SC@i+)*!
+0BQ9RD@i+)*!2D@BJG#jTFepMEfjNDA4TEfjKE#"dD'9Z#L#3%'KKEQ4XC@0[EQ4
+TG'P[EQ&X+(3T#L#3$f9XFf8+)*!3BQ9RD@i+)*!56@9cFf&RC6%SFf0KEPpNAfK
+KEQ4XD@jRAh0hDA4MD#`R*#FVD(-T1`SJN"*d,R"bEf0l*'PQC'9Q)%C33e"56d0
+@39*p+#Pl*'9ZC'PQI6X+)*!3C@jN1`SJN!ePEQ3+)*!-C@acC3SJN!eLC@GTEJS
+JN!pMGA*bC@jdAh0MB@jZCA)ZD@GZEh*PC'PbC@0dDACPFbjTER0PFR3SD(-T1`S
+JN!p0CA0cB@GP-5KcBf&ZAhGID@aXC@GKE&pNDA*PBh4TGQ8X*b3R+fKc+6X+)*!
+0C@jN1`SJN!Tl)'0[EQ4TG'P[EQ&XFb"KE(*PB@4j)(*PB@3JG'KP)'0[E@ePER3
+JI3SJN!aTCL!SBh9bFQ9ZG&pcBf&ZEQ9b,Q0[E@ePER4IE'9fC@`q-#NJG'KPEJS
+JN!eMGA*bC@jdAh0MB@jZCA)ZFQ9KC'0[E@ePER3l#L#3$(XJGf8RGQ8JFQ9KC#"
+dD'8JGfK[E'8JBfpYE@9ZG#"p#L#3$'&VG'0[E@ePER4cG(PXC6SpBfpYE@9ZG&p
+ZEfjP1`SJN!TPEQ3l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@a
+P,R*PB@4MD'&b1`SJN!CLC@GTEJSJN!KM1MeTER"eG("[D@jdCA*H1`SJN!KTCL"
+M25-`)(4SC@i+)*!+FQ9XEf&N#L#3#'9XFf8+)*!+D@jM+'PZF(9dF'pTER4PFLN
+l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@aP,R*PB@4cG(*TEQF
+l#L#3"RCKFJSJN!KT)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)D6Sp-$X+)*!)FQ9
+`C@&d#L#3#Q0KFf8JBb"[CJSJN!`RAbFX#L#3$#F`*biZ*cNR,!SJN!`R35FZ,LG
+D*b!k#L#3$Q*PCfPZ#L#3%'PQ)'Nm-M8e)(4SC@i+)*!4BQ9RD@i+)*!6D@jM+'N
+T1`SJN"0[FQG`BA4dCA*Z@fPG1MeM1`SJN"0`BA4dCA*Z@fPG1MeM1`SJN"&PEQ3
+l#L#3%'-k2@PZF(9dF'pTER4PFPil#L#3%'PZBbKTER"eG("[D@jdCA)T1`SJN!j
+PEQ3l#L#3$#GK*biZ*hSR)$S+)*!1BQ9RD@i+)*!3D@BJD6`b068JG'KPEJSJN"&
+LC@GTEJSJN"0TEQ-SD5Nl#L#3%fpbCh"KG(4PFQjED9dk2@-l#L#3%h"KG(4PFQj
+ED9dk2@0SFLK[FQ3SBbNY-c)T#L#3%@9ZC$X+)*!3BcSpD@j`GA4`EfPZG'9bAMX
++)*!3D@jM+'PZF(9dF'pTER4PFLNl#L#3$Q9ZC$X+)*!-)c!J1JSJN!jbC@a[B@3
+l#L#3$'9XFf8+)*!1BR*PB@Xl#L#3#Q9ZC$X+)*!)G@jdD@`JCQ&XFf8l#L#3#'p
+bCh"KG(4PFQjE-&dk2@0SFLKT+6X+)*!)F'&dG'9bEPX`A6SpBfKb+'NT1`SJN!C
+PEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jbC@&NER9YBQ9b1`SJN!C
+fBA)+)*!)BQ&cC5`+)*!)D5!J1L"XEfjRD@jd1`SJN!CLC@GTEJSJN!KMBA0P)'-
+JEfB+)*!+*b8R)$S+)*!-BQ9RD@i+)*!1FQ9KC'0SBA)l#L#3$Q*KFf8k26)l#L#
+3$R"KG(4PFQjE-9dk25FP*cX+)*!1D6Sp-6X+)*!-C@jN1`SJN!SR*LFJ1JSJN!a
+LC@GTEJSJN!jbC@&NBfKKFMX+)*!1BQ&cC6Sp1$X+)*!1F'&dG'9bEPXaA6Sp*bB
+R1`SJN!jT1Mda1`SJN!aPEQ3l#L#3#LFN*b!k#L#3$'*PCfPZ#L#3$R*PB@4MD'&
+b1`SJN!jLBA0P1Mda0MX+)*!1F'&dG'9bEPXaA6Sp*b3R1`SJN!jT1Mda1`SJN!a
+PEQ3l#L#3#Q9XFf8+)*!-BQ9RD@i+)*!1BQ&cC6Sp-6!l#L#3$QNk26!l#L#3$'9
+ZC$X+)*!)C@jN1`SJN!KhD'PXC5!S+'*KFf8q26%`+5"KEQ3J+'-JD@iJ@bF`*bi
+Z*cNRA5NT)'pb#L#3$LJSBQ&cC6da0LNJB@jN)#KM)'PZ)&XR35FZ,LG'*b`RB5F
+Z,LGQ*edT+5"[FJSJN!iS+'*KFf8p1#NJB@jN)#KM)'PZ)&XR-#FZ,LFh*edT+5"
+[FJSJN!iS+'*KFf8p-LNJB@jN)#KM)'PZ)&XR-#FZ,LFa*edT+5"NE`SJN!PLC@G
+TEJSJN!YTCL"T2$)e05"dD'9Z#L#3$'*PCfPZ#L#3$QPZBbKT+6X+)*!1F'&dG'9
+bEPYTA6SpBcX+)*!-C@jN1`SJN!YbC@&NBfKKFMX+)*!*C@jN1`SJN!K`BA4dCA*
+Z@c"G1MeMD()SD5Nl#L#3"Q9ZC$X+#JSJN!4QG@jMG'P[EL"dFf0KEQjPFQCTE'8
+ZFQ9KC'PN1R0dFQPZCcX+)*!'BQ9RD@i+)*!)FQ9KC(0dFQPZCcX+)*!)FQ9KC'P
+N1Me`BA4dCA*Z1`SJN!CPEQ3l#JS+)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*
+PB@4fB@`kE'pZCfPZG$X+)*!'GQ&b#L#3#'`J1L"XEfjRD@jd1`SJN!Kh)$SJD@j
+dC@GPFMX+)*!'BQ9RD@i+)*!)FQ9KC'jeE@*PFMX+)*!)GQ&XD@jd+("KG(4PFQi
+XE#ah+6X+)*!)FQ9KC(CKE$SpE$X+)*!'C@jN1`S+#L#3"'CeEQ0dD@pZ)(4cBf&
+ZEQ9bCQPXC5jbC@&NGQ&XAf&cFh4bD@jR1R0dFQPZCcX+)*!'BQ9RD@i+)*!)FQ9
+KC'jeE@*PFMX+)*!)FQ9KC(CKE&pKFh0dFQPZCcSpF'&dG'9bEMX+)*!'C@jN1`S
++#L#3"'CeEQ0dD@pZ)(4cBf&ZEQ9bCQPXC5jbC@&NBfpYE@9ZG$TcG(*TEQFl#L#
+3"RCKFJSJN!KT)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)D6Sp-$X+)*!)FQ9`C@&
+d#L#3#Q0KFf8JBb"[CJSJN!`RHbFJ1JSJN!jLC@GTEJSJN""TCL"KDh4MEfeYC@j
+dFh4jE'8pBfpYE@9ZG&pdF#"dD'9Z#L#3%QPZBepMEfeYC@jdAfaPGQ9X1`SJN!j
+PEQ3l#L#3$#Gp*b!k#L#3$Q*PCfPZ#L#3%'PQ)'&VG'0[E@ePER4cG(PXC6eMEfe
+YC@jdAh4`)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&'4PBepMEfeYC@j
+dAfaPGQ9X1`SJN"4TCL"MEfeYC@jdAfaPGQ9X26!JG'KPEJSJN"CLFQ9KD`SJN"4
+PE(0P#L#3&Q0[ER4TER9P1`SJN"*PEQ3l#L#3$Q9ZC$X+)*!-*bSR)$S+)*!1BQ9
+RD@i+)*!3D@BJB@YdBfpYE@9ZG(0dH@aP2@0[E@ePER4IEfaNG(!JG'KPEJSJN"*
+LC@GTEJSJN"4bC@&NBfKKFMX+)*!8D@BJBcdR+5FJG'KPEJSJN"CLC@GTEJSJN"K
+bC@&NBfKKFMX+)*!BC'9MAf0[E@ePER4IE'9fC@`l#L#3''*bC@&V1`SJN"CPEQ3
++)*!8C@acC3SJN"4l)%&NC#"LEh4S)'0SBA*KBh4PFR-J)5&p#L#3&QPQ)#KT2$)
+e05NJG'KPEJSJN"KLC@GTEJSJN"TTEQ-SD5Nl#L#3'R*PB@4MEfeYC@jd@fPG1Md
+R+LFl#L#3'QPQ)#KT2$)e05NJG'KPEJSJN"aLC@GTEJSJN"jTEQ-SD5Nl#L#3(R*
+PB@4MEfeYC@jd@fPG1MdR+LFl#L#3('9ZC$X+)*!BC@jN1`SJN"*PEQ3+)*!3C@a
+cC3SJN""l)%j[G#"[E'3J9&!JBfpYE@9ZG#`JFfmJB@4N,LiZI3SJN"*LC@GTEJS
+JN"4TCL!SD6`b068T)(4SC@i+)*!@BQ9RD@i+)*!BD@jM+'NT1`SJN"KbC@&NBfp
+YE@9ZG&YTA6Sp*bSR1`SJN"CPEQ3l#L#3%Q9ZC$X+)*!1C@jN1`SJN!`M-6!X)c%
+c)$S+)*!1E'PZC@*bC@&V1`SJN!`M-MBJ1JSJN!jPEQ4IEfCICQPXC6X+)*!-C@a
+cC3SJN!jLC@GTEJSJN""TCL!SD6`b068T)(4SC@i+)*!5BQ9RD@i+)*!8D@jM+'N
+T1`SJN"4bC@&NBfpYE@9ZG&YTA6SpBcX+)*!5C@jN1`SJN!jPEQ3l#L#3#Q9ZC$X
++)*!+FQ9KC'0SBA)l#L#3#(9ZG'PX)'CKE(0P1`SJN!KbC@&NBfpYE@9ZG&X`A6S
+pBfKb+'NT1`SJN!CPEQ3l#JS+)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*PB@4
+aG@pdC@4cG(*TEQFkFh4bD@jR1`SJN!CfBA)+)*!)D5!k)'a[EQGTER3l#L#3#'e
+cChGbDA4dC@iJ1L"LEfpXC@&Z1`SJN!CLC@GTEJSJN!KT1Md`1`SJN!KYFfGhFQP
+dG'9Z1MeQB@acC6X+)*!)D@BJ+'-p*j!%+5"dD'9Z#L#3#Q*PCfPZ#L#3$(*PF'9
+KG!SJN!jbC@&NBfKKFMX+)*!1Bf&cC5"M)'pQ#L#3%#-b0L!k#L#3%Q9ZC&p[CPp
+QD@aP1`SJN"!M-6!X)c%c)$S+)*!56@9cFf&RC5KcBf&ZAfCIFh4bD@jRAf9iBf9
+PC(0IE'PZC5Nl#L#3%#H3"#!k#L#3%Q*PCfPZ#L#3&(*PB@4MD'&b1`SJN"4TCL"
+M2$iRN!3JG'KPEJSJN"9LFQ9KDcX+)*!5C@jN1`SJN!jPEQ3l#L#3$QPQ)'Nm-M8
+e)(4SC@i+)*!3BQ9RD@i+)*!5D@jM+'NT1`SJN"*bCA0eE(4ED9dk2@-l#L#3%'9
+ZC!SJN!jPE(0P#L#3%'*PCfPZ#L#3%QPQ)'j[G#"YFfGhFQPdG'9Z)(4SC@i+)*!
+8BQ9RD@i+)*!@6@9cFf&RC5KcBf&ZAf9IFh4bD@jRAf9iBf9PC(0I-M8eAf0SBA*
+c+6X+)*!@EA0RGh*TG(4PEMSpG(*eC6X+)*!8C@jN1`SJN"&PEQ3l#L#3$(9ZG'P
+X)'CKE(0P1`SJN!TPEQ3l#L#3#(*PFh9XG&X`A6SpBfKb+'NT1`SJN!CPEQ3l#JS
++)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*PB@4cG'&dC6TMD'&b1`SJN!CfBA)
++)*!)Fh4KG'8J1L"MD'&b1`SJN!CLC@GTEJSJN!KcG'&dC6Sp*b!R1`SJN!KTCL"
+M25FJ*b"dD'9Z#L#3#@*PCfPZ#L#3#f0eFR*PER4IFf0KEQjPFLjcDfP`Fh"KBf8
+l#L#3#f0eFR*PER4IFf0KEQjPFLjbC@&ND@3l#L#3#fPQ)("KG(4PFQip*dp1*b"
+dD'9Z#L#3$(0dBA4P1MdR+bF+)*!,C@acC3SJN!aTCL"`BA4dCA*Z25G24NBR)(4
+SC@i+)*!0Fh4KG'8k25FY*cX+)*!*C@jN#L#3#'9XFf8+)*!*Fh4KG'8k2@-l#L#
+3#'PQ)'j[G#!SFh4KG'8JD@iJ@bFV*b`R,5GG+5"dD'9Z#L#3#8ePFh0KCf8SFf0
+KEPpPAhGbEfjRAh0hDA4MD&pdEfGRE'8T1`SJN!KbC@&NFh4KG'8k2A0dBA4P1`S
+JN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)(4cBf&ZEQ9bCQPXC5jcDfP`Fh"KBf8l#L#
+3"Q*PCfPZ#L#3#(*PF'9KG!SJN!TMBA0P)'-JEfB+)*!-)c)f)$S+)*!1BQ9RD@i
++)*!3FQ9XEf&N1`SJN""TCL!SBcdM-MBT)'&ZC#"ZEh3JBA0cD@GZC@3SD@j`GA4
+QD@aP,QjPH(3T)(4SC@i+)*!5BR*PB@Xl#L#3%'0[ER4TER9P1`SJN!jPEQ3l#L#
+3$#-a-#`+)*!-)c%c)$S+)*!1E'PZC@*bC@&V1`SJN!`M15`M-6%X)c%b,#FJ*b!
+k#L#3$MX+)*!-C@acC3SJN!jLFQ9KDcX+)*!+C@jN1`SJN!TbC@&NBfKKFMX+)*!
+)G@jdD@`JCQ&XFf8l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@jZCA*QD@a
+P,R0VDA"eER4TE'4TFQ9MG'PfC6X+)*!'GQ&b#L#3#'C[G@jN)$SJE'pZCfPZG$X
++)*!)EQ9iG&pMD'&bAfa[B@4PC#!k)'*[EfaPB@il#L#3"Q*PCfPZ#L#3#@C[G@j
+N1Md`1`SJN!PZCAKdAf0SBA*IE'pKC'9N1MeQB@acC6X+)*!*FQ9`C@&d#L#3#f0
+KFf8JBb"[CJSJN!dM-6!X#L#3$5-a-b!k#L#3$faTEQ9LFQ9KDcX+)*!0)c)f)$S
++)*!2BQ9RD@i+)*!4FQ9XEf&N1`SJN"&TCL!SBcdM-MBT)'&ZC#"ZEh3JBA0cD@G
+ZC@3SD@j`GA4QD@aP,QjPH(3T)(4SC@i+)*!6C@jNAfpQAfCTE'8l#L#3%@0[ER4
+TER9P1`SJN!pPEQ3l#L#3$5Gl*b!k#L#3$f*PCfPZ#L#3%@PQ)#KKDh4MEfeYC@j
+dFh4jE'8JD@iJ@f0[E@ePER4IG(!XBfpYE@9ZG&pZEfjPA5NJG'KPEJSJN"0LC@G
+TEJSJN"9KDh4MEfeYC@jdFh4jE'8k2@0[E@ePER4IG(!l#L#3&@PQ)#KMEfeYC@j
+dAfaPGQ9X26!T)(4SC@i+)*!ACQpeEQ3k26%l#L#3&@PZBepMEfeYC@jdAfaPGQ9
+X1`SJN"0PEQ3l#L#3$f9ZC$X+)*!0*bSR)$S+)*!2BQ9RD@i+)*!4D@BJ+'&VG'0
+[E@ePER4cG(PXC6eMEfeYC@jdAfpXC(4`+5"dD'9Z#L#3%f*PCfPZ#L#3&A*PB@4
+MD'&b1`SJN"9TCL"M25FT*b"dD'9Z#L#3&f*PCfPZ#L#3'@4PBepMEfeYC@jdAfa
+PGQ9X1`SJN"PQEh9ZC$Sp-$X+)*!CB@YdBfpYE@9ZG(0dH@aP1MeMEfeYC@jdAfj
+[EQ8l#L#3&f9ZC!SJN"9PE(0P#L#3&fjPH(4IBfKKFPpXEf&NC@3k2A4bG@8l#L#
+3%f9ZC!SJN"&PE(0P#L#3%fC[G@jN)$Sp)$!l#L#3$f9ZC$X+)*!0*hdR)$S+)*!
+2BQ9RD@i+)*!4D@BJ+'&VG'0[E@ePER4cG(PXC6eMEfeYC@jdAh4`+5"dD'9Z#L#
+3%f*PCfPZ#L#3&@4PBepMEfeYC@jdAfaPGQ9X1`SJN"9TCL!SBfpYE@9ZG&pXCAC
+PE$d`+5"dD'9Z#L#3&f&VG'0[E@ePER4cG(PXC6SpBfpYE@9ZG&pZEfjP1`SJN"9
+QEh9ZC$Sp-$X+)*!6C@jN1`SJN!pPEQ3l#L#3$5FN*b!k#L#3$f*PCfPZ#L#3%@P
+Q)'C[G@jN26%JG'KPEJSJN"*QEh9ZC$Sp-MX+)*!2C@jN1`SJN!dRN!3J1JSJN!p
+TCL!SB@YdBfpYE@9ZG(0dH@aP2@0[E@ePER4IEQpZC5NJG'KPEJSJN""LC@GTEJS
+JN"*bCA"PBA3+)*!8FQ9KC'0SBA)l#L#3&'0KFf8JBb"[CJSJN"BM-MBJ1JSJN"K
+PEQ4IEfCICQPXC6X+)*!@)c%`,#-a-b!k#L#3''*bC@&V1`SJN"BRN!3J1JSJN"K
+LC@GTEJSJN"TbC@&NBfKKFMX+)*!DD@BJBc`q*j!%)(4SC@i+)*!EBQ9RD@i+)*!
+GEQ9iG&pMD'&bAfa[B@4PC$SpG(*eC6X+)*!GBR*PB@Xl#L#3'f9ZC$X+)*!BC@j
+N1`SJN"4PEQ3l#L#3%R9ZG'PX)'CKE(0P1`SJN""PEQ3l#L#3$5FS*b!k#L#3$f*
+PCfPZ#L#3%@PQ)#KKDh4MEfeYC@jdFh4jE'8pBfpYE@9ZG&pZEfjP+5"dD'9Z#L#
+3%Q*PCfPZ#L#3&(*PB@4MD'&b1`SJN"4TCL"M25FU*b"dD'9Z#L#3&@*PCfPZ#L#
+3&h*PB@4MD'&b1`SJN"GTCL"M25FN*b"dD'9Z#L#3''*PCfPZ#L#3'QC[G@jN1Md
+b1`SJN"TTEQ0IBfpYE@9ZG&pXCACPE$X+)*!DB@YdBfpYE@9ZG(0dH@aP1MeMEfe
+YC@jdAfpXC(4`1`SJN"KPEQ3+)*!AC@acC3SJN"KLC@GTEJSJN"TcDfP`EfaNG("
+MEfeYC@jd1`SJN"TZCAKdAf0SBA*IE'pKC'9N1MedFR9P1`SJN"KPEQ3l#L#3&@9
+ZC!SJN"4PE(0P#L#3&@jPH(4IBfKKFPpXEf&NC@3k2A4bG@8l#L#3%Q9ZC!SJN"&
+PE(0P#L#3%QC[G@jN1Md`1`SJN!pPEQ3l#L#3$5F[*b!k#L#3$f*PCfPZ#L#3%@P
+Q)#KKDh4MEfeYC@jdFh4jE'8pBfpYE@9ZG&pZEfjP+5"dD'9Z#L#3%Q*PCfPZ#L#
+3&(*PB@4MD'&b1`SJN"4TCL"M25F[*b"dD'9Z#L#3&A0VDA"NC@a`D'PMEfeYC@j
+d1`SJN"4ZCAKdAf0SBA*IE'pKC'9N1MedFR9P1`SJN"*PEQ3+)*!4C@acC3SJN"*
+QEh9ZC$Sp-$X+)*!2C@jN1`SJN!ePE(0P#L#3$fC[G@jN1Md`1`SJN!YPEQ3l#L#
+3#fPQ)'jPH(4IBfKKFPpXEf&NC@3JG'KPEJSJN!eZCAKdAf0SBA*IE'pKC'9N1Me
+QB@acC3SJN!YPE(0P#L#3$A*PB@4MD'&b1`SJN!PeER4TE#!SCQpeEQ3p-LNl#L#
+3"Q9ZC$X+#JTl+T"-#L#3(80[E@ePER3J5'&ZC'aTEQF++T"-I3S+)*!%F(*[Bf9
+NGA*P)(4cBf&ZEQ9bCQPXC5jcDfP`BfpYE@9ZG$X+)*!'BQ9RD@i+)*!)B@YdBfp
+YE@9ZG(0dH@aP1MeMEfeYC@jdAh4`1`SJN!KbC@&NBfKKFMX+)*!)D@jMAf0[E@e
+PER4IE'9fC@`l#L#3"RXJD'&ZC'aP)'0[EA"TE'9b)(0hDA4MD'9c)(d+)*!)D@B
+J+'-p*b3R+5"dD'9Z#L#3#@KKEQ4XC@4TFQ9MG'PfCA-l#L#3"RXJD'&ZC'aPAh0
+hDA4MD'9c)'0KEL"NC@-JBfpYE@9ZG&pXCACPE#`J)(d+)*!)GfKTE'8J+'0[E@e
+PER4IE'9fC@`q-#NJC'm+)*!*BQ9RD@i+)*!,Bf&cC5"M)'pQ#L#3$#Gl*b!k#L#
+3$QPZBepMEfeYC@jdAfaPGQ9X1`SJN!`RI5FJ1JSJN!jNC@0IBfpYE@9ZG&pXCAC
+PE$X+)*!-)c%`,#-a-b!k#L#3$QaTEQ9LFQ9KDcX+)*!-)c)f)$S+)*!1BQ9RD@i
++)*!3FQ9XEf&N1`SJN""TCL!SBcdM-MBT)'&ZC#"ZEh3JBA0cD@GZC@3SD@j`GA4
+QD@aP,QjPH(3T)(4SC@i+)*!5C@jNAfpQAfCTE'8l#L#3%'0[ER4TER9P1`SJN!j
+PEQ3l#L#3#f9ZC$X+)*!,FQ9KC'0SBA)l#L#3#@9ZC$X+)*!)B@YdBfpYE@9ZG(0
+dH@aP1MeMEfeYC@jdAfj[EQ8l#L#3"Q9ZC$X+#JSJN!4`FQpMC@4eFQ8JG(0MB@j
+ZCA*QD@aP,R0VDA"NC@a`D'PMEfeYC@jd1`SJN!CLC@GTEJSJN!KKDh4MEfeYC@j
+dFh4jE'8k2@0[E@ePER4IC'9XF'KT1`SJN!KTEQ0IBfpYE@9ZG&pXCACPE$X+)*!
+)FQ9KC'0SBA)l#L#3#(XJG'KTFb"TFb"ZEh3JFh9`F'pbG'9N)(d+)*!)D@BJBcd
+R*#FJG'KPEJSJN!T0CA0cB@GP+(0MB@jIGephFQpZCepcG(PXC@4IFhGTG'0S+6X
++)*!)Hb"cDfP`)'0[E@ePER3JI3SJN!KhD'PXC5"ZEh3J+'-JD@iJ@b-a-#`M-6-
+X)c)fA5NJC'm+)*!+FQ9KC'0SBA)l#L#3#'4PBepMEfeYC@jdAfaPGQ9X1`SJN!K
+KDh4MEfeYC@jdFh4jE'8k2@0[E@ePER4IEQpZC6X+)*!'C@jN1`S+#L#3"("bEf0
+PC(9bC5"dFf0KEQjPFQCTE'8ZFfYTF'pXC(4`BfpYE@9ZG$X+)*!'GQ&b#L#3#'C
+[G@jN)$SJE'pZCfPZG$X+)*!'BQ9RD@i+)*!)B@YdBfpYE@9ZG(0dH@aP1MeMEfe
+YC@jdAfpXC(4`1`SJN!KTEQ0IBfpYE@9ZG&pXCACPE$X+)*!)Hb"[EQaj)'a[B@3
+JB5"MD'&b)'PQ)'aKFh3JB@abC@&NH5"`FQpMCA0cC@3X#L#3#RGKFb"MBA9cC5"
+[CL"LG@Fa0M-d)&"0)(d+)*!)D@BJBcdM-#"dD'9Z#L#3#R*PB@4MD'&b1`SJN!C
+l)(4SDA-JDA-JEQph)(0eF("[FR4PC#"p#L#3#'PQ)#KM25FN*bNJG'KPEJSJN!P
+SB@jNE'9NDA*PBh4TGQ9c1`SJN!Cl)(0VDA!JBfpYE@9ZG#"p#L#3#(GSD@aP)#K
+MEfeYC@jdAfaPGQ9X2M!T)'4[#L#3#@*PCfPZ#L#3#fC[G@jN1Md`1`SJN!YbCA"
+PBA3+)*!0Bf&cC5"M)'pQ#L#3$b-b0L!k#L#3%@*PCfPZ#L#3%h*PE'pKC$X+)*!
+6D@BJ+'-p)c)f+5"KEQ3JEQpd)'&cFfPREQ9N+'PZF(9dCQPXC5jZCAKd+5"dD'9
+Z#L#3&@9ZC&p[CPpQD@aP1`SJN"0MEfjdD@jeC6X+)*!4C@jN1`SJN!mM-6!X)c%
+c)$S+)*!4E'PZC@*bC@&V1`SJN!mR+LFJ1JSJN"&LC@GTEJSJN"0TCL"QEh9ZC$d
+c)(4SC@i+)*!8CQpeEQ3k263+)*!6C@acC3SJN"4QEh9ZC$Sp-6X+)*!4C@jN1`S
+JN!mR+5FJ1JSJN"&LC@GTEJSJN"0TCL"QEh9ZC#"TEL"E-5`dA5"dD'9Z#L#3&'*
+PCfPZ#L#3&Q4PBepMEfeYC@jdAfaPGQ9X1`SJN"CTCL"MEfeYC@jdAfaPGQ9X26!
+JG'KPEJSJN"GQEh9ZC$Sp-JSJN"CPE(0P#L#3&fC[G@jN1Md`1`SJN"4PEQ3l#L#
+3%@9ZC$X+)*!2*bJR)$S+)*!4BQ9RD@i+)*!6D@BJCQpeEQ3p0#"dD'9Z#L#3&'P
+ZBepMEfeYC@jdAfaPGQ9X1`SJN"0QEh9ZC$Sp-cX+)*!4C@jN1`SJN!pPE(0P#L#
+3%@*PCfPZ#L#3%fPQ)'C[G@jN263JG'KPEJSJN"4TEQ0IBfpYE@9ZG&pXCACPE$X
++)*!6CQpeEQ3k26!l#L#3%@9ZC$X+)*!0C@jN1`SJN!ebC@&NBfKKFMX+)*!,G@j
+dD@`J+'C[G@jN26)T1`SJN!PPEQ3l#L#3#'&VG'0[E@ePER4cG(PXC6SpBfpYE@9
+ZG&pZEfjP1`SJN!CPEQ3l#T!%HbU36!SJN"p8EfYPEL"6Bf&ZEQ9b#LU36(d+#L#
+3"("bEf0PC(9bC5"dFf0KEQjPFQCTE'8ZFQ9KC(4[Df9Z1`SJN!CfBA)+)*!)Bfp
+NC5#3"$SJD@jdC@GPFMX+)*!)E'9Z,!SJN!KXEhFXD'PRD#aYD@3J1L"XEfjRD@j
+d1`SJN!KY)*!(1L"XEfjRD@jd1`SJN!KYB@-JN!8k)(4YB@0bEcX+)*!)BA0MD@P
+ZFL!k)(0dFQPZCeXfA6X+)*!)EA0RGh*TG(4PEL`+)*!)DA0hD@4PFh4bD@jR)$S
+JBQp[E'9KEMX+)*!'E'&LC@`+)*!*CAKTG&pXB@*PE$X+)*!'BQ9RD@i+)*!)D@B
+JE'pMB@acGfPdBfKPFf0SB@jRC@3JG'KPEJSJN!TLC@GTEJSJN!aKDh4XEf0KE(0
+hDA4MD'9c1MeZCAKdB@YdE'pMB@acGfPdBfKPFcX+)*!-E'pMB@acGfPdBfKPFf0
+SB@jRC@3k2@CKE(0P1`SJN!TPEQ3l#L#3"RXJGf&c)(4SCA*P)'&XFQ9KC(NJB5"
+dEfYPEL"bC@&N,#"dD'9Z)(*PG(9bEL"dD'&d)(4[Df9Z)(d+)*!)D@BJEQ9iG(4
+[Df9Z2$j16e425d91)(4SC@i+)*!*BQ9RD@i+)*!,G'pVC@ik2@jPH(4dEfYPEMX
++)*!,EQ9iG(4[Df9Z1Me16e425d911`SJN!YREh4[)'9iDA4IE'&LC@`l#L#3#@9
+ZC$X+#L#3"RXJ8fYTF#"KE'`JFh"KBf9c)'&ZC#"MEfeYC@jdFb"p#L#3#(*PF'9
+KG!SJN!TMBA0P)'-JEfB+)*!-*hXR)$S+)*!1FfYTF'0[E@ePER3l#L#3$#-b0L!
+k#L#3$Q*PCfPZ#L#3%(*PE'pKC$X+)*!3D@BJ+'-p)c)f+5"KEQ3JEQpd)'&cFfP
+REQ9N+'PZF(9dCQPXC5jZCAKd+5"dD'9Z#L#3%Q*bC@&V1`SJN!jPEQ3l#L#3$#F
+J*b`M15iZ)c%c)$S+)*!1BQ9RD@i+Hb4TCQ4PCL"38N938Np$9e**9%9p#L#3%'P
+Q)("KFQ&`FQ9`FQpMCA0c)(4SC@i+)*!4BQ9RD@i+)*!6D@BJBcdM-6!JG'KPEJS
+JN"4`FQ9`FQpMCQPXC5jPEfaQEh9ZC$SpG(*eC3SJN"0PE(0P#L#3&("bCA"bEf0
+QD@aP,R0`B@0PCQpeEQ3k2A4bG@8l#L#3%@9ZC$X+Hb4PEQ4TCL"38N938Np$9e*
+*9%9p#L#3%(0VDA"cF'&MC6X+)*!1C@jN#L#3$'9XFf8+)*!1BR*PB@Xl#L#3#Q9
+ZC$X+)*!)G@jdD@`JCQ&XFf8l#JSJN!Cl)&0KGQ8JBh9bFQ9ZG#"dEfYPEL"`Eh0
+TG'P[EL`JCQpb)%924L"TG(-JB@abC@&NH5"XEf&NC@3JI3SJN!KTCL"M2$iM-MB
+JG'KPEJSJN!TRCA4dEfYPER"[FcX+#L#3"RXJ3fKPBfXJCQPbFh3JCQpb)'%JD@4
+PER4TCQPPFLpVCAPhEh*N,#"dD'Pc)'Pc)$)`+b8JCQ&cG'9b)#K34PBT)(d+)*!
+)D@BJBb"TEL"E*d%R,LiR@LFX*f%R,LiRHLFX*emRA5"dD'9Z#L#3#@*PCfPZ#L#
+3#h*PB@4cG(*TEQFl#L#3#h4[Df9Z1MeI583l#L#3#fPNG'pVC@ik29p*4$X+)*!
+*Hb"VCAPhEh*N)'pb)'&ZH5"[G'KPFL"VEQphEL"dEfYPEL`+)*!,F'&dG'9bEL"
+TFb"KE(GKHA-JGA"`CA*MBA0PC#"p#L#3#fPQ)#K`BA4dCA*Z@c&G2$iRAbFT)'&
+ZC#!SE'9ZCh4S+("KG(4PFQiT)'PZ)&YdEfYPEQaPEQeTELiZG'pVC@jXC@jYBAK
+G+5"dD'9Z#L#3$'*PCfPZ#L#3$Qa[GcSpEh*N+(4[Df9ZD@4iAPYXC@jRG'JSF'&
+dG'9bELNXF'&dG'9bEPXaA9dZCQPbFh3T1`SJN!jSD@GS1Me[FQ3SG'pVC@jTC(K
+H@faPEQGdD#K`BA4dCA*Z+5a`BA4dCA*Z@c&GA5jXBA0d+6X+)*!1GfKTE'8JE'p
+h2'KTCfJJC'm+)*!2BQ9RD@i+)*!4E@PN1MdSD'PRD#YXEhFV-5NJFfKb)$%l#L#
+3%@PQ)("KG(4PFQimG'pVC@jTEQC[APYdG'pVC@iSE@PN+9dZFh4b)(4SC@i+)*!
+5D'PRD$SpE@PN,6%+)*!4C@acC3SJN"*XEhFk2@eTC$X+)*!2C@jN1`SJN!jhDA4
+S)(4[Df9ZD@jQEejEG(4[Df9Z+'KTCfJTA5"NE`SJN""TCL"`BA4dCA*Z2A0dFL"
+dD'9Z#L#3%Q*PCfPZ#L#3&'PQ)'YPHAG[FQ3JD@iJB@YdE@pNCA0hDA4MD'9c)(4
+SC@i+)*!@D@BJEh!p6Np86dY&6L"dD'9Z#L#3'(4[Df9Z1MedG'pVC@iSD'PRD#N
++)*!@C@acC3SJN"KdEfYPEMSpEh!l#L#3&'PNG'pVC@ik2A4dEfYPELKSD@GS+6X
++)*!5C@jN1`SJN!aPEQ3l#L#3#AXJ6fjXH5"`FQpMCA0c)'PNC@jdD@CTCA*c)'&
+ZC#"ZEh3JDf9jGfpbC(-JI3SJN!YTCL"dEfYPEMeI583JG'KPEJSJN!aLC@GTEJS
+JN!al)(4SDA-JG'&VCA-JFfpYC5"dD@eP)#iZ,L"p#L#3$QPQ)#KMFepcGA"`Eh*
+dAfeKBh*[)'PZ)'&VG'e[C(9XCA0hDA4MD'9c+5"dD'9Z#L#3$f*PCfPZ#L#3%@e
+KBcSpG'eKBh*[+'eKBh*[FbjcC@&bBfJSF'&dG'9bELNT1`SJN"&TCL"KFh0TCfj
+PC#KYB@-T)'&ZC#!SBA0cD@GZC@3SE@&M,Q*eCR4PH(3T+5"dD'9Z#L#3%Q*PCfP
+Z#L#3&'PQ)(PjE'9iBfpeER3mE@&iAfeKBh*[AfjPFh4TEQFJG'KPEJSJN"9LC@G
+TEJSJN"GTEQ-SHAPXCAKMEh9ZG#Nl#L#3&fPZFf9bG'eKBh*[+("KG(4PFQiXE@&
+M,Q*eCR4PH(3XE@&M,Q*eCQaPEL`+)*!CE@&M,QCTE'9TEQC[,QaTEQ8XE@&M,QC
+TE'9TEQC[,QCTE'9TEQ4PH#Nl#L#3&AXJD'&ZC'aP)'9YF(4j)'eKBh*[Fb"p#L#
+3&fPQ)'-p)c!JG'KPEJSJN"PbC@a[B@3l#L#3&h*PB@4dEfYPEMX+)*!AHb"dD'&
+d*h-JB@aX)'C[E'Yc)(d+)*!AC'9M+(PjE'9iBfpeER3T1`SJN"GPH'Pd1`SJN"9
+PEQ3+)*!8C@acC3SJN"90CA0cB@GP+(0MB@jIGepYB@0bEepNC@9`Ah4PELNl#L#
+3%Q9ZC$X+)*!2C@jN1`SJN!aPEQ3l#L#3#AXJFQ9dGA*Z)(4[Df9Z)(d+)*!,Cfp
+dEb"PH'PdAfaKBQ9X1`SJN!PPEQ3+)*!)C@acC3SJN!PLC@GTEJSJN!YTC(4[Df9
+Z1MeI6Np*4$X+)*!,Bf&cC5"M)'pQ#JSJN!dR*#FJ1JSJN!pLC@GTEJSJN"&bC@&
+NER9YBQ9b1`SJN"&dEfYPEMSpAdP19%026P081`SJN"&REh4[)'9iDA4IE'&LC@`
+l#L#3$f9ZC$X+#L#3$5FP*b!k#L#3$f*PCfPZ#L#3%@PQ)'j[G#KYAfC`Bb"TEL"
+KDh4YEf4PFhGTG'0SCA-T)(4SC@i+)*!55@aXC@GKE&p$D'&b+'-T#L#3%@9XFf8
++)*!5BQ9RD@i+)*!8FQ9KC'jeE@*PFMX+)*!8G'pVC@ik29p*6P4$6dj69$X+)*!
+8CfpdEb"PH'PdAfaKBQ9X1`SJN"*PEQ3l#L#3$f9ZC$X+#L#3$5FQ*b!k#L#3$f*
+PCfPZ#L#3%@PQ)'eICR"M)'PZ)'&VG'e[C'9cGfPdBfKPFb"dD'9Z#L#3%Q*PCfP
+Z#L#3&(*PB@4ZG@eLCA)l#L#3&(4[Df9Z1MeI58j83dp18e3l#L#3&'G[G'mJCAK
+TG&pXB@*PE$X+)*!5C@jN#L#3%@9XFf8JD@BJE9pYB@-JD@iJB@YdE@pNCA0hDA4
+MD'9c)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&(4[Df9Z1MeI38e349*
+638j%1`SJN"4REh4[)'9iDA4IE'&LC@`l#L#3%Q9ZC!SJN"&PE(0P#L#3%NPXE'9
+RB@aI3fKKFLKM+6X+)*!2C@jN1`S+)*!0*c!R,LiR15FJ1JSJN!pLC@GTEJSJN"&
+bC@&NER9YBQ9b1`SJN"&TCL!SBb"TEL"E*biR,#GP*b`R45GG+5"dD'9Z#L#3%Q*
+PCfPZ#L#3%RXJCQPbFh3JBfKPBfXJCQpb)'%J,L"p#L#3&'PQ)'-p*biR)(4SC@i
++)*!9BQ9RD@i+)*!AFQ9KC'0SBA)l#L#3&hXJDA-JDA3JB5!Z,L"QFQpY)'%JFQ&
+ZCf8r)(d+)*!ABf&cC5"M)'pQ#L#3'5FZ*b!k#L#3'f*PCfPZ#L#3(A*PB@4MD'&
+b1`SJN"edEfYPEMSpAdP19%026P081`SJN"eZCAKdG'pVC@ik29p36dP19&"258j
+81`SJN"eREh4[)'9iDA4IE'&LC@`l#L#3'f9ZC$X+)*!C*bNR)$S+)*!EBQ9RD@i
++)*!GFQ9KC'0SBA)l#L#3(A4[Df9Z1MeI58j83dp18e3l#L#3(@jPH(4dEfYPEMS
+pAe*&3dY,6%&068951`SJN"eREh4[)'9iDA4IE'&LC@`l#L#3'f9ZC$X+)*!AC@j
+N1`SJN"Gl)'PZFf9bG#"dD'8JER9YBQ9b)'&QG'9b)(4SC5!Z)(d+)*!AF'&dG'9
+bEMSpF'&dG'9bELXR,LFl#L#3&hGSD@aP)'-JD@iJ@bF`*biZ*cNRA5"NE`SJN"K
+LC@GTEJSJN"T`BA4dCA*Z1Me`BA4dCA*Z+f-l#L#3'R*PB@4MD'&b1`SJN"KPEQ3
+l#L#3&Q9ZC$X+)*!5Hb"&)'0KEL"KE(0[)'C[E'a[Gb"KCR4PFL"K)("[D@jd)'P
+c)(0MB@jZC@3JI3SJN"4TCL"M)'PZ)&XRC5FX*d8RA5"dD'9Z#L#3&@*PCfPZ#L#
+3&h"KG(4PFQik2A"KG(4PFQiV*d8R1`SJN"GbC@&NBfKKFMX+)*!AD@BJBb"TEL"
+E*bdR,#FV*edJG'KPEJSJN"KLC@GTEJSJN"T`BA4dCA*Z1Me`BA4dCA*Z+f-l#L#
+3'R*PB@4MD'&b1`SJN"KPEQ3l#L#3&fPQ)'j[G#KM)'PZ)&XR-#FZ,LFj*edT)(4
+SC@i+)*!B5@aXC@GKE&p$D'&b+'-T1`SJN"GhD'PXC5"M)'PZ)&XR-#FZ,LFj*ed
+JC'm+)*!BBQ9RD@i+)*!DF'&dG'9bEMSpF'&dG'9bELYM1`SJN"TbC@&NBfKKFMX
++)*!BC@jN1`SJN"9PEQ3l#L#3&(4[Df9Z1MeI8N9"6%j968*&8MX+)*!8CfpdEb"
+PH'PdAfaKBQ9X1`SJN"*PEQ3l#L#3%A4[Df9Z1MeI58j83dp18e3l#L#3%@G[G'm
+JCAKTG&pXB@*PE$X+)*!2C@jN1`S+)*!0*cXR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0
+SBA)l#L#3%A4[Df9Z1MeI8d9058026%p11`SJN"&REh4[)'9iDA4IE'&LC@`l#L#
+3$f9ZC$X+#L#3$5GE*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&b1`SJN"&dEfYPEMS
+pAda&3dY,6%&068951`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5G
+G*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&b1`SJN"&dEfYPEMSpAe*&3dY,6%&0689
+51`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5FS*b!k#L#3$f*PCfP
+Z#L#3%A*PB@4MD'&b1`SJN"&MBA0P)'-JEfB+)*!6*bSR)$S+)*!9BQ9RD@i+)*!
+ABcSp)c!lHe0TCfjKE#"cDfP`EfaNG("MEfeYC@jd)(4[)(*PE'pKC#"K)'0SBA)
+JI3SJN"GcDfP`EfaNG("MEfeYC@jd1`SJN"GbC@&NG'pVC@il#L#3&f9iDA3l#L#
+3&@9ZC$X+)*!6*biR)$S+)*!9BQ9RD@i+)*!AFQ9KC'0SBA)l#L#3&h4[Df9Z1Me
+I6%9$5dY-38e049)l#L#3&fG[G'mJCAKTG&pXB@*PE$X+)*!9C@jN1`SJN"&PEQ3
+l#L#3%A4[Df9Z1MeI6%Y-38e049)l#L#3%@G[G'mJCAKTG&pXB@*PE$X+)*!2C@j
+N1`S+)*!0*bNR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%A4[Df9Z1MeI8NY
+-38e049)l#L#3%@G[G'mJCAKTG&pXB@*PE$X+)*!2C@jN1`S+)*!0*bXR)$S+)*!
+2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%@PQ)#KM25Fp*bNJB@jN)#KMFepcGA"`Eh*
+dAf0IEh"PFQ&dEh*c)'PZ)'&VG'e[C(9XCA0hDA4MD'9c+5"dD'9Z#L#3%Q*PCfP
+Z#L#3&(*PB@4MD'&b1`SJN"4dEfYPEMSpAe"-990"8dil#L#3&'G[G'mJCAKTG&p
+XB@*PE$X+)*!5C@jN1`SJN"&dEfYPEMSpAe"-99-l#L#3%@G[G'mJCAKTG&pXB@*
+PE$X+)*!2C@jN1`S+)*!0*bdR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%@P
+Q)#KM25Fp*bNJB@jN)#KMFepcGA"`Eh*dAf0IEh"PFQ&dEh*c)'PZ)'&VG'e[C(9
+XCA0hDA4MD'9c+5"dD'9Z#L#3%Q*PCfPZ#L#3&(*PB@4MD'&b1`SJN"4dEfYPEMS
+pAde*6P9639011`SJN"4REh4[)'9iDA4IE'&LC@`l#L#3%Q9ZC$X+)*!4G'pVC@i
+k29p058j98cX+)*!4CfpdEb"PH'PdAfaKBQ9X1`SJN!pPEQ3l#JSJN!dR1LFJ1JS
+JN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!4D@BJBcdR25FJG'KPEJSJN"*LC@GTEJS
+JN"4bC@&NBfKKFMX+)*!8G'pVC@ik29p"8e0*4dj048j81`SJN"4REh4[)'9iDA4
+IE'&LC@`l#L#3%Q9ZC$X+)*!4G'pVC@ik29p$6da26MX+)*!4CfpdEb"PH'PdAfa
+KBQ9X1`SJN!pPEQ3l#JSJN!dR+LFJ1JSJN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!
+4D@BJ+'-p*cdR+5"KEQ3J+'0cAh0eF("[FR4IBep[F'9bBA4[FR-JD@iJB@YdE@p
+NG@aPFhGTG'0SCA-T)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&(4[Df9
+Z1MeI8e4"8N&66MX+)*!5C@jN#L#3%@9XFf8+)*!5D@BJBcdR+LFJG'KPEJSJN"0
+LC@GTEJSJN"9bC@&NBfKKFMX+)*!9G'pVC@ik29p69%&58e4"8MX+)*!6C@jN#L#
+3%@9XFf8+)*!5G'pVC@ik29p69%&51`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9
+ZC$X+#L#3$5F[*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&b1`SJN"&MBA0P)'-JEfB
++)*!6*cdR)$S+)*!9BQ9RD@i+)*!AD@BJ+'0cAh0eF("[FR4IBep[F'9bBA4[FR-
+JD@iJB@YdE@pNG@aPFhGTG'0SCA-T)(4SC@i+)*!BBQ9RD@i+)*!DFQ9KC'0SBA)
+l#L#3'R4[Df9Z1MeI8da"8dK"8dil#L#3'QG[G'mJCAKTG&pXB@*PE$X+)*!BC@j
+N1`SJN"9PEQ3l#L#3%bF[*b!k#L#3&@*PCfPZ#L#3&h0VDA"NC@a`D'PMEfeYC@j
+d1`SJN"GbC@&NG'pVC@il#L#3&f9iDA3l#L#3&@9ZC$X+)*!4C@jN1`SJN"&dEfY
+PEMSpAe0-390)1`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5Gm*b!
+k#L#3$fPQ)'eIE@&M)'PZ)'&VG'e[C'9cGfPdBfKPFb"dD'9Z#L#3%'*PCfPZ#L#
+3%R*PB@4MD'&b1`SJN"*dEfYPEMSpAe"*8%8l#L#3%QG[G'mJCAKTG&pXB@*PE$X
++)*!3C@jN#L#3$f9XFf8+)*!35@aXC@GKE&p$D'&b+'-T1`S+)*!0*cdR)$S+)*!
+2BQ9RD@i+)*!4FQ9KC'0SBA)l#L#3%A4[Df9Z1MeI49&938`l#L#3%@G[G'mJCAK
+TG&pXB@*PE$X+)*!2C@jN1`S+)*!0*biR)$S+)*!2BQ9RD@i+)*!4FQ9KC'0SBA)
+l#L#3%@0KFf8JBb"[CJSJN"-R,LFJ1JSJN"9LC@GTEJSJN"GbC@&NBfKKFMX+)*!
+ABf&cC5"M)'pQ#L#3'5FZ*b!k#L#3'@*PCfPZ#L#3'h*PB@4MD'&b1`SJN"YdEfY
+PEMSpAe"258j88%p*6P436dP19$X+)*!ECfpdEb"PH'PdAfaKBQ9X1`SJN"PPEQ3
+l#L#3&f9XFf8+)*!CBQ9RD@i+)*!EG'pVC@ik29p36dP19&"258j81`SJN"YREh4
+[)'9iDA4IE'&LC@`l#L#3'@9ZC$X+)*!AC@jN1`SJN"9PEQ3l#L#3%bFT*b!k#L#
+3&@*PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMSpAe*&3dY,6%&068951`SJN"G
+REh4[)'9iDA4IE'&LC@`l#L#3&@9ZC$X+)*!4C@jN1`SJN"&dEfYPEMSpAe"258j
+81`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5G!*b!k#L#3$f*PCfP
+Z#L#3%A*PB@4MD'&b1`SJN"&dEfYPEMSpAdY-38e049*"4NC&1`SJN"&REh4[)'9
+iDA4IE'&LC@`l#L#3$f9ZC$X+#L#3$5FX*b!k#L#3$f*PCfPZ#L#3%A*PB@4MD'&
+b1`SJN"&dEfYPEMSpAd0268e"1`SJN"&REh4[)'9iDA4IE'&LC@`l#L#3$f9ZC$X
++#L#3$5H3"#`R)bFX*eiR)$S+)*!2BQ9RD@i+)*!4E'9Z1Md`1`SJN"&YFfGhFQP
+dG'9Z1MeQB@acC6X+)*!4F'&dG'9bEMSp*bFl#L#3%@PcGfPNCA0dFQPZCcSpCQ&
+XFf8l#L#3%@PQ)'-p*eiR)(4SC@i+)*!5BQ9RD@i+)*!8FQ9KC'0SBA)l#L#3&'-
+k2A9`Bf&cC5KM+6X+)*!8D@BJ+'*XEf0VAh4jF'8pBR4IG(P`C5NJEh)+)*!A+'a
+KFh4dEfYPEMeI583T)'pb)#KXBA0dG'pVC@ipAdj*6#NJEh)+)*!A+'aKFh4dEfY
+PEMeI8NY-38e049)T)'pb)#KXBA0dG'pVC@ipAe*&3dY,6%&06895+5"[FL!SE'&
+cG(4[Df9Z29p$39*&9#NJG'KPEJSJN"9LC@GTEJSJN"GdEfYPEMSpAd0"8N981`S
+JN"GREh4[)'9iDA4IE'&LC@`l#L#3&@9ZC!SJN"4PE(0P#L#3&@*PCfPZ#L#3&fP
+ZBbKXC@iT1`SJN"GTCL"M2#-f0#"dD'9Z#L#3'("KG(4PFQjEE'9ZA6SpBfKb+'p
+bC#KM+5Xf0#N+)*!AC@acC3SJN"K`BA4dCA*Z@faPEPdk2@0SFLK[FQ3SBbNY0M3
+T1`SJN"GbC@&NBfKKFMX+)*!9C@jN1`SJN"*PEQ3l#L#3%A*PF'9KG!SJN"0MBA0
+P)'-JEfB+)*!9*b-R)$S+)*!ABQ9RD@i+)*!CFQ9KC'0SBA)l)(XJFQ9KC#!M)(d
++)*!CD@BJBcdR*#FJG'KPEJSJN"YLC@GTEJSJN"jbC@&NBfKKFMXJHb"bC@&N)'a
+PB@4TEQFJ*#"p#L#3(Q&cBfPTER)k25FN*cX+)*!HGfKTE'8J+(9`Bf&cC5KM+5"
+TEL"E*d%R,LiR4LFX*c!R,LiR15GG+5"KEQ3J+'aPEQGdD#KKFf0TD@jb+6`f+5"
+NE`SJN"pLC@GTEJSJN#&KFf0TD@jb1MeKFf0TD@jb+f-l#L#3)A*PB@4MD'&b1`S
+JN"pPEQ3l#L#3'f9ZC!SJN"PPE(0P#L#3'f*PCfPZ#L#3(Q&cBfPTER)k25FR1`S
+JN"jhD'PXC5!SBb"TEL"E*c!R,LiR15GG+5"KEQ3J+'aPEQGdD#KKFf0TD@jb+6`
+f+5"NE`SJN"pLC@GTEJSJN#&KFf0TD@jb1MeKFf0TD@jb+f-l#L#3)A*PB@4MD'&
+b1`SJN"pPEQ3l#L#3'f9ZC$X+)*!CGQ&XD@jd+'&cBfPTER)XE5aMEf4P+6X+)*!
+CD@BJ+'&cBfPTER)p*bFT)'pb)#KMEf4P2$i`+5"dD'9Z#L#3'dePFh0KCf8SFf0
+KEPpPAfPXE'9RB@aIBfKKFPpMEfjcG#N+)*!CC@acC5"TCL!SE6``+5"[FL!SE6i
+b068T)'pb)#KXC@jRG'JSBA0MD@PZFLNq-bNJG'KPEJSJN"YLC@GTEJSJN"jTCL!
+SE6ip-#NJB@jN)#KY2$df068c05NJG'KPEJSJN#"LC@GTEJSJN#*TCL"ZEh3JDA0
+hD@4PFh4bD@jR)(4SC@i+)*!MBQ9RD@i+)*!PBA0MD@NbG@jTBfpNC5K!F'&dG'9
+bEPXaA5aXC@iXF'&dG'9bERFT1`SJN#9TFhGTC'9cG(*TEQFk2A4bG@8l#L#3*@a
+PEMSp-$X+)*!MC@jN1`SJN#*MEfjMBA4hD@4PFh4bD@jRBfKKFLK`BA4dCA*ZGba
+dBfpYF'PXCA*hD@4PBfKKFLKY+5Nl#L#3)'9ZC!SJN"jPE(0P#L#3)%ePFh0KCf8
+SFf0KEPpPAfPXE'9RB@aIBfKKFPpMEfjcG#N+)*!EC@jN#L#3'@9XFf8JD@BJDA0
+hD@4PFh4bD@jR)(4SC@i+)*!EBfpZBf&dGfPNCA0dFQPZCf0SBA)SF'&dG'9bERF
+XBA0MD@PMD'&b-R9ZD@0[C'8SBfKKFLKY+5NT#L#3'@9XFf8+)*!EBQ9RD@i+)*!
+GD@BJE'9Z2$)e05"dD'9Z#L#3(Q*PCfPZ#L#3)'PZBbKXC@iT1`SJN#"`BA4dCA*
+Z@faPEPdk2@0SFLKY+6X+)*!HC@jN#L#3(@9XFf8+)*!HBQ9RD@i+)*!JD@BJEQp
+d)'ecChGbDA4dC@iJG'KPEJSJN#&LC@GTEJSJN#00CA0cB@GP+(0MB@jIC9pcG(*
+TEQGICAKMC@9NFemb069IBfKKFR-T1`SJN#0YFfGhFQPdG'9Z1MedFR9P1`SJN#&
+PEQ3l#L#3(Q9ZC$X+)*!EC@jN1`SJN"GPEQ3l#L#3&5H3"#!k#L#3&f*PCfPZ#L#
+3'A*PF'9KG!SJN"YbC@&NBfKKFMX+)*!EBf&cC5"M)'pQ#L#3(5-b0L!k#L#3(f9
+ZC&p[CPpQD@aP1`SJN"dM-6!X)c%c)$S+)*!I6@9cFf&RC5KcBf&ZAfCIFh4bD@j
+RAf9iBf9PC(0IE'PZC5Nl#L#3(5H3"#!k#L#3(f*PCfPZ#L#3)A*PB@4MD'&b1`S
+JN#&TCL"M2$iRN!3JG'KPEJSJN#*LFQ9KDcX+)*!IC@jN1`SJN"YPEQ3l#L#3'fP
+Q)'PcGfPNCA0dFQPZCb"dD'9Z#L#3(@0[EQ0KG(GTC'9cG(*TEQGMD'&b+("KG(4
+PFQjh,'&cBfPTBfKKFM*eEQPMEf4P+'-T+3SJN"YPE(0P#L#3(@*PCfPZ#L#3(fP
+Q)'aPEM`b068JG'KPEJSJN#"LC@GTEJSJN#*TEQ-SE'9Z+6X+)*!LF'&dG'9bEPY
+XC@jG1MeM1`SJN#"PEQ3+)*!IC@acC3SJN#"LC@GTEJSJN#*TCL"ZEh3JEA0RGh*
+TG(4PEL"dD'9Z#L#3)f*PCfPZ#L#3*8ePFh0KCf8SFf0KEPpPAh0dFQPZCepPH'0
+PC@4cAc)e09pMD'&bFbNl#L#3*@ecChGbDA4dC@ik2A4bG@8l#L#3)f9ZC$X+)*!
+JC@jN1`SJN"ePEQ3l#L#3'A9ZG'PX)'CKE(0P1`SJN"GPEQ3l#L#3&5GH*b!k#L#
+3&f*PCfPZ#L#3'A*PB@4MD'&b1`SJN"PM1MeeF'0KFf8SBbNl#L#3'@PQ)'-m)cB
+d)(4SC@i+)*!DBcSpBfKb+'pbC#KM+5Xf0#N+)*!CC@acC3SJN"TM1MeMD()SEh*
+N+'-T,6Bd+6X+#L#3'@PQ)'PcGfPNCA0dFQPZCb"dD'9Z#L#3'f0[EQ0KG(GTC'9
+cG(*TEQGMD'&b+("KG(4PFQjh,'&cBfPTBfKKFM*eEQPMEf4P+'-T+3SJN"PPE(0
+P#L#3'f*PCfPZ#L#3(@PQ)'aPEM`b068JG'KPEJSJN"jLC@GTEJSJN#"TEQ-SE'9
+Z+6X+)*!JF'&dG'9bEPYXC@jG1MeM1`SJN"jPEQ3+)*!GC@acC3SJN"jLC@GTEJS
+JN#"TCL"ZEh3JEA0RGh*TG(4PEL"dD'9Z#L#3)@*PCfPZ#L#3)dePFh0KCf8SFf0
+KEPpPAh0dFQPZCepPH'0PC@4cAc)e09pMD'&bFbNl#L#3)fecChGbDA4dC@ik2A4
+bG@8l#L#3)@9ZC$X+)*!HC@jN1`SJN"YPEQ3l#JSJN"PbC@&NBfKKFMX+)*!AC@j
+N1`SJN"9PE(0P#L#3&Q*bC@&V1`SJN"0PEQ3l#L#3%A9ZG'PX)'CKE(0P1`SJN"&
+l)(0dFQPZCh-JGfPdD#"XC@jRG'JJ-5"LC@0[E@8JBfpZFh3JBfKKFR-JI3SJN"&
+TCL"TFhGTC'9cG(*TEQFJG'KPEJSJN"0LC@GTEJSJN"CTCL"`BA4dCA*ZGeiZE'9
+Z26%JG'KPEJSJN"GdEfYPEMSpAd0A3dK"8JSJN"CPE(0P#L#3&h4[Df9Z1MeI3eG
+69&**6NFl#L#3%f9ZC!SJN"&PE(0P#L#3%f*PCfPZ#L#3&R"KG(4PFQjE-&dk2@0
+SFLKXC@iT1`SJN"CTCL"XC@ip-5"dD'9Z#L#3&h4[Df9Z1MeI3d0)39)+)*!@C@a
+cC3SJN"GdEfYPEMSpAd069&**6NFl#L#3%f9ZC$X+)*!4CfpdEb"PH'PdAfaKBQ9
+X1`SJN!pPEQ3l#JSJN!dR2LFJ1JSJN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!4Bf&
+cC5"M)'pQ#L#3%bFp*b!k#L#3&@*PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMS
+pAdG846X+)*!ACfpdEb"PH'PdAfaKBQ9X1`SJN"9PEQ3l#L#3%bFq*b!k#L#3&@*
+PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMSpAdp3Ae0)8MX+)*!ACfpdEb"PH'P
+dAfaKBQ9X1`SJN"9PEQ3l#L#3%bFm*b!k#L#3&@*PCfPZ)(XJ2M`JDA-JCQpb)'%
+JFhPYCA4bD@-JC'PQCL"QEh)JFf9dFb"p#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMS
+pAe0C684*4MX+)*!ACfpdEb"PH'PdAfaKBQ9X1`SJN"9PEQ3l#L#3%@9ZC$X+)*!
+4G'pVC@ik29p(9$X+)*!4CfpdEb"PH'PdAfaKBQ9X1`SJN!pPEQ3l#JSJN!dR2#F
+J1JSJN!pLC@GTEJSJN"&bC@&NBfKKFMX+)*!4Bf&cC5"M)'pQ#L#3%bFq*b!k#L#
+3&@*PCfPZ#L#3&h*PB@4MD'&b1`SJN"GdEfYPEMSpAe9149&938`l#L#3&fG[G'm
+JCAKTG&pXB@*PE$X+)*!9C@jN1`SJN"-R25FJ1JSJN"9LC@GTEJSJN"GbC@&NBfK
+KFMX+)*!AG'pVC@ik29p-9%8l#L#3&fG[G'mJCAKTG&pXB@*PE$X+)*!9C@jN1`S
+JN"-R2#FJ1JSJN"9LC@GTEJSJN"GbC@&NBfKKFMX+)*!AG'pVC@ik29p28&p65%`
+l#L#3&fG[G'mJCAKTG&pXB@*PE$X+)*!9C@jN1`SJN"&PEQ3l#L#3%A4[Df9Z1Me
+I6&3l#L#3%@G[G'mJCAKTG&pXB@*PE$X+)*!2C@jN1`S+)*!0)c)f)$S+)*!2BQ9
+RD@i+)*!4G'pVC@ik29p&6dBl#L#3%@0SC@0VF(*PF(*[Bh0dB@0V1`SJN"&REh4
+[)'9iDA4IE'&LC@`l#L#3$f9ZC$X+)*!0C@acC3SJN!p*E'aPCf&XAd0SBA)SBbN
+l#L#3#f9ZC$X+)*!)C@jN1`TPH'PdAfaKBQ9X1JSJN!KXBA0dG'pVC@ik2A4[Df9
+Z1`SJN!CPEQ3l#JS+)*!%CR9ZBh4TEfiJG(0MB@jZCA*QD@aP,R*PB@4`FQ9`FQp
+M1R4dEfYPEMX+)*!'BQ9RD@i+)*!*FfYTF(0`B@0P1`SJN!PMBA0P)'-JEfB+)*!
+,*emR,!SJN!XR35FZ,LGD*b`+)*!,*f%R,LiRHLFJ1JSJN!eLC@GTEJSJN!pMGA*
+bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1MebC@&ND@3l#L#3$h*PB@4`FQ9
+`FQpM1MeI583l#L#3$@9ZC$X+)*!,*c!R,LiR15FJ1JSJN!eLC@GTEJSJN!pMGA*
+bC@jdAh0MB@jZCA)ZF(*PF(*[Bep`BA4dCA*Z1MebC@&NGQ&XAf&cFh4bD@jR1`S
+JN!pl)(*PB@aZG@eLCA)r)(d+)*!2D@BJBcdR,LFJG'KPEJSJN"&LC@GTEJSJN"0
+bC@&NBfKKFMX+)*!6GfKTE'8JBb"TEL"E*c!R,LiR15GG)'4[#L#3&@*PCfPZ#L#
+3&f0eFR*PER4IFf0KEQjPFLj`FQ9`FQpMAh"KG(4PFQik2@0eFR*PER4IFf0KEQj
+PFLj`FQ9`FQpMAh"KG(4PFQiVBcX+)*!AFQ9KC'0SBA)l#L#3&@9ZC$X+)*!4C@j
+N1`SJN!pbC@&NF(*PF(*[BcSpAdP%1`SJN!ePEQ3l#L#3#bFN*b`R*5FX*bBR)$S
++)*!0BQ9RD@i+)*!2Bh9bFQ9ZG&pcBf&ZEQ9b,R"bCA"bEf0IF'&dG'9bEMSpFQ9
+KC(CKE&pKFh0dFQPZCcX+)*!2FQ9KC("bCA"bEf-k29p*4$X+)*!0C@jN1`SJN!X
+RI5FJ1JSJN!eLC@GTEJSJN!pbC@&NF(*PF(*[BcSpAd914$X+)*!0C@jN1`SJN!X
+R+#FJ1JSJN!eLC@GTEJSJN!pbC@&NBfKKFMX+)*!2FQ9KC("bCA"bEf-k29p-5da
+"68e&8MX+)*!0C@jN1`SJN!XR+5FJ1JSJN!eLC@GTEJSJN!pbC@&NBfKKFMX+)*!
+2FQ9KC("bCA"bEf-k29p55da"68e&8MX+)*!0C@jN1`SJN!XR+bFJ1JSJN!eLC@G
+TEJSJN!pbC@&NBfKKFMX+)*!2FQ9KC("bCA"bEf-k29p36&961`SJN!ePEQ3l#L#
+3#bFY*b!k#L#3$@*PCfPZ#L#3$h*PB@4MD'&b1`SJN!pbC@&NF(*PF(*[BcSpAde
+*6P961`SJN!ePEQ3l#L#3#bFU*b!k#L#3$@*PCfPZ#L#3$h*PB@4MD'&b1`SJN!p
+bC@&NF(*PF(*[BcSpAe0839)l#L#3$@9ZC$X+)*!,*bmR)$S+)*!0BQ9RD@i+)*!
+2FQ9KC'0SBA)l#L#3$h*PB@4`FQ9`FQpM1MeI8da"8dJl#L#3$@9ZC$X+)*!,*cd
+R)$S+)*!0BQ9RD@i+)*!2FQ9KC'0SBA)l#L#3$h*PB@4`FQ9`FQpM1MeI49&938`
+l#L#3$@9ZC$X+)*!,*ciR)$S+)*!0BQ9RD@i+)*!2FQ9KC'0SBA)l#L#3$fPQ)'-
+p*cdR)(4SC@i+)*!4BQ9RD@i+)*!6FQ9KC'0SBA)l#L#3%h*PB@4`FQ9`FQpM1Me
+I4e4&1`SJN"&PEQ3+)*!2C@acC3SJN"&bC@&NF(*PF(*[BcSpAdG81`SJN!ePEQ3
+l#L#3#bFm*b!k#L#3$@*PCfPZ#L#3$h*PB@4MD'&b1`SJN!pMBA0P)'-JEfB+)*!
+4*ciR)$S+)*!6BQ9RD@i+)*!9FQ9KC'0SBA)l#L#3&A*PB@4`FQ9`FQpM1MeI98j
+&899"6$X+)*!6C@jN1`SJN"%R25FJ1JSJN"0LC@GTEJSJN"9bC@&NBfKKFMX+)*!
+9FQ9KC("bCA"bEf-k29p-9%8l#L#3%f9ZC$X+)*!4C@acC3SJN"0bC@&NF(*PF(*
+[BcSpAda81`SJN!pPEQ3l#L#3$@9ZC$X+)*!,)c)f)$S+)*!0BQ9RD@i+)*!2FQ9
+KC("bCA"bEf-k29p&6dBl#L#3$f0SC@0VF(*PF(*[Bh0dB@0V1`SJN!ePEQ3l#L#
+3#f9XFf8+)*!05@aXC@GKE&p$D'&b+'-T1`SJN!PPEQ3l#L#3"Q9ZC$X+#JSJN!4
+QG@jMG'P[EL"dFf0KEQjPFQCTE'8ZBA0YCf9dBfKKFR0dBA*d)$SJBfKKFMX+)*!
+'BQ9RD@i+)*!)Hb"bCA4eFQiJCQPbFh3JG'KP)'0SBA*KBh4PFL"KE(*PB@4j#L#
+3#Q&fB@PXB@*XC5"TEL"M)(d+)*!)E'&cG'&cE@GPG'0SBA)k2@-l#L#3#(*PFh9
+XG$SpBA0YCf9dBfKKFMX+)*!'C@jN1`S+#L#3"'CeEQ0dD@pZ)(4cBf&ZEQ9bCQP
+XC5jKFfeRCA4MD'&b)$SJBfKKFMX+)*!'BQ9RD@i+)*!*D@BJE'&cG'&cE@GPG'0
+SBA)m2L-`)(4SC@i+)*!+BQ9RD@i+)*!-BcSpE'&cG'&cE@GPG'0SBA)l#L#3$'a
+KFh4KFfeRCA4MD'&b1MdM-$X+)*!+C@jN#L#3#@9XFf8+)*!+FQ9KC'0SBA)l#L#
+3#@PQ)'PZAf&cE9pcG(*TEQFJG'KPEJSJN!YLC@GTEJSJN!eKFfeRCA4MD'&b1Me
+M1`SJN!ePH'Pd1`SJN!YPEQ3l#L#3#A*PF'9KG!SJN!YMBA0P)'-JEfB+Hb4TCQj
+NC@BJBA*YI3SJN!d[,b"dD'8JHb!Z,LiJI5"TFb"eFf9N)'PZ)%&565"KFh0PE@*
+XCA)JG'mJC'9QD@jP)(*PCfPcG'9b)(0PG(-X)#"cEb"hC5"MB@iRG#"eFf9N#L#
+3$5m[)'Pd)'&c)'0[E@ePER3X)'9TG'KPFL!S+L!Z,LiJ+LNX)#mU)#iZ,L!U,b"
+[FL![,b!Z,LiJFfK[G@aN)'*P)(9cC@3JD@jcG'9KC!SJN!dRHbFJ1JSJN!pcDfP
+`BfpYE@9ZG$X+Hb4PEQ4TCL"KFQep#L#3$5-a-#`M-6-J1JSJN!pLC@GTEJSJN"&
+XD@jPBR*PB@Xl#L#3%@&cE@GPG'0SBA)k2@-l#L#3%@9iDA3l#L#3$f9ZC$X+)*!
+0)c)f)$S+)*!2BQ9RD@i+)*!4FQ9XEf&N1`SJN"&TCL!SBcdM-MBT)'&ZC#"ZEh3
+JBA0cD@GZC@3SD@j`GA4QD@aP,QjPH(3T)(4SC@i+)*!6C@jNAfpQAfCTE'8l#L#
+3%@0[ER4TER9P1`SJN!pPEQ3l#L#3$5F[*b!k#L#3$f*PCfPZ#L#3%R*PB@4MD'&
+b1`SJN"*TCL"M25F[*b"dD'9Z#L#3%h0VDA"NC@a`D'PMEfeYC@jd#L#3%Q9XFf8
++)*!6BQ9RD@i+)*!9BA0YCf9dBfKKFMSp*bmR1`SJN"9XBA0dBA0YCf9dBfKKFMS
+pBcX+)*!9CAKTG$X+)*!6C@jN1`SJN!pPEQ3l#L#3$5FS*b!k#L#3$f*PCfPZ#L#
+3%R*PB@4MD'&b1`SJN"*TCL"M25FU*b"dD'9Z#L#3%f*PCfPZ#L#3&@-k25-`1hY
+6D@GZB@`JFfYTF'pXC(4`BfpYE@9ZG#"dEb"bC@a[B@3JB5"MD'&b)(d+)*!9FfY
+TF'pXC(4`BfpYE@9ZG$X+)*!6C@jN#L#3%Q9XFf8+)*!6BQ9RD@i+)*!9BA0YCf9
+dBfKKFMSp*bJR1`SJN"9XBA0dBA0YCf9dBfKKFMSpBcX+)*!9CAKTG$X+)*!6C@j
+N1`SJN!pPEQ3l#L#3$@9XFf8+)*!2BQ9RD@i+)*!4BA0YCf9dBfKKFMSpBcX+)*!
+4CAKTG$X+)*!2C@jN1`SJN!YPEQ3l#L#3#A9ZG'PX)'CKE(0P1`SJN!CPEQ3l#JS
++HbU363SJN#0)C@a`CA*c#LU36Ad+#L#3"("bEf0PC(9bC5""C'4%DA*PBh4TGQ8
+SBfpZFh3JFcTcG(*TEQFl)'4Y1L"dC'PbC@0dDACPE@pNC6XJF$TdC'PbC@0dDAC
+PF(*[BbNl#L#3"Q*PCfPZ#L#3#'PQ)'4Y)'PZ)&YNDA*PBh4TGQ9IB@aX,#"NDA*
+PBh4TGQ9IG(9bBQpG)(4SC@i+)*!+G(9bBQpIFf0KEQjPFQ4TFQ9MG'PfCA-ZD@j
+cCA*d+(4NDA*PBh4TGQ9TG'9Y,Q0bC@&dC5Kc,(!T+6X+)*!)D@BJC'dJD@iJ@f4
+TFQ9MG'PfC9pKE'`X)'4TFQ9MG'PfC9pYB@0G)(4SC@i+)*!+E@&MAh0MB@jZCA*
+NDA*PBh4TGQ9c,QPZFf9bG#KdC'PbC@0dDACPDA4PE5jMFQ9KG'8SFba`+5Nl#L#
+3"Q9ZC$X+#L#3"("bEf0PC(9bC5""C'4$EfjNDA4TEfjKE#KMEfjcG#"c1R0dFQP
+ZCcXJC'dk)(4NDA*PBh4TGQ9YEf4P1b"`1R4NDA*PBh4TGQ9`FQpM+6X+)*!'BQ9
+RD@i+)*!)D@BJC'dJD@iJ@f4TFQ9MG'PfC9pKE'`X)'4TFQ9MG'PfC9pdGA*LEed
+JG'KPEJSJN!TdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbjTER0PFR3SG'4TFQ9MG'P
+fC@PdC@dZBh*PBA4PBfpZC#Kc,(!T+6X+)*!)D@BJC'dJD@iJ@f4TFQ9MG'PfC9p
+KE'`X)'4TFQ9MG'PfC9pYB@0G)(4SC@i+)*!+E@&MAh0MB@jZCA*NDA*PBh4TGQ9
+c,QPZFf9bG#KdC'PbC@0dDACPDA4PE5jMFQ9KG'9MEfjN+(-XF#NT1`SJN!CPEQ3
+l#JTl+T"0#L#3)%PZDA4TB@aTHQ&dD@pZ#LU36Ad+#L#3"("bEf0PC(9bC5"*EQP
+d8f0KEQjPFMX+)*!'BQ9RD@i+)*!)5@jTG&GTC'96G(*TEQFSF'&dG'9bERFT1`S
+JN!KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFcSp9%4TBh4TEfjKFRNZ3h*PBA4P1`S
+JN!KYB@0IFf0KEQjPFQ4TFQ9MG'PfCA-k294%D@0dD@pZBA*j,N0bC@&dC6X+#L#
+3#(XJ4'9QBA9XG#"NDA*PBh4TGQ9c)'&ZC#"MEfjNDA4TEfjKE(-JCQpb)'&XE#"
+YEf4PFb"p#L#3#%&NC%4TFQ9MG'PfC5JR55FXC'PbC@0dDACPAf&XE#`JHb4TCQ4
+PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpTEQ0XG@4P+6X+#L#3#(XJ4'9QBA9
+XG#"8GA*LEb"NDA*PBh4TGQ9c)'&ZC#"MEfjNDA4TEfjKE(-JI3SJN!K"C'4%DA*
+PBh4TGQ8S*d4&4NP145FXC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0
+@39*p3(XNC@jND@CpC'PbAf4PCQPZC5Nl#L#3#%&NC%4TFQ9MG'PfC5JR98j%48B
+R,'4TFQ9MG'PfC9pdGA*LEb`JHb4TCQ4PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4
+TFPpeEQ4PCLNl#L#3#%&NC%4TFQ9MG'PfC5JR58j$6&9%45FXC'PbC@0dDACPAh4
+eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'PbAfPZBfaeC'8T1`S
++)*!)3@4N3fpZC'PdD@pZB@`S*d9-8d8R,'4TFQ9MG'PfC9pdGA*LEb`JHb4TCQ4
+PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpPE(0P+6X+)*!)3@4N3fpZC'PdD@p
+ZB@`S*d9-8d9*4LFXC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*
+p3(XNC@jND@CpC'PbAf9XFf9TCLNl#L#3#%&NC%0[EQ4TG'P[EQ&X+#G&6N4*4LF
+XC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'P
+bAf9ZC'PQ+6X+)*!)3@4N3fpZC'PdD@pZB@`S*dP'48j%*baNDA*PBh4TGQ9IG(9
+bBQmX)(XND@CNC@BJ4P"$8&*23eC"8Re!Hb4PEQ4TCReNDA*IC@jND@BT1`SJN!K
+"C'4$EfjNDA4TEfjKE#JR58BR,'4TFQ9MG'PfC9pdGA*LEb`JHb4TCQ4PCL"'8%0
+38Np$9N&5I8"l*'9ZC'PQI@4TFPpTCLNl#L#3#%&NC%0[EQ4TG'P[EQ&X+#G*4N4
+&4LFXC'PbC@0dDACPAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@C
+pC'PbAfPQC'9Q+6X+)*!)3@4N3fpZC'PdD@pZB@`S*dP'6N4&4LFXC'PbC@0dDAC
+PAh4eFQ*[,#"l*'PQC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'PbAfPQEQ4PCLN
+l#L#3#%&NC%0[EQ4TG'P[EQ&X+#G*4Np39#FXC'PbC@0dDACPAh4eFQ*[,#"l*'P
+QC'9Q)%C33e"56d0@39*p3(XNC@jND@CpC'PbAfPQEh"d+6X+#L#3#(XJ4'9QBA9
+XG#"0B@-JC'PbC@0dDACPFb"KEQ3JBfpZC'PdD@pZB@ac1L"p#L#3#%&NC%4TFQ9
+MG'PfC5JR8d983bFXC'PbC@0dDACPAfeKBb`JHb4TCQ4PCL"'8%038Np$9N&5I8"
+l*'9ZC'PQI@4TFPpcCA4M+6X+)*!)3@4N3fpZC'PdD@pZB@`S*dP'3bFXC'PbC@0
+dDACPAfeKBb`JHb4TCQ4PCL"'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpTCLNl#L#
+3#%&NC%0[EQ4TG'P[EQ&X+#G&6&0&3bFXC'PbC@0dDACPAfeKBb`JHb4TCQ4PCL"
+'8%038Np$9N&5I8"l*'9ZC'PQI@4TFPpPE(0P+6X+)*!)3@4N3fpZC'PdD@pZB@`
+S*d914%-R,'4TFQ9MG'PfC9pYB@-X)(XND@CNC@BJ4P"$8&*23eC"8Re!Hb4PEQ4
+TCReNDA*IC@jND@BT1`SJN!CPEQ3l#JS+)*!%F(*[Bf9NGA*P)%4[EQ96Bf&ZEQ9
+b1`SJN!CLC@GTEJSJN!KdGA*LEepcBf&ZEQ9bC'PbC@0dDACPFbj'FQ9P1`SJN!K
+YB@0IFf0KEQjPFQ4TFQ9MG'PfCA-Z4R*PC6X+)*!)4'pZC9GTC'96G(*TEQFSF'&
+dG'9bERFT1`SJN!CPEQ3l#JS+C@jN,JTl#L!J*%a[CcSJFf0KEQjPFLj`BA-XGL!
+N#L!J8Q9fDA0TEfiJ-5ii-5!J-M!`0#m`0bm`05!b-cSb06Sc0#!JEfaXC3SJN!3
+V)'&NC'PZCb"[F'9bBA4[FR-J)R`L)'&ZC#!L*L)JCQpb)'eKBh"KF`S+)#"5CAC
+TFfP[EL!a,MJ`)#!b-$!d,c!f,c)`)$!i1M8e1M-`)#"QE'pbD@&Z#L#3"#SJE'p
+RFb"dFR9ZBf&dC@3+#L!J8Q9fDA0TEfiJ-5ih15!J-M!`0#m`05mb-b!b-$Se06S
+c1#!JF'9dCA)+)*!%+L"cGA"`Eh*d)(0THQ9[CLJT)'PZ)("bCA"bEf0PFh0[FJS
++)#"5CACTFfP[EL!a,MFi)#!b-$!d,c!e,c%j)$)c1M)j1M8f)#"`CA4PFJSJN!3
+U)#4YCA0cB@GP)'4TFQ9MG'PfC5"MEfe`BA4TBQaP)(GTG'JJC'9XF'KT#JSJ)&*
+PGQPcD@pZ)$%Z0cFJ)$)`-$3[-$8[-6BJ-6-k068k-MBJ)("PG'9b#L#3"#SJFQ9
+`Eh*d)'&LEh9d)'PXE'9RB@`JBfKKFR-JD@iJF(*PF(*[Bh4[Df9Z)'PZFh4PB@3
+JEfBJC@jN)'pQ#L#3"Q9iF(*PFh0TEfi+)*!%+L"cGA"`Eh*d)(*PB@aZG@eLCA*
+c)'PZ)("bCA"bEf0dEfYPEL"`BA*cCA)+#L!J8Q9fDA0TEfiJ-5ih0L!J-M!`0#m
+`05m`-b!a-$S`0MSc1#!JEfaXC3SJN!3V)'&NC'9N)'aKEQGeB@GP)'0[ER0dFR9
+MG(-J98j*9L`J3b`J,LiZ)'C[FL"YEf4P)'eKB`SJN!3U)'0[ER0[E'PNBA4PC#"
+YB@0bEb"PH("bCA0cD@pZ)(4[)'0[EQC[FQdJG'mJ8'&cBf&X#L#3"#SJE@&MFQm
+JG(*eC5"TFb"NC@CTEQ9N)'&c)$`q)$!+#L!J8Q9fDA0TEfiJ-5ih05!J-M!`0#m
+`-bm`0#!a0cSb-cSa-#!JF'9dCA)+)*!%+L!NC@acC@PQ)(0eF("[FR3+)*!%+L"
+MEfjNDA4TEh4ZB@`JD@iJ,bmJFQ9dGA*ZFb"hBA*ZD@jR)'PcER4PB@3JEfBJCA*
+bEh)+#Rd+LIm!!!%!!!!"!*!)(J#3mJ%!!!!"!*!)(J#3#4`!([rrki`: