You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by dd...@apache.org on 2008/10/16 13:59:08 UTC

svn commit: r705215 [1/5] - in /hadoop/core/trunk: ./ conf/ docs/ src/docs/src/documentation/content/xdocs/ src/mapred/org/apache/hadoop/mapred/ src/mapred/org/apache/hadoop/mapred/pipes/

Author: ddas
Date: Thu Oct 16 04:59:06 2008
New Revision: 705215

URL: http://svn.apache.org/viewvc?rev=705215&view=rev
Log:
HADOOP-4418. Updates documentation in forrest for Mapred, streaming and pipes. Contributed by Amareshwari Sriramadasu.

Modified:
    hadoop/core/trunk/CHANGES.txt
    hadoop/core/trunk/conf/hadoop-default.xml
    hadoop/core/trunk/docs/changes.html
    hadoop/core/trunk/docs/cluster_setup.html
    hadoop/core/trunk/docs/cluster_setup.pdf
    hadoop/core/trunk/docs/hadoop-default.html
    hadoop/core/trunk/docs/mapred_tutorial.html
    hadoop/core/trunk/docs/mapred_tutorial.pdf
    hadoop/core/trunk/docs/native_libraries.html
    hadoop/core/trunk/docs/native_libraries.pdf
    hadoop/core/trunk/docs/quickstart.html
    hadoop/core/trunk/docs/quickstart.pdf
    hadoop/core/trunk/docs/streaming.html
    hadoop/core/trunk/docs/streaming.pdf
    hadoop/core/trunk/src/docs/src/documentation/content/xdocs/cluster_setup.xml
    hadoop/core/trunk/src/docs/src/documentation/content/xdocs/mapred_tutorial.xml
    hadoop/core/trunk/src/docs/src/documentation/content/xdocs/native_libraries.xml
    hadoop/core/trunk/src/docs/src/documentation/content/xdocs/site.xml
    hadoop/core/trunk/src/docs/src/documentation/content/xdocs/streaming.xml
    hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/package.html
    hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/pipes/package.html

Modified: hadoop/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=705215&r1=705214&r2=705215&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Thu Oct 16 04:59:06 2008
@@ -940,6 +940,9 @@
     HADOOP-4278. Increase debug logging for unit test TestDatanodeDeath.
     (dhruba)
 
+    HADOOP-4418. Updates documentation in forrest for Mapred, streaming and pipes.
+    (Amareshwari Sriramadasu via ddas)
+
 Release 0.18.2 - Unreleased
 
   BUG FIXES

Modified: hadoop/core/trunk/conf/hadoop-default.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/conf/hadoop-default.xml?rev=705215&r1=705214&r2=705215&view=diff
==============================================================================
--- hadoop/core/trunk/conf/hadoop-default.xml (original)
+++ hadoop/core/trunk/conf/hadoop-default.xml Thu Oct 16 04:59:06 2008
@@ -763,7 +763,7 @@
 
 <property>
   <name>mapred.jobtracker.job.history.block.size</name>
-  <value>3145728></value>
+  <value>3145728</value>
   <description>The block size of the job history file. Since the job recovery
                uses job history, its important to dump job history to disk as 
                soon as possible. Note that this is an expert level parameter.

Modified: hadoop/core/trunk/docs/changes.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/changes.html?rev=705215&r1=705214&r2=705215&view=diff
==============================================================================
--- hadoop/core/trunk/docs/changes.html (original)
+++ hadoop/core/trunk/docs/changes.html Thu Oct 16 04:59:06 2008
@@ -96,13 +96,14 @@
     </ol>
   </li>
   <li><a href="javascript:toggleList('trunk_(unreleased_changes)_._bug_fixes_')">  BUG FIXES
-</a>&nbsp;&nbsp;&nbsp;(3)
+</a>&nbsp;&nbsp;&nbsp;(4)
     <ol id="trunk_(unreleased_changes)_._bug_fixes_">
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4204">HADOOP-4204</a>. Fix findbugs warnings related to unused variables, naive
 Number subclass instantiation, Map iteration, and badly scoped inner
 classes.<br />(Suresh Srinivas via cdouglas)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4207">HADOOP-4207</a>. Update derby jar file to release 10.4.2 release.<br />(Prasad Chakka via dhruba)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4325">HADOOP-4325</a>. SocketInputStream.read() should return -1 in case EOF.<br />(Raghu Angadi)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4408">HADOOP-4408</a>. FsAction functions need not create new objects.<br />(cdouglas)</li>
     </ol>
   </li>
 </ul>
@@ -259,7 +260,7 @@
     </ol>
   </li>
   <li><a href="javascript:toggleList('release_0.19.0_-_unreleased_._improvements_')">  IMPROVEMENTS
-</a>&nbsp;&nbsp;&nbsp;(72)
+</a>&nbsp;&nbsp;&nbsp;(74)
     <ol id="release_0.19.0_-_unreleased_._improvements_">
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4205">HADOOP-4205</a>. hive: metastore and ql to use the refactored SerDe library.<br />(zshao)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4106">HADOOP-4106</a>. libhdfs: add time, permission and user attribute support
@@ -389,10 +390,13 @@
 incrementing the task attempt numbers by 1000 when the job restarts.<br />(Amar Kamat via omalley)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4301">HADOOP-4301</a>. Adds forrest doc for the skip bad records feature.<br />(Sharad Agarwal via ddas)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4354">HADOOP-4354</a>. Separate TestDatanodeDeath.testDatanodeDeath() into 4 tests.<br />(szetszwo)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-3790">HADOOP-3790</a>. Add more unit tests for testing HDFS file append.<br />(szetszwo)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4150">HADOOP-4150</a>. Include librecordio in hadoop releases.<br />(Giridharan Kesavan
+via acmurthy)</li>
     </ol>
   </li>
   <li><a href="javascript:toggleList('release_0.19.0_-_unreleased_._optimizations_')">  OPTIMIZATIONS
-</a>&nbsp;&nbsp;&nbsp;(9)
+</a>&nbsp;&nbsp;&nbsp;(11)
     <ol id="release_0.19.0_-_unreleased_._optimizations_">
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3556">HADOOP-3556</a>. Removed lock contention in MD5Hash by changing the
 singleton MessageDigester by an instance per Thread using
@@ -412,10 +416,16 @@
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3514">HADOOP-3514</a>. Inline the CRCs in intermediate files as opposed to reading
 it from a different .crc file.<br />(Jothi Padmanabhan via ddas)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3638">HADOOP-3638</a>. Caches the iFile index files in memory to reduce seeks<br />(Jothi Padmanabhan via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4225">HADOOP-4225</a>. FSEditLog.logOpenFile() should persist accessTime
+rather than modificationTime.<br />(shv)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4380">HADOOP-4380</a>. Made several new classes (Child, JVMId,
+JobTrackerInstrumentation, QueueManager, ResourceEstimator,
+TaskTrackerInstrumentation, and TaskTrackerMetricsInst) in
+org.apache.hadoop.mapred  package private instead of public.<br />(omalley)</li>
     </ol>
   </li>
   <li><a href="javascript:toggleList('release_0.19.0_-_unreleased_._bug_fixes_')">  BUG FIXES
-</a>&nbsp;&nbsp;&nbsp;(109)
+</a>&nbsp;&nbsp;&nbsp;(130)
     <ol id="release_0.19.0_-_unreleased_._bug_fixes_">
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3563">HADOOP-3563</a>.  Refactor the distributed upgrade code so that it is
 easier to identify datanode and namenode related code.<br />(dhruba)</li>
