ࡱ> 5@ bjbj22 /XX'4****ޛޛޛ8Tj4.v]______$Rj9BBB**6BV*l]B]AL,  DqFޛZ <.` `  **** ` e,MJRDI.^RL02 Awk, Cut, Paste, and Join 1. Awk The OReilly book features an auk on the cover.Awk will be your best friend. If you know how to use awk you can just throw Excel in the trash and ponder why anyone ever decided it was a good idea to write Excel in the first place. So, now that you know how I feel, what is awk? Awk is a programming language. However, in the geosciences it is typically used on the command line to process text-based data. The name awk, comes from its authors names: Alfred Aho, Peter Weinberger, and Brian Kernighan. This lecture is aimed at giving you a basic working knowledge of awk. This document should just be viewed as an awk primer, for more info on all the things you can do with awk there are a ton of amazing resources available on the web. To get started lets create a simple example file to play around with. Using your favorite text editor create the following file named: example.txt. File: example.txt1shear520.002compressional102.003anisotropy303.504perovskite245.505olivine2533.19 Note: in awk we refer to each line in the file as a record, and each column as a field. So, in the above example file we have 5 total records and 4 fields. Awk works by scanning through each line of text (or record) in the file and carrying out any instructions you tell it on that line. In awk we access fields using syntax like: $1 or $2. $1 indicates that you are referring to the first field or first column. Example 1 - Printing fields: What is the output for the following examples? >> awk {print $2} example.txt >> awk {print $1, $4} example.txt >> awk {print $4, $2} example.txt >> awk {print $1$2} example.txt >> awk {print $0} example.txt >> awk {print $1$2-->$$4} example.txt We can also do some simple arithmetic with awk. Example 2 Simple arithmetic on fields >> awk {print ($1*$3)} example.txt >> awk {print ($4 - $3), ($1 + $1)} example.txt >> awk {print ($3/$1), $2, (2*3.14*$1)} example.txt >> awk {print int($4)} example.txt  The last example shows that in addition to the simple arithmetic commands, awk also has some useful numeric functions, such as sin, cos, sqrt, etc. To see the full list check out the awk man page. A real useful ability is to be able to search within the files. First, lets introduce some of the variables that are built into awk: awk Variable nameWhat it stands forFILENAMEName of current input fileRSInput record separator (Default is new line)OFSOutput field separator string (Blank is default)ORSOutput record separator string (Default is new line)NFNumber of fields in input recordNRNumber of input recordOFMTOutput format of numberFSField separator character (Blank & tab is default) These may not all make sense right now, but well come back to some of them later. Example 3 Simple sorting routines Try these examples on for size: >> awk NR > 3 {print $0} example.txt >> awk NR <= 3 {print $2} example.txt >> awk $3 >= 10 {print $0} example.txt >> awk $2 ~ /perov/ {print $0} example.txt >> awk $2 !~ /perov/ {print $0} example.txt The comparison operators that awk allows are: <Less than.< =Less than or equal.= =Equal.! =Not equal.> =Greater than or equal.>Greater than.~Contains (for strings)! ~ Does not contain (strings) To make things even more interesting we can add some logic to our conditionals! In the following examples && is the AND operator and || is the OR operator. Example 4 sorting with logic >> awk NR > 2 && NR < 5 {print $0} example.txt >> awk $3 > 10 && $4 > 2.5 {print $0} example.txt >> awk $2 ~ /aniso/ || $2 ~ /oliv/ {print $0} example.txt >> awk NR >= 2 && $2 ~ /aniso/ || $2 ~ /oliv/ {print $0} example.txt  You can also specify that awk does something either before starting to scan through the file (BEGIN) or after awk has finished scanning through the file (END). Example 5 BEGIN and END >> awk END {print $0} example.txt >> awk END {print NR} example.txt >> awk END {print NF} example.txt >> awk BEGIN {print NF} example.txt >> awk BEGIN { OFS = _} {print $1, $2} example.txt >> awk BEGIN { FS = o} {print $1, $2} example.txt >> awk BEGIN {print Example #5} {print $2} END {print End of Example} example.txt  You can also set variables in awk and do operations with them. Occasionally it comes in handy. Example 6 awk variables Heres a quick example that sets a variable x = 1 at the beginning and increments the variable by one at each record, printing the variable out as a new field for each record. >> awk BEGIN {x=1} {print $0, x++} example.txt This is a slight variation on the above example. >> awk BEGIN {x=0} {print $0,x+=10} example.txt  The following table might help to make the above examples a little more transparent. Assignment operatorUse forExampleEquivalent to+=Assign the result of additiona += 10 d += ca = a + 10 a = a + c-=Assign the result of subtractiona -= 10 d -= ca = a - 10 a = a - c*=Assign the result of multiplicationa *= 10 d *= ca = a * 10 a = a * c%=Assign the result of moduloa %= 10 d %= ca = a % 10 a = a % c In example #3, we showed an example of using awk with a conditional. >> awk NR > 3 {print $0} example.txt Essentially, this example states: If the record number is greater than 3 then print out the entire line of the file. Awk also supports a syntax with if statements. E.g., >> awk {if (NR > 3) print $0} example.txt is another way of doing the same thing. However, it is sometimes very useful to also have an else or else if statement to play around with. The next couple of examples show how to do this. Example 7 Control structures >> awk {if ($1 > 2) print $0; else print $1} example.txt >> awk {if ($1 > 2) print $0; else if ($1 > 1) print $2; else print $1} example.txt  Using the command printf it is possible to format the output from awk. Printf is essentially the same as that in C. You define the width of the column, whether to left or right justify and the type of information that will be outputtedsuch as a string, floating point, or decimal number. Example 8 Formatted Output >> awk {print $1, $2, $3, $4} example.txt >> awk {printf( %4d %-20s %-5d %-7.2f\n, $1, $2, $3, $4)} example.txt  2. Cut, Paste, and Join This section describes three utilities that are often used in conjunction with awk for quickly manipulating fields in files. Paste Sometimes you may want to extract columns of information from different files and combine them into one file. Paste is the perfect utility for this. Consider the two files: A.txt a1 a2 a3 a4 a5 B.txt b1 b2 b3 b4 b5  We can combine them as follows: >> paste A.txt B.txt > C.txt Join If two separate files share a common field they can combined with join. Consider two files: A.txt Vs 7.2 Vp 11.3 Rho 6.6 B.txt Vs 6.3 Vp 12.4 Rho 5.9  Now try: >> join A.txt B.txt > C.txt Cut Cut is incredibly useful for chopping up files into fields. Use the d flag to specify a new delimiter, and the f flag to state which fields to print out. Consider a file as follows (A.txt) that uses underscores to separate fields: Vs_7.2Vp_11.3Rho_6.6 One could just extract the numeric values by: >> cut d_ -f2 A.txt Another place I find cut useful for is in extracting information out of file names. For example, suppose I have a bunch of SAC files (seismograms) that look as follows: >> ls >> HRU.UU.EHZ NOQ.UU.HHZ GMU.UU.EHZ CTU.UU.EHZ The filename convention here looks like: station_name.network.component If I want to make a list of just the station names I could do something like: >> ls *UU* | cut d. f1 > stationlist.txt 3. Homework 1) Consider two files given below that each contain a set of Cartesian coordinates. Write an awk script to compute the distance between these pairs of points. Feel free to use any of the other commands we learned in this lecture as well. x1 y1 0.0 0.0 0.5 0.1 0.75 0.2 1.0 0.3 x2 y2 0.0 0.0 -0.25 0.1 -0.5 0.2 -1.0 0.3  2) Below is a table of S-wave velocities at the coordinates given by the indicated latitude, and longitude () in degrees. Create a file exactly as shown below, and write an awk command that will convert the longitudes given in the file below from the interval: -180 d"  d" 180 to the interval: 0 d"  d" 360. Note: longitudes from 0 to 180 in the original file should not change. Format your output, such that you have three distinct labeled columns and add a single decimal place to both the latitude and longitude values. LonLatdVs-180-102.3-135-102.4-90-102.0-45-101.80-100.045-10-0.390-10-1.2135-10-1.5180-100.0-180102.4-135102.6-90102.1-45101.6010-0.14510-0.49010-1.013510-1.0180100.3 3) Consider a file that looks as follows: VsVpRhoVsVpRhoVs write an awk command that will print the total number of lines that contain the string Vs. 4) I have a group of SAC files named as follows: >> HRU.UU.EHZ NOQ.UU.HHZ GMU.UU.EHZ CTU.UU.EHZ Using awk, how can we change the names of all of these files so that the EHZ or HHZ is replaced by just Z. So, for example the first file is renamed as: HRU.UU.Z 5) Write an awk command that will print the sum and average of column #1 of a file. The output should look like: >> Sum is: X; Average is: X awk cheat sheet# get total number of records in a fileawk END {print NR}# If NR is equal to shell variable n print lineawk NR == $n {print $0}# Sum the values along a column (column #2 in this example)awk { sum += $2} END {print sum}# Print the sums of the fields of every lineawk '{s=0; for (i=1; i<=NF; i++) s=s+$i; print s}'# Print out file with double spacingawk {print ; print } # Print fields in reverse orderawk '{ for (i = NF; i > 0; --i) print $i }'# if else syntaxawk {if ($1 > 2) print $0; else print $1} file# Concatenate every 5 lines of input, using a comma separator between fieldsawk 'ORS=NR%5?",":"\n"' file     L02-PAGE 8  !"$()*     * + a g ~ { } %1FVkzgzgz$hx^h5B*OJQJ^Jphhx^h5OJQJ^J hN h hQ$hhkh5B*phhJAh5B*ph hy(hx^h5hlh5B*phhh5B*phjhUhs h5>*CJ\h5>*CJ\ hCJh( !()+,\bM$$&`#$/Ifa$gdnkd$$Ifl ` t 6`0644 la$$&`#$/Ifa$gdgd$a$gd $dN1\]F G ( ) q$$& #$/Ifa$b$gd$a$gdnkdq$$Ifl ` t 6`0644 la $$& #$/Ifa$b$gdIkd$$Ifl0 t 6 644 lae4 }ffff$$& #$/Ifa$b$gdkdc$$Ifl\hp@  t 6 644 lae4 }ffff$$& #$/Ifa$b$gdkd $$Ifl\hp@  t 6 644 lae4    }ffff$$& #$/Ifa$b$gdkd$$Ifl\hp@  t 6 644 lae4   # ) }ffff$$& #$/Ifa$b$gdkdE$$Ifl\hp@  t 6 644 lae4) * , O P >?c}uuuuuiiiiii $$Ifa$gd$a$gdkd$$Ifl\hp@  t 6 644 lae4 cd*+ST$a$gdekd$$Ifl,"" t0644 la $$Ifa$gdk{+S[l [1Vkvw~'AN$DY7ιιιβΥΥΥΥh8h5B*ph hchhh5Hh5B*phhx^h5hhx^hOJQJ^Jhx^h5OJQJ^J$hx^h5B*OJQJ^Jph@Tyz    Z[m$a$gdekd$$Ifl,"" t0644 la $$Ifa$gdmIUkd$$IfTl0( t644 laTUkdy$$IfTl0( t644 laT $$Ifa$gd  FIUkd$$IfTl0( t644 laT $$Ifa$gdUkdQ$$IfTl0( t644 laTFGJkloIUkdk$$IfTl0( t644 laT $$Ifa$gdUkd $$IfTl0( t644 laTIUkd'$$IfTl0( t644 laT $$Ifa$gdUkdɌ$$IfTl0( t644 laT01UVvw N $$Ifa$gd$a$gdUkd$$IfTl0( t644 laTNOPQR $$Ifa$gd$a$gdekd$$Ifl,"" t0644 laww $$Ifa$gd|kdh$$IfTl0 < t0644 laTww $$Ifa$gd|kd$$IfTl0 < t0644 laTww $$Ifa$gd|kd$$IfTl0 < t0644 laTww $$Ifa$gd|kd$$IfTl0 < t0644 laTww $$Ifa$gd|kd$$IfTl0 < t0644 laT ww $$Ifa$gd|kd=$$IfTl0 < t0644 laT  +ww $$Ifa$gd|kdΑ$$IfTl0 < t0644 laT+,-QR{{{oooooooo $$Ifa$gd$a$gd|kd_$$IfTl0 < t0644 laT yz*$a$gdekd$$Ifl,"" t0644 la $$Ifa$gd7<svz 2VjZu$%,IW&'./67DEF !deٿﳪhchh5OJQJ^Jh5OJQJ^Jh.bhCJaJh.bhCJh.bh5CJ\ hh$hx^h5B*OJQJ^Jphhx^h5OJQJ^Jhx^h5hhch5B*ph4*+bcWXYZtu$a$gdekdg$$Ifl,"" t0644 la $$Ifa$gdu%VW'/7Ezzzz $$Ifa$gd$a$gdekdޓ$$Ifl,"" t0644 la $$Ifa$gdEFIg( $IfgdkdU$$IfT\ (0634abp(Tgv:kd$$IfT\0634abp(T $Ifgd  :kd$$IfT\0634abp(T $Ifgd !$@OdC:::: $Ifgdkd$$IfT\0634abp(TdefC;;;;;$a$gdkd$$IfT\0634abp(THlnp#$%7=msI ɴɦɴɴɋ}j}j}d]P]P]hv8h5B*ph hv8h hCJ$hx^h5B*OJQJ^Jphhx^h5OJQJ^Jhx^h5$hh5B*OJQJ^Jphhh5OJQJ^Jh~h5B*phh~h6h h,hh5OJQJ^Jhchh5OJQJ^J$hchh5B*OJQJ^Jphop"# $$Ifa$gd$a$gd#$%I L i j zzzzzz $$Ifa$gd$a$gd $ a$gdekd̙$$Ifl,"" t0644 la I L i q {!|!!!!3"9"O"U"l""""""˫˟}t}tdXhaVh56aJhpIh5OJQJ^JaJhx^haJhx^h5aJhpIh5B*aJphhpIhaJhpIh56aJhhaJhs h5>*CJ\h5>*CJ\ hCJ$hx^h5B*OJQJ^Jphhx^h5OJQJ^Jhx^h5 h5 {!|!!!""2"3"y$a$gd $ a$gd$a$gdjkdC$$Ifl,"" t0644 lagG 3"9":"=">"A"vfkdĚ$IfK$L$l t0644 la$ $Ifa$gdK$$ $Ifa$gdA"B"E"F"fkd$IfK$L$l t0644 la$ $Ifa$gdK$fkd>$IfK$L$l t0644 laF"I"J"M"fkd2$IfK$L$l t0644 la$ $Ifa$gdK$M"N"O"U"V"Y"v$ $Ifa$gdK$$ $Ifa$gdfkd$IfK$L$l t0644 laY"Z"]"^"fkd$IfK$L$l t0644 la$ $Ifa$gdK$fkd&$IfK$L$l t0644 la^"a"b"e"fkd$IfK$L$l t0644 la$ $Ifa$gdK$e"f"i"j"fkd$IfK$L$l t0644 la$ $Ifa$gdK$fkd$IfK$L$l t0644 laj"k"l"m"""""""###wkkkkkkkkk $ a$gdxkd$$Ifl0@   t0644 la$ $Ifa$gd "##2#8#U#`#|#}#######<$A$n$$$$$z%%%%%%%%%%%%L&x&y&ιιttdh6h5OJQJ^JaJh6h5B*aJphh6h5aJh5OJQJ^JaJh!h5OJQJ^JaJh!h5B*aJphh!haJhh56aJ hCJh[h5OJQJ^JaJhx^haJhx^h5aJh[haJ$#####"#'#cykd$IfK$L$l0* t0644 la$ $Ifa$gdK$$ $Ifa$gd'#(#,#0#ss$ $Ifa$gdK$ykd$IfK$L$l0* t0644 la0#1#2#8#9#<#@#uuucc$ $Ifa$gdK$$ $Ifa$gdykd5$IfK$L$l0* t0644 la@#A#D#I#ss$ $Ifa$gdK$ykdš$IfK$L$l0] t0644 laI#J#N#R#ss$ $Ifa$gdK$ykdU$IfK$L$l0] t0644 laR#S#T#u$ $Ifa$gdykd$IfK$L$l0] t0644 laT#U#V#_#`#|#}###$ $m$n${{{{{{{{{{{ $ a$gdxkdu$$Ifl0@   t0644 la n$u$v$~$$%ekdy$$IflX t0644 laekd$$IflX t0644 la$ $Ifa$gd$$$$$$$$y%z%%%%%%~~~~~~~~~~~~ $ a$gdekd$$IflX t0644 la$ $Ifa$gd%%K&L&x&y&&&v'w'z'}' $$Ifa$gdK$$a$gd$D^`Da$gd $ a$gd y&|&&&&&&w''J))*+++,,,,,,,,,,,---;-B-q---------......ֻֻֻֻֻ蝵zhzkh5aJhzkh5OJQJ^JaJhzkhaJh:haJhUh5B*aJph hCJhx^hCJhI^hv8aJhI^haJhx^haJhQOahaJ haJhIh5CJ h5CJ,}'~'''ss $$Ifa$gdK$}kdg$IfK$L$Tl0] t0644 laT''''ss $$Ifa$gdK$}kd$IfK$L$Tl0] t0644 laT''''ss $$Ifa$gdK$}kd$IfK$L$Tl0] t0644 laT''''ss $$Ifa$gdK$}kd#$IfK$L$Tl0] t0644 laT'''''ugg $$Ifa$gdK$ $$Ifa$gd}kd$IfK$L$Tl0] t0644 laT''''ss $$Ifa$gdK$}kdK$IfK$L$Tl0OJ t0644 laT''''ss $$Ifa$gdK$}kdߨ$IfK$L$Tl0OJ t0644 laT''''ss $$Ifa$gdK$}kds$IfK$L$Tl0OJ t0644 laT''''ss $$Ifa$gdK$}kd$IfK$L$Tl0OJ t0644 laT'''u $$Ifa$gd}kd$IfK$L$Tl0OJ t0644 laT''''++{{{{$a$gd|kd/$$IfTl0 dD  t0644 laT++++++ $$Ifa$gd$a$gdJ$C$EƀSa$gd++,, ,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT , ,,,,pddd $$Ifa$gdkdY$$IfTlF  t06    44 laT,,,!,%,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT%,&,*,.,2,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT2,3,5,9,=,pddd $$Ifa$gdkd$$$IfTlF  t06    44 laT=,>,A,E,J,pddd $$Ifa$gdkd$$IfTlF  t06    44 laTJ,K,N,R,W,pddd $$Ifa$gdkdV$$IfTlF  t06    44 laTW,X,\,`,e,pddd $$Ifa$gdkd$$IfTlF  t06    44 laTe,f,j,n,r,pddd $$Ifa$gdkd$$IfTlF  t06    44 laTr,s,x,{,,pddd $$Ifa$gdkd!$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkdS$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkdP$$IfTlF  t06    44 laT,,,,,pddd $$Ifa$gdkd$$IfTlF  t06    44 laT,,,,---phhhh\ $$Ifa$gd$a$gdkd$$IfTlF  t06    44 laT----!ikd$$IfTl< t0644 laT $$Ifa$gdikd$$IfTl< t0644 laT----ikd$$IfTl< t0644 laT $$Ifa$gd- -#-$-!ikd$$IfTl< t0644 laT $$Ifa$gdikd$$IfTl< t0644 laT$-(-)-,-ikd$$IfTl< t0644 laT $$Ifa$gd,---.--------.../ /%/ $ a$gd$a$gdikd$$IfTl< t0644 laT. /%/&/'/(/8/9/`/b/f/v/z////////0 0 0+0/0\0]0a000000ȹȩȹȩȩȹȩ}kTkȹ,hx^h5B*CJOJQJ^JaJph#hx^h5CJOJQJ^JaJ,hx^h5B*CJOJQJ^JaJph(hx^h5B*CJOJQJ^Jphhx^h5CJOJQJ^Jhx^h5B*CJphhx^hCJhx^h5CJaJh hCJhjh5OJQJ^JaJhjhaJ %/&/'/(/8/9/a/b/w/j>kdʺ$$Ifl,"" t644 la>kdx$$Ifl,"" t644 la $Ifgd$a$gd$a$gdw/x/y/z//cDkd$$Ifl,"" t644 lap $IfgdMkd$$Ifl,""  t 644 lap /////jMkd$$Ifl,""  t 644 lap $Ifgd>kdл$$Ifl,"" t644 la//0 0,0s>kdȼ$$Ifl,"" t644 la $IfgdDkdw$$Ifl,"" t644 lap ,0-0.0/0\0ja $Ifgd>kdo$$Ifl,"" t644 la $IfgdMkd $$Ifl,""  t 644 lap \0]0000ja $IfgdMkd$$Ifl,""  t 644 lap $Ifgd>kd$$Ifl,"" t644 la00000z>kd$$Ifl,"" t644 la $Ifgd>kdZ$$Ifl,"" t644 la00000000#1'18191=1d1i1j1m11111111111111111ѝыtn^VRVRVRVRh:jh:Uh%h5OJQJ^JaJ hCJ,hx^h5B*CJOJQJ^JaJph#hx^h5CJOJQJ^JaJ,hx^h5B*CJOJQJ^JaJphhx^h5OJQJ^Jhx^h5B*CJphhx^hCJ(hx^h5B*CJOJQJ^Jphhx^h5CJOJQJ^J 00000j>kdE$$Ifl,"" t644 la $IfgdMkd$$Ifl,""  t 644 lap 00$1%1&1jMkdͿ$$Ifl,""  t 644 lap $Ifgd>kd$$Ifl,"" t644 la&1'18191U1j1znn $$Ifa$gd>kdt$$Ifl,"" t644 la $Ifgd>kd0$$Ifl,"" t644 laj1k1l1m11ja $Ifgd>kd$$Ifl,"" t644 la $IfgdMkd$$Ifl,""  t 644 lap 111111111111jeeeeeeeegdMkd$$Ifl,""  t 644 lap $Ifgd>kd_$$Ifl,"" t644 la 11111111111 E%I&#$gd11111111мh%h5OJQJ^JaJh:hh6CJ]Uh~ 0JCJmHnHujh0JCJUh0JCJ Geophysical Computing - 01h/R :p/ =!"#$%DdLr  C NA60596000707_01__SCLZZZZZZZ_R!bZd聧zmڜ2DFbZd聧zmڜ2JFIFC  !"$"$Cy" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?,XdRPT@@ֵRPI_{r(Pp{U[kp}iq[Udz0񰊌j4௅jCS?麯O&CbWb] S#<3PGO&@Q(#o?Y3AXD)/ GWשHqQGa?Y|1A ['TY^2+Ơ ހrk׀k ցik43Gi$_ʁyHnqO븏c?8?/u 5 ,+7K_Vɱ8_"$f#MQkӧ777ur-aWp@XOAc+;~'iG( q+Q,u$N!ԔZ..KnE+O:;Mhj3K̒D$6B8`bA#s0 ;#bǿQ𝺫kzJαybRHw&eC!]jxnl͗I |3lPWFסSPRhd*yqF$)pw}7 M]83cw}RUPGԠeԪsC9L䓷]'YN򗁒13bۺt]0nfl /Rc!#sq R?<OxeE$碌$WMgk)Y]$в$r 6RsדW=\x2AR7? uANd*}_Ot|Ca[pUFy,ˀK~茓w] tXEwؖ/ "=y89븏a?Y:q#R}ź.n]RXxf0*K8Eg0d;yWNբ]^蛉ϔģ';GNJGa?Y4]]UFI-g^dZ%"f ڠm[n -z-4i-. o P;8ù޸4f-}"fW؏4G YmsGױ۹cGH<6:ZdS_O 2N4ksU@7\dz gr #" fvO-*OA/؏~F܋MwWmQv$r=G#ළbJh2aIV AwA`MPZ^_e 3 eՇm!:Ǘk%DnVNK.žFyGa?Ygϲk~ZP_GG9܎~oqW67>#]^"ePO<!+(v['# hςB @21zȃ{;n@6 l.K}O2۞) p}@ c)UCiZgj:ڼX1n6#e!Ӝī'F ż*Y2RcX5uO ho m m[R>HssmϩǫFKo`HH4ڕѬ*J_ |#Z۴oU {bx| DD֬[}[R[YDy{I?|m u Qu=Fk߄tZ"ɛ/ z!߇PEoS]yhz2"*(99)9i?S渏4FJq8⛃JEg-hEP(A(h4c֖@!QF9)< hQKEWɻ&@a09 ==RZ[ۙ 1i|՜$xsS@ )z(60)h(KE QFKE4/~ih 4m6ı*ʫ\TĒry>xE+Xjhw-9{>}d@?姨.O^+y~+/V %c>ȃzu.2&YɱOk8~+:qy7N 93nFq^?ƟDDgNvTmK<75/o2[ž^' +wÞNϻ{xsK|ZI>!?ifԠ^Y1F_!]E~tWZ}kDk[rՇ)?kRӿ-Rw;RPQEQHFM-QEQEQEQIڀQAPE⣸xyHK;P:hJ3^A⟎zMio|Iz BaP3:z<_>_xJI_ZG2H!a#ר&й ׺/v$'iO~J"ZՓoW#^?ǯ;+.4;zDO{o҆XdAE; ( ( (4QEQEE!4hfBخc2?IqX㞾66]efs12 X;9 l uQ_>[Qico/RFo,|?`t`?^}yw?wxkL'`Bܱhb8F;'KKmr-+U Ga)q ;+N}3ᇍ,[7GywUkeݞ37;\ZV>fMk_=N)PYQۨъƏ/x\xF&un1]&BG$p>R2s]izǂ;kvw&MR1^3CQ*^)O3ndx[QZ9KbkꓴوV3z$b]A3⇁Q 3XsH[#r;h^|G˪뺌%nGEQ+7|.+((J(Qފ((Ҁ dG$uDc?>#IVg>}M0'^:ɯ>!K7^!Bc<ssWiX S ?#b}s0$O\VE-bX &' 8kl ӥ"8Lw*sG8ʂkF .@&ks…Wts^u<͏$p>nz}J= MGV6-`8f$~w'9.5as Z"ώ֓+1ZjSjZ12K3'{Cyysv 34DKEERp3`ttef{}j<}1Z"# i=3LȦ?K袊(((((v^֯I-G.G$ دk(4hr&]Ų=zۤ1[fow}=+<{#HeyW'Ӡ='~.6jN En:wsܐ( Kd.wu#8=RG\$`yS'6C O2so4rGlB~,^~tlB[z4u@G&S`jLT@A =}+ {EW8zT)h²I}SPbr:\!bN9:@;sqӥ`͕Gr1ހB˹A8sc -vmuo&?: r>W2=V>[j;$,2&h_nm/x />ḛ(( Gh9QEH}w U9hW-]D Qϫׯ,=GPFҿJ1/Vj@`\OQ_^[A4|@J;0$F#֙δ$,(K ( ( ( ( ( B K@(*)h YZE;O +}Xc5>-xIcqG\ Xºׅѵc"Dds_#m\iVRH`?~W~ҾS"/n컕yU7jۉ*J5vN1V-2n4L!\ ! *AbO։spqsfぞs@r3@ UK?i_sҀ>{- \ḑ]y<<1OKǩaEPEP ږEQEQEQE(<0xv,`]n> _x1q!MMX}!Q@Q@Q@Q@Q@Q@Q@Q@Q@zWQjNk Iu.[@Ӟ+OJk6. V8L-B@FIE8'4c94<9k5+')/ާѱov363#$$ƯXۊ7sqɩX`[t uq 2]~Dm\ IFzJHY-$nS\Y'p>־.d1ybVE'gq4Om!]p.xn ณw Gv&l.+ҽ{A&af`W$?҇-ϱW(bX&q9QEQEQEEw(uҁ@Fh(f(*"Τ83JKIӥ-PhAH84Q@EQEf;@(4G/@ @"\s "*xnMJQ~e6ۿ0*][yK7$^]HOZZDpaQ025xKo+{+8ʮy $})w>>g 2[Aǵx9fdQ+Ъ0;{WCè۬B,Gwp;u25.b䶑Tfr@ީ -+r3 =jΘ}vdsE44RD2#*vl$dBŹ#<ݫd=B+?k",fz0 kǜ`dU_1C S6eTCv3J8=jZkEa2Mku*FE]K (–QEQEQE(Z(vȥ ( ( ( ( ( ( ( (sE!K@f(WWqG+&N}WRzWؗN#Gg-_32'\}.s @(T+!r;uE{c-0 HЏθh$s.Ր|ʐFH#J@G\Zh$42@QiHyn~W fm9n.b`Uk-$3Y|r4R1^'њV[VGr#8?J 7Nb]#2I=sJNW^;INrpLWJ-0lŐP6HQbųMX(|ڹAujOSx)H&C,IKF''!<HJE4gMQ.ỴwG,M"7 ҺC-T],07rgvoFJ7gq ~"h?4A}\ڬa}Taj ((Hx斀 4Q(@hRHb)PEb(((ҁZ((- ( ( 1EZDwb1H0J&$c^Տ+RET)'_nP@bC{ҳN5 D薰OL}ӽh(ycCqܷWL5kVr2)\ ZKhεq XĘ>PQWΨJ.UeYB'2I=pz8u-Ҡީn5$@'WyXxmBbT~o-[$8M5V7:7B&@nIry W2mFd^p2'_spZt;/?[1'$$폌zު=-kY4ϑ<9R$:!+,MYT1tE "9Q^XwTmU,:l1DzWzEޕsqjVYI8'iRߴ6==1U *{ppU˽D ?|v"64<- c:ƇvwrwVħ?zKM7Zݲdy?kJśj?Sž_Kg}lT i5q+:_2-nmsÎbz?,H 03ER{R@Q@Rsڐ⁞Q@Q@Q@Q@Q@Q@Q@ @Q@Q@Q@ 'ڸ%uq-F^XO+\/ۛ"-Ķ4A|;((PvILddffi6bSMt6(]*%f}>53e,%*1sx[ɴ\K1H@;dFiX cj&[q;{$}*+*Xe-$8zc=jY3I=H֭U&9;J9V^{~ck{O$1Xտ)x=zmosm|}mJyvLm{a8һ/>:aխTnʼ?c'GP}RW +?úƟ趚p]F$ǡ}EhVeQ@Q@Q@Q@(@Q@Q@Q@Q@Q@Q@z( ( (:PhZBp3@%?iVvR1w@?`}ya}(ϼuWRrQq@U֣-3M-mLғ==9=*? 6[EU4m$I ܚٺXd*$f6/#f5Rٚ0Z4qʶN3N=Ke[ݘ`w6`<# ȥL" HnUeL`zgS:re8,|pAtjm%epA=ZJ~s:Hߟ?ɶoxPU'Qڤ4s;NRdM=J@f2[6nl}@^eFX!a4rw+GBG暈'68 `Es%Cor=I@s/"; A!X"6~ ?}I?_i xݏ94X/ m7;O+?MNDȳQF|'q*,9 #q$7\Z'0z~;OQG!'c늷s"[^43*-ʒG^;SP8:xCgqmTQ6R9?t~%`šo}o%Ё_\)=I`pý}6|F~P[ӗʘ1%L>ޢHZEHŠ(hQ@FihJ4QEQEQEQEQEQH<ҎQE ( ( a9l~4qMQoZp(AnF[2p=@qzz[I9 ZuFHxHNEq2jEB.ngv0ñL K+J\bTP@*j[4w{vBf7$ 9dd{q#j,e%08'\I9w=Xzg÷qҵZ$ s"_6TSu:cK*@V=5ն. uF=;TJH HV)5UO,y'NLpP`?_edvWV7ƺgK&u>Y:Y!%'99Td`~hzjeYIJ*HWw5U>3 ?^-$ւjŅ(Q@ GZpF(#9=h@t ( ( 3E QIҊCPH{R(Q@Q@ pHQEPh,l|5۞?nt:}:#A}x[|dZG`r>n. +J]^#lρZF;U>^9)ucޗVsdRi7Q+F֐υ`uӯe,e 0r+.wqyMGfd~W![fsaUF9h^*uۻ] -N .uƔK)%@\ups('5^[ۘmaC$JQI'+>#^xGsCsذӞѝge5#PYݪ-:ރoq[c fe  Q .I=Fc$'W2B*LS_$k8lKd  !pNy/u=vAdԯ5y!@RhK)!IWjttm,$h|ŏ7`GV;q9ZsM42!5f9O~nK"mKI'l;B5͉OPhS÷IiK#6ǖ1Gva̛9y>u$Xo>Y3Nҡ5+}QC%*r7cG.< o,b9;{2qxrhַpNd9 Aʱ? 󊣢yX[YGynyR ?VWYZyO![iT(%cj@q$յ+xS\Ӧ0W$P+apԒ[-&mA3\㗺v''̐?z 5VexXE2~S#=yG<|yjVh Ve{xduN/|z .QȻ8O b"J ÉW`W%CqT!0߱HB*A 8 sR)dQW$C1@|wS[k||0!jOşNs.Mr/-Ga:e?Q~W@YfZ(0(4PzP((Ȣ(=(e=WW7UBO Ē v+MDtky9XP"Xd2qҙMxtۭ:Ia \`1|'}hZnuFUx>OZSnJKATMǂMS_ud3ǦEo1y .*v?i^/פvxx Ej`ۆayǏ|iEf['Qg]o䞹5|oޟcmb(`3qmϦt_ |9]EЯ] ѬڰO<X`-=iz/<9__hvﹾhUQoL(#`?EsU'/zޏ2,|]jz;+.^V1,)b@'4~"jpMt 7IԞFP]P. R2Hqҹ_'??*D_P# |7*6lu{RylH¬~^2YN;jjV1fapadO\djCt]IT}C?3/8c5I$ȓowm.-fm X<\Om1Yyy:z S8#@xM '8 s.Y+3ͯBnUfڮi,fs0F! `4աV;O2.:7-O10&d1\ݮ$Eadq{'ArqciZݱ' 20=듿T\ ~9ڄ!0'f?S': K; p;yYN&[yzH+<{֬@w\̦He-Ă>vzͽŬI /t\dY/=݇ep!~%[kI%Ie uRkҼ9quo%ȣ!Cch,H#85kQk|5(ln}jw5s2&Cr>cցeA}#TU% \G :.A!8#<1J)9ϵ67ܠ3N Z((6|cd m^>xWry}~]ne/OՊc#rNxɥ$3w@d=R 09o NsO5/G] 3X4Xe 9yqؑv ^n_ܷg gh"K#l.m.b!ߪ>۶RJ20b`3zʴӳ?%\]kWOSse@J>xf$-rێkF?Q`זU09=ƺM76(;]$FS qG7-_M:dG`X܇#*;xV7ARc0soc*dž+mJ{}V(Sg'~=GֱKda0UU[uxtA;s}뜨Nj"6YyěZŞdjJFvczV&}i{m5so%Ȁ SۭTdMiaKx*62Ќz{V֏49 d ny\G4eVI#i=~5~a5A]'6&b _hӚw$ ŶV{ dWf OI I=؜P0ijuPzQALi?qj쿴?--fg (f'+%g55}Pv#Z_?|5XU֮m<9Fz|`'9K?wk$? &iۮ}Xb]T5tYQݓ wE =~鏃| ^iåx_I-||gs-7cj39Qjڣ8)pq|Gnϱ" HMHQxCW-Zhѵ hI{鐫E$8tUkS}Rt/q9)?.y#Wş,^ ѯu O+Z&I?jizXA<,yWG8^&eR~'փa;}v!o3#'= j˪B%1sɷ'ߗּK"-P?hkPf3;O=צ4gBg9i4ӳ5]N|:1>-oX#W{ f}jΘGb*^ݖT-?/q| \JOѿZGzQALiӏg5𿈢F818<ν\N ׏^k00𱌶gW!J;[VԌk6GCs 'p$u>i>H]]MIbzp;VzY0_OG78F}X1\qKJ}M*kFLt!Nc`=/-K$;eܼ_7#\ɕ;<~%{Ϣ~.mwH ,!9W.{])mh؞t?k51K+?e8Vk|8bE~|[]723)SfŸ}~da/8 WU~ usmK;,*~} =i4ydA0`9h?'hrm_Qi#^;k~5!9B+#7xv#㟨5mR OR =O eh?H'EVc#*W:*pwߧ_7v^q_K||םpOS޾$d.\G\GMF̽~}x[M #VHG$@>.J{viPaAw[ ԃc=SrR:p8ejH,F:sOuq(n9q`cJiaqARgxG* H<21MsG$#I#U8{uިQD"2C=1:gJbPW<5+yu#GxE{fq6[ ?g^4\Ҽawccz )x*[ $y'# 0Fsּw٤Iv`<:Y'qi<>8ldq׭ ;4\ dn= {VhfiPډ[CSh  &NĒN6vb"ir w^ɣKxܒ +'*gӾ14~q4NKu-:q#vG,S- 9,8"!7q[ߋ`!GҭǔvaǞiZY]u?ZhC0$pq]H̟25q]/YS-ߵzN)R'>σhk=Who_&\3O [tᶒ֬iE 1qk~Uݏ/v'B J(=(eKxM؏k=k,,=n »lFInה隕敩XJm}?rF+pj1ݣJ"MN-'M[_&#>D<^YhK89v8}}z\h 1]O5H"Vܶ~a))ٸn''Pì,E{׉,=04ȃ>`L@?O4P)|߁ڻo|O<)I[^[- n2zq\NJ|M\s*k8{vQZw~7V9$~kX]_Lx6G#j2,ܾ2RDk8cz#GZnedOL`͏)8$ckº\vg\b8!uK}Kij N efp"1 Ə#o xOؑoʹm?~3&xI<U/fgxOXS鿍?ٚ- h}2s{ ϡ&rƀchT]J?hg=؅u=z[铚aZ{SP孬t? qpbd@<a@x=sy)3LVsOOapՉ=MH#oB:w>.Җ*\ϲ3--25&94K;q B|u^%nUP\' V|nM{i~Q>w!2۳}PpH8zcȎWycmc"t!W3H h$qZA`qï4a*\5җ4i/Qf:( pqY%۠By>'=z[oyd UV<ӏ^**eza\QO?DI"iaފyr9ȭ{š>kj݈W'9s|ߞҥ4pPGOg0^nB!/Y8cxTg5S/-vEY])=8}hX)p"P!qޭ139}%58J{7 F5?ʧʬWý¥0*I J(=)(a$cny#gJV<O0ù Jxy7qM<拍 G͞)@zzPiԄ7H݇AޤQtc +$U1p0F=Nʑ1h0)gRN;xXI$8{<_~ip֚e&Dۇa>|'Lv3+ i^akw e^vʄ/9>=WW=*ꤥ5c &Jj-r;kЌp{ѱN?t#9=N):hxcoz!/jc˓ѱ#(8vtHTҦ tx{${6FO>(ޅ0;,:u+?|y$0JO^">#io)UX`{bҍJVgJX-j^Ԣ^DdXsF JO/]A&+F q'͝[[8<{cêkV$-<GchڅYxgsm[17a)~$k,4VO ?S\PFHL#VP擳N,Uz Jz%e宯4K[cm )VE#J<56&Ӥ=KQnGktS_6]Uw;{G֥ӵcNtN>tWއ|Q/t={{ΣvC. $8ZsbatmJܞQ][9 HPC+H$;GT;nN=LD:hI) V"F]TP2IW~jvxh9:՝:ɭ(Pg{:#ƴ>TO(Po^ִv-a\;/+px^-wTҼeZ]G<@;N imBOCn oHP obO-`zsJzFhF?(ae?Fu$]KBO1\~gZʽ$\ X"B;yF;Uח~8.aeISY°H-1I=઀gpJhgj}hWTfX>:8W5%5t|1\Y kO6Y@끓w>hգ{.ZQY7F/f_jZ~'2:NT|A"9gc\彬3M,5,u5Ğ$~ݩ1f9vRc~Z]׊u-F粷O v, }ph6Q9M{(g*֮:mMߙ>mE[]>D4Sq2)X.jh>zZv̶6Fލ`^j*o.^K{^/\G+9\ťu@?+Sowۡ3>ΜM+z.zsxc:OhvQH#i:qYv'?:>']_[ISs M;8\'8^&< )N4JURZri[dU>/f!~/ )(4_O#=d+ǎ7^McIY?%+Ҵu >`kˁ?hl4lF]H'L-[Oϻ @o2JOڳ˴Mkv~IںjOq^'#> dh~#lj4k8EݯKq_^ks%%VK) ]8vһق5)yF qθߊ%u7_ k](ǭs{kVڶ.mrU>qY:_X- *zyjxm7_H{{# pTrz?o<9MjEJ$SђC~xZnWSҴRrK{ŘVԱ *5tҳO{wۮwgew'ƍ=ց}jI`7Hidő{d{1񝜞o"F<,MG`X}V={Lh#QD7&Q r\% ՜w{vK F.+{4׭_~ :^$k$I-#xJ޻~?3v׷V1agۚٓ•|BDoۭ폻R 񠼔@fdv`4 W_I~!YjZnZ^ۮf*pxxg5pxD-B<"D?u9+I}n/F"4EѾZsYFiՕֳֶqut`j[3]WѼO['+,& ?("}(%>ɏ^ 8.M=y^KC?W9,ךKL]CPium+Nib g$<zoYt_ͧ/4 2$=+A^yҝyqXk5öX/Tdǀ?^"8~??ѫ~6NWּM-ͪK|$131Ҹk7\$Oiv0VbG\QFqtSyfQKG[\'x?'sw; 5kĚRٴQd%W?.1\m:YNgy{$Kvfr14S䟒Da1uVW%Coq Z/ 'o_WM>;C4!m^x˪L$p>܅\'^46Z~ ẂsFFA>sӅT۷sV&֚ZoG;Xubg[kɒh\r2jƗ}kx?*kF+9ХzUKSVE$*?;3ơ^E!_G{gդEy_bJZ߃wngɒK{xd*I'>b? ᔒy@ta?δMStЅ`{cR@e`J:VV<R7Z_1)?Oߜct؃)0~ A֝JqH[ ǥ#0\PW'۽#( SV 8-to~0ҢYCs5*vg!H^sלt~ O9,%KIZ\&_rN'}FqEmt]J3rI'Io$G-t |Ҕm{j!ʩ4ڷ#о?kOލrPۏȣi>8đ؀i$fIdv,Y&_zT({\8EE;{>k\S U4oBŽ&QE"BҊ(~*=Ɨ7jQ}7B"۷sğ׼HmٿsF+:8{\Rh%G…nOPڇ8;^1Wch?_Pr!$ӻUtS0֜~  ?U!H-?{oNi??Gzo_z-?{i4#?BYo񦟀\oY7׾hޗ'h?T'C_ƏPm~7׿G?Ni??G„׬wƓ&~??i?|?9/4&NNb}(??՚ ?co(-[_c?;c~'(=k oOo_BQo_Vi??Gc&݇„1LQ_ژi?A?zSZ'ZxGEژiޝ~ޑ~czqy} G41?j?ƒ#kO} EژfGoBkݵ?zڸjAki_VΛELK" >&cW#XKּVRsQEQQރEQEQEQA9Ji(hQQE1EQEQEQEQEQEQA8((h?60ib((PQ@ ߭-PE(f $ҩjui<#Y vP$Sɰǥ6PbӰ"9Uz:U2c;dTM:;I< ; TpO ,t`AE4[yrK|6#Oj 2)%)a]XG5w.#da)+sZ3p FOOz}!b(QEQEQEQEQEQEQEQ@Ph҃@(EQEQEQE(4_D|+I.ҵAsu.Qp)-cx?MGu+HK=BySB2k{=F]'Y&3& RFp=+<5_Vm'4.aO[?yA2G4boj"%>;Rq/Ow{W6:̟4 zH: Xe ^0+x[=DYKu?u¢iiu4O`HIGR@m9r9Nq=O ω{x-<4ML`i#_ ΃M3j+)\;d5uoxYxQo.{+ZvMdڣXuC#~ie7kguS`acJ~ ’!qS> qckiXdM2Xwx_7c;Keiܙ $ jΏ^ԵG :>W#\t#4/^$O׼˫YqکHp O@Mz=ýGAi1Pm$I|3x(GiU2c냌WkP0QZC_j@P(N-Q((1PN(Ĩ[n~cM?(3(=ih(=*YXeHuHz(Vۥq惬w#!c$ƶN>L38:,}7~y`AOq##A}qېo,e򐑜  u!-#s 0I9Fѹqۦ3@mqdbEpu =UD.|4!* n ;FN =AM/nnlyey.\XoaUo[֋h vVnJP~`p(wMլuN3A*d` ƫX5iJg[j+^~aEr^RMhg;Wcq+ E(sِr@.|[:5h ݏrz@zNw*r `3;Xc"q\x7QQݮ ,X$rIJ0n >  Heading 1$@& 5>*\8@8  Heading 2$@&>*HH  Heading 3$ h@&^h>*>>  Heading 4$$@&a$>*HH  Heading 5$\ @&^\ `>*f@f  Heading 60$$$d&d@&NPa$ 5CJ\TT  Heading 7$$ 8@&a$ 5>*CJ\DA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k(No List LCL Body Text Indent$ ^$ `PRP Body Text Indent 2\ ^\ `4@4 Header  !4 "4 Footer  !.)@1. Page Number@BB@ Body Text$ a$CJ6UQ6 Hyperlink >*B*phBPbB Body Text 2  dCJFVqF )FollowedHyperlink >*B* phjj 0 Table Grid7:V0e@ VhHTML Preformatted7 2( Px 4 #\'*.25@9CJOJQJ^JaJBbB ; HTML CodeCJOJPJQJ^JaJDD  0 Balloon TextCJOJQJaJ22  0 CharCJOJQJaJ(PPPP( !()+,\]FG()  #)*,OP>?cd*+STyz    Z [ m  F G J k l o 0 1 U V v w  N O P Q R  + , - QRyz*+bcWXYZtu%VW'/7EFIgv  !$@Odefop"#$%ILij{|239:=>ABEFIJMNOUVYZ]^abefijklm"'(,01289<@ADIJNRSTUV_`|} mnuv~yzKLxyvwz}~!!!!!!!!"" " """"""!"%"&"*"."2"3"5"9"=">"A"E"J"K"N"R"W"X"\"`"e"f"j"n"r"s"x"{"""""""""""""""""""""""""""""""""""""######### ###$#(#)#,#-#.########$$$% %%%&%'%(%8%9%a%b%w%x%y%z%%%%%%%& &,&-&.&/&\&]&&&&&&&&&&&&&$'%'&'''8'9'U'j'k'l'm'''''''''''''''''''''''(((((((X0000!0! 0!0! 0!0!0!0!0!0!0!0! 0!0! 0! 0! 0! 0!0!A0!A0!A0!A0!0!I0!I0!I0!I0!0!I0!I0!I0!I0!0!I0!I0!I0!I0!0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!0!H0!H0!H0!H0!H0!H0!H0!0!80!80!0!80!80!0!80!80!0!X0!X0!0!X0!X0!0!X0!X0!0!80!80!0!80!80!0!80!80!80!80!80!80!80!80!80!80!80!80!80!80!80!80!0!80!80!80!80!80!80!80!0!80!80!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!00!00!0!00!00!00!00!00!00!00!00!00!00!00!00!00!0!00!00!00!00!00!00!00!00!00!00!00!00!00!00!00!00!00!00!00!0!00!00!00!00!00!00!00!00!00!00!00!00!00!0!00!00!00!00!00!00!00!0!00!00!00!00!0!00!00!00!00!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!000000000000000000000x0000000000000000000000000000000000000000000`0`00`0`00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000@0M9000@0M900@0M900@0M900@0@0@0M900@ 000M90V !()+,\]FG()  #)*,OP>?cd*+STyz    Z [ m  F G J k l o 0 1 U V v w  N O P Q R  + , - QRyz*+bcWXYZtu%VW'/7EFIgv  !$@Odefop"#$%ILij{|239:=>ABEFIJMNOUVYZ]^abefijklm"'(,01289<@ADIJNRSTUV_`|} mnuv~yzKLxyvwz}~!!!!!!!!"" " """"""!"%"&"*"."2"3"5"9"=">"A"E"J"K"N"R"W"X"\"`"e"f"j"n"r"s"x"{"""""""""""""""""""""""""""""""""""""######### ###$#(#)#,#-#.########$$$% %%%&%'%(%8%9%a%b%w%x%y%z%%%%%%%& &,&-&.&/&\&]&&&&&&&&&&&&&$'%'&'''8'9'U'j'k'l'm''''''''''''''''((X00000!0! 0! 0! 0! 0!0!0!0!0!0!0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0! 0! 0!0!0!0!0!0!0!0!0!0!0!0!0!0! 0! 0!0!0!0!0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0! 0! 0!0!0!0! 0!0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!0!0!0!0!0!0!0!0!0!0!0!0! 0! 0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0! 0! 0!0!0!0!0!0!0!0!0!0!0!0!0! 0! 0!0!0!0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0! 0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0!0! 0! 0!0!0!0!0!0!0!0!0! 0! 0!0!0000000000000 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 000000 00 0000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 00000 0000000 0 0 0 0 0 0000000000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000 00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00000000 0 #Oy00@0@0 0hMV 333336k7I "y&.01$5=@JUz\  ) cTmFN +*uEg d# 3"A"F"M"Y"^"e"j"#'#0#@#I#R#T#n$$%}'''''''''''++ ,,%,2,=,J,W,e,r,,,,,,,,,,---$-,-%/w///,0\0000&1j111 !"#%&'()*+,-./012346789:;<>?ABCDEFGHIKLMNOPQRSTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy{|}~6!4801@00(  B S  ?(5D#̿led"? Q"$! +LdN\**䡈luuu%5b==GrL= *MlgcnPj' }T*$ YfM~.Y2,]`fD_Rcd+og}R\o"a#`r`for:#i~pv %:h{X>^`.^`.88^8`.^`. ^`OJQJo( ^`OJQJo( 88^8`OJQJo( ^`OJQJo(hh^h`. hh^h`OJQJo(@||^|`B*CJOJQJo(ph@ tt^t`OJQJo(o@ DD^D`OJQJo(@ ^`OJQJo(@ ^`OJQJo(o@ ^`OJQJo(@ !!^!`OJQJo(@ T$T$^T$`OJQJo(o@ $'$'^$'`OJQJo(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(@^`B*CJOJQJo(ph @^`OJPJQJ^Jo(-@   ^ `OJQJo(@ z z ^z `OJQJo(@ JJ^J`OJQJo(o@ ^`OJQJo(@ ^`OJQJo(@ ^`OJQJo(o@ ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h   ^ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h cc^c`OJQJo(h 33^3`OJQJo(oh ^`OJQJo(h ^`OJQJo(h   ^ `OJQJo(oh s#s#^s#`OJQJo(@^`B*CJOJQJo(ph@ ^`OJQJo(o@ ^`OJQJo(@ oo^o`OJQJo(@ ??^?`OJQJo(o@ ^`OJQJo(@   ^ `OJQJo(@ ##^#`OJQJo(o@ &&^&`OJQJo(h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH ^`OJQJo( WW^W`OJQJo(o ''^'`OJQJo( ^`OJQJo( ^`OJQJo(o ^`OJQJo( g g ^g `OJQJo( 7#7#^7#`OJQJo(o &&^&`OJQJo(h^`CJOJQJo( ^`OJQJo(o ^`OJQJo(   ^ `OJQJo(   ^ `OJQJo(o PP^P`OJQJo(   ^ `OJQJo( ^`OJQJo(o ^`OJQJo(@  ^ `B*CJOJQJo(ph@ ^`OJQJo(o@ ^`OJQJo(@ ^`OJQJo(@ u!u!^u!`OJQJo(o@ E$E$^E$`OJQJo(@ ''^'`OJQJo(@ ))^)`OJQJo(o@ ,,^,`OJQJo(@^`B*CJOJQJo(ph@ ^`OJQJo(o@ n n ^n `OJQJo(@ > > ^> `OJQJo(@ ^`OJQJo(o@ ^`OJQJo(@ ^`OJQJo(@ ~~^~`OJQJo(o@ NN^N`OJQJo(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(77^7`B*OJQJo(ph oo^o`OJQJo(o ??^?`OJQJo( ^`OJQJo(   ^ `OJQJo(o ##^#`OJQJo( &&^&`OJQJo( O)O)^O)`OJQJo(o ,,^,`OJQJo( } } ^} `OJQJo(   ^ `OJQJo(o ^`OJQJo( ^`OJQJo( UU^U`OJQJo(o %%^%`OJQJo( ^`OJQJo( ^`OJQJo(o ^`OJQJo(@,,^,`B*CJOJQJo(ph@ $ $ ^$ `OJQJo(o@   ^ `OJQJo(@ ^`OJQJo(@ ^`OJQJo(o@ dd^d`OJQJo(@ 44^4`OJQJo(@ ^`OJQJo(o@ ^`OJQJo( 88^8`OJQJo( ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(^`o()^`.| L| ^| `L.LL^L`.^`.L^`L.^`.^`.\L\^\`L.h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h oo^o`OJQJo(h ??^?`OJQJo(oh ^`OJQJo(h   ^ `OJQJo(h ##^#`OJQJo(oh &&^&`OJQJo(h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHhh^h`B*CJOJQJo(ph ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo(h ^`OJQJo(h ^`OJQJo(oh pp^p`OJQJo(h @ @ ^@ `OJQJo(h ^`OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh PP^P`OJQJo(hh^h`B*CJOJQJo(ph ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo(h $ $ ^$ `OJQJo(h   ^ `OJQJo(oh ^`OJQJo(h ^`OJQJo(h dd^d`OJQJo(oh 44^4`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h pp^p`OJQJo(h @ @ ^@ `OJQJo(oh ^`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(h PP^P`OJQJo(h   ^ `OJQJo(oh ^`OJQJo(@hh^h`B*CJOJQJo(ph@ ``^``OJQJo(o@ 00^0`OJQJo(@   ^ `OJQJo(@   ^ `OJQJo(o@ ^`OJQJo(@ pp^p`OJQJo(@ @@^@`OJQJo(o@ ^`OJQJo(h ee^e`OJQJo(55^5`OJPJQJ^Jo(-h   ^ `OJQJo(h   ^ `OJQJo(h ^`OJQJo(oh uu^u`OJQJo(h EE^E`OJQJo(h ^`OJQJo(oh ^`OJQJo(^`OJPJQJ^Jo(-^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hHh bb^b`OJQJo(h 2 2 ^2 `OJQJo(oh   ^ `OJQJo(h ^`OJQJo(h ^`OJQJo(oh rr^r`OJQJo(h BB^B`OJQJo(h ^`OJQJo(oh ^`OJQJo(O^`Oo(()EE^E`.L^`L.^`.^`. L ^ `L.U#U#^U#`.%&%&^%&`.(L(^(`L. ^`OJPJQJ^Jo(- ^`OJQJo(o ^`OJQJo( t"t"^t"`OJQJo( D%D%^D%`OJQJo(o ((^(`OJQJo( **^*`OJQJo( --^-`OJQJo(o 00^0`OJQJo(*C }z4n.#.cdD_ABEFIJMNOVYZ]^abefijkl"'(,0129<@ADIJNRSTUmnuv~yvwz}~!!!!!!"" " """"""!"%"&"*"."2"3"5"9"=">"A"E"J"K"N"R"W"X"\"`"e"f"j"n"r"s"x"{"""""""""""""""""""""""""""""""""""######### ###$#(#)#,#-#$(%8%9%a%b%w%x%y%z%%%%%%%& &,&-&.&/&\&]&&&&&&&&&&&&&$'%'&'''8'9'j'k'l'm'''''''''''(dDDDDDDDDqqD DD@''"''4 "'(P@P(PX@P(@UnknownKristine PankowGz Times New Roman5Symbol3& z Arial?5 z Courier NewC%Lucida Grande;Wingdings"1hF!H!H!4d''w 2QHX?D= Lecture 01Michael Thorneelthorno*                           ! " # $ % & ' ( ) Oh+'0 $ @ L X dpx Lecture 01ectMichael Thorneichich Normal.dotr elthornotr2thMicrosoft Word 10.0@@&y'#@|XF@|XF!՜.+,0  hp  Arizona State UniversityvH'A  Lecture 01 Title  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry FpqFData 1Table!WordDocument/SummaryInformation(DocumentSummaryInformation8CompObjj  FMicrosoft Word Document MSWordDocWord.Document.89q