@@ -625,6 +635,45 @@
 for small jobs.<br />(Amareshwari Sri Ramadasu via acmurthy)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4163">HADOOP-4163</a>. Report FSErrors from map output fetch threads instead of
 merely logging them.<br />(Sharad Agarwal via cdouglas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4261">HADOOP-4261</a>. Adds a setup task for jobs. This is required so that we
+don't setup jobs that haven't been inited yet (since init could lead
+to job failure). Only after the init has successfully happened do we
+launch the setupJob task.<br />(Amareshwari Sriramadasu via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4256">HADOOP-4256</a>. Removes Completed and Failed Job tables from
+jobqueue_details.jsp.<br />(Sreekanth Ramakrishnan via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4267">HADOOP-4267</a>. Occasional exceptions during shutting down HSQLDB is logged
+but not rethrown.<br />(enis)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4018">HADOOP-4018</a>. The number of tasks for a single job cannot exceed a
+pre-configured maximum value.<br />(dhruba)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4288">HADOOP-4288</a>. Fixes a NPE problem in CapacityScheduler.<br />(Amar Kamat via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-3883">HADOOP-3883</a>. Limit namenode to assign at most one generation stamp for
+a particular block within a short period.<br />(szetszwo)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4014">HADOOP-4014</a>. Create hard links with 'fsutil hardlink' on Windows.<br />(shv)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4393">HADOOP-4393</a>. Merged org.apache.hadoop.fs.permission.AccessControlException
+and org.apache.hadoop.security.AccessControlIOException into a single
+class hadoop.security.AccessControlException.<br />(omalley via acmurthy)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4287">HADOOP-4287</a>. Fixes an issue to do with maintaining counts of running/pending
+maps/reduces.<br />(Sreekanth Ramakrishnan via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4361">HADOOP-4361</a>. Makes sure that jobs killed from command line are killed
+fast (i.e., there is a slot to run the cleanup task soon).<br />(Amareshwari Sriramadasu via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4400">HADOOP-4400</a>. Add "hdfs://" to fs.default.name on quickstart.html.<br />(Jeff Hammerbacher via omalley)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4403">HADOOP-4403</a>. Make TestLeaseRecovery and TestFileCreation more robust.<br />(szetszwo)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4378">HADOOP-4378</a>. Fix TestJobQueueInformation to use SleepJob rather than
+WordCount via TestMiniMRWithDFS.<br />(Sreekanth Ramakrishnan via acmurthy)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4376">HADOOP-4376</a>. Fix formatting in hadoop-default.xml for
+hadoop.http.filter.initializers.<br />(Enis Soztutar via acmurthy)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4410">HADOOP-4410</a>. Adds an extra arg to the API FileUtil.makeShellPath to
+determine whether to canonicalize file paths or not.<br />(Amareshwari Sriramadasu via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4236">HADOOP-4236</a>. Ensure un-initialized jobs are killed correctly on
+user-demand.<br />(Sharad Agarwal via acmurthy)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4373">HADOOP-4373</a>. Fix calculation of Guaranteed Capacity for the
+capacity-scheduler.<br />(Hemanth Yamijala via acmurthy)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4053">HADOOP-4053</a>. Schedulers must be notified when jobs complete.<br />(Amar Kamat via omalley)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4335">HADOOP-4335</a>. Fix FsShell -ls for filesystems without owners/groups.<br />(David
+Phillips via cdouglas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4426">HADOOP-4426</a>. TestCapacityScheduler broke due to the two commits <a href="http://issues.apache.org/jira/browse/HADOOP-4053">HADOOP-4053</a>
+and <a href="http://issues.apache.org/jira/browse/HADOOP-4373">HADOOP-4373</a>. This patch fixes that.<br />(Hemanth Yamijala via ddas)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4278">HADOOP-4278</a>. Increase debug logging for unit test TestDatanodeDeath.<br />(dhruba)</li>
     </ol>
   </li>
 </ul>
@@ -634,13 +683,19 @@
 </a></h3>
 <ul id="release_0.18.2_-_unreleased_">
   <li><a href="javascript:toggleList('release_0.18.2_-_unreleased_._bug_fixes_')">  BUG FIXES
-</a>&nbsp;&nbsp;&nbsp;(3)
+</a>&nbsp;&nbsp;&nbsp;(7)
     <ol id="release_0.18.2_-_unreleased_._bug_fixes_">
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4116">HADOOP-4116</a>. Balancer should provide better resource management.<br />(hairong)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3614">HADOOP-3614</a>. Fix a bug that Datanode may use an old GenerationStamp to get
 meta file.<br />(szetszwo)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-4314">HADOOP-4314</a>. Simulated datanodes should not include blocks that are still
 being written in their block report.<br />(Raghu Angadi)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4228">HADOOP-4228</a>. dfs datanoe metrics, bytes_read and bytes_written, overflow
+due to incorrect type used.<br />(hairong)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4395">HADOOP-4395</a>. The FSEditLog loading is incorrect for the case OP_SET_OWNER.<br />(szetszwo)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4351">HADOOP-4351</a>. FSNamesystem.getBlockLocationsInternal throws
+ArrayIndexOutOfBoundsException.<br />(hairong)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-4292">HADOOP-4292</a>. Do not support append() for LocalFileSystem.<br />(hairong)</li>
     </ol>
   </li>
 </ul>

Modified: hadoop/core/trunk/docs/cluster_setup.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/cluster_setup.html?rev=705215&r1=705214&r2=705215&view=diff
==============================================================================
--- hadoop/core/trunk/docs/cluster_setup.html (original)
+++ hadoop/core/trunk/docs/cluster_setup.html Thu Oct 16 04:59:06 2008
@@ -231,6 +231,14 @@
 </ul>
 </li>
 <li>
+<a href="#Cluster+Restartability">Cluster Restartability</a>
+<ul class="minitoc">
+<li>
+<a href="#Map%2FReduce">Map/Reduce</a>
+</li>
+</ul>
+</li>
+<li>
 <a href="#Hadoop+Rack+Awareness">Hadoop Rack Awareness</a>
 </li>
 <li>
@@ -726,8 +734,21 @@
       typically <span class="codefrag">${HADOOP_HOME}/conf</span>.</p>
 </div>
     
+<a name="N10398"></a><a name="Cluster+Restartability"></a>
+<h2 class="h3">Cluster Restartability</h2>
+<div class="section">
+<a name="N1039E"></a><a name="Map%2FReduce"></a>
+<h3 class="h4">Map/Reduce</h3>
+<p>The job tracker restart can recover running jobs if 
+        <span class="codefrag">mapred.jobtracker.restart.recover</span> is set true and 
+        <a href="#Logging">JobHistory logging</a> is enabled. Also 
+        <span class="codefrag">mapred.jobtracker.job.history.block.size</span> value should be 
+        set to an optimal value to dump job history to disk as soon as 
+        possible, the typical value is 3145728(3MB).</p>
+</div>
+    
     
-<a name="N10398"></a><a name="Hadoop+Rack+Awareness"></a>
+<a name="N103B3"></a><a name="Hadoop+Rack+Awareness"></a>
 <h2 class="h3">Hadoop Rack Awareness</h2>
 <div class="section">
 <p>The HDFS and the Map/Reduce components are rack-aware.</p>
@@ -750,7 +771,7 @@
 </div>
     
     
-<a name="N103BE"></a><a name="Hadoop+Startup"></a>
+<a name="N103D9"></a><a name="Hadoop+Startup"></a>
 <h2 class="h3">Hadoop Startup</h2>
 <div class="section">
 <p>To start a Hadoop cluster you will need to start both the HDFS and 
@@ -785,7 +806,7 @@
 </div>
     
     
-<a name="N10404"></a><a name="Hadoop+Shutdown"></a>
+<a name="N1041F"></a><a name="Hadoop+Shutdown"></a>
 <h2 class="h3">Hadoop Shutdown</h2>
 <div class="section">
 <p>

Modified: hadoop/core/trunk/docs/cluster_setup.pdf
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/cluster_setup.pdf?rev=705215&r1=705214&r2=705215&view=diff
==============================================================================
--- hadoop/core/trunk/docs/cluster_setup.pdf (original)
+++ hadoop/core/trunk/docs/cluster_setup.pdf Thu Oct 16 04:59:06 2008
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 662 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 741 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gaua=9lldX&;KZO$6>[)<.+kh,Z@Ln;d+6XHD%^NR8DrMd7jRg-%V3Fc33kSnA/GqAYmH$?1!'&Hrs<4(dt$q''-d8#m0u,"(XV5jDIXF"KBI-nI'_OI4BG5*H/_F8M`H;H>*0#80%mmde%_^#:R;gmjZ&IpG8-ujUb?F\1GdpNH>Z?Rp)d@r8+I)aOYHs57TA.pP0?#%QT7p*W4ku9eOrpoiV1Fl_Eb3qL1`?lsn-tLX\HgXN3L^V3$WYA0*g15AGJEj\&s)[?9:>o^95q!Ld9tNB'BO#+^O0e=YL@PYG)F>.'81\5/Om^h1--fa,H,Z"*HZC9)[<lc$Cd1)=>,SjR\?K\;M4:<;qL]I"?`1]7LLWM6K[k2!r2Y+CP%ZeAms1mKEmhotBe448%`3X=A-:Yor@%b8c-31US!7],apk6!hELJ)?sr`3p/K6?olC>$bt*KT"]H@A1VkL&*+4Mlo"oLOCe^+lJX([saomWLq<.E/J57sq=8kra6ereLEuS"4k2VSJa0gaA2E7IoI8.Gsc*Petp^X5>O]KEEelQ$c<o>ouP557#)aUl7f\(q./"_*MtFI4B0U5J#\n9^'-\#fjb*#\Ch%%PelFa)W-R)c[cB,@P,bqKD%[#)ll(RUGou]?$;/eA()T#5#YQ`#d2~>
+Gaua=bAs(+'Sc?EKpM-NMXJ88ajed_VDDr1Y3ghnZH\U8!RXTt^610@G%WA;$$]kgr#G6H/ir`0FM"E#0Si!&O-'1l7L0tX%$:HsOIBs:+\5$'ZJXU;l;PEtlfJ;Z+`X7FXWGX!;mLN^2H'5Er_JW(dGAA`:YsE&nsDd<`S...@Fsp0>B[=N,BqM.rrpXiJ@>~>
 endstream
 endobj
 6 0 obj
@@ -31,6 +31,8 @@
 20 0 R
 22 0 R
 24 0 R
+26 0 R
+28 0 R
 ]
 endobj
 8 0 obj
@@ -96,7 +98,7 @@
 20 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 102.0 450.466 231.296 438.466 ]
+/Rect [ 102.0 450.466 212.336 438.466 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 21 0 R
@@ -106,7 +108,7 @@
 22 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 102.0 432.266 185.66 420.266 ]
+/Rect [ 108.0 432.266 184.82 420.266 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 23 0 R
@@ -116,7 +118,7 @@
 24 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 102.0 414.066 199.664 402.066 ]
+/Rect [ 102.0 414.066 231.296 402.066 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 25 0 R
@@ -124,31 +126,51 @@
 >>
 endobj
 26 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 395.866 185.66 383.866 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 27 0 R
+/H /I
+>>
+endobj
+28 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 377.666 199.664 365.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 29 0 R
+/H /I
+>>
+endobj
+30 0 obj
 << /Length 2137 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gatm<ac>+8&A@rkFA.3C,Ec6/\TRTKa>.JeAd/@kVJW#<d@hgIrV'7EXJ/D!NBtpX(<tR6?<-Og@eT)8m*U@YhI8;4^$Uc)55\82n_l#+32&J*(45MR(R2T)jt*U[?[T'$5o8g_pQ)fY4F=Q)r<1!+pqs0Zj8fiij9<g$GpJ48N:N:@5A.08RA!,R/(9g)-jem6ggZTcK>=m$<I:!tkX6.9P:dT][*tr3UX[3]BjR#ZbO1+KQ-M>Q[PDSWP50G!fZRN;d>ti`kG:b2WQ^+7O)hAq!AVj!U/\#RggZc8$c4sRN6JbF^)[J<7dlH`kQc7I3ioTofKf,11hs5"Vr9%f"rf8[et8J\Eeh0lFB*i!ciq*#aX/XX64jmG1[GdLGg[<^#s12sqU%(U&ZTOmleLa(!]Xd!#B7(DF6+0XaQ1g7,LZ.#_MFIFU,OMr(S`a.P]_:5*#*H<3X;ce.FYB6Fjo4>IXLWsPQc_]"r*"aZ+#M*$qMRorZLf[,/VtoGn4a8FgPcHSOF#N#,s[qqGP9Y5&_UHp*%G[?s<_p^jO_iAf)/>RN(q+8rL&U`?[3lJ.)bJf-(6S873SCFX'8p6:*+fU/&m)+JDVFmJX7ZXtT>X,sl$AI@Y0ABZ(MA+>Raq)F6>"NCafekEDCpETVie3r@#2'up/H#U1\hVEA!MKYapo)7?'7&mS0V&4ppng!'\.%'H1Z%&G66,K%Te1Y\kD?.ufOJp!T?o>u\:EG/WqmJ*q5&<6#eWcTOI':g7f[G7`qJE_L\CafK2,Z,gjQ5l1,V`#U%9^=B+'LEAOKI<KI"A%rX,u!sP+9GjF!ph18BI]oSlXG`:n`c.<JADoELni7U3(L"H+BKf+`X]XTcH5FZkW4M@A`G(eefGI;`>45+NnRG`+]2%C\?o2tf=D-g$^XD.+[Tn>gK^&S&nNfWe0S+8&RHMuP!lb<?fbUBKp'+NGQFI73$P\@)4>7OC`M"e]N1r(e(:n8U,oD
 B/$c-=lfGuKima-hd5k\PKW+pN?a[Yt,>:"o^(re1@*NZU@2DG#/r"hm&n]>A90BVm[&bJcZ+q]m'uI:BJ]:YO7,<t'QY+n/nPT%o84C'=h0HKZon5+A]f9_PPf<U'/>\VWQel78BqX@XCJo(K'T;l^P(bG.T2-1Cprs(POoCZJ#Uh(7&2r\qP=KaI.>!)4^nK(ce@8lgAD=Yhoe!_[:((/fQ;u[9>f^F)7N$hu#LC"`CR=o^iO4agn)&TkpANm0hnHb8((a$+cmD0>\Au+/6aC&!XM^+l*ncIOMTQ.q*Q2`n6NN'NbPsuGa<b[%\+tO\kY5R8K.M5m:(Nj&R!aLO,!_08e#fM!`s3)n0;@Ae4ogV#OP_fYn/B7AZ,Ol*NQs;-Z5S.b<j`ihO)+IW)qJoYP5X`d@QBH1oOf?l@3"s#UXQC3O5HkgQ&UI9&:I0sSuhhQ/Uh5-8/MfJC`+2Pf#/IB%.lFLgCiUgH,;*%rh)t7n`.Xmqb:ki&C1^0!UfsH.Yp>dBTnQq@P.3%Pu;:d'#J?YYtbb(O#D7J\cq*mG])\PYXJ%-*,U>rSV(qGh4P@]Da(6&m!S=&<fU@jkRH<);4k&B7TNY`IdR#<dTYl4YSE'%kC__XP[)OWNfgF'2\GIj2_rB\Vs:t5aHacsR0<8ZO\,4dMX5>CDB^D6bYf3:1@,$Db_q*WV42T"N%ML;IK5A8A%4dXO==m?%e$fZ/5'96;kS5LhqK"3%OZ*7h.6riQ:BW`[8j7#fQ"#Kmp+GlKFTk?5E/BK1Mn3SBMI%<1Td9I?u5('DL.=&F$W^%hM9DSd9UD'B^?70J%o<f[IJB`^?I)KoC.auWk6TNr#I3+Kco.e[e@m$^BS]Z/37lHEsp8RS/+Qr+COuVF!k.bb0o_&mK,JmXMS9$R*(m]_J'HZQ=^TmGGq2*,:Rffgf':.,6e5M0i*nH\fSkE7u8$LUPHQFDP]&f9H5eNlbfT@5'p+;Fg,XmgGX
 0=a!;/,IdRjbf%k^04>;e[#XLEdge.X>j%bBuh;eN<)FHtj^ZuJ"YW)o.`IoCNn=_4;/7GnsogU$p9Y0%;fG)q^qr2N0dc$,[^)4SqJZSg[5JZ'5^)t]p97-6D:Au;,cXcG,h0q2d$hOmIAWCMb]&nKtr!4>~>
 endstream
 endobj
-27 0 obj
+31 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 26 0 R
-/Annots 28 0 R
+/Contents 30 0 R
+/Annots 32 0 R
 >>
 endobj
-28 0 obj
+32 0 obj
 [
-29 0 R
-30 0 R
-31 0 R
-32 0 R
 33 0 R
+34 0 R
+35 0 R
+36 0 R
+37 0 R
 ]
 endobj
-29 0 obj
+33 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 124.332 582.066 144.984 570.066 ]
@@ -159,7 +181,7 @@
 /H /I
 >>
 endobj
-30 0 obj
+34 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 176.316 533.732 217.644 521.732 ]
@@ -170,7 +192,7 @@
 /H /I
 >>
 endobj
-31 0 obj
+35 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 108.0 520.532 125.328 508.532 ]
@@ -181,7 +203,7 @@
 /H /I
 >>
 endobj
-32 0 obj
+36 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 108.0 243.011 202.32 231.011 ]
@@ -192,7 +214,7 @@
 /H /I
 >>
 endobj
-33 0 obj
+37 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 114.336 199.411 134.988 187.411 ]
@@ -203,43 +225,43 @@
 /H /I
 >>
 endobj
-34 0 obj
+38 0 obj
 << /Length 2370 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 GatU6CN%rc'`IH,@2&gTD@IhQU)jL3_+C/oko+3>=*.Z%5`t84W%<4?jO%E9I95!XPc5JI,)0h'P*b@'HUqH=A2TdY-N?chkrnsXT3)FuVRiqJX%'Gi7hk7p>K/L/e%<_?PEXPXptV7:"MS*B-d(:@JcG!l\((bi<'4H'VgnZD+cP8OO77Uo+.$<NlIKYdXM+KfZ4el"hG!s@XtF:g&;i$`.%Sa:E(8:ZBBW=6\MKs)(aDZ'glYT=:[Ac/F1roh[`4$gL>e.Kp<u!0;>n=PR+@6echHa+^mN:S42?P5#fl-)_2:(bgX="tZ/EHV_I1Q=Up<,$68N^o@8f#U!m]tgkA4[XLhJ7R,,KPu'\?sO0So$*fFr=(51hdfjWieOikO`t!1O,U=S0ND8Q62,ZQjh?+AQnm1,)OG]QG&#,XSbJ,Qisn-;lAZ%2aeO,H;ok%O"Xl)g"fEi!Pcr'tUJVWRr>L2XQO:-H]F8G!E;H]4W$K$q*N74)d9Y+k/b(OAdjD%.@5Zm<m*_X?Cg\3je6WO[]USRh2[fpfmc''L!X6;cFVOErD]]640Eo&?=qjr4Lt%Kl;#r]?:`&og!\lQ+Ujo<DW`b$sLe'0hc*d&QK/M[L=ZneBH`pJJT\qI::'638T=fcRE3>\*0?8G=4rI"uSV@QK6)Ur<eTNoME3bih104g`.J\,&`gh[FjTta07oO`B34,CX8,T2V*seq#stg\FmQp`+O%NMWB93kuJKZ/EVYnAq=3$'M.R?*_FPn%kN%0><]B'Y,ALT2+*^?nN8dY+ONS37COm^T4bVLMbirIVu\!jVI:J8o@f_\*rhgab6ar"3Jl'Bm'=#8nG=m].V:a])6=ahP1#<qU;ZM3!JmC*(`H4Hm7Rr0%X<I6c2h80H4QU:gAV+Mpl&r(Ng;7Ogh#l_,C'#&.':t\@Wo1^>i5O&]=;0!4//Wb40rVCC#*D`o"m5L\5I0i&%:ZUG<ULai%Y755&s<,@t+3
 o,M%%"bD&Et"tI\ni#a@Uq/3BkTS&\aFO3A`q$hYKJqd)s%i`M$',CM>s'".6['K\`5T5TMou(T"^:Z[-[;cD]6UcKm6c\@$-)HRS]bia5CuLb`=gZuK1V38<7c5gQ(-%^V-ZYuETO]n1Zj438UJ(dK-<@$l#/`&#Zs*g(f%bVAEt./5LO2q%.0_3J(p4<,a;lc,b8_-9$29&S`)re_e#ED///A=:2&r::$SEhb##a.W;+2qaC>r0*ma^[Qr+^40kG;6H-"2gB<9eEq7O;MUc]9<L1r<Yh:t`SkV`g"F]NV^4#u;d$)NDV25@uQSCega&E70=,j>7M=.;3f]>L!"Y,gJ-#7U9n'Br('Abo]]Ui<Hh[7K7fT)/t6^ZYdhB\E)AkF!aOG-_JD0e/u>iY.EQ?(gQ;jS-hIM5S\ZMc;,6XB="'lL?Xm]fe?lXpa7ARVN3f>NA/Eo.f/lQMe_pqi1PlLA(2oKqSW'UjVEdn""5/q:r+P$Tn6..Mj)]9m.B?9VM@d\/AnF9iL#j%=<Da%)I\^h<:oXW'%,tX_-rHu`hcQ%oEXf\lRfV'##RDmTn5p"6j8oXZfO[`R9HXo6mW,*:TW`,l'FQdgRZ[Iet;Ti+Op:DXMuMb^p;t,mkb"Bl._L/f6-;p'<^h\+")6K`+!,\<c]W?g_0itb;J"VbEkQ.TVEL"&d$)[/.OA@$ASrW]kRDIYP<WV]/7^fltI8*flD3]YF\;q`kT/IqXWb(cbINe\cPk96<=-;bCP0<=#SQXYPQn'.7RK$a8uDY#m"A1IW#gQ^R($`[Y/Cc==Yl$NC'bgnPbe)\>h-P6`uf`nGFfVZn(L#\[S5SAe]4_\p/^Op>Ml!lDf_8dIrC>+J.SqQPJdP^+T3eLpgU,*L9=rONWZlkHj:s8t@tN`*=S_n_E=Y0W%)8@kM[tJ0&1a!67''-Xr1&HpW[d?bQpd#-YQkZR7D$:iG.)'5_"0i72Y^m:&8k?@M[UX8I
 i@;B*VmJ_SmShDX21!,f]]m>bYnls2/=[\8Rsh[![j^Ai;l6&"`(a1=-,gR"E6k>g/5Z8((:FKg=0e#HR#bop(=>&2/n_j?iUTd2_nZBkfQ^Ol55li_2"OW3Or!_;hqYm>6FIaY[^4P5,*`+AW29Jng^lpY-TYkO&6^"6nb%FIaqI>16tT8gMq;`0.8KiGfCaA3l-FVp]:-6Dqq_"g:8A[YSp)VNB!Nks!:`rae(99uA8TsgD^%Ui2Q5h2-i+s*%*M3)u_Vo=P-fCh?@VBQbp\17KpJI?*$F^,54/)0B3$@/FV[B+-2Sg3]QPLNUWYF)>4$S.*;[gI]-)mc+&nEjes:*+8d5^EoliU1nZ`0o^O$HO1`\RVee@MV,n<P/J&Inm>d]D~>
 endstream
 endobj
-35 0 obj
+39 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 34 0 R
+/Contents 38 0 R
 >>
 endobj
-36 0 obj
+40 0 obj
 << /Length 3073 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 GauHO?'Ceg'n)]]_;i,LXTg&Dfsg</Z...@4fU>lm.fN@=&V0cdQhLc-jj%R_fI1DZD&3\+UE^=\!]No-I8\7qBjXDjht16]gM_,+TF@nqf7bWV#\e^Qp<RF-C,H:&<TH:K[-
 :P.7hdEn#Y2WS<O-...@rc><F@R%?cHaZN]
 TFUXkU2q.Zk)b7+Ldl-_1jO/4GA.U>e/QEHAd:\)R7rC9!IDdG6tJ+XljFJ`F@q0HAo2$;W7Q/jhOYT_@]'0>Br!4rIa3?:Ln-?_Q@=[&'/Pq(GbEJmFmC'2,&]#>m*hW]uT\RBt7Q=#2<(1NM"8Q1p\Mn)LlB\AM4=)%$DRai/$e#fglJ2L*i*.(Wqb`SeXJ*-:/b!hXBdXZG?U3%?44@>.oqCA-sm(6j]$MU*trn?`m+5r2uBt+NPf6=B$0``jF/LV[t!#+b'+EB[W![Jk(&6tSVApRF"!_EappR5B=j.'d(^BgFWX7cP7%<54K[`u#V]i):YH^I+'Cj]*\FGi(f_-3b!Y2>j?<;Y"lO`%GkXq:IK-.d$u;PDK-.':YOD%jsEYS'*lU`'90r\D7,AGNc>KZ./PS9dQRouLYgG\Q'c#j#&,\.(@BcmY?)`"P>Oc.A1[$*$f)TGH-g\1If$jjj`;1R1o>1IPALk#jHQ;(&=Si?Wba%bXfE&9&mA%%YZ^H30;%jNQV`;B.'+&bbiC8&'F7R'udikd^&*B=#u+GbZEF#%4S/qMitEVXP3m]VJd4^i%aFVa#,#bGn#,0gL'0hetp.1UW/o1\$-eh`u[A.K1IgZ2<Q&Q*F=2;Uf&_3'i@Vf7$X"cZ#<`-KOuaimS7Gc^qtTl2qZfK*#\S5J^,bkhp=IAk:M9T<(-@mZ87]@V@hKPhS6'=Ochn\_8Ef<P;NS=>/6l`ji<tI^HoV]ko9-Jd7mqp=g5TC,Qjns/#lp(k2J$dc(T];k@Y_^]ct=d59+`?RP`V%Ij$;[HpL.RHH\Ei%(6ZBMgH;hp>$f)FsJ+:N+h"EZC?IEI^AG[SDo7IN6irpmKN?o8bFuJ3A?t5)fRRZLkqnf::"XMe%mO,o66-=9#o5@6_,NlEq0^P](qm+5VhH8Jq6jTS)[c(KOiq6QR5:&#C7-W#WPI;T^'Kk>s\&BFr]U.<pWK^p=Ecp9<c%#/(U&M)
 M7G9QC6p!AZVYr<du!g(?%[Vqm'>]]T-:!m^W*H4EK!CjXdk%?gTQ?"aB0^LW,jKu10nqlG*0VLf\:C@GcBmX+Fu:V@\h"#9g?W8e:/~>
 endstream
 endobj
-37 0 obj
+41 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 36 0 R
-/Annots 38 0 R
+/Contents 40 0 R
+/Annots 42 0 R
 >>
 endobj
-38 0 obj
+42 0 obj
 [
-39 0 R
+43 0 R
 ]
 endobj
-39 0 obj
+43 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 328.596 187.65 350.592 175.65 ]
@@ -250,44 +272,44 @@
 /H /I
 >>
 endobj
-40 0 obj
+44 0 obj
 << /Length 2630 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gb!#_gN)%,&:O:SkV8X-&-;uZl!'_.c"*8:>-"4>1ju#BaC6?N$;!7#^V1i,b>O"41%Wb&lli2/\9kaK?jWuS=#W@GDSFoa`Ims]q'Pfs[g7RNr2-PZ?8Cf>E)H,DqW?D!g]*];b<*/J7!u>ph0@0m:]/6@3KasgG]^45(4X#"mF1X<`KE(L]I<TQ9(V*4_'(B\pjJb(iTupRQWq0scA-00E0DAfl,1&&`Y4o+,0>)K$S^>eICe)BVu,Ne9YTX/$pU)+4.K=HE*Soa=g]&%r4Q4G'aOq*!orMC(ssu41,#YV!1OD4(o&3!j"Y=uh!DACpcMds#5ZE!-\,Q%4Fj(_LN?U.JGP2`.p`jI_Pk0-7m`Tg9.t$L&4AQ$n"5$#*g=L0Qd3Cu5fTDi4hML9\/J&HG]aCegC;3XUe8X*_J@b02Af];mD[04i_CgsK5=12ODMd:#gem(5IAlu<:`rIM1:+<h,-O$-8&@U%F_ha*KC_?QRj/3:'P+r,HQ)]lR3P"/Fj?`NM4Dn3P!k6phoeb1S)(nRjJl`0!bc(^]L5Q&0iF<Ld_&+a(5onKXsK.*MLHr'a3D/A84B36cg-:5qj7ooLDV%'1BQU<_Z(t+`\$[\O(%'X:?EmGUTF6K\kllXYg2I@"l4[F6V9ul)CP"6HM)'Tif=u'4du/Xh")#[9!&((M&KjWE9]T&kYj+]+V4Vq;sI_dsnn8*(<aDcnVEf]RYE#32lqO%NH*dJqJJDE#=a/Ko7,g%Cd6rG@$rd&Oo^YoLt]!c(!=/p[rPB7SW,HViT&nmN]9db%",>GIJB(BfdUKOk4VpQP[Q$^5S2P]C`n*jc`eRZbDZ$n/"R"AA4!ka5?3VX8#=tg&]Ba3M!:s)dbXAc#%.)lN\g@gc^OkZ*#J$4umKk]KhtaI&o.eG!O0jS9]\_Nj)DSTNWB=TW"b3YQH";b05d*3T=\@3HUEEn+$PLlb1B5pEGBI:J+qUp@["U1kbN0C:,^
 >Z7UiOZ='$>1*MGEh`e\&eMC[g/'G*:Z`?-+4D/G9N)`>)TBGsSnljQ<F_...@ENH0ML>;[)W1_,MVD#aW+0bboJjeSR6-c!M8\(Ea"Kq4@[X/9p2KtN5JtL5!<N>Fmct[,tGj](s4V,k"Rm2n1#(J<6X%J"bFW>S[Eb'95AD*YTJXQU6[2jAj"7pVe4Z`ASVa+?/RGXAmWEi,G*Bp+\?'t&FjjbK*rkm]$(PE3<El^1N\d9QeY:jq4ObK?'AGaiqcO!YJR$Ba>Z]&CTjC\o6R8q8WQO#Zm"g:#&H4,_n-]ue*!6[2mn0Nd_P<?7S(XA;L'P<KsRdN)!Nb38eJ]j2V#b=)l_=1iD=2n9A!E@8#3CmKu@6Pm8%e&^U-;=A5hU/FTHL_`C0K(Jbj7,;EJ,em/a_)Sb>$n@H.-bn<b/:Q:XCj8M]/e.'%qIE4'W*],`\*77-#,nrOqP@)fCE`./X8$(2hV`d=%5_LdlN#^[9f'k'[e>?SEYXK?X*88E#gXQT6pfF_.c/N<`>@`YVnI5_/**@<@@!@HMe_#XrX6Y;%mgn:uI&3<CEbIn(i?nW%)Q<"[A.;2=A<8C_<@:K2Hs#Lac]/E'i*hJON_TmVl['c3[87NkV8J&e)ZdpG054<[-0YI4&5fQ3E=jd(`85_Ng,U4HlfZ.;hY*797%hfUg7EF92ZV2,q8XB7SDt`J@s-I)NZi]..PZ"
 iOL&E2V/uMXPgNUuYS@Ma2n)2'.[;i1[c+[-:;EZ5h)L-]q#uuNS8$M#egjNef^nbgM_A'EZ--,EJCU"Z-[5;<lmqG\l/J/U*?$NAUVd]!bX3q`LM>-qnWaUp#2F\8u,N#=P$4\`t2NEK^6Xu@oIH+"6mbSdL]Fa&b2+G,A2B?5"jRs_kXrpXFC6soW&131P-l7]:,:pdh5%Nd_W@>)))P\EAqSoJ]S2N#k2,5R17TgP&bmREbF6Q>5D:KJWUB!aCpCs7j26)OEo3'R7Q7Wk)GSq0A*X'2%^siA;\8$V7"e*IK(I3pn4>0%`Ln?,O`YAsdAA%I%2IEXu(0NLti/jYjRl4F-J0P"42HaF-)a!jt-0=;J3mC^G#Xtd?>D'Oc7gMPG_iekP/q&l5`lBV]b4'(NT7mqT7`s#7h028Qg0rOs#Jc5]oYUhD,A$%,a;j_+,gXXqZA9'_4P,7rVH;PjM^7%>5;eZ6;&fpOGk#PDF+aIuHX<7=UH1mlYF&:joc\,NHH-sd>h>Gp%q=L<(jC[GWt=*`L;tjn(TS`n&lLV;=W*)![YUl<"j<lOjeo"#IFs2NS<&?^iCl?G7)R[b^;B^9P\f:RID2br-;\=C`6,`0T$S#cFuY"bf)"+)dtBY8]EPn>+5sMHoD~>
 endstream
 endobj
-41 0 obj
+45 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 40 0 R
+/Contents 44 0 R
 >>
 endobj
-42 0 obj
+46 0 obj
 << /Length 2585 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
 Gau0Fl]9dg&H@3/KiK;D8t=qLf<:6#\[JH`_?C7&U<9`"M-J_Mr5`k#rc_uQg0)1Rd*h3RXM+5Xhp2.3f$65/S+!dEJ(tV&!.QY>Hp]hLa)U%$g>`"3D&KqRfil5!h9A_ShjbK*QL8'(5R^S85NdD5k1fAsW%[9p<&Z2R%G`hu*sbRD#lMO*rTn@H(UFQ<W$I@8SauU@VKL_mesUFPN&R4fU(MsnG(4!Y.lQ<M>U-*WZn:)h[;DrBp9Y1LO&ZdF+'G9ZX")`%A&3bqI&?kFD80.,1[2<?9dNh;]+tV:>+"Olgj5JaB8i$kbTUG$*C`ta<CEuqTm\MEk9?lqKME`S#@=WIg9'Uc+Ro#S(D&oR4G6R]@F(4NXFkSiT:3@M[edHERG0VT^I3B9ONLGBMA&DG]J?-*YB+l6AEt`+3(CpQP!sDuH^qQ4!;"M#Jjjh'OG8W;#Zqf_k>`AUJ8:ZTX@QJ.#8Qei%J!_0=*\):qHP:@p[QfIQd5*Ro#AufRdG?O;T2&IeBd^=`R>c5qUmAbf[?,RGsdYn/-*4%*oeNo56RlLkBXI)?<87kQ7Y:;dFOSEdL/?U\I4%3qeQ$U<($N"$ADc:b?<-c["[48_K]eacq3`>%Z1A6r$-h>/*"Cs!c'Yj2OhIilO6baiKU)7kBeM1b>$"gI1gJd>RaXhQ+GT#oJ/<N\o2kr:8fVQV$g!lDtETb#u5:pbZe3X"C//!KE)r%D<L',?8-'pX92rrk&D4`aeQ6>aD3dAO.;P1Nd6?`B`M8o$ZRN.=%@?W9^8ou2kdk,jnBn!d%DAXkj\0kMm5BK2a+1DkJn]V5Oq@f9gPH%LA<()+H+Ms;@/-p8]0)L5stHN=%=CJIGlK\nNGcP[;oi,-A9?+ngeF@r@)n75-a/\`S))G=2@MiF;s!k]@oPL?Ei'&YE%hlb/,*.WD@Zjqu/^VJhqaG5d-qT2*8AXY6tRQdo/\30=$<cF@TjmWl.\0-s5n?;6X^
 W3m,:%1Q?A.eYt:/<+8amo?ZtIh6f^cN-hH<A_2MBl=R\hnX]h/a?a<6%Ze9(1<;8Y]c<mBX1(Vo'L=:8GUhh]TUK=A_]_Bqf2;JTH+)V#"b@Sr8Rp.rS?T14dQGS:PX&3?V/Ao):)lc%2b!!'RNE#ZG$*gCC,rkB3'DHfO6NN;/tm2u_TGDbojn\SSkH,lK!Zej[[8s6[%C]=2oIRB,>(ZY5"&%$',jg,nbNWM#0[@dmXo]?3n&p$#7VtUVa>_$FUif'A9)2^C_F$gF.tpj%gi;'LG$^[krQmW:D82M+$)p^_--DRNCl5('F0sIC:[C;c2t<^ENXjllF7DSOUY``Xr<i\THaW#"YQ=a<6@d.^ZB1PZZ=/f7BnQ-X;RIa4,Q!4[EVqdT#&f\:AUr%-Jj/CN)$@B]e=p"`2QfB_&eeGdV>8L=2Pj"20uupip,OO%un+EiW.(ZXOi--SeiBfWesmR:CrCBdNRgm^']S@Saj(&M.[1oQtN.DM7rn/K#8Q:Q4NWo/L*I/78UrCeU_p2rYC#YK*lf9\>Y]51\\Lo$9s^lU9pR:[TlMP";19!.!N=K]UZ5Y#E04@?u4l?G2&`&Wl.s[:p_!&n/X!Y@t2F7@4Z@n+f=7Z!nYq`AQ9<fG\b/+mZg-)2j(<=H>GKF#;>bq3IRW:C!G"VdU(8;0b.(L(C%t6ST;*!hk/f^j'JPBW,+[<PnQa-p-G7Bj>mH9NR&m3g;5FL:afh2_dE??o'>IWhRn::qTXrmcX6YKcXth"`F[e77a\`ZT#hH"067,@*!-WZ"ir@#e2>@6)pXj_]Yh:n06k&>B3!jH/f:!f1<Y3ofbhFQCrJlDPd/^R6R.4g/9;THq\W+hidum,Sh-BW9^%5EQ&lcI/r=?OM?6ecN<6^"`._]oZ3fnC^7!NANu/NKg*&ob.n;^I&)`e&=Dsd9E.VHO"&,aH$ZV6@H^k)3(r4N?j"gpPL,bYk_D,T$4m=""[`Ialg1I
 ]]jQ%sdF=DkGPB/TLS!l%?S3q[%mO<*t,d\DXe,c/6T"9`:B5<9-$AHtLb;A%rR1oX%2a9Y:[)u'4;S`^%VjKUu?o-aMYu,0Bl8/t>D&ec*<$:F8H"Zh58bdpY5D7U1rGb-8FLX@Wrtce1*fc,NLpP@2muY+rD7XqD>Iib]8fOY:i;,IHM=9Ku!Ajc6p3[)+7@^&^;[=d\<=gN(9%6"_0rg,jO.]UKl8YF"ROoK^pi6Yjr`,+*L+Mb;4mnGFSM+bP]7CSU9ekGT#R9haF/c&OpX$%B@VLi/4:NJ\E_s!H!'?l(C(aqZ%.PmC#6XRea;#-PrtE,b5t1_#_RFqSFF>]ESkPe9:ag9uO=VqB@q&(G6<H39N,g.==G9CF"KNs1?!T%QE^nRn=)WIo1Go\(!R/`qX':Uf\O8OsoZ*#)>ZX&+1:=%;b(nom[<ks)\U%jO[-%l"7pNMfDA_[)?1Hp(jFm<%L#lI+&*H-coAOP*@#?fH/RnM6JF8gX[IMQJC`<l/[K]5m@Lf=5r3;%ga!O+,pDiWqS&g_+(nM]r04Ofk)#a6$n#M3D^K/)/FVZjHW?\Z+,hbOo)ng2>=S"j<6>oHq"oi9+>l~>
 endstream
 endobj
-43 0 obj
+47 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 42 0 R
-/Annots 44 0 R
+/Contents 46 0 R
+/Annots 48 0 R
 >>
 endobj
-44 0 obj
+48 0 obj
 [
-45 0 R
-46 0 R
+49 0 R
+50 0 R
 ]
 endobj
-45 0 obj
+49 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 172.32 431.306 236.64 419.306 ]
@@ -298,7 +320,7 @@
 /H /I
 >>
 endobj
-46 0 obj
+50 0 obj
 << /Type /Annot
 /Subtype /Link
 /Rect [ 274.968 431.306 407.628 419.306 ]
@@ -309,31 +331,42 @@
 /H /I
 >>
 endobj
-47 0 obj
-<< /Length 2161 /Filter [ /ASCII85Decode /FlateDecode ]
+51 0 obj
+<< /Length 2411 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!#]=`<%a...@TbD0>M>WQ>bY+^U3gTQ4I7,J!3=D&;>hQ!N'AKi=(29<hNaC+g_2&;mD\BfT/lmkNAeBCP8@(!I]XWoX/2&Sn+"[,<;0@9G2+#4A=ZhD[)J9mZpP2tCkVWn<nY7uk,A3J'6H:=2X2P&c%Tqf"%jF^qT'^8SD,r$56^t59.Jbo_:7mb`,'n,iO-,IfINni.5HHdOi\1\F4Cs%S\/^Z3\1U[>;CiSL&TIpR;Xm`s3###f><bWR0`@4FHG%1n7d$g6<6bg"89an3!1Si5I/AFg$:'(6jT8"DY;3Yc;6g>G[biton!cMbYK1Zh@G`^4\3l0J8uJhNA<0h>Yo8\1>Z`',AeX;h*^^pn+MLVt::]#78?DP2!SejO0$KY$'!ps@<$Gb`NCHOg143R*po2[ci%%hrq4M/nI_bJO,*)bRH^:W]>tTmZ^j(MVS1W3/RmU\E@gObX_P)']XY_jd^$ijB$<`'Z*d+'S!S-RY6(Y^-euG,[_N&G-"A7:)kAM&`l_jYPHZeq1+dYnWV_o-
 1YO\?@,tb7Qb4?fOYiAe%H!#YFW\)CLr8p84WtGrW%a/*dd;d\5jjWZ2a15s$h\MN4`eQ-=F#bp!e`]sA%C:`)K2a*h(_&LI=nY6-rlh-RX=lW!\32a^9t9!:g4L.WQa<P5)3Q1Mi$KjQK=8D[U!-`K3ZM2/fS&ELOZjdu1^7Pshj*joShon+OX0iX<WWL%3^eqD?76$.3ri4Vi0d";+4cD1C>+M1-TU!Zg3:uMOkk:!i^KQm0q^*7b8_>6'Q4pqiLPtLE[aK>"2s49A.@T<?;2pI`rV?"P6&gBE5GR`#Fo3Ad\nNB,9tPQb+.6`/?0@VVmSX"A4)dH:o;34\WKujA-RuqbskS@C1hB/VXG,+?'48_2TTnF(RSC6UOdM?$<<B;*2c3-QFDB`.FN]V<uP>)C@qd4*u".[DQUYhC!;<+:A><a?TE1^MaGSSZH$O'&/>.lW\9c:De:Nle\ts`=G4fXVY+ftXR)BI[9g7:VQ30\-+qeq@)+L#+Z%f\,Mn)^9',c3La'*f`kH%C5nF.I$ncTIJ7[\#@?gq[^9V.n.%?3,aVjEAjkA85-IJ@o$MD$3JmM9Re=6`DN+AEAIb/R&S[2$`'JC"f6"@)g?4U9hKr%M=KOs?d03E]5=RUP[%ehmKh:&jVG'+i"%/'"jf#i"N8JJSYXNG/gY;:3NlI?W&6m_q)jn#f!6XfpF;bZ1p`H$,gNAAV75$bsK//2*Z^5@gKKJ<DT0c1$Rl6<n*5lguJZk&Ng&dF^7DX,=jS9=^-NpoQ'-W,CT7Y_k6.+!pbVh'Ae#Z/eJ!f>oJ&h-L+<fb.JMZpL_eG29NTWZs\o5Bc,UfQS6bj2@S0R`tWn2mkIG)TjQ"[.WDn?a+aXf+qgIis;_nh`H9mDGtN]47&fVT8kE99c2aH2DIU?9<J%BAS=]:i!EYI:kPUq8:K':$tQPT/2Y_DV9IaZBJC$=<>lE[u[aaD#4kIeN@euT8O'`Al-8<YL+N#0_b
 FH6abP7]A`_XCrUgk7X7@*l_M/2[@9^Rp[Vmg=)FUi5n/4"G]':l"']h<P`+$Mo\'[6nGot6F=V1[2Xqelo.7,bW*-eMgO1!C2\j3??Kmk2!/'*alFPT<RL>GXn9/$=ZJBdQ<r&ooQV%/:=qjP)h6de^<nC`-W+9Q)bVPhSo71qCqZe,UOI#~>
+Gb!#]95iQS&AII3n.;6I&?iXfG7Ok?30$o[O4jY]BSp1DXX)IC=65TGh4jq__tP_$V3P6s`6_DPpWPQPX#J5@]B/%u"grOCs8=.IM/E(&%t@lgqKtj:_Q7!EX2Q`M2p91j9k7**?S&Yo]-aiB+13"RcR6Ho>0GFlmH*a$ld)3<I!bbde'5Af%sJi@n(.&BT_Ed/NgA@?9Y?4'YqBSdFCAI\>*5.,)a<j=)%OVl%#:(NpMhP0/+ieh+^P8i;m/N0U4O%Uin0s-`/B+K)f@liI/!*[>%ZM,.m+R[3bC[(K#"+`:=-M0GpIG.k&$.f>/*d(<JZ$IE$nW$o7F1*,VD,^-@uI'K)kW(ZU(VSBFtAIS-`3.a<P"&G,eB7bX[,l\eCQR/W=_`&EH`eP8dK@@\K\0CWPF&7Y=1o&kDL'\O&$pq>(,=,B(4L4BV1`J%M#-g?W=9`S"#HY(flfS]Qj\:EOVadkg*@>\j]8B_<RO3i!R.9G>IOM6F7DOX<[7f]j)0KP)7jrJ$kcpYK(5;+)Vj>+QOm&@eSK"\-.\ohQ4D-D;5X8*dkq85#NB/5u^'(TcB;Eci>%V@k7fO!Rf3]m8;//A*]qL_8d]Aepr_4XnrBOh4m>lrmhV;D+bic$/ORqFs-2DGZ7o?P+/_,nTSi(p=T!B6&`Q+c4'4kAm"Ln<*&VpQAN#f+19gIuB`]ES]iCmitVISuB=RPKe&QM+RRa([AEiTP'h63JRV0:rFeQ^cR^;kr*+!0U2.B9;b@m=?Rek\1j`0!73Y0WDj;b_2s_/Ur@hYhM1e]9&.]V%X#I8KjS1J+5_IZGS\e7p`$_?6gLMK\`FbZO^mf%%8]e?GqPb6.3lpF+X:k9%DCF@mPu]]q@Tu"B*)X_YA`i!&2WQ=g];`BQ0CSH+tHJD^]K2#@,<35X<LRqG,ln>Zng5HV5.j@R,ScT`@&3a.i0+'322V-g1Z_nW(iZ"FF$3jA_2pc,>IBm;F9423)f!
 4G?gV^Tr[e+RuHn)-?V7gSL/@W.n9/OCC%.:pnPVV0f-JP*Y0TuVodjtpsM`nZUahaoj8+YYJ5H=1m]\@NWX0@*9%%+'P9eK#/KZK3K7n6JlI>^/X&[Zd3P)"[3@F8VKM'k1sQ*KEXnas9-`32]+X$CNM^_p-3Bll<f"-scu`282bk)><^09pQ<V1+VtBX0<8/:TbAd:b1UKKaqr%pkB`e^@Y8;qbTGKR[);H?ah=G)lq_Z&ciU"G,?&<ifQ:f?"Tq$4kfHF[o90+uDLiGY9$^&`N:In%[@tr"'O9Z)e`Y6GoKSV\/`Hk=Q`udPq&uULqY)h&1Sm+%+VUX7S/ME;sau0J/RNC*3R3Des*Z8UnGqC=M7TP^M<pMk3'X7V5W<SqM+djFL*H5Y9il4Frfu?i69sU5H2)o#sSG*'=CZ^ZSIpXH6,qVeZVO:n`ps3.1LBEiI[/msW\<sm0#b.VbMKR04;<Aa>rY@j4cd7Vni(Dre-d(80IIMAajV+5Y9N<q;)&!;a"+-));a\MigZnXgCq;+p]"r)CgECpgf6]djXr^+X*^ugc)PtbN0]mH3a6Pmk60NT.FgGJsLoa9O\1>_hV"lV^lFg,4^gps(bsZQ9q86oQA!"]Q?JCNNH7rVC&k2`;/)W["a,!STMT2H<4[L#UCoeMl20G.I?=ISQ*II&#b2I`,n\rkRI6`uKf*/=/9>i\$#5@J\.^U<u%hOeoO?";!05W5T&^oU$"5)s[b1'lJ]Kn]/rmS7%Om!3jT&!`<fp-lC]O5>u\Z`.ub(F\<@0+lUlh0"i$T%]@gC!NmicXS9&kr_..j&Y0m:8b9P,0U%14aM@0[!Zd]F4rtZURZ,:5sR`>7gsnE'!<'A=i@+P;@2H"^$bWnZ(*e]BXP(#m@(h51cDD<#k:Y^:<ACN)cBRm5s46c`6E$eU(BljDs"TBnY,.L`J`EZpO2'hp-H["tPnl[k^P9;&]Sk.0Y82bVcoUN=_uH?,g
 Xb)L^_qT^Fe.-"lS<DW''GS4<6h:h\o"f*J.Ee>[`(fd``ichX+9\=V"!ZSdX/&6G]*3$N8F09j?-hGN5eFH5flMIGZ=7O%\eqX2CYJ$6G+p)23Op/#O)\]c=Vfk53_1X,0DS7$Mg2kc@J^et",Cr\4H'<;hrpg*KC5GL]uC[%4(_aQ$a<Fc$q,lnRops[/h''-!Dn7De,!19*__#-E*J-4bBTl._MQU7;2S5KhF^oWX--Rfs1LJZR94LDX!J0aWPp,c.Ols>Y)Eco(Cp`0>_kW3a,\Q/=_D:aj5U]u?9@F-LnL$s[A.R<8t]<Ts7+Uat3%p(4p-L8bIXO%,TBZ',;4?V`qDI5mt#jZ2ZH#u##gCB!;]9>(,f8",1)p\1u>9)Cua6(L'/@/'aSe+<@Ui(7PALhj<9&u'+-%G*frrDV1dL#~>
 endstream
 endobj
-48 0 obj
+52 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 47 0 R
-/Annots 49 0 R
+/Contents 51 0 R
+/Annots 53 0 R
 >>
 endobj
-49 0 obj
+53 0 obj
 [
-50 0 R
+54 0 R
+56 0 R
 ]
 endobj
-50 0 obj
+54 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 172.332 578.066 206.988 566.066 ]
+/Rect [ 399.924 569.213 492.264 557.213 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 55 0 R
+/H /I
+>>
+endobj
+56 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 172.332 442.879 206.988 430.879 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (api/org/apache/hadoop/net/DNSToSwitchMapping.html#resolve(java.util.List))
@@ -341,186 +374,203 @@
 /H /I
 >>
 endobj
-51 0 obj
-<< /Length 825 /Filter [ /ASCII85Decode /FlateDecode ]
+57 0 obj
+<< /Length 1023 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau0A>>O!-'RnB3nA?;4)QrJ[NjCYslPS'#6/K$VRDs(gdQ!.`&=W=MkJg6VKXJTJW`nMoq9J`*j)[4QK(hk+4htH;^E8%E5m011p6W)8o)ZiN;G\f])gi-UP$g+Y!#,6*1(@'46M?%_6S\^'U**Th071fGm=T="3O>)tK5'5`(dlUGLtf!JR9Gp^l-qsShk8X91a1odg.\NJXS9O3BpA).h!!%Pke\nBg2n_8:46PA+_Ln72a:%J:G+7PDiQKra#>@fYC;L*0(5(Y+dM$MWM=0n\)dJjL,#Lk9=fAI=PT^)p>P1TU!@e\G%ec;KOfn&7G@:7Y2dJ],?2IGLq^J7=j(GgKIDRkLeFRJp_iRnAY'Dh[76aU>5A#al[cgq2&;:\CtCSj%eWDZUFVT^-_BLVXIa>RSa&>h%p:XYbAFMgM1"'K<6Hl0oN\68A@"Vr@bCOoer+M;+U1d_hjM2Q.QP%<eZNrNA;GU,*".ZZ'V#*+3]UqsDL-ROb=\VCgY$k0cmslA&+M,96E)R7^4Unt58]0/%4M3dI^n1;W9XjN4LUR(p8h,X2;d#Dl@RY/0EhBoPRmtPK_F4JdbHu=,imGbM?3@!%#WH"!+GVna%\-uaC>e?&7Q86mSfNg2`RN;`XsS+ml4ZXcW0H#>1Lf:mCLu[X3K=&/4L51fQu3p>;<0Y4)J%N*f=?k4;8rp.2:05_kim&*h2YN^hCE]TcaqYhSR9k_3d#$W!rtn=3%n"XKpNll%2I-o(&&"gfXb'd92<!W&"oV3UuKP4fof:jdhA'Z:JPtklQ/bG=0Yh\;b,OUT/[qb['Xc!BkE)[/~>
+Gau`Shf"u<&:WfGnA?;FBm$Yb1$l#ZQ?AJDFq&BE<4Th::^L`!)GS][pDHMS9q$`GXemL2cJcAsJ%ke>c3*BB@/[GDR&]m.bI=/S>h;uJKU0AK>lm0N$1M>N[E\lT5P+unlAo=^fbMS/0*H#4FeNRa&Bqu"hRaF)[`ddh6^767JnN'eS>Vb\@6QaR5<s1agsNMke!39DH$0qH`;4e0j*H@iFBoQ"=@>gp,V9Q&3/c3Om/^9NoQZnL`Z!#G?c5CiX;!a;XS7B&`+s[J?_.^EDJnnrDQ\chK?nakqK^;W7(t0Ik-Wr<U0'6DaJ<T<%OMp)]!!X[&7g1d.'ajR353-.j@S"BX_9q\(u'i>qQP8E\3CG@<.#>rE\Z/Pd!tXHDIrHV`)0hH4oOXWi&W[sLqJg)AKGq5[uTgk#(O`^.FZ9Xbn`_rQc[D/B"(X74r'inIREDDCq)&;6H`tNFTS=)%s^/PNZ)[N'sfK=T?'!Xb:&eDKfu'/j*]acA;`%0)QlDh8(3,m<,OA#\p!_iYPDF.b>@ObC-ifV-L/L_MPA%?KP_;FR@].s]RpL;ZH1]")PdJHa2/26!l(o730%`sC.:0PIjebFIVJn`+=;;DCTai)/k`.;Jf*\]-%\6LQ&#`^M3:OodtNV`II%j.#/&l@P&Sq4Zitda9epB/*eW=-.e&.irAtTD`o;J__=:u3Di^$'ds&Ad+W%UqHaSI8BW"mQSll?(&!IAAE)8Mf81BBVrfn3cM(PT:KOY^kjor)66QA1k+At"m\a!-)(qFM=56umsTc0F0Dr&DJ7ubp'Km]A8"To9up?g=KIDCpH&bbPCc'6'^oU1V'mil'dc^D$r'#c'F-^Sl7YKdj8$o5C4>#^L.Eb(S#O"@6#"BE8YcN1b+RUE09DY[6Kd6)7ZaBh#>5S#Y;[3lDO.J-mQ4JK9:C0)3,rKTh#=]PK:1/ki5=$qCG@GCJo/#WcVNO+k1FaGA]`KFlfb"s^RO;F$
 QTE_GmW&C[.\Rpb)A5B4`)t*\,CHidf~>
 endstream
 endobj
-52 0 obj
+58 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 51 0 R
+/Contents 57 0 R
 >>
 endobj
-54 0 obj
+60 0 obj
 <<
  /Title (\376\377\0\61\0\40\0\120\0\165\0\162\0\160\0\157\0\163\0\145)
- /Parent 53 0 R
- /Next 55 0 R
+ /Parent 59 0 R
+ /Next 61 0 R
  /A 9 0 R
 >> endobj
-55 0 obj
+61 0 obj
 <<
  /Title (\376\377\0\62\0\40\0\120\0\162\0\145\0\55\0\162\0\145\0\161\0\165\0\151\0\163\0\151\0\164\0\145\0\163)
- /Parent 53 0 R
- /Prev 54 0 R
- /Next 56 0 R
+ /Parent 59 0 R
+ /Prev 60 0 R
+ /Next 62 0 R
  /A 11 0 R
 >> endobj
-56 0 obj
+62 0 obj
 <<
  /Title (\376\377\0\63\0\40\0\111\0\156\0\163\0\164\0\141\0\154\0\154\0\141\0\164\0\151\0\157\0\156)
- /Parent 53 0 R
- /Prev 55 0 R
- /Next 57 0 R
+ /Parent 59 0 R
+ /Prev 61 0 R
+ /Next 63 0 R
  /A 13 0 R
 >> endobj
-57 0 obj
+63 0 obj
 <<
  /Title (\376\377\0\64\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\141\0\164\0\151\0\157\0\156)
- /Parent 53 0 R
- /First 58 0 R
- /Last 59 0 R
- /Prev 56 0 R
- /Next 72 0 R
+ /Parent 59 0 R
+ /First 64 0 R
+ /Last 65 0 R
+ /Prev 62 0 R
+ /Next 78 0 R
  /Count -8
  /A 15 0 R
 >> endobj
-58 0 obj
+64 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\61\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\106\0\151\0\154\0\145\0\163)
- /Parent 57 0 R
- /Next 59 0 R
+ /Parent 63 0 R
+ /Next 65 0 R
  /A 17 0 R
 >> endobj
-59 0 obj
+65 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\40\0\123\0\151\0\164\0\145\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\141\0\164\0\151\0\157\0\156)
- /Parent 57 0 R
- /First 61 0 R
- /Last 69 0 R
- /Prev 58 0 R
+ /Parent 63 0 R
+ /First 67 0 R
+ /Last 75 0 R
+ /Prev 64 0 R
  /Count -6
  /A 19 0 R
 >> endobj
-61 0 obj
+67 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\56\0\61\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\151\0\156\0\147\0\40\0\164\0\150\0\145\0\40\0\105\0\156\0\166\0\151\0\162\0\157\0\156\0\155\0\145\0\156\0\164\0\40\0\157\0\146\0\40\0\164\0\150\0\145\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\104\0\141\0\145\0\155\0\157\0\156\0\163)
- /Parent 59 0 R
- /Next 63 0 R
- /A 60 0 R
+ /Parent 65 0 R
+ /Next 69 0 R
+ /A 66 0 R
 >> endobj
-63 0 obj
+69 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\56\0\62\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\151\0\156\0\147\0\40\0\164\0\150\0\145\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\104\0\141\0\145\0\155\0\157\0\156\0\163)
- /Parent 59 0 R
- /First 65 0 R
- /Last 65 0 R
- /Prev 61 0 R
- /Next 67 0 R
+ /Parent 65 0 R
+ /First 71 0 R
+ /Last 71 0 R
+ /Prev 67 0 R
+ /Next 73 0 R
  /Count -1
- /A 62 0 R
+ /A 68 0 R
 >> endobj
-65 0 obj
+71 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\56\0\62\0\56\0\61\0\40\0\122\0\145\0\141\0\154\0\55\0\127\0\157\0\162\0\154\0\144\0\40\0\103\0\154\0\165\0\163\0\164\0\145\0\162\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\141\0\164\0\151\0\157\0\156\0\163)
- /Parent 63 0 R
- /A 64 0 R
+ /Parent 69 0 R
+ /A 70 0 R
 >> endobj
-67 0 obj
+73 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\56\0\63\0\40\0\123\0\154\0\141\0\166\0\145\0\163)
- /Parent 59 0 R
- /Prev 63 0 R
- /Next 69 0 R
- /A 66 0 R
+ /Parent 65 0 R
+ /Prev 69 0 R
+ /Next 75 0 R
+ /A 72 0 R
 >> endobj
-69 0 obj
+75 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\56\0\64\0\40\0\114\0\157\0\147\0\147\0\151\0\156\0\147)
- /Parent 59 0 R
- /First 71 0 R
- /Last 71 0 R
- /Prev 67 0 R
+ /Parent 65 0 R
+ /First 77 0 R
+ /Last 77 0 R
+ /Prev 73 0 R
  /Count -1
- /A 68 0 R
+ /A 74 0 R
 >> endobj
-71 0 obj
+77 0 obj
 <<
  /Title (\376\377\0\64\0\56\0\62\0\56\0\64\0\56\0\61\0\40\0\110\0\151\0\163\0\164\0\157\0\162\0\171\0\40\0\114\0\157\0\147\0\147\0\151\0\156\0\147)
- /Parent 69 0 R
- /A 70 0 R
+ /Parent 75 0 R
+ /A 76 0 R
 >> endobj
-72 0 obj
+78 0 obj
 <<
- /Title (\376\377\0\65\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\122\0\141\0\143\0\153\0\40\0\101\0\167\0\141\0\162\0\145\0\156\0\145\0\163\0\163)
- /Parent 53 0 R
- /Prev 57 0 R
- /Next 73 0 R
+ /Title (\376\377\0\65\0\40\0\103\0\154\0\165\0\163\0\164\0\145\0\162\0\40\0\122\0\145\0\163\0\164\0\141\0\162\0\164\0\141\0\142\0\151\0\154\0\151\0\164\0\171)
+ /Parent 59 0 R
+ /First 79 0 R
+ /Last 79 0 R
+ /Prev 63 0 R
+ /Next 80 0 R
+ /Count -1
  /A 21 0 R
 >> endobj
-73 0 obj
+79 0 obj
 <<
- /Title (\376\377\0\66\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\123\0\164\0\141\0\162\0\164\0\165\0\160)
- /Parent 53 0 R
- /Prev 72 0 R
- /Next 74 0 R
+ /Title (\376\377\0\65\0\56\0\61\0\40\0\115\0\141\0\160\0\57\0\122\0\145\0\144\0\165\0\143\0\145)
+ /Parent 78 0 R
  /A 23 0 R
 >> endobj
-74 0 obj
+80 0 obj
 <<
- /Title (\376\377\0\67\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\123\0\150\0\165\0\164\0\144\0\157\0\167\0\156)
- /Parent 53 0 R
- /Prev 73 0 R
+ /Title (\376\377\0\66\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\122\0\141\0\143\0\153\0\40\0\101\0\167\0\141\0\162\0\145\0\156\0\145\0\163\0\163)
+ /Parent 59 0 R
+ /Prev 78 0 R
+ /Next 81 0 R
  /A 25 0 R
 >> endobj
-75 0 obj
+81 0 obj
+<<
+ /Title (\376\377\0\67\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\123\0\164\0\141\0\162\0\164\0\165\0\160)
+ /Parent 59 0 R
+ /Prev 80 0 R
+ /Next 82 0 R
+ /A 27 0 R
+>> endobj
+82 0 obj
+<<
+ /Title (\376\377\0\70\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\123\0\150\0\165\0\164\0\144\0\157\0\167\0\156)
+ /Parent 59 0 R
+ /Prev 81 0 R
+ /A 29 0 R
+>> endobj
+83 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-76 0 obj
+84 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-77 0 obj
+85 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F6
 /BaseFont /Times-Italic
 /Encoding /WinAnsiEncoding >>
 endobj
-78 0 obj
+86 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-79 0 obj
+87 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-80 0 obj
+88 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 endobj
-81 0 obj
+89 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -530,205 +580,231 @@
 1 0 obj
 << /Type /Pages
 /Count 8
-/Kids [6 0 R 27 0 R 35 0 R 37 0 R 41 0 R 43 0 R 48 0 R 52 0 R ] >>
+/Kids [6 0 R 31 0 R 39 0 R 41 0 R 45 0 R 47 0 R 52 0 R 58 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 53 0 R
+ /Outlines 59 0 R
  /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F3 75 0 R /F5 76 0 R /F1 78 0 R /F6 77 0 R /F9 79 0 R /F2 80 0 R /F7 81 0 R >> 
+/Font << /F3 83 0 R /F5 84 0 R /F1 86 0 R /F6 85 0 R /F9 87 0 R /F2 88 0 R /F7 89 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
 <<
 /S /GoTo
-/D [27 0 R /XYZ 85.0 659.0 null]
+/D [31 0 R /XYZ 85.0 659.0 null]
 >>
 endobj
 11 0 obj
 <<
 /S /GoTo
-/D [27 0 R /XYZ 85.0 559.066 null]
+/D [31 0 R /XYZ 85.0 559.066 null]
 >>
 endobj
 13 0 obj
 <<
 /S /GoTo
-/D [27 0 R /XYZ 85.0 501.532 null]
+/D [31 0 R /XYZ 85.0 501.532 null]
 >>
 endobj
 15 0 obj
 <<
 /S /GoTo
-/D [27 0 R /XYZ 85.0 353.998 null]
+/D [31 0 R /XYZ 85.0 353.998 null]
 >>
 endobj
 17 0 obj
 <<
 /S /GoTo
-/D [27 0 R /XYZ 85.0 301.664 null]
+/D [31 0 R /XYZ 85.0 301.664 null]
 >>
 endobj
 19 0 obj
 <<
 /S /GoTo
-/D [35 0 R /XYZ 85.0 659.0 null]
+/D [39 0 R /XYZ 85.0 659.0 null]
 >>
 endobj
 21 0 obj
 <<
 /S /GoTo
-/D [48 0 R /XYZ 85.0 641.8 null]
+/D [52 0 R /XYZ 85.0 641.8 null]
 >>
 endobj
 23 0 obj
 <<
 /S /GoTo
-/D [48 0 R /XYZ 85.0 436.266 null]
+/D [52 0 R /XYZ 85.0 610.666 null]
 >>
 endobj
 25 0 obj
 <<
 /S /GoTo
-/D [48 0 R /XYZ 85.0 198.732 null]
+/D [52 0 R /XYZ 85.0 506.613 null]
 >>
 endobj
-53 0 obj
-<<
- /First 54 0 R
- /Last 74 0 R
->> endobj
-60 0 obj
+27 0 obj
 <<
 /S /GoTo
-/D [35 0 R /XYZ 85.0 573.347 null]
+/D [52 0 R /XYZ 85.0 301.079 null]
 >>
 endobj
-62 0 obj
+29 0 obj
 <<
 /S /GoTo
-/D [35 0 R /XYZ 85.0 165.675 null]
+/D [58 0 R /XYZ 85.0 594.2 null]
 >>
 endobj
-64 0 obj
+55 0 obj
 <<
 /S /GoTo
-/D [37 0 R /XYZ 85.0 151.45 null]
+/D [null /XYZ 0.0 0.0 null]
 >>
 endobj
+59 0 obj
+<<
+ /First 60 0 R
+ /Last 82 0 R
+>> endobj
 66 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 556.25 null]
+/D [39 0 R /XYZ 85.0 573.347 null]
 >>
 endobj
 68 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 458.478 null]
+/D [39 0 R /XYZ 85.0 165.675 null]
 >>
 endobj
 70 0 obj
 <<
 /S /GoTo
-/D [43 0 R /XYZ 85.0 381.906 null]
+/D [41 0 R /XYZ 85.0 151.45 null]
+>>
+endobj
+72 0 obj
+<<
+/S /GoTo
+/D [47 0 R /XYZ 85.0 556.25 null]
+>>
+endobj
+74 0 obj
+<<
+/S /GoTo
+/D [47 0 R /XYZ 85.0 458.478 null]
+>>
+endobj
+76 0 obj
+<<
+/S /GoTo
+/D [47 0 R /XYZ 85.0 381.906 null]
 >>
 endobj
 xref
-0 82
+0 90
 0000000000 65535 f 
-0000025545 00000 n 
-0000025652 00000 n 
-0000025744 00000 n 
+0000026930 00000 n 
+0000027037 00000 n 
+0000027129 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000000824 00000 n 
-0000000944 00000 n 
-0000001025 00000 n 
-0000025889 00000 n 
-0000001160 00000 n 
-0000025952 00000 n 
-0000001297 00000 n 
-0000026018 00000 n 
-0000001432 00000 n 
-0000026084 00000 n 
-0000001569 00000 n 
-0000026150 00000 n 
-0000001706 00000 n 
-0000026216 00000 n 
-0000001843 00000 n 
-0000026280 00000 n 
-0000001980 00000 n 
-0000026344 00000 n 
-0000002116 00000 n 
-0000026410 00000 n 
-0000002253 00000 n 
-0000004483 00000 n 
-0000004606 00000 n 
-0000004661 00000 n 
-0000004830 00000 n 
-0000005007 00000 n 
-0000005183 00000 n 
-0000005396 00000 n 
-0000005595 00000 n 
-0000008058 00000 n 
-0000008166 00000 n 
-0000011332 00000 n 
-0000011455 00000 n 
-0000011482 00000 n 
-0000011691 00000 n 
-0000014414 00000 n 
-0000014522 00000 n 
-0000017200 00000 n 
-0000017323 00000 n 
-0000017357 00000 n 
-0000017541 00000 n 
-0000017729 00000 n 
-0000019983 00000 n 
-0000020106 00000 n 
-0000020133 00000 n 
-0000020360 00000 n 
-0000021277 00000 n 
-0000026476 00000 n 
-0000021385 00000 n 
-0000021518 00000 n 
-0000021707 00000 n 
-0000021885 00000 n 
-0000022109 00000 n 
-0000022324 00000 n 
-0000026527 00000 n 
-0000022573 00000 n 
-0000026593 00000 n 
-0000022973 00000 n 
-0000026659 00000 n 
-0000023316 00000 n 
-0000026724 00000 n 
-0000023619 00000 n 
-0000026789 00000 n 
-0000023781 00000 n 
-0000026855 00000 n 
-0000023975 00000 n 
-0000024172 00000 n 
-0000024402 00000 n 
-0000024591 00000 n 
-0000024772 00000 n 
-0000024885 00000 n 
-0000024995 00000 n 
-0000025106 00000 n 
-0000025214 00000 n 
-0000025320 00000 n 
-0000025436 00000 n 
+0000000903 00000 n 
+0000001023 00000 n 
+0000001118 00000 n 
+0000027274 00000 n 
+0000001253 00000 n 
+0000027337 00000 n 
+0000001390 00000 n 
+0000027403 00000 n 
+0000001525 00000 n 
+0000027469 00000 n 
+0000001662 00000 n 
+0000027535 00000 n 
+0000001799 00000 n 
+0000027601 00000 n 
+0000001936 00000 n 
+0000027665 00000 n 
+0000002073 00000 n 
+0000027729 00000 n 
+0000002209 00000 n 
+0000027795 00000 n 
+0000002346 00000 n 
+0000027861 00000 n 
+0000002482 00000 n 
+0000027927 00000 n 
+0000002619 00000 n 
+0000004849 00000 n 
+0000004972 00000 n 
+0000005027 00000 n 
+0000005196 00000 n 
+0000005373 00000 n 
+0000005549 00000 n 
+0000005762 00000 n 
+0000005961 00000 n 
+0000008424 00000 n 
+0000008532 00000 n 
+0000011698 00000 n 
+0000011821 00000 n 
+0000011848 00000 n 
+0000012057 00000 n 
+0000014780 00000 n 
+0000014888 00000 n 
+0000017566 00000 n 
+0000017689 00000 n 
+0000017723 00000 n 
+0000017907 00000 n 
+0000018095 00000 n 
+0000020599 00000 n 
+0000020722 00000 n 
+0000020756 00000 n 
+0000027991 00000 n 
+0000020895 00000 n 
+0000021122 00000 n 
+0000022238 00000 n 
+0000028050 00000 n 
+0000022346 00000 n 
+0000022479 00000 n 
+0000022668 00000 n 
+0000022846 00000 n 
+0000023070 00000 n 
+0000023285 00000 n 
+0000028101 00000 n 
+0000023534 00000 n 
+0000028167 00000 n 
+0000023934 00000 n 
+0000028233 00000 n 
+0000024277 00000 n 
+0000028298 00000 n 
+0000024580 00000 n 
+0000028363 00000 n 
+0000024742 00000 n 
+0000028429 00000 n 
+0000024936 00000 n 
+0000025133 00000 n 
+0000025410 00000 n 
+0000025557 00000 n 
+0000025787 00000 n 
+0000025976 00000 n 
+0000026157 00000 n 
+0000026270 00000 n 
+0000026380 00000 n 
+0000026491 00000 n 
+0000026599 00000 n 
+0000026705 00000 n 
+0000026821 00000 n 
 trailer
 <<
-/Size 82
+/Size 90
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-26921
+28495
 %%EOF

Modified: hadoop/core/trunk/docs/hadoop-default.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/hadoop-default.html?rev=705215&r1=705214&r2=705215&view=diff
==============================================================================
--- hadoop/core/trunk/docs/hadoop-default.html (original)
+++ hadoop/core/trunk/docs/hadoop-default.html Thu Oct 16 04:59:06 2008
@@ -11,12 +11,11 @@
 <td><a name="hadoop.native.lib">hadoop.native.lib</a></td><td>true</td><td>Should native hadoop libraries, if present, be used.</td>
 </tr>
 <tr>
-<td><a name="hadoop.http.filter.initializers">hadoop.http.filter.initializers</a></td><td></td><td>A comma separated list of class names.  Each class in the list must extend org.apache.hadoop.http.FilterInitializer.
-  
-  The corresponding Filter will be initialized.  Then, the Filter will be applied to all user facing jsp and servlet web pages.  The ordering of the list defines the ordering of the filters.
-
-  The value can be empty.
-  </td>
+<td><a name="hadoop.http.filter.initializers">hadoop.http.filter.initializers</a></td><td></td><td>A comma separated list of class names. Each class in the list 
+  must extend org.apache.hadoop.http.FilterInitializer. The corresponding 
+  Filter will be initialized. Then, the Filter will be applied to all user 
+  facing jsp and servlet web pages.  The ordering of the list defines the 
+  ordering of the filters.</td>
 </tr>
 <tr>
 <td><a name="hadoop.logfile.size">hadoop.logfile.size</a></td><td>10000000</td><td>The max size of each log file</td>
@@ -343,10 +342,12 @@
   </td>
 </tr>
 <tr>
-<td><a name="dfs.namenode.decommission.interval">dfs.namenode.decommission.interval</a></td><td>300</td><td>Namenode periodicity in seconds to check if decommission is complete.</td>
+<td><a name="dfs.namenode.decommission.interval">dfs.namenode.decommission.interval</a></td><td>300</td><td>Namenode periodicity in seconds to check if decommission is 
+  complete.</td>
 </tr>
 <tr>
-<td><a name="dfs.replication.interval">dfs.replication.interval</a></td><td>3</td><td>The periodicity in seconds with which the namenode computes repliaction work for datanodes. </td>
+<td><a name="dfs.replication.interval">dfs.replication.interval</a></td><td>3</td><td>The periodicity in seconds with which the namenode computes 
+  repliaction work for datanodes. </td>
 </tr>
 <tr>
 <td><a name="dfs.access.time.precision">dfs.access.time.precision</a></td><td>3600000</td><td>The access time for HDFS file is precise upto this value. 
@@ -470,7 +471,7 @@
   </td>
 </tr>
 <tr>
-<td><a name="mapred.jobtracker.job.history.block.size">mapred.jobtracker.job.history.block.size</a></td><td>3145728&gt;</td><td>The block size of the job history file. Since the job recovery
+<td><a name="mapred.jobtracker.job.history.block.size">mapred.jobtracker.job.history.block.size</a></td><td>3145728</td><td>The block size of the job history file. Since the job recovery
                uses job history, its important to dump job history to disk as 
                soon as possible. Note that this is an expert level parameter.
                The default value is set to 3 MB.
@@ -523,8 +524,8 @@
   </td>
 </tr>
 <tr>
-<td><a name="mapred.jobtracker.completeuserjobs.maximum">mapred.jobtracker.completeuserjobs.maximum</a></td><td>100</td><td>The maximum number of complete jobs per user to keep around before delegating them to the job history.
-  </td>
+<td><a name="mapred.jobtracker.completeuserjobs.maximum">mapred.jobtracker.completeuserjobs.maximum</a></td><td>100</td><td>The maximum number of complete jobs per user to keep around 
+  before delegating them to the job history.</td>
 </tr>
 <tr>
 <td><a name="mapred.jobtracker.instrumentation">mapred.jobtracker.instrumentation</a></td><td>org.apache.hadoop.mapred.JobTrackerMetricsInst</td><td>Expert: The instrumentation class to associate with each JobTracker.
@@ -608,6 +609,10 @@
   take priority over this setting.</td>
 </tr>
 <tr>
+<td><a name="mapred.jobtracker.maxtasks.per.job">mapred.jobtracker.maxtasks.per.job</a></td><td>-1</td><td>The maximum number of tasks for a single job.
+  A value of -1 indicates that there is no maximum.  </td>
+</tr>
+<tr>
 <td><a name="mapred.submit.replication">mapred.submit.replication</a></td><td>10</td><td>The replication level for submitted job files.  This
   should be around the square root of the number of nodes.
   </td>

Modified: hadoop/core/trunk/docs/mapred_tutorial.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/mapred_tutorial.html?rev=705215&r1=705214&r2=705215&view=diff
==============================================================================
--- hadoop/core/trunk/docs/mapred_tutorial.html (original)
+++ hadoop/core/trunk/docs/mapred_tutorial.html Thu Oct 16 04:59:06 2008
@@ -252,11 +252,20 @@
 <a href="#Task+Execution+%26+Environment">Task Execution &amp; Environment</a>
 <ul class="minitoc">
 <li>
+<a href="#Memory+management"> Memory management</a>
+</li>
+<li>
 <a href="#Map+Parameters">Map Parameters</a>
 </li>
 <li>
 <a href="#Shuffle%2FReduce+Parameters">Shuffle/Reduce Parameters</a>
 </li>
+<li>
+<a href="#Directory+Structure"> Directory Structure </a>
+</li>
+<li>
+<a href="#Task+JVM+Reuse">Task JVM Reuse</a>
+</li>
 </ul>
 </li>
 <li>
@@ -330,7 +339,7 @@
 <a href="#Example%3A+WordCount+v2.0">Example: WordCount v2.0</a>
 <ul class="minitoc">
 <li>
-<a href="#Source+Code-N10F78">Source Code</a>
+<a href="#Source+Code-N10F9A">Source Code</a>
 </li>
 <li>
 <a href="#Sample+Runs">Sample Runs</a>
@@ -1588,6 +1597,8 @@
 <span class="codefrag">&lt;/property&gt;</span>
         
 </p>
+<a name="N108BF"></a><a name="Memory+management"></a>
+<h4> Memory management</h4>
 <p>Users/admins can also specify the maximum virtual memory 
         of the launched child-task, and any sub-process it launches 
         recursively, using <span class="codefrag">mapred.child.ulimit</span>. Note that
@@ -1629,7 +1640,7 @@
         counters for a job- particularly relative to byte counts from the map
         and into the reduce- is invaluable to the tuning of these
         parameters.</p>
-<a name="N108E9"></a><a name="Map+Parameters"></a>
+<a name="N108F0"></a><a name="Map+Parameters"></a>
 <h4>Map Parameters</h4>
 <p>A record emitted from a map will be serialized into a buffer and
           metadata will be stored into accounting buffers. As described in the
@@ -1703,7 +1714,7 @@
             combiner.</li>
           
 </ul>
-<a name="N10955"></a><a name="Shuffle%2FReduce+Parameters"></a>
+<a name="N1095C"></a><a name="Shuffle%2FReduce+Parameters"></a>
 <h4>Shuffle/Reduce Parameters</h4>
 <p>As described previously, each reduce fetches the output assigned
           to it by the Partitioner via HTTP into memory and periodically
@@ -1799,6 +1810,8 @@
             of the intermediate merge.</li>
           
 </ul>
+<a name="N109D7"></a><a name="Directory+Structure"></a>
+<h4> Directory Structure </h4>
 <p>The task tracker has local directory,
         <span class="codefrag"> ${mapred.local.dir}/taskTracker/</span> to create localized
         cache and localized job. It can define multiple local directories 
@@ -1869,7 +1882,9 @@
         
 <li>
 <span class="codefrag">${mapred.local.dir}/taskTracker/jobcache/$jobid/$taskid/work</span>
-        : The curernt working directory of the task. </li>
+        : The curernt working directory of the task. 
+        With <a href="#Task+JVM+Reuse">jvm reuse</a> enabled for tasks, this 
+        directory will be the directory on which the jvm has started</li>
         
 <li>
 <span class="codefrag">${mapred.local.dir}/taskTracker/jobcache/$jobid/$taskid/work/tmp</span>
@@ -1896,6 +1911,17 @@
 </li>
         
 </ul>
+<a name="N10A46"></a><a name="Task+JVM+Reuse"></a>
+<h4>Task JVM Reuse</h4>
+<p>Jobs can enable task JVMs to be reused by specifying the job 
+        configuration <span class="codefrag">mapred.job.reuse.jvm.num.tasks</span>. If the
+        value is 1 (the default), then JVMs are not reused 
+        (i.e. 1 task per JVM). If it is -1, there is no limit to the number
+        of tasks a JVM can run (of the same job). One can also specify some
+        value greater than 1 using the api 
+        <a href="api/org/apache/hadoop/mapred/JobConf.html#setNumTasksToExecutePerJvm(int)">
+        JobConf.setNumTasksToExecutePerJvm(int)</a>
+</p>
 <p>The following properties are localized in the job configuration 
          for each task's execution: </p>
 <table class="ForrestTable" cellspacing="1" cellpadding="4">
@@ -1977,7 +2003,7 @@
         <a href="native_libraries.html#Loading+native+libraries+through+DistributedCache">
         native_libraries.html</a>
 </p>
-<a name="N10B0D"></a><a name="Job+Submission+and+Monitoring"></a>
+<a name="N10B2F"></a><a name="Job+Submission+and+Monitoring"></a>
 <h3 class="h4">Job Submission and Monitoring</h3>
 <p>
 <a href="api/org/apache/hadoop/mapred/JobClient.html">
@@ -2038,7 +2064,7 @@
 <p>Normally the user creates the application, describes various facets 
         of the job via <span class="codefrag">JobConf</span>, and then uses the 
         <span class="codefrag">JobClient</span> to submit the job and monitor its progress.</p>
-<a name="N10B6D"></a><a name="Job+Control"></a>
+<a name="N10B8F"></a><a name="Job+Control"></a>
 <h4>Job Control</h4>
 <p>Users may need to chain Map/Reduce jobs to accomplish complex
           tasks which cannot be done via a single Map/Reduce job. This is fairly
@@ -2074,7 +2100,7 @@
             </li>
           
 </ul>
-<a name="N10B97"></a><a name="Job+Input"></a>
+<a name="N10BB9"></a><a name="Job+Input"></a>
 <h3 class="h4">Job Input</h3>
 <p>
 <a href="api/org/apache/hadoop/mapred/InputFormat.html">
@@ -2122,7 +2148,7 @@
         appropriate <span class="codefrag">CompressionCodec</span>. However, it must be noted that
         compressed files with the above extensions cannot be <em>split</em> and 
         each compressed file is processed in its entirety by a single mapper.</p>
-<a name="N10C01"></a><a name="InputSplit"></a>
+<a name="N10C23"></a><a name="InputSplit"></a>
 <h4>InputSplit</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/InputSplit.html">
@@ -2136,7 +2162,7 @@
           FileSplit</a> is the default <span class="codefrag">InputSplit</span>. It sets 
           <span class="codefrag">map.input.file</span> to the path of the input file for the
           logical split.</p>
-<a name="N10C26"></a><a name="RecordReader"></a>
+<a name="N10C48"></a><a name="RecordReader"></a>
 <h4>RecordReader</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/RecordReader.html">
@@ -2148,7 +2174,7 @@
           for processing. <span class="codefrag">RecordReader</span> thus assumes the 
           responsibility of processing record boundaries and presents the tasks 
           with keys and values.</p>
-<a name="N10C49"></a><a name="Job+Output"></a>
+<a name="N10C6B"></a><a name="Job+Output"></a>
 <h3 class="h4">Job Output</h3>
 <p>
 <a href="api/org/apache/hadoop/mapred/OutputFormat.html">
@@ -2173,7 +2199,7 @@
 <p>
 <span class="codefrag">TextOutputFormat</span> is the default 
         <span class="codefrag">OutputFormat</span>.</p>
-<a name="N10C72"></a><a name="OutputCommitter"></a>
+<a name="N10C94"></a><a name="OutputCommitter"></a>
 <h4>OutputCommitter</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/OutputCommitter.html">
@@ -2215,7 +2241,7 @@
 <p>
 <span class="codefrag">FileOutputCommitter</span> is the default 
         <span class="codefrag">OutputCommitter</span>.</p>
-<a name="N10CA2"></a><a name="Task+Side-Effect+Files"></a>
+<a name="N10CC4"></a><a name="Task+Side-Effect+Files"></a>
 <h4>Task Side-Effect Files</h4>
 <p>In some applications, component tasks need to create and/or write to
           side-files, which differ from the actual job-output files.</p>
@@ -2256,7 +2282,7 @@
 <p>The entire discussion holds true for maps of jobs with 
            reducer=NONE (i.e. 0 reduces) since output of the map, in that case, 
            goes directly to HDFS.</p>
-<a name="N10CF0"></a><a name="RecordWriter"></a>
+<a name="N10D12"></a><a name="RecordWriter"></a>
 <h4>RecordWriter</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/RecordWriter.html">
@@ -2264,9 +2290,9 @@
           pairs to an output file.</p>
 <p>RecordWriter implementations write the job outputs to the 
           <span class="codefrag">FileSystem</span>.</p>
-<a name="N10D07"></a><a name="Other+Useful+Features"></a>
+<a name="N10D29"></a><a name="Other+Useful+Features"></a>
 <h3 class="h4">Other Useful Features</h3>
-<a name="N10D0D"></a><a name="Counters"></a>
+<a name="N10D2F"></a><a name="Counters"></a>
 <h4>Counters</h4>
 <p>
 <span class="codefrag">Counters</span> represent global counters, defined either by 
@@ -2283,7 +2309,7 @@
           in the <span class="codefrag">map</span> and/or 
           <span class="codefrag">reduce</span> methods. These counters are then globally 
           aggregated by the framework.</p>
-<a name="N10D3C"></a><a name="DistributedCache"></a>
+<a name="N10D5E"></a><a name="DistributedCache"></a>
 <h4>DistributedCache</h4>
 <p>
 <a href="api/org/apache/hadoop/filecache/DistributedCache.html">
@@ -2354,7 +2380,7 @@
           <span class="codefrag">mapred.job.classpath.{files|archives}</span>. Similarly the
           cached files that are symlinked into the working directory of the
           task can be used to distribute native libraries and load them.</p>
-<a name="N10DBF"></a><a name="Tool"></a>
+<a name="N10DE1"></a><a name="Tool"></a>
 <h4>Tool</h4>
 <p>The <a href="api/org/apache/hadoop/util/Tool.html">Tool</a> 
           interface supports the handling of generic Hadoop command-line options.
@@ -2394,7 +2420,7 @@
             </span>
           
 </p>
-<a name="N10DF1"></a><a name="IsolationRunner"></a>
+<a name="N10E13"></a><a name="IsolationRunner"></a>
 <h4>IsolationRunner</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/IsolationRunner.html">
@@ -2418,7 +2444,7 @@
 <p>
 <span class="codefrag">IsolationRunner</span> will run the failed task in a single 
           jvm, which can be in the debugger, over precisely the same input.</p>
-<a name="N10E24"></a><a name="Profiling"></a>
+<a name="N10E46"></a><a name="Profiling"></a>
 <h4>Profiling</h4>
 <p>Profiling is a utility to get a representative (2 or 3) sample
           of built-in java profiler for a sample of maps and reduces. </p>
@@ -2451,7 +2477,7 @@
           <span class="codefrag">-agentlib:hprof=cpu=samples,heap=sites,force=n,thread=y,verbose=n,file=%s</span>
           
 </p>
-<a name="N10E58"></a><a name="Debugging"></a>
+<a name="N10E7A"></a><a name="Debugging"></a>
 <h4>Debugging</h4>
 <p>Map/Reduce framework provides a facility to run user-provided 
           scripts for debugging. When map/reduce task fails, user can run 
@@ -2462,14 +2488,14 @@
 <p> In the following sections we discuss how to submit debug script
           along with the job. For submitting debug script, first it has to
           distributed. Then the script has to supplied in Configuration. </p>
-<a name="N10E64"></a><a name="How+to+distribute+script+file%3A"></a>
+<a name="N10E86"></a><a name="How+to+distribute+script+file%3A"></a>
 <h5> How to distribute script file: </h5>
 <p>
           The user has to use 
           <a href="mapred_tutorial.html#DistributedCache">DistributedCache</a>
           mechanism to <em>distribute</em> and <em>symlink</em> the
           debug script file.</p>
-<a name="N10E78"></a><a name="How+to+submit+script%3A"></a>
+<a name="N10E9A"></a><a name="How+to+submit+script%3A"></a>
 <h5> How to submit script: </h5>
 <p> A quick way to submit debug script is to set values for the 
           properties "mapred.map.task.debug.script" and 
@@ -2493,17 +2519,17 @@
 <span class="codefrag">$script $stdout $stderr $syslog $jobconf $program </span>  
           
 </p>
-<a name="N10E9A"></a><a name="Default+Behavior%3A"></a>
+<a name="N10EBC"></a><a name="Default+Behavior%3A"></a>
 <h5> Default Behavior: </h5>
 <p> For pipes, a default script is run to process core dumps under
           gdb, prints stack trace and gives info about running threads. </p>
-<a name="N10EA5"></a><a name="JobControl"></a>
+<a name="N10EC7"></a><a name="JobControl"></a>
 <h4>JobControl</h4>
 <p>
 <a href="api/org/apache/hadoop/mapred/jobcontrol/package-summary.html">
           JobControl</a> is a utility which encapsulates a set of Map/Reduce jobs
           and their dependencies.</p>
-<a name="N10EB2"></a><a name="Data+Compression"></a>
+<a name="N10ED4"></a><a name="Data+Compression"></a>
 <h4>Data Compression</h4>
 <p>Hadoop Map/Reduce provides facilities for the application-writer to
           specify compression for both intermediate map-outputs and the
@@ -2517,7 +2543,7 @@
           codecs for reasons of both performance (zlib) and non-availability of
           Java libraries (lzo). More details on their usage and availability are
           available <a href="native_libraries.html">here</a>.</p>
-<a name="N10ED2"></a><a name="Intermediate+Outputs"></a>
+<a name="N10EF4"></a><a name="Intermediate+Outputs"></a>
 <h5>Intermediate Outputs</h5>
 <p>Applications can control compression of intermediate map-outputs
             via the 
@@ -2526,7 +2552,7 @@
             <span class="codefrag">CompressionCodec</span> to be used via the
             <a href="api/org/apache/hadoop/mapred/JobConf.html#setMapOutputCompressorClass(java.lang.Class)">
             JobConf.setMapOutputCompressorClass(Class)</a> api.</p>
-<a name="N10EE7"></a><a name="Job+Outputs"></a>
+<a name="N10F09"></a><a name="Job+Outputs"></a>
 <h5>Job Outputs</h5>
 <p>Applications can control compression of job-outputs via the
             <a href="api/org/apache/hadoop/mapred/FileOutputFormat.html#setCompressOutput(org.apache.hadoop.mapred.JobConf,%20boolean)">
@@ -2543,7 +2569,7 @@
             <a href="api/org/apache/hadoop/mapred/SequenceFileOutputFormat.html#setOutputCompressionType(org.apache.hadoop.mapred.JobConf,%20org.apache.hadoop.io.SequenceFile.CompressionType)">
             SequenceFileOutputFormat.setOutputCompressionType(JobConf, 
             SequenceFile.CompressionType)</a> api.</p>
-<a name="N10F14"></a><a name="Skipping+Bad+Records"></a>
+<a name="N10F36"></a><a name="Skipping+Bad+Records"></a>
 <h4>Skipping Bad Records</h4>
 <p>Hadoop provides an optional mode of execution in which the bad 
           records are detected and skipped in further attempts. 
@@ -2617,7 +2643,7 @@
 </div>
 
     
-<a name="N10F5E"></a><a name="Example%3A+WordCount+v2.0"></a>
+<a name="N10F80"></a><a name="Example%3A+WordCount+v2.0"></a>
 <h2 class="h3">Example: WordCount v2.0</h2>
 <div class="section">
 <p>Here is a more complete <span class="codefrag">WordCount</span> which uses many of the
@@ -2627,7 +2653,7 @@
       <a href="quickstart.html#SingleNodeSetup">pseudo-distributed</a> or
       <a href="quickstart.html#Fully-Distributed+Operation">fully-distributed</a> 
       Hadoop installation.</p>
-<a name="N10F78"></a><a name="Source+Code-N10F78"></a>
+<a name="N10F9A"></a><a name="Source+Code-N10F9A"></a>
 <h3 class="h4">Source Code</h3>
 <table class="ForrestTable" cellspacing="1" cellpadding="4">
           
@@ -3837,7 +3863,7 @@
 </tr>
         
 </table>
-<a name="N116DA"></a><a name="Sample+Runs"></a>
+<a name="N116FC"></a><a name="Sample+Runs"></a>
 <h3 class="h4">Sample Runs</h3>
 <p>Sample text-files as input:</p>
 <p>
@@ -4005,7 +4031,7 @@
 <br>
         
 </p>
-<a name="N117AE"></a><a name="Highlights"></a>
+<a name="N117D0"></a><a name="Highlights"></a>
 <h3 class="h4">Highlights</h3>
 <p>The second version of <span class="codefrag">WordCount</span> improves upon the 
         previous one by using some features offered by the Map/Reduce framework: