Merged /xmlgraphics/fop/trunk:r1149494-1177230

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_ComplexScripts@1177244 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/build.xml b/build.xml
index c1828a1..805323c 100644
--- a/build.xml
+++ b/build.xml
@@ -85,11 +85,11 @@
     </patternset>
   </fileset>
   <patternset id="dist.src.lib.tools">
-	<include name="lib/build/asm*"/>
-	<include name="lib/build/backport-util-concurrent*"/>
-	<include name="lib/build/jaxen*"/>
-	<include name="lib/build/pmd*"/>
-	<include name="lib/build/qdox*"/>
+    <include name="lib/build/asm*"/>
+    <include name="lib/build/backport-util-concurrent*"/>
+    <include name="lib/build/jaxen*"/>
+    <include name="lib/build/pmd*"/>
+    <include name="lib/build/qdox*"/>
         <include name="lib/build/xmlunit*"/>
   </patternset>
   <fileset dir="${basedir}" id="dist.src">
@@ -98,7 +98,7 @@
     <include name="hyph/hyphenation.dtd"/>
     <include name="hyph/readme"/>
     <patternset refid="dist.lib"/>
-	<patternset refid="dist.src.lib.tools"/>
+    <patternset refid="dist.src.lib.tools"/>
     <include name="lib/servlet*"/>
     <include name="test/**"/>
     <include name="examples/**"/>
@@ -153,6 +153,8 @@
   <property name="javac.fork" value="no"/>
   <property name="junit.fork" value="on"/>
   <property name="junit.haltonfailure" value="off"/>
+  <property name="junit.printsummary" value="off"/>
+  <property name="junit.formatter.brief" value="on"/>
   <property name="javadoc.packages" value="org.apache.fop.*"/>
   <property name="src.dir" value="${basedir}/src"/>
   <property name="src.codegen.dir" value="${src.dir}/codegen"/>
@@ -216,7 +218,10 @@
   </presetdef>
   
   <presetdef name="junit">
-    <junit haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" maxmemory="256m"/>
+    <junit haltonfailure="${junit.haltonfailure}"
+      fork="${junit.fork}"
+      printsummary="${junit.printsummary}"
+      maxmemory="256m"/>
   </presetdef>
   
   <!-- =================================================================== -->
@@ -433,18 +438,18 @@
     <javac destdir="${build.codegen-classes.dir}">
       <src path="${src.codegen.dir}/unicode/java"/>
     </javac>
-	<java classname="org.apache.fop.hyphenation.UnicodeClasses" resultproperty="classes.result" classpath="${build.codegen-classes.dir}">
+    <java classname="org.apache.fop.hyphenation.UnicodeClasses" resultproperty="classes.result" classpath="${build.codegen-classes.dir}">
       <arg value="${src.dir}/java/org/apache/fop/hyphenation/classes.xml"/>
-	</java>
-	<condition property="classes.result.message" value="Generation of classes successful">
-	  <not>
-	  <isfailure code="${classes.result}"/>
-	  </not>
-	</condition>
-	<condition property="classes.result.message" value="Generation of classes failed">
-	  <isfailure code="${classes.result}"/>
-	</condition>
-	<echo message="${classes.result.message}"/>
+    </java>
+    <condition property="classes.result.message" value="Generation of classes successful">
+      <not>
+      <isfailure code="${classes.result}"/>
+      </not>
+    </condition>
+    <condition property="classes.result.message" value="Generation of classes failed">
+      <isfailure code="${classes.result}"/>
+    </condition>
+    <echo message="${classes.result.message}"/>
   </target>
   <!-- =================================================================== -->
   <!-- compiles hyphenation patterns                                       -->
@@ -455,20 +460,20 @@
       <pathelement location="${build.classes.dir}"/>
     </path>
     <mkdir dir="${build.classes.dir}/hyph"/>
-	<java classname="org.apache.fop.hyphenation.SerializeHyphPattern" fork="true" resultproperty="hyph.result" classpathref="hyph-classpath">
-	  <arg value="${user.hyph.dir}"/>
-	  <arg value="${build.classes.dir}/hyph"/>
-	  <jvmarg value="-Xss${hyph.stacksize}"/>
-	</java>
-	<condition property="hyph.result.message" value="Hyphenation successful">
-	  <not>
-	  <isfailure code="${hyph.result}"/>
-	  </not>
-	</condition>
-	<condition property="hyph.result.message" value="Hyphenation failed">
-	  <isfailure code="${hyph.result}"/>
-	</condition>
-	<echo message="${hyph.result.message}"/>
+    <java classname="org.apache.fop.hyphenation.SerializeHyphPattern" fork="true" resultproperty="hyph.result" classpathref="hyph-classpath">
+      <arg value="${user.hyph.dir}"/>
+      <arg value="${build.classes.dir}/hyph"/>
+      <jvmarg value="-Xss${hyph.stacksize}"/>
+    </java>
+    <condition property="hyph.result.message" value="Hyphenation successful">
+      <not>
+      <isfailure code="${hyph.result}"/>
+      </not>
+    </condition>
+    <condition property="hyph.result.message" value="Hyphenation failed">
+      <isfailure code="${hyph.result}"/>
+    </condition>
+    <echo message="${hyph.result.message}"/>
   </target>
   <target name="uptodate-jar-hyphenation" depends="compile-hyphenation">
     <uptodate property="jar.hyphenation.uptodate" targetfile="${build.dir}/fop-hyph.jar">
@@ -698,10 +703,15 @@
 <!-- =================================================================== -->
 <!-- Testing                                                             -->
 <!-- =================================================================== -->
-  <target name="junit-with-xmlunit" depends="init-avail" if="xmlunit.present">
+  <target name="junit-init" depends="init-avail" if="xmlunit.present">
+    <condition property="junit.formatter.brief.use">
+      <istrue value="${junit.formatter.brief}"/>
+    </condition>
+  </target>
+  <target name="junit-with-xmlunit" depends="junit-init" if="xmlunit.present">
     <patternset id="test-sources"/>
   </target>
-  <target name="junit-without-xmlunit" depends="init-avail" unless="xmlunit.present">
+  <target name="junit-without-xmlunit" depends="junit-init" unless="xmlunit.present">
     <patternset id="test-sources">
       <exclude name="**/intermediate/*"/>
     </patternset>
@@ -710,7 +720,7 @@
     <mkdir dir="${build.dir}/test-classes"/>
     <mkdir dir="${build.dir}/test-gensrc"/>
     <mkdir dir="${junit.reports.dir}"/>
-    <javac destdir="${build.dir}/test-classes" includeAntRuntime="true">
+    <javac destdir="${build.dir}/test-classes" includeAntRuntime="true" memoryMaximumSize="1024m">
       <src path="${test.dir}/java"/>
       <patternset refid="test-sources"/>
       <classpath>
@@ -738,6 +748,7 @@
         <include name="META-INF/**"/>
         <include name="**/*.xml"/>
         <include name="**/*.fo"/>
+        <include name="**/BidiTestData*.ser"/>
         <include name="**/*.afp"/>
       </fileset>
       <fileset dir="${build.dir}/test-gensrc">
@@ -751,7 +762,7 @@
     <junit dir="${basedir}">
       <sysproperty key="basedir" value="${basedir}"/>
       <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -773,7 +784,7 @@
     <junit dir="${basedir}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
       <sysproperty key="basedir" value="${basedir}"/>
       <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -798,7 +809,7 @@
       <sysproperty key="jawa.awt.headless" value="true"/>
       <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
       <sysproperty key="fop.layoutengine.testset" value="standard"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -813,7 +824,7 @@
     <junit dir="${basedir}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
       <sysproperty key="basedir" value="${basedir}"/>
       <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -826,6 +837,24 @@
       <test name="org.apache.fop.StandardTestSuite" todir="${junit.reports.dir}"/>
     </junit>
   </target>
+  <target name="junit-complexscripts" depends="junit-compile" description="Runs FOP's JUnit complex scripts tests" if="junit.present">
+    <echo message="Running complex scripts tests for fop.jar"/>
+    <junit dir="${basedir}" haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure" printsummary="${junit.printsummary}">
+      <sysproperty key="basedir" value="${basedir}"/>
+      <sysproperty key="jawa.awt.headless" value="true"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
+      <formatter type="plain" usefile="true"/>
+      <formatter type="xml" usefile="true"/>
+      <classpath>
+        <pathelement location="${build.dir}/test-classes"/>
+        <path refid="libs-build-classpath"/>
+        <fileset dir="build">
+          <include name="fop.jar"/>
+        </fileset>
+      </classpath>
+      <test name="org.apache.fop.complexscripts.ComplexScriptsTestSuite" todir="${junit.reports.dir}"/>
+    </junit>
+  </target>
   <target name="hyphenation-present" depends="junit-compile" if="junit.present">
     <condition property="hyphenation.present">
       <and>
@@ -851,7 +880,7 @@
       <sysproperty key="jawa.awt.headless" value="true"/>
       <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
       <sysproperty key="fop.layoutengine.testset" value="standard"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -868,7 +897,7 @@
       <sysproperty key="jawa.awt.headless" value="true"/>
       <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
       <sysproperty key="fop.layoutengine.testset" value="hyphenation"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -885,7 +914,7 @@
       <sysproperty key="basedir" value="${basedir}"/>
       <sysproperty key="jawa.awt.headless" value="true"/>
       <sysproperty key="fop.layoutengine.disabled" value="${fotree.disabled}"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -910,7 +939,7 @@
         <sysproperty key="jawa.awt.headless" value="true"/>
         <sysproperty key="fop.layoutengine.disabled" value="${layoutengine.disabled}"/>
         <sysproperty key="fop.layoutengine.testset" value="standard"/>
-        <formatter type="brief" usefile="false"/>
+        <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
         <formatter type="plain" usefile="true"/>
         <formatter type="xml" usefile="true"/>
         <classpath>
@@ -950,7 +979,7 @@
     <junit dir="${basedir}" errorproperty="fop.junit.error" failureproperty="fop.junit.failure">
       <sysproperty key="basedir" value="${basedir}"/>
       <sysproperty key="jawa.awt.headless" value="true"/>
-      <formatter type="brief" usefile="false"/>
+      <formatter type="brief" usefile="false" if="junit.formatter.brief.use"/>
       <formatter type="plain" usefile="true"/>
       <formatter type="xml" usefile="true"/>
       <classpath>
@@ -969,7 +998,7 @@
       outfile="TEST-render-pdf"/>
   </target>
   <target name="junit-reduced" depends="junit-userconfig, junit-basic, junit-transcoder, 
-    junit-text-linebreak, junit-fotree, junit-render-pdf"/>
+    junit-text-linebreak, junit-fotree, junit-render-pdf, junit-complexscripts"/>
   <target name="junit-full" depends="junit-reduced, junit-layout, junit-area-tree-xml-format, junit-intermediate-format"/>
   <target name="junit" depends="junit-full" description="Runs all of FOP's JUnit tests" if="junit.present">
     <fail><condition><or><isset property="fop.junit.error"/><isset property="fop.junit.failure"/><not><isset property="hyphenation.present"/></not></or></condition>
@@ -1121,7 +1150,7 @@
 <!-- =================================================================== -->
   <property name="checkstyle.noframes.xslt" value="${basedir}/checkstyle-noframes.xsl" />
   <condition property="checkstyle.avail">
-  	<and>
+    <and>
       <available classname="com.puppycrawl.tools.checkstyle.CheckStyleTask">
         <classpath>
           <path refid="libs-tools-build-classpath"/>
@@ -1356,11 +1385,11 @@
 <!-- Nightly builds                                                      -->
 <!-- =================================================================== -->
   <target name="junit-nightly-build" depends="junit-userconfig,junit-text-linebreak,junit-fotree">
-	<fail>
-	  <condition>
-	    <or>
-	      <isset property="fop.junit.error"/>
-	      <isset property="fop.junit.failure"/>
+    <fail>
+      <condition>
+        <or>
+          <isset property="fop.junit.error"/>
+          <isset property="fop.junit.failure"/>
         </or>
       </condition>
 NOTE:
@@ -1434,21 +1463,53 @@
   </target>
 
   <!-- =================================================================== -->
-  <!-- Helper task to generate source files that have already been checked -->
+  <!-- Helper tasks to generate source files that have already been checked -->
   <!-- into the repository.  For these files, the version in the           -->
   <!-- repository is the official one and may have updates that will *not* -->
   <!-- be generated by below. This target should never be part of the      -->
   <!-- normal build process.                                               -->
   <!-- =================================================================== -->
-  <target name="codegen-unicode" >
+  <target name="codegen-unicode" depends="compile-java">
     <mkdir dir="${build.codegen-classes.dir}"/>
     <javac destdir="${build.codegen-classes.dir}">
       <src path="${src.codegen.dir}/unicode/java"/>
+      <classpath>
+        <path refid="libs-build-classpath"/>
+        <pathelement location="${build.classes.dir}"/>
+        <pathelement location="${build.codegen-classes.dir}"/>
+      </classpath>
     </javac>
     <java classname="org.apache.fop.text.linebreak.GenerateLineBreakUtils" classpath="${build.codegen-classes.dir}">
       <arg line="-o ${src.dir}/java/org/apache/fop/text/linebreak/LineBreakUtils.java"/>
     </java>
   </target>
+  <target name="codegen-unicode-bidi" depends="compile-java">
+    <mkdir dir="${build.codegen-classes.dir}"/>
+    <javac destdir="${build.codegen-classes.dir}" fork="${javac.fork}" debug="${javac.debug}" deprecation="${javac.deprecation}" optimize="${javac.optimize}" source="${javac.source}" target="${javac.target}">
+      <src path="${src.codegen.dir}/unicode/java"/>
+      <classpath>
+        <path refid="libs-build-classpath"/>
+        <pathelement location="${build.classes.dir}"/>
+        <pathelement location="${build.codegen-classes.dir}"/>
+      </classpath>
+    </javac>
+    <java classname="org.apache.fop.text.bidi.GenerateBidiClassUtils" classpath="${build.codegen-classes.dir}">
+      <arg line="-b http://www.unicode.org/Public/6.0.0/ucd/extracted/DerivedBidiClass.txt"/>
+      <arg line="-o ${src.dir}/java/org/apache/fop/text/bidi/BidiClassUtils.java"/>
+    </java>
+    <delete>
+      <fileset dir="${test.dir}/java/org/apache/fop/complexscripts/bidi">
+        <include name="**/BidiTestData*.ser"/>
+      </fileset>
+    </delete>
+    <java classname="org.apache.fop.text.bidi.GenerateBidiTestData" classpath="${build.codegen-classes.dir}" fork="yes">
+      <arg line="-v"/>
+      <arg line="-i"/>
+      <arg line="-b http://www.unicode.org/Public/6.0.0/ucd/BidiTest.txt"/>
+      <arg line="-d http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt"/>
+      <arg line="-o ${test.dir}/java/org/apache/fop/complexscripts/bidi/BidiTestData.java"/>
+    </java>
+  </target>
 <!-- =================================================================== -->
 <!-- Special target for Gump                                             -->
 <!-- =================================================================== -->
@@ -1477,7 +1538,7 @@
     <delete>
       <fileset dir="${basedir}" includes="${name}-*.tar.gz"/>
       <fileset dir="${basedir}" includes="${name}-*.zip"/>
-	  <fileset dir="${basedir}" includes="${name}-bundle.jar"/>
+      <fileset dir="${basedir}" includes="${name}-bundle.jar"/>
     </delete>
   </target>
   <target name="validate-xdocs" description="Validate the xdocs. Point schemas.dir to Forrest's 'schemas' directory.">
diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml
index 2172998..659df63 100644
--- a/checkstyle-suppressions.xml
+++ b/checkstyle-suppressions.xml
@@ -2,6 +2,8 @@
 <!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
 <suppressions>
     <suppress files="org/apache/fop/fo/FOPropertyMapping.java" checks="FileLengthCheck"/>
+    <suppress files="org/apache/fop/fonts/GlyphPositioningTable.java" checks="FileLengthCheck"/>
     <suppress files="org/apache/fop/fonts/truetype/TTFFile.java" checks="FileLengthCheck"/>
+    <suppress files="org/apache/fop/layoutmgr/BidiUtil.java" checks="FileLengthCheck"/>
     <suppress files="org/apache/fop/Version.java" lines="40-50" checks="LineLengthCheck"/>
 </suppressions>
diff --git a/findbugs-exclude.xml b/findbugs-exclude.xml
index 67220fc..61aae8f 100644
--- a/findbugs-exclude.xml
+++ b/findbugs-exclude.xml
@@ -1,5 +1,191 @@
 <?xml version="1.0" encoding="utf-8"?>
 <FindBugsFilter>
+  <!-- general exclusions -->
+  <Match>
+    <Or>
+      <!-- permit use of to{Lower,Upper}Case without warning -->
+      <Bug pattern="DM_CONVERT_CASE"/>
+      <!-- permit use of null instead of zero length array without warning -->
+      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Or>
+  </Match>
+  <!-- performance optimizations -->
+  <Match>
+    <Class name="org.apache.fop.fonts.ArabicScriptProcessor"/>
+    <Or>
+      <Method name="getPositioningFeatures"/>
+      <Method name="getSubstitutionFeatures"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.DefaultScriptProcessor"/>
+    <Or>
+      <Method name="getPositioningFeatures"/>
+      <Method name="getSubstitutionFeatures"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphPositioningState"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphPositioningTable$DeviceTable"/>
+    <Method name="getDeltas"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphPositioningTable$DeviceTable"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphSequence"/>
+    <Method name="getAssociations"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphSequence$CharAssociation"/>
+    <Method name="getSubIntervals"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphSubstitutionState"/>
+    <Method name="setAlternates"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$Ligature"/>
+    <Or>
+        <Method name="getComponents"/>
+        <Method name="getLigatures"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$Ligature"/>
+    <Method name="&lt;init&gt;" params="int, int[]" returns="void"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$LigatureSet"/>
+    <Method name="getLigatures"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$LigatureSet"/>
+    <Method name="&lt;init&gt;" params="org.apache.fop.fonts.GlyphSubstitutionTable$Ligature[]" returns="void"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ChainedClassSequenceRule"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ChainedClassSequenceRule"/>
+    <Or>
+      <Method name="getBacktrackClasses"/>
+      <Method name="getLookaheadClasses"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ChainedCoverageSequenceRule"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ChainedCoverageSequenceRule"/>
+    <Or>
+      <Method name="getBacktrackCoverages"/>
+      <Method name="getLookaheadCoverages"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ChainedGlyphSequenceRule"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ChainedGlyphSequenceRule"/>
+    <Or>
+      <Method name="getBacktrackGlyphs"/>
+      <Method name="getLookaheadGlyphs"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ClassSequenceRule"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$ClassSequenceRule"/>
+    <Method name="getClasses"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$CoverageSequenceRule"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$CoverageSequenceRule"/>
+    <Method name="getCoverages"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$GlyphSequenceRule"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$GlyphSequenceRule"/>
+    <Method name="getGlyphs"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$Rule"/>
+    <Method name="getLookups"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$RuleSet"/>
+    <Method name="&lt;init&gt;"/>
+    <Bug pattern="EI_EXPOSE_REP2"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.GlyphTable$RuleSet"/>
+    <Method name="getRules"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fonts.IndicScriptProcessor"/>
+    <Or>
+      <Method name="getPositioningFeatures"/>
+      <Method name="getSubstitutionFeatures"/>
+      <Method name="getOptionalSubstitutionFeatures"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.area.inline.WordArea"/>
+    <Or>
+      <Method name="getBidiLevels"/>
+      <Method name="getGlyphPositionAdjustments"/>
+    </Or>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+  <Match>
+    <Class name="org.apache.fop.fo.FOText"/>
+    <Method name="getBidiLevels"/>
+    <Bug pattern="EI_EXPOSE_REP"/>
+  </Match>
+<!-- ======= -->
    <!-- The names of public methods will not be modified -->
    <Match>
       <Class name="org.apache.fop.afp.AFPDataObjectInfo"/>
@@ -1012,126 +1198,6 @@
       <Bug pattern="UWF_UNWRITTEN_FIELD"/>
    </Match>
    <Match>
-      <Class name="org.apache.fop.afp.AFPResourceLevel"/>
-      <Method name="valueOf"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.afp.AFPResourceLevelDefaults"/>
-      <Method name="getResourceType"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.afp.AFPResourceLevelDefaults"/>
-      <Method name="registerResourceTypeName"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.afp.apps.FontPatternExtractor"/>
-      <Method name="extract"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
-      <Method name="getCategoryCodeAsString"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
-      <Method name="getTypeCodeAsString"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
-      <Method name="toString"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.apps.FopFactoryConfigurator"/>
-      <Method name="configure"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.apps.FopFactoryConfigurator"/>
-      <Method name="configureImageLoading"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fo.pagination.PageNumberGenerator"/>
-      <Method name="makeFormattedPageNumber"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fo.properties.CondLengthProperty"/>
-      <Method name="toString"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fonts.FontInfo"/>
-      <Method name="getTripletsForName"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fonts.FontLoader"/>
-      <Method name="isType1"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fonts.autodetect.FontInfoFinder"/>
-      <Method name="generateTripletsFromFont"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fonts.substitute.FontQualifier"/>
-      <Method name="match"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.pdf.PDFFactory"/>
-      <Method name="getExternalAction"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.render.bitmap.MultiFileRenderingUtil"/>
-      <Method name="&lt;init&gt;"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.render.java2d.InstalledFontCollection"/>
-      <Method name="setup"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.render.rtf.FoUnitsConverter"/>
-      <Method name="numberToTwips"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
-      <Method name="addNamedColor"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
-      <Method name="getColorNumber"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfFontManager"/>
-      <Method name="getFontKey"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.tools.anttasks.FOPTaskStarter"/>
-      <Method name="replaceExtension"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.util.ColorUtil"/>
-      <Method name="parseColorString"/>
-      <Bug pattern="DM_CONVERT_CASE"/>
-   </Match>
-   <Match>
       <Class name="org.apache.fop.afp.AFPDataObjectInfo"/>
       <Method name="getData"/>
       <Bug pattern="EI_EXPOSE_REP"/>
@@ -4317,71 +4383,6 @@
       <Bug pattern="NS_DANGEROUS_NON_SHORT_CIRCUIT"/>
    </Match>
    <Match>
-      <Class name="org.apache.fop.afp.util.AFPResourceUtil"/>
-      <Method name="getNext"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fo.FOText"/>
-      <Method name="getCharArray"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fonts.FontCache"/>
-      <Method name="getFontInfos"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fonts.MultiByteFont"/>
-      <Method name="getCharsUsed"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.fonts.autodetect.FontInfoFinder"/>
-      <Method name="find"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.layoutmgr.table.TableRowIterator"/>
-      <Method name="getNextRowGroup"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.pdf.PDFPattern"/>
-      <Method name="toPDF"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.render.intermediate.AffineTransformArrayParser"/>
-      <Method name="getAffineTransforms"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.svg.AbstractFOPTextPainter"/>
-      <Method name="getSelected"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.svg.NativeTextPainter"/>
-      <Method name="findFonts"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.util.ConversionUtils"/>
-      <Method name="toDoubleArray"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.util.ConversionUtils"/>
-      <Method name="toIntArray"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
-      <Class name="org.apache.fop.util.XMLUtil"/>
-      <Method name="getAttributeAsIntArray"/>
-      <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
       <Class name="org.apache.fop.afp.modca.MapCodedFont"/>
       <Method name="addFont"/>
       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
@@ -5074,11 +5075,6 @@
 	 <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS"/>
    </Match>
    <Match>
-	 <Class name="org.apache.fop.util.ColorWithFallback"/>
-	 <Method name="getAlternativeColors"/>
-	 <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
-   </Match>
-   <Match>
 	 <Class name="org.apache.fop.fo.expr.NamedColorFunction"/>
 	 <Method name="eval"/>
 	 <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
@@ -5089,4 +5085,4 @@
 	 <Bug pattern="REC_CATCH_EXCEPTION"/>
    </Match>
    <!-- /Automatically generated list of exclusions on 18 February 2011 -->
-</FindBugsFilter>
\ No newline at end of file
+</FindBugsFilter>
diff --git a/src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java b/src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java
index 6786e43..38867d8 100644
--- a/src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java
+++ b/src/codegen/java/org/apache/fop/tools/EventProducerCollectorTask.java
@@ -58,7 +58,7 @@
  */
 public class EventProducerCollectorTask extends Task {
 
-    private List filesets = new java.util.ArrayList();
+    private List<FileSet> filesets = new java.util.ArrayList<FileSet>();
     private File destDir;
     private File translationFile;
 
@@ -202,7 +202,7 @@
     protected long processFileSets(EventProducerCollector collector)
             throws IOException, EventConventionException, ClassNotFoundException {
         long lastModified = 0;
-        Iterator iter = filesets.iterator();
+        Iterator<FileSet> iter = filesets.iterator();
         while (iter.hasNext()) {
             FileSet fs = (FileSet)iter.next();
             DirectoryScanner ds = fs.getDirectoryScanner(getProject());
diff --git a/src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiClassUtils.java b/src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiClassUtils.java
new file mode 100644
index 0000000..3f76d81
--- /dev/null
+++ b/src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiClassUtils.java
@@ -0,0 +1,571 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.text.bidi;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import org.apache.fop.util.BidiConstants;
+import org.apache.fop.util.License;
+
+// CSOFF: LineLength
+// CSOFF: NoWhitespaceAfter
+
+/**
+ * <p>Utility for generating a Java class representing bidirectional
+ * class properties from the Unicode property files.</p>
+ *
+ * <p>This code is derived in part from GenerateLineBreakUtils.java.</p>
+ *
+ * @author Glenn Adams
+ */
+public final class GenerateBidiClassUtils {
+
+    private GenerateBidiClassUtils() {
+    }
+
+    private static byte[] bcL1 = new byte[256]; // ascii and basic latin blocks ( 0x0000 - 0x00FF )
+    private static byte[] bcR1 = new byte[368]; // hebrew and arabic blocks     ( 0x0590 - 0x06FF )
+    private static int[]  bcS1;                 // interval start indices
+    private static int[]  bcE1;                 // interval end indices
+    private static byte[] bcC1;                 // interval bid classes
+
+    /**
+     * Generate a class managing bidi class properties for Unicode characters.
+     *
+     * @param bidiFileName name (as URL) of file containing bidi type data
+     * @param outFileName name of the output file
+     * @throws Exception
+     */
+    private static void convertBidiClassProperties(String bidiFileName, String outFileName) throws Exception {
+
+        readBidiClassProperties(bidiFileName);
+
+        // generate class
+        PrintWriter out = new PrintWriter(new FileWriter(outFileName));
+        License.writeJavaLicenseId(out);
+        out.println();
+        out.println("package org.apache.fop.text.bidi;");
+        out.println();
+        out.println("import java.util.Arrays;");
+        out.println("import org.apache.fop.util.BidiConstants;");
+        out.println();
+        out.println("// CSOFF: WhitespaceAfterCheck");
+        out.println("// CSOFF: LineLengthCheck");
+        out.println();
+        out.println("/*");
+        out.println(" * !!! THIS IS A GENERATED FILE !!!");
+        out.println(" * If updates to the source are needed, then:");
+        out.println(" * - apply the necessary modifications to");
+        out.println(" *   'src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiClassUtils.java'");
+        out.println(" * - run 'ant codegen-unicode', which will generate a new BidiClassUtils.java");
+        out.println(" *   in 'src/java/org/apache/fop/text/bidi'");
+        out.println(" * - commit BOTH changed files");
+        out.println(" */");
+        out.println();
+        out.println("/** Bidirectional class utilities. */");
+        out.println("public final class BidiClassUtils {");
+        out.println();
+        out.println("private BidiClassUtils() {");
+        out.println("}");
+        out.println();
+        dumpData(out);
+        out.println ("/**");
+        out.println (" * Lookup bidi class for character expressed as unicode scalar value.");
+        out.println (" * @param ch a unicode scalar value");
+        out.println (" * @return bidi class");
+        out.println (" */");
+        out.println("public static int getBidiClass ( int ch ) {");
+        out.println("  if ( ch <= 0x00FF ) {");
+        out.println("    return bcL1 [ ch - 0x0000 ];");
+        out.println("  } else if ( ( ch >= 0x0590 ) && ( ch <= 0x06FF ) ) {");
+        out.println("    return bcR1 [ ch - 0x0590 ];");
+        out.println("  } else {");
+        out.println("    return getBidiClass ( ch, bcS1, bcE1, bcC1 );");
+        out.println("  }");
+        out.println("}");
+        out.println();
+        out.println("private static int getBidiClass ( int ch, int[] sa, int[] ea, byte[] ca ) {");
+        out.println("  int k = Arrays.binarySearch ( sa, ch );");
+        out.println("  if ( k >= 0 ) {");
+        out.println("    return ca [ k ];");
+        out.println("  } else {");
+        out.println("    k = - ( k + 1 );");
+        out.println("    if ( k == 0 ) {");
+        out.println("      return BidiConstants.L;");
+        out.println("    } else if ( ch <= ea [ k - 1 ] ) {");
+        out.println("      return ca [ k - 1 ];");
+        out.println("    } else {");
+        out.println("      return BidiConstants.L;");
+        out.println("    }");
+        out.println("  }");
+        out.println("}");
+        out.println();
+        out.println("}");
+        out.flush();
+        out.close();
+    }
+
+    /**
+     * Read bidi class property data.
+     *
+     * @param bidiFileName name (as URL) of bidi type data
+     */
+    private static void readBidiClassProperties(String bidiFileName) throws Exception {
+        // read property names
+        BufferedReader b = new BufferedReader(new InputStreamReader(new URL(bidiFileName).openStream()));
+        String line;
+        int lineNumber = 0;
+        TreeSet intervals = new TreeSet();
+        while ( ( line = b.readLine() ) != null ) {
+            lineNumber++;
+            if ( line.startsWith("#") ) {
+                continue;
+            } else if ( line.length() == 0 ) {
+                continue;
+            } else {
+                if ( line.indexOf ( "#" ) != -1 ) {
+                    line = ( line.split ( "#" ) ) [ 0 ];
+                }
+                String[] fa = line.split ( ";" );
+                if ( fa.length == 2 ) {
+                    int[] interval = parseInterval ( fa[0].trim() );
+                    byte bidiClass = (byte) parseBidiClass ( fa[1].trim() );
+                    if ( interval[1] == interval[0] ) { // singleton
+                        int c = interval[0];
+                        if ( c <= 0x00FF ) {
+                            if ( bcL1 [ c - 0x0000 ] == 0 ) {
+                                bcL1 [ c - 0x0000 ] = bidiClass;
+                            } else {
+                                throw new Exception ( "duplicate singleton entry: " + c );
+                            }
+                        } else if ( ( c >= 0x0590 ) && ( c <= 0x06FF ) ) {
+                            if ( bcR1 [ c - 0x0590 ] == 0 ) {
+                                bcR1 [ c - 0x0590 ] = bidiClass;
+                            } else {
+                                throw new Exception ( "duplicate singleton entry: " + c );
+                            }
+                        } else {
+                            addInterval ( intervals, c, c, bidiClass );
+                        }
+                    } else {                            // non-singleton
+                        int s = interval[0];
+                        int e = interval[1];            // inclusive
+                        if ( s <= 0x00FF ) {
+                            for ( int i = s; i <= e; i++ ) {
+                                if ( i <= 0x00FF ) {
+                                    if ( bcL1 [ i - 0x0000 ] == 0 ) {
+                                        bcL1 [ i - 0x0000 ] = bidiClass;
+                                    } else {
+                                        throw new Exception ( "duplicate singleton entry: " + i );
+                                    }
+                                } else {
+                                    addInterval ( intervals, i, e, bidiClass );
+                                    break;
+                                }
+                            }
+                        } else if ( ( s >= 0x0590 ) && ( s <= 0x06FF ) ) {
+                            for ( int i = s; i <= e; i++ ) {
+                                if ( i <= 0x06FF ) {
+                                    if ( bcR1 [ i - 0x0590 ] == 0 ) {
+                                        bcR1 [ i - 0x0590 ] = bidiClass;
+                                    } else {
+                                        throw new Exception ( "duplicate singleton entry: " + i );
+                                    }
+                                } else {
+                                    addInterval ( intervals, i, e, bidiClass );
+                                    break;
+                                }
+                            }
+                        } else {
+                            addInterval ( intervals, s, e, bidiClass );
+                        }
+                    }
+                } else {
+                    throw new Exception ( "bad syntax, line(" + lineNumber + "): " + line );
+                }
+            }
+        }
+        // compile interval search data
+        int ivIndex = 0, niv = intervals.size();
+        bcS1 = new int [ niv ];
+        bcE1 = new int [ niv ];
+        bcC1 = new byte [ niv ];
+        for ( Iterator it = intervals.iterator(); it.hasNext(); ivIndex++ ) {
+            Interval iv = (Interval) it.next();
+            bcS1[ivIndex] = iv.start;
+            bcE1[ivIndex] = iv.end;
+            bcC1[ivIndex] = (byte) iv.bidiClass;
+        }
+        // test data
+        test();
+    }
+
+    private static int[] parseInterval ( String interval ) throws Exception {
+        int s, e;
+        String[] fa = interval.split("\\.\\.");
+        if ( fa.length == 1 ) {
+            s = Integer.parseInt ( fa[0], 16 );
+            e = s;
+        } else if ( fa.length == 2 ) {
+            s = Integer.parseInt ( fa[0], 16 );
+            e = Integer.parseInt ( fa[1], 16 );
+        } else {
+            throw new Exception ( "bad interval syntax: " + interval );
+        }
+        if ( e < s ) {
+            throw new Exception ( "bad interval, start must be less than or equal to end: " + interval );
+        }
+        return new int[] {s, e};
+    }
+
+    private static int parseBidiClass ( String bidiClass ) {
+        int bc = 0;
+        if ( "L".equals ( bidiClass ) ) {
+            bc = BidiConstants.L;
+        } else if ( "LRE".equals ( bidiClass ) ) {
+            bc = BidiConstants.LRE;
+        } else if ( "LRO".equals ( bidiClass ) ) {
+            bc = BidiConstants.LRO;
+        } else if ( "R".equals ( bidiClass ) ) {
+            bc = BidiConstants.R;
+        } else if ( "AL".equals ( bidiClass ) ) {
+            bc = BidiConstants.AL;
+        } else if ( "RLE".equals ( bidiClass ) ) {
+            bc = BidiConstants.RLE;
+        } else if ( "RLO".equals ( bidiClass ) ) {
+            bc = BidiConstants.RLO;
+        } else if ( "PDF".equals ( bidiClass ) ) {
+            bc = BidiConstants.PDF;
+        } else if ( "EN".equals ( bidiClass ) ) {
+            bc = BidiConstants.EN;
+        } else if ( "ES".equals ( bidiClass ) ) {
+            bc = BidiConstants.ES;
+        } else if ( "ET".equals ( bidiClass ) ) {
+            bc = BidiConstants.ET;
+        } else if ( "AN".equals ( bidiClass ) ) {
+            bc = BidiConstants.AN;
+        } else if ( "CS".equals ( bidiClass ) ) {
+            bc = BidiConstants.CS;
+        } else if ( "NSM".equals ( bidiClass ) ) {
+            bc = BidiConstants.NSM;
+        } else if ( "BN".equals ( bidiClass ) ) {
+            bc = BidiConstants.BN;
+        } else if ( "B".equals ( bidiClass ) ) {
+            bc = BidiConstants.B;
+        } else if ( "S".equals ( bidiClass ) ) {
+            bc = BidiConstants.S;
+        } else if ( "WS".equals ( bidiClass ) ) {
+            bc = BidiConstants.WS;
+        } else if ( "ON".equals ( bidiClass ) ) {
+            bc = BidiConstants.ON;
+        } else {
+            throw new IllegalArgumentException ( "unknown bidi class: " + bidiClass );
+        }
+        return bc;
+    }
+
+    private static void addInterval ( SortedSet intervals, int start, int end, int bidiClass ) {
+        intervals.add ( new Interval ( start, end, bidiClass ) );
+    }
+
+    private static void dumpData ( PrintWriter out ) {
+        boolean first;
+        StringBuffer sb = new StringBuffer();
+
+        // bcL1
+        first = true;
+        sb.setLength(0);
+        out.println ( "private static byte[] bcL1 = {" );
+        for ( int i = 0; i < bcL1.length; i++ ) {
+            if ( ! first ) {
+                sb.append ( "," );
+            } else {
+                first = false;
+            }
+            sb.append ( bcL1[i] );
+            if ( sb.length() > 120 ) {
+                sb.append(',');
+                out.println(sb);
+                first = true;
+                sb.setLength(0);
+            }
+        }
+        if ( sb.length() > 0 ) {
+            out.println(sb);
+        }
+        out.println ( "};" );
+        out.println();
+
+        // bcR1
+        first = true;
+        sb.setLength(0);
+        out.println ( "private static byte[] bcR1 = {" );
+        for ( int i = 0; i < bcR1.length; i++ ) {
+            if ( ! first ) {
+                sb.append ( "," );
+            } else {
+                first = false;
+            }
+            sb.append ( bcR1[i] );
+            if ( sb.length() > 120 ) {
+                sb.append(',');
+                out.println(sb);
+                first = true;
+                sb.setLength(0);
+            }
+        }
+        if ( sb.length() > 0 ) {
+            out.println(sb);
+        }
+        out.println ( "};" );
+        out.println();
+
+        // bcS1
+        first = true;
+        sb.setLength(0);
+        out.println ( "private static int[] bcS1 = {" );
+        for ( int i = 0; i < bcS1.length; i++ ) {
+            if ( ! first ) {
+                sb.append ( "," );
+            } else {
+                first = false;
+            }
+            sb.append ( bcS1[i] );
+            if ( sb.length() > 120 ) {
+                sb.append(',');
+                out.println(sb);
+                first = true;
+                sb.setLength(0);
+            }
+        }
+        if ( sb.length() > 0 ) {
+            out.println(sb);
+        }
+        out.println ( "};" );
+        out.println();
+
+        // bcE1
+        first = true;
+        sb.setLength(0);
+        out.println ( "private static int[] bcE1 = {" );
+        for ( int i = 0; i < bcE1.length; i++ ) {
+            if ( ! first ) {
+                sb.append ( "," );
+            } else {
+                first = false;
+            }
+            sb.append ( bcE1[i] );
+            if ( sb.length() > 120 ) {
+                sb.append(',');
+                out.println(sb);
+                first = true;
+                sb.setLength(0);
+            }
+        }
+        if ( sb.length() > 0 ) {
+            out.println(sb);
+        }
+        out.println ( "};" );
+        out.println();
+
+        // bcC1
+        first = true;
+        sb.setLength(0);
+        out.println ( "private static byte[] bcC1 = {" );
+        for ( int i = 0; i < bcC1.length; i++ ) {
+            if ( ! first ) {
+                sb.append ( "," );
+            } else {
+                first = false;
+            }
+            sb.append ( bcC1[i] );
+            if ( sb.length() > 120 ) {
+                sb.append(',');
+                out.println(sb);
+                first = true;
+                sb.setLength(0);
+            }
+        }
+        if ( sb.length() > 0 ) {
+            out.println(sb);
+        }
+        out.println ( "};" );
+        out.println();
+    }
+
+    private static int getBidiClass ( int ch ) {
+        if ( ch <= 0x00FF ) {
+            return bcL1 [ ch - 0x0000 ];
+        } else if ( ( ch >= 0x0590 ) && ( ch <= 0x06FF ) ) {
+            return bcR1 [ ch - 0x0590 ];
+        } else {
+            return getBidiClass ( ch, bcS1, bcE1, bcC1 );
+        }
+    }
+
+    private static int getBidiClass ( int ch, int[] sa, int[] ea, byte[] ca ) {
+        int k = Arrays.binarySearch ( sa, ch );
+        if ( k >= 0 ) {
+            return ca [ k ];
+        } else {
+            k = - ( k + 1 );
+            if ( k == 0 ) {
+                return BidiConstants.L;
+            } else if ( ch <= ea [ k - 1 ] ) {
+                return ca [ k - 1 ];
+            } else {
+                return BidiConstants.L;
+            }
+        }
+    }
+
+    private static final int[] testData =                       // CSOK: ConstantName
+    {
+        0x000000, BidiConstants.BN,
+        0x000009, BidiConstants.S,
+        0x00000A, BidiConstants.B,
+        0x00000C, BidiConstants.WS,
+        0x000020, BidiConstants.WS,
+        0x000023, BidiConstants.ET,
+        0x000028, BidiConstants.ON,
+        0x00002B, BidiConstants.ES,
+        0x00002C, BidiConstants.CS,
+        0x000031, BidiConstants.EN,
+        0x00003A, BidiConstants.CS,
+        0x000041, BidiConstants.L,
+        0x000300, BidiConstants.NSM,
+        0x000374, BidiConstants.ON,
+        0x0005BE, BidiConstants.R,
+        0x000601, BidiConstants.AN,
+        0x000608, BidiConstants.AL,
+        0x000670, BidiConstants.NSM,
+        0x000710, BidiConstants.AL,
+        0x0007FA, BidiConstants.R,
+        0x000970, BidiConstants.L,
+        0x001392, BidiConstants.ON,
+        0x002000, BidiConstants.WS,
+        0x00200E, BidiConstants.L,
+        0x00200F, BidiConstants.R,
+        0x00202A, BidiConstants.LRE,
+        0x00202B, BidiConstants.RLE,
+        0x00202C, BidiConstants.PDF,
+        0x00202D, BidiConstants.LRO,
+        0x00202E, BidiConstants.RLO,
+        0x0020E1, BidiConstants.NSM,
+        0x002212, BidiConstants.ES,
+        0x002070, BidiConstants.EN,
+        0x003000, BidiConstants.WS,
+        0x003009, BidiConstants.ON,
+        0x00FBD4, BidiConstants.AL,
+        0x00FE69, BidiConstants.ET,
+        0x00FF0C, BidiConstants.CS,
+        0x00FEFF, BidiConstants.BN,
+        0x01034A, BidiConstants.L,
+        0x010E60, BidiConstants.AN,
+        0x01F100, BidiConstants.EN,
+        0x0E0001, BidiConstants.BN,
+        0x0E0100, BidiConstants.NSM,
+        0x10FFFF, BidiConstants.BN
+    };
+
+    private static void test() throws Exception {
+        for ( int i = 0, n = testData.length / 2; i < n; i++ ) {
+            int ch = testData [ i * 2 + 0 ];
+            int tc = testData [ i * 2 + 1 ];
+            int bc = getBidiClass ( ch );
+            if ( bc != tc ) {
+                throw new Exception ( "test mapping failed for character (0x" + Integer.toHexString(ch) + "): expected " + tc + ", got " + bc );
+            }
+        }
+    }
+
+    /**
+     * Main entry point for generator.
+     * @param args array of command line arguments
+     */
+    public static void main(String[] args) {
+        String bidiFileName = "http://www.unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt";
+        String outFileName = "BidiClassUtils.java";
+        boolean ok = true;
+        for (int i = 0; i < args.length; i = i + 2) {
+            if (i + 1 == args.length) {
+                ok = false;
+            } else {
+                String opt = args[i];
+                if ("-b".equals(opt)) {
+                    bidiFileName = args [i + 1];
+                } else if ("-o".equals(opt)) {
+                    outFileName = args [i + 1];
+                } else {
+                    ok = false;
+                }
+            }
+        }
+        if (!ok) {
+            System.out.println("Usage: GenerateBidiClassUtils [-b <bidiFile>] [-o <outputFile>]");
+            System.out.println("  defaults:");
+            System.out.println("    <bidiFile>:     " + bidiFileName);
+            System.out.println("    <outputFile>:        " + outFileName);
+        } else {
+            try {
+                convertBidiClassProperties(bidiFileName, outFileName);
+                System.out.println("Generated " + outFileName + " from");
+                System.out.println("  <bidiFile>:     " + bidiFileName);
+            } catch (Exception e) {
+                System.out.println("An unexpected error occured");
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private static class Interval implements Comparable {
+        int start;                                              // CSOK: VisibilityModifier
+        int end;                                                // CSOK: VisibilityModifier
+        int bidiClass;                                          // CSOK: VisibilityModifier
+        Interval ( int start, int end, int bidiClass ) {
+            this.start = start;
+            this.end = end;
+            this.bidiClass = bidiClass;
+        }
+        public int compareTo ( Object o ) {
+            Interval iv = (Interval) o;
+            if ( start < iv.start ) {
+                return -1;
+            } else if ( start > iv.start ) {
+                return 1;
+            } else if ( end < iv.end ) {
+                return -1;
+            } else if ( end > iv.end ) {
+                return 1;
+            } else {
+                return 0;
+            }
+        }
+    }
+}
diff --git a/src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiTestData.java b/src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiTestData.java
new file mode 100644
index 0000000..6a4157d
--- /dev/null
+++ b/src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiTestData.java
@@ -0,0 +1,1269 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.text.bidi;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.ObjectOutputStream;
+import java.io.PrintWriter;
+
+import java.net.URL;
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.apache.fop.util.BidiConstants;
+import org.apache.fop.util.License;
+
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: SimplifyBooleanReturnCheck
+// CSOFF: EmptyForIteratorPadCheck
+
+/**
+ * <p>Utility for generating a Java class and associated data files representing
+ * bidirectional confomance test data from the Unicode Character Database and
+ * Unicode BidiTest data files.</p>
+ *
+ * <p>This code is derived in part from GenerateBidiClassUtils.java.</p>
+ *
+ * @author Glenn Adams
+ */
+public final class GenerateBidiTestData {
+
+    // local constants
+    private static final String PFX_TYPE = "@Type:";
+    private static final String PFX_LEVELS = "@Levels:";
+    private static final String PFX_REORDER = "@Reorder:";
+
+    // command line options
+    private static boolean ignoreDeprecatedTypeData;
+    private static boolean verbose;
+
+    // instrumentation
+    private static int lineNumber;
+    private static int numTypeRanges;
+    private static int numLevelSpecs;
+    private static int numTestSpecs;
+
+    // compiled data
+    private static int[][] td;                  // types data
+    private static int[][] ld;                  // levels data
+
+    // ensure non-instantiation
+    private GenerateBidiTestData() {
+    }
+
+    /**
+     * Generate a class managing bidi test data for Unicode characters.
+     *
+     * @param ucdFileName name (as URL) of file containing unicode character database data
+     * @param bidiFileName name (as URL) of file containing bidi test data
+     * @param outFileName name of the output class file
+     * @throws Exception
+     */
+    private static void convertBidiTestData(String ucdFileName, String bidiFileName, String outFileName) throws Exception {
+
+        // read type data from UCD if ignoring deprecated type data
+        if ( ignoreDeprecatedTypeData ) {
+            readBidiTypeData(ucdFileName);
+        }
+
+        // read bidi test data
+        readBidiTestData(bidiFileName);
+
+        // generate class
+        PrintWriter out = new PrintWriter(new FileWriter(outFileName));
+        License.writeJavaLicenseId(out);
+        out.println();
+        out.println("package org.apache.fop.complexscripts.bidi;");
+        out.println();
+        out.println("import java.io.IOException;");
+        out.println("import java.io.InputStream;");
+        out.println("import java.io.ObjectInputStream;");
+        out.println();
+        out.println("// CSOFF: WhitespaceAfterCheck");
+        out.println();
+        out.println("/*");
+        out.println(" * !!! THIS IS A GENERATED FILE !!!");
+        out.println(" * If updates to the source are needed, then:");
+        out.println(" * - apply the necessary modifications to");
+        out.println(" *   'src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiTestData.java'");
+        out.println(" * - run 'ant codegen-unicode', which will generate a new BidiTestData.java");
+        out.println(" *   in 'test/java/org/apache/fop/complexscripts/bidi'");
+        out.println(" * - commit BOTH changed files");
+        out.println(" */");
+        out.println();
+        out.println("/** Bidirectional test data. */");
+        out.println("public final class BidiTestData {");
+        out.println();
+        out.println("    private BidiTestData() {");
+        out.println("    }");
+        out.println();
+        dumpData ( out, outFileName );
+        out.println("    public static final int NUM_TEST_SEQUENCES = " + numTestSpecs + ";");
+        out.println();
+        out.println("    public static int[] readTestData ( String prefix, int index ) {");
+        out.println("        int[] data = null;");
+        out.println("        InputStream is = null;");
+        out.println("        Class btc = BidiTestData.class;");
+        out.println("        String name = btc.getSimpleName() + \"$\" + prefix + index + \".ser\";");
+        out.println("        try {");
+        out.println("            if ( ( is = btc.getResourceAsStream ( name ) ) != null ) {");
+        out.println("                ObjectInputStream ois = new ObjectInputStream ( is );");
+        out.println("                data = (int[]) ois.readObject();");
+        out.println("                ois.close();");
+        out.println("            }");
+        out.println("        } catch ( IOException e ) {");
+        out.println("            data = null;");
+        out.println("        } catch ( ClassNotFoundException e ) {");
+        out.println("            data = null;");
+        out.println("        } finally {");
+        out.println("            if ( is != null ) {");
+        out.println("                try { is.close(); } catch ( Exception e ) {}");
+        out.println("            }");
+        out.println("        }");
+        out.println("        return data;");
+        out.println("    }");
+        out.println("}");
+        out.flush();
+        out.close();
+
+    }
+
+    /**
+     * Read bidi type data.
+     *
+     * @param ucdFileName name (as URL) of unicode character database data
+     */
+    private static void readBidiTypeData(String ucdFileName) throws Exception {
+        BufferedReader b = new BufferedReader(new InputStreamReader(new URL(ucdFileName).openStream()));
+        String line;
+        int n;
+        // singleton map - derived from single char entry
+        Map/*<Integer,List>*/ sm = new HashMap/*<Integer,List>*/();
+        // interval map - derived from pair of block endpoint entries
+        Map/*<String,int[3]>*/ im = new HashMap/*<String,int[3]>*/();
+        if ( verbose ) {
+            System.out.print("Reading bidi type data...");
+        }
+        for ( lineNumber = 0; ( line = b.readLine() ) != null; ) {
+            lineNumber++;
+            if ( line.length() == 0 ) {
+                continue;
+            } else if ( line.startsWith("#") ) {
+                continue;
+            } else {
+                parseTypeProperties ( line, sm, im );
+            }
+        }
+        // extract type data list
+        List tdl = processTypeData ( sm, im, new ArrayList() );
+        // dump instrumentation
+        if ( verbose ) {
+            System.out.println();
+            System.out.println("Read type ranges : " + numTypeRanges );
+            System.out.println("Read lines       : " + lineNumber );
+        }
+        td = (int[][]) tdl.toArray ( new int [ tdl.size() ] [] );
+    }
+
+    private static void parseTypeProperties ( String line, Map/*<Integer,List>*/ sm, Map/*<String,int[3]>*/ im ) {
+        String[] sa = line.split(";");
+        if ( sa.length >= 5 ) {
+            int uc = Integer.parseInt ( sa[0], 16 );
+            int bc = parseBidiClassAny ( sa[4] );
+            if ( bc >= 0 ) {
+                String ucName = sa[1];
+                if ( isBlockStart ( ucName ) ) {
+                    String ucBlock = getBlockName ( ucName );
+                    if ( ! im.containsKey ( ucBlock ) ) {
+                        im.put ( ucBlock, new int[] { uc, -1, bc } );
+                    } else {
+                        throw new IllegalArgumentException ( "duplicate start of block '" + ucBlock + "' at entry: " + line );
+                    }
+                } else if ( isBlockEnd ( ucName ) ) {
+                    String ucBlock = getBlockName ( ucName );
+                    if ( im.containsKey ( ucBlock ) ) {
+                        int[] ba = (int[]) im.get ( ucBlock );
+                        assert ba.length == 3;
+                        if ( ba[1] < 0 ) {
+                            ba[1] = uc;
+                        } else {
+                            throw new IllegalArgumentException ( "duplicate end of block '" + ucBlock + "' at entry: " + line );
+                        }
+                    } else {
+                        throw new IllegalArgumentException ( "missing start of block '" + ucBlock + "' at entry: " + line );
+                    }
+                } else {
+                    Integer k = Integer.valueOf ( bc );
+                    List sl;
+                    if ( ! sm.containsKey ( k ) ) {
+                        sl = new ArrayList();
+                        sm.put ( k, sl );
+                    } else {
+                        sl = (List) sm.get ( k );
+                    }
+                    assert sl != null;
+                    sl.add ( Integer.valueOf ( uc ) );
+                }
+            } else {
+                throw new IllegalArgumentException ( "invalid bidi class '" + sa[4] + "' at entry: " + line );
+            }
+        } else {
+            throw new IllegalArgumentException ( "invalid unicode character database entry: " + line );
+        }
+    }
+
+    private static boolean isBlockStart ( String s ) {
+        return s.startsWith("<") && s.endsWith("First>");
+    }
+
+    private static boolean isBlockEnd ( String s ) {
+        return s.startsWith("<") && s.endsWith("Last>");
+    }
+
+    private static String getBlockName ( String s ) {
+        String[] sa = s.substring ( 1, s.length() - 1 ).split(",");
+        assert ( sa != null ) && ( sa.length > 0 );
+        return sa[0].trim();
+    }
+
+    private static List processTypeData ( Map/*<Integer,List>*/ sm, Map/*<String,int[3]>*/ im, List tdl ) {
+        for ( int i = BidiConstants.FIRST, k = BidiConstants.LAST; i <= k; i++ ) {
+            Map/*<Integer,Integer>*/ rm = new TreeMap/*<Integer,Integer>*/();
+            // populate intervals from singleton map
+            List sl = (List) sm.get ( Integer.valueOf ( i ) );
+            if ( sl != null ) {
+                for ( Iterator it = sl.iterator(); it.hasNext(); ) {
+                    Integer s = (Integer) it.next();
+                    int uc = s.intValue();
+                    rm.put ( Integer.valueOf ( uc ), Integer.valueOf ( uc + 1 ) );
+                }
+            }
+            // populate intervals from (block) interval map
+            if ( ! im.isEmpty() ) {
+                for ( Iterator it = im.values().iterator(); it.hasNext(); ) {
+                    int[] ba = (int[]) it.next();
+                    assert ( ba != null ) && ( ba.length > 2 );
+                    if ( ba[2] == i ) {
+                        rm.put ( Integer.valueOf ( ba[0] ), Integer.valueOf ( ba[1] + 1 ) );
+                    }
+                }
+            }
+            tdl.add ( createTypeData ( i, extractRanges ( rm ) ) );
+        }
+        return tdl;
+    }
+
+    private static List extractRanges ( Map/*<Integer,Integer>*/ rm ) {
+        List ranges = new ArrayList();
+        int sLast = 0;
+        int eLast = 0;
+        for ( Iterator it = rm.entrySet().iterator(); it.hasNext(); ) {
+            Map.Entry/*<Integer,Integer>*/ me = (Map.Entry/*<Integer,Integer>*/) it.next();
+            int s = ((Integer) me.getKey()).intValue();
+            int e = ((Integer) me.getValue()).intValue();
+            if ( s > eLast ) {
+                if ( eLast > sLast ) {
+                    ranges.add ( new int[] { sLast, eLast } );
+                    if ( verbose ) {
+                        if ( ( ++numTypeRanges % 10 ) == 0 ) {
+                            System.out.print("#");
+                        }
+                    }
+                }
+                sLast = s;
+                eLast = e;
+            } else if ( ( s >= sLast ) && ( e >= eLast ) ) {
+                eLast = e;
+            }
+        }
+        if ( eLast > sLast ) {
+            ranges.add ( new int[] { sLast, eLast } );
+            if ( verbose ) {
+                if ( ( ++numTypeRanges % 10 ) == 0 ) {
+                    System.out.print("#");
+                }
+            }
+        }
+        return ranges;
+    }
+
+    /**
+     * Read biditest data.
+     *
+     * @param bidiFileName name (as URL) of bidi test data
+     */
+    private static void readBidiTestData(String bidiFileName) throws Exception {
+        BufferedReader b = new BufferedReader(new InputStreamReader(new URL(bidiFileName).openStream()));
+        String line;
+        int n;
+        List tdl = new ArrayList();
+        List ldl = new ArrayList();
+        if ( verbose ) {
+            System.out.print("Reading bidi test data...");
+        }
+        for ( lineNumber = 0; ( line = b.readLine() ) != null; ) {
+            lineNumber++;
+            if ( line.length() == 0 ) {
+                continue;
+            } else if ( line.startsWith("#") ) {
+                continue;
+            } else if ( line.startsWith(PFX_TYPE) && ! ignoreDeprecatedTypeData ) {
+                List lines = new ArrayList();
+                if ( ( n = readType ( line, b, lines ) ) < 0 ) {
+                    break;
+                } else {
+                    lineNumber += n;
+                    tdl.add ( parseType ( lines ) );
+                }
+            } else if ( line.startsWith(PFX_LEVELS) ) {
+                List lines = new ArrayList();
+                if ( ( n = readLevels ( line, b, lines ) ) < 0 ) {
+                    break;
+                } else {
+                    lineNumber += n;
+                    ldl.add ( parseLevels ( lines ) );
+                }
+            }
+        }
+        // dump instrumentation
+        if ( verbose ) {
+            System.out.println();
+            if ( ! ignoreDeprecatedTypeData ) {
+                System.out.println("Read type ranges : " + numTypeRanges );
+            }
+            System.out.println("Read level specs : " + numLevelSpecs );
+            System.out.println("Read test specs  : " + numTestSpecs );
+            System.out.println("Read lines       : " + lineNumber );
+        }
+        if ( ! ignoreDeprecatedTypeData ) {
+            td = (int[][]) tdl.toArray ( new int [ tdl.size() ] [] );
+        }
+        ld = (int[][]) ldl.toArray ( new int [ ldl.size() ] [] );
+    }
+
+    private static int readType ( String line, BufferedReader b, List lines ) throws IOException {
+        lines.add ( line );
+        return 0;
+    }
+
+    private static int readLevels ( String line, BufferedReader b, List lines ) throws IOException {
+        boolean done = false;
+        int n = 0;
+        lines.add ( line );
+        while ( ! done ) {
+            switch ( testPrefix ( b, PFX_LEVELS ) ) {
+            case 0:     // within current levels
+                if ( ( line = b.readLine() ) != null ) {
+                    n++;
+                    if ( ( line.length() > 0 ) && ! line.startsWith("#") ) {
+                        lines.add ( line );
+                    }
+                } else {
+                    done = true;
+                }
+                break;
+            case 1:     // end of current levels
+            case -1:    // eof
+            default:
+                done = true;
+                break;
+            }
+        }
+        return n;
+    }
+
+    private static int testPrefix ( BufferedReader b, String pfx ) throws IOException {
+        int rv = 0;
+        int pfxLen = pfx.length();
+        b.mark ( pfxLen );
+        for ( int i = 0, n = pfxLen; i < n; i++ ) {
+            int c = b.read();
+            if ( c < 0 ) {
+                rv = -1;
+                break;
+            } else if ( c != pfx.charAt ( i ) ) {
+                rv = 0;
+                break;
+            } else {
+                rv = 1;
+            }
+        }
+        b.reset();
+        return rv;
+    }
+
+    private static int[] parseType ( List lines ) {
+        if ( ( lines != null ) && ( lines.size() >= 1 ) ) {
+            String line = (String) lines.get(0);
+            if ( line.startsWith(PFX_TYPE) ) {
+                // @Type: BIDI_CLASS ':' LWSP CHARACTER_CLASS
+                String[] sa = line.split ( ":" );
+                if ( sa.length == 3 ) {
+                    String bcs = sa[1].trim();
+                    String crs = sa[2].trim();
+                    int bc = parseBidiClass ( bcs );
+                    List rl = parseCharacterRanges ( crs );
+                    return createTypeData ( bc, rl );
+                }
+            }
+        }
+        return null;
+    }
+
+    private static int[] createTypeData ( int bc, List ranges ) {
+        int[] data = new int [ 1 + ( 2 * ranges.size() ) ];
+        int k = 0;
+        data [ k++ ] = bc;
+        for ( Iterator it = ranges.iterator(); it.hasNext(); ) {
+            int[] r = (int[]) it.next();
+            data [ k++ ] = r [ 0 ];
+            data [ k++ ] = r [ 1 ];
+        }
+        return data;
+    }
+
+    private static int parseBidiClass ( String bidiClass ) {
+        int bc = 0;
+        if ( "L".equals ( bidiClass ) ) {
+            bc = BidiConstants.L;
+        } else if ( "LRE".equals ( bidiClass ) ) {
+            bc = BidiConstants.LRE;
+        } else if ( "LRO".equals ( bidiClass ) ) {
+            bc = BidiConstants.LRO;
+        } else if ( "R".equals ( bidiClass ) ) {
+            bc = BidiConstants.R;
+        } else if ( "AL".equals ( bidiClass ) ) {
+            bc = BidiConstants.AL;
+        } else if ( "RLE".equals ( bidiClass ) ) {
+            bc = BidiConstants.RLE;
+        } else if ( "RLO".equals ( bidiClass ) ) {
+            bc = BidiConstants.RLO;
+        } else if ( "PDF".equals ( bidiClass ) ) {
+            bc = BidiConstants.PDF;
+        } else if ( "EN".equals ( bidiClass ) ) {
+            bc = BidiConstants.EN;
+        } else if ( "ES".equals ( bidiClass ) ) {
+            bc = BidiConstants.ES;
+        } else if ( "ET".equals ( bidiClass ) ) {
+            bc = BidiConstants.ET;
+        } else if ( "AN".equals ( bidiClass ) ) {
+            bc = BidiConstants.AN;
+        } else if ( "CS".equals ( bidiClass ) ) {
+            bc = BidiConstants.CS;
+        } else if ( "NSM".equals ( bidiClass ) ) {
+            bc = BidiConstants.NSM;
+        } else if ( "BN".equals ( bidiClass ) ) {
+            bc = BidiConstants.BN;
+        } else if ( "B".equals ( bidiClass ) ) {
+            bc = BidiConstants.B;
+        } else if ( "S".equals ( bidiClass ) ) {
+            bc = BidiConstants.S;
+        } else if ( "WS".equals ( bidiClass ) ) {
+            bc = BidiConstants.WS;
+        } else if ( "ON".equals ( bidiClass ) ) {
+            bc = BidiConstants.ON;
+        } else {
+            throw new IllegalArgumentException ( "unknown bidi class: " + bidiClass );
+        }
+        return bc;
+    }
+
+    private static int parseBidiClassAny ( String bidiClass ) {
+        try {
+            return parseBidiClass ( bidiClass );
+        } catch ( IllegalArgumentException e ) {
+            return -1;
+        }
+    }
+
+    private static List parseCharacterRanges ( String charRanges ) {
+        List ranges = new ArrayList();
+        CharacterIterator ci = new StringCharacterIterator ( charRanges );
+        // read initial list delimiter
+        skipSpace ( ci );
+        if ( ! readStartOfList ( ci ) ) {
+            badRangeSpec ( "missing initial list delimiter", charRanges );
+        }
+        // read negation token if present
+        boolean negated = false;
+        skipSpace ( ci );
+        if ( maybeReadNext ( ci, '^' ) ) {
+            negated = true;
+        }
+        // read item
+        int[] r;
+        skipSpace ( ci );
+        if ( ( r = maybeReadItem ( ci ) ) != null ) {
+            ranges.add ( r );
+            if ( verbose ) {
+                if ( ( ++numTypeRanges % 10 ) == 0 ) {
+                    System.out.print("#");
+                }
+            }
+        } else {
+            badRangeSpec ( "must contain at least one item", charRanges );
+        }
+        // read more items if present
+        boolean more = true;
+        while ( more ) {
+            // read separator if present
+            String s;
+            skipSpace ( ci );
+            if ( ( s = maybeReadSeparator ( ci ) ) != null ) {
+                if ( ( s.length() != 0 ) && ! s.equals("||") ) {
+                    badRangeSpec ( "invalid item separator \"" + s + "\"", charRanges );
+                }
+            }
+            // read item
+            skipSpace ( ci );
+            if ( ( r = maybeReadItem ( ci ) ) != null ) {
+                ranges.add ( r );
+                if ( verbose ) {
+                    if ( ( ++numTypeRanges % 10 ) == 0 ) {
+                        System.out.print("#");
+                    }
+                }
+            } else {
+                more = false;
+            }
+        }
+        // read terminating list delimiter
+        skipSpace ( ci );
+        if ( ! readEndOfList ( ci ) ) {
+            badRangeSpec ( "missing terminating list delimiter", charRanges );
+        }
+        if ( ! atEnd ( ci ) ) {
+            badRangeSpec ( "extraneous content prior to end of line", ci );
+        }
+        if ( negated ) {
+            ranges = complementRanges ( ranges );
+        }
+        return removeSurrogates ( ranges );
+    }
+
+    private static boolean atEnd ( CharacterIterator ci ) {
+        return ci.getIndex() >= ci.getEndIndex();
+    }
+
+    private static boolean readStartOfList ( CharacterIterator ci ) {
+        return maybeReadNext ( ci, '[' );
+    }
+
+    private static void skipSpace ( CharacterIterator ci ) {
+        while ( ! atEnd ( ci ) ) {
+            char c = ci.current();
+            if ( ! Character.isWhitespace ( c ) ) {
+                break;
+            } else {
+                ci.next();
+            }
+        }
+    }
+
+    private static boolean maybeReadNext ( CharacterIterator ci, char next ) {
+        while ( ! atEnd ( ci ) ) {
+            char c = ci.current();
+            if ( c == next ) {
+                ci.next();
+                return true;
+            } else {
+                break;
+            }
+        }
+        return false;
+    }
+
+    private static int[] maybeReadItem ( CharacterIterator ci ) {
+        // read first code point
+        int p1 = -1;
+        skipSpace ( ci );
+        if ( ( p1 = maybeReadCodePoint ( ci ) ) < 0 ) {
+            return null;
+        }
+        // read second code point if present
+        int p2 = -1;
+        skipSpace ( ci );
+        if ( maybeReadNext ( ci, '-' ) ) {
+            skipSpace ( ci );
+            if ( ( p2 = maybeReadCodePoint ( ci ) ) < 0 ) {
+                badRangeSpec ( "incomplete item range, requires second item", ci );
+            }
+        }
+        if ( p2 < 0 ) {
+            return new int[] { p1, p1 + 1 };    // convert to half open interval [ P1, P1+1 )
+        } else if ( p1 <= p2 ) {
+            return new int[] { p1, p2 + 1 };    // convert to half open interval [ P1, P2+2 )
+        } else {
+            badRangeSpec ( "invalid item range, second item must be greater than or equal to first item", ci );
+            return null;
+        }
+    }
+
+    private static int maybeReadCodePoint ( CharacterIterator ci ) {
+        if ( maybeReadNext ( ci, '\\' ) ) {
+            if ( maybeReadNext ( ci, 'u' ) ) {
+                String s = maybeReadHexDigits ( ci, 4 );
+                if ( s != null ) {
+                    return Integer.parseInt ( s, 16 );
+                } else {
+                    badRangeSpec ( "incomplete escaped code point, requires 4 hex digits", ci );
+                }
+            } else if ( maybeReadNext ( ci, 'U' ) ) {
+                String s = maybeReadHexDigits ( ci, 8 );
+                if ( s != null ) {
+                    return Integer.parseInt ( s, 16 );
+                } else {
+                    badRangeSpec ( "incomplete escaped code point, requires 8 hex digits", ci );
+                }
+            } else {
+                char c = ci.current();
+                if ( c == CharacterIterator.DONE ) {
+                    badRangeSpec ( "incomplete escaped code point", ci );
+                } else {
+                    ci.next();
+                    return (int) c;
+                }
+            }
+        } else {
+            char c = ci.current();
+            if ( ( c == CharacterIterator.DONE ) || ( c == ']' ) ) {
+                return -1;
+            } else {
+                ci.next();
+                return (int) c;
+            }
+        }
+        return -1;
+    }
+
+    private static String maybeReadHexDigits ( CharacterIterator ci, int numDigits ) {
+        StringBuffer sb = new StringBuffer();
+        while ( ( numDigits < 0 ) || ( sb.length() < numDigits ) ) {
+            char c = ci.current();
+            if ( c != CharacterIterator.DONE ) {
+                if ( isHexDigit ( c ) ) {
+                    ci.next();
+                    sb.append ( c );
+                } else {
+                    break;
+                }
+            } else {
+                break;
+            }
+        }
+        if ( ( ( numDigits < 0 ) && ( sb.length() > 0 ) ) || ( sb.length() == numDigits ) ) {
+            return sb.toString();
+        } else {
+            return null;
+        }
+    }
+
+    private static boolean isHexDigit ( char c ) {
+        return ( ( c >= '0' ) && ( c <= '9' ) ) || ( ( c >= 'a' ) && ( c <= 'f' ) ) || ( ( c >= 'A' ) && ( c <= 'F' ) );
+    }
+
+    private static String maybeReadSeparator ( CharacterIterator ci ) {
+        if ( maybeReadNext ( ci, '|' ) ) {
+            if ( maybeReadNext ( ci, '|' ) ) {
+                return "||";
+            } else {
+                return "|";
+            }
+        } else {
+            return "";
+        }
+    }
+
+    private static boolean readEndOfList ( CharacterIterator ci ) {
+        return maybeReadNext ( ci, ']' );
+    }
+
+    private static List complementRanges ( List ranges ) {
+        Map/*<Integer,Integer>*/ rm = new TreeMap/*<Integer,Integer>*/();
+        for ( Iterator it = ranges.iterator(); it.hasNext(); ) {
+            int[] r = (int[]) it.next();
+            rm.put ( Integer.valueOf ( r[0] ), Integer.valueOf ( r[1] ) );
+        }
+        // add complement ranges save last
+        int s, e, cs = 0;
+        List compRanges = new ArrayList ( rm.size() + 1 );
+        for ( Iterator it = rm.entrySet().iterator(); it.hasNext(); ) {
+            Map.Entry/*<Integer,Integer>*/ me = (Map.Entry/*<Integer,Integer>*/) it.next();
+            s = ( (Integer) me.getKey() ).intValue();
+            e = ( (Integer) me.getValue() ).intValue();
+            if ( s > cs ) {
+                compRanges.add ( new int[] { cs, s } );
+            }
+            cs = e;
+        }
+        // add trailing complement range
+        if ( cs < 0x110000 ) {
+            compRanges.add ( new int[] { cs, 0x110000 } );
+        }
+        return compRanges;
+    }
+
+    private static final int[] SURROGATES = new int[] { 0xD800, 0xE000 };
+
+    private static List removeSurrogates ( List ranges ) {
+        List rsl = new ArrayList ( ranges.size() );
+        for ( Iterator it = ranges.iterator(); it.hasNext(); ) {
+            int[] r = (int[]) it.next();
+            if ( intersectsRange ( r, SURROGATES ) ) {
+                rsl.addAll ( removeRange ( r, SURROGATES ) );
+            } else {
+                rsl.add ( r );
+            }
+        }
+        return rsl;
+    }
+
+    /**
+     * Determine if range r2 intersects with range r1.
+     */
+    private static boolean intersectsRange ( int[] r1, int[] r2 ) {
+        if ( r1[1] <= r2[0] ) {                                 // r1 precedes r2 or abuts r2 on right
+            return false;
+        } else if ( r1[0] >= r2[1] ) {                          // r2 precedes r1 or abuts r1 on left
+            return false;
+        } else if ( ( r1[0] < r2[0] ) && ( r1[1] > r2[1] ) ) {  // r1 encloses r2
+            return true;
+        } else if ( r1[0] < r2[0] ) {                           // r1 precedes and overlaps r2
+            return true;
+        } else if ( r2[1] < r1[1] ) {                           // r2 precedes and overlaps r1
+            return true;
+        } else {                                                // r2 encloses r1
+            return true;
+        }
+    }
+
+    /**
+     * Remove range r2 from range r1, leaving zero, one, or two
+     * remaining ranges.
+     */
+    private static List removeRange ( int[] r1, int[] r2 ) {
+        List rl = new ArrayList();
+        if ( r1[1] <= r2[0] ) {                                 // r1 precedes r2 or abuts r2 on right
+            rl.add ( r1 );
+        } else if ( r1[0] >= r2[1] ) {                          // r2 precedes r1 or abuts r1 on left
+            rl.add ( r1 );
+        } else if ( ( r1[0] < r2[0] ) && ( r1[1] > r2[1] ) ) {  // r1 encloses r2
+            rl.add ( new int[] { r1[0], r2[0] } );
+            rl.add ( new int[] { r2[1], r1[1] } );
+        } else if ( r1[0] < r2[0] ) {                           // r1 precedes and overlaps r2
+            rl.add ( new int[] { r1[0], r2[0] } );
+        } else if ( r2[1] < r1[1] ) {                           // r2 precedes and overlaps r1
+            rl.add ( new int[] { r2[1], r1[1] } );
+        }
+        return rl;
+    }
+
+    private static void badRangeSpec ( String reason, String charRanges ) throws IllegalArgumentException {
+        if ( verbose ) {
+            System.out.println();
+        }
+        throw new IllegalArgumentException ( "bad range specification: " + reason + ": \"" + charRanges + "\"" );
+    }
+
+    private static void badRangeSpec ( String reason, CharacterIterator ci ) throws IllegalArgumentException {
+        if ( verbose ) {
+            System.out.println();
+        }
+        throw new IllegalArgumentException ( "bad range specification: " + reason + ": starting at \"" + remainder ( ci ) + "\"" );
+    }
+
+    private static String remainder ( CharacterIterator ci ) {
+        StringBuffer sb = new StringBuffer();
+        for ( char c; ( c = ci.current() ) != CharacterIterator.DONE; ) {
+            ci.next();
+            sb.append ( c );
+        }
+        return sb.toString();
+    }
+
+    /**
+     * Parse levels segment, consisting of multiple lines as follows:
+     *
+     * LEVEL_SPEC \n
+     * REORDER_SPEC \n
+     * ( TEST_SPEC \n )+
+     */
+    private static int[] parseLevels ( List lines ) {
+        int[] la = null;        // levels array
+        int[] ra = null;        // reorder array
+        List tal = new ArrayList();
+        if ( ( lines != null ) && ( lines.size() >= 3 ) ) {
+            for ( Iterator it = lines.iterator(); it.hasNext(); ) {
+                String line = (String) it.next();
+                if ( line.startsWith(PFX_LEVELS) ) {
+                    if ( la == null ) {
+                        la = parseLevelSpec ( line );
+                        if ( verbose ) {
+                            if ( ( ++numLevelSpecs % 10 ) == 0 ) {
+                                System.out.print("&");
+                            }
+                        }
+                    } else {
+                        throw new IllegalArgumentException ( "redundant levels array: \"" + line + "\"" );
+                    }
+                } else if ( line.startsWith(PFX_REORDER) ) {
+                    if ( la == null ) {
+                        throw new IllegalArgumentException ( "missing levels array before: \"" + line + "\"" );
+                    } else if ( ra == null ) {
+                        ra = parseReorderSpec ( line, la );
+                    } else {
+                        throw new IllegalArgumentException ( "redundant reorder array: \"" + line + "\"" );
+                    }
+                } else if ( ( la != null ) && ( ra != null ) ) {
+                    int[] ta = parseTestSpec ( line, la );
+                    if ( ta != null ) {
+                        if ( verbose ) {
+                            if ( ( ++numTestSpecs % 100 ) == 0 ) {
+                                System.out.print("!");
+                            }
+                        }
+                        tal.add ( ta );
+                    }
+                } else if ( la == null ) {
+                    throw new IllegalArgumentException ( "missing levels array before: \"" + line + "\"" );
+                } else if ( ra == null ) {
+                    throw new IllegalArgumentException ( "missing reorder array before: \"" + line + "\"" );
+                }
+            }
+        }
+        if ( ( la != null ) && ( ra != null ) ) {
+            return createLevelData ( la, ra, tal );
+        } else {
+            return null;
+        }
+    }
+
+    private static int[] createLevelData ( int[] la, int[] ra, List tal ) {
+        int nl = la.length;
+        int[] data = new int [ 1 + nl * 2 + ( ( nl + 1 ) * tal.size() ) ];
+        int k = 0;
+        data [ k++ ] = nl;
+        for ( int i = 0, n = nl; i < n; i++ ) {
+            data [ k++ ] = la [ i ];
+        }
+        int nr = ra.length;
+        for ( int i = 0, n = nr; i < n; i++ ) {
+            data [ k++ ] = ra [ i ];
+        }
+        for ( Iterator it = tal.iterator(); it.hasNext(); ) {
+            int[] ta = (int[]) it.next();
+            if ( ta == null ) {
+                throw new IllegalStateException ( "null test array" );
+            } else if ( ta.length == ( nl + 1 ) ) {
+                for ( int i = 0, n = ta.length; i < n; i++ ) {
+                    data [ k++ ] = ta [ i ];
+                }
+            } else {
+                throw new IllegalStateException ( "test array length error, expected " + ( nl + 1 ) + " entries, got " + ta.length + " entries" );
+            }
+        }
+        assert k == data.length;
+        return data;
+    }
+
+    /**
+     * Parse level specification, which follows the following syntax:
+     *
+     * @Levels: ( LWSP ( NUMBER | 'x' ) )+
+     */
+    private static int[] parseLevelSpec ( String line ) {
+        CharacterIterator ci = new StringCharacterIterator ( line );
+        List ll = new ArrayList();
+        // read prefix
+        skipSpace ( ci );
+        if ( ! maybeReadToken ( ci, PFX_LEVELS ) ) {
+            badLevelSpec ( "missing prefix \"" + PFX_LEVELS + "\"", ci );
+        }
+        // read level values
+        boolean more = true;
+        while ( more ) {
+            Integer l;
+            skipSpace ( ci );
+            if ( ( l = maybeReadInteger ( ci ) ) != null ) {
+                ll.add ( l );
+            } else if ( maybeReadToken ( ci, "x" ) ) {
+                ll.add ( Integer.valueOf ( -1 ) );
+            } else {
+                more = false;
+            }
+        }
+        // read to end of line
+        skipSpace ( ci );
+        if ( ! atEnd ( ci ) ) {
+            badLevelSpec ( "extraneous content prior to end of line", ci );
+        }
+        if ( ll.size() == 0 ) {
+            badLevelSpec ( "must have at least one level value", ci );
+        }
+        return createLevelsArray ( ll );
+    }
+
+    private static Integer maybeReadInteger ( CharacterIterator ci ) {
+        // read optional minus sign if present
+        boolean negative;
+        if ( maybeReadNext ( ci, '-' ) ) {
+            negative = true;
+        } else {
+            negative = false;
+        }
+        // read digits
+        StringBuffer sb = new StringBuffer();
+        while ( true ) {
+            char c = ci.current();
+            if ( ( c != CharacterIterator.DONE ) && isDigit ( c ) ) {
+                ci.next();
+                sb.append ( c );
+            } else {
+                break;
+            }
+        }
+        if ( sb.length() == 0 ) {
+            return null;
+        } else {
+            int value = Integer.parseInt ( sb.toString() );
+            if ( negative ) {
+                value = -value;
+            }
+            return Integer.valueOf ( value );
+        }
+    }
+
+    private static boolean isDigit ( char c ) {
+        return ( ( c >= '0' ) && ( c <= '9' ) );
+    }
+
+    private static boolean maybeReadToken ( CharacterIterator ci, String s ) {
+        int startIndex = ci.getIndex();
+        for ( int i = 0, n = s.length(); i < n; i++ ) {
+            char c = s.charAt ( i );
+            if ( ci.current() == c ) {
+                ci.next();
+            } else {
+                ci.setIndex ( startIndex );
+                return false;
+            }
+        }
+        return true;
+    }
+
+    private static void badLevelSpec ( String reason, CharacterIterator ci ) throws IllegalArgumentException {
+        if ( verbose ) {
+            System.out.println();
+        }
+        throw new IllegalArgumentException ( "bad level specification: " + reason + ": starting at \"" + remainder ( ci ) + "\"" );
+    }
+
+    private static int[] createLevelsArray ( List levels ) {
+        int[] la = new int [ levels.size() ];
+        int k = 0;
+        for ( Iterator it = levels.iterator(); it.hasNext(); ) {
+            la [ k++ ] = ( (Integer) it.next() ).intValue(); 
+        }
+        return la;
+    }
+
+    /**
+     * Parse reorder specification, which follows the following syntax:
+     *
+     * @Reorder: ( LWSP NUMBER )*
+     */
+    private static int[] parseReorderSpec ( String line, int[] levels ) {
+        CharacterIterator ci = new StringCharacterIterator ( line );
+        List rl = new ArrayList();
+        // read prefix
+        skipSpace ( ci );
+        if ( ! maybeReadToken ( ci, PFX_REORDER ) ) {
+            badReorderSpec ( "missing prefix \"" + PFX_REORDER + "\"", ci );
+        }
+        // read reorder values
+        boolean more = true;
+        while ( more ) {
+            skipSpace ( ci );
+            Integer l;
+            if ( ( l = maybeReadInteger ( ci ) ) != null ) {
+                rl.add ( l );
+            } else {
+                more = false;
+            }
+        }
+        // read to end of line
+        skipSpace ( ci );
+        if ( ! atEnd ( ci ) ) {
+            badReorderSpec ( "extraneous content prior to end of line", ci );
+        }
+        return createReorderArray ( rl, levels );
+    }
+
+    private static void badReorderSpec ( String reason, CharacterIterator ci ) throws IllegalArgumentException {
+        if ( verbose ) {
+            System.out.println();
+        }
+        throw new IllegalArgumentException ( "bad reorder specification: " + reason + ": starting at \"" + remainder ( ci ) + "\"" );
+    }
+
+    private static int[] createReorderArray ( List reorders, int[] levels ) {
+        int nr = reorders.size();
+        int nl = levels.length;
+        if ( nr <= nl ) {
+            int[] ra = new int [ nl ];
+            Iterator it = reorders.iterator();
+            for ( int i = 0, n = nl; i < n; i++ ) {
+                int r = -1;
+                if ( levels [ i ] >= 0 ) {
+                    if ( it.hasNext() ) {
+                        r = ( (Integer) it.next() ).intValue();
+                    }
+                } 
+                ra [ i ] = r;
+            }
+            return ra;
+        } else {
+            throw new IllegalArgumentException ( "excessive number of reorder array entries, expected no more than " + nl + ", but got " + nr + " entries" );
+        }
+    }
+
+    /**
+     * Parse test specification, which follows the following syntax:
+     *
+     * BIDI_CLASS ( LWSP BIDI_CLASS )+ ';' LWSP NUMBER
+     */
+    private static int[] parseTestSpec ( String line, int[] levels ) {
+        CharacterIterator ci = new StringCharacterIterator ( line );
+        List cl = new ArrayList();
+        // read bidi class identifier sequence
+        while ( ! atEnd ( ci ) && ! maybeReadNext ( ci, ';' ) ) {
+            skipSpace ( ci );
+            int bc;
+            if ( ( bc = maybeReadBidiClass ( ci ) ) >= 0 ) {
+                cl.add ( Integer.valueOf ( bc ) );
+            } else {
+                break;
+            }
+        }
+        // read bit set
+        skipSpace ( ci );
+        String s;
+        int bs = 0;
+        if ( ( s = maybeReadHexDigits ( ci, -1 ) ) != null ) {
+            bs = Integer.parseInt ( s, 16 );
+        } else {
+            badTestSpec ( "missing bit set", ci );
+        }
+        // read to end of line
+        skipSpace ( ci );
+        if ( ! atEnd ( ci ) ) {
+            badTestSpec ( "extraneous content prior to end of line", ci );
+        }
+        return createTestArray ( cl, bs, levels );
+    }
+
+    private static String maybeReadIdentifier ( CharacterIterator ci ) {
+        // read keyword chars ([A-Z])
+        StringBuffer sb = new StringBuffer();
+        while ( true ) {
+            char c = ci.current();
+            if ( c == CharacterIterator.DONE ) {
+                break;
+            } else if ( sb.length() == 0 ) {
+                if ( Character.isUnicodeIdentifierStart ( c ) ) {
+                    ci.next();
+                    sb.append ( c );
+                } else {
+                    break;
+                }
+            } else {
+                if ( Character.isUnicodeIdentifierPart ( c ) ) {
+                    ci.next();
+                    sb.append ( c );
+                } else {
+                    break;
+                }
+            }
+        }
+        if ( sb.length() == 0 ) {
+            return null;
+        } else {
+            return sb.toString();
+        }
+    }
+
+    private static int maybeReadBidiClass ( CharacterIterator ci ) {
+        int bc = -1;
+        int i = ci.getIndex();
+        String s;
+        if ( ( s = maybeReadIdentifier ( ci ) ) != null ) {
+            try {
+                bc = parseBidiClass ( s );
+            } catch ( IllegalArgumentException e ) {
+                throw e;
+            }
+        }
+        if ( bc < 0 ) {
+            ci.setIndex ( i );
+        }
+        return bc;
+    }
+
+    private static void badTestSpec ( String reason, CharacterIterator ci ) throws IllegalArgumentException {
+        if ( verbose ) {
+            System.out.println();
+        }
+        throw new IllegalArgumentException ( "bad test specification: " + reason + ": starting at \"" + remainder ( ci ) + "\"" );
+    }
+
+    private static int[] createTestArray ( List classes, int bitset, int[] levels ) {
+        int nc = classes.size();
+        if ( nc <= levels.length ) {
+            int[] ta = new int [ 1 + nc ];
+            int k = 0;
+            ta [ k++ ] = bitset;
+            for ( Iterator it = classes.iterator(); it.hasNext(); ) {
+                ta [ k++ ] = ( (Integer) it.next() ).intValue(); 
+            }
+            return ta;
+        } else {
+            throw new IllegalArgumentException ( "excessive number of test array entries, expected no more than " + levels.length + ", but got " + nc + " entries" );
+        }
+    }
+
+    /**
+     * Dump data arrays to output and resource files.
+     * @param out - bidi test data java class file print writer
+     * @param outFileName - (full path) name of bidi test data java class file
+     */
+    private static void dumpData ( PrintWriter out, String outFileName ) throws IOException {
+        File f = new File ( outFileName );
+        File p = f.getParentFile();
+        if ( td != null ) {
+            String pfxTD = "TD";
+            dumpResourcesDescriptor ( out, pfxTD, td.length );
+            dumpResourcesData ( p, f.getName(), pfxTD, td );
+        }
+        if ( ld != null ) {
+            String pfxTD = "LD";
+            dumpResourcesDescriptor ( out, pfxTD, ld.length );
+            dumpResourcesData ( p, f.getName(), pfxTD, ld );
+        }
+    }
+
+    private static void dumpResourcesDescriptor ( PrintWriter out, String prefix, int numResources ) {
+        out.println ( "    public static final String " + prefix + "_PFX = \"" + prefix + "\";" );
+        out.println ( "    public static final int " + prefix + "_CNT = " + numResources + ";" );
+        out.println("");
+    }
+
+    private static void dumpResourcesData ( File btcDir, String btcName, String prefix, int[][] data ) throws IOException {
+        String btdName = extractDataFileName ( btcName );
+        for ( int i = 0, n = data.length; i < n; i++ ) {
+            File f = new File ( btcDir, btdName + "$" + prefix + i + ".ser" );
+            ObjectOutputStream os = new ObjectOutputStream ( new FileOutputStream ( f ) );
+            os.writeObject ( data[i] );
+            os.close();
+        }
+    }
+
+    private static final String JAVA_EXT = ".java";
+
+    private static String extractDataFileName ( String btcName ) {
+        if ( btcName.endsWith ( JAVA_EXT ) ) {
+            return btcName.substring ( 0, btcName.length() - JAVA_EXT.length() );
+        } else {
+            return btcName;
+        }
+    }
+
+    /**
+     * Main entry point for generator.
+     * @param args array of command line arguments
+     */
+    public static void main(String[] args) {
+        String bidiFileName = "http://www.unicode.org/Public/UNIDATA/BidiTest.txt";
+        String ucdFileName = "http://www.unicode.org/Public/UNIDATA/BidiTest.txt";
+        String outFileName = "BidiTestData.java";
+        boolean ok = true;
+        for (int i = 0; ok && ( i < args.length ); i++) {
+            String opt = args[i];
+            if ("-b".equals(opt)) {
+                if ( ( i + 1 ) <= args.length ) {
+                    bidiFileName = args[++i];
+                } else {
+                    ok = false;
+                }
+            } else if ("-d".equals(opt)) {
+                if ( ( i + 1 ) <= args.length ) {
+                    ucdFileName = args[++i];
+                } else {
+                    ok = false;
+                }
+            } else if ("-i".equals(opt)) {
+                ignoreDeprecatedTypeData = true;
+            } else if ("-o".equals(opt)) {
+                if ( ( i + 1 ) <= args.length ) {
+                    outFileName = args[++i];
+                } else {
+                    ok = false;
+                }
+            } else if ("-v".equals(opt)) {
+                verbose = true;
+            } else {
+                ok = false;
+            }
+        }
+        if ( ! ok ) {
+            System.out.println("Usage: GenerateBidiTestData [-v] [-i] [-d <ucdFile>] [-b <bidiFile>] [-o <outputFile>]");
+            System.out.println("  defaults:");
+            if ( ignoreDeprecatedTypeData ) {
+                System.out.println("    <ucdFile>    : " + ucdFileName);
+            }
+            System.out.println("    <bidiFile>   : " + bidiFileName);
+            System.out.println("    <outputFile> : " + outFileName);
+        } else {
+            try {
+                convertBidiTestData(ucdFileName, bidiFileName, outFileName);
+                System.out.println("Generated " + outFileName + " from");
+                if ( ignoreDeprecatedTypeData ) {
+                    System.out.println("    <ucdFile>  :     " + ucdFileName);
+                }
+                System.out.println("    <bidiFile> :     " + bidiFileName);
+            } catch (Exception e) {
+                System.out.println("An unexpected error occured at line: " + lineNumber );
+                e.printStackTrace();
+            }
+        }
+    }
+}
diff --git a/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd b/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd
index ac7357f..695d724 100644
--- a/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd
+++ b/src/documentation/intermediate-format-ng/fop-intermediate-format-ng-content.xsd
@@ -100,10 +100,10 @@
       <xs:element name="border-rect">
         <xs:complexType>
           <xs:attributeGroup ref="mf:rectAtts"/>
-          <xs:attribute name="start" type="mf:borderDef"/>
-          <xs:attribute name="end" type="mf:borderDef"/>
-          <xs:attribute name="before" type="mf:borderDef"/>
-          <xs:attribute name="after" type="mf:borderDef"/>
+          <xs:attribute name="left" type="mf:borderDef"/>
+          <xs:attribute name="right" type="mf:borderDef"/>
+          <xs:attribute name="top" type="mf:borderDef"/>
+          <xs:attribute name="bottom" type="mf:borderDef"/>
         </xs:complexType>
       </xs:element>
       <xs:element name="image">
diff --git a/src/java/org/apache/fop/area/Area.java b/src/java/org/apache/fop/area/Area.java
index 1f14ed7..640336c 100644
--- a/src/java/org/apache/fop/area/Area.java
+++ b/src/java/org/apache/fop/area/Area.java
@@ -41,27 +41,6 @@
 
     private static final long serialVersionUID = 6342888466142626492L;
 
-    // stacking directions
-    /**
-     * Stacking left to right
-     */
-    public static final int LR = 0;
-
-    /**
-     * Stacking right to left
-     */
-    public static final int RL = 1;
-
-    /**
-     * Stacking top to bottom
-     */
-    public static final int TB = 2;
-
-    /**
-     * Stacking bottom to top
-     */
-    public static final int BT = 3;
-
     // orientations for reference areas
     /**
      * Normal orientation
@@ -130,16 +109,20 @@
     protected int bpd;
 
     /**
+     * Resolved bidirectional level for area.
+     */
+    protected int bidiLevel = -1;
+
+    /**
      * Traits for this area stored in a HashMap
      */
-    protected Map<Integer, Object> props = null;
+    protected transient Map<Integer, Object> traits = null;
 
     /**
      * logging instance
      */
     protected static final Log log = LogFactory.getLog(Area.class);
 
-
     /**
      * Get the area class of this area.
      *
@@ -226,6 +209,32 @@
     }
 
     /**
+     * Set the bidirectional embedding level.
+     *
+     * @param bidiLevel the bidirectional embedding level
+     */
+    public void setBidiLevel ( int bidiLevel ) {
+        this.bidiLevel = bidiLevel;
+    }
+
+    /**
+     * Reset the bidirectional embedding level to default
+     * value (-1).
+     */
+    public void resetBidiLevel() {
+        setBidiLevel(-1);
+    }
+
+    /**
+     * Get the bidirectional embedding level.
+     *
+     * @return the bidirectional embedding level
+     */
+    public int getBidiLevel() {
+        return bidiLevel;
+    }
+
+    /**
      * Return the sum of region border- and padding-before
      *
      * @return width in millipoints
@@ -379,10 +388,23 @@
      * @param prop the value of the trait
      */
     public void addTrait(Integer traitCode, Object prop) {
-        if (props == null) {
-            props = new java.util.HashMap<Integer, Object>(20);
+        if (traits == null) {
+            traits = new java.util.HashMap<Integer, Object>(20);
         }
-        props.put(traitCode, prop);
+        traits.put(traitCode, prop);
+    }
+
+    /**
+     * Set traits on this area, copying from an existing traits map.
+     *
+     * @param traits the map of traits
+     */
+    public void setTraits ( Map traits ) {
+        if ( traits != null ) {
+            this.traits = new java.util.HashMap ( traits );
+        } else {
+            this.traits = null;
+        }
     }
 
     /**
@@ -391,12 +413,12 @@
      * @return the map of traits
      */
     public Map<Integer, Object> getTraits() {
-        return this.props;
+        return this.traits;
     }
 
     /** @return true if the area has traits */
     public boolean hasTraits() {
-        return (this.props != null);
+        return (this.traits != null);
     }
 
     /**
@@ -406,7 +428,7 @@
      * @return the trait value
      */
     public Object getTrait(Integer traitCode) {
-        return (props != null ? props.get(traitCode) : null);
+        return (traits != null ? traits.get(traitCode) : null);
     }
 
     /**
@@ -457,4 +479,3 @@
         return sb.toString();
     }
 }
-
diff --git a/src/java/org/apache/fop/area/AreaTreeParser.java b/src/java/org/apache/fop/area/AreaTreeParser.java
index d2f52f9..3842660 100644
--- a/src/java/org/apache/fop/area/AreaTreeParser.java
+++ b/src/java/org/apache/fop/area/AreaTreeParser.java
@@ -746,7 +746,7 @@
             public void startElement(Attributes attributes) {
                 InlineArea inl = new InlineArea();
                 transferForeignObjects(attributes, inl);
-                inl.setOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                inl.setBlockProgressionOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
                 setAreaAttributes(attributes, inl);
                 setTraits(attributes, inl, SUBSET_COMMON);
                 setTraits(attributes, inl, SUBSET_BOX);
@@ -766,7 +766,7 @@
             public void startElement(Attributes attributes) {
                 InlineParent ip = new InlineParent();
                 transferForeignObjects(attributes, ip);
-                ip.setOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                ip.setBlockProgressionOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
                 setAreaAttributes(attributes, ip);
                 setTraits(attributes, ip, SUBSET_COMMON);
                 setTraits(attributes, ip, SUBSET_BOX);
@@ -788,7 +788,7 @@
             public void startElement(Attributes attributes) {
                 InlineBlockParent ibp = new InlineBlockParent();
                 transferForeignObjects(attributes, ibp);
-                ibp.setOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                ibp.setBlockProgressionOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
                 setAreaAttributes(attributes, ibp);
                 setTraits(attributes, ibp, SUBSET_COMMON);
                 setTraits(attributes, ibp, SUBSET_BOX);
@@ -816,7 +816,7 @@
                 setTraits(attributes, text, SUBSET_COLOR);
                 setTraits(attributes, text, SUBSET_FONT);
                 text.setBaselineOffset(XMLUtil.getAttributeAsInt(attributes, "baseline", 0));
-                text.setOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                text.setBlockProgressionOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
                 text.setTextLetterSpaceAdjust(XMLUtil.getAttributeAsInt(attributes,
                         "tlsadjust", 0));
                 text.setTextWordSpaceAdjust(XMLUtil.getAttributeAsInt(attributes,
@@ -839,8 +839,14 @@
                 int[] letterAdjust
                         = ConversionUtils.toIntArray(
                             lastAttributes.getValue("letter-adjust"), "\\s");
+                int level = XMLUtil.getAttributeAsInt(lastAttributes, "level", -1);
+                boolean reversed = XMLUtil.getAttributeAsBoolean(lastAttributes, "reversed", false);
+                int[][] gposAdjustments
+                    = XMLUtil.getAttributeAsPositionAdjustments(lastAttributes, "position-adjust");
                 content.flip();
-                WordArea word = new WordArea(content.toString().trim(), offset, letterAdjust);
+                WordArea word = new WordArea
+                    ( offset, level, content.toString().trim(), letterAdjust,
+                      null, gposAdjustments, reversed );
                 AbstractTextArea text = getCurrentText();
                 word.setParentArea(text);
                 text.addChildArea(word);
@@ -859,7 +865,8 @@
                 if (content.position() > 0) {
                     content.flip();
                     boolean adjustable = XMLUtil.getAttributeAsBoolean(lastAttributes, "adj", true);
-                    SpaceArea space = new SpaceArea(content.charAt(0), offset, adjustable);
+                    int level = XMLUtil.getAttributeAsInt(lastAttributes, "level", -1);
+                    SpaceArea space = new SpaceArea(offset, level, content.charAt(0), adjustable);
                     AbstractTextArea text = getCurrentText();
                     space.setParentArea(text);
                     text.addChildArea(space);
@@ -869,7 +876,7 @@
                     setTraits(lastAttributes, space, SUBSET_COMMON);
                     setTraits(lastAttributes, space, SUBSET_BOX);
                     setTraits(lastAttributes, space, SUBSET_COLOR);
-                    space.setOffset(offset);
+                    space.setBlockProgressionOffset(offset);
                     Area parent = (Area)areaStack.peek();
                     parent.addChildArea(space);
                 }
@@ -890,7 +897,8 @@
                 setTraits(attributes, leader, SUBSET_BOX);
                 setTraits(attributes, leader, SUBSET_COLOR);
                 setTraits(attributes, leader, SUBSET_FONT);
-                leader.setOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                leader.setBlockProgressionOffset
+                    ( XMLUtil.getAttributeAsInt(attributes, "offset", 0) );
                 String ruleStyle = attributes.getValue("ruleStyle");
                 if (ruleStyle != null) {
                     leader.setRuleStyle(ruleStyle);
@@ -905,7 +913,8 @@
         private class InlineViewportMaker extends AbstractMaker {
 
             public void startElement(Attributes attributes) {
-                InlineViewport viewport = new InlineViewport(null);
+                int level = XMLUtil.getAttributeAsInt(attributes, "level", -1);
+                InlineViewport viewport = new InlineViewport(null, level);
                 transferForeignObjects(attributes, viewport);
                 setAreaAttributes(attributes, viewport);
                 setTraits(attributes, viewport, SUBSET_COMMON);
@@ -913,7 +922,8 @@
                 setTraits(attributes, viewport, SUBSET_COLOR);
                 viewport.setContentPosition(XMLUtil.getAttributeAsRectangle2D(attributes, "pos"));
                 viewport.setClip(XMLUtil.getAttributeAsBoolean(attributes, "clip", false));
-                viewport.setOffset(XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                viewport.setBlockProgressionOffset
+                    ( XMLUtil.getAttributeAsInt(attributes, "offset", 0) );
                 setPtr(viewport, attributes);
                 Area parent = (Area)areaStack.peek();
                 parent.addChildArea(viewport);
@@ -1075,6 +1085,7 @@
         private void setAreaAttributes(Attributes attributes, Area area) {
             area.setIPD(Integer.parseInt(attributes.getValue("ipd")));
             area.setBPD(Integer.parseInt(attributes.getValue("bpd")));
+            area.setBidiLevel(XMLUtil.getAttributeAsInt(attributes, "level", -1));
         }
 
         private static final Object[] SUBSET_COMMON = new Object[] {
diff --git a/src/java/org/apache/fop/area/Block.java b/src/java/org/apache/fop/area/Block.java
index 423dcfa..c6e31f7 100644
--- a/src/java/org/apache/fop/area/Block.java
+++ b/src/java/org/apache/fop/area/Block.java
@@ -58,7 +58,6 @@
      */
     public static final int FIXED = 3;
 
-    private int stacking = TB;
     private int positioning = STACK;
 
     /** if true, allow BPD update */
@@ -133,5 +132,13 @@
         return (startIndent != null ? startIndent : 0);
     }
 
+    /**
+     * @return the end-indent trait
+     */
+    public int getEndIndent() {
+        Integer endIndent = (Integer)getTrait(Trait.END_INDENT);
+        return (endIndent != null ? endIndent : 0);
+    }
+
 }
 
diff --git a/src/java/org/apache/fop/area/CTM.java b/src/java/org/apache/fop/area/CTM.java
index 07c3bbc..73943ed 100644
--- a/src/java/org/apache/fop/area/CTM.java
+++ b/src/java/org/apache/fop/area/CTM.java
@@ -25,10 +25,12 @@
 import java.io.Serializable;
 
 import org.apache.fop.datatypes.FODimension;
+import org.apache.fop.traits.WritingMode;
 
 import static org.apache.fop.fo.Constants.EN_LR_TB;
 import static org.apache.fop.fo.Constants.EN_RL_TB;
 import static org.apache.fop.fo.Constants.EN_TB_RL;
+import static org.apache.fop.fo.Constants.EN_TB_LR;
 
 /**
  * Describe a PDF or PostScript style coordinate transformation matrix (CTM).
@@ -42,7 +44,7 @@
     private double a, b, c, d, e, f;
 
     private static final CTM CTM_LRTB = new CTM(1, 0, 0, 1, 0, 0);
-    private static final CTM CTM_RLTB = new CTM(-1, 0, 0, 1, 0, 0);
+    private static final CTM CTM_RLTB = new CTM(1, 0, 0, 1, 0, 0);
     private static final CTM CTM_TBRL = new CTM(0, 1, -1, 0, 0, 0);
 
     /**
@@ -126,28 +128,25 @@
      * Return a CTM which will transform coordinates for a particular writing-mode
      * into normalized first quandrant coordinates.
      * @param wm A writing mode constant from fo.properties.WritingMode, ie.
-     * one of LR_TB, RL_TB, TB_RL.
+     * one of LR_TB, RL_TB, TB_RL, TB_LR.
      * @param ipd The inline-progression dimension of the reference area whose
      * CTM is being set..
      * @param bpd The block-progression dimension of the reference area whose
      * CTM is being set.
      * @return a new CTM with the required transform
      */
-    public static CTM getWMctm(int wm, int ipd, int bpd) {
+    public static CTM getWMctm(WritingMode wm, int ipd, int bpd) {
         CTM wmctm;
-        switch (wm) {
+        switch (wm.getEnumValue()) {
             case EN_LR_TB:
                 return new CTM(CTM_LRTB);
             case EN_RL_TB:
-                wmctm = new CTM(CTM_RLTB);
-                wmctm.e = ipd;
-                return wmctm;
-                //return  CTM_RLTB.translate(ipd, 0);
+                return new CTM(CTM_RLTB);
             case EN_TB_RL:  // CJK
+            case EN_TB_LR:  // CJK
                 wmctm = new CTM(CTM_TBRL);
                 wmctm.e = bpd;
                 return wmctm;
-                //return CTM_TBRL.translate(0, ipd);
             default:
                 return null;
         }
@@ -284,7 +283,7 @@
      * @return CTM the coordinate transformation matrix (CTM)
      */
     public static CTM getCTMandRelDims(int absRefOrient,
-                                       int writingMode,
+                                       WritingMode writingMode,
                                        Rectangle2D absVPrect,
                                        FODimension reldims) {
         int width, height;
@@ -335,12 +334,18 @@
          * can set ipd and bpd appropriately based on the writing mode.
          */
 
-        if (writingMode == EN_LR_TB || writingMode == EN_RL_TB) {
+        switch ( writingMode.getEnumValue() ) {
+        default:
+        case EN_LR_TB:
+        case EN_RL_TB:
             reldims.ipd = width;
             reldims.bpd = height;
-        } else {
+            break;
+        case EN_TB_LR:
+        case EN_TB_RL:
             reldims.ipd = height;
             reldims.bpd = width;
+            break;
         }
         // Set a rectangle to be the writing-mode relative version???
         // Now transform for writing mode
diff --git a/src/java/org/apache/fop/area/LineArea.java b/src/java/org/apache/fop/area/LineArea.java
index edf6057..1d32624 100644
--- a/src/java/org/apache/fop/area/LineArea.java
+++ b/src/java/org/apache/fop/area/LineArea.java
@@ -21,6 +21,7 @@
 
 import java.io.Serializable;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.apache.fop.area.inline.InlineArea;
@@ -125,6 +126,24 @@
     }
 
     /**
+     * <p>Set (en masse) the inline child areas of this line area.</p>
+     * <p> Used by bidirectional processing after line area consituent reordering.</p>
+     * @param inlineAreas the list of inline areas
+     */
+    public void setInlineAreas ( List inlineAreas ) {
+        for ( Iterator<InlineArea> it = inlineAreas.iterator(); it.hasNext();) {
+            InlineArea ia = it.next();
+            Area pa = ia.getParentArea();
+            if ( pa == null ) {
+                ia.setParentArea ( this );
+            } else {
+                assert pa == this;
+            }
+        }
+        this.inlineAreas = inlineAreas;
+    }
+
+    /**
      * Get the inline child areas of this line area.
      *
      * @return the list of inline areas
@@ -149,6 +168,21 @@
     }
 
     /**
+     * Get the end indent of this line area.
+     * The end indent is used for offsetting the end of
+     * the inline areas for alignment or other indents.
+     *
+     * @return the end indent value
+     */
+    public int getEndIndent() {
+        if (hasTrait(Trait.END_INDENT)) {
+            return getTraitAsInteger(Trait.END_INDENT);
+        } else {
+            return 0;
+        }
+    }
+
+    /**
      * Updates the extents of the line area from its children.
      */
     public void updateExtentsFromChildren() {
@@ -178,17 +212,21 @@
      * @param ipdVariation the difference between old and new ipd
      */
     public void handleIPDVariation(int ipdVariation) {
+        int si = getStartIndent();
+        int ei = getEndIndent();
         switch (adjustingInfo.lineAlignment) {
             case EN_START:
-                // nothing to do in this case
+                // adjust end indent
+                addTrait(Trait.END_INDENT, ei - ipdVariation);
                 break;
             case EN_CENTER:
-                // re-compute indent
-                addTrait(Trait.START_INDENT, getStartIndent() - ipdVariation / 2);
+                // adjust start and end indents
+                addTrait(Trait.START_INDENT, si - ipdVariation / 2);
+                addTrait(Trait.END_INDENT, ei - ipdVariation / 2);
                 break;
             case EN_END:
-                // re-compute indent
-                addTrait(Trait.START_INDENT, getStartIndent() - ipdVariation);
+                // adjust start indent
+                addTrait(Trait.START_INDENT, si - ipdVariation);
                 break;
             case EN_JUSTIFY:
                 // compute variation factor
@@ -198,7 +236,7 @@
                 // if the LineArea has already been added to the area tree,
                 // call finalize(); otherwise, wait for the LineLM to call it
                 if (adjustingInfo.bAddedToAreaTree) {
-                    finalise();
+                    finish();
                 }
                 break;
             default:
@@ -211,7 +249,7 @@
      * and destroy the AdjustingInfo object if there are
      * no UnresolvedAreas left
      */
-    public void finalise() {
+    public void finish() {
         if (adjustingInfo.lineAlignment == EN_JUSTIFY) {
             if (log.isTraceEnabled()) {
                 log.trace("Applying variation factor to justified line: " + adjustingInfo);
diff --git a/src/java/org/apache/fop/area/LinkResolver.java b/src/java/org/apache/fop/area/LinkResolver.java
index 1e13570..b458a1b 100644
--- a/src/java/org/apache/fop/area/LinkResolver.java
+++ b/src/java/org/apache/fop/area/LinkResolver.java
@@ -20,6 +20,7 @@
 package org.apache.fop.area;
 
 // Java
+import java.util.ArrayList;
 import java.util.List;
 import java.io.Serializable;
 
@@ -33,6 +34,7 @@
     private boolean resolved = false;
     private String idRef;
     private Area area;
+    private transient List<Resolvable> dependents = null;
 
     /**
      * Create a new link resolver.
@@ -79,8 +81,35 @@
     public void resolveIDRef(String id, PageViewport pv) {
         if (idRef.equals(id) && pv != null) {
             resolved = true;
-            Trait.InternalLink iLink = new Trait.InternalLink(pv.getKey(), idRef);
-            area.addTrait(Trait.INTERNAL_LINK, iLink);
+            if ( area != null ) {
+                Trait.InternalLink iLink = new Trait.InternalLink(pv.getKey(), idRef);
+                area.addTrait(Trait.INTERNAL_LINK, iLink);
+                area = null; // break circular reference from basic link area to this resolver
+            }
+            resolveDependents(id, pv);
         }
     }
+
+    /**
+     * Add dependent resolvable. Used to resolve second-order resolvables that
+     * depend on resolution of this resolver.
+     * @param dependent resolvable
+     */
+    public void addDependent(Resolvable dependent) {
+        if ( dependents == null ) {
+            dependents = new ArrayList<Resolvable>();
+        }
+        dependents.add(dependent);
+    }
+
+    private void resolveDependents(String id, PageViewport pv) {
+        if ( dependents != null ) {
+            List<PageViewport> pages = new ArrayList<PageViewport>();
+            pages.add(pv);
+            for ( Resolvable r : dependents ) {
+                r.resolveIDRef(id, pages);
+            }
+        }
+    }
+
 }
diff --git a/src/java/org/apache/fop/area/RegionViewport.java b/src/java/org/apache/fop/area/RegionViewport.java
index 6cc700a..6975bd3 100644
--- a/src/java/org/apache/fop/area/RegionViewport.java
+++ b/src/java/org/apache/fop/area/RegionViewport.java
@@ -106,7 +106,7 @@
         out.writeFloat((float) viewArea.getWidth());
         out.writeFloat((float) viewArea.getHeight());
         out.writeBoolean(clip);
-        out.writeObject(props);
+        out.writeObject(traits);
         out.writeObject(regionReference);
     }
 
@@ -115,7 +115,7 @@
         viewArea = new Rectangle2D.Float(in.readFloat(), in.readFloat(),
                                          in.readFloat(), in.readFloat());
         clip = in.readBoolean();
-        props = (HashMap)in.readObject();
+        traits = (HashMap)in.readObject();
         setRegionReference((RegionReference) in.readObject());
     }
 
@@ -128,8 +128,8 @@
     public Object clone() {
         RegionViewport rv = new RegionViewport((Rectangle2D)viewArea.clone());
         rv.regionReference = (RegionReference)regionReference.clone();
-        if (props != null) {
-            rv.props = new HashMap(props);
+        if (traits != null) {
+            rv.traits = new HashMap(traits);
         }
         if (foreignAttributes != null) {
             rv.foreignAttributes = new HashMap(foreignAttributes);
diff --git a/src/java/org/apache/fop/area/Trait.java b/src/java/org/apache/fop/area/Trait.java
index 042b653..45cd6e3 100644
--- a/src/java/org/apache/fop/area/Trait.java
+++ b/src/java/org/apache/fop/area/Trait.java
@@ -26,6 +26,8 @@
 
 import org.apache.fop.fonts.FontTriplet;
 import org.apache.fop.traits.BorderProps;
+import org.apache.fop.traits.Direction;
+import org.apache.fop.traits.WritingMode;
 import org.apache.fop.util.ColorUtil;
 
 import static org.apache.fop.fo.Constants.EN_REPEAT;
@@ -156,8 +158,17 @@
     /** The ptr trait. Used for accessibility   */
     public static final Integer PTR = 37;
 
+    /** writing mode trait */
+    public static final Integer WRITING_MODE = 38;
+    /** inline progression direction trait */
+    public static final Integer INLINE_PROGRESSION_DIRECTION = 39;
+    /** block progression direction trait */
+    public static final Integer BLOCK_PROGRESSION_DIRECTION = 40;
+    /** shift direction trait */
+    public static final Integer SHIFT_DIRECTION = 41;
+
     /** Maximum value used by trait keys */
-    public static final int MAX_TRAIT_KEY = 37;
+    public static final int MAX_TRAIT_KEY = 41;
 
     private static final TraitInfo[] TRAIT_INFO = new TraitInfo[MAX_TRAIT_KEY + 1];
 
@@ -221,6 +232,14 @@
         put(SPACE_AFTER,    new TraitInfo("space-after", Integer.class));
         put(IS_REFERENCE_AREA,  new TraitInfo("is-reference-area", Boolean.class));
         put(IS_VIEWPORT_AREA,   new TraitInfo("is-viewport-area", Boolean.class));
+        put(WRITING_MODE,
+                new TraitInfo("writing-mode", WritingMode.class));
+        put(INLINE_PROGRESSION_DIRECTION,
+                new TraitInfo("inline-progression-direction", Direction.class));
+        put(BLOCK_PROGRESSION_DIRECTION,
+                new TraitInfo("block-progression-direction", Direction.class));
+        put(SHIFT_DIRECTION,
+                new TraitInfo("shift-direction", Direction.class));
 
     }
 
diff --git a/src/java/org/apache/fop/area/inline/AbstractTextArea.java b/src/java/org/apache/fop/area/inline/AbstractTextArea.java
index 1558e81..3488209 100644
--- a/src/java/org/apache/fop/area/inline/AbstractTextArea.java
+++ b/src/java/org/apache/fop/area/inline/AbstractTextArea.java
@@ -188,7 +188,7 @@
 
     @Override
     int getVirtualOffset() {
-        return getOffset();
+        return getBlockProgressionOffset();
     }
 
     @Override
diff --git a/src/java/org/apache/fop/area/inline/BasicLinkArea.java b/src/java/org/apache/fop/area/inline/BasicLinkArea.java
index fce9139..c911819 100644
--- a/src/java/org/apache/fop/area/inline/BasicLinkArea.java
+++ b/src/java/org/apache/fop/area/inline/BasicLinkArea.java
@@ -20,6 +20,7 @@
 package org.apache.fop.area.inline;
 
 import org.apache.fop.area.Area;
+import org.apache.fop.area.LinkResolver;
 
 /**
  * An inline area produced by an fo:basic-link element. This class implements a different
@@ -33,6 +34,8 @@
 
     private static final long serialVersionUID = 5183753430412208151L;
 
+    private LinkResolver resolver;
+
     @Override
     public void setParentArea(Area parentArea) {
         super.setParentArea(parentArea);
@@ -42,12 +45,28 @@
          * called after all of the children areas have been added to this area.
          */
         /* Make this area start at its beforest child. */
-        setOffset(getOffset() + minChildOffset);
+        setBlockProgressionOffset(getBlockProgressionOffset() + minChildOffset);
         /* Update children offsets accordingly. */
         for (InlineArea inline : inlines) {
-            inline.setOffset(inline.getOffset() - minChildOffset);
+            inline.setBlockProgressionOffset(inline.getBlockProgressionOffset() - minChildOffset);
         }
         setBPD(getVirtualBPD());
     }
 
+    /**
+     * Establish (or remove) back-pointer to link resolver.
+     * @param resolver the link resolver that will resolve this basic link or null
+     */
+    public void setResolver(LinkResolver resolver) {
+        assert ( resolver == null ) || ( this.resolver == null );
+        this.resolver = resolver;
+    }
+
+    /**
+     * Obtain back-pointer to link resolver.
+     * @return resolver the link resolver that will resolve this basic link or null
+     */
+    public LinkResolver getResolver() {
+        return this.resolver;
+    }
 }
diff --git a/src/java/org/apache/fop/area/inline/FilledArea.java b/src/java/org/apache/fop/area/inline/FilledArea.java
index e0207ad..b34796e 100644
--- a/src/java/org/apache/fop/area/inline/FilledArea.java
+++ b/src/java/org/apache/fop/area/inline/FilledArea.java
@@ -50,7 +50,7 @@
      * @param v the offset
      */
     /*
-    public void setOffset(int v) {
+    public void setBlockProgressionOffset(int v) {
         setChildOffset(inlines.listIterator(), v);
     }
     */
@@ -63,7 +63,7 @@
             } else if (child instanceof InlineViewport) {
                 // nothing
             } else {
-                child.setOffset(v);
+                child.setBlockProgressionOffset(v);
             }
         }
     }
diff --git a/src/java/org/apache/fop/area/inline/InlineArea.java b/src/java/org/apache/fop/area/inline/InlineArea.java
index d62e6f7..c17bd4b 100644
--- a/src/java/org/apache/fop/area/inline/InlineArea.java
+++ b/src/java/org/apache/fop/area/inline/InlineArea.java
@@ -79,7 +79,7 @@
     /**
      * offset position from before edge of parent area
      */
-    protected int offset = 0;
+    protected int blockProgressionOffset = 0;
 
     /**
      * parent area
@@ -101,6 +101,23 @@
     protected InlineAdjustingInfo adjustingInfo = null;
 
     /**
+     * Default constructor for inline area.
+     */
+    public InlineArea() {
+        this (  0, -1 );
+    }
+
+    /**
+     * Instantiate inline area.
+     * @param blockProgressionOffset a block progression offset or zero
+     * @param bidiLevel a resolved bidi level or -1
+     */
+    protected InlineArea ( int blockProgressionOffset, int bidiLevel ) {
+        this.blockProgressionOffset = blockProgressionOffset;
+        setBidiLevel(bidiLevel);
+    }
+
+    /**
      * @return the adjustment information object
      */
     public InlineAdjustingInfo getAdjustingInfo() {
@@ -138,25 +155,25 @@
     }
 
     /**
-     * Set the offset of this inline area.
+     * Set the block progression offset of this inline area.
      * This is used to set the offset of the inline area
      * which is relative to the before edge of the parent area.
      *
-     * @param offset the offset
+     * @param blockProgressionOffset the offset
      */
-    public void setOffset(int offset) {
-        this.offset = offset;
+    public void setBlockProgressionOffset(int blockProgressionOffset) {
+        this.blockProgressionOffset = blockProgressionOffset;
     }
 
     /**
-     * Get the offset of this inline area.
+     * Get the block progression offset of this inline area.
      * This returns the offset of the inline area
-     * which is relative to the before edge of the parent area.
+     * relative to the before edge of the parent area.
      *
-     * @return the offset
+     * @return the blockProgressionOffset
      */
-    public int getOffset() {
-        return offset;
+    public int getBlockProgressionOffset() {
+        return blockProgressionOffset;
     }
 
     /**
@@ -266,7 +283,7 @@
      * @see BasicLinkArea
      */
     int getVirtualOffset() {
-        return getOffset();
+        return getBlockProgressionOffset();
     }
 
     /**
@@ -279,4 +296,3 @@
         return getBPD();
     }
 }
-
diff --git a/src/java/org/apache/fop/area/inline/InlineParent.java b/src/java/org/apache/fop/area/inline/InlineParent.java
index 5210804..aefc30c 100644
--- a/src/java/org/apache/fop/area/inline/InlineParent.java
+++ b/src/java/org/apache/fop/area/inline/InlineParent.java
@@ -20,6 +20,7 @@
 package org.apache.fop.area.inline;
 
 import java.util.List;
+import java.util.Iterator;
 
 import org.apache.fop.area.Area;
 
@@ -62,6 +63,7 @@
         if (autoSize) {
             increaseIPD(childArea.getAllocIPD());
         }
+        updateLevel ( childArea.getBidiLevel() );
         int childOffset = childArea.getVirtualOffset();
         minChildOffset = Math.min(minChildOffset, childOffset);
         maxAfterEdge = Math.max(maxAfterEdge, childOffset + childArea.getVirtualBPD());
@@ -69,7 +71,7 @@
 
     @Override
     int getVirtualOffset() {
-        return getOffset() + minChildOffset;
+        return getBlockProgressionOffset() + minChildOffset;
     }
 
     @Override
@@ -110,5 +112,27 @@
         return hasUnresolvedAreas;
     }
 
-}
+    /**
+     * Reset bidirectionality level of all children to default (-1),
+     * signalling that they will inherit the level of their parent text area.
+     */
+    public void resetChildrenLevel() {
+        for ( Iterator it = inlines.iterator(); it.hasNext();) {
+            ( (InlineArea) it.next() ) .resetBidiLevel();
+        }
+    }
+    private void updateLevel ( int newLevel ) {
+        if ( newLevel >= 0 ) {
+            int curLevel = getBidiLevel();
+            if ( curLevel >= 0 ) {
+                if ( newLevel < curLevel ) {
+                    setBidiLevel ( newLevel );
+                }
+            } else {
+                setBidiLevel ( newLevel );
+            }
+        }
+    }
 
+
+}
diff --git a/src/java/org/apache/fop/area/inline/InlineViewport.java b/src/java/org/apache/fop/area/inline/InlineViewport.java
index 68cc9a7..202a7da 100644
--- a/src/java/org/apache/fop/area/inline/InlineViewport.java
+++ b/src/java/org/apache/fop/area/inline/InlineViewport.java
@@ -50,6 +50,17 @@
      * @param child the child content area of this viewport
      */
     public InlineViewport(Area child) {
+        this(child, -1);
+    }
+
+    /**
+     * Create a new viewport area with the content area.
+     *
+     * @param child the child content area of this viewport
+     * @param bidiLevel the bidirectional embedding level (or -1 if not defined)
+     */
+    public InlineViewport(Area child, int bidiLevel) {
+        super(0, bidiLevel);
         this.content = child;
     }
 
@@ -121,7 +132,7 @@
             out.writeFloat((float) contentPosition.getHeight());
         }
         out.writeBoolean(clip);
-        out.writeObject(props);
+        out.writeObject(traits);
         out.writeObject(content);
     }
 
@@ -134,7 +145,7 @@
                                                     in.readFloat());
         }
         this.clip = in.readBoolean();
-        this.props = (HashMap) in.readObject();
+        this.traits = (HashMap) in.readObject();
         this.content = (Area) in.readObject();
     }
 
diff --git a/src/java/org/apache/fop/area/inline/SpaceArea.java b/src/java/org/apache/fop/area/inline/SpaceArea.java
index ebfcc5e..c3786ec 100644
--- a/src/java/org/apache/fop/area/inline/SpaceArea.java
+++ b/src/java/org/apache/fop/area/inline/SpaceArea.java
@@ -38,14 +38,15 @@
 
     /**
      * Create a space area
-     * @param s the space character
-     * @param o the offset for the next area
-     * @param a is this space adjustable?
+     * @param space the space character
+     * @param blockProgressionOffset the offset for the next area
+     * @param adjustable is this space adjustable?
+     * @param bidiLevel the bidirectional embedding level (or -1 if not defined)
      */
-    public SpaceArea(char s, int o, boolean a) {
-        space = s;
-        offset = o;
-        isAdjustable = a;
+    public SpaceArea(int blockProgressionOffset, int bidiLevel, char space, boolean adjustable) {
+        super ( blockProgressionOffset, bidiLevel );
+        this.space = space;
+        this.isAdjustable = adjustable;
     }
 
     /** @return Returns the space. */
@@ -57,4 +58,5 @@
     public boolean isAdjustable() {
         return this.isAdjustable;
     }
+
 }
diff --git a/src/java/org/apache/fop/area/inline/TextArea.java b/src/java/org/apache/fop/area/inline/TextArea.java
index 15d0050..1d27827 100644
--- a/src/java/org/apache/fop/area/inline/TextArea.java
+++ b/src/java/org/apache/fop/area/inline/TextArea.java
@@ -19,6 +19,10 @@
 
 package org.apache.fop.area.inline;
 
+import java.util.Arrays;
+
+import org.apache.fop.util.CharUtilities;
+
 /**
  * A text inline area.
  */
@@ -57,7 +61,7 @@
      * @param offset the offset for the next area
      */
     public void addWord(String word, int offset) {
-        addWord(word, offset, null);
+        addWord(word, 0, null, null, null, offset);
     }
 
     /**
@@ -65,25 +69,51 @@
      *
      * @param word   the word string
      * @param offset the offset for the next area
-     * @param letterAdjust the letter adjustment array (may be null)
+     * @param level  bidirectional level that applies to entire word
      */
-    public void addWord(String word, int offset, int[] letterAdjust) {
-        WordArea wordArea = new WordArea(word, offset, letterAdjust);
+    public void addWord(String word, int offset, int level) {
+        addWord(word, 0, null, makeLevels(level, word.length()), null, offset);
+    }
+
+    /**
+     * Create and add a WordArea child to this TextArea.
+     *
+     * @param word the word string
+     * @param ipd the word's ipd
+     * @param letterAdjust the letter adjustment array (may be null)
+     * @param levels array of resolved bidirectional levels of word characters,
+     * or null if default level
+     * @param gposAdjustments array of general position adjustments or null if none apply
+     * @param blockProgressionOffset the offset for the next area
+     */
+    public void addWord
+        ( String word, int ipd, int[] letterAdjust, int[] levels,
+          int[][] gposAdjustments, int blockProgressionOffset ) {
+        int minWordLevel = findMinLevel ( levels );
+        WordArea wordArea = new WordArea
+            ( blockProgressionOffset, minWordLevel, word, letterAdjust, levels, gposAdjustments );
+        wordArea.setIPD ( ipd );
         addChildArea(wordArea);
         wordArea.setParentArea(this);
+        updateLevel(minWordLevel);
     }
 
     /**
      * Create and add a SpaceArea child to this TextArea
      *
-     * @param space      the space character
-     * @param offset     the offset for the next area
+     * @param space the space character
+     * @param ipd the space's ipd
+     * @param blockProgressionOffset     the offset for the next area
      * @param adjustable is this space adjustable?
+     * @param level resolved bidirection level of space character
      */
-    public void addSpace(char space, int offset, boolean adjustable) {
-        SpaceArea spaceArea = new SpaceArea(space, offset, adjustable);
+    public void addSpace
+        ( char space, int ipd, boolean adjustable, int blockProgressionOffset, int level ) {
+        SpaceArea spaceArea = new SpaceArea(blockProgressionOffset, level, space, adjustable);
+        spaceArea.setIPD ( ipd );
         addChildArea(spaceArea);
         spaceArea.setParentArea(this);
+        updateLevel(level);
     }
 
     /**
@@ -113,7 +143,55 @@
     /** {@inheritDoc} */
     @Override
     public String toString() {
-        return "TextArea{text=" + getText() + "}";
+        StringBuffer sb = new StringBuffer(super.toString());
+        sb.append(" {text=\"");
+        sb.append(CharUtilities.toNCRefs(getText()));
+        sb.append("\"");
+        sb.append("}");
+        return sb.toString();
     }
+
+    private void updateLevel ( int newLevel ) {
+        if ( newLevel >= 0 ) {
+            int curLevel = getBidiLevel();
+            if ( curLevel >= 0 ) {
+                if ( newLevel < curLevel ) {
+                    setBidiLevel ( newLevel );
+                }
+            } else {
+                setBidiLevel ( newLevel );
+            }
+        }
+    }
+
+    private static int findMinLevel ( int[] levels ) {
+        if ( levels != null ) {
+            int lMin = Integer.MAX_VALUE;
+            for ( int i = 0, n = levels.length; i < n; i++ ) {
+                int l = levels [ i ];
+                if ( ( l >= 0 ) && ( l < lMin ) ) {
+                    lMin = l;
+                }
+            }
+            if ( lMin == Integer.MAX_VALUE ) {
+                return -1;
+            } else {
+                return lMin;
+            }
+        } else {
+            return -1;
+        }
+    }
+
+    private int[] makeLevels ( int level, int count ) {
+        if ( level >= 0 ) {
+            int[] levels = new int [ count ];
+            Arrays.fill ( levels, level );
+            return levels;
+        } else {
+            return null;
+        }
+    }
+
 }
 
diff --git a/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java b/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java
index d3bb910..6625bf8 100644
--- a/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java
+++ b/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java
@@ -83,12 +83,24 @@
     }
 
     /**
+     * Get the (resolved or unresolved) text.
+     *
+     * @return the text
+     */
+    public String getText() {
+        return text;
+    }
+
+    /**
      * Resolve the page number idref
      * This resolves the idref for this object by getting the page number
      * string from the first page in the list of pages that apply
      * for this ID.  The page number text is then set to the String value
      * of the page number.
      *
+     * TODO: [GA] May need to run bidi algorithm and script processor
+     * on resolved page number.
+     *
      * @param id an id whose PageViewports have been determined
      * @param pages the list of PageViewports associated with this ID
      */
@@ -103,7 +115,7 @@
             // replace the text
             removeText();
             text = page.getPageNumberString();
-            addWord(text, 0);
+            addWord(text, 0, getBidiLevel());
             // update ipd
             if (font != null) {
                 handleIPDVariation(font.getWordWidth(text) - getIPD());
diff --git a/src/java/org/apache/fop/area/inline/WordArea.java b/src/java/org/apache/fop/area/inline/WordArea.java
index 7f62fe8..8db7c25 100644
--- a/src/java/org/apache/fop/area/inline/WordArea.java
+++ b/src/java/org/apache/fop/area/inline/WordArea.java
@@ -19,6 +19,10 @@
 
 package org.apache.fop.area.inline;
 
+import java.util.Arrays;
+
+import org.apache.fop.util.CharUtilities;
+
 /**
  * A string of characters without spaces
  */
@@ -29,22 +33,63 @@
     /** The text for this word area */
     protected String word;
 
-    /** The correction offset for the next area */
-    protected int offset = 0;
-
     /** An array of width for adjusting the individual letters (optional) */
     protected int[] letterAdjust;
 
     /**
-     * Create a word area
-     * @param w the word string
-     * @param o the offset for the next area
-     * @param la the letter adjust array (may be null)
+     * An array of resolved bidirectional levels corresponding to each character
+     * in word (optional)
      */
-    public WordArea(String w, int o, int[] la) {
-        word = w;
-        offset = o;
-        this.letterAdjust = la;
+    protected int[] levels;
+
+    /**
+     * An array of glyph positioning adjustments to apply to each glyph 'char' in word (optional)
+     */
+    protected int[][] gposAdjustments;
+
+    /**
+     * A flag indicating whether the content of word is reversed in relation to
+     * its original logical order.
+     */
+    protected boolean reversed;
+
+    /**
+     * Create a word area
+     * @param blockProgressionOffset the offset for this area
+     * @param level the bidirectional embedding level (or -1 if not defined) for word as a group
+     * @param word the word string
+     * @param letterAdjust the letter adjust array (may be null)
+     * @param levels array of per-character (glyph) bidirectional levels,
+     * in case word area is heterogenously leveled
+     * @param gposAdjustments array of general position adjustments or null if none apply
+     * @param reversed true if word is known to be reversed at construction time
+     */
+    public WordArea
+        ( int blockProgressionOffset, int level, String word, int[] letterAdjust, int[] levels,
+          int[][] gposAdjustments, boolean reversed ) {
+        super ( blockProgressionOffset, level );
+        int length = ( word != null ) ? word.length() : 0;
+        this.word = word;
+        this.letterAdjust = maybeAdjustLength ( letterAdjust, length );
+        this.levels = maybePopulateLevels ( levels, level, length );
+        this.gposAdjustments = maybeAdjustLength ( gposAdjustments, length );
+        this.reversed = reversed;
+    }
+
+    /**
+     * Create a word area
+     * @param blockProgressionOffset the offset for this area
+     * @param level the bidirectional embedding level (or -1 if not defined) for word as a group
+     * @param word the word string
+     * @param letterAdjust the letter adjust array (may be null)
+     * @param levels array of per-character (glyph) bidirectional levels,
+     * in case word area is heterogenously leveled
+     * @param gposAdjustments array of general position adjustments or null if none apply
+     */
+    public WordArea
+        ( int blockProgressionOffset, int level, String word, int[] letterAdjust, int[] levels,
+          int[][] gposAdjustments ) {
+        this ( blockProgressionOffset, level, word, letterAdjust, levels, gposAdjustments, false );
     }
 
     /** @return Returns the word. */
@@ -52,20 +97,198 @@
         return word;
     }
 
-    /** @return Returns the offset. */
-    @Override
-    public int getOffset() {
-        return offset;
-    }
-    /** @param o The offset to set. */
-    @Override
-    public void setOffset(int o) {
-        offset = o;
-    }
-
     /** @return the array of letter adjust widths */
     public int[] getLetterAdjustArray() {
         return this.letterAdjust;
     }
 
+    /**
+     * Obtain per-character (glyph) bidi levels.
+     * @return a (possibly empty) array of levels or null (if none resolved)
+     */
+    public int[] getBidiLevels() {
+        return levels;
+    }
+
+    /**
+     * <p>Obtain per-character (glyph) bidi levels over a specified subsequence.</p>
+     * <p>If word has been reversed, then the subsequence is over the reversed word.</p>
+     * @param start starting (inclusive) index of subsequence
+     * @param end ending (exclusive) index of subsequence
+     * @return a (possibly null) array of per-character (glyph) levels over the specified
+     * sequence
+     */
+    public int[] getBidiLevels ( int start, int end ) {
+        assert start <= end;
+        if ( levels != null ) {
+            int n = end - start;
+            int[] levels = new int [ n ];
+            for ( int i = 0; i < n; i++ ) {
+                levels[i] = this.levels [ start + i ];
+            }
+            return levels;
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * <p>Obtain per-character (glyph) level at a specified index position.</p>
+     * <p>If word has been reversed, then the position is relative to the reversed word.</p>
+     * @param position the index of the (possibly reversed) character from which to obtain the
+     * level
+     * @return a resolved bidirectional level or, if not specified, then -1
+     */
+    public int bidiLevelAt ( int position ) {
+        if ( position > word.length() ) {
+            throw new IndexOutOfBoundsException();
+        } else if ( levels != null ) {
+            return levels [ position ];
+        } else {
+            return -1;
+        }
+    }
+
+    /**
+     * Obtain per-character (glyph) position adjustments.
+     * @return a (possibly empty) array of adjustments, each having four elements, or null
+     * if no adjustments apply
+     */
+    public int[][] getGlyphPositionAdjustments() {
+        return gposAdjustments;
+    }
+
+    /**
+     * <p>Obtain per-character (glyph) position adjustments at a specified index position.</p>
+     * <p>If word has been reversed, then the position is relative to the reversed word.</p>
+     * @param position the index of the (possibly reversed) character from which to obtain the
+     * level
+     * @return an array of adjustments or null if none applies
+     */
+    public int[] glyphPositionAdjustmentsAt ( int position ) {
+        if ( position > word.length() ) {
+            throw new IndexOutOfBoundsException();
+        } else if ( gposAdjustments != null ) {
+            return gposAdjustments [ position ];
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * <p>Reverse characters and corresponding per-character levels and glyph position
+     * adjustments.</p>
+     * @param mirror if true, then perform mirroring if mirrorred characters
+     */
+    public void reverse ( boolean mirror ) {
+        if ( word.length() > 0 ) {
+            word = ( ( new StringBuffer ( word ) ) .reverse() ) .toString();
+            if ( levels != null ) {
+                reverse ( levels );
+            }
+            if ( gposAdjustments != null ) {
+                reverse ( gposAdjustments );
+            }
+            reversed = !reversed;
+            if ( mirror ) {
+                word = CharUtilities.mirror ( word );
+            }
+        }
+    }
+
+    /**
+     * <p>Perform mirroring on mirrorable characters.</p>
+     */
+    public void mirror() {
+        if ( word.length() > 0 ) {
+            word = CharUtilities.mirror ( word );
+        }
+    }
+
+    /**
+     * <p>Determined if word has been reversed (in relation to original logical order).</p>
+     * <p>If a word is reversed, then both its characters (glyphs) and corresponding per-character
+     * levels are in reverse order.</p>
+     * <p>Note: this information is used in order to process non-spacing marks during rendering as
+     * well as provide hints for caret direction.</p>
+     * @return true if word is reversed
+     */
+    public boolean isReversed() {
+        return reversed;
+    }
+
+    /*
+     * If int[] array is not of specified length, then create
+     * a new copy of the first length entries.
+     */
+    private static int[] maybeAdjustLength ( int[] ia, int length ) {
+        if ( ia != null ) {
+            if ( ia.length == length ) {
+                return ia;
+            } else {
+                int[] iaNew = new int [ length ];
+                for ( int i = 0, n = ia.length; i < n; i++ ) {
+                    if ( i < length ) {
+                        iaNew [ i ] = ia [ i ];
+                    } else {
+                        break;
+                    }
+                }
+                return iaNew;
+            }
+        } else {
+            return ia;
+        }
+    }
+
+    /*
+     * If int[][] matrix is not of specified length, then create
+     * a new shallow copy of the first length entries.
+     */
+    private static int[][] maybeAdjustLength ( int[][] im, int length ) {
+        if ( im != null ) {
+            if ( im.length == length ) {
+                return im;
+            } else {
+                int[][] imNew = new int [ length ][];
+                for ( int i = 0, n = im.length; i < n; i++ ) {
+                    if ( i < length ) {
+                        imNew [ i ] = im [ i ];
+                    } else {
+                        break;
+                    }
+                }
+                return imNew;
+            }
+        } else {
+            return im;
+        }
+    }
+
+    private static int[] maybePopulateLevels ( int[] levels, int level, int count ) {
+        if ( ( levels == null ) && ( level >= 0 ) ) {
+            levels = new int[count];
+            Arrays.fill ( levels, level );
+        }
+        return maybeAdjustLength ( levels, count );
+    }
+
+    private static void reverse ( int[] a ) {
+        for ( int i = 0, n = a.length, m = n / 2; i < m; i++ ) {
+            int k = n - i - 1;
+            int t = a [ k ];
+            a [ k ] = a [ i ];
+            a [ i ] = t;
+        }
+    }
+
+    private static void reverse ( int[][] aa ) {
+        for ( int i = 0, n = aa.length, m = n / 2; i < m; i++ ) {
+            int k = n - i - 1;
+            int[] t = aa [ k ];
+            aa [ k ] = aa [ i ];
+            aa [ i ] = t;
+        }
+    }
+
 }
diff --git a/src/java/org/apache/fop/fo/Constants.java b/src/java/org/apache/fop/fo/Constants.java
index 726d4d8..07d67d9 100644
--- a/src/java/org/apache/fop/fo/Constants.java
+++ b/src/java/org/apache/fop/fo/Constants.java
@@ -26,7 +26,7 @@
  * <li>Input and output formats</li>
  * <li>Formatting objects (<em>FO_XXX</em>)</li>
  * <li>Formatting properties (<em>PR_XXX</em>)</li>
- * <li>Enumerated values used in formatting properties (<em>EN_XXX</em>)</li>
+ * <li>Enumerated values used in formatting properties and traits (<em>EN_XXX</em>)</li>
  * </ul>
  */
 public interface Constants {
@@ -1210,6 +1210,16 @@
     int EN_NO_LINK = 199;
     /** Enumeration constant -- XSL 1.1 */
     int EN_ALTERNATE = 200;
+    /** Enumeration constant -- for *-direction traits */
+    int EN_LR = 201; // left to right
+    /** Enumeration constant -- for *-direction traits */
+    int EN_RL = 202; // right to left
+    /** Enumeration constant -- for *-direction traits */
+    int EN_TB = 203; // top to bottom
+    /** Enumeration constant -- for *-direction traits */
+    int EN_BT = 204; // bottom to top
+    /** Enumeration constant */
+    int EN_TB_LR = 205; // for top-to-bottom, left-to-right writing mode
     /** Number of enumeration constants defined */
-    int ENUM_COUNT = 200;
+    int ENUM_COUNT = 205;
 }
diff --git a/src/java/org/apache/fop/fo/FOPropertyMapping.java b/src/java/org/apache/fop/fo/FOPropertyMapping.java
index cf4eef3..9e3af6b 100644
--- a/src/java/org/apache/fop/fo/FOPropertyMapping.java
+++ b/src/java/org/apache/fop/fo/FOPropertyMapping.java
@@ -632,7 +632,7 @@
         m.setDefault("black");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_TOP_COLOR, PR_BORDER_TOP_COLOR,
-                PR_BORDER_RIGHT_COLOR);
+                              PR_BORDER_RIGHT_COLOR, PR_BORDER_LEFT_COLOR);
         corr.setRelative(true);
         addPropertyMaker("border-before-color", m);
 
@@ -641,7 +641,7 @@
         m.useGeneric(genericBorderStyle);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_TOP_STYLE, PR_BORDER_TOP_STYLE,
-                PR_BORDER_RIGHT_STYLE);
+                              PR_BORDER_RIGHT_STYLE, PR_BORDER_LEFT_STYLE);
         corr.setRelative(true);
         addPropertyMaker("border-before-style", m);
 
@@ -651,7 +651,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_TOP_WIDTH, PR_BORDER_TOP_WIDTH,
-                PR_BORDER_RIGHT_WIDTH);
+                              PR_BORDER_RIGHT_WIDTH, PR_BORDER_LEFT_WIDTH);
         corr.setRelative(true);
         addPropertyMaker("border-before-width", m);
 
@@ -662,7 +662,7 @@
         m.setDefault("black");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_COLOR,
-                PR_BORDER_LEFT_COLOR);
+                              PR_BORDER_LEFT_COLOR, PR_BORDER_RIGHT_COLOR);
         corr.setRelative(true);
         addPropertyMaker("border-after-color", m);
 
@@ -671,7 +671,7 @@
         m.useGeneric(genericBorderStyle);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_STYLE,
-                PR_BORDER_LEFT_STYLE);
+                              PR_BORDER_LEFT_STYLE, PR_BORDER_RIGHT_STYLE);
         corr.setRelative(true);
         addPropertyMaker("border-after-style", m);
 
@@ -681,7 +681,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_BOTTOM_WIDTH, PR_BORDER_BOTTOM_WIDTH,
-                PR_BORDER_LEFT_WIDTH);
+                              PR_BORDER_LEFT_WIDTH, PR_BORDER_LEFT_WIDTH);
         corr.setRelative(true);
         addPropertyMaker("border-after-width", m);
 
@@ -692,7 +692,7 @@
         m.setDefault("black");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_LEFT_COLOR, PR_BORDER_RIGHT_COLOR,
-                PR_BORDER_TOP_COLOR);
+                              PR_BORDER_TOP_COLOR, PR_BORDER_TOP_COLOR);
         corr.setRelative(true);
         addPropertyMaker("border-start-color", m);
 
@@ -701,7 +701,7 @@
         m.useGeneric(genericBorderStyle);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_LEFT_STYLE, PR_BORDER_RIGHT_STYLE,
-                PR_BORDER_TOP_STYLE);
+                              PR_BORDER_TOP_STYLE, PR_BORDER_TOP_STYLE);
         corr.setRelative(true);
         addPropertyMaker("border-start-style", m);
 
@@ -711,7 +711,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT_WIDTH,
-                PR_BORDER_TOP_WIDTH);
+                              PR_BORDER_TOP_WIDTH, PR_BORDER_TOP_WIDTH);
         corr.setRelative(true);
         addPropertyMaker("border-start-width", m);
 
@@ -722,7 +722,7 @@
         m.setDefault("black");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_RIGHT_COLOR, PR_BORDER_LEFT_COLOR,
-                PR_BORDER_BOTTOM_COLOR);
+                              PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_COLOR);
         corr.setRelative(true);
         addPropertyMaker("border-end-color", m);
 
@@ -731,7 +731,7 @@
         m.useGeneric(genericBorderStyle);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_RIGHT_STYLE, PR_BORDER_LEFT_STYLE,
-                PR_BORDER_BOTTOM_STYLE);
+                              PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_STYLE);
         corr.setRelative(true);
         addPropertyMaker("border-end-style", m);
 
@@ -741,7 +741,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_RIGHT_WIDTH, PR_BORDER_LEFT_WIDTH,
-                PR_BORDER_BOTTOM_WIDTH);
+                              PR_BORDER_BOTTOM_WIDTH, PR_BORDER_BOTTOM_WIDTH);
         corr.setRelative(true);
         addPropertyMaker("border-end-width", m);
 
@@ -755,7 +755,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_COLOR,
-                PR_BORDER_START_COLOR);
+                              PR_BORDER_START_COLOR, PR_BORDER_START_COLOR);
         addPropertyMaker("border-top-color", m);
 
         // border-top-style
@@ -766,7 +766,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_STYLE,
-                PR_BORDER_START_STYLE);
+                              PR_BORDER_START_STYLE, PR_BORDER_START_STYLE);
         addPropertyMaker("border-top-style", m);
 
         // border-top-width
@@ -778,7 +778,7 @@
         bwm.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(bwm);
         corr.setCorresponding(PR_BORDER_BEFORE_WIDTH, PR_BORDER_BEFORE_WIDTH,
-                PR_BORDER_START_WIDTH);
+                              PR_BORDER_START_WIDTH, PR_BORDER_START_WIDTH);
         addPropertyMaker("border-top-width", bwm);
 
         // border-bottom-color
@@ -791,7 +791,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_COLOR,
-                PR_BORDER_END_COLOR);
+                              PR_BORDER_END_COLOR, PR_BORDER_END_COLOR);
         addPropertyMaker("border-bottom-color", m);
 
         // border-bottom-style
@@ -802,7 +802,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_STYLE,
-                PR_BORDER_END_STYLE);
+                              PR_BORDER_END_STYLE, PR_BORDER_END_STYLE);
         addPropertyMaker("border-bottom-style", m);
 
         // border-bottom-width
@@ -814,7 +814,7 @@
         bwm.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(bwm);
         corr.setCorresponding(PR_BORDER_AFTER_WIDTH, PR_BORDER_AFTER_WIDTH,
-                PR_BORDER_END_WIDTH);
+                              PR_BORDER_END_WIDTH, PR_BORDER_END_WIDTH);
         addPropertyMaker("border-bottom-width", bwm);
 
         // border-left-color
@@ -827,7 +827,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_START_COLOR, PR_BORDER_END_COLOR,
-                PR_BORDER_AFTER_COLOR);
+                              PR_BORDER_AFTER_COLOR, PR_BORDER_BEFORE_COLOR);
         addPropertyMaker("border-left-color", m);
 
         // border-left-style
@@ -838,7 +838,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_START_STYLE, PR_BORDER_END_STYLE,
-                PR_BORDER_AFTER_STYLE);
+                              PR_BORDER_AFTER_STYLE, PR_BORDER_BEFORE_STYLE);
         addPropertyMaker("border-left-style", m);
 
         // border-left-width
@@ -850,7 +850,7 @@
         bwm.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(bwm);
         corr.setCorresponding(PR_BORDER_START_WIDTH, PR_BORDER_END_WIDTH,
-                PR_BORDER_AFTER_WIDTH);
+                              PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_WIDTH);
         addPropertyMaker("border-left-width", bwm);
 
         // border-right-color
@@ -863,7 +863,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_END_COLOR, PR_BORDER_START_COLOR,
-                PR_BORDER_BEFORE_COLOR);
+                              PR_BORDER_BEFORE_COLOR, PR_BORDER_AFTER_COLOR);
         addPropertyMaker("border-right-color", m);
 
         // border-right-style
@@ -874,7 +874,7 @@
         m.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_BORDER_END_STYLE, PR_BORDER_START_STYLE,
-                PR_BORDER_BEFORE_STYLE);
+                              PR_BORDER_BEFORE_STYLE, PR_BORDER_AFTER_STYLE);
         addPropertyMaker("border-right-style", m);
 
         // border-right-width
@@ -886,7 +886,7 @@
         bwm.addShorthand(generics[PR_BORDER]);
         corr = new CorrespondingPropertyMaker(bwm);
         corr.setCorresponding(PR_BORDER_END_WIDTH, PR_BORDER_START_WIDTH,
-                PR_BORDER_BEFORE_WIDTH);
+                              PR_BORDER_BEFORE_WIDTH, PR_BORDER_AFTER_WIDTH);
         addPropertyMaker("border-right-width", bwm);
 
         // padding-before
@@ -895,7 +895,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_TOP, PR_PADDING_TOP,
-                PR_PADDING_RIGHT);
+                              PR_PADDING_RIGHT, PR_PADDING_LEFT);
         corr.setRelative(true);
         addPropertyMaker("padding-before", m);
 
@@ -905,7 +905,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_BOTTOM, PR_PADDING_BOTTOM,
-                PR_PADDING_LEFT);
+                              PR_PADDING_LEFT, PR_PADDING_RIGHT);
         corr.setRelative(true);
         addPropertyMaker("padding-after", m);
 
@@ -915,7 +915,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_LEFT, PR_PADDING_RIGHT,
-                PR_PADDING_TOP);
+                              PR_PADDING_TOP, PR_PADDING_TOP);
         corr.setRelative(true);
         addPropertyMaker("padding-start", m);
 
@@ -925,7 +925,7 @@
         m.getSubpropMaker(CP_CONDITIONALITY).setDefault("discard");
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_RIGHT, PR_PADDING_LEFT,
-                PR_PADDING_BOTTOM);
+                              PR_PADDING_BOTTOM, PR_PADDING_BOTTOM);
         corr.setRelative(true);
         addPropertyMaker("padding-end", m);
 
@@ -934,7 +934,7 @@
         m.useGeneric(genericPadding);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_BEFORE, PR_PADDING_BEFORE,
-                PR_PADDING_START);
+                              PR_PADDING_START, PR_PADDING_START);
         addPropertyMaker("padding-top", m);
 
         // padding-bottom
@@ -942,7 +942,7 @@
         m.useGeneric(genericPadding);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_AFTER, PR_PADDING_AFTER,
-                PR_PADDING_END);
+                              PR_PADDING_END, PR_PADDING_END);
         addPropertyMaker("padding-bottom", m);
 
         // padding-left
@@ -950,7 +950,7 @@
         m.useGeneric(genericPadding);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_START, PR_PADDING_END,
-                PR_PADDING_AFTER);
+                              PR_PADDING_AFTER, PR_PADDING_BEFORE);
         addPropertyMaker("padding-left", m);
 
         // padding-right
@@ -958,7 +958,7 @@
         m.useGeneric(genericPadding);
         corr = new CorrespondingPropertyMaker(m);
         corr.setCorresponding(PR_PADDING_END, PR_PADDING_START,
-                PR_PADDING_BEFORE);
+                              PR_PADDING_BEFORE, PR_PADDING_AFTER);
         addPropertyMaker("padding-right", m);
     }
 
@@ -1151,7 +1151,7 @@
         m  = new SpaceProperty.Maker(PR_SPACE_BEFORE);
         m.useGeneric(genericSpace);
         corr = new SpacePropertyMaker(m);
-        corr.setCorresponding(PR_MARGIN_TOP, PR_MARGIN_TOP, PR_MARGIN_RIGHT);
+        corr.setCorresponding(PR_MARGIN_TOP, PR_MARGIN_TOP, PR_MARGIN_RIGHT, PR_MARGIN_LEFT);
         corr.setUseParent(false);
         corr.setRelative(true);
         addPropertyMaker("space-before", m);
@@ -1160,7 +1160,7 @@
         m  = new SpaceProperty.Maker(PR_SPACE_AFTER);
         m.useGeneric(genericSpace);
         corr = new SpacePropertyMaker(m);
-        corr.setCorresponding(PR_MARGIN_BOTTOM, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT);
+        corr.setCorresponding(PR_MARGIN_BOTTOM, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT);
         corr.setUseParent(false);
         corr.setRelative(true);
         addPropertyMaker("space-after", m);
@@ -1171,14 +1171,14 @@
         m.setDefault("0pt");
         m.setPercentBase(LengthBase.CONTAINING_REFAREA_WIDTH);
         IndentPropertyMaker sCorr = new IndentPropertyMaker(m);
-        sCorr.setCorresponding(PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP);
+        sCorr.setCorresponding(PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARGIN_TOP);
         sCorr.setUseParent(false);
         sCorr.setRelative(true);
         sCorr.setPaddingCorresponding(new int[] {
-             PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_TOP
+             PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_TOP, PR_PADDING_TOP
         });
         sCorr.setBorderWidthCorresponding(new int[] {
-            PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT_WIDTH, PR_BORDER_TOP_WIDTH
+            PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT_WIDTH, PR_BORDER_TOP_WIDTH, PR_BORDER_TOP_WIDTH
         });
         addPropertyMaker("start-indent", m);
 
@@ -1188,14 +1188,16 @@
         m.setDefault("0pt");
         m.setPercentBase(LengthBase.CONTAINING_REFAREA_WIDTH);
         IndentPropertyMaker eCorr = new IndentPropertyMaker(m);
-        eCorr.setCorresponding(PR_MARGIN_RIGHT, PR_MARGIN_LEFT, PR_MARGIN_BOTTOM);
+        eCorr.setCorresponding(PR_MARGIN_RIGHT, PR_MARGIN_LEFT,
+                               PR_MARGIN_BOTTOM, PR_MARGIN_BOTTOM);
         eCorr.setUseParent(false);
         eCorr.setRelative(true);
         eCorr.setPaddingCorresponding(new int[] {
-            PR_PADDING_RIGHT, PR_PADDING_LEFT, PR_PADDING_BOTTOM
+            PR_PADDING_RIGHT, PR_PADDING_LEFT, PR_PADDING_BOTTOM, PR_PADDING_BOTTOM
         });
         eCorr.setBorderWidthCorresponding(new int[] {
-            PR_BORDER_RIGHT_WIDTH, PR_BORDER_LEFT_WIDTH, PR_BORDER_BOTTOM_WIDTH
+            PR_BORDER_RIGHT_WIDTH, PR_BORDER_LEFT_WIDTH,
+            PR_BORDER_BOTTOM_WIDTH, PR_BORDER_BOTTOM_WIDTH
         });
         addPropertyMaker("end-indent", m);
     }
@@ -1352,10 +1354,10 @@
         m.addSubpropMaker(l);
 
         pdim = new DimensionPropertyMaker(m);
-        pdim.setCorresponding(PR_HEIGHT, PR_HEIGHT, PR_WIDTH);
+        pdim.setCorresponding(PR_HEIGHT, PR_HEIGHT, PR_WIDTH, PR_WIDTH);
         pdim.setExtraCorresponding(new int[][] {
-             {PR_MIN_HEIGHT, PR_MIN_HEIGHT, PR_MIN_WIDTH, },
-             {PR_MAX_HEIGHT, PR_MAX_HEIGHT, PR_MAX_WIDTH, }
+             {PR_MIN_HEIGHT, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_MIN_WIDTH},
+             {PR_MAX_HEIGHT, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAX_WIDTH}
         });
         pdim.setRelative(true);
         m.setCorresponding(pdim);
@@ -1419,10 +1421,10 @@
 
         pdim = new DimensionPropertyMaker(m);
         pdim.setRelative(true);
-        pdim.setCorresponding(PR_WIDTH, PR_WIDTH, PR_HEIGHT);
+        pdim.setCorresponding(PR_WIDTH, PR_WIDTH, PR_HEIGHT, PR_HEIGHT);
         pdim.setExtraCorresponding(new int[][] {
-            {PR_MIN_WIDTH, PR_MIN_WIDTH, PR_MIN_HEIGHT, },
-            {PR_MAX_WIDTH, PR_MAX_WIDTH, PR_MAX_HEIGHT, }
+            {PR_MIN_WIDTH, PR_MIN_WIDTH, PR_MIN_HEIGHT, PR_MIN_HEIGHT },
+            {PR_MAX_WIDTH, PR_MAX_WIDTH, PR_MAX_HEIGHT, PR_MIN_HEIGHT }
         });
         m.setCorresponding(pdim);
         addPropertyMaker("inline-progression-dimension", m);
@@ -1491,6 +1493,37 @@
         addPropertyMaker("fox:block-progression-unit", l);
     }
 
+    private Property calcWritingModeDependent ( int pv, int wm ) {
+        if ( pv == EN_LEFT ) {
+            if ( wm == Constants.EN_LR_TB ) {
+                pv = EN_START;
+            } else if ( wm == Constants.EN_RL_TB ) {
+                pv = EN_END;
+            } else {
+                pv = EN_START;
+            }
+        } else if ( pv == EN_RIGHT ) {
+            if ( wm == Constants.EN_LR_TB ) {
+                pv = EN_END;
+            } else if ( wm == Constants.EN_RL_TB ) {
+                pv = EN_START;
+            } else {
+                pv = EN_END;
+            }
+        }
+        return makeWritingModeDependentEnum ( pv );
+    }
+
+    private Property makeWritingModeDependentEnum ( int pv ) {
+        if ( pv == EN_START ) {
+            return getEnumProperty ( EN_START, "START" );
+        } else if ( pv == EN_END ) {
+            return getEnumProperty ( EN_END, "END" );
+        } else {
+            return null;
+        }
+    }
+
     private void createBlockAndLineProperties() {               // CSOK: MethodLength
         PropertyMaker m;
 
@@ -1576,16 +1609,29 @@
         addPropertyMaker("white-space-treatment", m);
 
         // text-align TODO: make it a StringProperty with enums.
-        m  = new EnumProperty.Maker(PR_TEXT_ALIGN);
+        m  = new EnumProperty.Maker(PR_TEXT_ALIGN) {
+            public Property get(int subpropId, PropertyList propertyList,
+                    boolean bTryInherit, boolean bTryDefault) throws PropertyException {
+                Property p = super.get(subpropId, propertyList, bTryInherit, bTryDefault);
+                if ( p != null ) {
+                    int pv = p.getEnum();
+                    if ( ( pv == EN_LEFT ) || ( pv == EN_RIGHT ) ) {
+                        p = calcWritingModeDependent
+                            ( pv, propertyList.get(Constants.PR_WRITING_MODE).getEnum() );
+                    }
+                }
+                return p;
+            }
+        };
         m.setInherited(true);
-        // Note: both 'end', 'right' and 'outside' are mapped to END
-        //       both 'start', 'left' and 'inside' are mapped to START
         m.addEnum("center", getEnumProperty(EN_CENTER, "CENTER"));
         m.addEnum("end", getEnumProperty(EN_END, "END"));
-        m.addEnum("right", getEnumProperty(EN_END, "END"));
         m.addEnum("start", getEnumProperty(EN_START, "START"));
-        m.addEnum("left", getEnumProperty(EN_START, "START"));
         m.addEnum("justify", getEnumProperty(EN_JUSTIFY, "JUSTIFY"));
+        // [GA] must defer writing-mode relative mapping of left/right
+        m.addEnum("left", getEnumProperty(EN_LEFT, "LEFT"));
+        m.addEnum("right", getEnumProperty(EN_RIGHT, "RIGHT"));
+        // [GA] inside and outside are not correctly implemented by the following mapping
         m.addEnum("inside", getEnumProperty(EN_START, "START"));
         m.addEnum("outside", getEnumProperty(EN_END, "END"));
         m.setDefault("start");
@@ -1605,7 +1651,6 @@
                 }
                 return p;
             }
-
             private Property calcRelative(PropertyList propertyList) throws PropertyException {
                 Property corresponding = propertyList.get(PR_TEXT_ALIGN);
                 if (corresponding == null) {
@@ -1620,6 +1665,12 @@
                     return getEnumProperty(EN_START, "START");
                 } else if (correspondingValue == EN_CENTER) {
                     return getEnumProperty(EN_CENTER, "CENTER");
+                } else if (correspondingValue == EN_LEFT) {
+                    return calcWritingModeDependent
+                        ( EN_LEFT, propertyList.get(Constants.PR_WRITING_MODE).getEnum() );
+                } else if (correspondingValue == EN_RIGHT) {
+                    return calcWritingModeDependent
+                        ( EN_RIGHT, propertyList.get(Constants.PR_WRITING_MODE).getEnum() );
                 } else {
                     return null;
                 }
@@ -2512,6 +2563,7 @@
         m.addEnum("lr-tb", getEnumProperty(EN_LR_TB, "LR_TB"));
         m.addEnum("rl-tb", getEnumProperty(EN_RL_TB, "RL_TB"));
         m.addEnum("tb-rl", getEnumProperty(EN_TB_RL, "TB_RL"));
+        m.addEnum("tb-lr", getEnumProperty(EN_TB_LR, "TB_LR"));
         m.addKeyword("lr", "lr-tb");
         m.addKeyword("rl", "rl-tb");
         m.addKeyword("tb", "tb-rl");
diff --git a/src/java/org/apache/fop/fo/FOText.java b/src/java/org/apache/fop/fo/FOText.java
index 5db11f7..bff08c1 100644
--- a/src/java/org/apache/fop/fo/FOText.java
+++ b/src/java/org/apache/fop/fo/FOText.java
@@ -21,6 +21,7 @@
 
 import java.awt.Color;
 import java.nio.CharBuffer;
+import java.util.Map;
 import java.util.NoSuchElementException;
 
 import org.xml.sax.Locator;
@@ -44,7 +45,8 @@
     /** the <code>CharBuffer</code> containing the text */
     private CharBuffer charBuffer;
 
-    /** properties relevant for #PCDATA */
+    // The value of FO traits (refined properties) that apply to #PCDATA
+    // (aka implicit sequence of fo:character)
     private CommonFont commonFont;
     private CommonHyphenation commonHyphenation;
     private Color color;
@@ -57,6 +59,10 @@
     private Property wordSpacing;
     private int wrapOption;
     private Length baselineShift;
+    private String country;
+    private String language;
+    private String script;
+    // End of trait values
 
     /**
      * Points to the previous FOText object created within the current
@@ -79,6 +85,12 @@
     /** Holds the text decoration values. May be null */
     private CommonTextDecoration textDecoration;
 
+    /* bidi levels */
+    private int[] bidiLevels;
+
+    /* advanced script processing state */
+    private Map/*<MapRange,String>*/ mappings;
+
     private static final int IS_WORD_CHAR_FALSE = 0;
     private static final int IS_WORD_CHAR_TRUE = 1;
     private static final int IS_WORD_CHAR_MAYBE = 2;
@@ -95,21 +107,31 @@
     /** {@inheritDoc} */
     protected void characters(char[] data, int start, int length,
             PropertyList list, Locator locator) throws FOPException {
-
-        if (this.charBuffer == null) {
+        if (charBuffer == null) {
             // buffer not yet initialized, do so now
-            this.charBuffer = CharBuffer.allocate(length);
+            int newLength = ( length < 16 ) ? 16 : length;
+            charBuffer = CharBuffer.allocate(newLength);
         } else {
             // allocate a larger buffer, and transfer contents
-            int newLength = this.charBuffer.limit() + length;
-            CharBuffer newBuffer = CharBuffer.allocate(newLength);
-            this.charBuffer.rewind();
-            newBuffer.put(this.charBuffer);
-            this.charBuffer = newBuffer;
+            int requires = charBuffer.position() + length;
+            int capacity = charBuffer.capacity();
+            if ( requires > capacity ) {
+                int newCapacity = capacity * 2;
+                if ( requires > newCapacity ) {
+                    newCapacity = requires;
+                }
+                CharBuffer newBuffer = CharBuffer.allocate(newCapacity);
+                charBuffer.rewind();
+                newBuffer.put(charBuffer);
+                charBuffer = newBuffer;
+            }
         }
+        // extend limit to capacity
+        charBuffer.limit(charBuffer.capacity());
         // append characters
-        this.charBuffer.put(data, start, length);
-
+        charBuffer.put(data, start, length);
+        // shrink limit to position
+        charBuffer.limit(charBuffer.position());
     }
 
     /**
@@ -119,19 +141,19 @@
      */
     public char[] getCharArray() {
 
-        if (this.charBuffer == null) {
+        if (charBuffer == null) {
             return null;
         }
 
-        if (this.charBuffer.hasArray()) {
-            return this.charBuffer.array();
+        if (charBuffer.hasArray()) {
+            return charBuffer.array();
         }
 
         // only if the buffer implementation has
         // no accessible backing array, return a new one
-        char[] ca = new char[this.charBuffer.limit()];
-        this.charBuffer.rewind();
-        this.charBuffer.get(ca);
+        char[] ca = new char[charBuffer.limit()];
+        charBuffer.rewind();
+        charBuffer.get(ca);
         return ca;
 
     }
@@ -143,10 +165,10 @@
         if (removeChildren) {
             // not really removing, just make sure the char buffer
             // pointed to is really a different one
-            if (this.charBuffer != null) {
-                ft.charBuffer = CharBuffer.allocate(this.charBuffer.limit());
-                this.charBuffer.rewind();
-                ft.charBuffer.put(this.charBuffer);
+            if (charBuffer != null) {
+                ft.charBuffer = CharBuffer.allocate(charBuffer.limit());
+                charBuffer.rewind();
+                ft.charBuffer.put(charBuffer);
                 ft.charBuffer.rewind();
             }
         }
@@ -171,13 +193,19 @@
         this.wrapOption = pList.get(Constants.PR_WRAP_OPTION).getEnum();
         this.textDecoration = pList.getTextDecorationProps();
         this.baselineShift = pList.get(Constants.PR_BASELINE_SHIFT).getLength();
+        this.country = pList.get(Constants.PR_COUNTRY).getString();
+        this.language = pList.get(Constants.PR_LANGUAGE).getString();
+        this.script = pList.get(Constants.PR_SCRIPT).getString();
     }
 
     /** {@inheritDoc} */
     protected void endOfNode() throws FOPException {
+        if ( charBuffer != null ) {
+            charBuffer.rewind();
+        }
         super.endOfNode();
         getFOEventHandler().characters(
-                this.getCharArray(), 0, this.charBuffer.limit());
+                this.getCharArray(), 0, charBuffer.limit());
     }
 
     /** {@inheritDoc} */
@@ -196,20 +224,20 @@
      */
     public boolean willCreateArea() {
         if (whiteSpaceCollapse == Constants.EN_FALSE
-                && this.charBuffer.limit() > 0) {
+                && charBuffer.limit() > 0) {
             return true;
         }
 
         char ch;
-        this.charBuffer.rewind();
-        while (this.charBuffer.hasRemaining()) {
-            ch = this.charBuffer.get();
+        charBuffer.rewind();
+        while (charBuffer.hasRemaining()) {
+            ch = charBuffer.get();
             if (!((ch == CharUtilities.SPACE)
                     || (ch == CharUtilities.LINEFEED_CHAR)
                     || (ch == CharUtilities.CARRIAGE_RETURN)
                     || (ch == CharUtilities.TAB))) {
                 // not whitespace
-                this.charBuffer.rewind();
+                charBuffer.rewind();
                 return true;
             }
         }
@@ -252,13 +280,13 @@
             return;
         }
 
-        this.charBuffer.rewind();
-        CharBuffer tmp = this.charBuffer.slice();
+        charBuffer.rewind();
+        CharBuffer tmp = charBuffer.slice();
         char c;
-        int lim = this.charBuffer.limit();
+        int lim = charBuffer.limit();
         int pos = -1;
         while (++pos < lim) {
-            c = this.charBuffer.get();
+            c = charBuffer.get();
             switch (textTransform) {
                 case Constants.EN_UPPERCASE:
                     tmp.put(Character.toUpperCase(c));
@@ -383,25 +411,25 @@
      * @return The previous FOText node in this Block; null, if this is the
      * first FOText in this Block.
      */
-    public FOText getPrevFOTextThisBlock () {
-        return prevFOTextThisBlock;
-    }
+    //public FOText getPrevFOTextThisBlock () {
+    //    return prevFOTextThisBlock;
+    //}
 
     /**
      * @return The next FOText node in this Block; null if this is the last
      * FOText in this Block; null if subsequent FOText nodes have not yet been
      * processed.
      */
-    public FOText getNextFOTextThisBlock () {
-        return nextFOTextThisBlock;
-    }
+    //public FOText getNextFOTextThisBlock () {
+    //    return nextFOTextThisBlock;
+    //}
 
     /**
      * @return The nearest ancestor block object which contains this FOText.
      */
-    public Block getAncestorBlock () {
-        return ancestorBlock;
-    }
+    //public Block getAncestorBlock () {
+    //    return ancestorBlock;
+    //}
 
     /**
      * Determines whether the input char should be considered part of a
@@ -494,6 +522,9 @@
         private boolean canRemove = false;
         private boolean canReplace = false;
 
+        public TextCharIterator() {
+        }
+
         /** {@inheritDoc} */
         public boolean hasNext() {
            return (this.currentPosition < charBuffer.limit());
@@ -565,67 +596,88 @@
     }
 
     /**
-     * @return the "color" property.
+     * @return the "color" trait.
      */
     public Color getColor() {
         return color;
     }
 
     /**
-     * @return the "keep-together" property.
+     * @return the "keep-together" trait.
      */
     public KeepProperty getKeepTogether() {
         return keepTogether;
     }
 
     /**
-     * @return the "letter-spacing" property.
+     * @return the "letter-spacing" trait.
      */
     public Property getLetterSpacing() {
         return letterSpacing;
     }
 
     /**
-     * @return the "line-height" property.
+     * @return the "line-height" trait.
      */
     public SpaceProperty getLineHeight() {
         return lineHeight;
     }
 
     /**
-     * @return the "white-space-treatment" property
+     * @return the "white-space-treatment" trait
      */
     public int getWhitespaceTreatment() {
         return whiteSpaceTreatment;
     }
 
     /**
-     * @return the "word-spacing" property.
+     * @return the "word-spacing" trait.
      */
     public Property getWordSpacing() {
         return wordSpacing;
     }
 
     /**
-     * @return the "wrap-option" property.
+     * @return the "wrap-option" trait.
      */
     public int getWrapOption() {
         return wrapOption;
     }
 
-    /** @return the "text-decoration" property. */
+    /** @return the "text-decoration" trait. */
     public CommonTextDecoration getTextDecoration() {
         return textDecoration;
     }
 
-    /** @return the baseline-shift property */
+    /** @return the baseline-shift trait */
     public Length getBaseLineShift() {
         return baselineShift;
     }
 
+    /** @return the country trait */
+    public String getCountry() {
+        return country;
+    }
+
+    /** @return the language trait */
+    public String getLanguage() {
+        return language;
+    }
+
+    /** @return the script trait */
+    public String getScript() {
+        return script;
+    }
+
     /** {@inheritDoc} */
     public String toString() {
-        return (this.charBuffer == null) ? "" : this.charBuffer.toString();
+        if ( charBuffer == null ) {
+            return "";
+        } else {
+            CharBuffer cb = charBuffer.duplicate();
+            cb.rewind();
+            return cb.toString();
+        }
     }
 
     /** {@inheritDoc} */
@@ -649,25 +701,203 @@
 
     /** {@inheritDoc} */
     public char charAt(int position) {
-        return this.charBuffer.get(position);
+        return charBuffer.get(position);
     }
 
     /** {@inheritDoc} */
     public CharSequence subSequence(int start, int end) {
-        return this.charBuffer.subSequence(start, end);
+        return charBuffer.subSequence(start, end);
     }
 
     /** {@inheritDoc} */
     public int length() {
-        return this.charBuffer.limit();
+        return charBuffer.limit();
     }
 
     /**
      * Resets the backing <code>java.nio.CharBuffer</code>
      */
     public void resetBuffer() {
-        if (this.charBuffer != null) {
-            this.charBuffer.rewind();
+        if (charBuffer != null) {
+            charBuffer.rewind();
         }
     }
+
+    /**
+     * Set bidirectional level over interval [start,end).
+     * @param level the resolved level
+     * @param start the starting index of interval
+     * @param end the ending index of interval
+     */
+    public void setBidiLevel ( int level, int start, int end ) {
+        if ( start < end ) {
+            if ( bidiLevels == null ) {
+                bidiLevels = new int [ length() ];
+            }
+            for ( int i = start, n = end; i < n; i++ ) {
+                bidiLevels [ i ] = level;
+            }
+        } else {
+            assert start < end;
+        }
+    }
+
+    /**
+     * Obtain bidirectional level of each character
+     * represented by this FOText.
+     * @return a (possibly empty) array of bidi levels or null
+     * in case no bidi levels have been assigned
+     */
+    public int[] getBidiLevels() {
+        return bidiLevels;
+    }
+
+    /**
+     * Obtain bidirectional level of each character over
+     * interval [start,end).
+     * @param start the starting index of interval
+     * @param end the ending index of interval
+     * @return a (possibly empty) array of bidi levels or null
+     * in case no bidi levels have been assigned
+     */
+    public int[] getBidiLevels ( int start, int end ) {
+        if ( this.bidiLevels != null ) {
+            assert start <= end;
+            int n = end - start;
+            int[] bidiLevels = new int [ n ];
+            for ( int i = 0; i < n; i++ ) {
+                bidiLevels[i] = this.bidiLevels [ start + i ];
+            }
+            return bidiLevels;
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Obtain bidirectional level of character at
+     * specified position, which must be a non-negative integer
+     * less than the length of this FO.
+     * @param position an offset position into FO's characters
+     * @return a resolved bidi level or -1 if default
+     * @throws IndexOutOfBoundsException if position is not non-negative integer
+     * or is greater than or equal to length
+     */
+    public int bidiLevelAt ( int position ) throws IndexOutOfBoundsException {
+        if ( ( position < 0 ) || ( position >= length() ) ) {
+            throw new IndexOutOfBoundsException();
+        } else if ( bidiLevels != null ) {
+            return bidiLevels [ position ];
+        } else {
+            return -1;
+        }
+    }
+
+    /**
+     * Add characters mapped by script substitution processing.
+     * @param start index in character buffer
+     * @param end index in character buffer
+     * @param mappedChars sequence of character codes denoting substituted characters
+     */
+    public void addMapping ( int start, int end, CharSequence mappedChars ) {
+        if ( mappings == null ) {
+            mappings = new java.util.HashMap();
+        }
+        mappings.put ( new MapRange ( start, end ), mappedChars.toString() );
+    }
+
+    /**
+     * Determine if characters over specific interval  have a mapping.
+     * @param start index in character buffer
+     * @param end index in character buffer
+     * @return true if a mapping exist such that the mapping's interval is coincident to
+     * [start,end)
+     */
+    public boolean hasMapping ( int start, int end ) {
+        return ( mappings != null ) && ( mappings.containsKey ( new MapRange ( start, end ) ) );
+    }
+
+    /**
+     * Obtain mapping of characters over specific interval.
+     * @param start index in character buffer
+     * @param end index in character buffer
+     * @return a string of characters representing the mapping over the interval
+     * [start,end)
+     */
+    public String getMapping ( int start, int end ) {
+        if ( mappings != null ) {
+            return (String) mappings.get ( new MapRange ( start, end ) );
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Obtain length of mapping of characters over specific interval.
+     * @param start index in character buffer
+     * @param end index in character buffer
+     * @return the length of the mapping (if present) or zero
+     */
+    public int getMappingLength ( int start, int end ) {
+        if ( mappings != null ) {
+            return ( (String) mappings.get ( new MapRange ( start, end ) ) ) .length();
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * Obtain bidirectional levels of mapping of characters over specific interval.
+     * @param start index in character buffer
+     * @param end index in character buffer
+     * @return a (possibly empty) array of bidi levels or null
+     * in case no bidi levels have been assigned
+     */
+    public int[] getMappingBidiLevels ( int start, int end ) {
+        if ( hasMapping ( start, end ) ) {
+            int   nc = end - start;
+            int   nm = getMappingLength ( start, end );
+            int[] la = getBidiLevels ( start, end );
+            if ( la == null ) {
+                return null;
+            } else if ( nm == nc ) {            // mapping is same length as mapped range
+                return la;
+            } else if ( nm > nc ) {             // mapping is longer than mapped range
+                int[] ma = new int [ nm ];
+                System.arraycopy ( la, 0, ma, 0, la.length );
+                for ( int i = la.length,
+                          n = ma.length, l = ( i > 0 ) ? la [ i - 1 ] : 0; i < n; i++ ) {
+                    ma [ i ] = l;
+                }
+                return ma;
+            } else {                            // mapping is shorter than mapped range
+                int[] ma = new int [ nm ];
+                System.arraycopy ( la, 0, ma, 0, ma.length );
+                return ma;
+            }
+        } else {
+            return getBidiLevels ( start, end );
+        }
+    }
+
+    private static class MapRange {
+        private int start;
+        private int end;
+        MapRange(int start, int end) {
+            this.start = start;
+            this.end = end;
+        }
+        public int hashCode() {
+            return ( start * 31 ) + end;
+        }
+        public boolean equals ( Object o ) {
+            if ( o instanceof MapRange ) {
+                MapRange r = (MapRange) o;
+                return ( r.start == start ) && ( r.end == end );
+            } else {
+                return false;
+            }
+        }
+    }
+
 }
diff --git a/src/java/org/apache/fop/fo/FObj.java b/src/java/org/apache/fop/fo/FObj.java
index 98661b8..7d0e376 100644
--- a/src/java/org/apache/fop/fo/FObj.java
+++ b/src/java/org/apache/fop/fo/FObj.java
@@ -67,6 +67,8 @@
     /** Markers added to this element. */
     private Map markers = null;
 
+    private int bidiLevel = -1;
+
     // The value of properties relevant for all fo objects
     private String id = null;
     // End of property values
@@ -118,9 +120,7 @@
                     throws FOPException {
         setLocator(locator);
         pList.addAttributesToList(attlist);
-        if (!inMarker()
-                || "marker".equals(elementName)) {
-            pList.setWritingMode();
+        if (!inMarker() || "marker".equals(elementName)) {
             bind(pList);
         }
     }
@@ -559,6 +559,26 @@
     }
 
     /**
+     * Set resolved bidirectional level of FO.
+     * @param bidiLevel a non-negative bidi embedding level
+     */
+    public void setBidiLevel(int bidiLevel) {
+        assert bidiLevel >= 0;
+        if ( bidiLevel >= 0 ) {
+            this.bidiLevel = bidiLevel;
+        }
+    }
+
+    /**
+     * Obtain resolved bidirectional level of FO.
+     * @return either a non-negative bidi embedding level or -1
+     * in case no bidi levels have been assigned
+     */
+    public int getBidiLevel() {
+        return bidiLevel;
+    }
+
+    /**
      * Add a new extension attachment to this FObj.
      * (see org.apache.fop.fo.FONode for details)
      *
diff --git a/src/java/org/apache/fop/fo/PropertyList.java b/src/java/org/apache/fop/fo/PropertyList.java
index a1634e8..8d43192 100644
--- a/src/java/org/apache/fop/fo/PropertyList.java
+++ b/src/java/org/apache/fop/fo/PropertyList.java
@@ -47,8 +47,6 @@
  */
 public abstract class PropertyList {
 
-    // writing-mode index
-    private int writingMode;
 
     private static boolean[] inheritableProperty;
 
@@ -221,58 +219,60 @@
     }
 
     /**
-     * Set writing mode for this FO.
-     * Use that from the nearest ancestor, including self, which generates
-     * reference areas, or from root FO if no ancestor found.
-     * @throws PropertyException ...
-     */
-    public void setWritingMode() throws PropertyException {
-        FObj p = fobj.findNearestAncestorFObj();
-        // If this is a reference area or the root, use the property value.
-        if (fobj.generatesReferenceAreas() || p == null) {
-            writingMode = get(Constants.PR_WRITING_MODE).getEnum();
-        } else {
-            // Otherwise get the writing mode value from the parent.
-            writingMode = getParentPropertyList().getWritingMode();
-        }
-    }
-
-    /**
-     * Return the "writing-mode" property value.
-     * @return the "writing-mode" property value.
-     */
-    public int getWritingMode() {
-        return writingMode;
-    }
-
-
-    /**
-     * Uses the stored writingMode.
+     * Select a writing mode dependent property ID based on value of writing mode property.
      * @param lrtb the property ID to return under lrtb writingmode.
      * @param rltb the property ID to return under rltb writingmode.
      * @param tbrl the property ID to return under tbrl writingmode.
+     * @param tblr the property ID to return under tblr writingmode.
      * @return one of the property IDs, depending on the writing mode.
      */
-    public int getWritingMode(int lrtb, int rltb, int tbrl) {
-        switch (writingMode) {
-            case Constants.EN_LR_TB: return lrtb;
-            case Constants.EN_RL_TB: return rltb;
-            case Constants.EN_TB_RL: return tbrl;
+    public int selectFromWritingMode(int lrtb, int rltb, int tbrl, int tblr) {
+        int propID;
+        try {
+            switch (get(Constants.PR_WRITING_MODE).getEnum()) {
+            case Constants.EN_LR_TB:
+                propID = lrtb;
+                break;
+            case Constants.EN_RL_TB:
+                propID = rltb;
+                break;
+            case Constants.EN_TB_RL:
+                propID = tbrl;
+                break;
+            case Constants.EN_TB_LR:
+                propID = tblr;
+                break;
             default:
-                //nop
+            propID = -1;
+                break;
+            }
+        } catch ( PropertyException e ) {
+            propID = -1;
         }
-        return -1;
+        return propID;
     }
 
     private String addAttributeToList(Attributes attributes,
                                     String attributeName) throws ValidationException {
         String attributeValue = attributes.getValue(attributeName);
-        convertAttributeToProperty(attributes, attributeName, attributeValue);
+        if ( attributeValue != null ) {
+            convertAttributeToProperty(attributes, attributeName, attributeValue);
+        }
         return attributeValue;
     }
 
     /**
-     * Adds the attributes, passed in by the parser to the PropertyList
+     * <p>Adds the attributes, passed in by the parser to the PropertyList.</p>
+     * <p>Note that certain attributes are given priority in terms of order of
+     * processing due to conversion dependencies, where the order is as follows:</p>
+     * <ol>
+     * <li>writing-mode</li>
+     * <li>column-number</li>
+     * <li>number-columns-spanned</li>
+     * <li>font</li>
+     * <li>font-size</li>
+     * <li><emph>all others in order of appearance</emph></li>
+     * </ol>
      *
      * @param attributes Collection of attributes passed to us from the parser.
      * @throws ValidationException if there is an attribute that does not
@@ -281,6 +281,11 @@
     public void addAttributesToList(Attributes attributes)
                     throws ValidationException {
         /*
+         * Give writing-mode highest conversion priority.
+         */
+        addAttributeToList(attributes, "writing-mode");
+
+        /*
          * If column-number/number-columns-spanned are specified, then we
          * need them before all others (possible from-table-column() on any
          * other property further in the list...
@@ -301,9 +306,9 @@
             addAttributeToList(attributes, "font-size");
         }
 
+        String attributeNS;
         String attributeName;
         String attributeValue;
-        String attributeNS;
         FopFactory factory = getFObj().getUserAgent().getFactory();
         for (int i = 0; i < attributes.getLength(); i++) {
             /* convert all attributes with the same namespace as the fo element
@@ -656,4 +661,3 @@
         return CommonTextDecoration.createFromPropertyList(this);
     }
 }
-
diff --git a/src/java/org/apache/fop/fo/flow/AbstractGraphics.java b/src/java/org/apache/fop/fo/flow/AbstractGraphics.java
index eeb06c1..71199c2 100644
--- a/src/java/org/apache/fop/fo/flow/AbstractGraphics.java
+++ b/src/java/org/apache/fop/fo/flow/AbstractGraphics.java
@@ -72,8 +72,6 @@
     //     private int scalingMethod;
     // End of property values
 
-
-
     /**
      * constructs an instream-foreign-object object (called by Maker).
      *
@@ -230,4 +228,5 @@
 
     /** @return the graphic's intrinsic alignment-adjust */
     public abstract Length getIntrinsicAlignmentAdjust();
+
 }
diff --git a/src/java/org/apache/fop/fo/flow/BidiOverride.java b/src/java/org/apache/fop/fo/flow/BidiOverride.java
index 6e4a743..4bd6f46 100644
--- a/src/java/org/apache/fop/fo/flow/BidiOverride.java
+++ b/src/java/org/apache/fop/fo/flow/BidiOverride.java
@@ -22,35 +22,29 @@
 import org.xml.sax.Locator;
 
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.datatypes.Length;
+import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FObjMixed;
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.ValidationException;
+import org.apache.fop.fo.properties.Property;
 import org.apache.fop.fo.properties.SpaceProperty;
 
 /**
  * Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_bidi-override">
  * <code>fo:bidi-override</code></a> object.
  */
-public class BidiOverride extends FObjMixed {
+public class BidiOverride extends Inline {
 
-    // used for FO validation
-    private boolean blockOrInlineItemFound = false;
-    private boolean canHaveBlockLevelChildren = true;
-    // The value of properties relevant for fo:bidi-override.
-    // private ToBeImplementedProperty prDirection;
-    // private ToBeImplementedProperty prLetterSpacing;
-    private SpaceProperty lineHeight;
-    // private ToBeImplementedProperty prScoreSpaces;
-    // private ToBeImplementedProperty prUnicodeBidi;
-
-    // Unused but valid items, commented out for performance:
-    //     private CommonAural commonAural;
-    //     private CommonFont commonFont;
-    //     private CommonRelativePosition commonRelativePosition;
-    //     private Color prColor;
-    //     private SpaceProperty prWordSpacing;
-    // End of property values
+    // The value of FO traits (refined properties) that apply to fo:bidi-override
+    // (that are not implemented by InlineLevel).
+    private Property letterSpacing;
+    private Property wordSpacing;
+    private int direction;
+    private int unicodeBidi;
+    // private int scoreSpaces;
+    // End of trait values
 
     /**
      * Base constructor
@@ -59,66 +53,35 @@
      */
     public BidiOverride(FONode parent) {
         super(parent);
-
-       /* Check to see if this node can have block-level children.
-        * See validateChildNode() below.
-        */
-       int lvlLeader = findAncestor(FO_LEADER);
-       int lvlInCntr = findAncestor(FO_INLINE_CONTAINER);
-       int lvlInline = findAncestor(FO_INLINE);
-       int lvlFootnote = findAncestor(FO_FOOTNOTE);
-
-       if (lvlLeader > 0) {
-           if (lvlInCntr < 0 || (lvlInCntr > 0 && lvlInCntr > lvlLeader)) {
-               canHaveBlockLevelChildren = false;
-           }
-       } else if (lvlInline > 0 && lvlFootnote == (lvlInline + 1)) {
-           if (lvlInCntr < 0 || (lvlInCntr > 0 && lvlInCntr > lvlInline)) {
-               canHaveBlockLevelChildren = false;
-           }
-       }
-
     }
 
     /** {@inheritDoc} */
     public void bind(PropertyList pList) throws FOPException {
-        // prDirection = pList.get(PR_DIRECTION);
-        // prLetterSpacing = pList.get(PR_LETTER_SPACING);
-        lineHeight = pList.get(PR_LINE_HEIGHT).getSpace();
-        // prScoreSpaces = pList.get(PR_SCORE_SPACES);
-        // prUnicodeBidi = pList.get(PR_UNICODE_BIDI);
+        super.bind(pList);
+        letterSpacing = pList.get(PR_LETTER_SPACING);
+        wordSpacing = pList.get(PR_WORD_SPACING);
+        direction = pList.get(PR_DIRECTION).getEnum();
+        unicodeBidi = pList.get(PR_UNICODE_BIDI).getEnum();
     }
 
-    /**
-     * {@inheritDoc}
-     * <br>XSL Content Model: marker* (#PCDATA|%inline;|%block;)*
-     * <br><i>Additionally: "An fo:bidi-override that is a descendant of an fo:leader
-     *  or of the fo:inline child of an fo:footnote may not have block-level
-     *  children, unless it has a nearer ancestor that is an
-     *  fo:inline-container."</i>
-     */
-    protected void validateChildNode(Locator loc, String nsURI, String localName)
-                throws ValidationException {
-        if (FO_URI.equals(nsURI)) {
-            if (localName.equals("marker")) {
-                if (blockOrInlineItemFound) {
-                   nodesOutOfOrderError(loc, "fo:marker",
-                        "(#PCDATA|%inline;|%block;)");
-                }
-            } else if (!isBlockOrInlineItem(nsURI, localName)) {
-                invalidChildError(loc, nsURI, localName);
-            } else if (!canHaveBlockLevelChildren && isBlockItem(nsURI, localName)) {
-                invalidChildError(loc, getParent().getName(), nsURI, getName(),
-                        "rule.bidiOverrideContent");
-            } else {
-                blockOrInlineItemFound = true;
-            }
-        }
+    /** @return the "letter-spacing" trait */
+    public Property getLetterSpacing() {
+        return letterSpacing;
     }
 
-    /** @return the "line-height" property */
-    public SpaceProperty getLineHeight() {
-        return lineHeight;
+    /** @return the "word-spacing" trait */
+    public Property getWordSpacing() {
+        return wordSpacing;
+    }
+
+    /** @return the "direction" trait */
+    public int getDirection() {
+        return direction;
+    }
+
+    /** @return the "unicodeBidi" trait */
+    public int getUnicodeBidi() {
+        return unicodeBidi;
     }
 
     /** {@inheritDoc} */
diff --git a/src/java/org/apache/fop/fo/flow/Block.java b/src/java/org/apache/fop/fo/flow/Block.java
index 66e06db..9d32975 100644
--- a/src/java/org/apache/fop/fo/flow/Block.java
+++ b/src/java/org/apache/fop/fo/flow/Block.java
@@ -52,7 +52,7 @@
     private boolean blockOrInlineItemFound = false;
     private boolean initialPropertySetFound = false;
 
-    // The value of properties relevant for fo:block.
+    // The value of FO traits (refined properties) that apply to fo:block.
     private CommonBorderPaddingBackground commonBorderPaddingBackground;
     private CommonFont commonFont;
     private CommonHyphenation commonHyphenation;
@@ -89,7 +89,7 @@
     //     private Length textDepth;
     //     private Length textAltitude;
     //     private int visibility;
-    // End of property values
+    // End of FO trait values
 
     /**
      * Base constructor
@@ -170,7 +170,7 @@
         return commonHyphenation;
     }
 
-    /** @return the "break-after" property. */
+    /** @return the "break-after" trait. */
     public int getBreakAfter() {
         return breakAfter;
     }
@@ -180,82 +180,82 @@
         return ptr;
     }
 
-    /** @return the "break-before" property. */
+    /** @return the "break-before" trait. */
     public int getBreakBefore() {
         return breakBefore;
     }
 
-    /** @return the "hyphenation-ladder-count" property.  */
+    /** @return the "hyphenation-ladder-count" trait.  */
     public Numeric getHyphenationLadderCount() {
         return hyphenationLadderCount;
     }
 
-    /** @return the "keep-with-next" property.  */
+    /** @return the "keep-with-next" trait.  */
     public KeepProperty getKeepWithNext() {
         return keepWithNext;
     }
 
-    /** @return the "keep-with-previous" property.  */
+    /** @return the "keep-with-previous" trait.  */
     public KeepProperty getKeepWithPrevious() {
         return keepWithPrevious;
     }
 
-    /** @return the "keep-together" property.  */
+    /** @return the "keep-together" trait.  */
     public KeepProperty getKeepTogether() {
         return keepTogether;
     }
 
-    /** @return the "orphans" property.  */
+    /** @return the "orphans" trait.  */
     public int getOrphans() {
         return orphans.getValue();
     }
 
-    /** @return the "widows" property.  */
+    /** @return the "widows" trait.  */
     public int getWidows() {
         return widows.getValue();
     }
 
-    /** @return the "line-stacking-strategy" property.  */
+    /** @return the "line-stacking-strategy" trait.  */
     public int getLineStackingStrategy() {
         return lineStackingStrategy;
     }
 
-    /** @return the "color" property */
+    /** @return the "color" trait */
     public Color getColor() {
         return color;
     }
 
-    /** @return the "line-height" property */
+    /** @return the "line-height" trait */
     public SpaceProperty getLineHeight() {
         return lineHeight;
     }
 
-    /** @return the "span" property */
+    /** @return the "span" trait */
     public int getSpan() {
         return this.span;
     }
 
-    /** @return the "text-align" property */
+    /** @return the "text-align" trait */
     public int getTextAlign() {
         return textAlign;
     }
 
-    /** @return the "text-align-last" property */
+    /** @return the "text-align-last" trait */
     public int getTextAlignLast() {
         return textAlignLast;
     }
 
-    /** @return the "text-indent" property */
+    /** @return the "text-indent" trait */
     public Length getTextIndent() {
         return textIndent;
     }
 
-    /** @return the "last-line-end-indent" property */
+    /** @return the "last-line-end-indent" trait */
     public Length getLastLineEndIndent() {
         return lastLineEndIndent;
     }
 
-    /** @return the "wrap-option" property */
+    /** @return the "wrap-option" trait */
     public int getWrapOption() {
         return wrapOption;
     }
@@ -293,17 +293,17 @@
         }
     }
 
-    /** @return the "linefeed-treatment" property */
+    /** @return the "linefeed-treatment" trait */
     public int getLinefeedTreatment() {
         return linefeedTreatment;
     }
 
-    /** @return the "white-space-treatment" property */
+    /** @return the "white-space-treatment" trait */
     public int getWhitespaceTreatment() {
         return whiteSpaceTreatment;
     }
 
-    /** @return the "white-space-collapse" property */
+    /** @return the "white-space-collapse" trait */
     public int getWhitespaceCollapse() {
         return whiteSpaceCollapse;
     }
@@ -313,17 +313,17 @@
         return this.commonRelativePosition;
     }
 
-    /** @return the "hyphenation-keep" property */
+    /** @return the "hyphenation-keep" trait */
     public int getHyphenationKeep() {
         return this.hyphenationKeep;
     }
 
-    /** @return the "intrusion-displace" property */
+    /** @return the "intrusion-displace" trait */
     public int getIntrusionDisplace() {
         return this.intrusionDisplace;
     }
 
-    /** @return the "line-height-shift-adjustment" property */
+    /** @return the "line-height-shift-adjustment" trait */
     public int getLineHeightShiftAdjustment() {
         return this.lineHeightShiftAdjustment;
     }
@@ -333,9 +333,9 @@
      * {@link org.apache.fop.fo.Constants#EN_TRUE},
      * {@link org.apache.fop.fo.Constants#EN_FALSE}
      */
-     public int getDisableColumnBalancing() {
-         return disableColumnBalancing;
-     }
+    public int getDisableColumnBalancing() {
+        return disableColumnBalancing;
+    }
 
 
     /** {@inheritDoc} */
@@ -348,10 +348,10 @@
         return "block";
     }
 
-     /**
-      * {@inheritDoc}
-      * @return {@link org.apache.fop.fo.Constants#FO_BLOCK}
-      */
+    /**
+     * {@inheritDoc}
+     * @return {@link org.apache.fop.fo.Constants#FO_BLOCK}
+     */
     public int getNameId() {
         return FO_BLOCK;
     }
diff --git a/src/java/org/apache/fop/fo/flow/BlockContainer.java b/src/java/org/apache/fop/fo/flow/BlockContainer.java
index 57cb6e5..1dc43fd 100644
--- a/src/java/org/apache/fop/fo/flow/BlockContainer.java
+++ b/src/java/org/apache/fop/fo/flow/BlockContainer.java
@@ -31,14 +31,18 @@
 import org.apache.fop.fo.properties.CommonMarginBlock;
 import org.apache.fop.fo.properties.KeepProperty;
 import org.apache.fop.fo.properties.LengthRangeProperty;
+import org.apache.fop.traits.Direction;
+import org.apache.fop.traits.WritingMode;
+import org.apache.fop.traits.WritingModeTraits;
+import org.apache.fop.traits.WritingModeTraitsGetter;
 import org.xml.sax.Locator;
 
 /**
  * Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_block-container">
  * <code>fo:block-container</code></a> object.
  */
-public class BlockContainer extends FObj implements BreakPropertySet {
-    // The value of properties relevant for fo:block-container.
+public class BlockContainer extends FObj implements BreakPropertySet, WritingModeTraitsGetter {
+    // The value of FO traits (refined properties) that apply to fo:block-container.
     private CommonAbsolutePosition commonAbsolutePosition;
     private CommonBorderPaddingBackground commonBorderPaddingBackground;
     private CommonMarginBlock commonMarginBlock;
@@ -55,11 +59,11 @@
     private Numeric referenceOrientation;
     private int span;
     private int disableColumnBalancing;
-    private int writingMode;
+    private WritingModeTraits writingModeTraits;
     // Unused but valid items, commented out for performance:
     //     private int intrusionDisplace;
     //     private Numeric zIndex;
-    // End of property values
+    // End of FO trait values
 
     /** used for FO validation */
     private boolean blockItemFound = false;
@@ -92,7 +96,8 @@
         overflow = pList.get(PR_OVERFLOW).getEnum();
         referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
         span = pList.get(PR_SPAN).getEnum();
-        writingMode = pList.get(PR_WRITING_MODE).getEnum();
+        writingModeTraits = new WritingModeTraits
+            ( WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()) );
         disableColumnBalancing = pList.get(PR_X_DISABLE_COLUMN_BALANCING).getEnum();
     }
 
@@ -161,58 +166,58 @@
     }
 
     /**
-     * @return the "block-progression-dimension" property.
+     * @return the "block-progression-dimension" FO trait.
      */
     public LengthRangeProperty getBlockProgressionDimension() {
         return blockProgressionDimension;
     }
 
-    /** @return the "display-align" property. */
+    /** @return the "display-align" FO trait. */
     public int getDisplayAlign() {
         return displayAlign;
     }
 
-    /** @return the "break-after" property. */
+    /** @return the "break-after" FO trait. */
     public int getBreakAfter() {
         return breakAfter;
     }
 
-    /** @return the "break-before" property. */
+    /** @return the "break-before" FO trait. */
     public int getBreakBefore() {
         return breakBefore;
     }
 
-    /** @return the "keep-with-next" property.  */
+    /** @return the "keep-with-next" FO trait.  */
     public KeepProperty getKeepWithNext() {
         return keepWithNext;
     }
 
-    /** @return the "keep-with-previous" property.  */
+    /** @return the "keep-with-previous" FO trait.  */
     public KeepProperty getKeepWithPrevious() {
         return keepWithPrevious;
     }
 
-    /** @return the "keep-together" property.  */
+    /** @return the "keep-together" FO trait.  */
     public KeepProperty getKeepTogether() {
         return keepTogether;
     }
 
-    /** @return the "inline-progression-dimension" property */
+    /** @return the "inline-progression-dimension" FO trait */
     public LengthRangeProperty getInlineProgressionDimension() {
         return inlineProgressionDimension;
     }
 
-    /** @return the "overflow" property */
+    /** @return the "overflow" FO trait */
     public int getOverflow() {
         return overflow;
     }
 
-    /** @return the "reference-orientation" property */
+    /** @return the "reference-orientation" FO trait */
     public int getReferenceOrientation() {
         return referenceOrientation.getValue();
     }
 
-    /** @return the "span" property */
+    /** @return the "span" FO trait */
     public int getSpan() {
         return this.span;
     }
@@ -226,10 +231,52 @@
         return disableColumnBalancing;
     }
 
+    /**
+     * Obtain inline progression direction.
+     * @return the inline progression direction
+     */
+    public Direction getInlineProgressionDirection() {
+        return writingModeTraits.getInlineProgressionDirection();
+    }
 
-    /** @return the "writing-mode" property */
-    public int getWritingMode() {
-        return writingMode;
+    /**
+     * Obtain block progression direction.
+     * @return the block progression direction
+     */
+    public Direction getBlockProgressionDirection() {
+        return writingModeTraits.getBlockProgressionDirection();
+    }
+
+    /**
+     * Obtain column progression direction.
+     * @return the column progression direction
+     */
+    public Direction getColumnProgressionDirection() {
+        return writingModeTraits.getColumnProgressionDirection();
+    }
+
+    /**
+     * Obtain row progression direction.
+     * @return the row progression direction
+     */
+    public Direction getRowProgressionDirection() {
+        return writingModeTraits.getRowProgressionDirection();
+    }
+
+    /**
+     * Obtain (baseline) shift direction.
+     * @return the (baseline) shift direction
+     */
+    public Direction getShiftDirection() {
+        return writingModeTraits.getShiftDirection();
+    }
+
+    /**
+     * Obtain writing mode.
+     * @return the writing mode
+     */
+    public WritingMode getWritingMode() {
+        return writingModeTraits.getWritingMode();
     }
 
     /** {@inheritDoc} */
diff --git a/src/java/org/apache/fop/fo/flow/InlineContainer.java b/src/java/org/apache/fop/fo/flow/InlineContainer.java
index d2422a2..4d25960 100644
--- a/src/java/org/apache/fop/fo/flow/InlineContainer.java
+++ b/src/java/org/apache/fop/fo/flow/InlineContainer.java
@@ -33,6 +33,10 @@
 import org.apache.fop.fo.properties.KeepProperty;
 import org.apache.fop.fo.properties.LengthRangeProperty;
 import org.apache.fop.fo.properties.SpaceProperty;
+import org.apache.fop.traits.Direction;
+import org.apache.fop.traits.WritingMode;
+import org.apache.fop.traits.WritingModeTraits;
+import org.apache.fop.traits.WritingModeTraitsGetter;
 
 /**
  * Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_inline-container">
@@ -40,7 +44,7 @@
  */
 public class InlineContainer extends FObj {
 
-    // The value of properties relevant for fo:inline-container.
+    // The value of FO traits (refined properties) that apply to fo:inline-container.
     private Length alignmentAdjust;
     private int alignmentBaseline;
     private Length baselineShift;
@@ -54,7 +58,7 @@
     private SpaceProperty lineHeight;
     private int overflow;
     private Numeric referenceOrientation;
-    private int writingMode;
+    private WritingModeTraits writingModeTraits;
     // Unused but valid items, commented out for performance:
     //     private CommonRelativePosition commonRelativePosition;
     //     private int displayAlign;
@@ -62,7 +66,7 @@
     //     private KeepProperty keepWithNext;
     //     private KeepProperty keepWithPrevious;
     //     private Length width;
-    // End of property values
+    // End of FO trait values
 
     /** used for FO validation */
     private boolean blockItemFound = false;
@@ -92,7 +96,8 @@
         lineHeight = pList.get(PR_LINE_HEIGHT).getSpace();
         overflow = pList.get(PR_OVERFLOW).getEnum();
         referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
-        writingMode = pList.get(PR_WRITING_MODE).getEnum();
+        writingModeTraits = new WritingModeTraits
+            ( WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()) );
     }
 
     /**
@@ -121,27 +126,27 @@
         }
     }
 
-    /** @return the "alignment-adjust" property */
+    /** @return the "alignment-adjust" FO trait */
     public Length getAlignmentAdjust() {
         return alignmentAdjust;
     }
 
-    /** @return the "alignment-baseline" property */
+    /** @return the "alignment-baseline" FO trait */
     public int getAlignmentBaseline() {
         return alignmentBaseline;
     }
 
-    /** @return the "baseline-shift" property */
+    /** @return the "baseline-shift" FO trait */
     public Length getBaselineShift() {
         return baselineShift;
     }
 
-    /** @return the "block-progression-dimension" property */
+    /** @return the "block-progression-dimension" FO trait */
     public LengthRangeProperty getBlockProgressionDimension() {
         return blockProgressionDimension;
     }
 
-    /** @return the "clip" property */
+    /** @return the "clip" FO trait */
     public int getClip() {
         return clip;
     }
@@ -156,39 +161,82 @@
         return this.commonMarginInline;
     }
 
-    /** @return the "dominant-baseline" property */
+    /** @return the "dominant-baseline" FO trait */
     public int getDominantBaseline() {
         return dominantBaseline;
     }
 
-    /** @return the "keep-together" property */
+    /** @return the "keep-together" FO trait */
     public KeepProperty getKeepTogether() {
         return keepTogether;
     }
 
-    /** @return the "inline-progression-dimension" property */
+    /** @return the "inline-progression-dimension" FO trait */
     public LengthRangeProperty getInlineProgressionDimension() {
         return inlineProgressionDimension;
     }
 
-    /** @return the "line-height" property */
+    /** @return the "line-height" FO trait */
     public SpaceProperty getLineHeight() {
         return lineHeight;
     }
 
-    /** @return the "overflow" property */
+    /** @return the "overflow" FO trait */
     public int getOverflow() {
         return overflow;
     }
 
-    /** @return the "reference-orientation" property */
+    /** @return the "reference-orientation" FO trait */
     public int getReferenceOrientation() {
         return referenceOrientation.getValue();
     }
 
-    /** @return the "writing-mode" property */
-    public int getWritingMode() {
-        return writingMode;
+    /**
+     * Obtain inline progression direction.
+     * @return the inline progression direction
+     */
+    public Direction getInlineProgressionDirection() {
+        return writingModeTraits.getInlineProgressionDirection();
+    }
+
+    /**
+     * Obtain block progression direction.
+     * @return the block progression direction
+     */
+    public Direction getBlockProgressionDirection() {
+        return writingModeTraits.getBlockProgressionDirection();
+    }
+
+    /**
+     * Obtain column progression direction.
+     * @return the column progression direction
+     */
+    public Direction getColumnProgressionDirection() {
+        return writingModeTraits.getColumnProgressionDirection();
+    }
+
+    /**
+     * Obtain row progression direction.
+     * @return the row progression direction
+     */
+    public Direction getRowProgressionDirection() {
+        return writingModeTraits.getRowProgressionDirection();
+    }
+
+    /**
+     * Obtain (baseline) shift direction.
+     * @return the (baseline) shift direction
+     */
+    public Direction getShiftDirection() {
+        return writingModeTraits.getShiftDirection();
+    }
+
+    /**
+     * Obtain writing mode.
+     * @return the writing mode
+     */
+    public WritingMode getWritingMode() {
+        return writingModeTraits.getWritingMode();
     }
 
     /** {@inheritDoc} */
diff --git a/src/java/org/apache/fop/fo/flow/InlineLevel.java b/src/java/org/apache/fop/fo/flow/InlineLevel.java
index 5410e1c..e71200d 100644
--- a/src/java/org/apache/fop/fo/flow/InlineLevel.java
+++ b/src/java/org/apache/fop/fo/flow/InlineLevel.java
@@ -37,7 +37,7 @@
  */
 public abstract class InlineLevel extends FObjMixed {
 
-    // The value of properties relevant for inline-level FOs.
+    // The value of FO traits (refined properties) that apply to inline level FOs.
     private CommonBorderPaddingBackground commonBorderPaddingBackground;
     private CommonMarginInline commonMarginInline;
     private CommonFont commonFont;
@@ -45,7 +45,7 @@
     private KeepProperty keepWithNext;
     private KeepProperty keepWithPrevious;
     private SpaceProperty lineHeight;
-    // End of property values
+    // End of trait values
 
     /**
      * Base constructor
@@ -83,22 +83,22 @@
         return commonFont;
     }
 
-    /** @return the "color" property */
+    /** @return the "color" trait */
     public Color getColor() {
         return color;
     }
 
-    /** @return the "line-height" property */
+    /** @return the "line-height" trait */
     public SpaceProperty getLineHeight() {
         return lineHeight;
     }
 
-    /** @return the "keep-with-next" property */
+    /** @return the "keep-with-next" trait */
     public KeepProperty getKeepWithNext() {
         return keepWithNext;
     }
 
-    /** @return the "keep-with-previous" property */
+    /** @return the "keep-with-previous" trait */
     public KeepProperty getKeepWithPrevious() {
         return keepWithPrevious;
     }
diff --git a/src/java/org/apache/fop/fo/flow/Leader.java b/src/java/org/apache/fop/fo/flow/Leader.java
index 5402751..10b2c3e 100644
--- a/src/java/org/apache/fop/fo/flow/Leader.java
+++ b/src/java/org/apache/fop/fo/flow/Leader.java
@@ -19,10 +19,13 @@
 
 package org.apache.fop.fo.flow;
 
+import org.xml.sax.Locator;
+
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.datatypes.Length;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.PropertyList;
+import org.apache.fop.fo.ValidationException;
 import org.apache.fop.fo.properties.LengthRangeProperty;
 
 /**
@@ -30,7 +33,6 @@
  * <code>fo:leader</code></a> object.
  * The main property of <code>fo:leader</code> is leader-pattern.
  * The following patterns are treated: rule, space, dots and use-content.
- * TODO implement validateChildNode()
  */
 public class Leader extends InlineLevel {
     // The value of properties relevant for fo:leader.
@@ -96,6 +98,28 @@
         // textShadow = pList.get(PR_TEXT_SHADOW);
     }
 
+    /**
+     * {@inheritDoc}
+     * <br>XSL Content Model: (#PCDATA|%inline;)*
+     * <br><i>Additionally: "The content must not contain an
+     * fo:leader, fo:inline-container, fo:block-container, fo:float,
+     * fo:footnote, or fo:marker either as a direct child or as a
+     * descendant."</i>
+     */
+    protected void validateChildNode(Locator loc, String nsURI, String localName)
+        throws ValidationException {
+        if (FO_URI.equals(nsURI)) {
+            if ( localName.equals("leader")
+                 || localName.equals("inline-container")
+                 || localName.equals("block-container")
+                 || localName.equals("float")
+                 || localName.equals("marker")
+                 || !isInlineItem(nsURI, localName) ) {
+                invalidChildError(loc, nsURI, localName);
+            }
+        }
+    }
+
     /** @return the "rule-style" property */
     public int getRuleStyle() {
         return ruleStyle;
diff --git a/src/java/org/apache/fop/fo/flow/table/Table.java b/src/java/org/apache/fop/fo/flow/table/Table.java
index 86196cb..466a77d 100644
--- a/src/java/org/apache/fop/fo/flow/table/Table.java
+++ b/src/java/org/apache/fop/fo/flow/table/Table.java
@@ -45,7 +45,7 @@
  */
 public class Table extends TableFObj implements ColumnNumberManagerHolder, BreakPropertySet {
 
-    /** properties */
+    // The value of FO traits (refined properties) that apply to fo:table.
     private CommonBorderPaddingBackground commonBorderPaddingBackground;
     private CommonMarginBlock commonMarginBlock;
     private LengthRangeProperty blockProgressionDimension;
@@ -60,12 +60,13 @@
     private int tableLayout;
     private int tableOmitFooterAtBreak;
     private int tableOmitHeaderAtBreak;
+    private int writingMode;
     // Unused but valid items, commented out for performance:
     //     private CommonAccessibility commonAccessibility;
     //     private CommonAural commonAural;
     //     private CommonRelativePosition commonRelativePosition;
     //     private int intrusionDisplace;
-    //     private int writingMode;
+    // End of FO trait values
 
     /** extension properties */
     private Length widowContentLimit;
@@ -126,6 +127,7 @@
         tableLayout = pList.get(PR_TABLE_LAYOUT).getEnum();
         tableOmitFooterAtBreak = pList.get(PR_TABLE_OMIT_FOOTER_AT_BREAK).getEnum();
         tableOmitHeaderAtBreak = pList.get(PR_TABLE_OMIT_HEADER_AT_BREAK).getEnum();
+        writingMode = pList.get(PR_WRITING_MODE).getEnum();
 
         //Bind extension properties
         widowContentLimit = pList.get(PR_X_WIDOW_CONTENT_LIMIT).getLength();
@@ -327,7 +329,6 @@
         TableColumn implicitColumn = new TableColumn(this, true);
         PropertyList pList = new StaticPropertyList(
                                 implicitColumn, this.propList);
-        pList.setWritingMode();
         implicitColumn.bind(pList);
         implicitColumn.setColumnWidth(new TableColLength(1.0, implicitColumn));
         implicitColumn.setColumnNumber(colNumber);
@@ -424,14 +425,14 @@
     }
 
     /**
-     * @return the "inline-progression-dimension" property.
+     * @return the "inline-progression-dimension" FO trait.
      */
     public LengthRangeProperty getInlineProgressionDimension() {
         return inlineProgressionDimension;
     }
 
     /**
-     * @return the "block-progression-dimension" property.
+     * @return the "block-progression-dimension" FO trait.
      */
     public LengthRangeProperty getBlockProgressionDimension() {
         return blockProgressionDimension;
@@ -451,27 +452,27 @@
         return commonBorderPaddingBackground;
     }
 
-    /** @return the "break-after" property. */
+    /** @return the "break-after" FO trait. */
     public int getBreakAfter() {
         return breakAfter;
     }
 
-    /** @return the "break-before" property. */
+    /** @return the "break-before" FO trait. */
     public int getBreakBefore() {
         return breakBefore;
     }
 
-    /** @return the "keep-with-next" property.  */
+    /** @return the "keep-with-next" FO trait.  */
     public KeepProperty getKeepWithNext() {
         return keepWithNext;
     }
 
-    /** @return the "keep-with-previous" property.  */
+    /** @return the "keep-with-previous" FO trait.  */
     public KeepProperty getKeepWithPrevious() {
         return keepWithPrevious;
     }
 
-    /** @return the "keep-together" property.  */
+    /** @return the "keep-together" FO trait.  */
     public KeepProperty getKeepTogether() {
         return keepTogether;
     }
@@ -485,7 +486,7 @@
                 || !getKeepTogether().getWithinColumn().isAuto();
     }
 
-    /** @return the "border-collapse" property. */
+    /** @return the "border-collapse" FO trait. */
     public int getBorderCollapse() {
         return borderCollapse;
     }
@@ -495,17 +496,22 @@
         return (getBorderCollapse() == EN_SEPARATE);
     }
 
-    /** @return the "border-separation" property. */
+    /** @return the "border-separation" FO trait. */
     public LengthPairProperty getBorderSeparation() {
         return borderSeparation;
     }
 
-    /** @return the "fox:widow-content-limit" extension property */
+    /** @return the "writing-mode" FO trait */
+    public int getWritingMode() {
+        return writingMode;
+    }
+
+    /** @return the "fox:widow-content-limit" extension FO trait */
     public Length getWidowContentLimit() {
         return widowContentLimit;
     }
 
-    /** @return the "fox:orphan-content-limit" extension property */
+    /** @return the "fox:orphan-content-limit" extension FO trait */
     public Length getOrphanContentLimit() {
         return orphanContentLimit;
     }
diff --git a/src/java/org/apache/fop/fo/pagination/PageSequence.java b/src/java/org/apache/fop/fo/pagination/PageSequence.java
index ee78bb8..6d01a7d 100644
--- a/src/java/org/apache/fop/fo/pagination/PageSequence.java
+++ b/src/java/org/apache/fop/fo/pagination/PageSequence.java
@@ -25,22 +25,28 @@
 import org.xml.sax.Locator;
 
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.datatypes.Numeric;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.ValidationException;
+import org.apache.fop.traits.Direction;
+import org.apache.fop.traits.WritingMode;
+import org.apache.fop.traits.WritingModeTraits;
+import org.apache.fop.traits.WritingModeTraitsGetter;
 
 /**
  * Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_page-sequence">
  * <code>fo:page-sequence</code></a> object.
  */
-public class PageSequence extends AbstractPageSequence {
+public class PageSequence extends AbstractPageSequence implements WritingModeTraitsGetter {
 
-    // The value of properties relevant for fo:page-sequence.
+    // The value of FO traits (refined properties) that apply to fo:page-sequence.
     private String country;
     private String language;
     private String masterReference;
-    //private int writingMode; //XSL 1.1
-    // End of property values
+    private Numeric referenceOrientation;
+    private WritingModeTraits writingModeTraits;
+    // End of trait values
 
     // There doesn't seem to be anything in the spec requiring flows
     // to be in the order given, only that they map to the regions
@@ -86,8 +92,9 @@
         country = pList.get(PR_COUNTRY).getString();
         language = pList.get(PR_LANGUAGE).getString();
         masterReference = pList.get(PR_MASTER_REFERENCE).getString();
-        //writingMode = pList.getWritingMode();
-
+        referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
+        writingModeTraits = new WritingModeTraits
+            ( WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()) );
         if (masterReference == null || masterReference.equals("")) {
             missingPropertyError("master-reference");
         }
@@ -292,8 +299,8 @@
     }
 
     /**
-     * Get the value of the <code>master-reference</code> property.
-     * @return the "master-reference" property
+     * Get the value of the <code>master-reference</code> trait.
+     * @return the "master-reference" trait
      */
     public String getMasterReference() {
         return masterReference;
@@ -313,22 +320,100 @@
     }
 
     /**
-     * Get the value of the <code>country</code> property.
-     * @return the country property value
+     * Get the value of the <code>country</code> trait.
+     * @return the country trait value
      */
     public String getCountry() {
         return this.country;
     }
 
     /**
-     * Get the value of the <code>language</code> property.
-     * @return the language property value
+     * Get the value of the <code>language</code> trait.
+     * @return the language trait value
      */
     public String getLanguage() {
         return this.language;
     }
 
     /**
+     * Get the value of the <code>reference-orientation</code> trait.
+     * @return the reference orientation trait value
+     */
+    public int getReferenceOrientation() {
+        if ( referenceOrientation != null ) {
+            return referenceOrientation.getValue();
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Direction getInlineProgressionDirection() {
+        if ( writingModeTraits != null ) {
+            return writingModeTraits.getInlineProgressionDirection();
+        } else {
+            return Direction.LR;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Direction getBlockProgressionDirection() {
+        if ( writingModeTraits != null ) {
+            return writingModeTraits.getBlockProgressionDirection();
+        } else {
+            return Direction.TB;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Direction getColumnProgressionDirection() {
+        if ( writingModeTraits != null ) {
+            return writingModeTraits.getColumnProgressionDirection();
+        } else {
+            return Direction.LR;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Direction getRowProgressionDirection() {
+        if ( writingModeTraits != null ) {
+            return writingModeTraits.getRowProgressionDirection();
+        } else {
+            return Direction.TB;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Direction getShiftDirection() {
+        if ( writingModeTraits != null ) {
+            return writingModeTraits.getShiftDirection();
+        } else {
+            return Direction.TB;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public WritingMode getWritingMode() {
+        if ( writingModeTraits != null ) {
+            return writingModeTraits.getWritingMode();
+        } else {
+            return WritingMode.LR_TB;
+        }
+    }
+
+    /**
      * Releases a page-sequence's children after the page-sequence has been fully processed.
      */
     public void releasePageSequence() {
diff --git a/src/java/org/apache/fop/fo/pagination/Region.java b/src/java/org/apache/fop/fo/pagination/Region.java
index a3c259a..16956b6 100644
--- a/src/java/org/apache/fop/fo/pagination/Region.java
+++ b/src/java/org/apache/fop/fo/pagination/Region.java
@@ -32,20 +32,21 @@
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.ValidationException;
 import org.apache.fop.fo.properties.CommonBorderPaddingBackground;
+import org.apache.fop.traits.WritingMode;
 
 /**
  * This is an abstract base class for pagination regions.
  */
 public abstract class Region extends FObj {
-    // The value of properties relevant for fo:region
+    // The value of FO traits (refined properties) that apply to fo:region
     private CommonBorderPaddingBackground commonBorderPaddingBackground;
     // private ToBeImplementedProperty clip
     private int displayAlign;
     private int overflow;
     private String regionName;
     private Numeric referenceOrientation;
-    private int writingMode;
-    // End of property values
+    private WritingMode writingMode;
+    // End of FO trait values
 
     /** the parent {@link SimplePageMaster} */
     protected final SimplePageMaster layoutMaster;
@@ -68,7 +69,7 @@
         overflow = pList.get(PR_OVERFLOW).getEnum();
         regionName = pList.get(PR_REGION_NAME).getString();
         referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
-        writingMode = pList.getWritingMode();
+        writingMode = WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum());
 
         // regions may have name, or default
         if (regionName.equals("")) {
@@ -169,28 +170,28 @@
         return commonBorderPaddingBackground;
     }
 
-    /** @return the "region-name" property. */
+    /** @return the "region-name" FO trait. */
     public String getRegionName() {
         return regionName;
     }
 
-    /** @return the "writing-mode" property. */
-    public int getWritingMode() {
-        return writingMode;
-    }
-
-    /** @return the "overflow" property. */
+    /** @return the "overflow" FO trait. */
     public int getOverflow() {
         return overflow;
     }
 
-    /** @return the display-align property. */
+    /** @return the display-align FO trait. */
     public int getDisplayAlign() {
         return displayAlign;
     }
 
-    /** @return the "reference-orientation" property. */
+    /** @return the "reference-orientation" FO trait. */
     public int getReferenceOrientation() {
         return referenceOrientation.getValue();
     }
+
+    /** @return the "writing-mode" FO trait. */
+    public WritingMode getWritingMode() {
+        return writingMode;
+    }
 }
diff --git a/src/java/org/apache/fop/fo/pagination/RegionAfter.java b/src/java/org/apache/fop/fo/pagination/RegionAfter.java
index bab5d46..3541c54 100644
--- a/src/java/org/apache/fop/fo/pagination/RegionAfter.java
+++ b/src/java/org/apache/fop/fo/pagination/RegionAfter.java
@@ -23,6 +23,7 @@
 import java.awt.Rectangle;
 
 // FOP
+import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.datatypes.FODimension;
 import org.apache.fop.datatypes.LengthBase;
@@ -52,15 +53,22 @@
         PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
         PercentBaseContext neighbourContext;
         Rectangle vpRect;
-        if (layoutMaster.getWritingMode() == EN_LR_TB
-                || layoutMaster.getWritingMode() == EN_RL_TB) {
+
+        // [TBD] WRITING MODE ALERT
+        switch ( getWritingMode().getEnumValue() ) {
+        default:
+        case Constants.EN_LR_TB:
+        case Constants.EN_RL_TB:
             neighbourContext = pageWidthContext;
             vpRect = new Rectangle(0, reldims.bpd - getExtent().getValue(pageHeightContext)
                                    , reldims.ipd, getExtent().getValue(pageHeightContext));
-        } else {
+            break;
+        case Constants.EN_TB_LR:
+        case Constants.EN_TB_RL:
             neighbourContext = pageHeightContext;
             vpRect = new Rectangle(0, reldims.bpd - getExtent().getValue(pageWidthContext)
                                    , getExtent().getValue(pageWidthContext), reldims.ipd);
+            break;
         }
         if (getPrecedence() == EN_FALSE) {
             adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
diff --git a/src/java/org/apache/fop/fo/pagination/RegionBA.java b/src/java/org/apache/fop/fo/pagination/RegionBA.java
index 149e470..eac7723 100644
--- a/src/java/org/apache/fop/fo/pagination/RegionBA.java
+++ b/src/java/org/apache/fop/fo/pagination/RegionBA.java
@@ -26,6 +26,7 @@
 import org.apache.fop.datatypes.PercentBaseContext;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.PropertyList;
+import org.apache.fop.traits.WritingMode;
 
 /**
  * Abstract base class for <a href="http://www.w3.org/TR/xsl/#fo_region-before">
@@ -70,7 +71,8 @@
      * @param wm writing mode
      * @param siblingContext the context to use to resolve extent on siblings
      */
-    protected void adjustIPD(Rectangle vpRefRect, int wm, PercentBaseContext siblingContext) {
+    protected void adjustIPD
+        ( Rectangle vpRefRect, WritingMode wm, PercentBaseContext siblingContext ) {
         int offset = 0;
         RegionStart start = (RegionStart) getSiblingRegion(FO_REGION_START);
         if (start != null) {
@@ -81,8 +83,9 @@
         if (end != null) {
             offset += end.getExtent().getValue(siblingContext);
         }
+        // [TBD] WRITING MODE ALERT
         if (offset > 0) {
-            if (wm == EN_LR_TB || wm == EN_RL_TB) {
+            if (wm == WritingMode.LR_TB || wm == WritingMode.RL_TB) {
                 vpRefRect.width -= offset;
             } else {
                 vpRefRect.height -= offset;
diff --git a/src/java/org/apache/fop/fo/pagination/RegionBefore.java b/src/java/org/apache/fop/fo/pagination/RegionBefore.java
index 4aa29ec..295f6dc 100644
--- a/src/java/org/apache/fop/fo/pagination/RegionBefore.java
+++ b/src/java/org/apache/fop/fo/pagination/RegionBefore.java
@@ -23,6 +23,7 @@
 import java.awt.Rectangle;
 
 // FOP
+import org.apache.fop.fo.Constants;
 import org.apache.fop.datatypes.FODimension;
 import org.apache.fop.datatypes.LengthBase;
 import org.apache.fop.datatypes.PercentBaseContext;
@@ -57,13 +58,19 @@
         PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
         PercentBaseContext neighbourContext;
         Rectangle vpRect;
-        if (layoutMaster.getWritingMode() == EN_LR_TB
-                || layoutMaster.getWritingMode() == EN_RL_TB) {
+        // [TBD] WRITING MODE ALERT
+        switch ( getWritingMode().getEnumValue() ) {
+        default:
+        case Constants.EN_LR_TB:
+        case Constants.EN_RL_TB:
             neighbourContext = pageWidthContext;
             vpRect = new Rectangle(0, 0, reldims.ipd, getExtent().getValue(pageHeightContext));
-        } else {
+            break;
+        case Constants.EN_TB_LR:
+        case Constants.EN_TB_RL:
             neighbourContext = pageHeightContext;
             vpRect = new Rectangle(0, 0, getExtent().getValue(pageWidthContext), reldims.ipd);
+            break;
         }
         if (getPrecedence() == EN_FALSE) {
             adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
diff --git a/src/java/org/apache/fop/fo/pagination/RegionBody.java b/src/java/org/apache/fop/fo/pagination/RegionBody.java
index 5eed360..9e63923 100644
--- a/src/java/org/apache/fop/fo/pagination/RegionBody.java
+++ b/src/java/org/apache/fop/fo/pagination/RegionBody.java
@@ -28,9 +28,11 @@
 import org.apache.fop.datatypes.LengthBase;
 import org.apache.fop.datatypes.Numeric;
 import org.apache.fop.datatypes.PercentBaseContext;
+import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.properties.CommonMarginBlock;
+import org.apache.fop.traits.WritingMode;
 
 /**
  * Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_region-body">
@@ -113,12 +115,22 @@
 
         int start;
         int end;
-        if (layoutMaster.getWritingMode() == EN_LR_TB) { // Left-to-right
+        // [TBD] WRITING MODE ALERT
+        switch ( getWritingMode().getEnumValue() ) {
+        default:
+        case Constants.EN_LR_TB:
             start = commonMarginBlock.marginLeft.getValue(pageWidthContext);
             end = commonMarginBlock.marginRight.getValue(pageWidthContext);
-        } else { // all other supported modes are right-to-left
+            break;
+        case Constants.EN_RL_TB:
             start = commonMarginBlock.marginRight.getValue(pageWidthContext);
             end = commonMarginBlock.marginLeft.getValue(pageWidthContext);
+            break;
+        case Constants.EN_TB_LR:
+        case Constants.EN_TB_RL:
+            start = commonMarginBlock.marginTop.getValue(pageWidthContext);
+            end = commonMarginBlock.marginBottom.getValue(pageWidthContext);
+            break;
         }
         int before = commonMarginBlock.spaceBefore.getOptimum(pageHeightContext)
                         .getLength().getValue(pageHeightContext);
diff --git a/src/java/org/apache/fop/fo/pagination/RegionEnd.java b/src/java/org/apache/fop/fo/pagination/RegionEnd.java
index 2533763..ce02585 100644
--- a/src/java/org/apache/fop/fo/pagination/RegionEnd.java
+++ b/src/java/org/apache/fop/fo/pagination/RegionEnd.java
@@ -23,6 +23,7 @@
 import java.awt.Rectangle;
 
 // FOP
+import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.datatypes.FODimension;
 import org.apache.fop.datatypes.LengthBase;
@@ -52,18 +53,27 @@
         PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
         PercentBaseContext neighbourContext;
         Rectangle vpRect;
-        if (layoutMaster.getWritingMode() == EN_LR_TB
-                || layoutMaster.getWritingMode() == EN_RL_TB) {
+        // [TBD] WRITING MODE ALERT
+        switch ( getWritingMode().getEnumValue() ) {
+        default:
+        case Constants.EN_LR_TB:
             neighbourContext = pageHeightContext;
             vpRect = new Rectangle(reldims.ipd - getExtent().getValue(pageWidthContext), 0,
                     getExtent().getValue(pageWidthContext), reldims.bpd);
-        } else {
+            break;
+        case Constants.EN_RL_TB:
+            neighbourContext = pageHeightContext;
+            vpRect = new Rectangle(0, 0, getExtent().getValue(pageWidthContext), reldims.bpd);
+            break;
+        case Constants.EN_TB_LR:
+        case Constants.EN_TB_RL:
             // Rectangle:  x , y (of top left point), width, height
             neighbourContext = pageWidthContext;
             vpRect = new Rectangle(reldims.ipd - getExtent().getValue(pageHeightContext), 0,
                     reldims.bpd, getExtent().getValue(pageHeightContext));
+            break;
         }
-        adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
+        adjustIPD(vpRect, getWritingMode(), neighbourContext);
         return vpRect;
     }
 
diff --git a/src/java/org/apache/fop/fo/pagination/RegionSE.java b/src/java/org/apache/fop/fo/pagination/RegionSE.java
index f106e8a..9fc2bdc 100644
--- a/src/java/org/apache/fop/fo/pagination/RegionSE.java
+++ b/src/java/org/apache/fop/fo/pagination/RegionSE.java
@@ -26,6 +26,7 @@
 import org.apache.fop.datatypes.PercentBaseContext;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.PropertyList;
+import org.apache.fop.traits.WritingMode;
 
 /**
  * Abstract base class for <a href="http://www.w3.org/TR/xsl/#fo_region-start">
@@ -61,7 +62,8 @@
      * @param wm writing mode
      * @param siblingContext the context to use to resolve extent on siblings
      */
-    protected void adjustIPD(Rectangle vpRefRect, int wm, PercentBaseContext siblingContext) {
+    protected void adjustIPD
+        ( Rectangle vpRefRect, WritingMode wm, PercentBaseContext siblingContext ) {
         int offset = 0;
         RegionBefore before = (RegionBefore) getSiblingRegion(FO_REGION_BEFORE);
         if (before != null && before.getPrecedence() == EN_TRUE) {
@@ -72,8 +74,9 @@
         if (after != null && after.getPrecedence() == EN_TRUE) {
             offset += after.getExtent().getValue(siblingContext);
         }
+        // [TBD] WRITING MODE ALERT
         if (offset > 0) {
-            if (wm == EN_LR_TB || wm == EN_RL_TB) {
+            if (wm == WritingMode.LR_TB || wm == WritingMode.RL_TB) {
                 vpRefRect.height -= offset;
             } else {
                 vpRefRect.width -= offset;
diff --git a/src/java/org/apache/fop/fo/pagination/RegionStart.java b/src/java/org/apache/fop/fo/pagination/RegionStart.java
index fdb423c..c2fc3fe 100644
--- a/src/java/org/apache/fop/fo/pagination/RegionStart.java
+++ b/src/java/org/apache/fop/fo/pagination/RegionStart.java
@@ -23,6 +23,7 @@
 import java.awt.Rectangle;
 
 // FOP
+import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.datatypes.FODimension;
 import org.apache.fop.datatypes.LengthBase;
@@ -52,13 +53,23 @@
         PercentBaseContext pageHeightContext = getPageHeightContext(LengthBase.CUSTOM_BASE);
         PercentBaseContext neighbourContext;
         Rectangle vpRect;
-        if (layoutMaster.getWritingMode() == EN_LR_TB
-                || layoutMaster.getWritingMode() == EN_RL_TB) {
+        // [TBD] WRITING MODE ALERT
+        switch ( getWritingMode().getEnumValue() ) {
+        default:
+        case Constants.EN_LR_TB:
             neighbourContext = pageHeightContext;
             vpRect = new Rectangle(0, 0, getExtent().getValue(pageWidthContext), reldims.bpd);
-        } else {
+            break;
+        case Constants.EN_RL_TB:
+            neighbourContext = pageHeightContext;
+            vpRect = new Rectangle(reldims.ipd - getExtent().getValue(pageWidthContext), 0,
+                    getExtent().getValue(pageWidthContext), reldims.bpd);
+            break;
+        case Constants.EN_TB_LR:
+        case Constants.EN_TB_RL:
             neighbourContext = pageWidthContext;
             vpRect = new Rectangle(0, 0, reldims.bpd, getExtent().getValue(pageHeightContext));
+            break;
         }
         adjustIPD(vpRect, layoutMaster.getWritingMode(), neighbourContext);
         return vpRect;
diff --git a/src/java/org/apache/fop/fo/pagination/SimplePageMaster.java b/src/java/org/apache/fop/fo/pagination/SimplePageMaster.java
index bd186db..0ccbe6e 100644
--- a/src/java/org/apache/fop/fo/pagination/SimplePageMaster.java
+++ b/src/java/org/apache/fop/fo/pagination/SimplePageMaster.java
@@ -36,6 +36,7 @@
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.ValidationException;
 import org.apache.fop.fo.properties.CommonMarginBlock;
+import org.apache.fop.traits.WritingMode;
 
 /**
  * Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_simple-page-master">
@@ -44,14 +45,14 @@
  * and attributes.
  */
 public class SimplePageMaster extends FObj {
-    // The value of properties relevant for fo:simple-page-master.
+    // The value of FO traits (refined properties) that apply to fo:simple-page-master.
     private CommonMarginBlock commonMarginBlock;
     private String masterName;
     private Length pageHeight;
     private Length pageWidth;
     private Numeric referenceOrientation;
-    private int writingMode;
-    // End of property values
+    private WritingMode writingMode;
+    // End of FO trait values
 
     /**
      * Page regions (regionClass, Region)
@@ -81,7 +82,7 @@
         pageHeight = pList.get(PR_PAGE_HEIGHT).getLength();
         pageWidth = pList.get(PR_PAGE_WIDTH).getLength();
         referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
-        writingMode = pList.getWritingMode();
+        writingMode = WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum());
 
         if (masterName == null || masterName.equals("")) {
             missingPropertyError("master-name");
@@ -270,31 +271,31 @@
         return commonMarginBlock;
     }
 
-    /** @return "master-name" property. */
+    /** @return "master-name" FO trait. */
     public String getMasterName() {
         return masterName;
     }
 
-    /** @return the "page-width" property. */
+    /** @return the "page-width" FO trait. */
     public Length getPageWidth() {
         return pageWidth;
     }
 
-    /** @return the "page-height" property. */
+    /** @return the "page-height" FO trait. */
     public Length getPageHeight() {
         return pageHeight;
     }
 
-    /** @return the "writing-mode" property. */
-    public int getWritingMode() {
-        return writingMode;
-    }
-
-    /** @return the "reference-orientation" property. */
+    /** @return the "reference-orientation" FO trait. */
     public int getReferenceOrientation() {
         return referenceOrientation.getValue();
     }
 
+    /** @return the "writing-mode" FO trait. */
+    public WritingMode getWritingMode() {
+        return writingMode;
+    }
+
     /** {@inheritDoc} */
     public String getLocalName() {
         return "simple-page-master";
diff --git a/src/java/org/apache/fop/fo/properties/CorrespondingPropertyMaker.java b/src/java/org/apache/fop/fo/properties/CorrespondingPropertyMaker.java
index 6183b9e..b74c9dc 100644
--- a/src/java/org/apache/fop/fo/properties/CorrespondingPropertyMaker.java
+++ b/src/java/org/apache/fop/fo/properties/CorrespondingPropertyMaker.java
@@ -35,6 +35,8 @@
     protected int rltb;
     /** corresponding property for tb-rl writing mode */
     protected int tbrl;
+    /** corresponding property for tb-lr writing mode */
+    protected int tblr;
     /** user parent property list */
     protected boolean useParent;
     private boolean relative;
@@ -48,17 +50,26 @@
         baseMaker.setCorresponding(this);
     }
 
+    /**
+     * Set corresponding property values.
+     * @param lrtb a corresponding value
+     * @param rltb a corresponding value
+     * @param tbrl a corresponding value
+     * @param tblr a corresponding value
+     */
 
     /**
      * Set corresponding property identifiers.
      * @param lrtb the property that corresponds with lr-tb writing mode
      * @param rltb the property that corresponds with rl-tb writing mode
      * @param tbrl the property that corresponds with tb-lr writing mode
+     * @param tblr the property that corresponds with tb-lr writing mode
      */
-    public void setCorresponding(int lrtb, int rltb, int tbrl) {
+    public void setCorresponding(int lrtb, int rltb, int tbrl, int tblr) {
         this.lrtb = lrtb;
         this.rltb = rltb;
         this.tbrl = tbrl;
+        this.tblr = tblr;
     }
 
     /**
@@ -72,7 +83,7 @@
 
     /**
      * Set relative flag.
-     * @param relative true if relative direction
+     * @param relative true if properties operate on a relative direction
      */
     public void setRelative(boolean relative) {
         this.relative = relative;
@@ -102,7 +113,7 @@
 
         PropertyList pList = getWMPropertyList(propertyList);
         if (pList != null) {
-            int correspondingId = pList.getWritingMode(lrtb, rltb, tbrl);
+            int correspondingId = pList.selectFromWritingMode(lrtb, rltb, tbrl, tblr);
 
             if (pList.getExplicit(correspondingId) != null) {
                 return true;
@@ -126,7 +137,7 @@
         if (pList == null) {
             return null;
         }
-        int correspondingId = pList.getWritingMode(lrtb, rltb, tbrl);
+        int correspondingId = pList.selectFromWritingMode(lrtb, rltb, tbrl, tblr);
 
         Property p = propertyList.getExplicitOrShorthand(correspondingId);
         if (p != null) {
diff --git a/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java b/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java
index 0bef5e9..13efa6f 100644
--- a/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java
+++ b/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java
@@ -34,7 +34,7 @@
     private int[][] extraCorresponding = null;
 
     /**
-     * Construct a dimension property maker.
+     * Instantiate a dimension property maker.
      * @param baseMaker the base property maker
      */
     public DimensionPropertyMaker(PropertyMaker baseMaker) {
@@ -43,9 +43,18 @@
 
     /**
      * Set extra correspondences.
-     * @param extraCorresponding the extra correspondences
+     * @param extraCorresponding an array of four element integer arrays
      */
     public void setExtraCorresponding(int[][] extraCorresponding) {
+        if ( extraCorresponding == null ) {
+            throw new NullPointerException();
+        }
+        for ( int i = 0; i < extraCorresponding.length; i++ ) {
+            int[] eca = extraCorresponding[i];
+            if ( ( eca == null ) || ( eca.length != 4 ) ) {
+                throw new IllegalArgumentException ( "bad sub-array @ [" + i + "]" );
+            }
+        }
         this.extraCorresponding = extraCorresponding;
     }
 
@@ -76,18 +85,20 @@
         }
 
         // Based on min-[width|height]
-        int wmcorr = propertyList.getWritingMode(extraCorresponding[0][0],
+        int wmcorr = propertyList.selectFromWritingMode(extraCorresponding[0][0],
                                         extraCorresponding[0][1],
-                                        extraCorresponding[0][2]);
+                                        extraCorresponding[0][2],
+                                        extraCorresponding[0][3]);
         Property subprop = propertyList.getExplicitOrShorthand(wmcorr);
         if (subprop != null) {
             baseMaker.setSubprop(p, Constants.CP_MINIMUM, subprop);
         }
 
         // Based on max-[width|height]
-        wmcorr = propertyList.getWritingMode(extraCorresponding[1][0],
+        wmcorr = propertyList.selectFromWritingMode(extraCorresponding[1][0],
                                     extraCorresponding[1][1],
-                                    extraCorresponding[1][2]);
+                                    extraCorresponding[1][2],
+                                    extraCorresponding[1][3]);
         subprop = propertyList.getExplicitOrShorthand(wmcorr);
         // TODO: Don't set when NONE.
         if (subprop != null) {
diff --git a/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java b/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java
index 19c4675..6b7c58a 100644
--- a/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java
+++ b/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java
@@ -55,6 +55,9 @@
      * @param paddingCorresponding the corresping propids.
      */
     public void setPaddingCorresponding(int[] paddingCorresponding) {
+        if ( ( paddingCorresponding == null ) || ( paddingCorresponding.length != 4 ) ) {
+            throw new IllegalArgumentException();
+        }
         this.paddingCorresponding = paddingCorresponding;
     }
 
@@ -63,6 +66,9 @@
      * @param borderWidthCorresponding the corresping propids.
      */
     public void setBorderWidthCorresponding(int[] borderWidthCorresponding) {
+        if ( ( borderWidthCorresponding == null ) || ( borderWidthCorresponding.length != 4 ) ) {
+            throw new IllegalArgumentException();
+        }
         this.borderWidthCorresponding = borderWidthCorresponding;
     }
 
@@ -99,7 +105,7 @@
         Numeric padding = getCorresponding(paddingCorresponding, propertyList).getNumeric();
         Numeric border = getCorresponding(borderWidthCorresponding, propertyList).getNumeric();
 
-        int marginProp = pList.getWritingMode(lrtb, rltb, tbrl);
+        int marginProp = pList.selectFromWritingMode(lrtb, rltb, tbrl, tblr);
         // Calculate the absolute margin.
         if (propertyList.getExplicitOrShorthand(marginProp) == null) {
             Property indent = propertyList.getExplicit(baseMaker.propId);
@@ -158,7 +164,7 @@
         Numeric padding = getCorresponding(paddingCorresponding, propertyList).getNumeric();
         Numeric border = getCorresponding(borderWidthCorresponding, propertyList).getNumeric();
 
-        int marginProp = pList.getWritingMode(lrtb, rltb, tbrl);
+        int marginProp = pList.selectFromWritingMode(lrtb, rltb, tbrl, tblr);
 
         //Determine whether the nearest anscestor indent was specified through
         //start-indent|end-indent or through a margin property.
@@ -208,7 +214,8 @@
                 throws PropertyException {
         PropertyList pList = getWMPropertyList(propertyList);
         if (pList != null) {
-            int wmcorr = pList.getWritingMode(corresponding[0], corresponding[1], corresponding[2]);
+            int wmcorr = pList.selectFromWritingMode
+                ( corresponding[0], corresponding[1], corresponding[2], corresponding[3] );
             return propertyList.get(wmcorr);
         } else {
             return null;
diff --git a/src/java/org/apache/fop/fonts/AdvancedTypographicTableFormatException.java b/src/java/org/apache/fop/fonts/AdvancedTypographicTableFormatException.java
new file mode 100644
index 0000000..dfec4cf
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/AdvancedTypographicTableFormatException.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+/**
+ * Exception thrown when attempting to decode a truetype font file and a format
+ * constraint is violated.
+ * @author Glenn Adams
+ */
+public class AdvancedTypographicTableFormatException extends RuntimeException {
+    /**
+     * Instantiate incompatible subtable exception
+     */
+    public AdvancedTypographicTableFormatException() {
+        super();
+    }
+    /**
+     * Instantiate incompatible subtable exception
+     * @param message a message string
+     */
+    public AdvancedTypographicTableFormatException(String message) {
+        super(message);
+    }
+}
diff --git a/src/java/org/apache/fop/fonts/ArabicScriptProcessor.java b/src/java/org/apache/fop/fonts/ArabicScriptProcessor.java
new file mode 100644
index 0000000..f8305e1
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/ArabicScriptProcessor.java
@@ -0,0 +1,518 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.fop.text.bidi.BidiClassUtils;
+import org.apache.fop.util.BidiConstants;
+
+// CSOFF: AvoidNestedBlocksCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: SimplifyBooleanReturnCheck
+// CSOFF: LineLengthCheck
+
+/**
+ * <p>The <code>ArabicScriptProcessor</code> class implements a script processor for
+ * performing glyph substitution and positioning operations on content associated with the Arabic script.</p>
+ * @author Glenn Adams
+ */
+public class ArabicScriptProcessor extends DefaultScriptProcessor {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(ArabicScriptProcessor.class);                                      // CSOK: ConstantNameCheck
+
+    /** features to use for substitutions */
+    private static final String[] gsubFeatures =                                                                        // CSOK: ConstantNameCheck
+    {
+        "calt",                                                 // contextual alternates
+        "ccmp",                                                 // glyph composition/decomposition
+        "fina",                                                 // final (terminal) forms
+        "init",                                                 // initial forms
+        "isol",                                                 // isolated formas
+        "liga",                                                 // standard ligatures
+        "medi",                                                 // medial forms
+        "rlig"                                                  // required ligatures
+    };
+
+    /** features to use for positioning */
+    private static final String[] gposFeatures =                                                                        // CSOK: ConstantNameCheck
+    {
+        "curs",                                                 // cursive positioning
+        "kern",                                                 // kerning
+        "mark",                                                 // mark to base or ligature positioning
+        "mkmk"                                                  // mark to mark positioning
+    };
+
+    private static class SubstitutionScriptContextTester implements ScriptContextTester {
+        private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
+        static {
+            testerMap.put ( "fina", new GlyphContextTester() {
+                    public boolean test ( String script, String language, String feature, GlyphSequence gs, int index ) {
+                        return inFinalContext ( script, language, feature, gs, index );
+                    }
+                } );
+            testerMap.put ( "init", new GlyphContextTester() {
+                    public boolean test ( String script, String language, String feature, GlyphSequence gs, int index ) {
+                        return inInitialContext ( script, language, feature, gs, index );
+                    }
+                } );
+            testerMap.put ( "isol", new GlyphContextTester() {
+                    public boolean test ( String script, String language, String feature, GlyphSequence gs, int index ) {
+                        return inIsolateContext ( script, language, feature, gs, index );
+                    }
+                } );
+            testerMap.put ( "liga", new GlyphContextTester() {
+                    public boolean test ( String script, String language, String feature, GlyphSequence gs, int index ) {
+                        return inLigatureContext ( script, language, feature, gs, index );
+                    }
+                } );
+            testerMap.put ( "medi", new GlyphContextTester() {
+                    public boolean test ( String script, String language, String feature, GlyphSequence gs, int index ) {
+                        return inMedialContext ( script, language, feature, gs, index );
+                    }
+                } );
+        }
+        public GlyphContextTester getTester ( String feature ) {
+            return (GlyphContextTester) testerMap.get ( feature );
+        }
+    }
+
+    private static class PositioningScriptContextTester implements ScriptContextTester {
+        private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
+        public GlyphContextTester getTester ( String feature ) {
+            return (GlyphContextTester) testerMap.get ( feature );
+        }
+    }
+
+    private final ScriptContextTester subContextTester;
+    private final ScriptContextTester posContextTester;
+
+    ArabicScriptProcessor ( String script ) {
+        super ( script );
+        this.subContextTester = new SubstitutionScriptContextTester();
+        this.posContextTester = new PositioningScriptContextTester();
+    }
+
+    /** {@inheritDoc} */
+    public String[] getSubstitutionFeatures() {
+        return gsubFeatures;
+    }
+
+    /** {@inheritDoc} */
+    public ScriptContextTester getSubstitutionContextTester() {
+        return subContextTester;
+    }
+
+    /** {@inheritDoc} */
+    public String[] getPositioningFeatures() {
+        return gposFeatures;
+    }
+
+    /** {@inheritDoc} */
+    public ScriptContextTester getPositioningContextTester() {
+        return posContextTester;
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public GlyphSequence reorderCombiningMarks ( GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language ) {
+        // a side effect of BIDI reordering is to order combining marks before their base, so we need to override the default here to
+        // prevent double reordering
+        return gs;
+    }
+
+    private static boolean inFinalContext ( String script, String language, String feature, GlyphSequence gs, int index ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( index );
+        int[] ca = gs.getCharacterArray ( false );
+        int   nc = gs.getCharacterCount();
+        if ( nc == 0 ) {
+            return false;
+        } else {
+            int s = a.getStart();
+            int e = a.getEnd();
+            if ( ! hasFinalPrecedingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else if ( forcesFinalThisContext ( ca, nc, s, e ) ) {
+                return true;
+            } else if ( ! hasFinalFollowingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else {
+                return true;
+            }
+        }
+    }
+
+    private static boolean inInitialContext ( String script, String language, String feature, GlyphSequence gs, int index ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( index );
+        int[] ca = gs.getCharacterArray ( false );
+        int   nc = gs.getCharacterCount();
+        if ( nc == 0 ) {
+            return false;
+        } else {
+            int s = a.getStart();
+            int e = a.getEnd();
+            if ( ! hasInitialPrecedingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else if ( ! hasInitialFollowingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else {
+                return true;
+            }
+        }
+    }
+
+    private static boolean inIsolateContext ( String script, String language, String feature, GlyphSequence gs, int index ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( index );
+        int   nc = gs.getCharacterCount();
+        if ( nc == 0 ) {
+            return false;
+        } else if ( ( a.getStart() == 0 ) && ( a.getEnd() == nc ) ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private static boolean inLigatureContext ( String script, String language, String feature, GlyphSequence gs, int index ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( index );
+        int[] ca = gs.getCharacterArray ( false );
+        int   nc = gs.getCharacterCount();
+        if ( nc == 0 ) {
+            return false;
+        } else {
+            int s = a.getStart();
+            int e = a.getEnd();
+            if ( ! hasLigaturePrecedingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else if ( ! hasLigatureFollowingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else {
+                return true;
+            }
+        }
+    }
+
+    private static boolean inMedialContext ( String script, String language, String feature, GlyphSequence gs, int index ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( index );
+        int[] ca = gs.getCharacterArray ( false );
+        int   nc = gs.getCharacterCount();
+        if ( nc == 0 ) {
+            return false;
+        } else {
+            int s = a.getStart();
+            int e = a.getEnd();
+            if ( ! hasMedialPrecedingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else if ( ! hasMedialThisContext ( ca, nc, s, e ) ) {
+                return false;
+            } else if ( ! hasMedialFollowingContext ( ca, nc, s, e ) ) {
+                return false;
+            } else {
+                return true;
+            }
+        }
+    }
+
+    private static boolean hasFinalPrecedingContext ( int[] ca, int nc, int s, int e ) {
+        int chp = 0;
+        int clp = 0;
+        for ( int i = s; i > 0; i-- ) {
+            int k = i - 1;
+            if ( ( k >= 0 ) && ( k < nc ) ) {
+                chp = ca [ k ];
+                clp = BidiClassUtils.getBidiClass ( chp );
+                if ( clp != BidiConstants.NSM ) {
+                    break;
+                }
+            }
+        }
+        if ( clp != BidiConstants.AL ) {
+            return false;
+        } else if ( hasIsolateInitial ( chp ) ) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    private static boolean forcesFinalThisContext ( int[] ca, int nc, int s, int e ) {
+        int chl = 0;
+        int cll = 0;
+        for ( int i = 0, n = e - s; i < n; i++ ) {
+            int k = n - i - 1;
+            int j = s + k;
+            if ( ( j >= 0 ) && ( j < nc ) ) {
+                chl = ca [ j ];
+                cll = BidiClassUtils.getBidiClass ( chl );
+                if ( cll != BidiConstants.NSM ) {
+                    break;
+                }
+            }
+        }
+        if ( cll != BidiConstants.AL ) {
+            return false;
+        }
+        if ( hasIsolateInitial ( chl ) ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private static boolean hasFinalFollowingContext ( int[] ca, int nc, int s, int e ) {
+        int chf = 0;
+        int clf = 0;
+        for ( int i = e, n = nc; i < n; i++ ) {
+            chf = ca [ i ];
+            clf = BidiClassUtils.getBidiClass ( chf );
+            if ( clf != BidiConstants.NSM ) {
+                break;
+            }
+        }
+        if ( clf != BidiConstants.AL ) {
+            return true;
+        } else if ( hasIsolateFinal ( chf ) ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private static boolean hasInitialPrecedingContext ( int[] ca, int nc, int s, int e ) {
+        int chp = 0;
+        int clp = 0;
+        for ( int i = s; i > 0; i-- ) {
+            int k = i - 1;
+            if ( ( k >= 0 ) && ( k < nc ) ) {
+                chp = ca [ k ];
+                clp = BidiClassUtils.getBidiClass ( chp );
+                if ( clp != BidiConstants.NSM ) {
+                    break;
+                }
+            }
+        }
+        if ( clp != BidiConstants.AL ) {
+            return true;
+        } else if ( hasIsolateInitial ( chp ) ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private static boolean hasInitialFollowingContext ( int[] ca, int nc, int s, int e ) {
+        int chf = 0;
+        int clf = 0;
+        for ( int i = e, n = nc; i < n; i++ ) {
+            chf = ca [ i ];
+            clf = BidiClassUtils.getBidiClass ( chf );
+            if ( clf != BidiConstants.NSM ) {
+                break;
+            }
+        }
+        if ( clf != BidiConstants.AL ) {
+            return false;
+        } else if ( hasIsolateFinal ( chf ) ) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    private static boolean hasMedialPrecedingContext ( int[] ca, int nc, int s, int e ) {
+        int chp = 0;
+        int clp = 0;
+        for ( int i = s; i > 0; i-- ) {
+            int k = i - 1;
+            if ( ( k >= 0 ) && ( k < nc ) ) {
+                chp = ca [ k ];
+                clp = BidiClassUtils.getBidiClass ( chp );
+                if ( clp != BidiConstants.NSM ) {
+                    break;
+                }
+            }
+        }
+        if ( clp != BidiConstants.AL ) {
+            return false;
+        } else if ( hasIsolateInitial ( chp ) ) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    private static boolean hasMedialThisContext ( int[] ca, int nc, int s, int e ) {
+        int chf = 0;    // first non-NSM char in [s,e)
+        int clf = 0;
+        for ( int i = 0, n = e - s; i < n; i++ ) {
+            int k = s + i;
+            if ( ( k >= 0 ) && ( k < nc ) ) {
+                chf = ca [ s + i ];
+                clf = BidiClassUtils.getBidiClass ( chf );
+                if ( clf != BidiConstants.NSM ) {
+                    break;
+                }
+            }
+        }
+        if ( clf != BidiConstants.AL ) {
+            return false;
+        }
+        int chl = 0;    // last non-NSM char in [s,e)
+        int cll = 0;
+        for ( int i = 0, n = e - s; i < n; i++ ) {
+            int k = n - i - 1;
+            int j = s + k;
+            if ( ( j >= 0 ) && ( j < nc ) ) {
+                chl = ca [ j ];
+                cll = BidiClassUtils.getBidiClass ( chl );
+                if ( cll != BidiConstants.NSM ) {
+                    break;
+                }
+            }
+        }
+        if ( cll != BidiConstants.AL ) {
+            return false;
+        }
+        if ( hasIsolateFinal ( chf ) ) {
+            return false;
+        } else if ( hasIsolateInitial ( chl ) ) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    private static boolean hasMedialFollowingContext ( int[] ca, int nc, int s, int e ) {
+        int chf = 0;
+        int clf = 0;
+        for ( int i = e, n = nc; i < n; i++ ) {
+            chf = ca [ i ];
+            clf = BidiClassUtils.getBidiClass ( chf );
+            if ( clf != BidiConstants.NSM ) {
+                break;
+            }
+        }
+        if ( clf != BidiConstants.AL ) {
+            return false;
+        } else if ( hasIsolateFinal ( chf ) ) {
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    private static boolean hasLigaturePrecedingContext ( int[] ca, int nc, int s, int e ) {
+        return true;
+    }
+
+    private static boolean hasLigatureFollowingContext ( int[] ca, int nc, int s, int e ) {
+        int chf = 0;
+        int clf = 0;
+        for ( int i = e, n = nc; i < n; i++ ) {
+            chf = ca [ i ];
+            clf = BidiClassUtils.getBidiClass ( chf );
+            if ( clf != BidiConstants.NSM ) {
+                break;
+            }
+        }
+        if ( clf == BidiConstants.AL ) {
+            return true;
+        } else  {
+            return false;
+        }
+    }
+
+    /**
+     * Ordered array of Unicode scalars designating those Arabic (Script) Letters
+     * which exhibit an isolated form in word initial position.
+     */
+    private static int[] isolatedInitials = {
+        0x0621, // HAMZA
+        0x0622, // ALEF WITH MADDA ABOVE
+        0x0623, // ALEF WITH HAMZA ABOVE
+        0x0624, // WAW WITH HAMZA ABOVE
+        0x0625, // ALEF WITH HAMZA BELOWW
+        0x0627, // ALEF
+        0x062F, // DAL
+        0x0630, // THAL
+        0x0631, // REH
+        0x0632, // ZAIN
+        0x0648, // WAW
+        0x0671, // ALEF WASLA
+        0x0672, // ALEF WITH WAVY HAMZA ABOVE
+        0x0673, // ALEF WITH WAVY HAMZA BELOW
+        0x0675, // HIGH HAMZA ALEF
+        0x0676, // HIGH HAMZA WAW
+        0x0677, // U WITH HAMZA ABOVE
+        0x0688, // DDAL
+        0x0689, // DAL WITH RING
+        0x068A, // DAL WITH DOT BELOW
+        0x068B, // DAL WITH DOT BELOW AND SMALL TAH
+        0x068C, // DAHAL
+        0x068D, // DDAHAL
+        0x068E, // DUL
+        0x068F, // DUL WITH THREE DOTS ABOVE DOWNWARDS
+        0x0690, // DUL WITH FOUR DOTS ABOVE
+        0x0691, // RREH
+        0x0692, // REH WITH SMALL V
+        0x0693, // REH WITH RING
+        0x0694, // REH WITH DOT BELOW
+        0x0695, // REH WITH SMALL V BELOW
+        0x0696, // REH WITH DOT BELOW AND DOT ABOVE
+        0x0697, // REH WITH TWO DOTS ABOVE
+        0x0698, // JEH
+        0x0699, // REH WITH FOUR DOTS ABOVE
+        0x06C4, // WAW WITH RING
+        0x06C5, // KIRGHIZ OE
+        0x06C6, // OE
+        0x06C7, // U
+        0x06C8, // YU
+        0x06C9, // KIRGHIZ YU
+        0x06CA, // WAW WITH TWO DOTS ABOVE
+        0x06CB, // VE
+        0x06CF, // WAW WITH DOT ABOVE
+        0x06EE, // DAL WITH INVERTED V
+        0x06EF  // REH WITH INVERTED V
+    };
+
+    private static boolean hasIsolateInitial ( int ch ) {
+        return Arrays.binarySearch ( isolatedInitials, ch ) >= 0;
+    }
+
+    /**
+     * Ordered array of Unicode scalars designating those Arabic (Script) Letters
+     * which exhibit an isolated form in word final position.
+     */
+    private static int[] isolatedFinals = {
+        0x0621  // HAMZA
+    };
+
+    private static boolean hasIsolateFinal ( int ch ) {
+        return Arrays.binarySearch ( isolatedFinals, ch ) >= 0;
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/BFEntry.java b/src/java/org/apache/fop/fonts/BFEntry.java
index e04b021..d3c7956 100644
--- a/src/java/org/apache/fop/fonts/BFEntry.java
+++ b/src/java/org/apache/fop/fonts/BFEntry.java
@@ -68,9 +68,15 @@
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder("BFEntry: ");
-        sb.append("Unicode ").append(getUnicodeStart()).append("..").append(getUnicodeEnd());
-        sb.append(" --> ").append(getGlyphStartIndex()).append("..");
-        sb.append(getGlyphStartIndex() + getUnicodeEnd() - getUnicodeStart());
+        sb.append ( "{ UC[" );
+        sb.append ( unicodeStart );
+        sb.append ( ',' );
+        sb.append ( unicodeEnd );
+        sb.append ( "]: GC[" );
+        sb.append ( glyphStartIndex );
+        sb.append ( ',' );
+        sb.append ( glyphStartIndex + ( unicodeEnd - unicodeStart ) );
+        sb.append ( "] }" );
         return sb.toString();
     }
 
diff --git a/src/java/org/apache/fop/fonts/CustomFont.java b/src/java/org/apache/fop/fonts/CustomFont.java
index 4432fcc..c6b43fe 100644
--- a/src/java/org/apache/fop/fonts/CustomFont.java
+++ b/src/java/org/apache/fop/fonts/CustomFont.java
@@ -60,6 +60,7 @@
     private Map<Integer, Map<Integer, Integer>> kerning;
 
     private boolean useKerning = true;
+    private boolean useAdvanced = true;
 
     /** {@inheritDoc} */
     public String getFontName() {
@@ -285,6 +286,15 @@
         }
     }
 
+    /**
+     * Used to determine if advanced typographic features are enabled.
+     * By default, this is false, but may be overridden by subclasses.
+     * @return true if enabled.
+     */
+    public boolean isAdvancedEnabled() {
+        return useAdvanced;
+    }
+
     /* ---- MutableFont interface ---- */
 
     /** {@inheritDoc} */
@@ -428,6 +438,13 @@
     }
 
     /**
+     * {@inheritDoc}
+     */
+    public void setAdvancedEnabled(boolean enabled) {
+        this.useAdvanced = enabled;
+    }
+
+    /**
      * Sets the font resolver. Needed for URI resolution.
      * @param resolver the font resolver
      */
diff --git a/src/java/org/apache/fop/fonts/DefaultScriptProcessor.java b/src/java/org/apache/fop/fonts/DefaultScriptProcessor.java
new file mode 100644
index 0000000..fdd528a
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/DefaultScriptProcessor.java
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * Default script processor, which enables default glyph composition/decomposition, common ligatures, localized forms
+ * and kerning.
+ *
+ * @author Glenn Adams
+ */
+public class DefaultScriptProcessor extends ScriptProcessor {
+
+    /** features to use for substitutions */
+    private static final String[] gsubFeatures =                                                                        // CSOK: ConstantNameCheck
+    {
+        "ccmp",                                                 // glyph composition/decomposition
+        "liga",                                                 // common ligatures
+        "locl"                                                  // localized forms
+    };
+
+    /** features to use for positioning */
+    private static final String[] gposFeatures =                                                                        // CSOK: ConstantNameCheck
+    {
+        "kern"                                                  // kerning
+    };
+
+    DefaultScriptProcessor ( String script ) {
+        super ( script );
+    }
+
+    @Override
+    /** {@inheritDoc} */
+    public String[] getSubstitutionFeatures() {
+        return gsubFeatures;
+    }
+
+    @Override
+    /** {@inheritDoc} */
+    public ScriptContextTester getSubstitutionContextTester() {
+        return null;
+    }
+
+    @Override
+    /** {@inheritDoc} */
+    public String[] getPositioningFeatures() {
+        return gposFeatures;
+    }
+
+    @Override
+    /** {@inheritDoc} */
+    public ScriptContextTester getPositioningContextTester() {
+        return null;
+    }
+
+    @Override
+    /** {@inheritDoc} */
+    public GlyphSequence reorderCombiningMarks ( GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language ) {
+        int   ng  = gs.getGlyphCount();
+        int[] ga  = gs.getGlyphArray ( false );
+        int   nm  = 0;
+        // count combining marks
+        for ( int i = 0; i < ng; i++ ) {
+            int gid = ga [ i ];
+            if ( gdef.isGlyphClass ( gid, GlyphDefinitionTable.GLYPH_CLASS_MARK ) ) {
+                nm++;
+            }
+        }
+        // only reorder if there is at least one mark and at least one non-mark glyph
+        if ( ( nm > 0 ) && ( ( ng - nm ) > 0 ) ) {
+            GlyphSequence.CharAssociation[] aa = gs.getAssociations ( 0, -1 );
+            int[] nga = new int [ ng ];
+            int[][] npa = ( gpa != null ) ? new int [ ng ][] : null;
+            GlyphSequence.CharAssociation[] naa = new GlyphSequence.CharAssociation [ ng ];
+            int k = 0;
+            GlyphSequence.CharAssociation ba = null;
+            int bg = -1;
+            int[] bpa = null;
+            for ( int i = 0; i < ng; i++ ) {
+                int gid = ga [ i ];
+                int[] pa = ( gpa != null ) ? gpa [ i ] : null;
+                GlyphSequence.CharAssociation ca = aa [ i ];
+                if ( gdef.isGlyphClass ( gid, GlyphDefinitionTable.GLYPH_CLASS_MARK ) ) {
+                    nga [ k ] = gid; naa [ k ] = ca;
+                    if ( npa != null ) {
+                        npa [ k ] = pa;
+                    }
+                    k++;
+                } else {
+                    if ( bg != -1 ) {
+                        nga [ k ] = bg; naa [ k ] = ba;
+                        if ( npa != null ) {
+                            npa [ k ] = bpa;
+                        }
+                        k++;
+                        bg = -1; ba = null; bpa = null;
+                    }
+                    if ( bg == -1 ) {
+                        bg = gid; ba = ca; bpa = pa;
+                    }
+                }
+            }
+            if ( bg != -1 ) {
+                nga [ k ] = bg; naa [ k ] = ba;
+                if ( npa != null ) {
+                    npa [ k ] = bpa;
+                }
+                k++;
+            }
+            assert k == ng;
+            if ( npa != null ) {
+                System.arraycopy ( npa, 0, gpa, 0, ng );
+            }
+            return new GlyphSequence ( gs, null, nga, null, null, naa, null );
+        } else {
+            return gs;
+        }
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/DevanagariScriptProcessor.java b/src/java/org/apache/fop/fonts/DevanagariScriptProcessor.java
new file mode 100644
index 0000000..e2bb3e2
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/DevanagariScriptProcessor.java
@@ -0,0 +1,534 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+// CSOFF: AvoidNestedBlocksCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: WhitespaceAfter
+// CSOFF: InnerAssignmentCheck
+// CSOFF: SimplifyBooleanReturnCheck
+// CSOFF: LineLengthCheck
+
+/**
+ * <p>The <code>DevanagariScriptProcessor</code> class implements a script processor for
+ * performing glyph substitution and positioning operations on content associated with the Devanagari script.</p>
+ * @author Glenn Adams
+ */
+public class DevanagariScriptProcessor extends IndicScriptProcessor {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(DevanagariScriptProcessor.class);                                  // CSOK: ConstantNameCheck
+
+    DevanagariScriptProcessor ( String script ) {
+        super ( script );
+    }
+
+    @Override
+    protected Class<? extends DevanagariSyllabizer> getSyllabizerClass() {
+        return DevanagariSyllabizer.class;
+    }
+
+    @Override
+    // find rightmost pre-base matra
+    protected int findPreBaseMatra ( GlyphSequence gs ) {
+        int   ng = gs.getGlyphCount();
+        int   lk = -1;
+        for ( int i = ng; i > 0; i-- ) {
+            int k = i - 1;
+            if ( containsPreBaseMatra ( gs, k ) ) {
+                lk = k;
+                break;
+            }
+        }
+        return lk;
+    }
+
+    @Override
+    // find leftmost pre-base matra target, starting from source
+    protected int findPreBaseMatraTarget ( GlyphSequence gs, int source ) {
+        int   ng = gs.getGlyphCount();
+        int   lk = -1;
+        for ( int i = ( source < ng ) ? source : ng; i > 0; i-- ) {
+            int k = i - 1;
+            if ( containsConsonant ( gs, k ) ) {
+                if ( containsHalfConsonant ( gs, k ) ) {
+                    lk = k;
+                } else if ( lk == -1 ) {
+                    lk = k;
+                } else {
+                    break;
+                }
+            }
+        }
+        return lk;
+    }
+
+    private static boolean containsPreBaseMatra ( GlyphSequence gs, int k ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( k );
+        int[] ca = gs.getCharacterArray ( false );
+        for ( int i = a.getStart(), e = a.getEnd(); i < e; i++ ) {
+            if ( isPreM ( ca [ i ] ) ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static boolean containsConsonant ( GlyphSequence gs, int k ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( k );
+        int[] ca = gs.getCharacterArray ( false );
+        for ( int i = a.getStart(), e = a.getEnd(); i < e; i++ ) {
+            if ( isC ( ca [ i ] ) ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static boolean containsHalfConsonant ( GlyphSequence gs, int k ) {
+        Boolean half = (Boolean) gs.getAssociation ( k ) . getPredication ( "half" );
+        return ( half != null ) ? half.booleanValue() : false;
+    }
+
+    @Override
+    protected int findReph ( GlyphSequence gs ) {
+        int   ng = gs.getGlyphCount();
+        int   li = -1;
+        for ( int i = 0; i < ng; i++ ) {
+            if ( containsReph ( gs, i ) ) {
+                li = i;
+                break;
+            }
+        }
+        return li;
+    }
+
+    @Override
+    protected int findRephTarget ( GlyphSequence gs, int source ) {
+        int   ng = gs.getGlyphCount();
+        int   c1 = -1;
+        int   c2 = -1;
+        // first candidate target is after first non-half consonant
+        for ( int i = 0; i < ng; i++ ) {
+            if ( ( i != source ) && containsConsonant ( gs, i ) ) {
+                if ( ! containsHalfConsonant ( gs, i ) ) {
+                    c1 = i + 1;
+                    break;
+                }
+            }
+        }
+        // second candidate target is after last non-prebase matra after first candidate or before first syllable or vedic mark
+        for ( int i = ( c1 >= 0 ) ? c1 : 0; i < ng; i++ ) {
+            if ( containsMatra ( gs, i ) && ! containsPreBaseMatra ( gs, i ) ) {
+                c2 = i + 1;
+            } else if ( containsOtherMark ( gs, i ) ) {
+                c2 = i;
+                break;
+            }
+        }
+        if ( c2 >= 0 ) {
+            return c2;
+        } else if ( c1 >= 0 ) {
+            return c1;
+        } else {
+            return source;
+        }
+    }
+
+    private static boolean containsReph ( GlyphSequence gs, int k ) {
+        Boolean rphf = (Boolean) gs.getAssociation ( k ) . getPredication ( "rphf" );
+        return ( rphf != null ) ? rphf.booleanValue() : false;
+    }
+
+    private static boolean containsMatra ( GlyphSequence gs, int k ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( k );
+        int[] ca = gs.getCharacterArray ( false );
+        for ( int i = a.getStart(), e = a.getEnd(); i < e; i++ ) {
+            if ( isM ( ca [ i ] ) ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static boolean containsOtherMark ( GlyphSequence gs, int k ) {
+        GlyphSequence.CharAssociation a = gs.getAssociation ( k );
+        int[] ca = gs.getCharacterArray ( false );
+        for ( int i = a.getStart(), e = a.getEnd(); i < e; i++ ) {
+            switch ( typeOf ( ca [ i ] ) ) {
+            case C_T:   // tone (e.g., udatta, anudatta)
+            case C_A:   // accent (e.g., acute, grave)
+            case C_O:   // other (e.g., candrabindu, anusvara, visarga, etc)
+                return true;
+            default:
+                break;
+            }
+        }
+        return false;
+    }
+
+    private static class DevanagariSyllabizer extends DefaultSyllabizer {
+        DevanagariSyllabizer ( String script, String language ) {
+            super ( script, language );
+        }
+        @Override
+        // | C ...
+        protected int findStartOfSyllable ( int[] ca, int s, int e ) {
+            if ( ( s < 0 ) || ( s >= e ) ) {
+                return -1;
+            } else {
+                while ( s < e ) {
+                    int c = ca [ s ];
+                    if ( isC ( c ) ) {
+                        break;
+                    } else {
+                        s++;
+                    }
+                }
+                return s;
+            }
+        }
+        @Override
+        // D* L? | ...
+        protected int findEndOfSyllable ( int[] ca, int s, int e ) {
+            if ( ( s < 0 ) || ( s >= e ) ) {
+                return -1;
+            } else {
+                int nd = 0;
+                int nl = 0;
+                int i;
+                // consume dead consonants
+                while ( ( i = isDeadConsonant ( ca, s, e ) ) > s ) {
+                    s = i; nd++;
+                }
+                // consume zero or one live consonant
+                if ( ( i = isLiveConsonant ( ca, s, e ) ) > s ) {
+                    s = i; nl++;
+                }
+                return ( ( nd > 0 ) || ( nl > 0 ) ) ? s : -1;
+            }
+        }
+        // D := ( C N? H )?
+        private int isDeadConsonant ( int[] ca, int s, int e ) {
+            if ( s < 0 ) {
+                return -1;
+            } else {
+                int c, i = 0;
+                int nc = 0, nh = 0;
+                do {
+                    // C
+                    if ( ( s + i ) < e ) {
+                        c = ca [ s + i ];
+                        if ( isC ( c ) ) {
+                            i++;
+                            nc++;
+                        } else {
+                            break;
+                        }
+                    }
+                    // N?
+                    if ( ( s + i ) < e ) {
+                        c = ca [ s + 1 ];
+                        if ( isN ( c ) ) {
+                            i++;
+                        }
+                    }
+                    // H
+                    if ( ( s + i ) < e ) {
+                        c = ca [ s + i ];
+                        if ( isH ( c ) ) {
+                            i++;
+                            nh++;
+                        } else {
+                            break;
+                        }
+                    }
+                } while ( false );
+                return ( nc > 0 ) && ( nh > 0 ) ? s + i : -1;
+            }
+        }
+        // L := ( (C|V) N? X* )?; where X = ( MATRA | ACCENT MARK | TONE MARK | OTHER MARK )
+        private int isLiveConsonant ( int[] ca, int s, int e ) {
+            if ( s < 0 ) {
+                return -1;
+            } else {
+                int c, i = 0;
+                int nc = 0, nv = 0, nx = 0;
+                do {
+                    // C
+                    if ( ( s + i ) < e ) {
+                        c = ca [ s + i ];
+                        if ( isC ( c ) ) {
+                            i++;
+                            nc++;
+                        } else if ( isV ( c ) ) {
+                            i++;
+                            nv++;
+                        } else {
+                            break;
+                        }
+                    }
+                    // N?
+                    if ( ( s + i ) < e ) {
+                        c = ca [ s + i ];
+                        if ( isN ( c ) ) {
+                            i++;
+                        }
+                    }
+                    // X*
+                    while ( ( s + i ) < e ) {
+                        c = ca [ s + i ];
+                        if ( isX ( c ) ) {
+                            i++;
+                            nx++;
+                        } else {
+                            break;
+                        }
+                    }
+                } while ( false );
+                // if no X but has H, then ignore C|I
+                if ( nx == 0 ) {
+                    if ( ( s + i ) < e ) {
+                        c = ca [ s + i ];
+                        if ( isH ( c ) ) {
+                            if ( nc > 0 ) {
+                                nc--;
+                            } else if ( nv > 0 ) {
+                                nv--;
+                            }
+                        }
+                    }
+                }
+                return ( ( nc > 0 ) || ( nv > 0 ) ) ? s + i : -1;
+            }
+        }
+    }
+
+    // devanagari character types
+    static final short C_U          = 0;            // unassigned
+    static final short C_C          = 1;            // consonant
+    static final short C_V          = 2;            // vowel
+    static final short C_M          = 3;            // vowel sign (matra)
+    static final short C_S          = 4;            // symbol or sign
+    static final short C_T          = 5;            // tone mark
+    static final short C_A          = 6;            // accent mark
+    static final short C_P          = 7;            // punctuation
+    static final short C_D          = 8;            // digit
+    static final short C_H          = 9;            // halant (virama)
+    static final short C_O          = 10;           // other signs
+    static final short C_N          = 0x0100;       // nukta(ized)
+    static final short C_R          = 0x0200;       // reph(ized)
+    static final short C_PRE        = 0x0400;       // pre-base
+    static final short C_M_TYPE     = 0x00FF;       // type mask
+    static final short C_M_FLAGS    = 0x7F00;       // flag mask
+    // devanagari block range
+    static final int ccaStart       =  0x0900;      // first code point mapped by cca                                   // CSOK: ConstantNameCheck
+    static final int ccaEnd         =  0x0980;      // last code point + 1 mapped by cca                                // CSOK: ConstantNameCheck
+    // devanagari character type lookups
+    static final short[] cca = {                                                                                        // CSOK: ConstantNameCheck
+        C_O,                        // 0x0900       // INVERTED CANDRABINDU
+        C_O,                        // 0x0901       // CANDRABINDU
+        C_O,                        // 0x0902       // ANUSVARA
+        C_O,                        // 0x0903       // VISARGA
+        C_V,                        // 0x0904       // SHORT A
+        C_V,                        // 0x0905       // A
+        C_V,                        // 0x0906       // AA
+        C_V,                        // 0x0907       // I
+        C_V,                        // 0x0908       // II
+        C_V,                        // 0x0909       // U
+        C_V,                        // 0x090A       // UU
+        C_V,                        // 0x090B       // VOCALIC R
+        C_V,                        // 0x090C       // VOCALIC L
+        C_V,                        // 0x090D       // CANDRA E
+        C_V,                        // 0x090E       // SHORT E
+        C_V,                        // 0x090F       // E
+        C_V,                        // 0x0910       // AI
+        C_V,                        // 0x0911       // CANDRA O
+        C_V,                        // 0x0912       // SHORT O
+        C_V,                        // 0x0913       // O
+        C_V,                        // 0x0914       // AU
+        C_C,                        // 0x0915       // KA
+        C_C,                        // 0x0916       // KHA
+        C_C,                        // 0x0917       // GA
+        C_C,                        // 0x0918       // GHA
+        C_C,                        // 0x0919       // NGA
+        C_C,                        // 0x091A       // CA
+        C_C,                        // 0x091B       // CHA
+        C_C,                        // 0x091C       // JA
+        C_C,                        // 0x091D       // JHA
+        C_C,                        // 0x091E       // NYA
+        C_C,                        // 0x091F       // TTA
+        C_C,                        // 0x0920       // TTHA
+        C_C,                        // 0x0921       // DDA
+        C_C,                        // 0x0922       // DDHA
+        C_C,                        // 0x0923       // NNA
+        C_C,                        // 0x0924       // TA
+        C_C,                        // 0x0925       // THA
+        C_C,                        // 0x0926       // DA
+        C_C,                        // 0x0927       // DHA
+        C_C,                        // 0x0928       // NA
+        C_C,                        // 0x0929       // NNNA
+        C_C,                        // 0x092A       // PA
+        C_C,                        // 0x092B       // PHA
+        C_C,                        // 0x092C       // BA
+        C_C,                        // 0x092D       // BHA
+        C_C,                        // 0x092E       // MA
+        C_C,                        // 0x092F       // YA
+        C_C|C_R,                    // 0x0930       // RA                                                               // CSOK: WhitespaceAround
+        C_C|C_R|C_N,                // 0x0931       // RRA          = 0930+093C                                         // CSOK: WhitespaceAround
+        C_C,                        // 0x0932       // LA
+        C_C,                        // 0x0933       // LLA
+        C_C,                        // 0x0934       // LLLA
+        C_C,                        // 0x0935       // VA
+        C_C,                        // 0x0936       // SHA
+        C_C,                        // 0x0937       // SSA
+        C_C,                        // 0x0938       // SA
+        C_C,                        // 0x0939       // HA
+        C_M,                        // 0x093A       // OE (KASHMIRI)
+        C_M,                        // 0x093B       // OOE (KASHMIRI)
+        C_N,                        // 0x093C       // NUKTA
+        C_S,                        // 0x093D       // AVAGRAHA
+        C_M,                        // 0x093E       // AA
+        C_M|C_PRE,                  // 0x093F       // I                                                               // CSOK: WhitespaceAround
+        C_M,                        // 0x0940       // II
+        C_M,                        // 0x0941       // U
+        C_M,                        // 0x0942       // UU
+        C_M,                        // 0x0943       // VOCALIC R
+        C_M,                        // 0x0944       // VOCALIC RR
+        C_M,                        // 0x0945       // CANDRA E
+        C_M,                        // 0x0946       // SHORT E
+        C_M,                        // 0x0947       // E
+        C_M,                        // 0x0948       // AI
+        C_M,                        // 0x0949       // CANDRA O
+        C_M,                        // 0x094A       // SHORT O
+        C_M,                        // 0x094B       // O
+        C_M,                        // 0x094C       // AU
+        C_H,                        // 0x094D       // VIRAMA (HALANT)
+        C_M,                        // 0x094E       // PRISHTHAMATRA E
+        C_M,                        // 0x094F       // AW
+        C_S,                        // 0x0950       // OM
+        C_T,                        // 0x0951       // UDATTA
+        C_T,                        // 0x0952       // ANUDATTA
+        C_A,                        // 0x0953       // GRAVE
+        C_A,                        // 0x0954       // ACUTE
+        C_M,                        // 0x0955       // CANDRA LONG E
+        C_M,                        // 0x0956       // UE
+        C_M,                        // 0x0957       // UUE
+        C_C|C_N,                    // 0x0958       // QA                                                               // CSOK: WhitespaceAround
+        C_C|C_N,                    // 0x0959       // KHHA                                                             // CSOK: WhitespaceAround
+        C_C|C_N,                    // 0x095A       // GHHA                                                             // CSOK: WhitespaceAround
+        C_C|C_N,                    // 0x095B       // ZA                                                               // CSOK: WhitespaceAround
+        C_C|C_N,                    // 0x095C       // DDDHA                                                            // CSOK: WhitespaceAround
+        C_C|C_N,                    // 0x095D       // RHA                                                              // CSOK: WhitespaceAround
+        C_C|C_N,                    // 0x095E       // FA                                                               // CSOK: WhitespaceAround
+        C_C|C_N,                    // 0x095F       // YYA                                                              // CSOK: WhitespaceAround
+        C_V,                        // 0x0960       // VOCALIC RR
+        C_V,                        // 0x0961       // VOCALIC LL
+        C_M,                        // 0x0962       // VOCALIC RR
+        C_M,                        // 0x0963       // VOCALIC LL
+        C_P,                        // 0x0964       // DANDA
+        C_P,                        // 0x0965       // DOUBLE DANDA
+        C_D,                        // 0x0966       // ZERO
+        C_D,                        // 0x0967       // ONE
+        C_D,                        // 0x0968       // TWO
+        C_D,                        // 0x0969       // THREE
+        C_D,                        // 0x096A       // FOUR
+        C_D,                        // 0x096B       // FIVE
+        C_D,                        // 0x096C       // SIX
+        C_D,                        // 0x096D       // SEVEN
+        C_D,                        // 0x096E       // EIGHT
+        C_D,                        // 0x096F       // NINE
+        C_S,                        // 0x0970       // ABBREVIATION SIGN
+        C_S,                        // 0x0971       // HIGH SPACING DOT
+        C_V,                        // 0x0972       // CANDRA A (MARATHI)
+        C_V,                        // 0x0973       // OE (KASHMIRI)
+        C_V,                        // 0x0974       // OOE (KASHMIRI)
+        C_V,                        // 0x0975       // AW (KASHMIRI)
+        C_V,                        // 0x0976       // UE (KASHMIRI)
+        C_V,                        // 0x0977       // UUE (KASHMIRI)
+        C_U,                        // 0x0978       // UNASSIGNED
+        C_C,                        // 0x0979       // ZHA
+        C_C,                        // 0x097A       // HEAVY YA
+        C_C,                        // 0x097B       // GGAA (SINDHI)
+        C_C,                        // 0x097C       // JJA (SINDHI)
+        C_C,                        // 0x097D       // GLOTTAL STOP (LIMBU)
+        C_C,                        // 0x097E       // DDDA (SINDHI)
+        C_C                         // 0x097F       // BBA (SINDHI)
+    };
+    static int typeOf(int c) {
+        if ( ( c >= ccaStart ) && ( c < ccaEnd ) ) {
+            return cca [ c - ccaStart ] & C_M_TYPE;
+        } else {
+            return C_U;
+        }
+    }
+    static boolean isType(int c, int t) {
+        return typeOf ( c ) == t;
+    }
+    static boolean hasFlag(int c, int f) {
+        if ( ( c >= ccaStart ) && ( c < ccaEnd ) ) {
+            return ( cca [ c - ccaStart ] & f ) == f;
+        } else {
+            return false;
+        }
+    }
+    static boolean isC(int c) {
+        return isType(c,C_C);
+    }
+    static boolean isR(int c) {
+        return isType(c,C_C) && hasR(c);
+    }
+    static boolean isV(int c) {
+        return isType(c,C_V);
+    }
+    static boolean isN(int c) {
+        return c == 0x093C;
+    }
+    static boolean isH(int c) {
+        return c == 0x094D;
+    }
+    static boolean isM(int c) {
+        return isType(c,C_M);
+    }
+    static boolean isPreM(int c) {
+        return isType(c,C_M) && hasFlag(c,C_PRE);
+    }
+    static boolean isX(int c) {
+        switch ( typeOf ( c ) ) {
+        case C_M: // matra (combining vowel)
+        case C_A: // accent mark
+        case C_T: // tone mark
+        case C_O: // other (modifying) mark
+            return true;
+        default:
+            return false;
+        }
+    }
+    static boolean hasR(int c) {
+        return hasFlag(c,C_R);
+    }
+    static boolean hasN(int c) {
+        return hasFlag(c,C_N);
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/DiscontinuousAssociationException.java b/src/java/org/apache/fop/fonts/DiscontinuousAssociationException.java
new file mode 100644
index 0000000..e13ecdf
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/DiscontinuousAssociationException.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+/**
+ * Exception thrown during when attempting to map glyphs to associated characters
+ * in the case that the associated characters do not represent a compact interval.
+ * @author Glenn Adams
+ */
+public class DiscontinuousAssociationException extends RuntimeException {
+    /**
+     * Instantiate discontinuous association exception
+     */
+    public DiscontinuousAssociationException() {
+        super();
+    }
+    /**
+     * Instantiate discontinuous association exception
+     * @param message a message string
+     */
+    public DiscontinuousAssociationException(String message) {
+        super(message);
+    }
+}
diff --git a/src/java/org/apache/fop/fonts/EmbedFontInfo.java b/src/java/org/apache/fop/fonts/EmbedFontInfo.java
index b53cdfd..8848c0a 100644
--- a/src/java/org/apache/fop/fonts/EmbedFontInfo.java
+++ b/src/java/org/apache/fop/fonts/EmbedFontInfo.java
@@ -29,7 +29,7 @@
 public class EmbedFontInfo implements Serializable {
 
     /** Serialization Version UID */
-    private static final long serialVersionUID = 8755432068669997368L;
+    private static final long serialVersionUID = 8755432068669997369L;
 
     /** filename of the metrics file */
     protected String metricsFile;
@@ -37,6 +37,8 @@
     protected String embedFile;
     /** false, to disable kerning */
     protected boolean kerning;
+    /** false, to disable advanced typographic features */
+    protected boolean advanced;
     /** the requested encoding mode for the font */
     protected EncodingMode encodingMode = EncodingMode.AUTO;
 
@@ -52,17 +54,19 @@
 
     /**
      * Main constructor
-     * @param metricsFile Path to the xml file containing font metrics
-     * @param kerning True if kerning should be enabled
-     * @param fontTriplets List of font triplets to associate with this font
-     * @param embedFile Path to the embeddable font file (may be null)
+     * @param metricsFile path to the xml file containing font metrics
+     * @param kerning true if kerning should be enabled
+     * @param advanced true if advanced typography features should be enabled
+     * @param fontTriplets list of font triplets to associate with this font
+     * @param embedFile path to the embeddable font file (may be null)
      * @param subFontName the sub-fontname used for TrueType Collections (null otherwise)
      */
-    public EmbedFontInfo(String metricsFile, boolean kerning,
+    public EmbedFontInfo(String metricsFile, boolean kerning, boolean advanced,
                     List<FontTriplet> fontTriplets, String embedFile, String subFontName) {
         this.metricsFile = metricsFile;
         this.embedFile = embedFile;
         this.kerning = kerning;
+        this.advanced = advanced;
         this.fontTriplets = fontTriplets;
         this.subFontName = subFontName;
     }
@@ -85,13 +89,21 @@
 
     /**
      * Determines if kerning is enabled
-     * @return True if enabled
+     * @return true if enabled
      */
     public boolean getKerning() {
         return kerning;
     }
 
     /**
+     * Determines if advanced typographic features are enabled
+     * @return true if enabled
+     */
+    public boolean getAdvanced() {
+        return advanced;
+    }
+
+    /**
      * Returns the sub-font name of the font. This is primarily used for TrueType Collections
      * to select one of the sub-fonts. For all other fonts, this is always null.
      * @return the sub-font name (or null)
@@ -173,6 +185,7 @@
     public String toString() {
         return "metrics-url=" + metricsFile + ", embed-url=" + embedFile
             + ", kerning=" + kerning
+            + ", advanced=" + advanced
             + ", enc-mode=" + encodingMode
             + ", font-triplet=" + fontTriplets
             + (getSubFontName() != null ? ", sub-font=" + getSubFontName() : "")
diff --git a/src/java/org/apache/fop/fonts/Font.java b/src/java/org/apache/fop/fonts/Font.java
index 8ca8022..a1febdb 100644
--- a/src/java/org/apache/fop/fonts/Font.java
+++ b/src/java/org/apache/fop/fonts/Font.java
@@ -25,11 +25,13 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+// CSOFF: LineLengthCheck
+
 /**
  * This class holds font state information and provides access to the font
  * metrics.
  */
-public class Font {
+public class Font implements Substitutable, Positionable {
 
     /** Extra Bold font weight */
     public static final int WEIGHT_EXTRA_BOLD = 800;
@@ -241,8 +243,8 @@
      */
     @Override
     public String toString() {
-        StringBuffer sbuf = new StringBuffer();
-        sbuf.append('(');
+        StringBuffer sbuf = new StringBuffer(super.toString());
+        sbuf.append('{');
         /*
         sbuf.append(fontFamily);
         sbuf.append(',');*/
@@ -254,7 +256,7 @@
         sbuf.append(fontStyle);
         sbuf.append(',');
         sbuf.append(fontWeight);*/
-        sbuf.append(')');
+        sbuf.append('}');
         return sbuf.toString();
     }
 
@@ -347,6 +349,59 @@
         return width;
     }
 
+    /** {@inheritDoc} */
+    public boolean performsSubstitution() {
+        if ( metric instanceof Substitutable ) {
+            Substitutable s = (Substitutable) metric;
+            return s.performsSubstitution();
+        } else {
+            return false;
+        }
+    }
+
+    /** {@inheritDoc} */
+    public CharSequence performSubstitution ( CharSequence cs, String script, String language ) {
+        if ( metric instanceof Substitutable ) {
+            Substitutable s = (Substitutable) metric;
+            return s.performSubstitution ( cs, script, language );
+        } else {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    /** {@inheritDoc} */
+    public CharSequence reorderCombiningMarks ( CharSequence cs, int[][] gpa, String script, String language ) {
+        if ( metric instanceof Substitutable ) {
+            Substitutable s = (Substitutable) metric;
+            return s.reorderCombiningMarks ( cs, gpa, script, language );
+        } else {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    /** {@inheritDoc} */
+    public boolean performsPositioning() {
+        if ( metric instanceof Positionable ) {
+            Positionable p = (Positionable) metric;
+            return p.performsPositioning();
+        } else {
+            return false;
+        }
+    }
+
+    /** {@inheritDoc} */
+    public int[][] performPositioning ( CharSequence cs, String script, String language, int fontSize ) {
+        if ( metric instanceof Positionable ) {
+            Positionable p = (Positionable) metric;
+            return p.performPositioning ( cs, script, language, fontSize );
+        } else {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    /** {@inheritDoc} */
+    public int[][] performPositioning ( CharSequence cs, String script, String language ) {
+        return performPositioning ( cs, script, language, fontSize );
+    }
+
 }
-
-
diff --git a/src/java/org/apache/fop/fonts/FontInfoConfigurator.java b/src/java/org/apache/fop/fonts/FontInfoConfigurator.java
index 67bb2e2..995df9b 100644
--- a/src/java/org/apache/fop/fonts/FontInfoConfigurator.java
+++ b/src/java/org/apache/fop/fonts/FontInfoConfigurator.java
@@ -251,20 +251,26 @@
         }
 
         boolean useKerning = fontCfg.getAttributeAsBoolean("kerning", true);
+        boolean useAdvanced = fontCfg.getAttributeAsBoolean("advanced", true);
         EncodingMode encodingMode = EncodingMode.getEncodingMode(
                 fontCfg.getAttribute("encoding-mode", EncodingMode.AUTO.getName()));
         EmbedFontInfo embedFontInfo
-                = new EmbedFontInfo(metricsUrl, useKerning, tripletList, embedUrl, subFont);
+            = new EmbedFontInfo(metricsUrl, useKerning, useAdvanced, tripletList, embedUrl,
+                                subFont);
         embedFontInfo.setEncodingMode(encodingMode);
+        boolean skipCachedFont = false;
         if (fontCache != null) {
             if (!fontCache.containsFont(embedFontInfo)) {
                 fontCache.addFont(embedFontInfo);
+            } else {
+                skipCachedFont = true;
             }
         }
 
         if (log.isDebugEnabled()) {
             String embedFile = embedFontInfo.getEmbedFile();
-            log.debug("Adding font " + (embedFile != null ? embedFile + ", " : "")
+            log.debug( ( skipCachedFont ? "Skipping (cached) font " : "Adding font " )
+                    + (embedFile != null ? embedFile + ", " : "")
                     + "metric file " + embedFontInfo.getMetricsFile());
             for (int j = 0; j < tripletList.size(); ++j) {
                 FontTriplet triplet = tripletList.get(j);
diff --git a/src/java/org/apache/fop/fonts/FontLoader.java b/src/java/org/apache/fop/fonts/FontLoader.java
index 02c09a1..91b7639 100644
--- a/src/java/org/apache/fop/fonts/FontLoader.java
+++ b/src/java/org/apache/fop/fonts/FontLoader.java
@@ -43,31 +43,36 @@
     protected static final Log log = LogFactory.getLog(FontLoader.class);
 
     /** URI representing the font file */
-    protected String fontFileURI = null;
+    protected String fontFileURI;
     /** the FontResolver to use for font URI resolution */
-    protected FontResolver resolver = null;
+    protected FontResolver resolver;
     /** the loaded font */
-    protected CustomFont returnFont = null;
+    protected CustomFont returnFont;
 
     /** true if the font has been loaded */
-    protected boolean loaded = false;
+    protected boolean loaded;
     /** true if the font will be embedded, false if it will be referenced only. */
-    protected boolean embedded = true;
-    /** true if kerning information shall be loaded if available. */
-    protected boolean useKerning = true;
+    protected boolean embedded;
+    /** true if kerning information false be loaded if available. */
+    protected boolean useKerning;
+    /** true if advanced typographic information shall be loaded if available. */
+    protected boolean useAdvanced;
 
     /**
      * Default constructor.
      * @param fontFileURI the URI to the PFB file of a Type 1 font
      * @param embedded indicates whether the font is embedded or referenced
      * @param useKerning indicates whether kerning information shall be loaded if available
+     * @param useAdvanced indicates whether advanced typographic information shall be loaded if
+     * available
      * @param resolver the font resolver used to resolve URIs
      */
     public FontLoader(String fontFileURI, boolean embedded, boolean useKerning,
-            FontResolver resolver) {
+            boolean useAdvanced, FontResolver resolver) {
         this.fontFileURI = fontFileURI;
         this.embedded = embedded;
         this.useKerning = useKerning;
+        this.useAdvanced = useAdvanced;
         this.resolver = resolver;
     }
 
@@ -105,7 +110,7 @@
             boolean embedded, EncodingMode encodingMode,
             FontResolver resolver) throws IOException {
         return loadFont(fontUrl.toExternalForm(), subFontName,
-                embedded, encodingMode, true,
+                embedded, encodingMode, true, true,
                 resolver);
     }
 
@@ -116,13 +121,15 @@
      * @param embedded indicates whether the font is embedded or referenced
      * @param encodingMode the requested encoding mode
      * @param useKerning indicates whether kerning information should be loaded if available
+     * @param useAdvanced indicates whether advanced typographic information shall be loaded if
+     * available
      * @param resolver the font resolver to use when resolving URIs
      * @return the newly loaded font
      * @throws IOException In case of an I/O error
      */
     public static CustomFont loadFont(String fontFileURI, String subFontName,
             boolean embedded, EncodingMode encodingMode, boolean useKerning,
-            FontResolver resolver) throws IOException {
+            boolean useAdvanced, FontResolver resolver) throws IOException {
         fontFileURI = fontFileURI.trim();
         boolean type1 = isType1(fontFileURI);
         FontLoader loader;
@@ -134,7 +141,7 @@
             loader = new Type1FontLoader(fontFileURI, embedded, useKerning, resolver);
         } else {
             loader = new TTFFontLoader(fontFileURI, subFontName,
-                    embedded, encodingMode, useKerning, resolver);
+                    embedded, encodingMode, useKerning, useAdvanced, resolver);
         }
         return loader.getFont();
     }
diff --git a/src/java/org/apache/fop/fonts/FontManagerConfigurator.java b/src/java/org/apache/fop/fonts/FontManagerConfigurator.java
index 6935df7..40e163d 100644
--- a/src/java/org/apache/fop/fonts/FontManagerConfigurator.java
+++ b/src/java/org/apache/fop/fonts/FontManagerConfigurator.java
@@ -98,6 +98,18 @@
             }
         }
 
+        // [GA] permit configuration control over base14 kerning; without this,
+        // there is no way for a user to enable base14 kerning other than by
+        // programmatic API;
+        if (cfg.getChild("base14-kerning", false) != null) {
+            try {
+                fontManager
+                    .setBase14KerningEnabled(cfg.getChild("base14-kerning").getValueAsBoolean());
+            } catch (ConfigurationException e) {
+                LogUtil.handleException(log, e, true);
+            }
+        }
+
         // global font configuration
         Configuration fontsCfg = cfg.getChild("fonts", false);
         if (fontsCfg != null) {
diff --git a/src/java/org/apache/fop/fonts/FontReader.java b/src/java/org/apache/fop/fonts/FontReader.java
index e9b88ec..0f0348f 100644
--- a/src/java/org/apache/fop/fonts/FontReader.java
+++ b/src/java/org/apache/fop/fonts/FontReader.java
@@ -34,6 +34,7 @@
 import org.xml.sax.InputSource;
 import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.DefaultHandler;
 
@@ -52,7 +53,7 @@
  */
 public class FontReader extends DefaultHandler {
 
-    private Locator locator = null;
+    // private Locator locator = null; // not used at present
     private boolean isCID = false;
     private CustomFont returnFont = null;
     private MultiByteFont multiFont = null;
@@ -117,6 +118,14 @@
     }
 
     /**
+     * Enable/disable use of advanced typographic features for the font
+     * @param enabled true to enable, false to disable
+     */
+    public void setAdvancedEnabled(boolean enabled) {
+        returnFont.setAdvancedEnabled(enabled);
+    }
+
+    /**
      * Sets the font resolver. Needed for URI resolution.
      * @param resolver the font resolver
      */
@@ -153,7 +162,7 @@
      * {@inheritDoc}
      */
     public void setDocumentLocator(Locator locator) {
-        this.locator = locator;
+        // this.locator = locator; // not used at present
     }
 
     /**
@@ -212,6 +221,7 @@
             currentKerning.put(new Integer(attributes.getValue("kpx2")),
                                new Integer(attributes.getValue("kern")));
         }
+
     }
 
     private int getInt(String str) throws SAXException {
@@ -305,6 +315,5 @@
     public void characters(char[] ch, int start, int length) {
         text.append(ch, start, length);
     }
+
 }
-
-
diff --git a/src/java/org/apache/fop/fonts/GlyphClassMapping.java b/src/java/org/apache/fop/fonts/GlyphClassMapping.java
new file mode 100644
index 0000000..648ee27
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphClassMapping.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * The <code>GlyphClassMapping</code> interface provides glyph identifier to class
+ * index mapping support.
+ * @author Glenn Adams
+ */
+public interface GlyphClassMapping {
+
+    /**
+     * Obtain size of class table, i.e., ciMax + 1, where ciMax is the maximum
+     * class index.
+     * @param set for coverage set based class mappings, indicates set index, otherwise ignored
+     * @return size of class table
+     */
+    int getClassSize ( int set );
+
+    /**
+     * Map glyph identifier (code) to coverge index. Returns -1 if glyph identifier is not in the domain of
+     * the class table.
+     * @param gid glyph identifier (code)
+     * @param set for coverage set based class mappings, indicates set index, otherwise ignored
+     * @return non-negative glyph class index or -1 if glyph identifiers is not mapped by table
+     */
+    int getClassIndex ( int gid, int set );
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphClassTable.java b/src/java/org/apache/fop/fonts/GlyphClassTable.java
new file mode 100644
index 0000000..cc53c78
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphClassTable.java
@@ -0,0 +1,277 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Iterator;
+
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * Base class implementation of glyph class table.
+ * @author Glenn Adams
+ */
+public final class GlyphClassTable extends GlyphMappingTable implements GlyphClassMapping {
+
+    /** empty mapping table */
+    public static final int GLYPH_CLASS_TYPE_EMPTY = GLYPH_MAPPING_TYPE_EMPTY;
+
+    /** mapped mapping table */
+    public static final int GLYPH_CLASS_TYPE_MAPPED = GLYPH_MAPPING_TYPE_MAPPED;
+
+    /** range based mapping table */
+    public static final int GLYPH_CLASS_TYPE_RANGE = GLYPH_MAPPING_TYPE_RANGE;
+
+    /** empty mapping table */
+    public static final int GLYPH_CLASS_TYPE_COVERAGE_SET = 3;
+
+    private GlyphClassMapping cm;
+
+    private GlyphClassTable ( GlyphClassMapping cm ) {
+        assert cm != null;
+        assert cm instanceof GlyphMappingTable;
+        this.cm = cm;
+    }
+
+    /** {@inheritDoc} */
+    public int getType() {
+        return ( (GlyphMappingTable) cm ) .getType();
+    }
+
+    /** {@inheritDoc} */
+    public List getEntries() {
+        return ( (GlyphMappingTable) cm ) .getEntries();
+    }
+
+    /** {@inheritDoc} */
+    public int getClassSize ( int set ) {
+        return cm.getClassSize ( set );
+    }
+
+    /** {@inheritDoc} */
+    public int getClassIndex ( int gid, int set ) {
+        return cm.getClassIndex ( gid, set );
+    }
+
+    /**
+     * Create glyph class table.
+     * @param entries list of mapped or ranged class entries, or null or empty list
+     * @return a new covera table instance
+     */
+    public static GlyphClassTable createClassTable ( List entries ) {
+        GlyphClassMapping cm;
+        if ( ( entries == null ) || ( entries.size() == 0 ) ) {
+            cm = new EmptyClassTable ( entries );
+        } else if ( isMappedClass ( entries ) ) {
+            cm = new MappedClassTable ( entries );
+        } else if ( isRangeClass ( entries ) ) {
+            cm = new RangeClassTable ( entries );
+        } else if ( isCoverageSetClass ( entries ) ) {
+            cm = new CoverageSetClassTable ( entries );
+        } else {
+            cm = null;
+        }
+        assert cm != null : "unknown class type";
+        return new GlyphClassTable ( cm );
+    }
+
+    private static boolean isMappedClass ( List entries ) {
+        if ( ( entries == null ) || ( entries.size() == 0 ) ) {
+            return false;
+        } else {
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( ! ( o instanceof Integer ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    private static boolean isRangeClass ( List entries ) {
+        if ( ( entries == null ) || ( entries.size() == 0 ) ) {
+            return false;
+        } else {
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( ! ( o instanceof MappingRange ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    private static boolean isCoverageSetClass ( List entries ) {
+        if ( ( entries == null ) || ( entries.size() == 0 ) ) {
+            return false;
+        } else {
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( ! ( o instanceof GlyphCoverageTable ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    private static class EmptyClassTable extends GlyphMappingTable.EmptyMappingTable implements GlyphClassMapping {
+        public EmptyClassTable ( List entries ) {
+            super ( entries );
+        }
+        /** {@inheritDoc} */
+        public int getClassSize ( int set ) {
+            return 0;
+        }
+        /** {@inheritDoc} */
+        public int getClassIndex ( int gid, int set ) {
+            return -1;
+        }
+    }
+
+    private static class MappedClassTable extends GlyphMappingTable.MappedMappingTable implements GlyphClassMapping {
+        private int firstGlyph;
+        private int[] gca;
+        private int gcMax = -1;
+        public MappedClassTable ( List entries ) {
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            List entries = new java.util.ArrayList();
+            entries.add ( Integer.valueOf ( firstGlyph ) );
+            if ( gca != null ) {
+                for ( int i = 0, n = gca.length; i < n; i++ ) {
+                    entries.add ( Integer.valueOf ( gca [ i ] ) );
+                }
+            }
+            return entries;
+        }
+        /** {@inheritDoc} */
+        public int getMappingSize() {
+            return gcMax + 1;
+        }
+        /** {@inheritDoc} */
+        public int getMappedIndex ( int gid ) {
+            int i = gid - firstGlyph;
+            if ( ( i >= 0 ) && ( i < gca.length ) ) {
+                return gca [ i ];
+            } else {
+                return -1;
+            }
+        }
+        /** {@inheritDoc} */
+        public int getClassSize ( int set ) {
+            return getMappingSize();
+        }
+        /** {@inheritDoc} */
+        public int getClassIndex ( int gid, int set ) {
+            return getMappedIndex ( gid );
+        }
+        private void populate ( List entries ) {
+            // obtain entries iterator
+            Iterator it = entries.iterator();
+            // extract first glyph
+            int firstGlyph = 0;
+            if ( it.hasNext() ) {
+                Object o = it.next();
+                if ( o instanceof Integer ) {
+                    firstGlyph = ( (Integer) o ) . intValue();
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entry, first entry must be Integer denoting first glyph value, but is: " + o );
+                }
+            }
+            // extract glyph class array
+            int i = 0, n = entries.size() - 1, gcMax = -1;
+            int[] gca = new int [ n ];
+            while ( it.hasNext() ) {
+                Object o = it.next();
+                if ( o instanceof Integer ) {
+                    int gc = ( (Integer) o ) . intValue();
+                    gca [ i++ ] = gc;
+                    if ( gc > gcMax ) {
+                        gcMax = gc;
+                    }
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal mapping entry, must be Integer: " + o );
+                }
+            }
+            assert i == n;
+            assert this.gca == null;
+            this.firstGlyph = firstGlyph;
+            this.gca = gca;
+            this.gcMax = gcMax;
+        }
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append("{ firstGlyph = " + firstGlyph + ", classes = {");
+            for ( int i = 0, n = gca.length; i < n; i++ ) {
+                if ( i > 0 ) {
+                    sb.append(',');
+                }
+                sb.append ( Integer.toString ( gca [ i ] ) );
+            }
+            sb.append("} }");
+            return sb.toString();
+        }
+    }
+
+    private static class RangeClassTable extends GlyphMappingTable.RangeMappingTable implements GlyphClassMapping {
+        public RangeClassTable ( List entries ) {
+            super ( entries );
+        }
+        /** {@inheritDoc} */
+        public int getMappedIndex ( int gid, int s, int m ) {
+            return m;
+        }
+        /** {@inheritDoc} */
+        public int getClassSize ( int set ) {
+            return getMappingSize();
+        }
+        /** {@inheritDoc} */
+        public int getClassIndex ( int gid, int set ) {
+            return getMappedIndex ( gid );
+        }
+    }
+
+    private static class CoverageSetClassTable extends GlyphMappingTable.EmptyMappingTable implements GlyphClassMapping {
+        public CoverageSetClassTable ( List entries ) {
+            throw new UnsupportedOperationException ( "coverage set class table not yet supported" );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GLYPH_CLASS_TYPE_COVERAGE_SET;
+        }
+        /** {@inheritDoc} */
+        public int getClassSize ( int set ) {
+            return 0;
+        }
+        /** {@inheritDoc} */
+        public int getClassIndex ( int gid, int set ) {
+            return -1;
+        }
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphContextTester.java b/src/java/org/apache/fop/fonts/GlyphContextTester.java
new file mode 100644
index 0000000..7e2f7bf
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphContextTester.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+/**
+ * Interface for testing the originating (source) character context of a glyph sequence.
+ * @author Glenn Adams
+ */
+public interface GlyphContextTester {
+
+    /**
+     * Perform a test on a glyph sequence in a specific (originating) character context.
+     * @param script governing script
+     * @param language governing language
+     * @param feature governing feature
+     * @param gs glyph sequence to test
+     * @param index index into glyph sequence to test
+     * @return true if test is satisfied
+     */
+    boolean test ( String script, String language, String feature, GlyphSequence gs, int index );
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphCoverageMapping.java b/src/java/org/apache/fop/fonts/GlyphCoverageMapping.java
new file mode 100644
index 0000000..34d4cd3
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphCoverageMapping.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * The <code>GlyphCoverageMapping</code> interface provides glyph identifier to coverage
+ * index mapping support.
+ * @author Glenn Adams
+ */
+public interface GlyphCoverageMapping {
+
+    /**
+     * Obtain size of coverage table, i.e., ciMax + 1, where ciMax is the maximum
+     * coverage index.
+     * @return size of coverage table
+     */
+    int getCoverageSize();
+
+    /**
+     * Map glyph identifier (code) to coverge index. Returns -1 if glyph identifier is not in the domain of
+     * the coverage table.
+     * @param gid glyph identifier (code)
+     * @return non-negative glyph coverage index or -1 if glyph identifiers is not mapped by table
+     */
+    int getCoverageIndex ( int gid );
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphCoverageTable.java b/src/java/org/apache/fop/fonts/GlyphCoverageTable.java
new file mode 100644
index 0000000..17e24c0
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphCoverageTable.java
@@ -0,0 +1,233 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Iterator;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+// CSOFF: LineLengthCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * Base class implementation of glyph coverage table.
+ * @author Glenn Adams
+ */
+public final class GlyphCoverageTable extends GlyphMappingTable implements GlyphCoverageMapping {
+
+    /* logging instance */
+    private static final Log log = LogFactory.getLog(GlyphCoverageTable.class);                                         // CSOK: ConstantNameCheck
+
+    /** empty mapping table */
+    public static final int GLYPH_COVERAGE_TYPE_EMPTY = GLYPH_MAPPING_TYPE_EMPTY;
+
+    /** mapped mapping table */
+    public static final int GLYPH_COVERAGE_TYPE_MAPPED = GLYPH_MAPPING_TYPE_MAPPED;
+
+    /** range based mapping table */
+    public static final int GLYPH_COVERAGE_TYPE_RANGE = GLYPH_MAPPING_TYPE_RANGE;
+
+    private GlyphCoverageMapping cm;
+
+    private GlyphCoverageTable ( GlyphCoverageMapping cm ) {
+        assert cm != null;
+        assert cm instanceof GlyphMappingTable;
+        this.cm = cm;
+    }
+
+    /** {@inheritDoc} */
+    public int getType() {
+        return ( (GlyphMappingTable) cm ) .getType();
+    }
+
+    /** {@inheritDoc} */
+    public List getEntries() {
+        return ( (GlyphMappingTable) cm ) .getEntries();
+    }
+
+    /** {@inheritDoc} */
+    public int getCoverageSize() {
+        return cm.getCoverageSize();
+    }
+
+    /** {@inheritDoc} */
+    public int getCoverageIndex ( int gid ) {
+        return cm.getCoverageIndex ( gid );
+    }
+
+    /**
+     * Create glyph coverage table.
+     * @param entries list of mapped or ranged coverage entries, or null or empty list
+     * @return a new covera table instance
+     */
+    public static GlyphCoverageTable createCoverageTable ( List entries ) {
+        GlyphCoverageMapping cm;
+        if ( ( entries == null ) || ( entries.size() == 0 ) ) {
+            cm = new EmptyCoverageTable ( entries );
+        } else if ( isMappedCoverage ( entries ) ) {
+            cm = new MappedCoverageTable ( entries );
+        } else if ( isRangeCoverage ( entries ) ) {
+            cm = new RangeCoverageTable ( entries );
+        } else {
+            cm = null;
+        }
+        assert cm != null : "unknown coverage type";
+        return new GlyphCoverageTable ( cm );
+    }
+
+    private static boolean isMappedCoverage ( List entries ) {
+        if ( ( entries == null ) || ( entries.size() == 0 ) ) {
+            return false;
+        } else {
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( ! ( o instanceof Integer ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    private static boolean isRangeCoverage ( List entries ) {
+        if ( ( entries == null ) || ( entries.size() == 0 ) ) {
+            return false;
+        } else {
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( ! ( o instanceof MappingRange ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    private static class EmptyCoverageTable extends GlyphMappingTable.EmptyMappingTable implements GlyphCoverageMapping {
+        public EmptyCoverageTable ( List entries ) {
+            super ( entries );
+        }
+        /** {@inheritDoc} */
+        public int getCoverageSize() {
+            return 0;
+        }
+        /** {@inheritDoc} */
+        public int getCoverageIndex ( int gid ) {
+            return -1;
+        }
+    }
+
+    private static class MappedCoverageTable extends GlyphMappingTable.MappedMappingTable implements GlyphCoverageMapping {
+        private int[] map;
+        public MappedCoverageTable ( List entries ) {
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            List entries = new java.util.ArrayList();
+            if ( map != null ) {
+                for ( int i = 0, n = map.length; i < n; i++ ) {
+                    entries.add ( Integer.valueOf ( map [ i ] ) );
+                }
+            }
+            return entries;
+        }
+        /** {@inheritDoc} */
+        public int getMappingSize() {
+            return ( map != null ) ? map.length : 0;
+        }
+        public int getMappedIndex ( int gid ) {
+            int i;
+            if ( ( i = Arrays.binarySearch ( map, gid ) ) >= 0 ) {
+                return i;
+            } else {
+                return -1;
+            }
+        }
+        /** {@inheritDoc} */
+        public int getCoverageSize() {
+            return getMappingSize();
+        }
+        /** {@inheritDoc} */
+        public int getCoverageIndex ( int gid ) {
+            return getMappedIndex ( gid );
+        }
+        private void populate ( List entries ) {
+            int i = 0, n = entries.size(), gidMax = -1;
+            int[] map = new int [ n ];
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof Integer ) {
+                    int gid = ( (Integer) o ) . intValue();
+                    if ( ( gid >= 0 ) && ( gid < 65536 ) ) {
+                        if ( gid > gidMax ) {
+                            map [ i++ ] = gidMax = gid;
+                        } else {
+                            log.info ( "ignoring out of order or duplicate glyph index: " + gid );
+                        }
+                    } else {
+                        throw new AdvancedTypographicTableFormatException ( "illegal glyph index: " + gid );
+                    }
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal coverage entry, must be Integer: " + o );
+                }
+            }
+            assert i == n;
+            assert this.map == null;
+            this.map = map;
+        }
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append('{');
+            for ( int i = 0, n = map.length; i < n; i++ ) {
+                if ( i > 0 ) {
+                    sb.append(',');
+                }
+                sb.append ( Integer.toString ( map [ i ] ) );
+            }
+            sb.append('}');
+            return sb.toString();
+        }
+    }
+
+    private static class RangeCoverageTable extends GlyphMappingTable.RangeMappingTable implements GlyphCoverageMapping {
+        public RangeCoverageTable ( List entries ) {
+            super ( entries );
+        }
+        /** {@inheritDoc} */
+        public int getMappedIndex ( int gid, int s, int m ) {
+            return m + gid - s;
+        }
+        /** {@inheritDoc} */
+        public int getCoverageSize() {
+            return getMappingSize();
+        }
+        /** {@inheritDoc} */
+        public int getCoverageIndex ( int gid ) {
+            return getMappedIndex ( gid );
+        }
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphDefinition.java b/src/java/org/apache/fop/fonts/GlyphDefinition.java
new file mode 100644
index 0000000..e7cd4ad
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphDefinition.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * The <code>GlyphDefinition</code> interface is a marker interface implemented by a glyph definition
+ * subtable.
+ * @author Glenn Adams
+ */
+public interface GlyphDefinition {
+
+    /**
+     * Determine if some definition is available for a specific glyph.
+     * @param gi a glyph index
+     * @return true if some (unspecified) definition is available for the specified glyph
+     */
+    boolean hasDefinition ( int gi );
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphDefinitionSubtable.java b/src/java/org/apache/fop/fonts/GlyphDefinitionSubtable.java
new file mode 100644
index 0000000..74c6a42
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphDefinitionSubtable.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+// CSOFF: InnerAssignmentCheck
+
+/**
+ * The <code>GlyphDefinitionSubtable</code> implements an abstract base of a glyph definition subtable,
+ * providing a default implementation of the <code>GlyphDefinition</code> interface.
+ * @author Glenn Adams
+ */
+public abstract class GlyphDefinitionSubtable extends GlyphSubtable implements GlyphDefinition {
+
+    /**
+     * Instantiate a <code>GlyphDefinitionSubtable</code>.
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param mapping subtable coverage table
+     */
+    protected GlyphDefinitionSubtable ( String id, int sequence, int flags, int format, GlyphMappingTable mapping ) {
+        super ( id, sequence, flags, format, mapping );
+    }
+
+    /** {@inheritDoc} */
+    public int getTableType() {
+        return GlyphTable.GLYPH_TABLE_TYPE_DEFINITION;
+    }
+
+    /** {@inheritDoc} */
+    public String getTypeName() {
+        return GlyphDefinitionTable.getLookupTypeName ( getType() );
+    }
+
+    /** {@inheritDoc} */
+    public boolean usesReverseScan() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    public boolean hasDefinition ( int gi ) {
+        GlyphCoverageMapping cvm;
+        if ( ( cvm = getCoverage() ) != null ) {
+            if ( cvm.getCoverageIndex ( gi ) >= 0 ) {
+                return true;
+            }
+        }
+        GlyphClassMapping clm;
+        if ( ( clm = getClasses() ) != null ) {
+            if ( clm.getClassIndex ( gi, 0 ) >= 0 ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphDefinitionTable.java b/src/java/org/apache/fop/fonts/GlyphDefinitionTable.java
new file mode 100644
index 0000000..0a4e1ca
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphDefinitionTable.java
@@ -0,0 +1,363 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.nio.CharBuffer;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+
+/**
+ * The <code>GlyphDefinitionTable</code> class is a glyph table that implements
+ * glyph definition functionality according to the OpenType GDEF table.
+ * @author Glenn Adams
+ */
+public class GlyphDefinitionTable extends GlyphTable {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(GlyphDefinitionTable.class);                                       // CSOK: ConstantNameCheck
+
+    /** glyph class subtable type */
+    public static final int GDEF_LOOKUP_TYPE_GLYPH_CLASS = 1;
+    /** attachment point subtable type */
+    public static final int GDEF_LOOKUP_TYPE_ATTACHMENT_POINT = 2;
+    /** ligature caret subtable type */
+    public static final int GDEF_LOOKUP_TYPE_LIGATURE_CARET = 3;
+    /** mark attachment subtable type */
+    public static final int GDEF_LOOKUP_TYPE_MARK_ATTACHMENT = 4;
+
+    /** pre-defined glyph class - base glyph */
+    public static final int GLYPH_CLASS_BASE = 1;
+    /** pre-defined glyph class - ligature glyph */
+    public static final int GLYPH_CLASS_LIGATURE = 2;
+    /** pre-defined glyph class - mark glyph */
+    public static final int GLYPH_CLASS_MARK = 3;
+    /** pre-defined glyph class - component glyph */
+    public static final int GLYPH_CLASS_COMPONENT = 4;
+
+    /** singleton glyph class table */
+    private GlyphClassSubtable gct;
+    /** singleton attachment point table */
+    // private AttachmentPointSubtable apt;
+    /** singleton ligature caret table */
+    // private LigatureCaretSubtable lct;
+    /** singleton mark attachment table */
+    // private MarkAttachmentSubtable mat;
+
+    /**
+     * Instantiate a <code>GlyphDefinitionTable</code> object using the specified subtables.
+     * @param subtables a list of identified subtables
+     */
+    public GlyphDefinitionTable ( List subtables ) {
+        super ( null, new HashMap(0) );
+        if ( ( subtables == null ) || ( subtables.size() == 0 ) ) {
+            throw new AdvancedTypographicTableFormatException ( "subtables must be non-empty" );
+        } else {
+            for ( Iterator it = subtables.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof GlyphDefinitionSubtable ) {
+                    addSubtable ( (GlyphSubtable) o );
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "subtable must be a glyph definition subtable" );
+                }
+            }
+            freezeSubtables();
+        }
+    }
+
+    /**
+     * Reorder combining marks in glyph sequence so that they precede (within the sequence) the base
+     * character to which they are applied. N.B. In the case of LTR segments, marks are not reordered by this,
+     * method since when the segment is reversed by BIDI processing, marks are automatically reordered to precede
+     * their base glyph.
+     * @param gs an input glyph sequence
+     * @param gpa associated glyph position adjustments (also reordered)
+     * @param script a script identifier
+     * @param language a language identifier
+     * @return the reordered (output) glyph sequence
+     */
+    public GlyphSequence reorderCombiningMarks ( GlyphSequence gs, int[][] gpa, String script, String language ) {
+        ScriptProcessor sp = ScriptProcessor.getInstance ( script );
+        return sp.reorderCombiningMarks ( this, gs, gpa, script, language );
+    }
+
+    /** {@inheritDoc} */
+    protected void addSubtable ( GlyphSubtable subtable ) {
+        if ( subtable instanceof GlyphClassSubtable ) {
+            this.gct = (GlyphClassSubtable) subtable;
+        } else if ( subtable instanceof AttachmentPointSubtable ) {
+            // TODO - not yet used
+            // this.apt = (AttachmentPointSubtable) subtable;
+        } else if ( subtable instanceof LigatureCaretSubtable ) {
+            // TODO - not yet used
+            // this.lct = (LigatureCaretSubtable) subtable;
+        } else if ( subtable instanceof MarkAttachmentSubtable ) {
+            // TODO - not yet used
+            // this.mat = (MarkAttachmentSubtable) subtable;
+        } else {
+            throw new UnsupportedOperationException ( "unsupported glyph definition subtable type: " + subtable );
+        }
+    }
+
+    /**
+     * Determine if glyph belongs to pre-defined glyph class.
+     * @param gid a glyph identifier (index)
+     * @param gc a pre-defined glyph class (GLYPH_CLASS_BASE|GLYPH_CLASS_LIGATURE|GLYPH_CLASS_MARK|GLYPH_CLASS_COMPONENT).
+     * @return true if glyph belongs to specified glyph class
+     */
+    public boolean isGlyphClass ( int gid, int gc ) {
+        if ( gct != null ) {
+            return gct.isGlyphClass ( gid, gc );
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Map a lookup type name to its constant (integer) value.
+     * @param name lookup type name
+     * @return lookup type
+     */
+    public static int getLookupTypeFromName ( String name ) {
+        int t;
+        String s = name.toLowerCase();
+        if ( "glyphclass".equals ( s ) ) {
+            t = GDEF_LOOKUP_TYPE_GLYPH_CLASS;
+        } else if ( "attachmentpoint".equals ( s ) ) {
+            t = GDEF_LOOKUP_TYPE_ATTACHMENT_POINT;
+        } else if ( "ligaturecaret".equals ( s ) ) {
+            t = GDEF_LOOKUP_TYPE_LIGATURE_CARET;
+        } else if ( "markattachment".equals ( s ) ) {
+            t = GDEF_LOOKUP_TYPE_MARK_ATTACHMENT;
+        } else {
+            t = -1;
+        }
+        return t;
+    }
+
+    /**
+     * Map a lookup type constant (integer) value to its name.
+     * @param type lookup type
+     * @return lookup type name
+     */
+    public static String getLookupTypeName ( int type ) {
+        String tn = null;
+        switch ( type ) {
+        case GDEF_LOOKUP_TYPE_GLYPH_CLASS:
+            tn = "glyphclass";
+            break;
+        case GDEF_LOOKUP_TYPE_ATTACHMENT_POINT:
+            tn = "attachmentpoint";
+            break;
+        case GDEF_LOOKUP_TYPE_LIGATURE_CARET:
+            tn = "ligaturecaret";
+            break;
+        case GDEF_LOOKUP_TYPE_MARK_ATTACHMENT:
+            tn = "markattachment";
+            break;
+        default:
+            tn = "unknown";
+            break;
+        }
+        return tn;
+    }
+
+    /**
+     * Create a definition subtable according to the specified arguments.
+     * @param type subtable type
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags (must be zero)
+     * @param format subtable format
+     * @param mapping subtable mapping table
+     * @param entries subtable entries
+     * @return a glyph subtable instance
+     */
+    public static GlyphSubtable createSubtable ( int type, String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+        GlyphSubtable st = null;
+        switch ( type ) {
+        case GDEF_LOOKUP_TYPE_GLYPH_CLASS:
+            st = GlyphClassSubtable.create ( id, sequence, flags, format, mapping, entries );
+            break;
+        case GDEF_LOOKUP_TYPE_ATTACHMENT_POINT:
+            st = AttachmentPointSubtable.create ( id, sequence, flags, format, mapping, entries );
+            break;
+        case GDEF_LOOKUP_TYPE_LIGATURE_CARET:
+            st = LigatureCaretSubtable.create ( id, sequence, flags, format, mapping, entries );
+            break;
+        case GDEF_LOOKUP_TYPE_MARK_ATTACHMENT:
+            st = MarkAttachmentSubtable.create ( id, sequence, flags, format, mapping, entries );
+            break;
+        default:
+            break;
+        }
+        return st;
+    }
+
+    private abstract static class GlyphClassSubtable extends GlyphDefinitionSubtable {
+        GlyphClassSubtable ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GDEF_LOOKUP_TYPE_GLYPH_CLASS;
+        }
+        /**
+         * Determine if glyph belongs to pre-defined glyph class.
+         * @param gid a glyph identifier (index)
+         * @param gc a pre-defined glyph class (GLYPH_CLASS_BASE|GLYPH_CLASS_LIGATURE|GLYPH_CLASS_MARK|GLYPH_CLASS_COMPONENT).
+         * @return true if glyph belongs to specified glyph class
+         */
+        public abstract boolean isGlyphClass ( int gid, int gc );
+        static GlyphDefinitionSubtable create ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            if ( format == 1 ) {
+                return new GlyphClassSubtableFormat1 ( id, sequence, flags, format, mapping, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class GlyphClassSubtableFormat1 extends GlyphClassSubtable {
+        GlyphClassSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping, entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            return null;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof GlyphClassSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean isGlyphClass ( int gid, int gc ) {
+            GlyphClassMapping cm = getClasses();
+            if ( cm != null ) {
+                return cm.getClassIndex ( gid, 0 ) == gc;
+            } else {
+                return false;
+            }
+        }
+    }
+
+    private abstract static class AttachmentPointSubtable extends GlyphDefinitionSubtable {
+        AttachmentPointSubtable ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GDEF_LOOKUP_TYPE_ATTACHMENT_POINT;
+        }
+        static GlyphDefinitionSubtable create ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            if ( format == 1 ) {
+                return new AttachmentPointSubtableFormat1 ( id, sequence, flags, format, mapping, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class AttachmentPointSubtableFormat1 extends AttachmentPointSubtable {
+        AttachmentPointSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping, entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            return null;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof AttachmentPointSubtable;
+        }
+    }
+
+    private abstract static class LigatureCaretSubtable extends GlyphDefinitionSubtable {
+        LigatureCaretSubtable ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GDEF_LOOKUP_TYPE_LIGATURE_CARET;
+        }
+        static GlyphDefinitionSubtable create ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            if ( format == 1 ) {
+                return new LigatureCaretSubtableFormat1 ( id, sequence, flags, format, mapping, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class LigatureCaretSubtableFormat1 extends LigatureCaretSubtable {
+        LigatureCaretSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping, entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            return null;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof LigatureCaretSubtable;
+        }
+    }
+
+    private abstract static class MarkAttachmentSubtable extends GlyphDefinitionSubtable {
+        MarkAttachmentSubtable ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GDEF_LOOKUP_TYPE_MARK_ATTACHMENT;
+        }
+        static GlyphDefinitionSubtable create ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            if ( format == 1 ) {
+                return new MarkAttachmentSubtableFormat1 ( id, sequence, flags, format, mapping, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class MarkAttachmentSubtableFormat1 extends MarkAttachmentSubtable {
+        MarkAttachmentSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries ) {
+            super ( id, sequence, flags, format, mapping, entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            return null;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof MarkAttachmentSubtable;
+        }
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphMappingTable.java b/src/java/org/apache/fop/fonts/GlyphMappingTable.java
new file mode 100644
index 0000000..9ba8de1
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphMappingTable.java
@@ -0,0 +1,322 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Iterator;
+
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+
+/**
+ * Base class implementation of glyph mapping table. This base
+ * class maps glyph indices to arbitrary integers (mappping indices), and
+ * is used to implement both glyph coverage and glyph class maps.
+ * @author Glenn Adams
+ */
+public class GlyphMappingTable {
+
+    /** empty mapping table */
+    public static final int GLYPH_MAPPING_TYPE_EMPTY = 0;
+
+    /** mapped mapping table */
+    public static final int GLYPH_MAPPING_TYPE_MAPPED = 1;
+
+    /** range based mapping table */
+    public static final int GLYPH_MAPPING_TYPE_RANGE = 2;
+
+    /**
+     * Obtain mapping type.
+     * @return mapping format type
+     */
+    public int getType() {
+        return -1;
+    }
+
+    /**
+     * Obtain mapping entries.
+     * @return list of mapping entries
+     */
+    public List getEntries() {
+        return null;
+    }
+
+    /**
+     * Obtain size of mapping table, i.e., ciMax + 1, where ciMax is the maximum
+     * mapping index.
+     * @return size of mapping table
+     */
+    public int getMappingSize() {
+        return 0;
+    }
+
+    /**
+     * Map glyph identifier (code) to coverge index. Returns -1 if glyph identifier is not in the domain of
+     * the mapping table.
+     * @param gid glyph identifier (code)
+     * @return non-negative glyph mapping index or -1 if glyph identifiers is not mapped by table
+     */
+    public int getMappedIndex ( int gid ) {
+        return -1;
+    }
+
+    /** empty mapping table base class */
+    protected static class EmptyMappingTable extends GlyphMappingTable {
+        /**
+         * Construct empty mapping table.
+         */
+        public EmptyMappingTable() {
+            this ( (List) null );
+        }
+        /**
+         * Construct empty mapping table with entries (ignored).
+         * @param entries list of entries (ignored)
+         */
+        public EmptyMappingTable ( List entries ) {
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GLYPH_MAPPING_TYPE_EMPTY;
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            return new java.util.ArrayList();
+        }
+        /** {@inheritDoc} */
+        public int getMappingSize() {
+            return 0;
+        }
+        /** {@inheritDoc} */
+        public int getMappedIndex ( int gid ) {
+            return -1;
+        }
+    }
+
+    /** mapped mapping table base class */
+    protected static class MappedMappingTable extends GlyphMappingTable {
+        /**
+         * Construct mapped mapping table.
+         */
+        public MappedMappingTable() {
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GLYPH_MAPPING_TYPE_MAPPED;
+        }
+    }
+
+    /** range mapping table base class */
+    protected abstract static class RangeMappingTable extends GlyphMappingTable {
+        private int[] sa = null;                                                // array of range (inclusive) starts
+        private int[] ea = null;                                                // array of range (inclusive) ends
+        private int[] ma = null;                                                // array of range mapped values
+        private int miMax = -1;
+        /**
+         * Construct range mapping table.
+         * @param entries of mapping ranges
+         */
+        public RangeMappingTable ( List entries ) {
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GLYPH_MAPPING_TYPE_RANGE;
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            List entries = new java.util.ArrayList();
+            if ( sa != null ) {
+                for ( int i = 0, n = sa.length; i < n; i++ ) {
+                    entries.add ( new MappingRange ( sa [ i ], ea [ i ], ma [ i ] ) );
+                }
+            }
+            return entries;
+        }
+        /** {@inheritDoc} */
+        public int getMappingSize() {
+            return miMax + 1;
+        }
+        /** {@inheritDoc} */
+        public int getMappedIndex ( int gid ) {
+            int i, mi;
+            if ( ( i = Arrays.binarySearch ( sa, gid ) ) >= 0 ) {
+                mi = getMappedIndex ( gid, sa [ i ], ma [ i ] );                // matches start of (some) range
+            } else if ( ( i = - ( i + 1 ) ) == 0 ) {
+                mi = -1;                                                        // precedes first range 
+            } else if ( gid > ea [ --i ] ) {
+                mi = -1;                                                        // follows preceding (or last) range
+            } else {
+                mi = getMappedIndex ( gid, sa [ i ], ma [ i ] );                // intersects (some) range
+            }
+            return mi;
+        }
+        /**
+         * Map glyph identifier (code) to coverge index. Returns -1 if glyph identifier is not in the domain of
+         * the mapping table.
+         * @param gid glyph identifier (code)
+         * @param s start of range
+         * @param m mapping value
+         * @return non-negative glyph mapping index or -1 if glyph identifiers is not mapped by table
+         */
+        public abstract int getMappedIndex ( int gid, int s, int m );
+        private void populate ( List entries ) {
+            int i = 0, n = entries.size(), gidMax = -1, miMax = -1;
+            int[] sa = new int [ n ];
+            int[] ea = new int [ n ];
+            int[] ma = new int [ n ];
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof MappingRange ) {
+                    MappingRange r = (MappingRange) o;
+                    int gs = r.getStart();
+                    int ge = r.getEnd();
+                    int mi = r.getIndex();
+                    if ( ( gs < 0 ) || ( gs > 65535 ) ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal glyph range: [" + gs + "," + ge + "]: bad start index" );
+                    } else if ( ( ge < 0 ) || ( ge > 65535 ) ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal glyph range: [" + gs + "," + ge + "]: bad end index" );
+                    } else if ( gs > ge ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal glyph range: [" + gs + "," + ge + "]: start index exceeds end index" );
+                    } else if ( gs < gidMax ) {
+                        throw new AdvancedTypographicTableFormatException ( "out of order glyph range: [" + gs + "," + ge + "]" );
+                    } else if ( mi < 0 ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal mapping index: " + mi );
+                    } else {
+                        int miLast;
+                        sa [ i ] = gs;
+                        ea [ i ] = gidMax = ge;
+                        ma [ i ] = mi;
+                        if ( ( miLast = mi + ( ge - gs ) ) > miMax ) {
+                            miMax = miLast;
+                        }
+                        i++;
+                    }
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal mapping entry, must be Integer: " + o );
+                }
+            }
+            assert i == n;
+            assert this.sa == null;
+            assert this.ea == null;
+            assert this.ma == null;
+            this.sa = sa;
+            this.ea = ea;
+            this.ma = ma;
+            this.miMax = miMax;
+        }
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append('{');
+            for ( int i = 0, n = sa.length; i < n; i++ ) {
+                if ( i > 0 ) {
+                    sb.append(',');
+                }
+                sb.append ( '[' );
+                sb.append ( Integer.toString ( sa [ i ] ) );
+                sb.append ( Integer.toString ( ea [ i ] ) );
+                sb.append ( "]:" );
+                sb.append ( Integer.toString ( ma [ i ] ) );
+            }
+            sb.append('}');
+            return sb.toString();
+        }
+    }
+
+    /**
+     * The <code>MappingRange</code> class encapsulates a glyph [start,end] range and
+     * a mapping index.
+     */
+    public static class MappingRange {
+
+        private final int gidStart;                     // first glyph in range (inclusive)
+        private final int gidEnd;                       // last glyph in range (inclusive)
+        private final int index;                        // mapping index;
+
+        /**
+         * Instantiate a mapping range.
+         */
+        public MappingRange() {
+            this ( 0, 0, 0 );
+        }
+
+        /**
+         * Instantiate a specific mapping range.
+         * @param gidStart start of range
+         * @param gidEnd end of range
+         * @param index mapping index
+         */
+        public MappingRange ( int gidStart, int gidEnd, int index ) {
+            if ( ( gidStart < 0 ) || ( gidEnd < 0 ) || ( index < 0 ) ) {
+                throw new AdvancedTypographicTableFormatException();
+            } else if ( gidStart > gidEnd ) {
+                throw new AdvancedTypographicTableFormatException();
+            } else {
+                this.gidStart = gidStart;
+                this.gidEnd = gidEnd;
+                this.index = index;
+            }
+        }
+
+        /** @return start of range */
+        public int getStart() {
+            return gidStart;
+        }
+
+        /** @return end of range */
+        public int getEnd() {
+            return gidEnd;
+        }
+
+        /** @return mapping index */
+        public int getIndex() {
+            return index;
+        }
+
+        /** @return interval as a pair of integers */
+        public int[] getInterval() {
+            return new int[] { gidStart, gidEnd };
+        }
+
+        /**
+         * Obtain interval, filled into first two elements of specified array, or returning new array.
+         * @param interval an array of length two or greater or null
+         * @return interval as a pair of integers, filled into specified array
+         */
+        public int[] getInterval ( int[] interval ) {
+            if ( ( interval == null ) || ( interval.length != 2 ) ) {
+                throw new IllegalArgumentException();
+            } else {
+                interval[0] = gidStart;
+                interval[1] = gidEnd;
+            }
+            return interval;
+        }
+
+        /** @return length of interval */
+        public int getLength() {
+            return gidStart - gidEnd;
+        }
+
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphPositioning.java b/src/java/org/apache/fop/fonts/GlyphPositioning.java
new file mode 100644
index 0000000..9f00de6
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphPositioning.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * The <code>GlyphPositioning</code> interface is implemented by a glyph positioning subtable
+ * that supports the determination of glyph positioning information based on script and
+ * language of the corresponding character content.
+ * @author Glenn Adams
+ */
+public interface GlyphPositioning {
+
+    /**
+     * Perform glyph positioning at the current index, mutating the positioning state object as required.
+     * Only the context associated with the current index is processed.
+     * @param ps glyph positioning state object
+     * @return true if the glyph subtable applies, meaning that the current context matches the
+     * associated input context glyph coverage table; note that returning true does not mean any position
+     * adjustment occurred; it only means that no further glyph subtables for the current lookup table
+     * should be applied.
+     */
+    boolean position ( GlyphPositioningState ps );
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphPositioningState.java b/src/java/org/apache/fop/fonts/GlyphPositioningState.java
new file mode 100644
index 0000000..b94216b
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphPositioningState.java
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+// CSOFF: ParameterNumberCheck
+
+/**
+ * The <code>GlyphPositioningState</code> implements an state object used during glyph positioning
+ * processing.
+ * @author Glenn Adams
+ */
+
+public class GlyphPositioningState extends GlyphProcessingState {
+
+    /** font size */
+    private int fontSize;
+    /** default advancements */
+    private int[] widths;
+    /** current adjustments */
+    private int[][] adjustments;
+    /** if true, then some adjustment was applied */
+    private boolean adjusted;
+
+    /**
+     * Construct glyph positioning state.
+     * @param gs input glyph sequence
+     * @param script script identifier
+     * @param language language identifier
+     * @param feature feature identifier
+     * @param fontSize font size (in micropoints)
+     * @param widths array of design advancements (in glyph index order)
+     * @param adjustments positioning adjustments to which positioning is applied
+     * @param sct script context tester (or null)
+     */
+    public GlyphPositioningState ( GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct ) {
+        super ( gs, script, language, feature, sct );
+        this.fontSize = fontSize;
+        this.widths = widths;
+        this.adjustments = adjustments;
+    }
+
+    /**
+     * Construct glyph positioning state using an existing state object using shallow copy
+     * except as follows: input glyph sequence is copied deep except for its characters array.
+     * @param ps existing positioning state to copy from
+     */
+    public GlyphPositioningState ( GlyphPositioningState ps ) {
+        super ( ps );
+        this.fontSize = ps.fontSize;
+        this.widths = ps.widths;
+        this.adjustments = ps.adjustments;
+    }
+
+    /**
+     * Obtain design advancement (width) of glyph at specified index.
+     * @param gi glyph index
+     * @return design advancement, or zero if glyph index is not present
+     */
+    public int getWidth ( int gi ) {
+        if ( ( widths != null ) && ( gi < widths.length ) ) {
+            return widths [ gi ];
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * Perform adjustments at current position index.
+     * @param v value containing adjustments
+     * @return true if a non-zero adjustment was made
+     */
+    public boolean adjust ( GlyphPositioningTable.Value v ) {
+        return adjust ( v, 0 );
+    }
+
+    /**
+     * Perform adjustments at specified offset from current position index.
+     * @param v value containing adjustments
+     * @param offset from current position index
+     * @return true if a non-zero adjustment was made
+     */
+    public boolean adjust ( GlyphPositioningTable.Value v, int offset ) {
+        assert v != null;
+        if ( ( index + offset ) < indexLast ) {
+            return v.adjust ( adjustments [ index + offset ], fontSize );
+        } else {
+            throw new IndexOutOfBoundsException();
+        }
+    }
+
+    /**
+     * Obtain current adjustments at current position index.
+     * @return array of adjustments (int[4]) at current position
+     */
+    public int[] getAdjustment() {
+        return getAdjustment ( 0 );
+    }
+
+    /**
+     * Obtain current adjustments at specified offset from current position index.
+     * @param offset from current position index
+     * @return array of adjustments (int[4]) at specified offset
+     * @throws IndexOutOfBoundsException if offset is invalid
+     */
+    public int[] getAdjustment ( int offset ) throws IndexOutOfBoundsException {
+        if ( ( index + offset ) < indexLast ) {
+            return adjustments [ index + offset ];
+        } else {
+            throw new IndexOutOfBoundsException();
+        }
+    }
+
+    /**
+     * Apply positioning subtable to current state at current position (only),
+     * resulting in the consumption of zero or more input glyphs.
+     * @param st the glyph positioning subtable to apply
+     * @return true if subtable applied, or false if it did not (e.g., its
+     * input coverage table did not match current input context)
+     */
+    public boolean apply ( GlyphPositioningSubtable st ) {
+        assert st != null;
+        updateSubtableState ( st );
+        boolean applied = st.position ( this );
+        resetSubtableState();
+        return applied;
+    }
+
+    /**
+     * Apply a sequence of matched rule lookups to the <code>nig</code> input glyphs
+     * starting at the current position. If lookups are non-null and non-empty, then
+     * all input glyphs specified by <code>nig</code> are consumed irregardless of
+     * whether any specified lookup applied.
+     * @param lookups array of matched lookups (or null)
+     * @param nig number of glyphs in input sequence, starting at current position, to which
+     * the lookups are to apply, and to be consumed once the application has finished
+     * @return true if lookups are non-null and non-empty; otherwise, false
+     */
+    public boolean apply ( GlyphTable.RuleLookup[] lookups, int nig ) {
+        if ( ( lookups != null ) && ( lookups.length > 0 ) ) {
+            // apply each rule lookup to extracted input glyph array
+            for ( int i = 0, n = lookups.length; i < n; i++ ) {
+                GlyphTable.RuleLookup l = lookups [ i ];
+                if ( l != null ) {
+                    GlyphTable.LookupTable lt = l.getLookup();
+                    if ( lt != null ) {
+                        // perform positioning on a copy of previous state
+                        GlyphPositioningState ps = new GlyphPositioningState ( this );
+                        // apply lookup table positioning
+                        if ( lt.position ( ps, l.getSequenceIndex() ) ) {
+                            setAdjusted ( true );
+                        }
+                    }
+                }
+            }
+            consume ( nig );
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Apply default application semantices; namely, consume one input glyph.
+     */
+    public void applyDefault() {
+        super.applyDefault();
+    }
+
+    /**
+     * Set adjusted state, used to record effect of non-zero adjustment.
+     * @param adjusted true if to set adjusted state, otherwise false to
+     * clear adjusted state
+     */
+    public void setAdjusted ( boolean adjusted ) {
+        this.adjusted = adjusted;
+    }
+
+    /**
+     * Get adjusted state.
+     * @return adjusted true if some non-zero adjustment occurred and
+     * was recorded by {@link #setAdjusted}; otherwise, false.
+     */
+    public boolean getAdjusted() {
+        return adjusted;
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphPositioningSubtable.java b/src/java/org/apache/fop/fonts/GlyphPositioningSubtable.java
new file mode 100644
index 0000000..b1cdfa9
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphPositioningSubtable.java
@@ -0,0 +1,113 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.List;
+
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: ParameterNumberCheck
+
+/**
+ * The <code>GlyphPositioningSubtable</code> implements an abstract base of a glyph subtable,
+ * providing a default implementation of the <code>GlyphPositioning</code> interface.
+ * @author Glenn Adams
+ */
+public abstract class GlyphPositioningSubtable extends GlyphSubtable implements GlyphPositioning {
+
+    /**
+     * Instantiate a <code>GlyphPositioningSubtable</code>.
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param coverage subtable coverage table
+     */
+    protected GlyphPositioningSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage ) {
+        super ( id, sequence, flags, format, coverage );
+    }
+
+    /** {@inheritDoc} */
+    public int getTableType() {
+        return GlyphTable.GLYPH_TABLE_TYPE_POSITIONING;
+    }
+
+    /** {@inheritDoc} */
+    public String getTypeName() {
+        return GlyphPositioningTable.getLookupTypeName ( getType() );
+    }
+
+    /** {@inheritDoc} */
+    public boolean isCompatible ( GlyphSubtable subtable ) {
+        return subtable instanceof GlyphPositioningSubtable;
+    }
+
+    /** {@inheritDoc} */
+    public boolean usesReverseScan() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    public boolean position ( GlyphPositioningState ps ) {
+        return false;
+    }
+
+    /**
+     * Apply positioning using specified state and subtable array. For each position in input sequence,
+     * apply subtables in order until some subtable applies or none remain. If no subtable applied or no
+     * input was consumed for a given position, then apply default action (no adjustments and advance).
+     * If <code>sequenceIndex</code> is non-negative, then apply subtables only when current position
+     * matches <code>sequenceIndex</code> in relation to the starting position. Furthermore, upon
+     * successful application at <code>sequenceIndex</code>, then discontinue processing the remaining
+     * @param ps positioning state
+     * @param sta array of subtables to apply
+     * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
+     * @return true if a non-zero adjustment occurred
+     */
+    static final boolean position ( GlyphPositioningState ps, GlyphPositioningSubtable[] sta, int sequenceIndex ) {
+        int sequenceStart = ps.getPosition();
+        boolean appliedOneShot = false;
+        while ( ps.hasNext() ) {
+            boolean applied = false;
+            if ( ! appliedOneShot && ps.maybeApplicable() ) {
+                for ( int i = 0, n = sta.length; ! applied && ( i < n ); i++ ) {
+                    if ( sequenceIndex < 0 ) {
+                        applied = ps.apply ( sta [ i ] );
+                    } else if ( ps.getPosition() == ( sequenceStart + sequenceIndex ) ) {
+                        applied = ps.apply ( sta [ i ] );
+                        if ( applied ) {
+                            appliedOneShot = true;
+                        }
+                    }
+                }
+            }
+            if ( ! applied || ! ps.didConsume() ) {
+                ps.applyDefault();
+            }
+            ps.next();
+        }
+        return ps.getAdjusted();
+    }
+
+    static final boolean position ( GlyphSequence gs, String script, String language, String feature, int fontSize, GlyphPositioningSubtable[] sta, int[] widths, int[][] adjustments, ScriptContextTester sct ) {
+        return position ( new GlyphPositioningState ( gs, script, language, feature, fontSize, widths, adjustments, sct ), sta, -1 );
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphPositioningTable.java b/src/java/org/apache/fop/fonts/GlyphPositioningTable.java
new file mode 100644
index 0000000..c47b9df
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphPositioningTable.java
@@ -0,0 +1,2260 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+// CSOFF: LineLengthCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: ParameterNumberCheck
+
+/**
+ * The <code>GlyphPositioningTable</code> class is a glyph table that implements
+ * <code>GlyphPositioning</code> functionality.
+ * @author Glenn Adams
+ */
+public class GlyphPositioningTable extends GlyphTable {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(GlyphPositioningTable.class);                                      // CSOK: ConstantNameCheck
+
+    /** single positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_SINGLE = 1;
+    /** multiple positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_PAIR = 2;
+    /** cursive positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_CURSIVE = 3;
+    /** mark to base positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_MARK_TO_BASE = 4;
+    /** mark to ligature positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE = 5;
+    /** mark to mark positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_MARK_TO_MARK = 6;
+    /** contextual positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_CONTEXTUAL = 7;
+    /** chained contextual positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL = 8;
+    /** extension positioning subtable type */
+    public static final int GPOS_LOOKUP_TYPE_EXTENSION_POSITIONING = 9;
+
+    /**
+     * Instantiate a <code>GlyphPositioningTable</code> object using the specified lookups
+     * and subtables.
+     * @param gdef glyph definition table that applies
+     * @param lookups a map of lookup specifications to subtable identifier strings
+     * @param subtables a list of identified subtables
+     */
+    public GlyphPositioningTable ( GlyphDefinitionTable gdef, Map lookups, List subtables ) {
+        super ( gdef, lookups );
+        if ( ( subtables == null ) || ( subtables.size() == 0 ) ) {
+            throw new AdvancedTypographicTableFormatException ( "subtables must be non-empty" );
+        } else {
+            for ( Iterator it = subtables.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof GlyphPositioningSubtable ) {
+                    addSubtable ( (GlyphSubtable) o );
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "subtable must be a glyph positioning subtable" );
+                }
+            }
+            freezeSubtables();
+        }
+    }
+
+    /**
+     * Map a lookup type name to its constant (integer) value.
+     * @param name lookup type name
+     * @return lookup type
+     */
+    public static int getLookupTypeFromName ( String name ) {
+        int t;
+        String s = name.toLowerCase();
+        if ( "single".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_SINGLE;
+        } else if ( "pair".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_PAIR;
+        } else if ( "cursive".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_CURSIVE;
+        } else if ( "marktobase".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_MARK_TO_BASE;
+        } else if ( "marktoligature".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE;
+        } else if ( "marktomark".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_MARK_TO_MARK;
+        } else if ( "contextual".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_CONTEXTUAL;
+        } else if ( "chainedcontextual".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
+        } else if ( "extensionpositioning".equals ( s ) ) {
+            t = GPOS_LOOKUP_TYPE_EXTENSION_POSITIONING;
+        } else {
+            t = -1;
+        }
+        return t;
+    }
+
+    /**
+     * Map a lookup type constant (integer) value to its name.
+     * @param type lookup type
+     * @return lookup type name
+     */
+    public static String getLookupTypeName ( int type ) {
+        String tn;
+        switch ( type ) {
+        case GPOS_LOOKUP_TYPE_SINGLE:
+            tn = "single";
+            break;
+        case GPOS_LOOKUP_TYPE_PAIR:
+            tn = "pair";
+            break;
+        case GPOS_LOOKUP_TYPE_CURSIVE:
+            tn = "cursive";
+            break;
+        case GPOS_LOOKUP_TYPE_MARK_TO_BASE:
+            tn = "marktobase";
+            break;
+        case GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE:
+            tn = "marktoligature";
+            break;
+        case GPOS_LOOKUP_TYPE_MARK_TO_MARK:
+            tn = "marktomark";
+            break;
+        case GPOS_LOOKUP_TYPE_CONTEXTUAL:
+            tn = "contextual";
+            break;
+        case GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
+            tn = "chainedcontextual";
+            break;
+        case GPOS_LOOKUP_TYPE_EXTENSION_POSITIONING:
+            tn = "extensionpositioning";
+            break;
+        default:
+            tn = "unknown";
+            break;
+        }
+        return tn;
+    }
+
+    /**
+     * Create a positioning subtable according to the specified arguments.
+     * @param type subtable type
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param coverage subtable coverage table
+     * @param entries subtable entries
+     * @return a glyph subtable instance
+     */
+    public static GlyphSubtable createSubtable ( int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+        GlyphSubtable st = null;
+        switch ( type ) {
+        case GPOS_LOOKUP_TYPE_SINGLE:
+            st = SingleSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GPOS_LOOKUP_TYPE_PAIR:
+            st = PairSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GPOS_LOOKUP_TYPE_CURSIVE:
+            st = CursiveSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GPOS_LOOKUP_TYPE_MARK_TO_BASE:
+            st = MarkToBaseSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE:
+            st = MarkToLigatureSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GPOS_LOOKUP_TYPE_MARK_TO_MARK:
+            st = MarkToMarkSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GPOS_LOOKUP_TYPE_CONTEXTUAL:
+            st = ContextualSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
+            st = ChainedContextualSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        default:
+            break;
+        }
+        return st;
+    }
+
+    /**
+     * Create a positioning subtable according to the specified arguments.
+     * @param type subtable type
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param coverage list of coverage table entries
+     * @param entries subtable entries
+     * @return a glyph subtable instance
+     */
+    public static GlyphSubtable createSubtable ( int type, String id, int sequence, int flags, int format, List coverage, List entries ) {
+        return createSubtable ( type, id, sequence, flags, format, GlyphCoverageTable.createCoverageTable ( coverage ), entries );
+    }
+
+    /**
+     * Perform positioning processing using all matching lookups.
+     * @param gs an input glyph sequence
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param fontSize size in device units
+     * @param widths array of default advancements for each glyph
+     * @param adjustments accumulated adjustments array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
+     * with one 4-tuple for each element of glyph sequence
+     * @return true if some adjustment is not zero; otherwise, false
+     */
+    public boolean position ( GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments ) {
+        Map/*<LookupSpec,List<LookupTable>>*/ lookups = matchLookups ( script, language, "*" );
+        if ( ( lookups != null ) && ( lookups.size() > 0 ) ) {
+            ScriptProcessor sp = ScriptProcessor.getInstance ( script );
+            return sp.position ( this, gs, script, language, fontSize, lookups, widths, adjustments );
+        } else {
+            return false;
+        }
+    }
+
+    private abstract static class SingleSubtable extends GlyphPositioningSubtable {
+        SingleSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_SINGLE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof SingleSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            int gi = ps.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
+                return false;
+            } else {
+                Value v = getValue ( ci, gi );
+                if ( v != null ) {
+                    if ( ps.adjust(v) ) {
+                        ps.setAdjusted ( true );
+                    }
+                    ps.consume(1);
+                }
+                return true;
+            }
+        }
+        /**
+         * Obtain positioning value for coverage index.
+         * @param ci coverage index
+         * @param gi input glyph index
+         * @return positioning value or null if none applies
+         */
+        public abstract Value getValue ( int ci, int gi );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new SingleSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 2 ) {
+                return new SingleSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class SingleSubtableFormat1 extends SingleSubtable {
+        private Value value;
+        private int ciMax;
+        SingleSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( value != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( value );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public Value getValue ( int ci, int gi ) {
+            if ( ( value != null ) && ( ci <= ciMax ) ) {
+                return value;
+            } else {
+                return null;
+            }
+        }
+        private void populate ( List entries ) {
+            if ( ( entries == null ) || ( entries.size() != 1 ) ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null and contain exactly one entry" );
+            } else {
+                Value v;
+                Object o = entries.get(0);
+                if ( o instanceof Value ) {
+                    v = (Value) o;
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries entry, must be Value, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                }
+                assert this.value == null;
+                this.value = v;
+                this.ciMax = getCoverageSize() - 1;
+            }
+        }
+    }
+
+    private static class SingleSubtableFormat2 extends SingleSubtable {
+        private Value[] values;
+        SingleSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( values != null ) {
+                List entries = new ArrayList ( values.length );
+                for ( int i = 0, n = values.length; i < n; i++ ) {
+                    entries.add ( values[i] );
+                }
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public Value getValue ( int ci, int gi ) {
+            if ( ( values != null ) && ( ci < values.length ) ) {
+                return values [ ci ];
+            } else {
+                return null;
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof Value[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, single entry must be a Value[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    Value[] va = (Value[]) o;
+                    if ( va.length != getCoverageSize() ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal values array, " + entries.size() + " values present, but requires " + getCoverageSize() + " values" );
+                    } else {
+                        assert this.values == null;
+                        this.values = va;
+                    }
+                }
+            }
+        }
+    }
+
+    private abstract static class PairSubtable extends GlyphPositioningSubtable {
+        PairSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_PAIR;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof PairSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            boolean applied = false;
+            int gi = ps.getGlyph(0), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) >= 0 ) {
+                int[] counts = ps.getGlyphsAvailable ( 0 );
+                int nga = counts[0];
+                if ( nga > 1 ) {
+                    int[] iga = ps.getGlyphs ( 0, 2, null, counts );
+                    if ( ( iga != null ) && ( iga.length == 2 ) ) {
+                        PairValues pv = getPairValues ( ci, iga[0], iga[1] );
+                        if ( pv != null ) {
+                            Value v1 = pv.getValue1();
+                            if ( v1 != null ) {
+                                if ( ps.adjust(v1, 0) ) {
+                                    ps.setAdjusted ( true );
+                                }
+                            }
+                            Value v2 = pv.getValue2();
+                            if ( v2 != null ) {
+                                if ( ps.adjust(v2, 1) ) {
+                                    ps.setAdjusted ( true );
+                                }
+                            }
+                            ps.consume ( counts[0] + counts[1] );
+                            applied = true;
+                        }
+                    }
+                }
+            }
+            return applied;
+        }
+        /**
+         * Obtain associated pair values.
+         * @param ci coverage index
+         * @param gi1 first input glyph index
+         * @param gi2 second input glyph index
+         * @return pair values or null if none applies
+         */
+        public abstract PairValues getPairValues ( int ci, int gi1, int gi2 );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new PairSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 2 ) {
+                return new PairSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class PairSubtableFormat1 extends PairSubtable {
+        private PairValues[][] pvm;                     // pair values matrix
+        PairSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( pvm != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( pvm );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public PairValues getPairValues ( int ci, int gi1, int gi2 ) {
+            if ( ( pvm != null ) && ( ci < pvm.length ) ) {
+                PairValues[] pvt = pvm [ ci ];
+                for ( int i = 0, n = pvt.length; i < n; i++ ) {
+                    PairValues pv = pvt [ i ];
+                    if ( pv != null ) {
+                        int g = pv.getGlyph();
+                        if ( g < gi2 ) {
+                            continue;
+                        } else if ( g == gi2 ) {
+                            return pv;
+                        } else {
+                            break;
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof PairValues[][] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first (and only) entry must be a PairValues[][], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    pvm = (PairValues[][]) o;
+                }
+            }
+        }
+    }
+
+    private static class PairSubtableFormat2 extends PairSubtable {
+        private GlyphClassTable cdt1;                   // class def table 1
+        private GlyphClassTable cdt2;                   // class def table 2
+        private int nc1;                                // class 1 count
+        private int nc2;                                // class 2 count
+        private PairValues[][] pvm;                     // pair values matrix
+        PairSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( pvm != null ) {
+                List entries = new ArrayList ( 5 );
+                entries.add ( cdt1 );
+                entries.add ( cdt2 );
+                entries.add ( Integer.valueOf ( nc1 ) );
+                entries.add ( Integer.valueOf ( nc2 ) );
+                entries.add ( pvm );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public PairValues getPairValues ( int ci, int gi1, int gi2 ) {
+            if ( pvm != null ) {
+                int c1 = cdt1.getClassIndex ( gi1, 0 );
+                if ( ( c1 >= 0 ) && ( c1 < nc1 ) && ( c1 < pvm.length ) ) {
+                    PairValues[] pvt = pvm [ c1 ];
+                    if ( pvt != null ) {
+                        int c2 = cdt2.getClassIndex ( gi2, 0 );
+                        if ( ( c2 >= 0 ) && ( c2 < nc2 ) && ( c2 < pvt.length ) ) {
+                            return pvt [ c2 ];
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 5 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 5 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    cdt1 = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    cdt2 = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(2) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    nc1 = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(3) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fourth entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    nc2 = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(4) ) == null ) || ! ( o instanceof PairValues[][] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fifth entry must be a PairValues[][], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    pvm = (PairValues[][]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class CursiveSubtable extends GlyphPositioningSubtable {
+        CursiveSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_CURSIVE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof CursiveSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            boolean applied = false;
+            int gi = ps.getGlyph(0), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) >= 0 ) {
+                int[] counts = ps.getGlyphsAvailable ( 0 );
+                int nga = counts[0];
+                if ( nga > 1 ) {
+                    int[] iga = ps.getGlyphs ( 0, 2, null, counts );
+                    if ( ( iga != null ) && ( iga.length == 2 ) ) {
+                        // int gi1 = gi;
+                        int ci1 = ci;
+                        int gi2 = iga [ 1 ];
+                        int ci2 = getCoverageIndex ( gi2 );
+                        Anchor[] aa = getExitEntryAnchors ( ci1, ci2 );
+                        if ( aa != null ) {
+                            Anchor exa = aa [ 0 ];
+                            Anchor ena = aa [ 1 ];
+                            // int exw = ps.getWidth ( gi1 );
+                            int enw = ps.getWidth ( gi2 );
+                            if ( ( exa != null ) && ( ena != null ) ) {
+                                Value v = ena.getAlignmentAdjustment ( exa );
+                                v.adjust ( - enw, 0, 0, 0 );
+                                if ( ps.adjust ( v ) ) {
+                                    ps.setAdjusted ( true );
+                                }
+                            }
+                            // consume only first glyph of exit/entry glyph pair
+                            ps.consume ( 1 );
+                            applied = true;
+                        }
+                    }
+                }
+            }
+            return applied;
+        }
+        /**
+         * Obtain exit anchor for first glyph with coverage index <code>ci1</code> and entry anchor for second
+         * glyph with coverage index <code>ci2</code>.
+         * @param ci1 coverage index of first glyph (may be negative)
+         * @param ci2 coverage index of second glyph (may be negative)
+         * @return array of two anchors or null if either coverage index is negative or corresponding anchor is
+         * missing, where the first entry is the exit anchor of the first glyph and the second entry is the
+         * entry anchor of the second glyph
+         */
+        public abstract Anchor[] getExitEntryAnchors ( int ci1, int ci2 );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new CursiveSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class CursiveSubtableFormat1 extends CursiveSubtable {
+        private Anchor[] aa;                            // anchor array, where even entries are entry anchors, and odd entries are exit anchors
+        CursiveSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( aa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( aa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public Anchor[] getExitEntryAnchors ( int ci1, int ci2 ) {
+            if ( ( ci1 >= 0 ) && ( ci2 >= 0 ) ) {
+                int ai1 = ( ci1 * 2 ) + 1; // ci1 denotes glyph with exit anchor
+                int ai2 = ( ci2 * 2 ) + 0; // ci2 denotes glyph with entry anchor
+                if ( ( aa != null ) && ( ai1 < aa.length ) && ( ai2 < aa.length ) ) {
+                    Anchor exa = aa [ ai1 ];
+                    Anchor ena = aa [ ai2 ];
+                    if ( ( exa != null ) && ( ena != null ) ) {
+                        return new Anchor[] { exa, ena };
+                    }
+                }
+            }
+            return null;
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof Anchor[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first (and only) entry must be a Anchor[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else if ( ( ( (Anchor[]) o ) . length % 2 ) != 0 ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, Anchor[] array must have an even number of entries, but has: " + ( (Anchor[]) o ) . length );
+                } else {
+                    aa = (Anchor[]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class MarkToBaseSubtable extends GlyphPositioningSubtable {
+        MarkToBaseSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_MARK_TO_BASE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof MarkToBaseSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            boolean applied = false;
+            int giMark = ps.getGlyph(), ciMark;
+            if ( ( ciMark = getCoverageIndex ( giMark ) ) >= 0 ) {
+                MarkAnchor ma = getMarkAnchor ( ciMark, giMark );
+                if ( ma != null ) {
+                    for ( int i = 0, n = ps.getPosition(); i < n; i++ ) {
+                        int gi = ps.getGlyph ( - ( i + 1 ) );
+                        if ( ps.isMark ( gi ) ) {
+                            continue;
+                        } else {
+                            Anchor a = getBaseAnchor ( gi, ma.getMarkClass() );
+                            if ( a != null ) {
+                                Value v = a.getAlignmentAdjustment ( ma );
+                                // start experimental fix for END OF AYAH in Lateef/Scheherazade
+                                int[] aa = ps.getAdjustment();
+                                if ( aa[2] == 0 ) {
+                                    v.adjust ( 0, 0, - ps.getWidth ( giMark ), 0 );
+                                }
+                                // end experimental fix for END OF AYAH in Lateef/Scheherazade
+                                if ( ps.adjust ( v ) ) {
+                                    ps.setAdjusted ( true );
+                                }
+                            }
+                            ps.consume(1);
+                            applied = true;
+                            break;
+                        }
+                    }
+                }
+            }
+            return applied;
+        }
+        /**
+         * Obtain mark anchor associated with mark coverage index.
+         * @param ciMark coverage index
+         * @param giMark input glyph index of mark glyph
+         * @return mark anchor or null if none applies
+         */
+        public abstract MarkAnchor getMarkAnchor ( int ciMark, int giMark );
+        /**
+         * Obtain anchor associated with base glyph index and mark class.
+         * @param giBase input glyph index of base glyph
+         * @param markClass class number of mark glyph
+         * @return anchor or null if none applies
+         */
+        public abstract Anchor getBaseAnchor ( int giBase, int markClass );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new MarkToBaseSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class MarkToBaseSubtableFormat1 extends MarkToBaseSubtable {
+        private GlyphCoverageTable bct;                 // base coverage table
+        private int nmc;                                // mark class count
+        private MarkAnchor[] maa;                       // mark anchor array, ordered by mark coverage index
+        private Anchor[][] bam;                         // base anchor matrix, ordered by base coverage index, then by mark class
+        MarkToBaseSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( ( bct != null ) && ( maa != null ) && ( nmc > 0 ) && ( bam != null ) ) {
+                List entries = new ArrayList ( 4 );
+                entries.add ( bct );
+                entries.add ( Integer.valueOf ( nmc ) );
+                entries.add ( maa );
+                entries.add ( bam );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public MarkAnchor getMarkAnchor ( int ciMark, int giMark ) {
+            if ( ( maa != null ) && ( ciMark < maa.length ) ) {
+                return maa [ ciMark ];
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public Anchor getBaseAnchor ( int giBase, int markClass ) {
+            int ciBase;
+            if ( ( bct != null ) && ( ( ciBase = bct.getCoverageIndex ( giBase ) ) >= 0 ) ) {
+                if ( ( bam != null ) && ( ciBase < bam.length ) ) {
+                    Anchor[] ba = bam [ ciBase ];
+                    if ( ( ba != null ) && ( markClass < ba.length ) ) {
+                        return ba [ markClass ];
+                    }
+                }
+            }
+            return null;
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 4 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 4 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphCoverageTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphCoverageTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    bct = (GlyphCoverageTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    nmc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(2) ) == null ) || ! ( o instanceof MarkAnchor[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be a MarkAnchor[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    maa = (MarkAnchor[]) o;
+                }
+                if ( ( ( o = entries.get(3) ) == null ) || ! ( o instanceof Anchor[][] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fourth entry must be a Anchor[][], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    bam = (Anchor[][]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class MarkToLigatureSubtable extends GlyphPositioningSubtable {
+        MarkToLigatureSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof MarkToLigatureSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            boolean applied = false;
+            int giMark = ps.getGlyph(), ciMark;
+            if ( ( ciMark = getCoverageIndex ( giMark ) ) >= 0 ) {
+                MarkAnchor ma = getMarkAnchor ( ciMark, giMark );
+                int mxc = getMaxComponentCount();
+                if ( ma != null ) {
+                    for ( int i = 0, n = ps.getPosition(); i < n; i++ ) {
+                        int gi = ps.getGlyph ( - ( i + 1 ) );
+                        if ( ps.isMark ( gi ) ) {
+                            continue;
+                        } else {
+                            Anchor a = getLigatureAnchor ( gi, mxc, i, ma.getMarkClass() );
+                            if ( a != null ) {
+                                if ( ps.adjust ( a.getAlignmentAdjustment ( ma ) ) ) {
+                                    ps.setAdjusted ( true );
+                                }
+                            }
+                            ps.consume(1);
+                            applied = true;
+                            break;
+                        }
+                    }
+                }
+            }
+            return applied;
+        }
+        /**
+         * Obtain mark anchor associated with mark coverage index.
+         * @param ciMark coverage index
+         * @param giMark input glyph index of mark glyph
+         * @return mark anchor or null if none applies
+         */
+        public abstract MarkAnchor getMarkAnchor ( int ciMark, int giMark );
+        /**
+         * Obtain maximum component count.
+         * @return maximum component count (>=0)
+         */
+        public abstract int getMaxComponentCount();
+        /**
+         * Obtain anchor associated with ligature glyph index and mark class.
+         * @param giLig input glyph index of ligature glyph
+         * @param maxComponents maximum component count
+         * @param component component number (0...maxComponents-1)
+         * @param markClass class number of mark glyph
+         * @return anchor or null if none applies
+         */
+        public abstract Anchor getLigatureAnchor ( int giLig, int maxComponents, int component, int markClass );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new MarkToLigatureSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class MarkToLigatureSubtableFormat1 extends MarkToLigatureSubtable {
+        private GlyphCoverageTable lct;                 // ligature coverage table
+        private int nmc;                                // mark class count
+        private int mxc;                                // maximum ligature component count
+        private MarkAnchor[] maa;                       // mark anchor array, ordered by mark coverage index
+        private Anchor[][][] lam;                       // ligature anchor matrix, ordered by ligature coverage index, then ligature component, then mark class
+        MarkToLigatureSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( lam != null ) {
+                List entries = new ArrayList ( 5 );
+                entries.add ( lct );
+                entries.add ( Integer.valueOf ( nmc ) );
+                entries.add ( Integer.valueOf ( mxc ) );
+                entries.add ( maa );
+                entries.add ( lam );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public MarkAnchor getMarkAnchor ( int ciMark, int giMark ) {
+            if ( ( maa != null ) && ( ciMark < maa.length ) ) {
+                return maa [ ciMark ];
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public int getMaxComponentCount() {
+            return mxc;
+        }
+        /** {@inheritDoc} */
+        public Anchor getLigatureAnchor ( int giLig, int maxComponents, int component, int markClass ) {
+            int ciLig;
+            if ( ( lct != null ) && ( ( ciLig = lct.getCoverageIndex ( giLig ) ) >= 0 ) ) {
+                if ( ( lam != null ) && ( ciLig < lam.length ) ) {
+                    Anchor[][] lcm = lam [ ciLig ];
+                    if ( component < maxComponents ) {
+                        Anchor[] la = lcm [ component ];
+                        if ( ( la != null ) && ( markClass < la.length ) ) {
+                            return la [ markClass ];
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 5 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 5 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphCoverageTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphCoverageTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    lct = (GlyphCoverageTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    nmc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(2) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    mxc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(3) ) == null ) || ! ( o instanceof MarkAnchor[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fourth entry must be a MarkAnchor[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    maa = (MarkAnchor[]) o;
+                }
+                if ( ( ( o = entries.get(4) ) == null ) || ! ( o instanceof Anchor[][][] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fifth entry must be a Anchor[][][], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    lam = (Anchor[][][]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class MarkToMarkSubtable extends GlyphPositioningSubtable {
+        MarkToMarkSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_MARK_TO_MARK;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof MarkToMarkSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            boolean applied = false;
+            int giMark1 = ps.getGlyph(), ciMark1;
+            if ( ( ciMark1 = getCoverageIndex ( giMark1 ) ) >= 0 ) {
+                MarkAnchor ma = getMark1Anchor ( ciMark1, giMark1 );
+                if ( ma != null ) {
+                    if ( ps.hasPrev() ) {
+                        Anchor a = getMark2Anchor ( ps.getGlyph(-1), ma.getMarkClass() );
+                        if ( a != null ) {
+                            if ( ps.adjust ( a.getAlignmentAdjustment ( ma ) ) ) {
+                                ps.setAdjusted ( true );
+                            }
+                        }
+                        ps.consume(1);
+                        applied = true;
+                    }
+                }
+            }
+            return applied;
+        }
+        /**
+         * Obtain mark 1 anchor associated with mark 1 coverage index.
+         * @param ciMark1 mark 1 coverage index
+         * @param giMark1 input glyph index of mark 1 glyph
+         * @return mark 1 anchor or null if none applies
+         */
+        public abstract MarkAnchor getMark1Anchor ( int ciMark1, int giMark1 );
+        /**
+         * Obtain anchor associated with mark 2 glyph index and mark 1 class.
+         * @param giMark2 input glyph index of mark 2 glyph
+         * @param markClass class number of mark 1 glyph
+         * @return anchor or null if none applies
+         */
+        public abstract Anchor getMark2Anchor ( int giBase, int markClass );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new MarkToMarkSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class MarkToMarkSubtableFormat1 extends MarkToMarkSubtable {
+        private GlyphCoverageTable mct2;                // mark 2 coverage table
+        private int nmc;                                // mark class count
+        private MarkAnchor[] maa;                       // mark1 anchor array, ordered by mark1 coverage index
+        private Anchor[][] mam;                         // mark2 anchor matrix, ordered by mark2 coverage index, then by mark1 class
+        MarkToMarkSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( ( mct2 != null ) && ( maa != null ) && ( nmc > 0 ) && ( mam != null ) ) {
+                List entries = new ArrayList ( 4 );
+                entries.add ( mct2 );
+                entries.add ( Integer.valueOf ( nmc ) );
+                entries.add ( maa );
+                entries.add ( mam );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public MarkAnchor getMark1Anchor ( int ciMark1, int giMark1 ) {
+            if ( ( maa != null ) && ( ciMark1 < maa.length ) ) {
+                return maa [ ciMark1 ];
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public Anchor getMark2Anchor ( int giMark2, int markClass ) {
+            int ciMark2;
+            if ( ( mct2 != null ) && ( ( ciMark2 = mct2.getCoverageIndex ( giMark2 ) ) >= 0 ) ) {
+                if ( ( mam != null ) && ( ciMark2 < mam.length ) ) {
+                    Anchor[] ma = mam [ ciMark2 ];
+                    if ( ( ma != null ) && ( markClass < ma.length ) ) {
+                        return ma [ markClass ];
+                    }
+                }
+            }
+            return null;
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 4 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 4 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphCoverageTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphCoverageTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    mct2 = (GlyphCoverageTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    nmc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(2) ) == null ) || ! ( o instanceof MarkAnchor[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be a MarkAnchor[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    maa = (MarkAnchor[]) o;
+                }
+                if ( ( ( o = entries.get(3) ) == null ) || ! ( o instanceof Anchor[][] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fourth entry must be a Anchor[][], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    mam = (Anchor[][]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class ContextualSubtable extends GlyphPositioningSubtable {
+        ContextualSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_CONTEXTUAL;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof ContextualSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            boolean applied = false;
+            int gi = ps.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) >= 0 ) {
+                int[] rv = new int[1];
+                RuleLookup[] la = getLookups ( ci, gi, ps, rv );
+                if ( la != null ) {
+                    ps.apply ( la, rv[0] );
+                    applied = true;
+                }
+            }
+            return applied;
+        }
+        /**
+         * Obtain rule lookups set associated current input glyph context.
+         * @param ci coverage index of glyph at current position
+         * @param gi glyph index of glyph at current position
+         * @param ps glyph positioning state
+         * @param rv array of ints used to receive multiple return values, must be of length 1 or greater,
+         * where the first entry is used to return the input sequence length of the matched rule
+         * @return array of rule lookups or null if none applies
+         */
+        public abstract RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new ContextualSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 2 ) {
+                return new ContextualSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 3 ) {
+                return new ContextualSubtableFormat3 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class ContextualSubtableFormat1 extends ContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
+        ContextualSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv  ) {
+            assert ps != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedGlyphSequenceRule ) ) {
+                            ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
+                            int[] iga = cr.getGlyphs ( gi );
+                            if ( matches ( ps, iga, 0, rv ) ) {
+                                return r.getLookups();
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        static boolean matches ( GlyphPositioningState ps, int[] glyphs, int offset, int[] rv ) {
+            if ( ( glyphs == null ) || ( glyphs.length == 0 ) ) {
+                return true;                            // match null or empty glyph sequence
+            } else {
+                boolean reverse = offset < 0;
+                GlyphTester ignores = ps.getIgnoreDefault();
+                int[] counts = ps.getGlyphsAvailable ( offset, reverse, ignores );
+                int nga = counts[0];
+                int ngm = glyphs.length;
+                if ( nga < ngm ) {
+                    return false;                       // insufficient glyphs available to match
+                } else {
+                    int[] ga = ps.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
+                    for ( int k = 0; k < ngm; k++ ) {
+                        if ( ga [ k ] != glyphs [ k ] ) {
+                            return false;               // match fails at ga [ k ]
+                        }
+                    }
+                    if ( rv != null ) {
+                        rv[0] = counts[0] + counts[1];
+                    }
+                    return true;                        // all glyphs match
+                }
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    private static class ContextualSubtableFormat2 extends ContextualSubtable {
+        private GlyphClassTable cdt;                    // class def table
+        private int ngc;                                // class set count
+        private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
+        ContextualSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 3 );
+                entries.add ( cdt );
+                entries.add ( Integer.valueOf ( ngc ) );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv  ) {
+            assert ps != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedClassSequenceRule ) ) {
+                            ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
+                            int[] ca = cr.getClasses ( cdt.getClassIndex ( gi, ps.getClassMatchSet ( gi ) ) );
+                            if ( matches ( ps, cdt, ca, 0, rv ) ) {
+                                return r.getLookups();
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        static boolean matches ( GlyphPositioningState ps, GlyphClassTable cdt, int[] classes, int offset, int[] rv ) {
+            if ( ( cdt == null ) || ( classes == null ) || ( classes.length == 0 ) ) {
+                return true;                            // match null class definitions, null or empty class sequence
+            } else {
+                boolean reverse = offset < 0;
+                GlyphTester ignores = ps.getIgnoreDefault();
+                int[] counts = ps.getGlyphsAvailable ( offset, reverse, ignores );
+                int nga = counts[0];
+                int ngm = classes.length;
+                if ( nga < ngm ) {
+                    return false;                       // insufficient glyphs available to match
+                } else {
+                    int[] ga = ps.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
+                    for ( int k = 0; k < ngm; k++ ) {
+                        int gi = ga [ k ];
+                        int ms = ps.getClassMatchSet ( gi );
+                        int gc = cdt.getClassIndex ( gi, ms );
+                        if ( ( gc < 0 ) || ( gc >= cdt.getClassSize ( ms ) ) ) {
+                            return false;               // none or invalid class fails mat ch
+                        } else if ( gc != classes [ k ] ) {
+                            return false;               // match fails at ga [ k ]
+                        }
+                    }
+                    if ( rv != null ) {
+                        rv[0] = counts[0] + counts[1];
+                    }
+                    return true;                        // all glyphs match
+                }
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 3 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 3 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    cdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    ngc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(2) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                    if ( rsa.length != ngc ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes" );
+                    }
+                }
+            }
+        }
+    }
+
+    private static class ContextualSubtableFormat3 extends ContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, containing a single rule set
+        ContextualSubtableFormat3 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv  ) {
+            assert ps != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedCoverageSequenceRule ) ) {
+                            ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
+                            GlyphCoverageTable[] gca = cr.getCoverages();
+                            if ( matches ( ps, gca, 0, rv ) ) {
+                                return r.getLookups();
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        static boolean matches ( GlyphPositioningState ps, GlyphCoverageTable[] gca, int offset, int[] rv ) {
+            if ( ( gca == null ) || ( gca.length == 0 ) ) {
+                return true;                            // match null or empty coverage array
+            } else {
+                boolean reverse = offset < 0;
+                GlyphTester ignores = ps.getIgnoreDefault();
+                int[] counts = ps.getGlyphsAvailable ( offset, reverse, ignores );
+                int nga = counts[0];
+                int ngm = gca.length;
+                if ( nga < ngm ) {
+                    return false;                       // insufficient glyphs available to match
+                } else {
+                    int[] ga = ps.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
+                    for ( int k = 0; k < ngm; k++ ) {
+                        GlyphCoverageTable ct = gca [ k ];
+                        if ( ct != null ) {
+                            if ( ct.getCoverageIndex ( ga [ k ] ) < 0 ) {
+                                return false;           // match fails at ga [ k ]
+                            }
+                        }
+                    }
+                    if ( rv != null ) {
+                        rv[0] = counts[0] + counts[1];
+                    }
+                    return true;                        // all glyphs match
+                }
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class ChainedContextualSubtable extends GlyphPositioningSubtable {
+        ChainedContextualSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof ChainedContextualSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean position ( GlyphPositioningState ps ) {
+            boolean applied = false;
+            int gi = ps.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) >= 0 ) {
+                int[] rv = new int[1];
+                RuleLookup[] la = getLookups ( ci, gi, ps, rv );
+                if ( la != null ) {
+                    ps.apply ( la, rv[0] );
+                    applied = true;
+                }
+            }
+            return applied;
+        }
+        /**
+         * Obtain rule lookups set associated current input glyph context.
+         * @param ci coverage index of glyph at current position
+         * @param gi glyph index of glyph at current position
+         * @param ps glyph positioning state
+         * @param rv array of ints used to receive multiple return values, must be of length 1 or greater,
+         * where the first entry is used to return the input sequence length of the matched rule
+         * @return array of rule lookups or null if none applies
+         */
+        public abstract RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv );
+        static GlyphPositioningSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new ChainedContextualSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 2 ) {
+                return new ChainedContextualSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 3 ) {
+                return new ChainedContextualSubtableFormat3 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class ChainedContextualSubtableFormat1 extends ChainedContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
+        ChainedContextualSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv  ) {
+            assert ps != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedGlyphSequenceRule ) ) {
+                            ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
+                            int[] iga = cr.getGlyphs ( gi );
+                            if ( matches ( ps, iga, 0, rv ) ) {
+                                int[] bga = cr.getBacktrackGlyphs();
+                                if ( matches ( ps, bga, -1, null ) ) {
+                                    int[] lga = cr.getLookaheadGlyphs();
+                                    if ( matches ( ps, lga, rv[0], null ) ) {
+                                        return r.getLookups();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private boolean matches ( GlyphPositioningState ps, int[] glyphs, int offset, int[] rv ) {
+            return ContextualSubtableFormat1.matches ( ps, glyphs, offset, rv );
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    private static class ChainedContextualSubtableFormat2 extends ChainedContextualSubtable {
+        private GlyphClassTable icdt;                   // input class def table
+        private GlyphClassTable bcdt;                   // backtrack class def table
+        private GlyphClassTable lcdt;                   // lookahead class def table
+        private int ngc;                                // class set count
+        private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
+        ChainedContextualSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 5 );
+                entries.add ( icdt );
+                entries.add ( bcdt );
+                entries.add ( lcdt );
+                entries.add ( Integer.valueOf ( ngc ) );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv  ) {
+            assert ps != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedClassSequenceRule ) ) {
+                            ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
+                            int[] ica = cr.getClasses ( icdt.getClassIndex ( gi, ps.getClassMatchSet ( gi ) ) );
+                            if ( matches ( ps, icdt, ica, 0, rv ) ) {
+                                int[] bca = cr.getBacktrackClasses();
+                                if ( matches ( ps, bcdt, bca, -1, null ) ) {
+                                    int[] lca = cr.getLookaheadClasses();
+                                    if ( matches ( ps, lcdt, lca, rv[0], null ) ) {
+                                        return r.getLookups();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private boolean matches ( GlyphPositioningState ps, GlyphClassTable cdt, int[] classes, int offset, int[] rv ) {
+            return ContextualSubtableFormat2.matches ( ps, cdt, classes, offset, rv );
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 5 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 5 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    icdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) != null ) && ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an GlyphClassTable, but is: " + o.getClass() );
+                } else {
+                    bcdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(2) ) != null ) && ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be an GlyphClassTable, but is: " + o.getClass() );
+                } else {
+                    lcdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(3) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fourth entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    ngc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(4) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fifth entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                    if ( rsa.length != ngc ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes" );
+                    }
+                }
+            }
+        }
+    }
+
+    private static class ChainedContextualSubtableFormat3 extends ChainedContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, containing a single rule set
+        ChainedContextualSubtableFormat3 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphPositioningState ps, int[] rv  ) {
+            assert ps != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedCoverageSequenceRule ) ) {
+                            ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
+                            GlyphCoverageTable[] igca = cr.getCoverages();
+                            if ( matches ( ps, igca, 0, rv ) ) {
+                                GlyphCoverageTable[] bgca = cr.getBacktrackCoverages();
+                                if ( matches ( ps, bgca, -1, null ) ) {
+                                    GlyphCoverageTable[] lgca = cr.getLookaheadCoverages();
+                                    if ( matches ( ps, lgca, rv[0], null ) ) {
+                                        return r.getLookups();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private boolean matches ( GlyphPositioningState ps, GlyphCoverageTable[] gca, int offset, int[] rv ) {
+            return ContextualSubtableFormat3.matches ( ps, gca, offset, rv );
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    /**
+     * The <code>DeviceTable</code> class implements a positioning device table record, comprising
+     * adjustments to be made to scaled design units according to the scaled size.
+     */
+    public static class DeviceTable {
+
+        private final int startSize;
+        private final int endSize;
+        private final int[] deltas;
+
+        /**
+         * Instantiate a DeviceTable.
+         * @param startSize the 
+         * @param endSize the ending (scaled) size
+         * @param deltas adjustments for each scaled size
+         */
+        public DeviceTable ( int startSize, int endSize, int[] deltas ) {
+            assert startSize >= 0;
+            assert startSize <= endSize;
+            assert deltas != null;
+            assert deltas.length == ( endSize - startSize ) + 1;
+            this.startSize = startSize;
+            this.endSize = endSize;
+            this.deltas = deltas;
+        }
+
+        /** @return the start size */
+        public int getStartSize() {
+            return startSize;
+        }
+
+        /** @return the end size */
+        public int getEndSize() {
+            return endSize;
+        }
+
+        /** @return the deltas */
+        public int[] getDeltas() {
+            return deltas;
+        }
+
+        /**
+         * Find device adjustment.
+         * @param fontSize the font size to search for
+         * @return an adjustment if font size matches an entry
+         * @asf.todo at present, assumes that 1 device unit equals one point
+         */
+        public int findAdjustment ( int fontSize ) {
+            int fs = fontSize / 1000;
+            if ( fs < startSize ) {
+                return 0;
+            } else if ( fs <= endSize ) {
+                return deltas [ fs - startSize ] * 1000;
+            } else {
+                return 0;
+            }
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            return "{ start = " + startSize + ", end = " + endSize + ", deltas = " + Arrays.toString ( deltas ) + "}";
+        }
+
+    }
+
+    /**
+     * The <code>Value</code> class implements a positioning value record, comprising placement
+     * and advancement information in X and Y axes, and optionally including device data used to
+     * perform device (grid-fitted) specific fine grain adjustments.
+     */
+    public static class Value {
+
+        /** X_PLACEMENT value format flag */
+        public static final int X_PLACEMENT             = 0x0001;
+        /** Y_PLACEMENT value format flag */
+        public static final int Y_PLACEMENT             = 0x0002;
+        /** X_ADVANCE value format flag */
+        public static final int X_ADVANCE               = 0x0004;
+        /** Y_ADVANCE value format flag */
+        public static final int Y_ADVANCE               = 0x0008;
+        /** X_PLACEMENT_DEVICE value format flag */
+        public static final int X_PLACEMENT_DEVICE      = 0x0010;
+        /** Y_PLACEMENT_DEVICE value format flag */
+        public static final int Y_PLACEMENT_DEVICE      = 0x0020;
+        /** X_ADVANCE_DEVICE value format flag */
+        public static final int X_ADVANCE_DEVICE        = 0x0040;
+        /** Y_ADVANCE_DEVICE value format flag */
+        public static final int Y_ADVANCE_DEVICE        = 0x0080;
+
+        /** X_PLACEMENT value index (within adjustments arrays) */
+        public static final int IDX_X_PLACEMENT         = 0;
+        /** Y_PLACEMENT value index (within adjustments arrays) */
+        public static final int IDX_Y_PLACEMENT         = 1;
+        /** X_ADVANCE value index (within adjustments arrays) */
+        public static final int IDX_X_ADVANCE           = 2;
+        /** Y_ADVANCE value index (within adjustments arrays) */
+        public static final int IDX_Y_ADVANCE           = 3;
+
+        private int xPlacement;                         // x placement
+        private int yPlacement;                         // y placement
+        private int xAdvance;                           // x advance
+        private int yAdvance;                           // y advance
+        private final DeviceTable xPlaDevice;           // x placement device table
+        private final DeviceTable yPlaDevice;           // y placement device table
+        private final DeviceTable xAdvDevice;           // x advance device table
+        private final DeviceTable yAdvDevice;           // x advance device table
+
+        /**
+         * Instantiate a Value.
+         * @param xPlacement the x placement or zero
+         * @param yPlacement the y placement or zero
+         * @param xAdvance the x advance or zero
+         * @param yAdvance the y advance or zero
+         * @param xPlaDevice the x placement device table or null
+         * @param yPlaDevice the y placement device table or null
+         * @param xAdvDevice the x advance device table or null
+         * @param yAdvDevice the y advance device table or null
+         */
+        public Value ( int xPlacement, int yPlacement, int xAdvance, int yAdvance, DeviceTable xPlaDevice, DeviceTable yPlaDevice, DeviceTable xAdvDevice, DeviceTable yAdvDevice ) {
+            this.xPlacement = xPlacement;
+            this.yPlacement = yPlacement;
+            this.xAdvance = xAdvance;
+            this.yAdvance = yAdvance;
+            this.xPlaDevice = xPlaDevice;
+            this.yPlaDevice = yPlaDevice;
+            this.xAdvDevice = xAdvDevice;
+            this.yAdvDevice = yAdvDevice;
+        }
+
+        /** @return the x placement */
+        public int getXPlacement() {
+            return xPlacement;
+        }
+
+        /** @return the y placement */
+        public int getYPlacement() {
+            return yPlacement;
+        }
+
+        /** @return the x advance */
+        public int getXAdvance() {
+            return xAdvance;
+        }
+
+        /** @return the y advance */
+        public int getYAdvance() {
+            return yAdvance;
+        }
+
+        /** @return the x placement device table */
+        public DeviceTable getXPlaDevice() {
+            return xPlaDevice;
+        }
+
+        /** @return the y placement device table */
+        public DeviceTable getYPlaDevice() {
+            return yPlaDevice;
+        }
+
+        /** @return the x advance device table */
+        public DeviceTable getXAdvDevice() {
+            return xAdvDevice;
+        }
+
+        /** @return the y advance device table */
+        public DeviceTable getYAdvDevice() {
+            return yAdvDevice;
+        }
+
+        /**
+         * Apply value to specific adjustments to without use of device table adjustments.
+         * @param xPlacement the x placement or zero
+         * @param yPlacement the y placement or zero
+         * @param xAdvance the x advance or zero
+         * @param yAdvance the y advance or zero
+         */
+        public void adjust ( int xPlacement, int yPlacement, int xAdvance, int yAdvance ) {
+            this.xPlacement += xPlacement;
+            this.yPlacement += yPlacement;
+            this.xAdvance += xAdvance;
+            this.yAdvance += yAdvance;
+        }
+
+        /**
+         * Apply value to adjustments using font size for device table adjustments.
+         * @param adjustments array of four integers containing X,Y placement and X,Y advance adjustments
+         * @param fontSize font size for device table adjustments
+         * @return true if some adjustment was made
+         */
+        public boolean adjust ( int[] adjustments, int fontSize ) {
+            boolean adjust = false;
+            int dv;
+            if ( ( dv = xPlacement ) != 0 ) {
+                adjustments [ IDX_X_PLACEMENT ] += dv;
+                adjust = true;
+            }
+            if ( ( dv = yPlacement ) != 0 ) {
+                adjustments [ IDX_Y_PLACEMENT ] += dv;
+                adjust = true;
+            }
+            if ( ( dv = xAdvance ) != 0 ) {
+                adjustments [ IDX_X_ADVANCE ] += dv;
+                adjust = true;
+            }
+            if ( ( dv = yAdvance ) != 0 ) {
+                adjustments [ IDX_Y_ADVANCE ] += dv;
+                adjust = true;
+            }
+            if ( fontSize != 0 ) {
+                DeviceTable dt;
+                if ( ( dt = xPlaDevice ) != null ) {
+                    if ( ( dv = dt.findAdjustment ( fontSize ) ) != 0 ) {
+                        adjustments [ IDX_X_PLACEMENT ] += dv;
+                        adjust = true;
+                    }
+                }
+                if ( ( dt = yPlaDevice ) != null ) {
+                    if ( ( dv = dt.findAdjustment ( fontSize ) ) != 0 ) {
+                        adjustments [ IDX_Y_PLACEMENT ] += dv;
+                        adjust = true;
+                    }
+                }
+                if ( ( dt = xAdvDevice ) != null ) {
+                    if ( ( dv = dt.findAdjustment ( fontSize ) ) != 0 ) {
+                        adjustments [ IDX_X_ADVANCE ] += dv;
+                        adjust = true;
+                    }
+                }
+                if ( ( dt = yAdvDevice ) != null ) {
+                    if ( ( dv = dt.findAdjustment ( fontSize ) ) != 0 ) {
+                        adjustments [ IDX_Y_ADVANCE ] += dv;
+                        adjust = true;
+                    }
+                }
+            }
+            return adjust;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            boolean first = true;
+            sb.append ( "{ " );
+            if ( xPlacement != 0 ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "xPlacement = " + xPlacement );
+            }
+            if ( yPlacement != 0 ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "yPlacement = " + yPlacement );
+            }
+            if ( xAdvance != 0 ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "xAdvance = " + xAdvance );
+            }
+            if ( yAdvance != 0 ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "yAdvance = " + yAdvance );
+            }
+            if ( xPlaDevice != null ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "xPlaDevice = " + xPlaDevice );
+            }
+            if ( yPlaDevice != null ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "xPlaDevice = " + yPlaDevice );
+            }
+            if ( xAdvDevice != null ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "xAdvDevice = " + xAdvDevice );
+            }
+            if ( yAdvDevice != null ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "xAdvDevice = " + yAdvDevice );
+            }
+            sb.append(" }");
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>PairValues</code> class implements a pair value record, comprising a glyph id (or zero)
+     * and two optional positioning values.
+     */
+    public static class PairValues {
+
+        private final int glyph;                        // glyph id (or 0)
+        private final Value value1;                     // value for first glyph in pair (or null)
+        private final Value value2;                     // value for second glyph in pair (or null)
+
+        /**
+         * Instantiate a PairValues.
+         * @param glyph the glyph id (or zero)
+         * @param value1 the value of the first glyph in pair (or null)
+         * @param value2 the value of the second glyph in pair (or null)
+         */
+        public PairValues ( int glyph, Value value1, Value value2 ) {
+            assert glyph >= 0;
+            this.glyph = glyph;
+            this.value1 = value1;
+            this.value2 = value2;
+        }
+
+        /** @return the glyph id */
+        public int getGlyph() {
+            return glyph;
+        }
+
+        /** @return the first value */
+        public Value getValue1() {
+            return value1;
+        }
+
+        /** @return the second value */
+        public Value getValue2() {
+            return value2;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            boolean first = true;
+            sb.append ( "{ " );
+            if ( glyph != 0 ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "glyph = " + glyph );
+            }
+            if ( value1 != null ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "value1 = " + value1 );
+            }
+            if ( value2 != null ) {
+                if ( ! first ) {
+                    sb.append ( ", " );
+                } else {
+                    first = false;
+                }
+                sb.append ( "value2 = " + value2 );
+            }
+            sb.append(" }");
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>Anchor</code> class implements a anchor record, comprising an X,Y coordinate pair,
+     * an optional anchor point index (or -1), and optional X or Y device tables (or null if absent).
+     */
+    public static class Anchor {
+
+        private final int x;                            // xCoordinate (in design units)
+        private final int y;                            // yCoordinate (in design units)
+        private final int anchorPoint;                  // anchor point index (or -1)
+        private final DeviceTable xDevice;              // x device table
+        private final DeviceTable yDevice;              // y device table
+
+        /**
+         * Instantiate an Anchor (format 1).
+         * @param x the x coordinate
+         * @param y the y coordinate
+         */
+        public Anchor ( int x, int y ) {
+            this ( x, y, -1, null, null );
+        }
+
+        /**
+         * Instantiate an Anchor (format 2).
+         * @param x the x coordinate
+         * @param y the y coordinate
+         * @param anchorPoint anchor index (or -1)
+         */
+        public Anchor ( int x, int y, int anchorPoint ) {
+            this ( x, y, anchorPoint, null, null );
+        }
+
+        /**
+         * Instantiate an Anchor (format 3).
+         * @param x the x coordinate
+         * @param y the y coordinate
+         * @param xDevice the x device table (or null if not present)
+         * @param yDevice the y device table (or null if not present)
+         */
+        public Anchor ( int x, int y, DeviceTable xDevice, DeviceTable yDevice ) {
+            this ( x, y, -1, xDevice, yDevice );
+        }
+
+        /**
+         * Instantiate an Anchor based on an existing anchor.
+         * @param a the existing anchor
+         */
+        protected Anchor ( Anchor a ) {
+            this ( a.x, a.y, a.anchorPoint, a.xDevice, a.yDevice );
+        }
+
+        private Anchor ( int x, int  y, int anchorPoint, DeviceTable xDevice, DeviceTable yDevice ) {
+            assert ( anchorPoint >= 0 ) || ( anchorPoint == -1 );
+            this.x = x;
+            this.y = y;
+            this.anchorPoint = anchorPoint;
+            this.xDevice = xDevice;
+            this.yDevice = yDevice;
+        }
+
+        /** @return the x coordinate */
+        public int getX() {
+            return x;
+        }
+
+        /** @return the y coordinate */
+        public int getY() {
+            return y;
+        }
+
+        /** @return the anchor point index (or -1 if not specified) */
+        public int getAnchorPoint() {
+            return anchorPoint;
+        }
+
+        /** @return the x device table (or null if not specified) */
+        public DeviceTable getXDevice() {
+            return xDevice;
+        }
+
+        /** @return the y device table (or null if not specified) */
+        public DeviceTable getYDevice() {
+            return yDevice;
+        }
+
+        /**
+         * Obtain adjustment value required to align the specified anchor
+         * with this anchor.
+         * @param a the anchor to align
+         * @return the adjustment value needed to effect alignment
+         */
+        public Value getAlignmentAdjustment ( Anchor a ) {
+            assert a != null;
+            // TODO - handle anchor point
+            // TODO - handle device tables
+            return new Value ( x - a.x, y - a.y, 0, 0, null, null, null, null );
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ [" + x + "," + y + "]" );
+            if ( anchorPoint != -1 ) {
+                sb.append ( ", anchorPoint = " + anchorPoint );
+            }
+            if ( xDevice != null ) {
+                sb.append ( ", xDevice = " + xDevice );
+            }
+            if ( yDevice != null ) {
+                sb.append ( ", yDevice = " + yDevice );
+            }
+            sb.append(" }");
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>MarkAnchor</code> class is a subclass of the <code>Anchor</code> class, adding a mark
+     * class designation.
+     */
+    public static class MarkAnchor extends Anchor {
+
+        private final int markClass;                            // mark class
+
+        /**
+         * Instantiate a MarkAnchor
+         * @param markClass the mark class
+         * @param a the underlying anchor (whose fields are copied)
+         */
+        public MarkAnchor ( int markClass, Anchor a ) {
+            super ( a );
+            this.markClass = markClass;
+        }
+
+        /** @return the mark class */
+        public int getMarkClass() {
+            return markClass;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            return "{ markClass = " + markClass + ", anchor = " + super.toString() + " }";
+        }
+
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphProcessingState.java b/src/java/org/apache/fop/fonts/GlyphProcessingState.java
new file mode 100644
index 0000000..3e752c4
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphProcessingState.java
@@ -0,0 +1,1089 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.nio.IntBuffer;
+import java.util.ArrayList;
+import java.util.List;
+
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * The <code>GlyphProcessingState</code> implements a common, base state object used during glyph substitution
+ * and positioning processing.
+ * @author Glenn Adams
+ */
+
+public class GlyphProcessingState {
+
+    /** governing glyph definition table */
+    protected GlyphDefinitionTable gdef;
+    /** governing script */
+    protected String script;
+    /** governing language */
+    protected String language;
+    /** governing feature */
+    protected String feature;
+    /** current input glyph sequence */
+    protected GlyphSequence igs;
+    /** current index in input sequence */
+    protected int index;
+    /** last (maximum) index of input sequence (exclusive) */
+    protected int indexLast;
+    /** consumed, updated after each successful subtable application */
+    protected int consumed;
+    /** lookup flags */
+    protected int flags;
+    /** class match set */
+    protected int classMatchSet;
+    /** script specific context tester or null */
+    protected ScriptContextTester sct;
+    /** glyph context tester or null */
+    protected GlyphContextTester gct;
+    /** ignore base glyph tester */
+    protected GlyphTester ignoreBase;
+    /** ignore ligature glyph tester */
+    protected GlyphTester ignoreLigature;
+    /** ignore mark glyph tester */
+    protected GlyphTester ignoreMark;
+    /** default ignore glyph tester */
+    protected GlyphTester ignoreDefault;
+
+    /**
+     * Construct glyph processing state.
+     * @param gs input glyph sequence
+     * @param script script identifier
+     * @param language language identifier
+     * @param feature feature identifier
+     * @param sct script context tester (or null)
+     */
+    protected GlyphProcessingState ( GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct ) {
+        this.script = script;
+        this.language = language;
+        this.feature = feature;
+        this.igs = gs;
+        this.indexLast = gs.getGlyphCount();
+        this.sct = sct;
+        this.gct = ( sct != null ) ? sct.getTester ( feature ) : null;
+        this.ignoreBase = new GlyphTester() { public boolean test(int gi) { return isBase(gi); } };
+        this.ignoreLigature = new GlyphTester() { public boolean test(int gi) { return isLigature(gi); } };
+        this.ignoreMark = new GlyphTester() { public boolean test(int gi) { return isMark(gi); } };
+    }
+
+    /**
+     * Construct glyph processing state using an existing state object using shallow copy
+     * except as follows: input glyph sequence is copied deep except for its characters array.
+     * @param s existing processing state to copy from
+     */
+    protected GlyphProcessingState ( GlyphProcessingState s ) {
+        this ( new GlyphSequence ( s.igs ), s.script, s.language, s.feature, s.sct );
+        setPosition ( s.index );
+    }
+
+    /**
+     * Set governing glyph definition table.
+     * @param gdef glyph definition table (or null, to unset)
+     */
+    public void setGDEF ( GlyphDefinitionTable gdef ) {
+        if ( this.gdef == null ) {
+            this.gdef = gdef;
+        } else if ( gdef == null ) {
+            this.gdef = null;
+        }
+    }
+
+    /**
+     * Obtain governing glyph definition table.
+     * @return glyph definition table (or null, to not set)
+     */
+    public GlyphDefinitionTable getGDEF() {
+        return gdef;
+    }
+
+    /**
+     * Set governing lookup flags
+     * @param flags lookup flags (or zero, to unset)
+     */
+    public void setFlags ( int flags ) {
+        if ( this.flags == 0 ) {
+            this.flags = flags;
+        } else if ( flags == 0 ) {
+            this.flags = 0;
+        }
+    }
+
+    /**
+     * Obtain governing lookup  flags.
+     * @return lookup flags (zero may indicate unset or no flags)
+     */
+    public int getFlags() {
+        return flags;
+    }
+
+    /**
+     * Obtain governing class match set.
+     * @param gi glyph index that may be used to determine which match set applies
+     * @return class match set (zero may indicate unset or no set)
+     */
+    public int getClassMatchSet ( int gi ) {
+        return 0;
+    }
+
+    /**
+     * Set default ignore tester.
+     * @param ignoreDefault glyph tester (or null, to unset)
+     */
+    public void setIgnoreDefault ( GlyphTester ignoreDefault ) {
+        if ( this.ignoreDefault == null ) {
+            this.ignoreDefault = ignoreDefault;
+        } else if ( ignoreDefault == null ) {
+            this.ignoreDefault = null;
+        }
+    }
+
+    /**
+     * Obtain governing default ignores tester.
+     * @return default ignores tester
+     */
+    public GlyphTester getIgnoreDefault() {
+        return ignoreDefault;
+    }
+
+    /**
+     * Update glyph subtable specific state. Each time a
+     * different glyph subtable is to be applied, it is used
+     * to update this state prior to application, after which
+     * this state is to be reset.
+     * @param st glyph subtable to use for update
+     */
+    public void updateSubtableState ( GlyphSubtable st ) {
+        setGDEF ( st.getGDEF() );
+        setFlags ( st.getFlags() );
+        setIgnoreDefault ( getIgnoreTester ( flags ) );
+    }
+
+    /**
+     * Reset glyph subtable specific state.
+     */
+    public void resetSubtableState() {
+        setGDEF ( null );
+        setFlags ( 0 );
+        setIgnoreDefault ( null );
+    }
+
+    /**
+     * Obtain current position index in input glyph sequence.
+     * @return current index
+     */
+    public int getPosition() {
+        return index;
+    }
+
+    /**
+     * Set (seek to) position index in input glyph sequence.
+     * @param index to seek to
+     * @throws IndexOutOfBoundsException if index is less than zero
+     * or exceeds last valid position
+     */
+    public void setPosition ( int index ) throws IndexOutOfBoundsException {
+        if ( ( index >= 0 ) && ( index <= indexLast ) ) {
+            this.index =  index;
+        } else {
+            throw new IndexOutOfBoundsException();
+        }
+    }
+
+    /**
+     * Obtain last valid position index in input glyph sequence.
+     * @return current last index
+     */
+    public int getLastPosition() {
+        return indexLast;
+    }
+
+    /**
+     * Determine if at least one glyph remains in
+     * input sequence.
+     * @return true if one or more glyph remains
+     */
+    public boolean hasNext() {
+        return hasNext ( 1 );
+    }
+
+    /**
+     * Determine if at least <code>count</code> glyphs remain in
+     * input sequence.
+     * @param count of glyphs to test
+     * @return true if at least <code>count</code> glyphs are available
+     */
+    public boolean hasNext ( int count ) {
+        return ( index + count ) <= indexLast;
+    }
+
+    /**
+     * Update the current position index based upon previously consumed
+     * glyphs, i.e., add the consuemd count to the current position index.
+     * If no glyphs were previously consumed, then forces exactly one
+     * glyph to be consumed.
+     * @return the new (updated) position index
+     */
+    public int next() {
+        if ( index < indexLast ) {
+            // force consumption of at least one input glyph
+            if ( consumed == 0 ) {
+                consumed = 1;
+            }
+            index += consumed; consumed = 0;
+            if ( index > indexLast ) {
+                index = indexLast;
+            }
+        }
+        return index;
+    }
+
+    /**
+     * Determine if at least one backtrack (previous) glyph is present
+     * in input sequence.
+     * @return true if one or more glyph remains
+     */
+    public boolean hasPrev() {
+        return hasPrev ( 1 );
+    }
+
+    /**
+     * Determine if at least <code>count</code> backtrack (previous) glyphs
+     * are present in input sequence.
+     * @param count of glyphs to test
+     * @return true if at least <code>count</code> glyphs are available
+     */
+    public boolean hasPrev ( int count ) {
+        return ( index - count ) >= 0;
+    }
+
+    /**
+     * Update the current position index based upon previously consumed
+     * glyphs, i.e., subtract the consuemd count from the current position index.
+     * If no glyphs were previously consumed, then forces exactly one
+     * glyph to be consumed. This method is used to traverse an input
+     * glyph sequence in reverse order.
+     * @return the new (updated) position index
+     */
+    public int prev() {
+        if ( index > 0 ) {
+            // force consumption of at least one input glyph
+            if ( consumed == 0 ) {
+                consumed = 1;
+            }
+            index -= consumed; consumed = 0;
+            if ( index < 0 ) {
+                index = 0;
+            }
+        }
+        return index;
+    }
+
+    /**
+     * Record the consumption of <code>count</code> glyphs such that
+     * this consumption never exceeds the number of glyphs in the input glyph
+     * sequence.
+     * @param count of glyphs to consume
+     * @return newly adjusted consumption count
+     * @throws IndexOutOfBoundsException if count would cause consumption
+     * to exceed count of glyphs in input glyph sequence
+     */
+    public int consume ( int count ) throws IndexOutOfBoundsException {
+        if ( ( consumed + count ) <= indexLast ) {
+            consumed += count;
+            return consumed;
+        } else {
+            throw new IndexOutOfBoundsException();
+        }
+    }
+
+    /**
+     * Determine if any consumption has occurred.
+     * @return true if consumption count is greater than zero
+     */
+    public boolean didConsume() {
+        return consumed > 0;
+    }
+
+    /**
+     * Obtain reference to input glyph sequence, which must not be modified.
+     * @return input glyph sequence
+     */
+    public GlyphSequence getInput() {
+        return igs;
+    }
+
+    /**
+     * Obtain glyph at specified offset from current position.
+     * @param offset from current position
+     * @return glyph at specified offset from current position
+     * @throws IndexOutOfBoundsException if no glyph available at offset
+     */
+    public int getGlyph ( int offset ) throws IndexOutOfBoundsException {
+        int i = index + offset;
+        if ( ( i >= 0 ) && ( i < indexLast ) ) {
+            return igs.getGlyph ( i );
+        } else {
+            throw new IndexOutOfBoundsException ( "attempting index at " + i );
+        }
+    }
+
+    /**
+     * Obtain glyph at current position.
+     * @return glyph at current position
+     * @throws IndexOutOfBoundsException if no glyph available
+     */
+    public int getGlyph() throws IndexOutOfBoundsException {
+        return getGlyph ( 0 );
+    }
+
+    /**
+     * Set (replace) glyph at specified offset from current position.
+     * @param offset from current position
+     * @param glyph to set at specified offset from current position
+     * @throws IndexOutOfBoundsException if specified offset is not valid position
+     */
+    public void setGlyph ( int offset, int glyph ) throws IndexOutOfBoundsException {
+        int i = index + offset;
+        if ( ( i >= 0 ) && ( i < indexLast ) ) {
+            igs.setGlyph ( i, glyph );
+        } else {
+            throw new IndexOutOfBoundsException ( "attempting index at " + i );
+        }
+    }
+
+    /**
+     * Obtain character association of glyph at specified offset from current position.
+     * @param offset from current position
+     * @return character association of glyph at current position
+     * @throws IndexOutOfBoundsException if offset results in an invalid index into input glyph sequence
+     */
+    public GlyphSequence.CharAssociation getAssociation ( int offset ) throws IndexOutOfBoundsException {
+        int i = index + offset;
+        if ( ( i >= 0 ) && ( i < indexLast ) ) {
+            return igs.getAssociation ( i );
+        } else {
+            throw new IndexOutOfBoundsException ( "attempting index at " + i );
+        }
+    }
+
+    /**
+     * Obtain character association of glyph at current position.
+     * @return character association of glyph at current position
+     * @throws IndexOutOfBoundsException if no glyph available
+     */
+    public GlyphSequence.CharAssociation getAssociation() throws IndexOutOfBoundsException {
+        return getAssociation ( 0 );
+    }
+
+    /**
+     * Obtain <code>count</code> glyphs starting at specified offset from current position. If
+     * <code>reverseOrder</code> is true, then glyphs are returned in reverse order starting at specified offset
+     * and going in reverse towards beginning of input glyph sequence.
+     * @param offset from current position
+     * @param count number of glyphs to obtain
+     * @param reverseOrder true if to obtain in reverse order
+     * @param ignoreTester glyph tester to use to determine which glyphs are ignored (or null, in which case none are ignored)
+     * @param glyphs array to use to fetch glyphs
+     * @param counts int[2] array to receive fetched glyph counts, where counts[0] will
+     * receive the number of glyphs obtained, and counts[1] will receive the number of glyphs
+     * ignored
+     * @return array of glyphs
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int[] getGlyphs ( int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, int[] glyphs, int[] counts ) throws IndexOutOfBoundsException {
+        if ( count < 0 ) {
+            count = getGlyphsAvailable ( offset, reverseOrder, ignoreTester ) [ 0 ];
+        }
+        int start = index + offset;
+        if ( start < 0 ) {
+            throw new IndexOutOfBoundsException ( "will attempt index at " + start );
+        } else if ( ! reverseOrder && ( ( start + count ) > indexLast ) ) {
+            throw new IndexOutOfBoundsException ( "will attempt index at " + ( start + count ) );
+        } else if ( reverseOrder && ( ( start + 1 ) < count ) ) {
+            throw new IndexOutOfBoundsException ( "will attempt index at " + ( start - count ) );
+        }
+        if ( glyphs == null ) {
+            glyphs = new int [ count ];
+        } else if ( glyphs.length != count ) {
+            throw new IllegalArgumentException ( "glyphs array is non-null, but its length (" + glyphs.length + "), is not equal to count (" + count + ")" );
+        }
+        if ( ! reverseOrder ) {
+            return getGlyphsForward ( start, count, ignoreTester, glyphs, counts );
+        } else {
+            return getGlyphsReverse ( start, count, ignoreTester, glyphs, counts );
+        }
+    }
+
+    private int[] getGlyphsForward ( int start, int count, GlyphTester ignoreTester, int[] glyphs, int[] counts ) throws IndexOutOfBoundsException {
+        int counted = 0;
+        int ignored = 0;
+        for ( int i = start, n = indexLast, k = 0; i < n; i++ ) {
+            int gi = getGlyph ( i - index );
+            if ( gi == 65535 ) {
+                ignored++;
+            } else {
+                if ( ( ignoreTester == null ) || ! ignoreTester.test ( gi ) ) {
+                    if ( k < count ) {
+                        glyphs [ k++ ] = gi; counted++;
+                    } else {
+                        break;
+                    }
+                } else {
+                    ignored++;
+                }
+            }
+        }
+        if ( ( counts != null ) && ( counts.length > 1 ) ) {
+            counts[0] = counted;
+            counts[1] = ignored;
+        }
+        return glyphs;
+    }
+
+    private int[] getGlyphsReverse ( int start, int count, GlyphTester ignoreTester, int[] glyphs, int[] counts ) throws IndexOutOfBoundsException {
+        int counted = 0;
+        int ignored = 0;
+        for ( int i = start, k = 0; i >= 0; i-- ) {
+            int gi = getGlyph ( i - index );
+            if ( gi == 65535 ) {
+                ignored++;
+            } else {
+                if ( ( ignoreTester == null ) || ! ignoreTester.test ( gi ) ) {
+                    if ( k < count ) {
+                        glyphs [ k++ ] = gi; counted++;
+                    } else {
+                        break;
+                    }
+                } else {
+                    ignored++;
+                }
+            }
+        }
+        if ( ( counts != null ) && ( counts.length > 1 ) ) {
+            counts[0] = counted;
+            counts[1] = ignored;
+        }
+        return glyphs;
+    }
+
+    /**
+     * Obtain <code>count</code> glyphs starting at specified offset from current position. If
+     * offset is negative, then glyphs are returned in reverse order starting at specified offset
+     * and going in reverse towards beginning of input glyph sequence.
+     * @param offset from current position
+     * @param count number of glyphs to obtain
+     * @param glyphs array to use to fetch glyphs
+     * @param counts int[2] array to receive fetched glyph counts, where counts[0] will
+     * receive the number of glyphs obtained, and counts[1] will receive the number of glyphs
+     * ignored
+     * @return array of glyphs
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int[] getGlyphs ( int offset, int count, int[] glyphs, int[] counts ) throws IndexOutOfBoundsException {
+        return getGlyphs ( offset, count, offset < 0, ignoreDefault, glyphs, counts );
+    }
+
+    /**
+     * Obtain all glyphs starting from current position to end of input glyph sequence.
+     * @return array of available glyphs
+     * @throws IndexOutOfBoundsException if no glyph available
+     */
+    public int[] getGlyphs() throws IndexOutOfBoundsException {
+        return getGlyphs ( 0, indexLast - index, false, null, null, null );
+    }
+
+    /**
+     * Obtain <code>count</code> ignored glyphs starting at specified offset from current position. If
+     * <code>reverseOrder</code> is true, then glyphs are returned in reverse order starting at specified offset
+     * and going in reverse towards beginning of input glyph sequence.
+     * @param offset from current position
+     * @param count number of glyphs to obtain
+     * @param reverseOrder true if to obtain in reverse order
+     * @param ignoreTester glyph tester to use to determine which glyphs are ignored (or null, in which case none are ignored)
+     * @param glyphs array to use to fetch glyphs
+     * @param counts int[2] array to receive fetched glyph counts, where counts[0] will
+     * receive the number of glyphs obtained, and counts[1] will receive the number of glyphs
+     * ignored
+     * @return array of glyphs
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int[] getIgnoredGlyphs ( int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, int[] glyphs, int[] counts ) throws IndexOutOfBoundsException {
+        return getGlyphs ( offset, count, reverseOrder, new NotGlyphTester ( ignoreTester ), glyphs, counts );
+    }
+
+    /**
+     * Obtain <code>count</code> ignored glyphs starting at specified offset from current position. If <code>offset</code> is
+     * negative, then fetch in reverse order.
+     * @param offset from current position
+     * @param count number of glyphs to obtain
+     * @return array of glyphs
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int[] getIgnoredGlyphs ( int offset, int count ) throws IndexOutOfBoundsException {
+        return getIgnoredGlyphs ( offset, count, offset < 0, ignoreDefault, null, null );
+    }
+
+    /**
+     * Determine number of glyphs available starting at specified offset from current position. If
+     * <code>reverseOrder</code> is true, then search backwards in input glyph sequence.
+     * @param offset from current position
+     * @param reverseOrder true if to obtain in reverse order
+     * @param ignoreTester glyph tester to use to determine which glyphs to count (or null, in which case none are ignored)
+     * @return an int[2] array where counts[0] is the number of glyphs available, and counts[1] is the number of glyphs ignored
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int[] getGlyphsAvailable ( int offset, boolean reverseOrder, GlyphTester ignoreTester ) throws IndexOutOfBoundsException {
+        int start = index + offset;
+        if ( ( start < 0 ) || ( start > indexLast ) ) {
+            return new int[] { 0, 0 };
+        } else if ( ! reverseOrder ) {
+            return getGlyphsAvailableForward ( start, ignoreTester );
+        } else {
+            return getGlyphsAvailableReverse ( start, ignoreTester );
+        }
+    }
+
+    private int[] getGlyphsAvailableForward ( int start, GlyphTester ignoreTester ) throws IndexOutOfBoundsException {
+        int counted = 0;
+        int ignored = 0;
+        if ( ignoreTester == null ) {
+            counted = indexLast - start;
+        } else {
+            for ( int i = start, n = indexLast; i < n; i++ ) {
+                int gi = getGlyph ( i - index );
+                if ( gi == 65535 ) {
+                    ignored++;
+                } else {
+                    if ( ignoreTester.test ( gi ) ) {
+                        ignored++;
+                    } else {
+                        counted++;
+                    }
+                }
+            }
+        }
+        return new int[] { counted, ignored };
+    }
+
+    private int[] getGlyphsAvailableReverse ( int start, GlyphTester ignoreTester ) throws IndexOutOfBoundsException {
+        int counted = 0;
+        int ignored = 0;
+        if ( ignoreTester == null ) {
+            counted = start + 1;
+        } else {
+            for ( int i = start; i >= 0; i-- ) {
+                int gi = getGlyph ( i - index );
+                if ( gi == 65535 ) {
+                    ignored++;
+                } else {
+                    if ( ignoreTester.test ( gi ) ) {
+                        ignored++;
+                    } else {
+                        counted++;
+                    }
+                }
+            }
+        }
+        return new int[] { counted, ignored };
+    }
+
+    /**
+     * Determine number of glyphs available starting at specified offset from current position. If
+     * <code>reverseOrder</code> is true, then search backwards in input glyph sequence. Uses the
+     * default ignores tester.
+     * @param offset from current position
+     * @param reverseOrder true if to obtain in reverse order
+     * @return an int[2] array where counts[0] is the number of glyphs available, and counts[1] is the number of glyphs ignored
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int[] getGlyphsAvailable ( int offset, boolean reverseOrder ) throws IndexOutOfBoundsException {
+        return getGlyphsAvailable ( offset, reverseOrder, ignoreDefault );
+    }
+
+    /**
+     * Determine number of glyphs available starting at specified offset from current position. If
+     * offset is negative, then search backwards in input glyph sequence. Uses the
+     * default ignores tester.
+     * @param offset from current position
+     * @return an int[2] array where counts[0] is the number of glyphs available, and counts[1] is the number of glyphs ignored
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int[] getGlyphsAvailable ( int offset ) throws IndexOutOfBoundsException {
+        return getGlyphsAvailable ( offset, offset < 0 );
+    }
+
+    /**
+     * Obtain <code>count</code> character associations of glyphs starting at specified offset from current position. If
+     * <code>reverseOrder</code> is true, then associations are returned in reverse order starting at specified offset
+     * and going in reverse towards beginning of input glyph sequence.
+     * @param offset from current position
+     * @param count number of associations to obtain
+     * @param reverseOrder true if to obtain in reverse order
+     * @param ignoreTester glyph tester to use to determine which glyphs are ignored (or null, in which case none are ignored)
+     * @param associations array to use to fetch associations
+     * @param counts int[2] array to receive fetched association counts, where counts[0] will
+     * receive the number of associations obtained, and counts[1] will receive the number of glyphs whose
+     * associations were ignored
+     * @return array of associations
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public GlyphSequence.CharAssociation[] getAssociations ( int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts )
+        throws IndexOutOfBoundsException {
+        if ( count < 0 ) {
+            count = getGlyphsAvailable ( offset, reverseOrder, ignoreTester ) [ 0 ];
+        }
+        int start = index + offset;
+        if ( start < 0 ) {
+            throw new IndexOutOfBoundsException ( "will attempt index at " + start );
+        } else if ( ! reverseOrder && ( ( start + count ) > indexLast ) ) {
+            throw new IndexOutOfBoundsException ( "will attempt index at " + ( start + count ) );
+        } else if ( reverseOrder && ( ( start + 1 ) < count ) ) {
+            throw new IndexOutOfBoundsException ( "will attempt index at " + ( start - count ) );
+        }
+        if ( associations == null ) {
+            associations = new GlyphSequence.CharAssociation [ count ];
+        } else if ( associations.length != count ) {
+            throw new IllegalArgumentException ( "associations array is non-null, but its length (" + associations.length + "), is not equal to count (" + count + ")" );
+        }
+        if ( ! reverseOrder ) {
+            return getAssociationsForward ( start, count, ignoreTester, associations, counts );
+        } else {
+            return getAssociationsReverse ( start, count, ignoreTester, associations, counts );
+        }
+    }
+
+    private GlyphSequence.CharAssociation[] getAssociationsForward ( int start, int count, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts )
+        throws IndexOutOfBoundsException {
+        int counted = 0;
+        int ignored = 0;
+        for ( int i = start, n = indexLast, k = 0; i < n; i++ ) {
+            int gi = getGlyph ( i - index );
+            if ( gi == 65535 ) {
+                ignored++;
+            } else {
+                if ( ( ignoreTester == null ) || ! ignoreTester.test ( gi ) ) {
+                    if ( k < count ) {
+                        associations [ k++ ] = getAssociation ( i - index ); counted++;
+                    } else {
+                        break;
+                    }
+                } else {
+                    ignored++;
+                }
+            }
+        }
+        if ( ( counts != null ) && ( counts.length > 1 ) ) {
+            counts[0] = counted;
+            counts[1] = ignored;
+        }
+        return associations;
+    }
+
+    private GlyphSequence.CharAssociation[] getAssociationsReverse ( int start, int count, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts )
+        throws IndexOutOfBoundsException {
+        int counted = 0;
+        int ignored = 0;
+        for ( int i = start, k = 0; i >= 0; i-- ) {
+            int gi = getGlyph ( i - index );
+            if ( gi == 65535 ) {
+                ignored++;
+            } else {
+                if ( ( ignoreTester == null ) || ! ignoreTester.test ( gi ) ) {
+                    if ( k < count ) {
+                        associations [ k++ ] = getAssociation ( i - index ); counted++;
+                    } else {
+                        break;
+                    }
+                } else {
+                    ignored++;
+                }
+            }
+        }
+        if ( ( counts != null ) && ( counts.length > 1 ) ) {
+            counts[0] = counted;
+            counts[1] = ignored;
+        }
+        return associations;
+    }
+
+    /**
+     * Obtain <code>count</code> character associations of glyphs starting at specified offset from current position. If
+     * offset is negative, then search backwards in input glyph sequence. Uses the
+     * default ignores tester.
+     * @param offset from current position
+     * @param count number of associations to obtain
+     * @return array of associations
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public GlyphSequence.CharAssociation[] getAssociations ( int offset, int count ) throws IndexOutOfBoundsException {
+        return getAssociations ( offset, count, offset < 0, ignoreDefault, null, null );
+    }
+
+    /**
+     * Obtain <code>count</code> character associations of ignored glyphs starting at specified offset from current position. If
+     * <code>reverseOrder</code> is true, then glyphs are returned in reverse order starting at specified offset
+     * and going in reverse towards beginning of input glyph sequence.
+     * @param offset from current position
+     * @param count number of character associations to obtain
+     * @param reverseOrder true if to obtain in reverse order
+     * @param ignoreTester glyph tester to use to determine which glyphs are ignored (or null, in which case none are ignored)
+     * @param associations array to use to fetch associations
+     * @param counts int[2] array to receive fetched association counts, where counts[0] will
+     * receive the number of associations obtained, and counts[1] will receive the number of glyphs whose
+     * associations were ignored
+     * @return array of associations
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public GlyphSequence.CharAssociation[] getIgnoredAssociations ( int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts )
+        throws IndexOutOfBoundsException {
+        return getAssociations ( offset, count, reverseOrder, new NotGlyphTester ( ignoreTester ), associations, counts );
+    }
+
+    /**
+     * Obtain <code>count</code> character associations of ignored glyphs starting at specified offset from current position. If
+     * offset is negative, then search backwards in input glyph sequence. Uses the
+     * default ignores tester.
+     * @param offset from current position
+     * @param count number of character associations to obtain
+     * @return array of associations
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public GlyphSequence.CharAssociation[] getIgnoredAssociations ( int offset, int count ) throws IndexOutOfBoundsException {
+        return getIgnoredAssociations ( offset, count, offset < 0, ignoreDefault, null, null );
+    }
+
+    /**
+     * Replace subsequence of input glyph sequence starting at specified offset from current position and of
+     * length <code>count</code> glyphs with a subsequence of the sequence <code>gs</code> starting from the specified
+     * offset <code>gsOffset</code> of length <code>gsCount</code> glyphs.
+     * @param offset from current position
+     * @param count number of glyphs to replace, which, if negative means all glyphs from offset to end of input sequence
+     * @param gs glyph sequence from which to obtain replacement glyphs
+     * @param gsOffset offset of first glyph in replacement sequence
+     * @param gsCount count of glyphs in replacement sequence starting at <code>gsOffset</code>
+     * @return true if replacement occurred, or false if replacement would result in no change to input glyph sequence
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public boolean replaceInput ( int offset, int count, GlyphSequence gs, int gsOffset, int gsCount ) throws IndexOutOfBoundsException {
+        int nig = ( igs != null ) ? igs.getGlyphCount() : 0;
+        int position = getPosition() + offset;
+        if ( position < 0 ) {
+            position = 0;
+        } else if ( position > nig ) {
+            position = nig;
+        }
+        if ( ( count < 0 ) || ( ( position + count ) > nig ) ) {
+            count = nig - position;
+        }
+        int nrg = ( gs != null ) ? gs.getGlyphCount() : 0;
+        if ( gsOffset < 0 ) {
+            gsOffset = 0;
+        } else if ( gsOffset > nrg ) {
+            gsOffset = nrg;
+        }
+        if ( ( gsCount < 0 ) || ( ( gsOffset + gsCount ) > nrg ) ) {
+            gsCount = nrg - gsOffset;
+        }
+        int ng = nig + gsCount - count;
+        IntBuffer gb = IntBuffer.allocate ( ng );
+        List al = new ArrayList ( ng );
+        for ( int i = 0, n = position; i < n; i++ ) {
+            gb.put ( igs.getGlyph ( i ) );
+            al.add ( igs.getAssociation ( i ) );
+        }
+        for ( int i = gsOffset, n = gsOffset + gsCount; i < n; i++ ) {
+            gb.put ( gs.getGlyph ( i ) );
+            al.add ( gs.getAssociation ( i ) );
+        }
+        for ( int i = position + count, n = nig; i < n; i++ ) {
+            gb.put ( igs.getGlyph ( i ) );
+            al.add ( igs.getAssociation ( i ) );
+        }
+        gb.flip();
+        if ( igs.compareGlyphs ( gb ) != 0 ) {
+            this.igs = new GlyphSequence ( igs.getCharacters(), gb, al );
+            this.indexLast = gb.limit();
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Replace subsequence of input glyph sequence starting at specified offset from current position and of
+     * length <code>count</code> glyphs with all glyphs in the replacement sequence <code>gs</code>.
+     * @param offset from current position
+     * @param count number of glyphs to replace, which, if negative means all glyphs from offset to end of input sequence
+     * @param gs glyph sequence from which to obtain replacement glyphs
+     * @return true if replacement occurred, or false if replacement would result in no change to input glyph sequence
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public boolean replaceInput ( int offset, int count, GlyphSequence gs ) throws IndexOutOfBoundsException {
+        return replaceInput ( offset, count, gs, 0, gs.getGlyphCount() );
+    }
+
+    /**
+     * Erase glyphs in input glyph sequence starting at specified offset from current position, where each glyph
+     * in the specified <code>glyphs</code> array is matched, one at a time, and when a (forward searching) match is found
+     * in the input glyph sequence, the matching glyph is replaced with the glyph index 65535.
+     * @param offset from current position
+     * @param glyphs array of glyphs to erase
+     * @return the number of glyphs erased, which may be less than the number of specified glyphs
+     * @throws IndexOutOfBoundsException if offset or count results in an
+     * invalid index into input glyph sequence
+     */
+    public int erase ( int offset, int[] glyphs ) throws IndexOutOfBoundsException {
+        int start = index + offset;
+        if ( ( start < 0 ) || ( start > indexLast ) ) {
+            throw new IndexOutOfBoundsException ( "will attempt index at " + start );
+        } else {
+            int erased = 0;
+            for ( int i = start - index, n = indexLast - start; i < n; i++ ) {
+                int gi = getGlyph ( i );
+                if ( gi == glyphs [ erased ] ) {
+                    setGlyph ( i, 65535 );
+                    erased++;
+                }
+            }
+            return erased;
+        }
+    }
+
+    /**
+     * Determine if is possible that the current input sequence satisfies a script specific
+     * context testing predicate. If no predicate applies, then application is always possible.
+     * @return true if no script specific context tester applies or if a specified tester returns
+     * true for the current input sequence context
+     */
+    public boolean maybeApplicable() {
+        if ( gct == null ) {
+            return true;
+        } else {
+            return gct.test ( script, language, feature, igs, index );
+        }
+    }
+
+    /**
+     * Apply default application semantices; namely, consume one glyph.
+     */
+    public void applyDefault() {
+        consumed += 1;
+    }
+
+    /**
+     * Determine if specified glyph is a base glyph according to the governing
+     * glyph definition table.
+     * @param gi glyph index to test
+     * @return true if glyph definition table records glyph as a base glyph; otherwise, false
+     */
+    public boolean isBase ( int gi ) {
+        if ( gdef != null ) {
+            return gdef.isGlyphClass ( gi, GlyphDefinitionTable.GLYPH_CLASS_BASE );
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if specified glyph is a ligature glyph according to the governing
+     * glyph definition table.
+     * @param gi glyph index to test
+     * @return true if glyph definition table records glyph as a ligature glyph; otherwise, false
+     */
+    public boolean isLigature ( int gi ) {
+        if ( gdef != null ) {
+            return gdef.isGlyphClass ( gi, GlyphDefinitionTable.GLYPH_CLASS_LIGATURE );
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if specified glyph is a mark glyph according to the governing
+     * glyph definition table.
+     * @param gi glyph index to test
+     * @return true if glyph definition table records glyph as a mark glyph; otherwise, false
+     */
+    public boolean isMark ( int gi ) {
+        if ( gdef != null ) {
+            return gdef.isGlyphClass ( gi, GlyphDefinitionTable.GLYPH_CLASS_MARK );
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Obtain an ignored glyph tester that corresponds to the specified lookup flags.
+     * @param flags lookup flags
+     * @return a glyph tester
+     */
+    public GlyphTester getIgnoreTester ( int flags ) {
+        if ( ( flags & GlyphSubtable.LF_IGNORE_BASE ) != 0 ) {
+            if ( ( flags & (GlyphSubtable.LF_IGNORE_LIGATURE | GlyphSubtable.LF_IGNORE_MARK) ) == 0 ) {
+                return ignoreBase;
+            } else {
+                return getCombinedIgnoreTester ( flags );
+            }
+        }
+        if ( ( flags & GlyphSubtable.LF_IGNORE_LIGATURE ) != 0 ) {
+            if ( ( flags & (GlyphSubtable.LF_IGNORE_BASE | GlyphSubtable.LF_IGNORE_MARK) ) == 0 ) {
+                return ignoreLigature;
+            } else {
+                return getCombinedIgnoreTester ( flags );
+            }
+        }
+        if ( ( flags & GlyphSubtable.LF_IGNORE_MARK ) != 0 ) {
+            if ( ( flags & (GlyphSubtable.LF_IGNORE_BASE | GlyphSubtable.LF_IGNORE_LIGATURE) ) == 0 ) {
+                return ignoreMark;
+            } else {
+                return getCombinedIgnoreTester ( flags );
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Obtain an ignored glyph tester that corresponds to the specified multiple (combined) lookup flags.
+     * @param flags lookup flags
+     * @return a glyph tester
+     */
+    public GlyphTester getCombinedIgnoreTester ( int flags ) {
+        GlyphTester[] gta = new GlyphTester [ 3 ];
+        int ngt = 0;
+        if ( ( flags & GlyphSubtable.LF_IGNORE_BASE ) != 0 ) {
+            gta [ ngt++ ] = ignoreBase;
+        }
+        if ( ( flags & GlyphSubtable.LF_IGNORE_LIGATURE ) != 0 ) {
+            gta [ ngt++ ] = ignoreLigature;
+        }
+        if ( ( flags & GlyphSubtable.LF_IGNORE_MARK ) != 0 ) {
+            gta [ ngt++ ] = ignoreMark;
+        }
+        return getCombinedOrTester ( gta, ngt );
+    }
+
+    /**
+     * Obtain an combined OR glyph tester.
+     * @param gta an array of glyph testers
+     * @param ngt number of glyph testers present in specified array
+     * @return a combined OR glyph tester
+     */
+    public GlyphTester getCombinedOrTester ( GlyphTester[] gta, int ngt ) {
+        if ( ngt > 0 ) {
+            return new CombinedOrGlyphTester ( gta, ngt );
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Obtain an combined AND glyph tester.
+     * @param gta an array of glyph testers
+     * @param ngt number of glyph testers present in specified array
+     * @return a combined AND glyph tester
+     */
+    public GlyphTester getCombinedAndTester ( GlyphTester[] gta, int ngt ) {
+        if ( ngt > 0 ) {
+            return new CombinedAndGlyphTester ( gta, ngt );
+        } else {
+            return null;
+        }
+    }
+
+    /** combined OR glyph tester */
+    private static class CombinedOrGlyphTester implements GlyphTester {
+        private GlyphTester[] gta;
+        private int ngt;
+        CombinedOrGlyphTester ( GlyphTester[] gta, int ngt ) {
+            this.gta = gta;
+            this.ngt = ngt;
+        }
+        /** {@inheritDoc} */
+        public boolean test ( int gi ) {
+            for ( int i = 0, n = ngt; i < n; i++ ) {
+                GlyphTester gt = gta [ i ];
+                if ( gt != null ) {
+                    if ( gt.test ( gi ) ) {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
+    }
+
+    /** combined AND glyph tester */
+    private static class CombinedAndGlyphTester implements GlyphTester {
+        private GlyphTester[] gta;
+        private int ngt;
+        CombinedAndGlyphTester ( GlyphTester[] gta, int ngt ) {
+            this.gta = gta;
+            this.ngt = ngt;
+        }
+        /** {@inheritDoc} */
+        public boolean test ( int gi ) {
+            for ( int i = 0, n = ngt; i < n; i++ ) {
+                GlyphTester gt = gta [ i ];
+                if ( gt != null ) {
+                    if ( ! gt.test ( gi ) ) {
+                        return false;
+                    }
+                }
+            }
+            return true;
+        }
+    }
+
+    /** NOT glyph tester */
+    private static class NotGlyphTester implements GlyphTester {
+        private GlyphTester gt;
+        NotGlyphTester ( GlyphTester gt ) {
+            this.gt = gt;
+        }
+        /** {@inheritDoc} */
+        public boolean test ( int gi ) {
+            if ( gt != null ) {
+                if ( gt.test ( gi ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphSequence.java b/src/java/org/apache/fop/fonts/GlyphSequence.java
new file mode 100644
index 0000000..b515301
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphSequence.java
@@ -0,0 +1,1075 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.nio.IntBuffer;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.fop.util.CharUtilities;
+
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+// CSOFF: WhitespaceAfterCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * A GlyphSequence encapsulates a sequence of character codes, a sequence of glyph codes,
+ * and a sequence of character associations, where, for each glyph in the sequence of glyph
+ * codes, there is a corresponding character association. Character associations server to
+ * relate the glyph codes in a glyph sequence to the specific characters in an original
+ * character code sequence with which the glyph codes are associated.
+ * @author Glenn Adams
+ */
+public class GlyphSequence implements Cloneable {
+
+    /** default character buffer capacity in case new character buffer is created */
+    private static final int DEFAULT_CHARS_CAPACITY = 8;
+
+    /** character buffer */
+    private IntBuffer characters;
+    /** glyph buffer */
+    private IntBuffer glyphs;
+    /** association list */
+    private List associations;
+    /** predications flag */
+    private boolean predications;
+
+    /**
+     * Instantiate a glyph sequence, reusing (i.e., not copying) the referenced
+     * character and glyph buffers and associations. If characters is null, then
+     * an empty character buffer is created. If glyphs is null, then a glyph buffer
+     * is created whose capacity is that of the character buffer. If associations is
+     * null, then identity associations are created.
+     * @param characters a (possibly null) buffer of associated (originating) characters
+     * @param glyphs a (possibly null) buffer of glyphs
+     * @param associations a (possibly null) array of glyph to character associations
+     * @param predications true if predications are enabled
+     */
+    public GlyphSequence ( IntBuffer characters, IntBuffer glyphs, List associations, boolean predications ) {
+        if ( characters == null ) {
+            characters = IntBuffer.allocate ( DEFAULT_CHARS_CAPACITY );
+        }
+        if ( glyphs == null ) {
+            glyphs = IntBuffer.allocate ( characters.capacity() );
+        }
+        if ( associations == null ) {
+            associations = makeIdentityAssociations ( characters.limit(), glyphs.limit() );
+        }
+        this.characters = characters;
+        this.glyphs = glyphs;
+        this.associations = associations;
+        this.predications = predications;
+    }
+
+    /**
+     * Instantiate a glyph sequence, reusing (i.e., not copying) the referenced
+     * character and glyph buffers and associations. If characters is null, then
+     * an empty character buffer is created. If glyphs is null, then a glyph buffer
+     * is created whose capacity is that of the character buffer. If associations is
+     * null, then identity associations are created.
+     * @param characters a (possibly null) buffer of associated (originating) characters
+     * @param glyphs a (possibly null) buffer of glyphs
+     * @param associations a (possibly null) array of glyph to character associations
+     */
+    public GlyphSequence ( IntBuffer characters, IntBuffer glyphs, List associations ) {
+        this ( characters, glyphs, associations, false );
+    }
+
+    /**
+     * Instantiate a glyph sequence using an existing glyph sequence, where the new glyph sequence shares
+     * the character array of the existing sequence (but not the buffer object), and creates new copies
+     * of glyphs buffer and association list.
+     * @param gs an existing glyph sequence
+     */
+    public GlyphSequence ( GlyphSequence gs ) {
+        this ( gs.characters.duplicate(), copyBuffer ( gs.glyphs ), copyAssociations ( gs.associations ), gs.predications );
+    }
+
+    /**
+     * Instantiate a glyph sequence using an existing glyph sequence, where the new glyph sequence shares
+     * the character array of the existing sequence (but not the buffer object), but uses the specified
+     * backtrack, input, and lookahead glyph arrays to populate the glyphs, and uses the specified
+     * of glyphs buffer and association list.
+     * backtrack, input, and lookahead association arrays to populate the associations.
+     * @param gs an existing glyph sequence
+     * @param bga backtrack glyph array
+     * @param iga input glyph array
+     * @param lga lookahead glyph array
+     * @param bal backtrack association list
+     * @param ial input association list
+     * @param lal lookahead association list
+     */
+    public GlyphSequence ( GlyphSequence gs, int[] bga, int[] iga, int[] lga, CharAssociation[] bal, CharAssociation[] ial, CharAssociation[] lal ) {
+        this ( gs.characters.duplicate(), concatGlyphs ( bga, iga, lga ), concatAssociations ( bal, ial, lal ), gs.predications );
+    }
+
+    /**
+     * Obtain reference to underlying character buffer.
+     * @return character buffer reference
+     */
+    public IntBuffer getCharacters() {
+        return characters;
+    }
+
+    /**
+     * Obtain array of characters. If <code>copy</code> is true, then
+     * a newly instantiated array is returned, otherwise a reference to
+     * the underlying buffer's array is returned. N.B. in case a reference
+     * to the undelying buffer's array is returned, the length
+     * of the array is not necessarily the number of characters in array.
+     * To determine the number of characters, use {@link #getCharacterCount}.
+     * @param copy true if to return a newly instantiated array of characters
+     * @return array of characters
+     */
+    public int[] getCharacterArray ( boolean copy ) {
+        if ( copy ) {
+            return toArray ( characters );
+        } else {
+            return characters.array();
+        }
+    }
+
+    /**
+     * Obtain the number of characters in character array, where
+     * each character constitutes a unicode scalar value.
+     * @return number of characters available in character array
+     */
+    public int getCharacterCount() {
+        return characters.limit();
+    }
+
+    /**
+     * Obtain glyph id at specified index.
+     * @param index to obtain glyph
+     * @return the glyph identifier of glyph at specified index
+     * @throws IndexOutOfBoundsException if index is less than zero
+     * or exceeds last valid position
+     */
+    public int getGlyph ( int index ) throws IndexOutOfBoundsException {
+        return glyphs.get ( index );
+    }
+
+    /**
+     * Set glyph id at specified index.
+     * @param index to set glyph
+     * @param gi glyph index
+     * @throws IndexOutOfBoundsException if index is greater or equal to
+     * the limit of the underlying glyph buffer
+     */
+    public void setGlyph ( int index, int gi ) throws IndexOutOfBoundsException {
+        if ( gi > 65535 ) {
+            gi = 65535;
+        }
+        glyphs.put ( index, gi );
+    }
+
+    /**
+     * Obtain reference to underlying glyph buffer.
+     * @return glyph buffer reference
+     */
+    public IntBuffer getGlyphs() {
+        return glyphs;
+    }
+
+    /**
+     * Obtain count glyphs starting at offset. If <code>count</code> is
+     * negative, then it is treated as if the number of available glyphs
+     * were specified.
+     * @param offset into glyph sequence
+     * @param count of glyphs to obtain starting at offset, or negative,
+     * indicating all avaialble glyphs starting at offset
+     * @return glyph array
+     */
+    public int[] getGlyphs ( int offset, int count ) {
+        int ng = getGlyphCount();
+        if ( offset < 0 ) {
+            offset = 0;
+        } else if ( offset > ng ) {
+            offset = ng;
+        }
+        if ( count < 0 ) {
+            count = ng - offset;
+        }
+        int[] ga = new int [ count ];
+        for ( int i = offset, n = offset + count, k = 0; i < n; i++ ) {
+            if ( k < ga.length ) {
+                ga [ k++ ] = glyphs.get ( i );
+            }
+        }
+        return ga;
+    }
+
+    /**
+     * Obtain array of glyphs. If <code>copy</code> is true, then
+     * a newly instantiated array is returned, otherwise a reference to
+     * the underlying buffer's array is returned. N.B. in case a reference
+     * to the undelying buffer's array is returned, the length
+     * of the array is not necessarily the number of glyphs in array.
+     * To determine the number of glyphs, use {@link #getGlyphCount}.
+     * @param copy true if to return a newly instantiated array of glyphs
+     * @return array of glyphs
+     */
+    public int[] getGlyphArray ( boolean copy ) {
+        if ( copy ) {
+            return toArray ( glyphs );
+        } else {
+            return glyphs.array();
+        }
+    }
+
+    /**
+     * Obtain the number of glyphs in glyphs array, where
+     * each glyph constitutes a font specific glyph index.
+     * @return number of glyphs available in character array
+     */
+    public int getGlyphCount() {
+        return glyphs.limit();
+    }
+
+    /**
+     * Obtain association at specified index.
+     * @param index into associations array
+     * @return glyph to character associations at specified index
+     * @throws IndexOutOfBoundsException if index is less than zero
+     * or exceeds last valid position
+     */
+    public CharAssociation getAssociation ( int index ) throws IndexOutOfBoundsException {
+        return (CharAssociation) associations.get ( index );
+    }
+
+    /**
+     * Obtain reference to underlying associations list.
+     * @return associations list
+     */
+    public List getAssociations() {
+        return associations;
+    }
+
+    /**
+     * Obtain count associations starting at offset.
+     * @param offset into glyph sequence
+     * @param count of associations to obtain starting at offset, or negative,
+     * indicating all avaialble associations starting at offset
+     * @return associations
+     */
+    public CharAssociation[] getAssociations ( int offset, int count ) {
+        int ng = getGlyphCount();
+        if ( offset < 0 ) {
+            offset = 0;
+        } else if ( offset > ng ) {
+            offset = ng;
+        }
+        if ( count < 0 ) {
+            count = ng - offset;
+        }
+        CharAssociation[] aa = new CharAssociation [ count ];
+        for ( int i = offset, n = offset + count, k = 0; i < n; i++ ) {
+            if ( k < aa.length ) {
+                aa [ k++ ] = (CharAssociation) associations.get ( i );
+            }
+        }
+        return aa;
+    }
+
+    /**
+     * Enable or disable predications.
+     * @param enable true if predications are to be enabled; otherwise false to disable
+     */
+    public void setPredications ( boolean enable ) {
+        this.predications = enable;
+    }
+
+    /**
+     * Obtain predications state.
+     * @return true if predications are enabled
+     */
+    public boolean getPredications() {
+        return this.predications;
+    }
+
+    /**
+     * Set predication <KEY,VALUE> at glyph sequence OFFSET.
+     * @param offset offset (index) into glyph sequence
+     * @param key predication key
+     * @param value predication value
+     */
+    public void setPredication ( int offset, String key, Object value ) {
+        if ( predications ) {
+            CharAssociation[] aa = getAssociations ( offset, 1 );
+            CharAssociation   ca = aa[0];
+            ca.setPredication ( key, value );
+        }
+    }
+
+    /**
+     * Get predication KEY at glyph sequence OFFSET.
+     * @param offset offset (index) into glyph sequence
+     * @param key predication key
+     * @return predication KEY at OFFSET or null if none exists
+     */
+    public Object getPredication ( int offset, String key ) {
+        if ( predications ) {
+            CharAssociation[] aa = getAssociations ( offset, 1 );
+            CharAssociation   ca = aa[0];
+            return ca.getPredication ( key );
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Compare glyphs.
+     * @param gb buffer containing glyph indices with which this glyph sequence's glyphs are to be compared
+     * @return zero if glyphs are the same, otherwise returns 1 or -1 according to whether this glyph sequence's
+     * glyphs are lexicographically greater or lesser than the glyphs in the specified string buffer
+     */
+    public int compareGlyphs ( IntBuffer gb ) {
+        int ng = getGlyphCount();
+        for ( int i = 0, n = gb.limit(); i < n; i++ ) {
+            if ( i < ng ) {
+                int g1 = glyphs.get ( i );
+                int g2 = gb.get ( i );
+                if ( g1 > g2 ) {
+                    return 1;
+                } else if ( g1 < g2 ) {
+                    return -1;
+                }
+            } else {
+                return -1;              // this gb is a proper prefix of specified gb
+            }
+        }
+        return 0;                       // same lengths with no difference
+    }
+
+    /** {@inheritDoc} */
+    public Object clone() {
+        try {
+            GlyphSequence gs = (GlyphSequence) super.clone();
+            gs.characters = copyBuffer ( characters );
+            gs.glyphs = copyBuffer ( glyphs );
+            gs.associations = copyAssociations ( associations );
+            return gs;
+        } catch ( CloneNotSupportedException e ) {
+            return null;
+        }
+    }
+
+    /** {@inheritDoc} */
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append ( '{' );
+        sb.append ( "chars = [" );
+        sb.append ( characters );
+        sb.append ( "], glyphs = [" );
+        sb.append ( glyphs );
+        sb.append ( "], associations = [" );
+        sb.append ( associations );
+        sb.append ( "]" );
+        sb.append ( '}' );
+        return sb.toString();
+    }
+
+    /**
+     * Determine if two arrays of glyphs are identical.
+     * @param ga1 first glyph array
+     * @param ga2 second glyph array
+     * @return true if arrays are botth null or both non-null and have identical elements
+     */
+    public static boolean sameGlyphs ( int[] ga1, int[] ga2 ) {
+        if ( ga1 == ga2 ) {
+            return true;
+        } else if ( ( ga1 == null ) || ( ga2 == null ) ) {
+            return false;
+        } else if ( ga1.length != ga2.length ) {
+            return false;
+        } else {
+            for ( int i = 0, n = ga1.length; i < n; i++ ) {
+                if ( ga1[i] != ga2[i] ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    /**
+     * Concatenante glyph arrays.
+     * @param bga backtrack glyph array
+     * @param iga input glyph array
+     * @param lga lookahead glyph array
+     * @return new integer buffer containing concatenated glyphs
+     */
+    public static IntBuffer concatGlyphs ( int[] bga, int[] iga, int[] lga ) {
+        int ng = 0;
+        if ( bga != null ) {
+            ng += bga.length;
+        }
+        if ( iga != null ) {
+            ng += iga.length;
+        }
+        if ( lga != null ) {
+            ng += lga.length;
+        }
+        IntBuffer gb = IntBuffer.allocate ( ng );
+        if ( bga != null ) {
+            gb.put ( bga );
+        }
+        if ( iga != null ) {
+            gb.put ( iga );
+        }
+        if ( lga != null ) {
+            gb.put ( lga );
+        }
+        gb.flip();
+        return gb;
+    }
+
+    /**
+     * Concatenante association arrays.
+     * @param baa backtrack association array
+     * @param iaa input association array
+     * @param laa lookahead association array
+     * @return new list containing concatenated associations
+     */
+    public static List concatAssociations ( CharAssociation[] baa, CharAssociation[] iaa, CharAssociation[] laa ) {
+        int na = 0;
+        if ( baa != null ) {
+            na += baa.length;
+        }
+        if ( iaa != null ) {
+            na += iaa.length;
+        }
+        if ( laa != null ) {
+            na += laa.length;
+        }
+        if ( na > 0 ) {
+            List gl = new ArrayList ( na );
+            if ( baa != null ) {
+                for ( int i = 0; i < baa.length; i++ ) {
+                    gl.add ( baa[i] );
+                }
+            }
+            if ( iaa != null ) {
+                for ( int i = 0; i < iaa.length; i++ ) {
+                    gl.add ( iaa[i] );
+                }
+            }
+            if ( laa != null ) {
+                for ( int i = 0; i < laa.length; i++ ) {
+                    gl.add ( laa[i] );
+                }
+            }
+            return gl;
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Join (concatenate) glyph sequences.
+     * @param gs original glyph sequence from which to reuse character array reference
+     * @param sa array of glyph sequences, whose glyph arrays and association lists are to be concatenated
+     * @return new glyph sequence referring to character array of GS and concatenated glyphs and associations of SA
+     */
+    public static GlyphSequence join ( GlyphSequence gs, GlyphSequence[] sa ) {
+        assert sa != null;
+        int tg = 0;
+        int ta = 0;
+        for ( int i = 0, n = sa.length; i < n; i++ ) {
+            GlyphSequence s = sa [ i ];
+            IntBuffer ga = s.getGlyphs();
+            assert ga != null;
+            int ng = ga.limit();
+            List al = s.getAssociations();
+            assert al != null;
+            int na = al.size();
+            assert na == ng;
+            tg += ng;
+            ta += na;
+        }
+        IntBuffer uga = IntBuffer.allocate ( tg );
+        ArrayList ual = new ArrayList ( ta );
+        for ( int i = 0, n = sa.length; i < n; i++ ) {
+            GlyphSequence s = sa [ i ];
+            uga.put ( s.getGlyphs() );
+            ual.addAll ( s.getAssociations() );
+        }
+        return new GlyphSequence ( gs.getCharacters(), uga, ual, gs.getPredications() );
+    }
+
+    /**
+     * Reorder sequence such that [SOURCE,SOURCE+COUNT) is moved just prior to TARGET.
+     * @param gs input sequence
+     * @param source index of sub-sequence to reorder
+     * @param count length of sub-sequence to reorder
+     * @param target index to which source sub-sequence is to be moved
+     * @return reordered sequence (or original if no reordering performed)
+     */
+    public static GlyphSequence reorder ( GlyphSequence gs, int source, int count, int target ) {
+        if ( source != target ) {
+            int   ng  = gs.getGlyphCount();
+            int[] ga  = gs.getGlyphArray ( false );
+            int[] nga = new int [ ng ];
+            GlyphSequence.CharAssociation[] aa  = gs.getAssociations ( 0, ng );
+            GlyphSequence.CharAssociation[] naa = new GlyphSequence.CharAssociation [ ng ];
+            if ( source < target ) {
+                int t = 0;
+                for ( int s = 0, e = source; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+                for ( int s = source + count, e = target; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+                for ( int s = source, e = source + count; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+                for ( int s = target, e = ng; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+            } else {
+                int t = 0;
+                for ( int s = 0, e = target; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+                for ( int s = source, e = source + count; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+                for ( int s = target, e = source; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+                for ( int s = source + count, e = ng; s < e; s++, t++ ) {
+                    nga[t] = ga[s];
+                    naa[t] = aa[s];
+                }
+            }
+            return new GlyphSequence ( gs, null, nga, null, null, naa, null );
+        } else {
+            return gs;
+        }
+    }
+
+    private static int[] toArray ( IntBuffer ib ) {
+        if ( ib != null ) {
+            int n = ib.limit();
+            int[] ia = new int[n];
+            ib.get ( ia, 0, n );
+            return ia;
+        } else {
+            return new int[0];
+        }
+    }
+
+    private static List makeIdentityAssociations ( int numChars, int numGlyphs ) {
+        int nc = numChars;
+        int ng = numGlyphs;
+        List av = new ArrayList ( ng );
+        for ( int i = 0, n = ng; i < n; i++ ) {
+            int k = ( i > nc ) ? nc : i;
+            av.add ( new CharAssociation ( i, ( k == nc ) ? 0 : 1 ) );
+        }
+        return av;
+    }
+
+    private static IntBuffer copyBuffer ( IntBuffer ib ) {
+        if ( ib != null ) {
+            int[] ia = new int [ ib.capacity() ];
+            int   p  = ib.position();
+            int   l  = ib.limit();
+            System.arraycopy ( ib.array(), 0, ia, 0, ia.length );
+            return IntBuffer.wrap ( ia, p, l - p );
+        } else {
+            return null;
+        }
+    }
+
+    private static List copyAssociations ( List ca ) {
+        if ( ca != null ) {
+            return new ArrayList ( ca );
+        } else {
+            return ca;
+        }
+    }
+
+    /**
+     * A structure class encapsulating an interval of characters
+     * expressed as an offset and count of Unicode scalar values (in
+     * an IntBuffer). A <code>CharAssociation</code> is used to
+     * maintain a backpointer from a glyph to one or more character
+     * intervals from which the glyph was derived.
+     *
+     * Each glyph in a glyph sequence is associated with a single
+     * <code>CharAssociation</code> instance.
+     *
+     * A <code>CharAssociation</code> instance is additionally (and
+     * optionally) used to record predication information about the
+     * glyph, such as whether the glyph was produced by the
+     * application of a specific substitution table or whether its
+     * position was adjusted by a specific poisitioning table.
+     */
+    public static class CharAssociation implements Cloneable {
+
+        // instance state
+        private final int offset;
+        private final int count;
+        private final int[] subIntervals;
+        private Map<String,Object> predications;
+
+        // class state
+        private static volatile Map<String,PredicationMerger> predicationMergers;
+
+        interface PredicationMerger {
+            Object merge ( String key, Object v1, Object v2 );
+        }
+
+        /**
+         * Instantiate a character association.
+         * @param offset into array of Unicode scalar values (in associated IntBuffer)
+         * @param count of Unicode scalar values (in associated IntBuffer)
+         * @param subIntervals if disjoint, then array of sub-intervals, otherwise null; even
+         * members of array are sub-interval starts, and odd members are sub-interval
+         * ends (exclusive)
+         */
+        public CharAssociation ( int offset, int count, int[] subIntervals ) {
+            this.offset = offset;
+            this.count = count;
+            this.subIntervals = ( ( subIntervals != null ) && ( subIntervals.length > 2 ) ) ? subIntervals : null;
+        }
+
+        /**
+         * Instantiate a non-disjoint character association.
+         * @param offset into array of UTF-16 code elements (in associated CharSequence)
+         * @param count of UTF-16 character code elements (in associated CharSequence)
+         */
+        public CharAssociation ( int offset, int count ) {
+            this ( offset, count, null );
+        }
+
+        /**
+         * Instantiate a non-disjoint character association.
+         * @param subIntervals if disjoint, then array of sub-intervals, otherwise null; even
+         * members of array are sub-interval starts, and odd members are sub-interval
+         * ends (exclusive)
+         */
+        public CharAssociation ( int[] subIntervals ) {
+            this ( getSubIntervalsStart ( subIntervals ), getSubIntervalsLength ( subIntervals ), subIntervals );
+        }
+
+        /** @return offset (start of association interval) */
+        public int getOffset() {
+            return offset;
+        }
+
+        /** @return count (number of characer codes in association) */
+        public int getCount() {
+            return count;
+        }
+
+        /** @return start of association interval */
+        public int getStart() {
+            return getOffset();
+        }
+
+        /** @return end of association interval */
+        public int getEnd() {
+            return getOffset() + getCount();
+        }
+
+        /** @return true if association is disjoint */
+        public boolean isDisjoint() {
+            return subIntervals != null;
+        }
+
+        /** @return subintervals of disjoint association */
+        public int[] getSubIntervals() {
+            return subIntervals;
+        }
+
+        /** @return count of subintervals of disjoint association */
+        public int getSubIntervalCount() {
+            return ( subIntervals != null ) ? ( subIntervals.length / 2 ) : 0;
+        }
+
+        /**
+         * @param offset of interval in sequence
+         * @param count length of interval
+         * @return true if this association is contained within [offset,offset+count)
+         */
+        public boolean contained ( int offset, int count ) {
+            int s = offset;
+            int e = offset + count;
+            if ( ! isDisjoint() ) {
+                int s0 = getStart();
+                int e0 = getEnd();
+                return ( s0 >= s ) && ( e0 <= e );
+            } else {
+                int ns = getSubIntervalCount();
+                for ( int i = 0; i < ns; i++ ) {
+                    int s0 = subIntervals [ 2 * i + 0 ];
+                    int e0 = subIntervals [ 2 * i + 1 ];
+                    if ( ( s0 >= s ) && ( e0 <= e ) ) {
+                        return true;
+                    }
+                }
+                return false;
+            }
+        }
+
+        /**
+         * Set predication <KEY,VALUE>.
+         * @param key predication key
+         * @param value predication value
+         */
+        public void setPredication ( String key, Object value ) {
+            if ( predications == null ) {
+                predications = new HashMap<String,Object>();
+            }
+            if ( predications != null ) {
+                predications.put ( key, value );
+            }
+        }
+
+        /**
+         * Get predication KEY.
+         * @param key predication key
+         * @return predication KEY at OFFSET or null if none exists
+         */
+        public Object getPredication ( String key ) {
+            if ( predications != null ) {
+                return predications.get ( key );
+            } else {
+                return null;
+            }
+        }
+
+        /**
+         * Merge predication <KEY,VALUE>.
+         * @param key predication key
+         * @param value predication value
+         */
+        public void mergePredication ( String key, Object value ) {
+            if ( predications == null ) {
+                predications = new HashMap<String,Object>();
+            }
+            if ( predications != null ) {
+                if ( predications.containsKey ( key ) ) {
+                    Object v1 = predications.get ( key );
+                    Object v2 = value;
+                    predications.put ( key, mergePredicationValues ( key, v1, v2 ) );
+                } else {
+                    predications.put ( key, value );
+                }
+            }
+        }
+
+        /**
+         * Merge predication values V1 and V2 on KEY. Uses registered <code>PredicationMerger</code>
+         * if one exists, otherwise uses V2 if non-null, otherwise uses V1.
+         * @param key predication key
+         * @param v1 first (original) predication value
+         * @param v2 second (to be merged) predication value
+         * @return merged value
+         */
+        public static Object mergePredicationValues ( String key, Object v1, Object v2 ) {
+            PredicationMerger pm = getPredicationMerger ( key );
+            if ( pm != null ) {
+                return pm.merge ( key, v1, v2 );
+            } else if ( v2 != null ) {
+                return v2;
+            } else {
+                return v1;
+            }
+        }
+
+        /**
+         * Merge predications from another CA.
+         * @param ca from which to merge
+         */
+        public void mergePredications ( CharAssociation ca ) {
+            if ( ca.predications != null ) {
+                for ( Map.Entry<String,Object> e : ca.predications.entrySet() ) {
+                    mergePredication ( e.getKey(), e.getValue() );
+                }
+            }
+        }
+
+        /** {@inheritDoc} */
+        public Object clone() {
+            try {
+                CharAssociation ca = (CharAssociation) super.clone();
+                if ( predications != null ) {
+                    ca.predications = new HashMap<String,Object> ( predications );
+                }
+                return ca;
+            } catch ( CloneNotSupportedException e ) {
+                return null;
+            }
+        }
+
+        /**
+         * Register predication merger PM for KEY.
+         * @param key for predication merger
+         * @param pm predication merger
+         */
+        public static void setPredicationMerger ( String key, PredicationMerger pm ) {
+            if ( predicationMergers == null ) {
+                predicationMergers = new HashMap<String,PredicationMerger>();
+            }
+            if ( predicationMergers != null ) {
+                predicationMergers.put ( key, pm );
+            }            
+        }
+
+        /**
+         * Obtain predication merger for KEY.
+         * @param key for predication merger
+         * @return predication merger or null if none exists
+         */
+        public static PredicationMerger getPredicationMerger ( String key ) {
+            if ( predicationMergers != null ) {
+                return predicationMergers.get ( key );
+            } else {
+                return null;
+            }
+        }
+
+        /**
+         * Replicate association to form <code>repeat</code> new associations.
+         * @param a association to replicate
+         * @param repeat count
+         * @return array of replicated associations
+         */
+        public static CharAssociation[] replicate ( CharAssociation a, int repeat ) {
+            CharAssociation[] aa = new CharAssociation [ repeat ];
+            for ( int i = 0, n = aa.length; i < n; i++ ) {
+                aa [ i ] = (CharAssociation) a.clone();
+            }
+            return aa;
+        }
+
+        /**
+         * Join (merge) multiple associations into a single, potentially disjoint
+         * association.
+         * @param aa array of associations to join
+         * @return (possibly disjoint) association containing joined associations
+         */
+        public static CharAssociation join ( CharAssociation[] aa ) {
+            CharAssociation ca;
+            // extract sorted intervals
+            int[] ia = extractIntervals ( aa );
+            if ( ( ia == null ) || ( ia.length == 0 ) ) {
+                ca = new CharAssociation ( 0, 0 );
+            } else if ( ia.length == 2 ) {
+                int s = ia[0];
+                int e = ia[1];
+                ca = new CharAssociation ( s, e - s );
+            } else {
+                ca = new CharAssociation ( mergeIntervals ( ia ) );
+            }
+            return mergePredicates ( ca, aa );
+        }
+
+        private static CharAssociation mergePredicates ( CharAssociation ca, CharAssociation[] aa ) {
+            for ( CharAssociation a : aa ) {
+                ca.mergePredications ( a );
+            }
+            return ca;
+        }
+
+        private static int getSubIntervalsStart ( int[] ia ) {
+            int us = Integer.MAX_VALUE;
+            int ue = Integer.MIN_VALUE;
+            if ( ia != null ) {
+                for ( int i = 0, n = ia.length; i < n; i += 2 ) {
+                    int s = ia [ i + 0 ];
+                    int e = ia [ i + 1 ];
+                    if ( s < us ) {
+                        us = s;
+                    }
+                    if ( e > ue ) {
+                        ue = e;
+                    }
+                }
+                if ( ue < 0 ) {
+                    ue = 0;
+                }
+                if ( us > ue ) {
+                    us = ue;
+                }
+            }
+            return us;
+        }
+
+        private static int getSubIntervalsLength ( int[] ia ) {
+            int us = Integer.MAX_VALUE;
+            int ue = Integer.MIN_VALUE;
+            if ( ia != null ) {
+                for ( int i = 0, n = ia.length; i < n; i += 2 ) {
+                    int s = ia [ i + 0 ];
+                    int e = ia [ i + 1 ];
+                    if ( s < us ) {
+                        us = s;
+                    }
+                    if ( e > ue ) {
+                        ue = e;
+                    }
+                }
+                if ( ue < 0 ) {
+                    ue = 0;
+                }
+                if ( us > ue ) {
+                    us = ue;
+                }
+            }
+            return ue - us;
+        }
+
+        /**
+         * Extract sorted sub-intervals.
+         */
+        private static int[] extractIntervals ( CharAssociation[] aa ) {
+            int ni = 0;
+            for ( int i = 0, n = aa.length; i < n; i++ ) {
+                CharAssociation a = aa [ i ];
+                if ( a.isDisjoint() ) {
+                    ni += a.getSubIntervalCount();
+                } else {
+                    ni += 1;
+                }
+            }
+            int[] sa = new int [ ni ];
+            int[] ea = new int [ ni ];
+            for ( int i = 0, k = 0; i < aa.length; i++ ) {
+                CharAssociation a = aa [ i ];
+                if ( a.isDisjoint() ) {
+                    int[] da = a.getSubIntervals();
+                    for ( int j = 0; j < da.length; j += 2 ) {
+                        sa [ k ] = da [ j + 0 ];
+                        ea [ k ] = da [ j + 1 ];
+                        k++;
+                    }
+                } else {
+                    sa [ k ] = a.getStart();
+                    ea [ k ] = a.getEnd();
+                    k++;
+                }
+            }
+            return sortIntervals ( sa, ea );
+        }
+
+        private static final int[] sortIncrements16                                                             // CSOK: ConstantNameCheck
+            = { 1391376, 463792, 198768, 86961, 33936, 13776, 4592, 1968, 861, 336, 112, 48, 21, 7, 3, 1 };
+
+        private static final int[] sortIncrements03                                                             // CSOK: ConstantNameCheck
+            = { 7, 3, 1 };
+
+        /**
+         * Sort sub-intervals using modified Shell Sort.
+         */
+        private static int[] sortIntervals ( int[] sa, int[] ea ) {
+            assert sa != null;
+            assert ea != null;
+            assert sa.length == ea.length;
+            int ni = sa.length;
+            int[] incr = ( ni < 21 ) ? sortIncrements03 : sortIncrements16;
+            for ( int k = 0; k < incr.length; k++ ) {
+                for ( int h = incr [ k ], i = h, n = ni, j; i < n; i++ ) {
+                    int s1 = sa [ i ];
+                    int e1 = ea [ i ];
+                    for ( j = i; j >= h; j -= h) {
+                        int s2 = sa [ j - h ];
+                        int e2 = ea [ j - h ];
+                        if ( s2 > s1 ) {
+                            sa [ j ] = s2;
+                            ea [ j ] = e2;
+                        } else if ( ( s2 == s1 ) && ( e2 > e1 ) ) {
+                            sa [ j ] = s2;
+                            ea [ j ] = e2;
+                        } else {
+                            break;
+                        }
+                    }
+                    sa [ j ] = s1;
+                    ea [ j ] = e1;
+                }
+            }
+            int[] ia = new int [ ni * 2 ];
+            for ( int i = 0; i < ni; i++ ) {
+                ia [ ( i * 2 ) + 0 ] = sa [ i ];
+                ia [ ( i * 2 ) + 1 ] = ea [ i ];
+            }
+            return ia;
+        }
+
+        /**
+         * Merge overlapping and abutting sub-intervals.
+         */
+        private static int[] mergeIntervals ( int[] ia ) {
+            int ni = ia.length;
+            int i, n, nm, is, ie;
+            // count merged sub-intervals
+            for ( i = 0, n = ni, nm = 0, is = ie = -1; i < n; i += 2 ) {
+                int s = ia [ i + 0 ];
+                int e = ia [ i + 1 ];
+                if ( ( ie < 0 ) || ( s > ie ) ) {
+                    is = s;
+                    ie = e;
+                    nm++;
+                } else if ( s >= is ) {
+                    if ( e > ie ) {
+                        ie = e;
+                    }
+                }
+            }
+            int[] mi = new int [ nm * 2 ];
+            // populate merged sub-intervals
+            for ( i = 0, n = ni, nm = 0, is = ie = -1; i < n; i += 2 ) {
+                int s = ia [ i + 0 ];
+                int e = ia [ i + 1 ];
+                int k = nm * 2;
+                if ( ( ie < 0 ) || ( s > ie ) ) {
+                    is = s;
+                    ie = e;
+                    mi [ k + 0 ] = is;
+                    mi [ k + 1 ] = ie;
+                    nm++;
+                } else if ( s >= is ) {
+                    if ( e > ie ) {
+                        ie = e;
+                    }
+                    mi [ k - 1 ] = ie;
+                }
+            }
+            return mi;
+        }
+
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphSubstitution.java b/src/java/org/apache/fop/fonts/GlyphSubstitution.java
new file mode 100644
index 0000000..8764627
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphSubstitution.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * The <code>GlyphSubstitution</code> interface is implemented by a glyph substitution subtable
+ * that supports the determination of glyph substitution information based on script and
+ * language of the corresponding character content.
+ * @author Glenn Adams
+ */
+public interface GlyphSubstitution {
+
+    /**
+     * Perform glyph substitution at the current index, mutating the substitution state object as required.
+     * Only the context associated with the current index is processed.
+     * @param ss glyph substitution state object
+     * @return true if the glyph subtable was applied, meaning that the current context matches the
+     * associated input context glyph coverage table
+     */
+    boolean substitute ( GlyphSubstitutionState ss );
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphSubstitutionState.java b/src/java/org/apache/fop/fonts/GlyphSubstitutionState.java
new file mode 100644
index 0000000..25ea77d
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphSubstitutionState.java
@@ -0,0 +1,227 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.nio.IntBuffer;
+import java.util.ArrayList;
+import java.util.List;
+
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * The <code>GlyphSubstitutionState</code> implements an state object used during glyph substitution
+ * processing.
+ * @author Glenn Adams
+ */
+
+public class GlyphSubstitutionState extends GlyphProcessingState {
+
+    /** alternates index */
+    private int[] alternatesIndex;
+    /** current output glyph sequence */
+    private IntBuffer ogb;
+    /** current output glyph to character associations */
+    private List oal;
+    /** character association predications */
+    private boolean predications;
+
+    /**
+     * Construct glyph substitution state.
+     * @param gs input glyph sequence
+     * @param script script identifier
+     * @param language language identifier
+     * @param feature feature identifier
+     * @param sct script context tester (or null)
+     */
+    public GlyphSubstitutionState ( GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct ) {
+        super ( gs, script, language, feature, sct );
+        this.ogb = IntBuffer.allocate ( gs.getGlyphCount() );
+        this.oal = new ArrayList ( gs.getGlyphCount() );
+        this.predications = gs.getPredications();
+    }
+
+    /**
+     * Construct glyph substitution state using an existing state object using shallow copy
+     * except as follows: input glyph sequence is copied deep except for its characters array.
+     * @param ss existing positioning state to copy from
+     */
+    public GlyphSubstitutionState ( GlyphSubstitutionState ss ) {
+        super ( ss );
+        this.ogb = IntBuffer.allocate ( indexLast );
+        this.oal = new ArrayList ( indexLast );
+    }
+
+    /**
+     * Set alternates indices.
+     * @param alternates array of alternates indices ordered by coverage index
+     */
+    public void setAlternates ( int[] alternates ) {
+        this.alternatesIndex = alternates;
+    }
+
+    /**
+     * Obtain alternates index associated with specified coverage index. An alternates
+     * index is used to select among stylistic alternates of a glyph at a particular
+     * coverage index. This information must be provided by the document itself (in the
+     * form of an extension attribute value), since a font has no way to determine which
+     * alternate the user desires.
+     * @param ci coverage index
+     * @return an alternates index
+     */
+    public int getAlternatesIndex ( int ci ) {
+        if ( alternatesIndex == null ) {
+            return 0;
+        } else if ( ( ci < 0 ) || ( ci > alternatesIndex.length ) ) {
+            return 0;
+        } else {
+            return alternatesIndex [ ci ];
+        }
+    }
+
+    /**
+     * Put (write) glyph into glyph output buffer.
+     * @param glyph to write
+     * @param a character association that applies to glyph
+     * @param predication a predication value to add to association A if predications enabled
+     */
+    public void putGlyph ( int glyph, GlyphSequence.CharAssociation a, Object predication ) {
+        if ( ! ogb.hasRemaining() ) {
+            ogb = growBuffer ( ogb ); 
+        }
+        ogb.put ( glyph );
+        if ( predications && ( predication != null ) ) {
+            a.setPredication ( feature, predication );
+        }
+        oal.add ( a );
+    }
+
+    /**
+     * Put (write) array of glyphs into glyph output buffer.
+     * @param glyphs to write
+     * @param associations array of character associations that apply to glyphs
+     * @param predication optional predicaion object to be associated with glyphs' associations
+     */
+    public void putGlyphs ( int[] glyphs, GlyphSequence.CharAssociation[] associations, Object predication ) {
+        assert glyphs != null;
+        assert associations != null;
+        assert associations.length >= glyphs.length;
+        for ( int i = 0, n = glyphs.length; i < n; i++ ) {
+            putGlyph ( glyphs [ i ], associations [ i ], predication );
+        }
+    }
+
+    /**
+     * Obtain output glyph sequence.
+     * @return newly constructed glyph sequence comprised of original
+     * characters, output glyphs, and output associations
+     */
+    public GlyphSequence getOutput() {
+        int position = ogb.position();
+        if ( position > 0 ) {
+            ogb.limit ( position );
+            ogb.rewind();
+            return new GlyphSequence ( igs.getCharacters(), ogb, oal );
+        } else {
+            return igs;
+        }
+    }
+
+    /**
+     * Apply substitution subtable to current state at current position (only),
+     * resulting in the consumption of zero or more input glyphs, and possibly
+     * replacing the current input glyphs starting at the current position, in
+     * which case it is possible that indexLast is altered to be either less than
+     * or greater than its value prior to this application.
+     * @param st the glyph substitution subtable to apply
+     * @return true if subtable applied, or false if it did not (e.g., its
+     * input coverage table did not match current input context)
+     */
+    public boolean apply ( GlyphSubstitutionSubtable st ) {
+        assert st != null;
+        updateSubtableState ( st );
+        boolean applied = st.substitute ( this );
+        resetSubtableState();
+        return applied;
+    }
+
+    /**
+     * Apply a sequence of matched rule lookups to the <code>nig</code> input glyphs
+     * starting at the current position. If lookups are non-null and non-empty, then
+     * all input glyphs specified by <code>nig</code> are consumed irregardless of
+     * whether any specified lookup applied.
+     * @param lookups array of matched lookups (or null)
+     * @param nig number of glyphs in input sequence, starting at current position, to which
+     * the lookups are to apply, and to be consumed once the application has finished
+     * @return true if lookups are non-null and non-empty; otherwise, false
+     */
+    public boolean apply ( GlyphTable.RuleLookup[] lookups, int nig ) {
+        // int nbg = index;
+        int nlg = indexLast - ( index + nig );
+        int nog = 0;
+        if ( ( lookups != null ) && ( lookups.length > 0 ) ) {
+            // apply each rule lookup to extracted input glyph array
+            for ( int i = 0, n = lookups.length; i < n; i++ ) {
+                GlyphTable.RuleLookup l = lookups [ i ];
+                if ( l != null ) {
+                    GlyphTable.LookupTable lt = l.getLookup();
+                    if ( lt != null ) {
+                        // perform substitution on a copy of previous state
+                        GlyphSubstitutionState ss = new GlyphSubstitutionState ( this );
+                        // apply lookup table substitutions
+                        GlyphSequence gs = lt.substitute ( ss, l.getSequenceIndex() );
+                        // replace current input sequence starting at current position with result
+                        if ( replaceInput ( 0, -1, gs ) ) {
+                            nog = gs.getGlyphCount() - nlg;
+                        }
+                    }
+                }
+            }
+            // output glyphs and associations
+            putGlyphs ( getGlyphs ( 0, nog, false, null, null, null ), getAssociations ( 0, nog, false, null, null, null ), null );
+            // consume replaced input glyphs
+            consume ( nog );
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Apply default application semantices; namely, consume one input glyph,
+     * writing that glyph (and its association) to the output glyphs (and associations).
+     */
+    public void applyDefault() {
+        super.applyDefault();
+        int gi = getGlyph();
+        if ( gi != 65535 ) {
+            putGlyph ( gi, getAssociation(), null );
+        }
+    }
+
+    private static IntBuffer growBuffer ( IntBuffer ib ) {
+        int capacity = ib.capacity();
+        int capacityNew = capacity * 2;
+        IntBuffer ibNew = IntBuffer.allocate ( capacityNew );
+        ib.rewind();
+        return ibNew.put ( ib );
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphSubstitutionSubtable.java b/src/java/org/apache/fop/fonts/GlyphSubstitutionSubtable.java
new file mode 100644
index 0000000..7d99232
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphSubstitutionSubtable.java
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * The <code>GlyphSubstitutionSubtable</code> implements an abstract base of a glyph substitution subtable,
+ * providing a default implementation of the <code>GlyphSubstitution</code> interface.
+ * @author Glenn Adams
+ */
+public abstract class GlyphSubstitutionSubtable extends GlyphSubtable implements GlyphSubstitution {
+
+    /**
+     * Instantiate a <code>GlyphSubstitutionSubtable</code>.
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param coverage subtable coverage table
+     */
+    protected GlyphSubstitutionSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage ) {
+        super ( id, sequence, flags, format, coverage );
+    }
+
+    /** {@inheritDoc} */
+    public int getTableType() {
+        return GlyphTable.GLYPH_TABLE_TYPE_SUBSTITUTION;
+    }
+
+    /** {@inheritDoc} */
+    public String getTypeName() {
+        return GlyphSubstitutionTable.getLookupTypeName ( getType() );
+    }
+
+    /** {@inheritDoc} */
+    public boolean isCompatible ( GlyphSubtable subtable ) {
+        return subtable instanceof GlyphSubstitutionSubtable;
+    }
+
+    /** {@inheritDoc} */
+    public boolean usesReverseScan() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    public boolean substitute ( GlyphSubstitutionState ss ) {
+        return false;
+    }
+
+    /**
+     * Apply substitutions using specified state and subtable array. For each position in input sequence,
+     * apply subtables in order until some subtable applies or none remain. If no subtable applied or no
+     * input was consumed for a given position, then apply default action (copy input glyph and advance).
+     * If <code>sequenceIndex</code> is non-negative, then apply subtables only when current position
+     * matches <code>sequenceIndex</code> in relation to the starting position. Furthermore, upon
+     * successful application at <code>sequenceIndex</code>, then apply default action for all remaining
+     * glyphs in input sequence.
+     * @param ss substitution state
+     * @param sta array of subtables to apply
+     * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
+     * @return output glyph sequence
+     */
+    public static final GlyphSequence substitute ( GlyphSubstitutionState ss, GlyphSubstitutionSubtable[] sta, int sequenceIndex ) {
+        int sequenceStart = ss.getPosition();
+        boolean appliedOneShot = false;
+        while ( ss.hasNext() ) {
+            boolean applied = false;
+            if ( ! appliedOneShot && ss.maybeApplicable() ) {
+                for ( int i = 0, n = sta.length; ! applied && ( i < n ); i++ ) {
+                    if ( sequenceIndex < 0 ) {
+                        applied = ss.apply ( sta [ i ] );
+                    } else if ( ss.getPosition() == ( sequenceStart + sequenceIndex ) ) {
+                        applied = ss.apply ( sta [ i ] );
+                        if ( applied ) {
+                            appliedOneShot = true;
+                        }
+                    }
+                }
+            }
+            if ( ! applied || ! ss.didConsume() ) {
+                ss.applyDefault();
+            }
+            ss.next();
+        }
+        return ss.getOutput();
+    }
+
+    static final GlyphSequence substitute ( GlyphSequence gs, String script, String language, String feature, GlyphSubstitutionSubtable[] sta, ScriptContextTester sct ) {
+        return substitute ( new GlyphSubstitutionState ( gs, script, language, feature, sct ), sta, -1 );
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphSubstitutionTable.java b/src/java/org/apache/fop/fonts/GlyphSubstitutionTable.java
new file mode 100644
index 0000000..72ba6aa
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphSubstitutionTable.java
@@ -0,0 +1,1470 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.nio.CharBuffer;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * The <code>GlyphSubstitutionTable</code> class is a glyph table that implements
+ * <code>GlyphSubstitution</code> functionality.
+ * @author Glenn Adams
+ */
+public class GlyphSubstitutionTable extends GlyphTable {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(GlyphSubstitutionTable.class);                                     // CSOK: ConstantNameCheck
+
+    /** single substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_SINGLE = 1;
+    /** multiple substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_MULTIPLE = 2;
+    /** alternate substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_ALTERNATE = 3;
+    /** ligature substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_LIGATURE = 4;
+    /** contextual substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_CONTEXTUAL = 5;
+    /** chained contextual substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL = 6;
+    /** extension substitution substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION = 7;
+    /** reverse chained contextual single substitution subtable type */
+    public static final int GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE = 8;
+
+    /**
+     * Instantiate a <code>GlyphSubstitutionTable</code> object using the specified lookups
+     * and subtables.
+     * @param gdef glyph definition table that applies
+     * @param lookups a map of lookup specifications to subtable identifier strings
+     * @param subtables a list of identified subtables
+     */
+    public GlyphSubstitutionTable ( GlyphDefinitionTable gdef, Map lookups, List subtables ) {
+        super ( gdef, lookups );
+        if ( ( subtables == null ) || ( subtables.size() == 0 ) ) {
+            throw new AdvancedTypographicTableFormatException ( "subtables must be non-empty" );
+        } else {
+            for ( Iterator it = subtables.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof GlyphSubstitutionSubtable ) {
+                    addSubtable ( (GlyphSubtable) o );
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "subtable must be a glyph substitution subtable" );
+                }
+            }
+            freezeSubtables();
+        }
+    }
+
+    /**
+     * Perform substitution processing using all matching lookups.
+     * @param gs an input glyph sequence
+     * @param script a script identifier
+     * @param language a language identifier
+     * @return the substituted (output) glyph sequence
+     */
+    public GlyphSequence substitute ( GlyphSequence gs, String script, String language ) {
+        GlyphSequence ogs;
+        Map/*<LookupSpec,List<LookupTable>>*/ lookups = matchLookups ( script, language, "*" );
+        if ( ( lookups != null ) && ( lookups.size() > 0 ) ) {
+            ScriptProcessor sp = ScriptProcessor.getInstance ( script );
+            ogs = sp.substitute ( this, gs, script, language, lookups );
+        } else {
+            ogs = gs;
+        }
+        return ogs;
+    }
+
+    /**
+     * Map a lookup type name to its constant (integer) value.
+     * @param name lookup type name
+     * @return lookup type
+     */
+    public static int getLookupTypeFromName ( String name ) {
+        int t;
+        String s = name.toLowerCase();
+        if ( "single".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_SINGLE;
+        } else if ( "multiple".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_MULTIPLE;
+        } else if ( "alternate".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_ALTERNATE;
+        } else if ( "ligature".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_LIGATURE;
+        } else if ( "contextual".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_CONTEXTUAL;
+        } else if ( "chainedcontextual".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
+        } else if ( "extensionsubstitution".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION;
+        } else if ( "reversechainiingcontextualsingle".equals ( s ) ) {
+            t = GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE;
+        } else {
+            t = -1;
+        }
+        return t;
+    }
+
+    /**
+     * Map a lookup type constant (integer) value to its name.
+     * @param type lookup type
+     * @return lookup type name
+     */
+    public static String getLookupTypeName ( int type ) {
+        String tn = null;
+        switch ( type ) {
+        case GSUB_LOOKUP_TYPE_SINGLE:
+            tn = "single";
+            break;
+        case GSUB_LOOKUP_TYPE_MULTIPLE:
+            tn = "multiple";
+            break;
+        case GSUB_LOOKUP_TYPE_ALTERNATE:
+            tn = "alternate";
+            break;
+        case GSUB_LOOKUP_TYPE_LIGATURE:
+            tn = "ligature";
+            break;
+        case GSUB_LOOKUP_TYPE_CONTEXTUAL:
+            tn = "contextual";
+            break;
+        case GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
+            tn = "chainedcontextual";
+            break;
+        case GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION:
+            tn = "extensionsubstitution";
+            break;
+        case GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE:
+            tn = "reversechainiingcontextualsingle";
+            break;
+        default:
+            tn = "unknown";
+            break;
+        }
+        return tn;
+    }
+
+    /**
+     * Create a substitution subtable according to the specified arguments.
+     * @param type subtable type
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param coverage subtable coverage table
+     * @param entries subtable entries
+     * @return a glyph subtable instance
+     */
+    public static GlyphSubtable createSubtable ( int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+        GlyphSubtable st = null;
+        switch ( type ) {
+        case GSUB_LOOKUP_TYPE_SINGLE:
+            st = SingleSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GSUB_LOOKUP_TYPE_MULTIPLE:
+            st = MultipleSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GSUB_LOOKUP_TYPE_ALTERNATE:
+            st = AlternateSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GSUB_LOOKUP_TYPE_LIGATURE:
+            st = LigatureSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GSUB_LOOKUP_TYPE_CONTEXTUAL:
+            st = ContextualSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
+            st = ChainedContextualSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        case GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE:
+            st = ReverseChainedSingleSubtable.create ( id, sequence, flags, format, coverage, entries );
+            break;
+        default:
+            break;
+        }
+        return st;
+    }
+
+    /**
+     * Create a substitution subtable according to the specified arguments.
+     * @param type subtable type
+     * @param id subtable identifier
+     * @param sequence subtable sequence
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param coverage list of coverage table entries
+     * @param entries subtable entries
+     * @return a glyph subtable instance
+     */
+    public static GlyphSubtable createSubtable ( int type, String id, int sequence, int flags, int format, List coverage, List entries ) {
+        return createSubtable ( type, id, sequence, flags, format, GlyphCoverageTable.createCoverageTable ( coverage ), entries );
+    }
+
+    private abstract static class SingleSubtable extends GlyphSubstitutionSubtable {
+        SingleSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GSUB_LOOKUP_TYPE_SINGLE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof SingleSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean substitute ( GlyphSubstitutionState ss ) {
+            int gi = ss.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
+                return false;
+            } else {
+                int go = getGlyphForCoverageIndex ( ci, gi );
+                if ( ( go < 0 ) || ( go > 65535 ) ) {
+                    go = 65535;
+                }
+                ss.putGlyph ( go, ss.getAssociation(), Boolean.TRUE );
+                ss.consume(1);
+                return true;
+            }
+        }
+        /**
+         * Obtain glyph for coverage index.
+         * @param ci coverage index
+         * @param gi original glyph index
+         * @return substituted glyph value
+         * @throws IllegalArgumentException if coverage index is not valid
+         */
+        public abstract int getGlyphForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new SingleSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 2 ) {
+                return new SingleSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class SingleSubtableFormat1 extends SingleSubtable {
+        private int delta;
+        private int ciMax;
+        SingleSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            List entries = new ArrayList ( 1 );
+            entries.add ( Integer.valueOf ( delta ) );
+            return entries;
+        }
+        /** {@inheritDoc} */
+        public int getGlyphForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
+            if ( ci <= ciMax ) {
+                return gi + delta;
+            } else {
+                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + ciMax );
+            }
+        }
+        private void populate ( List entries ) {
+            if ( ( entries == null ) || ( entries.size() != 1 ) ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null and contain exactly one entry" );
+            } else {
+                Object o = entries.get(0);
+                int delta = 0;
+                if ( o instanceof Integer ) {
+                    delta = ( (Integer) o ) . intValue();
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries entry, must be Integer, but is: " + o );
+                }
+                this.delta = delta;
+                this.ciMax = getCoverageSize() - 1;
+            }
+        }
+    }
+
+    private static class SingleSubtableFormat2 extends SingleSubtable {
+        private int[] glyphs;
+        SingleSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            List entries = new ArrayList ( glyphs.length );
+            for ( int i = 0, n = glyphs.length; i < n; i++ ) {
+                entries.add ( Integer.valueOf ( glyphs[i] ) );
+            }
+            return entries;
+        }
+        /** {@inheritDoc} */
+        public int getGlyphForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
+            if ( glyphs == null ) {
+                return -1;
+            } else if ( ci >= glyphs.length ) {
+                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + glyphs.length );
+            } else {
+                return glyphs [ ci ];
+            }
+        }
+        private void populate ( List entries ) {
+            int i = 0, n = entries.size();
+            int[] glyphs = new int [ n ];
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof Integer ) {
+                    int gid = ( (Integer) o ) .intValue();
+                    if ( ( gid >= 0 ) && ( gid < 65536 ) ) {
+                        glyphs [ i++ ] = gid;
+                    } else {
+                        throw new AdvancedTypographicTableFormatException ( "illegal glyph index: " + gid );
+                    }
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries entry, must be Integer: " + o );
+                }
+            }
+            assert i == n;
+            assert this.glyphs == null;
+            this.glyphs = glyphs;
+        }
+    }
+
+    private abstract static class MultipleSubtable extends GlyphSubstitutionSubtable {
+        public MultipleSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GSUB_LOOKUP_TYPE_MULTIPLE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof MultipleSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean substitute ( GlyphSubstitutionState ss ) {
+            int gi = ss.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
+                return false;
+            } else {
+                int[] ga = getGlyphsForCoverageIndex ( ci, gi );
+                if ( ga != null ) {
+                    ss.putGlyphs ( ga, GlyphSequence.CharAssociation.replicate ( ss.getAssociation(), ga.length ), Boolean.TRUE );
+                    ss.consume(1);
+                }
+                return true;
+            }
+        }
+        /**
+         * Obtain glyph sequence for coverage index.
+         * @param ci coverage index
+         * @param gi original glyph index
+         * @return sequence of glyphs to substitute for input glyph
+         * @throws IllegalArgumentException if coverage index is not valid
+         */
+        public abstract int[] getGlyphsForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new MultipleSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class MultipleSubtableFormat1 extends MultipleSubtable {
+        private int[][] gsa;                            // glyph sequence array, ordered by coverage index
+        MultipleSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( gsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( gsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public int[] getGlyphsForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
+            if ( gsa == null ) {
+                return null;
+            } else if ( ci >= gsa.length ) {
+                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + gsa.length );
+            } else {
+                return gsa [ ci ];
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof int[][] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an int[][], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    gsa = (int[][]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class AlternateSubtable extends GlyphSubstitutionSubtable {
+        public AlternateSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GSUB_LOOKUP_TYPE_ALTERNATE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof AlternateSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean substitute ( GlyphSubstitutionState ss ) {
+            int gi = ss.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
+                return false;
+            } else {
+                int[] ga = getAlternatesForCoverageIndex ( ci, gi );
+                int ai = ss.getAlternatesIndex ( ci );
+                int go;
+                if ( ( ai < 0 ) || ( ai >= ga.length ) ) {
+                    go = gi;
+                } else {
+                    go = ga [ ai ];
+                }
+                if ( ( go < 0 ) || ( go > 65535 ) ) {
+                    go = 65535;
+                }
+                ss.putGlyph ( go, ss.getAssociation(), Boolean.TRUE );
+                ss.consume(1);
+                return true;
+            }
+        }
+        /**
+         * Obtain glyph alternates for coverage index.
+         * @param ci coverage index
+         * @param gi original glyph index
+         * @return sequence of glyphs to substitute for input glyph
+         * @throws IllegalArgumentException if coverage index is not valid
+         */
+        public abstract int[] getAlternatesForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new AlternateSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class AlternateSubtableFormat1 extends AlternateSubtable {
+        private int[][] gaa;                            // glyph alternates array, ordered by coverage index
+        AlternateSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            List entries = new ArrayList ( gaa.length );
+            for ( int i = 0, n = gaa.length; i < n; i++ ) {
+                entries.add ( gaa[i] );
+            }
+            return entries;
+        }
+        /** {@inheritDoc} */
+        public int[] getAlternatesForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
+            if ( gaa == null ) {
+                return null;
+            } else if ( ci >= gaa.length ) {
+                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + gaa.length );
+            } else {
+                return gaa [ ci ];
+            }
+        }
+        private void populate ( List entries ) {
+            int i = 0, n = entries.size();
+            int[][] gaa = new int [ n ][];
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof int[] ) {
+                    gaa [ i++ ] = (int[]) o;
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries entry, must be int[]: " + o );
+                }
+            }
+            assert i == n;
+            assert this.gaa == null;
+            this.gaa = gaa;
+        }
+    }
+
+    private abstract static class LigatureSubtable extends GlyphSubstitutionSubtable {
+        public LigatureSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GSUB_LOOKUP_TYPE_LIGATURE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof LigatureSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean substitute ( GlyphSubstitutionState ss ) {
+            int gi = ss.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
+                return false;
+            } else {
+                LigatureSet ls = getLigatureSetForCoverageIndex ( ci, gi );
+                if ( ls != null ) { 
+                    boolean reverse = false;
+                    GlyphTester ignores = ss.getIgnoreDefault();
+                    int[] counts = ss.getGlyphsAvailable ( 0, reverse, ignores );
+                    int nga = counts[0], ngi;
+                    if ( nga > 1 ) {
+                        int[] iga = ss.getGlyphs ( 0, nga, reverse, ignores, null, counts );
+                        Ligature l = findLigature ( ls, iga );
+                        if ( l != null ) {
+                            int go = l.getLigature();
+                            if ( ( go < 0 ) || ( go > 65535 ) ) {
+                                go = 65535;
+                            }
+                            int nmg = 1 + l.getNumComponents();
+                            // fetch matched number of component glyphs to determine matched and ignored count
+                            ss.getGlyphs ( 0, nmg, reverse, ignores, null, counts );
+                            nga = counts[0];
+                            ngi = counts[1];
+                            // fetch associations of matched component glyphs
+                            GlyphSequence.CharAssociation[] laa = ss.getAssociations ( 0, nga );
+                            // output ligature glyph and its association
+                            ss.putGlyph ( go, GlyphSequence.CharAssociation.join ( laa ), Boolean.TRUE );
+                            // fetch and output ignored glyphs (if necessary)
+                            if ( ngi > 0 ) {
+                                ss.putGlyphs ( ss.getIgnoredGlyphs ( 0, ngi ), ss.getIgnoredAssociations ( 0, ngi ), null );
+                            }
+                            ss.consume ( nga + ngi );
+                        }
+                    }
+                }
+                return true;
+            }
+        }
+        private Ligature findLigature ( LigatureSet ls, int[] glyphs ) {
+            Ligature[] la = ls.getLigatures();
+            int k = -1;
+            int maxComponents = -1;
+            for ( int i = 0, n = la.length; i < n; i++ ) {
+                Ligature l = la [ i ];
+                if ( l.matchesComponents ( glyphs ) ) {
+                    int nc = l.getNumComponents();
+                    if ( nc > maxComponents ) {
+                        maxComponents = nc;
+                        k = i;
+                    }
+                }
+            }
+            if ( k >= 0 ) {
+                return la [ k ];
+            } else {
+                return null;
+            }
+        }
+        /**
+         * Obtain ligature set for coverage index.
+         * @param ci coverage index
+         * @param gi original glyph index
+         * @return ligature set (or null if none defined)
+         * @throws IllegalArgumentException if coverage index is not valid
+         */
+        public abstract LigatureSet getLigatureSetForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new LigatureSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class LigatureSubtableFormat1 extends LigatureSubtable {
+        private LigatureSet[] ligatureSets;
+        public LigatureSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            List entries = new ArrayList ( ligatureSets.length );
+            for ( int i = 0, n = ligatureSets.length; i < n; i++ ) {
+                entries.add ( ligatureSets[i] );
+            }
+            return entries;
+        }
+        /** {@inheritDoc} */
+        public LigatureSet getLigatureSetForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
+            if ( ligatureSets == null ) {
+                return null;
+            } else if ( ci >= ligatureSets.length ) {
+                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + ligatureSets.length );
+            } else {
+                return ligatureSets [ ci ];
+            }
+        }
+        private void populate ( List entries ) {
+            int i = 0, n = entries.size();
+            LigatureSet[] ligatureSets = new LigatureSet [ n ];
+            for ( Iterator it = entries.iterator(); it.hasNext();) {
+                Object o = it.next();
+                if ( o instanceof LigatureSet ) {
+                    ligatureSets [ i++ ] = (LigatureSet) o;
+                } else {
+                    throw new AdvancedTypographicTableFormatException ( "illegal ligatures entry, must be LigatureSet: " + o );
+                }
+            }
+            assert i == n;
+            assert this.ligatureSets == null;
+            this.ligatureSets = ligatureSets;
+        }
+    }
+
+    private abstract static class ContextualSubtable extends GlyphSubstitutionSubtable {
+        public ContextualSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GSUB_LOOKUP_TYPE_CONTEXTUAL;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof ContextualSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean substitute ( GlyphSubstitutionState ss ) {
+            int gi = ss.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
+                return false;
+            } else {
+                int[] rv = new int[1];
+                RuleLookup[] la = getLookups ( ci, gi, ss, rv );
+                if ( la != null ) {
+                    ss.apply ( la, rv[0] );
+                }
+                return true;
+            }
+        }
+        /**
+         * Obtain rule lookups set associated current input glyph context.
+         * @param ci coverage index of glyph at current position
+         * @param gi glyph index of glyph at current position
+         * @param ss glyph substitution state
+         * @param rv array of ints used to receive multiple return values, must be of length 1 or greater,
+         * where the first entry is used to return the input sequence length of the matched rule
+         * @return array of rule lookups or null if none applies
+         */
+        public abstract RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv );
+        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new ContextualSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 2 ) {
+                return new ContextualSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 3 ) {
+                return new ContextualSubtableFormat3 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class ContextualSubtableFormat1 extends ContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
+        ContextualSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
+            assert ss != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedGlyphSequenceRule ) ) {
+                            ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
+                            int[] iga = cr.getGlyphs ( gi );
+                            if ( matches ( ss, iga, 0, rv ) ) {
+                                return r.getLookups();
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        static boolean matches ( GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv ) {
+            if ( ( glyphs == null ) || ( glyphs.length == 0 ) ) {
+                return true;                            // match null or empty glyph sequence
+            } else {
+                boolean reverse = offset < 0;
+                GlyphTester ignores = ss.getIgnoreDefault();
+                int[] counts = ss.getGlyphsAvailable ( offset, reverse, ignores );
+                int nga = counts[0];
+                int ngm = glyphs.length;
+                if ( nga < ngm ) {
+                    return false;                       // insufficient glyphs available to match
+                } else {
+                    int[] ga = ss.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
+                    for ( int k = 0; k < ngm; k++ ) {
+                        if ( ga [ k ] != glyphs [ k ] ) {
+                            return false;               // match fails at ga [ k ]
+                        }
+                    }
+                    if ( rv != null ) {
+                        rv[0] = counts[0] + counts[1];
+                    }
+                    return true;                        // all glyphs match
+                }
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    private static class ContextualSubtableFormat2 extends ContextualSubtable {
+        private GlyphClassTable cdt;                    // class def table
+        private int ngc;                                // class set count
+        private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
+        ContextualSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 3 );
+                entries.add ( cdt );
+                entries.add ( Integer.valueOf ( ngc ) );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
+            assert ss != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedClassSequenceRule ) ) {
+                            ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
+                            int[] ca = cr.getClasses ( cdt.getClassIndex ( gi, ss.getClassMatchSet ( gi ) ) );
+                            if ( matches ( ss, cdt, ca, 0, rv ) ) {
+                                return r.getLookups();
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        static boolean matches ( GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv ) {
+            if ( ( cdt == null ) || ( classes == null ) || ( classes.length == 0 ) ) {
+                return true;                            // match null class definitions, null or empty class sequence
+            } else {
+                boolean reverse = offset < 0;
+                GlyphTester ignores = ss.getIgnoreDefault();
+                int[] counts = ss.getGlyphsAvailable ( offset, reverse, ignores );
+                int nga = counts[0];
+                int ngm = classes.length;
+                if ( nga < ngm ) {
+                    return false;                       // insufficient glyphs available to match
+                } else {
+                    int[] ga = ss.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
+                    for ( int k = 0; k < ngm; k++ ) {
+                        int gi = ga [ k ];
+                        int ms = ss.getClassMatchSet ( gi );
+                        int gc = cdt.getClassIndex ( gi, ms );
+                        if ( ( gc < 0 ) || ( gc >= cdt.getClassSize ( ms ) ) ) {
+                            return false;               // none or invalid class fails mat ch
+                        } else if ( gc != classes [ k ] ) {
+                            return false;               // match fails at ga [ k ]
+                        }
+                    }
+                    if ( rv != null ) {
+                        rv[0] = counts[0] + counts[1];
+                    }
+                    return true;                        // all glyphs match
+                }
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 3 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 3 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    cdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    ngc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(2) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                    if ( rsa.length != ngc ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes" );
+                    }
+                }
+            }
+        }
+    }
+
+    private static class ContextualSubtableFormat3 extends ContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, containing a single rule set
+        ContextualSubtableFormat3 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
+            assert ss != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedCoverageSequenceRule ) ) {
+                            ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
+                            GlyphCoverageTable[] gca = cr.getCoverages();
+                            if ( matches ( ss, gca, 0, rv ) ) {
+                                return r.getLookups();
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        static boolean matches ( GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv ) {
+            if ( ( gca == null ) || ( gca.length == 0 ) ) {
+                return true;                            // match null or empty coverage array
+            } else {
+                boolean reverse = offset < 0;
+                GlyphTester ignores = ss.getIgnoreDefault();
+                int[] counts = ss.getGlyphsAvailable ( offset, reverse, ignores );
+                int nga = counts[0];
+                int ngm = gca.length;
+                if ( nga < ngm ) {
+                    return false;                       // insufficient glyphs available to match
+                } else {
+                    int[] ga = ss.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
+                    for ( int k = 0; k < ngm; k++ ) {
+                        GlyphCoverageTable ct = gca [ k ];
+                        if ( ct != null ) {
+                            if ( ct.getCoverageIndex ( ga [ k ] ) < 0 ) {
+                                return false;           // match fails at ga [ k ]
+                            }
+                        }
+                    }
+                    if ( rv != null ) {
+                        rv[0] = counts[0] + counts[1];
+                    }
+                    return true;                        // all glyphs match
+                }
+            }
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class ChainedContextualSubtable extends GlyphSubstitutionSubtable {
+        public ChainedContextualSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof ChainedContextualSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean substitute ( GlyphSubstitutionState ss ) {
+            int gi = ss.getGlyph(), ci;
+            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
+                return false;
+            } else {
+                int[] rv = new int[1];
+                RuleLookup[] la = getLookups ( ci, gi, ss, rv );
+                if ( la != null ) {
+                    ss.apply ( la, rv[0] );
+                    return true;
+                } else {
+                    return false;
+                }
+            }
+        }
+        /**
+         * Obtain rule lookups set associated current input glyph context.
+         * @param ci coverage index of glyph at current position
+         * @param gi glyph index of glyph at current position
+         * @param ss glyph substitution state
+         * @param rv array of ints used to receive multiple return values, must be of length 1 or greater
+         * @return array of rule lookups or null if none applies
+         */
+        public abstract RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv );
+        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new ChainedContextualSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 2 ) {
+                return new ChainedContextualSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
+            } else if ( format == 3 ) {
+                return new ChainedContextualSubtableFormat3 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class ChainedContextualSubtableFormat1 extends ChainedContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
+        ChainedContextualSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
+            assert ss != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedGlyphSequenceRule ) ) {
+                            ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
+                            int[] iga = cr.getGlyphs ( gi );
+                            if ( matches ( ss, iga, 0, rv ) ) {
+                                int[] bga = cr.getBacktrackGlyphs();
+                                if ( matches ( ss, bga, -1, null ) ) {
+                                    int[] lga = cr.getLookaheadGlyphs();
+                                    if ( matches ( ss, lga, rv[0], null ) ) {
+                                        return r.getLookups();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private boolean matches ( GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv ) {
+            return ContextualSubtableFormat1.matches ( ss, glyphs, offset, rv );
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    private static class ChainedContextualSubtableFormat2 extends ChainedContextualSubtable {
+        private GlyphClassTable icdt;                   // input class def table
+        private GlyphClassTable bcdt;                   // backtrack class def table
+        private GlyphClassTable lcdt;                   // lookahead class def table
+        private int ngc;                                // class set count
+        private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
+        ChainedContextualSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 5 );
+                entries.add ( icdt );
+                entries.add ( bcdt );
+                entries.add ( lcdt );
+                entries.add ( Integer.valueOf ( ngc ) );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
+            assert ss != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedClassSequenceRule ) ) {
+                            ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
+                            int[] ica = cr.getClasses ( icdt.getClassIndex ( gi, ss.getClassMatchSet ( gi ) ) );
+                            if ( matches ( ss, icdt, ica, 0, rv ) ) {
+                                int[] bca = cr.getBacktrackClasses();
+                                if ( matches ( ss, bcdt, bca, -1, null ) ) {
+                                    int[] lca = cr.getLookaheadClasses();
+                                    if ( matches ( ss, lcdt, lca, rv[0], null ) ) {
+                                        return r.getLookups();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private boolean matches ( GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv ) {
+            return ContextualSubtableFormat2.matches ( ss, cdt, classes, offset, rv );
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 5 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 5 entries" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    icdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(1) ) != null ) && ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, second entry must be an GlyphClassTable, but is: " + o.getClass() );
+                } else {
+                    bcdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(2) ) != null ) && ! ( o instanceof GlyphClassTable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, third entry must be an GlyphClassTable, but is: " + o.getClass() );
+                } else {
+                    lcdt = (GlyphClassTable) o;
+                }
+                if ( ( ( o = entries.get(3) ) == null ) || ! ( o instanceof Integer ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fourth entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    ngc = ((Integer)(o)).intValue();
+                }
+                if ( ( ( o = entries.get(4) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, fifth entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                    if ( rsa.length != ngc ) {
+                        throw new AdvancedTypographicTableFormatException ( "illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes" );
+                    }
+                }
+            }
+        }
+    }
+
+    private static class ChainedContextualSubtableFormat3 extends ChainedContextualSubtable {
+        private RuleSet[] rsa;                          // rule set array, containing a single rule set
+        ChainedContextualSubtableFormat3 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            if ( rsa != null ) {
+                List entries = new ArrayList ( 1 );
+                entries.add ( rsa );
+                return entries;
+            } else {
+                return null;
+            }
+        }
+        /** {@inheritDoc} */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
+        }
+        /** {@inheritDoc} */
+        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
+            assert ss != null;
+            assert ( rv != null ) && ( rv.length > 0 );
+            assert rsa != null;
+            if ( rsa.length > 0 ) {
+                RuleSet rs = rsa [ 0 ];
+                if ( rs != null ) {
+                    Rule[] ra = rs.getRules();
+                    for ( int i = 0, n = ra.length; i < n; i++ ) {
+                        Rule r = ra [ i ];
+                        if ( ( r != null ) && ( r instanceof ChainedCoverageSequenceRule ) ) {
+                            ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
+                            GlyphCoverageTable[] igca = cr.getCoverages();
+                            if ( matches ( ss, igca, 0, rv ) ) {
+                                GlyphCoverageTable[] bgca = cr.getBacktrackCoverages();
+                                if ( matches ( ss, bgca, -1, null ) ) {
+                                    GlyphCoverageTable[] lgca = cr.getLookaheadCoverages();
+                                    if ( matches ( ss, lgca, rv[0], null ) ) {
+                                        return r.getLookups();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return null;
+        }
+        private boolean matches ( GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv ) {
+            return ContextualSubtableFormat3.matches ( ss, gca, offset, rv );
+        }
+        private void populate ( List entries ) {
+            if ( entries == null ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, must be non-null" );
+            } else if ( entries.size() != 1 ) {
+                throw new AdvancedTypographicTableFormatException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
+            } else {
+                Object o;
+                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
+                } else {
+                    rsa = (RuleSet[]) o;
+                }
+            }
+        }
+    }
+
+    private abstract static class ReverseChainedSingleSubtable extends GlyphSubstitutionSubtable {
+        public ReverseChainedSingleSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage );
+        }
+        /** {@inheritDoc} */
+        public int getType() {
+            return GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE;
+        }
+        /** {@inheritDoc} */
+        public boolean isCompatible ( GlyphSubtable subtable ) {
+            return subtable instanceof ReverseChainedSingleSubtable;
+        }
+        /** {@inheritDoc} */
+        public boolean usesReverseScan() {
+            return true;
+        }
+        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            if ( format == 1 ) {
+                return new ReverseChainedSingleSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
+            } else {
+                throw new UnsupportedOperationException();
+            }
+        }
+    }
+
+    private static class ReverseChainedSingleSubtableFormat1 extends ReverseChainedSingleSubtable {
+        ReverseChainedSingleSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
+            super ( id, sequence, flags, format, coverage, entries );
+            populate ( entries );
+        }
+        /** {@inheritDoc} */
+        public List getEntries() {
+            return null;
+        }
+        private void populate ( List entries ) {
+        }
+    }
+
+    /**
+     * The <code>Ligature</code> class implements a ligature lookup result in terms of
+     * a ligature glyph (code) and the <emph>N+1...</emph> components that comprise the ligature,
+     * where the <emph>Nth</emph> component was consumed in the coverage table lookup mapping to
+     * this ligature instance.
+     */
+    public static class Ligature {
+
+        private final int ligature;                     // (resulting) ligature glyph 
+        private final int[] components;                 // component glyph codes (note that first component is implied)
+
+        /**
+         * Instantiate a ligature.
+         * @param ligature glyph id
+         * @param components sequence of <emph>N+1...</emph> component glyph (or character) identifiers
+         */
+        public Ligature ( int ligature, int[] components ) {
+            if ( ( ligature < 0 ) || ( ligature > 65535 ) ) {
+                throw new AdvancedTypographicTableFormatException ( "invalid ligature glyph index: " + ligature );
+            } else if ( components == null ) {
+                throw new AdvancedTypographicTableFormatException ( "invalid ligature components, must be non-null array" );
+            } else {
+                for ( int i = 0, n = components.length; i < n; i++ ) {
+                    int gc = components [ i ];
+                    if ( ( gc < 0 ) || ( gc > 65535 ) ) {
+                        throw new AdvancedTypographicTableFormatException ( "invalid component glyph index: " + gc );
+                    }
+                }
+                this.ligature = ligature;
+                this.components = components;
+            }
+        }
+
+        /** @return ligature glyph id */
+        public int getLigature() {
+            return ligature;
+        }
+
+        /** @return array of <emph>N+1...</emph> components */
+        public int[] getComponents() {
+            return components;
+        }
+
+        /** @return components count */
+        public int getNumComponents() {
+            return components.length;
+        }
+
+        /**
+         * Determine if input sequence at offset matches ligature's components.
+         * @param glyphs array of glyph components to match (including first, implied glyph)
+         * @return true if matches
+         */
+        public boolean matchesComponents ( int[] glyphs ) {
+            if ( glyphs.length < ( components.length + 1 ) ) {
+                return false;
+            } else {
+                for ( int i = 0, n = components.length; i < n; i++ ) {
+                    if ( glyphs [ i + 1 ] != components [ i ] ) {
+                        return false;
+                    }
+                }
+                return true;
+            }
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append("{components={");
+            for ( int i = 0, n = components.length; i < n; i++ ) {
+                if ( i > 0 ) {
+                    sb.append(',');
+                }
+                sb.append(Integer.toString(components[i]));
+            }
+            sb.append("},ligature=");
+            sb.append(Integer.toString(ligature));
+            sb.append("}");
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>LigatureSet</code> class implements a set of  ligatures.
+     */
+    public static class LigatureSet {
+
+        private final Ligature[] ligatures;                     // set of ligatures all of which share the first (implied) component
+        private final int maxComponents;                        // maximum number of components (including first)
+
+        /**
+         * Instantiate a set of ligatures.
+         * @param ligatures collection of ligatures
+         */
+        public LigatureSet ( List ligatures ) {
+            this ( (Ligature[]) ligatures.toArray ( new Ligature [ ligatures.size() ] ) );
+        }
+
+        /**
+         * Instantiate a set of ligatures.
+         * @param ligatures array of ligatures
+         */
+        public LigatureSet ( Ligature[] ligatures ) {
+            if ( ligatures == null ) {
+                throw new AdvancedTypographicTableFormatException ( "invalid ligatures, must be non-null array" );
+            } else {
+                this.ligatures = ligatures;
+                int ncMax = -1;
+                for ( int i = 0, n = ligatures.length; i < n; i++ ) {
+                    Ligature l = ligatures [ i ];
+                    int nc = l.getNumComponents() + 1;
+                    if ( nc > ncMax ) {
+                        ncMax = nc;
+                    }
+                }
+                maxComponents = ncMax;
+            }
+        }
+
+        /** @return array of ligatures in this ligature set */
+        public Ligature[] getLigatures() {
+            return ligatures;
+        }
+
+        /** @return count of ligatures in this ligature set */
+        public int getNumLigatures() {
+            return ligatures.length;
+        }
+
+        /** @return maximum number of components in one ligature (including first component) */
+        public int getMaxComponents() {
+            return maxComponents;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append("{ligs={");
+            for ( int i = 0, n = ligatures.length; i < n; i++ ) {
+                if ( i > 0 ) {
+                    sb.append(',');
+                }
+                sb.append(ligatures[i]);
+            }
+            sb.append("}}");
+            return sb.toString();
+        }
+
+    }
+
+}
+
diff --git a/src/java/org/apache/fop/fonts/GlyphSubtable.java b/src/java/org/apache/fop/fonts/GlyphSubtable.java
new file mode 100644
index 0000000..1cee36b
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphSubtable.java
@@ -0,0 +1,314 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.lang.ref.WeakReference;
+
+import java.util.List;
+import java.util.Map;
+
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+
+/**
+ * The <code>GlyphSubtable</code> implements an abstract glyph subtable that
+ * encapsulates identification, type, format, and coverage information.
+ * @author Glenn Adams
+ */
+public abstract class GlyphSubtable implements Comparable {
+
+    /** lookup flag - right to left */
+    public static final int LF_RIGHT_TO_LEFT = 0x0001;
+    /** lookup flag - ignore base glyphs */
+    public static final int LF_IGNORE_BASE = 0x0002;
+    /** lookup flag - ignore ligatures */
+    public static final int LF_IGNORE_LIGATURE = 0x0004;
+    /** lookup flag - ignore marks */
+    public static final int LF_IGNORE_MARK = 0x0008;
+    /** lookup flag - use mark filtering set */
+    public static final int LF_USE_MARK_FILTERING_SET = 0x0010;
+    /** lookup flag - reserved */
+    public static final int LF_RESERVED = 0x0E00;
+    /** lookup flag - mark attachment type */
+    public static final int LF_MARK_ATTACHMENT_TYPE = 0xFF00;
+    /** internal flag - use reverse scan */
+    public static final int LF_INTERNAL_USE_REVERSE_SCAN = 0x10000;
+
+    /** lookup identifier, having form of "lu%d" where %d is index of lookup in lookup list; shared by multiple subtables in a single lookup  */
+    private String lookupId;
+    /** subtable sequence (index) number in lookup, zero based */
+    private int sequence;
+    /** subtable flags */
+    private int flags;
+    /** subtable format */
+    private int format;
+    /** subtable mapping table */
+    private GlyphMappingTable mapping;
+    /** weak reference to parent (gsub or gpos) table */
+    private WeakReference table;
+
+    /**
+     * Instantiate this glyph subtable.
+     * @param lookupId lookup identifier, having form of "lu%d" where %d is index of lookup in lookup list
+     * @param sequence subtable sequence (within lookup), starting with zero
+     * @param flags subtable flags
+     * @param format subtable format
+     * @param mapping subtable mapping table
+     */
+    protected GlyphSubtable ( String lookupId, int sequence, int flags, int format, GlyphMappingTable mapping )
+    {
+        if ( ( lookupId == null ) || ( lookupId.length() == 0 ) ) {
+            throw new AdvancedTypographicTableFormatException ( "invalid lookup identifier, must be non-empty string" );
+        } else if ( mapping == null ) {
+            throw new AdvancedTypographicTableFormatException ( "invalid mapping table, must not be null" );
+        } else {
+            this.lookupId = lookupId;
+            this.sequence = sequence;
+            this.flags = flags;
+            this.format = format;
+            this.mapping = mapping;
+        }
+    }
+
+    /** @return this subtable's lookup identifer */
+    public String getLookupId() {
+        return lookupId;
+    }
+
+    /** @return this subtable's table type */
+    public abstract int getTableType();
+
+    /** @return this subtable's type */
+    public abstract int getType();
+
+    /** @return this subtable's type name */
+    public abstract String getTypeName();
+
+    /**
+     * Determine if a glyph subtable is compatible with this glyph subtable. Two glyph subtables are
+     * compatible if the both may appear in a single lookup table.
+     * @param subtable a glyph subtable to determine compatibility
+     * @return true if specified subtable is compatible with this glyph subtable, where by compatible
+     * is meant that they share the same lookup type
+     */
+    public abstract boolean isCompatible ( GlyphSubtable subtable );
+
+    /** @return true if subtable uses reverse scanning of glyph sequence, meaning from the last glyph
+     * in a glyph sequence to the first glyph
+     */
+    public abstract boolean usesReverseScan();
+
+    /** @return this subtable's sequence (index) within lookup */
+    public int getSequence() {
+        return sequence;
+    }
+
+    /** @return this subtable's flags */
+    public int getFlags() {
+        return flags;
+    }
+
+    /** @return this subtable's format */
+    public int getFormat() {
+        return format;
+    }
+
+    /** @return this subtable's governing glyph definition table or null if none available */
+    public GlyphDefinitionTable getGDEF() {
+        GlyphTable gt = getTable();
+        if ( gt != null ) {
+            return gt.getGlyphDefinitions();
+        } else {
+            return null;
+        }
+    }
+
+    /** @return this subtable's coverage mapping or null if mapping is not a coverage mapping */
+    public GlyphCoverageMapping getCoverage() {
+        if ( mapping instanceof GlyphCoverageMapping ) {
+            return (GlyphCoverageMapping) mapping;
+        } else {
+            return null;
+        }
+    }
+
+    /** @return this subtable's class mapping or null if mapping is not a class mapping */
+    public GlyphClassMapping getClasses() {
+        if ( mapping instanceof GlyphClassMapping ) {
+            return (GlyphClassMapping) mapping;
+        } else {
+            return null;
+        }
+    }
+
+    /** @return this subtable's lookup entries */
+    public abstract List getEntries();
+
+    /** @return this subtable's parent table (or null if undefined) */
+    public synchronized GlyphTable getTable() {
+        WeakReference r = this.table;
+        return ( r != null ) ? (GlyphTable) r.get() : null;
+    }
+
+    /**
+     * Establish a weak reference from this subtable to its parent
+     * table. If table parameter is specified as <code>null</code>, then
+     * clear and remove weak reference.
+     * @param table the table or null
+     * @throws IllegalStateException if table is already set to non-null
+     */
+    public synchronized void setTable ( GlyphTable table ) throws IllegalStateException {
+        WeakReference r = this.table;
+        if ( table == null ) {
+            this.table = null;
+            if ( r != null ) {
+                r.clear();
+            }
+        } else if ( r == null ) {
+            this.table = new WeakReference ( table );
+        } else {
+            throw new IllegalStateException ( "table already set" );
+        }
+    }
+
+    /**
+     * Resolve references to lookup tables, e.g., in RuleLookup, to the lookup tables themselves.
+     * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
+     */
+    public void resolveLookupReferences ( Map/*<String,GlyphTable.LookupTable>*/ lookupTables ) {
+    }
+
+    /**
+     * Map glyph id to coverage index.
+     * @param gid glyph id
+     * @return the corresponding coverage index of the specified glyph id
+     */
+    public int getCoverageIndex ( int gid ) {
+        if ( mapping instanceof GlyphCoverageMapping ) {
+            return ( (GlyphCoverageMapping) mapping ) .getCoverageIndex ( gid );
+        } else {
+            return -1;
+        }
+    }
+
+    /**
+     * Map glyph id to coverage index.
+     * @return the corresponding coverage index of the specified glyph id
+     */
+    public int getCoverageSize() {
+        if ( mapping instanceof GlyphCoverageMapping ) {
+            return ( (GlyphCoverageMapping) mapping ) .getCoverageSize();
+        } else {
+            return 0;
+        }
+    }
+
+    /** {@inheritDoc} */
+    public int hashCode() {
+        int hc = sequence;
+        hc = ( hc * 3 ) + ( lookupId.hashCode() ^ hc );
+        return hc;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @return true if the lookup identifier and the sequence number of the specified subtable is the same
+     * as the lookup identifier and sequence number of this subtable
+     */
+    public boolean equals ( Object o ) {
+        if ( o instanceof GlyphSubtable ) {
+            GlyphSubtable st = (GlyphSubtable) o;
+            return lookupId.equals ( st.lookupId ) && ( sequence == st.sequence );
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     * @return the result of comparing the lookup identifier and the sequence number of the specified subtable with
+     * the lookup identifier and sequence number of this subtable
+     */
+    public int compareTo ( Object o ) {
+        int d;
+        if ( o instanceof GlyphSubtable ) {
+            GlyphSubtable st = (GlyphSubtable) o;
+            if ( ( d = lookupId.compareTo ( st.lookupId ) ) == 0 ) {
+                if ( sequence < st.sequence ) {
+                    d = -1;
+                } else if ( sequence > st.sequence ) {
+                    d = 1;
+                }
+            }
+        } else {
+            d = -1;
+        }
+        return d;
+    }
+
+    /**
+     * Determine if any of the specified subtables uses reverse scanning.
+     * @param subtables array of glyph subtables
+     * @return true if any of the specified subtables uses reverse scanning.
+     */
+    public static boolean usesReverseScan ( GlyphSubtable[] subtables ) {
+        if ( ( subtables == null ) || ( subtables.length == 0 ) ) {
+            return false;
+        } else {
+            for ( int i = 0, n = subtables.length; i < n; i++ ) {
+                if ( subtables[i].usesReverseScan() ) {
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+
+    /**
+     * Determine consistent flags for a set of subtables.
+     * @param subtables array of glyph subtables
+     * @return consistent flags
+     * @throws IllegalStateException if inconsistent flags
+     */
+    public static int getFlags ( GlyphSubtable[] subtables ) throws IllegalStateException {
+        if ( ( subtables == null ) || ( subtables.length == 0 ) ) {
+            return 0;
+        } else {
+            int flags = 0;
+            // obtain first non-zero value of flags in array of subtables
+            for ( int i = 0, n = subtables.length; i < n; i++ ) {
+                int f = subtables[i].getFlags();
+                if ( flags == 0 ) {
+                    flags = f;
+                    break;
+                }
+            }
+            // enforce flag consistency
+            for ( int i = 0, n = subtables.length; i < n; i++ ) {
+                int f = subtables[i].getFlags();
+                if ( f != flags ) {
+                    throw new IllegalStateException ( "inconsistent lookup flags " + f + ", expected " + flags );
+                }
+            }
+            return flags | ( usesReverseScan ( subtables ) ? LF_INTERNAL_USE_REVERSE_SCAN : 0 );
+        }
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphTable.java b/src/java/org/apache/fop/fonts/GlyphTable.java
new file mode 100644
index 0000000..1bc7d37
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphTable.java
@@ -0,0 +1,1287 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+// CSOFF: EmptyForIteratorPadCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: ParameterNumberCheck
+// CSOFF: SimplifyBooleanReturnCheck
+
+/**
+ * Base class for all advanced typographic glyph tables.
+ * @author Glenn Adams
+ */
+public class GlyphTable {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(GlyphTable.class);                                                 // CSOK: ConstantNameCheck
+
+    /** substitution glyph table type */
+    public static final int GLYPH_TABLE_TYPE_SUBSTITUTION = 1;
+    /** positioning glyph table type */
+    public static final int GLYPH_TABLE_TYPE_POSITIONING = 2;
+    /** justification glyph table type */
+    public static final int GLYPH_TABLE_TYPE_JUSTIFICATION = 3;
+    /** baseline glyph table type */
+    public static final int GLYPH_TABLE_TYPE_BASELINE = 4;
+    /** definition glyph table type */
+    public static final int GLYPH_TABLE_TYPE_DEFINITION = 5;
+
+    // (optional) glyph definition table in table types other than glyph definition table
+    private GlyphTable gdef;
+
+    // map from lookup specs to lists of strings, each of which identifies a lookup table (consisting of one or more subtables)
+    private Map/*<LookupSpec,List<String>>*/ lookups;
+
+    // map from lookup identifiers to lookup tables
+    private Map/*<String,LookupTable>*/ lookupTables;
+
+    // if true, then prevent further subtable addition
+    private boolean frozen;
+
+    /**
+     * Instantiate glyph table with specified lookups.
+     * @param gdef glyph definition table that applies
+     * @param lookups map from lookup specs to lookup tables
+     */
+    public GlyphTable ( GlyphTable gdef, Map/*<LookupSpec,List<String>>*/ lookups ) {
+        if ( ( gdef != null ) && ! ( gdef instanceof GlyphDefinitionTable ) ) {
+            throw new AdvancedTypographicTableFormatException ( "bad glyph definition table" );
+        } else if ( lookups == null ) {
+            throw new AdvancedTypographicTableFormatException ( "lookups must be non-null map" );
+        } else {
+            this.gdef = gdef;
+            this.lookups = lookups;
+            this.lookupTables = new LinkedHashMap/*<String,List<LookupTable>>*/();
+        }
+    }
+
+    /**
+     * Obtain glyph definition table.
+     * @return (possibly null) glyph definition table
+     */
+    public GlyphDefinitionTable getGlyphDefinitions() {
+        return (GlyphDefinitionTable) gdef;
+    }
+
+    /**
+     * Obtain list of all lookup specifications.
+     * @return (possibly empty) list of all lookup specifications
+     */
+    public List/*<LookupSpec>*/ getLookups() {
+        return matchLookupSpecs ( "*", "*", "*" );
+    }
+
+    /**
+     * Obtain ordered list of all lookup tables, where order is by lookup identifier, which
+     * lexicographic ordering follows the lookup list order.
+     * @return (possibly empty) ordered list of all lookup tables
+     */
+    public List/*<LookupTable>*/ getLookupTables() {
+        TreeSet/*<String>*/ lids = new TreeSet/*<String>*/ ( lookupTables.keySet() );
+        List/*<LookupTable>*/ ltl = new ArrayList/*<LookupTable>*/ ( lids.size() );
+        for ( Iterator it = lids.iterator(); it.hasNext(); ) {
+            String lid = (String) it.next();
+            ltl.add ( lookupTables.get ( lid ) );
+        }
+        return ltl;
+    }
+
+    /**
+     * Add a subtable.
+     * @param subtable a (non-null) glyph subtable
+     */
+    protected void addSubtable ( GlyphSubtable subtable ) {
+        // ensure table is not frozen
+        if ( frozen ) {
+            throw new IllegalStateException ( "glyph table is frozen, subtable addition prohibited" );
+        }
+        // set subtable's table reference to this table
+        subtable.setTable ( this );
+        // add subtable to this table's subtable collection
+        String lid = subtable.getLookupId();
+        if ( lookupTables.containsKey ( lid ) ) {
+            LookupTable lt = (LookupTable) lookupTables.get ( lid );
+            lt.addSubtable ( subtable );
+        } else {
+            LookupTable lt = new LookupTable ( lid, subtable );
+            lookupTables.put ( lid, lt );
+        }
+    }
+
+    /**
+     * Freeze subtables, i.e., do not allow further subtable addition, and
+     * create resulting cached state.
+     */
+    protected void freezeSubtables() {
+        if ( ! frozen ) {
+            for ( Iterator it = lookupTables.values().iterator(); it.hasNext(); ) {
+                LookupTable lt = (LookupTable) it.next();
+                lt.freezeSubtables ( lookupTables );
+            }
+            frozen = true;
+        }
+    }
+
+    /**
+     * Match lookup specifications according to <script,language,feature> tuple, where
+     * '*' is a wildcard for a tuple component.
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param feature a feature identifier
+     * @return a (possibly empty) array of matching lookup specifications
+     */
+    public List/*<LookupSpec>*/ matchLookupSpecs ( String script, String language, String feature ) {
+        Set/*<LookupSpec>*/ keys = lookups.keySet();
+        List/*<LookupSpec>*/ matches = new ArrayList/*<LookupSpec>*/();
+        for ( Iterator it = keys.iterator(); it.hasNext();) {
+            LookupSpec ls = (LookupSpec) it.next();
+            if ( ! "*".equals(script) ) {
+                if ( ! ls.getScript().equals ( script ) ) {
+                    continue;
+                }
+            }
+            if ( ! "*".equals(language) ) {
+                if ( ! ls.getLanguage().equals ( language ) ) {
+                    continue;
+                }
+            }
+            if ( ! "*".equals(feature) ) {
+                if ( ! ls.getFeature().equals ( feature ) ) {
+                    continue;
+                }
+            }
+            matches.add ( ls );
+        }
+        return matches;
+    }
+
+    /**
+     * Match lookup specifications according to <script,language,feature> tuple, where
+     * '*' is a wildcard for a tuple component.
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param feature a feature identifier
+     * @return a (possibly empty) map from matching lookup specifications to lists of corresponding lookup tables
+     */
+    public Map/*<LookupSpec,List<LookupTable>>*/ matchLookups ( String script, String language, String feature ) {
+        List/*<LookupSpec>*/ lsl = matchLookupSpecs ( script, language, feature );
+        Map lm = new LinkedHashMap();
+        for ( Iterator it = lsl.iterator(); it.hasNext(); ) {
+            LookupSpec ls = (LookupSpec) it.next();
+            lm.put ( ls, findLookupTables ( ls ) );
+        }
+        return lm;
+    }
+
+    /**
+     * Obtain ordered list of glyph lookup tables that match a specific lookup specification.
+     * @param ls a (non-null) lookup specification
+     * @return a (possibly empty) ordered list of lookup tables whose corresponding lookup specifications match the specified lookup spec
+     */
+    public List/*<LookupTable>*/ findLookupTables ( LookupSpec ls ) {
+        TreeSet/*<LookupTable>*/ lts = new TreeSet/*<LookupTable>*/();
+        List/*<String>*/ ids;
+        if ( ( ids = (List/*<String>*/) lookups.get ( ls ) ) != null ) {
+            for ( Iterator it = ids.iterator(); it.hasNext();) {
+                String lid = (String) it.next();
+                LookupTable lt;
+                if ( ( lt = (LookupTable) lookupTables.get ( lid ) ) != null ) {
+                    lts.add ( lt );
+                }
+            }
+        }
+        return new ArrayList/*<LookupTable>*/ ( lts );
+    }
+
+    /**
+     * Assemble ordered array of lookup table use specifications according to the specified features and candidate lookups,
+     * where the order of the array is in accordance to the order of the applicable lookup list.
+     * @param features array of feature identifiers to apply
+     * @param lookups a mapping from lookup specifications to lists of look tables from which to select lookup tables according to the specified features
+     * @return ordered array of assembled lookup table use specifications
+     */
+    public UseSpec[] assembleLookups ( String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups ) {
+        TreeSet/*<UseSpec>*/ uss = new TreeSet/*<UseSpec>*/();
+        for ( int i = 0, n = features.length; i < n; i++ ) {
+            String feature = features[i];
+            for ( Iterator it = lookups.entrySet().iterator(); it.hasNext(); ) {
+                Map.Entry/*<LookupSpec,List<LookupTable>>*/ e = (Map.Entry/*<LookupSpec,List<LookupTable>>*/) it.next();
+                LookupSpec ls = (LookupSpec) e.getKey();
+                if ( ls.getFeature().equals ( feature ) ) {
+                    List/*<LookupTable>*/ ltl = (List/*<LookupTable>*/) e.getValue();
+                    if ( ltl != null ) {
+                        for ( Iterator ltit = ltl.iterator(); ltit.hasNext(); ) {
+                            LookupTable lt = (LookupTable) ltit.next();
+                            uss.add ( new UseSpec ( lt, feature ) );
+                        }
+                    }
+                }
+            }
+        }
+        return (UseSpec[]) uss.toArray ( new UseSpec [ uss.size() ] );
+    }
+    
+    /** {@inheritDoc} */
+    public String toString() {
+        StringBuffer sb = new StringBuffer(super.toString());
+        sb.append("{");
+        sb.append("lookups={");
+        sb.append(lookups.toString());
+        sb.append("},lookupTables={");
+        sb.append(lookupTables.toString());
+        sb.append("}}");
+        return sb.toString();
+    }
+
+    /**
+     * Obtain glyph table type from name.
+     * @param name of table type to map to type value
+     * @return glyph table type (as an integer constant)
+     */
+    public static int getTableTypeFromName ( String name ) {
+        int t;
+        String s = name.toLowerCase();
+        if ( "gsub".equals ( s ) ) {
+            t = GLYPH_TABLE_TYPE_SUBSTITUTION;
+        } else if ( "gpos".equals ( s ) ) {
+            t = GLYPH_TABLE_TYPE_POSITIONING;
+        } else if ( "jstf".equals ( s ) ) {
+            t = GLYPH_TABLE_TYPE_JUSTIFICATION;
+        } else if ( "base".equals ( s ) ) {
+            t = GLYPH_TABLE_TYPE_BASELINE;
+        } else if ( "gdef".equals ( s ) ) {
+            t = GLYPH_TABLE_TYPE_DEFINITION;
+        } else {
+            t = -1;
+        }
+        return t;
+    }
+
+    /**
+     * Resolve references to lookup tables in a collection of rules sets.
+     * @param rsa array of rule sets
+     * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
+     */
+    public static void resolveLookupReferences ( RuleSet[] rsa, Map/*<String,LookupTable>*/ lookupTables ) {
+        if ( ( rsa != null ) && ( lookupTables != null ) ) {
+            for ( int i = 0, n = rsa.length; i < n; i++ ) {
+                RuleSet rs = rsa [ i ];
+                if ( rs != null ) {
+                    rs.resolveLookupReferences ( lookupTables );
+                }
+            }
+        }
+    }
+
+    /**
+     * A structure class encapsulating a lookup specification as a <script,language,feature> tuple.
+     */
+    public static class LookupSpec implements Comparable {
+
+        private final String script;
+        private final String language;
+        private final String feature;
+
+        /**
+         * Instantiate lookup spec.
+         * @param script a script identifier
+         * @param language a language identifier
+         * @param feature a feature identifier
+         */
+        public LookupSpec ( String script, String language, String feature ) {
+            if ( ( script == null ) || ( script.length() == 0 ) ) {
+                throw new AdvancedTypographicTableFormatException ( "script must be non-empty string" );
+            } else if ( ( language == null ) || ( language.length() == 0 ) ) {
+                throw new AdvancedTypographicTableFormatException ( "language must be non-empty string" );
+            } else if ( ( feature == null ) || ( feature.length() == 0 ) ) {
+                throw new AdvancedTypographicTableFormatException ( "feature must be non-empty string" );
+            } else if ( script.equals("*") ) {
+                throw new AdvancedTypographicTableFormatException ( "script must not be wildcard" );
+            } else if ( language.equals("*") ) {
+                throw new AdvancedTypographicTableFormatException ( "language must not be wildcard" );
+            } else if ( feature.equals("*") ) {
+                throw new AdvancedTypographicTableFormatException ( "feature must not be wildcard" );
+            } else {
+                this.script = script.trim();
+                this.language = language.trim();
+                this.feature = feature.trim();
+            }
+        }
+
+        /** @return script identifier */
+        public String getScript() {
+            return script;
+        }
+
+        /** @return language identifier */
+        public String getLanguage() {
+            return language;
+        }
+
+        /** @return feature identifier  */
+        public String getFeature() {
+            return feature;
+        }
+
+        /** {@inheritDoc} */
+        public int hashCode() {
+            int hc = 0;
+            hc =  7 * hc + ( hc ^ script.hashCode() );
+            hc = 11 * hc + ( hc ^ language.hashCode() );
+            hc = 17 * hc + ( hc ^ feature.hashCode() );
+            return hc;
+        }
+
+        /** {@inheritDoc} */
+        public boolean equals ( Object o ) {
+            if ( o instanceof LookupSpec ) {
+                LookupSpec l = (LookupSpec) o;
+                if ( ! l.script.equals ( script ) ) {
+                    return false;
+                } else if ( ! l.language.equals ( language ) ) {
+                    return false;
+                } else if ( ! l.feature.equals ( feature ) ) {
+                    return false;
+                } else {
+                    return true;
+                }
+            } else {
+                return false;
+            }
+        }
+
+        /** {@inheritDoc} */
+        public int compareTo ( Object o ) {
+            int d;
+            if ( o instanceof LookupSpec ) {
+                LookupSpec ls = (LookupSpec) o;
+                if ( ( d = script.compareTo ( ls.script ) ) == 0 ) {
+                    if ( ( d = language.compareTo ( ls.language ) ) == 0 ) {
+                        if ( ( d = feature.compareTo ( ls.feature ) ) == 0 ) {
+                            d = 0;
+                        }
+                    }
+                }
+            } else {
+                d = -1;
+            }
+            return d;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer(super.toString());
+            sb.append("{");
+            sb.append("<'" + script + "'");
+            sb.append(",'" + language + "'");
+            sb.append(",'" + feature + "'");
+            sb.append(">}");
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>LookupTable</code> class comprising an identifier and an ordered list
+     * of glyph subtables, each of which employ the same lookup identifier.
+     */
+    public static class LookupTable implements Comparable {
+
+        private final String id;                                // lookup identifiers
+        private final List/*<GlyphSubtable>*/ subtables;        // list of subtables
+        private boolean doesSub;                                // performs substitutions
+        private boolean doesPos;                                // performs positioning
+        private boolean frozen;                                 // if true, then don't permit further subtable additions
+        // frozen state
+        private GlyphSubtable[] subtablesArray;
+        private static GlyphSubtable[] subtablesArrayEmpty       = new GlyphSubtable[0];
+        
+        /**
+         * Instantiate a LookupTable.
+         * @param id the lookup table's identifier
+         * @param subtable an initial subtable (or null)
+         */
+        public LookupTable ( String id, GlyphSubtable subtable ) {
+            this ( id, makeSingleton ( subtable ) );
+        }
+
+        /**
+         * Instantiate a LookupTable.
+         * @param id the lookup table's identifier
+         * @param subtables a pre-poplated list of subtables or null
+         */
+        public LookupTable ( String id, List/*<GlyphSubtable>*/ subtables ) {
+            assert id != null;
+            assert id.length() != 0;
+            this.id = id;
+            this.subtables = new LinkedList/*<GlyphSubtable>*/();
+            if ( subtables != null ) {
+                for ( Iterator it = subtables.iterator(); it.hasNext(); ) {
+                    GlyphSubtable st = (GlyphSubtable) it.next();
+                    addSubtable ( st );
+                }
+            }
+        }
+
+        /** @return the identifier */
+        public String getId() {
+            return id;
+        }
+
+        /** @return the subtables as an array */
+        public GlyphSubtable[] getSubtables() {
+            if ( frozen ) {
+                return ( subtablesArray != null ) ? subtablesArray : subtablesArrayEmpty;
+            } else {
+                if ( doesSub ) {
+                    return (GlyphSubtable[]) subtables.toArray ( new GlyphSubstitutionSubtable [ subtables.size() ] );
+                } else if ( doesPos ) {
+                    return (GlyphSubtable[]) subtables.toArray ( new GlyphPositioningSubtable [ subtables.size() ] );
+                } else {
+                    return null;
+                }
+            }
+        }
+
+        /**
+         * Add a subtable into this lookup table's collecion of subtables according to its
+         * natural order.
+         * @param subtable to add
+         * @return true if subtable was not already present, otherwise false
+         */
+        public boolean addSubtable ( GlyphSubtable subtable ) {
+            boolean added = false;
+            // ensure table is not frozen
+            if ( frozen ) {
+                throw new IllegalStateException ( "glyph table is frozen, subtable addition prohibited" );
+            }
+            // validate subtable to ensure consistency with current subtables
+            validateSubtable ( subtable );
+            // insert subtable into ordered list
+            for ( ListIterator/*<GlyphSubtable>*/ lit = subtables.listIterator(0); lit.hasNext(); ) {
+                GlyphSubtable st = (GlyphSubtable) lit.next();
+                int d;
+                if ( ( d = subtable.compareTo ( st ) ) < 0 ) {
+                    // insert within list
+                    lit.set ( subtable );
+                    lit.add ( st );
+                    added = true;
+                } else if ( d == 0 ) {
+                    // duplicate entry is ignored
+                    added = false; subtable = null;
+                }
+            }
+            // append at end of list
+            if ( ! added && ( subtable != null ) ) {
+                subtables.add ( subtable );
+                added = true;
+            }
+            return added;
+        }
+
+        private void validateSubtable ( GlyphSubtable subtable ) {
+            if ( subtable == null ) {
+                throw new AdvancedTypographicTableFormatException ( "subtable must be non-null" );
+            }
+            if ( subtable instanceof GlyphSubstitutionSubtable ) {
+                if ( doesPos ) {
+                    throw new AdvancedTypographicTableFormatException ( "subtable must be positioning subtable, but is: " + subtable );
+                } else {
+                    doesSub = true;
+                }
+            }
+            if ( subtable instanceof GlyphPositioningSubtable ) {
+                if ( doesSub ) {
+                    throw new AdvancedTypographicTableFormatException ( "subtable must be substitution subtable, but is: " + subtable );
+                } else {
+                    doesPos = true;
+                }
+            }
+            if ( subtables.size() > 0 ) {
+                GlyphSubtable st = (GlyphSubtable) subtables.get(0);
+                if ( ! st.isCompatible ( subtable ) ) {
+                    throw new AdvancedTypographicTableFormatException ( "subtable " + subtable + " is not compatible with subtable " + st );
+                }
+            }
+        }
+
+        /**
+         * Freeze subtables, i.e., do not allow further subtable addition, and
+         * create resulting cached state. In addition, resolve any references to
+         * lookup tables that appear in this lookup table's subtables.
+         * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
+         */
+        public void freezeSubtables ( Map/*<String,LookupTable>*/ lookupTables ) {
+            if ( ! frozen ) {
+                GlyphSubtable[] sta = getSubtables();
+                resolveLookupReferences ( sta, lookupTables );
+                this.subtablesArray = sta;
+                this.frozen = true;
+            }
+        }
+
+        private void resolveLookupReferences ( GlyphSubtable[] subtables, Map/*<String,LookupTable>*/ lookupTables ) {
+            if ( subtables != null ) {
+                for ( int i = 0, n = subtables.length; i < n; i++ ) {
+                    GlyphSubtable st = subtables [ i ];
+                    if ( st != null ) {
+                        st.resolveLookupReferences ( lookupTables );
+                    }
+                }
+            }
+        }
+
+        /**
+         * Determine if this glyph table performs substitution.
+         * @return true if it performs substitution
+         */
+        public boolean performsSubstitution() {
+            return doesSub;
+        }
+
+        /**
+         * Perform substitution processing using this lookup table's subtables.
+         * @param gs an input glyph sequence
+         * @param script a script identifier
+         * @param language a language identifier
+         * @param feature a feature identifier
+         * @param sct a script specific context tester (or null)
+         * @return the substituted (output) glyph sequence
+         */
+        public GlyphSequence substitute ( GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct ) {
+            if ( performsSubstitution() ) {
+                return GlyphSubstitutionSubtable.substitute ( gs, script, language, feature, (GlyphSubstitutionSubtable[]) subtablesArray, sct );
+            } else {
+                return gs;
+            }
+        }
+
+        /**
+         * Perform substitution processing on an existing glyph substitution state object using this lookup table's subtables.
+         * @param ss a glyph substitution state object
+         * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
+         * @return the substituted (output) glyph sequence
+         */
+        public GlyphSequence substitute ( GlyphSubstitutionState ss, int sequenceIndex ) {
+            if ( performsSubstitution() ) {
+                return GlyphSubstitutionSubtable.substitute ( ss, (GlyphSubstitutionSubtable[]) subtablesArray, sequenceIndex );
+            } else {
+                return ss.getInput();
+            }
+        }
+
+        /**
+         * Determine if this glyph table performs positioning.
+         * @return true if it performs positioning
+         */
+        public boolean performsPositioning() {
+            return doesPos;
+        }
+
+        /**
+         * Perform positioning processing using this lookup table's subtables.
+         * @param gs an input glyph sequence
+         * @param script a script identifier
+         * @param language a language identifier
+         * @param feature a feature identifier
+         * @param fontSize size in device units
+         * @param widths array of default advancements for each glyph in font
+         * @param adjustments accumulated adjustments array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
+         * with one 4-tuple for each element of glyph sequence
+         * @param sct a script specific context tester (or null)
+         * @return true if some adjustment is not zero; otherwise, false
+         */
+        public boolean position ( GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct ) {
+            if ( performsPositioning() ) {
+                return GlyphPositioningSubtable.position ( gs, script, language, feature, fontSize, (GlyphPositioningSubtable[]) subtablesArray, widths, adjustments, sct );
+            } else {
+                return false;
+            }
+        }
+
+        /**
+         * Perform positioning processing on an existing glyph positioning state object using this lookup table's subtables.
+         * @param ps a glyph positioning state object
+         * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
+         * @return true if some adjustment is not zero; otherwise, false
+         */
+        public boolean position ( GlyphPositioningState ps, int sequenceIndex ) {
+            if ( performsPositioning() ) {
+                return GlyphPositioningSubtable.position ( ps, (GlyphPositioningSubtable[]) subtablesArray, sequenceIndex );
+            } else {
+                return false;
+            }
+        }
+
+        /** {@inheritDoc} */
+        public int hashCode() {
+            return id.hashCode();
+        }
+
+        /**
+         * {@inheritDoc}
+         * @return true if identifier of the specified lookup table is the same
+         * as the identifier of this lookup table
+         */
+        public boolean equals ( Object o ) {
+            if ( o instanceof LookupTable ) {
+                LookupTable lt = (LookupTable) o;
+                return id.equals ( lt.id );
+            } else {
+                return false;
+            }
+        }
+
+        /**
+         * {@inheritDoc}
+         * @return the result of comparing the identifier of the specified lookup table with
+         * the identifier of this lookup table; lookup table identifiers take the form
+         * "lu(DIGIT)+", with comparison based on numerical ordering of numbers expressed by
+         * (DIGIT)+.
+         */
+        public int compareTo ( Object o ) {
+            if ( o instanceof LookupTable ) {
+                LookupTable lt = (LookupTable) o;
+                assert id.startsWith ( "lu" );
+                int i = Integer.parseInt ( id.substring ( 2 ) );
+                assert lt.id.startsWith ( "lu" );
+                int j = Integer.parseInt ( lt.id.substring ( 2 ) );
+                if ( i < j ) {
+                    return -1;
+                } else if ( i > j ) {
+                    return 1;
+                } else {
+                    return 0;
+                }
+            } else {
+                return -1;
+            }
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ " );
+            sb.append ( "id = " + id );
+            sb.append ( ", subtables = " + subtables );
+            sb.append ( " }" );
+            return sb.toString();
+        }
+
+        private static List/*<GlyphSubtable>*/ makeSingleton ( GlyphSubtable subtable ) {
+            if ( subtable == null ) {
+                return null;
+            } else {
+                List/*<GlyphSubtable>*/ stl = new ArrayList/*<GlyphSubtable>*/ ( 1 );
+                stl.add ( subtable );
+                return stl;
+            }
+        }
+
+    }
+
+    /**
+     * The <code>UseSpec</code> class comprises a lookup table reference
+     * and the feature that selected the lookup table.
+     */
+    public static class UseSpec implements Comparable {
+
+        /** lookup table to apply */
+        private final LookupTable lookupTable;
+        /** feature that caused selection of the lookup table */
+        private final String feature;
+
+        /**
+         * Construct a glyph lookup table use specification.
+         * @param lookupTable a glyph lookup table
+         * @param feature a feature that caused lookup table selection 
+         */
+        public UseSpec ( LookupTable lookupTable, String feature ) {
+            this.lookupTable = lookupTable;
+            this.feature = feature;
+        }
+
+        /** @return the lookup table */
+        public LookupTable getLookupTable() {
+            return lookupTable;
+        }
+
+        /** @return the feature that selected this lookup table */
+        public String getFeature() {
+            return feature;
+        }
+
+        /**
+         * Perform substitution processing using this use specification's lookup table.
+         * @param gs an input glyph sequence
+         * @param script a script identifier
+         * @param language a language identifier
+         * @param sct a script specific context tester (or null)
+         * @return the substituted (output) glyph sequence
+         */
+        public GlyphSequence substitute ( GlyphSequence gs, String script, String language, ScriptContextTester sct ) {
+            return lookupTable.substitute ( gs, script, language, feature, sct );
+        }
+
+        /**
+         * Perform positioning processing using this use specification's lookup table.
+         * @param gs an input glyph sequence
+         * @param script a script identifier
+         * @param language a language identifier
+         * @param fontSize size in device units
+         * @param widths array of default advancements for each glyph in font
+         * @param adjustments accumulated adjustments array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
+         * with one 4-tuple for each element of glyph sequence
+         * @param sct a script specific context tester (or null)
+         * @return true if some adjustment is not zero; otherwise, false
+         */
+        public boolean position ( GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct ) {
+            return lookupTable.position ( gs, script, language, feature, fontSize, widths, adjustments, sct );
+        }
+
+        /** {@inheritDoc} */
+        public int hashCode() {
+            return lookupTable.hashCode();
+        }
+
+        /** {@inheritDoc} */
+        public boolean equals ( Object o ) {
+            if ( o instanceof UseSpec ) {
+                UseSpec u = (UseSpec) o;
+                return lookupTable.equals ( u.lookupTable );
+            } else {
+                return false;
+            }
+        }
+
+        /** {@inheritDoc} */
+        public int compareTo ( Object o ) {
+            if ( o instanceof UseSpec ) {
+                UseSpec u = (UseSpec) o;
+                return lookupTable.compareTo ( u.lookupTable );
+            } else {
+                return -1;
+            }
+        }
+
+    }
+
+    /**
+     * The <code>RuleLookup</code> class implements a rule lookup record, comprising
+     * a glyph sequence index and a lookup table index (in an applicable lookup list).
+     */
+    public static class RuleLookup {
+
+        private final int sequenceIndex;                        // index into input glyph sequence
+        private final int lookupIndex;                          // lookup list index
+        private LookupTable lookup;                             // resolved lookup table
+
+        /**
+         * Instantiate a RuleLookup.
+         * @param sequenceIndex the index into the input sequence
+         * @param lookupIndex the lookup table index
+         */
+        public RuleLookup ( int sequenceIndex, int lookupIndex ) {
+            this.sequenceIndex = sequenceIndex;
+            this.lookupIndex = lookupIndex;
+            this.lookup = null;
+        }
+
+        /** @return the sequence index */
+        public int getSequenceIndex() {
+            return sequenceIndex;
+        }
+
+        /** @return the lookup index */
+        public int getLookupIndex() {
+            return lookupIndex;
+        }
+
+        /** @return the lookup table */
+        public LookupTable getLookup() {
+            return lookup;
+        }
+
+        /**
+         * Resolve references to lookup tables.
+         * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
+         */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            if ( lookupTables != null ) {
+                String lid = "lu" + Integer.toString ( lookupIndex );
+                LookupTable lt = (LookupTable) lookupTables.get ( lid );
+                if ( lt != null ) {
+                    this.lookup = lt;
+                } else {
+                    log.warn ( "unable to resolve glyph lookup table reference '" + lid + "' amongst lookup tables: " + lookupTables.values() );
+                }
+            }
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            return "{ sequenceIndex = " + sequenceIndex + ", lookupIndex = " + lookupIndex + " }";
+        }
+
+    }
+
+    /**
+     * The <code>Rule</code> class implements an array of rule lookup records.
+     */
+    public abstract static class Rule {
+
+        private final RuleLookup[] lookups;                     // rule lookups
+        private final int inputSequenceLength;                  // input sequence length
+
+        /**
+         * Instantiate a Rule.
+         * @param lookups the rule's lookups
+         * @param inputSequenceLength the number of glyphs in the input sequence for this rule
+         */
+        protected Rule ( RuleLookup[] lookups, int inputSequenceLength ) {
+            assert lookups != null;
+            this.lookups = lookups;
+            this.inputSequenceLength = inputSequenceLength;
+        }
+
+        /** @return the lookups */
+        public RuleLookup[] getLookups() {
+            return lookups;
+        }
+
+        /** @return the input sequence length */
+        public int getInputSequenceLength() {
+            return inputSequenceLength;
+        }
+
+        /**
+         * Resolve references to lookup tables, e.g., in RuleLookup, to the lookup tables themselves.
+         * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
+         */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            if ( lookups != null ) {
+                for ( int i = 0, n = lookups.length; i < n; i++ ) {
+                    RuleLookup l = lookups [ i ];
+                    if ( l != null ) {
+                        l.resolveLookupReferences ( lookupTables );
+                    }
+                }
+            }
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            return "{ lookups = " + Arrays.toString ( lookups ) + ", inputSequenceLength = " + inputSequenceLength + " }";
+        }
+
+    }
+
+    /**
+     * The <code>GlyphSequenceRule</code> class implements a subclass of <code>Rule</code>
+     * that supports matching on a specific glyph sequence.
+     */
+    public static class GlyphSequenceRule extends Rule {
+
+        private final int[] glyphs;                             // glyphs
+
+        /**
+         * Instantiate a GlyphSequenceRule.
+         * @param lookups the rule's lookups
+         * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
+         * @param glyphs the rule's glyph sequence to match, starting with second glyph in sequence
+         */
+        public GlyphSequenceRule ( RuleLookup[] lookups, int inputSequenceLength, int[] glyphs ) {
+            super ( lookups, inputSequenceLength );
+            assert glyphs != null;
+            this.glyphs = glyphs;
+        }
+
+        /**
+         * Obtain glyphs. N.B. that this array starts with the second
+         * glyph of the input sequence.
+         * @return the glyphs
+         */
+        public int[] getGlyphs() {
+            return glyphs;
+        }
+
+        /**
+         * Obtain glyphs augmented by specified first glyph entry.
+         * @param firstGlyph to fill in first glyph entry
+         * @return the glyphs augmented by first glyph
+         */
+        public int[] getGlyphs ( int firstGlyph ) {
+            int[] ga = new int [ glyphs.length + 1 ];
+            ga [ 0 ] = firstGlyph;
+            System.arraycopy ( glyphs, 0, ga, 1, glyphs.length );
+            return ga;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ " );
+            sb.append ( "lookups = " + Arrays.toString ( getLookups() ) );
+            sb.append ( ", glyphs = " + Arrays.toString ( glyphs ) );
+            sb.append ( " }" );
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>ClassSequenceRule</code> class implements a subclass of <code>Rule</code>
+     * that supports matching on a specific glyph class sequence.
+     */
+    public static class ClassSequenceRule extends Rule {
+
+        private final int[] classes;                            // glyph classes
+
+        /**
+         * Instantiate a ClassSequenceRule.
+         * @param lookups the rule's lookups
+         * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
+         * @param classes the rule's glyph class sequence to match, starting with second glyph in sequence
+         */
+        public ClassSequenceRule ( RuleLookup[] lookups, int inputSequenceLength, int[] classes ) {
+            super ( lookups, inputSequenceLength );
+            assert classes != null;
+            this.classes = classes;
+        }
+
+        /**
+         * Obtain glyph classes. N.B. that this array starts with the class of the second
+         * glyph of the input sequence.
+         * @return the classes
+         */
+        public int[] getClasses() {
+            return classes;
+        }
+
+        /**
+         * Obtain glyph classes augmented by specified first class entry.
+         * @param firstClass to fill in first class entry
+         * @return the classes augmented by first class
+         */
+        public int[] getClasses ( int firstClass ) {
+            int[] ca = new int [ classes.length + 1 ];
+            ca [ 0 ] = firstClass;
+            System.arraycopy ( classes, 0, ca, 1, classes.length );
+            return ca;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ " );
+            sb.append ( "lookups = " + Arrays.toString ( getLookups() ) );
+            sb.append ( ", classes = " + Arrays.toString( classes ) );
+            sb.append ( " }" );
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>CoverageSequenceRule</code> class implements a subclass of <code>Rule</code>
+     * that supports matching on a specific glyph coverage sequence.
+     */
+    public static class CoverageSequenceRule extends Rule {
+
+        private final GlyphCoverageTable[] coverages;           // glyph coverages
+
+        /**
+         * Instantiate a ClassSequenceRule.
+         * @param lookups the rule's lookups
+         * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
+         * @param coverages the rule's glyph coverage sequence to match, starting with first glyph in sequence
+         */
+        public CoverageSequenceRule ( RuleLookup[] lookups, int inputSequenceLength, GlyphCoverageTable[] coverages ) {
+            super ( lookups, inputSequenceLength );
+            assert coverages != null;
+            this.coverages = coverages;
+        }
+
+        /** @return the coverages */
+        public GlyphCoverageTable[] getCoverages() {
+            return coverages;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ " );
+            sb.append ( "lookups = " + Arrays.toString ( getLookups() ) );
+            sb.append ( ", coverages = " + Arrays.toString( coverages ) );
+            sb.append ( " }" );
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>ChainedGlyphSequenceRule</code> class implements a subclass of <code>GlyphSequenceRule</code>
+     * that supports matching on a specific glyph sequence in a specific chained contextual.
+     */
+    public static class ChainedGlyphSequenceRule extends GlyphSequenceRule {
+
+        private final int[] backtrackGlyphs;                    // backtrack glyphs
+        private final int[] lookaheadGlyphs;                    // lookahead glyphs
+
+        /**
+         * Instantiate a ChainedGlyphSequenceRule.
+         * @param lookups the rule's lookups
+         * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
+         * @param glyphs the rule's input glyph sequence to match, starting with second glyph in sequence
+         * @param backtrackGlyphs the rule's backtrack glyph sequence to match, starting with first glyph in sequence
+         * @param lookaheadGlyphs the rule's lookahead glyph sequence to match, starting with first glyph in sequence
+         */
+        public ChainedGlyphSequenceRule ( RuleLookup[] lookups, int inputSequenceLength, int[] glyphs, int[] backtrackGlyphs, int[] lookaheadGlyphs ) {
+            super ( lookups, inputSequenceLength, glyphs );
+            assert backtrackGlyphs != null;
+            assert lookaheadGlyphs != null;
+            this.backtrackGlyphs = backtrackGlyphs;
+            this.lookaheadGlyphs = lookaheadGlyphs;
+        }
+
+        /** @return the backtrack glyphs */
+        public int[] getBacktrackGlyphs() {
+            return backtrackGlyphs;
+        }
+
+        /** @return the lookahead glyphs */
+        public int[] getLookaheadGlyphs() {
+            return lookaheadGlyphs;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ " );
+            sb.append ( "lookups = " + Arrays.toString ( getLookups() ) );
+            sb.append ( ", glyphs = " + Arrays.toString ( getGlyphs() ) );
+            sb.append ( ", backtrackGlyphs = " + Arrays.toString ( backtrackGlyphs ) );
+            sb.append ( ", lookaheadGlyphs = " + Arrays.toString ( lookaheadGlyphs ) );
+            sb.append ( " }" );
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>ChainedClassSequenceRule</code> class implements a subclass of <code>ClassSequenceRule</code>
+     * that supports matching on a specific glyph class sequence in a specific chained contextual.
+     */
+    public static class ChainedClassSequenceRule extends ClassSequenceRule {
+
+        private final int[] backtrackClasses;                    // backtrack classes
+        private final int[] lookaheadClasses;                    // lookahead classes
+
+        /**
+         * Instantiate a ChainedClassSequenceRule.
+         * @param lookups the rule's lookups
+         * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
+         * @param classes the rule's input glyph class sequence to match, starting with second glyph in sequence
+         * @param backtrackClasses the rule's backtrack glyph class sequence to match, starting with first glyph in sequence
+         * @param lookaheadClasses the rule's lookahead glyph class sequence to match, starting with first glyph in sequence
+         */
+        public ChainedClassSequenceRule ( RuleLookup[] lookups, int inputSequenceLength, int[] classes, int[] backtrackClasses, int[] lookaheadClasses ) {
+            super ( lookups, inputSequenceLength, classes );
+            assert backtrackClasses != null;
+            assert lookaheadClasses != null;
+            this.backtrackClasses = backtrackClasses;
+            this.lookaheadClasses = lookaheadClasses;
+        }
+
+        /** @return the backtrack classes */
+        public int[] getBacktrackClasses() {
+            return backtrackClasses;
+        }
+
+        /** @return the lookahead classes */
+        public int[] getLookaheadClasses() {
+            return lookaheadClasses;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ " );
+            sb.append ( "lookups = " + Arrays.toString ( getLookups() ) );
+            sb.append ( ", classes = " + Arrays.toString ( getClasses() ) );
+            sb.append ( ", backtrackClasses = " + Arrays.toString ( backtrackClasses ) );
+            sb.append ( ", lookaheadClasses = " + Arrays.toString ( lookaheadClasses ) );
+            sb.append ( " }" );
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>ChainedCoverageSequenceRule</code> class implements a subclass of <code>CoverageSequenceRule</code>
+     * that supports matching on a specific glyph class sequence in a specific chained contextual.
+     */
+    public static class ChainedCoverageSequenceRule extends CoverageSequenceRule {
+
+        private final GlyphCoverageTable[] backtrackCoverages;  // backtrack coverages
+        private final GlyphCoverageTable[] lookaheadCoverages;  // lookahead coverages
+
+        /**
+         * Instantiate a ChainedCoverageSequenceRule.
+         * @param lookups the rule's lookups
+         * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
+         * @param coverages the rule's input glyph class sequence to match, starting with first glyph in sequence
+         * @param backtrackCoverages the rule's backtrack glyph class sequence to match, starting with first glyph in sequence
+         * @param lookaheadCoverages the rule's lookahead glyph class sequence to match, starting with first glyph in sequence
+         */
+        public ChainedCoverageSequenceRule ( RuleLookup[] lookups, int inputSequenceLength, GlyphCoverageTable[] coverages, GlyphCoverageTable[] backtrackCoverages, GlyphCoverageTable[] lookaheadCoverages ) {
+            super ( lookups, inputSequenceLength, coverages );
+            assert backtrackCoverages != null;
+            assert lookaheadCoverages != null;
+            this.backtrackCoverages = backtrackCoverages;
+            this.lookaheadCoverages = lookaheadCoverages;
+        }
+
+        /** @return the backtrack coverages */
+        public GlyphCoverageTable[] getBacktrackCoverages() {
+            return backtrackCoverages;
+        }
+
+        /** @return the lookahead coverages */
+        public GlyphCoverageTable[] getLookaheadCoverages() {
+            return lookaheadCoverages;
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            sb.append ( "{ " );
+            sb.append ( "lookups = " + Arrays.toString ( getLookups() ) );
+            sb.append ( ", coverages = " + Arrays.toString ( getCoverages() ) );
+            sb.append ( ", backtrackCoverages = " + Arrays.toString ( backtrackCoverages ) );
+            sb.append ( ", lookaheadCoverages = " + Arrays.toString ( lookaheadCoverages ) );
+            sb.append ( " }" );
+            return sb.toString();
+        }
+
+    }
+
+    /**
+     * The <code>RuleSet</code> class implements a collection of rules, which
+     * may or may not be the same rule type.
+     */
+    public static class RuleSet {
+
+        private final Rule[] rules;                             // set of rules
+
+        /**
+         * Instantiate a Rule Set.
+         * @param rules the rules
+         * @throws AdvancedTypographicTableFormatException if rules or some element of rules is null
+         */
+        public RuleSet ( Rule[] rules ) throws AdvancedTypographicTableFormatException {
+            // enforce rules array instance
+            if ( rules == null ) {
+                throw new AdvancedTypographicTableFormatException ( "rules[] is null" );
+            }
+            this.rules = rules;
+        }
+
+        /** @return the rules */
+        public Rule[] getRules() {
+            return rules;
+        }
+
+        /**
+         * Resolve references to lookup tables, e.g., in RuleLookup, to the lookup tables themselves.
+         * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
+         */
+        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
+            if ( rules != null ) {
+                for ( int i = 0, n = rules.length; i < n; i++ ) {
+                    Rule r = rules [ i ];
+                    if ( r != null ) {
+                        r.resolveLookupReferences ( lookupTables );
+                    }
+                }
+            }
+        }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            return "{ rules = " + Arrays.toString ( rules ) + " }";
+        }
+
+    }
+
+    /**
+     * The <code>HomogenousRuleSet</code> class implements a collection of rules, which
+     * must be the same rule type (i.e., same concrete rule class) or null.
+     */
+    public static class HomogeneousRuleSet extends RuleSet {
+
+        /**
+         * Instantiate a Homogeneous Rule Set.
+         * @param rules the rules
+         * @throws AdvancedTypographicTableFormatException if some rule[i] is not an instance of rule[0]
+         */
+        public HomogeneousRuleSet ( Rule[] rules ) throws AdvancedTypographicTableFormatException {
+            super ( rules );
+            // find first non-null rule
+            Rule r0 = null;
+            for ( int i = 1, n = rules.length; ( r0 == null ) && ( i < n ); i++ ) {
+                if ( rules[i] != null ) {
+                    r0 = rules[i];
+                }
+            }
+            // enforce rule instance homogeneity
+            if ( r0 != null ) {
+                Class c = r0.getClass();
+                for ( int i = 1, n = rules.length; i < n; i++ ) {
+                    Rule r = rules[i];
+                    if ( ( r != null ) && ! c.isInstance ( r ) ) {
+                        throw new AdvancedTypographicTableFormatException ( "rules[" + i + "] is not an instance of " + c.getName() );
+                    }
+                }
+            }
+
+        }
+
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/GlyphTester.java b/src/java/org/apache/fop/fonts/GlyphTester.java
new file mode 100644
index 0000000..92d3dd9
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/GlyphTester.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+/**
+ * Interface for testing glyph properties according to glyph identifier.
+ * @author Glenn Adams
+ */
+public interface GlyphTester {
+
+    /**
+     * Perform a test on a glyph identifier.
+     * @param gi glyph identififer
+     * @return true if test is satisfied
+     */
+    boolean test ( int gi );
+
+}
diff --git a/src/java/org/apache/fop/fonts/IncompatibleSubtableException.java b/src/java/org/apache/fop/fonts/IncompatibleSubtableException.java
new file mode 100644
index 0000000..ebc35ce
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/IncompatibleSubtableException.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+/**
+ * Exception thrown during when attempting to map glyphs to associated characters
+ * in the case that the associated characters do not represent a compact interval.
+ * @author Glenn Adams
+ */
+public class IncompatibleSubtableException extends RuntimeException {
+    /**
+     * Instantiate incompatible subtable exception
+     */
+    public IncompatibleSubtableException() {
+        super();
+    }
+    /**
+     * Instantiate incompatible subtable exception
+     * @param message a message string
+     */
+    public IncompatibleSubtableException(String message) {
+        super(message);
+    }
+}
diff --git a/src/java/org/apache/fop/fonts/IndicScriptProcessor.java b/src/java/org/apache/fop/fonts/IndicScriptProcessor.java
new file mode 100644
index 0000000..168a0c2
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/IndicScriptProcessor.java
@@ -0,0 +1,579 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.Vector;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.fop.util.CharUtilities;
+
+// CSOFF: AvoidNestedBlocksCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: SimplifyBooleanReturnCheck
+// CSOFF: EmptyForIteratorPadCheck
+// CSOFF: WhitespaceAfterCheck
+// CSOFF: ParameterNumberCheck
+// CSOFF: LineLengthCheck
+
+/**
+ * <p>The <code>IndicScriptProcessor</code> class implements a script processor for
+ * performing glyph substitution and positioning operations on content associated with the Indic script.</p>
+ * @author Glenn Adams
+ */
+public class IndicScriptProcessor extends DefaultScriptProcessor {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(IndicScriptProcessor.class);                                      // CSOK: ConstantNameCheck
+
+    /** required features to use for substitutions */
+    private static final String[] gsubReqFeatures =                                                                    // CSOK: ConstantNameCheck
+    {
+        "abvf",                                                 // above base forms
+        "abvs",                                                 // above base substitutions
+        "akhn",                                                 // akhand
+        "blwf",                                                 // below base forms
+        "blws",                                                 // below base substitutions
+        "ccmp",                                                 // glyph composition/decomposition
+        "cjct",                                                 // conjunct forms
+        "clig",                                                 // contextual ligatures
+        "half",                                                 // half forms
+        "haln",                                                 // halant forms
+        "locl",                                                 // localized forms
+        "nukt",                                                 // nukta forms
+        "pref",                                                 // pre-base forms
+        "pres",                                                 // pre-base substitutions
+        "pstf",                                                 // post-base forms
+        "psts",                                                 // post-base substitutions
+        "rkrf",                                                 // rakar forms
+        "rphf",                                                 // reph form
+        "vatu"                                                  // vattu variants
+    };
+
+    /** optional features to use for substitutions */
+    private static final String[] gsubOptFeatures =                                                                     // CSOK: ConstantNameCheck
+    {
+        "afrc",                                                 // alternative fractions
+        "calt",                                                 // contextual alternatives
+        "dlig"                                                  // discretionary ligatures
+    };
+
+    /** required features to use for positioning */
+    private static final String[] gposReqFeatures =                                                                     // CSOK: ConstantNameCheck
+    {
+        "abvm",                                                 // above base marks
+        "blwm",                                                 // below base marks
+        "dist",                                                 // distance (adjustment)
+        "kern"                                                  // kerning
+    };
+
+    /** required features to use for positioning */
+    private static final String[] gposOptFeatures =                                                                     // CSOK: ConstantNameCheck
+    {
+    };
+
+    private static class SubstitutionScriptContextTester implements ScriptContextTester {
+        private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
+        public GlyphContextTester getTester ( String feature ) {
+            return (GlyphContextTester) testerMap.get ( feature );
+        }
+    }
+
+    private static class PositioningScriptContextTester implements ScriptContextTester {
+        private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
+        public GlyphContextTester getTester ( String feature ) {
+            return (GlyphContextTester) testerMap.get ( feature );
+        }
+    }
+
+    /**
+     * Make script specific flavor of Indic script processor.
+     * @param script tag
+     * @return script processor instance
+     */
+    public static ScriptProcessor makeProcessor ( String script ) {
+        switch ( CharUtilities.scriptCodeFromTag ( script ) ) {
+        case CharUtilities.SCRIPT_DEVANAGARI:
+        case CharUtilities.SCRIPT_DEVANAGARI_2:
+            return new DevanagariScriptProcessor ( script );
+        // [TBD] implement other script processors
+        default:
+            return new IndicScriptProcessor ( script );
+        }
+    }
+
+    private final ScriptContextTester subContextTester;
+    private final ScriptContextTester posContextTester;
+
+    IndicScriptProcessor ( String script ) {
+        super ( script );
+        this.subContextTester = new SubstitutionScriptContextTester();
+        this.posContextTester = new PositioningScriptContextTester();
+    }
+
+    /** {@inheritDoc} */
+    public String[] getSubstitutionFeatures() {
+        return gsubReqFeatures;
+    }
+
+    /** {@inheritDoc} */
+    public String[] getOptionalSubstitutionFeatures() {
+        return gsubOptFeatures;
+    }
+
+    /** {@inheritDoc} */
+    public ScriptContextTester getSubstitutionContextTester() {
+        return subContextTester;
+    }
+
+    /** {@inheritDoc} */
+    public String[] getPositioningFeatures() {
+        return gposReqFeatures;
+    }
+
+    /** {@inheritDoc} */
+    public String[] getOptionalPositioningFeatures() {
+        return gposOptFeatures;
+    }
+
+    /** {@inheritDoc} */
+    public ScriptContextTester getPositioningContextTester() {
+        return posContextTester;
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public GlyphSequence substitute ( GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct ) {
+        assert usa != null;
+        // 1. syllabize
+        GlyphSequence[] sa = syllabize ( gs, script, language );
+        // 2. process each syllable
+        for ( int i = 0, n = sa.length; i < n; i++ ) {
+            GlyphSequence s = sa [ i ];
+            // apply basic shaping subs
+            for ( int j = 0, m = usa.length; j < m; j++ ) {
+                GlyphTable.UseSpec us = usa [ j ];
+                if ( isBasicShapingUse ( us ) ) {
+                    s.setPredications ( true );
+                    s = us.substitute ( s, script, language, sct );
+                }
+            }
+            // reorder pre-base matra
+            s = reorderPreBaseMatra ( s );
+            // reorder reph
+            s = reorderReph ( s );
+            // apply presentation subs
+            for ( int j = 0, m = usa.length; j < m; j++ ) {
+                GlyphTable.UseSpec us = usa [ j ];
+                if ( isPresentationUse ( us ) ) {
+                    s.setPredications ( true );
+                    s = us.substitute ( s, script, language, sct );
+                }
+            }
+            // record result
+            sa [ i ] = s;
+        }
+        // 3. return reassembled substituted syllables
+        return unsyllabize ( gs, sa );
+    }
+
+    /**
+     * Get script specific syllabizer class.
+     * @return a syllabizer class object or null
+     */
+    protected Class<? extends Syllabizer> getSyllabizerClass() {
+        return null;
+    }
+
+    private GlyphSequence[] syllabize ( GlyphSequence gs, String script, String language ) {
+        return Syllabizer.getSyllabizer ( script, language, getSyllabizerClass() ) . syllabize ( gs );
+    }
+
+    private GlyphSequence unsyllabize ( GlyphSequence gs, GlyphSequence[] sa ) {
+        return GlyphSequence.join ( gs, sa );
+    }
+
+    private static Set<String> basicShapingFeatures;
+    private static final String[] basicShapingFeatureStrings = {                                                        // CSOK: ConstantNameCheck
+        "abvf",
+        "akhn",
+        "blwf",
+        "cjct",
+        "half",
+        "locl",
+        "nukt",
+        "pref",
+        "pstf",
+        "rkrf",
+        "rphf",
+        "vatu",
+    };
+    static {
+        basicShapingFeatures = new HashSet<String>();
+        for ( String s : basicShapingFeatureStrings ) {
+            basicShapingFeatures.add ( s );
+        }
+    }
+    private boolean isBasicShapingUse ( GlyphTable.UseSpec us ) {
+        assert us != null;
+        if ( basicShapingFeatures != null ) {
+            return basicShapingFeatures.contains ( us.getFeature() );
+        } else {
+            return false;
+        }
+    }
+
+    private static  Set<String> presentationFeatures;
+    private static final String[] presentationFeatureStrings = {                                                        // CSOK: ConstantNameCheck
+        "abvs",
+        "blws",
+        "calt",
+        "haln",
+        "pres",
+        "psts",
+    };
+    static {
+        presentationFeatures = new HashSet<String>();
+        for ( String s : presentationFeatureStrings ) {
+            presentationFeatures.add ( s );
+        }
+    }
+    private boolean isPresentationUse ( GlyphTable.UseSpec us ) {
+        assert us != null;
+        if ( presentationFeatures != null ) {
+            return presentationFeatures.contains ( us.getFeature() );
+        } else {
+            return false;
+        }
+    }
+
+    private GlyphSequence reorderPreBaseMatra ( GlyphSequence gs ) {
+        int source;
+        if ( ( source = findPreBaseMatra ( gs ) ) >= 0 ) {
+            int target;
+            if ( ( target = findPreBaseMatraTarget ( gs, source ) ) >= 0 ) {
+                if ( target != source ) {
+                    gs = reorder ( gs, source, target );
+                }
+            }
+        }
+        return gs;
+    }
+
+    /**
+     * Find pre-base matra in sequence.
+     * @param gs input sequence
+     * @return index of pre-base matra or -1 if not found
+     */
+    protected int findPreBaseMatra ( GlyphSequence gs ) {
+        return -1;
+    }
+
+    /**
+     * Find pre-base matra target in sequence.
+     * @param gs input sequence
+     * @param source index of pre-base matra
+     * @return index of pre-base matra target or -1
+     */
+    protected int findPreBaseMatraTarget ( GlyphSequence gs, int source ) {
+        return -1;
+    }
+
+    private GlyphSequence reorderReph ( GlyphSequence gs ) {
+        int source;
+        if ( ( source = findReph ( gs ) ) >= 0 ) {
+            int target;
+            if ( ( target = findRephTarget ( gs, source ) ) >= 0 ) {
+                if ( target != source ) {
+                    gs = reorder ( gs, source, target );
+                }
+            }
+        }
+        return gs;
+    }
+
+    /**
+     * Find reph in sequence.
+     * @param gs input sequence
+     * @return index of reph or -1 if not found
+     */
+    protected int findReph ( GlyphSequence gs ) {
+        return -1;
+    }
+
+    /**
+     * Find reph target in sequence.
+     * @param gs input sequence
+     * @param source index of reph
+     * @return index of reph target or -1
+     */
+    protected int findRephTarget ( GlyphSequence gs, int source ) {
+        return -1;
+    }
+
+    private GlyphSequence reorder ( GlyphSequence gs, int source, int target ) {
+        return GlyphSequence.reorder ( gs, source, 1, target );
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public boolean position ( GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct ) {
+        boolean adjusted = super.position ( gs, script, language, fontSize, usa, widths, adjustments, sct );
+        return adjusted;
+    }
+
+    /** Abstract syllabizer. */
+    protected abstract static class Syllabizer {
+        private String script;
+        private String language;
+        Syllabizer ( String script, String language ) {
+            this.script = script;
+            this.language = language;
+        }
+        /**
+         * Subdivide glyph sequence GS into syllabic segments each represented by a distinct
+         * output glyph sequence.
+         * @param gs input glyph sequence
+         * @return segmented syllabic glyph sequences
+         */
+        abstract GlyphSequence[] syllabize ( GlyphSequence gs );
+        /** {@inheritDoc} */
+        public int hashCode() {
+            int hc = 0;
+            hc =  7 * hc + ( hc ^ script.hashCode() );
+            hc = 11 * hc + ( hc ^ language.hashCode() );
+            return hc;
+        }
+        /** {@inheritDoc} */
+        public boolean equals ( Object o ) {
+            if ( o instanceof Syllabizer ) {
+                Syllabizer s = (Syllabizer) o;
+                if ( ! s.script.equals ( script ) ) {
+                    return false;
+                } else if ( ! s.language.equals ( language ) ) {
+                    return false;
+                } else {
+                    return true;
+                }
+            } else {
+                return false;
+            }
+        }
+        /** {@inheritDoc} */
+        public int compareTo ( Object o ) {
+            int d;
+            if ( o instanceof Syllabizer ) {
+                Syllabizer s = (Syllabizer) o;
+                if ( ( d = script.compareTo ( s.script ) ) == 0 ) {
+                    d = language.compareTo ( s.language );
+                }
+            } else {
+                d = -1;
+            }
+            return d;
+        }
+        private static Map<String,Syllabizer> syllabizers = new HashMap<String,Syllabizer>();
+        static Syllabizer getSyllabizer ( String script, String language, Class<? extends Syllabizer> syllabizerClass ) {
+            String sid = makeSyllabizerId ( script, language );
+            Syllabizer s = syllabizers.get ( sid );
+            if ( s == null ) {
+                if ( ( s = makeSyllabizer ( script, language, syllabizerClass ) ) == null ) {
+                    s = new DefaultSyllabizer ( script, language );
+                }
+                syllabizers.put ( sid, s );
+            }
+            return s;
+        }
+        static String makeSyllabizerId ( String script, String language ) {
+            return script + ":" + language;
+        }
+        static Syllabizer makeSyllabizer ( String script, String language, Class<? extends Syllabizer> syllabizerClass ) {
+            Syllabizer s;
+            try {
+                Constructor<? extends Syllabizer> cf = syllabizerClass.getDeclaredConstructor ( new Class[] { String.class, String.class } );
+                s = (Syllabizer) cf.newInstance ( script, language );
+            } catch ( NoSuchMethodException e ) {
+                s = null;
+            } catch ( InstantiationException e ) {
+                s = null;
+            } catch ( IllegalAccessException e ) {
+                s = null;
+            } catch ( InvocationTargetException e ) {
+                s = null;
+            }
+            return s;
+        }
+    }
+
+    /** Default syllabizer. */
+    protected static class DefaultSyllabizer extends Syllabizer {
+        DefaultSyllabizer ( String script, String language ) {
+            super ( script, language );
+        }
+        /** {@inheritDoc} */
+        @Override
+        GlyphSequence[] syllabize ( GlyphSequence gs ) {
+            int[] ca = gs.getCharacterArray ( false );
+            int   nc = gs.getCharacterCount();
+            if ( nc == 0 ) {
+                return new GlyphSequence[] { gs };
+            } else {
+                return segmentize ( gs, segmentize ( ca, nc ) );
+            }
+        }
+        /**
+         * Construct array of segements from original character array (associated with original glyph sequence)
+         * @param ca input character sequence
+         * @param nc number of characters in sequence
+         * @return array of syllable segments
+         */
+        protected Segment[] segmentize ( int[] ca, int nc ) {
+            Vector<Segment> sv = new Vector<Segment> ( nc );
+            for ( int s = 0, e = nc; s < e; ) {
+                int i;
+                if ( ( i = findStartOfSyllable ( ca, s, e ) ) > s ) {
+                    // from s to i is non-syllable segment
+                    sv.add ( new Segment ( s, i, Segment.OTHER ) );
+                    s = i; // move s to start of syllable
+                } else if ( i > s ) {
+                    // from s to e is non-syllable segment
+                    sv.add ( new Segment ( s, e, Segment.OTHER ) );
+                    s = e; // move s to end of input sequence
+                }
+                if ( ( i = findEndOfSyllable ( ca, s, e ) ) > s ) {
+                    // from s to i is syllable segment
+                    sv.add ( new Segment ( s, i, Segment.SYLLABLE ) );
+                    s = i; // move s to end of syllable
+                } else {
+                    // from s to e is non-syllable segment
+                    sv.add ( new Segment ( s, e, Segment.OTHER ) );
+                    s = e; // move s to end of input sequence
+                }
+            }
+            return sv.toArray ( new Segment [ sv.size() ] );
+        }
+        /**
+         * Construct array of glyph sequences from original glyph sequence and segment array.
+         * @param gs original input glyph sequence
+         * @param sa segment array
+         * @return array of glyph sequences each belonging to an (ordered) segment in SA
+         */
+        protected GlyphSequence[] segmentize ( GlyphSequence gs, Segment[] sa ) {
+            int   ng = gs.getGlyphCount();
+            int[] ga = gs.getGlyphArray ( false );
+            GlyphSequence.CharAssociation[] aa = gs.getAssociations ( 0, -1 );
+            Vector<GlyphSequence> nsv = new Vector<GlyphSequence>();
+            for ( int i = 0, ns = sa.length; i < ns; i++ ) {
+                Segment s = sa [ i ];
+                Vector<Integer> ngv = new Vector<Integer> ( ng );
+                Vector<GlyphSequence.CharAssociation> nav = new Vector<GlyphSequence.CharAssociation> ( ng );
+                for ( int j = 0; j < ng; j++ ) {
+                    GlyphSequence.CharAssociation ca = aa [ j ];
+                    if ( ca.contained ( s.getOffset(), s.getCount() ) ) {
+                        ngv.add ( ga [ j ] );
+                        nav.add ( ca );
+                    }
+                }
+                if ( ngv.size() > 0 ) {
+                    nsv.add ( new GlyphSequence ( gs, null, toIntArray ( ngv ), null, null, nav.toArray ( new GlyphSequence.CharAssociation [ nav.size() ] ), null ) );
+                }
+            }
+            if ( nsv.size() > 0 ) {
+                return nsv.toArray ( new GlyphSequence [ nsv.size() ] );
+            } else {
+                return new GlyphSequence[] { gs };
+            }
+        }
+        /**
+         * Find start of syllable in character array, starting at S, ending at E.
+         * @param ca character array
+         * @param s start index
+         * @param e end index
+         * @return index of start or E if no start found
+         */
+        protected int findStartOfSyllable ( int[] ca, int s, int e ) {
+            return e;
+        }
+        /**
+         * Find end of syllable in character array, starting at S, ending at E.
+         * @param ca character array
+         * @param s start index
+         * @param e end index
+         * @return index of start or S if no end found
+         */
+        protected int findEndOfSyllable ( int[] ca, int s, int e ) {
+            return s;
+        }
+        private static int[] toIntArray ( Vector<Integer> iv ) {
+            int ni = iv.size();
+            int[] ia = new int [ iv.size() ];
+            for ( int i = 0, n = ni; i < n; i++ ) {
+                ia [ i ] = (int) iv.get ( i );
+            }
+            return ia;
+        }
+    }
+
+    /** Syllabic segment. */
+    protected static class Segment {
+
+        static final int OTHER = 0;            // other (non-syllable) characters
+        static final int SYLLABLE = 1;         // (orthographic) syllable
+
+        private int start;
+        private int end;
+        private int type;
+
+        Segment ( int start, int end, int type ) {
+            this.start = start;
+            this.end = end;
+            this.type = type;
+        }
+
+        int getStart() {
+            return start;
+        }
+
+        int getEnd() {
+            return end;
+        }
+
+        int getOffset() {
+            return start;
+        }
+
+        int getCount() {
+            return end - start;
+        }
+
+        int getType() {
+            return type;
+        }
+    }
+}
diff --git a/src/java/org/apache/fop/fonts/LazyFont.java b/src/java/org/apache/fop/fonts/LazyFont.java
index f331a33..ce7b1ee 100644
--- a/src/java/org/apache/fop/fonts/LazyFont.java
+++ b/src/java/org/apache/fop/fonts/LazyFont.java
@@ -35,22 +35,23 @@
 /**
  * This class is used to defer the loading of a font until it is really used.
  */
-public class LazyFont extends Typeface implements FontDescriptor {
+public class LazyFont extends Typeface implements FontDescriptor, Substitutable, Positionable {
 
     private static Log log = LogFactory.getLog(LazyFont.class);
 
-    private String metricsFileName = null;
-    private String fontEmbedPath = null;
-    private boolean useKerning = false;
+    private String metricsFileName;
+    private String fontEmbedPath;
+    private boolean useKerning;
+    private boolean useAdvanced;
     private EncodingMode encodingMode = EncodingMode.AUTO;
-    private boolean embedded = true;
-    private String subFontName = null;
+    private boolean embedded;
+    private String subFontName;
 
-    private boolean isMetricsLoaded = false;
-    private Typeface realFont = null;
-    private FontDescriptor realFontDescriptor = null;
+    private boolean isMetricsLoaded;
+    private Typeface realFont;
+    private FontDescriptor realFontDescriptor;
 
-    private FontResolver resolver = null;
+    private FontResolver resolver;
 
     /**
      * Main constructor
@@ -62,6 +63,7 @@
         this.metricsFileName = fontInfo.getMetricsFile();
         this.fontEmbedPath = fontInfo.getEmbedFile();
         this.useKerning = fontInfo.getKerning();
+        this.useAdvanced = fontInfo.getAdvanced();
         this.encodingMode = fontInfo.getEncodingMode();
         this.subFontName = fontInfo.getSubFontName();
         this.embedded = fontInfo.isEmbedded();
@@ -70,9 +72,15 @@
 
     /** {@inheritDoc} */
     public String toString() {
-        return ( "metrics-url=" + metricsFileName + ", embed-url=" + fontEmbedPath
-                + ", kerning=" + useKerning );
-    }
+        StringBuffer sbuf = new StringBuffer(super.toString());
+        sbuf.append('{');
+        sbuf.append("metrics-url=" + metricsFileName);
+        sbuf.append(",embed-url=" + fontEmbedPath);
+        sbuf.append(",kerning=" + useKerning);
+        sbuf.append(",advanced=" + useAdvanced);
+        sbuf.append('}');
+        return sbuf.toString();
+    }   
 
     private void load(boolean fail) {
         if (!isMetricsLoaded) {
@@ -120,6 +128,7 @@
                                     new URL(metricsFileName).openStream()));
                     }
                     reader.setKerningEnabled(useKerning);
+                    reader.setAdvancedEnabled(useAdvanced);
                     if (this.embedded) {
                         reader.setFontEmbedPath(fontEmbedPath);
                     }
@@ -130,7 +139,7 @@
                         throw new RuntimeException("Cannot load font. No font URIs available.");
                     }
                     realFont = FontLoader.loadFont(fontEmbedPath, this.subFontName,
-                            this.embedded, this.encodingMode, useKerning, resolver);
+                            this.embedded, this.encodingMode, useKerning, useAdvanced, resolver);
                 }
                 if (realFont instanceof FontDescriptor) {
                     realFontDescriptor = (FontDescriptor) realFont;
@@ -376,6 +385,84 @@
     /**
      * {@inheritDoc}
      */
+    public boolean performsSubstitution() {
+        load(true);
+        if ( realFontDescriptor instanceof Substitutable ) {
+            return ((Substitutable)realFontDescriptor).performsSubstitution();
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public CharSequence performSubstitution ( CharSequence cs, String script, String language ) {
+        load(true);
+        if ( realFontDescriptor instanceof Substitutable ) {
+            return ((Substitutable)realFontDescriptor).performSubstitution(cs, script, language);
+        } else {
+            return cs;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public CharSequence reorderCombiningMarks
+        ( CharSequence cs, int[][] gpa, String script, String language ) {
+        load(true);
+        if ( realFontDescriptor instanceof Substitutable ) {
+            return ((Substitutable)realFontDescriptor).
+                reorderCombiningMarks(cs, gpa, script, language);
+        } else {
+            return cs;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean performsPositioning() {
+        load(true);
+        if ( realFontDescriptor instanceof Positionable ) {
+            return ((Positionable)realFontDescriptor).performsPositioning();
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public int[][]
+        performPositioning ( CharSequence cs, String script, String language, int fontSize ) {
+        load(true);
+        if ( realFontDescriptor instanceof Positionable ) {
+            return ((Positionable)realFontDescriptor)
+                .performPositioning(cs, script, language, fontSize);
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public int[][]
+        performPositioning ( CharSequence cs, String script, String language ) {
+        load(true);
+        if ( realFontDescriptor instanceof Positionable ) {
+            return ((Positionable)realFontDescriptor)
+                .performPositioning(cs, script, language);
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
     public boolean isSubsetEmbedded() {
         load(true);
         return realFont.isMultiByte();
diff --git a/src/java/org/apache/fop/fonts/MultiByteFont.java b/src/java/org/apache/fop/fonts/MultiByteFont.java
index 0d98972..285d754 100644
--- a/src/java/org/apache/fop/fonts/MultiByteFont.java
+++ b/src/java/org/apache/fop/fonts/MultiByteFont.java
@@ -19,14 +19,23 @@
 
 package org.apache.fop.fonts;
 
-//Java
+import java.nio.CharBuffer;
+import java.nio.IntBuffer;
 import java.util.Map;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.fop.util.CharUtilities;
 
 /**
  * Generic MultiByte (CID) font
  */
-public class MultiByteFont extends CIDFont {
+public class MultiByteFont extends CIDFont implements Substitutable, Positionable {
+
+    /** logging instance */
+    private static final Log log // CSOK: ConstantNameCheck
+        = LogFactory.getLog(MultiByteFont.class);
 
     private String ttcName = null;
     private String encoding = "Identity-H";
@@ -36,9 +45,28 @@
 
     private CIDSubset subset = new CIDSubset();
 
-    /** A map from Unicode indices to glyph indices */
+    /**
+     * A map from Unicode indices to glyph indices. No assumption
+     * about ordering is made below. If lookup is changed to a binary
+     * search (from the current linear search), then addPrivateUseMapping()
+     * needs to be changed to perform ordered inserts.
+     */
     private BFEntry[] bfentries = null;
 
+    /* advanced typographic support */
+    private GlyphDefinitionTable gdef;
+    private GlyphSubstitutionTable gsub;
+    private GlyphPositioningTable gpos;
+
+    /* dynamic private use (character) mappings */
+    private int numMapped;
+    private int numUnmapped;
+    private int nextPrivateUse = 0xE000;
+    private int firstPrivate;
+    private int lastPrivate;
+    private int firstUnmapped;
+    private int lastUnmapped;
+
     /**
      * Default constructor
      */
@@ -132,13 +160,14 @@
      * @param c the Unicode character index
      * @return the glyph index (or 0 if the glyph is not available)
      */
-    private int findGlyphIndex(char c) {
-        int idx = (int)c;
+    // [TBD] - needs optimization, i.e., change from linear search to binary search
+    private int findGlyphIndex(int c) {
+        int idx = c;
         int retIdx = SingleByteEncoding.NOT_FOUND_CODE_POINT;
 
         for (int i = 0; (i < bfentries.length) && retIdx == 0; i++) {
             if (bfentries[i].getUnicodeStart() <= idx
-                    && bfentries[i].getUnicodeEnd() >= idx) {
+                && bfentries[i].getUnicodeEnd() >= idx) {
 
                 retIdx = bfentries[i].getGlyphStartIndex()
                     + idx
@@ -148,6 +177,95 @@
         return retIdx;
     }
 
+    /**
+     * Add a private use mapping {PU,GI} to the existing BFENTRIES map.
+     * N.B. Does not insert in order, merely appends to end of existing map.
+     */
+    private synchronized void addPrivateUseMapping ( int pu, int gi ) {
+        assert findGlyphIndex ( pu ) == SingleByteEncoding.NOT_FOUND_CODE_POINT;
+        BFEntry[] bfeOld = bfentries;
+        int       bfeCnt = bfeOld.length;
+        BFEntry[] bfeNew = new BFEntry [ bfeCnt + 1 ];
+        System.arraycopy ( bfeOld, 0, bfeNew, 0, bfeCnt );
+        bfeNew [ bfeCnt ] = new BFEntry ( pu, pu, gi );
+        bfentries = bfeNew;
+    }
+
+    /**
+     * Given a glyph index, create a new private use mapping, augmenting the bfentries
+     * table. This is needed to accommodate the presence of an (output) glyph index in a
+     * complex script glyph substitution that does not correspond to a character in the
+     * font's CMAP.  The creation of such private use mappings is deferred until an
+     * attempt is actually made to perform the reverse lookup from the glyph index. This
+     * is necessary in order to avoid exhausting the private use space on fonts containing
+     * many such non-mapped glyph indices, if these mappings had been created statically
+     * at font load time.
+     * @param gi glyph index
+     * @returns unicode scalar value
+     */
+    private int createPrivateUseMapping ( int gi ) {
+        while ( ( nextPrivateUse < 0xF900 )
+                && ( findGlyphIndex(nextPrivateUse) != SingleByteEncoding.NOT_FOUND_CODE_POINT ) ) {
+            nextPrivateUse++;
+        }
+        if ( nextPrivateUse < 0xF900 ) {
+            int pu = nextPrivateUse;
+            addPrivateUseMapping ( pu, gi );
+            if ( firstPrivate == 0 ) {
+                firstPrivate = pu;
+            }
+            lastPrivate = pu;
+            numMapped++;
+            if (log.isDebugEnabled()) {
+                log.debug ( "Create private use mapping from "
+                            + CharUtilities.format ( pu )
+                            + " to glyph index " + gi
+                            + " in font '" + getFullName() + "'" );
+            }
+            return pu;
+        } else {
+            if ( firstUnmapped == 0 ) {
+                firstUnmapped = gi;
+            }
+            lastUnmapped = gi;
+            numUnmapped++;
+            log.warn ( "Exhausted private use area: unable to map "
+                       + numUnmapped + " glyphs in glyph index range ["
+                       + firstUnmapped + "," + lastUnmapped
+                       + "] (inclusive) of font '" + getFullName() + "'" );
+            return 0;
+        }
+    }
+
+    /**
+     * Returns the Unicode scalar value that corresponds to the glyph index. If more than
+     * one correspondence exists, then the first one is returned (ordered by bfentries[]).
+     * @param gi glyph index
+     * @returns unicode scalar value
+     */
+    // [TBD] - needs optimization, i.e., change from linear search to binary search
+    private int findCharacterFromGlyphIndex ( int gi, boolean augment ) {
+        int cc = 0;
+        for ( int i = 0, n = bfentries.length; i < n; i++ ) {
+            BFEntry be = bfentries [ i ];
+            int s = be.getGlyphStartIndex();
+            int e = s + ( be.getUnicodeEnd() - be.getUnicodeStart() );
+            if ( ( gi >= s ) && ( gi <= e ) ) {
+                cc = be.getUnicodeStart() + ( gi - s );
+                break;
+            }
+        }
+        if ( ( cc == 0 ) && augment ) {
+            cc = createPrivateUseMapping ( gi );
+        }
+        return cc;
+    }
+
+    private int findCharacterFromGlyphIndex ( int gi ) {
+        return findCharacterFromGlyphIndex ( gi, true );
+    }
+
+
     /** {@inheritDoc} */
     public char mapChar(char c) {
         notifyMapOperation();
@@ -223,5 +341,220 @@
         }
         return subset.getSubsetChars();
     }
+
+    /**
+     * Establishes the glyph definition table.
+     * @param gdef the glyph definition table to be used by this font
+     */
+    public void setGDEF ( GlyphDefinitionTable gdef ) {
+        if ( ( this.gdef == null ) || ( gdef == null ) ) {
+            this.gdef = gdef;
+        } else {
+            throw new IllegalStateException ( "font already associated with GDEF table" );
+        }
+    }
+
+    /**
+     * Obtain glyph definition table.
+     * @return glyph definition table or null if none is associated with font
+     */
+    public GlyphDefinitionTable getGDEF() {
+        return gdef;
+    }
+
+    /**
+     * Establishes the glyph substitution table.
+     * @param gsub the glyph substitution table to be used by this font
+     */
+    public void setGSUB ( GlyphSubstitutionTable gsub ) {
+        if ( ( this.gsub == null ) || ( gsub == null ) ) {
+            this.gsub = gsub;
+        } else {
+            throw new IllegalStateException ( "font already associated with GSUB table" );
+        }
+    }
+
+    /**
+     * Obtain glyph substitution table.
+     * @return glyph substitution table or null if none is associated with font
+     */
+    public GlyphSubstitutionTable getGSUB() {
+        return gsub;
+    }
+
+    /**
+     * Establishes the glyph positioning table.
+     * @param gpos the glyph positioning table to be used by this font
+     */
+    public void setGPOS ( GlyphPositioningTable gpos ) {
+        if ( ( this.gpos == null ) || ( gpos == null ) ) {
+            this.gpos = gpos;
+        } else {
+            throw new IllegalStateException ( "font already associated with GPOS table" );
+        }
+    }
+
+    /**
+     * Obtain glyph positioning table.
+     * @return glyph positioning table or null if none is associated with font
+     */
+    public GlyphPositioningTable getGPOS() {
+        return gpos;
+    }
+
+    /** {@inheritDoc} */
+    public boolean performsSubstitution() {
+        return gsub != null;
+    }
+
+    /** {@inheritDoc} */
+    public CharSequence performSubstitution ( CharSequence cs, String script, String language ) {
+        if ( gsub != null ) {
+            GlyphSequence igs = mapCharsToGlyphs ( cs );
+            GlyphSequence ogs = gsub.substitute ( igs, script, language );
+            CharSequence ocs = mapGlyphsToChars ( ogs );
+            return ocs;
+        } else {
+            return cs;
+        }
+    }
+
+    /** {@inheritDoc} */
+    public CharSequence reorderCombiningMarks
+        ( CharSequence cs, int[][] gpa, String script, String language ) {
+        if ( gdef != null ) {
+            GlyphSequence igs = mapCharsToGlyphs ( cs );
+            GlyphSequence ogs = gdef.reorderCombiningMarks ( igs, gpa, script, language );
+            CharSequence ocs = mapGlyphsToChars ( ogs );
+            return ocs;
+        } else {
+            return cs;
+        }
+    }
+
+    /** {@inheritDoc} */
+    public boolean performsPositioning() {
+        return gpos != null;
+    }
+
+    /** {@inheritDoc} */
+    public int[][]
+        performPositioning ( CharSequence cs, String script, String language, int fontSize ) {
+        if ( gpos != null ) {
+            GlyphSequence gs = mapCharsToGlyphs ( cs );
+            int[][] adjustments = new int [ gs.getGlyphCount() ] [ 4 ];
+            if ( gpos.position ( gs, script, language, fontSize, this.width, adjustments ) ) {
+                return scaleAdjustments ( adjustments, fontSize );
+            } else {
+                return null;
+            }
+        } else {
+            return null;
+        }
+    }
+
+    /** {@inheritDoc} */
+    public int[][] performPositioning ( CharSequence cs, String script, String language ) {
+        throw new UnsupportedOperationException();
+    }
+
+
+    private int[][] scaleAdjustments ( int[][] adjustments, int fontSize ) {
+        if ( adjustments != null ) {
+            for ( int i = 0, n = adjustments.length; i < n; i++ ) {
+                int[] gpa = adjustments [ i ];
+                for ( int k = 0; k < 4; k++ ) {
+                    gpa [ k ] = ( gpa [ k ] * fontSize ) / 1000;
+                }
+            }
+            return adjustments;
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Map sequence CS, comprising a sequence of UTF-16 encoded Unicode Code Points, to
+     * an output character sequence GS, comprising a sequence of Glyph Indices. N.B. Unlike
+     * mapChar(), this method does not make use of embedded subset encodings.
+     * @param cs a CharSequence containing UTF-16 encoded Unicode characters
+     * @returns a CharSequence containing glyph indices
+     */
+    private GlyphSequence mapCharsToGlyphs ( CharSequence cs ) {
+        IntBuffer cb = IntBuffer.allocate ( cs.length() );
+        IntBuffer gb = IntBuffer.allocate ( cs.length() );
+        int gi, giMissing = findGlyphIndex ( Typeface.NOT_FOUND );
+        for ( int i = 0, n = cs.length(); i < n; i++ ) {
+            int cc = cs.charAt ( i );
+            if ( ( cc >= 0xD800 ) && ( cc < 0xDC00 ) ) {
+                if ( ( i + 1 ) < n ) {
+                    int sh = cc;
+                    int sl = cs.charAt ( ++i );
+                    if ( ( sl >= 0xDC00 ) && ( sl < 0xE000 ) ) {
+                        cc = 0x10000 + ( ( sh - 0xD800 ) << 10 ) + ( ( sl - 0xDC00 ) << 0 );
+                    } else {
+                        throw new IllegalArgumentException
+                            (  "ill-formed UTF-16 sequence, "
+                               + "contains isolated high surrogate at index " + i );
+                    }
+                } else {
+                    throw new IllegalArgumentException
+                        ( "ill-formed UTF-16 sequence, "
+                          + "contains isolated high surrogate at end of sequence" );
+                }
+            } else if ( ( cc >= 0xDC00 ) && ( cc < 0xE000 ) ) {
+                throw new IllegalArgumentException
+                    ( "ill-formed UTF-16 sequence, "
+                      + "contains isolated low surrogate at index " + i );
+            }
+            notifyMapOperation();
+            gi = findGlyphIndex ( cc );
+            if ( gi == SingleByteEncoding.NOT_FOUND_CODE_POINT ) {
+                warnMissingGlyph ( (char) cc );
+                gi = giMissing;
+            }
+            cb.put ( cc );
+            gb.put ( gi );
+        }
+        cb.flip();
+        gb.flip();
+        return new GlyphSequence ( cb, gb, null );
+    }
+
+    /**
+     * Map sequence GS, comprising a sequence of Glyph Indices, to output sequence CS,
+     * comprising a sequence of UTF-16 encoded Unicode Code Points.
+     * @param gs a GlyphSequence containing glyph indices
+     * @returns a CharSequence containing UTF-16 encoded Unicode characters
+     */
+    private CharSequence mapGlyphsToChars ( GlyphSequence gs ) {
+        int ng = gs.getGlyphCount();
+        CharBuffer cb = CharBuffer.allocate ( ng );
+        int ccMissing = Typeface.NOT_FOUND;
+        for ( int i = 0, n = ng; i < n; i++ ) {
+            int gi = gs.getGlyph ( i );
+            int cc = findCharacterFromGlyphIndex ( gi );
+            if ( ( cc == 0 ) || ( cc > 0x10FFFF ) ) {
+                cc = ccMissing;
+                log.warn("Unable to map glyph index " + gi
+                         + " to Unicode scalar in font '"
+                         + getFullName() + "', substituting missing character '"
+                         + (char) cc + "'");
+            }
+            if ( cc > 0x00FFFF ) {
+                int sh, sl;
+                cc -= 0x10000;
+                sh = ( ( cc >> 10 ) & 0x3FF ) + 0xD800;
+                sl = ( ( cc >>  0 ) & 0x3FF ) + 0xDC00;
+                cb.put ( (char) sh );
+                cb.put ( (char) sl );
+            } else {
+                cb.put ( (char) cc );
+            }
+        }
+        cb.flip();
+        return (CharSequence) cb;
+    }
+
 }
 
diff --git a/src/java/org/apache/fop/fonts/MutableFont.java b/src/java/org/apache/fop/fonts/MutableFont.java
index bcbcadb..41c552a 100644
--- a/src/java/org/apache/fop/fonts/MutableFont.java
+++ b/src/java/org/apache/fop/fonts/MutableFont.java
@@ -133,6 +133,12 @@
     void setKerningEnabled(boolean enabled);
 
     /**
+     * Enables/disabled advanced typographic features.
+     * @param enabled true if advanced typographic features should be enabled if available
+     */
+    void setAdvancedEnabled(boolean enabled);
+
+    /**
      * Adds an entry to the kerning table.
      * @param key Kerning key
      * @param value Kerning value
diff --git a/src/java/org/apache/fop/fonts/Positionable.java b/src/java/org/apache/fop/fonts/Positionable.java
new file mode 100644
index 0000000..6ce30f2
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/Positionable.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * Optional interface which indicates that glyph positioning is supported and, if supported,
+ * can perform positioning.
+ * @author Glenn Adams
+ */
+public interface Positionable {
+
+    /**
+     * Determines if font performs glyph positioning.
+     * @return true if performs positioning
+     */
+    boolean performsPositioning();
+
+    /**
+     * Perform glyph positioning.
+     * @param cs character sequence to map to position offsets (advancement adjustments)
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param fontSize font size
+     * @return array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
+     * with one 4-tuple for each element of glyph sequence, or null if no non-zero adjustment applies
+     */
+    int[][] performPositioning ( CharSequence cs, String script, String language, int fontSize );
+
+    /**
+     * Perform glyph positioning using an implied font size.
+     * @param cs character sequence to map to position offsets (advancement adjustments)
+     * @param script a script identifier
+     * @param language a language identifier
+     * @return array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
+     * with one 4-tuple for each element of glyph sequence, or null if no non-zero adjustment applies
+     */
+    int[][] performPositioning ( CharSequence cs, String script, String language );
+
+}
diff --git a/src/java/org/apache/fop/fonts/ScriptContextTester.java b/src/java/org/apache/fop/fonts/ScriptContextTester.java
new file mode 100644
index 0000000..5f64c50
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/ScriptContextTester.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+/**
+ * Interface for providing script specific context testers.
+ * @author Glenn Adams
+ */
+public interface ScriptContextTester {
+
+    /**
+     * Obtain a glyph context tester for the specified feature.
+     * @param feature a feature identifier
+     * @return a glyph context tester or null if none available for the specified feature
+     */
+    GlyphContextTester getTester ( String feature );
+
+}
diff --git a/src/java/org/apache/fop/fonts/ScriptProcessor.java b/src/java/org/apache/fop/fonts/ScriptProcessor.java
new file mode 100644
index 0000000..8fabe60
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/ScriptProcessor.java
@@ -0,0 +1,227 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.fop.util.CharUtilities;
+
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+// CSOFF: ParameterNumberCheck
+
+/**
+ * Abstract script processor base class for which an implementation of the substitution and positioning methods
+ * must be supplied.
+ * @author Glenn Adams
+ */
+public abstract class ScriptProcessor {
+
+    private final String script;
+
+    private static Map<String, ScriptProcessor> processors = new HashMap<String, ScriptProcessor>();
+
+    /**
+     * Instantiate a script processor.
+     * @param script a script identifier
+     */
+    protected ScriptProcessor ( String script ) {
+        if ( ( script == null ) || ( script.length() == 0 ) ) {
+            throw new IllegalArgumentException ( "script must be non-empty string" );
+        } else {
+            this.script = script;
+        }
+    }
+
+    /** @return script identifier */
+    public final String getScript() {
+        return script;
+    }
+
+    /**
+     * Obtain script specific required substitution features.
+     * @return array of suppported substitution features or null
+     */
+    public abstract String[] getSubstitutionFeatures();
+
+    /**
+     * Obtain script specific optional substitution features.
+     * @return array of suppported substitution features or null
+     */
+    public String[] getOptionalSubstitutionFeatures() {
+        return new String[0];
+    }
+
+    /**
+     * Obtain script specific substitution context tester.
+     * @return substitution context tester or null
+     */
+    public abstract ScriptContextTester getSubstitutionContextTester();
+
+    /**
+     * Perform substitution processing using a specific set of lookup tables.
+     * @param gsub the glyph substitution table that applies
+     * @param gs an input glyph sequence
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param lookups a mapping from lookup specifications to glyph subtables to use for substitution processing
+     * @return the substituted (output) glyph sequence
+     */
+    public final GlyphSequence substitute ( GlyphSubstitutionTable gsub, GlyphSequence gs, String script, String language, Map/*<LookupSpec,List<LookupTable>>>*/ lookups ) {
+        return substitute ( gs, script, language, assembleLookups ( gsub, getSubstitutionFeatures(), lookups ), getSubstitutionContextTester() );
+    }
+
+    /**
+     * Perform substitution processing using a specific set of ordered glyph table use specifications.
+     * @param gs an input glyph sequence
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param usa an ordered array of glyph table use specs
+     * @param sct a script specific context tester (or null)
+     * @return the substituted (output) glyph sequence
+     */
+    public GlyphSequence substitute ( GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct ) {
+        assert usa != null;
+        for ( int i = 0, n = usa.length; i < n; i++ ) {
+            GlyphTable.UseSpec us = usa [ i ];
+            gs = us.substitute ( gs, script, language, sct );
+        }
+        return gs;
+    }
+
+    /**
+     * Reorder combining marks in glyph sequence so that they precede (within the sequence) the base
+     * character to which they are applied. N.B. In the case of RTL segments, marks are not reordered by this,
+     * method since when the segment is reversed by BIDI processing, marks are automatically reordered to precede
+     * their base glyph.
+     * @param gdef the glyph definition table that applies
+     * @param gs an input glyph sequence
+     * @param gpa associated glyph position adjustments (also reordered)
+     * @param script a script identifier
+     * @param language a language identifier
+     * @return the reordered (output) glyph sequence
+     */
+    public GlyphSequence reorderCombiningMarks ( GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language ) {
+        return gs;
+    }
+
+    /**
+     * Obtain script specific required positioning features.
+     * @return array of suppported positioning features or null
+     */
+    public abstract String[] getPositioningFeatures();
+
+    /**
+     * Obtain script specific optional positioning features.
+     * @return array of suppported positioning features or null
+     */
+    public String[] getOptionalPositioningFeatures() {
+        return new String[0];
+    }
+
+    /**
+     * Obtain script specific positioning context tester.
+     * @return positioning context tester or null
+     */
+    public abstract ScriptContextTester getPositioningContextTester();
+
+    /**
+     * Perform positioning processing using a specific set of lookup tables.
+     * @param gpos the glyph positioning table that applies
+     * @param gs an input glyph sequence
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param fontSize size in device units
+     * @param lookups a mapping from lookup specifications to glyph subtables to use for positioning processing
+     * @param widths array of default advancements for each glyph
+     * @param adjustments accumulated adjustments array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
+     * with one 4-tuple for each element of glyph sequence
+     * @return true if some adjustment is not zero; otherwise, false
+     */
+    public final boolean position ( GlyphPositioningTable gpos, GlyphSequence gs, String script, String language, int fontSize, Map/*<LookupSpec,List<LookupTable>>*/ lookups, int[] widths, int[][] adjustments ) {
+        return position ( gs, script, language, fontSize, assembleLookups ( gpos, getPositioningFeatures(), lookups ), widths, adjustments, getPositioningContextTester() );
+    }
+
+    /**
+     * Perform positioning processing using a specific set of ordered glyph table use specifications.
+     * @param gs an input glyph sequence
+     * @param script a script identifier
+     * @param language a language identifier
+     * @param fontSize size in device units
+     * @param usa an ordered array of glyph table use specs
+     * @param widths array of default advancements for each glyph in font
+     * @param adjustments accumulated adjustments array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
+     * with one 4-tuple for each element of glyph sequence
+     * @param sct a script specific context tester (or null)
+     * @return true if some adjustment is not zero; otherwise, false
+     */
+    public boolean position ( GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct ) {
+        assert usa != null;
+        boolean adjusted = false;
+        for ( int i = 0, n = usa.length; i < n; i++ ) {
+            GlyphTable.UseSpec us = usa [ i ];
+            if ( us.position ( gs, script, language, fontSize, widths, adjustments, sct ) ) {
+                adjusted = true;
+            }
+        }
+        return adjusted;
+    }
+
+    /**
+     * Assemble ordered array of lookup table use specifications according to the specified features and candidate lookups,
+     * where the order of the array is in accordance to the order of the applicable lookup list.
+     * @param table the governing glyph table
+     * @param features array of feature identifiers to apply
+     * @param lookups a mapping from lookup specifications to lists of look tables from which to select lookup tables according to the specified features
+     * @return ordered array of assembled lookup table use specifications
+     */
+    public final GlyphTable.UseSpec[] assembleLookups ( GlyphTable table, String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups ) {
+        return table.assembleLookups ( features, lookups );
+    }
+
+    /**
+     * Obtain script processor instance associated with specified script.
+     * @param script a script identifier
+     * @return a script processor instance or null if none found
+     */
+    public static synchronized ScriptProcessor getInstance ( String script ) {
+        ScriptProcessor sp = null;
+        assert processors != null;
+        if ( ( sp = processors.get ( script ) ) == null ) {
+            processors.put ( script, sp = createProcessor ( script ) );
+        }
+        return sp;
+    }
+
+    // [TBD] - rework to provide more configurable binding between script name and script processor constructor
+    private static ScriptProcessor createProcessor ( String script ) {
+        ScriptProcessor sp = null;
+        if ( "arab".equals ( script ) ) {
+            sp = new ArabicScriptProcessor ( script );
+        } else if ( CharUtilities.isIndicScript ( script ) ) {
+            sp = IndicScriptProcessor.makeProcessor ( script );
+        } else {
+            sp = new DefaultScriptProcessor ( script );
+        }
+        return sp;
+    }
+
+}
diff --git a/src/java/org/apache/fop/fonts/Substitutable.java b/src/java/org/apache/fop/fonts/Substitutable.java
new file mode 100644
index 0000000..759f3ae
--- /dev/null
+++ b/src/java/org/apache/fop/fonts/Substitutable.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.fonts;
+
+// CSOFF: LineLengthCheck
+
+/**
+ * Optional interface which indicates that glyph substitution is supported and, if supported,
+ * can perform substitution.
+ * @author Glenn Adams
+ */
+public interface Substitutable {
+
+    /**
+     * Determines if font performs glyph substitution.
+     * @return true if performs substitution.
+     */
+    boolean performsSubstitution();
+
+    /**
+     * Perform substitutions on characters to effect glyph substitution. If some substitution is performed, it
+     * entails mapping from one or more input characters denoting textual character information to one or more
+     * output character codes denoting glyphs in this font, where the output character codes may make use of
+     * private character code values that have significance only for this font.
+     * @param cs character sequence to map to output font encoding character sequence
+     * @param script a script identifier
+     * @param language a language identifier
+     * @return output sequence (represented as a character sequence, where each character in the returned sequence
+     * denotes "font characters", i.e., character codes that map directly (1-1) to their associated glyphs
+     */
+    CharSequence performSubstitution ( CharSequence cs, String script, String language );
+
+    /**
+     * Reorder combining marks in character sequence so that they precede (within the sequence) the base
+     * character to which they are applied. N.B. In the case of LTR segments, marks are not reordered by this,
+     * method since when the segment is reversed by BIDI processing, marks are automatically reordered to precede
+     * their base character.
+     * @param cs character sequence within which combining marks to be reordered
+     * @param gpa associated glyph position adjustments (also reordered)
+     * @param script a script identifier
+     * @param language a language identifier
+     * @return output sequence containing reordered "font characters"
+     */
+    CharSequence reorderCombiningMarks ( CharSequence cs, int[][] gpa, String script, String language );
+
+}
diff --git a/src/java/org/apache/fop/fonts/Typeface.java b/src/java/org/apache/fop/fonts/Typeface.java
index a0c1d99..e933781 100644
--- a/src/java/org/apache/fop/fonts/Typeface.java
+++ b/src/java/org/apache/fop/fonts/Typeface.java
@@ -143,6 +143,10 @@
 
     /** {@inheritDoc} */
     public String toString() {
-        return getFullName();
+        StringBuffer sbuf = new StringBuffer(super.toString());
+        sbuf.append('{');
+        sbuf.append(getFullName());
+        sbuf.append('}');
+        return sbuf.toString();
     }
 }
diff --git a/src/java/org/apache/fop/fonts/apps/AbstractFontReader.java b/src/java/org/apache/fop/fonts/apps/AbstractFontReader.java
index 1c973cd..89c7890 100644
--- a/src/java/org/apache/fop/fonts/apps/AbstractFontReader.java
+++ b/src/java/org/apache/fop/fonts/apps/AbstractFontReader.java
@@ -67,7 +67,7 @@
         List arguments = new java.util.ArrayList();
         for (int i = 0; i < args.length; i++) {
             if (args[i].startsWith("-")) {
-                if ("-d".equals(args[i]) || "-q".equals(args[i])) {
+                if ("-t".equals(args[i]) || "-d".equals(args[i]) || "-q".equals(args[i])) {
                     options.put(args[i], "");
                 } else if ((i + 1) < args.length && !args[i + 1].startsWith("-")) {
                     options.put(args[i], args[i + 1]);
@@ -101,7 +101,9 @@
      */
     protected static void determineLogLevel(Map options) {
         //Determine log level
-        if (options.get("-d") != null) {
+        if (options.get("-t") != null) {
+            setLogLevel("trace");
+        } else if (options.get("-d") != null) {
             setLogLevel("debug");
         } else if (options.get("-q") != null) {
             setLogLevel("error");
diff --git a/src/java/org/apache/fop/fonts/apps/TTFReader.java b/src/java/org/apache/fop/fonts/apps/TTFReader.java
index 6e64f91..efd7599 100644
--- a/src/java/org/apache/fop/fonts/apps/TTFReader.java
+++ b/src/java/org/apache/fop/fonts/apps/TTFReader.java
@@ -21,6 +21,7 @@
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -38,6 +39,9 @@
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+
 /**
  * A tool which reads TTF files and generates
  * XML font metrics file for use in FOP.
@@ -61,6 +65,7 @@
                 "java " + TTFReader.class.getName() + " [options] fontfile.ttf xmlfile.xml");
         System.out.println();
         System.out.println("where options can be:");
+        System.out.println("-t  Trace mode");
         System.out.println("-d  Debug mode");
         System.out.println("-q  Quiet mode");
         System.out.println("-enc ansi");
@@ -463,7 +468,6 @@
         }
     }
 
-
     /**
      * Bugzilla 40739, check that attr has a metrics-version attribute
      * compatible with ours.
diff --git a/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java b/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java
index 714af0e..be098c7 100644
--- a/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java
+++ b/src/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java
@@ -148,7 +148,7 @@
             subFontName = ((MultiByteFont)customFont).getTTCName();
         }
         EmbedFontInfo fontInfo = new EmbedFontInfo(null, customFont.isKerningEnabled(),
-                fontTripletList, embedUrl, subFontName);
+                customFont.isAdvancedEnabled(), fontTripletList, embedUrl, subFontName);
         fontInfo.setPostScriptName(customFont.getFontName());
         if (fontCache != null) {
             fontCache.addFont(fontInfo);
@@ -190,7 +190,7 @@
 
         // try to determine triplet information from font file
         CustomFont customFont = null;
-        if (fontURL.toExternalForm().endsWith(".ttc")) {
+        if (fontURL.toExternalForm().toLowerCase().endsWith(".ttc")) {
             // Get a list of the TTC Font names
             List<String> ttcNames = null;
             String fontFileURL = fontURL.toExternalForm().trim();
@@ -218,7 +218,7 @@
                 }
                 try {
                     TTFFontLoader ttfLoader = new TTFFontLoader(
-                            fontFileURL, fontName, true, EncodingMode.AUTO, true, resolver);
+                            fontFileURL, fontName, true, EncodingMode.AUTO, true, true, resolver);
                     customFont = ttfLoader.getFont();
                     if (this.eventListener != null) {
                         customFont.setEventListener(this.eventListener);
diff --git a/src/java/org/apache/fop/fonts/truetype/TTFFile.java b/src/java/org/apache/fop/fonts/truetype/TTFFile.java
index f4806d9..a4ec79b 100644
--- a/src/java/org/apache/fop/fonts/truetype/TTFFile.java
+++ b/src/java/org/apache/fop/fonts/truetype/TTFFile.java
@@ -20,6 +20,7 @@
 package org.apache.fop.fonts.truetype;
 
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.BitSet;
 import java.util.Iterator;
 import java.util.List;
@@ -28,9 +29,28 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.fop.fonts.FontUtil;
 import org.apache.xmlgraphics.fonts.Glyphs;
 
+import org.apache.fop.fonts.AdvancedTypographicTableFormatException;
+import org.apache.fop.fonts.FontUtil;
+import org.apache.fop.fonts.GlyphClassTable;
+import org.apache.fop.fonts.GlyphCoverageTable;
+import org.apache.fop.fonts.GlyphDefinitionSubtable;
+import org.apache.fop.fonts.GlyphDefinitionTable;
+import org.apache.fop.fonts.GlyphMappingTable;
+import org.apache.fop.fonts.GlyphPositioningSubtable;
+import org.apache.fop.fonts.GlyphPositioningTable;
+import org.apache.fop.fonts.GlyphSubstitutionSubtable;
+import org.apache.fop.fonts.GlyphSubstitutionTable;
+import org.apache.fop.fonts.GlyphSubtable;
+import org.apache.fop.fonts.GlyphTable;
+
+// CSOFF: AvoidNestedBlocksCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: SimplifyBooleanReturnCheck
+// CSOFF: LineLengthCheck
+
 /**
  * Reads a TrueType file or a TrueType Collection.
  * The TrueType spec can be found at the Microsoft.
@@ -43,9 +63,6 @@
     static final int MAX_CHAR_CODE = 255;
     static final int ENC_BUF_SIZE = 1024;
 
-    /** Set to true to get even more debug output than with level DEBUG */
-    public static final boolean TRACE_ENABLED = false;
-
     private final String encoding = "WinAnsiEncoding";    // Default encoding
 
     private final short firstChar = 0;
@@ -58,7 +75,7 @@
     private Map<Integer, Map<Integer, Integer>> kerningTab;     // for CIDs
     private Map<Integer, Map<Integer, Integer>> ansiKerningTab; // For winAnsiEncoding
     private List cmaps;
-    private List unicodeMapping;
+    private Set unicodeMappings;
 
     private int upem;                                // unitsPerEm from "head" table
     private int nhmtx;                               // Number of horizontal metrics
@@ -120,6 +137,17 @@
 
     private boolean isCFF;
 
+    /* advanced typographic support */
+    private Map/*<String,Object[3]>*/ seScripts;
+    private Map/*<String,Object[2]>*/ seLanguages;
+    private Map/*<String,List<String>>*/ seFeatures;
+    private GlyphMappingTable seMapping;
+    private List seEntries;
+    private List seSubtables;
+    private GlyphDefinitionTable gdef;
+    private GlyphSubstitutionTable gsub;
+    private GlyphPositioningTable gpos;
+
     /**
      * logging instance
      */
@@ -128,7 +156,7 @@
     /**
      * Key-value helper class
      */
-    class UnicodeMapping {
+    class UnicodeMapping implements Comparable {
 
         private final int unicodeIndex;
         private final int glyphIndex;
@@ -155,6 +183,46 @@
         public int getUnicodeIndex() {
             return unicodeIndex;
         }
+
+
+        /** {@inheritDoc} */
+        public int hashCode() {
+            int hc = unicodeIndex;
+            hc = 19 * hc + ( hc ^ glyphIndex );
+            return hc;
+        }
+
+        /** {@inheritDoc} */
+        public boolean equals ( Object o ) {
+            if ( o instanceof UnicodeMapping ) {
+                UnicodeMapping m = (UnicodeMapping) o;
+                if ( unicodeIndex != m.unicodeIndex ) {
+                    return false;
+                } else if ( glyphIndex != m.glyphIndex ) {
+                    return false;
+                } else {
+                    return true;
+                }
+            } else {
+                return false;
+            }
+        }
+
+        /** {@inheritDoc} */
+        public int compareTo ( Object o ) {
+            if ( o instanceof UnicodeMapping ) {
+                UnicodeMapping m = (UnicodeMapping) o;
+                if ( unicodeIndex > m.unicodeIndex ) {
+                    return 1;
+                } else if ( unicodeIndex < m.unicodeIndex ) {
+                    return -1;
+                } else {
+                    return 0;
+                }
+            } else {
+                return -1;
+            }
+        }
     }
 
     /**
@@ -203,7 +271,7 @@
      */
     private boolean readCMAP(FontFileReader in) throws IOException {
 
-        unicodeMapping = new java.util.ArrayList();
+        unicodeMappings = new java.util.TreeSet();
 
         seekTab(in, "cmap", 2);
         int numCMap = in.readTTFUShort();    // Number of cmap subtables
@@ -344,7 +412,7 @@
                             glyphIdx = (in.readTTFUShort() + cmapDeltas[i])
                                        & 0xffff;
 
-                            unicodeMapping.add(new UnicodeMapping(glyphIdx, j));
+                            unicodeMappings.add(new UnicodeMapping(glyphIdx, j));
                             mtxTab[glyphIdx].getUnicodeIndex().add(new Integer(j));
 
                             if (encodingID == 0 && j >= 0xF020 && j <= 0xF0FF) {
@@ -354,7 +422,7 @@
                                 int mapped = j - 0xF000;
                                 if (!eightBitGlyphs.get(mapped)) {
                                     //Only map if Unicode code point hasn't been mapped before
-                                    unicodeMapping.add(new UnicodeMapping(glyphIdx, mapped));
+                                    unicodeMappings.add(new UnicodeMapping(glyphIdx, mapped));
                                     mtxTab[glyphIdx].getUnicodeIndex().add(new Integer(mapped));
                                 }
                             }
@@ -395,7 +463,7 @@
                                                    + mtxTab.length);
                             }
 
-                            unicodeMapping.add(new UnicodeMapping(glyphIdx, j));
+                            unicodeMappings.add(new UnicodeMapping(glyphIdx, j));
                             if (glyphIdx < mtxTab.length) {
                                 mtxTab[glyphIdx].getUnicodeIndex().add(new Integer(j));
                             } else {
@@ -554,9 +622,22 @@
         }
         // Create cmaps for bfentries
         createCMaps();
-        // print_max_min();
 
         readKerning(in);
+
+        // Read advanced typographic tables. If any format exception,
+        // reset (thus ignoring) all advanced typographic tables.
+        try {
+            readGDEF(in);
+            readGSUB(in);
+            readGPOS(in);
+        } catch ( AdvancedTypographicTableFormatException e ) {
+            resetATStateAll();
+            log.warn ( "Encountered format constraint violation in advanced (typographic) table (AT) "
+                       + "in font '" + getFullName() + "', ignoring AT data: "
+                       + e.getMessage() );
+        }
+
         guessVerticalMetricsFromGlyphBBox();
         return true;
     }
@@ -565,7 +646,7 @@
         cmaps = new java.util.ArrayList();
         TTFCmapEntry tce = new TTFCmapEntry();
 
-        Iterator e = unicodeMapping.listIterator();
+        Iterator e = unicodeMappings.iterator();
         UnicodeMapping um = (UnicodeMapping)e.next();
         UnicodeMapping lastMapping = um;
 
@@ -927,8 +1008,8 @@
         int mtxSize = Math.max(numberOfGlyphs, nhmtx);
         mtxTab = new TTFMtxEntry[mtxSize];
 
-        if (TRACE_ENABLED) {
-            log.debug("*** Widths array: \n");
+        if (log.isTraceEnabled()) {
+            log.trace("*** Widths array: \n");
         }
         for (int i = 0; i < mtxSize; i++) {
             mtxTab[i] = new TTFMtxEntry();
@@ -937,11 +1018,9 @@
             mtxTab[i].setWx(in.readTTFUShort());
             mtxTab[i].setLsb(in.readTTFUShort());
 
-            if (TRACE_ENABLED) {
-                if (log.isDebugEnabled()) {
-                    log.debug("   width[" + i + "] = "
-                        + convertTTFUnit2PDFUnit(mtxTab[i].getWx()) + ";");
-                }
+            if (log.isTraceEnabled()) {
+                log.trace("   width[" + i + "] = "
+                          + convertTTFUnit2PDFUnit(mtxTab[i].getWx()) + ";");
             }
         }
 
@@ -1380,7 +1459,7 @@
                 capHeight = os2CapHeight;
             }
             if (capHeight == 0) {
-                log.warn("capHeight value could not be determined."
+                log.debug("capHeight value could not be determined."
                         + " The font may not work as expected.");
             }
         }
@@ -1390,7 +1469,7 @@
                 xHeight = os2xHeight;
             }
             if (xHeight == 0) {
-                log.warn("xHeight value could not be determined."
+                log.debug("xHeight value could not be determined."
                         + " The font may not work as expected.");
             }
         }
@@ -1489,6 +1568,3697 @@
         }
     }
 
+    /** helper method for formatting an integer array for output */
+    private String toString ( int[] ia ) {
+        StringBuffer sb = new StringBuffer();
+        if ( ( ia == null ) || ( ia.length == 0 ) ) {
+            sb.append ( '-' );
+        } else {
+            boolean first = true;
+            for ( int i = 0; i < ia.length; i++ ) {
+                if ( ! first ) {
+                    sb.append ( ' ' );
+                } else {
+                    first = false;
+                }
+                sb.append ( ia[i] );
+            }
+        }
+        return sb.toString();
+    }
+
+    private void readLangSysTable(FontFileReader in, String tableTag, long langSysTable, String langSysTag) throws IOException {
+        in.seekSet(langSysTable);
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " lang sys table: " + langSysTag );
+        }
+        // read lookup order (reorder) table offset
+        int lo = in.readTTFUShort();
+        // read required feature index
+        int rf = in.readTTFUShort();
+        String rfi;
+        if ( rf != 65535 ) {
+            rfi = "f" + rf;
+        } else {
+            rfi = null;
+        }
+        // read (non-required) feature count
+        int nf = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " lang sys table reorder table: " + lo );
+            log.debug(tableTag + " lang sys table required feature index: " + rf );
+            log.debug(tableTag + " lang sys table non-required feature count: " + nf );
+        }
+        // read (non-required) feature indices
+        int[] fia = new int[nf];
+        List fl = new java.util.ArrayList();
+        for ( int i = 0; i < nf; i++ ) {
+            int fi = in.readTTFUShort();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " lang sys table non-required feature index: " + fi );
+            }
+            fia[i] = fi;
+            fl.add ( "f" + fi );
+        }
+        if ( seLanguages == null ) {
+            seLanguages = new java.util.LinkedHashMap();
+        }
+        seLanguages.put ( langSysTag, new Object[] { rfi, fl } );
+    }
+
+    private static String defaultTag = "dflt";
+
+    private void readScriptTable(FontFileReader in, String tableTag, long scriptTable, String scriptTag) throws IOException {
+        in.seekSet(scriptTable);
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " script table: " + scriptTag );
+        }
+        // read default language system table offset
+        int dl = in.readTTFUShort();
+        String dt = defaultTag;
+        if ( dl > 0 ) {
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " default lang sys tag: " + dt );
+                log.debug(tableTag + " default lang sys table offset: " + dl );
+            }
+        }
+        // read language system record count
+        int nl = in.readTTFUShort();
+        List ll = new java.util.ArrayList();
+        if ( nl > 0 ) {
+            String[] lta = new String[nl];
+            int[] loa = new int[nl];
+            // read language system records
+            for ( int i = 0, n = nl; i < n; i++ ) {
+                String lt = in.readTTFString(4);
+                int lo = in.readTTFUShort();
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " lang sys tag: " + lt );
+                    log.debug(tableTag + " lang sys table offset: " + lo );
+                }
+                lta[i] = lt;
+                loa[i] = lo;
+                if ( dl == lo ) {
+                    dl = 0;
+                    dt = lt;
+                }
+                ll.add ( lt );
+            }
+            // read non-default language system tables
+            for ( int i = 0, n = nl; i < n; i++ ) {
+                readLangSysTable ( in, tableTag, scriptTable + loa [ i ], lta [ i ] );
+            }
+        }
+        // read default language system table (if specified)
+        if ( dl > 0 ) {
+            readLangSysTable ( in, tableTag, scriptTable + dl, dt );
+        } else if ( dt != null ) {
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " lang sys default: " + dt );
+            }
+        }
+        seScripts.put ( scriptTag, new Object[] { dt, ll, seLanguages } );
+        seLanguages = null;
+    }
+
+    private void readScriptList(FontFileReader in, String tableTag, long scriptList) throws IOException {
+        in.seekSet(scriptList);
+        // read script record count
+        int ns = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " script list record count: " + ns );
+        }
+        if ( ns > 0 ) {
+            String[] sta = new String[ns];
+            int[] soa = new int[ns];
+            // read script records
+            for ( int i = 0, n = ns; i < n; i++ ) {
+                String st = in.readTTFString(4);
+                int so = in.readTTFUShort();
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " script tag: " + st );
+                    log.debug(tableTag + " script table offset: " + so );
+                }
+                sta[i] = st;
+                soa[i] = so;
+            }
+            // read script tables
+            for ( int i = 0, n = ns; i < n; i++ ) {
+                seLanguages = null;
+                readScriptTable ( in, tableTag, scriptList + soa [ i ], sta [ i ] );
+            }
+        }
+    }
+
+    private void readFeatureTable(FontFileReader in, String tableTag, long featureTable, String featureTag, int featureIndex) throws IOException {
+        in.seekSet(featureTable);
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " feature table: " + featureTag );
+        }
+        // read feature params offset
+        int po = in.readTTFUShort();
+        // read lookup list indices count
+        int nl = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " feature table parameters offset: " + po );
+            log.debug(tableTag + " feature table lookup list index count: " + nl );
+        }
+        // read lookup table indices
+        int[] lia = new int[nl];
+        List lul = new java.util.ArrayList();
+        for ( int i = 0; i < nl; i++ ) {
+            int li = in.readTTFUShort();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " feature table lookup index: " + li );
+            }
+            lia[i] = li;
+            lul.add ( "lu" + li );
+        }
+        seFeatures.put ( "f" + featureIndex, new Object[] { featureTag, lul } );
+    }
+
+    private void readFeatureList(FontFileReader in, String tableTag, long featureList) throws IOException {
+        in.seekSet(featureList);
+        // read feature record count
+        int nf = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " feature list record count: " + nf );
+        }
+        if ( nf > 0 ) {
+            String[] fta = new String[nf];
+            int[] foa = new int[nf];
+            // read feature records
+            for ( int i = 0, n = nf; i < n; i++ ) {
+                String ft = in.readTTFString(4);
+                int fo = in.readTTFUShort();
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " feature tag: " + ft );
+                    log.debug(tableTag + " feature table offset: " + fo );
+                }
+                fta[i] = ft;
+                foa[i] = fo;
+            }
+            // read feature tables
+            for ( int i = 0, n = nf; i < n; i++ ) {
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " feature index: " + i );
+                }
+                readFeatureTable ( in, tableTag, featureList + foa [ i ], fta [ i ], i );
+            }
+        }
+    }
+
+    /**
+     * Determine if advanced (typographic) table is present.
+     * @return true if advanced (typographic) table is present
+     */
+    public boolean hasAdvancedTable() {
+        return ( gdef != null ) || ( gsub != null ) || ( gpos != null );
+    }
+
+    /**
+     * Returns the GDEF table or null if none present.
+     * @return the GDEF table
+     */
+    public GlyphDefinitionTable getGDEF() {
+        return gdef;
+    }
+
+    /**
+     * Returns the GSUB table or null if none present.
+     * @return the GSUB table
+     */
+    public GlyphSubstitutionTable getGSUB() {
+        return gsub;
+    }
+
+    /**
+     * Returns the GPOS table or null if none present.
+     * @return the GPOS table
+     */
+    public GlyphPositioningTable getGPOS() {
+        return gpos;
+    }
+
+    static final class GDEFLookupType {
+        static final int GLYPH_CLASS                    = 1;
+        static final int ATTACHMENT_POINT               = 2;
+        static final int LIGATURE_CARET                 = 3;
+        static final int MARK_ATTACHMENT                = 4;
+        private GDEFLookupType() {
+        }
+        public static int getSubtableType ( int lt ) {
+            int st;
+            switch ( lt ) {
+            case GDEFLookupType.GLYPH_CLASS:
+                st = GlyphDefinitionTable.GDEF_LOOKUP_TYPE_GLYPH_CLASS;
+                break;
+            case GDEFLookupType.ATTACHMENT_POINT:
+                st = GlyphDefinitionTable.GDEF_LOOKUP_TYPE_ATTACHMENT_POINT;
+                break;
+            case GDEFLookupType.LIGATURE_CARET:
+                st = GlyphDefinitionTable.GDEF_LOOKUP_TYPE_LIGATURE_CARET;
+                break;
+            case GDEFLookupType.MARK_ATTACHMENT:
+                st = GlyphDefinitionTable.GDEF_LOOKUP_TYPE_MARK_ATTACHMENT;
+                break;
+            default:
+                st = -1;
+                break;
+            }
+            return st;
+        }
+        public static String toString(int type) {
+            String s;
+            switch ( type ) {
+            case GLYPH_CLASS:
+                s = "GlyphClass";
+                break;
+            case ATTACHMENT_POINT:
+                s = "AttachmentPoint";
+                break;
+            case LIGATURE_CARET:
+                s = "LigatureCaret";
+                break;
+            case MARK_ATTACHMENT:
+                s = "MarkAttachment";
+                break;
+            default:
+                s = "?";
+                break;
+            }
+            return s;
+        }
+    }
+
+    static final class GSUBLookupType {
+        static final int SINGLE                         = 1;
+        static final int MULTIPLE                       = 2;
+        static final int ALTERNATE                      = 3;
+        static final int LIGATURE                       = 4;
+        static final int CONTEXTUAL                     = 5;
+        static final int CHAINED_CONTEXTUAL             = 6;
+        static final int EXTENSION                      = 7;
+        static final int REVERSE_CHAINED_SINGLE         = 8;
+        private GSUBLookupType() {
+        }
+        public static int getSubtableType ( int lt ) {
+            int st;
+            switch ( lt ) {
+            case GSUBLookupType.SINGLE:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_SINGLE;
+                break;
+            case GSUBLookupType.MULTIPLE:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_MULTIPLE;
+                break;
+            case GSUBLookupType.ALTERNATE:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_ALTERNATE;
+                break;
+            case GSUBLookupType.LIGATURE:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_LIGATURE;
+                break;
+            case GSUBLookupType.CONTEXTUAL:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_CONTEXTUAL;
+                break;
+            case GSUBLookupType.CHAINED_CONTEXTUAL:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
+                break;
+            case GSUBLookupType.EXTENSION:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION;
+                break;
+            case GSUBLookupType.REVERSE_CHAINED_SINGLE:
+                st = GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE;
+                break;
+            default:
+                st = -1;
+                break;
+            }
+            return st;
+        }
+        public static String toString(int type) {
+            String s;
+            switch ( type ) {
+            case SINGLE:
+                s = "Single";
+                break;
+            case MULTIPLE:
+                s = "Multiple";
+                break;
+            case ALTERNATE:
+                s = "Alternate";
+                break;
+            case LIGATURE:
+                s = "Ligature";
+                break;
+            case CONTEXTUAL:
+                s = "Contextual";
+                break;
+            case CHAINED_CONTEXTUAL:
+                s = "ChainedContextual";
+                break;
+            case EXTENSION:
+                s = "Extension";
+                break;
+            case REVERSE_CHAINED_SINGLE:
+                s = "ReverseChainedSingle";
+                break;
+            default:
+                s = "?";
+                break;
+            }
+            return s;
+        }
+    }
+
+    static final class GPOSLookupType {
+        static final int SINGLE                         = 1;
+        static final int PAIR                           = 2;
+        static final int CURSIVE                        = 3;
+        static final int MARK_TO_BASE                   = 4;
+        static final int MARK_TO_LIGATURE               = 5;
+        static final int MARK_TO_MARK                   = 6;
+        static final int CONTEXTUAL                     = 7;
+        static final int CHAINED_CONTEXTUAL             = 8;
+        static final int EXTENSION                      = 9;
+        private GPOSLookupType() {
+        }
+        public static String toString(int type) {
+            String s;
+            switch ( type ) {
+            case SINGLE:
+                s = "Single";
+                break;
+            case PAIR:
+                s = "Pair";
+                break;
+            case CURSIVE:
+                s = "Cursive";
+                break;
+            case MARK_TO_BASE:
+                s = "MarkToBase";
+                break;
+            case MARK_TO_LIGATURE:
+                s = "MarkToLigature";
+                break;
+            case MARK_TO_MARK:
+                s = "MarkToMark";
+                break;
+            case CONTEXTUAL:
+                s = "Contextual";
+                break;
+            case CHAINED_CONTEXTUAL:
+                s = "ChainedContextual";
+                break;
+            case EXTENSION:
+                s = "Extension";
+                break;
+            default:
+                s = "?";
+                break;
+            }
+            return s;
+        }
+    }
+
+    static final class LookupFlag {
+        static final int RIGHT_TO_LEFT                  = 0x0001;
+        static final int IGNORE_BASE_GLYPHS             = 0x0002;
+        static final int IGNORE_LIGATURE                = 0x0004;
+        static final int IGNORE_MARKS                   = 0x0008;
+        static final int USE_MARK_FILTERING_SET         = 0x0010;
+        static final int MARK_ATTACHMENT_TYPE           = 0xFF00;
+        private LookupFlag() {
+        }
+        public static String toString(int flags) {
+            StringBuffer sb = new StringBuffer();
+            boolean first = true;
+            if ( ( flags & RIGHT_TO_LEFT ) != 0 ) {
+                if ( first ) {
+                    first = false;
+                } else {
+                    sb.append ( '|' );
+                }
+                sb.append ( "RightToLeft" );
+            }
+            if ( ( flags & IGNORE_BASE_GLYPHS ) != 0 ) {
+                if ( first ) {
+                    first = false;
+                } else {
+                    sb.append ( '|' );
+                }
+                sb.append ( "IgnoreBaseGlyphs" );
+            }
+            if ( ( flags & IGNORE_LIGATURE ) != 0 ) {
+                if ( first ) {
+                    first = false;
+                } else {
+                    sb.append ( '|' );
+                }
+                sb.append ( "IgnoreLigature" );
+            }
+            if ( ( flags & IGNORE_MARKS ) != 0 ) {
+                if ( first ) {
+                    first = false;
+                } else {
+                    sb.append ( '|' );
+                }
+                sb.append ( "IgnoreMarks" );
+            }
+            if ( ( flags & USE_MARK_FILTERING_SET ) != 0 ) {
+                if ( first ) {
+                    first = false;
+                } else {
+                    sb.append ( '|' );
+                }
+                sb.append ( "UseMarkFilteringSet" );
+            }
+            if ( sb.length() == 0 ) {
+                sb.append ( '-' );
+            }
+            return sb.toString();
+        }
+    }
+
+    private GlyphCoverageTable readCoverageTableFormat1(FontFileReader in, String label, long tableOffset, int coverageFormat) throws IOException {
+        List entries = new java.util.ArrayList();
+        in.seekSet(tableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read glyph count
+        int ng = in.readTTFUShort();
+        int[] ga = new int[ng];
+        for ( int i = 0, n = ng; i < n; i++ ) {
+            int g = in.readTTFUShort();
+            ga[i] = g;
+            entries.add ( Integer.valueOf(g) );
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(label + " glyphs: " + toString(ga) );
+        }
+        return GlyphCoverageTable.createCoverageTable ( entries );
+    }
+
+    private GlyphCoverageTable readCoverageTableFormat2(FontFileReader in, String label, long tableOffset, int coverageFormat) throws IOException {
+        List entries = new java.util.ArrayList();
+        in.seekSet(tableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read range record count
+        int nr = in.readTTFUShort();
+        for ( int i = 0, n = nr; i < n; i++ ) {
+            // read range start
+            int s = in.readTTFUShort();
+            // read range end
+            int e = in.readTTFUShort();
+            // read range coverage (mapping) index
+            int m = in.readTTFUShort();
+            // dump info if debugging
+            if (log.isDebugEnabled()) {
+                log.debug(label + " range[" + i + "]: [" + s + "," + e + "]: " + m );
+            }
+            entries.add ( new GlyphCoverageTable.MappingRange ( s, e, m ) );
+        }
+        return GlyphCoverageTable.createCoverageTable ( entries );
+    }
+
+    private GlyphCoverageTable readCoverageTable(FontFileReader in, String label, long tableOffset) throws IOException {
+        GlyphCoverageTable gct;
+        long cp = in.getCurrentPos();
+        in.seekSet(tableOffset);
+        // read coverage table format
+        int cf = in.readTTFUShort();
+        if ( cf == 1 ) {
+            gct = readCoverageTableFormat1 ( in, label, tableOffset, cf );
+        } else if ( cf == 2 ) {
+            gct = readCoverageTableFormat2 ( in, label, tableOffset, cf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported coverage table format: " + cf );
+        }
+        in.seekSet ( cp );
+        return gct;
+    }
+
+    private GlyphClassTable readClassDefTableFormat1(FontFileReader in, String label, long tableOffset, int classFormat) throws IOException {
+        List entries = new java.util.ArrayList();
+        in.seekSet(tableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read start glyph
+        int sg = in.readTTFUShort();
+        entries.add ( Integer.valueOf(sg) );
+        // read glyph count
+        int ng = in.readTTFUShort();
+        // read glyph classes
+        int[] ca = new int[ng];
+        for ( int i = 0, n = ng; i < n; i++ ) {
+            int gc = in.readTTFUShort();
+            ca[i] = gc;
+            entries.add ( Integer.valueOf(gc) );
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(label + " glyph classes: " + toString(ca) );
+        }
+        return GlyphClassTable.createClassTable ( entries );
+    }
+
+    private GlyphClassTable readClassDefTableFormat2(FontFileReader in, String label, long tableOffset, int classFormat) throws IOException {
+        List entries = new java.util.ArrayList();
+        in.seekSet(tableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read range record count
+        int nr = in.readTTFUShort();
+        for ( int i = 0, n = nr; i < n; i++ ) {
+            // read range start
+            int s = in.readTTFUShort();
+            // read range end
+            int e = in.readTTFUShort();
+            // read range glyph class (mapping) index
+            int m = in.readTTFUShort();
+            // dump info if debugging
+            if (log.isDebugEnabled()) {
+                log.debug(label + " range[" + i + "]: [" + s + "," + e + "]: " + m );
+            }
+            entries.add ( new GlyphClassTable.MappingRange ( s, e, m ) );
+        }
+        return GlyphClassTable.createClassTable ( entries );
+    }
+
+    private GlyphClassTable readClassDefTable(FontFileReader in, String label, long tableOffset) throws IOException {
+        GlyphClassTable gct;
+        long cp = in.getCurrentPos();
+        in.seekSet(tableOffset);
+        // read class table format
+        int cf = in.readTTFUShort();
+        if ( cf == 1 ) {
+            gct = readClassDefTableFormat1 ( in, label, tableOffset, cf );
+        } else if ( cf == 2 ) {
+            gct = readClassDefTableFormat2 ( in, label, tableOffset, cf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported class definition table format: " + cf );
+        }
+        in.seekSet ( cp );
+        return gct;
+    }
+
+    private void readSingleSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read delta glyph
+        int dg = in.readTTFShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " single substitution subtable format: " + subtableFormat + " (delta)" );
+            log.debug(tableTag + " single substitution coverage table offset: " + co );
+            log.debug(tableTag + " single substitution delta: " + dg );
+        }
+        // read coverage table
+        seMapping = readCoverageTable ( in, tableTag + " single substitution coverage", subtableOffset + co );
+        seEntries.add ( Integer.valueOf ( dg ) );
+    }
+
+    private void readSingleSubTableFormat2(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read glyph count
+        int ng = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " single substitution subtable format: " + subtableFormat + " (mapped)" );
+            log.debug(tableTag + " single substitution coverage table offset: " + co );
+            log.debug(tableTag + " single substitution glyph count: " + ng );
+        }
+        // read coverage table
+        seMapping = readCoverageTable ( in, tableTag + " single substitution coverage", subtableOffset + co );
+        // read glyph substitutions
+        int[] gsa = new int[ng];
+        for ( int i = 0, n = ng; i < n; i++ ) {
+            int gs = in.readTTFUShort();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " single substitution glyph[" + i + "]: " + gs );
+            }
+            gsa[i] = gs;
+            seEntries.add ( Integer.valueOf ( gs ) );
+        }
+    }
+
+    private int readSingleSubTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readSingleSubTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 2 ) {
+            readSingleSubTableFormat2 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported single substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readMultipleSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read sequence count
+        int ns = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " multiple substitution subtable format: " + subtableFormat + " (mapped)" );
+            log.debug(tableTag + " multiple substitution coverage table offset: " + co );
+            log.debug(tableTag + " multiple substitution sequence count: " + ns );
+        }
+        // read coverage table
+        seMapping = readCoverageTable ( in, tableTag + " multiple substitution coverage", subtableOffset + co );
+        // read sequence table offsets
+        int[] soa = new int[ns];
+        for ( int i = 0, n = ns; i < n; i++ ) {
+            soa[i] = in.readTTFUShort();
+        }
+        // read sequence tables
+        int[][] gsa = new int [ ns ] [];
+        for ( int i = 0, n = ns; i < n; i++ ) {
+            int so = soa[i];
+            int[] ga;
+            if ( so > 0 ) {
+                in.seekSet(subtableOffset + so);
+                // read glyph count
+                int ng = in.readTTFUShort();
+                ga = new int[ng];
+                for ( int j = 0; j < ng; j++ ) {
+                    ga[j] = in.readTTFUShort();
+                }
+            } else {
+                ga = null;
+            }
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " multiple substitution sequence[" + i + "]: " + toString ( ga ) );
+            }
+            gsa [ i ] = ga;
+        }
+        seEntries.add ( gsa );
+    }
+
+    private int readMultipleSubTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readMultipleSubTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported multiple substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readAlternateSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read alternate set count
+        int ns = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " alternate substitution subtable format: " + subtableFormat + " (mapped)" );
+            log.debug(tableTag + " alternate substitution coverage table offset: " + co );
+            log.debug(tableTag + " alternate substitution alternate set count: " + ns );
+        }
+        // read coverage table
+        seMapping = readCoverageTable ( in, tableTag + " alternate substitution coverage", subtableOffset + co );
+        // read alternate set table offsets
+        int[] soa = new int[ns];
+        for ( int i = 0, n = ns; i < n; i++ ) {
+            soa[i] = in.readTTFUShort();
+        }
+        // read alternate set tables
+        for ( int i = 0, n = ns; i < n; i++ ) {
+            int so = soa[i];
+            in.seekSet(subtableOffset + so);
+            // read glyph count
+            int ng = in.readTTFUShort();
+            int[] ga = new int[ng];
+            for ( int j = 0; j < ng; j++ ) {
+                int gs = in.readTTFUShort();
+                ga[j] = gs;
+            }
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " alternate substitution alternate set[" + i + "]: " + toString ( ga ) );
+            }
+            seEntries.add ( ga );
+        }
+    }
+
+    private int readAlternateSubTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readAlternateSubTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported alternate substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readLigatureSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read ligature set count
+        int ns = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " ligature substitution subtable format: " + subtableFormat + " (mapped)" );
+            log.debug(tableTag + " ligature substitution coverage table offset: " + co );
+            log.debug(tableTag + " ligature substitution ligature set count: " + ns );
+        }
+        // read coverage table
+        seMapping = readCoverageTable ( in, tableTag + " ligature substitution coverage", subtableOffset + co );
+        // read ligature set table offsets
+        int[] soa = new int[ns];
+        for ( int i = 0, n = ns; i < n; i++ ) {
+            soa[i] = in.readTTFUShort();
+        }
+        // read ligature set tables
+        for ( int i = 0, n = ns; i < n; i++ ) {
+            int so = soa[i];
+            in.seekSet(subtableOffset + so);
+            // read ligature table count
+            int nl = in.readTTFUShort();
+            int[] loa = new int[nl];
+            for ( int j = 0; j < nl; j++ ) {
+                loa[j] = in.readTTFUShort();
+            }
+            List ligs = new java.util.ArrayList();
+            for ( int j = 0; j < nl; j++ ) {
+                int lo = loa[j];
+                in.seekSet(subtableOffset + so + lo);
+                // read ligature glyph id
+                int lg = in.readTTFUShort();
+                // read ligature (input) component count
+                int nc = in.readTTFUShort();
+                int[] ca = new int [ nc - 1 ];
+                // read ligature (input) component glyph ids
+                for ( int k = 0; k < nc - 1; k++ ) {
+                    ca[k] = in.readTTFUShort();
+                }
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " ligature substitution ligature set[" + i + "]: ligature(" + lg + "), components: " + toString ( ca ) );
+                }
+                ligs.add ( new GlyphSubstitutionTable.Ligature ( lg, ca ) );
+            }
+            seEntries.add ( new GlyphSubstitutionTable.LigatureSet ( ligs ) );
+        }
+    }
+
+    private int readLigatureSubTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readLigatureSubTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported ligature substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private GlyphTable.RuleLookup[] readRuleLookups(FontFileReader in, int numLookups, String header) throws IOException {
+        GlyphTable.RuleLookup[] la = new GlyphTable.RuleLookup [ numLookups ];
+        for ( int i = 0, n = numLookups; i < n; i++ ) {
+            int sequenceIndex = in.readTTFUShort();
+            int lookupIndex = in.readTTFUShort();
+            la [ i ] = new GlyphTable.RuleLookup ( sequenceIndex, lookupIndex );
+            // dump info if debugging and header is non-null
+            if ( log.isDebugEnabled() && ( header != null ) ) {
+                log.debug(header + "lookup[" + i + "]: " + la[i]);
+            }
+        }
+        return la;
+    }
+
+    private void readContextualSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read rule set count
+        int nrs = in.readTTFUShort();
+        // read rule set offsets
+        int[] rsoa = new int [ nrs ];
+        for ( int i = 0; i < nrs; i++ ) {
+            rsoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " contextual substitution format: " + subtableFormat + " (glyphs)" );
+            log.debug(tableTag + " contextual substitution coverage table offset: " + co );
+            log.debug(tableTag + " contextual substitution rule set count: " + nrs );
+            for ( int i = 0; i < nrs; i++ ) {
+                log.debug(tableTag + " contextual substitution rule set offset[" + i + "]: " + rsoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " contextual substitution coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ nrs ];
+        String header = null;
+        for ( int i = 0; i < nrs; i++ ) {
+            GlyphTable.RuleSet rs;
+            int rso = rsoa [ i ];
+            if ( rso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + rso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    GlyphTable.GlyphSequenceRule r;
+                    int ro = roa [ j ];
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + rso + ro );
+                        // read glyph count
+                        int ng = in.readTTFUShort();
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read glyphs
+                        int[] glyphs = new int [ ng - 1 ];
+                        for ( int k = 0, nk = glyphs.length; k < nk; k++ ) {
+                            glyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.GlyphSequenceRule ( lookups, ng, glyphs );
+                    } else {
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( rsa );
+    }
+
+    private void readContextualSubTableFormat2(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read class def table offset
+        int cdo = in.readTTFUShort();
+        // read class rule set count
+        int ngc = in.readTTFUShort();
+        // read class rule set offsets
+        int[] csoa = new int [ ngc ];
+        for ( int i = 0; i < ngc; i++ ) {
+            csoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " contextual substitution format: " + subtableFormat + " (glyph classes)" );
+            log.debug(tableTag + " contextual substitution coverage table offset: " + co );
+            log.debug(tableTag + " contextual substitution class set count: " + ngc );
+            for ( int i = 0; i < ngc; i++ ) {
+                log.debug(tableTag + " contextual substitution class set offset[" + i + "]: " + csoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " contextual substitution coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read class definition table
+        GlyphClassTable cdt;
+        if ( cdo > 0 ) {
+            cdt = readClassDefTable ( in, tableTag + " contextual substitution class definition", subtableOffset + cdo );
+        } else {
+            cdt = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ ngc ];
+        String header = null;
+        for ( int i = 0; i < ngc; i++ ) {
+            int cso = csoa [ i ];
+            GlyphTable.RuleSet rs;
+            if ( cso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + cso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    int ro = roa [ j ];
+                    GlyphTable.ClassSequenceRule r;
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + cso + ro );
+                        // read glyph count
+                        int ng = in.readTTFUShort();
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read classes
+                        int[] classes = new int [ ng - 1 ];
+                        for ( int k = 0, nk = classes.length; k < nk; k++ ) {
+                            classes [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.ClassSequenceRule ( lookups, ng, classes );
+                    } else {
+                        assert ro > 0 : "unexpected null subclass rule offset";
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( cdt );
+        seEntries.add ( Integer.valueOf ( ngc ) );
+        seEntries.add ( rsa );
+    }
+
+    private void readContextualSubTableFormat3(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read glyph (input sequence length) count
+        int ng = in.readTTFUShort();
+        // read substitution lookup count
+        int nl = in.readTTFUShort();
+        // read glyph coverage offsets, one per glyph input sequence length count
+        int[] gcoa = new int [ ng ];
+        for ( int i = 0; i < ng; i++ ) {
+            gcoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " contextual substitution format: " + subtableFormat + " (glyph sets)" );
+            log.debug(tableTag + " contextual substitution glyph input sequence length count: " + ng );
+            log.debug(tableTag + " contextual substitution lookup count: " + nl );
+            for ( int i = 0; i < ng; i++ ) {
+                log.debug(tableTag + " contextual substitution coverage table offset[" + i + "]: " + gcoa[i] );
+            }
+        }
+        // read coverage tables
+        GlyphCoverageTable[] gca = new GlyphCoverageTable [ ng ];
+        for ( int i = 0; i < ng; i++ ) {
+            int gco = gcoa [ i ];
+            GlyphCoverageTable gct;
+            if ( gco > 0 ) {
+                gct = readCoverageTable ( in, tableTag + " contextual substitution coverage[" + i + "]", subtableOffset + gco );
+            } else {
+                gct = null;
+            }
+            gca [ i ] = gct;
+        }
+        // read rule lookups
+        String header = null;
+        if (log.isDebugEnabled()) {
+            header = tableTag + " contextual substitution lookups: ";
+        }
+        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+        // construct rule, rule set, and rule set array
+        GlyphTable.Rule r = new GlyphTable.CoverageSequenceRule ( lookups, ng, gca );
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet ( new GlyphTable.Rule[] {r} );
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
+        // store results
+        assert ( gca != null ) && ( gca.length > 0 );
+        seMapping = gca[0];
+        seEntries.add ( rsa );
+    }
+
+    private int readContextualSubTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readContextualSubTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 2 ) {
+            readContextualSubTableFormat2 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 3 ) {
+            readContextualSubTableFormat3 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported contextual substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readChainedContextualSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read rule set count
+        int nrs = in.readTTFUShort();
+        // read rule set offsets
+        int[] rsoa = new int [ nrs ];
+        for ( int i = 0; i < nrs; i++ ) {
+            rsoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " chained contextual substitution format: " + subtableFormat + " (glyphs)" );
+            log.debug(tableTag + " chained contextual substitution coverage table offset: " + co );
+            log.debug(tableTag + " chained contextual substitution rule set count: " + nrs );
+            for ( int i = 0; i < nrs; i++ ) {
+                log.debug(tableTag + " chained contextual substitution rule set offset[" + i + "]: " + rsoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " chained contextual substitution coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ nrs ];
+        String header = null;
+        for ( int i = 0; i < nrs; i++ ) {
+            GlyphTable.RuleSet rs;
+            int rso = rsoa [ i ];
+            if ( rso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + rso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    GlyphTable.ChainedGlyphSequenceRule r;
+                    int ro = roa [ j ];
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + rso + ro );
+                        // read backtrack glyph count
+                        int nbg = in.readTTFUShort();
+                        // read backtrack glyphs
+                        int[] backtrackGlyphs = new int [ nbg ];
+                        for ( int k = 0, nk = backtrackGlyphs.length; k < nk; k++ ) {
+                            backtrackGlyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read input glyph count
+                        int nig = in.readTTFUShort();
+                        // read glyphs
+                        int[] glyphs = new int [ nig - 1 ];
+                        for ( int k = 0, nk = glyphs.length; k < nk; k++ ) {
+                            glyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read lookahead glyph count
+                        int nlg = in.readTTFUShort();
+                        // read lookahead glyphs
+                        int[] lookaheadGlyphs = new int [ nlg ];
+                        for ( int k = 0, nk = lookaheadGlyphs.length; k < nk; k++ ) {
+                            lookaheadGlyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.ChainedGlyphSequenceRule ( lookups, nig, glyphs, backtrackGlyphs, lookaheadGlyphs );
+                    } else {
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( rsa );
+    }
+
+    private void readChainedContextualSubTableFormat2(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read backtrack class def table offset
+        int bcdo = in.readTTFUShort();
+        // read input class def table offset
+        int icdo = in.readTTFUShort();
+        // read lookahead class def table offset
+        int lcdo = in.readTTFUShort();
+        // read class set count
+        int ngc = in.readTTFUShort();
+        // read class set offsets
+        int[] csoa = new int [ ngc ];
+        for ( int i = 0; i < ngc; i++ ) {
+            csoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " chained contextual substitution format: " + subtableFormat + " (glyph classes)" );
+            log.debug(tableTag + " chained contextual substitution coverage table offset: " + co );
+            log.debug(tableTag + " chained contextual substitution class set count: " + ngc );
+            for ( int i = 0; i < ngc; i++ ) {
+                log.debug(tableTag + " chained contextual substitution class set offset[" + i + "]: " + csoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " chained contextual substitution coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read backtrack class definition table
+        GlyphClassTable bcdt;
+        if ( bcdo > 0 ) {
+            bcdt = readClassDefTable ( in, tableTag + " contextual substitution backtrack class definition", subtableOffset + bcdo );
+        } else {
+            bcdt = null;
+        }
+        // read input class definition table
+        GlyphClassTable icdt;
+        if ( icdo > 0 ) {
+            icdt = readClassDefTable ( in, tableTag + " contextual substitution input class definition", subtableOffset + icdo );
+        } else {
+            icdt = null;
+        }
+        // read lookahead class definition table
+        GlyphClassTable lcdt;
+        if ( lcdo > 0 ) {
+            lcdt = readClassDefTable ( in, tableTag + " contextual substitution lookahead class definition", subtableOffset + lcdo );
+        } else {
+            lcdt = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ ngc ];
+        String header = null;
+        for ( int i = 0; i < ngc; i++ ) {
+            int cso = csoa [ i ];
+            GlyphTable.RuleSet rs;
+            if ( cso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + cso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    int ro = roa [ j ];
+                    GlyphTable.ChainedClassSequenceRule r;
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + cso + ro );
+                        // read backtrack glyph class count
+                        int nbc = in.readTTFUShort();
+                        // read backtrack glyph classes
+                        int[] backtrackClasses = new int [ nbc ];
+                        for ( int k = 0, nk = backtrackClasses.length; k < nk; k++ ) {
+                            backtrackClasses [ k ] = in.readTTFUShort();
+                        }
+                        // read input glyph class count
+                        int nic = in.readTTFUShort();
+                        // read input glyph classes
+                        int[] classes = new int [ nic - 1 ];
+                        for ( int k = 0, nk = classes.length; k < nk; k++ ) {
+                            classes [ k ] = in.readTTFUShort();
+                        }
+                        // read lookahead glyph class count
+                        int nlc = in.readTTFUShort();
+                        // read lookahead glyph classes
+                        int[] lookaheadClasses = new int [ nlc ];
+                        for ( int k = 0, nk = lookaheadClasses.length; k < nk; k++ ) {
+                            lookaheadClasses [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.ChainedClassSequenceRule ( lookups, nic, classes, backtrackClasses, lookaheadClasses );
+                    } else {
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( icdt );
+        seEntries.add ( bcdt );
+        seEntries.add ( lcdt );
+        seEntries.add ( Integer.valueOf ( ngc ) );
+        seEntries.add ( rsa );
+    }
+
+    private void readChainedContextualSubTableFormat3(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read backtrack glyph count
+        int nbg = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] bgcoa = new int [ nbg ];
+        for ( int i = 0; i < nbg; i++ ) {
+            bgcoa [ i ] = in.readTTFUShort();
+        }
+        // read input glyph count
+        int nig = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] igcoa = new int [ nig ];
+        for ( int i = 0; i < nig; i++ ) {
+            igcoa [ i ] = in.readTTFUShort();
+        }
+        // read lookahead glyph count
+        int nlg = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] lgcoa = new int [ nlg ];
+        for ( int i = 0; i < nlg; i++ ) {
+            lgcoa [ i ] = in.readTTFUShort();
+        }
+        // read substitution lookup count
+        int nl = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " chained contextual substitution format: " + subtableFormat + " (glyph sets)" );
+            log.debug(tableTag + " chained contextual substitution backtrack glyph count: " + nbg );
+            for ( int i = 0; i < nbg; i++ ) {
+                log.debug(tableTag + " chained contextual substitution backtrack coverage table offset[" + i + "]: " + bgcoa[i] );
+            }
+            log.debug(tableTag + " chained contextual substitution input glyph count: " + nig );
+            for ( int i = 0; i < nig; i++ ) {
+                log.debug(tableTag + " chained contextual substitution input coverage table offset[" + i + "]: " + igcoa[i] );
+            }
+            log.debug(tableTag + " chained contextual substitution lookahead glyph count: " + nlg );
+            for ( int i = 0; i < nlg; i++ ) {
+                log.debug(tableTag + " chained contextual substitution lookahead coverage table offset[" + i + "]: " + lgcoa[i] );
+            }
+            log.debug(tableTag + " chained contextual substitution lookup count: " + nl );
+        }
+        // read backtrack coverage tables
+        GlyphCoverageTable[] bgca = new GlyphCoverageTable[nbg];
+        for ( int i = 0; i < nbg; i++ ) {
+            int bgco = bgcoa [ i ];
+            GlyphCoverageTable bgct;
+            if ( bgco > 0 ) {
+                bgct = readCoverageTable ( in, tableTag + " chained contextual substitution backtrack coverage[" + i + "]", subtableOffset + bgco );
+            } else {
+                bgct = null;
+            }
+            bgca[i] = bgct;
+        }
+        // read input coverage tables
+        GlyphCoverageTable[] igca = new GlyphCoverageTable[nig];
+        for ( int i = 0; i < nig; i++ ) {
+            int igco = igcoa [ i ];
+            GlyphCoverageTable igct;
+            if ( igco > 0 ) {
+                igct = readCoverageTable ( in, tableTag + " chained contextual substitution input coverage[" + i + "]", subtableOffset + igco );
+            } else {
+                igct = null;
+            }
+            igca[i] = igct;
+        }
+        // read lookahead coverage tables
+        GlyphCoverageTable[] lgca = new GlyphCoverageTable[nlg];
+        for ( int i = 0; i < nlg; i++ ) {
+            int lgco = lgcoa [ i ];
+            GlyphCoverageTable lgct;
+            if ( lgco > 0 ) {
+                lgct = readCoverageTable ( in, tableTag + " chained contextual substitution lookahead coverage[" + i + "]", subtableOffset + lgco );
+            } else {
+                lgct = null;
+            }
+            lgca[i] = lgct;
+        }
+        // read rule lookups
+        String header = null;
+        if (log.isDebugEnabled()) {
+            header = tableTag + " chained contextual substitution lookups: ";
+        }
+        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+        // construct rule, rule set, and rule set array
+        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule ( lookups, nig, igca, bgca, lgca );
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet ( new GlyphTable.Rule[] {r} );
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
+        // store results
+        assert ( igca != null ) && ( igca.length > 0 );
+        seMapping = igca[0];
+        seEntries.add ( rsa );
+    }
+
+    private int readChainedContextualSubTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readChainedContextualSubTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 2 ) {
+            readChainedContextualSubTableFormat2 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 3 ) {
+            readChainedContextualSubTableFormat3 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported chained contextual substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readExtensionSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read extension lookup type
+        int lt = in.readTTFUShort();
+        // read extension offset
+        long eo = in.readTTFULong();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " extension substitution subtable format: " + subtableFormat );
+            log.debug(tableTag + " extension substitution lookup type: " + lt );
+            log.debug(tableTag + " extension substitution lookup table offset: " + eo );
+        }
+        // read referenced subtable from extended offset
+        readGSUBSubtable ( in, lt, lookupFlags, lookupSequence, subtableSequence, subtableOffset + eo );
+    }
+
+    private int readExtensionSubTable(FontFileReader in, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readExtensionSubTableFormat1 ( in, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported extension substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readReverseChainedSingleSubTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GSUB";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read backtrack glyph count
+        int nbg = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] bgcoa = new int [ nbg ];
+        for ( int i = 0; i < nbg; i++ ) {
+            bgcoa [ i ] = in.readTTFUShort();
+        }
+        // read lookahead glyph count
+        int nlg = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] lgcoa = new int [ nlg ];
+        for ( int i = 0; i < nlg; i++ ) {
+            lgcoa [ i ] = in.readTTFUShort();
+        }
+        // read substitution (output) glyph count
+        int ng = in.readTTFUShort();
+        // read substitution (output) glyphs
+        int[] glyphs = new int [ ng ];
+        for ( int i = 0, n = ng; i < n; i++ ) {
+            glyphs [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " reverse chained contextual substitution format: " + subtableFormat );
+            log.debug(tableTag + " reverse chained contextual substitution coverage table offset: " + co );
+            log.debug(tableTag + " reverse chained contextual substitution backtrack glyph count: " + nbg );
+            for ( int i = 0; i < nbg; i++ ) {
+                log.debug(tableTag + " reverse chained contextual substitution backtrack coverage table offset[" + i + "]: " + bgcoa[i] );
+            }
+            log.debug(tableTag + " reverse chained contextual substitution lookahead glyph count: " + nlg );
+            for ( int i = 0; i < nlg; i++ ) {
+                log.debug(tableTag + " reverse chained contextual substitution lookahead coverage table offset[" + i + "]: " + lgcoa[i] );
+            }
+            log.debug(tableTag + " reverse chained contextual substitution glyphs: " + toString(glyphs) );
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " reverse chained contextual substitution coverage", subtableOffset + co );
+        // read backtrack coverage tables
+        GlyphCoverageTable[] bgca = new GlyphCoverageTable[nbg];
+        for ( int i = 0; i < nbg; i++ ) {
+            int bgco = bgcoa[i];
+            GlyphCoverageTable bgct;
+            if ( bgco > 0 ) {
+                bgct = readCoverageTable ( in, tableTag + " reverse chained contextual substitution backtrack coverage[" + i + "]", subtableOffset + bgco );
+            } else {
+                bgct = null;
+            }
+            bgca[i] = bgct;
+        }
+        // read lookahead coverage tables
+        GlyphCoverageTable[] lgca = new GlyphCoverageTable[nlg];
+        for ( int i = 0; i < nlg; i++ ) {
+            int lgco = lgcoa[i];
+            GlyphCoverageTable lgct;
+            if ( lgco > 0 ) {
+                lgct = readCoverageTable ( in, tableTag + " reverse chained contextual substitution lookahead coverage[" + i + "]", subtableOffset + lgco );
+            } else {
+                lgct = null;
+            }
+            lgca[i] = lgct;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( bgca );
+        seEntries.add ( lgca );
+        seEntries.add ( glyphs );
+    }
+
+    private int readReverseChainedSingleSubTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read substitution subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readReverseChainedSingleSubTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported reverse chained single substitution subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readGSUBSubtable(FontFileReader in, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset) throws IOException {
+        initATSubState();
+        int subtableFormat = -1;
+        switch ( lookupType ) {
+        case GSUBLookupType.SINGLE:
+            subtableFormat = readSingleSubTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GSUBLookupType.MULTIPLE:
+            subtableFormat = readMultipleSubTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GSUBLookupType.ALTERNATE:
+            subtableFormat = readAlternateSubTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GSUBLookupType.LIGATURE:
+            subtableFormat = readLigatureSubTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GSUBLookupType.CONTEXTUAL:
+            subtableFormat = readContextualSubTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GSUBLookupType.CHAINED_CONTEXTUAL:
+            subtableFormat = readChainedContextualSubTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GSUBLookupType.REVERSE_CHAINED_SINGLE:
+            subtableFormat = readReverseChainedSingleSubTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GSUBLookupType.EXTENSION:
+            subtableFormat = readExtensionSubTable ( in, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset );
+            break;
+        default:
+            break;
+        }
+        extractSESubState ( GlyphTable.GLYPH_TABLE_TYPE_SUBSTITUTION, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableFormat );
+        resetATSubState();
+    }
+
+    private GlyphPositioningTable.DeviceTable readPosDeviceTable(FontFileReader in, long subtableOffset, long deviceTableOffset) throws IOException {
+        long cp = in.getCurrentPos();
+        in.seekSet(subtableOffset + deviceTableOffset);
+        // read start size
+        int ss = in.readTTFUShort();
+        // read end size
+        int es = in.readTTFUShort();
+        // read delta format
+        int df = in.readTTFUShort();
+        int s1, m1, dm, dd, s2;
+        if ( df == 1 ) {
+            s1 = 14; m1 = 0x3; dm = 1; dd = 4; s2 = 2;
+        } else if ( df == 2 ) {
+            s1 = 12; m1 = 0xF; dm = 7; dd = 16; s2 = 4;
+        } else if ( df == 3 ) {
+            s1 = 8; m1 = 0xFF; dm = 127; dd = 256; s2 = 8;
+        } else {
+            log.debug ( "unsupported device table delta format: " + df + ", ignoring device table" );
+            return null;
+        }
+        // read deltas
+        int n = ( es - ss ) + 1;
+        if ( n < 0 ) {
+            log.debug ( "invalid device table delta count: " + n + ", ignoring device table" );
+            return null;
+        }
+        int[] da = new int [ n ];
+        for ( int i = 0; ( i < n ) && ( s2 > 0 );) {
+            int p = in.readTTFUShort();
+            for ( int j = 0, k = 16 / s2; j < k; j++ ) {
+                int d = ( p >> s1 ) & m1;
+                if ( d > dm ) {
+                    d -= dd;
+                }
+                if ( i < n ) {
+                    da [ i++ ] = d;
+                } else {
+                    break;
+                }
+                p <<= s2;
+            }
+        }
+        in.seekSet(cp);
+        return new GlyphPositioningTable.DeviceTable ( ss, es, da );
+    }
+
+    private GlyphPositioningTable.Value readPosValue(FontFileReader in, long subtableOffset, int valueFormat) throws IOException {
+        // XPlacement
+        int xp;
+        if ( ( valueFormat & GlyphPositioningTable.Value.X_PLACEMENT ) != 0 ) {
+            xp = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+        } else {
+            xp = 0;
+        }
+        // YPlacement
+        int yp;
+        if ( ( valueFormat & GlyphPositioningTable.Value.Y_PLACEMENT ) != 0 ) {
+            yp = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+        } else {
+            yp = 0;
+        }
+        // XAdvance
+        int xa;
+        if ( ( valueFormat & GlyphPositioningTable.Value.X_ADVANCE ) != 0 ) {
+            xa = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+        } else {
+            xa = 0;
+        }
+        // YAdvance
+        int ya;
+        if ( ( valueFormat & GlyphPositioningTable.Value.Y_ADVANCE ) != 0 ) {
+            ya = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+        } else {
+            ya = 0;
+        }
+        // XPlaDevice
+        GlyphPositioningTable.DeviceTable xpd;
+        if ( ( valueFormat & GlyphPositioningTable.Value.X_PLACEMENT_DEVICE ) != 0 ) {
+            int xpdo = in.readTTFUShort();
+            xpd = readPosDeviceTable ( in, subtableOffset, xpdo );
+        } else {
+            xpd = null;
+        }
+        // YPlaDevice
+        GlyphPositioningTable.DeviceTable ypd;
+        if ( ( valueFormat & GlyphPositioningTable.Value.Y_PLACEMENT_DEVICE ) != 0 ) {
+            int ypdo = in.readTTFUShort();
+            ypd = readPosDeviceTable ( in, subtableOffset, ypdo );
+        } else {
+            ypd = null;
+        }
+        // XAdvDevice
+        GlyphPositioningTable.DeviceTable xad;
+        if ( ( valueFormat & GlyphPositioningTable.Value.X_ADVANCE_DEVICE ) != 0 ) {
+            int xado = in.readTTFUShort();
+            xad = readPosDeviceTable ( in, subtableOffset, xado );
+        } else {
+            xad = null;
+        }
+        // YAdvDevice
+        GlyphPositioningTable.DeviceTable yad;
+        if ( ( valueFormat & GlyphPositioningTable.Value.Y_ADVANCE_DEVICE ) != 0 ) {
+            int yado = in.readTTFUShort();
+            yad = readPosDeviceTable ( in, subtableOffset, yado );
+        } else {
+            yad = null;
+        }
+        return new GlyphPositioningTable.Value ( xp, yp, xa, ya, xpd, ypd, xad, yad );
+    }
+
+    private void readSinglePosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read value format
+        int vf = in.readTTFUShort();
+        // read value
+        GlyphPositioningTable.Value v = readPosValue ( in, subtableOffset, vf );
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " single positioning subtable format: " + subtableFormat + " (delta)" );
+            log.debug(tableTag + " single positioning coverage table offset: " + co );
+            log.debug(tableTag + " single positioning value: " + v );
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " single positioning coverage", subtableOffset + co );
+        // store results
+        seMapping = ct;
+        seEntries.add ( v );
+    }
+
+    private void readSinglePosTableFormat2(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read value format
+        int vf = in.readTTFUShort();
+        // read value count
+        int nv = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " single positioning subtable format: " + subtableFormat + " (mapped)" );
+            log.debug(tableTag + " single positioning coverage table offset: " + co );
+            log.debug(tableTag + " single positioning value count: " + nv );
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " single positioning coverage", subtableOffset + co );
+        // read positioning values
+        GlyphPositioningTable.Value[] pva = new GlyphPositioningTable.Value[nv];
+        for ( int i = 0, n = nv; i < n; i++ ) {
+            GlyphPositioningTable.Value pv = readPosValue ( in, subtableOffset, vf );
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " single positioning value[" + i + "]: " + pv );
+            }
+            pva[i] = pv;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( pva );
+    }
+
+    private int readSinglePosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positionining subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readSinglePosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 2 ) {
+            readSinglePosTableFormat2 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported single positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private GlyphPositioningTable.PairValues readPosPairValues(FontFileReader in, long subtableOffset, boolean hasGlyph, int vf1, int vf2) throws IOException {
+        // read glyph (if present)
+        int glyph;
+        if ( hasGlyph ) {
+            glyph = in.readTTFUShort();
+        } else {
+            glyph = 0;
+        }
+        // read first value (if present)
+        GlyphPositioningTable.Value v1;
+        if ( vf1 != 0 ) {
+            v1 = readPosValue ( in, subtableOffset, vf1 );
+        } else {
+            v1 = null;
+        }
+        // read second value (if present)
+        GlyphPositioningTable.Value v2;
+        if ( vf2 != 0 ) {
+            v2 = readPosValue ( in, subtableOffset, vf2 );
+        } else {
+            v2 = null;
+        }
+        return new GlyphPositioningTable.PairValues ( glyph, v1, v2 );
+    }
+
+    private GlyphPositioningTable.PairValues[] readPosPairSetTable(FontFileReader in, long subtableOffset, int pairSetTableOffset, int vf1, int vf2) throws IOException {
+        String tableTag = "GPOS";
+        long cp = in.getCurrentPos();
+        in.seekSet(subtableOffset + pairSetTableOffset);
+        // read pair values count
+        int npv = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " pair set table offset: " + pairSetTableOffset );
+            log.debug(tableTag + " pair set table values count: " + npv );
+        }
+        // read pair values
+        GlyphPositioningTable.PairValues[] pva = new GlyphPositioningTable.PairValues [ npv ];
+        for ( int i = 0, n = npv; i < n; i++ ) {
+            GlyphPositioningTable.PairValues pv = readPosPairValues ( in, subtableOffset, true, vf1, vf2 );
+            pva [ i ] = pv;
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " pair set table value[" + i + "]: " + pv);
+            }
+        }
+        in.seekSet(cp);
+        return pva;
+    }
+
+    private void readPairPosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read value format for first glyph
+        int vf1 = in.readTTFUShort();
+        // read value format for second glyph
+        int vf2 = in.readTTFUShort();
+        // read number (count) of pair sets
+        int nps = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " pair positioning subtable format: " + subtableFormat + " (glyphs)" );
+            log.debug(tableTag + " pair positioning coverage table offset: " + co );
+            log.debug(tableTag + " pair positioning value format #1: " + vf1 );
+            log.debug(tableTag + " pair positioning value format #2: " + vf2 );
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " pair positioning coverage", subtableOffset + co );
+        // read pair value matrix
+        GlyphPositioningTable.PairValues[][] pvm = new GlyphPositioningTable.PairValues [ nps ][];
+        for ( int i = 0, n = nps; i < n; i++ ) {
+            // read pair set offset
+            int pso = in.readTTFUShort();
+            // read pair set table at offset
+            pvm [ i ] = readPosPairSetTable ( in, subtableOffset, pso, vf1, vf2 );
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( pvm );
+    }
+
+    private void readPairPosTableFormat2(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read value format for first glyph
+        int vf1 = in.readTTFUShort();
+        // read value format for second glyph
+        int vf2 = in.readTTFUShort();
+        // read class def 1 offset
+        int cd1o = in.readTTFUShort();
+        // read class def 2 offset
+        int cd2o = in.readTTFUShort();
+        // read number (count) of classes in class def 1 table
+        int nc1 = in.readTTFUShort();
+        // read number (count) of classes in class def 2 table
+        int nc2 = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " pair positioning subtable format: " + subtableFormat + " (glyph classes)" );
+            log.debug(tableTag + " pair positioning coverage table offset: " + co );
+            log.debug(tableTag + " pair positioning value format #1: " + vf1 );
+            log.debug(tableTag + " pair positioning value format #2: " + vf2 );
+            log.debug(tableTag + " pair positioning class def table #1 offset: " + cd1o );
+            log.debug(tableTag + " pair positioning class def table #2 offset: " + cd2o );
+            log.debug(tableTag + " pair positioning class #1 count: " + nc1 );
+            log.debug(tableTag + " pair positioning class #2 count: " + nc2 );
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " pair positioning coverage", subtableOffset + co );
+        // read class definition table #1
+        GlyphClassTable cdt1 = readClassDefTable ( in, tableTag + " pair positioning class definition #1", subtableOffset + cd1o );
+        // read class definition table #2
+        GlyphClassTable cdt2 = readClassDefTable ( in, tableTag + " pair positioning class definition #2", subtableOffset + cd2o );
+        // read pair value matrix
+        GlyphPositioningTable.PairValues[][] pvm = new GlyphPositioningTable.PairValues [ nc1 ] [ nc2 ];
+        for ( int i = 0; i < nc1; i++ ) {
+            for ( int j = 0; j < nc2; j++ ) {
+                GlyphPositioningTable.PairValues pv = readPosPairValues ( in, subtableOffset, false, vf1, vf2 );
+                pvm [ i ] [ j ] = pv;
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " pair set table value[" + i + "][" + j + "]: " + pv);
+                }
+            }            
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( cdt1 );
+        seEntries.add ( cdt2 );
+        seEntries.add ( Integer.valueOf ( nc1 ) );
+        seEntries.add ( Integer.valueOf ( nc2 ) );
+        seEntries.add ( pvm );
+    }
+
+    private int readPairPosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readPairPosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 2 ) {
+            readPairPosTableFormat2 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported pair positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private GlyphPositioningTable.Anchor readPosAnchor(FontFileReader in, long anchorTableOffset) throws IOException {
+        GlyphPositioningTable.Anchor a;
+        long cp = in.getCurrentPos();
+        in.seekSet(anchorTableOffset);
+        // read anchor table format
+        int af = in.readTTFUShort();
+        if ( af == 1 ) {
+            // read x coordinate
+            int x = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+            // read y coordinate
+            int y = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+            a = new GlyphPositioningTable.Anchor ( x, y );
+        } else if ( af == 2 ) {
+            // read x coordinate
+            int x = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+            // read y coordinate
+            int y = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+            // read anchor point index
+            int ap = in.readTTFUShort();
+            a = new GlyphPositioningTable.Anchor ( x, y, ap );
+        } else if ( af == 3 ) {
+            // read x coordinate
+            int x = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+            // read y coordinate
+            int y = convertTTFUnit2PDFUnit ( in.readTTFShort() );
+            // read x device table offset
+            int xdo = in.readTTFUShort();
+            // read y device table offset
+            int ydo = in.readTTFUShort();
+            // read x device table (if present)
+            GlyphPositioningTable.DeviceTable xd;
+            if ( xdo != 0 ) {
+                xd = readPosDeviceTable ( in, cp, xdo );
+            } else {
+                xd = null;
+            }
+            // read y device table (if present)
+            GlyphPositioningTable.DeviceTable yd;
+            if ( ydo != 0 ) {
+                yd = readPosDeviceTable ( in, cp, ydo );
+            } else {
+                yd = null;
+            }
+            a = new GlyphPositioningTable.Anchor ( x, y, xd, yd );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported positioning anchor format: " + af );
+        }
+        in.seekSet(cp);
+        return a;
+    }
+
+    private void readCursivePosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read entry/exit count
+        int ec = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " cursive positioning subtable format: " + subtableFormat );
+            log.debug(tableTag + " cursive positioning coverage table offset: " + co );
+            log.debug(tableTag + " cursive positioning entry/exit count: " + ec );
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " cursive positioning coverage", subtableOffset + co );
+        // read entry/exit records
+        GlyphPositioningTable.Anchor[] aa = new GlyphPositioningTable.Anchor [ ec * 2 ];
+        for ( int i = 0, n = ec; i < n; i++ ) {
+            // read entry anchor offset
+            int eno = in.readTTFUShort();
+            // read exit anchor offset
+            int exo = in.readTTFUShort();
+            // read entry anchor
+            GlyphPositioningTable.Anchor ena;
+            if ( eno > 0 ) {
+                ena = readPosAnchor ( in, subtableOffset + eno );
+            } else {
+                ena = null;
+            }
+            // read exit anchor
+            GlyphPositioningTable.Anchor exa;
+            if ( exo > 0 ) {
+                exa = readPosAnchor ( in, subtableOffset + exo );
+            } else {
+                exa = null;
+            }
+            aa [ ( i * 2 ) + 0 ] = ena;
+            aa [ ( i * 2 ) + 1 ] = exa;
+            if (log.isDebugEnabled()) {
+                if ( ena != null ) {
+                    log.debug(tableTag + " cursive entry anchor [" + i + "]: " + ena );
+                }
+                if ( exa != null ) {
+                    log.debug(tableTag + " cursive exit anchor  [" + i + "]: " + exa );
+                }
+            }
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( aa );
+    }
+
+    private int readCursivePosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readCursivePosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported cursive positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readMarkToBasePosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read mark coverage offset
+        int mco = in.readTTFUShort();
+        // read base coverage offset
+        int bco = in.readTTFUShort();
+        // read mark class count
+        int nmc = in.readTTFUShort();
+        // read mark array offset
+        int mao = in.readTTFUShort();
+        // read base array offset
+        int bao = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-base positioning subtable format: " + subtableFormat );
+            log.debug(tableTag + " mark-to-base positioning mark coverage table offset: " + mco );
+            log.debug(tableTag + " mark-to-base positioning base coverage table offset: " + bco );
+            log.debug(tableTag + " mark-to-base positioning mark class count: " + nmc );
+            log.debug(tableTag + " mark-to-base positioning mark array offset: " + mao );
+            log.debug(tableTag + " mark-to-base positioning base array offset: " + bao );
+        }
+        // read mark coverage table
+        GlyphCoverageTable mct = readCoverageTable ( in, tableTag + " mark-to-base positioning mark coverage", subtableOffset + mco );
+        // read base coverage table
+        GlyphCoverageTable bct = readCoverageTable ( in, tableTag + " mark-to-base positioning base coverage", subtableOffset + bco );
+        // read mark anchor array
+        // seek to mark array
+        in.seekSet(subtableOffset + mao);
+        // read mark count
+        int nm = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-base positioning mark count: " + nm );
+        }
+        // read mark anchor array, where i:{0...markCount}
+        GlyphPositioningTable.MarkAnchor[] maa = new GlyphPositioningTable.MarkAnchor [ nm ];
+        for ( int i = 0; i < nm; i++ ) {
+            // read mark class
+            int mc = in.readTTFUShort();
+            // read mark anchor offset
+            int ao = in.readTTFUShort();
+            GlyphPositioningTable.Anchor a;
+            if ( ao > 0 ) {
+                a = readPosAnchor ( in, subtableOffset + mao + ao );
+            } else {
+                a = null;
+            }
+            GlyphPositioningTable.MarkAnchor ma;
+            if ( a != null ) {
+                ma = new GlyphPositioningTable.MarkAnchor ( mc, a );
+            } else {
+                ma = null;
+            }
+            maa [ i ] = ma;
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " mark-to-base positioning mark anchor[" + i + "]: " + ma);
+            }
+
+        }
+        // read base anchor matrix
+        // seek to base array
+        in.seekSet(subtableOffset + bao);
+        // read base count
+        int nb = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-base positioning base count: " + nb );
+        }
+        // read anchor matrix, where i:{0...baseCount - 1}, j:{0...markClassCount - 1}
+        GlyphPositioningTable.Anchor[][] bam = new GlyphPositioningTable.Anchor [ nb ] [ nmc ];
+        for ( int i = 0; i < nb; i++ ) {
+            for ( int j = 0; j < nmc; j++ ) {
+                // read base anchor offset
+                int ao = in.readTTFUShort();
+                GlyphPositioningTable.Anchor a;
+                if ( ao > 0 ) {
+                    a = readPosAnchor ( in, subtableOffset + bao + ao );
+                } else {
+                    a = null;
+                }
+                bam [ i ] [ j ] = a;
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " mark-to-base positioning base anchor[" + i + "][" + j + "]: " + a);
+                }
+            }            
+        }
+        // store results
+        seMapping = mct;
+        seEntries.add ( bct );
+        seEntries.add ( Integer.valueOf ( nmc ) );
+        seEntries.add ( maa );
+        seEntries.add ( bam );
+    }
+
+    private int readMarkToBasePosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readMarkToBasePosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported mark-to-base positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readMarkToLigaturePosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read mark coverage offset
+        int mco = in.readTTFUShort();
+        // read ligature coverage offset
+        int lco = in.readTTFUShort();
+        // read mark class count
+        int nmc = in.readTTFUShort();
+        // read mark array offset
+        int mao = in.readTTFUShort();
+        // read ligature array offset
+        int lao = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-ligature positioning subtable format: " + subtableFormat );
+            log.debug(tableTag + " mark-to-ligature positioning mark coverage table offset: " + mco );
+            log.debug(tableTag + " mark-to-ligature positioning ligature coverage table offset: " + lco );
+            log.debug(tableTag + " mark-to-ligature positioning mark class count: " + nmc );
+            log.debug(tableTag + " mark-to-ligature positioning mark array offset: " + mao );
+            log.debug(tableTag + " mark-to-ligature positioning ligature array offset: " + lao );
+        }
+        // read mark coverage table
+        GlyphCoverageTable mct = readCoverageTable ( in, tableTag + " mark-to-ligature positioning mark coverage", subtableOffset + mco );
+        // read ligature coverage table
+        GlyphCoverageTable lct = readCoverageTable ( in, tableTag + " mark-to-ligature positioning ligature coverage", subtableOffset + lco );
+        // read mark anchor array
+        // seek to mark array
+        in.seekSet(subtableOffset + mao);
+        // read mark count
+        int nm = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-ligature positioning mark count: " + nm );
+        }
+        // read mark anchor array, where i:{0...markCount}
+        GlyphPositioningTable.MarkAnchor[] maa = new GlyphPositioningTable.MarkAnchor [ nm ];
+        for ( int i = 0; i < nm; i++ ) {
+            // read mark class
+            int mc = in.readTTFUShort();
+            // read mark anchor offset
+            int ao = in.readTTFUShort();
+            GlyphPositioningTable.Anchor a;
+            if ( ao > 0 ) {
+                a = readPosAnchor ( in, subtableOffset + mao + ao );
+            } else {
+                a = null;
+            }
+            GlyphPositioningTable.MarkAnchor ma;
+            if ( a != null ) {
+                ma = new GlyphPositioningTable.MarkAnchor ( mc, a );
+            } else {
+                ma = null;
+            }
+            maa [ i ] = ma;
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " mark-to-ligature positioning mark anchor[" + i + "]: " + ma);
+            }
+        }
+        // read ligature anchor matrix
+        // seek to ligature array
+        in.seekSet(subtableOffset + lao);
+        // read ligature count
+        int nl = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-ligature positioning ligature count: " + nl );
+        }
+        // read ligature attach table offsets
+        int[] laoa = new int [ nl ];
+        for ( int i = 0; i < nl; i++ ) {
+            laoa [ i ] = in.readTTFUShort();
+        }
+        // iterate over ligature attach tables, recording maximum component count
+        int mxc = 0;
+        for ( int i = 0; i < nl; i++ ) {
+            int lato = laoa [ i ];
+            in.seekSet ( subtableOffset + lao + lato );
+            // read component count
+            int cc = in.readTTFUShort();
+            if ( cc > mxc ) {
+                mxc = cc;
+            }
+        }
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-ligature positioning maximum component count: " + mxc );
+        }
+        // read anchor matrix, where i:{0...ligatureCount - 1}, j:{0...maxComponentCount - 1}, k:{0...markClassCount - 1}
+        GlyphPositioningTable.Anchor[][][] lam = new GlyphPositioningTable.Anchor [ nl ][][];
+        for ( int i = 0; i < nl; i++ ) {
+            int lato = laoa [ i ];
+            // seek to ligature attach table for ligature[i]
+            in.seekSet ( subtableOffset + lao + lato );
+            // read component count
+            int cc = in.readTTFUShort();
+            GlyphPositioningTable.Anchor[][] lcm = new GlyphPositioningTable.Anchor [ cc ] [ nmc ];
+            for ( int j = 0; j < cc; j++ ) {
+                for ( int k = 0; k < nmc; k++ ) {
+                    // read ligature anchor offset
+                    int ao = in.readTTFUShort();
+                    GlyphPositioningTable.Anchor a;
+                    if ( ao > 0 ) {
+                        a  = readPosAnchor ( in, subtableOffset + lao + lato + ao );
+                    } else {
+                        a = null;
+                    }
+                    lcm [ j ] [ k ] = a;
+                    if (log.isDebugEnabled()) {
+                        log.debug(tableTag + " mark-to-ligature positioning ligature anchor[" + i + "][" + j + "][" + k + "]: " + a);
+                    }
+                }
+            }
+            lam [ i ] = lcm;
+        }
+        // store results
+        seMapping = mct;
+        seEntries.add ( lct );
+        seEntries.add ( Integer.valueOf ( nmc ) );
+        seEntries.add ( Integer.valueOf ( mxc ) );
+        seEntries.add ( maa );
+        seEntries.add ( lam );
+    }
+
+    private int readMarkToLigaturePosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readMarkToLigaturePosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported mark-to-ligature positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readMarkToMarkPosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read mark #1 coverage offset
+        int m1co = in.readTTFUShort();
+        // read mark #2 coverage offset
+        int m2co = in.readTTFUShort();
+        // read mark class count
+        int nmc = in.readTTFUShort();
+        // read mark #1 array offset
+        int m1ao = in.readTTFUShort();
+        // read mark #2 array offset
+        int m2ao = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-mark positioning subtable format: " + subtableFormat );
+            log.debug(tableTag + " mark-to-mark positioning mark #1 coverage table offset: " + m1co );
+            log.debug(tableTag + " mark-to-mark positioning mark #2 coverage table offset: " + m2co );
+            log.debug(tableTag + " mark-to-mark positioning mark class count: " + nmc );
+            log.debug(tableTag + " mark-to-mark positioning mark #1 array offset: " + m1ao );
+            log.debug(tableTag + " mark-to-mark positioning mark #2 array offset: " + m2ao );
+        }
+        // read mark #1 coverage table
+        GlyphCoverageTable mct1 = readCoverageTable ( in, tableTag + " mark-to-mark positioning mark #1 coverage", subtableOffset + m1co );
+        // read mark #2 coverage table
+        GlyphCoverageTable mct2 = readCoverageTable ( in, tableTag + " mark-to-mark positioning mark #2 coverage", subtableOffset + m2co );
+        // read mark #1 anchor array
+        // seek to mark array
+        in.seekSet(subtableOffset + m1ao);
+        // read mark count
+        int nm1 = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-mark positioning mark #1 count: " + nm1 );
+        }
+        // read mark anchor array, where i:{0...mark1Count}
+        GlyphPositioningTable.MarkAnchor[] maa = new GlyphPositioningTable.MarkAnchor [ nm1 ];
+        for ( int i = 0; i < nm1; i++ ) {
+            // read mark class
+            int mc = in.readTTFUShort();
+            // read mark anchor offset
+            int ao = in.readTTFUShort();
+            GlyphPositioningTable.Anchor a;
+            if ( ao > 0 ) {
+                a = readPosAnchor ( in, subtableOffset + m1ao + ao );
+            } else {
+                a = null;
+            }
+            GlyphPositioningTable.MarkAnchor ma;
+            if ( a != null ) {
+                ma = new GlyphPositioningTable.MarkAnchor ( mc, a );
+            } else {
+                ma = null;
+            }
+            maa [ i ] = ma;
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " mark-to-mark positioning mark #1 anchor[" + i + "]: " + ma);
+            }
+        }
+        // read mark #2 anchor matrix
+        // seek to mark #2 array
+        in.seekSet(subtableOffset + m2ao);
+        // read mark #2 count
+        int nm2 = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark-to-mark positioning mark #2 count: " + nm2 );
+        }
+        // read anchor matrix, where i:{0...mark2Count - 1}, j:{0...markClassCount - 1}
+        GlyphPositioningTable.Anchor[][] mam = new GlyphPositioningTable.Anchor [ nm2 ] [ nmc ];
+        for ( int i = 0; i < nm2; i++ ) {
+            for ( int j = 0; j < nmc; j++ ) {
+                // read mark anchor offset
+                int ao = in.readTTFUShort();
+                GlyphPositioningTable.Anchor a;
+                if ( ao > 0 ) {
+                    a = readPosAnchor ( in, subtableOffset + m2ao + ao );
+                } else {
+                    a = null;
+                }
+                mam [ i ] [ j ] = a;
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " mark-to-mark positioning mark #2 anchor[" + i + "][" + j + "]: " + a);
+                }
+            }            
+        }
+        // store results
+        seMapping = mct1;
+        seEntries.add ( mct2 );
+        seEntries.add ( Integer.valueOf ( nmc ) );
+        seEntries.add ( maa );
+        seEntries.add ( mam );
+    }
+
+    private int readMarkToMarkPosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readMarkToMarkPosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported mark-to-mark positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readContextualPosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read rule set count
+        int nrs = in.readTTFUShort();
+        // read rule set offsets
+        int[] rsoa = new int [ nrs ];
+        for ( int i = 0; i < nrs; i++ ) {
+            rsoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " contextual positioning subtable format: " + subtableFormat + " (glyphs)" );
+            log.debug(tableTag + " contextual positioning coverage table offset: " + co );
+            log.debug(tableTag + " contextual positioning rule set count: " + nrs );
+            for ( int i = 0; i < nrs; i++ ) {
+                log.debug(tableTag + " contextual positioning rule set offset[" + i + "]: " + rsoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " contextual positioning coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ nrs ];
+        String header = null;
+        for ( int i = 0; i < nrs; i++ ) {
+            GlyphTable.RuleSet rs;
+            int rso = rsoa [ i ];
+            if ( rso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + rso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    GlyphTable.GlyphSequenceRule r;
+                    int ro = roa [ j ];
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + rso + ro );
+                        // read glyph count
+                        int ng = in.readTTFUShort();
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read glyphs
+                        int[] glyphs = new int [ ng - 1 ];
+                        for ( int k = 0, nk = glyphs.length; k < nk; k++ ) {
+                            glyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.GlyphSequenceRule ( lookups, ng, glyphs );
+                    } else {
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( rsa );
+    }
+
+    private void readContextualPosTableFormat2(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read class def table offset
+        int cdo = in.readTTFUShort();
+        // read class rule set count
+        int ngc = in.readTTFUShort();
+        // read class rule set offsets
+        int[] csoa = new int [ ngc ];
+        for ( int i = 0; i < ngc; i++ ) {
+            csoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " contextual positioning subtable format: " + subtableFormat + " (glyph classes)" );
+            log.debug(tableTag + " contextual positioning coverage table offset: " + co );
+            log.debug(tableTag + " contextual positioning class set count: " + ngc );
+            for ( int i = 0; i < ngc; i++ ) {
+                log.debug(tableTag + " contextual positioning class set offset[" + i + "]: " + csoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " contextual positioning coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read class definition table
+        GlyphClassTable cdt;
+        if ( cdo > 0 ) {
+            cdt = readClassDefTable ( in, tableTag + " contextual positioning class definition", subtableOffset + cdo );
+        } else {
+            cdt = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ ngc ];
+        String header = null;
+        for ( int i = 0; i < ngc; i++ ) {
+            int cso = csoa [ i ];
+            GlyphTable.RuleSet rs;
+            if ( cso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + cso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    int ro = roa [ j ];
+                    GlyphTable.ClassSequenceRule r;
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + cso + ro );
+                        // read glyph count
+                        int ng = in.readTTFUShort();
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read classes
+                        int[] classes = new int [ ng - 1 ];
+                        for ( int k = 0, nk = classes.length; k < nk; k++ ) {
+                            classes [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.ClassSequenceRule ( lookups, ng, classes );
+                    } else {
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( cdt );
+        seEntries.add ( Integer.valueOf ( ngc ) );
+        seEntries.add ( rsa );
+    }
+
+    private void readContextualPosTableFormat3(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read glyph (input sequence length) count
+        int ng = in.readTTFUShort();
+        // read positioning lookup count
+        int nl = in.readTTFUShort();
+        // read glyph coverage offsets, one per glyph input sequence length count
+        int[] gcoa = new int [ ng ];
+        for ( int i = 0; i < ng; i++ ) {
+            gcoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " contextual positioning subtable format: " + subtableFormat + " (glyph sets)" );
+            log.debug(tableTag + " contextual positioning glyph input sequence length count: " + ng );
+            log.debug(tableTag + " contextual positioning lookup count: " + nl );
+            for ( int i = 0; i < ng; i++ ) {
+                log.debug(tableTag + " contextual positioning coverage table offset[" + i + "]: " + gcoa[i] );
+            }
+        }
+        // read coverage tables
+        GlyphCoverageTable[] gca = new GlyphCoverageTable [ ng ];
+        for ( int i = 0; i < ng; i++ ) {
+            int gco = gcoa [ i ];
+            GlyphCoverageTable gct;
+            if ( gco > 0 ) {
+                gct = readCoverageTable ( in, tableTag + " contextual positioning coverage[" + i + "]", subtableOffset + gcoa[i] );
+            } else {
+                gct = null;
+            }
+            gca [ i ] = gct;
+        }
+        // read rule lookups
+        String header = null;
+        if (log.isDebugEnabled()) {
+            header = tableTag + " contextual positioning lookups: ";
+        }
+        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+        // construct rule, rule set, and rule set array
+        GlyphTable.Rule r = new GlyphTable.CoverageSequenceRule ( lookups, ng, gca );
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet ( new GlyphTable.Rule[] {r} );
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
+        // store results
+        assert ( gca != null ) && ( gca.length > 0 );
+        seMapping = gca[0];
+        seEntries.add ( rsa );
+    }
+
+    private int readContextualPosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readContextualPosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 2 ) {
+            readContextualPosTableFormat2 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 3 ) {
+            readContextualPosTableFormat3 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported contextual positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readChainedContextualPosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read rule set count
+        int nrs = in.readTTFUShort();
+        // read rule set offsets
+        int[] rsoa = new int [ nrs ];
+        for ( int i = 0; i < nrs; i++ ) {
+            rsoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " chained contextual positioning subtable format: " + subtableFormat + " (glyphs)" );
+            log.debug(tableTag + " chained contextual positioning coverage table offset: " + co );
+            log.debug(tableTag + " chained contextual positioning rule set count: " + nrs );
+            for ( int i = 0; i < nrs; i++ ) {
+                log.debug(tableTag + " chained contextual positioning rule set offset[" + i + "]: " + rsoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " chained contextual positioning coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ nrs ];
+        String header = null;
+        for ( int i = 0; i < nrs; i++ ) {
+            GlyphTable.RuleSet rs;
+            int rso = rsoa [ i ];
+            if ( rso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + rso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    GlyphTable.ChainedGlyphSequenceRule r;
+                    int ro = roa [ j ];
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + rso + ro );
+                        // read backtrack glyph count
+                        int nbg = in.readTTFUShort();
+                        // read backtrack glyphs
+                        int[] backtrackGlyphs = new int [ nbg ];
+                        for ( int k = 0, nk = backtrackGlyphs.length; k < nk; k++ ) {
+                            backtrackGlyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read input glyph count
+                        int nig = in.readTTFUShort();
+                        // read glyphs
+                        int[] glyphs = new int [ nig - 1 ];
+                        for ( int k = 0, nk = glyphs.length; k < nk; k++ ) {
+                            glyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read lookahead glyph count
+                        int nlg = in.readTTFUShort();
+                        // read lookahead glyphs
+                        int[] lookaheadGlyphs = new int [ nlg ];
+                        for ( int k = 0, nk = lookaheadGlyphs.length; k < nk; k++ ) {
+                            lookaheadGlyphs [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.ChainedGlyphSequenceRule ( lookups, nig, glyphs, backtrackGlyphs, lookaheadGlyphs );
+                    } else {
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( rsa );
+    }
+
+    private void readChainedContextualPosTableFormat2(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read backtrack class def table offset
+        int bcdo = in.readTTFUShort();
+        // read input class def table offset
+        int icdo = in.readTTFUShort();
+        // read lookahead class def table offset
+        int lcdo = in.readTTFUShort();
+        // read class set count
+        int ngc = in.readTTFUShort();
+        // read class set offsets
+        int[] csoa = new int [ ngc ];
+        for ( int i = 0; i < ngc; i++ ) {
+            csoa [ i ] = in.readTTFUShort();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " chained contextual positioning subtable format: " + subtableFormat + " (glyph classes)" );
+            log.debug(tableTag + " chained contextual positioning coverage table offset: " + co );
+            log.debug(tableTag + " chained contextual positioning class set count: " + ngc );
+            for ( int i = 0; i < ngc; i++ ) {
+                log.debug(tableTag + " chained contextual positioning class set offset[" + i + "]: " + csoa[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct;
+        if ( co > 0 ) {
+            ct = readCoverageTable ( in, tableTag + " chained contextual positioning coverage", subtableOffset + co );
+        } else {
+            ct = null;
+        }
+        // read backtrack class definition table
+        GlyphClassTable bcdt;
+        if ( bcdo > 0 ) {
+            bcdt = readClassDefTable ( in, tableTag + " contextual positioning backtrack class definition", subtableOffset + bcdo );
+        } else {
+            bcdt = null;
+        }
+        // read input class definition table
+        GlyphClassTable icdt;
+        if ( icdo > 0 ) {
+            icdt = readClassDefTable ( in, tableTag + " contextual positioning input class definition", subtableOffset + icdo );
+        } else {
+            icdt = null;
+        }
+        // read lookahead class definition table
+        GlyphClassTable lcdt;
+        if ( lcdo > 0 ) {
+            lcdt = readClassDefTable ( in, tableTag + " contextual positioning lookahead class definition", subtableOffset + lcdo );
+        } else {
+            lcdt = null;
+        }
+        // read rule sets
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet [ ngc ];
+        String header = null;
+        for ( int i = 0; i < ngc; i++ ) {
+            int cso = csoa [ i ];
+            GlyphTable.RuleSet rs;
+            if ( cso > 0 ) {
+                // seek to rule set [ i ]
+                in.seekSet ( subtableOffset + cso );
+                // read rule count
+                int nr = in.readTTFUShort();
+                // read rule offsets
+                int[] roa = new int [ nr ];
+                GlyphTable.Rule[] ra = new GlyphTable.Rule [ nr ];
+                for ( int j = 0; j < nr; j++ ) {
+                    roa [ j ] = in.readTTFUShort();
+                }
+                // read glyph sequence rules
+                for ( int j = 0; j < nr; j++ ) {
+                    GlyphTable.ChainedClassSequenceRule r;
+                    int ro = roa [ j ];
+                    if ( ro > 0 ) {
+                        // seek to rule [ j ]
+                        in.seekSet ( subtableOffset + cso + ro );
+                        // read backtrack glyph class count
+                        int nbc = in.readTTFUShort();
+                        // read backtrack glyph classes
+                        int[] backtrackClasses = new int [ nbc ];
+                        for ( int k = 0, nk = backtrackClasses.length; k < nk; k++ ) {
+                            backtrackClasses [ k ] = in.readTTFUShort();
+                        }
+                        // read input glyph class count
+                        int nic = in.readTTFUShort();
+                        // read input glyph classes
+                        int[] classes = new int [ nic - 1 ];
+                        for ( int k = 0, nk = classes.length; k < nk; k++ ) {
+                            classes [ k ] = in.readTTFUShort();
+                        }
+                        // read lookahead glyph class count
+                        int nlc = in.readTTFUShort();
+                        // read lookahead glyph classes
+                        int[] lookaheadClasses = new int [ nlc ];
+                        for ( int k = 0, nk = lookaheadClasses.length; k < nk; k++ ) {
+                            lookaheadClasses [ k ] = in.readTTFUShort();
+                        }
+                        // read rule lookup count
+                        int nl = in.readTTFUShort();
+                        // read rule lookups
+                        if (log.isDebugEnabled()) {
+                            header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
+                        }
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+                        r = new GlyphTable.ChainedClassSequenceRule ( lookups, nic, classes, backtrackClasses, lookaheadClasses );
+                    } else {
+                        r = null;
+                    }
+                    ra [ j ] = r;
+                }
+                rs = new GlyphTable.HomogeneousRuleSet ( ra );
+            } else {
+                rs = null;
+            }
+            rsa [ i ] = rs;
+        }
+        // store results
+        seMapping = ct;
+        seEntries.add ( icdt );
+        seEntries.add ( bcdt );
+        seEntries.add ( lcdt );
+        seEntries.add ( Integer.valueOf ( ngc ) );
+        seEntries.add ( rsa );
+    }
+
+    private void readChainedContextualPosTableFormat3(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read backtrack glyph count
+        int nbg = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] bgcoa = new int [ nbg ];
+        for ( int i = 0; i < nbg; i++ ) {
+            bgcoa [ i ] = in.readTTFUShort();
+        }
+        // read input glyph count
+        int nig = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] igcoa = new int [ nig ];
+        for ( int i = 0; i < nig; i++ ) {
+            igcoa [ i ] = in.readTTFUShort();
+        }
+        // read lookahead glyph count
+        int nlg = in.readTTFUShort();
+        // read backtrack glyph coverage offsets
+        int[] lgcoa = new int [ nlg ];
+        for ( int i = 0; i < nlg; i++ ) {
+            lgcoa [ i ] = in.readTTFUShort();
+        }
+        // read positioning lookup count
+        int nl = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " chained contextual positioning subtable format: " + subtableFormat + " (glyph sets)" );
+            log.debug(tableTag + " chained contextual positioning backtrack glyph count: " + nbg );
+            for ( int i = 0; i < nbg; i++ ) {
+                log.debug(tableTag + " chained contextual positioning backtrack coverage table offset[" + i + "]: " + bgcoa[i] );
+            }
+            log.debug(tableTag + " chained contextual positioning input glyph count: " + nig );
+            for ( int i = 0; i < nig; i++ ) {
+                log.debug(tableTag + " chained contextual positioning input coverage table offset[" + i + "]: " + igcoa[i] );
+            }
+            log.debug(tableTag + " chained contextual positioning lookahead glyph count: " + nlg );
+            for ( int i = 0; i < nlg; i++ ) {
+                log.debug(tableTag + " chained contextual positioning lookahead coverage table offset[" + i + "]: " + lgcoa[i] );
+            }
+            log.debug(tableTag + " chained contextual positioning lookup count: " + nl );
+        }
+        // read backtrack coverage tables
+        GlyphCoverageTable[] bgca = new GlyphCoverageTable[nbg];
+        for ( int i = 0; i < nbg; i++ ) {
+            int bgco = bgcoa [ i ];
+            GlyphCoverageTable bgct;
+            if ( bgco > 0 ) {
+                bgct = readCoverageTable ( in, tableTag + " chained contextual positioning backtrack coverage[" + i + "]", subtableOffset + bgco );
+            } else {
+                bgct = null;
+            }
+            bgca[i] = bgct;
+        }
+        // read input coverage tables
+        GlyphCoverageTable[] igca = new GlyphCoverageTable[nig];
+        for ( int i = 0; i < nig; i++ ) {
+            int igco = igcoa [ i ];
+            GlyphCoverageTable igct;
+            if ( igco > 0 ) {
+                igct = readCoverageTable ( in, tableTag + " chained contextual positioning input coverage[" + i + "]", subtableOffset + igco );
+            } else {
+                igct = null;
+            }
+            igca[i] = igct;
+        }
+        // read lookahead coverage tables
+        GlyphCoverageTable[] lgca = new GlyphCoverageTable[nlg];
+        for ( int i = 0; i < nlg; i++ ) {
+            int lgco = lgcoa [ i ];
+            GlyphCoverageTable lgct;
+            if ( lgco > 0 ) {
+                lgct = readCoverageTable ( in, tableTag + " chained contextual positioning lookahead coverage[" + i + "]", subtableOffset + lgco );
+            } else {
+                lgct = null;
+            }
+            lgca[i] = lgct;
+        }
+        // read rule lookups
+        String header = null;
+        if (log.isDebugEnabled()) {
+            header = tableTag + " chained contextual positioning lookups: ";
+        }
+        GlyphTable.RuleLookup[] lookups = readRuleLookups ( in, nl, header );
+        // construct rule, rule set, and rule set array
+        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule ( lookups, nig, igca, bgca, lgca );
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet ( new GlyphTable.Rule[] {r} );
+        GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
+        // store results
+        assert ( igca != null ) && ( igca.length > 0 );
+        seMapping = igca[0];
+        seEntries.add ( rsa );
+    }
+
+    private int readChainedContextualPosTable(FontFileReader in, int lookupType, int lookupFlags, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readChainedContextualPosTableFormat1 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 2 ) {
+            readChainedContextualPosTableFormat2 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else if ( sf == 3 ) {
+            readChainedContextualPosTableFormat3 ( in, lookupType, lookupFlags, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported chained contextual positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readExtensionPosTableFormat1(FontFileReader in, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset, int subtableFormat) throws IOException {
+        String tableTag = "GPOS";
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read extension lookup type
+        int lt = in.readTTFUShort();
+        // read extension offset
+        long eo = in.readTTFULong();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " extension positioning subtable format: " + subtableFormat );
+            log.debug(tableTag + " extension positioning lookup type: " + lt );
+            log.debug(tableTag + " extension positioning lookup table offset: " + eo );
+        }
+        // read referenced subtable from extended offset
+        readGPOSSubtable ( in, lt, lookupFlags, lookupSequence, subtableSequence, subtableOffset + eo );
+    }
+
+    private int readExtensionPosTable(FontFileReader in, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read positioning subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readExtensionPosTableFormat1 ( in, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported extension positioning subtable format: " + sf );
+        }
+        return sf;
+    }
+
+    private void readGPOSSubtable(FontFileReader in, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset) throws IOException {
+        initATSubState();
+        int subtableFormat = -1;
+        switch ( lookupType ) {
+        case GPOSLookupType.SINGLE:
+            subtableFormat = readSinglePosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.PAIR:           
+            subtableFormat = readPairPosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.CURSIVE:
+            subtableFormat = readCursivePosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.MARK_TO_BASE:
+            subtableFormat = readMarkToBasePosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.MARK_TO_LIGATURE:
+            subtableFormat = readMarkToLigaturePosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.MARK_TO_MARK:
+            subtableFormat = readMarkToMarkPosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.CONTEXTUAL:
+            subtableFormat = readContextualPosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.CHAINED_CONTEXTUAL:
+            subtableFormat = readChainedContextualPosTable ( in, lookupType, lookupFlags, subtableOffset );
+            break;
+        case GPOSLookupType.EXTENSION:
+            subtableFormat = readExtensionPosTable ( in, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset );
+            break;
+        default:
+            break;
+        }
+        extractSESubState ( GlyphTable.GLYPH_TABLE_TYPE_POSITIONING, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableFormat );
+        resetATSubState();
+    }
+
+    private void readLookupTable(FontFileReader in, String tableTag, int lookupSequence, long lookupTable) throws IOException {
+        boolean isGSUB = tableTag.equals ( "GSUB" );
+        boolean isGPOS = tableTag.equals ( "GPOS" );
+        in.seekSet(lookupTable);
+        // read lookup type
+        int lt = in.readTTFUShort();
+        // read lookup flags
+        int lf = in.readTTFUShort();
+        // read sub-table count
+        int ns = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            String lts;
+            if ( isGSUB ) {
+                lts = GSUBLookupType.toString ( lt );
+            } else if ( isGPOS ) {
+                lts = GPOSLookupType.toString ( lt );
+            } else {
+                lts = "?";
+            }
+            log.debug(tableTag + " lookup table type: " + lt + " (" + lts + ")" );
+            log.debug(tableTag + " lookup table flags: " + lf + " (" + LookupFlag.toString ( lf ) + ")" );
+            log.debug(tableTag + " lookup table subtable count: " + ns );
+        }
+        // read subtable offsets
+        int[] soa = new int[ns];
+        for ( int i = 0; i < ns; i++ ) {
+            int so = in.readTTFUShort();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " lookup table subtable offset: " + so );
+            }
+            soa[i] = so;
+        }
+        // read mark filtering set
+        if ( ( lf & LookupFlag.USE_MARK_FILTERING_SET ) != 0 ) {
+            // read mark filtering set
+            int fs = in.readTTFUShort();
+            // dump info if debugging
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " lookup table mark filter set: " + fs );
+            }
+        }
+        // read subtables
+        for ( int i = 0; i < ns; i++ ) {
+            int so = soa[i];
+            if ( isGSUB ) {
+                readGSUBSubtable ( in, lt, lf, lookupSequence, i, lookupTable + so );
+            } else if ( isGPOS ) {
+                readGPOSSubtable ( in, lt, lf, lookupSequence, i, lookupTable + so );
+            }
+        }
+    }
+
+    private void readLookupList(FontFileReader in, String tableTag, long lookupList) throws IOException {
+        in.seekSet(lookupList);
+        // read lookup record count
+        int nl = in.readTTFUShort();
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " lookup list record count: " + nl );
+        }
+        if ( nl > 0 ) {
+            int[] loa = new int[nl];
+            // read lookup records
+            for ( int i = 0, n = nl; i < n; i++ ) {
+                int lo = in.readTTFUShort();
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " lookup table offset: " + lo );
+                }
+                loa[i] = lo;
+            }
+            // read lookup tables
+            for ( int i = 0, n = nl; i < n; i++ ) {
+                if (log.isDebugEnabled()) {
+                    log.debug(tableTag + " lookup index: " + i );
+                }
+                readLookupTable ( in, tableTag, i, lookupList + loa [ i ] );
+            }
+        }
+    }
+
+    /**
+     * Read the common layout tables (used by GSUB and GPOS).
+     * @param in FontFileReader to read from
+     * @param scriptList offset to script list from beginning of font file
+     * @param featureList offset to feature list from beginning of font file
+     * @param lookupList offset to lookup list from beginning of font file
+     * @throws IOException In case of a I/O problem
+     */
+    private void readCommonLayoutTables(FontFileReader in, String tableTag, long scriptList, long featureList, long lookupList) throws IOException {
+        if ( scriptList > 0 ) {
+            readScriptList ( in, tableTag, scriptList );
+        }
+        if ( featureList > 0 ) {
+            readFeatureList ( in, tableTag, featureList );
+        }
+        if ( lookupList > 0 ) {
+            readLookupList ( in, tableTag, lookupList );
+        }
+    }
+
+    private void readGDEFClassDefTable(FontFileReader in, String tableTag, int lookupSequence, long subtableOffset) throws IOException {
+        initATSubState();
+        in.seekSet(subtableOffset);
+        // subtable is a bare class definition table
+        GlyphClassTable ct = readClassDefTable ( in, tableTag + " glyph class definition table", subtableOffset );
+        // store results
+        seMapping = ct;
+        // extract subtable
+        extractSESubState ( GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.GLYPH_CLASS, 0, lookupSequence, 0, 1 );
+        resetATSubState();
+    }
+
+    private void readGDEFAttachmentTable(FontFileReader in, String tableTag, int lookupSequence, long subtableOffset) throws IOException {
+        initATSubState();
+        in.seekSet(subtableOffset);
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " attachment point coverage table offset: " + co );
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " attachment point coverage", subtableOffset + co );
+        // store results
+        seMapping = ct;
+        // extract subtable
+        extractSESubState ( GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.ATTACHMENT_POINT, 0, lookupSequence, 0, 1 );
+        resetATSubState();
+    }
+
+    private void readGDEFLigatureCaretTable(FontFileReader in, String tableTag, int lookupSequence, long subtableOffset) throws IOException {
+        initATSubState();
+        in.seekSet(subtableOffset);
+        // read coverage offset
+        int co = in.readTTFUShort();
+        // read ligature glyph count
+        int nl = in.readTTFUShort();
+        // read ligature glyph table offsets
+        int[] lgto = new int [ nl ];
+        for ( int i = 0; i < nl; i++ ) {
+            lgto [ i ] = in.readTTFUShort();
+        }
+        
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " ligature caret coverage table offset: " + co );
+            log.debug(tableTag + " ligature caret ligature glyph count: " + nl );
+            for ( int i = 0; i < nl; i++ ) {
+                log.debug(tableTag + " ligature glyph table offset[" + i + "]: " + lgto[i] );
+            }
+        }
+        // read coverage table
+        GlyphCoverageTable ct = readCoverageTable ( in, tableTag + " ligature caret coverage", subtableOffset + co );
+        // store results
+        seMapping = ct;
+        // extract subtable
+        extractSESubState ( GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.LIGATURE_CARET, 0, lookupSequence, 0, 1 );
+        resetATSubState();
+    }
+
+    private void readGDEFMarkAttachmentTable(FontFileReader in, String tableTag, int lookupSequence, long subtableOffset) throws IOException {
+        initATSubState();
+        in.seekSet(subtableOffset);
+        // subtable is a bare class definition table
+        GlyphClassTable ct = readClassDefTable ( in, tableTag + " glyph class definition table", subtableOffset );
+        // store results
+        seMapping = ct;
+        // extract subtable
+        extractSESubState ( GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.MARK_ATTACHMENT, 0, lookupSequence, 0, 1 );
+        resetATSubState();
+    }
+
+    private void readGDEFMarkGlyphsTableFormat1(FontFileReader in, String tableTag, int lookupSequence, long subtableOffset, int subtableFormat) throws IOException {
+        initATSubState();
+        in.seekSet(subtableOffset);
+        // skip over format (already known)
+        in.skip ( 2 );
+        // read mark set class count
+        int nmc = in.readTTFUShort();
+        long[] mso = new long [ nmc ];
+        // read mark set coverage offsets
+        for ( int i = 0; i < nmc; i++ ) {
+            mso [ i ] = in.readTTFULong();
+        }
+        // dump info if debugging
+        if (log.isDebugEnabled()) {
+            log.debug(tableTag + " mark set subtable format: " + subtableFormat + " (glyph sets)" );
+            log.debug(tableTag + " mark set class count: " + nmc );
+            for ( int i = 0; i < nmc; i++ ) {
+                log.debug(tableTag + " mark set coverage table offset[" + i + "]: " + mso[i] );
+            }
+        }
+        // read mark set coverage tables, one per class
+        GlyphCoverageTable[] msca = new GlyphCoverageTable[nmc];
+        for ( int i = 0; i < nmc; i++ ) {
+            msca[i] = readCoverageTable ( in, tableTag + " mark set coverage[" + i + "]", subtableOffset + mso[i] );
+        }
+        // create combined class table from per-class coverage tables
+        GlyphClassTable ct = GlyphClassTable.createClassTable ( Arrays.asList ( msca ) );
+        // store results
+        seMapping = ct;
+        // extract subtable
+        extractSESubState ( GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.MARK_ATTACHMENT, 0, lookupSequence, 0, 1 );
+        resetATSubState();
+    }
+
+    private void readGDEFMarkGlyphsTable(FontFileReader in, String tableTag, int lookupSequence, long subtableOffset) throws IOException {
+        in.seekSet(subtableOffset);
+        // read mark set subtable format
+        int sf = in.readTTFUShort();
+        if ( sf == 1 ) {
+            readGDEFMarkGlyphsTableFormat1 ( in, tableTag, lookupSequence, subtableOffset, sf );
+        } else {
+            throw new AdvancedTypographicTableFormatException ( "unsupported mark glyph sets subtable format: " + sf );
+        }
+    }
+
+    /**
+     * Read the GDEF table.
+     * @param in FontFileReader to read from
+     * @throws IOException In case of a I/O problem
+     */
+    private void readGDEF(FontFileReader in) throws IOException {
+        String tableTag = "GDEF";
+        // Initialize temporary state
+        initATState();
+        // Read glyph definition (GDEF) table
+        TTFDirTabEntry dirTab = (TTFDirTabEntry)dirTabs.get(tableTag);
+        if ( gdef != null ) {
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + ": ignoring duplicate table");
+            }
+        } else if (dirTab != null) {
+            seekTab(in, tableTag, 0);
+            long version = in.readTTFULong();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " version: " + ( version / 65536 ) + "." + ( version % 65536 ));
+            }
+            // glyph class definition table offset (may be null)
+            int cdo = in.readTTFUShort();
+            // attach point list offset (may be null)
+            int apo = in.readTTFUShort();
+            // ligature caret list offset (may be null)
+            int lco = in.readTTFUShort();
+            // mark attach class definition table offset (may be null)
+            int mao = in.readTTFUShort();
+            // mark glyph sets definition table offset (may be null)
+            int mgo;
+            if ( version >= 0x00010002 ) {
+                mgo = in.readTTFUShort();
+            } else {
+                mgo = 0;
+            }
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " glyph class definition table offset: " + cdo );
+                log.debug(tableTag + " attachment point list offset: " + apo );
+                log.debug(tableTag + " ligature caret list offset: " + lco );
+                log.debug(tableTag + " mark attachment class definition table offset: " + mao );
+                log.debug(tableTag + " mark glyph set definitions table offset: " + mgo );
+            }
+            // initialize subtable sequence number
+            int seqno = 0;
+            // obtain offset to start of gdef table
+            long to = dirTab.getOffset();
+            // (optionally) read glyph class definition subtable
+            if ( cdo != 0 ) {
+                readGDEFClassDefTable ( in, tableTag, seqno++, to + cdo );
+            }
+            // (optionally) read glyph attachment point subtable
+            if ( apo != 0 ) {
+                readGDEFAttachmentTable ( in, tableTag, seqno++, to + apo );
+            }
+            // (optionally) read ligature caret subtable
+            if ( lco != 0 ) {
+                readGDEFLigatureCaretTable ( in, tableTag, seqno++, to + lco );
+            }
+            // (optionally) read mark attachment class subtable
+            if ( mao != 0 ) {
+                readGDEFMarkAttachmentTable ( in, tableTag, seqno++, to + mao );
+            }
+            // (optionally) read mark glyph sets subtable
+            if ( mgo != 0 ) {
+                readGDEFMarkGlyphsTable ( in, tableTag, seqno++, to + mgo );
+            }
+            GlyphDefinitionTable gdef;
+            if ( ( gdef = constructGDEF() ) != null ) {
+                this.gdef = gdef;
+            }
+        }
+    }
+
+    /**
+     * Read the GSUB table.
+     * @param in FontFileReader to read from
+     * @throws IOException In case of a I/O problem
+     */
+    private void readGSUB(FontFileReader in) throws IOException {
+        String tableTag = "GSUB";
+        // Initialize temporary state
+        initATState();
+        // Read glyph substitution (GSUB) table
+        TTFDirTabEntry dirTab = (TTFDirTabEntry)dirTabs.get(tableTag);
+        if ( gpos != null ) {
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + ": ignoring duplicate table");
+            }
+        } else if (dirTab != null) {
+            seekTab(in, tableTag, 0);
+            int version = in.readTTFLong();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " version: " + ( version / 65536 ) + "." + ( version % 65536 ));
+            }
+            int slo = in.readTTFUShort();
+            int flo = in.readTTFUShort();
+            int llo = in.readTTFUShort();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " script list offset: " + slo );
+                log.debug(tableTag + " feature list offset: " + flo );
+                log.debug(tableTag + " lookup list offset: " + llo );
+            }
+            long to = dirTab.getOffset();
+            readCommonLayoutTables ( in, tableTag, to + slo, to + flo, to + llo );
+            GlyphSubstitutionTable gsub;
+            if ( ( gsub = constructGSUB() ) != null ) {
+                this.gsub = gsub;
+            }
+        }
+    }
+
+    /**
+     * Read the GPOS table.
+     * @param in FontFileReader to read from
+     * @throws IOException In case of a I/O problem
+     */
+    private void readGPOS(FontFileReader in) throws IOException {
+        String tableTag = "GPOS";
+        // Initialize temporary state
+        initATState();
+        // Read glyph positioning (GPOS) table
+        TTFDirTabEntry dirTab = (TTFDirTabEntry)dirTabs.get(tableTag);
+        if ( gpos != null ) {
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + ": ignoring duplicate table");
+            }
+        } else if (dirTab != null) {
+            seekTab(in, tableTag, 0);
+            int version = in.readTTFLong();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " version: " + ( version / 65536 ) + "." + ( version % 65536 ));
+            }
+            int slo = in.readTTFUShort();
+            int flo = in.readTTFUShort();
+            int llo = in.readTTFUShort();
+            if (log.isDebugEnabled()) {
+                log.debug(tableTag + " script list offset: " + slo );
+                log.debug(tableTag + " feature list offset: " + flo );
+                log.debug(tableTag + " lookup list offset: " + llo );
+            }
+            long to = dirTab.getOffset();
+            readCommonLayoutTables ( in, tableTag, to + slo, to + flo, to + llo );
+            GlyphPositioningTable gpos;
+            if ( ( gpos = constructGPOS() ) != null ) {
+                this.gpos = gpos;
+            }
+        }
+    }
+
+    /**
+     * Construct the (internal representation of the) GDEF table based on previously
+     * parsed state.
+     * @returns glyph definition table or null if insufficient or invalid state
+     */
+    private GlyphDefinitionTable constructGDEF() {
+        GlyphDefinitionTable gdef = null;
+        List subtables;
+        if ( ( subtables = constructGDEFSubtables() ) != null ) {
+            if ( subtables.size() > 0 ) {
+                gdef = new GlyphDefinitionTable ( subtables );
+            }
+        }
+        resetATState();
+        return gdef;
+    }
+
+    /**
+     * Construct the (internal representation of the) GSUB table based on previously
+     * parsed state.
+     * @returns glyph substitution table or null if insufficient or invalid state
+     */
+    private GlyphSubstitutionTable constructGSUB() {
+        GlyphSubstitutionTable gsub = null;
+        Map lookups;
+        if ( ( lookups = constructLookups() ) != null ) {
+            List subtables;
+            if ( ( subtables = constructGSUBSubtables() ) != null ) {
+                if ( ( lookups.size() > 0 ) && ( subtables.size() > 0 ) ) {
+                    gsub = new GlyphSubstitutionTable ( gdef, lookups, subtables );
+                }
+            }
+        }
+        resetATState();
+        return gsub;
+    }
+
+    /**
+     * Construct the (internal representation of the) GPOS table based on previously
+     * parsed state.
+     * @returns glyph positioning table or null if insufficient or invalid state
+     */
+    private GlyphPositioningTable constructGPOS() {
+        GlyphPositioningTable gpos = null;
+        Map lookups;
+        if ( ( lookups = constructLookups() ) != null ) {
+            List subtables;
+            if ( ( subtables = constructGPOSSubtables() ) != null ) {
+                if ( ( lookups.size() > 0 ) && ( subtables.size() > 0 ) ) {
+                    gpos = new GlyphPositioningTable ( gdef, lookups, subtables );
+                }
+            }
+        }
+        resetATState();
+        return gpos;
+    }
+
+    private void constructLookupsFeature ( Map lookups, String st, String lt, String fid ) {
+        Object[] fp = (Object[]) seFeatures.get ( fid );
+        if ( fp != null ) {
+            assert fp.length == 2;
+            String ft = (String) fp[0];                 // feature tag
+            List/*<String>*/ lul = (List) fp[1];        // list of lookup table ids
+            if ( ( ft != null ) && ( lul != null ) && ( lul.size() > 0 ) ) {
+                GlyphTable.LookupSpec ls = new GlyphTable.LookupSpec ( st, lt, ft );
+                lookups.put ( ls, lul );
+            }
+        }
+    }
+
+    private void constructLookupsFeatures ( Map lookups, String st, String lt, List/*<String>*/ fids ) {
+        for ( Iterator fit = fids.iterator(); fit.hasNext();) {
+            String fid = (String) fit.next();
+            constructLookupsFeature ( lookups, st, lt, fid );
+        }
+    }
+
+    private void constructLookupsLanguage ( Map lookups, String st, String lt, Map/*<String,Object[2]>*/ languages ) {
+        Object[] lp = (Object[]) languages.get ( lt );
+        if ( lp != null ) {
+            assert lp.length == 2;
+            if ( lp[0] != null ) {                      // required feature id
+                constructLookupsFeature ( lookups, st, lt, (String) lp[0] );
+            }
+            if ( lp[1] != null ) {                      // non-required features ids
+                constructLookupsFeatures ( lookups, st, lt, (List) lp[1] );
+            }
+        }
+    }
+
+    private void constructLookupsLanguages ( Map lookups, String st, List/*<String>*/ ll, Map/*<String,Object[2]>*/ languages ) {
+        for ( Iterator lit = ll.iterator(); lit.hasNext();) {
+            String lt = (String) lit.next();
+            constructLookupsLanguage ( lookups, st, lt, languages );
+        }
+    }
+
+    private Map constructLookups() {
+        Map/*<GlyphTable.LookupSpec,List<String>>*/ lookups = new java.util.LinkedHashMap();
+        for ( Iterator sit = seScripts.keySet().iterator(); sit.hasNext();) {
+            String st = (String) sit.next();
+            Object[] sp = (Object[]) seScripts.get ( st );
+            if ( sp != null ) {
+                assert sp.length == 3;
+                Map/*<String,Object[2]>*/ languages = (Map) sp[2];
+                if ( sp[0] != null ) {                  // default language
+                    constructLookupsLanguage ( lookups, st, (String) sp[0], languages );
+                }
+                if ( sp[1] != null ) {                  // non-default languages
+                    constructLookupsLanguages ( lookups, st, (List) sp[1], languages );
+                }
+            }
+        }
+        return lookups;
+    }
+
+    private List constructGDEFSubtables() {
+        List/*<GlyphDefinitionSubtable>*/ subtables = new java.util.ArrayList();
+        if ( seSubtables != null ) {
+            for ( Iterator it = seSubtables.iterator(); it.hasNext();) {
+                Object[] stp = (Object[]) it.next();
+                GlyphSubtable st;
+                if ( ( st = constructGDEFSubtable ( stp ) ) != null ) {
+                    subtables.add ( st );
+                }
+            }
+        }
+        return subtables;
+    }
+
+    private GlyphSubtable constructGDEFSubtable ( Object[] stp ) {
+        GlyphSubtable st = null;
+        assert ( stp != null ) && ( stp.length == 8 );
+        Integer tt = (Integer) stp[0];
+        Integer lt = (Integer) stp[1];
+        Integer ln = (Integer) stp[2];
+        Integer lf = (Integer) stp[3];
+        Integer sn = (Integer) stp[4];
+        Integer sf = (Integer) stp[5];
+        GlyphMappingTable mapping = (GlyphMappingTable) stp[6];
+        List entries = (List) stp[7];
+        if ( tt.intValue() == GlyphTable.GLYPH_TABLE_TYPE_DEFINITION ) {
+            int type = GDEFLookupType.getSubtableType ( lt.intValue() );
+            String lid = "lu" + ln.intValue();
+            int sequence = sn.intValue();
+            int flags = lf.intValue();
+            int format = sf.intValue();
+            st = GlyphDefinitionTable.createSubtable ( type, lid, sequence, flags, format, mapping, entries );
+        }
+        return st;
+    }
+
+    private List constructGSUBSubtables() {
+        List/*<GlyphSubtable>*/ subtables = new java.util.ArrayList();
+        if ( seSubtables != null ) {
+            for ( Iterator it = seSubtables.iterator(); it.hasNext();) {
+                Object[] stp = (Object[]) it.next();
+                GlyphSubtable st;
+                if ( ( st = constructGSUBSubtable ( stp ) ) != null ) {
+                    subtables.add ( st );
+                }
+            }
+        }
+        return subtables;
+    }
+
+    private GlyphSubtable constructGSUBSubtable ( Object[] stp ) {
+        GlyphSubtable st = null;
+        assert ( stp != null ) && ( stp.length == 8 );
+        Integer tt = (Integer) stp[0];
+        Integer lt = (Integer) stp[1];
+        Integer ln = (Integer) stp[2];
+        Integer lf = (Integer) stp[3];
+        Integer sn = (Integer) stp[4];
+        Integer sf = (Integer) stp[5];
+        GlyphCoverageTable coverage = (GlyphCoverageTable) stp[6];
+        List entries = (List) stp[7];
+        if ( tt.intValue() == GlyphTable.GLYPH_TABLE_TYPE_SUBSTITUTION ) {
+            int type = GSUBLookupType.getSubtableType ( lt.intValue() );
+            String lid = "lu" + ln.intValue();
+            int sequence = sn.intValue();
+            int flags = lf.intValue();
+            int format = sf.intValue();
+            st = GlyphSubstitutionTable.createSubtable ( type, lid, sequence, flags, format, coverage, entries );
+        }
+        return st;
+    }
+
+    private List constructGPOSSubtables() {
+        List/*<GlyphSubtable>*/ subtables = new java.util.ArrayList();
+        if ( seSubtables != null ) {
+            for ( Iterator it = seSubtables.iterator(); it.hasNext();) {
+                Object[] stp = (Object[]) it.next();
+                GlyphSubtable st;
+                if ( ( st = constructGPOSSubtable ( stp ) ) != null ) {
+                    subtables.add ( st );
+                }
+            }
+        }
+        return subtables;
+    }
+
+    private GlyphSubtable constructGPOSSubtable ( Object[] stp ) {
+        GlyphSubtable st = null;
+        assert ( stp != null ) && ( stp.length == 8 );
+        Integer tt = (Integer) stp[0];
+        Integer lt = (Integer) stp[1];
+        Integer ln = (Integer) stp[2];
+        Integer lf = (Integer) stp[3];
+        Integer sn = (Integer) stp[4];
+        Integer sf = (Integer) stp[5];
+        GlyphCoverageTable coverage = (GlyphCoverageTable) stp[6];
+        List entries = (List) stp[7];
+        if ( tt.intValue() == GlyphTable.GLYPH_TABLE_TYPE_POSITIONING ) {
+            int type = GSUBLookupType.getSubtableType ( lt.intValue() );
+            String lid = "lu" + ln.intValue();
+            int sequence = sn.intValue();
+            int flags = lf.intValue();
+            int format = sf.intValue();
+            st = GlyphPositioningTable.createSubtable ( type, lid, sequence, flags, format, coverage, entries );
+        }
+        return st;
+    }
+
+    private void initATState() {
+        seScripts = new java.util.LinkedHashMap();
+        seLanguages = new java.util.LinkedHashMap();
+        seFeatures = new java.util.LinkedHashMap();
+        seSubtables = new java.util.ArrayList();
+        resetATSubState();
+    }
+
+    private void resetATState() {
+        seScripts = null;
+        seLanguages = null;
+        seFeatures = null;
+        seSubtables = null;
+        resetATSubState();
+    }
+
+    private void initATSubState() {
+        seMapping = null;
+        seEntries = new java.util.ArrayList();
+    }
+
+    private void extractSESubState ( int tableType, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, int subtableFormat ) {
+        if ( seEntries != null ) {
+            if ( ( tableType == GlyphTable.GLYPH_TABLE_TYPE_DEFINITION ) || ( seEntries.size() > 0 ) ) {
+                if ( seSubtables != null ) {
+                    Integer tt = Integer.valueOf ( tableType );
+                    Integer lt = Integer.valueOf ( lookupType );
+                    Integer ln = Integer.valueOf ( lookupSequence );
+                    Integer lf = Integer.valueOf ( lookupFlags );
+                    Integer sn = Integer.valueOf ( subtableSequence );
+                    Integer sf = Integer.valueOf ( subtableFormat );
+                    seSubtables.add ( new Object[] { tt, lt, ln, lf, sn, sf, seMapping, seEntries } );
+                }
+            }
+        }
+    }
+
+    private void resetATSubState() {
+        seMapping = null;
+        seEntries = null;
+    }
+
+    private void resetATStateAll() {
+        resetATState();
+        gdef = null; gsub = null; gpos = null;
+    }
+
     /**
      * Return a List with TTFCmapEntry.
      * @return A list of TTFCmapEntry objects
@@ -1584,11 +5354,9 @@
                 dirOffsets[i] = in.readTTFULong();
             }
 
-            if (log.isDebugEnabled()) {
-                log.debug("This is a TrueType collection file with "
-                        + numDirectories + " fonts");
-                log.debug("Containing the following fonts: ");
-            }
+            log.info("This is a TrueType collection file with "
+                      + numDirectories + " fonts");
+            log.info("Containing the following fonts: ");
 
             for (int i = 0; (i < numDirectories); i++) {
                 in.seekSet(dirOffsets[i]);
@@ -1596,7 +5364,7 @@
 
                 readName(in);
 
-                log.debug(fullName);
+                log.info(fullName);
                 fontNames.add(fullName);
 
                 // Reset names
@@ -1667,9 +5435,8 @@
      *
      * @param glyphIndex
      * @return unicode code point
-     * @throws IOException if glyphIndex not found
      */
-    private Integer glyphToUnicode(int glyphIndex) throws IOException {
+    private Integer glyphToUnicode(int glyphIndex) {
         return (Integer) glyphToUnicodeMap.get(new Integer(glyphIndex));
     }
 
@@ -1678,7 +5445,6 @@
      *
      * @param unicodeIndex unicode code point
      * @return glyph index
-     * @throws IOException if unicodeIndex not found
      */
     private Integer unicodeToGlyph(int unicodeIndex) throws IOException {
         final Integer result
@@ -1713,4 +5479,4 @@
             ioe.printStackTrace(System.err);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java b/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java
index 8ee36ec..75e6809 100644
--- a/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java
+++ b/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java
@@ -54,7 +54,7 @@
      * @param resolver the FontResolver for font URI resolution
      */
     public TTFFontLoader(String fontFileURI, FontResolver resolver) {
-        this(fontFileURI, null, true, EncodingMode.AUTO, true, resolver);
+        this(fontFileURI, null, true, EncodingMode.AUTO, true, true, resolver);
     }
 
     /**
@@ -65,12 +65,13 @@
      * @param embedded indicates whether the font is embedded or referenced
      * @param encodingMode the requested encoding mode
      * @param useKerning true to enable loading kerning info if available, false to disable
+     * @param useAdvanced true to enable loading advanced info if available, false to disable
      * @param resolver the FontResolver for font URI resolution
      */
     public TTFFontLoader(String fontFileURI, String subFontName,
                 boolean embedded, EncodingMode encodingMode, boolean useKerning,
-                FontResolver resolver) {
-        super(fontFileURI, embedded, true, resolver);
+                boolean useAdvanced, FontResolver resolver) {
+        super(fontFileURI, embedded, useKerning, useAdvanced, resolver);
         this.subFontName = subFontName;
         this.encodingMode = encodingMode;
         if (this.encodingMode == EncodingMode.AUTO) {
@@ -169,6 +170,9 @@
         if (useKerning) {
             copyKerning(ttf, isCid);
         }
+        if (useAdvanced) {
+            copyAdvanced(ttf);
+        }
         if (this.embedded && ttf.isEmbeddable()) {
             returnFont.setEmbedFileName(this.fontFileURI);
         }
@@ -223,4 +227,17 @@
             returnFont.putKerningEntry(kpx1, h2);
         }
     }
+
+    /**
+     * Copy advanced typographic information.
+     */
+    private void copyAdvanced ( TTFFile ttf ) {
+        if ( returnFont instanceof MultiByteFont ) {
+            MultiByteFont mbf = (MultiByteFont) returnFont;
+            mbf.setGDEF ( ttf.getGDEF() );
+            mbf.setGSUB ( ttf.getGSUB() );
+            mbf.setGPOS ( ttf.getGPOS() );
+        }
+    }
+
 }
diff --git a/src/java/org/apache/fop/fonts/type1/Type1FontLoader.java b/src/java/org/apache/fop/fonts/type1/Type1FontLoader.java
index 33b4ab0..c8cc11e 100644
--- a/src/java/org/apache/fop/fonts/type1/Type1FontLoader.java
+++ b/src/java/org/apache/fop/fonts/type1/Type1FontLoader.java
@@ -52,7 +52,7 @@
      */
     public Type1FontLoader(String fontFileURI, boolean embedded, boolean useKerning,
             FontResolver resolver) throws IOException {
-        super(fontFileURI, embedded, useKerning, resolver);
+        super(fontFileURI, embedded, useKerning, true, resolver);
     }
 
     private String getPFMURI(String pfbURI) {
diff --git a/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java b/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
index 8e96f3e..dd9c341 100644
--- a/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
@@ -448,7 +448,7 @@
     /** {@inheritDoc} */
     @Override
     public String toString() {
-        return (super.toString() + (fobj != null ? "[fobj=" + fobj.toString() + "]" : ""));
+        return (super.toString() + (fobj != null ? "{fobj = " + fobj.toString() + "}" : ""));
     }
 
     /** {@inheritDoc} */
diff --git a/src/java/org/apache/fop/layoutmgr/BidiUtil.java b/src/java/org/apache/fop/layoutmgr/BidiUtil.java
new file mode 100644
index 0000000..5a4028e
--- /dev/null
+++ b/src/java/org/apache/fop/layoutmgr/BidiUtil.java
@@ -0,0 +1,2034 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.layoutmgr;
+
+import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Stack;
+import java.util.Vector;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.fop.area.Area;
+import org.apache.fop.area.LineArea;
+import org.apache.fop.area.LinkResolver;
+import org.apache.fop.area.inline.Anchor;
+import org.apache.fop.area.inline.BasicLinkArea;
+import org.apache.fop.area.inline.InlineArea;
+import org.apache.fop.area.inline.InlineBlockParent;
+import org.apache.fop.area.inline.InlineParent;
+import org.apache.fop.area.inline.InlineViewport;
+import org.apache.fop.area.inline.Leader;
+import org.apache.fop.area.inline.Space;
+import org.apache.fop.area.inline.SpaceArea;
+import org.apache.fop.area.inline.TextArea;
+import org.apache.fop.area.inline.UnresolvedPageNumber;
+import org.apache.fop.area.inline.WordArea;
+import org.apache.fop.fo.CharIterator;
+import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.FObj;
+import org.apache.fop.fo.FONode;
+import org.apache.fop.fo.FOText;
+import org.apache.fop.fo.flow.AbstractPageNumberCitation;
+import org.apache.fop.fo.flow.AbstractGraphics;
+import org.apache.fop.fo.flow.BidiOverride;
+import org.apache.fop.fo.flow.Block;
+import org.apache.fop.fo.flow.BlockContainer;
+import org.apache.fop.fo.flow.Character;
+import org.apache.fop.fo.flow.ExternalGraphic;
+import org.apache.fop.fo.flow.Inline;
+import org.apache.fop.fo.flow.InlineContainer;
+import org.apache.fop.fo.flow.InlineLevel;
+import org.apache.fop.fo.flow.ListItem;
+import org.apache.fop.fo.flow.PageNumber;
+import org.apache.fop.fo.flow.Wrapper;
+import org.apache.fop.fo.pagination.Flow;
+import org.apache.fop.fo.pagination.PageSequence;
+import org.apache.fop.traits.Direction;
+import org.apache.fop.traits.WritingModeTraits;
+import org.apache.fop.traits.WritingModeTraitsGetter;
+import org.apache.fop.text.bidi.BidiClassUtils;
+import org.apache.fop.util.CharUtilities;
+import org.apache.fop.util.BidiConstants;
+
+// CSOFF: AvoidNestedBlocksCheck
+// CSOFF: EmptyForIteratorPadCheck
+// CSOFF: NoWhitespaceAfterCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: SimplifyBooleanReturnCheck
+// CSOFF: LineLengthCheck
+// CSOFF: ParameterNumberCheck
+
+/**
+ * <p>A utility class for performing bidirectional processing.</p>
+ * @author Glenn Adams
+ */
+public final class BidiUtil {
+
+    /**
+     * logging instance
+     */
+    private static final Log log = LogFactory.getLog(BidiUtil.class);                                                   // CSOK: ConstantNameCheck
+
+    private BidiUtil() {
+    }
+
+    /**
+     * Resolve inline directionality.
+     * @param ps a page sequence FO instance
+     */
+    public static void resolveInlineDirectionality ( PageSequence ps ) {
+        if (log.isDebugEnabled()) {
+            log.debug ( "BD: RESOLVE: " + ps );
+        }
+        List ranges = pruneEmptyRanges ( collectRanges ( ps, new Stack() ) );
+        resolveInlineDirectionality ( ranges );
+    }
+
+    /**
+     * Reorder line area.
+     * @param la a line area instance
+     */
+    public static void reorder ( LineArea la ) {
+
+        // 1. collect inline levels
+        List runs = collectRuns ( la.getInlineAreas(), new Vector() );
+        if (log.isDebugEnabled()) {
+            dumpRuns ( "BD: REORDER: INPUT:", runs );
+        }
+
+        // 2. split heterogeneous inlines
+        runs = splitRuns ( runs );
+        if (log.isDebugEnabled()) {
+            dumpRuns ( "BD: REORDER: SPLIT INLINES:", runs );
+        }
+
+        // 3. determine minimum and maximum levels
+        int[] mm = computeMinMaxLevel ( runs, null );
+        if (log.isDebugEnabled()) {
+            log.debug( "BD: REORDER: { min = " + mm[0] + ", max = " + mm[1] + "}" );
+        }
+
+        // 4. reorder from maximum level to minimum odd level
+        int mn = mm[0];
+        int mx = mm[1];
+        for ( int l1 = mx, l2 = ( ( mn & 1 ) == 0 ) ? ( mn + 1 ) : mn; l1 >= l2; l1-- ) {
+            runs = reorderRuns ( runs, l1 );
+        }
+        if (log.isDebugEnabled()) {
+            dumpRuns ( "BD: REORDER: REORDERED RUNS:", runs );
+        }
+
+        // 5. reverse word consituents (characters and glyphs) while mirroring
+        boolean mirror = true;
+        reverseWords ( runs, mirror );
+        if (log.isDebugEnabled()) {
+            dumpRuns ( "BD: REORDER: REORDERED WORDS:", runs );
+        }
+
+        // 6. replace line area's inline areas with reordered runs' inline areas
+        replaceInlines ( la, replicateSplitWords ( runs ) );
+    }
+
+    private static void resolveInlineDirectionality ( List ranges ) {
+        for ( Iterator it = ranges.iterator(); it.hasNext(); ) {
+            DelimitedTextRange r = (DelimitedTextRange) it.next();
+            r.resolve();
+            if (log.isDebugEnabled()) {
+                log.debug ( r );
+            }
+        }
+    }
+
+    /**
+     * Collect the sequence of delimited text ranges of node FO, where each new
+     * range is pushed onto RANGES.
+     */
+    private static Stack collectRanges ( FONode fn, Stack ranges ) {
+        // return existing ranges if passed null node
+        if ( fn == null ) {
+            return ranges;
+        }
+        // if boundary before, then push new range
+        if ( isRangeBoundaryBefore ( fn ) ) {
+            maybeNewRange ( ranges, fn );
+        }
+        // get current range, if one exists
+        DelimitedTextRange r;
+        if ( ranges.size() > 0 ) {
+            r = (DelimitedTextRange) ranges.peek();
+        } else {
+            r = null;
+        }
+        // proceses this node
+        if ( fn instanceof FOText ) {
+            if ( r != null ) {
+                r.append ( ( (FOText) fn ) .charIterator(), fn );
+            }
+        } else if ( fn instanceof Character ) {
+            if ( r != null ) {
+                r.append ( ( (Character) fn ) .charIterator(), fn );
+            }
+        } else if ( ( fn instanceof AbstractPageNumberCitation ) || ( fn instanceof AbstractGraphics ) ) {
+            if ( r != null ) {
+                r.append ( CharUtilities.OBJECT_REPLACEMENT_CHARACTER, fn );
+            }
+        } else if ( fn instanceof BidiOverride ) {
+            if ( r != null ) {
+                ranges = collectBidiOverrideRanges ( (BidiOverride) fn, r, ranges );
+            }
+        } else if ( fn instanceof ListItem ) {
+            ranges = collectRanges ( ( (ListItem) fn ) .getLabel(), ranges );
+            ranges = collectRanges ( ( (ListItem) fn ) .getBody(), ranges );
+        } else if ( fn instanceof PageSequence ) {
+            ranges = collectRanges ( ( (PageSequence) fn ) .getMainFlow(), ranges );
+        } else {
+            for ( Iterator it = fn.getChildNodes(); ( it != null ) && it.hasNext(); ) {
+                ranges = collectRanges ( (FONode) it.next(), ranges );
+            }
+        }
+        // if boundary after, then push new range
+        if ( isRangeBoundaryAfter ( fn ) ) {
+            maybeNewRange ( ranges, fn );
+        }
+        return ranges;
+    }
+
+    private static Stack collectBidiOverrideRanges ( BidiOverride bo, DelimitedTextRange r, Stack ranges ) {
+        char pfx = 0;
+        char sfx = 0;
+        int unicodeBidi = bo.getUnicodeBidi();
+        int direction = bo.getDirection();
+        if ( unicodeBidi == Constants.EN_BIDI_OVERRIDE ) {
+            pfx = ( direction == Constants.EN_RTL ) ? CharUtilities.RLO : CharUtilities.LRO;
+            sfx = CharUtilities.PDF;
+        } else if ( unicodeBidi == Constants.EN_EMBED ) {
+            pfx = ( direction == Constants.EN_RTL ) ? CharUtilities.RLE : CharUtilities.LRE;
+            sfx = CharUtilities.PDF;
+        }
+        if ( pfx != 0 ) {
+            r.append ( pfx, bo );
+        }
+        for ( Iterator it = bo.getChildNodes(); ( it != null ) && it.hasNext(); ) {
+            ranges = collectRanges ( (FONode) it.next(), ranges );
+        }
+        if ( sfx != 0 ) {
+            r.append ( sfx, bo );
+        }
+        return ranges;
+    }
+
+    private static List collectRuns ( List inlines, List runs ) {
+        for ( Iterator it = inlines.iterator(); it.hasNext(); ) {
+            InlineArea ia = (InlineArea) it.next();
+            if ( ia instanceof WordArea ) {
+                runs = collectRuns ( (WordArea) ia, runs );
+            } else if ( ia instanceof SpaceArea ) {
+                runs = collectRuns ( (SpaceArea) ia, runs );
+            } else if ( ia instanceof Anchor ) {
+                runs = collectRuns ( (Anchor) ia, runs );
+            } else if ( ia instanceof Leader ) {
+                runs = collectRuns ( (Leader) ia, runs );
+            } else if ( ia instanceof Space ) {
+                runs = collectRuns ( (Space) ia, runs );
+            } else if ( ia instanceof UnresolvedPageNumber ) {
+                runs = collectRuns ( (UnresolvedPageNumber) ia, runs );
+            } else if ( ia instanceof InlineBlockParent ) {
+                runs = collectRuns ( (InlineBlockParent) ia, runs );
+            } else if ( ia instanceof InlineViewport ) {
+                runs = collectRuns ( (InlineViewport) ia, runs );
+            } else if ( ia instanceof InlineParent ) {
+                runs = collectRuns ( (InlineParent) ia, runs );
+            }
+        }
+        return runs;
+    }
+
+    private static List collectRuns ( Anchor a, List runs ) {
+        runs.add ( new InlineRun ( a, new int[] {a.getBidiLevel()}) );
+        return runs;
+    }
+
+    private static List collectRuns ( InlineBlockParent a, List runs ) {
+        runs.add ( new InlineRun ( a, new int[] {a.getBidiLevel()}) );
+        return runs;
+    }
+
+    private static List collectRuns ( InlineParent a, List runs ) {
+        return collectRuns ( a.getChildAreas(), runs );
+    }
+
+    private static List collectRuns ( InlineViewport a, List runs ) {
+        runs.add ( new InlineRun ( a, new int[] {a.getBidiLevel()}) );
+        return runs;
+    }
+
+    private static List collectRuns ( Leader a, List runs ) {
+        runs.add ( new InlineRun ( a, new int[] {a.getBidiLevel()}) );
+        return runs;
+    }
+
+    private static List collectRuns ( Space a, List runs ) {
+        runs.add ( new InlineRun ( a, new int[] {a.getBidiLevel()}) );
+        return runs;
+    }
+
+    private static List collectRuns ( SpaceArea a, List runs ) {
+        runs.add ( new InlineRun ( a, new int[] {a.getBidiLevel()}) );
+        return runs;
+    }
+
+    private static List collectRuns ( UnresolvedPageNumber a, List runs ) {
+        runs.add ( new InlineRun ( a, new int[] {a.getBidiLevel()}) );
+        return runs;
+    }
+
+    private static List collectRuns ( WordArea a, List runs ) {
+        runs.add ( new InlineRun ( a, a.getBidiLevels() ) );
+        return runs;
+    }
+
+    private static List splitRuns ( List runs ) {
+        List runsNew = new Vector();
+        for ( Iterator it = runs.iterator(); it.hasNext(); ) {
+            InlineRun ir = (InlineRun) it.next();
+            if ( ir.isHomogenous() ) {
+                runsNew.add ( ir );
+            } else {
+                runsNew.addAll ( ir.split() );
+            }
+        }
+        if ( ! runsNew.equals ( runs ) ) {
+            runs = runsNew;
+        }
+        return runs;
+    }
+
+    private static int[] computeMinMaxLevel ( List runs, int[] mm ) {
+        if ( mm == null ) {
+            mm = new int[] {Integer.MAX_VALUE, Integer.MIN_VALUE};
+        }
+        for ( Iterator it = runs.iterator(); it.hasNext(); ) {
+            InlineRun ir = (InlineRun) it.next();
+            ir.updateMinMax ( mm );
+        }
+        return mm;
+    }
+    private static List reorderRuns ( List runs, int level ) {
+        List runsNew = new Vector();
+        for ( int i = 0, n = runs.size(); i < n; i++ ) {
+            InlineRun iri = (InlineRun) runs.get(i);
+            if ( iri.getMinLevel() < level ) {
+                runsNew.add ( iri );
+            } else {
+                int s = i;
+                int e = s;
+                while ( e < n ) {
+                    InlineRun ire = (InlineRun) runs.get(e);
+                    if ( ire.getMinLevel() < level ) {
+                        break;
+                    } else {
+                        e++;
+                    }
+                }
+                if ( s < e ) {
+                    runsNew.addAll ( reverseRuns ( runs, s, e ) );
+                }
+                i = e - 1;
+            }
+        }
+        if ( ! runsNew.equals ( runs ) ) {
+            runs = runsNew;
+        }
+        return runs;
+    }
+    private static List reverseRuns ( List runs, int s, int e ) {
+        int n = e - s;
+        Vector runsNew = new Vector ( n );
+        if ( n > 0 ) {
+            for ( int i = 0; i < n; i++ ) {
+                int k = ( n - i - 1 );
+                InlineRun ir = (InlineRun) runs.get(s + k);
+                ir.reverse();
+                runsNew.add ( ir );
+            }
+        }
+        return runsNew;
+    }
+    private static void reverseWords ( List runs, boolean mirror ) {
+        for ( Iterator it = runs.iterator(); it.hasNext(); ) {
+            InlineRun ir = (InlineRun) it.next();
+            ir.maybeReverseWord ( mirror );
+        }
+    }
+    private static List replicateSplitWords ( List runs ) {
+        // [TBD] for each run which inline word area appears multiple times in
+        // runs, replicate that word
+        return runs;
+    }
+    private static void replaceInlines ( LineArea la, List runs ) {
+        List<InlineArea> inlines = new ArrayList<InlineArea>();
+        for ( Iterator it = runs.iterator(); it.hasNext(); ) {
+            InlineRun ir = (InlineRun) it.next();
+            inlines.add ( ir.getInline() );
+        }
+        la.setInlineAreas ( unflattenInlines ( inlines ) );
+    }
+    private static List unflattenInlines ( List<InlineArea> inlines ) {
+        return new UnflattenProcessor ( inlines ) .unflatten();
+    }
+    private static void dumpRuns ( String header, List runs ) {
+        log.debug ( header );
+        for ( Iterator it = runs.iterator(); it.hasNext(); ) {
+            InlineRun ir = (InlineRun) it.next();
+            log.debug ( ir );
+        }
+    }
+
+    /**
+     * <p>Conditionally add a new delimited text range to RANGES, where new range is
+     * associated with node FN. A new text range is added unless all of the following are true:</p>
+     * <ul>
+     * <li>there exists a current range RCUR in RANGES</li>
+     * <li>RCUR is empty</li>
+     * <li>the node of the RCUR is the same node as FN or a descendent node of FN</li>
+     * </ul>
+     */
+    private static DelimitedTextRange maybeNewRange ( Stack ranges, FONode fn ) {
+        DelimitedTextRange rCur = null;
+        DelimitedTextRange rNew = null;
+        if ( ranges.empty() ) {
+            if ( fn instanceof Block ) {
+                rNew = new DelimitedTextRange(fn);
+            }
+        } else if ( ( rCur = (DelimitedTextRange) ranges.peek() ) != null ) {
+            if ( ! rCur.isEmpty() || ! isSelfOrDescendent ( rCur.getNode(), fn ) ) {
+                rNew = new DelimitedTextRange(fn);
+            }
+        }
+        if ( rNew != null ) {
+            ranges.push ( rNew );
+        } else {
+            rNew = rCur;
+        }
+        return rNew;
+    }
+
+    /**
+     * Determine if node N2 is the same or a descendent of node N1.
+     */
+    private static boolean isSelfOrDescendent ( FONode n1, FONode n2 ) {
+        for ( FONode n = n2; n != null; n = n.getParent() ) {
+            if ( n == n1 ) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static boolean isRangeBoundary ( FONode fn ) {
+        if ( fn instanceof Block ) {                                    // fo:block
+            return true;
+        } else if ( fn instanceof Character ) {                         // fo:character
+            return false;
+        } else if ( fn instanceof InlineLevel ) {                       // fo:inline, fo:leader, fo:bidi-override, fo:title
+            return false;
+        } else if ( fn instanceof InlineContainer ) {                   // fo:inline-container
+            return false;
+        } else if ( fn instanceof BlockContainer ) {                    // fo:block-container
+            return true;
+        } else if ( fn instanceof AbstractPageNumberCitation ) {        // fo:page-number-citation, fo:page-number-citation-last
+            return false;
+        } else if ( fn instanceof PageNumber ) {                        // fo:page-number
+            return false;
+        } else if ( fn instanceof AbstractGraphics ) {                  // fo:external-graphic, fo:instream-foreign-object
+            return false;
+        } else if ( fn instanceof Wrapper ) {                           // fo:wrapper
+            return false;
+        } else if ( fn instanceof FOText ) {                            // #PCDATA
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    private static boolean isRangeBoundaryBefore ( FONode fn ) {
+        return isRangeBoundary ( fn );
+    }
+
+    private static boolean isRangeBoundaryAfter ( FONode fn ) {
+        return isRangeBoundary ( fn );
+    }
+
+    private static List pruneEmptyRanges ( Stack ranges ) {
+        Vector rv = new Vector();
+        for ( Iterator it = ranges.iterator(); it.hasNext(); ) {
+            DelimitedTextRange r = (DelimitedTextRange) it.next();
+            if ( ! r.isEmpty() ) {
+                rv.add ( r );
+            }
+        }
+        return rv;
+    }
+
+    private static String padLeft ( int n, int width ) {
+        return padLeft ( Integer.toString ( n ), width );
+    }
+
+    private static String padLeft ( String s, int width ) {
+        StringBuffer sb = new StringBuffer();
+        for ( int i = s.length(); i < width; i++ ) {
+            sb.append(' ');
+        }
+        sb.append ( s );
+        return sb.toString();
+    }
+
+    /* not used yet
+    private static String padRight ( int n, int width ) {
+        return padRight ( Integer.toString ( n ), width );
+    }
+    */
+
+    private static String padRight ( String s, int width ) {
+        StringBuffer sb = new StringBuffer ( s );
+        for ( int i = sb.length(); i < width; i++ ) {
+            sb.append(' ');
+        }
+        return sb.toString();
+    }
+
+    private static class DelimitedTextRange {
+        private FONode fn;                              // node that generates this text range
+        private StringBuffer buffer;                    // flattened character sequence of generating FO nodes
+        private List intervals;                         // list of intervals over buffer of generating FO nodes
+        DelimitedTextRange ( FONode fn ) {
+            this.fn = fn;
+            this.buffer = new StringBuffer();
+            this.intervals = new Vector();
+        }
+        FONode getNode() {
+            return fn;
+        }
+        void append ( CharIterator it, FONode fn ) {
+            if ( it != null ) {
+                int s = buffer.length();
+                int e = s;
+                while ( it.hasNext() ) {
+                    char c = it.nextChar();
+                    buffer.append ( c );
+                    e++;
+                }
+                intervals.add ( new TextInterval ( fn, s, e ) );
+            }
+        }
+        void append ( char c, FONode fn ) {
+            if ( c != 0 ) {
+                int s = buffer.length();
+                int e = s + 1;
+                buffer.append ( c );
+                intervals.add ( new TextInterval ( fn, s, e ) );
+            }
+        }
+        boolean isEmpty() {
+            return buffer.length() == 0;
+        }
+        void resolve() {
+            WritingModeTraitsGetter tg;
+            if ( ( tg = WritingModeTraits.getWritingModeTraitsGetter ( getNode() ) ) != null ) {
+                resolve ( tg.getInlineProgressionDirection() );
+            }
+        }
+        public String toString() {
+            StringBuffer sb = new StringBuffer ( "DR: " + fn.getLocalName() + " { <" + CharUtilities.toNCRefs ( buffer.toString() ) + ">" );
+            sb.append ( ", intervals <" );
+            boolean first = true;
+            for ( Iterator it = intervals.iterator(); it.hasNext(); ) {
+                TextInterval ti = (TextInterval) it.next();
+                if ( first ) {
+                    first = false;
+                } else {
+                    sb.append(',');
+                }
+                sb.append ( ti.toString() );
+            }
+            sb.append("> }");
+            return sb.toString();
+        }
+        private void resolve ( Direction paragraphEmbeddingLevel ) {
+            int [] levels;
+            if ( ( levels = UnicodeBidiAlgorithm.resolveLevels ( buffer, paragraphEmbeddingLevel ) ) != null ) {
+                assignLevels ( levels );
+                assignTextLevels();
+                assignBlockLevel(paragraphEmbeddingLevel);
+            }
+        }
+        /**
+         * <p>Assign resolved levels to all text intervals of this delimited text range.</p>
+         * <p>Has a possible side effect of replacing the intervals array with a new array
+         * containing new text intervals, such that each text interval is associated with
+         * a single level run.</p>
+         * @param levels array of levels each corresponding to each index of the delimited
+         * text range
+         */
+        private void assignLevels ( int[] levels ) {
+            Vector intervalsNew = new Vector ( intervals.size() );
+            for ( Iterator it = intervals.iterator(); it.hasNext(); ) {
+                TextInterval ti = (TextInterval) it.next();
+                intervalsNew.addAll ( assignLevels ( ti, levels ) );
+            }
+            if ( ! intervalsNew.equals ( intervals ) ) {
+                intervals = intervalsNew;
+            }
+        }
+        /**
+         * <p>Assign resolved levels to a specified text interval over this delimited text
+         * range.</p>
+         * <p>Returns a list of text intervals containing either (1) the single, input text
+         * interval or (2) two or more new text intervals obtained from sub-dividing the input
+         * text range into level runs, i.e., runs of text assigned to a single level.</p>
+         * @param ti a text interval to which levels are to be assigned
+         * @param levels array of levels each corresponding to each index of the delimited
+         * text range
+         * @return a list of text intervals as described above
+         */
+        private List assignLevels ( TextInterval ti, int[] levels ) {
+            Vector tiv = new Vector();
+            FONode fn = ti.getNode();
+            int fnStart = ti.getStart();                                     // start of node's text in delimited text range
+            for ( int i = fnStart, n = ti.getEnd(); i < n; ) {
+                int s = i;                                              // inclusive start index of interval in delimited text range
+                int e = s;                                              // exclusive end index of interval in delimited text range
+                int l = levels [ s ];                                   // current run level
+                while ( e < n ) {                                       // skip to end of run level or end of interval
+                    if ( levels [ e ] != l ) {
+                        break;
+                    } else {
+                        e++;
+                    }
+                }
+                if ( ( ti.getStart() == s ) && ( ti.getEnd() == e ) ) {
+                    ti.setLevel ( l );                                       // reuse interval, assigning it single level
+                } else {
+                    ti = new TextInterval ( fn, fnStart, s, e, l );     // subdivide interval
+                }
+                if (log.isDebugEnabled()) {
+                    log.debug ( "AL(" + l + "): " + ti );
+                }
+                tiv.add ( ti );
+                i = e;
+            }
+            return tiv;
+        }
+        /**
+         * <p>Assign resolved levels for each interval to source #PCDATA in the associated FOText.</p>
+         */
+        private void assignTextLevels() {
+            for ( Iterator it = intervals.iterator(); it.hasNext(); ) {
+                TextInterval ti = (TextInterval) it.next();
+                ti.assignTextLevels();
+            }
+        }
+        private void assignBlockLevel ( Direction paragraphEmbeddingLevel ) {
+            int defaultLevel = ( paragraphEmbeddingLevel == Direction.RL ) ? 1 : 0;
+            for ( Iterator it = intervals.iterator(); it.hasNext(); ) {
+                TextInterval ti = (TextInterval) it.next();
+                assignBlockLevel ( ti.getNode(), defaultLevel );
+            }
+        }
+        private void assignBlockLevel ( FONode node, int defaultLevel ) {
+            for ( FONode fn = node; fn != null; fn = fn.getParent() ) {
+                if ( fn instanceof Block ) {
+                    Block bn = (Block) fn;
+                    if ( bn.getBidiLevel() < 0 ) {
+                        bn.setBidiLevel ( defaultLevel );
+                    }
+                    break;
+                }
+            }
+        }
+    }
+
+    private static class TextInterval {
+        private FONode fn;              // associated node
+        private int textStart;          // starting index within delimited text range of associated node's text
+        private int start;              // starting index within delimited text range
+        private int end;                // ending index within delimited text range
+        private int level;              // resolved level or default (-1)
+        TextInterval ( FONode fn, int start, int end ) {
+            this ( fn, start, start, end, -1 );
+        }
+        TextInterval ( FONode fn, int textStart, int start, int end, int level ) {
+            this.fn = fn;
+            this.textStart = textStart;
+            this.start = start;
+            this.end = end;
+            this.level = level;
+        }
+        FONode getNode() {
+            return fn;
+        }
+        int getTextStart() {
+            return textStart;
+        }
+        int getStart() {
+            return start;
+        }
+        int getEnd() {
+            return end;
+        }
+        int getLevel() {
+            return level;
+        }
+        void setLevel ( int level ) {
+            this.level = level;
+        }
+        public int length() {
+            return end - start;
+        }
+        public String getText() {
+            if ( fn instanceof FOText ) {
+                return new String ( ( (FOText) fn ) .getCharArray() );
+            } else if ( fn instanceof Character ) {
+                return new String ( new char[] {( (Character) fn ) .getCharacter()} );
+            } else {
+                return null;
+            }
+        }
+        public void assignTextLevels() {
+            if ( fn instanceof FOText ) {
+                ( (FOText) fn ) .setBidiLevel ( level, start - textStart, end - textStart );
+            } else if ( fn instanceof Character ) {
+                ( (Character) fn ) .setBidiLevel ( level );
+            } else if ( fn instanceof AbstractPageNumberCitation ) {
+                ( (AbstractPageNumberCitation) fn ) .setBidiLevel ( level );
+            } else if ( fn instanceof AbstractGraphics ) {
+                ( (AbstractGraphics) fn ) .setBidiLevel ( level );
+            }
+        }
+        public boolean equals ( Object o ) {
+            if ( o instanceof TextInterval ) {
+                TextInterval ti = (TextInterval) o;
+                if ( ti.getNode() != fn ) {
+                    return false;
+                } else if ( ti.getStart() != start ) {
+                    return false;
+                } else if ( ti.getEnd() != end ) {
+                    return false;
+                } else {
+                    return true;
+                }
+            } else {
+                return false;
+            }
+        }
+        public int hashCode() {
+            int l = ( fn != null ) ? fn.hashCode() : 0;
+            l = ( l ^ start ) + ( l << 19 );
+            l = ( l ^ end )   + ( l << 11 );
+            return l;
+        }
+        public String toString() {
+            StringBuffer sb = new StringBuffer();
+            char c;
+            if ( fn instanceof FOText ) {
+                c = 'T';
+            } else if ( fn instanceof Character ) {
+                c = 'C';
+            } else if ( fn instanceof BidiOverride ) {
+                c = 'B';
+            } else if ( fn instanceof AbstractPageNumberCitation ) {
+                c = '#';
+            } else if ( fn instanceof AbstractGraphics ) {
+                c = 'G';
+            } else {
+                c = '?';
+            }
+            sb.append ( c );
+            sb.append ( "[" + start + "," + end + "][" + textStart + "](" + level + ")" );
+            return sb.toString();
+        }
+    }
+
+    /**
+     * The <code>InlineRun</code> class is a utility class used to capture a sequence of
+     * reordering levels associated with an inline area.
+     */
+    private static class InlineRun {
+        private InlineArea inline;
+        private int[] levels;
+        private int minLevel;
+        private int maxLevel;
+        private int reversals;
+        InlineRun ( InlineArea inline, int[] levels ) {
+            this.inline = inline;
+            this.levels = levels;
+            setMinMax ( levels );
+        }
+        private InlineRun ( InlineArea inline, int level, int count ) {
+            this ( inline, makeLevels ( level, count ) );
+        }
+        InlineArea getInline() {
+            return inline;
+        }
+        int getMinLevel() {
+            return minLevel;
+        }
+        private void setMinMax ( int[] levels ) {
+            int mn = Integer.MAX_VALUE;
+            int mx = Integer.MIN_VALUE;
+            if ( ( levels != null ) && ( levels.length > 0 ) ) {
+                for ( int i = 0, n = levels.length; i < n; i++ ) {
+                    int l = levels [ i ];
+                    if ( l < mn ) {
+                        mn = l;
+                    }
+                    if ( l > mx ) {
+                        mx = l;
+                    }
+                }
+            } else {
+                mn = mx = -1;
+            }
+            this.minLevel = mn;
+            this.maxLevel = mx;
+        }
+        public boolean isHomogenous() {
+            return minLevel == maxLevel;
+        }
+        public List split() {
+            List runs = new Vector();
+            for ( int i = 0, n = levels.length; i < n; ) {
+                int l = levels [ i ];
+                int s = i;
+                int e = s;
+                while ( e < n ) {
+                    if ( levels [ e ] != l ) {
+                        break;
+                    } else {
+                        e++;
+                    }
+                }
+                if ( s < e ) {
+                    runs.add ( new InlineRun ( inline, l, e - s ) );
+                }
+                i = e;
+            }
+            assert runs.size() < 2 : "heterogeneous inlines not yet supported!!";
+            return runs;
+        }
+        public void updateMinMax ( int[] mm ) {
+            if ( minLevel < mm[0] ) {
+                mm[0] = minLevel;
+            }
+            if ( maxLevel > mm[1] ) {
+                mm[1] = maxLevel;
+            }
+        }
+        public boolean maybeNeedsMirroring() {
+            return ( minLevel == maxLevel ) && ( ( minLevel & 1 ) != 0 );
+        }
+        public void reverse() {
+            reversals++;
+        }
+        public void maybeReverseWord ( boolean mirror ) {
+            if ( inline instanceof WordArea ) {
+                WordArea w = (WordArea) inline;
+                if ( ( reversals & 1 ) != 0 ) {
+                    w.reverse ( mirror );
+                } else if ( mirror && maybeNeedsMirroring() ) {
+                    w.mirror();
+                }
+            }
+        }
+        public boolean equals ( Object o ) {
+            if ( o instanceof InlineRun ) {
+                InlineRun ir = (InlineRun) o;
+                if ( ir.inline != inline ) {
+                    return false;
+                } else if ( ir.minLevel != minLevel ) {
+                    return false;
+                } else if ( ir.maxLevel != maxLevel ) {
+                    return false;
+                } else if ( ( ir.levels != null ) && ( levels != null ) ) {
+                    if ( ir.levels.length != levels.length ) {
+                        return false;
+                    } else {
+                        for ( int i = 0, n = levels.length; i < n; i++ ) {
+                            if ( ir.levels[i] != levels[i] ) {
+                                return false;
+                            }
+                        }
+                        return true;
+                    }
+                } else if ( ( ir.levels == null ) && ( levels == null ) ) {
+                    return true;
+                } else {
+                    return false;
+                }
+            } else {
+                return false;
+            }
+        }
+        public int hashCode() {
+            int l = ( inline != null ) ? inline.hashCode() : 0;
+            l = ( l ^ minLevel ) + ( l << 19 );
+            l = ( l ^ maxLevel )   + ( l << 11 );
+            return l;
+        }
+        public String toString() {
+            StringBuffer sb = new StringBuffer( "RR: { type = \'" );
+            char c;
+            String content = null;
+            if ( inline instanceof WordArea ) {
+                c = 'W';
+                content = ( (WordArea) inline ) .getWord();
+            } else if ( inline instanceof SpaceArea ) {
+                c = 'S';
+                content = ( (SpaceArea) inline ) .getSpace();
+            } else if ( inline instanceof Anchor ) {
+                c = 'A';
+            } else if ( inline instanceof Leader ) {
+                c = 'L';
+            } else if ( inline instanceof Space ) {
+                c = 'G'; // 'G' => glue
+            } else if ( inline instanceof UnresolvedPageNumber ) {
+                c = '#';
+                content = ( (UnresolvedPageNumber) inline ) .getText();
+            } else if ( inline instanceof InlineBlockParent ) {
+                c = 'B';
+            } else if ( inline instanceof InlineViewport ) {
+                c = 'V';
+            } else if ( inline instanceof InlineParent ) {
+                c = 'I';
+            } else {
+                c = '?';
+            }
+            sb.append ( c );
+            sb.append ( "\', levels = \'" );
+            sb.append ( generateLevels ( levels ) );
+            sb.append ( "\', min = " );
+            sb.append ( minLevel );
+            sb.append ( ", max = " );
+            sb.append ( maxLevel );
+            sb.append ( ", reversals = " );
+            sb.append ( reversals );
+            sb.append ( ", content = <" );
+            sb.append ( CharUtilities.toNCRefs ( content ) );
+            sb.append ( "> }" );
+            return sb.toString();
+        }
+        private String generateLevels ( int[] levels ) {
+            StringBuffer lb = new StringBuffer();
+            int maxLevel = -1;
+            int numLevels = levels.length;
+            for ( int i = 0; i < numLevels; i++ ) {
+                int l = levels [ i ];
+                if ( l > maxLevel ) {
+                    maxLevel = l;
+                }
+            }
+            if ( maxLevel < 0 ) {
+                // leave level buffer empty
+            } else if ( maxLevel < 10 ) {
+                // use string of decimal digits
+                for ( int i = 0; i < numLevels; i++ ) {
+                    lb.append ( (char) ( '0' + levels [ i ] ) );
+                }
+            } else {
+                // use comma separated list
+                boolean first = true;
+                for ( int i = 0; i < numLevels; i++ ) {
+                    if ( first ) {
+                        first = false;
+                    } else {
+                        lb.append(',');
+                    }
+                    lb.append ( levels [ i ] );
+                }
+            }
+            return lb.toString();
+        }
+        private static int[] makeLevels ( int level, int count ) {
+            int[] levels = new int [ count ];
+            Arrays.fill ( levels, level );
+            return levels;
+        }
+    }
+
+    /**
+     * The <code>UnflattenProcessor</code> class is used to reconstruct (by unflattening) a line's
+     * area hierarachy after leaf inline area reordering is complete.
+     */
+    static class UnflattenProcessor {
+        private List<InlineArea>        il;             // list of flattened inline areas being unflattened
+        private List<InlineArea>        ilNew;          // list of unflattened inline areas being constructed
+        private int                     iaLevelLast;    // last (previous) level of current inline area (if applicable) or -1
+        private TextArea                tcOrig;         // original text area container
+        private TextArea                tcNew;          // new text area container being constructed
+        private Stack<InlineParent>     icOrig;         // stack of original inline parent containers
+        private Stack<InlineParent>     icNew;          // stack of new inline parent containers being constructed
+        UnflattenProcessor ( List<InlineArea> inlines ) {
+            this.il = inlines;
+            this.ilNew = new ArrayList<InlineArea>();
+            this.iaLevelLast = -1;
+            this.icOrig = new Stack<InlineParent>();
+            this.icNew = new Stack<InlineParent>();
+        }
+        List unflatten() {
+            if ( il != null ) {
+                for ( Iterator<InlineArea> it = il.iterator(); it.hasNext(); ) {
+                    process ( it.next() );
+                }
+            }
+            finishAll();
+            return ilNew;
+        }
+        private void process ( InlineArea ia ) {
+            process ( findInlineContainers ( ia ), findTextContainer ( ia ), ia );
+        }
+        private void process ( List<InlineParent> ich, TextArea tc, InlineArea ia ) {
+            maybeFinishTextContainer ( tc, ia );
+            maybeFinishInlineContainers ( ich, tc, ia );
+            update ( ich, tc, ia );
+        }
+        private boolean shouldFinishTextContainer ( TextArea tc, InlineArea ia ) {
+            if ( ( tcOrig != null ) && ( tc != tcOrig ) ) {
+                return true;
+            } else if ( ( iaLevelLast != -1 ) && ( ia.getBidiLevel() != iaLevelLast ) ) {
+                return true;
+            } else {
+                return false;
+            }
+        }
+        private void finishTextContainer() {
+            finishTextContainer ( null, null );
+        }
+        private void finishTextContainer ( TextArea tc, InlineArea ia ) {
+            if ( tcNew != null ) {
+                updateIPD ( tcNew );
+                if ( ! icNew.empty() ) {
+                    icNew.peek().addChildArea ( tcNew );
+                } else {
+                    ilNew.add ( tcNew );
+                }
+            }
+            tcNew = null;
+        }
+        private void maybeFinishTextContainer ( TextArea tc, InlineArea ia ) {
+            if ( shouldFinishTextContainer ( tc, ia ) ) {
+                finishTextContainer ( tc, ia );
+            }
+        }
+        private boolean shouldFinishInlineContainer ( List<InlineParent> ich, TextArea tc, InlineArea ia ) {
+            if ( ( ich == null ) || ich.isEmpty() ) {
+                return ! icOrig.empty();
+            } else {
+                if ( ! icOrig.empty() ) {
+                    InlineParent ic  = ich.get(0);
+                    InlineParent ic0 = icOrig.peek();
+                    return ( ic != ic0 ) && ! isInlineParentOf ( ic, ic0 );
+                } else {
+                    return false;
+                }
+            }
+        }
+        private void finishInlineContainer() {
+            finishInlineContainer ( null, null, null );
+        }
+        private void finishInlineContainer ( List<InlineParent> ich, TextArea tc, InlineArea ia ) {
+            if ( ( ich != null ) && ! ich.isEmpty() ) {     // finish non-matching inner inline container(s)
+                for ( Iterator<InlineParent> it = ich.iterator(); it.hasNext(); ) {
+                    InlineParent ic  = it.next();
+                    InlineParent ic0 = icOrig.empty() ? null : icOrig.peek();
+                    if ( ic0 == null ) {
+                        assert icNew.empty();
+                    } else if ( ic != ic0 ) {
+                        assert ! icNew.empty();
+                        InlineParent icO0 = icOrig.pop();
+                        InlineParent icN0 = icNew.pop();
+                        assert icO0 != null;
+                        assert icN0 != null;
+                        if ( icNew.empty() ) {
+                            ilNew.add ( icN0 );
+                        } else {
+                            icNew.peek().addChildArea ( icN0 );
+                        }
+                        if ( ! icOrig.empty() && ( icOrig.peek() == ic ) ) {
+                            break;
+                        }
+                    } else {
+                        break;
+                    }
+                }
+            } else {                                        // finish all inline containers
+                while ( ! icNew.empty() ) {
+                    InlineParent icO0 = icOrig.pop();
+                    InlineParent icN0 = icNew.pop();
+                    assert icO0 != null;
+                    assert icN0 != null;
+                    if ( icNew.empty() ) {
+                        ilNew.add ( icN0 );
+                    } else {
+                        icNew.peek().addChildArea ( icN0 );
+                    }
+                }
+            }
+        }
+        private void maybeFinishInlineContainers ( List<InlineParent> ich, TextArea tc, InlineArea ia ) {
+            if ( shouldFinishInlineContainer ( ich, tc, ia ) ) {
+                finishInlineContainer ( ich, tc, ia );
+            }
+        }
+        private void finishAll() {
+            finishTextContainer();
+            finishInlineContainer();
+        }
+        private void update ( List<InlineParent> ich, TextArea tc, InlineArea ia ) {
+            if ( ( ich != null ) && ! ich.isEmpty() ) {
+                pushInlineContainers ( ich );
+            }
+            if ( tc != null ) {
+                pushTextContainer ( tc, ia );
+            } else {
+                pushNonTextInline ( ia );
+            }
+            iaLevelLast = ia.getBidiLevel();
+            tcOrig = tc;
+        }
+        private void pushInlineContainers ( List<InlineParent> ich ) {
+            LinkedList<InlineParent> icl = new LinkedList<InlineParent>();
+            for ( Iterator<InlineParent> it = ich.iterator(); it.hasNext(); ) {
+                InlineParent ic = it.next();
+                if ( icOrig.search ( ic ) >= 0 ) {
+                    break;
+                } else {
+                    icl.addFirst ( ic );
+                }
+            }
+            for ( Iterator<InlineParent> it = icl.iterator(); it.hasNext(); ) {
+                InlineParent ic = it.next();
+                icOrig.push ( ic );
+                icNew.push ( generateInlineContainer ( ic ) );
+            }
+        }
+        private void pushTextContainer ( TextArea tc, InlineArea ia ) {
+            if ( tc instanceof UnresolvedPageNumber ) {
+                tcNew = tc;
+            } else {
+                if ( tcNew == null ) {
+                    tcNew = generateTextContainer ( tc );
+                }
+                tcNew.addChildArea ( ia );
+            }
+        }
+        private void pushNonTextInline ( InlineArea ia ) {
+            if ( icNew.empty() ) {
+                ilNew.add ( ia );
+            } else {
+                icNew.peek().addChildArea ( ia );
+            }
+        }
+        private InlineParent generateInlineContainer ( InlineParent i ) {
+            if ( i instanceof BasicLinkArea ) {
+                return generateBasicLinkArea ( (BasicLinkArea) i );
+            } else {
+                return generateInlineContainer0 ( i );
+            }
+        }
+        private InlineParent generateBasicLinkArea ( BasicLinkArea l ) {
+            BasicLinkArea lc = new BasicLinkArea();
+            if ( l != null ) {
+                initializeInlineContainer ( lc, l );
+                initializeLinkArea ( lc, l );
+            }
+            return lc;
+        }
+        private void initializeLinkArea ( BasicLinkArea lc, BasicLinkArea l ) {
+            assert lc != null;
+            assert l != null;
+            LinkResolver r = l.getResolver();
+            if ( r != null ) {
+                String[] idrefs = r.getIDRefs();
+                if ( idrefs.length > 0 ) {
+                    String idref = idrefs[0];
+                    LinkResolver lr = new LinkResolver ( idref, lc );
+                    lc.setResolver ( lr );
+                    r.addDependent ( lr );
+                }
+            }
+        }
+        private InlineParent generateInlineContainer0 ( InlineParent i ) {
+            InlineParent ic = new InlineParent();
+            if ( i != null ) {
+                initializeInlineContainer ( ic, i );
+            }
+            return ic;
+        }
+        private void initializeInlineContainer ( InlineParent ic, InlineParent i ) {
+            assert ic != null;
+            assert i != null;
+            ic.setTraits ( i.getTraits() );
+            ic.setBPD ( i.getBPD() );
+            ic.setBlockProgressionOffset ( i.getBlockProgressionOffset() );
+        }
+        private TextArea generateTextContainer ( TextArea t ) {
+            TextArea tc = new TextArea();
+            if ( t != null ) {
+                tc.setTraits ( t.getTraits() );
+                tc.setBPD ( t.getBPD() );
+                tc.setBlockProgressionOffset ( t.getBlockProgressionOffset() );
+                tc.setBaselineOffset ( t.getBaselineOffset() );
+                tc.setTextWordSpaceAdjust ( t.getTextWordSpaceAdjust() );
+                tc.setTextLetterSpaceAdjust ( t.getTextLetterSpaceAdjust() );
+            }
+            return tc;
+        }
+        private void updateIPD ( TextArea tc ) {
+            int numAdjustable = 0;
+            for ( Iterator it = tc.getChildAreas().iterator(); it.hasNext(); ) {
+                InlineArea ia = (InlineArea) it.next();
+                if ( ia instanceof SpaceArea ) {
+                    SpaceArea sa = (SpaceArea) ia;
+                    if ( sa.isAdjustable() ) {
+                        numAdjustable++;
+                    }
+                }
+            }
+            if ( numAdjustable > 0 ) {
+                tc.setIPD ( tc.getIPD() + ( numAdjustable * tc.getTextWordSpaceAdjust() ) );
+            }
+        }
+        private TextArea findTextContainer ( InlineArea ia ) {
+            assert ia != null;
+            TextArea t = null;
+            while ( t == null ) {
+                if ( ia instanceof TextArea ) {
+                    t = (TextArea) ia;
+                } else {
+                    Area p = ia.getParentArea();
+                    if ( p instanceof InlineArea ) {
+                        ia = (InlineArea) p;
+                    } else {
+                        break;
+                    }
+                }
+            }
+            return t;
+        }
+        private List<InlineParent> findInlineContainers ( InlineArea ia ) {
+            assert ia != null;
+            List<InlineParent> ich = new ArrayList<InlineParent>();
+            Area a = ia.getParentArea();
+            while ( a != null ) {
+                if ( a instanceof InlineArea ) {
+                    if ( ( a instanceof InlineParent ) && ! ( a instanceof TextArea ) ) {
+                        ich.add ( (InlineParent) a );
+                    }
+                    a = ( (InlineArea) a ) .getParentArea();
+                } else {
+                    a = null;
+                }
+            }
+            return ich;
+        }
+        private boolean isInlineParentOf ( InlineParent ic0, InlineParent ic1 ) {
+            assert ic0 != null;
+            return ic0.getParentArea() == ic1;
+        }
+    }
+
+    /**
+     * The <code>UnicodeBidiAlgorithm</code> class implements functionality prescribed by
+     * the Unicode Bidirectional Algorithm, Unicode Standard Annex #9.
+     */
+    public static final class UnicodeBidiAlgorithm implements BidiConstants {
+
+        private UnicodeBidiAlgorithm() {
+        }
+
+        /**
+         * Resolve the directionality levels of each character in a character seqeunce.
+         * If some character is encoded in the character sequence as a Unicode Surrogate Pair,
+         * then the directionality level of each of the two members of the  pair will be identical.
+         * @return null if bidirectional processing is not required; otherwise, returns an array
+         * of integers, where each integer corresponds to exactly one UTF-16
+         * encoding element present in the input character sequence, and where each integer denotes
+         * the directionality level of the corresponding encoding element
+         * @param cs input character sequence representing a UTF-16 encoded string
+         * @param defaultLevel the default paragraph level, which must be zero (LR) or one (RL)
+         */
+        public static int[] resolveLevels ( CharSequence cs, Direction defaultLevel ) {
+            int[] chars = new int [ cs.length() ];
+            if ( convertToScalar ( cs, chars ) || ( defaultLevel == Direction.RL ) ) {
+                return resolveLevels ( chars, ( defaultLevel == Direction.RL ) ? 1 : 0, new int [ chars.length ] );
+            } else {
+                return null;
+            }
+        }
+
+        /**
+         * Resolve the directionality levels of each character in a character seqeunce.
+         * @return null if bidirectional processing is not required; otherwise, returns an array
+         * of integers, where each integer corresponds to exactly one UTF-16
+         * encoding element present in the input character sequence, and where each integer denotes
+         * the directionality level of the corresponding encoding element
+         * @param chars array of input characters represented as unicode scalar values
+         * @param defaultLevel the default paragraph level, which must be zero (LR) or one (RL)
+         * @param levels array to receive levels, one for each character in chars array
+         */
+        public static int[] resolveLevels ( int[] chars, int defaultLevel, int[] levels ) {
+            return resolveLevels ( chars, getClasses ( chars ), defaultLevel, levels, false );
+        }
+
+        /**
+         * Resolve the directionality levels of each character in a character seqeunce.
+         * @return null if bidirectional processing is not required; otherwise, returns an array
+         * of integers, where each integer corresponds to exactly one UTF-16
+         * encoding element present in the input character sequence, and where each integer denotes
+         * the directionality level of the corresponding encoding element
+         * @param chars array of input characters represented as unicode scalar values
+         * @param classes array containing one bidi class per character in chars array
+         * @param defaultLevel the default paragraph level, which must be zero (LR) or one (RL)
+         * @param levels array to receive levels, one for each character in chars array
+         * @param useRuleL1 true if rule L1 should be used
+         */
+        public static int[] resolveLevels ( int[] chars, int[] classes, int defaultLevel, int[] levels, boolean useRuleL1 ) {
+            int[] ica = classes;
+            int[] wca = copySequence ( ica );
+            int[] ea  = new int [ levels.length ];
+            resolveExplicit ( wca, defaultLevel, ea );
+            resolveRuns ( wca, defaultLevel, ea, levelsFromEmbeddings ( ea, levels ) );
+            if ( useRuleL1 ) {
+                resolveSeparators ( ica, wca, defaultLevel, levels );
+            }
+            dump ( "RL: CC(" + ( ( chars != null ) ? chars.length : -1 ) + ")", chars, classes, defaultLevel, levels );
+            return levels;
+        }
+
+        private static int[] copySequence ( int[] ta ) {
+            int[] na = new int [ ta.length ];
+            System.arraycopy ( ta, 0, na, 0, na.length );
+            return na;
+        }
+
+        private static void resolveExplicit ( int[] wca, int defaultLevel, int[] ea ) {
+            int[] es = new int [ MAX_LEVELS ];          /* embeddings stack */
+            int ei = 0;                                 /* embeddings stack index */
+            int ec = defaultLevel;                      /* current embedding level */
+            for ( int i = 0, n = wca.length; i < n; i++ ) {
+                int bc = wca [ i ];                     /* bidi class of current char */
+                int el;                                 /* embedding level to assign to current char */
+                switch ( bc ) {
+                case LRE:                               // start left-to-right embedding
+                case RLE:                               // start right-to-left embedding
+                case LRO:                               // start left-to-right override
+                case RLO:                               // start right-to-left override
+                    {
+                        int en;                         /* new embedding level */
+                        if ( ( bc == RLE ) || ( bc == RLO ) ) {
+                            en = ( ( ec & ~OVERRIDE ) + 1 ) | 1;
+                        } else {
+                            en = ( ( ec & ~OVERRIDE ) + 2 ) & ~1;
+                        }
+                        if ( en < ( MAX_LEVELS + 1 ) ) {
+                            es [ ei++ ] = ec;
+                            if ( ( bc == LRO ) || ( bc == RLO ) ) {
+                                ec = en | OVERRIDE;
+                            } else {
+                                ec = en & ~OVERRIDE;
+                            }
+                        } else {
+                            // max levels exceeded, so don't change level or override
+                        }
+                        el = ec;
+                        break;
+                    }
+                case PDF:                               // pop directional formatting
+                    {
+                        el = ec;
+                        if ( ei > 0 ) {
+                            ec = es [ --ei ];
+                        } else {
+                            // ignore isolated PDF
+                        }
+                        break;
+                    }
+                case B:                                 // paragraph separator
+                    {
+                        el = ec = defaultLevel;
+                        ei = 0;
+                        break;
+                    }
+                default:
+                    {
+                        el = ec;
+                        break;
+                    }
+                }
+                switch ( bc ) {
+                case BN:
+                    break;
+                case LRE: case RLE: case LRO: case RLO: case PDF:
+                    wca [ i ] = BN;
+                    break;
+                default:
+                    if ( ( el & OVERRIDE ) != 0 ) {
+                        wca [ i ] = directionOfLevel ( el );
+                    }
+                    break;
+                }
+                ea [ i ] = el;
+            }
+        }
+
+        private static int directionOfLevel ( int level ) {
+            return ( ( level & 1 ) != 0 ) ? R : L;
+        }
+
+        private static int levelOfEmbedding ( int embedding ) {
+            return embedding & ~OVERRIDE;
+        }
+
+        private static int[] levelsFromEmbeddings ( int[] ea, int[] la ) {
+            assert ea != null;
+            assert la != null;
+            assert la.length == ea.length;
+            for ( int i = 0, n = la.length; i < n; i++ ) {
+                la [ i ] = levelOfEmbedding ( ea [ i ] );
+            }
+            return la;
+        }
+
+        private static void resolveRuns ( int[] wca, int defaultLevel, int[] ea, int[] la ) {
+            if ( la.length != wca.length ) {
+                throw new IllegalArgumentException ( "levels sequence length must match classes sequence length" );
+            } else if ( la.length != ea.length ) {
+                throw new IllegalArgumentException ( "levels sequence length must match embeddings sequence length" );
+            } else {
+                for ( int i = 0, n = ea.length, lPrev = defaultLevel; i < n; ) {
+                    int s = i;
+                    int e = s;
+                    int l = findNextNonRetainedFormattingLevel ( wca, ea, s, lPrev );
+                    while ( e < n ) {
+                        if ( la [ e ] != l ) {
+                            if ( startsWithRetainedFormattingRun ( wca, ea, e ) ) {
+                                e += getLevelRunLength ( ea, e );
+                            } else {
+                                break;
+                            }
+                        } else {
+                            e++;
+                        }
+                    }
+                    lPrev = resolveRun ( wca, defaultLevel, ea, la, s, e, l, lPrev );
+                    i = e;
+                }
+            }
+        }
+
+        private static int findNextNonRetainedFormattingLevel ( int[] wca, int[] ea, int start, int lPrev ) {
+            int s = start;
+            int e = wca.length;
+            while ( s < e ) {
+                if ( startsWithRetainedFormattingRun ( wca, ea, s ) ) {
+                    s += getLevelRunLength ( ea, s );
+                } else {
+                    break;
+                }
+            }
+            if ( s < e ) {
+                return levelOfEmbedding ( ea [ s ] );
+            } else {
+                return lPrev;
+            }
+        }
+
+        private static int getLevelRunLength ( int[] ea, int start ) {
+            assert start < ea.length;
+            int nl = 0;
+            for ( int s = start, e = ea.length, l0 = levelOfEmbedding ( ea [ start ] ); s < e; s++ ) {
+                if ( levelOfEmbedding ( ea [ s ] ) == l0 ) {
+                    nl++;
+                } else {
+                    break;
+                }
+            }
+            return nl;
+        }
+
+        private static boolean startsWithRetainedFormattingRun ( int[] wca, int[] ea, int start ) {
+            int nl = getLevelRunLength ( ea, start );
+            if ( nl > 0 ) {
+                int nc = getRetainedFormattingRunLength ( wca, start );
+                return ( nc >= nl );
+            } else {
+                return false;
+            }
+        }
+
+        private static int getRetainedFormattingRunLength ( int[] wca, int start ) {
+            assert start < wca.length;
+            int nc = 0;
+            for ( int s = start, e = wca.length; s < e; s++ ) {
+                if ( wca [ s ] == BidiConstants.BN ) {
+                    nc++;
+                } else {
+                    break;
+                }
+            }
+            return nc;
+        }
+
+        private static int resolveRun ( int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int levelPrev ) {
+
+            // determine start of run direction
+            int sor = directionOfLevel ( max ( levelPrev, level ) );
+
+            // determine end of run direction
+            int le = -1;
+            if ( end == wca.length ) {
+                le = max ( level, defaultLevel );
+            } else {
+                for ( int i = end; i < wca.length; i++ ) {
+                    if ( wca [ i ] != BidiConstants.BN ) {
+                        le = max ( level, la [ i ] );
+                        break;
+                    }
+                }
+                if ( le < 0 ) {
+                    le = max ( level, defaultLevel );
+                }
+            }
+            int eor = directionOfLevel ( le );
+
+            if (log.isDebugEnabled()) {
+                log.debug ( "BR[" + padLeft ( start, 3 ) + "," + padLeft ( end, 3 ) + "] :" + padLeft ( level, 2 ) + ": SOR(" + getClassName(sor) + "), EOR(" + getClassName(eor) + ")" );
+            }
+
+            resolveWeak ( wca, defaultLevel, ea, la, start, end, level, sor, eor );
+            resolveNeutrals ( wca, defaultLevel, ea, la, start, end, level, sor, eor );
+            resolveImplicit ( wca, defaultLevel, ea, la, start, end, level, sor, eor );
+
+            // if this run is all retained formatting, then return prior level, otherwise this run's level
+            return isRetainedFormatting ( wca, start, end ) ? levelPrev : level;
+        }
+
+        private static void resolveWeak ( int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor ) {
+
+            // W1 - X BN* NSM -> X BN* X
+            for ( int i = start, n = end, bcPrev = sor; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( bc == NSM ) {
+                    wca [ i ] = bcPrev;
+                } else if ( bc != BN ) {
+                    bcPrev = bc;
+                }
+            }
+
+            // W2 - AL ... EN -> AL ... AN
+            for ( int i = start, n = end, bcPrev = sor; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( bc == EN ) {
+                    if ( bcPrev == AL ) {
+                        wca [ i ] = AN;
+                    }
+                } else if ( isStrong ( bc ) ) {
+                    bcPrev = bc;
+                }
+            }
+
+            // W3 - AL -> R
+            for ( int i = start, n = end; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( bc == AL ) {
+                    wca [ i ] = R;
+                }
+            }
+
+            // W4 - EN BN* ES BN* EN -> EN BN* EN BN* EN; XN BN* CS BN* XN -> XN BN* XN BN* XN
+            for ( int i = start, n = end, bcPrev = sor; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( bc == ES ) {
+                    int bcNext = eor;
+                    for ( int j = i + 1; j < n; j++ ) {
+                        if ( ( bc = wca [ j ] ) != BN ) {
+                            bcNext = bc;
+                            break;
+                        }
+                    }
+                    if ( ( bcPrev == EN ) && ( bcNext == EN ) ) {
+                        wca [ i ] = EN;
+                    }
+                } else if ( bc == CS ) {
+                    int bcNext = eor;
+                    for ( int j = i + 1; j < n; j++ ) {
+                        if ( ( bc = wca [ j ] ) != BN ) {
+                            bcNext = bc;
+                            break;
+                        }
+                    }
+                    if ( ( bcPrev == EN ) && ( bcNext == EN ) ) {
+                        wca [ i ] = EN;
+                    } else if ( ( bcPrev == AN ) && ( bcNext == AN ) ) {
+                        wca [ i ] = AN;
+                    }
+                }
+                if ( bc != BN ) {
+                    bcPrev = bc;
+                }
+            }
+
+            // W5 - EN (ET|BN)* -> EN (EN|BN)*; (ET|BN)* EN -> (EN|BN)* EN
+            for ( int i = start, n = end, bcPrev = sor; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( bc == ET ) {
+                    int bcNext = eor;
+                    for ( int j = i + 1; j < n; j++ ) {
+                        bc = wca [ j ];
+                        if ( ( bc != BN ) && ( bc != ET ) ) {
+                            bcNext = bc;
+                            break;
+                        }
+                    }
+                    if ( ( bcPrev == EN ) || ( bcNext == EN ) ) {
+                        wca [ i ] = EN;
+                    }
+                } else if ( ( bc != BN ) && ( bc != ET ) ) {
+                    bcPrev = bc;
+                }
+            }
+
+            // W6 - BN* (ET|ES|CS) BN* -> ON* ON ON*
+            for ( int i = start, n = end; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( ( bc == ET ) || ( bc == ES ) || ( bc == CS ) ) {
+                    wca [ i ] = ON;
+                    resolveAdjacentBoundaryNeutrals ( wca, start, end, i, ON );
+                }
+            }
+
+            // W7 - L ... EN -> L ... L
+            for ( int i = start, n = end, bcPrev = sor; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( bc == EN ) {
+                    if ( bcPrev == L ) {
+                        wca [ i ] = L;
+                    }
+                } else if ( ( bc == L ) || ( bc == R ) ) {
+                    bcPrev = bc;
+                }
+            }
+
+        }
+
+        private static void resolveNeutrals ( int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor ) {
+
+            // N1 - (L|R) N+ (L|R) -> L L+ L | R R+ R; (AN|EN) N+ R -> (AN|EN) R+ R; R N+ (AN|EN) -> R R+ (AN|EN)
+            for ( int i = start, n = end, bcPrev = sor; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( isNeutral ( bc ) ) {
+                    int bcNext = eor;
+                    for ( int j = i + 1; j < n; j++ ) {
+                        bc = wca [ j ];
+                        if ( ( bc == L ) || ( bc == R ) ) {
+                            bcNext = bc;
+                            break;
+                        } else if ( ( bc == AN ) || ( bc == EN ) ) {
+                            bcNext = R;
+                            break;
+                        } else if ( isNeutral ( bc ) ) {
+                            continue;
+                        } else if ( isRetainedFormatting ( bc ) ) {
+                            continue;
+                        } else {
+                            break;
+                        }
+                    }
+                    if ( bcPrev == bcNext ) {
+                        wca [ i ] = bcPrev;
+                        resolveAdjacentBoundaryNeutrals ( wca, start, end, i, bcPrev );
+                    }
+                } else if ( ( bc == L ) || ( bc == R ) ) {
+                    bcPrev = bc;
+                } else if ( ( bc == AN ) || ( bc == EN ) ) {
+                    bcPrev = R;
+                }
+            }
+
+            // N2 - N -> embedding level
+            for ( int i = start, n = end; i < n; i++ ) {
+                int bc = wca [ i ];
+                if ( isNeutral ( bc ) ) {
+                    int bcEmbedding = directionOfLevel ( levelOfEmbedding ( ea [ i ] ) );
+                    wca [ i ] = bcEmbedding;
+                    resolveAdjacentBoundaryNeutrals ( wca, start, end, i, bcEmbedding );
+                }
+            }
+
+        }
+
+        private static void resolveAdjacentBoundaryNeutrals ( int[] wca, int start, int end, int index, int bcNew ) {
+            if ( ( index < start ) || ( index >= end ) ) {
+                throw new IllegalArgumentException();
+            } else {
+                for ( int i = index - 1; i >= start; i-- ) {
+                    int bc = wca [ i ];
+                    if ( bc == BN ) {
+                        wca [ i ] = bcNew;
+                    } else {
+                        break;
+                    }
+                }
+                for ( int i = index + 1; i < end; i++ ) {
+                    int bc = wca [ i ];
+                    if ( bc == BN ) {
+                        wca [ i ] = bcNew;
+                    } else {
+                        break;
+                    }
+                }
+            }
+        }
+
+        private static void resolveImplicit ( int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor ) {
+            for ( int i = start, n = end; i < n; i++ ) {
+                int bc = wca [ i ];                     // bidi class
+                int el = la [ i ];                      // embedding level
+                int ed = 0;                             // embedding level delta
+                if ( ( el & 1 ) == 0 ) {                // even
+                    if ( bc == R ) {
+                        ed = 1;
+                    } else if ( bc == AN ) {
+                        ed = 2;
+                    } else if ( bc == EN ) {
+                        ed = 2;
+                    }
+                } else {                                // odd
+                    if ( bc == L ) {
+                        ed = 1;
+                    } else if ( bc == EN ) {
+                        ed = 1;
+                    } else if ( bc == AN ) {
+                        ed = 1;
+                    }
+                }
+                la [ i ] = el + ed;
+            }
+        }
+
+        /**
+         * Resolve separators and boundary neutral levels to account for UAX#9 3.4 L1 while taking into
+         * account retention of formatting codes (5.2).
+         * @param ica original input class array (sequence)
+         * @param wca working copy of original intput class array (sequence), as modified by prior steps
+         * @param dl default paragraph level
+         * @param la array of output levels to be adjusted, as produced by bidi algorithm
+         */
+        private static void resolveSeparators ( int[] ica, int[] wca, int dl, int[] la ) {
+            // steps (1) through (3)
+            for ( int i = 0, n = ica.length; i < n; i++ ) {
+                int ic = ica[i];
+                if ( ( ic == BidiConstants.S ) || ( ic == BidiConstants.B ) ) {
+                    la[i] = dl;
+                    for ( int k = i - 1; k >= 0; k-- ) {
+                        int pc = ica[k];
+                        if ( isRetainedFormatting ( pc ) ) {
+                            continue;
+                        } if ( pc == BidiConstants.WS ) {
+                            la[k] = dl;
+                        } else {
+                            break;
+                        }
+                    }
+                }
+            }
+            // step (4) - consider end of input sequence to be end of line, but skip any trailing boundary neutrals and retained formatting codes
+            for ( int i = ica.length; i > 0; i-- ) {
+                int k = i - 1;
+                int ic = ica[k];
+                if ( isRetainedFormatting ( ic ) ) {
+                    continue;
+                } else if ( ic == BidiConstants.WS ) {
+                    la[k] = dl;
+                } else {
+                    break;
+                }
+            }
+            // step (5) - per section 5.2
+            for ( int i = 0, n = ica.length; i < n; i++ ) {
+                int ic = ica[i];
+                if ( isRetainedFormatting ( ic ) ) {
+                    if ( i == 0 ) {
+                        la[i] = dl;
+                    } else {
+                        la[i] = la [ i - 1 ];
+                    }
+                }
+            }
+        }
+
+        private static boolean isStrong ( int bc ) {
+            switch ( bc ) {
+            case L:
+            case R:
+            case AL:
+                return true;
+            default:
+                return false;
+            }
+        }
+
+        private static boolean isNeutral ( int bc ) {
+            switch ( bc ) {
+            case WS:
+            case ON:
+            case S:
+            case B:
+                return true;
+            default:
+                return false;
+            }
+        }
+
+        private static boolean isRetainedFormatting ( int bc ) {
+            switch ( bc ) {
+            case LRE:
+            case LRO:
+            case RLE:
+            case RLO:
+            case PDF:
+            case BN:
+                return true;
+            default:
+                return false;
+            }
+        }
+
+        private static boolean isRetainedFormatting ( int[] ca, int s, int e ) {
+            for ( int i = s; i < e; i++ ) {
+                if ( ! isRetainedFormatting ( ca[i] ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        private static int max ( int x, int y ) {
+            if ( x > y ) {
+                return x;
+            } else {
+                return y;
+            }
+        }
+
+        private static int[] getClasses ( int[] chars ) {
+            int[] classes = new int [ chars.length ];
+            int bc;
+            for ( int i = 0, n = chars.length; i < n; i++ ) {
+                int ch = chars [ i ];
+                if ( ch >= 0 ) {
+                    bc = BidiClassUtils.getBidiClass ( chars [ i ] );
+                } else {
+                    bc = SURROGATE;
+                }
+                classes [ i ] = bc;
+            }
+            return classes;
+        }
+
+        /**
+         * Convert character sequence (a UTF-16 encoded string) to an array of unicode scalar values
+         * expressed as integers. If a valid UTF-16 surrogate pair is encountered, it is converted to
+         * two integers, the first being the equivalent unicode scalar  value, and the second being
+         * negative one (-1). This special mechanism is used to track the use of surrogate pairs while
+         * working with unicode scalar values, and permits maintaining indices that apply both to the
+         * input UTF-16 and out scalar value sequences.
+         * @return a boolean indicating that content is present that triggers bidirectional processing
+         * @param cs a UTF-16 encoded character sequence
+         * @param chars an integer array to accept the converted scalar values, where the length of the
+         * array must be the same as the length of the input character sequence
+         * @throws IllegalArgumentException if the input sequence is not a valid UTF-16 string, e.g.,
+         * if it contains an isolated UTF-16 surrogate
+         */
+        private static boolean convertToScalar ( CharSequence cs, int[] chars ) throws IllegalArgumentException {
+            boolean triggered = false;
+            if ( chars.length != cs.length() ) {
+                throw new IllegalArgumentException ( "characters array length must match input sequence length" );
+            }
+            for ( int i = 0, n = chars.length; i < n; ) {
+                int chIn = cs.charAt ( i );
+                int chOut;
+                if ( chIn < 0xD800 ) {
+                    chOut = chIn;
+                } else if ( chIn < 0xDC00 ) {
+                    int chHi = chIn;
+                    int chLo;
+                    if ( ( i + 1 ) < n ) {
+                        chLo = cs.charAt ( i + 1 );
+                        if ( ( chLo >= 0xDC00 ) && ( chLo <= 0xDFFF ) ) {
+                            chOut = convertToScalar ( chHi, chLo );
+                        } else {
+                            throw new IllegalArgumentException ( "isolated high surrogate" );
+                        }
+                    } else {
+                        throw new IllegalArgumentException ( "truncated surrogate pair" );
+                    }
+                } else if ( chIn < 0xE000 ) {
+                    throw new IllegalArgumentException ( "isolated low surrogate" );
+                } else {
+                    chOut = chIn;
+                }
+                if ( ! triggered && triggersBidi ( chOut ) ) {
+                    triggered = true;
+                }
+                if ( ( chOut & 0xFF0000 ) == 0 ) {
+                    chars [ i++ ] = chOut;
+                } else {
+                    chars [ i++ ] = chOut;
+                    chars [ i++ ] = -1;
+                }
+            }
+            return triggered;
+        }
+
+        /**
+         * Convert UTF-16 surrogate pair to unicode scalar valuee.
+         * @return a unicode scalar value
+         * @param chHi high (most significant or first) surrogate
+         * @param chLo low (least significant or second) surrogate
+         * @throws IllegalArgumentException if one of the input surrogates is not valid
+         */
+        private static int convertToScalar ( int chHi, int chLo ) {
+            if ( ( chHi < 0xD800 ) || ( chHi > 0xDBFF ) ) {
+                throw new IllegalArgumentException ( "bad high surrogate" );
+            } else if ( ( chLo < 0xDC00 ) || ( chLo > 0xDFFF ) ) {
+                throw new IllegalArgumentException ( "bad low surrogate" );
+            } else {
+                return ( ( ( chHi & 0x03FF ) << 10 ) | ( chLo & 0x03FF ) ) + 0x10000;
+            }
+        }
+
+        /**
+         * Determine of character CH triggers bidirectional processing. Bidirectional
+         * processing is deemed triggerable if CH is a strong right-to-left character,
+         * an arabic letter or number, or is a right-to-left embedding or override
+         * character.
+         * @return true if character triggers bidirectional processing
+         * @param ch a unicode scalar value
+         */
+        private static boolean triggersBidi ( int ch ) {
+            switch ( BidiClassUtils.getBidiClass ( ch ) ) {
+            case R:
+            case AL:
+            case AN:
+            case RLE:
+            case RLO:
+                return true;
+            default:
+                return false;
+            }
+        }
+
+        private static void dump ( String header, int[] chars, int[] classes, int defaultLevel, int[] levels ) {
+            log.debug ( header );
+            log.debug ( "BD: default level(" + defaultLevel + ")" );
+            StringBuffer sb = new StringBuffer();
+            if ( chars != null ) {
+                for ( int i = 0, n = chars.length; i < n; i++ ) {
+                    int ch = chars [ i ];
+                    sb.setLength(0);
+                    if ( ( ch > 0x20 ) && ( ch < 0x7F ) ) {
+                        sb.append ( (char) ch );
+                    } else {
+                        sb.append ( CharUtilities.charToNCRef ( ch ) );
+                    }
+                    for ( int k = sb.length(); k < 12; k++ ) {
+                        sb.append ( ' ' );
+                    }
+                    sb.append ( ": " + padRight ( getClassName ( classes[i] ), 4 ) + " " + levels[i] );
+                    log.debug ( sb );
+                }
+            } else {
+                for ( int i = 0, n = classes.length; i < n; i++ ) {
+                    sb.setLength(0);
+                    for ( int k = sb.length(); k < 12; k++ ) {
+                        sb.append ( ' ' );
+                    }
+                    sb.append ( ": " + padRight ( getClassName ( classes[i] ), 4 ) + " " + levels[i] );
+                    log.debug ( sb );
+                }
+            }
+        }
+
+        private static String getClassName ( int bc ) {
+            switch ( bc ) {
+            case L:                                     // left-to-right
+                return "L";
+            case LRE:                                   // left-to-right embedding
+                return "LRE";
+            case LRO:                                   // left-to-right override
+                return "LRO";
+            case R:                                     // right-to-left
+                return "R";
+            case AL:                                    // right-to-left arabic
+                return "AL";
+            case RLE:                                   // right-to-left embedding
+                return "RLE";
+            case RLO:                                   // right-to-left override
+                return "RLO";
+            case PDF:                                   // pop directional formatting
+                return "PDF";
+            case EN:                                    // european number
+                return "EN";
+            case ES:                                    // european number separator
+                return "ES";
+            case ET:                                    // european number terminator
+                return "ET";
+            case AN:                                    // arabic number
+                return "AN";
+            case CS:                                    // common number separator
+                return "CS";
+            case NSM:                                   // non-spacing mark
+                return "NSM";
+            case BN:                                    // boundary neutral
+                return "BN";
+            case B:                                     // paragraph separator
+                return "B";
+            case S:                                     // segment separator
+                return "S";
+            case WS:                                    // whitespace
+                return "WS";
+            case ON:                                    // other neutrals
+                return "ON";
+            case SURROGATE:                             // placeholder for low surrogate
+                return "SUR";
+            default:
+                return "?";
+            }
+        }
+
+    }
+
+}
diff --git a/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java b/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
index b748c21..d01c7a8 100644
--- a/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
@@ -360,6 +360,8 @@
 
             curBlockArea.setIPD(super.getContentAreaIPD());
 
+            curBlockArea.setBidiLevel ( getBlockFO().getBidiLevel() );
+
             TraitSetter.addBreaks(curBlockArea,
                     getBlockFO().getBreakBefore(), getBlockFO().getBreakAfter());
 
@@ -504,4 +506,3 @@
     }
 
 }
-
diff --git a/src/java/org/apache/fop/layoutmgr/ExternalDocumentLayoutManager.java b/src/java/org/apache/fop/layoutmgr/ExternalDocumentLayoutManager.java
index 9fb832d..7f0355e 100644
--- a/src/java/org/apache/fop/layoutmgr/ExternalDocumentLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/ExternalDocumentLayoutManager.java
@@ -51,6 +51,7 @@
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.extensions.ExternalDocument;
 import org.apache.fop.layoutmgr.inline.ImageLayout;
+import org.apache.fop.traits.WritingMode;
 
 /**
  * LayoutManager for an external-document extension element.  This class is instantiated by
@@ -184,12 +185,12 @@
         TraitSetter.setProducerID(imageArea, fobj.getId());
         transferForeignAttributes(imageArea);
 
-        InlineViewport vp = new InlineViewport(imageArea);
+        InlineViewport vp = new InlineViewport(imageArea, fobj.getBidiLevel());
         TraitSetter.setProducerID(vp, fobj.getId());
         vp.setIPD(imageSize.width);
         vp.setBPD(imageSize.height);
         vp.setContentPosition(imageLayout.getPlacement());
-        vp.setOffset(0);
+        vp.setBlockProgressionOffset(0);
 
         //Link them all together...
         lineArea.addInlineArea(vp);
@@ -230,8 +231,9 @@
             referenceRect = new Rectangle(0, 0, imageSize.height, imageSize.width);
         }
         FODimension reldims = new FODimension(0, 0);
+        // [TBD] BIDI ALERT
         CTM pageCTM = CTM.getCTMandRelDims(pageSeq.getReferenceOrientation(),
-            Constants.EN_LR_TB, referenceRect, reldims);
+                                           WritingMode.LR_TB, referenceRect, reldims);
 
         Page page = new Page(referenceRect, pageNumber, pageNumberString, isBlank);
 
diff --git a/src/java/org/apache/fop/layoutmgr/LayoutContext.java b/src/java/org/apache/fop/layoutmgr/LayoutContext.java
index 18059c5..a2512c5 100644
--- a/src/java/org/apache/fop/layoutmgr/LayoutContext.java
+++ b/src/java/org/apache/fop/layoutmgr/LayoutContext.java
@@ -26,6 +26,7 @@
 import org.apache.fop.layoutmgr.inline.AlignmentContext;
 import org.apache.fop.layoutmgr.inline.HyphContext;
 import org.apache.fop.traits.MinOptMax;
+import org.apache.fop.traits.WritingMode;
 
 
 /**
@@ -92,7 +93,7 @@
     //overlap with refIPD. Need to investigate how best to refactor that.
 
     /** the writing mode established by the nearest ancestor reference area */
-    private int writingMode = Constants.EN_LR_TB;
+    private WritingMode writingMode = WritingMode.LR_TB;
 
     /** Current pending space-after or space-end from preceding area */
     private SpaceSpecifier trailingSpace;
@@ -564,7 +565,7 @@
      * Get the writing mode of the relevant reference area.
      * @return the applicable writing mode
      */
-    public int getWritingMode() {
+    public WritingMode getWritingMode() {
         return writingMode;
     }
 
@@ -572,7 +573,7 @@
      * Set the writing mode.
      * @param writingMode the writing mode
      */
-    public void setWritingMode(int writingMode) {
+    public void setWritingMode(WritingMode writingMode) {
         this.writingMode = writingMode;
     }
 
diff --git a/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java b/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java
index 2acf67c..76a1cb9 100644
--- a/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java
+++ b/src/java/org/apache/fop/layoutmgr/LayoutManagerMapping.java
@@ -67,6 +67,7 @@
 import org.apache.fop.fo.pagination.StaticContent;
 import org.apache.fop.fo.pagination.Title;
 import org.apache.fop.layoutmgr.inline.BasicLinkLayoutManager;
+import org.apache.fop.layoutmgr.inline.BidiLayoutManager;
 import org.apache.fop.layoutmgr.inline.CharacterLayoutManager;
 import org.apache.fop.layoutmgr.inline.ContentLayoutManager;
 import org.apache.fop.layoutmgr.inline.ExternalGraphicLayoutManager;
@@ -246,28 +247,9 @@
     public static class BidiOverrideLayoutManagerMaker extends Maker {
         /** {@inheritDoc} */
         public void make(FONode node, List lms) {
-            /* [GA] remove broken code
-            if (false) {
-                // this is broken; it does nothing
-                // it should make something like an InlineStackingLM
-                super.make(node, lms);
-            } else {
-                ArrayList childList = new ArrayList();
-                // this is broken; it does nothing
-                // it should make something like an InlineStackingLM
-                super.make(node, childList);
-                for (int count = childList.size() - 1; count >= 0; count--) {
-                    LayoutManager lm = (LayoutManager) childList.get(count);
-                    if (lm instanceof InlineLevelLayoutManager) {
-                        LayoutManager blm = new BidiLayoutManager
-                            ((BidiOverride) node, (InlineLayoutManager) lm);
-                        lms.add(blm);
-                    } else {
-                        lms.add(lm);
-                    }
-                }
+            if ( node instanceof BidiOverride ) {
+                lms.add(new BidiLayoutManager((BidiOverride) node));
             }
-            */
         }
     }
 
diff --git a/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java b/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
index 67c41cc..6689ee1 100644
--- a/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
@@ -77,8 +77,10 @@
     public void activateLayout() {
         initialize();
 
-        LineArea title = null;
+        // perform step 5.8 of refinement process (Unicode BIDI Processing)
+        BidiUtil.resolveInlineDirectionality(getPageSequence());
 
+        LineArea title = null;
         if (getPageSequence().getTitleFO() != null) {
             try {
                 ContentLayoutManager clm = getLayoutManagerMaker().
diff --git a/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java
index 218497a..3f88330 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java
@@ -59,6 +59,7 @@
         Dimension intrinsicSize = new Dimension(
                 fobj.getIntrinsicWidth(),
                 fobj.getIntrinsicHeight());
+        int bidiLevel = fobj.getBidiLevel();
 
         //TODO Investigate if the line-height property has to be taken into the calculation
         //somehow. There was some code here that hints in this direction but it was disabled.
@@ -67,6 +68,7 @@
         Rectangle placement = imageLayout.getPlacement();
 
         CommonBorderPaddingBackground borderProps = fobj.getCommonBorderPaddingBackground();
+        setCommonBorderPaddingBackground(borderProps);
 
         //Determine extra BPD from borders and padding
         int beforeBPD = borderProps.getPadding(CommonBorderPaddingBackground.BEFORE, false, this);
@@ -75,30 +77,35 @@
         placement.y += beforeBPD;
 
         //Determine extra IPD from borders and padding
-        int startIPD = borderProps.getPadding(CommonBorderPaddingBackground.START, false, this);
-        startIPD += borderProps.getBorderWidth(CommonBorderPaddingBackground.START, false);
-
-        placement.x += startIPD;
+        if ( ( bidiLevel == -1 ) || ( ( bidiLevel & 1 ) == 0 ) ) {
+            int startIPD = borderProps.getPadding(CommonBorderPaddingBackground.START, false, this);
+            startIPD += borderProps.getBorderWidth(CommonBorderPaddingBackground.START, false);
+            placement.x += startIPD;
+        } else {
+            int endIPD = borderProps.getPadding(CommonBorderPaddingBackground.END, false, this);
+            endIPD += borderProps.getBorderWidth(CommonBorderPaddingBackground.END, false);
+            placement.x += endIPD;
+        }
 
         Area viewportArea = getChildArea();
         TraitSetter.setProducerID(viewportArea, fobj.getId());
         transferForeignAttributes(viewportArea);
 
-        InlineViewport vp = new InlineViewport(viewportArea);
+        InlineViewport vp = new InlineViewport(viewportArea, bidiLevel);
         TraitSetter.addPtr(vp, fobj.getPtr());  // used for accessibility
         TraitSetter.setProducerID(vp, fobj.getId());
         vp.setIPD(imageLayout.getViewportSize().width);
         vp.setBPD(imageLayout.getViewportSize().height);
         vp.setContentPosition(placement);
         vp.setClip(imageLayout.isClipped());
-        vp.setOffset(0);
+        vp.setBlockProgressionOffset(0);
 
         // Common Border, Padding, and Background Properties
-        TraitSetter.addBorders(vp, fobj.getCommonBorderPaddingBackground()
+        TraitSetter.addBorders(vp, borderProps
                                 , false, false, false, false, this);
-        TraitSetter.addPadding(vp, fobj.getCommonBorderPaddingBackground()
+        TraitSetter.addPadding(vp, borderProps
                                 , false, false, false, false, this);
-        TraitSetter.addBackground(vp, fobj.getCommonBorderPaddingBackground(), this);
+        TraitSetter.addBackground(vp, borderProps, this);
 
         return vp;
     }
diff --git a/src/java/org/apache/fop/layoutmgr/inline/AbstractPageNumberCitationLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/AbstractPageNumberCitationLayoutManager.java
index e090fba..3d031c3 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/AbstractPageNumberCitationLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/AbstractPageNumberCitationLayoutManager.java
@@ -81,10 +81,7 @@
     }
 
     /** {@inheritDoc} */
-    public InlineArea get(LayoutContext context) {
-        curArea = getPageNumberCitationInlineArea();
-        return curArea;
-    }
+    public abstract InlineArea get(LayoutContext context);
 
     /**
      * {@inheritDoc}
@@ -98,35 +95,6 @@
     }
 
     /**
-     * If id can be resolved then simply return a text area, otherwise
-     * return a resolvable area
-     *
-     * @return a corresponding InlineArea
-     */
-    private InlineArea getPageNumberCitationInlineArea() {
-        PageViewport page = getPSLM().getFirstPVWithID(fobj.getRefId());
-        TextArea text;
-        if (page != null) {
-            String str = page.getPageNumberString();
-            // get page string from parent, build area
-            text = new TextArea();
-            int width = getStringWidth(str);
-            text.addWord(str, 0);
-            text.setIPD(width);
-            resolved = true;
-        } else {
-            resolved = false;
-            text = new UnresolvedPageNumber(fobj.getRefId(), font);
-            String str = "MMM"; // reserve three spaces for page number
-            int width = getStringWidth(str);
-            text.setIPD(width);
-        }
-        updateTextAreaTraits(text);
-
-        return text;
-    }
-
-    /**
      * Updates the traits for the generated text area.
      * @param text the text area
      */
@@ -152,5 +120,12 @@
         return width;
     }
 
+    /**
+     * @return bidi level governing abstract page number citation
+     */
+    protected int getBidiLevel() {
+        return fobj.getBidiLevel();
+    }
+
 }
 
diff --git a/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java b/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
index daf7ce0..eb199da 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
@@ -24,6 +24,7 @@
 import org.apache.fop.datatypes.SimplePercentBaseContext;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fonts.Font;
+import org.apache.fop.traits.WritingMode;
 
 /**
  * The alignment context is carried within a LayoutContext and as
@@ -173,7 +174,7 @@
      * @param lineHeight the computed value of the lineHeight property
      * @param writingMode the current writing mode
      */
-    AlignmentContext(Font font, int lineHeight, int writingMode) {
+    AlignmentContext(Font font, int lineHeight, WritingMode writingMode) {
         this.areaHeight = font.getAscender() - font.getDescender();
         this.lineHeight = lineHeight;
         this.xHeight = font.getXHeight();
@@ -299,6 +300,14 @@
     }
 
     /**
+     * Return the writing mode.
+     * @return the writing mode
+     */
+/*    public WritingMode getWritingMode() {
+        return scaledBaselineTable.getWritingMode();
+    }*/
+
+    /**
      * Calculates the baseline shift value based on the baseline-shift
      * property value.
      * @param baselineShift the baseline shift property value
@@ -504,6 +513,10 @@
                     && parentAlignmentContext.usesInitialBaselineTable());
     }
 
+    /* private boolean isHorizontalWritingMode() {
+        return (getWritingMode() == WritingMode.LR_TB || getWritingMode() == WritingMode.RL_TB);
+    }*/
+
     /** {@inheritDoc} */
     public String toString() {
         StringBuffer sb = new StringBuffer(64);
diff --git a/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java
index 40c9a32..8ea698c 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java
@@ -69,6 +69,12 @@
             res.resolveIDRef(idref, pslm.getFirstPVWithID(idref));
             if (!res.isResolved()) {
                 pslm.addUnresolvedArea(idref, res);
+                if ( area instanceof BasicLinkArea ) {
+                    // establish back-pointer from BasicLinkArea to LinkResolver to
+                    // handle inline area unflattening during line bidi reordering;
+                    // needed to create internal link trait on synthesized basic link area
+                    ((BasicLinkArea)area).setResolver(res);
+                }
             }
         } else if (fobj.hasExternalDestination()) {
             String url = URISpecification.getURL(fobj.getExternalDestination());
diff --git a/src/java/org/apache/fop/layoutmgr/inline/BidiLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/BidiLayoutManager.java
index f342399..b6145f0 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/BidiLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/BidiLayoutManager.java
@@ -19,56 +19,19 @@
 
 package org.apache.fop.layoutmgr.inline;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.fop.area.inline.InlineArea;
 import org.apache.fop.fo.flow.BidiOverride;
 
-
 /**
- * If this bidi has a different writing mode direction
- * ltr or rtl than its parent writing mode then this
- * reverses the inline areas (at the character level).
+ * Layout manager for fo:bidi-override.
  */
-public class BidiLayoutManager extends LeafNodeLayoutManager {
-
-    private List children;
+public class BidiLayoutManager extends InlineLayoutManager {
 
     /**
      * Construct bidi layout manager.
-     * @param node bidi override FO
-     * @param cLM parent layout manager
+     * @param node an BidiOverride FONode
      */
-    public BidiLayoutManager(BidiOverride node, InlineLayoutManager cLM) {
+    public BidiLayoutManager(BidiOverride node) {
         super(node);
-        setParent(cLM);
-        children = new ArrayList();
-/*
-        for (int count = cLM.size() - 1; count >= 0; count--) {
-            InlineArea ia = cLM.get(count);
-            if (ia instanceof Word) {
-                // reverse word
-                Word word = (Word) ia;
-                StringBuffer sb = new StringBuffer(word.getWord());
-                word.setWord(sb.reverse().toString());
-            }
-            children.add(ia);
-        }
-*/
-    }
-
-    /** @return number of children */
-    public int size() {
-        return children.size();
-    }
-
-    /**
-     * @param index of child inline area
-     * @return a child inline area
-     */
-    public InlineArea get(int index) {
-        return (InlineArea) children.get(index);
     }
 
 }
diff --git a/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java
index 2178b2e..3ec2294 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java
@@ -77,13 +77,18 @@
     private TextArea getCharacterInlineArea(Character node) {
         TextArea text = new TextArea();
         char ch = node.getCharacter();
+        int ipd = font.getCharWidth(ch);
+        int blockProgressionOffset = 0;
+        int level = node.getBidiLevel();
         if (CharUtilities.isAnySpace(ch)) {
             // add space unless it's zero-width:
             if (!CharUtilities.isZeroWidthSpace(ch)) {
-                text.addSpace(ch, 0, CharUtilities.isAdjustableSpace(ch));
+                text.addSpace(ch, ipd, CharUtilities.isAdjustableSpace(ch),
+                              blockProgressionOffset, level);
             }
         } else {
-            text.addWord(String.valueOf(ch), 0);
+            int[] levels = ( level >= 0 ) ? new int[] {level} : null;
+            text.addWord(String.valueOf(ch), ipd, null, levels, null, blockProgressionOffset);
         }
         TraitSetter.setProducerID(text, node.getId());
         TraitSetter.addTextDecoration(text, node.getTextDecoration());
@@ -105,9 +110,8 @@
 
         Character fobj = (Character)this.fobj;
 
-        ipd = MinOptMax.getInstance(font.getCharWidth(fobj.getCharacter()));
+        ipd = MinOptMax.getInstance(curArea.getIPD());
 
-        curArea.setIPD(ipd.getOpt());
         curArea.setBPD(font.getAscender() - font.getDescender());
 
         TraitSetter.addFontTraits(curArea, font);
@@ -227,4 +231,3 @@
     }
 
 }
-
diff --git a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
index 14ce747..fb5bd39 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
@@ -205,7 +205,7 @@
         InlineArea area;
         if (isInline) {
             area = createInlineParent();
-            area.setOffset(0);
+            area.setBlockProgressionOffset(0);
         } else {
             area = new InlineBlockParent();
         }
@@ -480,12 +480,12 @@
                                         || lastLM instanceof InlineLevelLayoutManager);
         parent.setBPD(alignmentContext.getHeight());
         if (parent instanceof InlineParent) {
-            parent.setOffset(alignmentContext.getOffset());
+            parent.setBlockProgressionOffset(alignmentContext.getOffset());
         } else if (parent instanceof InlineBlockParent) {
             // All inline elements are positioned by the renderers relative to
             // the before edge of their content rectangle
             if (borderProps != null) {
-                parent.setOffset(borderProps.getPaddingBefore(false, this)
+                parent.setBlockProgressionOffset(borderProps.getPaddingBefore(false, this)
                                 + borderProps.getBorderBeforeWidth(false));
             }
         }
diff --git a/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
index 5e3464d..c720590 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
@@ -224,7 +224,7 @@
      * @param context the layout context used for adding the area
      */
     protected void offsetArea(InlineArea area, LayoutContext context) {
-        area.setOffset(alignmentContext.getOffset());
+        area.setBlockProgressionOffset(alignmentContext.getOffset());
     }
 
     /**
diff --git a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
index db7d1ed..bc4badf 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
@@ -44,6 +44,7 @@
 import org.apache.fop.hyphenation.Hyphenation;
 import org.apache.fop.hyphenation.Hyphenator;
 import org.apache.fop.layoutmgr.Adjustment;
+import org.apache.fop.layoutmgr.BidiUtil;
 import org.apache.fop.layoutmgr.BlockLevelLayoutManager;
 import org.apache.fop.layoutmgr.BreakElement;
 import org.apache.fop.layoutmgr.BreakingAlgorithm;
@@ -111,6 +112,7 @@
         private final double dAdjust; // Percentage to adjust (stretch or shrink)
         private final double ipdAdjust; // Percentage to adjust (stretch or shrink)
         private final int startIndent;
+        private final int endIndent;
         private final int lineHeight;
         private final int lineWidth;
         private final int spaceBefore;
@@ -119,8 +121,8 @@
 
         LineBreakPosition(                                       // CSOK: ParameterNumber
                 LayoutManager lm, int index, int startIndex, int breakIndex,
-                int shrink, int stretch, int diff, double ipdA, double adjust, int ind,
-                int lh, int lw, int sb, int sa, int bl) {
+                int shrink, int stretch, int diff, double ipdA, double adjust, int si,
+                int ei, int lh, int lw, int sb, int sa, int bl) {
             super(lm, breakIndex);
             availableShrink = shrink;
             availableStretch = stretch;
@@ -129,7 +131,8 @@
             this.startIndex = startIndex;
             ipdAdjust = ipdA;
             dAdjust = adjust;
-            startIndent = ind;
+            startIndent = si;
+            endIndent = ei;
             lineHeight = lh;
             lineWidth = lw;
             spaceBefore = sb;
@@ -140,6 +143,7 @@
     }
 
 
+    private int bidiLevel = -1;
     private int textAlignment = EN_JUSTIFY;
     private int textAlignmentLast;
     private int effectiveAlignment;
@@ -333,13 +337,38 @@
                                 int total) {
             // compute indent and adjustment ratio, according to
             // the value of text-align and text-align-last
-            int indent = 0;
+            int startIndent;
+            int endIndent;
             int difference = bestActiveNode.difference;
             int textAlign = (bestActiveNode.line < total) ? alignment : alignmentLast;
-            indent += (textAlign == Constants.EN_CENTER)
+
+            switch ( textAlign ) {
+            case Constants.EN_START:
+                startIndent = 0;
+                endIndent = difference > 0 ? difference : 0;
+                break;
+            case Constants.EN_END:
+                startIndent = difference > 0 ? difference : 0;
+                endIndent = 0;
+                break;
+            case Constants.EN_CENTER:
+                startIndent = difference / 2;
+                endIndent = startIndent;
+                break;
+            default:
+            case Constants.EN_JUSTIFY:
+                startIndent = 0;
+                endIndent = 0;
+                break;
+            }
+
+            /*
+            startIndent += (textAlign == Constants.EN_CENTER)
                       ? difference / 2 : (textAlign == Constants.EN_END) ? difference : 0;
-            indent += (bestActiveNode.line == 1 && indentFirstPart && isFirstInBlock)
+            */
+            startIndent += (bestActiveNode.line == 1 && indentFirstPart && isFirstInBlock)
                       ? textIndent : 0;
+
             double ratio = (textAlign == Constants.EN_JUSTIFY
                 || difference < 0 && -difference <= bestActiveNode.availableShrink)
                         ? bestActiveNode.adjustRatio : 0;
@@ -377,7 +406,7 @@
                    bestActiveNode.availableShrink - (addedPositions > 0
                        ? 0 : ((Paragraph) par).lineFiller.getShrink()),
                    bestActiveNode.availableStretch,
-                   difference, ratio, indent), activePossibility);
+                   difference, ratio, startIndent, endIndent), activePossibility);
             addedPositions++;
         }
 
@@ -389,7 +418,8 @@
 
         private LineBreakPosition makeLineBreakPosition(         // CSOK: ParameterNumber
                 KnuthSequence par, int firstElementIndex, int lastElementIndex, int availableShrink,
-                int availableStretch, int difference, double ratio, int indent) {
+                int availableStretch, int difference, double ratio, int startIndent,
+                int endIndent) {
             // line height calculation - spaceBefore may differ from spaceAfter
             // by 1mpt due to rounding
             int spaceBefore = (lineHeight - lead - follow) / 2;
@@ -456,14 +486,14 @@
                                              knuthParagraphs.indexOf(par),
                                              firstElementIndex, lastElementIndex,
                                              availableShrink, availableStretch,
-                                             difference, ratio, 0, indent,
+                                             difference, ratio, 0, startIndent, endIndent,
                                              0, ipd, 0, 0, 0);
             } else {
                 return new LineBreakPosition(thisLLM,
                                              knuthParagraphs.indexOf(par),
                                              firstElementIndex, lastElementIndex,
                                              availableShrink, availableStretch,
-                                             difference, ratio, 0, indent,
+                                             difference, ratio, 0, startIndent, endIndent,
                                              lineLead + lineFollow,
                                              ipd, spaceBefore, spaceAfter,
                                              lineLead);
@@ -544,6 +574,7 @@
     /** {@inheritDoc} */
     @Override
     public void initialize() {
+        bidiLevel = fobj.getBidiLevel();
         textAlignment = fobj.getTextAlign();
         textAlignmentLast = fobj.getTextAlignLast();
         textIndent = fobj.getTextIndent();
@@ -1429,8 +1460,12 @@
         if (lbp.startIndent != 0) {
             lineArea.addTrait(Trait.START_INDENT, lbp.startIndent);
         }
+        if (lbp.endIndent != 0) {
+            lineArea.addTrait(Trait.END_INDENT, new Integer(lbp.endIndent));
+        }
         lineArea.setBPD(lbp.lineHeight);
         lineArea.setIPD(lbp.lineWidth);
+        lineArea.setBidiLevel(bidiLevel);
         lineArea.addTrait(Trait.SPACE_BEFORE, lbp.spaceBefore);
         lineArea.addTrait(Trait.SPACE_AFTER, lbp.spaceAfter);
         alignmentContext.resizeLine(lbp.lineHeight, lbp.baseline);
@@ -1506,7 +1541,10 @@
                 && (!context.isLastArea() || !isLastPosition)) {
             lineArea.setBPD(lineArea.getBPD() + context.getSpaceAfter());
         }
-        lineArea.finalise();
+        lineArea.finish();
+        if ( lineArea.getBidiLevel() >= 0 ) {
+            BidiUtil.reorder ( lineArea );
+        }
         parentLayoutManager.addChildArea(lineArea);
     }
 
@@ -1556,6 +1594,9 @@
             blocklc.setTrailingSpace(new SpaceSpecifier(false));
         }
         lineArea.updateExtentsFromChildren();
+        if ( lineArea.getBidiLevel() >= 0 ) {
+            BidiUtil.reorder ( lineArea );
+        }
         parentLayoutManager.addChildArea(lineArea);
     }
 
diff --git a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java
index 56bcdaa..b1ba385 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLastLayoutManager.java
@@ -56,22 +56,24 @@
      */
     private InlineArea getPageNumberCitationLastInlineArea(LayoutManager parentLM) {
         TextArea text = null;
-        resolved = false;
+        int level = getBidiLevel();
         if (!getPSLM().associateLayoutManagerID(fobj.getRefId())) {
             text = new UnresolvedPageNumber(fobj.getRefId(), font, UnresolvedPageNumber.LAST);
             getPSLM().addUnresolvedArea(fobj.getRefId(), (Resolvable)text);
             String str = "MMM"; // reserve three spaces for page number
             int width = getStringWidth(str);
+            text.setBidiLevel(level);
             text.setIPD(width);
+            resolved = false;
         } else {
             PageViewport page = getPSLM().getLastPVWithID(fobj.getRefId());
             String str = page.getPageNumberString();
             // get page string from parent, build area
             text = new TextArea();
             int width = getStringWidth(str);
-            text.addWord(str, 0);
+            text.setBidiLevel(level);
+            text.addWord(str, 0, level);
             text.setIPD(width);
-
             resolved = true;
         }
 
diff --git a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java
index 958a854..16ce09e 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/PageNumberCitationLayoutManager.java
@@ -50,27 +50,32 @@
     /**
      * if id can be resolved then simply return a word, otherwise
      * return a resolvable area
+     *
+     * TODO: [GA] May need to run bidi algorithm and script processor
+     * on resolved page number.
      */
     private InlineArea getPageNumberCitationInlineArea() {
         PageViewport page = getPSLM().getFirstPVWithID(fobj.getRefId());
         TextArea text = null;
+        int level = getBidiLevel();
         if (page != null) {
             String str = page.getPageNumberString();
             // get page string from parent, build area
             text = new TextArea();
-            int width = getStringWidth(str);
-            text.addWord(str, 0);
-            text.setIPD(width);
+            int width = getStringWidth(str);    // TODO: [GA] !I18N!
+            text.setBidiLevel(level);
+            text.addWord(str, 0, level);
+            text.setIPD(width);                 // TODO: [GA] !I18N!
             resolved = true;
         } else {
-            resolved = false;
             text = new UnresolvedPageNumber(fobj.getRefId(), font);
             String str = "MMM"; // reserve three spaces for page number
-            int width = getStringWidth(str);
-            text.setIPD(width);
+            int width = getStringWidth(str);    // TODO: [GA] !I18N!
+            text.setBidiLevel(level);
+            text.setIPD(width);                 // TODO: [GA] !I18N!
+            resolved = false;
         }
         updateTextAreaTraits(text);
-
         return text;
     }
 
diff --git a/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java
index d8cfe6c..4fd9d7c 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/PageNumberLayoutManager.java
@@ -101,7 +101,7 @@
         TraitSetter.setProducerID(ta, fobj.getId());
         ta.setIPD(baseArea.getIPD());
         ta.setBPD(baseArea.getBPD());
-        ta.setOffset(baseArea.getOffset());
+        ta.setBlockProgressionOffset(baseArea.getBlockProgressionOffset());
         ta.setBaselineOffset(baseArea.getBaselineOffset());
         ta.addTrait(Trait.COLOR, fobj.getColor()); //only to initialize the trait map
         ta.getTraits().putAll(baseArea.getTraits());
diff --git a/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTable.java b/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTable.java
index d5d3e5e..1ccba23 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTable.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/ScaledBaselineTable.java
@@ -20,6 +20,7 @@
 package org.apache.fop.layoutmgr.inline;
 
 import org.apache.fop.fo.Constants;
+import org.apache.fop.traits.WritingMode;
 
 
 /**
@@ -43,7 +44,7 @@
 
     private final int dominantBaselineIdentifier;
 
-    private final int writingMode;
+    private final WritingMode writingMode;
 
     private final int dominantBaselineOffset;
 
@@ -66,7 +67,7 @@
             int depth,
             int xHeight,
             int dominantBaselineIdentifier,
-            int writingMode) {
+            WritingMode writingMode) {
         this.altitude = altitude;
         this.depth = depth;
         this.xHeight = xHeight;
@@ -89,7 +90,7 @@
      * Return the writing mode for this baseline table.
      * @return the writing mode
      */
-    int getWritingMode() {
+    WritingMode getWritingMode() {
         return this.writingMode;
     }
 
@@ -139,7 +140,7 @@
     }
 
     private boolean isHorizontalWritingMode() {
-        return writingMode == Constants.EN_LR_TB || writingMode == Constants.EN_RL_TB;
+        return writingMode.isHorizontal();
     }
 
     /**
diff --git a/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
index 81240de..54fa7d4 100644
--- a/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
@@ -19,6 +19,7 @@
 
 package org.apache.fop.layoutmgr.inline;
 
+import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
@@ -32,9 +33,11 @@
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FOText;
 import org.apache.fop.fo.FObj;
+import org.apache.fop.fo.flow.Character;
 import org.apache.fop.fo.properties.StructurePointerPropertySet;
 import org.apache.fop.fonts.Font;
 import org.apache.fop.fonts.FontSelector;
+import org.apache.fop.fonts.GlyphPositioningTable;
 import org.apache.fop.layoutmgr.InlineKnuthSequence;
 import org.apache.fop.layoutmgr.KnuthBox;
 import org.apache.fop.layoutmgr.KnuthElement;
@@ -73,6 +76,7 @@
 
         private final int startIndex;
         private final int breakIndex;
+        private int wordCharLength;
         private final int wordSpaceCount;
         private int letterSpaceCount;
         private MinOptMax areaIPD;
@@ -80,14 +84,17 @@
         private final boolean isSpace;
         private boolean breakOppAfter;
         private final Font font;
+        private final int level;
+        private final int[][] gposAdjustments;
 
-        AreaInfo(                                                // CSOK: ParameterNumber
-                int startIndex, int breakIndex, int wordSpaceCount, int letterSpaceCount,
-                MinOptMax areaIPD, boolean isHyphenated, boolean isSpace, boolean breakOppAfter,
-                Font font) {
+        AreaInfo                                                // CSOK: ParameterNumber
+            (int startIndex, int breakIndex, int wordSpaceCount, int letterSpaceCount,
+             MinOptMax areaIPD, boolean isHyphenated, boolean isSpace, boolean breakOppAfter,
+             Font font, int level, int[][] gposAdjustments) {
             assert startIndex <= breakIndex;
             this.startIndex = startIndex;
             this.breakIndex = breakIndex;
+            this.wordCharLength = -1;
             this.wordSpaceCount = wordSpaceCount;
             this.letterSpaceCount = letterSpaceCount;
             this.areaIPD = areaIPD;
@@ -95,10 +102,26 @@
             this.isSpace = isSpace;
             this.breakOppAfter = breakOppAfter;
             this.font = font;
+            this.level = level;
+            this.gposAdjustments = gposAdjustments;
         }
 
-        private int getCharLength() {
-            return breakIndex - startIndex;
+        /**
+         * Obtain number of 'characters' contained in word. If word
+         * is mapped, then this number may be less than or greater than the
+         * original length (breakIndex - startIndex). We compute and
+         * memoize thius length upon first invocation of this method.
+         */
+        private int getWordLength() {
+            if ( wordCharLength == -1 ) {
+                if ( foText.hasMapping ( startIndex, breakIndex ) ) {
+                    wordCharLength = foText.getMapping ( startIndex, breakIndex ).length();
+                } else {
+                    assert breakIndex >= startIndex;
+                    wordCharLength = breakIndex - startIndex;
+                }
+            }
+            return wordCharLength;
         }
 
         private void addToAreaIPD(MinOptMax idp) {
@@ -106,16 +129,16 @@
         }
 
         public String toString() {
-            return "AreaInfo["
-                    + "letterSpaceCount = " + letterSpaceCount
-                    + ", wordSpaceCount = " + wordSpaceCount
-                    + ", areaIPD = " + areaIPD
-                    + ", startIndex = " + startIndex
-                    + ", breakIndex = " + breakIndex
-                    + ", isHyphenated = " + isHyphenated
+            return super.toString() + "{"
+                    + "interval = [" + startIndex + "," + breakIndex + "]"
                     + ", isSpace = " + isSpace
+                    + ", level = " + level
+                    + ", areaIPD = " + areaIPD
+                    + ", letterSpaceCount = " + letterSpaceCount
+                    + ", wordSpaceCount = " + wordSpaceCount
+                    + ", isHyphenated = " + isHyphenated
                     + ", font = " + font
-                    + "]";
+                    + "}";
         }
     }
 
@@ -151,7 +174,7 @@
      * be used to influence the start position of the first letter. The entry i+1 defines the
      * cursor advancement after the character i. A null entry means no special advancement.
      */
-    private final MinOptMax[] letterAdjustArray; //size = textArray.length + 1
+    private final MinOptMax[] letterSpaceAdjustArray; //size = textArray.length + 1
 
     /** Font used for the space between words. */
     private Font spaceFont = null;
@@ -194,7 +217,7 @@
      */
     public TextLayoutManager(FOText node) {
         foText = node;
-        letterAdjustArray = new MinOptMax[node.length() + 1];
+        letterSpaceAdjustArray = new MinOptMax[node.length() + 1];
         areaInfos = new ArrayList();
     }
 
@@ -271,7 +294,9 @@
             }
             if (tbpNext.getLeafPos() != -1) {
                 areaInfo = (AreaInfo) areaInfos.get(tbpNext.getLeafPos());
-                if (lastAreaInfo == null || areaInfo.font != lastAreaInfo.font) {
+                if (lastAreaInfo == null
+                    || ( areaInfo.font != lastAreaInfo.font )
+                    || ( areaInfo.level != lastAreaInfo.level ) ) {
                     if (lastAreaInfo != null) {
                         addAreaInfoAreas(lastAreaInfo, wordSpaceCount,
                                 letterSpaceCount, firstAreaInfoIndex,
@@ -293,6 +318,7 @@
             addAreaInfoAreas(lastAreaInfo, wordSpaceCount, letterSpaceCount, firstAreaInfoIndex,
                     lastAreaInfoIndex, realWidth, context);
         }
+
     }
 
     private void addAreaInfoAreas(AreaInfo areaInfo, int wordSpaceCount, int letterSpaceCount,
@@ -303,7 +329,7 @@
         // changes. However, it seems as if they should use the AreaInfo from
         // firstAreaInfoIndex.. lastAreaInfoIndex rather than just the last areaInfo.
         // This needs to be checked.
-        int textLength = areaInfo.getCharLength();
+        int textLength = areaInfo.getWordLength();
         if (areaInfo.letterSpaceCount == textLength && !areaInfo.isHyphenated
                 && context.isLastArea()) {
             // the line ends at a character like "/" or "-";
@@ -313,8 +339,8 @@
         }
 
         for (int i = areaInfo.startIndex; i < areaInfo.breakIndex; i++) {
-            MinOptMax letterAdjustment = letterAdjustArray[i + 1];
-            if (letterAdjustment != null && letterAdjustment.isElastic()) {
+            MinOptMax letterSpaceAdjustment = letterSpaceAdjustArray[i + 1];
+            if (letterSpaceAdjustment != null && letterSpaceAdjustment.isElastic()) {
                 letterSpaceCount++;
             }
         }
@@ -389,21 +415,27 @@
 
     private final class TextAreaBuilder {
 
-        private final MinOptMax width;
-        private final int adjust;
-        private final LayoutContext context;
-        private final int firstIndex;
-        private final int lastIndex;
-        private final boolean isLastArea;
-        private final Font font;
+        // constructor initialized state
+        private final MinOptMax width;          // content ipd
+        private final int adjust;               // content ipd adjustment
+        private final LayoutContext context;    // layout context
+        private final int firstIndex;           // index of first AreaInfo
+        private final int lastIndex;            // index of last AreaInfo
+        private final boolean isLastArea;       // true if last inline area in line area
+        private final Font font;                // applicable font
 
-        private int blockProgressionDimension;
-        private AreaInfo areaInfo;
-        private StringBuffer wordChars;
-        private int[] letterAdjust;
-        private int letterAdjustIndex;
-
-        private TextArea textArea;
+        // other, non-constructor state
+        private TextArea textArea;              // text area being constructed
+        private int blockProgressionDimension;  // calculated bpd
+        private AreaInfo areaInfo;              // current area info when iterating over words
+        private StringBuffer wordChars;         // current word's character buffer
+        private int[] letterSpaceAdjust;        // current word's letter space adjustments
+        private int letterSpaceAdjustIndex;     // last written letter space adjustment index
+        private int[] wordLevels;               // current word's bidi levels
+        private int wordLevelsIndex;            // last written bidi level index
+        private int wordIPD;                    // accumulated ipd of current word
+        private int[][] gposAdjustments;        // current word's glyph position adjustments
+        private int gposAdjustmentsIndex;       // last written glyph position adjustment index
 
         /**
          * Creates a new <code>TextAreaBuilder</code> which itself builds an inline word area. This
@@ -434,7 +466,7 @@
             calcBlockProgressionDimension();
             setBlockProgressionDimension();
             setBaselineOffset();
-            setOffset();
+            setBlockProgressionOffset();
             setText();
             TraitSetter.addFontTraits(textArea, font);
             textArea.addTrait(Trait.COLOR, foText.getColor());
@@ -473,11 +505,11 @@
             textArea.setBaselineOffset(font.getAscender());
         }
 
-        private void setOffset() {
+        private void setBlockProgressionOffset() {
             if (blockProgressionDimension == alignmentContext.getHeight()) {
-                textArea.setOffset(0);
+                textArea.setBlockProgressionOffset(0);
             } else {
-                textArea.setOffset(alignmentContext.getOffset());
+                textArea.setBlockProgressionOffset(alignmentContext.getOffset());
             }
         }
 
@@ -485,7 +517,7 @@
          * Sets the text of the TextArea, split into words and spaces.
          */
         private void setText() {
-            int wordStartIndex = -1;
+            int areaInfoIndex = -1;
             int wordCharLength = 0;
             for (int wordIndex = firstIndex; wordIndex <= lastIndex; wordIndex++) {
                 areaInfo = getAreaInfo(wordIndex);
@@ -493,15 +525,15 @@
                     addSpaces();
                 } else {
                     // areaInfo stores information about a word fragment
-                    if (wordStartIndex == -1) {
+                    if (areaInfoIndex == -1) {
                         // here starts a new word
-                        wordStartIndex = wordIndex;
+                        areaInfoIndex = wordIndex;
                         wordCharLength = 0;
                     }
-                    wordCharLength += areaInfo.getCharLength();
+                    wordCharLength += areaInfo.getWordLength();
                     if (isWordEnd(wordIndex)) {
-                        addWord(wordStartIndex, wordIndex, wordCharLength);
-                        wordStartIndex = -1;
+                        addWord(areaInfoIndex, wordIndex, wordCharLength);
+                        areaInfoIndex = -1;
                     }
                 }
             }
@@ -511,26 +543,78 @@
             return areaInfoIndex == lastIndex || getAreaInfo(areaInfoIndex + 1).isSpace;
         }
 
-        private void addWord(int startIndex, int endIndex, int charLength) {
+        /**
+         * Add word with fragments from STARTINDEX to ENDINDEX, where
+         * total length of (possibly mapped) word is CHARLENGTH.
+         * A word is composed from one or more word fragments, where each
+         * fragment corresponds to distinct instance in a sequence of
+         * area info instances starting at STARTINDEX continuing through (and
+         * including)  ENDINDEX.
+         * @param startIndex index of first area info of word to add
+         * @param endIndex index of last area info of word to add
+         * @param wordLength number of (mapped) characters in word
+         */
+        private void addWord(int startIndex, int endIndex, int wordLength) {
+            int blockProgressionOffset = 0;
+            boolean gposAdjusted = false;
             if (isHyphenated(endIndex)) {
-                charLength++;
+                // TODO may be problematic in some I18N contexts [GA]
+                wordLength++;
             }
-            initWord(charLength);
+            initWord(wordLength);
+            // iterate over word's fragments, adding word chars (with bidi
+            // levels), letter space adjustments, and glyph position adjustments
             for (int i = startIndex; i <= endIndex; i++) {
                 AreaInfo wordAreaInfo = getAreaInfo(i);
                 addWordChars(wordAreaInfo);
                 addLetterAdjust(wordAreaInfo);
+                if ( addGlyphPositionAdjustments(wordAreaInfo) ) {
+                    gposAdjusted = true;
+                }
             }
             if (isHyphenated(endIndex)) {
+                // TODO may be problematic in some I18N contexts [GA]
                 addHyphenationChar();
             }
-            textArea.addWord(wordChars.toString(), 0, letterAdjust);
+            if ( !gposAdjusted ) {
+                gposAdjustments = null;
+            }
+            textArea.addWord(wordChars.toString(), wordIPD, letterSpaceAdjust,
+                             getNonEmptyLevels(), gposAdjustments, blockProgressionOffset);
         }
 
-        private void initWord(int charLength) {
-            wordChars = new StringBuffer(charLength);
-            letterAdjust = new int[charLength];
-            letterAdjustIndex = 0;
+        private int[] getNonEmptyLevels() {
+            if ( wordLevels != null ) {
+                assert wordLevelsIndex <= wordLevels.length;
+                boolean empty = true;
+                for ( int i = 0, n = wordLevelsIndex; i < n; i++ ) {
+                    if ( wordLevels [ i ] >= 0 ) {
+                        empty = false;
+                        break;
+                    }
+                }
+                return empty ? null : wordLevels;
+            } else {
+                return null;
+            }
+        }
+
+        /**
+         * Fully allocate word character buffer, letter space adjustments
+         * array, bidi levels array, and glyph position adjustments array.
+         * based on full word length, including all (possibly mapped) fragments.
+         * @param wordLength length of word including all (possibly mapped) fragments
+         */
+        private void initWord(int wordLength) {
+            wordChars = new StringBuffer(wordLength);
+            letterSpaceAdjust = new int[wordLength];
+            letterSpaceAdjustIndex = 0;
+            wordLevels = new int[wordLength];
+            wordLevelsIndex = 0;
+            Arrays.fill ( wordLevels, -1 );
+            gposAdjustments = new int[wordLength][4];
+            gposAdjustmentsIndex = 0;
+            wordIPD = 0;
         }
 
         private boolean isHyphenated(int endIndex) {
@@ -539,27 +623,112 @@
 
         private void addHyphenationChar() {
             wordChars.append(foText.getCommonHyphenation().getHyphChar(font));
+            // [TBD] expand bidi word levels, letter space adjusts, gpos adjusts
+            // [TBD] [GA] problematic in bidi context... what is level of hyphen?
         }
 
+        /**
+         * Given a word area info associated with a word fragment,
+         * (1) concatenate (possibly mapped) word characters to word character buffer;
+         * (2) concatenante (possibly mapped) word bidi levels to levels buffer;
+         * (3) update word's IPD with optimal IPD of fragment.
+         * @param wordAreaInfo fragment info
+         */
         private void addWordChars(AreaInfo wordAreaInfo) {
-            for (int i = wordAreaInfo.startIndex; i < wordAreaInfo.breakIndex; i++) {
-                wordChars.append(foText.charAt(i));
+            int s = wordAreaInfo.startIndex;
+            int e = wordAreaInfo.breakIndex;
+            if ( foText.hasMapping ( s, e ) ) {
+                wordChars.append ( foText.getMapping ( s, e ) );
+                addWordLevels ( foText.getMappingBidiLevels ( s, e ) );
+            } else {
+                for (int i = s; i < e; i++) {
+                    wordChars.append(foText.charAt(i));
+                }
+                addWordLevels ( foText.getBidiLevels ( s, e ) );
             }
+            wordIPD += wordAreaInfo.areaIPD.getOpt();
         }
 
+        /**
+         * Given a (possibly null) bidi levels array associated with a word fragment,
+         * concatenante (possibly mapped) word bidi levels to levels buffer.
+         * @param levels bidi levels array or null
+         */
+        private void addWordLevels ( int[] levels ) {
+            int numLevels = ( levels != null ) ? levels.length : 0;
+            if ( numLevels > 0 ) {
+                int need = wordLevelsIndex + numLevels;
+                if ( need <= wordLevels.length ) {
+                    System.arraycopy ( levels, 0, wordLevels, wordLevelsIndex, numLevels );
+                } else {
+                    throw new IllegalStateException
+                        ( "word levels array too short: expect at least "
+                          + need + " entries, but has only " + wordLevels.length + " entries" );
+                }
+            }
+            wordLevelsIndex += numLevels;
+        }
+
+        /**
+         * Given a word area info associated with a word fragment,
+         * concatenate letter space adjustments for each (possibly mapped) character.
+         * @param wordAreaInfo fragment info
+         */
         private void addLetterAdjust(AreaInfo wordAreaInfo) {
             int letterSpaceCount = wordAreaInfo.letterSpaceCount;
-            for (int i = wordAreaInfo.startIndex; i < wordAreaInfo.breakIndex; i++) {
-                if (letterAdjustIndex > 0) {
-                    MinOptMax adj = letterAdjustArray[i];
-                    letterAdjust[letterAdjustIndex] = adj == null ? 0 : adj.getOpt();
+            int wordLength = wordAreaInfo.getWordLength();
+            int taAdjust = textArea.getTextLetterSpaceAdjust();
+            for ( int i = 0, n = wordLength; i < n; i++ ) {
+                int j = letterSpaceAdjustIndex + i;
+                if ( j > 0 ) {
+                    int k = wordAreaInfo.startIndex + i;
+                    MinOptMax adj = ( k < letterSpaceAdjustArray.length )
+                        ? letterSpaceAdjustArray [ k ] : null;
+                    letterSpaceAdjust [ j ] = ( adj == null ) ? 0 : adj.getOpt();
                 }
-                if (letterSpaceCount > 0) {
-                    letterAdjust[letterAdjustIndex] += textArea.getTextLetterSpaceAdjust();
+                if ( letterSpaceCount > 0 ) {
+                    letterSpaceAdjust [ j ] += taAdjust;
                     letterSpaceCount--;
                 }
-                letterAdjustIndex++;
             }
+            letterSpaceAdjustIndex += wordLength;
+        }
+
+        /**
+         * Given a word area info associated with a word fragment,
+         * concatenate glyph position adjustments for each (possibly mapped) character.
+         * @param wordAreaInfo fragment info
+         * @return true if an adjustment was non-zero
+         */
+        private boolean addGlyphPositionAdjustments(AreaInfo wordAreaInfo) {
+            boolean adjusted = false;
+            int[][] gpa = wordAreaInfo.gposAdjustments;
+            int numAdjusts = ( gpa != null ) ? gpa.length : 0;
+            int wordLength = wordAreaInfo.getWordLength();
+            if ( numAdjusts > 0 ) {
+                int need = gposAdjustmentsIndex + numAdjusts;
+                if ( need <= gposAdjustments.length ) {
+                    for ( int i = 0, n = wordLength, j = 0; i < n; i++ ) {
+                        if ( i < numAdjusts ) {
+                            int[] wpa1 = gposAdjustments [ gposAdjustmentsIndex + i ];
+                            int[] wpa2 = gpa [ j++ ];
+                            for ( int k = 0; k < 4; k++ ) {
+                                int a = wpa2 [ k ];
+                                if ( a != 0 ) {
+                                    wpa1 [ k ] += a; adjusted = true;
+                                }
+                            }
+                        }
+                    }
+                } else {
+                    throw new IllegalStateException
+                        ( "gpos adjustments array too short: expect at least "
+                          + need + " entries, but has only " + gposAdjustments.length
+                          + " entries" );
+                }
+            }
+            gposAdjustmentsIndex += wordLength;
+            return adjusted;
         }
 
         /**
@@ -568,13 +737,32 @@
          * Add the spaces - except zero-width spaces - to the TextArea.
          */
         private void addSpaces() {
+            int blockProgressionOffset = 0;
+            // [TBD] need to better handling of spaceIPD assignment, for now,
+            // divide the area info's allocated IPD evenly among the
+            // non-zero-width space characters
+            int numZeroWidthSpaces = 0;
             for (int i = areaInfo.startIndex; i < areaInfo.breakIndex; i++) {
                 char spaceChar = foText.charAt(i);
+                if (CharUtilities.isZeroWidthSpace(spaceChar)) {
+                    numZeroWidthSpaces++;
+                }
+            }
+            int numSpaces = areaInfo.breakIndex - areaInfo.startIndex - numZeroWidthSpaces;
+            int spaceIPD = areaInfo.areaIPD.getOpt() / ( ( numSpaces > 0 ) ? numSpaces : 1 );
+            // add space area children, one for each non-zero-width space character
+            for (int i = areaInfo.startIndex; i < areaInfo.breakIndex; i++) {
+                char spaceChar = foText.charAt(i);
+                int level = foText.bidiLevelAt(i);
                 if (!CharUtilities.isZeroWidthSpace(spaceChar)) {
-                    textArea.addSpace(spaceChar, 0, CharUtilities.isAdjustableSpace(spaceChar));
+                    textArea.addSpace
+                        ( spaceChar, spaceIPD,
+                          CharUtilities.isAdjustableSpace(spaceChar),
+                          blockProgressionOffset, level );
                 }
             }
         }
+
     }
 
     /**
@@ -591,15 +779,27 @@
         }
     }
 
+    private void addAreaInfo ( AreaInfo ai ) {
+        addAreaInfo ( areaInfos.size(), ai );
+    }
+
+    private void addAreaInfo ( int index, AreaInfo ai ) {
+        areaInfos.add ( index, ai );
+    }
+
+    private void removeAreaInfo ( int index ) {
+        areaInfos.remove ( index );
+    }
+
     private AreaInfo getAreaInfo(int index) {
         return (AreaInfo) areaInfos.get(index);
     }
 
     private void addToLetterAdjust(int index, int width) {
-        if (letterAdjustArray[index] == null) {
-            letterAdjustArray[index] = MinOptMax.getInstance(width);
+        if (letterSpaceAdjustArray[index] == null) {
+            letterSpaceAdjustArray[index] = MinOptMax.getInstance(width);
         } else {
-            letterAdjustArray[index] = letterAdjustArray[index].plus(width);
+            letterSpaceAdjustArray[index] = letterSpaceAdjustArray[index].plus(width);
         }
     }
 
@@ -616,6 +816,7 @@
 
     /** {@inheritDoc} */
     public List getNextKnuthElements(final LayoutContext context, final int alignment) {
+
         lineStartBAP = context.getLineStartBorderAndPaddingWidth();
         lineEndBAP = context.getLineEndBorderAndPaddingWidth();
         alignmentContext = context.getAlignmentContext();
@@ -626,13 +827,19 @@
         AreaInfo prevAreaInfo = null;
         returnList.add(sequence);
 
+        if (LOG.isDebugEnabled()) {
+            LOG.debug ( "GK: [" + nextStart + "," + foText.length() + "]" );
+        }
         LineBreakStatus lineBreakStatus = new LineBreakStatus();
         thisStart = nextStart;
         boolean inWord = false;
         boolean inWhitespace = false;
         char ch = 0;
+        int level = -1;
+        int prevLevel = -1;
         while (nextStart < foText.length()) {
             ch = foText.charAt(nextStart);
+            level = foText.bidiLevelAt(nextStart);
             boolean breakOpportunity = false;
             byte breakAction = keepTogether
                     ? LineBreakStatus.PROHIBITED_BREAK
@@ -651,17 +858,29 @@
                 default:
                     TextLayoutManager.LOG.error("Unexpected breakAction: " + breakAction);
             }
+            if (LOG.isDebugEnabled()) {
+                LOG.debug ( "GK: {"
+                            + " index = " + nextStart
+                            + ", char = " + CharUtilities.charToNCRef ( ch )
+                            + ", level = " + level
+                            + ", levelPrev = " + prevLevel
+                            + ", inWord = " + inWord
+                            + ", inSpace = " + inWhitespace
+                            + "}" );
+            }
             if (inWord) {
-                if (breakOpportunity
-                        || TextLayoutManager.isSpace(ch)
-                        || CharUtilities.isExplicitBreak(ch)) {
+                if ( breakOpportunity
+                     || TextLayoutManager.isSpace(ch)
+                     || CharUtilities.isExplicitBreak(ch)
+                     || ( ( prevLevel != -1 ) && ( level != prevLevel ) ) ) {
                     // this.foText.charAt(lastIndex) == CharUtilities.SOFT_HYPHEN
                     prevAreaInfo = processWord(alignment, sequence, prevAreaInfo, ch,
-                            breakOpportunity, true);
+                            breakOpportunity, true, prevLevel);
                 }
             } else if (inWhitespace) {
                 if (ch != CharUtilities.SPACE || breakOpportunity) {
-                    prevAreaInfo = processWhitespace(alignment, sequence, breakOpportunity);
+                    prevAreaInfo = processWhitespace(alignment, sequence,
+                                                     breakOpportunity, prevLevel);
                 }
             } else {
                 if (areaInfo != null) {
@@ -681,14 +900,14 @@
                 // preserved space or non-breaking space:
                 // create the AreaInfo object
                 areaInfo = new AreaInfo(nextStart, nextStart + 1, 1, 0, wordSpaceIPD, false, true,
-                        breakOpportunity, spaceFont);
+                                        breakOpportunity, spaceFont, level, null);
                 thisStart = nextStart + 1;
             } else if (CharUtilities.isFixedWidthSpace(ch) || CharUtilities.isZeroWidthSpace(ch)) {
                 // create the AreaInfo object
                 Font font = FontSelector.selectFontForCharacterInText(ch, foText, this);
                 MinOptMax ipd = MinOptMax.getInstance(font.getCharWidth(ch));
                 areaInfo = new AreaInfo(nextStart, nextStart + 1, 0, 0, ipd, false, true,
-                        breakOpportunity, font);
+                                        breakOpportunity, font, level, null);
                 thisStart = nextStart + 1;
             } else if (CharUtilities.isExplicitBreak(ch)) {
                 //mandatory break-character: only advance index
@@ -698,14 +917,15 @@
             inWord = !TextLayoutManager.isSpace(ch) && !CharUtilities.isExplicitBreak(ch);
             inWhitespace = ch == CharUtilities.SPACE
                     && foText.getWhitespaceTreatment() != Constants.EN_PRESERVE;
+            prevLevel = level;
             nextStart++;
         }
 
         // Process any last elements
         if (inWord) {
-            processWord(alignment, sequence, prevAreaInfo, ch, false, false);
+            processWord(alignment, sequence, prevAreaInfo, ch, false, false, prevLevel);
         } else if (inWhitespace) {
-            processWhitespace(alignment, sequence, !keepTogether);
+            processWhitespace(alignment, sequence, !keepTogether, prevLevel);
         } else if (areaInfo != null) {
             processLeftoverAreaInfo(alignment, sequence, areaInfo,
                     ch == CharUtilities.ZERO_WIDTH_SPACE);
@@ -724,6 +944,8 @@
         } else {
             return returnList;
         }
+
+
     }
 
     private KnuthSequence processLinebreak(List returnList, KnuthSequence sequence) {
@@ -739,20 +961,27 @@
     private void processLeftoverAreaInfo(int alignment,
                                          KnuthSequence sequence, AreaInfo areaInfo,
                                          boolean breakOpportunityAfter) {
-        areaInfos.add(areaInfo);
+        addAreaInfo(areaInfo);
         areaInfo.breakOppAfter = breakOpportunityAfter;
         addElementsForASpace(sequence, alignment, areaInfo, areaInfos.size() - 1);
     }
 
     private AreaInfo processWhitespace(final int alignment,
-            final KnuthSequence sequence, final boolean breakOpportunity) {
+            final KnuthSequence sequence, final boolean breakOpportunity, int level) {
+
+        if (LOG.isDebugEnabled()) {
+            LOG.debug ( "PS: [" + thisStart + "," + nextStart + "]" );
+        }
+
         // End of whitespace
         // create the AreaInfo object
         assert nextStart >= thisStart;
-        AreaInfo areaInfo = new AreaInfo(thisStart, nextStart, nextStart - thisStart, 0,
-                wordSpaceIPD.mult(nextStart - thisStart), false, true, breakOpportunity, spaceFont);
+        AreaInfo areaInfo = new AreaInfo
+            ( thisStart, nextStart, nextStart - thisStart, 0,
+              wordSpaceIPD.mult(nextStart - thisStart),
+              false, true, breakOpportunity, spaceFont, level, null );
 
-        areaInfos.add(areaInfo);
+        addAreaInfo(areaInfo);
 
         // create the elements
         addElementsForASpace(sequence, alignment, areaInfo, areaInfos.size() - 1);
@@ -761,22 +990,94 @@
         return areaInfo;
     }
 
-    private AreaInfo processWord(final int alignment, final KnuthSequence sequence,
-            AreaInfo prevAreaInfo, final char ch, final boolean breakOpportunity,
-            final boolean checkEndsWithHyphen) {
+    private AreaInfo processWordMapping
+        ( int lastIndex, final Font font, AreaInfo prevAreaInfo, final char breakOpportunityChar,
+          final boolean endsWithHyphen, int level ) {
+        int s = this.thisStart; // start index of word in FOText character buffer
+        int e = lastIndex;      // end index of word in FOText character buffer
+        int nLS = 0;            // # of letter spaces
+        String script = foText.getScript();
+        String language = foText.getLanguage();
 
-        //Word boundary found, process widths and kerning
-        int lastIndex = nextStart;
-        while (lastIndex > 0 && foText.charAt(lastIndex - 1) == CharUtilities.SOFT_HYPHEN) {
-            lastIndex--;
+        if (LOG.isDebugEnabled()) {
+            LOG.debug ( "PW: [" + thisStart + "," + lastIndex + "]: {"
+                        + " +M"
+                        + ", level = " + level
+                        + " }" );
         }
-        Font font = FontSelector
-            .selectFontForCharactersInText(foText, thisStart, lastIndex, foText, this);
+
+        // 1. extract unmapped character sequence
+        CharSequence ics = foText.subSequence ( s, e );
+
+        // 2. if script is not specified (by FO property) or it is specified as 'auto',
+        // then compute dominant script
+        if ( ( script == null ) || "auto".equals(script) ) {
+            script = CharUtilities.scriptTagFromCode ( CharUtilities.dominantScript ( ics ) );
+        }
+        if ( ( language == null ) || "none".equals(language) ) {
+            language = "dflt";
+        }
+
+        // 3. perform mapping of chars to glyphs ... to glyphs ... to chars
+        CharSequence mcs = font.performSubstitution ( ics, script, language );
+
+        // 4. compute glyph position adjustments on (substituted) characters
+        int[][] gpa;
+        if ( font.performsPositioning() ) {
+            gpa = font.performPositioning ( mcs, script, language );
+        } else {
+            gpa = null;
+        }
+
+        // 5. reorder combining marks so that they precede (within the mapped char sequence) the
+        // base to which they are applied; N.B. position adjustments (gpa) are reordered in place
+        mcs = font.reorderCombiningMarks ( mcs, gpa, script, language );
+
+        // 6. if mapped sequence differs from input sequence, then memoize mapped sequence
+        if ( !CharUtilities.isSameSequence ( mcs, ics ) ) {
+            foText.addMapping ( s, e, mcs );
+        }
+
+        // 7. compute word ipd based on final position adjustments
+        MinOptMax ipd = MinOptMax.ZERO;
+        for ( int i = 0, n = mcs.length(); i < n; i++ ) {
+            char c = mcs.charAt ( i );
+            int  w = font.getCharWidth ( c );
+            if ( gpa != null ) {
+                w += gpa [ i ] [ GlyphPositioningTable.Value.IDX_X_ADVANCE ];
+            }
+            ipd = ipd.plus ( w );
+        }
+
+        // [TBD] - handle kerning - note that standard kerning would only apply in
+        // the off-chance that a font supports substitution, but does not support
+        // positioning and yet has kerning data
+        // if ( ! font.performsPositioning() ) {
+        //   // do standard kerning
+        // }
+
+        // [TBD] - handle letter spacing
+
+        return new AreaInfo
+            ( s, e, 0, nLS, ipd, endsWithHyphen, false,
+              breakOpportunityChar != 0, font, level, gpa );
+    }
+
+    private AreaInfo processWordNoMapping(int lastIndex, final Font font, AreaInfo prevAreaInfo,
+            final char breakOpportunityChar, final boolean endsWithHyphen, int level) {
         boolean kerning = font.hasKerning();
         MinOptMax wordIPD = MinOptMax.ZERO;
+
+        if (LOG.isDebugEnabled()) {
+            LOG.debug ( "PW: [" + thisStart + "," + lastIndex + "]: {"
+                        + " -M"
+                        + ", level = " + level
+                        + " }" );
+        }
+
         for (int i = thisStart; i < lastIndex; i++) {
             char currentChar = foText.charAt(i);
-
+            
             //character width
             int charWidth = font.getCharWidth(currentChar);
             wordIPD = wordIPD.plus(charWidth);
@@ -798,14 +1099,12 @@
                 }
             }
         }
-        boolean endsWithHyphen = checkEndsWithHyphen
-                                 && foText.charAt(lastIndex) == CharUtilities.SOFT_HYPHEN;
         if (kerning
-                && breakOpportunity
-                && !TextLayoutManager.isSpace(ch)
+                && ( breakOpportunityChar != 0 )
+                && !TextLayoutManager.isSpace(breakOpportunityChar)
                 && lastIndex > 0
                 && endsWithHyphen) {
-            int kern = font.getKernValue(foText.charAt(lastIndex - 1), ch);
+            int kern = font.getKernValue(foText.charAt(lastIndex - 1), breakOpportunityChar);
             if (kern != 0) {
                 addToLetterAdjust(lastIndex, kern);
                 //TODO: add kern to wordIPD?
@@ -817,23 +1116,46 @@
         int letterSpaces = 0;
         if (wordLength != 0) {
             letterSpaces = wordLength - 1;
-            // if there is a break opportunity and the next one
+            // if there is a break opportunity and the next one (break character)
             // is not a space, it could be used as a line end;
             // add one more letter space, in case other text follows
-            if (breakOpportunity && !TextLayoutManager.isSpace(ch)) {
-                letterSpaces++;
+            if (( breakOpportunityChar != 0 ) && !TextLayoutManager.isSpace(breakOpportunityChar)) {
+                  letterSpaces++;
             }
         }
         assert letterSpaces >= 0;
         wordIPD = wordIPD.plus(letterSpaceIPD.mult(letterSpaces));
 
-        // create the AreaInfo object
-        AreaInfo areaInfo = new AreaInfo(thisStart, lastIndex, 0,
-                letterSpaces, wordIPD,
-                endsWithHyphen,
-                false, breakOpportunity, font);
+        // create and return the AreaInfo object
+        return new AreaInfo(thisStart, lastIndex, 0,
+                            letterSpaces, wordIPD,
+                            endsWithHyphen,
+                            false, breakOpportunityChar != 0, font, level, null);
+    }
+
+    private AreaInfo processWord(final int alignment, final KnuthSequence sequence,
+            AreaInfo prevAreaInfo, final char ch, final boolean breakOpportunity,
+            final boolean checkEndsWithHyphen, int level) {
+
+        //Word boundary found, process widths and kerning
+        int lastIndex = nextStart;
+        while (lastIndex > 0 && foText.charAt(lastIndex - 1) == CharUtilities.SOFT_HYPHEN) {
+            lastIndex--;
+        }
+        final boolean endsWithHyphen = checkEndsWithHyphen
+                && foText.charAt(lastIndex) == CharUtilities.SOFT_HYPHEN;
+        Font font = FontSelector.selectFontForCharactersInText
+            ( foText, thisStart, lastIndex, foText, this );
+        AreaInfo areaInfo;
+        if ( font.performsSubstitution() || font.performsPositioning() ) {
+            areaInfo = processWordMapping
+                ( lastIndex, font, prevAreaInfo, breakOpportunity ? ch : 0, endsWithHyphen, level );
+        } else {
+            areaInfo = processWordNoMapping
+                ( lastIndex, font, prevAreaInfo, breakOpportunity ? ch : 0, endsWithHyphen, level );
+        }
         prevAreaInfo = areaInfo;
-        areaInfos.add(areaInfo);
+        addAreaInfo(areaInfo);
         tempStart = nextStart;
 
         //add the elements
@@ -918,22 +1240,22 @@
                 newIPD = newIPD.plus(font.getCharWidth(ch));
                 //if (i > startIndex) {
                 if (i < stopIndex) {
-                    MinOptMax letterAdjust = letterAdjustArray[i + 1];
+                    MinOptMax letterSpaceAdjust = letterSpaceAdjustArray[i + 1];
                     if (i == stopIndex - 1 && hyphenFollows) {
                         //the letter adjust here needs to be handled further down during
                         //element generation because it depends on hyph/no-hyph condition
-                        letterAdjust = null;
+                        letterSpaceAdjust = null;
                     }
-                    if (letterAdjust != null) {
-                        newIPD = newIPD.plus(letterAdjust);
+                    if (letterSpaceAdjust != null) {
+                        newIPD = newIPD.plus(letterSpaceAdjust);
                     }
                 }
             }
 
             // add letter spaces
             boolean isWordEnd
-                = stopIndex == areaInfo.breakIndex
-                && areaInfo.letterSpaceCount < areaInfo.getCharLength();
+                = (stopIndex == areaInfo.breakIndex)
+                && (areaInfo.letterSpaceCount < areaInfo.getWordLength());
             int letterSpaceCount = isWordEnd ? stopIndex - startIndex - 1 : stopIndex - startIndex;
 
             assert letterSpaceCount >= 0;
@@ -941,8 +1263,11 @@
 
             if (!(nothingChanged && stopIndex == areaInfo.breakIndex && !hyphenFollows)) {
                 // the new AreaInfo object is not equal to the old one
-                changeList.add(new PendingChange(new AreaInfo(startIndex, stopIndex, 0,
-                        letterSpaceCount, newIPD, hyphenFollows, false, false, font),
+                changeList.add
+                    ( new PendingChange
+                      ( new AreaInfo(startIndex, stopIndex, 0,
+                                     letterSpaceCount, newIPD, hyphenFollows,
+                                     false, false, font, -1, null),
                         ((LeafPosition) pos).getLeafPos() + changeOffset));
                 nothingChanged = false;
             }
@@ -1008,9 +1333,9 @@
                     areaInfosAdded++;
                     oldIndex = currChange.index;
                     changeIndex = currChange.index + areaInfosAdded - areaInfosRemoved;
-                    areaInfos.remove(changeIndex);
+                    removeAreaInfo(changeIndex);
                 }
-                areaInfos.add(changeIndex, currChange.areaInfo);
+                addAreaInfo(changeIndex, currChange.areaInfo);
             }
             changeList.clear();
         }
@@ -1051,7 +1376,7 @@
         int leafValue = ((LeafPosition) pos).getLeafPos() + changeOffset;
         if (leafValue != -1) {
             AreaInfo areaInfo = getAreaInfo(leafValue);
-            StringBuffer buffer = new StringBuffer(areaInfo.getCharLength());
+            StringBuffer buffer = new StringBuffer(areaInfo.getWordLength());
             for (int i = areaInfo.startIndex; i < areaInfo.breakIndex; i++) {
                 buffer.append(foText.charAt(i));
             }
@@ -1225,7 +1550,7 @@
             MinOptMax widthIfNoBreakOccurs = null;
             if (areaInfo.breakIndex < foText.length()) {
                 //Add in kerning in no-break condition
-                widthIfNoBreakOccurs = letterAdjustArray[areaInfo.breakIndex];
+                widthIfNoBreakOccurs = letterSpaceAdjustArray[areaInfo.breakIndex];
             }
             //if (areaInfo.breakIndex)
 
@@ -1341,4 +1666,14 @@
 
     }
 
+    /** {@inheritDoc} */
+    public String toString() {
+        return super.toString() + "{"
+            + "chars = \'"
+            + CharUtilities.toNCRefs ( new String ( foText.getCharArray(), 0, foText.length() ) )
+            + "\'"
+            + ", len = " + foText.length()
+            + "}";
+    }
+
 }
diff --git a/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java b/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java
index 5772c33..5bd451f 100644
--- a/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/list/ListBlockLayoutManager.java
@@ -120,8 +120,8 @@
     }
 
     /**
-     * The table area is a reference area that contains areas for
-     * columns, bodies, rows and the contents are in cells.
+     * A list block generates one or more normal block areas whose child areas are
+     * normal block areas returned by the children of fo:list-block. See XSL-FO 1.1 6.8.2.
      *
      * @param parentIter the position iterator
      * @param layoutContext the layout context for adding areas
diff --git a/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java b/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java
index 8ef0f62..72e4e22 100644
--- a/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/list/ListItemContentLayoutManager.java
@@ -45,7 +45,7 @@
 
     private Block curBlockArea;
 
-    private int xoffset;
+    private int xOffset;
     private int itemIPD;
 
     /**
@@ -80,7 +80,7 @@
      * @param off the x offset
      */
     public void setXOffset(int off) {
-        xoffset = off;
+        xOffset = off;
     }
 
     /**
@@ -175,7 +175,7 @@
             curBlockArea = new Block();
             curBlockArea.setPositioning(Block.ABSOLUTE);
             // set position
-            curBlockArea.setXOffset(xoffset);
+            curBlockArea.setXOffset(xOffset);
             //TODO: Check - itemIPD never set?
             curBlockArea.setIPD(itemIPD);
             //curBlockArea.setHeight();
diff --git a/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java b/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
index 8b9282a..bc7daa2 100644
--- a/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
@@ -465,7 +465,6 @@
 
     /**
      * Add the areas for the break points.
-     * This sets the offset of each cell as it is added.
      *
      * @param parentIter the position iterator
      * @param layoutContext the layout context for adding areas
@@ -507,12 +506,12 @@
         int bodyFirstIndex = ((ListItemPosition) positionList.getFirst()).getBodyFirstIndex();
         int bodyLastIndex = ((ListItemPosition) positionList.getLast()).getBodyLastIndex();
 
-        //Determine previous break if any
+        //Determine previous break if any (in item label list)
         int previousBreak = ElementListUtils.determinePreviousBreak(labelList, labelFirstIndex);
         SpaceResolver.performConditionalsNotification(labelList,
                 labelFirstIndex, labelLastIndex, previousBreak);
 
-        //Determine previous break if any
+        //Determine previous break if any (in item body list)
         previousBreak = ElementListUtils.determinePreviousBreak(bodyList, bodyFirstIndex);
         SpaceResolver.performConditionalsNotification(bodyList,
                 bodyFirstIndex, bodyLastIndex, previousBreak);
diff --git a/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java b/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java
index c1fc190..aaccbd0 100644
--- a/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java
+++ b/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java
@@ -33,6 +33,9 @@
 import org.apache.fop.fo.flow.table.Table;
 import org.apache.fop.fo.flow.table.TableColumn;
 import org.apache.fop.fo.properties.TableColLength;
+import org.apache.fop.traits.Direction;
+import org.apache.fop.traits.WritingModeTraits;
+import org.apache.fop.traits.WritingModeTraitsGetter;
 
 /**
  * Class holding a number of columns making up the column setup of a row.
@@ -43,6 +46,7 @@
     private static Log log = LogFactory.getLog(ColumnSetup.class);
 
     private Table table;
+    private WritingModeTraitsGetter wmTraits;
     private List columns = new java.util.ArrayList();
     private List colWidths = new java.util.ArrayList();
 
@@ -53,7 +57,9 @@
      * @param table the table to construct this column setup for
      */
     public ColumnSetup(Table table) {
+        assert table != null;
         this.table = table;
+        this.wmTraits = WritingModeTraits.getWritingModeTraitsGetter ( table );
         prepareColumns();
         initializeColumnWidths();
     }
@@ -232,11 +238,47 @@
     }
 
     /**
+     * Determine the X offset of the indicated column, where this
+     * offset denotes the left edge of the column irrespective of writing
+     * mode. If writing mode's column progression direction is right-to-left,
+     * then the first column is the right-most column and the last column is
+     * the left-most column; otherwise, the first column is the left-most
+     * column.
      * @param col column index (1 is first column)
      * @param context the context for percentage based calculations
      * @return the X offset of the requested column
      */
     public int getXOffset(int col, PercentBaseContext context) {
+        // TODO handle vertical WMs [GA]
+        if ( (wmTraits != null) && (wmTraits.getColumnProgressionDirection() == Direction.RL) ) {
+            return getXOffsetRTL(col, context);
+        } else {
+            return getXOffsetLTR(col, context);
+        }
+    }
+
+    /*
+     * Determine x offset by summing widths of columns to left of specified
+     * column; i.e., those columns whose column numbers are greater than the
+     * specified column number.
+     */
+    private int getXOffsetRTL(int col, PercentBaseContext context) {
+        int xoffset = 0;
+        for (int i = col, nc = colWidths.size(); ++i < nc;) {
+            int effCol = i;
+            if (colWidths.get(effCol) != null) {
+                xoffset += ((Length) colWidths.get(effCol)).getValue(context);
+            }
+        }
+        return xoffset;
+    }
+
+    /*
+     * Determine x offset by summing widths of columns to left of specified
+     * column; i.e., those columns whose column numbers are less than the
+     * specified column number.
+     */
+    private int getXOffsetLTR(int col, PercentBaseContext context) {
         int xoffset = 0;
         for (int i = col; --i >= 0;) {
             int effCol;
diff --git a/src/java/org/apache/fop/pdf/PDFTextUtil.java b/src/java/org/apache/fop/pdf/PDFTextUtil.java
index 3768bb6..ed475fc 100644
--- a/src/java/org/apache/fop/pdf/PDFTextUtil.java
+++ b/src/java/org/apache/fop/pdf/PDFTextUtil.java
@@ -81,8 +81,8 @@
         sb.append(PDFNumber.doubleOut(lt[5], DEC));
     }
 
-    private void writeChar(char ch, StringBuffer sb) {
-        if (!useMultiByte) {
+    private static void writeChar(char ch, StringBuffer sb, boolean multibyte) {
+        if (!multibyte) {
             if (ch < 32 || ch > 127) {
                 sb.append("\\").append(Integer.toOctalString(ch));
             } else {
@@ -101,6 +101,10 @@
         }
     }
 
+    private void writeChar(char ch, StringBuffer sb) {
+        writeChar ( ch, sb, useMultiByte );
+    }
+
     private void checkInTextObject() {
         if (!inTextObject) {
             throw new IllegalStateException("Not in text object");
@@ -245,24 +249,38 @@
             bufTJ = new StringBuffer();
         }
         if (bufTJ.length() == 0) {
-            bufTJ.append("[").append(startText);
+            bufTJ.append("[");
+            bufTJ.append(startText);
         }
         writeChar(codepoint, bufTJ);
     }
 
     /**
      * Writes a glyph adjust value to the "TJ-Buffer".
+
+     * <p>Assumes the following:</p>
+     * <ol>
+     * <li>if buffer is currently empty, then this is the start of the array object
+     * that encodes the adjustment and character values, and, therfore, a LEFT
+     * SQUARE BRACKET '[' must be prepended; and
+     * </li>
+     * <li>otherwise (the buffer is
+     * not empty), then the last element written to the buffer was a mapped
+     * character, and, therefore, a terminating '&gt;' or ')' followed by a space
+     * must be appended to the buffer prior to appending the adjustment value.
+     * </li>
+     * </ol>
      * @param adjust the glyph adjust value in thousands of text unit space.
      */
     public void adjustGlyphTJ(double adjust) {
         if (bufTJ == null) {
             bufTJ = new StringBuffer();
         }
-        if (bufTJ.length() > 0) {
-            bufTJ.append(endText).append(" ");
-        }
         if (bufTJ.length() == 0) {
             bufTJ.append("[");
+        } else {
+            bufTJ.append(endText);
+            bufTJ.append(" ");
         }
         bufTJ.append(PDFNumber.doubleOut(adjust, DEC - 4));
         bufTJ.append(" ");
@@ -285,4 +303,31 @@
         return bufTJ != null && bufTJ.length() > 0;
     }
 
+    /**
+     * Writes a "Td" command with specified x and y coordinates.
+     * @param x coordinate
+     * @param y coordinate
+     */
+    public void writeTd ( double x, double y ) {
+        StringBuffer sb = new StringBuffer();
+        sb.append(PDFNumber.doubleOut(x, DEC));
+        sb.append(' ');
+        sb.append(PDFNumber.doubleOut(y, DEC));
+        sb.append ( " Td\n" );
+        write ( sb.toString() );
+    }
+
+    /**
+     * Writes a "Tj" command with specified character code.
+     * @param ch character code to write
+     */
+    public void writeTj ( char ch ) {
+        StringBuffer sb = new StringBuffer();
+        sb.append ( '<' );
+        writeChar ( ch, sb, true );
+        sb.append ( '>' );
+        sb.append ( " Tj\n" );
+        write ( sb.toString() );
+    }
+
 }
diff --git a/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java b/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java
index 45a02a9..e8dd9b5 100644
--- a/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java
+++ b/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java
@@ -65,29 +65,31 @@
      * @param block the block to render the traits
      */
     protected void handleBlockTraits(Block block) {
-        int borderPaddingStart = block.getBorderAndPaddingWidthStart();
-        int borderPaddingBefore = block.getBorderAndPaddingWidthBefore();
+        float borderPaddingStart = block.getBorderAndPaddingWidthStart() / 1000f;
+        float borderPaddingEnd = block.getBorderAndPaddingWidthEnd() / 1000f;
+        float borderPaddingBefore = block.getBorderAndPaddingWidthBefore() / 1000f;
+        float borderPaddingAfter = block.getBorderAndPaddingWidthAfter() / 1000f;
 
         float startx = currentIPPosition / 1000f;
         float starty = currentBPPosition / 1000f;
         float width = block.getIPD() / 1000f;
         float height = block.getBPD() / 1000f;
 
-        /* using start-indent now
-        Integer spaceStart = (Integer) block.getTrait(Trait.SPACE_START);
-        if (spaceStart != null) {
-            startx += spaceStart.floatValue() / 1000f;
-        }*/
-        startx += block.getStartIndent() / 1000f;
-        startx -= block.getBorderAndPaddingWidthStart() / 1000f;
+        int level = block.getBidiLevel();
+        if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+            startx += block.getStartIndent() / 1000f; 
+            startx -= borderPaddingStart;
+        } else {
+            startx += block.getEndIndent() / 1000f; 
+            startx -= borderPaddingEnd;
+        }
 
-        width += borderPaddingStart / 1000f;
-        width += block.getBorderAndPaddingWidthEnd() / 1000f;
-        height += borderPaddingBefore / 1000f;
-        height += block.getBorderAndPaddingWidthAfter() / 1000f;
+        width += borderPaddingStart;
+        width += borderPaddingEnd;
+        height += borderPaddingBefore;
+        height += borderPaddingAfter;
 
-        drawBackAndBorders(block, startx, starty,
-            width, height);
+        drawBackAndBorders(block, startx, starty, width, height);
     }
 
     /**
@@ -106,7 +108,12 @@
 
         // adjust the current position according to region borders and padding
         currentBPPosition = referenceArea.getBorderAndPaddingWidthBefore();
-        currentIPPosition = referenceArea.getBorderAndPaddingWidthStart();
+        int level = region.getBidiLevel();
+        if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+            currentIPPosition = referenceArea.getBorderAndPaddingWidthStart();
+        } else {
+            currentIPPosition = referenceArea.getBorderAndPaddingWidthEnd();
+        }
         // draw background (traits are in the RegionViewport)
         // and borders (traits are in the RegionReference)
         drawBackAndBorders(region, referenceArea, startx, starty, width, height);
@@ -153,9 +160,9 @@
 
         drawBackground(startx, starty, width, height,
                 (Trait.Background) backgroundArea.getTrait(Trait.BACKGROUND),
-                bpsBefore, bpsAfter, bpsStart, bpsEnd);
+                    bpsBefore, bpsAfter, bpsStart, bpsEnd, backgroundArea.getBidiLevel());
         drawBorders(startx, starty, width, height,
-                bpsBefore, bpsAfter, bpsStart, bpsEnd);
+                    bpsBefore, bpsAfter, bpsStart, bpsEnd, borderArea.getBidiLevel());
     }
 
     /**
@@ -171,11 +178,44 @@
      * @param bpsAfter the border-after traits
      * @param bpsStart the border-start traits
      * @param bpsEnd the border-end traits
+     * @param level of bidirectional embedding
      */
     protected void drawBackground(                               // CSOK: ParameterNumber
             float startx, float starty, float width, float height, Trait.Background back,
             BorderProps bpsBefore, BorderProps bpsAfter,
-            BorderProps bpsStart, BorderProps bpsEnd) {
+            BorderProps bpsStart, BorderProps bpsEnd, int level) {
+        BorderProps bpsTop = bpsBefore;
+        BorderProps bpsBottom = bpsAfter;
+        BorderProps bpsLeft;
+        BorderProps bpsRight;
+        if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+            bpsLeft = bpsStart;
+            bpsRight = bpsEnd;
+        } else {
+            bpsLeft = bpsEnd;
+            bpsRight = bpsStart;
+        }
+        drawBackground(startx, starty, width, height, back, bpsTop, bpsBottom, bpsLeft, bpsRight);
+    }
+
+    /**
+     * Draw the background.
+     * This draws the background given the position and the traits.
+     *
+     * @param startx the start x position
+     * @param starty the start y position
+     * @param width the width of the area
+     * @param height the height of the area
+     * @param back the background traits
+     * @param bpsTop the border specification on the top edge
+     * @param bpsBottom the border traits associated with bottom edge
+     * @param bpsLeft the border specification on the left edge
+     * @param bpsRight the border specification on the right edge
+     */
+    protected void drawBackground(                               // CSOK: ParameterNumber
+            float startx, float starty, float width, float height, Trait.Background back,
+            BorderProps bpsTop, BorderProps bpsBottom,
+            BorderProps bpsLeft, BorderProps bpsRight) {
         if (back != null) {
             endTextObject();
 
@@ -184,19 +224,19 @@
             float sy = starty;
             float paddRectWidth = width;
             float paddRectHeight = height;
-            if (bpsStart != null) {
-                sx += bpsStart.width / 1000f;
-                paddRectWidth -= bpsStart.width / 1000f;
+            if (bpsLeft != null) {
+                sx += bpsLeft.width / 1000f;
+                paddRectWidth -= bpsLeft.width / 1000f;
             }
-            if (bpsBefore != null) {
-                sy += bpsBefore.width / 1000f;
-                paddRectHeight -= bpsBefore.width / 1000f;
+            if (bpsTop != null) {
+                sy += bpsTop.width / 1000f;
+                paddRectHeight -= bpsTop.width / 1000f;
             }
-            if (bpsEnd != null) {
-                paddRectWidth -= bpsEnd.width / 1000f;
+            if (bpsRight != null) {
+                paddRectWidth -= bpsRight.width / 1000f;
             }
-            if (bpsAfter != null) {
-                paddRectHeight -= bpsAfter.width / 1000f;
+            if (bpsBottom != null) {
+                paddRectHeight -= bpsBottom.width / 1000f;
             }
 
             if (back.getColor() != null) {
@@ -256,86 +296,99 @@
      * @param starty the start y position
      * @param width the width of the area
      * @param height the height of the area
-     * @param bpsBefore the border-before traits
-     * @param bpsAfter the border-after traits
-     * @param bpsStart the border-start traits
-     * @param bpsEnd the border-end traits
+     * @param bpsBefore the border traits associated with before edge
+     * @param bpsAfter the border traits associated with after edge
+     * @param bpsStart the border traits associated with start edge
+     * @param bpsEnd the border traits associated with end edge
+     * @param level of bidirectional embedding
      */
     protected void drawBorders(                                  // CSOK: ParameterNumber
             float startx, float starty, float width, float height,
             BorderProps bpsBefore, BorderProps bpsAfter,
-            BorderProps bpsStart, BorderProps bpsEnd) {
+            BorderProps bpsStart, BorderProps bpsEnd, int level) {
         Rectangle2D.Float borderRect = new Rectangle2D.Float(startx, starty, width, height);
-        drawBorders(borderRect, bpsBefore, bpsAfter, bpsStart, bpsEnd);
+        BorderProps bpsTop = bpsBefore;
+        BorderProps bpsBottom = bpsAfter;
+        BorderProps bpsLeft;
+        BorderProps bpsRight;
+        if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+            bpsLeft = bpsStart;
+            bpsRight = bpsEnd;
+        } else {
+            bpsLeft = bpsEnd;
+            bpsRight = bpsStart;
+        }
+        drawBorders(borderRect, bpsTop, bpsBottom, bpsLeft, bpsRight);
     }
 
-    private static final int BEFORE = 0;
-    private static final int END = 1;
-    private static final int AFTER = 2;
-    private static final int START = 3;
+    private static final int TOP = 0;
+    private static final int RIGHT = 1;
+    private static final int BOTTOM = 2;
+    private static final int LEFT = 3;
 
     /**
      * Draws borders.
      * @param borderRect the border rectangle
-     * @param bpsBefore the border specification on the before side
-     * @param bpsAfter the border specification on the after side
-     * @param bpsStart the border specification on the start side
-     * @param bpsEnd the border specification on the end side
+     * @param bpsTop the border specification on the top edge
+     * @param bpsBottom the border traits associated with bottom edge
+     * @param bpsLeft the border specification on the left edge
+     * @param bpsRight the border specification on the right edge
      */
     protected void drawBorders(                                  // CSOK: MethodLength
             Rectangle2D.Float borderRect,
-            BorderProps bpsBefore, BorderProps bpsAfter, BorderProps bpsStart, BorderProps bpsEnd) {
+            BorderProps bpsTop, BorderProps bpsBottom, BorderProps bpsLeft, BorderProps bpsRight) {
         //TODO generalize each of the four conditions into using a parameterized drawBorder()
         boolean[] border = new boolean[] {
-                (bpsBefore != null), (bpsEnd != null),
-                (bpsAfter != null), (bpsStart != null)};
+                (bpsTop != null), (bpsRight != null),
+                (bpsBottom != null), (bpsLeft != null)};
         float startx = borderRect.x;
         float starty = borderRect.y;
         float width = borderRect.width;
         float height = borderRect.height;
         float[] borderWidth = new float[] {
-            (border[BEFORE] ? bpsBefore.width / 1000f : 0.0f),
-            (border[END] ? bpsEnd.width / 1000f : 0.0f),
-            (border[AFTER] ? bpsAfter.width / 1000f : 0.0f),
-            (border[START] ? bpsStart.width / 1000f : 0.0f)};
+            (border[TOP] ? bpsTop.width / 1000f : 0.0f),
+            (border[RIGHT] ? bpsRight.width / 1000f : 0.0f),
+            (border[BOTTOM] ? bpsBottom.width / 1000f : 0.0f),
+            (border[LEFT] ? bpsLeft.width / 1000f : 0.0f)};
         float[] clipw = new float[] {
-            BorderProps.getClippedWidth(bpsBefore) / 1000f,
-            BorderProps.getClippedWidth(bpsEnd) / 1000f,
-            BorderProps.getClippedWidth(bpsAfter) / 1000f,
-            BorderProps.getClippedWidth(bpsStart) / 1000f};
-        starty += clipw[BEFORE];
-        height -= clipw[BEFORE];
-        height -= clipw[AFTER];
-        startx += clipw[START];
-        width -= clipw[START];
-        width -= clipw[END];
+            BorderProps.getClippedWidth(bpsTop) / 1000f,
+            BorderProps.getClippedWidth(bpsRight) / 1000f,
+            BorderProps.getClippedWidth(bpsBottom) / 1000f,
+            BorderProps.getClippedWidth(bpsLeft) / 1000f};
+
+        starty += clipw[TOP];
+        height -= clipw[TOP];
+        height -= clipw[BOTTOM];
+        startx += clipw[LEFT];
+        width -= clipw[LEFT];
+        width -= clipw[RIGHT];
 
         boolean[] slant = new boolean[] {
-            (border[START] && border[BEFORE]),
-            (border[BEFORE] && border[END]),
-            (border[END] && border[AFTER]),
-            (border[AFTER] && border[START])};
-        if (bpsBefore != null) {
+            (border[LEFT] && border[TOP]),
+            (border[TOP] && border[RIGHT]),
+            (border[RIGHT] && border[BOTTOM]),
+            (border[BOTTOM] && border[LEFT])};
+        if (bpsTop != null) {
             endTextObject();
 
             float sx1 = startx;
-            float sx2 = (slant[BEFORE] ? sx1 + borderWidth[START] - clipw[START] : sx1);
+            float sx2 = (slant[TOP] ? sx1 + borderWidth[LEFT] - clipw[LEFT] : sx1);
             float ex1 = startx + width;
-            float ex2 = (slant[END] ? ex1 - borderWidth[END] + clipw[END] : ex1);
-            float outery = starty - clipw[BEFORE];
-            float clipy = outery + clipw[BEFORE];
-            float innery = outery + borderWidth[BEFORE];
+            float ex2 = (slant[RIGHT] ? ex1 - borderWidth[RIGHT] + clipw[RIGHT] : ex1);
+            float outery = starty - clipw[TOP];
+            float clipy = outery + clipw[TOP];
+            float innery = outery + borderWidth[TOP];
 
             saveGraphicsState();
             moveTo(sx1, clipy);
             float sx1a = sx1;
             float ex1a = ex1;
-            if (bpsBefore.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsStart != null && bpsStart.mode == BorderProps.COLLAPSE_OUTER) {
-                    sx1a -= clipw[START];
+            if (bpsTop.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsLeft != null && bpsLeft.mode == BorderProps.COLLAPSE_OUTER) {
+                    sx1a -= clipw[LEFT];
                 }
-                if (bpsEnd != null && bpsEnd.mode == BorderProps.COLLAPSE_OUTER) {
-                    ex1a += clipw[END];
+                if (bpsRight != null && bpsRight.mode == BorderProps.COLLAPSE_OUTER) {
+                    ex1a += clipw[RIGHT];
                 }
                 lineTo(sx1a, outery);
                 lineTo(ex1a, outery);
@@ -346,30 +399,30 @@
             closePath();
             clip();
             drawBorderLine(sx1a, outery, ex1a, innery, true, true,
-                    bpsBefore.style, bpsBefore.color);
+                    bpsTop.style, bpsTop.color);
             restoreGraphicsState();
         }
-        if (bpsEnd != null) {
+        if (bpsRight != null) {
             endTextObject();
 
             float sy1 = starty;
-            float sy2 = (slant[END] ? sy1 + borderWidth[BEFORE] - clipw[BEFORE] : sy1);
+            float sy2 = (slant[RIGHT] ? sy1 + borderWidth[TOP] - clipw[TOP] : sy1);
             float ey1 = starty + height;
-            float ey2 = (slant[AFTER] ? ey1 - borderWidth[AFTER] + clipw[AFTER] : ey1);
-            float outerx = startx + width + clipw[END];
-            float clipx = outerx - clipw[END];
-            float innerx = outerx - borderWidth[END];
+            float ey2 = (slant[BOTTOM] ? ey1 - borderWidth[BOTTOM] + clipw[BOTTOM] : ey1);
+            float outerx = startx + width + clipw[RIGHT];
+            float clipx = outerx - clipw[RIGHT];
+            float innerx = outerx - borderWidth[RIGHT];
 
             saveGraphicsState();
             moveTo(clipx, sy1);
             float sy1a = sy1;
             float ey1a = ey1;
-            if (bpsEnd.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsBefore != null && bpsBefore.mode == BorderProps.COLLAPSE_OUTER) {
-                    sy1a -= clipw[BEFORE];
+            if (bpsRight.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsTop != null && bpsTop.mode == BorderProps.COLLAPSE_OUTER) {
+                    sy1a -= clipw[TOP];
                 }
-                if (bpsAfter != null && bpsAfter.mode == BorderProps.COLLAPSE_OUTER) {
-                    ey1a += clipw[AFTER];
+                if (bpsBottom != null && bpsBottom.mode == BorderProps.COLLAPSE_OUTER) {
+                    ey1a += clipw[BOTTOM];
                 }
                 lineTo(outerx, sy1a);
                 lineTo(outerx, ey1a);
@@ -379,30 +432,31 @@
             lineTo(innerx, sy2);
             closePath();
             clip();
-            drawBorderLine(innerx, sy1a, outerx, ey1a, false, false, bpsEnd.style, bpsEnd.color);
+            drawBorderLine(innerx, sy1a, outerx, ey1a, false, false,
+                           bpsRight.style, bpsRight.color);
             restoreGraphicsState();
         }
-        if (bpsAfter != null) {
+        if (bpsBottom != null) {
             endTextObject();
 
             float sx1 = startx;
-            float sx2 = (slant[START] ? sx1 + borderWidth[START] - clipw[START] : sx1);
+            float sx2 = (slant[LEFT] ? sx1 + borderWidth[LEFT] - clipw[LEFT] : sx1);
             float ex1 = startx + width;
-            float ex2 = (slant[AFTER] ? ex1 - borderWidth[END] + clipw[END] : ex1);
-            float outery = starty + height + clipw[AFTER];
-            float clipy = outery - clipw[AFTER];
-            float innery = outery - borderWidth[AFTER];
+            float ex2 = (slant[BOTTOM] ? ex1 - borderWidth[RIGHT] + clipw[RIGHT] : ex1);
+            float outery = starty + height + clipw[BOTTOM];
+            float clipy = outery - clipw[BOTTOM];
+            float innery = outery - borderWidth[BOTTOM];
 
             saveGraphicsState();
             moveTo(ex1, clipy);
             float sx1a = sx1;
             float ex1a = ex1;
-            if (bpsAfter.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsStart != null && bpsStart.mode == BorderProps.COLLAPSE_OUTER) {
-                    sx1a -= clipw[START];
+            if (bpsBottom.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsLeft != null && bpsLeft.mode == BorderProps.COLLAPSE_OUTER) {
+                    sx1a -= clipw[LEFT];
                 }
-                if (bpsEnd != null && bpsEnd.mode == BorderProps.COLLAPSE_OUTER) {
-                    ex1a += clipw[END];
+                if (bpsRight != null && bpsRight.mode == BorderProps.COLLAPSE_OUTER) {
+                    ex1a += clipw[RIGHT];
                 }
                 lineTo(ex1a, outery);
                 lineTo(sx1a, outery);
@@ -412,30 +466,31 @@
             lineTo(ex2, innery);
             closePath();
             clip();
-            drawBorderLine(sx1a, innery, ex1a, outery, true, false, bpsAfter.style, bpsAfter.color);
+            drawBorderLine(sx1a, innery, ex1a, outery, true, false,
+                           bpsBottom.style, bpsBottom.color);
             restoreGraphicsState();
         }
-        if (bpsStart != null) {
+        if (bpsLeft != null) {
             endTextObject();
 
             float sy1 = starty;
-            float sy2 = (slant[BEFORE] ? sy1 + borderWidth[BEFORE] - clipw[BEFORE] : sy1);
+            float sy2 = (slant[TOP] ? sy1 + borderWidth[TOP] - clipw[TOP] : sy1);
             float ey1 = sy1 + height;
-            float ey2 = (slant[START] ? ey1 - borderWidth[AFTER] + clipw[AFTER] : ey1);
-            float outerx = startx - clipw[START];
-            float clipx = outerx + clipw[START];
-            float innerx = outerx + borderWidth[START];
+            float ey2 = (slant[LEFT] ? ey1 - borderWidth[BOTTOM] + clipw[BOTTOM] : ey1);
+            float outerx = startx - clipw[LEFT];
+            float clipx = outerx + clipw[LEFT];
+            float innerx = outerx + borderWidth[LEFT];
 
             saveGraphicsState();
             moveTo(clipx, ey1);
             float sy1a = sy1;
             float ey1a = ey1;
-            if (bpsStart.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsBefore != null && bpsBefore.mode == BorderProps.COLLAPSE_OUTER) {
-                    sy1a -= clipw[BEFORE];
+            if (bpsLeft.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsTop != null && bpsTop.mode == BorderProps.COLLAPSE_OUTER) {
+                    sy1a -= clipw[TOP];
                 }
-                if (bpsAfter != null && bpsAfter.mode == BorderProps.COLLAPSE_OUTER) {
-                    ey1a += clipw[AFTER];
+                if (bpsBottom != null && bpsBottom.mode == BorderProps.COLLAPSE_OUTER) {
+                    ey1a += clipw[BOTTOM];
                 }
                 lineTo(outerx, ey1a);
                 lineTo(outerx, sy1a);
@@ -445,7 +500,7 @@
             lineTo(innerx, ey2);
             closePath();
             clip();
-            drawBorderLine(outerx, sy1a, innerx, ey1a, false, true, bpsStart.style, bpsStart.color);
+            drawBorderLine(outerx, sy1a, innerx, ey1a, false, true, bpsLeft.style, bpsLeft.color);
             restoreGraphicsState();
         }
     }
@@ -458,16 +513,16 @@
      */
     protected void renderInlineAreaBackAndBorders(InlineArea area) {
         float borderPaddingStart = area.getBorderAndPaddingWidthStart() / 1000f;
+        float borderPaddingEnd = area.getBorderAndPaddingWidthEnd() / 1000f;
         float borderPaddingBefore = area.getBorderAndPaddingWidthBefore() / 1000f;
-        float bpwidth = borderPaddingStart
-                + (area.getBorderAndPaddingWidthEnd() / 1000f);
-        float bpheight = borderPaddingBefore
-                + (area.getBorderAndPaddingWidthAfter() / 1000f);
+        float borderPaddingAfter = area.getBorderAndPaddingWidthAfter() / 1000f;
+        float bpwidth = borderPaddingStart + borderPaddingEnd;
+        float bpheight = borderPaddingBefore + borderPaddingAfter;
 
         float height = area.getBPD() / 1000f;
         if (height != 0.0f || bpheight != 0.0f && bpwidth != 0.0f) {
             float x = currentIPPosition / 1000f;
-            float y = (currentBPPosition + area.getOffset()) / 1000f;
+            float y = (currentBPPosition + area.getBlockProgressionOffset()) / 1000f;
             float width = area.getIPD() / 1000f;
             drawBackAndBorders(area, x, y - borderPaddingBefore
                                 , width + bpwidth
@@ -504,10 +559,16 @@
             AffineTransform positionTransform = new AffineTransform();
             positionTransform.translate(bv.getXOffset(), bv.getYOffset());
 
+            int level = bv.getBidiLevel();
             int borderPaddingStart = bv.getBorderAndPaddingWidthStart();
+            int borderPaddingEnd = bv.getBorderAndPaddingWidthEnd();
 
             //"left/"top" (bv.getX/YOffset()) specify the position of the content rectangle
-            positionTransform.translate(-borderPaddingStart, -borderPaddingBefore);
+            if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+                positionTransform.translate(-borderPaddingStart, -borderPaddingBefore);
+            } else {
+                positionTransform.translate(-borderPaddingEnd, -borderPaddingBefore);
+            }
 
             //Free transformation for the block-container viewport
             String transf;
@@ -528,14 +589,18 @@
 
             //Background and borders
             float borderPaddingWidth
-                = (borderPaddingStart + bv.getBorderAndPaddingWidthEnd()) / 1000f;
+                = (borderPaddingStart + borderPaddingEnd) / 1000f;
             float borderPaddingHeight
                 = (borderPaddingBefore + bv.getBorderAndPaddingWidthAfter()) / 1000f;
             drawBackAndBorders(bv, 0, 0, width + borderPaddingWidth, height + borderPaddingHeight);
 
             //Shift to content rectangle after border painting
             AffineTransform contentRectTransform = new AffineTransform();
-            contentRectTransform.translate(borderPaddingStart, borderPaddingBefore);
+            if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+                contentRectTransform.translate(borderPaddingStart, borderPaddingBefore);
+            } else {
+                contentRectTransform.translate(borderPaddingEnd, borderPaddingBefore);
+            }
 
             if (!contentRectTransform.isIdentity()) {
                 establishTransformationMatrix(contentRectTransform);
@@ -686,25 +751,28 @@
      * @param viewport the viewport to handle
      */
     public void renderInlineViewport(InlineViewport viewport) {
-
+        int level = viewport.getBidiLevel();
         float x = currentIPPosition / 1000f;
-        float y = (currentBPPosition + viewport.getOffset()) / 1000f;
+        float y = (currentBPPosition + viewport.getBlockProgressionOffset()) / 1000f;
         float width = viewport.getIPD() / 1000f;
         float height = viewport.getBPD() / 1000f;
         // TODO: Calculate the border rect correctly.
         float borderPaddingStart = viewport.getBorderAndPaddingWidthStart() / 1000f;
+        float borderPaddingEnd = viewport.getBorderAndPaddingWidthEnd() / 1000f;
         float borderPaddingBefore = viewport.getBorderAndPaddingWidthBefore() / 1000f;
-        float bpwidth = borderPaddingStart
-                + (viewport.getBorderAndPaddingWidthEnd() / 1000f);
-        float bpheight = borderPaddingBefore
-                + (viewport.getBorderAndPaddingWidthAfter() / 1000f);
+        float borderPaddingAfter = viewport.getBorderAndPaddingWidthAfter() / 1000f;
+        float bpwidth = borderPaddingStart + borderPaddingEnd;
+        float bpheight = borderPaddingBefore + borderPaddingAfter;
 
         drawBackAndBorders(viewport, x, y, width + bpwidth, height + bpheight);
 
         if (viewport.hasClip()) {
             saveGraphicsState();
-
-            clipRect(x + borderPaddingStart, y + borderPaddingBefore, width, height);
+            if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+                clipRect(x + borderPaddingStart, y + borderPaddingBefore, width, height);
+            } else {
+                clipRect(x + borderPaddingEnd, y + borderPaddingBefore, width, height);
+            }
         }
         super.renderInlineViewport(viewport);
 
diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java
index 7ff236d..9c84184 100644
--- a/src/java/org/apache/fop/render/AbstractRenderer.java
+++ b/src/java/org/apache/fop/render/AbstractRenderer.java
@@ -507,17 +507,10 @@
      */
     protected void renderBlocks(Block parent, List blocks) {
         int saveIP = currentIPPosition;
-//        int saveBP = currentBPPosition;
 
         // Calculate the position of the content rectangle.
         if (parent != null && !parent.getTraitAsBoolean(Trait.IS_VIEWPORT_AREA)) {
             currentBPPosition += parent.getBorderAndPaddingWidthBefore();
-            /* This is unnecessary now as we're going to use the *-indent traits
-            currentIPPosition += parent.getBorderAndPaddingWidthStart();
-            Integer spaceStart = (Integer) parent.getTrait(Trait.SPACE_START);
-            if (spaceStart != null) {
-                currentIPPosition += spaceStart.intValue();
-            }*/
         }
 
         // the position of the containing block is used for
@@ -536,15 +529,19 @@
                 renderBlock((Block) obj);
                 containingBPPosition = contBP;
                 containingIPPosition = contIP;
-            } else {
+            } else if (obj instanceof LineArea) {
                 // a line area is rendered from the top left position
                 // of the line, each inline object is offset from there
                 LineArea line = (LineArea) obj;
-                currentIPPosition = contIP
-                        + parent.getStartIndent()
-                        + line.getStartIndent();
+                if ( parent != null ) {
+                    int level = parent.getBidiLevel();
+                    if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+                        currentIPPosition += parent.getStartIndent(); 
+                    } else {
+                        currentIPPosition += parent.getEndIndent(); 
+                    }
+                }
                 renderLineArea(line);
-                //InlineArea child = (InlineArea) line.getInlineAreas().get(0);
                 currentBPPosition += line.getAllocBPD();
             }
             currentIPPosition = saveIP;
@@ -557,6 +554,7 @@
      * @param block  The block area
      */
     protected void renderBlock(Block block) {
+        assert block != null;
         List children = block.getChildAreas();
         if (block instanceof BlockViewport) {
             if (children != null) {
@@ -606,13 +604,40 @@
         List children = line.getInlineAreas();
         int saveBP = currentBPPosition;
         currentBPPosition += line.getSpaceBefore();
-        for (int count = 0; count < children.size(); count++) {
-            InlineArea inline = (InlineArea) children.get(count);
+        int bl = line.getBidiLevel();
+        if ( bl >= 0 ) {
+            if ( ( bl & 1 ) == 0 ) {
+                currentIPPosition += line.getStartIndent(); 
+            } else {
+                currentIPPosition += line.getEndIndent(); 
+                // if line's content overflows line area, then
+                // ensure that overflow is drawn (extends)
+                // outside of left side of line area
+                int overflow = computeInlinesOverflow ( line );
+                if ( overflow > 0 ) {
+                    currentIPPosition -= overflow;
+                }
+            }
+        } else {
+            currentIPPosition += line.getStartIndent(); 
+        }
+        for (int i = 0, l = children.size(); i < l; i++) {
+            InlineArea inline = (InlineArea) children.get(i);
             renderInlineArea(inline);
         }
         currentBPPosition = saveBP;
     }
 
+    private int computeInlinesOverflow ( LineArea line ) {
+        List children = line.getInlineAreas();
+        int ipdConsumed = 0;
+        for (int i = 0, l = children.size(); i < l; i++) {
+            InlineArea inline = (InlineArea) children.get(i);
+            ipdConsumed += inline.getIPD();
+        }
+        return ipdConsumed - line.getIPD();
+    }
+
     /**
      * Render the given InlineArea.
      * @param inlineArea inline area text to render
@@ -673,11 +698,12 @@
      * @param text the text to render
      */
     protected void renderText(TextArea text) {
+        List children = text.getChildAreas();
         int saveIP = currentIPPosition;
         int saveBP = currentBPPosition;
-        Iterator iter = text.getChildAreas().iterator();
-        while (iter.hasNext()) {
-            renderInlineArea((InlineArea) iter.next());
+        for (int i = 0, l = children.size(); i < l; i++) {
+            InlineArea inline = (InlineArea) children.get(i);
+            renderInlineArea(inline);
         }
         currentIPPosition = saveIP + text.getAllocIPD();
     }
@@ -703,14 +729,20 @@
      * @param ip the inline parent to render
      */
     protected void renderInlineParent(InlineParent ip) {
+        int level = ip.getBidiLevel();
+        List children = ip.getChildAreas();
         renderInlineAreaBackAndBorders(ip);
         int saveIP = currentIPPosition;
         int saveBP = currentBPPosition;
-        currentIPPosition += ip.getBorderAndPaddingWidthStart();
-        currentBPPosition += ip.getOffset();
-        Iterator iter = ip.getChildAreas().iterator();
-        while (iter.hasNext()) {
-            renderInlineArea((InlineArea) iter.next());
+        if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+            currentIPPosition += ip.getBorderAndPaddingWidthStart();
+        } else {
+            currentIPPosition += ip.getBorderAndPaddingWidthEnd();
+        }
+        currentBPPosition += ip.getBlockProgressionOffset();
+        for (int i = 0, l = children.size(); i < l; i++) {
+            InlineArea inline = (InlineArea) children.get(i);
+            renderInlineArea(inline);
         }
         currentIPPosition = saveIP + ip.getAllocIPD();
         currentBPPosition = saveBP;
@@ -721,11 +753,16 @@
      * @param ibp the inline block parent to render
      */
     protected void renderInlineBlockParent(InlineBlockParent ibp) {
+        int level = ibp.getBidiLevel();
         renderInlineAreaBackAndBorders(ibp);
-        currentIPPosition += ibp.getBorderAndPaddingWidthStart();
+        if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+            currentIPPosition += ibp.getBorderAndPaddingWidthStart();
+        } else {
+            currentIPPosition += ibp.getBorderAndPaddingWidthEnd();
+        }
         // For inline content the BP position is updated by the enclosing line area
         int saveBP = currentBPPosition;
-        currentBPPosition += ibp.getOffset();
+        currentBPPosition += ibp.getBlockProgressionOffset();
         renderBlock(ibp.getChildArea());
         currentBPPosition = saveBP;
     }
@@ -737,7 +774,7 @@
     protected void renderInlineViewport(InlineViewport viewport) {
         Area content = viewport.getContent();
         int saveBP = currentBPPosition;
-        currentBPPosition += viewport.getOffset();
+        currentBPPosition += viewport.getBlockProgressionOffset();
         Rectangle2D contpos = viewport.getContentPosition();
         if (content instanceof Image) {
             renderImage((Image) content, contpos);
diff --git a/src/java/org/apache/fop/render/afp/AFPPainter.java b/src/java/org/apache/fop/render/afp/AFPPainter.java
index 28ca6c6..30e4e76 100644
--- a/src/java/org/apache/fop/render/afp/AFPPainter.java
+++ b/src/java/org/apache/fop/render/afp/AFPPainter.java
@@ -57,6 +57,7 @@
 import org.apache.fop.render.intermediate.IFContext;
 import org.apache.fop.render.intermediate.IFException;
 import org.apache.fop.render.intermediate.IFState;
+import org.apache.fop.render.intermediate.IFUtil;
 import org.apache.fop.traits.BorderProps;
 import org.apache.fop.traits.RuleStyle;
 import org.apache.fop.util.CharUtilities;
@@ -259,11 +260,11 @@
 
     /** {@inheritDoc} */
     @Override
-    public void drawBorderRect(Rectangle rect, BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) throws IFException {
-        if (before != null || after != null || start != null || end != null) {
+    public void drawBorderRect(Rectangle rect, BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) throws IFException {
+        if (top != null || bottom != null || left != null || right != null) {
             try {
-                this.borderPainter.drawBorders(rect, before, after, start, end);
+                this.borderPainter.drawBorders(rect, top, bottom, left, right);
             } catch (IOException ife) {
                 throw new IFException("IO error while painting borders", ife);
             }
@@ -354,8 +355,8 @@
 
     /** {@inheritDoc} */
     public void drawText(                                        // CSOK: MethodLength
-            int x, int y, final int letterSpacing, final int wordSpacing, final int[] dx,
-            final String text) throws IFException {
+            int x, int y, final int letterSpacing, final int wordSpacing,
+            final int[][] dp, final String text) throws IFException {
         final int fontSize = this.state.getFontSize();
         getPaintingState().setFontSize(fontSize);
 
@@ -404,6 +405,7 @@
                     builder.setCodedFont((byte)fontReference);
 
                     int l = text.length();
+                    int[] dx = IFUtil.convertDPToDX ( dp );
                     int dxl = (dx != null ? dx.length : 0);
                     StringBuffer sb = new StringBuffer();
 
diff --git a/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java b/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java
index 2226274..c696e55 100644
--- a/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java
+++ b/src/java/org/apache/fop/render/intermediate/AbstractIFPainter.java
@@ -315,55 +315,55 @@
     }
 
     /** {@inheritDoc} */
-    public void drawBorderRect(Rectangle rect, BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) throws IFException {
-        if (before != null) {
+    public void drawBorderRect(Rectangle rect, BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) throws IFException {
+        if (top != null) {
             Rectangle b = new Rectangle(
                     rect.x, rect.y,
-                    rect.width, before.width);
-            fillRect(b, before.color);
+                    rect.width, top.width);
+            fillRect(b, top.color);
         }
-        if (end != null) {
+        if (right != null) {
             Rectangle b = new Rectangle(
-                    rect.x + rect.width - end.width, rect.y,
-                    end.width, rect.height);
-            fillRect(b, end.color);
+                    rect.x + rect.width - right.width, rect.y,
+                    right.width, rect.height);
+            fillRect(b, right.color);
         }
-        if (after != null) {
+        if (bottom != null) {
             Rectangle b = new Rectangle(
-                    rect.x, rect.y + rect.height - after.width,
-                    rect.width, after.width);
-            fillRect(b, after.color);
+                    rect.x, rect.y + rect.height - bottom.width,
+                    rect.width, bottom.width);
+            fillRect(b, bottom.color);
         }
-        if (start != null) {
+        if (left != null) {
             Rectangle b = new Rectangle(
                     rect.x, rect.y,
-                    start.width, rect.height);
-            fillRect(b, start.color);
+                    left.width, rect.height);
+            fillRect(b, left.color);
         }
     }
 
     /**
      * Indicates whether the given border segments (if present) have only solid borders, i.e.
      * could be painted in a simplified fashion keeping the output file smaller.
-     * @param before the border segment on the before-side (top)
-     * @param after the border segment on the after-side (bottom)
-     * @param start the border segment on the start-side (left)
-     * @param end the border segment on the end-side (right)
+     * @param top the border segment on the top edge
+     * @param bottom the border segment on the bottom edge
+     * @param left the border segment on the left edge
+     * @param right the border segment on the right edge
      * @return true if any border segment has a non-solid border style
      */
-    protected boolean hasOnlySolidBorders(BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) {
-        if (before != null && before.style != Constants.EN_SOLID) {
+    protected boolean hasOnlySolidBorders(BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) {
+        if (top != null && top.style != Constants.EN_SOLID) {
             return false;
         }
-        if (after != null && after.style != Constants.EN_SOLID) {
+        if (bottom != null && bottom.style != Constants.EN_SOLID) {
             return false;
         }
-        if (start != null && start.style != Constants.EN_SOLID) {
+        if (left != null && left.style != Constants.EN_SOLID) {
             return false;
         }
-        if (end != null && end.style != Constants.EN_SOLID) {
+        if (right != null && right.style != Constants.EN_SOLID) {
             return false;
         }
         return true;
diff --git a/src/java/org/apache/fop/render/intermediate/BorderPainter.java b/src/java/org/apache/fop/render/intermediate/BorderPainter.java
index 2040236..cc28028 100644
--- a/src/java/org/apache/fop/render/intermediate/BorderPainter.java
+++ b/src/java/org/apache/fop/render/intermediate/BorderPainter.java
@@ -35,35 +35,35 @@
     /**
      * Draws borders.
      * @param borderRect the border rectangle
-     * @param bpsBefore the border specification on the before side
-     * @param bpsAfter the border specification on the after side
-     * @param bpsStart the border specification on the start side
-     * @param bpsEnd the border specification on the end side
+     * @param bpsTop the border specification on the top side
+     * @param bpsBottom the border specification on the bottom side
+     * @param bpsLeft the border specification on the left side
+     * @param bpsRight the border specification on the end side
      * @throws IOException if an I/O error occurs while creating the borders
      */
     public void drawBorders(Rectangle borderRect,               // CSOK: MethodLength
-            BorderProps bpsBefore, BorderProps bpsAfter,
-            BorderProps bpsStart, BorderProps bpsEnd) throws IOException {
+            BorderProps bpsTop, BorderProps bpsBottom,
+            BorderProps bpsLeft, BorderProps bpsRight) throws IOException {
         int startx = borderRect.x;
         int starty = borderRect.y;
         int width = borderRect.width;
         int height = borderRect.height;
         boolean[] b = new boolean[] {
-            (bpsBefore != null), (bpsEnd != null),
-            (bpsAfter != null), (bpsStart != null)};
+            (bpsTop != null), (bpsRight != null),
+            (bpsBottom != null), (bpsLeft != null)};
         if (!b[0] && !b[1] && !b[2] && !b[3]) {
             return;
         }
         int[] bw = new int[] {
-            (b[0] ? bpsBefore.width : 0),
-            (b[1] ? bpsEnd.width : 0),
-            (b[2] ? bpsAfter.width : 0),
-            (b[3] ? bpsStart.width : 0)};
+            (b[0] ? bpsTop.width : 0),
+            (b[1] ? bpsRight.width : 0),
+            (b[2] ? bpsBottom.width : 0),
+            (b[3] ? bpsLeft.width : 0)};
         int[] clipw = new int[] {
-            BorderProps.getClippedWidth(bpsBefore),
-            BorderProps.getClippedWidth(bpsEnd),
-            BorderProps.getClippedWidth(bpsAfter),
-            BorderProps.getClippedWidth(bpsStart)};
+            BorderProps.getClippedWidth(bpsTop),
+            BorderProps.getClippedWidth(bpsRight),
+            BorderProps.getClippedWidth(bpsBottom),
+            BorderProps.getClippedWidth(bpsLeft)};
         starty += clipw[0];
         height -= clipw[0];
         height -= clipw[2];
@@ -73,7 +73,7 @@
 
         boolean[] slant = new boolean[] {
             (b[3] && b[0]), (b[0] && b[1]), (b[1] && b[2]), (b[2] && b[3])};
-        if (bpsBefore != null) {
+        if (bpsTop != null) {
             int sx1 = startx;
             int sx2 = (slant[0] ? sx1 + bw[3] - clipw[3] : sx1);
             int ex1 = startx + width;
@@ -86,11 +86,11 @@
             moveTo(sx1, clipy);
             int sx1a = sx1;
             int ex1a = ex1;
-            if (bpsBefore.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsStart != null && bpsStart.mode == BorderProps.COLLAPSE_OUTER) {
+            if (bpsTop.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsLeft != null && bpsLeft.mode == BorderProps.COLLAPSE_OUTER) {
                     sx1a -= clipw[3];
                 }
-                if (bpsEnd != null && bpsEnd.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsRight != null && bpsRight.mode == BorderProps.COLLAPSE_OUTER) {
                     ex1a += clipw[1];
                 }
                 lineTo(sx1a, outery);
@@ -102,10 +102,10 @@
             closePath();
             clip();
             drawBorderLine(sx1a, outery, ex1a, innery, true, true,
-                    bpsBefore.style, bpsBefore.color);
+                    bpsTop.style, bpsTop.color);
             restoreGraphicsState();
         }
-        if (bpsEnd != null) {
+        if (bpsRight != null) {
             int sy1 = starty;
             int sy2 = (slant[1] ? sy1 + bw[0] - clipw[0] : sy1);
             int ey1 = starty + height;
@@ -118,11 +118,11 @@
             moveTo(clipx, sy1);
             int sy1a = sy1;
             int ey1a = ey1;
-            if (bpsEnd.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsBefore != null && bpsBefore.mode == BorderProps.COLLAPSE_OUTER) {
+            if (bpsRight.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsTop != null && bpsTop.mode == BorderProps.COLLAPSE_OUTER) {
                     sy1a -= clipw[0];
                 }
-                if (bpsAfter != null && bpsAfter.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsBottom != null && bpsBottom.mode == BorderProps.COLLAPSE_OUTER) {
                     ey1a += clipw[2];
                 }
                 lineTo(outerx, sy1a);
@@ -133,10 +133,11 @@
             lineTo(innerx, sy2);
             closePath();
             clip();
-            drawBorderLine(innerx, sy1a, outerx, ey1a, false, false, bpsEnd.style, bpsEnd.color);
+            drawBorderLine(innerx, sy1a, outerx, ey1a, false, false,
+                           bpsRight.style, bpsRight.color);
             restoreGraphicsState();
         }
-        if (bpsAfter != null) {
+        if (bpsBottom != null) {
             int sx1 = startx;
             int sx2 = (slant[3] ? sx1 + bw[3] - clipw[3] : sx1);
             int ex1 = startx + width;
@@ -149,11 +150,11 @@
             moveTo(ex1, clipy);
             int sx1a = sx1;
             int ex1a = ex1;
-            if (bpsAfter.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsStart != null && bpsStart.mode == BorderProps.COLLAPSE_OUTER) {
+            if (bpsBottom.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsLeft != null && bpsLeft.mode == BorderProps.COLLAPSE_OUTER) {
                     sx1a -= clipw[3];
                 }
-                if (bpsEnd != null && bpsEnd.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsRight != null && bpsRight.mode == BorderProps.COLLAPSE_OUTER) {
                     ex1a += clipw[1];
                 }
                 lineTo(ex1a, outery);
@@ -164,10 +165,11 @@
             lineTo(ex2, innery);
             closePath();
             clip();
-            drawBorderLine(sx1a, innery, ex1a, outery, true, false, bpsAfter.style, bpsAfter.color);
+            drawBorderLine(sx1a, innery, ex1a, outery, true, false,
+                           bpsBottom.style, bpsBottom.color);
             restoreGraphicsState();
         }
-        if (bpsStart != null) {
+        if (bpsLeft != null) {
             int sy1 = starty;
             int sy2 = (slant[0] ? sy1 + bw[0] - clipw[0] : sy1);
             int ey1 = sy1 + height;
@@ -180,11 +182,11 @@
             moveTo(clipx, ey1);
             int sy1a = sy1;
             int ey1a = ey1;
-            if (bpsStart.mode == BorderProps.COLLAPSE_OUTER) {
-                if (bpsBefore != null && bpsBefore.mode == BorderProps.COLLAPSE_OUTER) {
+            if (bpsLeft.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsTop != null && bpsTop.mode == BorderProps.COLLAPSE_OUTER) {
                     sy1a -= clipw[0];
                 }
-                if (bpsAfter != null && bpsAfter.mode == BorderProps.COLLAPSE_OUTER) {
+                if (bpsBottom != null && bpsBottom.mode == BorderProps.COLLAPSE_OUTER) {
                     ey1a += clipw[2];
                 }
                 lineTo(outerx, ey1a);
@@ -195,7 +197,7 @@
             lineTo(innerx, ey2);
             closePath();
             clip();
-            drawBorderLine(outerx, sy1a, innerx, ey1a, false, true, bpsStart.style, bpsStart.color);
+            drawBorderLine(outerx, sy1a, innerx, ey1a, false, true, bpsLeft.style, bpsLeft.color);
             restoreGraphicsState();
         }
     }
diff --git a/src/java/org/apache/fop/render/intermediate/IFPainter.java b/src/java/org/apache/fop/render/intermediate/IFPainter.java
index 00fd742..06dfbd1 100644
--- a/src/java/org/apache/fop/render/intermediate/IFPainter.java
+++ b/src/java/org/apache/fop/render/intermediate/IFPainter.java
@@ -151,12 +151,14 @@
      * @param y Y-coordinate of the starting point of the text
      * @param letterSpacing additional spacing between characters (may be 0)
      * @param wordSpacing additional spacing between words (may be 0)
-     * @param dx an array of adjustment values for each character in X-direction (may be null)
+     * @param dp an array of 4-tuples, expressing [X,Y] placment
+     * adjustments and [X,Y] advancement adjustments, in that order (may be null); if
+     * not null, then adjustments.length must be the same as text.length()
      * @param text the text
      * @throws IFException if an error occurs while handling this event
      */
     void drawText(int x, int y, int letterSpacing, int wordSpacing,
-            int[] dx, String text) throws IFException;
+            int[][] dp, String text) throws IFException;
 
     /**
      * Restricts the current clipping region with the given rectangle.
@@ -178,15 +180,15 @@
      * Draws a border rectangle. The border segments are specified through {@link BorderProps}
      * instances.
      * @param rect the rectangle's coordinates and extent
-     * @param before the border segment on the before-side (top)
-     * @param after the border segment on the after-side (bottom)
-     * @param start the border segment on the start-side (left)
-     * @param end the border segment on the end-side (right)
+     * @param top the border segment on the top edge
+     * @param bottom the border segment on the bottom edge
+     * @param left the border segment on the left edge
+     * @param right the border segment on the right edge
      * @throws IFException if an error occurs while handling this event
      */
     void drawBorderRect(Rectangle rect,
-            BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) throws IFException;
+            BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) throws IFException;
 
     /**
      * Draws a line. NOTE: Currently, only horizontal lines are implemented!
diff --git a/src/java/org/apache/fop/render/intermediate/IFParser.java b/src/java/org/apache/fop/render/intermediate/IFParser.java
index 313cee6..5f9da9a 100644
--- a/src/java/org/apache/fop/render/intermediate/IFParser.java
+++ b/src/java/org/apache/fop/render/intermediate/IFParser.java
@@ -578,8 +578,14 @@
                 s = lastAttributes.getValue("word-spacing");
                 int wordSpacing = (s != null ? Integer.parseInt(s) : 0);
                 int[] dx = XMLUtil.getAttributeAsIntArray(lastAttributes, "dx");
+                int[][] dp = XMLUtil.getAttributeAsPositionAdjustments(lastAttributes, "dp");
+                // if only DX present, then convert DX to DP; otherwise use only DP,
+                // effectively ignoring DX
+                if ( ( dp == null ) && ( dx != null ) ) {
+                    dp = IFUtil.convertDXToDP ( dx );
+                }
                 setStructurePointer(lastAttributes);
-                painter.drawText(x, y, letterSpacing, wordSpacing, dx, content.toString());
+                painter.drawText(x, y, letterSpacing, wordSpacing, dp, content.toString());
                 resetStructurePointer();
             }
 
@@ -639,7 +645,7 @@
 
         }
 
-        private static final String[] SIDES = new String[] {"before", "after", "start", "end"};
+        private static final String[] SIDES = new String[] {"top", "bottom", "left", "right"};
 
         private class BorderRectHandler extends AbstractElementHandler {
 
diff --git a/src/java/org/apache/fop/render/intermediate/IFRenderer.java b/src/java/org/apache/fop/render/intermediate/IFRenderer.java
index 24a2e8a..36720b1 100644
--- a/src/java/org/apache/fop/render/intermediate/IFRenderer.java
+++ b/src/java/org/apache/fop/render/intermediate/IFRenderer.java
@@ -59,6 +59,7 @@
 import org.apache.fop.area.BookmarkData;
 import org.apache.fop.area.CTM;
 import org.apache.fop.area.DestinationData;
+import org.apache.fop.area.LineArea;
 import org.apache.fop.area.OffDocumentExtensionAttachment;
 import org.apache.fop.area.OffDocumentItem;
 import org.apache.fop.area.PageSequence;
@@ -474,7 +475,8 @@
         if (hasDocumentNavigation() && id != null) {
             int extraMarginBefore = 5000; // millipoints
             int ipp = currentIPPosition;
-            int bpp = currentBPPosition + inlineArea.getOffset() - extraMarginBefore;
+            int bpp = currentBPPosition
+                + inlineArea.getBlockProgressionOffset() - extraMarginBefore;
             saveAbsolutePosition(id, ipp, bpp);
         }
     }
@@ -905,7 +907,7 @@
         String ptr = (String) ip.getTrait(Trait.PTR); // used for accessibility
         // make sure the rect is determined *before* calling super!
         int ipp = currentIPPosition;
-        int bpp = currentBPPosition + ip.getOffset();
+        int bpp = currentBPPosition + ip.getBlockProgressionOffset();
         ipRect = new Rectangle(ipp, bpp, ip.getIPD(), ip.getBPD());
         AffineTransform transform = graphicContext.getTransform();
         ipRect = transform.createTransformedShape(ipRect).getBounds();
@@ -1014,7 +1016,7 @@
         }
 
         int rx = currentIPPosition + text.getBorderAndPaddingWidthStart();
-        int bl = currentBPPosition + text.getOffset() + text.getBaselineOffset();
+        int bl = currentBPPosition + text.getBlockProgressionOffset() + text.getBaselineOffset();
         textUtil.flush();
         textUtil.setStartPosition(rx, bl);
         textUtil.setSpacing(text.getTextLetterSpaceAdjust(), text.getTextWordSpaceAdjust());
@@ -1030,7 +1032,12 @@
         Font font = getFontFromArea(word.getParentArea());
         String s = word.getWord();
 
-        renderText(s, word.getLetterAdjustArray(),
+        int[][] dp = word.getGlyphPositionAdjustments();
+        if ( dp == null ) {
+            dp = IFUtil.convertDXToDP ( word.getLetterAdjustArray() );
+        }
+
+        renderText(s, dp, word.isReversed(),
                 font, (AbstractTextArea)word.getParentArea());
 
         super.renderWord(word);
@@ -1042,7 +1049,7 @@
         String s = space.getSpace();
 
         AbstractTextArea textArea = (AbstractTextArea)space.getParentArea();
-        renderText(s, null, font, textArea);
+        renderText(s, null, false, font, textArea);
 
         if (textUtil.combined && space.isAdjustable()) {
             //Used for justified text, for example
@@ -1055,24 +1062,32 @@
         super.renderSpace(space);
     }
 
+    private void renderText(String s,
+                              int[][] dp, boolean reversed,
+                              Font font, AbstractTextArea parentArea) {
+        if ( ( dp == null ) || IFUtil.isDPOnlyDX ( dp ) ) {
+            int[] dx = IFUtil.convertDPToDX ( dp );
+            renderTextWithAdjustments ( s, dx, reversed, font, parentArea );
+        } else {
+            renderTextWithAdjustments ( s, dp, reversed, font, parentArea );
+        }
+    }
+
     /**
-     * Does low-level rendering of text.
+     * Does low-level rendering of text using DX only position adjustments.
      * @param s text to render
-     * @param letterAdjust an array of widths for letter adjustment (may be null)
+     * @param dx an array of widths for letter adjustment (may be null)
+     * @param reversed if true then text has been reversed (from logical order)
      * @param font to font in use
      * @param parentArea the parent text area to retrieve certain traits from
      */
-    protected void renderText(String s,
-                           int[] letterAdjust,
-                           Font font, AbstractTextArea parentArea) {
+    private void renderTextWithAdjustments(String s,
+                              int[] dx, boolean reversed,
+                              Font font, AbstractTextArea parentArea) {
         int l = s.length();
         if (l == 0) {
             return;
         }
-
-        if (letterAdjust != null) {
-            textUtil.adjust(letterAdjust[0]);
-        }
         for (int i = 0; i < l; i++) {
             char ch = s.charAt(i);
             textUtil.addChar(ch);
@@ -1081,18 +1096,38 @@
                 int tls = (i < l - 1 ? parentArea.getTextLetterSpaceAdjust() : 0);
                 glyphAdjust += tls;
             }
-            if (letterAdjust != null && i < l - 1) {
-                glyphAdjust += letterAdjust[i + 1];
+            if (dx != null && i < l) {
+                glyphAdjust += dx[i];
             }
-
             textUtil.adjust(glyphAdjust);
         }
     }
 
+    /**
+     * Does low-level rendering of text using generalized position adjustments.
+     * @param s text to render
+     * @param dp an array of 4-tuples, expressing [X,Y] placment
+     * adjustments and [X,Y] advancement adjustments, in that order (may be null)
+     * @param reversed if true then text has been reversed (from logical order)
+     * @param font to font in use
+     * @param parentArea the parent text area to retrieve certain traits from
+     */
+    private void renderTextWithAdjustments(String s,
+                              int[][] dp, boolean reversed,
+                              Font font, AbstractTextArea parentArea) {
+        assert !textUtil.combined;
+        for ( int i = 0, n = s.length(); i < n; i++ ) {
+            textUtil.addChar ( s.charAt ( i ) );
+            if ( dp != null ) {
+                textUtil.adjust ( dp[i] );
+            }
+        }
+    }
+
     private class TextUtil {
         private static final int INITIAL_BUFFER_SIZE = 16;
-        private int[] dx = new int[INITIAL_BUFFER_SIZE];
-        private int lastDXPos = 0;
+        private int[][] dp = new int[INITIAL_BUFFER_SIZE][4];
+        // private int lastDPPos = 0; // TBD - not yet used
         private final StringBuffer text = new StringBuffer();
         private int startx, starty;
         private int tls, tws;
@@ -1102,25 +1137,41 @@
             text.append(ch);
         }
 
-        void adjust(int adjust) {
-            if (adjust != 0) {
+        void adjust(int dx) {
+            adjust ( new int[] {
+                    dx,                         // xPlaAdjust
+                    0,                          // yPlaAdjust
+                    dx,                         // xAdvAdjust
+                    0                           // yAdvAdjust
+                } );
+        }
+
+        void adjust(int[] pa) {
+            if ( !IFUtil.isPAIdentity ( pa ) ) {
                 int idx = text.length();
-                if (idx > dx.length - 1) {
-                    int newSize = Math.max(dx.length, idx + 1) + INITIAL_BUFFER_SIZE;
-                    int[] newDX = new int[newSize];
-                    System.arraycopy(dx, 0, newDX, 0, dx.length);
-                    dx = newDX;
+                if (idx > dp.length - 1) {
+                    int newSize = Math.max(dp.length, idx + 1) + INITIAL_BUFFER_SIZE;
+                    int[][] newDP = new int[newSize][];
+                    // reuse prior PA[0]...PA[dp.length-1]
+                    System.arraycopy(dp, 0, newDP, 0, dp.length);
+                    // populate new PA[dp.length]...PA[newDP.length-1]
+                    for ( int i = dp.length, n = newDP.length; i < n; i++ ) {
+                        newDP[i] = new int[4];
+                    }
+                    dp = newDP;
                 }
-                dx[idx] += adjust;
-                lastDXPos = idx;
+                IFUtil.adjustPA ( dp[idx - 1], pa );
+                // lastDPPos = idx;
             }
         }
 
         void reset() {
             if (text.length() > 0) {
                 text.setLength(0);
-                Arrays.fill(dx, 0);
-                lastDXPos = 0;
+                for ( int i = 0, n = dp.length; i < n; i++ ) {
+                    Arrays.fill(dp[i], 0);
+                }
+                // lastDPPos = 0;
             }
         }
 
@@ -1137,16 +1188,12 @@
         void flush() {
             if (text.length() > 0) {
                 try {
-                    int[] effDX = null;
-                    if (lastDXPos > 0) {
-                        int size = lastDXPos + 1;
-                        effDX = new int[size];
-                        System.arraycopy(dx, 0, effDX, 0, size);
-                    }
                     if (combined) {
-                        painter.drawText(startx, starty, 0, 0, effDX, text.toString());
+                        painter.drawText(startx, starty, 0, 0,
+                                         trimAdjustments ( dp, text.length() ), text.toString());
                     } else {
-                        painter.drawText(startx, starty, tls, tws, effDX, text.toString());
+                        painter.drawText(startx, starty, tls, tws,
+                                         trimAdjustments ( dp, text.length() ), text.toString());
                     }
                 } catch (IFException e) {
                     handleIFException(e);
@@ -1154,6 +1201,38 @@
                 reset();
             }
         }
+
+        /**
+         * Trim adjustments array <code>dp</code> to be no greater length than
+         * text length, and where trailing all-zero entries are removed.
+         * @param dp a position adjustments array (or null)
+         * @param textLength the length of the associated text
+         * @return either the original value of <code>dp</code> or a copy
+         * of its first N significant adjustment entries, such that N is
+         * no greater than text length, and the last entry has a non-zero
+         * adjustment.
+         */
+        private int[][] trimAdjustments ( int[][] dp, int textLength ) {
+            if ( dp != null ) {
+                int tl = textLength;
+                int pl = dp.length;
+                int i  = ( tl < pl ) ? tl : pl;
+                while ( i > 0 ) {
+                    int[] pa = dp [ i - 1 ];
+                    if ( !IFUtil.isPAIdentity ( pa ) ) {
+                        break;
+                    } else {
+                        i--;
+                    }
+                }
+                if ( i == 0 ) {
+                    dp = null;
+                } else if ( i < pl ) {
+                    dp = IFUtil.copyDP ( dp, 0, i );
+                }
+            }
+            return dp;
+        }
     }
 
     /** {@inheritDoc} */
@@ -1203,7 +1282,7 @@
         int style = area.getRuleStyle();
         int ruleThickness = area.getRuleThickness();
         int startx = currentIPPosition + area.getBorderAndPaddingWidthStart();
-        int starty = currentBPPosition + area.getOffset() + (ruleThickness / 2);
+        int starty = currentBPPosition + area.getBlockProgressionOffset() + (ruleThickness / 2);
         int endx = currentIPPosition
                         + area.getBorderAndPaddingWidthStart()
                         + area.getIPD();
@@ -1245,10 +1324,21 @@
             float startx, float starty,
             float width, float height,
             BorderProps bpsBefore, BorderProps bpsAfter,
-            BorderProps bpsStart, BorderProps bpsEnd) {
+            BorderProps bpsStart, BorderProps bpsEnd, int level) {
         Rectangle rect = toMillipointRectangle(startx, starty, width, height);
         try {
-            painter.drawBorderRect(rect, bpsBefore, bpsAfter, bpsStart, bpsEnd);
+            BorderProps bpsTop = bpsBefore;
+            BorderProps bpsBottom = bpsAfter;
+            BorderProps bpsLeft;
+            BorderProps bpsRight;
+            if ( ( level == -1 ) || ( ( level & 1 ) == 0 ) ) {
+                bpsLeft = bpsStart;
+                bpsRight = bpsEnd;
+            } else {
+                bpsLeft = bpsEnd;
+                bpsRight = bpsStart;
+            }
+            painter.drawBorderRect(rect, bpsTop, bpsBottom, bpsLeft, bpsRight);
         } catch (IFException ife) {
             handleIFException(ife);
         }
diff --git a/src/java/org/apache/fop/render/intermediate/IFSerializer.java b/src/java/org/apache/fop/render/intermediate/IFSerializer.java
index 471a982..47eb17d 100644
--- a/src/java/org/apache/fop/render/intermediate/IFSerializer.java
+++ b/src/java/org/apache/fop/render/intermediate/IFSerializer.java
@@ -506,9 +506,9 @@
     }
 
     /** {@inheritDoc} */
-    public void drawBorderRect(Rectangle rect, BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) throws IFException {
-        if (before == null && after == null && start == null && end == null) {
+    public void drawBorderRect(Rectangle rect, BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) throws IFException {
+        if (top == null && bottom == null && left == null && right == null) {
             return;
         }
         try {
@@ -517,17 +517,17 @@
             addAttribute(atts, "y", Integer.toString(rect.y));
             addAttribute(atts, "width", Integer.toString(rect.width));
             addAttribute(atts, "height", Integer.toString(rect.height));
-            if (before != null) {
-                addAttribute(atts, "before", before.toString());
+            if (top != null) {
+                addAttribute(atts, "top", top.toString());
             }
-            if (after != null) {
-                addAttribute(atts, "after", after.toString());
+            if (bottom != null) {
+                addAttribute(atts, "bottom", bottom.toString());
             }
-            if (start != null) {
-                addAttribute(atts, "start", start.toString());
+            if (left != null) {
+                addAttribute(atts, "left", left.toString());
             }
-            if (end != null) {
-                addAttribute(atts, "end", end.toString());
+            if (right != null) {
+                addAttribute(atts, "right", right.toString());
             }
             handler.element(EL_BORDER_RECT, atts);
         } catch (SAXException e) {
@@ -556,7 +556,7 @@
 
     /** {@inheritDoc} */
     public void drawText(int x, int y, int letterSpacing, int wordSpacing,
-            int[] dx, String text) throws IFException {
+            int[][] dp, String text) throws IFException {
         try {
             addID();
             AttributesImpl atts = new AttributesImpl();
@@ -568,8 +568,17 @@
             if (wordSpacing != 0) {
                 addAttribute(atts, "word-spacing", Integer.toString(wordSpacing));
             }
-            if (dx != null) {
-                addAttribute(atts, "dx", IFUtil.toString(dx));
+            if (dp != null) {
+                if ( IFUtil.isDPIdentity(dp) ) {
+                    // don't add dx or dp attribute
+                } else if ( IFUtil.isDPOnlyDX(dp) ) {
+                    // add dx attribute only
+                    int[] dx = IFUtil.convertDPToDX(dp);
+                    addAttribute(atts, "dx", IFUtil.toString(dx));
+                } else {
+                    // add dp attribute only
+                    addAttribute(atts, "dp", XMLUtil.encodePositionAdjustments(dp));
+                }
             }
             addStructurePointerAttribute(atts);
             handler.startElement(EL_TEXT, atts);
diff --git a/src/java/org/apache/fop/render/intermediate/IFUtil.java b/src/java/org/apache/fop/render/intermediate/IFUtil.java
index 1867b02..86991ec 100644
--- a/src/java/org/apache/fop/render/intermediate/IFUtil.java
+++ b/src/java/org/apache/fop/render/intermediate/IFUtil.java
@@ -199,4 +199,182 @@
         return documentHandler.getMimeType();
     }
 
+    /**
+     * Convert the general gpos 'dp' adjustments to the older 'dx' adjustments.
+     * This utility method is used to provide backward compatibility in implementations
+     * of IFPainter that have not yet been upgraded to the general position adjustments format.
+     * @param dp an array of 4-tuples, expressing [X,Y] placment
+     * adjustments and [X,Y] advancement adjustments, in that order (may be null)
+     * @param count if <code>dp</code> is not null, then a count of dp values to convert
+     * @return if <code>dp</code> is not null, then an array of adjustments to the current
+     * x position prior to rendering individual glyphs; otherwise, null
+     */
+    public static int[] convertDPToDX ( int[][] dp, int count ) {
+        int[] dx;
+        if ( dp != null ) {
+            dx = new int [ count ];
+            for ( int i = 0, n = count; i < n; i++ ) {
+                dx [ i ] = dp [ i ] [ 0 ];      // xPlaAdjust[i]
+            }
+        } else {
+            dx = null;
+        }
+        return dx;
+    }
+
+    /**
+     * Convert the general gpos 'dp' adjustments to the older 'dx' adjustments.
+     * This utility method is used to provide backward compatibility in implementations
+     * of IFPainter that have not yet been upgraded to the general position adjustments format.
+     * @param dp an array of 4-tuples, expressing [X,Y] placment
+     * adjustments and [X,Y] advancement adjustments, in that order (may be null)
+     * @return if <code>dp</code> is not null, then an array of adjustments to the current
+     * x position prior to rendering individual glyphs; otherwise, null
+     */
+    public static int[] convertDPToDX ( int[][] dp ) {
+        return convertDPToDX ( dp, ( dp != null ) ? dp.length : 0 );
+    }
+
+    /**
+     * Convert the general gpos 'dp' adjustments to the older 'dx' adjustments.
+     * This utility method is used to provide backward compatibility in implementations
+     * of IFPainter that have not yet been upgraded to the general position adjustments format.
+     * @param dx an array of adjustments to the current x position prior to rendering
+     * individual glyphs or null
+     * @param count if <code>dx</code> is not null, then a count of dx values to convert
+     * @return if <code>dx</code> is not null, then an array of 4-tuples, expressing [X,Y]
+     * placment adjustments and [X,Y] advancement adjustments, in that order; otherwise, null
+     */
+    public static int[][] convertDXToDP ( int[] dx, int count ) {
+        int[][] dp;
+        if ( dx != null ) {
+            dp = new int [ count ] [ 4 ];
+            for ( int i = 0, n = count; i < n; i++ ) {
+                int[] pa = dp [ i ];
+                int   d  = dx [ i ];
+                pa [ 0 ] = d;                   // xPlaAdjust[i]
+                pa [ 2 ] = d;                   // xAdvAdjust[i]
+            }
+        } else {
+            dp = null;
+        }
+        return dp;
+    }
+
+    /**
+     * Convert the general gpos 'dp' adjustments to the older 'dx' adjustments.
+     * This utility method is used to provide backward compatibility in implementations
+     * of IFPainter that have not yet been upgraded to the general position adjustments format.
+     * @param dx an array of adjustments to the current x position prior to rendering
+     * individual glyphs or null
+     * @return if <code>dx</code> is not null, then an array of 4-tuples, expressing [X,Y]
+     * placment adjustments and [X,Y] advancement adjustments, in that order; otherwise, null
+     */
+    public static int[][] convertDXToDP ( int[] dx ) {
+        return convertDXToDP ( dx, ( dx != null ) ? dx.length : 0 );
+    }
+
+    /**
+     * Determine if position adjustment is the identity adjustment, i.e., no non-zero adjustment.
+     * @param pa a 4-tuple, expressing [X,Y] placment and [X,Y] advance adjuustments (may be null)
+     * @return true if <code>dp</code> is null or contains no non-zero adjustment
+     */
+    public static boolean isPAIdentity ( int[] pa ) {
+        if ( pa == null ) {
+            return true;
+        } else {
+            for ( int k = 0; k < 4; k++ ) {
+                if ( pa[k] != 0 ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    /**
+     * Determine if position adjustments is the identity adjustment, i.e., no non-zero adjustment.
+     * @param dp an array of 4-tuples, expressing [X,Y] placment
+     * adjustments and [X,Y] advancement adjustments, in that order (may be null)
+     * @return true if <code>dp</code> is null or contains no non-zero adjustment
+     */
+    public static boolean isDPIdentity ( int[][] dp ) {
+        if ( dp == null ) {
+            return true;
+        } else {
+            for ( int i = 0, n = dp.length; i < n; i++ ) {
+                if ( !isPAIdentity ( dp[i] ) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    /**
+     * Determine if position adjustments comprises only DX adjustments as encoded by
+     * {@link #convertDPToDX}. Note that if given a set of all all zero position
+     * adjustments, both this method and {@link #isDPIdentity} will return true;
+     * however, this method may return true when {@link #isDPIdentity} returns false.
+     * @param dp an array of 4-tuples, expressing [X,Y] placment
+     * adjustments and [X,Y] advancement adjustments, in that order (may be null)
+     * @return true if <code>dp</code> is not null and contains only xPlaAdjust
+     * and xAdvAdjust values consistent with the output of {@link #convertDPToDX}.
+     */
+    public static boolean isDPOnlyDX ( int[][] dp ) {
+        if ( dp == null ) {
+            return false;
+        } else {
+            for ( int i = 0, n = dp.length; i < n; i++ ) {
+                int[] pa = dp[i];
+                if ( pa[0] != pa[2] ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    /**
+     * Adjust a position adjustments array. If both <code>paDst</code> and <code>paSrc</code> are
+     * non-null, then <code>paSrc[i]</code> is added to <code>paDst[i]</code>.
+     * @param paDst a 4-tuple, expressing [X,Y] placment
+     * and [X,Y] advance adjuustments (may be null)
+     * @param paSrc a 4-tuple, expressing [X,Y] placment
+     * and [X,Y] advance adjuustments (may be null)
+     */
+    public static void adjustPA ( int[] paDst, int[] paSrc ) {
+        if ( ( paDst != null ) && ( paSrc != null ) ) {
+            assert paDst.length == 4; assert paSrc.length == 4;
+            for ( int i = 0; i < 4; i++ ) {
+                paDst[i] += paSrc[i];
+            }
+        }
+    }
+
+    /**
+     * Copy entries from position adjustments.
+     * @param dp an array of 4-tuples, expressing [X,Y] placment
+     * adjustments and [X,Y] advancement adjustments, in that order
+     * @param offset starting offset from which to copy
+     * @param count number of entries to copy
+     * @return a deep copy of the count position adjustment entries start at
+     * offset
+     */
+    public static int[][] copyDP ( int[][] dp, int offset, int count ) {
+        if ( ( dp == null ) || ( offset > dp.length ) || ( ( offset + count ) > dp.length ) ) {
+            throw new IllegalArgumentException();
+        } else {
+            int[][] dpNew = new int [ count ] [ 4 ];
+            for ( int i = 0, n = count; i < n; i++ ) {
+                int[] paDst = dpNew [ i ];
+                int[] paSrc = dp [ i + offset ];
+                for ( int k = 0; k < 4; k++ ) {
+                    paDst [ k ] = paSrc [ k ];
+                }
+            }
+            return dpNew;
+        }
+    }
+
 }
diff --git a/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java b/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java
index fb88b8b..de66771 100644
--- a/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java
+++ b/src/java/org/apache/fop/render/java2d/ConfiguredFontCollection.java
@@ -89,7 +89,8 @@
                 } else {
                     CustomFont fontMetrics = FontLoader.loadFont(
                             fontFile, null, true, EncodingMode.AUTO,
-                            configFontInfo.getKerning(), fontResolver);
+                            configFontInfo.getKerning(),
+                            configFontInfo.getAdvanced(), fontResolver);
                     font = new CustomFontMetricsMapper(fontMetrics);
                 }
 
diff --git a/src/java/org/apache/fop/render/java2d/Java2DPainter.java b/src/java/org/apache/fop/render/java2d/Java2DPainter.java
index 3966457..c7fa1ad 100644
--- a/src/java/org/apache/fop/render/java2d/Java2DPainter.java
+++ b/src/java/org/apache/fop/render/java2d/Java2DPainter.java
@@ -42,6 +42,7 @@
 import org.apache.fop.render.intermediate.IFException;
 import org.apache.fop.render.intermediate.IFPainter;
 import org.apache.fop.render.intermediate.IFState;
+import org.apache.fop.render.intermediate.IFUtil;
 import org.apache.fop.traits.BorderProps;
 import org.apache.fop.traits.RuleStyle;
 import org.apache.fop.util.CharUtilities;
@@ -184,11 +185,11 @@
     }
 
     /** {@inheritDoc} */
-    public void drawBorderRect(Rectangle rect, BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) throws IFException {
-        if (before != null || after != null || start != null || end != null) {
+    public void drawBorderRect(Rectangle rect, BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) throws IFException {
+        if (top != null || bottom != null || left != null || right != null) {
             try {
-                this.borderPainter.drawBorders(rect, before, after, start, end);
+                this.borderPainter.drawBorders(rect, top, bottom, left, right);
             } catch (IOException e) {
                 //Won't happen with Java2D
                 throw new IllegalStateException("Unexpected I/O error");
@@ -203,7 +204,7 @@
     }
 
     /** {@inheritDoc} */
-    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[] dx, String text)
+    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[][] dp, String text)
             throws IFException {
         g2dState.updateColor(state.getTextColor());
         FontTriplet triplet = new FontTriplet(
@@ -220,6 +221,7 @@
         Point2D cursor = new Point2D.Float(0, 0);
 
         int l = text.length();
+        int[] dx = IFUtil.convertDPToDX ( dp );
         int dxl = (dx != null ? dx.length : 0);
 
         if (dx != null && dxl > 0 && dx[0] != 0) {
diff --git a/src/java/org/apache/fop/render/java2d/Java2DRenderer.java b/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
index 766aa08..6eaa66d 100644
--- a/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
+++ b/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
@@ -713,7 +713,7 @@
         renderInlineAreaBackAndBorders(text);
 
         int rx = currentIPPosition + text.getBorderAndPaddingWidthStart();
-        int bl = currentBPPosition + text.getOffset() + text.getBaselineOffset();
+        int bl = currentBPPosition + text.getBlockProgressionOffset() + text.getBaselineOffset();
         int saveIP = currentIPPosition;
 
         Font font = getFontFromArea(text);
@@ -825,7 +825,7 @@
         // TODO Colors do not work on Leaders yet
 
         float startx = (currentIPPosition + area.getBorderAndPaddingWidthStart()) / 1000f;
-        float starty = ((currentBPPosition + area.getOffset()) / 1000f);
+        float starty = ((currentBPPosition + area.getBlockProgressionOffset()) / 1000f);
         float endx = (currentIPPosition + area.getBorderAndPaddingWidthStart()
                 + area.getIPD()) / 1000f;
 
diff --git a/src/java/org/apache/fop/render/pcl/PCLPainter.java b/src/java/org/apache/fop/render/pcl/PCLPainter.java
index afae8ac..53e3d77 100644
--- a/src/java/org/apache/fop/render/pcl/PCLPainter.java
+++ b/src/java/org/apache/fop/render/pcl/PCLPainter.java
@@ -51,6 +51,7 @@
 import org.apache.fop.render.intermediate.IFException;
 import org.apache.fop.render.intermediate.IFPainter;
 import org.apache.fop.render.intermediate.IFState;
+import org.apache.fop.render.intermediate.IFUtil;
 import org.apache.fop.render.java2d.FontMetricsMapper;
 import org.apache.fop.render.java2d.Java2DPainter;
 import org.apache.fop.traits.BorderProps;
@@ -206,13 +207,13 @@
 
     /** {@inheritDoc} */
     public void drawBorderRect(final Rectangle rect,
-            final BorderProps before, final BorderProps after,
-            final BorderProps start, final BorderProps end) throws IFException {
+            final BorderProps top, final BorderProps bottom,
+            final BorderProps left, final BorderProps right) throws IFException {
         if (isSpeedOptimized()) {
-            super.drawBorderRect(rect, before, after, start, end);
+            super.drawBorderRect(rect, top, bottom, left, right);
             return;
         }
-        if (before != null || after != null || start != null || end != null) {
+        if (top != null || bottom != null || left != null || right != null) {
             final Rectangle boundingBox = rect;
             final Dimension dim = boundingBox.getSize();
 
@@ -224,7 +225,7 @@
                     Java2DPainter painter = new Java2DPainter(g2d,
                             getContext(), parent.getFontInfo(), state);
                     try {
-                        painter.drawBorderRect(rect, before, after, start, end);
+                        painter.drawBorderRect(rect, top, bottom, left, right);
                     } catch (IFException e) {
                         //This should never happen with the Java2DPainter
                         throw new RuntimeException("Unexpected error while painting borders", e);
@@ -307,7 +308,7 @@
     }
 
     /** {@inheritDoc} */
-    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[] dx, String text)
+    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[][] dp, String text)
                 throws IFException {
         try {
             FontTriplet triplet = new FontTriplet(
@@ -319,13 +320,13 @@
                         ? false
                         : HardcodedFonts.setFont(gen, fontKey, state.getFontSize(), text);
             if (pclFont) {
-                drawTextNative(x, y, letterSpacing, wordSpacing, dx, text, triplet);
+                drawTextNative(x, y, letterSpacing, wordSpacing, dp, text, triplet);
             } else {
-                drawTextAsBitmap(x, y, letterSpacing, wordSpacing, dx, text, triplet);
+                drawTextAsBitmap(x, y, letterSpacing, wordSpacing, dp, text, triplet);
                 if (DEBUG) {
                     state.setTextColor(Color.GRAY);
                     HardcodedFonts.setFont(gen, "F1", state.getFontSize(), text);
-                    drawTextNative(x, y, letterSpacing, wordSpacing, dx, text, triplet);
+                    drawTextNative(x, y, letterSpacing, wordSpacing, dp, text, triplet);
                 }
             }
         } catch (IOException ioe) {
@@ -333,7 +334,7 @@
         }
     }
 
-    private void drawTextNative(int x, int y, int letterSpacing, int wordSpacing, int[] dx,
+    private void drawTextNative(int x, int y, int letterSpacing, int wordSpacing, int[][] dp,
             String text, FontTriplet triplet) throws IOException {
         Color textColor = state.getTextColor();
         if (textColor != null) {
@@ -347,6 +348,7 @@
         float fontSize = state.getFontSize() / 1000f;
         Font font = parent.getFontInfo().getFontInstance(triplet, state.getFontSize());
         int l = text.length();
+        int[] dx = IFUtil.convertDPToDX ( dp );
         int dxl = (dx != null ? dx.length : 0);
 
         StringBuffer sb = new StringBuffer(Math.max(16, l));
@@ -392,7 +394,7 @@
 
     private Rectangle getTextBoundingBox(                        // CSOK: ParameterNumber
             int x, int y,
-            int letterSpacing, int wordSpacing, int[] dx,
+            int letterSpacing, int wordSpacing, int[][] dp,
             String text,
             Font font, FontMetricsMapper metrics) {
         int maxAscent = metrics.getMaxAscent(font.getFontSize()) / 1000;
@@ -403,6 +405,7 @@
                 0, maxAscent - descent + 2 * safetyMargin);
 
         int l = text.length();
+        int[] dx = IFUtil.convertDPToDX ( dp );
         int dxl = (dx != null ? dx.length : 0);
 
         if (dx != null && dxl > 0 && dx[0] != 0) {
@@ -432,7 +435,7 @@
     }
 
     private void drawTextAsBitmap(final int x, final int y,
-            final int letterSpacing, final int wordSpacing, final int[] dx,
+            final int letterSpacing, final int wordSpacing, final int[][] dp,
             final String text, FontTriplet triplet) throws IFException {
         //Use Java2D to paint different fonts via bitmap
         final Font font = parent.getFontInfo().getFontInstance(triplet, state.getFontSize());
@@ -447,7 +450,7 @@
         final int baselineOffset = maxAscent + safetyMargin;
 
         final Rectangle boundingBox = getTextBoundingBox(x, y,
-                letterSpacing, wordSpacing, dx, text, font, mapper);
+                letterSpacing, wordSpacing, dp, text, font, mapper);
         final Dimension dim = boundingBox.getSize();
 
         Graphics2DImagePainter painter = new Graphics2DImagePainter() {
@@ -470,7 +473,7 @@
                 Java2DPainter painter = new Java2DPainter(g2d,
                         getContext(), parent.getFontInfo(), state);
                 try {
-                    painter.drawText(x, y, letterSpacing, wordSpacing, dx, text);
+                    painter.drawText(x, y, letterSpacing, wordSpacing, dp, text);
                 } catch (IFException e) {
                     //This should never happen with the Java2DPainter
                     throw new RuntimeException("Unexpected error while painting text", e);
diff --git a/src/java/org/apache/fop/render/pdf/PDFPainter.java b/src/java/org/apache/fop/render/pdf/PDFPainter.java
index 11af216..96bf853 100644
--- a/src/java/org/apache/fop/render/pdf/PDFPainter.java
+++ b/src/java/org/apache/fop/render/pdf/PDFPainter.java
@@ -44,8 +44,10 @@
 import org.apache.fop.render.intermediate.IFContext;
 import org.apache.fop.render.intermediate.IFException;
 import org.apache.fop.render.intermediate.IFState;
+import org.apache.fop.render.intermediate.IFUtil;
 import org.apache.fop.render.pdf.PDFLogicalStructureHandler.MarkedContentInfo;
 import org.apache.fop.traits.BorderProps;
+import org.apache.fop.traits.Direction;
 import org.apache.fop.traits.RuleStyle;
 import org.apache.fop.util.CharUtilities;
 
@@ -258,12 +260,12 @@
 
     /** {@inheritDoc} */
     @Override
-    public void drawBorderRect(Rectangle rect, BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) throws IFException {
-        if (before != null || after != null || start != null || end != null) {
+    public void drawBorderRect(Rectangle rect, BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) throws IFException {
+        if (top != null || bottom != null || left != null || right != null) {
             generator.endTextObject();
             try {
-                this.borderPainter.drawBorders(rect, before, after, start, end);
+                this.borderPainter.drawBorders(rect, top, bottom, left, right);
             } catch (IOException ioe) {
                 throw new IFException("I/O error while drawing borders", ioe);
             }
@@ -290,7 +292,7 @@
     }
 
     /** {@inheritDoc} */
-    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[] dx,
+    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[][] dp,
             String text)
             throws IFException {
         if (accessEnabled) {
@@ -308,6 +310,19 @@
 
         FontTriplet triplet = new FontTriplet(
                 state.getFontFamily(), state.getFontStyle(), state.getFontWeight());
+
+        if ( ( dp == null ) || IFUtil.isDPOnlyDX ( dp ) ) {
+            drawTextWithDX ( x, y, text, triplet, letterSpacing,
+                             wordSpacing, IFUtil.convertDPToDX ( dp ) );
+        } else {
+            drawTextWithDP ( x, y, text, triplet, letterSpacing,
+                             wordSpacing, dp );
+        }
+    }
+
+    private void drawTextWithDX ( int x, int y, String text, FontTriplet triplet,
+                                  int letterSpacing, int wordSpacing, int[] dx ) {
+
         //TODO Ignored: state.getFontVariant()
         //TODO Opportunity for font caching if font state is more heavily used
         String fontKey = getFontInfo().getInternalFontKey(triplet);
@@ -374,6 +389,70 @@
         textutil.writeTJ();
     }
 
+    private static int[] paZero = new int[4];
+
+    private void drawTextWithDP ( int x, int y, String text, FontTriplet triplet,
+                                  int letterSpacing, int wordSpacing, int[][] dp ) {
+        assert text != null;
+        assert triplet != null;
+        assert dp != null;
+        String          fk              = getFontInfo().getInternalFontKey(triplet);
+        Typeface        tf              = getTypeface(fk);
+        if ( tf.isMultiByte() ) {
+            int         fs              = state.getFontSize();
+            float       fsPoints        = fs / 1000f;
+            Font        f               = getFontInfo().getFontInstance(triplet, fs);
+            // String      fn              = f.getFontName();
+            PDFTextUtil tu              = generator.getTextUtil();
+            double      xc              = 0f;
+            double      yc              = 0f;
+            double      xoLast          = 0f;
+            double      yoLast          = 0f;
+            double      wox             = wordSpacing;
+            tu.writeTextMatrix ( new AffineTransform ( 1, 0, 0, -1, x / 1000f, y / 1000f ) );
+            tu.updateTf ( fk, fsPoints, true );
+            generator.updateCharacterSpacing ( letterSpacing / 1000f );
+            for ( int i = 0, n = text.length(); i < n; i++ ) {
+                char    ch              = text.charAt ( i );
+                int[]   pa              = ( i < dp.length ) ? dp [ i ] : paZero;
+                double  xo              = xc + pa[0];
+                double  yo              = yc + pa[1];
+                double  xa              = f.getCharWidth(ch) + maybeWordOffsetX ( wox, ch, null );
+                double  ya              = 0;
+                double  xd              = ( xo - xoLast ) / 1000f;
+                double  yd              = ( yo - yoLast ) / 1000f;
+                tu.writeTd ( xd, yd );
+                tu.writeTj ( f.mapChar ( ch ) );
+                xc += xa + pa[2];
+                yc += ya + pa[3];
+                xoLast = xo;
+                yoLast = yo;
+            }
+        }
+    }
+
+    private double maybeWordOffsetX ( double wox, char ch, Direction dir ) {
+        if ( ( wox != 0 )
+             && CharUtilities.isAdjustableSpace ( ch )
+             && ( ( dir == null ) || dir.isHorizontal() ) ) {
+            return wox;
+        } else {
+            return 0;
+        }
+    }
+
+    /*
+    private double maybeWordOffsetY ( double woy, char ch, Direction dir ) {
+        if ( ( woy != 0 )
+             && CharUtilities.isAdjustableSpace ( ch ) && dir.isVertical()
+             && ( ( dir != null ) && dir.isVertical() ) ) {
+            return woy;
+        } else {
+            return 0;
+        }
+    }
+    */
+
     private char selectAndMapSingleByteFont(SingleByteFont singleByteFont, String fontName,
             float fontSize, PDFTextUtil textutil, char ch) {
         if (singleByteFont != null && singleByteFont.hasAdditionalEncodings()) {
diff --git a/src/java/org/apache/fop/render/ps/PSPainter.java b/src/java/org/apache/fop/render/ps/PSPainter.java
index 1b1f943..6396de8 100644
--- a/src/java/org/apache/fop/render/ps/PSPainter.java
+++ b/src/java/org/apache/fop/render/ps/PSPainter.java
@@ -51,6 +51,7 @@
 import org.apache.fop.render.intermediate.IFContext;
 import org.apache.fop.render.intermediate.IFException;
 import org.apache.fop.render.intermediate.IFState;
+import org.apache.fop.render.intermediate.IFUtil;
 import org.apache.fop.traits.BorderProps;
 import org.apache.fop.traits.RuleStyle;
 import org.apache.fop.util.CharUtilities;
@@ -234,16 +235,16 @@
     }
 
     /** {@inheritDoc} */
-    public void drawBorderRect(Rectangle rect, BorderProps before, BorderProps after,
-            BorderProps start, BorderProps end) throws IFException {
-        if (before != null || after != null || start != null || end != null) {
+    public void drawBorderRect(Rectangle rect, BorderProps top, BorderProps bottom,
+            BorderProps left, BorderProps right) throws IFException {
+        if (top != null || bottom != null || left != null || right != null) {
             try {
                 endTextObject();
                 if (getPSUtil().getRenderingMode() == PSRenderingMode.SIZE
-                    && hasOnlySolidBorders(before, after, start, end)) {
-                    super.drawBorderRect(rect, before, after, start, end);
+                    && hasOnlySolidBorders(top, bottom, left, right)) {
+                    super.drawBorderRect(rect, top, bottom, left, right);
                 } else {
-                    this.borderPainter.drawBorders(rect, before, after, start, end);
+                    this.borderPainter.drawBorders(rect, top, bottom, left, right);
                 }
             } catch (IOException ioe) {
                 throw new IFException("I/O error in drawBorderRect()", ioe);
@@ -343,9 +344,8 @@
 
     /** {@inheritDoc} */
     public void drawText(int x, int y, int letterSpacing, int wordSpacing,
-            int[] dx, String text) throws IFException {
+            int[][] dp, String text) throws IFException {
         try {
-            //Note: dy is currently ignored
             PSGenerator generator = getGenerator();
             generator.useColor(state.getTextColor());
             beginTextObject();
@@ -384,7 +384,7 @@
                     if (currentEncoding != encoding) {
                         if (i > 0) {
                             writeText(text, start, i - start,
-                                    letterSpacing, wordSpacing, dx, font, tf);
+                                    letterSpacing, wordSpacing, dp, font, tf);
                         }
                         if (encoding == 0) {
                             useFont(fontKey, sizeMillipoints);
@@ -396,12 +396,12 @@
                     }
                 }
                 writeText(text, start, textLen - start,
-                        letterSpacing, wordSpacing, dx, font, tf);
+                        letterSpacing, wordSpacing, dp, font, tf);
             } else {
                 //Simple single-font painting
                 useFont(fontKey, sizeMillipoints);
                 writeText(text, 0, textLen,
-                        letterSpacing, wordSpacing, dx, font, tf);
+                        letterSpacing, wordSpacing, dp, font, tf);
             }
         } catch (IOException ioe) {
             throw new IFException("I/O error in drawText()", ioe);
@@ -410,7 +410,7 @@
 
     private void writeText(                                      // CSOK: ParameterNumber
             String text, int start, int len,
-            int letterSpacing, int wordSpacing, int[] dx,
+            int letterSpacing, int wordSpacing, int[][] dp,
             Font font, Typeface tf) throws IOException {
         PSGenerator generator = getGenerator();
         int end = start + len;
@@ -423,6 +423,7 @@
         int lineStart = 0;
         StringBuffer accText = new StringBuffer(initialSize);
         StringBuffer sb = new StringBuffer(initialSize);
+        int[] dx = IFUtil.convertDPToDX ( dp );
         int dxl = (dx != null ? dx.length : 0);
         for (int i = start; i < end; i++) {
             char orgChar = text.charAt(i);
diff --git a/src/java/org/apache/fop/render/xml/XMLRenderer.java b/src/java/org/apache/fop/render/xml/XMLRenderer.java
index 21d2804..a36e654 100644
--- a/src/java/org/apache/fop/render/xml/XMLRenderer.java
+++ b/src/java/org/apache/fop/render/xml/XMLRenderer.java
@@ -92,6 +92,7 @@
 import org.apache.fop.render.XMLHandler;
 import org.apache.fop.util.ColorUtil;
 import org.apache.fop.util.DOM2SAX;
+import org.apache.fop.util.XMLUtil;
 
 /**
  * Renderer that renders areas to XML for debugging purposes.
@@ -702,6 +703,7 @@
             break;
         default: //nop
         }
+        maybeAddLevelAttribute(block);
         startElement("block", atts);
         super.renderBlock(block);
         endElement("block");
@@ -715,6 +717,7 @@
         atts.clear();
         addAreaAttributes(line);
         addTraitAttributes(line);
+        maybeAddLevelAttribute(line);
         startElement("lineArea", atts);
         super.renderLineArea(line);
         endElement("lineArea");
@@ -747,7 +750,7 @@
         atts.clear();
         addAreaAttributes(viewport);
         addTraitAttributes(viewport);
-        addAttribute("offset", viewport.getOffset());
+        addAttribute("offset", viewport.getBlockProgressionOffset());
         addAttribute("pos", viewport.getContentPosition());
         if (viewport.hasClip()) {
             addAttribute("clip", "true");
@@ -809,7 +812,7 @@
         atts.clear();
         addAreaAttributes(space);
         addTraitAttributes(space);
-        addAttribute("offset", space.getOffset());
+        addAttribute("offset", space.getBlockProgressionOffset());
         startElement("space", atts);
         endElement("space");
     }
@@ -826,10 +829,11 @@
         if (text.getTextLetterSpaceAdjust() != 0) {
             addAttribute("tlsadjust", text.getTextLetterSpaceAdjust());
         }
-        addAttribute("offset", text.getOffset());
+        addAttribute("offset", text.getBlockProgressionOffset());
         addAttribute("baseline", text.getBaselineOffset());
         addAreaAttributes(text);
         addTraitAttributes(text);
+        maybeAddLevelAttribute(text);
         startElement("text", atts);
         super.renderText(text);
         endElement("text");
@@ -841,7 +845,10 @@
     @Override
     protected void renderWord(WordArea word) {
         atts.clear();
-        addAttribute("offset", word.getOffset());
+        int offset = word.getBlockProgressionOffset();
+        if ( offset != 0 ) {
+            addAttribute("offset", offset);
+        }
         int[] letterAdjust = word.getLetterAdjustArray();
         if (letterAdjust != null) {
             StringBuffer sb = new StringBuffer(64);
@@ -857,6 +864,11 @@
                 addAttribute("letter-adjust", sb.toString());
             }
         }
+        maybeAddLevelAttribute(word);
+        maybeAddPositionAdjustAttribute(word);
+        if ( word.isReversed() ) {
+            addAttribute("reversed", "true");
+        }
         startElement("word", atts);
         characters(word.getWord());
         endElement("word");
@@ -869,7 +881,11 @@
     @Override
     protected void renderSpace(SpaceArea space) {
         atts.clear();
-        addAttribute("offset", space.getOffset());
+        int offset = space.getBlockProgressionOffset();
+        if ( offset != 0 ) {
+            addAttribute("offset", offset);
+        }
+        maybeAddLevelAttribute(space);
         if (!space.isAdjustable()) {
             addAttribute("adj", "false"); //default is true
         }
@@ -887,7 +903,8 @@
         atts.clear();
         addAreaAttributes(ip);
         addTraitAttributes(ip);
-        addAttribute("offset", ip.getOffset());
+        addAttribute("offset", ip.getBlockProgressionOffset());
+        maybeAddLevelAttribute(ip);
         startElement("inlineparent", atts);
         super.renderInlineParent(ip);
         endElement("inlineparent");
@@ -901,7 +918,8 @@
         atts.clear();
         addAreaAttributes(ibp);
         addTraitAttributes(ibp);
-        addAttribute("offset", ibp.getOffset());
+        addAttribute("offset", ibp.getBlockProgressionOffset());
+        maybeAddLevelAttribute(ibp);
         startElement("inlineblockparent", atts);
         super.renderInlineBlockParent(ibp);
         endElement("inlineblockparent");
@@ -915,7 +933,7 @@
         atts.clear();
         addAreaAttributes(area);
         addTraitAttributes(area);
-        addAttribute("offset", area.getOffset());
+        addAttribute("offset", area.getBlockProgressionOffset());
         addAttribute("ruleStyle", area.getRuleStyleAsString());
         addAttribute("ruleThickness", area.getRuleThickness());
         startElement("leader", atts);
@@ -928,5 +946,19 @@
         return XML_MIME_TYPE;
     }
 
-}
+    private void maybeAddLevelAttribute ( Area a ) {
+        int level = a.getBidiLevel();
+        if ( level >= 0 ) {
+            addAttribute ( "level", level );
+        }
+    }
 
+    private void maybeAddPositionAdjustAttribute ( WordArea w ) {
+        int[][] adjustments = w.getGlyphPositionAdjustments();
+        if ( adjustments != null ) {
+            addAttribute ( "position-adjust", XMLUtil.encodePositionAdjustments ( adjustments ) );
+        }
+    }
+
+
+}
diff --git a/src/java/org/apache/fop/text/bidi/BidiClassUtils.java b/src/java/org/apache/fop/text/bidi/BidiClassUtils.java
new file mode 100644
index 0000000..129474e
--- /dev/null
+++ b/src/java/org/apache/fop/text/bidi/BidiClassUtils.java
@@ -0,0 +1,271 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.text.bidi;
+
+import java.util.Arrays;
+import org.apache.fop.util.BidiConstants;
+
+// CSOFF: WhitespaceAfterCheck
+// CSOFF: LineLengthCheck
+
+/*
+ * !!! THIS IS A GENERATED FILE !!!
+ * If updates to the source are needed, then:
+ * - apply the necessary modifications to
+ *   'src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiClassUtils.java'
+ * - run 'ant codegen-unicode', which will generate a new BidiClassUtils.java
+ *   in 'src/java/org/apache/fop/text/bidi'
+ * - commit BOTH changed files
+ */
+
+/** Bidirectional class utilities. */
+public final class BidiClassUtils {
+
+private BidiClassUtils() {
+}
+
+private static byte[] bcL1 = {
+15,15,15,15,15,15,15,15,15,17,16,17,18,16,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,17,18,19,19,11,11,11,19,19,19,
+19,19,10,13,10,13,13,9,9,9,9,9,9,9,9,9,9,13,19,19,19,19,19,19,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,19,19,
+19,19,19,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,19,19,19,15,15,15,15,15,15,16,15,15,15,15,15,15,15,15,15,15,
+15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,19,11,11,11,11,19,19,19,19,1,19,19,15,19,19,11,11,9,9,19,1,19,19,19,9,1,
+19,19,19,19,19,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,19,1,1,1,1,1,1,1,1
+};
+
+private static byte[] bcR1 = {
+4,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
+14,14,14,14,14,4,14,4,14,14,4,14,14,4,14,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,12,12,12,12,5,5,19,19,5,11,11,5,13,5,19,19,14,14,14,14,14,14,14,14,14,14,14,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
+14,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,11,12,12,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,14,14,14,14,14,14,14,12,19,14,14,14,14,14,14,5,5,14,14,19,14,14,14,14,5,5,9,9,9,9,9,9,9,9,9,9,5,
+5,5,5,5,5
+};
+
+private static int[] bcS1 = {
+256,443,444,448,452,660,661,688,697,699,706,710,720,722,736,741,748,749,750,751,768,880,884,885,886,890,891,894,900,902,903,
+904,908,910,931,1014,1015,1154,1155,1160,1162,1329,1369,1370,1377,1417,1418,1792,1806,1807,1808,1809,1810,1840,1867,1869,1958,
+1969,1970,1984,1994,2027,2036,2038,2039,2042,2043,2048,2070,2074,2075,2084,2085,2088,2089,2094,2096,2111,2112,2137,2140,2142,
+2143,2304,2307,2308,2362,2363,2364,2365,2366,2369,2377,2381,2382,2384,2385,2392,2402,2404,2406,2416,2417,2418,2425,2433,2434,
+2437,2447,2451,2474,2482,2486,2492,2493,2494,2497,2503,2507,2509,2510,2519,2524,2527,2530,2534,2544,2546,2548,2554,2555,2561,
+2563,2565,2575,2579,2602,2610,2613,2616,2620,2622,2625,2631,2635,2641,2649,2654,2662,2672,2674,2677,2689,2691,2693,2703,2707,
+2730,2738,2741,2748,2749,2750,2753,2759,2761,2763,2765,2768,2784,2786,2790,2801,2817,2818,2821,2831,2835,2858,2866,2869,2876,
+2877,2878,2879,2880,2881,2887,2891,2893,2902,2903,2908,2911,2914,2918,2928,2929,2930,2946,2947,2949,2958,2962,2969,2972,2974,
+2979,2984,2990,3006,3008,3009,3014,3018,3021,3024,3031,3046,3056,3059,3065,3066,3073,3077,3086,3090,3114,3125,3133,3134,3137,
+3142,3146,3157,3160,3168,3170,3174,3192,3199,3202,3205,3214,3218,3242,3253,3260,3261,3262,3263,3264,3270,3271,3274,3276,3285,
+3294,3296,3298,3302,3313,3330,3333,3342,3346,3389,3390,3393,3398,3402,3405,3406,3415,3424,3426,3430,3440,3449,3450,3458,3461,
+3482,3507,3517,3520,3530,3535,3538,3542,3544,3570,3572,3585,3633,3634,3636,3647,3648,3654,3655,3663,3664,3674,3713,3716,3719,
+3722,3725,3732,3737,3745,3749,3751,3754,3757,3761,3762,3764,3771,3773,3776,3782,3784,3792,3804,3840,3841,3844,3859,3864,3866,
+3872,3882,3892,3893,3894,3895,3896,3897,3898,3899,3900,3901,3902,3904,3913,3953,3967,3968,3973,3974,3976,3981,3993,4030,4038,
+4039,4046,4048,4053,4057,4096,4139,4141,4145,4146,4152,4153,4155,4157,4159,4160,4170,4176,4182,4184,4186,4190,4193,4194,4197,
+4199,4206,4209,4213,4226,4227,4229,4231,4237,4238,4239,4240,4250,4253,4254,4256,4304,4347,4348,4352,4682,4688,4696,4698,4704,
+4746,4752,4786,4792,4800,4802,4808,4824,4882,4888,4957,4960,4961,4969,4992,5008,5024,5120,5121,5741,5743,5760,5761,5787,5788,
+5792,5867,5870,5888,5902,5906,5920,5938,5941,5952,5970,5984,5998,6002,6016,6068,6070,6071,6078,6086,6087,6089,6100,6103,6104,
+6107,6108,6109,6112,6128,6144,6150,6151,6155,6158,6160,6176,6211,6212,6272,6313,6314,6320,6400,6432,6435,6439,6441,6448,6450,
+6451,6457,6464,6468,6470,6480,6512,6528,6576,6593,6600,6608,6618,6622,6656,6679,6681,6686,6688,6741,6742,6743,6744,6752,6753,
+6754,6755,6757,6765,6771,6783,6784,6800,6816,6823,6824,6912,6916,6917,6964,6965,6966,6971,6972,6973,6978,6979,6981,6992,7002,
+7009,7019,7028,7040,7042,7043,7073,7074,7078,7080,7082,7086,7088,7104,7142,7143,7144,7146,7149,7150,7151,7154,7164,7168,7204,
+7212,7220,7222,7227,7232,7245,7248,7258,7288,7294,7376,7379,7380,7393,7394,7401,7405,7406,7410,7424,7468,7522,7544,7545,7579,
+7616,7676,7680,7960,7968,8008,8016,8025,8027,8029,8031,8064,8118,8125,8126,8127,8130,8134,8141,8144,8150,8157,8160,8173,8178,
+8182,8189,8192,8203,8206,8207,8208,8214,8216,8217,8218,8219,8221,8222,8223,8224,8232,8233,8234,8235,8236,8237,8238,8239,8240,
+8245,8249,8250,8251,8255,8257,8260,8261,8262,8263,8274,8275,8276,8277,8287,8288,8293,8298,8304,8305,8308,8314,8316,8317,8318,
+8319,8320,8330,8332,8333,8334,8336,8352,8400,8413,8417,8418,8421,8448,8450,8451,8455,8456,8458,8468,8469,8470,8472,8473,8478,
+8484,8485,8486,8487,8488,8489,8490,8494,8495,8501,8505,8506,8508,8512,8517,8522,8523,8524,8526,8527,8528,8544,8579,8581,8585,
+8592,8597,8602,8604,8608,8609,8611,8612,8614,8615,8622,8623,8654,8656,8658,8659,8660,8661,8692,8722,8723,8724,8960,8968,8972,
+8992,8994,9001,9002,9003,9014,9083,9084,9085,9109,9110,9115,9140,9180,9186,9216,9280,9312,9352,9372,9450,9472,9655,9656,9665,
+9666,9720,9728,9839,9840,9900,9901,9985,10088,10089,10090,10091,10092,10093,10094,10095,10096,10097,10098,10099,10100,10101,
+10102,10132,10176,10181,10182,10183,10188,10190,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,10240,10496,
+10627,10628,10629,10630,10631,10632,10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,10647,
+10648,10649,10712,10713,10714,10715,10716,10748,10749,10750,11008,11056,11077,11079,11088,11264,11312,11360,11389,11390,11493,
+11499,11503,11513,11517,11518,11520,11568,11631,11632,11647,11648,11680,11688,11696,11704,11712,11720,11728,11736,11744,11776,
+11778,11779,11780,11781,11782,11785,11786,11787,11788,11789,11790,11799,11800,11802,11803,11804,11805,11806,11808,11809,11810,
+11811,11812,11813,11814,11815,11816,11817,11818,11823,11824,11904,11931,12032,12272,12288,12289,12292,12293,12294,12295,12296,
+12297,12298,12299,12300,12301,12302,12303,12304,12305,12306,12308,12309,12310,12311,12312,12313,12314,12315,12316,12317,12318,
+12320,12321,12330,12336,12337,12342,12344,12347,12348,12349,12350,12353,12441,12443,12445,12447,12448,12449,12539,12540,12543,
+12549,12593,12688,12690,12694,12704,12736,12784,12800,12829,12832,12842,12880,12881,12896,12924,12927,12928,12938,12977,12992,
+13004,13008,13056,13175,13179,13278,13280,13311,13312,19904,19968,40960,40981,40982,42128,42192,42232,42238,42240,42508,42509,
+42512,42528,42538,42560,42606,42607,42608,42611,42620,42622,42623,42624,42656,42726,42736,42738,42752,42775,42784,42786,42864,
+42865,42888,42889,42891,42896,42912,43002,43003,43010,43011,43014,43015,43019,43020,43043,43045,43047,43048,43056,43062,43064,
+43065,43072,43124,43136,43138,43188,43204,43214,43216,43232,43250,43256,43259,43264,43274,43302,43310,43312,43335,43346,43359,
+43360,43392,43395,43396,43443,43444,43446,43450,43452,43453,43457,43471,43472,43486,43520,43561,43567,43569,43571,43573,43584,
+43587,43588,43596,43597,43600,43612,43616,43632,43633,43639,43642,43643,43648,43696,43697,43698,43701,43703,43705,43710,43712,
+43713,43714,43739,43741,43742,43777,43785,43793,43808,43816,43968,44003,44005,44006,44008,44009,44011,44012,44013,44016,44032,
+55216,55243,57344,63744,64048,64112,64256,64275,64285,64286,64287,64297,64298,64311,64312,64317,64318,64319,64320,64322,64323,
+64325,64326,64336,64434,64450,64467,64830,64831,64832,64848,64912,64914,64968,64976,65008,65020,65021,65022,65024,65040,65047,
+65048,65049,65056,65072,65073,65075,65077,65078,65079,65080,65081,65082,65083,65084,65085,65086,65087,65088,65089,65090,65091,
+65092,65093,65095,65096,65097,65101,65104,65105,65106,65108,65109,65110,65112,65113,65114,65115,65116,65117,65118,65119,65120,
+65122,65123,65124,65128,65129,65130,65131,65136,65141,65142,65277,65279,65281,65283,65284,65285,65286,65288,65289,65290,65291,
+65292,65293,65294,65296,65306,65307,65308,65311,65313,65339,65340,65341,65342,65343,65344,65345,65371,65372,65373,65374,65375,
+65376,65377,65378,65379,65380,65382,65392,65393,65438,65440,65474,65482,65490,65498,65504,65506,65507,65508,65509,65512,65513,
+65517,65520,65529,65532,65534,65536,65549,65576,65596,65599,65616,65664,65792,65793,65794,65799,65847,65856,65909,65913,65930,
+65936,66000,66045,66176,66208,66304,66336,66352,66369,66370,66378,66432,66463,66464,66504,66512,66513,66560,66640,66720,67584,
+67590,67592,67593,67594,67638,67639,67641,67644,67645,67647,67670,67671,67672,67680,67840,67862,67868,67871,67872,67898,67903,
+67904,68096,68097,68100,68101,68103,68108,68112,68116,68117,68120,68121,68148,68152,68155,68159,68160,68168,68176,68185,68192,
+68221,68223,68224,68352,68406,68409,68416,68438,68440,68448,68467,68472,68480,68608,68681,69216,69247,69632,69633,69634,69635,
+69688,69703,69714,69734,69760,69762,69763,69808,69811,69815,69817,69819,69821,69822,73728,74752,74864,77824,92160,110592,118784,
+119040,119081,119141,119143,119146,119149,119155,119163,119171,119173,119180,119210,119214,119296,119362,119365,119552,119648,
+119808,119894,119966,119970,119973,119977,119982,119995,119997,120005,120071,120077,120086,120094,120123,120128,120134,120138,
+120146,120488,120513,120514,120539,120540,120571,120572,120597,120598,120629,120630,120655,120656,120687,120688,120713,120714,
+120745,120746,120771,120772,120782,124928,126976,127024,127136,127153,127169,127185,127232,127248,127280,127344,127462,127504,
+127552,127568,127744,127792,127799,127872,127904,127942,127968,128000,128064,128066,128140,128141,128249,128256,128292,128293,
+128336,128507,128513,128530,128534,128536,128538,128540,128544,128552,128557,128560,128565,128581,128640,128768,131070,131072,
+173824,177984,194560,196606,262142,327678,393214,458750,524286,589822,655358,720894,786430,851966,917502,917505,917506,917536,
+917632,917760,918000,983038,983040,1048574,1048576,1114110
+};
+
+private static int[] bcE1 = {
+442,443,447,451,659,660,687,696,698,705,709,719,721,735,740,747,748,749,750,767,879,883,884,885,887,890,893,894,901,902,903,
+906,908,929,1013,1014,1153,1154,1159,1161,1319,1366,1369,1375,1415,1417,1418,1805,1806,1807,1808,1809,1839,1866,1868,1957,
+1968,1969,1983,1993,2026,2035,2037,2038,2041,2042,2047,2069,2073,2074,2083,2084,2087,2088,2093,2095,2110,2111,2136,2139,2141,
+2142,2303,2306,2307,2361,2362,2363,2364,2365,2368,2376,2380,2381,2383,2384,2391,2401,2403,2405,2415,2416,2417,2423,2431,2433,
+2435,2444,2448,2472,2480,2482,2489,2492,2493,2496,2500,2504,2508,2509,2510,2519,2525,2529,2531,2543,2545,2547,2553,2554,2555,
+2562,2563,2570,2576,2600,2608,2611,2614,2617,2620,2624,2626,2632,2637,2641,2652,2654,2671,2673,2676,2677,2690,2691,2701,2705,
+2728,2736,2739,2745,2748,2749,2752,2757,2760,2761,2764,2765,2768,2785,2787,2799,2801,2817,2819,2828,2832,2856,2864,2867,2873,
+2876,2877,2878,2879,2880,2884,2888,2892,2893,2902,2903,2909,2913,2915,2927,2928,2929,2935,2946,2947,2954,2960,2965,2970,2972,
+2975,2980,2986,3001,3007,3008,3010,3016,3020,3021,3024,3031,3055,3058,3064,3065,3066,3075,3084,3088,3112,3123,3129,3133,3136,
+3140,3144,3149,3158,3161,3169,3171,3183,3198,3199,3203,3212,3216,3240,3251,3257,3260,3261,3262,3263,3268,3270,3272,3275,3277,
+3286,3294,3297,3299,3311,3314,3331,3340,3344,3386,3389,3392,3396,3400,3404,3405,3406,3415,3425,3427,3439,3445,3449,3455,3459,
+3478,3505,3515,3517,3526,3530,3537,3540,3542,3551,3571,3572,3632,3633,3635,3642,3647,3653,3654,3662,3663,3673,3675,3714,3716,
+3720,3722,3725,3735,3743,3747,3749,3751,3755,3760,3761,3763,3769,3772,3773,3780,3782,3789,3801,3805,3840,3843,3858,3863,3865,
+3871,3881,3891,3892,3893,3894,3895,3896,3897,3898,3899,3900,3901,3903,3911,3948,3966,3967,3972,3973,3975,3980,3991,4028,4037,
+4038,4044,4047,4052,4056,4058,4138,4140,4144,4145,4151,4152,4154,4156,4158,4159,4169,4175,4181,4183,4185,4189,4192,4193,4196,
+4198,4205,4208,4212,4225,4226,4228,4230,4236,4237,4238,4239,4249,4252,4253,4255,4293,4346,4347,4348,4680,4685,4694,4696,4701,
+4744,4749,4784,4789,4798,4800,4805,4822,4880,4885,4954,4959,4960,4968,4988,5007,5017,5108,5120,5740,5742,5759,5760,5786,5787,
+5788,5866,5869,5872,5900,5905,5908,5937,5940,5942,5969,5971,5996,6000,6003,6067,6069,6070,6077,6085,6086,6088,6099,6102,6103,
+6106,6107,6108,6109,6121,6137,6149,6150,6154,6157,6158,6169,6210,6211,6263,6312,6313,6314,6389,6428,6434,6438,6440,6443,6449,
+6450,6456,6459,6464,6469,6479,6509,6516,6571,6592,6599,6601,6617,6618,6655,6678,6680,6683,6687,6740,6741,6742,6743,6750,6752,
+6753,6754,6756,6764,6770,6780,6783,6793,6809,6822,6823,6829,6915,6916,6963,6964,6965,6970,6971,6972,6977,6978,6980,6987,7001,
+7008,7018,7027,7036,7041,7042,7072,7073,7077,7079,7081,7082,7087,7097,7141,7142,7143,7145,7148,7149,7150,7153,7155,7167,7203,
+7211,7219,7221,7223,7231,7241,7247,7257,7287,7293,7295,7378,7379,7392,7393,7400,7404,7405,7409,7410,7467,7521,7543,7544,7578,
+7615,7654,7679,7957,7965,8005,8013,8023,8025,8027,8029,8061,8116,8124,8125,8126,8129,8132,8140,8143,8147,8155,8159,8172,8175,
+8180,8188,8190,8202,8205,8206,8207,8213,8215,8216,8217,8218,8220,8221,8222,8223,8231,8232,8233,8234,8235,8236,8237,8238,8239,
+8244,8248,8249,8250,8254,8256,8259,8260,8261,8262,8273,8274,8275,8276,8286,8287,8292,8297,8303,8304,8305,8313,8315,8316,8317,
+8318,8319,8329,8331,8332,8333,8334,8348,8377,8412,8416,8417,8420,8432,8449,8450,8454,8455,8457,8467,8468,8469,8471,8472,8477,
+8483,8484,8485,8486,8487,8488,8489,8493,8494,8500,8504,8505,8507,8511,8516,8521,8522,8523,8525,8526,8527,8543,8578,8580,8584,
+8585,8596,8601,8603,8607,8608,8610,8611,8613,8614,8621,8622,8653,8655,8657,8658,8659,8660,8691,8721,8722,8723,8959,8967,8971,
+8991,8993,9000,9001,9002,9013,9082,9083,9084,9108,9109,9114,9139,9179,9185,9203,9254,9290,9351,9371,9449,9471,9654,9655,9664,
+9665,9719,9727,9838,9839,9899,9900,9983,10087,10088,10089,10090,10091,10092,10093,10094,10095,10096,10097,10098,10099,10100,
+10101,10131,10175,10180,10181,10182,10186,10188,10213,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10239,10495,
+10626,10627,10628,10629,10630,10631,10632,10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,
+10647,10648,10711,10712,10713,10714,10715,10747,10748,10749,11007,11055,11076,11078,11084,11097,11310,11358,11388,11389,11492,
+11498,11502,11505,11516,11517,11519,11557,11621,11631,11632,11647,11670,11686,11694,11702,11710,11718,11726,11734,11742,11775,
+11777,11778,11779,11780,11781,11784,11785,11786,11787,11788,11789,11798,11799,11801,11802,11803,11804,11805,11807,11808,11809,
+11810,11811,11812,11813,11814,11815,11816,11817,11822,11823,11825,11929,12019,12245,12283,12288,12291,12292,12293,12294,12295,
+12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,12307,12308,12309,12310,12311,12312,12313,12314,12315,12316,12317,
+12319,12320,12329,12335,12336,12341,12343,12346,12347,12348,12349,12351,12438,12442,12444,12446,12447,12448,12538,12539,12542,
+12543,12589,12686,12689,12693,12703,12730,12771,12799,12828,12830,12841,12879,12880,12895,12923,12926,12927,12937,12976,12991,
+13003,13007,13054,13174,13178,13277,13279,13310,13311,19893,19967,40907,40980,40981,42124,42182,42231,42237,42239,42507,42508,
+42511,42527,42537,42539,42605,42606,42607,42610,42611,42621,42622,42623,42647,42725,42735,42737,42743,42774,42783,42785,42863,
+42864,42887,42888,42890,42894,42897,42921,43002,43009,43010,43013,43014,43018,43019,43042,43044,43046,43047,43051,43061,43063,
+43064,43065,43123,43127,43137,43187,43203,43204,43215,43225,43249,43255,43258,43259,43273,43301,43309,43311,43334,43345,43347,
+43359,43388,43394,43395,43442,43443,43445,43449,43451,43452,43456,43469,43471,43481,43487,43560,43566,43568,43570,43572,43574,
+43586,43587,43595,43596,43597,43609,43615,43631,43632,43638,43641,43642,43643,43695,43696,43697,43700,43702,43704,43709,43711,
+43712,43713,43714,43740,43741,43743,43782,43790,43798,43814,43822,44002,44004,44005,44007,44008,44010,44011,44012,44013,44025,
+55203,55238,55291,63743,64045,64109,64217,64262,64279,64285,64286,64296,64297,64310,64311,64316,64317,64318,64319,64321,64322,
+64324,64325,64335,64433,64449,64466,64829,64830,64831,64847,64911,64913,64967,64975,65007,65019,65020,65021,65023,65039,65046,
+65047,65048,65049,65062,65072,65074,65076,65077,65078,65079,65080,65081,65082,65083,65084,65085,65086,65087,65088,65089,65090,
+65091,65092,65094,65095,65096,65100,65103,65104,65105,65106,65108,65109,65111,65112,65113,65114,65115,65116,65117,65118,65119,
+65121,65122,65123,65126,65128,65129,65130,65131,65140,65141,65276,65278,65279,65282,65283,65284,65285,65287,65288,65289,65290,
+65291,65292,65293,65295,65305,65306,65307,65310,65312,65338,65339,65340,65341,65342,65343,65344,65370,65371,65372,65373,65374,
+65375,65376,65377,65378,65379,65381,65391,65392,65437,65439,65470,65479,65487,65495,65500,65505,65506,65507,65508,65510,65512,
+65516,65518,65528,65531,65533,65535,65547,65574,65594,65597,65613,65629,65786,65792,65793,65794,65843,65855,65908,65912,65929,
+65930,65947,66044,66045,66204,66256,66334,66339,66368,66369,66377,66378,66461,66463,66499,66511,66512,66517,66639,66717,66729,
+67589,67591,67592,67593,67637,67638,67640,67643,67644,67646,67669,67670,67671,67679,67839,67861,67867,67870,67871,67897,67902,
+67903,68095,68096,68099,68100,68102,68107,68111,68115,68116,68119,68120,68147,68151,68154,68158,68159,68167,68175,68184,68191,
+68220,68222,68223,68351,68405,68408,68415,68437,68439,68447,68466,68471,68479,68607,68680,69215,69246,69631,69632,69633,69634,
+69687,69702,69709,69733,69743,69761,69762,69807,69810,69814,69816,69818,69820,69821,69825,74606,74850,74867,78894,92728,110593,
+119029,119078,119140,119142,119145,119148,119154,119162,119170,119172,119179,119209,119213,119261,119361,119364,119365,119638,
+119665,119892,119964,119967,119970,119974,119980,119993,119995,120003,120069,120074,120084,120092,120121,120126,120132,120134,
+120144,120485,120512,120513,120538,120539,120570,120571,120596,120597,120628,120629,120654,120655,120686,120687,120712,120713,
+120744,120745,120770,120771,120779,120831,126975,127019,127123,127150,127166,127183,127199,127242,127278,127337,127386,127490,
+127546,127560,127569,127776,127797,127868,127891,127940,127946,127984,128062,128064,128139,128140,128247,128252,128291,128292,
+128317,128359,128511,128528,128532,128534,128536,128538,128542,128549,128555,128557,128563,128576,128591,128709,128883,131071,
+173782,177972,178205,195101,196607,262143,327679,393215,458751,524287,589823,655359,720895,786431,851967,917504,917505,917535,
+917631,917759,917999,921599,983039,1048573,1048575,1114109,1114111
+};
+
+private static byte[] bcC1 = {
+1,1,1,1,1,1,1,1,19,1,19,19,1,19,1,19,19,19,1,19,14,1,19,19,1,1,1,19,19,1,19,1,1,1,1,19,1,1,14,14,1,1,1,1,1,1,19,5,5,12,5,14,
+5,14,5,5,14,5,5,4,4,14,4,19,19,4,4,4,14,4,14,4,14,4,14,4,4,4,4,14,4,4,4,14,1,1,14,1,14,1,1,14,1,14,1,1,14,1,14,1,1,1,1,1,1,
+14,1,1,1,1,1,1,1,14,1,1,14,1,1,14,1,1,1,1,14,1,1,11,1,1,11,14,1,1,1,1,1,1,1,1,14,1,14,14,14,14,1,1,1,14,1,14,14,1,1,1,1,1,
+1,1,14,1,1,14,14,1,1,14,1,1,14,1,11,14,1,1,1,1,1,1,1,14,1,1,14,1,14,1,1,14,14,1,1,1,14,1,1,1,1,14,1,1,1,1,1,1,1,1,1,1,1,14,
+1,1,1,14,1,1,1,1,19,11,19,1,1,1,1,1,1,1,14,1,14,14,14,1,1,14,1,19,1,1,1,1,1,1,1,14,1,1,1,1,1,1,1,14,1,1,1,14,1,1,1,1,1,1,1,
+1,14,1,1,14,1,1,1,14,1,1,1,1,1,1,1,1,1,1,14,1,14,14,1,1,1,1,14,1,14,11,1,1,14,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,1,14,14,1,1,
+1,14,1,1,1,1,1,1,14,1,1,1,1,14,1,14,1,14,19,19,19,19,1,1,1,14,1,14,1,14,1,14,14,1,14,1,1,1,1,1,1,1,14,1,14,1,14,1,14,1,1,1,
+1,1,14,1,14,1,1,1,1,1,14,1,14,1,14,1,14,1,1,1,1,14,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,1,1,1,1,19,1,19,1,1,1,18,1,
+19,19,1,1,1,1,1,14,1,14,1,1,14,1,1,14,1,1,1,14,1,14,1,14,1,1,1,11,1,14,1,19,19,19,19,14,18,1,1,1,1,1,14,1,1,1,14,1,14,1,1,
+14,1,14,19,19,1,1,1,1,1,1,1,1,1,19,1,14,1,1,1,1,14,1,14,14,1,14,1,14,1,14,14,1,1,1,1,1,14,1,1,14,1,14,1,14,1,14,1,1,1,1,1,
+14,1,14,1,1,1,14,1,14,1,1,1,1,14,1,14,1,14,1,14,1,1,1,1,14,1,14,1,1,1,1,1,1,1,14,1,14,1,14,1,14,1,1,1,1,1,1,1,1,14,14,1,1,
+1,1,1,1,1,1,1,1,1,19,1,19,1,1,19,1,1,19,1,19,1,1,19,18,15,1,4,19,19,19,19,19,19,19,19,19,19,18,16,2,6,8,3,7,13,11,19,19,19,
+19,19,19,13,19,19,19,19,19,19,19,18,15,15,15,9,1,9,10,19,19,19,1,9,10,19,19,19,1,11,14,14,14,14,14,19,1,19,1,19,1,19,1,19,
+19,1,19,1,19,1,19,1,19,1,11,1,1,1,19,1,19,1,19,19,19,1,1,19,1,1,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,
+19,10,11,19,19,19,19,19,19,19,19,19,1,19,19,19,1,19,19,19,19,19,19,19,19,9,1,19,19,19,19,19,19,19,19,19,19,1,19,19,19,19,19,
+19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,19,19,19,19,19,19,19,19,19,19,
+19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,1,1,1,1,19,1,14,19,19,19,1,1,1,1,14,1,1,
+1,1,1,1,1,1,1,14,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,
+19,18,19,19,1,1,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,14,19,1,19,1,1,1,19,19,1,14,19,1,
+1,19,1,19,1,1,1,1,1,1,1,1,19,1,1,19,1,1,19,19,1,19,1,1,1,19,1,19,1,1,19,1,19,1,19,1,19,1,1,1,1,19,1,1,1,1,1,19,1,1,1,1,1,14,
+14,19,14,19,19,1,1,1,14,1,19,19,19,1,1,1,19,1,1,1,1,1,1,14,1,14,1,14,1,1,14,1,19,1,1,11,11,1,19,1,1,1,14,1,1,14,1,1,1,1,1,
+14,1,1,14,1,1,1,14,1,1,14,1,14,1,14,1,1,1,1,1,1,14,1,14,1,14,1,14,1,14,1,1,1,1,1,1,1,1,1,1,14,1,14,1,14,1,14,1,14,1,1,1,1,
+1,1,1,1,1,1,1,14,1,14,1,1,1,14,1,1,1,1,1,1,1,1,1,1,4,14,4,10,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,19,19,5,5,5,5,5,15,5,5,19,5,14,
+19,19,19,19,14,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,13,19,13,19,13,19,19,19,19,19,19,19,
+19,11,19,10,10,19,19,11,11,19,5,5,5,5,15,19,11,11,11,19,19,19,19,10,13,10,13,9,13,19,19,19,1,19,19,19,19,19,19,1,19,19,19,
+19,19,19,19,19,19,19,1,1,1,1,1,1,1,1,1,11,19,19,19,11,19,19,19,15,19,19,15,1,1,1,1,1,1,1,1,19,1,1,1,19,19,19,19,19,1,14,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,19,4,4,4,4,4,14,4,14,4,14,4,4,4,4,4,4,14,4,14,4,4,4,4,
+4,4,4,4,4,4,19,4,4,4,4,4,4,4,4,4,12,4,1,14,1,1,14,1,19,1,14,1,1,1,14,1,14,1,1,1,1,1,1,1,1,1,1,1,1,1,14,1,1,15,14,1,14,1,14,
+1,19,14,19,19,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1,19,1,1,1,19,1,1,1,19,1,1,1,19,1,9,4,19,19,19,19,19,19,
+9,1,1,1,1,1,1,1,19,19,19,19,19,19,19,19,19,19,1,19,19,19,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,15,1,1,1,1,15,
+15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,15,15,1,15,1,15
+};
+
+/**
+ * Lookup bidi class for character expressed as unicode scalar value.
+ * @param ch a unicode scalar value
+ * @return bidi class
+ */
+public static int getBidiClass ( int ch ) {
+  if ( ch <= 0x00FF ) {
+    return bcL1 [ ch - 0x0000 ];
+  } else if ( ( ch >= 0x0590 ) && ( ch <= 0x06FF ) ) {
+    return bcR1 [ ch - 0x0590 ];
+  } else {
+    return getBidiClass ( ch, bcS1, bcE1, bcC1 );
+  }
+}
+
+private static int getBidiClass ( int ch, int[] sa, int[] ea, byte[] ca ) {
+  int k = Arrays.binarySearch ( sa, ch );
+  if ( k >= 0 ) {
+    return ca [ k ];
+  } else {
+    k = - ( k + 1 );
+    if ( k == 0 ) {
+      return BidiConstants.L;
+    } else if ( ch <= ea [ k - 1 ] ) {
+      return ca [ k - 1 ];
+    } else {
+      return BidiConstants.L;
+    }
+  }
+}
+
+}
diff --git a/src/java/org/apache/fop/text/linebreak/LineBreakUtils.java b/src/java/org/apache/fop/text/linebreak/LineBreakUtils.java
index 343191e..d6e19a9 100644
--- a/src/java/org/apache/fop/text/linebreak/LineBreakUtils.java
+++ b/src/java/org/apache/fop/text/linebreak/LineBreakUtils.java
@@ -100,35 +100,35 @@
         lineBreakProperties[6] = new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 13, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 13, 13, 13, 13, 13, 13, 13, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 19, 0};
         lineBreakProperties[7] = new byte[] { 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[9] = new byte[] { 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
-        lineBreakProperties[10] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[10] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[11] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 0, 19, 4, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 9, 2, 9, 9, 2, 9, 9, 12, 9, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-        lineBreakProperties[12] = new byte[] { 2, 2, 2, 2, 0, 0, 2, 2, 2, 28, 28, 28, 19, 19, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 0, 0, 12, 12, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 28, 26, 26, 2, 2, 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
-        lineBreakProperties[13] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 2, 2, 9, 9, 2, 9, 9, 9, 9, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[12] = new byte[] { 2, 2, 2, 2, 0, 0, 2, 2, 2, 28, 28, 28, 19, 19, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 0, 0, 12, 12, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 28, 26, 26, 2, 2, 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[13] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 9, 9, 9, 9, 9, 9, 9, 2, 2, 9, 9, 9, 9, 9, 9, 2, 2, 9, 9, 2, 9, 9, 9, 9, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[14] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[15] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 19, 12, 2, 0, 0, 0, 0, 0};
-        lineBreakProperties[16] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 2, 9, 9, 9, 9, 9, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[16] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 2, 9, 9, 9, 9, 9, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[17] = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-        lineBreakProperties[18] = new byte[] { 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 2, 9, 9, 9, 9, 9, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 4, 4, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[18] = new byte[] { 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 4, 4, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[19] = new byte[] { 0, 9, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 9, 2, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 0, 0, 9, 9, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 28, 28, 2, 2, 2, 2, 2, 28, 2, 29, 0, 0, 0, 0};
         lineBreakProperties[20] = new byte[] { 0, 9, 9, 9, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 0, 9, 0, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 0, 0, 9, 9, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 9, 9, 2, 2, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[21] = new byte[] { 0, 9, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-        lineBreakProperties[22] = new byte[] { 0, 9, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 9, 2, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 0, 0, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[22] = new byte[] { 0, 9, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 9, 2, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 0, 0, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[23] = new byte[] { 0, 0, 9, 2, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 9, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 0, 9, 9, 9, 9, 0, 0, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 2, 29, 2, 0, 0, 0, 0, 0};
         lineBreakProperties[24] = new byte[] { 0, 9, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[25] = new byte[] { 0, 0, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 9, 2, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-        lineBreakProperties[26] = new byte[] { 0, 0, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 0, 0, 0, 28, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[26] = new byte[] { 0, 0, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 0, 0, 0, 28, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[27] = new byte[] { 0, 0, 9, 9, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[28] = new byte[] { 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 29, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[29] = new byte[] { 0, 31, 31, 0, 31, 0, 0, 31, 31, 0, 31, 0, 0, 31, 0, 0, 0, 0, 0, 0, 31, 31, 31, 31, 0, 31, 31, 31, 31, 31, 31, 31, 0, 31, 31, 31, 0, 31, 0, 31, 0, 0, 31, 31, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 0, 31, 0, 31, 31, 31, 31, 31, 31, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[30] = new byte[] { 2, 5, 5, 5, 5, 2, 5, 5, 13, 5, 5, 4, 13, 12, 12, 12, 12, 12, 13, 2, 12, 2, 2, 2, 9, 9, 2, 2, 2, 2, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 9, 2, 9, 2, 9, 27, 8, 27, 8, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4};
-        lineBreakProperties[31] = new byte[] { 9, 9, 9, 9, 9, 4, 9, 9, 2, 2, 2, 2, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 4, 4, 2, 2, 2, 2, 2, 2, 9, 2, 2, 2, 2, 2, 2, 0, 2, 2, 5, 5, 4, 5, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[31] = new byte[] { 9, 9, 9, 9, 9, 4, 9, 9, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 4, 4, 2, 2, 2, 2, 2, 2, 9, 2, 2, 2, 2, 2, 2, 0, 2, 2, 5, 5, 4, 5, 2, 2, 2, 2, 2, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[32] = new byte[] { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 4, 4, 2, 2, 2, 2, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31};
         lineBreakProperties[33] = new byte[] { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 31, 31, 31, 31, 31, 31, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0};
         lineBreakProperties[34] = new byte[] { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22};
         lineBreakProperties[35] = new byte[] { 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21};
         lineBreakProperties[36] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[37] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
-        lineBreakProperties[38] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 9, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0};
+        lineBreakProperties[38] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 9, 9, 9, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0};
         lineBreakProperties[39] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[40] = new byte[] { 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[45] = new byte[] { 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -137,24 +137,24 @@
         lineBreakProperties[48] = new byte[] { 2, 2, 12, 12, 4, 4, 5, 2, 12, 12, 2, 9, 9, 9, 13, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[49] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[50] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 2, 0, 0, 0, 12, 12, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-        lineBreakProperties[51] = new byte[] { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 31, 31, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[51] = new byte[] { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 31, 0, 0, 0, 31, 31, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[52] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 0, 0, 2, 2, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 9};
         lineBreakProperties[53] = new byte[] { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[54] = new byte[] { 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 4, 4, 2, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0};
-        lineBreakProperties[55] = new byte[] { 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[55] = new byte[] { 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2};
         lineBreakProperties[56] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 4, 4, 4, 4, 4, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 2, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4};
         lineBreakProperties[57] = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 9, 2, 2, 2, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-        lineBreakProperties[59] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9};
+        lineBreakProperties[59] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9};
         lineBreakProperties[62] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0};
         lineBreakProperties[63] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 5, 2, 0};
         lineBreakProperties[64] = new byte[] { 4, 4, 4, 4, 4, 4, 4, 13, 4, 4, 4, 37, 9, 9, 9, 9, 4, 13, 4, 4, 3, 1, 1, 2, 30, 30, 27, 30, 30, 30, 27, 30, 1, 1, 2, 2, 18, 18, 18, 4, 6, 6, 9, 9, 9, 9, 9, 13, 28, 28, 28, 28, 28, 28, 28, 28, 2, 30, 30, 1, 25, 25, 2, 2, 2, 2, 2, 2, 19, 27, 8, 25, 25, 25, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 4, 4, 4, 2, 4, 4, 4, 35, 2, 2, 2, 2, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 2, 2, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 1};
-        lineBreakProperties[65] = new byte[] { 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[65] = new byte[] { 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[66] = new byte[] { 2, 2, 2, 28, 2, 1, 2, 2, 2, 28, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 29, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[67] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[68] = new byte[] { 1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 29, 29, 2, 1, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[69] = new byte[] { 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[70] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
-        lineBreakProperties[71] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[71] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[72] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
         lineBreakProperties[73] = new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2};
     }
@@ -163,14 +163,14 @@
         lineBreakProperties[74] = new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[75] = new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[76] = new byte[] { 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
-        lineBreakProperties[77] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
-        lineBreakProperties[78] = new byte[] { 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 0, 2, 1, 2, 2, 2, 30, 30, 30, 30, 0, 0, 2, 12, 12, 2, 2, 2, 2, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
-        lineBreakProperties[79] = new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 27, 8, 2, 2, 2, 2, 0, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[77] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+        lineBreakProperties[78] = new byte[] { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 30, 30, 30, 30, 2, 2, 2, 12, 12, 2, 2, 2, 2, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+        lineBreakProperties[79] = new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[83] = new byte[] { 2, 2, 2, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 27, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 2, 2};
         lineBreakProperties[86] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[88] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[89] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 12, 4, 4, 4, 2, 12, 4};
-        lineBreakProperties[90] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[90] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9};
         lineBreakProperties[91] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9};
         lineBreakProperties[92] = new byte[] { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 27, 4, 2, 2, 30, 30, 2, 2, 30, 30, 27, 8, 27, 8, 27, 8, 27, 8, 4, 4, 4, 4, 12, 2, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[93] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -179,21 +179,22 @@
         lineBreakProperties[96] = new byte[] { 17, 8, 8, 17, 17, 25, 17, 17, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 17, 17, 27, 8, 27, 8, 27, 8, 27, 8, 25, 27, 8, 8, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 9, 9, 9, 9, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 25, 25, 17, 17, 17, 0, 25, 17, 25, 17, 25, 17, 25, 17, 25, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 25, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17};
         lineBreakProperties[97] = new byte[] { 17, 17, 17, 25, 17, 25, 17, 25, 17, 17, 17, 17, 17, 17, 25, 17, 17, 17, 17, 17, 17, 25, 25, 0, 0, 9, 9, 25, 25, 25, 25, 17, 25, 25, 17, 25, 17, 25, 17, 25, 17, 25, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 25, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 25, 17, 25, 17, 25, 17, 17, 17, 17, 17, 17, 25, 17, 17, 17, 17, 17, 17, 25, 25, 17, 17, 17, 17, 25, 25, 25, 25, 17};
         lineBreakProperties[98] = new byte[] { 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17};
-        lineBreakProperties[99] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25};
+        lineBreakProperties[99] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25};
         lineBreakProperties[100] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17};
         lineBreakProperties[101] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0};
         lineBreakProperties[155] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[320] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 25, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17};
         lineBreakProperties[329] = new byte[] { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4};
-        lineBreakProperties[332] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 12, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 2, 2};
+        lineBreakProperties[332] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 12, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 2, 2};
         lineBreakProperties[333] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 2, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0};
-        lineBreakProperties[335] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2};
+        lineBreakProperties[335] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[336] = new byte[] { 2, 2, 9, 2, 2, 2, 9, 2, 2, 2, 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 28, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[337] = new byte[] { 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0};
         lineBreakProperties[338] = new byte[] { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0};
         lineBreakProperties[339] = new byte[] { 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, 2, 0, 2, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[340] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 2, 4, 4, 4, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0};
         lineBreakProperties[341] = new byte[] { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+        lineBreakProperties[342] = new byte[] { 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[343] = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 4, 9, 9, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0};
         lineBreakProperties[344] = new byte[] { 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15};
         lineBreakProperties[345] = new byte[] { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15};
@@ -206,7 +207,7 @@
         lineBreakProperties[432] = new byte[] { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32};
         lineBreakProperties[448] = new byte[] { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36};
         lineBreakProperties[502] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
-        lineBreakProperties[503] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
+        lineBreakProperties[503] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[506] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
         lineBreakProperties[507] = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 28, 2, 0, 0};
         lineBreakProperties[508] = new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 19, 8, 8, 19, 19, 12, 12, 27, 8, 18, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 27, 8, 17, 17, 27, 8, 17, 17, 17, 17, 17, 17, 17, 8, 17, 8, 0, 25, 25, 12, 12, 17, 27, 8, 27, 8, 27, 8, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 29, 28, 17, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
@@ -462,7 +463,6 @@
         lineBreakProperties[330] = lineBreakProperties[2];
         lineBreakProperties[331] = lineBreakProperties[2];
         lineBreakProperties[334] = lineBreakProperties[2];
-        lineBreakProperties[342] = lineBreakProperties[17];
         lineBreakProperties[351] = lineBreakProperties[344];
         lineBreakProperties[352] = lineBreakProperties[345];
         lineBreakProperties[353] = lineBreakProperties[346];
diff --git a/src/java/org/apache/fop/traits/Direction.java b/src/java/org/apache/fop/traits/Direction.java
new file mode 100644
index 0000000..5eb3605
--- /dev/null
+++ b/src/java/org/apache/fop/traits/Direction.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.traits;
+
+import java.io.ObjectStreamException;
+
+import org.apache.fop.fo.Constants;
+
+/**
+ * Enumeration class for direction traits, namely {inline,block}-progression-direction
+ * and shift-direction.
+ */
+public final class Direction extends TraitEnum {
+
+    private static final long serialVersionUID = 1L;
+
+    private static final String[] DIRECTION_NAMES = new String[]
+        {"lr", "rl", "tb", "bt"};
+
+    private static final int[] DIRECTION_VALUES = new int[]
+        {Constants.EN_LR, Constants.EN_RL, Constants.EN_TB, Constants.EN_BT};
+
+    /** direction: left-to-right */
+    public static final Direction LR = new Direction(0);
+    /** direction: right-to-left */
+    public static final Direction RL = new Direction(1);
+    /** direction: top-to-bottom */
+    public static final Direction TB = new Direction(2);
+    /** direction: bottom-to-top */
+    public static final Direction BT = new Direction(3);
+
+    private static final Direction[] DIRECTIONS = new Direction[] {LR, RL, TB, BT};
+
+    private Direction(int index) {
+        super(DIRECTION_NAMES[index], DIRECTION_VALUES[index]);
+    }
+
+    /**
+     * Determine if direction is vertical or not.
+     * @return true if vertical
+     */
+    public boolean isVertical() {
+        return ( getEnumValue() == Constants.EN_TB ) || ( getEnumValue() == Constants.EN_BT );
+    }
+
+    /**
+     * Determine if direction is horizontal or not.
+     * @return true if horizontal
+     */
+    public boolean isHorizontal() {
+        return ( getEnumValue() == Constants.EN_LR ) || ( getEnumValue() == Constants.EN_RL );
+    }
+
+    /**
+     * Returns the enumeration/singleton object based on its name.
+     * @param name the name of the enumeration value
+     * @return the enumeration object
+     */
+    public static Direction valueOf(String name) {
+        for (int i = 0; i < DIRECTIONS.length; i++) {
+            if (DIRECTIONS[i].getName().equalsIgnoreCase(name)) {
+                return DIRECTIONS[i];
+            }
+        }
+        throw new IllegalArgumentException("Illegal direction: " + name);
+    }
+
+    /**
+     * Returns the enumeration/singleton object based on its name.
+     * @param enumValue the enumeration value
+     * @return the enumeration object
+     */
+    public static Direction valueOf(int enumValue) {
+        for (int i = 0; i < DIRECTIONS.length; i++) {
+            if (DIRECTIONS[i].getEnumValue() == enumValue) {
+                return DIRECTIONS[i];
+            }
+        }
+        throw new IllegalArgumentException("Illegal direction: " + enumValue);
+    }
+
+    private Object readResolve() throws ObjectStreamException {
+        return valueOf(getName());
+    }
+
+    /** {@inheritDoc} */
+    public String toString() {
+        return getName();
+    }
+
+}
diff --git a/src/java/org/apache/fop/traits/WritingMode.java b/src/java/org/apache/fop/traits/WritingMode.java
new file mode 100644
index 0000000..5b12bb1
--- /dev/null
+++ b/src/java/org/apache/fop/traits/WritingMode.java
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.traits;
+
+import java.io.ObjectStreamException;
+
+import org.apache.fop.fo.Constants;
+
+/** Enumeration class for writing mode trait. */
+public final class WritingMode extends TraitEnum {
+
+    private static final long serialVersionUID = 1L;
+
+    private static final String[] WRITING_MODE_NAMES = new String[]
+        {"lr-tb", "rl-tb", "tb-lr", "tb-rl"};
+
+    private static final int[] WRITING_MODE_VALUES = new int[]
+        {Constants.EN_LR_TB, Constants.EN_RL_TB, Constants.EN_TB_LR, Constants.EN_TB_RL};
+
+    /** writing mode: lr-tb */
+    public static final WritingMode LR_TB = new WritingMode(0);
+    /** writing mode: rl-tb */
+    public static final WritingMode RL_TB = new WritingMode(1);
+    /** writing mode: tb-lr */
+    public static final WritingMode TB_LR = new WritingMode(2);
+    /** writing mode: tb-rl */
+    public static final WritingMode TB_RL = new WritingMode(3);
+
+    private static final WritingMode[] WRITING_MODES
+        = new WritingMode[] {LR_TB, RL_TB, TB_LR, TB_RL};
+
+    private WritingMode(int index) {
+        super(WRITING_MODE_NAMES[index], WRITING_MODE_VALUES[index]);
+    }
+
+    /**
+     * Assign writing mode traits from this trait to the specified
+     * writing mode traits setter.
+     * @param wms a writing mode traits setter
+     */
+    public void assignWritingModeTraits ( WritingModeTraitsSetter wms ) {
+        Direction inlineProgressionDirection;
+        Direction blockProgressionDirection;
+        Direction columnProgressionDirection;
+        Direction rowProgressionDirection;
+        Direction shiftDirection;
+        switch ( getEnumValue() ) {
+        default:
+        case Constants.EN_LR_TB:
+            inlineProgressionDirection = Direction.LR;
+            blockProgressionDirection = Direction.TB;
+            columnProgressionDirection = Direction.LR;
+            rowProgressionDirection = Direction.TB;
+            shiftDirection = Direction.BT;
+            break;
+        case Constants.EN_RL_TB:
+            inlineProgressionDirection = Direction.RL;
+            blockProgressionDirection = Direction.TB;
+            columnProgressionDirection = Direction.RL;
+            rowProgressionDirection = Direction.TB;
+            shiftDirection = Direction.BT;
+            break;
+        case Constants.EN_TB_LR:
+            inlineProgressionDirection = Direction.TB;
+            blockProgressionDirection = Direction.LR;
+            columnProgressionDirection = Direction.TB;
+            rowProgressionDirection = Direction.LR;
+            shiftDirection = Direction.RL;
+            break;
+        case Constants.EN_TB_RL:
+            inlineProgressionDirection = Direction.TB;
+            blockProgressionDirection = Direction.RL;
+            columnProgressionDirection = Direction.TB;
+            rowProgressionDirection = Direction.RL;
+            shiftDirection = Direction.LR;
+            break;
+        }
+        wms.setInlineProgressionDirection ( inlineProgressionDirection );
+        wms.setBlockProgressionDirection ( blockProgressionDirection );
+        wms.setColumnProgressionDirection ( columnProgressionDirection );
+        wms.setRowProgressionDirection ( rowProgressionDirection );
+        wms.setShiftDirection ( shiftDirection );
+        wms.setWritingMode ( this );
+    }
+
+    /**
+     * Determine if WM is horizontal or not.
+     * @return true if horizontal
+     */
+    public boolean isHorizontal() {
+        switch ( getEnumValue() ) {
+        case Constants.EN_LR_TB:
+        case Constants.EN_RL_TB:
+            return true;
+        case Constants.EN_TB_LR:
+        case Constants.EN_TB_RL:
+            return false;
+        default:
+            assert false;
+            return true;
+        }
+    }
+
+    /**
+     * Determine if WM is vertical or not.
+     * @return true if vertical
+     */
+    public boolean isVertical() {
+        return !isHorizontal();
+    }
+
+    /**
+     * Returns the enumeration/singleton object based on its name.
+     * @param name the name of the enumeration value
+     * @return the enumeration object
+     */
+    public static WritingMode valueOf(String name) {
+        for (int i = 0; i < WRITING_MODES.length; i++) {
+            if (WRITING_MODES[i].getName().equalsIgnoreCase(name)) {
+                return WRITING_MODES[i];
+            }
+        }
+        throw new IllegalArgumentException("Illegal writing mode: " + name);
+    }
+
+    /**
+     * Returns the enumeration/singleton object based on its name.
+     * @param enumValue the enumeration value
+     * @return the enumeration object
+     */
+    public static WritingMode valueOf(int enumValue) {
+        for (int i = 0; i < WRITING_MODES.length; i++) {
+            if (WRITING_MODES[i].getEnumValue() == enumValue) {
+                return WRITING_MODES[i];
+            }
+        }
+        throw new IllegalArgumentException("Illegal writing mode: " + enumValue);
+    }
+
+    private Object readResolve() throws ObjectStreamException {
+        return valueOf(getName());
+    }
+
+    /** {@inheritDoc} */
+    public String toString() {
+        return getName();
+    }
+
+}
diff --git a/src/java/org/apache/fop/traits/WritingModeTraits.java b/src/java/org/apache/fop/traits/WritingModeTraits.java
new file mode 100644
index 0000000..c96cd73
--- /dev/null
+++ b/src/java/org/apache/fop/traits/WritingModeTraits.java
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.traits;
+
+/**
+ * This class provides a reusable implementation of the WritingModeTraitsSetter
+ * interface.
+ */
+public class WritingModeTraits implements WritingModeTraitsSetter {
+
+    private Direction inlineProgressionDirection;
+    private Direction blockProgressionDirection;
+    private Direction columnProgressionDirection;
+    private Direction rowProgressionDirection;
+    private Direction shiftDirection;
+    private WritingMode writingMode;
+
+    /**
+     * Default writing mode traits constructor.
+     */
+    public WritingModeTraits() {
+        this ( WritingMode.LR_TB );
+    }
+
+    /**
+     * Construct writing mode traits using the specified writing mode.
+     * @param writingMode a writing mode traits object
+     */
+    public WritingModeTraits ( WritingMode writingMode ) {
+        assignWritingModeTraits ( writingMode );
+    }
+
+    /**
+     * @return the "inline-progression-direction" trait.
+     */
+    public Direction getInlineProgressionDirection() {
+        return inlineProgressionDirection;
+    }
+
+    /**
+     * @param direction the "inline-progression-direction" trait.
+     */
+    public void setInlineProgressionDirection ( Direction direction ) {
+        this.inlineProgressionDirection = direction;
+    }
+
+    /**
+     * @return the "block-progression-direction" trait.
+     */
+    public Direction getBlockProgressionDirection() {
+        return blockProgressionDirection;
+    }
+
+    /**
+     * @param direction the "block-progression-direction" trait.
+     */
+    public void setBlockProgressionDirection ( Direction direction ) {
+        this.blockProgressionDirection = direction;
+    }
+
+    /**
+     * @return the "column-progression-direction" trait.
+     */
+    public Direction getColumnProgressionDirection() {
+        return columnProgressionDirection;
+    }
+
+    /**
+     * @param direction the "column-progression-direction" trait.
+     */
+    public void setColumnProgressionDirection ( Direction direction ) {
+        this.columnProgressionDirection = direction;
+    }
+
+    /**
+     * @return the "row-progression-direction" trait.
+     */
+    public Direction getRowProgressionDirection() {
+        return rowProgressionDirection;
+    }
+
+    /**
+     * @param direction the "row-progression-direction" trait.
+     */
+    public void setRowProgressionDirection ( Direction direction ) {
+        this.rowProgressionDirection = direction;
+    }
+
+    /**
+     * @return the "shift-direction" trait.
+     */
+    public Direction getShiftDirection() {
+        return shiftDirection;
+    }
+
+    /**
+     * @param direction the "shift-direction" trait.
+     */
+    public void setShiftDirection ( Direction direction ) {
+        this.shiftDirection = direction;
+    }
+
+    /**
+     * @return the "writing-mode" trait.
+     */
+    public WritingMode getWritingMode() {
+        return writingMode;
+    }
+
+    /**
+     * @param writingMode the "writing-mode" trait.
+     */
+    public void setWritingMode ( WritingMode writingMode ) {
+        this.writingMode = writingMode;
+    }
+
+    /**
+     * @param writingMode the "writing-mode" trait.
+     */
+    public void assignWritingModeTraits ( WritingMode writingMode ) {
+        writingMode.assignWritingModeTraits ( this );
+    }
+
+    /**
+     * Helper function to find the writing mode traits getter (if any) that applies for
+     * a given FO node.
+     * @param fn the node to start searching from
+     * @return the applicable writing mode traits getter, or null if none applies
+     */
+    public static WritingModeTraitsGetter
+        getWritingModeTraitsGetter ( org.apache.fop.fo.FONode fn ) {
+        for ( org.apache.fop.fo.FONode n = fn; n != null; n = n.getParent() ) {
+            if ( n instanceof WritingModeTraitsGetter ) {
+                return (WritingModeTraitsGetter) n;
+            }
+        }
+        return null;
+    }
+
+}
diff --git a/src/java/org/apache/fop/traits/WritingModeTraitsGetter.java b/src/java/org/apache/fop/traits/WritingModeTraitsGetter.java
new file mode 100644
index 0000000..a67e437
--- /dev/null
+++ b/src/java/org/apache/fop/traits/WritingModeTraitsGetter.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.traits;
+
+/**
+ * This interface provides read access to FO traits related to writing mode.
+ */
+public interface WritingModeTraitsGetter {
+
+    /**
+     * @return the "inline-progression-direction" trait
+     */
+    Direction getInlineProgressionDirection();
+
+    /**
+     * @return the "block-progression-direction" trait
+     */
+    Direction getBlockProgressionDirection();
+
+    /**
+     * @return the "column-progression-direction" trait
+     */
+    Direction getColumnProgressionDirection();
+
+    /**
+     * @return the "row-progression-direction" trait
+     */
+
+    Direction getRowProgressionDirection();
+
+    /**
+     * @return the "shift-direction" trait
+     */
+    Direction getShiftDirection();
+
+    /**
+     * @return the "writing-mode" trait
+     */
+    WritingMode getWritingMode();
+
+}
diff --git a/src/java/org/apache/fop/traits/WritingModeTraitsSetter.java b/src/java/org/apache/fop/traits/WritingModeTraitsSetter.java
new file mode 100644
index 0000000..1b94e22
--- /dev/null
+++ b/src/java/org/apache/fop/traits/WritingModeTraitsSetter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.traits;
+
+/**
+ * This interface provides read and assignment access to FO traits related to writing mode.
+ */
+public interface WritingModeTraitsSetter extends WritingModeTraitsGetter {
+
+    /**
+     * Set value of inline-progression-direction trait.
+     * @param direction the "inline-progression-direction" trait
+     */
+    void setInlineProgressionDirection ( Direction direction );
+
+    /**
+     * Set value of block-progression-direction trait.
+     * @param direction the "block-progression-direction" trait
+     */
+    void setBlockProgressionDirection ( Direction direction );
+
+    /**
+     * Set value of column-progression-direction trait.
+     * @param direction the "column-progression-direction" trait
+     */
+    void setColumnProgressionDirection ( Direction direction );
+
+    /**
+     * Set value of row-progression-direction trait.
+     * @param direction the "row-progression-direction" trait
+     */
+    void setRowProgressionDirection ( Direction direction );
+
+    /**
+     * Set value of shift-direction trait.
+     * @param direction the "shift-direction" trait
+     */
+    void setShiftDirection ( Direction direction );
+
+    /**
+     * Set value of writing-mode trait.
+     * @param writingMode the "writing-mode" trait
+     */
+    void setWritingMode ( WritingMode writingMode );
+
+    /**
+     * Collectivelly assign values to all writing mode traits based upon a specific
+     * writing mode.
+     * @param writingMode the "writing-mode" trait
+     */
+    void assignWritingModeTraits ( WritingMode writingMode );
+
+}
diff --git a/src/java/org/apache/fop/util/BidiConstants.java b/src/java/org/apache/fop/util/BidiConstants.java
new file mode 100644
index 0000000..81e5435
--- /dev/null
+++ b/src/java/org/apache/fop/util/BidiConstants.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.util;
+
+
+/**
+ * Constants used for bidirectional processing.
+ * @author Glenn Adams
+ */
+public interface BidiConstants {
+
+    // bidi character class
+
+    /** first external (official) category */
+    int FIRST       = 1;
+
+    // strong category
+    /** left-to-right class */
+    int L           = 1;
+    /** left-to-right embedding class */
+    int LRE         = 2;
+    /** left-to-right override class */
+    int LRO         = 3;
+    /** right-to-left  class */
+    int R           = 4;
+    /** right-to-left arabic class */
+    int AL          = 5;
+    /** right-to-left embedding class */
+    int RLE         = 6;
+    /** right-to-left override class */
+    int RLO         = 7;
+
+    // weak category
+    /** pop directional formatting class */
+    int PDF         = 8;
+    /** european number class */
+    int EN          = 9;
+    /** european number separator class */
+    int ES          = 10;
+    /** european number terminator class */
+    int ET          = 11;
+    /** arabic number class */
+    int AN          = 12;
+    /** common number separator class */
+    int CS          = 13;
+    /** non-spacing mark class */
+    int NSM         = 14;
+    /** boundary neutral class */
+    int BN          = 15;
+
+    // neutral category
+    /** paragraph separator class */
+    int B           = 16;
+    /** segment separator class */
+    int S           = 17;
+    /** whitespace class */
+    int WS          = 18;
+    /** other neutrals class */
+    int ON          = 19;
+
+    /** last external (official) category */
+    int LAST        = 19;
+
+    // implementation specific categories
+    /** placeholder for low surrogate */
+    int SURROGATE   = 20;
+
+    // other constants
+    /** last 
+    /** maximum bidirectional levels */
+    int MAX_LEVELS  = 61;
+    /** override flag */
+    int OVERRIDE    = 128;
+}
diff --git a/src/java/org/apache/fop/util/CharUtilities.java b/src/java/org/apache/fop/util/CharUtilities.java
index 7786552..4f96d0a 100644
--- a/src/java/org/apache/fop/util/CharUtilities.java
+++ b/src/java/org/apache/fop/util/CharUtilities.java
@@ -19,6 +19,18 @@
 
 package org.apache.fop.util;
 
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+// CSOFF: AvoidNestedBlocksCheck
+// CSOFF: InnerAssignmentCheck
+// CSOFF: WhitespaceAfterCheck
+// CSOFF: SimplifyBooleanReturnCheck
+
 /**
  * This class provides utilities to distinguish various kinds of Unicode
  * whitespace and to get character widths in a given FontState.
@@ -74,6 +86,20 @@
     public static final char WORD_JOINER = '\u2060';
     /** zero-width joiner */
     public static final char ZERO_WIDTH_JOINER = '\u200D';
+    /** left-to-right mark */
+    public static final char LRM = '\u200E';
+    /** right-to-left mark */
+    public static final char RLM = '\u202F';
+    /** left-to-right embedding */
+    public static final char LRE = '\u202A';
+    /** right-to-left embedding */
+    public static final char RLE = '\u202B';
+    /** pop directional formatting */
+    public static final char PDF = '\u202C';
+    /** left-to-right override */
+    public static final char LRO = '\u202D';
+    /** right-to-left override */
+    public static final char RLO = '\u202E';
     /** zero-width no-break space (= byte order mark) */
     public static final char ZERO_WIDTH_NOBREAK_SPACE = '\uFEFF';
     /** soft hyphen */
@@ -86,9 +112,16 @@
     public static final char MISSING_IDEOGRAPH = '\u25A1';
     /** Ideogreaphic space */
     public static final char IDEOGRAPHIC_SPACE = '\u3000';
+    /** Object replacement character */
+    public static final char OBJECT_REPLACEMENT_CHARACTER = '\uFFFC';
     /** Unicode value indicating the the character is "not a character". */
     public static final char NOT_A_CHARACTER = '\uFFFF';
 
+    /**
+      * A static (class) parameter indicating whether V2 indic shaping
+      * rules apply or not, with default being <code>true</code>.
+      */
+    private static final boolean useV2Indic = true; // CSOK: ConstantNameCheck
 
     /**
      * Utility class: Constructor prevents instantiating when subclassed.
@@ -103,7 +136,7 @@
      * @param c character to inspect
      * @return the determined character class
      */
-    public static int classOf(char c) {
+    public static int classOf ( int c ) {
         switch (c) {
             case CODE_EOT:
                 return EOT;
@@ -126,7 +159,7 @@
      * @param c character to inspect
      * @return True if the character is a normal space
      */
-    public static boolean isBreakableSpace(char c) {
+    public static boolean isBreakableSpace ( int c ) {
         return (c == SPACE || isFixedWidthSpace(c));
     }
 
@@ -135,7 +168,7 @@
      * @param c the character to check
      * @return true if the character is a zero-width space
      */
-    public static boolean isZeroWidthSpace(char c) {
+    public static boolean isZeroWidthSpace ( int c ) {
         return c == ZERO_WIDTH_SPACE           // 200Bh
             || c == WORD_JOINER                // 2060h
             || c == ZERO_WIDTH_NOBREAK_SPACE;  // FEFFh (also used as BOM)
@@ -146,7 +179,7 @@
      * @param c the character to check
      * @return true if the character has a fixed-width
      */
-    public static boolean isFixedWidthSpace(char c) {
+    public static boolean isFixedWidthSpace ( int c ) {
         return (c >= '\u2000' && c <= '\u200B')
                 || c == '\u3000';
 //      c == '\u2000'                   // en quad
@@ -170,7 +203,7 @@
      * @param c character to check
      * @return True if the character is a nbsp
      */
-    public static boolean isNonBreakableSpace(char c) {
+    public static boolean isNonBreakableSpace ( int c ) {
         return
             (c == NBSPACE       // no-break space
             || c == '\u202F'    // narrow no-break space
@@ -185,7 +218,7 @@
      * @param c character to check
      * @return True if the character is adjustable
      */
-    public static boolean isAdjustableSpace(char c) {
+    public static boolean isAdjustableSpace ( int c ) {
         //TODO: are there other kinds of adjustable spaces?
         return
             (c == '\u0020'    // normal space
@@ -197,19 +230,19 @@
      * @param c character to check
      * @return True if the character represents any kind of space
      */
-    public static boolean isAnySpace(char c) {
+    public static boolean isAnySpace ( int c ) {
         return (isBreakableSpace(c) || isNonBreakableSpace(c));
     }
 
     /**
      * Indicates whether a character is classified as "Alphabetic" by the Unicode standard.
-     * @param ch the character
+     * @param c the character
      * @return true if the character is "Alphabetic"
      */
-    public static boolean isAlphabetic(char ch) {
+    public static boolean isAlphabetic ( int c ) {
         //http://www.unicode.org/Public/UNIDATA/UCD.html#Alphabetic
         //Generated from: Other_Alphabetic + Lu + Ll + Lt + Lm + Lo + Nl
-        int generalCategory = Character.getType(ch);
+        int generalCategory = Character.getType((char)c);
         switch (generalCategory) {
             case Character.UPPERCASE_LETTER: //Lu
             case Character.LOWERCASE_LETTER: //Ll
@@ -227,15 +260,1661 @@
 
     /**
      * Indicates whether the given character is an explicit break-character
-     * @param ch    the character to check
+     * @param c    the character to check
      * @return  true if the character represents an explicit break
      */
-    public static boolean isExplicitBreak(char ch) {
-        return (ch == LINEFEED_CHAR
-            || ch == CARRIAGE_RETURN
-            || ch == NEXT_LINE
-            || ch == LINE_SEPARATOR
-            || ch == PARAGRAPH_SEPARATOR);
+    public static boolean isExplicitBreak ( int c ) {
+        return (c == LINEFEED_CHAR
+            || c == CARRIAGE_RETURN
+            || c == NEXT_LINE
+            || c == LINE_SEPARATOR
+            || c == PARAGRAPH_SEPARATOR);
     }
-}
 
+
+    //
+    // The following script codes are based on ISO 15924. Codes less than 1000 are
+    // official assignments from 15924; those equal to or greater than 1000 are FOP
+    // implementation specific.
+    // 
+    // CSOFF: LineLengthCheck
+    /** hebrew script constant */
+    public static final int SCRIPT_HEBREW                               = 125;  // 'hebr'
+    /** mongolian script constant */
+    public static final int SCRIPT_MONGOLIAN                            = 145;  // 'mong'
+    /** arabic script constant */
+    public static final int SCRIPT_ARABIC                               = 160;  // 'arab'
+    /** greek script constant */
+    public static final int SCRIPT_GREEK                                = 200;  // 'grek'
+    /** latin script constant */
+    public static final int SCRIPT_LATIN                                = 215;  // 'latn'
+    /** cyrillic script constant */
+    public static final int SCRIPT_CYRILLIC                             = 220;  // 'cyrl'
+    /** georgian script constant */
+    public static final int SCRIPT_GEORGIAN                             = 240;  // 'geor'
+    /** bopomofo script constant */
+    public static final int SCRIPT_BOPOMOFO                             = 285;  // 'bopo'
+    /** hangul script constant */
+    public static final int SCRIPT_HANGUL                               = 286;  // 'hang'
+    /** gurmukhi script constant */
+    public static final int SCRIPT_GURMUKHI                             = 310;  // 'guru'
+    /** gurmukhi 2 script constant */
+    public static final int SCRIPT_GURMUKHI_2                           = 1310; // 'gur2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** devanagari script constant */
+    public static final int SCRIPT_DEVANAGARI                           = 315;  // 'deva'
+    /** devanagari 2 script constant */
+    public static final int SCRIPT_DEVANAGARI_2                         = 1315; // 'dev2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** gujarati script constant */
+    public static final int SCRIPT_GUJARATI                             = 320;  // 'gujr'
+    /** gujarati 2 script constant */
+    public static final int SCRIPT_GUJARATI_2                           = 1320; // 'gjr2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** bengali script constant */
+    public static final int SCRIPT_BENGALI                              = 326;  // 'beng'
+    /** bengali 2 script constant */
+    public static final int SCRIPT_BENGALI_2                            = 1326; // 'bng2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** oriya script constant */
+    public static final int SCRIPT_ORIYA                                = 327;  // 'orya'
+    /** oriya 2 script constant */
+    public static final int SCRIPT_ORIYA_2                              = 1327; // 'ory2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** tibetan script constant */
+    public static final int SCRIPT_TIBETAN                              = 330;  // 'tibt'
+    /** telugu script constant */
+    public static final int SCRIPT_TELUGU                               = 340;  // 'telu'
+    /** telugu 2 script constant */
+    public static final int SCRIPT_TELUGU_2                             = 1340; // 'tel2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** kannada script constant */
+    public static final int SCRIPT_KANNADA                              = 345;  // 'knda'
+    /** kannada 2 script constant */
+    public static final int SCRIPT_KANNADA_2                            = 1345; // 'knd2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** tamil script constant */
+    public static final int SCRIPT_TAMIL                                = 346;  // 'taml'
+    /** tamil 2 script constant */
+    public static final int SCRIPT_TAMIL_2                              = 1346; // 'tml2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** malayalam script constant */
+    public static final int SCRIPT_MALAYALAM                            = 347;  // 'mlym'
+    /** malayalam 2 script constant */
+    public static final int SCRIPT_MALAYALAM_2                          = 1347; // 'mlm2'       -- MSFT (pseudo) script tag for variant shaping semantics
+    /** sinhalese script constant */
+    public static final int SCRIPT_SINHALESE                            = 348;  // 'sinh'
+    /** burmese script constant */
+    public static final int SCRIPT_BURMESE                              = 350;  // 'mymr'
+    /** thai script constant */
+    public static final int SCRIPT_THAI                                 = 352;  // 'thai'
+    /** khmer script constant */
+    public static final int SCRIPT_KHMER                                = 355;  // 'khmr'
+    /** lao script constant */
+    public static final int SCRIPT_LAO                                  = 356;  // 'laoo'
+    /** hiragana script constant */
+    public static final int SCRIPT_HIRAGANA                             = 410;  // 'hira'
+    /** ethiopic script constant */
+    public static final int SCRIPT_ETHIOPIC                             = 430;  // 'ethi'
+    /** han script constant */
+    public static final int SCRIPT_HAN                                  = 500;  // 'hani'
+    /** katakana script constant */
+    public static final int SCRIPT_KATAKANA                             = 410;  // 'kana'
+    /** math script constant */
+    public static final int SCRIPT_MATH                                 = 995;  // 'zmth'
+    /** symbol script constant */
+    public static final int SCRIPT_SYMBOL                               = 996;  // 'zsym'
+    /** undetermined script constant */
+    public static final int SCRIPT_UNDETERMINED                         = 998;  // 'zyyy'
+    /** uncoded script constant */
+    public static final int SCRIPT_UNCODED                              = 999;  // 'zzzz'
+    // CSON: LineLengthCheck
+
+    /**
+     * Determine if character c is punctuation.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character is punctuation
+     */
+    public static boolean isPunctuation ( int c ) {
+        if ( ( c >= 0x0021 ) && ( c <= 0x002F ) ) {             // basic latin punctuation
+            return true;
+        } else if ( ( c >= 0x003A ) && ( c <= 0x0040 ) ) {      // basic latin punctuation
+            return true;
+        } else if ( ( c >= 0x005F ) && ( c <= 0x0060 ) ) {      // basic latin punctuation
+            return true;
+        } else if ( ( c >= 0x007E ) && ( c <= 0x007E ) ) {      // basic latin punctuation
+            return true;
+        } else if ( ( c >= 0x007E ) && ( c <= 0x007E ) ) {      // basic latin punctuation
+            return true;
+        } else if ( ( c >= 0x00A1 ) && ( c <= 0x00BF ) ) {      // latin supplement punctuation
+            return true;
+        } else if ( ( c >= 0x00D7 ) && ( c <= 0x00D7 ) ) {      // latin supplement punctuation
+            return true;
+        } else if ( ( c >= 0x00F7 ) && ( c <= 0x00F7 ) ) {      // latin supplement punctuation
+            return true;
+        } else if ( ( c >= 0x2000 ) && ( c <= 0x206F ) ) {      // general punctuation
+            return true;
+        } else {                                                // [TBD] - not complete
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c is a digit.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character is a digit
+     */
+    public static boolean isDigit ( int c ) {
+        if ( ( c >= 0x0030 ) && ( c <= 0x0039 ) ) {             // basic latin digits
+            return true;
+        } else {                                                // [TBD] - not complete
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the hebrew script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to hebrew script
+     */
+    public static boolean isHebrew ( int c ) {
+        if ( ( c >= 0x0590 ) && ( c <= 0x05FF ) ) {             // hebrew block
+            return true;
+        } else if ( ( c >= 0xFB00 ) && ( c <= 0xFB4F ) ) {      // hebrew presentation forms block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the mongolian script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to mongolian script
+     */
+    public static boolean isMongolian ( int c ) {
+        if ( ( c >= 0x1800 ) && ( c <= 0x18AF ) ) {             // mongolian block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the arabic script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to arabic script
+     */
+    public static boolean isArabic ( int c ) {
+        if ( ( c >= 0x0600 ) && ( c <= 0x06FF ) ) {             // arabic block
+            return true;
+        } else if ( ( c >= 0x0750 ) && ( c <= 0x077F ) ) {      // arabic supplement block
+            return true;
+        } else if ( ( c >= 0xFB50 ) && ( c <= 0xFDFF ) ) {      // arabic presentation forms a block
+            return true;
+        } else if ( ( c >= 0xFE70 ) && ( c <= 0xFEFF ) ) {      // arabic presentation forms b block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the greek script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to greek script
+     */
+    public static boolean isGreek ( int c ) {
+        if ( ( c >= 0x0370 ) && ( c <= 0x03FF ) ) {             // greek (and coptic) block
+            return true;
+        } else if ( ( c >= 0x1F00 ) && ( c <= 0x1FFF ) ) {      // greek extended block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the latin script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to latin script
+     */
+    public static boolean isLatin ( int c ) {
+        if ( ( c >= 0x0041 ) && ( c <= 0x005A ) ) {             // basic latin upper case
+            return true;
+        } else if ( ( c >= 0x0061 ) && ( c <= 0x007A ) ) {      // basic latin lower case
+            return true;
+        } else if ( ( c >= 0x00C0 ) && ( c <= 0x00D6 ) ) {      // latin supplement upper case
+            return true;
+        } else if ( ( c >= 0x00D8 ) && ( c <= 0x00DF ) ) {      // latin supplement upper case
+            return true;
+        } else if ( ( c >= 0x00E0 ) && ( c <= 0x00F6 ) ) {      // latin supplement lower case
+            return true;
+        } else if ( ( c >= 0x00F8 ) && ( c <= 0x00FF ) ) {      // latin supplement lower case
+            return true;
+        } else if ( ( c >= 0x0100 ) && ( c <= 0x017F ) ) {      // latin extended a
+            return true;
+        } else if ( ( c >= 0x0180 ) && ( c <= 0x024F ) ) {      // latin extended b
+            return true;
+        } else if ( ( c >= 0x1E00 ) && ( c <= 0x1EFF ) ) {      // latin extended additional
+            return true;
+        } else if ( ( c >= 0x2C60 ) && ( c <= 0x2C7F ) ) {      // latin extended c
+            return true;
+        } else if ( ( c >= 0xA720 ) && ( c <= 0xA7FF ) ) {      // latin extended d
+            return true;
+        } else if ( ( c >= 0xFB00 ) && ( c <= 0xFB0F ) ) {      // latin ligatures
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the cyrillic script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to cyrillic script
+     */
+    public static boolean isCyrillic ( int c ) {
+        if ( ( c >= 0x0400 ) && ( c <= 0x04FF ) ) {             // cyrillic block
+            return true;
+        } else if ( ( c >= 0x0500 ) && ( c <= 0x052F ) ) {      // cyrillic supplement block
+            return true;
+        } else if ( ( c >= 0x2DE0 ) && ( c <= 0x2DFF ) ) {      // cyrillic extended-a block
+            return true;
+        } else if ( ( c >= 0xA640 ) && ( c <= 0xA69F ) ) {      // cyrillic extended-b block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the georgian script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to georgian script
+     */
+    public static boolean isGeorgian ( int c ) {
+        if ( ( c >= 0x10A0 ) && ( c <= 0x10FF ) ) {             // georgian block
+            return true;
+        } else if ( ( c >= 0x2D00 ) && ( c <= 0x2D2F ) ) {      // georgian supplement block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the hangul script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to hangul script
+     */
+    public static boolean isHangul ( int c ) {
+        if ( ( c >= 0x1100 ) && ( c <= 0x11FF ) ) {             // hangul jamo
+            return true;
+        } else if ( ( c >= 0x3130 ) && ( c <= 0x318F ) ) {      // hangul compatibility jamo
+            return true;
+        } else if ( ( c >= 0xA960 ) && ( c <= 0xA97F ) ) {      // hangul jamo extended a
+            return true;
+        } else if ( ( c >= 0xAC00 ) && ( c <= 0xD7A3 ) ) {      // hangul syllables
+            return true;
+        } else if ( ( c >= 0xD7B0 ) && ( c <= 0xD7FF ) ) {      // hangul jamo extended a
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the gurmukhi script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to gurmukhi script
+     */
+    public static boolean isGurmukhi ( int c ) {
+        if ( ( c >= 0x0A00 ) && ( c <= 0x0A7F ) ) {             // gurmukhi block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the devanagari script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to devanagari script
+     */
+    public static boolean isDevanagari ( int c ) {
+        if ( ( c >= 0x0900 ) && ( c <= 0x097F ) ) {             // devangari block
+            return true;
+        } else if ( ( c >= 0xA8E0 ) && ( c <= 0xA8FF ) ) {      // devangari extended block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the gujarati script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to gujarati script
+     */
+    public static boolean isGujarati ( int c ) {
+        if ( ( c >= 0x0A80 ) && ( c <= 0x0AFF ) ) {             // gujarati block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the bengali script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to bengali script
+     */
+    public static boolean isBengali ( int c ) {
+        if ( ( c >= 0x0980 ) && ( c <= 0x09FF ) ) {             // bengali block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the oriya script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to oriya script
+     */
+    public static boolean isOriya ( int c ) {
+        if ( ( c >= 0x0B00 ) && ( c <= 0x0B7F ) ) {             // oriya block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the tibetan script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to tibetan script
+     */
+    public static boolean isTibetan ( int c ) {
+        if ( ( c >= 0x0F00 ) && ( c <= 0x0FFF ) ) {             // tibetan block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the telugu script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to telugu script
+     */
+    public static boolean isTelugu ( int c ) {
+        if ( ( c >= 0x0C00 ) && ( c <= 0x0C7F ) ) {             // telugu block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the kannada script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to kannada script
+     */
+    public static boolean isKannada ( int c ) {
+        if ( ( c >= 0x0C00 ) && ( c <= 0x0C7F ) ) {             // kannada block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the tamil script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to tamil script
+     */
+    public static boolean isTamil ( int c ) {
+        if ( ( c >= 0x0B80 ) && ( c <= 0x0BFF ) ) {             // tamil block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the malayalam script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to malayalam script
+     */
+    public static boolean isMalayalam ( int c ) {
+        if ( ( c >= 0x0D00 ) && ( c <= 0x0D7F ) ) {             // malayalam block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the sinhalese script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to sinhalese script
+     */
+    public static boolean isSinhalese ( int c ) {
+        if ( ( c >= 0x0D80 ) && ( c <= 0x0DFF ) ) {             // sinhala block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the burmese script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to burmese script
+     */
+    public static boolean isBurmese ( int c ) {
+        if ( ( c >= 0x1000 ) && ( c <= 0x109F ) ) {             // burmese (myanmar) block
+            return true;
+        } else if ( ( c >= 0xAA60 ) && ( c <= 0xAA7F ) ) {      // burmese (myanmar) extended block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the thai script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to thai script
+     */
+    public static boolean isThai ( int c ) {
+        if ( ( c >= 0x0E00 ) && ( c <= 0x0E7F ) ) {             // thai block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the khmer script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to khmer script
+     */
+    public static boolean isKhmer ( int c ) {
+        if ( ( c >= 0x1780 ) && ( c <= 0x17FF ) ) {             // khmer block
+            return true;
+        } else if ( ( c >= 0x19E0 ) && ( c <= 0x19FF ) ) {      // khmer symbols block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the lao script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to lao script
+     */
+    public static boolean isLao ( int c ) {
+        if ( ( c >= 0x0E80 ) && ( c <= 0x0EFF ) ) {             // lao block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the ethiopic (amharic) script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to ethiopic (amharic) script
+     */
+    public static boolean isEthiopic ( int c ) {
+        if ( ( c >= 0x1200 ) && ( c <= 0x137F ) ) {             // ethiopic block
+            return true;
+        } else if ( ( c >= 0x1380 ) && ( c <= 0x139F ) ) {      // ethoipic supplement block
+            return true;
+        } else if ( ( c >= 0x2D80 ) && ( c <= 0x2DDF ) ) {      // ethoipic extended block
+            return true;
+        } else if ( ( c >= 0xAB00 ) && ( c <= 0xAB2F ) ) {      // ethoipic extended-a block
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the han (unified cjk) script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to han (unified cjk) script
+     */
+    public static boolean isHan ( int c ) {
+        if ( ( c >= 0x3400 ) && ( c <= 0x4DBF ) ) {             
+            return true; // cjk unified ideographs extension a
+        } else if ( ( c >= 0x4E00 ) && ( c <= 0x9FFF ) ) {      
+            return true; // cjk unified ideographs
+        } else if ( ( c >= 0xF900 ) && ( c <= 0xFAFF ) ) {      
+            return true; // cjk compatibility ideographs
+        } else if ( ( c >= 0x20000 ) && ( c <= 0x2A6DF ) ) {    
+            return true; // cjk unified ideographs extension b
+        } else if ( ( c >= 0x2A700 ) && ( c <= 0x2B73F ) ) {    
+            return true; // cjk unified ideographs extension c
+        } else if ( ( c >= 0x2F800 ) && ( c <= 0x2FA1F ) ) {    
+            return true; // cjk compatibility ideographs supplement
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the bopomofo script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to bopomofo script
+     */
+    public static boolean isBopomofo ( int c ) {
+        if ( ( c >= 0x3100 ) && ( c <= 0x312F ) ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the hiragana script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to hiragana script
+     */
+    public static boolean isHiragana ( int c ) {
+        if ( ( c >= 0x3040 ) && ( c <= 0x309F ) ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Determine if character c belong to the katakana script.
+     * @param c a character represented as a unicode scalar value
+     * @return true if character belongs to katakana script
+     */
+    public static boolean isKatakana ( int c ) {
+        if ( ( c >= 0x30A0 ) && ( c <= 0x30FF ) ) {
+            return true;
+        } else if ( ( c >= 0x31F0 ) && ( c <= 0x31FF ) ) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Obtain ISO15924 numeric script code of character. If script is not or cannot be determined,
+     * then the script code 998 ('zyyy') is returned.
+     * @param c the character to obtain script
+     * @return an ISO15924 script code
+     */
+    public static int scriptOf ( int c ) { // [TBD] - needs optimization!!!
+        if ( isAnySpace ( c ) ) {
+            return SCRIPT_UNDETERMINED;
+        } else if ( isPunctuation ( c ) ) {
+            return SCRIPT_UNDETERMINED;
+        } else if ( isDigit ( c ) ) {
+            return SCRIPT_UNDETERMINED;
+        } else if ( isLatin ( c ) ) {
+            return SCRIPT_LATIN;
+        } else if ( isCyrillic ( c ) ) {
+            return SCRIPT_CYRILLIC;
+        } else if ( isGreek ( c ) ) {
+            return SCRIPT_GREEK;
+        } else if ( isHan ( c ) ) {
+            return SCRIPT_HAN;
+        } else if ( isBopomofo ( c ) ) {
+            return SCRIPT_BOPOMOFO;
+        } else if ( isKatakana ( c ) ) {
+            return SCRIPT_KATAKANA;
+        } else if ( isHiragana ( c ) ) {
+            return SCRIPT_HIRAGANA;
+        } else if ( isHangul ( c ) ) {
+            return SCRIPT_HANGUL;
+        } else if ( isArabic ( c ) ) {
+            return SCRIPT_ARABIC;
+        } else if ( isHebrew ( c ) ) {
+            return SCRIPT_HEBREW;
+        } else if ( isMongolian ( c ) ) {
+            return SCRIPT_MONGOLIAN;
+        } else if ( isGeorgian ( c ) ) {
+            return SCRIPT_GEORGIAN;
+        } else if ( isGurmukhi ( c ) ) {
+            return useV2IndicRules ( SCRIPT_GURMUKHI );
+        } else if ( isDevanagari ( c ) ) {
+            return useV2IndicRules ( SCRIPT_DEVANAGARI );
+        } else if ( isGujarati ( c ) ) {
+            return useV2IndicRules ( SCRIPT_GUJARATI );
+        } else if ( isBengali ( c ) ) {
+            return useV2IndicRules ( SCRIPT_BENGALI );
+        } else if ( isOriya ( c ) ) {
+            return useV2IndicRules ( SCRIPT_ORIYA );
+        } else if ( isTibetan ( c ) ) {
+            return SCRIPT_TIBETAN;
+        } else if ( isTelugu ( c ) ) {
+            return useV2IndicRules ( SCRIPT_TELUGU );
+        } else if ( isKannada ( c ) ) {
+            return useV2IndicRules ( SCRIPT_KANNADA );
+        } else if ( isTamil ( c ) ) {
+            return useV2IndicRules ( SCRIPT_TAMIL );
+        } else if ( isMalayalam ( c ) ) {
+            return useV2IndicRules ( SCRIPT_MALAYALAM );
+        } else if ( isSinhalese ( c ) ) {
+            return SCRIPT_SINHALESE;
+        } else if ( isBurmese ( c ) ) {
+            return SCRIPT_BURMESE;
+        } else if ( isThai ( c ) ) {
+            return SCRIPT_THAI;
+        } else if ( isKhmer ( c ) ) {
+            return SCRIPT_KHMER;
+        } else if ( isLao ( c ) ) {
+            return SCRIPT_LAO;
+        } else if ( isEthiopic ( c ) ) {
+            return SCRIPT_ETHIOPIC;
+        } else {
+            return SCRIPT_UNDETERMINED;
+        }
+    }
+
+    /**
+     * Obtain the V2 indic script code corresponding to V1 indic script code SC if
+     * and only iff V2 indic rules apply; otherwise return SC.
+     * @param sc a V1 indic script code
+     * @return either SC or the V2 flavor of SC if V2 indic rules apply
+     */
+    public static int useV2IndicRules ( int sc ) {
+        if ( useV2Indic ) {
+            return ( sc < 1000 ) ? ( sc + 1000 ) : sc;
+        } else {
+            return sc;
+        }
+    }
+
+    /**
+     * Obtain the  script codes of each character in a character sequence. If script
+     * is not or cannot be determined for some character, then the script code 998
+     * ('zyyy') is returned.
+     * @param cs the character sequence
+     * @return a (possibly empty) array of script codes
+     */
+    public static int[] scriptsOf ( CharSequence cs ) {
+        Set s = new HashSet();
+        for ( int i = 0, n = cs.length(); i < n; i++ ) {
+            s.add ( Integer.valueOf ( scriptOf ( cs.charAt ( i ) ) ) );
+        }
+        int[] sa = new int [ s.size() ];
+        int ns = 0;
+        for ( Iterator it = s.iterator(); it.hasNext();) {
+            sa [ ns++ ] = ( (Integer) it.next() ) .intValue();
+        }
+        Arrays.sort ( sa );
+        return sa;
+    }
+
+    /**
+     * Determine the dominant script of a character sequence.
+     * @param cs the character sequence
+     * @return the dominant script or SCRIPT_UNDETERMINED
+     */
+    public static int dominantScript ( CharSequence cs ) {
+        Map m = new HashMap();
+        for ( int i = 0, n = cs.length(); i < n; i++ ) {
+            int c = cs.charAt ( i );
+            int s = scriptOf ( c );
+            Integer k = Integer.valueOf ( s );
+            Integer v = (Integer) m.get ( k );
+            if ( v != null ) {
+                m.put ( k, Integer.valueOf ( v.intValue() + 1 ) );
+            } else {
+                m.put ( k, Integer.valueOf ( 0 ) );
+            }
+        }
+        int sMax = -1;
+        int cMax = -1;
+        for ( Iterator it = m.entrySet().iterator(); it.hasNext();) {
+            Map.Entry e = (Map.Entry) it.next();
+            Integer k = (Integer) e.getKey();
+            int s = k.intValue();
+            switch ( s ) {
+            case SCRIPT_UNDETERMINED:
+            case SCRIPT_UNCODED:
+                break;
+            default:
+                {
+                    Integer v = (Integer) e.getValue();
+                    assert v != null;
+                    int c = v.intValue();
+                    if ( c > cMax ) {
+                        cMax = c; sMax = s;
+                    }
+                    break;
+                }
+            }
+        }
+        if ( sMax < 0 ) {
+            sMax = SCRIPT_UNDETERMINED;
+        }
+        return sMax;
+    }
+
+    /**
+     * Determine if script tag denotes an 'Indic' script, where a
+     * script is an 'Indic' script if it is intended to be processed by
+     * the generic 'Indic' Script Processor.
+     * @param script a script tag
+     * @return true if script tag is a designated 'Indic' script
+     */
+    public static boolean isIndicScript ( String script ) {
+        switch ( scriptCodeFromTag ( script ) ) {
+        case SCRIPT_BENGALI:
+        case SCRIPT_BENGALI_2:
+        case SCRIPT_BURMESE:
+        case SCRIPT_DEVANAGARI:
+        case SCRIPT_DEVANAGARI_2:
+        case SCRIPT_GUJARATI:
+        case SCRIPT_GUJARATI_2:
+        case SCRIPT_GURMUKHI:
+        case SCRIPT_GURMUKHI_2:
+        case SCRIPT_KANNADA:
+        case SCRIPT_KANNADA_2:
+        case SCRIPT_MALAYALAM:
+        case SCRIPT_MALAYALAM_2:
+        case SCRIPT_ORIYA:
+        case SCRIPT_ORIYA_2:
+        case SCRIPT_TAMIL:
+        case SCRIPT_TAMIL_2:
+        case SCRIPT_TELUGU:
+        case SCRIPT_TELUGU_2:
+            return true;
+        default:
+            return false;
+        }
+    }
+
+    /**
+     * Determine the script tag associated with an internal script code.
+     * @param code the script code
+     * @return a  script tag
+     */
+    public static String scriptTagFromCode ( int code ) {
+        Map<Integer,String> m = getScriptTagsMap();
+        if ( m != null ) {
+            String tag;
+            if ( ( tag = m.get ( Integer.valueOf ( code ) ) ) != null ) {
+                return tag;
+            } else {
+                return "";
+            }
+        } else {
+            return "";
+        }
+    }
+
+    /**
+     * Determine the internal script code associated with a script tag.
+     * @param tag the script tag
+     * @return a script code
+     */
+    public static int scriptCodeFromTag ( String tag ) {
+        Map<String,Integer> m = getScriptCodeMap();
+        if ( m != null ) {
+            Integer c;
+            if ( ( c = m.get ( tag ) ) != null ) {
+                return (int) c;
+            } else {
+                return SCRIPT_UNDETERMINED;
+            }
+        } else {
+            return SCRIPT_UNDETERMINED;
+        }
+    }
+
+    /**
+     * Convert a single unicode scalar value to an XML numeric character
+     * reference. If in the BMP, four digits are used, otherwise 6 digits are used.
+     * @param c a unicode scalar value
+     * @return a string representing a numeric character reference
+     */
+    public static String charToNCRef ( int c ) {
+        StringBuffer sb = new StringBuffer();
+        for ( int i = 0, nDigits = ( c > 0xFFFF ) ? 6 : 4; i < nDigits; i++, c >>= 4 ) {
+            int d = c & 0xF;
+            char hd;
+            if ( d < 10 ) {
+                hd = (char) ( (int) '0' + d );
+            } else {
+                hd = (char) ( (int) 'A' + ( d - 10 ) );
+            }
+            sb.append ( hd );
+        }
+        return "&#x" + sb.reverse() + ";";
+    }
+
+    /**
+     * Convert a string to a sequence of ASCII or XML numeric character references.
+     * @param s a java string (encoded in UTF-16)
+     * @return a string representing a sequence of numeric character reference or
+     * ASCII characters
+     */
+    public static String toNCRefs ( String s ) {
+        StringBuffer sb = new StringBuffer();
+        if ( s != null ) {
+            for ( int i = 0; i < s.length(); i++ ) {
+                char c = s.charAt(i);
+                if ( ( c >= 32 ) && ( c < 127 ) ) {
+                    if ( c == '<' ) {
+                        sb.append ( "&lt;" );
+                    } else if ( c == '>' ) {
+                        sb.append ( "&gt;" );
+                    } else if ( c == '&' ) {
+                        sb.append ( "&amp;" );
+                    } else {
+                        sb.append ( c );
+                    }
+                } else {
+                    sb.append ( charToNCRef ( c ) );
+                }
+            }
+        }
+        return sb.toString();
+    }
+
+    private static String padLeft ( String s, int width, char pad ) {
+        StringBuffer sb = new StringBuffer();
+        for ( int i = s.length(); i < width; i++ ) {
+            sb.append(pad);
+        }
+        sb.append ( s );
+        return sb.toString();
+    }
+
+    /**
+     * Format character for debugging output, which it is prefixed with "0x", padded left with '0'
+     * and either 4 or 6 hex characters in width according to whether it is in the BMP or not.
+     * @param c character code
+     * @return formatted character string
+     */
+    public static String format ( int c ) {
+        if ( c < 1114112 ) {
+            return "0x" + padLeft ( Integer.toString ( c, 16 ), ( c < 65536 ) ? 4 : 6, '0' );
+        } else {
+            return "!NOT A CHARACTER!";
+        }
+    }
+
+    private static Map<Integer,String> scriptTagsMap = null;
+    private static Map<String,Integer> scriptCodeMap = null;
+
+    private static void putScriptTag ( Map tm, Map cm, int code, String tag ) {
+        assert tag != null;
+        assert tag.length() != 0;
+        assert code >= 0;
+        assert code <  2000;
+        tm.put ( Integer.valueOf ( code ), tag );
+        cm.put ( tag, Integer.valueOf ( code ) );
+    }
+
+    private static void makeScriptMaps() {
+        HashMap<Integer,String> tm = new HashMap<Integer,String>();
+        HashMap<String,Integer> cm = new HashMap<String,Integer>();
+        putScriptTag ( tm, cm, SCRIPT_HEBREW, "hebr" );
+        putScriptTag ( tm, cm, SCRIPT_MONGOLIAN, "mong" );
+        putScriptTag ( tm, cm, SCRIPT_ARABIC, "arab" );
+        putScriptTag ( tm, cm, SCRIPT_GREEK, "grek" );
+        putScriptTag ( tm, cm, SCRIPT_LATIN, "latn" );
+        putScriptTag ( tm, cm, SCRIPT_CYRILLIC, "cyrl" );
+        putScriptTag ( tm, cm, SCRIPT_GEORGIAN, "geor" );
+        putScriptTag ( tm, cm, SCRIPT_BOPOMOFO, "bopo" );
+        putScriptTag ( tm, cm, SCRIPT_HANGUL, "hang" );
+        putScriptTag ( tm, cm, SCRIPT_GURMUKHI, "guru" );
+        putScriptTag ( tm, cm, SCRIPT_GURMUKHI_2, "gur2" );
+        putScriptTag ( tm, cm, SCRIPT_DEVANAGARI, "deva" );
+        putScriptTag ( tm, cm, SCRIPT_DEVANAGARI_2, "dev2" );
+        putScriptTag ( tm, cm, SCRIPT_GUJARATI, "gujr" );
+        putScriptTag ( tm, cm, SCRIPT_GUJARATI_2, "gjr2" );
+        putScriptTag ( tm, cm, SCRIPT_BENGALI, "beng" );
+        putScriptTag ( tm, cm, SCRIPT_BENGALI_2, "bng2" );
+        putScriptTag ( tm, cm, SCRIPT_ORIYA, "orya" );
+        putScriptTag ( tm, cm, SCRIPT_ORIYA_2, "ory2" );
+        putScriptTag ( tm, cm, SCRIPT_TIBETAN, "tibt" );
+        putScriptTag ( tm, cm, SCRIPT_TELUGU, "telu" );
+        putScriptTag ( tm, cm, SCRIPT_TELUGU_2, "tel2" );
+        putScriptTag ( tm, cm, SCRIPT_KANNADA, "knda" );
+        putScriptTag ( tm, cm, SCRIPT_KANNADA_2, "knd2" );
+        putScriptTag ( tm, cm, SCRIPT_TAMIL, "taml" );
+        putScriptTag ( tm, cm, SCRIPT_TAMIL_2, "tml2" );
+        putScriptTag ( tm, cm, SCRIPT_MALAYALAM, "mlym" );
+        putScriptTag ( tm, cm, SCRIPT_MALAYALAM_2, "mlm2" );
+        putScriptTag ( tm, cm, SCRIPT_SINHALESE, "sinh" );
+        putScriptTag ( tm, cm, SCRIPT_BURMESE, "mymr" );
+        putScriptTag ( tm, cm, SCRIPT_THAI, "thai" );
+        putScriptTag ( tm, cm, SCRIPT_KHMER, "khmr" );
+        putScriptTag ( tm, cm, SCRIPT_LAO, "laoo" );
+        putScriptTag ( tm, cm, SCRIPT_HIRAGANA, "hira" );
+        putScriptTag ( tm, cm, SCRIPT_ETHIOPIC, "ethi" );
+        putScriptTag ( tm, cm, SCRIPT_HAN, "hani" );
+        putScriptTag ( tm, cm, SCRIPT_KATAKANA, "kana" );
+        putScriptTag ( tm, cm, SCRIPT_MATH, "zmth" );
+        putScriptTag ( tm, cm, SCRIPT_SYMBOL, "zsym" );
+        putScriptTag ( tm, cm, SCRIPT_UNDETERMINED, "zyyy" );
+        putScriptTag ( tm, cm, SCRIPT_UNCODED, "zzzz" );
+        scriptTagsMap = tm;
+        scriptCodeMap = cm;
+    }
+
+    private static Map<Integer,String> getScriptTagsMap() {
+        if ( scriptTagsMap == null ) {
+            makeScriptMaps();
+        }
+        return scriptTagsMap;
+    }
+
+    private static Map<String,Integer> getScriptCodeMap() {
+        if ( scriptCodeMap == null ) {
+            makeScriptMaps();
+        }
+        return scriptCodeMap;
+    }
+
+    /**
+     * Mirror characters that are designated as having the bidi mirrorred property.
+     * @param s a string whose characters are to be mirrored
+     * @return the resulting string
+     */
+    public static String mirror ( String s ) {
+        StringBuffer sb = new StringBuffer ( s );
+        for ( int i = 0, n = sb.length(); i < n; i++ ) {
+            sb.setCharAt ( i, (char) mirror ( sb.charAt ( i ) ) );
+        }
+        return sb.toString();
+    }
+
+    private static int[] mirroredCharacters = {
+        0x0028,
+        0x0029,
+        0x003C,
+        0x003E,
+        0x005B,
+        0x005D,
+        0x007B,
+        0x007D,
+        0x00AB,
+        0x00BB,
+        0x0F3A,
+        0x0F3B,
+        0x0F3C,
+        0x0F3D,
+        0x169B,
+        0x169C,
+        0x2039,
+        0x203A,
+        0x2045,
+        0x2046,
+        0x207D,
+        0x207E,
+        0x208D,
+        0x208E,
+        0x2208,
+        0x2209,
+        0x220A,
+        0x220B,
+        0x220C,
+        0x220D,
+        0x2215,
+        0x223C,
+        0x223D,
+        0x2243,
+        0x2252,
+        0x2253,
+        0x2254,
+        0x2255,
+        0x2264,
+        0x2265,
+        0x2266,
+        0x2267,
+        0x2268,
+        0x2269,
+        0x226A,
+        0x226B,
+        0x226E,
+        0x226F,
+        0x2270,
+        0x2271,
+        0x2272,
+        0x2273,
+        0x2274,
+        0x2275,
+        0x2276,
+        0x2277,
+        0x2278,
+        0x2279,
+        0x227A,
+        0x227B,
+        0x227C,
+        0x227D,
+        0x227E,
+        0x227F,
+        0x2280,
+        0x2281,
+        0x2282,
+        0x2283,
+        0x2284,
+        0x2285,
+        0x2286,
+        0x2287,
+        0x2288,
+        0x2289,
+        0x228A,
+        0x228B,
+        0x228F,
+        0x2290,
+        0x2291,
+        0x2292,
+        0x2298,
+        0x22A2,
+        0x22A3,
+        0x22A6,
+        0x22A8,
+        0x22A9,
+        0x22AB,
+        0x22B0,
+        0x22B1,
+        0x22B2,
+        0x22B3,
+        0x22B4,
+        0x22B5,
+        0x22B6,
+        0x22B7,
+        0x22C9,
+        0x22CA,
+        0x22CB,
+        0x22CC,
+        0x22CD,
+        0x22D0,
+        0x22D1,
+        0x22D6,
+        0x22D7,
+        0x22D8,
+        0x22D9,
+        0x22DA,
+        0x22DB,
+        0x22DC,
+        0x22DD,
+        0x22DE,
+        0x22DF,
+        0x22E0,
+        0x22E1,
+        0x22E2,
+        0x22E3,
+        0x22E4,
+        0x22E5,
+        0x22E6,
+        0x22E7,
+        0x22E8,
+        0x22E9,
+        0x22EA,
+        0x22EB,
+        0x22EC,
+        0x22ED,
+        0x22F0,
+        0x22F1,
+        0x22F2,
+        0x22F3,
+        0x22F4,
+        0x22F6,
+        0x22F7,
+        0x22FA,
+        0x22FB,
+        0x22FC,
+        0x22FD,
+        0x22FE,
+        0x2308,
+        0x2309,
+        0x230A,
+        0x230B,
+        0x2329,
+        0x232A,
+        0x2768,
+        0x2769,
+        0x276A,
+        0x276B,
+        0x276C,
+        0x276D,
+        0x276E,
+        0x276F,
+        0x2770,
+        0x2771,
+        0x2772,
+        0x2773,
+        0x2774,
+        0x2775,
+        0x27C3,
+        0x27C4,
+        0x27C5,
+        0x27C6,
+        0x27C8,
+        0x27C9,
+        0x27D5,
+        0x27D6,
+        0x27DD,
+        0x27DE,
+        0x27E2,
+        0x27E3,
+        0x27E4,
+        0x27E5,
+        0x27E6,
+        0x27E7,
+        0x27E8,
+        0x27E9,
+        0x27EA,
+        0x27EB,
+        0x27EC,
+        0x27ED,
+        0x27EE,
+        0x27EF,
+        0x2983,
+        0x2984,
+        0x2985,
+        0x2986,
+        0x2987,
+        0x2988,
+        0x2989,
+        0x298A,
+        0x298B,
+        0x298C,
+        0x298D,
+        0x298E,
+        0x298F,
+        0x2990,
+        0x2991,
+        0x2992,
+        0x2993,
+        0x2994,
+        0x2995,
+        0x2996,
+        0x2997,
+        0x2998,
+        0x29B8,
+        0x29C0,
+        0x29C1,
+        0x29C4,
+        0x29C5,
+        0x29CF,
+        0x29D0,
+        0x29D1,
+        0x29D2,
+        0x29D4,
+        0x29D5,
+        0x29D8,
+        0x29D9,
+        0x29DA,
+        0x29DB,
+        0x29F5,
+        0x29F8,
+        0x29F9,
+        0x29FC,
+        0x29FD,
+        0x2A2B,
+        0x2A2C,
+        0x2A2D,
+        0x2A2E,
+        0x2A34,
+        0x2A35,
+        0x2A3C,
+        0x2A3D,
+        0x2A64,
+        0x2A65,
+        0x2A79,
+        0x2A7A,
+        0x2A7D,
+        0x2A7E,
+        0x2A7F,
+        0x2A80,
+        0x2A81,
+        0x2A82,
+        0x2A83,
+        0x2A84,
+        0x2A8B,
+        0x2A8C,
+        0x2A91,
+        0x2A92,
+        0x2A93,
+        0x2A94,
+        0x2A95,
+        0x2A96,
+        0x2A97,
+        0x2A98,
+        0x2A99,
+        0x2A9A,
+        0x2A9B,
+        0x2A9C,
+        0x2AA1,
+        0x2AA2,
+        0x2AA6,
+        0x2AA7,
+        0x2AA8,
+        0x2AA9,
+        0x2AAA,
+        0x2AAB,
+        0x2AAC,
+        0x2AAD,
+        0x2AAF,
+        0x2AB0,
+        0x2AB3,
+        0x2AB4,
+        0x2AC3,
+        0x2AC4,
+        0x2AC5,
+        0x2AC6,
+        0x2ACD,
+        0x2ACE,
+        0x2ACF,
+        0x2AD0,
+        0x2AD1,
+        0x2AD2,
+        0x2AD3,
+        0x2AD4,
+        0x2AD5,
+        0x2AD6,
+        0x2ADE,
+        0x2AE3,
+        0x2E02,
+        0x2E03,
+        0x2E04,
+        0x2E05,
+        0x2E09,
+        0x2E0A,
+        0x2E0C,
+        0x2E0D,
+        0x2E1C,
+        0x2E1D,
+        0x2E20,
+        0x2E21,
+        0x2E22,
+        0x2E23,
+        0x2E24,
+        0x2E25,
+        0x2E26,
+        0x300E,
+        0x300F,
+        0x3010,
+        0x3011,
+        0x3014,
+        0x3015,
+        0x3016,
+        0x3017,
+        0x3018,
+        0x3019,
+        0x301A,
+        0x301B,
+        0xFE59,
+        0xFE5A,
+        0xFF3B,
+        0xFF3D,
+        0xFF5B,
+        0xFF5D,
+        0xFF5F,
+        0xFF60,
+        0xFF62,
+        0xFF63
+    };
+
+    private static int[] mirroredCharactersMapping = {
+        0x0029,
+        0x0028,
+        0x003E,
+        0x003C,
+        0x005D,
+        0x005B,
+        0x007D,
+        0x007B,
+        0x00BB,
+        0x00AB,
+        0x0F3B,
+        0x0F3A,
+        0x0F3D,
+        0x0F3C,
+        0x169C,
+        0x169B,
+        0x203A,
+        0x2039,
+        0x2046,
+        0x2045,
+        0x207E,
+        0x207D,
+        0x208E,
+        0x208D,
+        0x220B,
+        0x220C,
+        0x220D,
+        0x2208,
+        0x2209,
+        0x220A,
+        0x29F5,
+        0x223D,
+        0x223C,
+        0x22CD,
+        0x2253,
+        0x2252,
+        0x2255,
+        0x2254,
+        0x2265,
+        0x2264,
+        0x2267,
+        0x2266,
+        0x2269,
+        0x2268,
+        0x226B,
+        0x226A,
+        0x226F,
+        0x226E,
+        0x2271,
+        0x2270,
+        0x2273,
+        0x2272,
+        0x2275,
+        0x2274,
+        0x2277,
+        0x2276,
+        0x2279,
+        0x2278,
+        0x227B,
+        0x227A,
+        0x227D,
+        0x227C,
+        0x227F,
+        0x227E,
+        0x2281,
+        0x2280,
+        0x2283,
+        0x2282,
+        0x2285,
+        0x2284,
+        0x2287,
+        0x2286,
+        0x2289,
+        0x2288,
+        0x228B,
+        0x228A,
+        0x2290,
+        0x228F,
+        0x2292,
+        0x2291,
+        0x29B8,
+        0x22A3,
+        0x22A2,
+        0x2ADE,
+        0x2AE4,
+        0x2AE3,
+        0x2AE5,
+        0x22B1,
+        0x22B0,
+        0x22B3,
+        0x22B2,
+        0x22B5,
+        0x22B4,
+        0x22B7,
+        0x22B6,
+        0x22CA,
+        0x22C9,
+        0x22CC,
+        0x22CB,
+        0x2243,
+        0x22D1,
+        0x22D0,
+        0x22D7,
+        0x22D6,
+        0x22D9,
+        0x22D8,
+        0x22DB,
+        0x22DA,
+        0x22DD,
+        0x22DC,
+        0x22DF,
+        0x22DE,
+        0x22E1,
+        0x22E0,
+        0x22E3,
+        0x22E2,
+        0x22E5,
+        0x22E4,
+        0x22E7,
+        0x22E6,
+        0x22E9,
+        0x22E8,
+        0x22EB,
+        0x22EA,
+        0x22ED,
+        0x22EC,
+        0x22F1,
+        0x22F0,
+        0x22FA,
+        0x22FB,
+        0x22FC,
+        0x22FD,
+        0x22FE,
+        0x22F2,
+        0x22F3,
+        0x22F4,
+        0x22F6,
+        0x22F7,
+        0x2309,
+        0x2308,
+        0x230B,
+        0x230A,
+        0x232A,
+        0x2329,
+        0x2769,
+        0x2768,
+        0x276B,
+        0x276A,
+        0x276D,
+        0x276C,
+        0x276F,
+        0x276E,
+        0x2771,
+        0x2770,
+        0x2773,
+        0x2772,
+        0x2775,
+        0x2774,
+        0x27C4,
+        0x27C3,
+        0x27C6,
+        0x27C5,
+        0x27C9,
+        0x27C8,
+        0x27D6,
+        0x27D5,
+        0x27DE,
+        0x27DD,
+        0x27E3,
+        0x27E2,
+        0x27E5,
+        0x27E4,
+        0x27E7,
+        0x27E6,
+        0x27E9,
+        0x27E8,
+        0x27EB,
+        0x27EA,
+        0x27ED,
+        0x27EC,
+        0x27EF,
+        0x27EE,
+        0x2984,
+        0x2983,
+        0x2986,
+        0x2985,
+        0x2988,
+        0x2987,
+        0x298A,
+        0x2989,
+        0x298C,
+        0x298B,
+        0x2990,
+        0x298F,
+        0x298E,
+        0x298D,
+        0x2992,
+        0x2991,
+        0x2994,
+        0x2993,
+        0x2996,
+        0x2995,
+        0x2998,
+        0x2997,
+        0x2298,
+        0x29C1,
+        0x29C0,
+        0x29C5,
+        0x29C4,
+        0x29D0,
+        0x29CF,
+        0x29D2,
+        0x29D1,
+        0x29D5,
+        0x29D4,
+        0x29D9,
+        0x29D8,
+        0x29DB,
+        0x29DA,
+        0x2215,
+        0x29F9,
+        0x29F8,
+        0x29FD,
+        0x29FC,
+        0x2A2C,
+        0x2A2B,
+        0x2A2E,
+        0x2A2D,
+        0x2A35,
+        0x2A34,
+        0x2A3D,
+        0x2A3C,
+        0x2A65,
+        0x2A64,
+        0x2A7A,
+        0x2A79,
+        0x2A7E,
+        0x2A7D,
+        0x2A80,
+        0x2A7F,
+        0x2A82,
+        0x2A81,
+        0x2A84,
+        0x2A83,
+        0x2A8C,
+        0x2A8B,
+        0x2A92,
+        0x2A91,
+        0x2A94,
+        0x2A93,
+        0x2A96,
+        0x2A95,
+        0x2A98,
+        0x2A97,
+        0x2A9A,
+        0x2A99,
+        0x2A9C,
+        0x2A9B,
+        0x2AA2,
+        0x2AA1,
+        0x2AA7,
+        0x2AA6,
+        0x2AA9,
+        0x2AA8,
+        0x2AAB,
+        0x2AAA,
+        0x2AAD,
+        0x2AAC,
+        0x2AB0,
+        0x2AAF,
+        0x2AB4,
+        0x2AB3,
+        0x2AC4,
+        0x2AC3,
+        0x2AC6,
+        0x2AC5,
+        0x2ACE,
+        0x2ACD,
+        0x2AD0,
+        0x2ACF,
+        0x2AD2,
+        0x2AD1,
+        0x2AD4,
+        0x2AD3,
+        0x2AD6,
+        0x2AD5,
+        0x22A6,
+        0x22A9,
+        0x2E03,
+        0x2E02,
+        0x2E05,
+        0x2E04,
+        0x2E0A,
+        0x2E09,
+        0x2E0D,
+        0x2E0C,
+        0x2E1D,
+        0x2E1C,
+        0x2E21,
+        0x2E20,
+        0x2E23,
+        0x2E22,
+        0x2E25,
+        0x2E24,
+        0x2E27,
+        0x300F,
+        0x300E,
+        0x3011,
+        0x3010,
+        0x3015,
+        0x3014,
+        0x3017,
+        0x3016,
+        0x3019,
+        0x3018,
+        0x301B,
+        0x301A,
+        0xFE5A,
+        0xFE59,
+        0xFF3D,
+        0xFF3B,
+        0xFF5D,
+        0xFF5B,
+        0xFF60,
+        0xFF5F,
+        0xFF63,
+        0xFF62
+    };
+
+    private static int mirror ( int c ) {
+        int i = Arrays.binarySearch ( mirroredCharacters, c );
+        if ( i < 0 ) {
+            return c;
+        } else {
+            return mirroredCharactersMapping [ i ];
+        }
+    }
+
+    /**
+     * Determine if two character sequences contain the same characters.
+     * @param cs1 first character sequence
+     * @param cs2 second character sequence
+     * @return true if both sequences have same length and same character sequence
+     */
+    public static boolean isSameSequence ( CharSequence cs1, CharSequence cs2 ) {
+        assert cs1 != null;
+        assert cs2 != null;
+        if ( cs1.length() != cs2.length() ) {
+            return false;
+        } else {
+            for ( int i = 0, n = cs1.length(); i < n; i++ ) {
+                if ( cs1.charAt(i) != cs2.charAt(i) ) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+}
diff --git a/src/java/org/apache/fop/util/XMLUtil.java b/src/java/org/apache/fop/util/XMLUtil.java
index 0a55ce5..d068c14 100644
--- a/src/java/org/apache/fop/util/XMLUtil.java
+++ b/src/java/org/apache/fop/util/XMLUtil.java
@@ -209,4 +209,126 @@
         }
     }
 
+    /**
+     * Encode a glyph position adjustments array as a string, where the string value
+     * adheres to the following syntax:
+     *
+     * count ( 'Z' repeat | number )
+     *
+     * where each token is separated by whitespace, except that 'Z' followed by repeat
+     * are considered to be a single token with no intervening whitespace, and where
+     * 'Z' repeat encodes repeated zeroes.
+     * @param dp the adjustments array
+     * @param paCount the number of entries to encode from adjustments array
+     * @return the encoded value
+     */
+    public static String encodePositionAdjustments ( int[][] dp, int paCount ) {
+        assert dp != null;
+        StringBuffer sb = new StringBuffer();
+        int na = paCount;
+        int nz = 0;
+        sb.append ( na );
+        for ( int i = 0; i < na; i++ ) {
+            int[] pa = dp [ i ];
+            for ( int k = 0; k < 4; k++ ) {
+                int a = pa [ k ];
+                if ( a != 0 ) {
+                    encodeNextAdjustment ( sb, nz, a ); nz = 0;
+                } else {
+                    nz++;
+                }
+            }
+        }
+        encodeNextAdjustment ( sb, nz, 0 );
+        return sb.toString();
+    }
+
+    /**
+     * Encode a glyph position adjustments array as a string, where the string value
+     * adheres to the following syntax:
+     *
+     * count ( 'Z' repeat | number )
+     *
+     * where each token is separated by whitespace, except that 'Z' followed by repeat
+     * are considered to be a single token with no intervening whitespace.
+     * @param dp the adjustments array
+     * @return the encoded value
+     */
+    public static String encodePositionAdjustments ( int[][] dp ) {
+        assert dp != null;
+        return encodePositionAdjustments ( dp, dp.length );
+    }
+
+    private static void encodeNextAdjustment ( StringBuffer sb, int nz, int a ) {
+        encodeZeroes ( sb, nz );
+        encodeAdjustment ( sb, a );
+    }
+
+    private static void encodeZeroes ( StringBuffer sb, int nz ) {
+        if ( nz > 0 ) {
+            sb.append ( ' ' );
+            if ( nz == 1 ) {
+                sb.append ( '0' );
+            } else {
+                sb.append ( 'Z' );
+                sb.append ( nz );
+            }
+        }
+    }
+
+    private static void encodeAdjustment ( StringBuffer sb, int a ) {
+        if ( a != 0 ) {
+            sb.append ( ' ' );
+            sb.append ( a );
+        }
+    }
+
+    /**
+     * Decode a string as a glyph position adjustments array, where the string
+     * shall adhere to the syntax specified by {@link #encodePositionAdjustments}.
+     * @param value the encoded value
+     * @return the position adjustments array
+     */
+    public static int[][] decodePositionAdjustments ( String value ) {
+        int[][] dp = null;
+        if ( value != null ) {
+            String[] sa = value.split ( "\\s" );
+            if ( sa != null ) {
+                if ( sa.length > 0 ) {
+                    int na = Integer.parseInt ( sa[0] );
+                    dp = new int [ na ] [ 4 ];
+                    for ( int i = 1, n = sa.length, k = 0; i < n; i++ ) {
+                        String s = sa [ i ];
+                        if ( s.charAt(0) == 'Z' ) {
+                            int nz = Integer.parseInt ( s.substring ( 1 ) );
+                            k += nz;
+                        } else {
+                            dp [ k / 4 ] [ k % 4 ] = Integer.parseInt ( s );
+                            k += 1;
+                        }
+                    }
+                }
+            }
+        }
+        return dp;
+    }
+
+    /**
+     * Returns an attribute value as a glyph position adjustments array. The string value
+     * is expected to be a non-empty sequence of either Z<repeat> or <number>, where the
+     * former encodes a repeat count (of zeroes) and the latter encodes a integer number,
+     * and where each item is separated by whitespace.
+     * @param attributes the Attributes object
+     * @param name the name of the attribute
+     * @return the position adjustments array
+     */
+    public static int[][] getAttributeAsPositionAdjustments(Attributes attributes, String name) {
+        String s = attributes.getValue(name);
+        if (s == null) {
+            return null;
+        } else {
+            return decodePositionAdjustments(s.trim());
+        }
+    }
+
 }
diff --git a/src/sandbox/org/apache/fop/render/svg/SVGPainter.java b/src/sandbox/org/apache/fop/render/svg/SVGPainter.java
index bcc3a69..3eba510 100644
--- a/src/sandbox/org/apache/fop/render/svg/SVGPainter.java
+++ b/src/sandbox/org/apache/fop/render/svg/SVGPainter.java
@@ -49,6 +49,7 @@
 import org.apache.fop.render.intermediate.IFContext;
 import org.apache.fop.render.intermediate.IFException;
 import org.apache.fop.render.intermediate.IFState;
+import org.apache.fop.render.intermediate.IFUtil;
 import org.apache.fop.traits.BorderProps;
 import org.apache.fop.traits.RuleStyle;
 import org.apache.fop.util.ColorUtil;
@@ -319,7 +320,7 @@
 
     /** {@inheritDoc} */
 
-    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[] dx,
+    public void drawText(int x, int y, int letterSpacing, int wordSpacing, int[][] dp,
             String text) throws IFException {
         try {
             establish(MODE_TEXT);
@@ -333,7 +334,8 @@
             if (wordSpacing != 0) {
                 XMLUtil.addAttribute(atts, "word-spacing", SVGUtil.formatMptToPt(wordSpacing));
             }
-            if (dx != null) {
+            if (dp != null) {
+                int[] dx = IFUtil.convertDPToDX(dp);
                 XMLUtil.addAttribute(atts, "dx", SVGUtil.formatMptArrayToPt(dx));
             }
             handler.startElement("text", atts);
diff --git a/test/java/org/apache/fop/complexscripts/ComplexScriptsTestSuite.java b/test/java/org/apache/fop/complexscripts/ComplexScriptsTestSuite.java
new file mode 100644
index 0000000..72bdd07
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/ComplexScriptsTestSuite.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts;
+
+import org.apache.fop.complexscripts.bidi.BidiTestSuite;
+import org.apache.fop.complexscripts.fonts.FontsTestSuite;
+import org.apache.fop.complexscripts.scripts.ScriptsTestSuite;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Test suite for complex scripts functionality.
+ */
+public class ComplexScriptsTestSuite {
+
+    /**
+     * Builds the test suite
+     * @return the test suite
+     */
+    public static Test suite() {
+        TestSuite suite = new TestSuite(
+            "Test suite for complex scripts functionality");
+        //$JUnit-BEGIN$
+        suite.addTest(BidiTestSuite.suite());
+        suite.addTest(FontsTestSuite.suite());
+        suite.addTest(ScriptsTestSuite.suite());
+        //$JUnit-END$
+        return suite;
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/arabic/ArabicScriptTestSuite.java b/test/java/org/apache/fop/complexscripts/arabic/ArabicScriptTestSuite.java
new file mode 100644
index 0000000..72ba083
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/arabic/ArabicScriptTestSuite.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.arabic;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Test suite for functionality related to the arabic script.
+ */
+public class ArabicScriptTestSuite {
+
+    /**
+     * Builds the test suite
+     * @return the test suite
+     */
+    public static Test suite() {
+        TestSuite suite = new TestSuite(
+            "Basic functionality test suite for the arabic script");
+        //$JUnit-BEGIN$
+        //$JUnit-END$
+        return suite;
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java b/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java
new file mode 100644
index 0000000..e7f13b1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java
@@ -0,0 +1,263 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.bidi;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.fop.layoutmgr.BidiUtil;
+import org.apache.fop.text.bidi.BidiClassUtils;
+import org.apache.fop.util.BidiConstants;
+
+/**
+ * <p>Test case for Unicode Bidi Algorithm.</p>
+ * @author Glenn Adams
+ */
+public class BidiAlgorithmTestCase extends TestCase {
+
+    /**
+     * logging instance
+     */
+    private static final Log log = LogFactory.getLog(BidiAlgorithmTestCase.class);                                      // CSOK: ConstantNameCheck
+
+    /**
+     * Concatenated array of <test-set,test-sequence> tuples
+     * specifying which sequences are to be excluded from testing,
+     * where -1 for either component is a wildcard.
+     */
+    private static final int[] EXCLUSIONS = {
+        // no exclusions
+    };
+
+    /**
+     * Concatenated array of <test-set,test-sequence> tuples
+     * specifying which sequences are to be included in testing, where
+     * -1 for either component is a wildcard.
+     */
+    private static final int[] INCLUSIONS = {
+        -1, -1                                  // all sequences
+    };
+
+    /**
+     * Concatenated array of <start,end> tuples expressing ranges of
+     * test sets to be tested, where -1 in the end position signifies
+     * all remaining test sets.
+     */
+    private static final int[] TEST_SET_RANGES = {
+        0, -1                                   // all test sets
+    };
+
+    // instrumentation 
+    private int includedSequences;
+    private int excludedSequences;
+    private int passedSequences;
+
+    public void testBidiAlgorithm() throws Exception {
+        String ldPfx = BidiTestData.LD_PFX;
+        int ldCount = BidiTestData.LD_CNT;
+        for ( int i = 0; i < ldCount; i++ ) {
+            int[] da = BidiTestData.readTestData ( ldPfx, i );
+            if ( da != null ) {
+                testBidiAlgorithm ( i, da );
+            } else {
+                fail ( "unable to read bidi test data for resource at index " + i );
+            }
+        }
+        // ensure we passed all test sequences
+        assertEquals ( "did not pass all test sequences", BidiTestData.NUM_TEST_SEQUENCES, passedSequences );
+        if ( log.isDebugEnabled() ) {
+            log.debug ( "Included Sequences : " + includedSequences );
+            log.debug ( "Excluded Sequences : " + excludedSequences );
+            log.debug( "Passed Sequences   : " + passedSequences );
+        }
+    }
+
+    private void testBidiAlgorithm ( int testSet, int[] da ) throws Exception {
+        if ( da.length < 1 ) {
+            fail ( "test data is empty" );
+        } else if ( da.length < ( ( da[0] * 2 ) + 1 ) ) {
+            fail ( "test data is truncated" );
+        } else {
+            int k = 0;
+            // extract level count
+            int n = da[k++];
+            // extract level array
+            int[] la = new int [ n ];
+            for ( int i = 0; i < n; i++ ) {
+                la[i] = da[k++];
+            }
+            // extract reorder array
+            int[] ra = new int [ n ];
+            for ( int i = 0; i < n; i++ ) {
+                ra[i] = da[k++];
+            }
+            // extract and test each test sequence
+            int testSequence = 0;
+            int[] ta = new int [ n ];
+            while ( ( k + ( 1 + n ) ) <= da.length ) {
+                int bs = da[k++];
+                for ( int i = 0; i < n; i++ ) {
+                    ta[i] = da[k++];
+                }
+                if ( includeSequence ( testSet, testSequence ) ) {
+                    includedSequences++;
+                    if ( ! excludeSequence ( testSet, testSequence ) ) {
+                        if ( testBidiAlgorithm ( testSet, testSequence, la, ra, ta, bs ) ) {
+                            passedSequences++;
+                        }
+                    } else {
+                        excludedSequences++;
+                    }
+                }
+                testSequence++;
+            }
+            // ensure we exhausted test data
+            assertEquals ( "extraneous test data", da.length, k );
+        }
+    }
+
+    private boolean includeTestSet ( int testSet ) {
+        for ( int i = 0, n = TEST_SET_RANGES.length / 2; i < n; i++ ) {
+            int s = TEST_SET_RANGES [ ( i * 2 ) + 0 ];
+            int e = TEST_SET_RANGES [ ( i * 2 ) + 1 ];
+            if ( testSet >= s ) {
+                if ( ( e < 0 ) || ( testSet <= e ) ) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    private boolean includeSequence ( int testSet, int testSequence ) {
+        if ( ! includeTestSet ( testSet ) ) {
+            return false;
+        } else {
+            for ( int i = 0, n = INCLUSIONS.length / 2; i < n; i++ ) {
+                int setno = INCLUSIONS [ ( i * 2 ) + 0 ];
+                int seqno = INCLUSIONS [ ( i * 2 ) + 1 ];
+                if ( setno < 0 ) {
+                    if ( seqno < 0 ) {
+                        return true;
+                    } else if ( seqno == testSequence ) {
+                        return true;
+                    }
+                } else if ( setno == testSet ) {
+                    if ( seqno < 0 ) {
+                        return true;
+                    } else if ( seqno == testSequence ) {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
+    }
+
+    private boolean excludeSequence ( int testSet, int testSequence ) {
+        for ( int i = 0, n = EXCLUSIONS.length / 2; i < n; i++ ) {
+            int setno = EXCLUSIONS [ ( i * 2 ) + 0 ];
+            int seqno = EXCLUSIONS [ ( i * 2 ) + 1 ];
+            if ( setno < 0 ) {
+                if ( seqno < 0 ) {
+                    return true;
+                } else if ( seqno == testSequence ) {
+                    return true;
+                }
+            } else if ( setno == testSet ) {
+                if ( seqno < 0 ) {
+                    return true;
+                } else if ( seqno == testSequence ) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    private boolean testBidiAlgorithm ( int testSet, int testSequence, int[] la, int[] ra, int[] ta, int bs ) throws Exception {
+        boolean passed = true;
+        int n = la.length;
+        if ( ra.length != n ) {
+            fail ( "bad reorder array length, expected " + n + ", got " + ra.length );
+        } else if ( ta.length != n ) {
+            fail ( "bad test array length, expected " + n + ", got " + ta.length );
+        } else {
+            // auto-LTR
+            if ( ( bs & 1 ) != 0 ) {
+                // auto-LTR is performed at higher level
+            }
+            // LTR
+            if ( ( bs & 2 ) != 0 ) {
+                int[] levels = BidiUtil.UnicodeBidiAlgorithm.resolveLevels ( null, ta, 0, new int [ n ], true );
+                if ( ! verifyResults ( la, levels, ta, 0, testSet, testSequence ) ) {
+                    passed = false;
+                }
+            }
+            // RTL
+            if ( ( bs & 4 ) != 0 ) {
+                int[] levels = BidiUtil.UnicodeBidiAlgorithm.resolveLevels ( null, ta, 1, new int [ n ], true );
+                if ( ! verifyResults ( la, levels, ta, 1, testSet, testSequence ) ) {
+                    passed = false;
+                }
+            }
+        }
+        return passed;
+    }
+
+    private boolean verifyResults ( int[] laExp, int[] laOut, int[] ta, int dl, int testSet, int testSequence ) {
+        if ( laOut.length != laExp.length ) {
+            fail ( "output levels array length mismatch, expected " + laExp.length + ", got " + laOut.length );
+            return false;
+        } else {
+            int numMatch = 0;
+            for ( int i = 0, n = laExp.length; i < n; i++ ) {
+                if ( laExp[i] >= 0 ) {
+                    int lo = laOut[i];
+                    int le = laExp[i];
+                    if ( lo != le ) {
+                        assertEquals ( getMismatchMessage ( testSet, testSequence, i, dl ), le, lo );
+                    } else {
+                        numMatch++;
+                    }
+                } else {
+                    numMatch++;
+                }
+            }
+            return numMatch == laExp.length;
+        }
+    }
+
+    private String getMismatchMessage ( int testSet, int testSequence, int seqIndex, int defaultLevel ) {
+        StringBuffer sb = new StringBuffer();
+        sb.append ( "level mismatch for default level " );
+        sb.append ( defaultLevel );
+        sb.append ( " at sequence index " );
+        sb.append ( seqIndex );
+        sb.append ( " in test sequence " );
+        sb.append ( testSequence );
+        sb.append ( " of test set " );
+        sb.append ( testSet );
+        return sb.toString();
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java b/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java
new file mode 100644
index 0000000..879135d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.bidi;
+
+import junit.framework.TestCase;
+
+import org.apache.fop.text.bidi.BidiClassUtils;
+import org.apache.fop.util.CharUtilities;
+
+public class BidiClassTestCase extends TestCase {
+
+    public void testBidiClasses() throws Exception {
+        String tdPfx = BidiTestData.TD_PFX;
+        int tdCount = BidiTestData.TD_CNT;
+        for ( int i = 0; i < tdCount; i++ ) {
+            int[] da = BidiTestData.readTestData ( tdPfx, i );
+            if ( da != null ) {
+                testBidiClass ( da );
+            } else {
+                fail ( "unable to read bidi test data for resource at index " + i );
+            }
+        }
+    }
+
+    private void testBidiClass ( int[] da ) throws Exception {
+        int bc = da[0];
+        for ( int i = 1, n = da.length; i < n; i += 2 ) {
+            int s = da[i+0];
+            int e = da[i+1];
+            for ( int c = s; c < e; c++ ) {
+                int cbc = BidiClassUtils.getBidiClass ( c );
+                assertEquals ( "bad bidi class for CH(" + CharUtilities.format ( c ) + ")", bc, cbc );
+            }
+        }
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.ser
new file mode 100644
index 0000000..6eccb4b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD0.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser
new file mode 100644
index 0000000..8a7a802
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD1.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser
new file mode 100644
index 0000000..74a52f2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD10.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser
new file mode 100644
index 0000000..4058da1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD100.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser
new file mode 100644
index 0000000..321ed26
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD101.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser
new file mode 100644
index 0000000..f5e3973
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD102.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser
new file mode 100644
index 0000000..0235952
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD103.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser
new file mode 100644
index 0000000..00d9ff6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD104.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser
new file mode 100644
index 0000000..b924c8d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD105.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser
new file mode 100644
index 0000000..2cdabbf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD106.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser
new file mode 100644
index 0000000..24e41ce
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD107.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser
new file mode 100644
index 0000000..8c9d014
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD108.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser
new file mode 100644
index 0000000..fc2fc25
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD109.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser
new file mode 100644
index 0000000..2a40fe7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD11.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser
new file mode 100644
index 0000000..89ef3a3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD110.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser
new file mode 100644
index 0000000..0691f5f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD111.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser
new file mode 100644
index 0000000..c3bd610
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD112.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser
new file mode 100644
index 0000000..54d27e2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD113.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser
new file mode 100644
index 0000000..0ba5299
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD114.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser
new file mode 100644
index 0000000..0b95e62
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD115.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser
new file mode 100644
index 0000000..ca11114
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD116.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser
new file mode 100644
index 0000000..fbce0f9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD117.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser
new file mode 100644
index 0000000..c7bee51
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD118.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser
new file mode 100644
index 0000000..83ad166
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD119.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser
new file mode 100644
index 0000000..81ff5dc
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD12.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser
new file mode 100644
index 0000000..2a84369
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD120.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser
new file mode 100644
index 0000000..3c3f08e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD121.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser
new file mode 100644
index 0000000..81a342b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD122.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser
new file mode 100644
index 0000000..f2fdba3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD123.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser
new file mode 100644
index 0000000..5bebb05
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD124.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser
new file mode 100644
index 0000000..1292a8a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD125.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser
new file mode 100644
index 0000000..f7c910f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD126.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser
new file mode 100644
index 0000000..bb2d235
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD127.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser
new file mode 100644
index 0000000..4ef8865
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD128.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser
new file mode 100644
index 0000000..7538307
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD129.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser
new file mode 100644
index 0000000..5a81f8f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD13.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser
new file mode 100644
index 0000000..dfa56bb
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD130.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser
new file mode 100644
index 0000000..04c0e6b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD131.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser
new file mode 100644
index 0000000..5389ec5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD132.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser
new file mode 100644
index 0000000..6ec49f1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD133.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser
new file mode 100644
index 0000000..381b6b7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD134.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser
new file mode 100644
index 0000000..e991a27
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD135.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser
new file mode 100644
index 0000000..84eb27f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD136.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser
new file mode 100644
index 0000000..3e3ceb4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD137.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser
new file mode 100644
index 0000000..52f01eb
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD138.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser
new file mode 100644
index 0000000..54a66ac
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD139.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser
new file mode 100644
index 0000000..5bad9fe
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD14.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser
new file mode 100644
index 0000000..7e58aea
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD140.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser
new file mode 100644
index 0000000..6081158
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD141.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser
new file mode 100644
index 0000000..bfa39bf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD142.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser
new file mode 100644
index 0000000..5df598a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD143.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser
new file mode 100644
index 0000000..f46f6a2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD144.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser
new file mode 100644
index 0000000..825930e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD145.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser
new file mode 100644
index 0000000..3d2efe6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD146.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser
new file mode 100644
index 0000000..5e3667d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD147.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser
new file mode 100644
index 0000000..4a04343
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD148.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser
new file mode 100644
index 0000000..85260e0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD149.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser
new file mode 100644
index 0000000..c1cb287
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD15.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser
new file mode 100644
index 0000000..ab5dd0c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD150.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser
new file mode 100644
index 0000000..df304a8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD151.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser
new file mode 100644
index 0000000..8876991
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD152.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser
new file mode 100644
index 0000000..fa70ead
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD153.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser
new file mode 100644
index 0000000..73402d8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD154.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser
new file mode 100644
index 0000000..c611d95
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD155.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser
new file mode 100644
index 0000000..a5a70cf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD156.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser
new file mode 100644
index 0000000..736576c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD157.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser
new file mode 100644
index 0000000..4667a5a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD158.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser
new file mode 100644
index 0000000..9a07236
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD159.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser
new file mode 100644
index 0000000..6a8e667
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD16.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser
new file mode 100644
index 0000000..abfeac3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD160.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser
new file mode 100644
index 0000000..1b225c8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD161.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser
new file mode 100644
index 0000000..36aab1f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD162.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser
new file mode 100644
index 0000000..77a7442
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD163.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser
new file mode 100644
index 0000000..6f340e9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD164.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser
new file mode 100644
index 0000000..92ab48e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD165.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser
new file mode 100644
index 0000000..4128854
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD166.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser
new file mode 100644
index 0000000..3b4b836
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD167.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser
new file mode 100644
index 0000000..3e04f60
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD168.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser
new file mode 100644
index 0000000..5e58d00
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD169.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser
new file mode 100644
index 0000000..290d0e5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD17.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser
new file mode 100644
index 0000000..fb1f6b7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD170.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser
new file mode 100644
index 0000000..7ba8098
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD171.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser
new file mode 100644
index 0000000..594645b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD172.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser
new file mode 100644
index 0000000..5d995d0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD173.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser
new file mode 100644
index 0000000..e57c46d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD174.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser
new file mode 100644
index 0000000..ad43175
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD175.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser
new file mode 100644
index 0000000..52cdcd5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD176.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser
new file mode 100644
index 0000000..e786ab1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD177.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser
new file mode 100644
index 0000000..2f9e41f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD178.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser
new file mode 100644
index 0000000..94f7392
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD179.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser
new file mode 100644
index 0000000..5307321
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD18.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser
new file mode 100644
index 0000000..172498f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD180.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser
new file mode 100644
index 0000000..c5a9b43
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD181.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser
new file mode 100644
index 0000000..1c98e34
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD182.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser
new file mode 100644
index 0000000..4e8c8e3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD183.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser
new file mode 100644
index 0000000..824fad2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD184.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser
new file mode 100644
index 0000000..969e34a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD185.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser
new file mode 100644
index 0000000..0867d2e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD186.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser
new file mode 100644
index 0000000..dd052d7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD187.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser
new file mode 100644
index 0000000..d52c97d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD188.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser
new file mode 100644
index 0000000..2bdb9da
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD189.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser
new file mode 100644
index 0000000..21128bf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD19.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser
new file mode 100644
index 0000000..d153d34
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD190.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser
new file mode 100644
index 0000000..5019d6f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD191.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser
new file mode 100644
index 0000000..e726e26
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD192.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser
new file mode 100644
index 0000000..c37e1cd
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD193.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser
new file mode 100644
index 0000000..1ba7b28
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD194.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser
new file mode 100644
index 0000000..62215ed
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD195.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser
new file mode 100644
index 0000000..7092799
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD196.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser
new file mode 100644
index 0000000..788ac37
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD197.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser
new file mode 100644
index 0000000..9d4a142
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD198.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser
new file mode 100644
index 0000000..6cbb795
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD199.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser
new file mode 100644
index 0000000..05cf078
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD2.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser
new file mode 100644
index 0000000..9c10e36
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD20.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser
new file mode 100644
index 0000000..583084f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD200.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser
new file mode 100644
index 0000000..d8ed032
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD201.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser
new file mode 100644
index 0000000..21e97ff
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD202.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser
new file mode 100644
index 0000000..5e3e012
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD203.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser
new file mode 100644
index 0000000..eba9874
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD204.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser
new file mode 100644
index 0000000..182c5fc
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD205.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser
new file mode 100644
index 0000000..47ed04b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD206.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser
new file mode 100644
index 0000000..b56f3ee
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD207.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser
new file mode 100644
index 0000000..302b20c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD208.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser
new file mode 100644
index 0000000..c97cbbe
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD209.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser
new file mode 100644
index 0000000..e7eb886
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD21.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser
new file mode 100644
index 0000000..4da33f6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD210.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser
new file mode 100644
index 0000000..46f29b7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD211.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser
new file mode 100644
index 0000000..b84d2ef
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD212.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser
new file mode 100644
index 0000000..2d0995a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD213.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser
new file mode 100644
index 0000000..66a505a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD214.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser
new file mode 100644
index 0000000..cbd9992
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD215.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser
new file mode 100644
index 0000000..46b5315
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD216.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser
new file mode 100644
index 0000000..4afc67d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD217.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser
new file mode 100644
index 0000000..992177d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD218.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser
new file mode 100644
index 0000000..e75b1d3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD219.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser
new file mode 100644
index 0000000..ca7478b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD22.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser
new file mode 100644
index 0000000..3f75484
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD220.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser
new file mode 100644
index 0000000..02efa87
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD221.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser
new file mode 100644
index 0000000..1897b09
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD222.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser
new file mode 100644
index 0000000..cd24d11
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD223.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser
new file mode 100644
index 0000000..aba011d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD224.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser
new file mode 100644
index 0000000..dad4639
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD225.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser
new file mode 100644
index 0000000..6430967
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD226.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser
new file mode 100644
index 0000000..4f2bde0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD227.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser
new file mode 100644
index 0000000..7be09ec
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD228.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser
new file mode 100644
index 0000000..6ffa285
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD229.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser
new file mode 100644
index 0000000..d6c5325
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD23.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser
new file mode 100644
index 0000000..3519adb
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD230.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser
new file mode 100644
index 0000000..7540663
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD231.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser
new file mode 100644
index 0000000..788e4c7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD232.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser
new file mode 100644
index 0000000..c362656
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD233.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser
new file mode 100644
index 0000000..772b72a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD234.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser
new file mode 100644
index 0000000..e5fa50b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD235.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser
new file mode 100644
index 0000000..13fdb36
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD236.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser
new file mode 100644
index 0000000..c600524
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD237.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser
new file mode 100644
index 0000000..6043e01
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD238.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser
new file mode 100644
index 0000000..14250a3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD239.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser
new file mode 100644
index 0000000..209e817
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD24.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser
new file mode 100644
index 0000000..bdbc02f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD240.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser
new file mode 100644
index 0000000..d3f40a8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD241.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser
new file mode 100644
index 0000000..03b94bc
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD242.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser
new file mode 100644
index 0000000..cb03219
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD243.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser
new file mode 100644
index 0000000..3cdc87c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD244.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser
new file mode 100644
index 0000000..7c50f12
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD245.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser
new file mode 100644
index 0000000..b04164e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD246.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser
new file mode 100644
index 0000000..bdce40f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD247.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser
new file mode 100644
index 0000000..e50ed79
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD248.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser
new file mode 100644
index 0000000..14ac620
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD249.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser
new file mode 100644
index 0000000..c1b31fc
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD25.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser
new file mode 100644
index 0000000..d963439
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD250.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser
new file mode 100644
index 0000000..7b3168b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD251.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser
new file mode 100644
index 0000000..7f9b905
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD252.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser
new file mode 100644
index 0000000..d5849ec
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD253.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser
new file mode 100644
index 0000000..00a2b4a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD254.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser
new file mode 100644
index 0000000..5cc330f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD255.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser
new file mode 100644
index 0000000..23e032a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD256.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser
new file mode 100644
index 0000000..7ba16c2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD257.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser
new file mode 100644
index 0000000..334737e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD258.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser
new file mode 100644
index 0000000..26defab
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD259.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser
new file mode 100644
index 0000000..09dc4ca
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD26.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser
new file mode 100644
index 0000000..03cb824
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD260.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser
new file mode 100644
index 0000000..6d00960
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD261.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser
new file mode 100644
index 0000000..920e4c5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD262.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser
new file mode 100644
index 0000000..dbbee5d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD263.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser
new file mode 100644
index 0000000..716661a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD264.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser
new file mode 100644
index 0000000..b418d9b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD265.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser
new file mode 100644
index 0000000..bc16ddc
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD266.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser
new file mode 100644
index 0000000..a105347
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD267.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser
new file mode 100644
index 0000000..f75552d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD268.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser
new file mode 100644
index 0000000..a3f6eab
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD269.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser
new file mode 100644
index 0000000..604170d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD27.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser
new file mode 100644
index 0000000..755d6cd
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD270.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser
new file mode 100644
index 0000000..9b29a7d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD271.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser
new file mode 100644
index 0000000..5685e40
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD272.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser
new file mode 100644
index 0000000..49a7c07
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD273.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser
new file mode 100644
index 0000000..1697a42
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD274.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser
new file mode 100644
index 0000000..ea0d9ad
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD275.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser
new file mode 100644
index 0000000..067dca2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD276.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser
new file mode 100644
index 0000000..9f90786
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD277.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser
new file mode 100644
index 0000000..9cd498c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD278.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser
new file mode 100644
index 0000000..c5c4c6a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD279.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser
new file mode 100644
index 0000000..890ce30
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD28.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser
new file mode 100644
index 0000000..fac4754
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD280.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser
new file mode 100644
index 0000000..4711e45
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD281.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser
new file mode 100644
index 0000000..1fcea5d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD282.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser
new file mode 100644
index 0000000..bf2a0bc
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD283.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser
new file mode 100644
index 0000000..29a3c23
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD284.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser
new file mode 100644
index 0000000..fea28c7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD285.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser
new file mode 100644
index 0000000..4866305
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD286.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser
new file mode 100644
index 0000000..43f440c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD287.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser
new file mode 100644
index 0000000..385ac71
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD288.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser
new file mode 100644
index 0000000..8a032f2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD289.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser
new file mode 100644
index 0000000..fdc2729
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD29.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser
new file mode 100644
index 0000000..264c28e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD290.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser
new file mode 100644
index 0000000..daf236a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD291.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser
new file mode 100644
index 0000000..8f972bf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD292.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser
new file mode 100644
index 0000000..647424e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD293.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser
new file mode 100644
index 0000000..9e8b997
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD294.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser
new file mode 100644
index 0000000..486bcf4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD295.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser
new file mode 100644
index 0000000..856d72f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD296.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser
new file mode 100644
index 0000000..ce0b5bf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD297.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser
new file mode 100644
index 0000000..cad0d50
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD298.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser
new file mode 100644
index 0000000..b14aa45
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD299.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser
new file mode 100644
index 0000000..6657a35
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD3.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser
new file mode 100644
index 0000000..b30faf8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD30.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser
new file mode 100644
index 0000000..4baca27
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD300.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser
new file mode 100644
index 0000000..630a134
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD301.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser
new file mode 100644
index 0000000..0f8e3d7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD302.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser
new file mode 100644
index 0000000..42a05ce
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD303.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser
new file mode 100644
index 0000000..13ba94a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD304.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser
new file mode 100644
index 0000000..e5a3a92
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD305.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser
new file mode 100644
index 0000000..1ada574
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD306.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser
new file mode 100644
index 0000000..a14a0be
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD307.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser
new file mode 100644
index 0000000..c66ae93
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD308.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser
new file mode 100644
index 0000000..fd1e62c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD309.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser
new file mode 100644
index 0000000..4914c3b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD31.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser
new file mode 100644
index 0000000..e8aad8c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD310.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser
new file mode 100644
index 0000000..0d8f4cf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD311.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser
new file mode 100644
index 0000000..54d8561
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD312.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser
new file mode 100644
index 0000000..5bd0e82
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD313.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser
new file mode 100644
index 0000000..37a4d8c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD314.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser
new file mode 100644
index 0000000..a16a7b8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD315.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser
new file mode 100644
index 0000000..6e5747e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD316.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser
new file mode 100644
index 0000000..3ee6650
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD317.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser
new file mode 100644
index 0000000..8c6f200
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD318.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser
new file mode 100644
index 0000000..4774611
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD319.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser
new file mode 100644
index 0000000..09332a0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD32.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser
new file mode 100644
index 0000000..88327e0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD320.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser
new file mode 100644
index 0000000..600eb2a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD321.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser
new file mode 100644
index 0000000..eed01d8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD322.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser
new file mode 100644
index 0000000..cc2db98
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD323.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser
new file mode 100644
index 0000000..d0ae709
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD324.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser
new file mode 100644
index 0000000..eb2a30d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD325.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser
new file mode 100644
index 0000000..5825c95
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD326.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser
new file mode 100644
index 0000000..c1b927a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD327.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser
new file mode 100644
index 0000000..5d7eb7f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD328.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser
new file mode 100644
index 0000000..a780946
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD329.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser
new file mode 100644
index 0000000..efb28b5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD33.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser
new file mode 100644
index 0000000..686c66e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD330.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser
new file mode 100644
index 0000000..b210f78
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD331.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser
new file mode 100644
index 0000000..da93f81
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD332.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser
new file mode 100644
index 0000000..8a0f567
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD333.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser
new file mode 100644
index 0000000..622bdd1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD334.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser
new file mode 100644
index 0000000..4baa139
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD335.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser
new file mode 100644
index 0000000..1d40b08
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD336.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser
new file mode 100644
index 0000000..ef0b76e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD337.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser
new file mode 100644
index 0000000..bd0a045
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD338.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser
new file mode 100644
index 0000000..73ee20c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD339.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser
new file mode 100644
index 0000000..9e33d39
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD34.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser
new file mode 100644
index 0000000..6afa6bf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD340.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser
new file mode 100644
index 0000000..84782b9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD341.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser
new file mode 100644
index 0000000..fdde6d7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD342.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser
new file mode 100644
index 0000000..2654a88
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD343.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser
new file mode 100644
index 0000000..b24a2a4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD344.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser
new file mode 100644
index 0000000..613d80b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD345.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser
new file mode 100644
index 0000000..df1df5f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD346.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser
new file mode 100644
index 0000000..3f68bd3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD347.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser
new file mode 100644
index 0000000..361734a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD348.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser
new file mode 100644
index 0000000..009e241
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD349.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser
new file mode 100644
index 0000000..7c142c3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD35.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser
new file mode 100644
index 0000000..6e14a51
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD350.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser
new file mode 100644
index 0000000..ed8f245
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD351.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser
new file mode 100644
index 0000000..80489aa
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD352.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser
new file mode 100644
index 0000000..ede61be
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD353.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser
new file mode 100644
index 0000000..e837ec5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD354.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser
new file mode 100644
index 0000000..0dbeb4a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD355.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser
new file mode 100644
index 0000000..fdbc6a8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD356.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser
new file mode 100644
index 0000000..47665da
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD357.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser
new file mode 100644
index 0000000..aae7187
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD358.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser
new file mode 100644
index 0000000..5bc6e40
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD359.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser
new file mode 100644
index 0000000..07d3b8d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD36.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser
new file mode 100644
index 0000000..81af1c9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD360.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser
new file mode 100644
index 0000000..4abfa7c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD361.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser
new file mode 100644
index 0000000..aec3af8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD362.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser
new file mode 100644
index 0000000..ac1eecb
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD363.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser
new file mode 100644
index 0000000..1f1367b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD364.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser
new file mode 100644
index 0000000..3cf337c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD365.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser
new file mode 100644
index 0000000..19f7fd9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD366.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser
new file mode 100644
index 0000000..8c92df0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD367.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser
new file mode 100644
index 0000000..dad7f01
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD368.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser
new file mode 100644
index 0000000..b0022c6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD369.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser
new file mode 100644
index 0000000..bfbb586
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD37.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser
new file mode 100644
index 0000000..b435fee
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD370.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser
new file mode 100644
index 0000000..dafe64d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD371.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser
new file mode 100644
index 0000000..973fcdc
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD372.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser
new file mode 100644
index 0000000..a49d73c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD373.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser
new file mode 100644
index 0000000..892a50d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD374.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser
new file mode 100644
index 0000000..0fa29c8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD375.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser
new file mode 100644
index 0000000..a29b521
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD376.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser
new file mode 100644
index 0000000..e7c2a5a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD377.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser
new file mode 100644
index 0000000..0ec3610
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD378.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser
new file mode 100644
index 0000000..bca7958
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD379.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser
new file mode 100644
index 0000000..49ca3d1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD38.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser
new file mode 100644
index 0000000..0a340e6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD380.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser
new file mode 100644
index 0000000..2e73aff
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD381.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser
new file mode 100644
index 0000000..d3a4370
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD382.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser
new file mode 100644
index 0000000..963e0a8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD383.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser
new file mode 100644
index 0000000..092300f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD384.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser
new file mode 100644
index 0000000..0c4c003
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD385.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser
new file mode 100644
index 0000000..9abf70e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD386.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser
new file mode 100644
index 0000000..7e518db
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD387.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser
new file mode 100644
index 0000000..797d08f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD388.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser
new file mode 100644
index 0000000..672e36e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD389.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser
new file mode 100644
index 0000000..de9d5aa
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD39.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser
new file mode 100644
index 0000000..44c0761
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD390.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser
new file mode 100644
index 0000000..2706725
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD391.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser
new file mode 100644
index 0000000..1cc61a4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD392.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser
new file mode 100644
index 0000000..33305fe
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD393.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser
new file mode 100644
index 0000000..278fb38
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD394.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser
new file mode 100644
index 0000000..3d2ff81
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD395.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser
new file mode 100644
index 0000000..45833ba
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD396.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser
new file mode 100644
index 0000000..54e88ff
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD397.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser
new file mode 100644
index 0000000..751b118
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD398.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser
new file mode 100644
index 0000000..4acd804
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD399.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser
new file mode 100644
index 0000000..c65761d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD4.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser
new file mode 100644
index 0000000..d675914
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD40.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser
new file mode 100644
index 0000000..4c9b213
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD400.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser
new file mode 100644
index 0000000..e3e6c6e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD401.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser
new file mode 100644
index 0000000..92e5a61
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD402.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser
new file mode 100644
index 0000000..873595e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD403.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser
new file mode 100644
index 0000000..1709012
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD404.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser
new file mode 100644
index 0000000..5ad6315
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD405.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser
new file mode 100644
index 0000000..aa04c95
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD406.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser
new file mode 100644
index 0000000..12edd65
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD407.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser
new file mode 100644
index 0000000..40290ec
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD408.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser
new file mode 100644
index 0000000..b596716
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD409.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser
new file mode 100644
index 0000000..5d664e8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD41.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser
new file mode 100644
index 0000000..9c58665
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD410.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser
new file mode 100644
index 0000000..01fe699
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD411.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser
new file mode 100644
index 0000000..b71d6c5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD412.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser
new file mode 100644
index 0000000..5ad3f06
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD413.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser
new file mode 100644
index 0000000..b89491a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD414.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser
new file mode 100644
index 0000000..289f9b4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD415.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser
new file mode 100644
index 0000000..24d1e1c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD416.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser
new file mode 100644
index 0000000..9273495
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD417.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser
new file mode 100644
index 0000000..8208a50
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD418.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser
new file mode 100644
index 0000000..346fb13
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD419.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser
new file mode 100644
index 0000000..28c0e15
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD42.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser
new file mode 100644
index 0000000..53d6b15
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD420.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser
new file mode 100644
index 0000000..c324000
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD421.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser
new file mode 100644
index 0000000..d99423c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD422.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser
new file mode 100644
index 0000000..d78b800
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD423.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser
new file mode 100644
index 0000000..eabb33c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD424.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser
new file mode 100644
index 0000000..571728d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD425.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser
new file mode 100644
index 0000000..25d9cb0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD426.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser
new file mode 100644
index 0000000..d493f38
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD427.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser
new file mode 100644
index 0000000..06b90d5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD428.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser
new file mode 100644
index 0000000..5b97f90
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD429.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser
new file mode 100644
index 0000000..22b1b8d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD43.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser
new file mode 100644
index 0000000..db37499
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD430.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser
new file mode 100644
index 0000000..272364c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD431.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser
new file mode 100644
index 0000000..078a31f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD432.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser
new file mode 100644
index 0000000..b4aaf01
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD433.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser
new file mode 100644
index 0000000..52c01f7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD434.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser
new file mode 100644
index 0000000..626e52d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD435.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser
new file mode 100644
index 0000000..2de03da
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD436.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser
new file mode 100644
index 0000000..041c1a4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD437.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser
new file mode 100644
index 0000000..c8da3b0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD438.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser
new file mode 100644
index 0000000..74f71d7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD439.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser
new file mode 100644
index 0000000..d132118
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD44.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser
new file mode 100644
index 0000000..bcf11b7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD440.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser
new file mode 100644
index 0000000..a9ba2de
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD441.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser
new file mode 100644
index 0000000..fe728d8
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD442.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser
new file mode 100644
index 0000000..23d7eb2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD443.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser
new file mode 100644
index 0000000..58f06cb
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD444.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser
new file mode 100644
index 0000000..bd56f85
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD445.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser
new file mode 100644
index 0000000..54d14da
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD446.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser
new file mode 100644
index 0000000..ee6f834
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD447.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser
new file mode 100644
index 0000000..f94d24f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD448.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser
new file mode 100644
index 0000000..feef366
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD449.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser
new file mode 100644
index 0000000..93720ae
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD45.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser
new file mode 100644
index 0000000..d1a58aa
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD450.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser
new file mode 100644
index 0000000..11f0d14
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD451.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser
new file mode 100644
index 0000000..2aef678
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD452.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser
new file mode 100644
index 0000000..e60e00a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD453.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser
new file mode 100644
index 0000000..e7ed6f1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD454.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser
new file mode 100644
index 0000000..49062bd
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD455.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser
new file mode 100644
index 0000000..5b40492
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD456.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser
new file mode 100644
index 0000000..c051bb3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD457.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser
new file mode 100644
index 0000000..bb781c4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD458.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser
new file mode 100644
index 0000000..289e7e5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD459.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser
new file mode 100644
index 0000000..c4b5db3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD46.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser
new file mode 100644
index 0000000..bacc29c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD460.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser
new file mode 100644
index 0000000..d791c7d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD461.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser
new file mode 100644
index 0000000..eac181f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD462.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser
new file mode 100644
index 0000000..4d4c366
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD463.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser
new file mode 100644
index 0000000..ab10d3c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD464.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser
new file mode 100644
index 0000000..ada0cfb
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD465.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser
new file mode 100644
index 0000000..b2f924c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD466.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser
new file mode 100644
index 0000000..4965cca
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD467.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser
new file mode 100644
index 0000000..f04ae61
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD468.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser
new file mode 100644
index 0000000..27fc5e3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD469.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser
new file mode 100644
index 0000000..dd2f2f7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD47.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser
new file mode 100644
index 0000000..868c071
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD470.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser
new file mode 100644
index 0000000..95ba064
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD471.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser
new file mode 100644
index 0000000..ec1bcb7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD472.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser
new file mode 100644
index 0000000..d4bfab7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD473.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser
new file mode 100644
index 0000000..bf4de53
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD474.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser
new file mode 100644
index 0000000..b01e493
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD475.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser
new file mode 100644
index 0000000..2479772
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD476.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser
new file mode 100644
index 0000000..0a46556
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD477.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser
new file mode 100644
index 0000000..7847c8b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD478.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser
new file mode 100644
index 0000000..6ac0937
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD479.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser
new file mode 100644
index 0000000..1fb8a56
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD48.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser
new file mode 100644
index 0000000..4f5ce8e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD480.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser
new file mode 100644
index 0000000..b9cf231
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD481.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser
new file mode 100644
index 0000000..d8cc78a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD482.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser
new file mode 100644
index 0000000..44438e0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD483.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser
new file mode 100644
index 0000000..a622725
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD484.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser
new file mode 100644
index 0000000..415f6c0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD485.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser
new file mode 100644
index 0000000..8ea2f93
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD486.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser
new file mode 100644
index 0000000..ca7f771
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD487.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser
new file mode 100644
index 0000000..5aaf078
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD488.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser
new file mode 100644
index 0000000..6555161
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD489.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser
new file mode 100644
index 0000000..3cc2d4a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD49.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser
new file mode 100644
index 0000000..94f1d83
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD490.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser
new file mode 100644
index 0000000..14b49f0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD491.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser
new file mode 100644
index 0000000..adb3d37
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD492.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser
new file mode 100644
index 0000000..b2c4902
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD493.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser
new file mode 100644
index 0000000..8b28dea
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD494.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser
new file mode 100644
index 0000000..5d23827
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD495.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser
new file mode 100644
index 0000000..ab8f4d6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD496.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser
new file mode 100644
index 0000000..901e417
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD497.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser
new file mode 100644
index 0000000..d6fd495
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD498.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser
new file mode 100644
index 0000000..52400b5
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD499.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser
new file mode 100644
index 0000000..4d03b72
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD5.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser
new file mode 100644
index 0000000..9756185
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD50.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser
new file mode 100644
index 0000000..33e7b0c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD500.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser
new file mode 100644
index 0000000..8e101db
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD501.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser
new file mode 100644
index 0000000..f8246c2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD502.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser
new file mode 100644
index 0000000..c8707cd
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD503.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser
new file mode 100644
index 0000000..41e6c69
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD504.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser
new file mode 100644
index 0000000..595e24f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD505.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser
new file mode 100644
index 0000000..731b47f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD506.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser
new file mode 100644
index 0000000..8bf1d99
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD507.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser
new file mode 100644
index 0000000..bc63d7e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD508.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser
new file mode 100644
index 0000000..d7415c1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD509.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser
new file mode 100644
index 0000000..e8d2814
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD51.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser
new file mode 100644
index 0000000..b94811a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD510.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser
new file mode 100644
index 0000000..91a3bd4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD511.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser
new file mode 100644
index 0000000..2e31b49
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD512.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser
new file mode 100644
index 0000000..2cef559
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD513.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser
new file mode 100644
index 0000000..84c1bde
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD514.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser
new file mode 100644
index 0000000..431fe2d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD515.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser
new file mode 100644
index 0000000..37c17f1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD516.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser
new file mode 100644
index 0000000..087847d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD517.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser
new file mode 100644
index 0000000..8bd7631
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD518.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser
new file mode 100644
index 0000000..318fc84
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD519.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser
new file mode 100644
index 0000000..5e853ec
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD52.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser
new file mode 100644
index 0000000..e72f8d3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD520.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser
new file mode 100644
index 0000000..cbd161b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD521.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser
new file mode 100644
index 0000000..a2c4ccf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD522.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser
new file mode 100644
index 0000000..cbd7fa3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD523.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser
new file mode 100644
index 0000000..b876b1b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD524.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser
new file mode 100644
index 0000000..64e50de
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD525.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser
new file mode 100644
index 0000000..e5f094e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD526.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser
new file mode 100644
index 0000000..537459e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD527.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser
new file mode 100644
index 0000000..577b661
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD528.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser
new file mode 100644
index 0000000..4679568
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD529.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser
new file mode 100644
index 0000000..389261a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD53.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser
new file mode 100644
index 0000000..635151f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD530.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser
new file mode 100644
index 0000000..69e85f0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD531.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser
new file mode 100644
index 0000000..c28ba45
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD532.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser
new file mode 100644
index 0000000..fe26705
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD533.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser
new file mode 100644
index 0000000..19595d9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD534.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser
new file mode 100644
index 0000000..95e9836
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD535.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser
new file mode 100644
index 0000000..d179f7c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD536.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser
new file mode 100644
index 0000000..1b91641
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD537.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser
new file mode 100644
index 0000000..fc83f45
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD538.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser
new file mode 100644
index 0000000..ea2af63
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD539.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser
new file mode 100644
index 0000000..0f76396
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD54.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser
new file mode 100644
index 0000000..143d589
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD540.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser
new file mode 100644
index 0000000..671cf26
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD541.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser
new file mode 100644
index 0000000..1a7fda2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD542.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser
new file mode 100644
index 0000000..5aee466
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD543.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser
new file mode 100644
index 0000000..37f1241
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD544.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser
new file mode 100644
index 0000000..8bc00e1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD545.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser
new file mode 100644
index 0000000..9d9b9c1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD546.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser
new file mode 100644
index 0000000..88411a2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD547.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser
new file mode 100644
index 0000000..f832478
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD548.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser
new file mode 100644
index 0000000..2d3118a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD549.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser
new file mode 100644
index 0000000..51a8b70
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD55.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser
new file mode 100644
index 0000000..e939d47
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD550.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser
new file mode 100644
index 0000000..61e5e3f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD551.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser
new file mode 100644
index 0000000..496e691
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD552.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser
new file mode 100644
index 0000000..0fc2f1a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD553.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser
new file mode 100644
index 0000000..dc51833
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD554.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser
new file mode 100644
index 0000000..de477db
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD555.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser
new file mode 100644
index 0000000..6a4e51c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD556.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser
new file mode 100644
index 0000000..fccb593
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD557.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser
new file mode 100644
index 0000000..828b3a7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD558.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser
new file mode 100644
index 0000000..3b14d4a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD559.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser
new file mode 100644
index 0000000..3733922
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD56.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser
new file mode 100644
index 0000000..a91b851
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD560.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser
new file mode 100644
index 0000000..639a7be
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD561.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser
new file mode 100644
index 0000000..68dd408
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD562.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser
new file mode 100644
index 0000000..2908e3f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD563.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser
new file mode 100644
index 0000000..391e3e1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD564.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser
new file mode 100644
index 0000000..5bd9c1e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD565.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser
new file mode 100644
index 0000000..d4ecb3a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD566.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser
new file mode 100644
index 0000000..d68ca24
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD567.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser
new file mode 100644
index 0000000..73cd97b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD568.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser
new file mode 100644
index 0000000..a6d7662
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD569.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser
new file mode 100644
index 0000000..d0af607
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD57.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser
new file mode 100644
index 0000000..231290d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD570.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser
new file mode 100644
index 0000000..21e85e7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD571.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser
new file mode 100644
index 0000000..e993657
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD572.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser
new file mode 100644
index 0000000..4f844be
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD573.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser
new file mode 100644
index 0000000..ccb6d70
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD574.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser
new file mode 100644
index 0000000..aa39096
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD575.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser
new file mode 100644
index 0000000..5d1bb49
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD576.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser
new file mode 100644
index 0000000..64823ec
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD577.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser
new file mode 100644
index 0000000..09d6843
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD578.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser
new file mode 100644
index 0000000..59f2572
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD579.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser
new file mode 100644
index 0000000..cb600cf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD58.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser
new file mode 100644
index 0000000..b1faa84
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD580.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser
new file mode 100644
index 0000000..1e057fd
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD581.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser
new file mode 100644
index 0000000..cdd3cbe
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD582.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser
new file mode 100644
index 0000000..84eed41
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD583.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser
new file mode 100644
index 0000000..7b91077
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD584.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser
new file mode 100644
index 0000000..259194e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD585.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser
new file mode 100644
index 0000000..0616c3c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD586.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser
new file mode 100644
index 0000000..22430bd
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD587.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser
new file mode 100644
index 0000000..b583a1a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD588.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser
new file mode 100644
index 0000000..841747b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD589.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser
new file mode 100644
index 0000000..23521f3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD59.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser
new file mode 100644
index 0000000..168552d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD590.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser
new file mode 100644
index 0000000..c0da95a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD591.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser
new file mode 100644
index 0000000..276e0ff
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD592.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser
new file mode 100644
index 0000000..363f4f6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD593.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser
new file mode 100644
index 0000000..a0f6639
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD594.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser
new file mode 100644
index 0000000..cdc9eb9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD595.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser
new file mode 100644
index 0000000..c6223a7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD596.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser
new file mode 100644
index 0000000..74f023e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD597.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser
new file mode 100644
index 0000000..9755e4a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD598.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser
new file mode 100644
index 0000000..986a332
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD599.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser
new file mode 100644
index 0000000..edc35ab
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD6.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser
new file mode 100644
index 0000000..6ed639c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD60.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser
new file mode 100644
index 0000000..d2c52eb
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD600.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser
new file mode 100644
index 0000000..f348309
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD601.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser
new file mode 100644
index 0000000..7cea4a6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD602.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser
new file mode 100644
index 0000000..e2c08df
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD603.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser
new file mode 100644
index 0000000..7a37cd0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD604.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser
new file mode 100644
index 0000000..85f679d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD605.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser
new file mode 100644
index 0000000..8f1d696
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD606.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser
new file mode 100644
index 0000000..f82e372
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD607.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser
new file mode 100644
index 0000000..f22902d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD608.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser
new file mode 100644
index 0000000..bb7f98e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD609.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser
new file mode 100644
index 0000000..d25cb04
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD61.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser
new file mode 100644
index 0000000..8ddaeb7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD610.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser
new file mode 100644
index 0000000..b11de6c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD611.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser
new file mode 100644
index 0000000..2b1ea88
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD612.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser
new file mode 100644
index 0000000..1d2ea01
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD613.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser
new file mode 100644
index 0000000..ae74ca0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD614.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser
new file mode 100644
index 0000000..fed68df
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD615.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser
new file mode 100644
index 0000000..94b09c1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD616.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser
new file mode 100644
index 0000000..0af062b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD617.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser
new file mode 100644
index 0000000..bd93b28
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD618.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser
new file mode 100644
index 0000000..ea7a544
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD619.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser
new file mode 100644
index 0000000..c3510ec
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD62.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser
new file mode 100644
index 0000000..c021643
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD620.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser
new file mode 100644
index 0000000..16cf973
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD621.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser
new file mode 100644
index 0000000..f827db2
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD63.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser
new file mode 100644
index 0000000..c079752
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD64.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser
new file mode 100644
index 0000000..18d091c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD65.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser
new file mode 100644
index 0000000..2628ac6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD66.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser
new file mode 100644
index 0000000..e0a6568
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD67.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser
new file mode 100644
index 0000000..cd90826
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD68.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser
new file mode 100644
index 0000000..da9a567
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD69.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser
new file mode 100644
index 0000000..1eec94e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD7.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser
new file mode 100644
index 0000000..1458485
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD70.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser
new file mode 100644
index 0000000..0bb894a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD71.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser
new file mode 100644
index 0000000..596af01
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD72.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser
new file mode 100644
index 0000000..adac330
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD73.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser
new file mode 100644
index 0000000..1440bb7
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD74.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser
new file mode 100644
index 0000000..2a1091e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD75.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser
new file mode 100644
index 0000000..a519dc0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD76.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser
new file mode 100644
index 0000000..533579a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD77.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser
new file mode 100644
index 0000000..cd8bea1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD78.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser
new file mode 100644
index 0000000..16635b6
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD79.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser
new file mode 100644
index 0000000..05616a9
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD8.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser
new file mode 100644
index 0000000..44ce637
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD80.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser
new file mode 100644
index 0000000..cfd698d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD81.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser
new file mode 100644
index 0000000..415f1bf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD82.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser
new file mode 100644
index 0000000..2fc94de
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD83.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser
new file mode 100644
index 0000000..a7e226e
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD84.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser
new file mode 100644
index 0000000..573c8ce
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD85.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser
new file mode 100644
index 0000000..e8df233
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD86.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser
new file mode 100644
index 0000000..abcad78
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD87.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser
new file mode 100644
index 0000000..e702881
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD88.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser
new file mode 100644
index 0000000..1b76a84
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD89.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser
new file mode 100644
index 0000000..13edb54
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD9.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser
new file mode 100644
index 0000000..da2ee39
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD90.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser
new file mode 100644
index 0000000..7f9f0a3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD91.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser
new file mode 100644
index 0000000..6cbe898
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD92.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser
new file mode 100644
index 0000000..423f923
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD93.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser
new file mode 100644
index 0000000..331ba26
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD94.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser
new file mode 100644
index 0000000..0c4e541
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD95.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser
new file mode 100644
index 0000000..20afc29
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD96.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser
new file mode 100644
index 0000000..e801916
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD97.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser
new file mode 100644
index 0000000..7fc398d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD98.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser
new file mode 100644
index 0000000..5c7a0de
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$LD99.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser
new file mode 100644
index 0000000..f7b1fbe
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD0.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser
new file mode 100644
index 0000000..dc3634d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD1.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser
new file mode 100644
index 0000000..a3108b4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD10.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser
new file mode 100644
index 0000000..f561c2d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD11.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser
new file mode 100644
index 0000000..1dc99e4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD12.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser
new file mode 100644
index 0000000..e1b97d0
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD13.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser
new file mode 100644
index 0000000..5600cbf
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD14.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser
new file mode 100644
index 0000000..fe4068c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD15.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser
new file mode 100644
index 0000000..59ad5e4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD16.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser
new file mode 100644
index 0000000..b11600c
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD17.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser
new file mode 100644
index 0000000..5abc2b1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD18.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser
new file mode 100644
index 0000000..3781422
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD2.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser
new file mode 100644
index 0000000..58bb75a
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD3.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser
new file mode 100644
index 0000000..f905fc3
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD4.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser
new file mode 100644
index 0000000..0c1e74b
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD5.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser
new file mode 100644
index 0000000..1032043
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD6.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser
new file mode 100644
index 0000000..d0e3460
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD7.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser
new file mode 100644
index 0000000..4d47ada
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD8.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser
new file mode 100644
index 0000000..eb52263
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData$TD9.ser
Binary files differ
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java
new file mode 100644
index 0000000..50e9eb4
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.bidi;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+
+// CSOFF: WhitespaceAfterCheck
+
+/*
+ * !!! THIS IS A GENERATED FILE !!!
+ * If updates to the source are needed, then:
+ * - apply the necessary modifications to
+ *   'src/codegen/unicode/java/org/apache/fop/text/bidi/GenerateBidiTestData.java'
+ * - run 'ant codegen-unicode', which will generate a new BidiTestData.java
+ *   in 'test/java/org/apache/fop/complexscripts/bidi'
+ * - commit BOTH changed files
+ */
+
+/** Bidirectional test data. */
+public final class BidiTestData {
+
+    private BidiTestData() {
+    }
+
+    public static final String TD_PFX = "TD";
+    public static final int TD_CNT = 19;
+
+    public static final String LD_PFX = "LD";
+    public static final int LD_CNT = 622;
+
+    public static final int NUM_TEST_SEQUENCES = 216357;
+
+    public static int[] readTestData ( String prefix, int index ) {
+        int[] data = null;
+        InputStream is = null;
+        Class btc = BidiTestData.class;
+        String name = btc.getSimpleName() + "$" + prefix + index + ".ser";
+        try {
+            if ( ( is = btc.getResourceAsStream ( name ) ) != null ) {
+                ObjectInputStream ois = new ObjectInputStream ( is );
+                data = (int[]) ois.readObject();
+                ois.close();
+            }
+        } catch ( IOException e ) {
+            data = null;
+        } catch ( ClassNotFoundException e ) {
+            data = null;
+        } finally {
+            if ( is != null ) {
+                try { is.close(); } catch ( Exception e ) {}
+            }
+        }
+        return data;
+    }
+}
diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestSuite.java b/test/java/org/apache/fop/complexscripts/bidi/BidiTestSuite.java
new file mode 100644
index 0000000..b9f8e6f
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestSuite.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.bidi;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Test suite for bidirectional functionality.
+ */
+public class BidiTestSuite {
+
+    /**
+     * Builds the test suite
+     * @return the test suite
+     */
+    public static Test suite() {
+        TestSuite suite = new TestSuite(
+            "Basic functionality test suite for bidrectional functionality");
+        //$JUnit-BEGIN$
+        suite.addTest(new TestSuite(BidiClassTestCase.class));
+        suite.addTest(new TestSuite(BidiAlgorithmTestCase.class));
+        //$JUnit-END$
+        return suite;
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/fonts/FontsTestSuite.java b/test/java/org/apache/fop/complexscripts/fonts/FontsTestSuite.java
new file mode 100644
index 0000000..33c83c1
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/fonts/FontsTestSuite.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.fonts;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.fop.complexscripts.util.TTXFileTestCase;
+
+/**
+ * Test suite for fonts functionality related to complex scripts.
+ */
+public class FontsTestSuite {
+
+    /**
+     * Builds the test suite
+     * @return the test suite
+     */
+    public static Test suite() {
+        TestSuite suite = new TestSuite(
+            "Basic functionality test suite for complex scripts fonts related functionality");
+        //$JUnit-BEGIN$
+        suite.addTest(new TestSuite(TTXFileTestCase.class));
+        //$JUnit-END$
+        return suite;
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/scripts/ScriptsTestSuite.java b/test/java/org/apache/fop/complexscripts/scripts/ScriptsTestSuite.java
new file mode 100644
index 0000000..60accab
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/scripts/ScriptsTestSuite.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.scripts;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.fop.complexscripts.arabic.ArabicScriptTestSuite;
+
+/**
+ * Test suite for script specific functionality related to complex scripts.
+ */
+public class ScriptsTestSuite {
+
+    /**
+     * Builds the test suite
+     * @return the test suite
+     */
+    public static Test suite() {
+        TestSuite suite = new TestSuite(
+            "Basic functionality test suite for script specific functionality.");
+        //$JUnit-BEGIN$
+        suite.addTest(ArabicScriptTestSuite.suite());
+        //$JUnit-END$
+        return suite;
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/util/TTXFile.java b/test/java/org/apache/fop/complexscripts/util/TTXFile.java
new file mode 100644
index 0000000..45ff898
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/util/TTXFile.java
@@ -0,0 +1,266 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.util;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.xml.parsers.FactoryConfigurationError;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.apache.fop.fonts.GlyphDefinitionTable;
+import org.apache.fop.fonts.GlyphSubstitutionTable;
+import org.apache.fop.fonts.GlyphPositioningTable;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+// CSOFF: InnerAssignmentCheck
+// CSOFF: LineLengthCheck
+// CSOFF: NoWhitespaceAfterCheck
+
+/**
+ * This class supports a subset of the <code>TTX</code> file as produced by the Adobe FLEX
+ * SDK (AFDKO). In particular, it is used to parse a <code>TTX</code> file in order to
+ * extract character to glyph code mapping data, glyph definition data, glyph substitution
+ * data, and glyph positioning data.
+ *
+ * <code>TTX</code> files are used in FOP for testing and debugging purposes only. Such
+ * files are used to represent font data employed by complex script processing, and
+ * normally extracted directly from an opentype (or truetype) file. However, due to
+ * copyright restrictions, it is not possible to include most opentype (or truetype) font
+ * files directly in the FOP distribution. In such cases, <code>TTX</code> files are used
+ * to distribute a subset of the complex script advanced table information contained in
+ * certain font files to facilitate testing. This can be done because no glyph outline or
+ * other proprietary information is included in the distributed <code>TTX</code> files.
+ *
+ * @author Glenn Adams
+ */
+public class TTXFile {
+
+    /** logging instance */
+    private static final Log log = LogFactory.getLog(TTXFile.class);                                                    // CSOK: ConstantNameCheck
+
+    public TTXFile() {
+    }
+
+    public void parse ( String filename ) {
+        parse ( new File ( filename ) );
+    }
+
+    public void parse ( File f ) {
+        assert f != null;
+        try {
+            SAXParserFactory spf = SAXParserFactory.newInstance();
+            SAXParser sp = spf.newSAXParser();
+            sp.parse ( f, new Handler() );
+        } catch ( FactoryConfigurationError e ) {
+            throw new RuntimeException ( e.getMessage() );
+        } catch ( ParserConfigurationException e ) {
+            throw new RuntimeException ( e.getMessage() );
+        } catch ( SAXException e ) {
+            throw new RuntimeException ( e.getMessage() );
+        } catch ( IOException e ) {
+            throw new RuntimeException ( e.getMessage() );
+        }
+    }
+
+    private class Handler extends DefaultHandler {
+        private Handler() {
+        }
+        @Override
+        public void startDocument() {
+        }
+        @Override
+        public void endDocument() {
+        }
+        @Override
+        public void startElement ( String uri, String localName, String qName, Attributes attrs )
+            throws SAXException {
+            if ( qName.equals ( "Alternate" ) ) {
+            } else if ( qName.equals ( "AlternateSet" ) ) {
+            } else if ( qName.equals ( "AlternateSubst" ) ) {
+            } else if ( qName.equals ( "BacktrackCoverage" ) ) {
+            } else if ( qName.equals ( "BaseAnchor" ) ) {
+            } else if ( qName.equals ( "BaseArray" ) ) {
+            } else if ( qName.equals ( "BaseCoverage" ) ) {
+            } else if ( qName.equals ( "BaseRecord" ) ) {
+            } else if ( qName.equals ( "ChainContextPos" ) ) {
+            } else if ( qName.equals ( "ChainContextSubst" ) ) {
+            } else if ( qName.equals ( "Class" ) ) {
+            } else if ( qName.equals ( "ClassDef" ) ) {
+                // child of GlyphClassDef
+                // child of MarkAttachClassDef
+            } else if ( qName.equals ( "ComponentRecord" ) ) {
+            } else if ( qName.equals ( "Coverage" ) ) {
+                // child of LigCaretList
+                // child of MultipleSubst
+                // child of CursivePos
+            } else if ( qName.equals ( "CursivePos" ) ) {
+            } else if ( qName.equals ( "DefaultLangSys" ) ) {
+            } else if ( qName.equals ( "EntryAnchor" ) ) {
+            } else if ( qName.equals ( "EntryExitRecord" ) ) {
+            } else if ( qName.equals ( "ExitAnchor" ) ) {
+            } else if ( qName.equals ( "Feature" ) ) {
+            } else if ( qName.equals ( "FeatureIndex" ) ) {
+                // child of DefaultLangSys
+                // child of LangSys
+            } else if ( qName.equals ( "FeatureList" ) ) {
+                // child of GSUB
+                // child of GPOS
+            } else if ( qName.equals ( "FeatureRecord" ) ) {
+            } else if ( qName.equals ( "FeatureTag" ) ) {
+            } else if ( qName.equals ( "GDEF" ) ) {
+            } else if ( qName.equals ( "GPOS" ) ) {
+            } else if ( qName.equals ( "GSUB" ) ) {
+            } else if ( qName.equals ( "Glyph" ) ) {
+                // child of Coverage
+                // child of InputCoverage
+                // child of LookAheadCoverage
+                // child of BacktrackCoverage
+                // child of MarkCoverage
+                // child of Mark1Coverage
+                // child of Mark2Coverage
+                // child of BaseCoverage
+                // child of LigatureCoverage
+            } else if ( qName.equals ( "GlyphClassDef" ) ) {
+            } else if ( qName.equals ( "GlyphID" ) ) {
+            } else if ( qName.equals ( "GlyphOrder" ) ) {
+            } else if ( qName.equals ( "InputCoverage" ) ) {
+            } else if ( qName.equals ( "LangSys" ) ) {
+            } else if ( qName.equals ( "LangSysRecord" ) ) {
+            } else if ( qName.equals ( "LangSysTag" ) ) {
+            } else if ( qName.equals ( "LigCaretList" ) ) {
+            } else if ( qName.equals ( "Ligature" ) ) {
+            } else if ( qName.equals ( "LigatureAnchor" ) ) {
+            } else if ( qName.equals ( "LigatureArray" ) ) {
+            } else if ( qName.equals ( "LigatureAttach" ) ) {
+            } else if ( qName.equals ( "LigatureCoverage" ) ) {
+            } else if ( qName.equals ( "LigatureSet" ) ) {
+            } else if ( qName.equals ( "LigatureSubst" ) ) {
+            } else if ( qName.equals ( "LookAheadCoverage" ) ) {
+            } else if ( qName.equals ( "Lookup" ) ) {
+            } else if ( qName.equals ( "LookupFlag" ) ) {
+            } else if ( qName.equals ( "LookupList" ) ) {
+                // child of GSUB
+                // child of GPOS
+            } else if ( qName.equals ( "LookupListIndex" ) ) {
+                // child of Feature
+                // child of SubstLookupRecord
+            } else if ( qName.equals ( "LookupType" ) ) {
+            } else if ( qName.equals ( "Mark1Array" ) ) {
+            } else if ( qName.equals ( "Mark1Coverage" ) ) {
+            } else if ( qName.equals ( "Mark2Anchor" ) ) {
+            } else if ( qName.equals ( "Mark2Array" ) ) {
+            } else if ( qName.equals ( "Mark2Coverage" ) ) {
+            } else if ( qName.equals ( "Mark2Record" ) ) {
+            } else if ( qName.equals ( "MarkAnchor" ) ) {
+            } else if ( qName.equals ( "MarkArray" ) ) {
+            } else if ( qName.equals ( "MarkAttachClassDef" ) ) {
+            } else if ( qName.equals ( "MarkBasePos" ) ) {
+            } else if ( qName.equals ( "MarkCoverage" ) ) {
+            } else if ( qName.equals ( "MarkLigPos" ) ) {
+            } else if ( qName.equals ( "MarkMarkPos" ) ) {
+            } else if ( qName.equals ( "MarkRecord" ) ) {
+            } else if ( qName.equals ( "MultipleSubst" ) ) {
+            } else if ( qName.equals ( "PairPos" ) ) {
+            } else if ( qName.equals ( "PairSet" ) ) {
+            } else if ( qName.equals ( "PairValueRecord" ) ) {
+            } else if ( qName.equals ( "PosLookupRecord" ) ) {
+            } else if ( qName.equals ( "ReqFeatureIndex" ) ) {
+                // child of DefaultLangSys
+                // child of LangSys
+            } else if ( qName.equals ( "Script" ) ) {
+            } else if ( qName.equals ( "ScriptList" ) ) {
+                // child of GSUB
+                // child of GPOS
+            } else if ( qName.equals ( "ScriptRecord" ) ) {
+            } else if ( qName.equals ( "ScriptTag" ) ) {
+            } else if ( qName.equals ( "SecondGlyph" ) ) {
+            } else if ( qName.equals ( "Sequence" ) ) {
+            } else if ( qName.equals ( "SequenceIndex" ) ) {
+            } else if ( qName.equals ( "SinglePos" ) ) {
+            } else if ( qName.equals ( "SingleSubst" ) ) {
+            } else if ( qName.equals ( "SubstLookupRecord" ) ) {
+            } else if ( qName.equals ( "Substitute" ) ) {
+            } else if ( qName.equals ( "Substitution" ) ) {
+            } else if ( qName.equals ( "Value" ) ) {
+            } else if ( qName.equals ( "Value1" ) ) {
+            } else if ( qName.equals ( "Value2" ) ) {
+            } else if ( qName.equals ( "ValueFormat" ) ) {
+            } else if ( qName.equals ( "ValueFormat1" ) ) {
+            } else if ( qName.equals ( "ValueFormat2" ) ) {
+            } else if ( qName.equals ( "Version" ) ) {
+                // child of GDEF
+                // child of GSUB
+                // child of GPOS
+            } else if ( qName.equals ( "XCoordinate" ) ) {
+                // child of EntryAnchor
+                // child of MarkAnchor
+            } else if ( qName.equals ( "YCoordinate" ) ) {
+                // child of EntryAnchor
+                // child of MarkAnchor
+                // child of BaseAnchor
+            } else if ( qName.equals ( "checkSumAdjustment" ) ) {
+            } else if ( qName.equals ( "cmap" ) ) {
+            } else if ( qName.equals ( "cmap_format_0" ) ) {
+            } else if ( qName.equals ( "cmap_format_4" ) ) {
+            } else if ( qName.equals ( "created" ) ) {
+            } else if ( qName.equals ( "flags" ) ) {
+            } else if ( qName.equals ( "fontDirectionHint" ) ) {
+            } else if ( qName.equals ( "fontRevision" ) ) {
+            } else if ( qName.equals ( "glyphDataFormat" ) ) {
+            } else if ( qName.equals ( "head" ) ) {
+            } else if ( qName.equals ( "hmtx" ) ) {
+            } else if ( qName.equals ( "indexToLocFormat" ) ) {
+            } else if ( qName.equals ( "lowestRecPPEM" ) ) {
+            } else if ( qName.equals ( "macStyle" ) ) {
+            } else if ( qName.equals ( "magicNumber" ) ) {
+            } else if ( qName.equals ( "map" ) ) {
+            } else if ( qName.equals ( "modified" ) ) {
+            } else if ( qName.equals ( "mtx" ) ) {
+            } else if ( qName.equals ( "tableVersion" ) ) {
+            } else if ( qName.equals ( "tableVersion" ) ) {
+            } else if ( qName.equals ( "ttFont" ) ) {
+            } else if ( qName.equals ( "unitsPerEm" ) ) {
+            } else if ( qName.equals ( "xMax" ) ) {
+            } else if ( qName.equals ( "xMin" ) ) {
+            } else if ( qName.equals ( "yMax" ) ) {
+            } else if ( qName.equals ( "yMin" ) ) {
+            } else {
+                throw new SAXException ( "unknown element type {" + uri + "," + qName + "}" );
+            }
+        }
+        @Override
+        public void endElement ( String uri, String localName, String qName ) {
+        }
+        @Override
+        public void characters ( char[] chars, int start, int length ) {
+        }
+    }
+
+}
diff --git a/test/java/org/apache/fop/complexscripts/util/TTXFileTestCase.java b/test/java/org/apache/fop/complexscripts/util/TTXFileTestCase.java
new file mode 100644
index 0000000..db0bb7d
--- /dev/null
+++ b/test/java/org/apache/fop/complexscripts/util/TTXFileTestCase.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.complexscripts.util;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+public class TTXFileTestCase extends TestCase {
+
+    private static String ttxFilesRoot = "test/resources/complexscripts";
+
+    private static String[] ttxFiles = {
+        "arab/ttx/arab-001.ttx",
+        "arab/ttx/arab-002.ttx",
+        "arab/ttx/arab-003.ttx",
+        "arab/ttx/arab-004.ttx",
+    };
+
+    public void testTTXFiles() throws Exception {
+        for ( String tfn : ttxFiles ) {
+            try {
+                TTXFile tf = new TTXFile();
+                tf.parse ( ttxFilesRoot + File.separator + tfn );
+            } catch ( Exception e ) {
+                fail ( e.getMessage() );
+            }
+        }
+    }
+
+}
diff --git a/test/layoutengine/disabled-testcases.xml b/test/layoutengine/disabled-testcases.xml
index cd63ad0..db66455 100644
--- a/test/layoutengine/disabled-testcases.xml
+++ b/test/layoutengine/disabled-testcases.xml
@@ -209,4 +209,10 @@
     <description>The block should cause overflow in the
     last column on the page, rather than be broken.</description>
   </testcase>
+  <testcase>
+    <name>Writing mode problems</name>
+    <file>simple-page-master_writing-mode_rl_region-body_writing-mode-lr.xml</file>
+    <description>Test erroneously depends upon incorrect implementation of writing-mode trait
+    derivation on fo:region-*.</description>
+  </testcase>
 </disabled-testcases>
diff --git a/test/layoutengine/standard-testcases/basic-link_background-image_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_background-image_writing-mode_rl.xml
new file mode 100644
index 0000000..8aa5480
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_background-image_writing-mode_rl.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks background image on a fo:basic-link.
+    </p>
+  </info>
+  <variables>
+    <img>../../resources/images/bgimg300dpi.jpg</img>
+  </variables>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" white-space-collapse="true" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>
+            Why is <fo:basic-link external-destination="http://xmlgraphics.apache.org/fop" font-size="96pt" background-color="yellow" background-repeat="no-repeat" background-position-horizontal="center" background-position-vertical="center" background-image="##img">FOP</fo:basic-link> so cool?
+          </fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="197376" xpath="//flow/block/lineArea/inlineparent/@ipd"/>
+    <eval expected="88800" xpath="//flow/block/lineArea/inlineparent/@bpd"/>
+    <eval expected="color=#ffff00,url=../../resources/images/bgimg300dpi.jpg,repeat=no-repeat,horiz=75648,vertical=21360" xpath="//flow/block/lineArea/inlineparent/@background"/>
+  </checks>
+  <if-checks xmlns:n="http://xmlgraphics.apache.org/fop/intermediate/document-navigation">
+    <eval expected="page-trailer" xpath="local-name(//n:link/..)"/>
+    <eval expected="121272 1650 197376 88800" xpath="//n:link/@rect"/>
+    <eval expected="http://xmlgraphics.apache.org/fop" xpath="//n:link/n:goto-uri/@uri"/>
+  </if-checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_external-destination_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_external-destination_writing-mode_rl.xml
new file mode 100644
index 0000000..879cead
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_external-destination_writing-mode_rl.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks external-destination on a fo:basic-link.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block><fo:basic-link external-destination="http://xmlgraphics.apache.org/fop/">FOP</fo:basic-link></fo:block>
+          <fo:block><fo:basic-link external-destination="url(http://xmlgraphics.apache.org/fop/)">FOP</fo:basic-link></fo:block>
+          <fo:block><fo:basic-link show-destination="replace" external-destination="url(http://xmlgraphics.apache.org/fop/)">FOP</fo:basic-link></fo:block>
+          <fo:block><fo:basic-link show-destination="new" external-destination="url(http://xmlgraphics.apache.org/fop/)">FOP</fo:basic-link></fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="http://xmlgraphics.apache.org/fop/" xpath="substring-after(//flow/block[1]/lineArea/inlineparent/@external-link,'dest=')"/>
+    <eval expected="http://xmlgraphics.apache.org/fop/" xpath="substring-after(//flow/block[2]/lineArea/inlineparent/@external-link,'dest=')"/>
+    <eval expected="false" xpath="substring-before(substring-after(//flow/block[3]/lineArea/inlineparent/@external-link,'newWindow='), ',')"/>
+    <eval expected="true" xpath="substring-before(substring-after(//flow/block[4]/lineArea/inlineparent/@external-link,'newWindow='), ',')"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_external-destination_writing-mode_rl_2.xml b/test/layoutengine/standard-testcases/basic-link_external-destination_writing-mode_rl_2.xml
new file mode 100644
index 0000000..6812dd7
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_external-destination_writing-mode_rl_2.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks a fo:basic-link with an external-destination wrapping an SVG graphic.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>before before before</fo:block>
+          <fo:block>
+            start
+            <fo:basic-link id="link" external-destination="http://xmlgraphics.apache.org/fop/"><fo:instream-foreign-object background-color="yellow">
+                <svg:svg width="2in" height="2in" viewBox="0 0 30 30">
+                  <svg:circle cx="15" cy="15" r="14" fill="#0000ff" stroke="none"/>
+                </svg:svg>
+              </fo:instream-foreign-object></fo:basic-link>
+            end
+          </fo:block>
+          <fo:block>after after after</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="144000" xpath="//inlineparent[@prod-id='link']/@ipd"/>
+    <eval expected="144000" xpath="//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="0"      xpath="//inlineparent[@prod-id='link']/@offset"/>
+
+    <eval expected="144000" xpath="//inlineparent[@prod-id='link']/viewport/@ipd"/>
+    <eval expected="144000" xpath="//inlineparent[@prod-id='link']/viewport/@bpd"/>
+    <eval expected="0"      xpath="//inlineparent[@prod-id='link']/viewport/@offset"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_for_toc_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_for_toc_writing-mode_rl.xml
new file mode 100644
index 0000000..9966c54
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_for_toc_writing-mode_rl.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks fo:basic-link in conjunction with text-align="justify" and an
+      fo:page-number-citation.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block text-align="justify">
+            You can read about Apache FOP in
+            <fo:basic-link external-destination="http://xmlgraphics.apache.org/fop/"
+            >chapter 1 on page <fo:page-number-citation ref-id="1"/></fo:basic-link>.
+            Apache FOP is open source, BTW.
+          </fo:block>
+          <fo:block id="1"/>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="http://xmlgraphics.apache.org/fop/" xpath="substring-after(//flow/block[1]/lineArea/inlineparent/@external-link,'dest=')"/>
+    <eval expected="360000" xpath="//flow/block[1]/lineArea/@ipd"/>
+    <eval expected="104440" xpath="//flow/block[1]/lineArea/inlineparent/text[1]/@ipd"/>
+    <eval expected="6672" xpath="//flow/block[1]/lineArea/inlineparent/text[2]/@ipd"/>
+    <eval expected="111112" xpath="//flow/block[1]/lineArea/inlineparent/@ipd"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_height_baseline-shift_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_height_baseline-shift_writing-mode_rl.xml
new file mode 100644
index 0000000..2eef7c8
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_height_baseline-shift_writing-mode_rl.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks the height of an fo:basic-link with baseline-shift.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="page"
+          page-height="420pt" page-width="320pt" margin="10pt">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="page" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block font-size="40pt">Lorem ipsum dolor <fo:basic-link id="link" color="blue" 
+              font-size="12pt" external-destination="url(http://xmlgraphics.apache.org/fop/)" 
+              baseline-shift="-5pt">sit <fo:inline baseline-shift="5pt">amet,</fo:inline> <fo:inline 
+                font-size="24pt" baseline-shift="-10pt">consectetur</fo:inline> 
+              adipiscing</fo:basic-link>elit.</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- First line -->
+    <eval expected="28584" xpath="//lineArea[2]//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="20104" xpath="//lineArea[2]//inlineparent[@prod-id='link']/@offset"/>
+
+    <eval expected="11100" xpath="//lineArea[2]//inlineparent[@prod-id='link']/text[1]/@bpd"/>
+    <eval expected="5000"  xpath="//lineArea[2]//inlineparent[@prod-id='link']/text[1]/@offset"/>
+
+    <eval expected="11100" xpath="//lineArea[2]//inlineparent[@prod-id='link']/inlineparent[1]/@bpd"/>
+    <eval expected="0"     xpath="//lineArea[2]//inlineparent[@prod-id='link']/inlineparent[1]/@offset"/>
+
+    <eval expected="22200" xpath="//lineArea[2]//inlineparent[@prod-id='link']/inlineparent[2]/@bpd"/>
+    <eval expected="6384"  xpath="//lineArea[2]//inlineparent[@prod-id='link']/inlineparent[2]/@offset"/>
+
+    <!-- Second line -->
+    <eval expected="11100" xpath="//lineArea[3]//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="25104" xpath="//lineArea[3]//inlineparent[@prod-id='link']/@offset"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_height_inline-child_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_height_inline-child_writing-mode_rl.xml
new file mode 100644
index 0000000..6f0a893
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_height_inline-child_writing-mode_rl.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks the height of an fo:basic-link having several child elements wrapped into a 
+      single fo:inline element.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="page"
+          page-height="420pt" page-width="320pt" margin="10pt">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="page" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>Lorem ipsum dolor sit amet, consectetur adipiscing elit. <fo:basic-link 
+              id="link" color="blue" 
+              external-destination="url(http://xmlgraphics.apache.org/fop/)"><fo:inline>In 
+                <fo:inline baseline-shift="12pt">in</fo:inline> <fo:inline font-size="24pt"
+                baseline-shift="-20pt">egestas</fo:inline> nisi</fo:inline></fo:basic-link>. Etiam 
+          at ante eget velit placerat ullamcorper.</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="45584"  xpath="//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="0"      xpath="//inlineparent[@prod-id='link']/@offset"/>
+
+    <eval expected="11100"  xpath="//inlineparent[@prod-id='link']/inlineparent/@bpd"/>
+    <eval expected="12000"  xpath="//inlineparent[@prod-id='link']/inlineparent/@offset"/>
+
+    <eval expected="11100"  xpath="//inlineparent[@prod-id='link']/inlineparent/text[1]/@bpd"/>
+    <eval expected="0"      xpath="//inlineparent[@prod-id='link']/inlineparent/text[1]/@offset"/>
+
+    <eval expected="11100"  xpath="//inlineparent[@prod-id='link']/inlineparent/inlineparent[1]/@bpd"/>
+    <eval expected="-12000" xpath="//inlineparent[@prod-id='link']/inlineparent/inlineparent[1]/@offset"/>
+
+    <eval expected="22200"  xpath="//inlineparent[@prod-id='link']/inlineparent/inlineparent[2]/@bpd"/>
+    <eval expected="11384"  xpath="//inlineparent[@prod-id='link']/inlineparent/inlineparent[2]/@offset"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_height_multi-child_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_height_multi-child_writing-mode_rl.xml
new file mode 100644
index 0000000..ab7befa
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_height_multi-child_writing-mode_rl.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks the height of an fo:basic-link having several child elements.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="page"
+          page-height="420pt" page-width="320pt" margin="10pt">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="page" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>Lorem ipsum dolor sit amet, consectetur adipiscing elit. <fo:basic-link 
+              id="link" color="blue" 
+              external-destination="url(http://xmlgraphics.apache.org/fop/)">In <fo:inline 
+                baseline-shift="12pt">in</fo:inline> <fo:inline font-size="24pt"
+                baseline-shift="-20pt">egestas</fo:inline> nisi</fo:basic-link>. Etiam at ante eget 
+            velit placerat ullamcorper.</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="45584" xpath="//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="0"     xpath="//inlineparent[@prod-id='link']/@offset"/>
+
+    <eval expected="11100" xpath="//inlineparent[@prod-id='link']/text[1]/@bpd"/>
+    <eval expected="12000" xpath="//inlineparent[@prod-id='link']/text[1]/@offset"/>
+
+    <eval expected="11100" xpath="//inlineparent[@prod-id='link']/inlineparent[1]/@bpd"/>
+    <eval expected="0"     xpath="//inlineparent[@prod-id='link']/inlineparent[1]/@offset"/>
+
+    <eval expected="22200" xpath="//inlineparent[@prod-id='link']/inlineparent[2]/@bpd"/>
+    <eval expected="23384" xpath="//inlineparent[@prod-id='link']/inlineparent[2]/@offset"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_height_multi-line_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_height_multi-line_writing-mode_rl.xml
new file mode 100644
index 0000000..cee76ff
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_height_multi-line_writing-mode_rl.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks the height of an fo:basic-link spanning over several lines.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="page"
+          page-height="420pt" page-width="320pt" margin="10pt">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="page" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer quis neque 
+            vitae lectus condimentum. <fo:basic-link id="link" color="blue" 
+              external-destination="url(http://xmlgraphics.apache.org/fop/)">In <fo:inline 
+                baseline-shift="12pt">in</fo:inline> <fo:inline font-size="24pt"
+                baseline-shift="-20pt">egestas</fo:inline> nisi</fo:basic-link>. Etiam at ante eget 
+            velit placerat ullamcorper.</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- First line -->
+    <eval expected="23100" xpath="//lineArea[2]//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="0"     xpath="//lineArea[2]//inlineparent[@prod-id='link']/@offset"/>
+                                               
+    <eval expected="11100" xpath="//lineArea[2]//inlineparent[@prod-id='link']/text[1]/@bpd"/>
+    <eval expected="12000" xpath="//lineArea[2]//inlineparent[@prod-id='link']/text[1]/@offset"/>
+                                               
+    <eval expected="11100" xpath="//lineArea[2]//inlineparent[@prod-id='link']/inlineparent/@bpd"/>
+    <eval expected="0"     xpath="//lineArea[2]//inlineparent[@prod-id='link']/inlineparent/@offset"/>
+
+    <!-- Second line -->
+    <eval expected="33584" xpath="//lineArea[3]//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="0"     xpath="//lineArea[3]//inlineparent[@prod-id='link']/@offset"/>
+
+    <eval expected="22200" xpath="//lineArea[3]//inlineparent[@prod-id='link']/inlineparent/@bpd"/>
+    <eval expected="11384" xpath="//lineArea[3]//inlineparent[@prod-id='link']/inlineparent/@offset"/>
+
+    <eval expected="11100" xpath="//lineArea[3]//inlineparent[@prod-id='link']/text[1]/@bpd"/>
+    <eval expected="0"     xpath="//lineArea[3]//inlineparent[@prod-id='link']/text[1]/@offset"/>
+
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_height_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_height_writing-mode_rl.xml
new file mode 100644
index 0000000..26a882f
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_height_writing-mode_rl.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks the height of an fo:basic-link wrapping a bigger element.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="page"
+          page-height="420pt" page-width="320pt" margin="10pt">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="page" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In in <fo:basic-link 
+              id="link" color="blue" 
+              external-destination="url(http://xmlgraphics.apache.org/fop/)"><fo:inline id="inline"
+                font-size="24pt" baseline-shift="12pt">egestas</fo:inline></fo:basic-link> nisi. 
+            Etiam at ante eget velit placerat ullamcorper.</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="84048" xpath="//inlineparent[@prod-id='link']/@ipd"/>
+    <eval expected="22200" xpath="//inlineparent[@prod-id='link']/@bpd"/>
+    <eval expected="0"     xpath="//inlineparent[@prod-id='link']/@offset"/>
+
+    <eval expected="84048" xpath="//inlineparent[@prod-id='link']/inlineparent/@ipd"/>
+    <eval expected="22200" xpath="//inlineparent[@prod-id='link']/inlineparent/@bpd"/>
+    <eval expected="0"     xpath="//inlineparent[@prod-id='link']/inlineparent/@offset"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_internal-desination-next-page.xml b/test/layoutengine/standard-testcases/basic-link_internal-desination-next-page.xml
new file mode 100644
index 0000000..c97b8ab
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_internal-desination-next-page.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks a next page internal-destination on a fo:basic-link.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block><fo:basic-link internal-destination="target">Internal Link</fo:basic-link></fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+      <fo:page-sequence master-reference="normal">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block id="target">Link Target</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="(P2,target)" xpath="//pageSequence[1]//block/lineArea/inlineparent/@internal-link"/>
+    <eval expected="target" xpath="//pageSequence[2]//block/@prod-id"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_internal-desination-next-page_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_internal-desination-next-page_writing-mode_rl.xml
new file mode 100644
index 0000000..6f6ed37
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_internal-desination-next-page_writing-mode_rl.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks a next page internal-destination on a fo:basic-link.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block><fo:basic-link internal-destination="target">Internal Link</fo:basic-link></fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+      <fo:page-sequence master-reference="normal" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block id="target">Link Target</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="(P2,target)" xpath="//pageSequence[1]//block/lineArea/inlineparent/@internal-link"/>
+    <eval expected="target" xpath="//pageSequence[2]//block/@prod-id"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-after.xml b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-after.xml
new file mode 100644
index 0000000..f83f4f4
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-after.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks a same page internal-destination on a fo:basic-link which references a subsequent block.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block><fo:basic-link internal-destination="target">Internal Link</fo:basic-link></fo:block>
+          <fo:block id="target">Link Target</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="(P1,target)" xpath="//flow/block[1]/lineArea/inlineparent/@internal-link"/>
+    <eval expected="target" xpath="//flow/block[2]/@prod-id"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-after_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-after_writing-mode_rl.xml
new file mode 100644
index 0000000..624dc43
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-after_writing-mode_rl.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks a same page internal-destination on a fo:basic-link which references a subsequent block.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block><fo:basic-link internal-destination="target">Internal Link</fo:basic-link></fo:block>
+          <fo:block id="target">Link Target</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="(P1,target)" xpath="//flow/block[1]/lineArea/inlineparent/@internal-link"/>
+    <eval expected="target" xpath="//flow/block[2]/@prod-id"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-before.xml b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-before.xml
new file mode 100644
index 0000000..541c95d
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-before.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks a same page internal-destination on a fo:basic-link which references a prior block.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block id="target">Link Target</fo:block>
+          <fo:block><fo:basic-link internal-destination="target">Internal Link</fo:basic-link></fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="target" xpath="//flow/block[1]/@prod-id"/>
+    <eval expected="(P1,target)" xpath="//flow/block[2]/lineArea/inlineparent/@internal-link"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-before_writing-mode_rl.xml b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-before_writing-mode_rl.xml
new file mode 100644
index 0000000..89d07ce
--- /dev/null
+++ b/test/layoutengine/standard-testcases/basic-link_internal-desination-same-page-before_writing-mode_rl.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks a same page internal-destination on a fo:basic-link which references a prior block.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block id="target">Link Target</fo:block>
+          <fo:block><fo:basic-link internal-destination="target">Internal Link</fo:basic-link></fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="target" xpath="//flow/block[1]/@prod-id"/>
+    <eval expected="(P1,target)" xpath="//flow/block[2]/lineArea/inlineparent/@internal-link"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/block_basic_2.xml b/test/layoutengine/standard-testcases/block_basic_2.xml
index 25e30c7..813be6c 100644
--- a/test/layoutengine/standard-testcases/block_basic_2.xml
+++ b/test/layoutengine/standard-testcases/block_basic_2.xml
@@ -75,7 +75,7 @@
     <eval expected="0" xpath="//flow/block[5]/lineArea/inlineparent/@offset"/>
     <eval expected="8616" xpath="//flow/block[5]/lineArea/inlineparent/text/@baseline"/>
     <eval expected="0" xpath="//flow/block[6]/lineArea/text/@offset"/>
-    <eval expected="0" xpath="//flow/block[6]/lineArea/text/word/@offset"/>
+    <true xpath="not(boolean(//flow/block[6]/lineArea/text/word/@offset))"/>
     <eval expected="8616" xpath="//flow/block[6]/lineArea/text/@baseline"/>
   </checks>
 </testcase>
diff --git a/test/layoutengine/standard-testcases/block_text-align_4.xml b/test/layoutengine/standard-testcases/block_text-align_4.xml
new file mode 100644
index 0000000..eb83c15
--- /dev/null
+++ b/test/layoutengine/standard-testcases/block_text-align_4.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks text-align (except for justify) when writing-mode is right-to-left,
+      in which case start is right and end is left.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="simple" page-height="10in" page-width="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="simple" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</fo:block>
+          <fo:block text-align="right">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</fo:block>
+          <fo:block text-align="start">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</fo:block>
+          <fo:block text-align="left">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</fo:block>
+          <fo:block text-align="end">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</fo:block>
+          <fo:block text-align="center">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- default settings for text-align -->
+    <true xpath="not(boolean(//flow/block[1]/lineArea[1]/@start-indent))"/>
+    <true xpath="boolean(//flow/block[1]/lineArea[1]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[1]/lineArea[1]/@level"/>
+    <!-- text-align="right" -->
+    <true xpath="not(boolean(//flow/block[2]/lineArea[1]/@start-indent))"/>
+    <true xpath="boolean(//flow/block[2]/lineArea[1]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[2]/lineArea[1]/@level"/>
+    <!-- text-align="start" -->
+    <true xpath="not(boolean(//flow/block[3]/lineArea[1]/@start-indent))"/>
+    <true xpath="boolean(//flow/block[3]/lineArea[1]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[3]/lineArea[1]/@level"/>
+    <!-- line from blocks 1, 2, 3 must have the same ipd and end-indents -->
+    <true xpath="//flow/block[1]/lineArea[1]/@ipd = //flow/block[2]/lineArea[1]/@ipd"/>
+    <true xpath="//flow/block[1]/lineArea[1]/@end-indent = //flow/block[2]/lineArea[1]/@end-indent"/>
+    <true xpath="//flow/block[1]/lineArea[1]/@ipd = //flow/block[3]/lineArea[1]/@ipd"/>
+    <true xpath="//flow/block[1]/lineArea[1]/@end-indent = //flow/block[3]/lineArea[1]/@end-indent"/>
+    <!-- text-align="left" -->
+    <true xpath="boolean(//flow/block[4]/lineArea[1]/@start-indent)"/>
+    <true xpath="not(boolean(//flow/block[4]/lineArea[1]/@end-indent))"/>
+    <eval expected="1" xpath="//flow/block[4]/lineArea[1]/@level"/>
+    <!-- text-align="end" -->
+    <true xpath="boolean(//flow/block[5]/lineArea[1]/@start-indent)"/>
+    <true xpath="not(boolean(//flow/block[5]/lineArea[1]/@end-indent))"/>
+    <eval expected="1" xpath="//flow/block[5]/lineArea[1]/@level"/>
+    <!-- line from blocks 4, 5 must have the same ipd and start-indents -->
+    <true xpath="//flow/block[4]/lineArea[1]/@ipd = //flow/block[5]/lineArea[1]/@ipd"/>
+    <true xpath="//flow/block[4]/lineArea[1]/@start-indent = //flow/block[5]/lineArea[1]/@start-indent"/>
+    <!-- text-align="center" -->
+    <true xpath="boolean(//flow/block[6]/lineArea[1]/@start-indent)"/>
+    <true xpath="boolean(//flow/block[6]/lineArea[1]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[6]/lineArea[1]/@level"/>
+    <true xpath="//flow/block[6]/lineArea[1]/@start-indent = //flow/block[6]/lineArea[1]/@end-indent"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/block_text-align_5.xml b/test/layoutengine/standard-testcases/block_text-align_5.xml
new file mode 100644
index 0000000..757bf2e
--- /dev/null
+++ b/test/layoutengine/standard-testcases/block_text-align_5.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks text-align="justify" when writing-mode is right-to-left.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="simple" page-height="10in" page-width="2in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="simple" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block text-align="justify">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- lineArea[1] - justified -->
+    <true xpath="not(boolean(//flow/block[1]/lineArea[1]/@start-indent))"/>
+    <true xpath="not(boolean(//flow/block[1]/lineArea[1]/@end-indent))"/>
+    <eval expected="1" xpath="//flow/block[1]/lineArea[1]/@level"/>
+    <true xpath="//flow/block[1]/lineArea[1]/@ipd = //flow/block[1]/lineArea[1]/text[1]/@ipd"/>
+    <true xpath="boolean(//flow/block[1]/lineArea[1]/text[1]/@twsadjust)"/>
+    <eval expected="2" xpath="//flow/block[1]/lineArea[1]/text[1]/@level"/>
+    <!-- lineArea[2] - justified -->
+    <true xpath="not(boolean(//flow/block[1]/lineArea[2]/@start-indent))"/>
+    <true xpath="not(boolean(//flow/block[1]/lineArea[2]/@end-indent))"/>
+    <eval expected="1" xpath="//flow/block[1]/lineArea[2]/@level"/>
+    <true xpath="//flow/block[1]/lineArea[2]/@ipd = //flow/block[1]/lineArea[2]/text[1]/@ipd"/>
+    <true xpath="boolean(//flow/block[1]/lineArea[2]/text[1]/@twsadjust)"/>
+    <eval expected="2" xpath="//flow/block[1]/lineArea[2]/text[1]/@level"/>
+    <!-- lineArea[3] - start -->
+    <true xpath="not(boolean(//flow/block[1]/lineArea[3]/@start-indent))"/>
+    <true xpath="boolean(//flow/block[1]/lineArea[3]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[1]/lineArea[3]/@level"/>
+    <true xpath="not(//flow/block[1]/lineArea[3]/@ipd = //flow/block[1]/lineArea[3]/text[1]/@ipd)"/>
+    <true xpath="not(boolean(//flow/block[1]/lineArea[3]/text[1]/@twsadjust))"/>
+    <eval expected="1" xpath="//flow/block[1]/lineArea[3]/text[1]/@level"/>
+    <true xpath="not(//flow/block[1]/lineArea[3]/@ipd = //flow/block[1]/lineArea[3]/text[2]/@ipd)"/>
+    <true xpath="not(boolean(//flow/block[1]/lineArea[3]/text[2]/@twsadjust))"/>
+    <eval expected="2" xpath="//flow/block[1]/lineArea[3]/text[2]/@level"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/character_writing-mode_rl.xml b/test/layoutengine/standard-testcases/character_writing-mode_rl.xml
new file mode 100644
index 0000000..adc126e
--- /dev/null
+++ b/test/layoutengine/standard-testcases/character_writing-mode_rl.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks fo:character in a RTL writing-mode context.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="simple" page-height="5in" page-width="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="simple">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block-container writing-mode="lr-tb">
+            <fo:block><fo:character character="1"/><fo:character character="2"/><fo:character character="3"/><fo:character character="4"/></fo:block>
+          </fo:block-container>
+          <fo:block-container writing-mode="rl-tb">
+            <fo:block><fo:bidi-override unicode-bidi="bidi-override" direction="rtl"><fo:character character="1"/><fo:character character="2"/><fo:character character="3"/><fo:character character="4"/></fo:bidi-override></fo:block>
+          </fo:block-container>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!--  left-to-right context -->
+    <eval expected="6672" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[1]/@ipd"/>
+    <eval expected="1" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[1]/word[1]"/>
+    <true xpath="not(boolean(//flow/block[1]/block[1]/block[1]/lineArea/text[1]/word[1]/@level))"/>
+    <eval expected="6672" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[2]/@ipd"/>
+    <eval expected="2" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[2]/word[1]"/>
+    <true xpath="not(boolean(//flow/block[1]/block[1]/block[1]/lineArea/text[2]/word[1]/@level))"/>
+    <eval expected="6672" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[3]/@ipd"/>
+    <eval expected="3" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[3]/word[1]"/>
+    <true xpath="not(boolean(//flow/block[1]/block[1]/block[1]/lineArea/text[3]/word[1]/@level))"/>
+    <eval expected="6672" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[4]/@ipd"/>
+    <eval expected="4" xpath="//flow/block[1]/block[1]/block[1]/lineArea/text[4]/word[1]"/>
+    <true xpath="not(boolean(//flow/block[1]/block[1]/block[1]/lineArea/text[4]/word[1]/@level))"/>
+    <!--  right-to-left context, with bidi override of rtl -->
+    <eval expected="6672" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[1]/@ipd"/>
+    <eval expected="4" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[1]/word[1]"/>
+    <eval expected="3" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[1]/word[1]/@level"/>
+    <true xpath="boolean(//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[1]/word[1]/@reversed)"/>
+    <eval expected="6672" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[2]/@ipd"/>
+    <eval expected="3" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[2]/word[1]"/>
+    <eval expected="3" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[1]/word[1]/@level"/>
+    <true xpath="boolean(//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[1]/word[1]/@reversed)"/>
+    <eval expected="6672" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[3]/@ipd"/>
+    <eval expected="2" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[3]/word[1]"/>
+    <eval expected="3" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[3]/word[1]/@level"/>
+    <true xpath="boolean(//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[3]/word[1]/@reversed)"/>
+    <eval expected="6672" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[4]/@ipd"/>
+    <eval expected="1" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[4]/word[1]"/>
+    <eval expected="3" xpath="//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[4]/word[1]/@level"/>
+    <true xpath="boolean(//flow/block[2]/block[1]/block[1]/lineArea/inlineparent/text[4]/word[1]/@reversed)"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/inline_background-color_writing-mode_rl.xml b/test/layoutengine/standard-testcases/inline_background-color_writing-mode_rl.xml
new file mode 100644
index 0000000..b4e6564
--- /dev/null
+++ b/test/layoutengine/standard-testcases/inline_background-color_writing-mode_rl.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks fo:inline with background-color properties.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in" margin="5pt">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" white-space-collapse="true" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body" font-size="10pt">
+          <fo:block background-color="silver" margin="1pt 0pt 1pt 0pt">
+            To <fo:inline background-color="yellow">emphasize a phrase</fo:inline> highlight it.
+          </fo:block>
+          <fo:block background-color="silver" text-align="end" margin="1pt 0pt 1pt 0pt">
+            To <fo:inline background-color="yellow">emphasize a phrase</fo:inline> highlight it with text-align="end".
+          </fo:block>
+          <fo:block background-color="silver" text-align="justify" margin="1pt 0pt 1pt 0pt">
+            To <fo:inline background-color="yellow">emphasize a phrase</fo:inline> highlight it with text-align="justify".
+          </fo:block>
+          <fo:block background-color="silver" text-align="center" margin="1pt 0pt 1pt 0pt">
+            To <fo:inline background-color="yellow">emphasize a phrase</fo:inline> highlight it with text-align="center".
+          </fo:block>
+          <fo:block background-color="silver" margin="1pt 0pt 1pt 0pt">
+            This demonstrates a long inline
+              <fo:inline background-color="yellow">which stretches over multiple lines to
+                show how the highlight extends from line to line while
+                correctly honouring the text-align (not specified) property</fo:inline>
+            back to normal
+          </fo:block>
+          <fo:block background-color="silver" text-align="end" margin="1pt 0pt 1pt 0pt">
+            This demonstrates a long inline
+              <fo:inline background-color="yellow">which stretches over multiple lines to
+                show how the highlight extends from line to line while
+                correctly honouring the text-align="end" property</fo:inline>
+            back to normal
+          </fo:block>
+          <fo:block background-color="silver" text-align="justify" margin="1pt 0pt 1pt 0pt">
+            This demonstrates a long inline
+              <fo:inline background-color="yellow">which stretches over multiple lines to
+                show how the highlight extends from line to line while
+                correctly honouring the text-align="justify" property</fo:inline>
+            back to normal
+          </fo:block>
+          <fo:block background-color="silver" text-align="center" margin="1pt 0pt 1pt 0pt">
+            This demonstrates a long inline
+              <fo:inline background-color="yellow">which stretches over multiple lines to
+                show how the highlight extends from line to line while
+                correctly honouring the text-align="center" property</fo:inline>
+            back to normal
+          </fo:block>
+          <fo:block background-color="silver" text-align="center" margin="1pt 0pt 1pt 0pt">
+            Nested inline highlights
+              <fo:inline background-color="yellow" font-size="10pt">this is 10pt text
+                <fo:inline font-size="14pt">nested within is 14pt text</fo:inline>
+                followed by 10pt text</fo:inline>
+            back to normal
+          </fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="90040" xpath="//flow/block[1]/lineArea/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[1]/lineArea/inlineparent/@background"/>
+
+    <eval expected="90040" xpath="//flow/block[2]/lineArea/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[2]/lineArea/inlineparent/@background"/>
+
+    <eval expected="90040" xpath="//flow/block[3]/lineArea/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[3]/lineArea/inlineparent/@background"/>
+
+    <eval expected="90040" xpath="//flow/block[4]/lineArea/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[4]/lineArea/inlineparent/@background"/>
+
+    <eval expected="188950" xpath="//flow/block[5]/lineArea[1]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[5]/lineArea[1]/inlineparent/@background"/>
+    <eval expected="335700" xpath="//flow/block[5]/lineArea[2]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[5]/lineArea[2]/inlineparent/@background"/>
+    <eval expected="126160" xpath="//flow/block[5]/lineArea[3]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[5]/lineArea[3]/inlineparent/@background"/>
+
+    <eval expected="188950" xpath="//flow/block[6]/lineArea[1]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[6]/lineArea[1]/inlineparent/@background"/>
+    <eval expected="335700" xpath="//flow/block[6]/lineArea[2]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[6]/lineArea[2]/inlineparent/@background"/>
+    <eval expected="90200" xpath="//flow/block[6]/lineArea[3]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[6]/lineArea[3]/inlineparent/@background"/>
+
+    <eval expected="199792" xpath="//flow/block[7]/lineArea[1]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[7]/lineArea[1]/inlineparent/@background"/>
+    <eval expected="349992" xpath="//flow/block[7]/lineArea[2]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[7]/lineArea[2]/inlineparent/@background"/>
+    <eval expected="99080" xpath="//flow/block[7]/lineArea[3]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[7]/lineArea[3]/inlineparent/@background"/>
+
+    <eval expected="128370" xpath="//flow/block[8]/lineArea[1]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[8]/lineArea[1]/inlineparent/@background"/>
+    <eval expected="269560" xpath="//flow/block[8]/lineArea[2]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[8]/lineArea[2]/inlineparent/@background"/>
+    <eval expected="225250" xpath="//flow/block[8]/lineArea[3]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[8]/lineArea[3]/inlineparent/@background"/>
+
+    <eval expected="151184" xpath="//flow/block[9]/lineArea[1]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[9]/lineArea[1]/inlineparent/@background"/>
+    <eval expected="81704" xpath="//flow/block[9]/lineArea[1]/inlineparent/inlineparent/@ipd"/>
+    <eval expected="161644" xpath="//flow/block[9]/lineArea[2]/inlineparent/@ipd"/>
+    <eval expected="color=#ffff00" xpath="//flow/block[9]/lineArea[2]/inlineparent/@background"/>
+    <eval expected="67704" xpath="//flow/block[9]/lineArea[2]/inlineparent/inlineparent/@ipd"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/instream-foreign-object_basic_writing-mode_rl.xml b/test/layoutengine/standard-testcases/instream-foreign-object_basic_writing-mode_rl.xml
new file mode 100644
index 0000000..9d090d5
--- /dev/null
+++ b/test/layoutengine/standard-testcases/instream-foreign-object_basic_writing-mode_rl.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks the basics for instream-foreign-object.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" white-space-collapse="true" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>start
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object>
+            end
+          </fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <true xpath="count(//flow/block[1]/lineArea/viewport) = 1" fail-msg="viewport area not found"/>
+    <true xpath="count(//flow/block[1]/lineArea/viewport/foreignObject) = 1" fail-msg="foreign object area not found"/>
+    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@bpd"/>
+    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@bpda"/>
+    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@ipda"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/instream-foreign-object_border_padding_writing-mode_rl.xml b/test/layoutengine/standard-testcases/instream-foreign-object_border_padding_writing-mode_rl.xml
new file mode 100644
index 0000000..ad27bb2
--- /dev/null
+++ b/test/layoutengine/standard-testcases/instream-foreign-object_border_padding_writing-mode_rl.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks the borders and the like for instream-foreign-object.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" white-space-collapse="true" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block background-color="orange">
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt" border-style="solid" border-width="5pt 10pt 20pt 15pt" padding="15pt 20pt 10pt 5pt" background-color="white">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object> Normal font
+          </fo:block>
+          <fo:block background-color="yellow" font-size="100pt">
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt" border-style="solid" border-width="5pt 10pt 20pt 15pt" padding="15pt 20pt 10pt 5pt" background-color="white">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object> FOP
+          </fo:block>
+          <fo:block font-size="9pt">
+           In both blocks we have a setting of border-width="5pt 10pt 20pt 15pt" padding="15pt 20pt 10pt 5pt" on the i-f-o.
+           In the first block the i-f-o determines the height of the line in the 2nd block the font is bigger than the i-f-o.
+          </fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- first i-f-o -->
+    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@bpd"/>
+    <eval expected="70000" xpath="//flow/block[1]/lineArea/viewport/@bpda"/>
+    <eval expected="0" xpath="//flow/block[1]/lineArea/viewport/@offset"/>
+    <eval expected="30000 20000 20000 30000" xpath="//flow/block[1]/lineArea/viewport/@bap"/>
+    <eval expected="color=#ffffff" xpath="//flow/block[1]/lineArea/viewport/@background"/>
+    <eval expected="(solid,#000000,5000)" xpath="//flow/block[1]/lineArea/viewport/@border-before"/>
+    <eval expected="(solid,#000000,20000)" xpath="//flow/block[1]/lineArea/viewport/@border-after"/>
+    <eval expected="(solid,#000000,10000)" xpath="//flow/block[1]/lineArea/viewport/@border-start"/>
+    <eval expected="(solid,#000000,15000)" xpath="//flow/block[1]/lineArea/viewport/@border-end"/>
+    <eval expected="15000" xpath="//flow/block[1]/lineArea/viewport/@padding-before"/>
+    <eval expected="10000" xpath="//flow/block[1]/lineArea/viewport/@padding-after"/>
+    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@padding-start"/>
+    <eval expected="5000" xpath="//flow/block[1]/lineArea/viewport/@padding-end"/>
+    <eval expected="20000 20000 20000 20000" xpath="//flow/block[1]/lineArea/viewport/@pos"/>
+    <!-- second i-f-o -->
+    <eval expected="20000" xpath="//flow/block[2]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[2]/lineArea/viewport/@bpd"/>
+    <eval expected="70000" xpath="//flow/block[2]/lineArea/viewport/@bpda"/>
+    <eval expected="1800" xpath="//flow/block[2]/lineArea/viewport/@offset"/>
+    <eval expected="30000 20000 20000 30000" xpath="//flow/block[2]/lineArea/viewport/@bap"/>
+    <eval expected="color=#ffffff" xpath="//flow/block[2]/lineArea/viewport/@background"/>
+    <eval expected="(solid,#000000,5000)" xpath="//flow/block[2]/lineArea/viewport/@border-before"/>
+    <eval expected="(solid,#000000,20000)" xpath="//flow/block[2]/lineArea/viewport/@border-after"/>
+    <eval expected="(solid,#000000,10000)" xpath="//flow/block[2]/lineArea/viewport/@border-start"/>
+    <eval expected="(solid,#000000,15000)" xpath="//flow/block[2]/lineArea/viewport/@border-end"/>
+    <eval expected="15000" xpath="//flow/block[2]/lineArea/viewport/@padding-before"/>
+    <eval expected="10000" xpath="//flow/block[2]/lineArea/viewport/@padding-after"/>
+    <eval expected="20000" xpath="//flow/block[2]/lineArea/viewport/@padding-start"/>
+    <eval expected="5000" xpath="//flow/block[2]/lineArea/viewport/@padding-end"/>
+    <eval expected="20000 20000 20000 20000" xpath="//flow/block[2]/lineArea/viewport/@pos"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/instream-foreign-object_display-align_writing-mode_rl.xml b/test/layoutengine/standard-testcases/instream-foreign-object_display-align_writing-mode_rl.xml
new file mode 100644
index 0000000..4478d6a
--- /dev/null
+++ b/test/layoutengine/standard-testcases/instream-foreign-object_display-align_writing-mode_rl.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks instream-foreign-object with display-align.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="210mm" page-height="297mm">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" white-space-collapse="true" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>plain instream-foreign-object</fo:block>
+          <fo:block>
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt" block-progression-dimension="30pt" background-color="yellow">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object>End
+          </fo:block>
+          <fo:block>instream-foreign-object with display-align="auto"</fo:block>
+          <fo:block>
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt" display-align="auto" block-progression-dimension="30pt" background-color="yellow">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object>End
+          </fo:block>
+          <fo:block>instream-foreign-object with display-align="before"</fo:block>
+          <fo:block>
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt" display-align="before" block-progression-dimension="30pt" background-color="yellow">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object>End
+          </fo:block>
+          <fo:block>instream-foreign-object with display-align="center"</fo:block>
+          <fo:block>
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt" display-align="center" block-progression-dimension="30pt" background-color="yellow">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object>End
+          </fo:block>
+          <fo:block>instream-foreign-object with display-align="after"</fo:block>
+          <fo:block>
+            <fo:instream-foreign-object content-width="20pt" content-height="20pt" display-align="after" block-progression-dimension="30pt" background-color="yellow">
+              <svg:svg viewBox="0 0 20 20">
+                <svg:g style="fill:red; stroke:#000000">
+                  <svg:rect x="0" y="0" width="15" height="15"/>
+                  <svg:rect x="5" y="5" width="15" height="15"/>
+                </svg:g>
+              </svg:svg>
+            </fo:instream-foreign-object>End
+          </fo:block>
+          <fo:block>EOF</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="20000" xpath="//flow/block[2]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[2]/lineArea/viewport/@ipda"/>
+    <eval expected="30000" xpath="//flow/block[2]/lineArea/viewport/@bpd"/>
+    <eval expected="30000" xpath="//flow/block[2]/lineArea/viewport/@bpda"/>
+    <eval expected="0 0 20000 20000" xpath="//flow/block[2]/lineArea/viewport/@pos"/>
+    <eval expected="20000" xpath="//flow/block[4]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[4]/lineArea/viewport/@ipda"/>
+    <eval expected="30000" xpath="//flow/block[4]/lineArea/viewport/@bpd"/>
+    <eval expected="30000" xpath="//flow/block[4]/lineArea/viewport/@bpda"/>
+    <eval expected="0 0 20000 20000" xpath="//flow/block[4]/lineArea/viewport/@pos"/>
+    <eval expected="20000" xpath="//flow/block[6]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[6]/lineArea/viewport/@ipda"/>
+    <eval expected="30000" xpath="//flow/block[6]/lineArea/viewport/@bpd"/>
+    <eval expected="30000" xpath="//flow/block[6]/lineArea/viewport/@bpda"/>
+    <eval expected="0 0 20000 20000" xpath="//flow/block[6]/lineArea/viewport/@pos"/>
+    <eval expected="20000" xpath="//flow/block[8]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[8]/lineArea/viewport/@ipda"/>
+    <eval expected="30000" xpath="//flow/block[8]/lineArea/viewport/@bpd"/>
+    <eval expected="30000" xpath="//flow/block[8]/lineArea/viewport/@bpda"/>
+    <eval expected="0 5000 20000 20000" xpath="//flow/block[8]/lineArea/viewport/@pos"/>
+    <eval expected="20000" xpath="//flow/block[10]/lineArea/viewport/@ipd"/>
+    <eval expected="20000" xpath="//flow/block[10]/lineArea/viewport/@ipda"/>
+    <eval expected="30000" xpath="//flow/block[10]/lineArea/viewport/@bpd"/>
+    <eval expected="30000" xpath="//flow/block[10]/lineArea/viewport/@bpda"/>
+    <eval expected="0 10000 20000 20000" xpath="//flow/block[10]/lineArea/viewport/@pos"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/kerning_1_off.xml b/test/layoutengine/standard-testcases/kerning_1_off.xml
index 569d982..a4fa371 100644
--- a/test/layoutengine/standard-testcases/kerning_1_off.xml
+++ b/test/layoutengine/standard-testcases/kerning_1_off.xml
@@ -47,12 +47,12 @@
   <checks>
     <eval expected="40020" xpath="//flow/block[1]/block[1]/lineArea/inlineparent/@ipd"/>
     <true xpath="not(boolean(//flow/block[1]/block[1]/lineArea/inlineparent/text/@tlsadjust))"/>
-    <eval expected="0" xpath="//flow/block[1]/block[1]/lineArea/inlineparent/text/word/@offset"/>
+    <true xpath="not(boolean(//flow/block[1]/block[1]/lineArea/inlineparent/text/word/@offset))"/>
     <true xpath="not(boolean(//flow/block[1]/block[1]/lineArea/inlineparent/text/word/@letter-adjust))"/>
 
     <eval expected="44020" xpath="//flow/block[2]/block[1]/lineArea/inlineparent/@ipd"/>
     <eval expected="1000" xpath="//flow/block[2]/block[1]/lineArea/inlineparent/text/@tlsadjust"/>
-    <eval expected="0" xpath="//flow/block[2]/block[1]/lineArea/inlineparent/text/word/@offset"/>
+    <true xpath="not(boolean(//flow/block[2]/block[1]/lineArea/inlineparent/text/word/@offset))"/>
     <true xpath="not(boolean(//flow/block[2]/block[1]/lineArea/inlineparent/text/word/@letter-adjust))"/>
   </checks>
 </testcase>
diff --git a/test/layoutengine/standard-testcases/kerning_1_on.xml b/test/layoutengine/standard-testcases/kerning_1_on.xml
index b7410ba..17852c1 100644
--- a/test/layoutengine/standard-testcases/kerning_1_on.xml
+++ b/test/layoutengine/standard-testcases/kerning_1_on.xml
@@ -52,12 +52,12 @@
   </fo>
   <checks>
     <eval expected="36420" xpath="//flow/block[1]/block[1]/lineArea/inlineparent/@ipd"/>
-    <eval expected="0" xpath="//flow/block[1]/block[1]/lineArea/inlineparent/text/word/@offset"/>
+    <true xpath="not(boolean(//flow/block[1]/block[1]/lineArea/inlineparent/text/word/@offset))"/>
     <eval expected="0 -960 -840 -960 -840" xpath="//flow/block[1]/block[1]/lineArea/inlineparent/text/word/@letter-adjust"/>
 
     <eval expected="40420" xpath="//flow/block[2]/block[1]/lineArea/inlineparent/@ipd"/>
     <eval expected="1000" xpath="//flow/block[2]/block[1]/lineArea/inlineparent/text/@tlsadjust"/>
-    <eval expected="0" xpath="//flow/block[2]/block[1]/lineArea/inlineparent/text/word/@offset"/>
+    <true xpath="not(boolean(//flow/block[2]/block[1]/lineArea/inlineparent/text/word/@offset))"/>
     <eval expected="0 -960 -840 -960 -840" xpath="//flow/block[2]/block[1]/lineArea/inlineparent/text/word/@letter-adjust"/>
   </checks>
   <if-checks xmlns:if="http://xmlgraphics.apache.org/fop/intermediate">
diff --git a/test/layoutengine/standard-testcases/list-block_writing-mode_rl.xml b/test/layoutengine/standard-testcases/list-block_writing-mode_rl.xml
new file mode 100644
index 0000000..ecd27cf
--- /dev/null
+++ b/test/layoutengine/standard-testcases/list-block_writing-mode_rl.xml
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks lists in a RTL WM context.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" white-space-collapse="true" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:list-block>
+            <fo:list-item>
+              <fo:list-item-label>
+                <fo:block background-color="lightgray">label</fo:block>
+              </fo:list-item-label>
+              <fo:list-item-body>
+                <fo:block>value</fo:block>
+              </fo:list-item-body>
+            </fo:list-item>
+            <fo:list-item>
+              <fo:list-item-label start-indent="10pt" end-indent="label-end()">
+                <fo:block background-color="lightgray">label</fo:block>
+              </fo:list-item-label>
+              <fo:list-item-body start-indent="100pt">
+                <fo:block border-left="solid 0.1pt">value</fo:block>
+              </fo:list-item-body>
+            </fo:list-item>
+            <fo:list-item>
+              <fo:list-item-label end-indent="label-end()">
+                <fo:block background-color="lightgray">label</fo:block>
+              </fo:list-item-label>
+              <fo:list-item-body start-indent="body-start()">
+                <fo:block border-left="solid 0.1pt">value</fo:block>
+              </fo:list-item-body>
+            </fo:list-item>
+          </fo:list-block>
+          <fo:list-block provisional-distance-between-starts="50pt" provisional-label-separation="10pt">
+            <fo:list-item margin-right="10pt">
+              <fo:list-item-label end-indent="label-end()">
+                <fo:block text-align="end" background-color="lightgray">label</fo:block>
+              </fo:list-item-label>
+              <fo:list-item-body start-indent="body-start()">
+                <fo:block border-left="solid 0.1pt">value</fo:block>
+              </fo:list-item-body>
+            </fo:list-item>
+          </fo:list-block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- first list-block -->
+    <eval expected="360000" xpath="//flow/block[1]/@ipd"/>
+    <eval expected="43200" xpath="//flow/block[1]/@bpd"/>
+    <!-- first list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[1]/@bpd"/>
+    <!-- label of first list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[1]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[1]/block[1]/@bpd"/>
+    <!-- content of label of first list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[1]/block[1]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[1]/block[1]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[1]/block[1]/block[1]/block[1]/@level"/>
+    <true xpath="not(//flow/block[1]/block[1]/block[1]/block[1]/@start-indent)"/>
+    <true xpath="not(//flow/block[1]/block[1]/block[1]/block[1]/@end-indent)"/>
+    <eval expected="360000" xpath="//flow/block[1]/block[1]/block[1]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[1]/block[1]/block[1]/block[1]/lineArea[1]/@bpd"/>
+    <true xpath="not(//flow/block[1]/block[1]/block[1]/block[1]/lineArea[1]/@start-indent)"/>
+    <eval expected="334656" xpath="//flow/block[1]/block[1]/block[1]/block[1]/lineArea[1]/@end-indent"/>
+    <eval expected="1" xpath="//flow/block[1]/block[1]/block[1]/block[1]/lineArea[1]/@level"/>
+    <!-- body of first list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[1]/block[2]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[1]/block[2]/@bpd"/>
+    <!-- content of body of first list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[1]/block[2]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[1]/block[2]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[1]/block[1]/block[2]/block[1]/@level"/>
+    <true xpath="not(//flow/block[1]/block[1]/block[1]/block[2]/@start-indent)"/>
+    <true xpath="not(//flow/block[1]/block[1]/block[1]/block[2]/@end-indent)"/>
+    <eval expected="360000" xpath="//flow/block[1]/block[1]/block[2]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[1]/block[1]/block[2]/block[1]/lineArea[1]/@bpd"/>
+    <true xpath="not(//flow/block[1]/block[1]/block[1]/block[2]/lineArea[1]/@start-indent)"/>
+    <eval expected="331320" xpath="//flow/block[1]/block[1]/block[2]/block[1]/lineArea[1]/@end-indent"/>
+    <eval expected="1" xpath="//flow/block[1]/block[1]/block[2]/block[1]/lineArea[1]/@level"/>
+    <!-- second list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[2]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[2]/@bpd"/>
+    <!-- label of second list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[2]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[2]/block[1]/@bpd"/>
+    <!-- content of label of second list-item -->
+    <eval expected="8000" xpath="//flow/block[1]/block[2]/block[1]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[2]/block[1]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[1]/block[2]/block[1]/block[1]/@level"/>
+    <eval expected="10000" xpath="//flow/block[1]/block[2]/block[1]/block[1]/@start-indent"/>
+    <eval expected="342000" xpath="//flow/block[1]/block[2]/block[1]/block[1]/@end-indent"/>
+    <eval expected="8000" xpath="//flow/block[1]/block[2]/block[1]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[1]/block[2]/block[1]/block[1]/lineArea[1]/@bpd"/>
+    <true xpath="not(//flow/block[1]/block[2]/block[1]/block[1]/lineArea[1]/@start-indent)"/>
+    <true xpath="not(//flow/block[1]/block[2]/block[1]/block[1]/lineArea[1]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[1]/block[2]/block[1]/block[1]/lineArea[1]/@level"/>
+    <!-- body of second list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[2]/block[2]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[2]/block[2]/@bpd"/>
+    <!-- content of body of second list-item -->
+    <eval expected="260000" xpath="//flow/block[1]/block[2]/block[2]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[2]/block[2]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[1]/block[2]/block[2]/block[1]/@level"/>
+    <eval expected="100000" xpath="//flow/block[1]/block[2]/block[2]/block[1]/@start-indent"/>
+    <true xpath="not(//flow/block[1]/block[2]/block[1]/block[2]/@end-indent)"/>
+    <eval expected="260000" xpath="//flow/block[1]/block[2]/block[2]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[1]/block[2]/block[2]/block[1]/lineArea[1]/@bpd"/>
+    <true xpath="not(//flow/block[1]/block[2]/block[1]/block[2]/lineArea[1]/@start-indent)"/>
+    <eval expected="231320" xpath="//flow/block[1]/block[2]/block[2]/block[1]/lineArea[1]/@end-indent"/>
+    <eval expected="1" xpath="//flow/block[1]/block[2]/block[2]/block[1]/lineArea[1]/@level"/>
+    <!-- third list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[3]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[3]/@bpd"/>
+    <!-- label of third list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[3]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[3]/block[1]/@bpd"/>
+    <!-- content of label of third list-item -->
+    <eval expected="18000" xpath="//flow/block[1]/block[3]/block[1]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[3]/block[1]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[1]/block[3]/block[1]/block[1]/@level"/>
+    <true xpath="not(//flow/block[1]/block[3]/block[1]/block[1]/@start-indent)"/>
+    <eval expected="342000" xpath="//flow/block[1]/block[3]/block[1]/block[1]/@end-indent"/>
+    <eval expected="18000" xpath="//flow/block[1]/block[3]/block[1]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[1]/block[3]/block[1]/block[1]/lineArea[1]/@bpd"/>
+    <true xpath="not(//flow/block[1]/block[3]/block[1]/block[1]/lineArea[1]/@start-indent)"/>
+    <true xpath="not(//flow/block[1]/block[3]/block[1]/block[1]/lineArea[1]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[1]/block[3]/block[1]/block[1]/lineArea[1]/@level"/>
+    <!-- body of third list-item -->
+    <eval expected="360000" xpath="//flow/block[1]/block[3]/block[2]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[3]/block[2]/@bpd"/>
+    <!-- content of body of third list-item -->
+    <eval expected="336000" xpath="//flow/block[1]/block[3]/block[2]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[1]/block[3]/block[2]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[1]/block[3]/block[2]/block[1]/@level"/>
+    <eval expected="24000" xpath="//flow/block[1]/block[3]/block[2]/block[1]/@start-indent"/>
+    <true xpath="not(//flow/block[1]/block[3]/block[1]/block[2]/@end-indent)"/>
+    <eval expected="336000" xpath="//flow/block[1]/block[3]/block[2]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[1]/block[3]/block[2]/block[1]/lineArea[1]/@bpd"/>
+    <true xpath="not(//flow/block[1]/block[3]/block[1]/block[2]/lineArea[1]/@start-indent)"/>
+    <eval expected="307320" xpath="//flow/block[1]/block[3]/block[2]/block[1]/lineArea[1]/@end-indent"/>
+    <eval expected="1" xpath="//flow/block[1]/block[3]/block[2]/block[1]/lineArea[1]/@level"/>
+    <!-- second list-block -->
+    <eval expected="360000" xpath="//flow/block[2]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[2]/@bpd"/>
+    <!-- first list-item -->
+    <eval expected="350000" xpath="//flow/block[2]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[2]/block[1]/@bpd"/>
+    <eval expected="10000" xpath="//flow/block[2]/block[1]/@start-indent"/>
+    <!-- label of first list-item -->
+    <eval expected="350000" xpath="//flow/block[2]/block[1]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[2]/block[1]/block[1]/@bpd"/>
+    <!-- content of label of first list-item -->
+    <eval expected="40000" xpath="//flow/block[2]/block[1]/block[1]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[2]/block[1]/block[1]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[2]/block[1]/block[1]/block[1]/@level"/>
+    <eval expected="10000" xpath="//flow/block[2]/block[1]/block[1]/block[1]/@start-indent"/>
+    <eval expected="310000" xpath="//flow/block[2]/block[1]/block[1]/block[1]/@end-indent"/>
+    <eval expected="40000" xpath="//flow/block[2]/block[1]/block[1]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[2]/block[1]/block[1]/block[1]/lineArea[1]/@bpd"/>
+    <eval expected="14656" xpath="//flow/block[2]/block[1]/block[1]/block[1]/lineArea[1]/@start-indent"/>
+    <true xpath="not(//flow/block[2]/block[1]/block[1]/block[1]/lineArea[1]/@end-indent)"/>
+    <eval expected="1" xpath="//flow/block[2]/block[1]/block[1]/block[1]/lineArea[1]/@level"/>
+    <!-- body of first list-item -->
+    <eval expected="350000" xpath="//flow/block[2]/block[1]/block[2]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[2]/block[1]/block[2]/@bpd"/>
+    <!-- content of body of first list-item -->
+    <eval expected="300000" xpath="//flow/block[2]/block[1]/block[2]/block[1]/@ipd"/>
+    <eval expected="14400" xpath="//flow/block[2]/block[1]/block[2]/block[1]/@bpd"/>
+    <eval expected="1" xpath="//flow/block[2]/block[1]/block[2]/block[1]/@level"/>
+    <eval expected="60000" xpath="//flow/block[2]/block[1]/block[2]/block[1]/@start-indent"/>
+    <true xpath="not(//flow/block[2]/block[1]/block[2]/block[1]/@end-indent)"/>
+    <eval expected="300000" xpath="//flow/block[2]/block[1]/block[2]/block[1]/lineArea[1]/@ipd"/>
+    <eval expected="11100" xpath="//flow/block[2]/block[1]/block[2]/block[1]/lineArea[1]/@bpd"/>
+    <true xpath="not(//flow/block[2]/block[1]/block[2]/block[1]/lineArea[1]/@start-indent)"/>
+    <eval expected="271320" xpath="//flow/block[2]/block[1]/block[2]/block[1]/lineArea[1]/@end-indent"/>
+    <eval expected="1" xpath="//flow/block[2]/block[1]/block[2]/block[1]/lineArea[1]/@level"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/page-number-citation_writing-mode_rl.xml b/test/layoutengine/standard-testcases/page-number-citation_writing-mode_rl.xml
new file mode 100644
index 0000000..8137ff8
--- /dev/null
+++ b/test/layoutengine/standard-testcases/page-number-citation_writing-mode_rl.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks fo:page-number-citation in a RTL writing-mode context.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="simple" page-height="297mm" page-width="210mm">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="simple" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:block>Page <fo:bidi-override unicode-bidi="bidi-override" direction="ltr"><fo:page-number-citation ref-id="test-id"/></fo:bidi-override></fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+      <fo:page-sequence master-reference="simple" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+            <fo:block id="test-id">Page 2</fo:block>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <eval expected="2" xpath="count(//pageSequence)"/>
+    <eval expected="1" xpath="count(//pageSequence[1]/pageViewport)"/>
+    <eval expected="1" xpath="count(//pageSequence[2]/pageViewport)"/>
+    <eval expected="Page " xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/text"/>
+    <eval expected="2" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/inlineparent/text"/>
+    <eval expected="Page 2" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/text"/>
+    <eval expected="1" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@level"/>
+    <eval expected="595275" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@ipd"/>
+    <eval expected="557247" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@end-indent"/>
+    <true xpath="not(boolean(//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@start-indent))"/>
+    <eval expected="2" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/text/word/@level"/>
+    <eval expected="2" xpath="//pageViewport[@nr=1]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/inlineparent/text/word/@level"/>
+    <eval expected="1" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@level"/>
+    <eval expected="595275" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@ipd"/>
+    <eval expected="557247" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@end-indent"/>
+    <true xpath="not(boolean(//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/@start-indent))"/>
+    <eval expected="2" xpath="//pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block/lineArea/text/word/@level"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_0_writing-mode_rl_region-body_margin_relative.xml b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_0_writing-mode_rl_region-body_margin_relative.xml
index e594a21..bfbc905 100644
--- a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_0_writing-mode_rl_region-body_margin_relative.xml
+++ b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_0_writing-mode_rl_region-body_margin_relative.xml
@@ -19,12 +19,10 @@
 <testcase>
   <info>
     <p>
-      This test checks relative margin on region (region-body).
+      This test checks relative margin on regions when writing mode is right to left,
+      with reference orientation 0.
     </p>
   </info>
-  <variables>
-    <img>../../resources/images/bgimg300dpi.jpg</img>
-  </variables>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
       <fo:layout-master-set>
@@ -32,8 +30,8 @@
           <fo:region-body margin-top="10%" margin-bottom="5%" margin-left="10%" margin-right="5%" background-color="yellow" />
           <fo:region-before extent="10%" background-color="blue" precedence="true" />
           <fo:region-after extent="5%" background-color="green" precedence="true" />
-          <fo:region-start extent="5%" background-color="red" />
-          <fo:region-end extent="10%" background-color="orange" />
+          <fo:region-start extent="10%" background-color="red" />
+          <fo:region-end extent="5%" background-color="orange" />
         </fo:simple-page-master>
       </fo:layout-master-set>
       <fo:page-sequence master-reference="normal" white-space-collapse="true">
@@ -60,7 +58,7 @@
         <fo:flow flow-name="xsl-region-body">
           <fo:block>
             Demonstrates relative 5% margin on the page master, 10% margin on regions before
-            and end and 5% margin on regions start and after. Corresponding margins are set
+            and start and 5% margin on regions end and after. Corresponding margins are set
             on the region body. The page size is 5in x 3in with the page reference not rotated
             and a rl writing-mode.
           </fo:block>
@@ -76,23 +74,23 @@
     <eval expected="10800 18000 194400 36000" xpath="//page/regionViewport[1]/@rect"/>
     <eval expected="194400" xpath="//page/regionViewport[1]/regionBefore/@ipd"/>
     <eval expected="36000" xpath="//page/regionViewport[1]/regionBefore/@bpd"/>
-    <eval expected="[-1.0 0.0 0.0 1.0 205200.0 18000.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
+    <eval expected="[1.0 0.0 0.0 1.0 10800.0 18000.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
     <!-- region start -->
     <eval expected="color=#ff0000" xpath="//page/regionViewport[2]/@background"/>
-    <eval expected="10800" xpath="//page/regionViewport[2]/@ipd"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[2]/@bpd"/>
-    <eval expected="194400 54000 10800 270000" xpath="//page/regionViewport[2]/@rect"/>
-    <eval expected="10800" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
+    <eval expected="183600 54000 21600 270000" xpath="//page/regionViewport[2]/@rect"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[2]/regionStart/@bpd"/>
-    <eval expected="[-1.0 0.0 0.0 1.0 205200.0 54000.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
+    <eval expected="[1.0 0.0 0.0 1.0 183600.0 54000.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
     <!-- region end -->
     <eval expected="color=#ffa500" xpath="//page/regionViewport[3]/@background"/>
-    <eval expected="21600" xpath="//page/regionViewport[3]/@ipd"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[3]/@bpd"/>
-    <eval expected="10800 54000 21600 270000" xpath="//page/regionViewport[3]/@rect"/>
-    <eval expected="21600" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
+    <eval expected="10800 54000 10800 270000" xpath="//page/regionViewport[3]/@rect"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[3]/regionEnd/@bpd"/>
-    <eval expected="[-1.0 0.0 0.0 1.0 32400.0 54000.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
+    <eval expected="[1.0 0.0 0.0 1.0 10800.0 54000.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
     <!-- region after -->
     <eval expected="color=#008000" xpath="//page/regionViewport[4]/@background"/>
     <eval expected="194400" xpath="//page/regionViewport[4]/@ipd"/>
@@ -100,14 +98,14 @@
     <eval expected="10800 324000 194400 18000" xpath="//page/regionViewport[4]/@rect"/>
     <eval expected="194400" xpath="//page/regionViewport[4]/regionAfter/@ipd"/>
     <eval expected="18000" xpath="//page/regionViewport[4]/regionAfter/@bpd"/>
-    <eval expected="[-1.0 0.0 0.0 1.0 205200.0 324000.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
+    <eval expected="[1.0 0.0 0.0 1.0 10800.0 324000.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
     <!-- region body -->
     <eval expected="color=#ffff00" xpath="//page/regionViewport[5]/@background"/>
     <eval expected="162000" xpath="//page/regionViewport[5]/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[5]/@bpd"/>
-    <eval expected="32400 54000 162000 270000" xpath="//page/regionViewport[5]/@rect"/>
+    <eval expected="21600 54000 162000 270000" xpath="//page/regionViewport[5]/@rect"/>
     <eval expected="162000" xpath="//page/regionViewport[5]/regionBody/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[5]/regionBody/@bpd"/>
-    <eval expected="[-1.0 0.0 0.0 1.0 194400.0 54000.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
+    <eval expected="[1.0 0.0 0.0 1.0 21600.0 54000.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
   </checks>
 </testcase>
diff --git a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_180_writing-mode_rl_region-body_margin_relative.xml b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_180_writing-mode_rl_region-body_margin_relative.xml
index b9a26ce..284fdf0 100644
--- a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_180_writing-mode_rl_region-body_margin_relative.xml
+++ b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_180_writing-mode_rl_region-body_margin_relative.xml
@@ -19,12 +19,10 @@
 <testcase>
   <info>
     <p>
-      This test checks relative margin on region (region-body).
+      This test checks relative margin on regions when writing mode is right to left,
+      with reference orientation 180.
     </p>
   </info>
-  <variables>
-    <img>../../resources/images/bgimg300dpi.jpg</img>
-  </variables>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
       <fo:layout-master-set>
@@ -32,8 +30,8 @@
           <fo:region-body margin-top="10%" margin-bottom="5%" margin-left="10%" margin-right="5%" background-color="yellow" />
           <fo:region-before extent="10%" background-color="blue" precedence="true" />
           <fo:region-after extent="5%" background-color="green" precedence="true" />
-          <fo:region-start extent="5%" background-color="red" />
-          <fo:region-end extent="10%" background-color="orange" />
+          <fo:region-start extent="10%" background-color="red" />
+          <fo:region-end extent="5%" background-color="orange" />
         </fo:simple-page-master>
       </fo:layout-master-set>
       <fo:page-sequence master-reference="normal" white-space-collapse="true">
@@ -60,9 +58,9 @@
         <fo:flow flow-name="xsl-region-body">
           <fo:block>
             Demonstrates relative 5% margin on the page master, 10% margin on regions before
-            and end and 5% margin on regions start and after. Corresponding margins are set
-            on the region body. The page size is 5in x 3in with the page reference rotated by 
-            180 degrees and a rl writing-mode.
+            and start and 5% margin on regions end and after. Corresponding margins are set
+            on the region body. The page size is 5in x 3in with the page reference rotated
+            by 180 degrees and a rl writing-mode.
           </fo:block>
         </fo:flow>
       </fo:page-sequence>
@@ -76,23 +74,23 @@
     <eval expected="10800 306000 194400 36000" xpath="//page/regionViewport[1]/@rect"/>
     <eval expected="194400" xpath="//page/regionViewport[1]/regionBefore/@ipd"/>
     <eval expected="36000" xpath="//page/regionViewport[1]/regionBefore/@bpd"/>
-    <eval expected="[1.0 0.0 0.0 -1.0 10800.0 342000.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
+    <eval expected="[-1.0 -0.0 0.0 -1.0 205200.0 342000.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
     <!-- region start -->
     <eval expected="color=#ff0000" xpath="//page/regionViewport[2]/@background"/>
-    <eval expected="10800" xpath="//page/regionViewport[2]/@ipd"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[2]/@bpd"/>
-    <eval expected="10800 36000 10800 270000" xpath="//page/regionViewport[2]/@rect"/>
-    <eval expected="10800" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
+    <eval expected="10800 36000 21600 270000" xpath="//page/regionViewport[2]/@rect"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[2]/regionStart/@bpd"/>
-    <eval expected="[1.0 0.0 0.0 -1.0 10800.0 306000.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
+    <eval expected="[-1.0 -0.0 0.0 -1.0 32400.0 306000.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
     <!-- region end -->
     <eval expected="color=#ffa500" xpath="//page/regionViewport[3]/@background"/>
-    <eval expected="21600" xpath="//page/regionViewport[3]/@ipd"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[3]/@bpd"/>
-    <eval expected="183600 36000 21600 270000" xpath="//page/regionViewport[3]/@rect"/>
-    <eval expected="21600" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
+    <eval expected="194400 36000 10800 270000" xpath="//page/regionViewport[3]/@rect"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[3]/regionEnd/@bpd"/>
-    <eval expected="[1.0 0.0 0.0 -1.0 183600.0 306000.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
+    <eval expected="[-1.0 -0.0 0.0 -1.0 205200.0 306000.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
     <!-- region after -->
     <eval expected="color=#008000" xpath="//page/regionViewport[4]/@background"/>
     <eval expected="194400" xpath="//page/regionViewport[4]/@ipd"/>
@@ -100,14 +98,14 @@
     <eval expected="10800 18000 194400 18000" xpath="//page/regionViewport[4]/@rect"/>
     <eval expected="194400" xpath="//page/regionViewport[4]/regionAfter/@ipd"/>
     <eval expected="18000" xpath="//page/regionViewport[4]/regionAfter/@bpd"/>
-    <eval expected="[1.0 0.0 0.0 -1.0 10800.0 36000.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
+    <eval expected="[-1.0 -0.0 0.0 -1.0 205200.0 36000.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
     <!-- region body -->
     <eval expected="color=#ffff00" xpath="//page/regionViewport[5]/@background"/>
     <eval expected="162000" xpath="//page/regionViewport[5]/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[5]/@bpd"/>
-    <eval expected="21600 36000 162000 270000" xpath="//page/regionViewport[5]/@rect"/>
+    <eval expected="32400 36000 162000 270000" xpath="//page/regionViewport[5]/@rect"/>
     <eval expected="162000" xpath="//page/regionViewport[5]/regionBody/@ipd"/>
     <eval expected="270000" xpath="//page/regionViewport[5]/regionBody/@bpd"/>
-    <eval expected="[1.0 0.0 0.0 -1.0 21600.0 306000.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
+    <eval expected="[-1.0 -0.0 0.0 -1.0 194400.0 306000.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
   </checks>
 </testcase>
diff --git a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_270_writing-mode_rl_region-body_margin_relative.xml b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_270_writing-mode_rl_region-body_margin_relative.xml
index 93b3746..550785a 100644
--- a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_270_writing-mode_rl_region-body_margin_relative.xml
+++ b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_270_writing-mode_rl_region-body_margin_relative.xml
@@ -19,21 +19,19 @@
 <testcase>
   <info>
     <p>
-      This test checks relative margin on region (region-body).
+      This test checks relative margin on regions when writing mode is right to left,
+      with reference orientation 270.
     </p>
   </info>
-  <variables>
-    <img>../../resources/images/bgimg300dpi.jpg</img>
-  </variables>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
       <fo:layout-master-set>
-        <fo:simple-page-master master-name="normal" page-width="3in" page-height="5in" margin="5%" reference-orientation="270" writing-mode="rl">
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="3in" margin="5%" reference-orientation="270" writing-mode="rl">
           <fo:region-body margin-top="10%" margin-bottom="5%" margin-left="10%" margin-right="5%" background-color="yellow" />
           <fo:region-before extent="10%" background-color="blue" precedence="true" />
           <fo:region-after extent="5%" background-color="green" precedence="true" />
-          <fo:region-start extent="5%" background-color="red" />
-          <fo:region-end extent="10%" background-color="orange" />
+          <fo:region-start extent="10%" background-color="red" />
+          <fo:region-end extent="5%" background-color="orange" />
         </fo:simple-page-master>
       </fo:layout-master-set>
       <fo:page-sequence master-reference="normal" white-space-collapse="true">
@@ -60,9 +58,9 @@
         <fo:flow flow-name="xsl-region-body">
           <fo:block>
             Demonstrates relative 5% margin on the page master, 10% margin on regions before
-            and end and 5% margin on regions start and after. Corresponding margins are set
-            on the region body. The page size is 5in x 3in with the page reference rotated by 
-            270 degrees and a rl writing-mode.
+            and start and 5% margin on regions end and after. Corresponding margins are set
+            on the region body. The page size is 5in x 3in with the page reference rotated
+            by 270 degrees and a rl writing-mode.
           </fo:block>
         </fo:flow>
       </fo:page-sequence>
@@ -71,43 +69,43 @@
   <checks>
     <!-- region before -->
     <eval expected="color=#0000ff" xpath="//page/regionViewport[1]/@background"/>
-    <eval expected="324000" xpath="//page/regionViewport[1]/@ipd"/>
-    <eval expected="21600" xpath="//page/regionViewport[1]/@bpd"/>
-    <eval expected="183600 18000 21600 324000" xpath="//page/regionViewport[1]/@rect"/>
-    <eval expected="324000" xpath="//page/regionViewport[1]/regionBefore/@ipd"/>
-    <eval expected="21600" xpath="//page/regionViewport[1]/regionBefore/@bpd"/>
-    <eval expected="[-0.0 -1.0 -1.0 0.0 205200.0 342000.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
+    <eval expected="194400" xpath="//page/regionViewport[1]/@ipd"/>
+    <eval expected="36000" xpath="//page/regionViewport[1]/@bpd"/>
+    <eval expected="306000 10800 36000 194400" xpath="//page/regionViewport[1]/@rect"/>
+    <eval expected="194400" xpath="//page/regionViewport[1]/regionBefore/@ipd"/>
+    <eval expected="36000" xpath="//page/regionViewport[1]/regionBefore/@bpd"/>
+    <eval expected="[0.0 1.0 -1.0 0.0 342000.0 10800.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
     <!-- region start -->
     <eval expected="color=#ff0000" xpath="//page/regionViewport[2]/@background"/>
-    <eval expected="18000" xpath="//page/regionViewport[2]/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[2]/@bpd"/>
-    <eval expected="21600 324000 162000 18000" xpath="//page/regionViewport[2]/@rect"/>
-    <eval expected="18000" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[2]/regionStart/@bpd"/>
-    <eval expected="[-0.0 -1.0 -1.0 0.0 183600.0 342000.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[2]/@bpd"/>
+    <eval expected="36000 183600 270000 21600" xpath="//page/regionViewport[2]/@rect"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[2]/regionStart/@bpd"/>
+    <eval expected="[0.0 1.0 -1.0 0.0 306000.0 183600.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
     <!-- region end -->
     <eval expected="color=#ffa500" xpath="//page/regionViewport[3]/@background"/>
-    <eval expected="36000" xpath="//page/regionViewport[3]/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[3]/@bpd"/>
-    <eval expected="21600 18000 162000 36000" xpath="//page/regionViewport[3]/@rect"/>
-    <eval expected="36000" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[3]/regionEnd/@bpd"/>
-    <eval expected="[-0.0 -1.0 -1.0 0.0 183600.0 54000.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[3]/@bpd"/>
+    <eval expected="36000 10800 270000 10800" xpath="//page/regionViewport[3]/@rect"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[3]/regionEnd/@bpd"/>
+    <eval expected="[0.0 1.0 -1.0 0.0 306000.0 10800.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
     <!-- region after -->
     <eval expected="color=#008000" xpath="//page/regionViewport[4]/@background"/>
-    <eval expected="324000" xpath="//page/regionViewport[4]/@ipd"/>
-    <eval expected="10800" xpath="//page/regionViewport[4]/@bpd"/>
-    <eval expected="10800 18000 10800 324000" xpath="//page/regionViewport[4]/@rect"/>
-    <eval expected="324000" xpath="//page/regionViewport[4]/regionAfter/@ipd"/>
-    <eval expected="10800" xpath="//page/regionViewport[4]/regionAfter/@bpd"/>
-    <eval expected="[-0.0 -1.0 -1.0 0.0 21600.0 342000.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
+    <eval expected="194400" xpath="//page/regionViewport[4]/@ipd"/>
+    <eval expected="18000" xpath="//page/regionViewport[4]/@bpd"/>
+    <eval expected="18000 10800 18000 194400" xpath="//page/regionViewport[4]/@rect"/>
+    <eval expected="194400" xpath="//page/regionViewport[4]/regionAfter/@ipd"/>
+    <eval expected="18000" xpath="//page/regionViewport[4]/regionAfter/@bpd"/>
+    <eval expected="[0.0 1.0 -1.0 0.0 36000.0 10800.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
     <!-- region body -->
     <eval expected="color=#ffff00" xpath="//page/regionViewport[5]/@background"/>
-    <eval expected="270000" xpath="//page/regionViewport[5]/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[5]/@bpd"/>
-    <eval expected="21600 54000 162000 270000" xpath="//page/regionViewport[5]/@rect"/>
-    <eval expected="270000" xpath="//page/regionViewport[5]/regionBody/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[5]/regionBody/@bpd"/>
-    <eval expected="[-0.0 -1.0 -1.0 0.0 183600.0 324000.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
+    <eval expected="162000" xpath="//page/regionViewport[5]/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[5]/@bpd"/>
+    <eval expected="36000 21600 270000 162000" xpath="//page/regionViewport[5]/@rect"/>
+    <eval expected="162000" xpath="//page/regionViewport[5]/regionBody/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[5]/regionBody/@bpd"/>
+    <eval expected="[0.0 1.0 -1.0 0.0 306000.0 21600.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
   </checks>
 </testcase>
diff --git a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_90_writing-mode_rl_region-body_margin_relative.xml b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_90_writing-mode_rl_region-body_margin_relative.xml
index 8c98329..cdb3140 100644
--- a/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_90_writing-mode_rl_region-body_margin_relative.xml
+++ b/test/layoutengine/standard-testcases/simple-page-master_reference-orientation_90_writing-mode_rl_region-body_margin_relative.xml
@@ -19,21 +19,19 @@
 <testcase>
   <info>
     <p>
-      This test checks relative margin on region (region-body).
+      This test checks relative margin on regions when writing mode is right to left,
+      with reference orientation 90.
     </p>
   </info>
-  <variables>
-    <img>../../resources/images/bgimg300dpi.jpg</img>
-  </variables>
   <fo>
     <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
       <fo:layout-master-set>
-        <fo:simple-page-master master-name="normal" page-width="3in" page-height="5in" margin="5%" reference-orientation="90" writing-mode="rl">
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="3in" margin="5%" reference-orientation="90" writing-mode="rl">
           <fo:region-body margin-top="10%" margin-bottom="5%" margin-left="10%" margin-right="5%" background-color="yellow" />
           <fo:region-before extent="10%" background-color="blue" precedence="true" />
           <fo:region-after extent="5%" background-color="green" precedence="true" />
-          <fo:region-start extent="5%" background-color="red" />
-          <fo:region-end extent="10%" background-color="orange" />
+          <fo:region-start extent="10%" background-color="red" />
+          <fo:region-end extent="5%" background-color="orange" />
         </fo:simple-page-master>
       </fo:layout-master-set>
       <fo:page-sequence master-reference="normal" white-space-collapse="true">
@@ -60,9 +58,9 @@
         <fo:flow flow-name="xsl-region-body">
           <fo:block>
             Demonstrates relative 5% margin on the page master, 10% margin on regions before
-            and end and 5% margin on regions start and after. Corresponding margins are set
-            on the region body. The page size is 5in x 3in with the page reference rotated by 
-            90 degrees and a rl writing-mode.
+            and start and 5% margin on regions end and after. Corresponding margins are set
+            on the region body. The page size is 5in x 3in with the page reference rotated
+            by 90 degrees and a rl writing-mode.
           </fo:block>
         </fo:flow>
       </fo:page-sequence>
@@ -71,43 +69,43 @@
   <checks>
     <!-- region before -->
     <eval expected="color=#0000ff" xpath="//page/regionViewport[1]/@background"/>
-    <eval expected="324000" xpath="//page/regionViewport[1]/@ipd"/>
-    <eval expected="21600" xpath="//page/regionViewport[1]/@bpd"/>
-    <eval expected="10800 18000 21600 324000" xpath="//page/regionViewport[1]/@rect"/>
-    <eval expected="324000" xpath="//page/regionViewport[1]/regionBefore/@ipd"/>
-    <eval expected="21600" xpath="//page/regionViewport[1]/regionBefore/@bpd"/>
-    <eval expected="[0.0 1.0 1.0 0.0 10800.0 18000.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
+    <eval expected="194400" xpath="//page/regionViewport[1]/@ipd"/>
+    <eval expected="36000" xpath="//page/regionViewport[1]/@bpd"/>
+    <eval expected="18000 10800 36000 194400" xpath="//page/regionViewport[1]/@rect"/>
+    <eval expected="194400" xpath="//page/regionViewport[1]/regionBefore/@ipd"/>
+    <eval expected="36000" xpath="//page/regionViewport[1]/regionBefore/@bpd"/>
+    <eval expected="[0.0 -1.0 1.0 0.0 18000.0 205200.0]" xpath="//page/regionViewport[1]/regionBefore/@ctm"/>
     <!-- region start -->
     <eval expected="color=#ff0000" xpath="//page/regionViewport[2]/@background"/>
-    <eval expected="18000" xpath="//page/regionViewport[2]/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[2]/@bpd"/>
-    <eval expected="32400 18000 162000 18000" xpath="//page/regionViewport[2]/@rect"/>
-    <eval expected="18000" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[2]/regionStart/@bpd"/>
-    <eval expected="[0.0 1.0 1.0 0.0 32400.0 18000.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[2]/@bpd"/>
+    <eval expected="54000 10800 270000 21600" xpath="//page/regionViewport[2]/@rect"/>
+    <eval expected="21600" xpath="//page/regionViewport[2]/regionStart/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[2]/regionStart/@bpd"/>
+    <eval expected="[0.0 -1.0 1.0 0.0 54000.0 32400.0]" xpath="//page/regionViewport[2]/regionStart/@ctm"/>
     <!-- region end -->
     <eval expected="color=#ffa500" xpath="//page/regionViewport[3]/@background"/>
-    <eval expected="36000" xpath="//page/regionViewport[3]/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[3]/@bpd"/>
-    <eval expected="32400 306000 162000 36000" xpath="//page/regionViewport[3]/@rect"/>
-    <eval expected="36000" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[3]/regionEnd/@bpd"/>
-    <eval expected="[0.0 1.0 1.0 0.0 32400.0 306000.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[3]/@bpd"/>
+    <eval expected="54000 194400 270000 10800" xpath="//page/regionViewport[3]/@rect"/>
+    <eval expected="10800" xpath="//page/regionViewport[3]/regionEnd/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[3]/regionEnd/@bpd"/>
+    <eval expected="[0.0 -1.0 1.0 0.0 54000.0 205200.0]" xpath="//page/regionViewport[3]/regionEnd/@ctm"/>
     <!-- region after -->
     <eval expected="color=#008000" xpath="//page/regionViewport[4]/@background"/>
-    <eval expected="324000" xpath="//page/regionViewport[4]/@ipd"/>
-    <eval expected="10800" xpath="//page/regionViewport[4]/@bpd"/>
-    <eval expected="194400 18000 10800 324000" xpath="//page/regionViewport[4]/@rect"/>
-    <eval expected="324000" xpath="//page/regionViewport[4]/regionAfter/@ipd"/>
-    <eval expected="10800" xpath="//page/regionViewport[4]/regionAfter/@bpd"/>
-    <eval expected="[0.0 1.0 1.0 0.0 194400.0 18000.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
+    <eval expected="194400" xpath="//page/regionViewport[4]/@ipd"/>
+    <eval expected="18000" xpath="//page/regionViewport[4]/@bpd"/>
+    <eval expected="324000 10800 18000 194400" xpath="//page/regionViewport[4]/@rect"/>
+    <eval expected="194400" xpath="//page/regionViewport[4]/regionAfter/@ipd"/>
+    <eval expected="18000" xpath="//page/regionViewport[4]/regionAfter/@bpd"/>
+    <eval expected="[0.0 -1.0 1.0 0.0 324000.0 205200.0]" xpath="//page/regionViewport[4]/regionAfter/@ctm"/>
     <!-- region body -->
     <eval expected="color=#ffff00" xpath="//page/regionViewport[5]/@background"/>
-    <eval expected="270000" xpath="//page/regionViewport[5]/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[5]/@bpd"/>
-    <eval expected="32400 36000 162000 270000" xpath="//page/regionViewport[5]/@rect"/>
-    <eval expected="270000" xpath="//page/regionViewport[5]/regionBody/@ipd"/>
-    <eval expected="162000" xpath="//page/regionViewport[5]/regionBody/@bpd"/>
-    <eval expected="[0.0 1.0 1.0 0.0 32400.0 36000.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
+    <eval expected="162000" xpath="//page/regionViewport[5]/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[5]/@bpd"/>
+    <eval expected="54000 32400 270000 162000" xpath="//page/regionViewport[5]/@rect"/>
+    <eval expected="162000" xpath="//page/regionViewport[5]/regionBody/@ipd"/>
+    <eval expected="270000" xpath="//page/regionViewport[5]/regionBody/@bpd"/>
+    <eval expected="[0.0 -1.0 1.0 0.0 54000.0 194400.0]" xpath="//page/regionViewport[5]/regionBody/@ctm"/>
   </checks>
 </testcase>
diff --git a/test/layoutengine/standard-testcases/table-column_column-progression-lr.xml b/test/layoutengine/standard-testcases/table-column_column-progression-lr.xml
new file mode 100644
index 0000000..f7bf8f9
--- /dev/null
+++ b/test/layoutengine/standard-testcases/table-column_column-progression-lr.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks table column progression with left-to-right writing mode. The first column
+      should be to the left of the second column; the second column should be to the left of the
+      third column. The columns should be colored red, yellow, orange from left to right.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in" margin="0.5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" writing-mode="lr">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:table table-layout="fixed" width="100%">
+            <fo:table-column column-width="1in" background-color="red"/>
+            <fo:table-column column-width="1in" background-color="yellow"/>
+            <fo:table-column column-width="2in" background-color="orange"/>
+            <fo:table-body>
+              <fo:table-row>
+                <fo:table-cell>
+                  <fo:block>cell1</fo:block>
+                </fo:table-cell>
+                <fo:table-cell>
+                  <fo:block>cell2</fo:block>
+                </fo:table-cell>
+                <fo:table-cell>
+                  <fo:block>cell3</fo:block>
+                </fo:table-cell>
+              </fo:table-row>
+            </fo:table-body>
+          </fo:table>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- cell 1 background -->
+    <eval expected="#ff0000" xpath="//flow/block[1]/block[1]/@bkg-color"/>
+    <!-- cell 1 -->
+    <eval expected="cell1" xpath="//flow/block[1]/block[2]/block[1]/lineArea/text"/>
+    <eval expected="72000" xpath="//flow/block[1]/block[2]/@ipd"/>
+    <true xpath="not(boolean(//flow/block[1]/block[2]/@left-offset))"/>
+    <!-- cell 2 background -->
+    <eval expected="#ffff00" xpath="//flow/block[1]/block[3]/@bkg-color"/>
+    <!-- cell 2 -->
+    <eval expected="cell2" xpath="//flow/block[1]/block[4]/block[1]/lineArea/text"/>
+    <eval expected="72000" xpath="//flow/block[1]/block[4]/@ipd"/>
+    <eval expected="72000" xpath="//flow/block[1]/block[4]/@left-offset"/>
+    <!-- cell 3 background -->
+    <eval expected="#ffa500" xpath="//flow/block[1]/block[5]/@bkg-color"/>
+    <!-- cell 3 -->
+    <eval expected="cell3" xpath="//flow/block[1]/block[6]/block[1]/lineArea/text"/>
+    <eval expected="144000" xpath="//flow/block[1]/block[6]/@ipd"/>
+    <eval expected="144000" xpath="//flow/block[1]/block[6]/@left-offset"/>
+    <!-- left-to-right offset invariant - cell 2 to the right of cell 1 -->
+    <true xpath="//flow/block[1]/block[4]/@left-offset &gt; 0"/>
+    <!-- left-to-right offset invariant - cell 3 to the right of cell 2 -->
+    <true xpath="//flow/block[1]/block[4]/@left-offset &lt; //flow/block[1]/block[6]/@left-offset"/>
+  </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml b/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml
new file mode 100644
index 0000000..4f6b3d5
--- /dev/null
+++ b/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks table column progression with right-to-left writing mode. The first column
+      should be to the right of the second column; the second column should be to the right of the
+      third column. The columns should be colored red, yellow, orange from right to left.
+    </p>
+  </info>
+  <fo>
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in" margin="0.5in">
+          <fo:region-body/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+      <fo:page-sequence master-reference="normal" writing-mode="rl">
+        <fo:flow flow-name="xsl-region-body">
+          <fo:table table-layout="fixed" width="100%">
+            <fo:table-column column-width="1in" background-color="red"/>
+            <fo:table-column column-width="1in" background-color="yellow"/>
+            <fo:table-column column-width="2in" background-color="orange"/>
+            <fo:table-body>
+              <fo:table-row>
+                <fo:table-cell>
+                  <fo:block>cell1</fo:block>
+                </fo:table-cell>
+                <fo:table-cell>
+                  <fo:block>cell2</fo:block>
+                </fo:table-cell>
+                <fo:table-cell>
+                  <fo:block>cell3</fo:block>
+                </fo:table-cell>
+              </fo:table-row>
+            </fo:table-body>
+          </fo:table>
+        </fo:flow>
+      </fo:page-sequence>
+    </fo:root>
+  </fo>
+  <checks>
+    <!-- cell 1 background -->
+    <eval expected="#ff0000" xpath="//flow/block[1]/block[1]/@bkg-color"/>
+    <!-- cell 1 -->
+    <eval expected="cell1" xpath="//flow/block[1]/block[2]/block[1]/lineArea/text"/>
+    <eval expected="72000" xpath="//flow/block[1]/block[2]/@ipd"/>
+    <eval expected="216000" xpath="//flow/block[1]/block[2]/@left-offset"/>
+    <!-- cell 2 background -->
+    <eval expected="#ffff00" xpath="//flow/block[1]/block[3]/@bkg-color"/>
+    <!-- cell 2 -->
+    <eval expected="cell2" xpath="//flow/block[1]/block[4]/block[1]/lineArea/text"/>
+    <eval expected="72000" xpath="//flow/block[1]/block[4]/@ipd"/>
+    <eval expected="144000" xpath="//flow/block[1]/block[4]/@left-offset"/>
+    <!-- cell 3 background -->
+    <eval expected="#ffa500" xpath="//flow/block[1]/block[5]/@bkg-color"/>
+    <!-- cell 3 -->
+    <eval expected="cell3" xpath="//flow/block[1]/block[6]/block[1]/lineArea/text"/>
+    <eval expected="144000" xpath="//flow/block[1]/block[6]/@ipd"/>
+    <true xpath="not(boolean(//flow/block[1]/block[6]/@left-offset))"/>
+    <!-- right-to-left offset invariant - cell 2 to the left of cell 1 -->
+    <true xpath="//flow/block[1]/block[4]/@left-offset &lt; //flow/block[1]/block[2]/@left-offset"/>
+    <!-- right-to-left offset invariant - cell 3 to left right of cell 2 -->
+    <true xpath="//flow/block[1]/block[4]/@left-offset &gt; 0"/>
+  </checks>
+</testcase>
diff --git a/test/resources/complexscripts/arab/ttx/arab-001.ttx b/test/resources/complexscripts/arab/ttx/arab-001.ttx
new file mode 100644
index 0000000..d43eb9e
--- /dev/null
+++ b/test/resources/complexscripts/arab/ttx/arab-001.ttx
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.2"><head><tableVersion value="1.0"/><fontRevision value="5.91999816895"/><checkSumAdjustment value="0x612eb1e2"/><magicNumber value="0x5f0f3cf5"/><flags value="00000000 00011000"/><unitsPerEm value="2048"/><created value="Tue Dec  6 10:29:51 1994"/><modified value="Tue Apr 14 08:24:45 2009"/><xMin value="-258"/><yMin value="-979"/><xMax value="2319"/><yMax value="2416"/><macStyle value="00000000 00000000"/><lowestRecPPEM value="9"/><fontDirectionHint value="2"/><indexToLocFormat value="0"/><glyphDataFormat value="0"/></head><GlyphOrder><GlyphID id="0" name="glyph1"/><GlyphID id="1" name="glyph2"/><GlyphID id="2" name="glyph99"/><GlyphID id="3" name="space"/><GlyphID id="4" name="exclam"/><GlyphID id="5" name="quotedbl"/><GlyphID id="6" name="numbersign"/><GlyphID id="7" name="dollar"/><GlyphID id="8" name="percent"/><GlyphID id="9" name="ampersand"/><GlyphID id="10" name="quotesingle"/><GlyphID id="11" name="parenleft"/><GlyphID id="12" name="parenright"/><GlyphID id="13" name="asterisk"/><GlyphID id="14" name="plus"/><GlyphID id="15" name="comma"/><GlyphID id="16" name="hyphenminus"/><GlyphID id="17" name="period"/><GlyphID id="18" name="slash"/><GlyphID id="19" name="zero"/><GlyphID id="20" name="one"/><GlyphID id="21" name="two"/><GlyphID id="22" name="three"/><GlyphID id="23" name="four"/><GlyphID id="24" name="five"/><GlyphID id="25" name="six"/><GlyphID id="26" name="seven"/><GlyphID id="27" name="eight"/><GlyphID id="28" name="nine"/><GlyphID id="29" name="colon"/><GlyphID id="30" name="semicolon"/><GlyphID id="31" name="less"/><GlyphID id="32" name="equal"/><GlyphID id="33" name="greater"/><GlyphID id="34" name="question"/><GlyphID id="35" name="at"/><GlyphID id="36" name="A"/><GlyphID id="37" name="B"/><GlyphID id="38" name="C"/><GlyphID id="39" name="D"/><GlyphID id="40" name="E"/><GlyphID id="41" name="F"/><GlyphID id="42" name="G"/><GlyphID id="43" name="H"/><GlyphID id="44" name="I"/><GlyphID id="45" name="J"/><GlyphID id="46" name="K"/><GlyphID id="47" name="L"/><GlyphID id="48" name="M"/><GlyphID id="49" name="N"/><GlyphID id="50" name="O"/><GlyphID id="51" name="P"/><GlyphID id="52" name="Q"/><GlyphID id="53" name="R"/><GlyphID id="54" name="S"/><GlyphID id="55" name="T"/><GlyphID id="56" name="U"/><GlyphID id="57" name="V"/><GlyphID id="58" name="W"/><GlyphID id="59" name="X"/><GlyphID id="60" name="Y"/><GlyphID id="61" name="Z"/><GlyphID id="62" name="bracketleft"/><GlyphID id="63" name="backslash"/><GlyphID id="64" name="bracketright"/><GlyphID id="65" name="asciicircum"/><GlyphID id="66" name="underscore"/><GlyphID id="67" name="grave"/><GlyphID id="68" name="a"/><GlyphID id="69" name="b"/><GlyphID id="70" name="c"/><GlyphID id="71" name="d"/><GlyphID id="72" name="e"/><GlyphID id="73" name="f"/><GlyphID id="74" name="g"/><GlyphID id="75" name="h"/><GlyphID id="76" name="i"/><GlyphID id="77" name="j"/><GlyphID id="78" name="k"/><GlyphID id="79" name="l"/><GlyphID id="80" name="m"/><GlyphID id="81" name="n"/><GlyphID id="82" name="o"/><GlyphID id="83" name="p"/><GlyphID id="84" name="q"/><GlyphID id="85" name="r"/><GlyphID id="86" name="s"/><GlyphID id="87" name="t"/><GlyphID id="88" name="u"/><GlyphID id="89" name="v"/><GlyphID id="90" name="w"/><GlyphID id="91" name="x"/><GlyphID id="92" name="y"/><GlyphID id="93" name="z"/><GlyphID id="94" name="braceleft"/><GlyphID id="95" name="bar"/><GlyphID id="96" name="braceright"/><GlyphID id="97" name="asciitilde"/><GlyphID id="98" name="delete"/><GlyphID id="99" name=".notdef"/><GlyphID id="100" name="nbspace"/><GlyphID id="101" name="exclamdown"/><GlyphID id="102" name="cent"/><GlyphID id="103" name="sterling"/><GlyphID id="104" name="currency"/><GlyphID id="105" name="yen"/><GlyphID id="106" name="brokenbar"/><GlyphID id="107" name="section"/><GlyphID id="108" name="dieresis"/><GlyphID id="109" name="copyright"/><GlyphID id="110" name="ordfeminine"/><GlyphID id="111" name="guillemotleft"/><GlyphID id="112" name="logicalnot"/><GlyphID id="113" name="sfthyphen"/><GlyphID id="114" name="registered"/><GlyphID id="115" name="macron"/><GlyphID id="116" name="degree"/><GlyphID id="117" name="plusminus"/><GlyphID id="118" name="twosuperior"/><GlyphID id="119" name="threesuperior"/><GlyphID id="120" name="acute"/><GlyphID id="121" name="micro"/><GlyphID id="122" name="paragraph"/><GlyphID id="123" name="periodcentered"/><GlyphID id="124" name="cedilla"/><GlyphID id="125" name="onesuperior"/><GlyphID id="126" name="ordmasculine"/><GlyphID id="127" name="guillemotright"/><GlyphID id="128" name="onequarter"/><GlyphID id="129" name="onehalf"/><GlyphID id="130" name="threequarters"/><GlyphID id="131" name="questiondown"/><GlyphID id="132" name="Agrave"/><GlyphID id="133" name="multiply"/><GlyphID id="134" name="agrave"/><GlyphID id="135" name="acircumflex"/><GlyphID id="136" name="ccedilla"/><GlyphID id="137" name="egrave"/><GlyphID id="138" name="eacute"/><GlyphID id="139" name="ecircumflex"/><GlyphID id="140" name="edieresis"/><GlyphID id="141" name="icircumflex"/><GlyphID id="142" name="idieresis"/><GlyphID id="143" name="ocircumflex"/><GlyphID id="144" name="divide"/><GlyphID id="145" name="ugrave"/><GlyphID id="146" name="ucircumflex"/><GlyphID id="147" name="udieresis"/><GlyphID id="148" name="ydieresis"/><GlyphID id="149" name="dotlessi"/><GlyphID id="150" name="OE"/><GlyphID id="151" name="oe"/><GlyphID id="152" name="Scaron"/><GlyphID id="153" name="scaron"/><GlyphID id="154" name="Ydieresis"/><GlyphID id="155" name="florin"/><GlyphID id="156" name="circumflex"/><GlyphID id="157" name="caron"/><GlyphID id="158" name="arabiccomma"/><GlyphID id="159" name="arabicsemicolon"/><GlyphID id="160" name="arabicquestionmark"/><GlyphID id="161" name="hamza"/><GlyphID id="162" name="alefwithmaddaabove"/><GlyphID id="163" name="alefwithhamzaabove"/><GlyphID id="164" name="wawwithhamzaabove"/><GlyphID id="165" name="alefwithhamzabelow"/><GlyphID id="166" name="yehwithhamzaabove"/><GlyphID id="167" name="arabicalef"/><GlyphID id="168" name="beh"/><GlyphID id="169" name="tehmarbuta"/><GlyphID id="170" name="teh"/><GlyphID id="171" name="theh"/><GlyphID id="172" name="jeem"/><GlyphID id="173" name="hah"/><GlyphID id="174" name="khah"/><GlyphID id="175" name="dal"/><GlyphID id="176" name="thal"/><GlyphID id="177" name="reh"/><GlyphID id="178" name="zain"/><GlyphID id="179" name="seen"/><GlyphID id="180" name="sheen"/><GlyphID id="181" name="sad"/><GlyphID id="182" name="dad"/><GlyphID id="183" name="tah"/><GlyphID id="184" name="zah"/><GlyphID id="185" name="ain"/><GlyphID id="186" name="ghain"/><GlyphID id="187" name="tatweel"/><GlyphID id="188" name="feh"/><GlyphID id="189" name="qaf"/><GlyphID id="190" name="arabickaf"/><GlyphID id="191" name="lam"/><GlyphID id="192" name="meem"/><GlyphID id="193" name="noon"/><GlyphID id="194" name="heh"/><GlyphID id="195" name="waw"/><GlyphID id="196" name="alefmaksura"/><GlyphID id="197" name="yeh"/><GlyphID id="198" name="fathatan"/><GlyphID id="199" name="dammatan"/><GlyphID id="200" name="kasratan"/><GlyphID id="201" name="fatha"/><GlyphID id="202" name="damma"/><GlyphID id="203" name="kasra"/><GlyphID id="204" name="shadda"/><GlyphID id="205" name="sukun"/><GlyphID id="206" name="arabicindicdigitzero"/><GlyphID id="207" name="arabicindicdigitone"/><GlyphID id="208" name="arabicindicdigittwo"/><GlyphID id="209" name="arabicindicdigitthree"/><GlyphID id="210" name="arabicindicdigitfour"/><GlyphID id="211" name="arabicindicdigitfive"/><GlyphID id="212" name="arabicindicdigitsix"/><GlyphID id="213" name="arabicindicdigitseven"/><GlyphID id="214" name="arabicindicdigiteight"/><GlyphID id="215" name="arabicindicdigitnine"/><GlyphID id="216" name="arabicpercentsign"/><GlyphID id="217" name="arabicfivepointedstar"/><GlyphID id="218" name="superscriptalef"/><GlyphID id="219" name="alefwasla"/><GlyphID id="220" name="highhamza"/><GlyphID id="221" name="peh"/><GlyphID id="222" name="tcheh"/><GlyphID id="223" name="jeh"/><GlyphID id="224" name="veh"/><GlyphID id="225" name="keheh"/><GlyphID id="226" name="gaf"/><GlyphID id="227" name="farsiyeh"/><GlyphID id="228" name="arabicae"/><GlyphID id="229" name="smallhighmadda"/><GlyphID id="230" name="extendedarabicindicdigitzero"/><GlyphID id="231" name="extendedarabicindicdigitone"/><GlyphID id="232" name="extendedarabicindicdigittwo"/><GlyphID id="233" name="extendedarabicindicdigitthree"/><GlyphID id="234" name="extendedarabicindicdigitfour"/><GlyphID id="235" name="extendedarabicindicdigitfive"/><GlyphID id="236" name="extendedarabicindicdigitsix"/><GlyphID id="237" name="extendedarabicindicdigitseven"/><GlyphID id="238" name="extendedarabicindicdigiteight"/><GlyphID id="239" name="extendedarabicindicdigitnine"/><GlyphID id="240" name="zeronojoin"/><GlyphID id="241" name="zerojoin"/><GlyphID id="242" name="lefttoright"/><GlyphID id="243" name="righttoleft"/><GlyphID id="244" name="endash"/><GlyphID id="245" name="quotedash"/><GlyphID id="246" name="quoteleft"/><GlyphID id="247" name="quoteright"/><GlyphID id="248" name="quotesinglbase"/><GlyphID id="249" name="quotedblleft"/><GlyphID id="250" name="quotedblright"/><GlyphID id="251" name="quotedblbase"/><GlyphID id="252" name="dagger"/><GlyphID id="253" name="daggerdbl"/><GlyphID id="254" name="bullet"/><GlyphID id="255" name="ellipsis"/><GlyphID id="256" name="perthousand"/><GlyphID id="257" name="guilsinglleft"/><GlyphID id="258" name="guilsinglright"/><GlyphID id="259" name="trademark"/><GlyphID id="260" name="fathalow"/><GlyphID id="261" name="dammalow"/><GlyphID id="262" name="sukunlow"/><GlyphID id="263" name="fathatanlow"/><GlyphID id="264" name="dammatanlow"/><GlyphID id="265" name="shaddalow"/><GlyphID id="266" name="kasralow"/><GlyphID id="267" name="kasratanlow"/><GlyphID id="268" name="shaddawithfathalow"/><GlyphID id="269" name="shaddawithdammalow"/><GlyphID id="270" name="shaddawithfathatanlow"/><GlyphID id="271" name="shaddawithdammatanlow"/><GlyphID id="272" name="shaddawithkasralow"/><GlyphID id="273" name="lamwithmeemwithjeeminitial"/><GlyphID id="274" name="rayaleflam"/><GlyphID id="275" name="shaddawithkasratanlow"/><GlyphID id="276" name="shaddawithfathatanisolated"/><GlyphID id="277" name="fathaonhamza"/><GlyphID id="278" name="fathatanonhamza"/><GlyphID id="279" name="sukunonhamza"/><GlyphID id="280" name="dammaonhamza"/><GlyphID id="281" name="dammatanonhamza"/><GlyphID id="282" name="alefwaslaisolated"/><GlyphID id="283" name="alefwaslafinal"/><GlyphID id="284" name="pehisolated"/><GlyphID id="285" name="pehmedial"/><GlyphID id="286" name="vehisolated"/><GlyphID id="287" name="vehmedial"/><GlyphID id="288" name="tchehisolated"/><GlyphID id="289" name="tchehfinal"/><GlyphID id="290" name="tchehmedial"/><GlyphID id="291" name="jehisolated"/><GlyphID id="292" name="kehehisolated"/><GlyphID id="293" name="kehehfinal"/><GlyphID id="294" name="kehehinitial"/><GlyphID id="295" name="kehehmedial"/><GlyphID id="296" name="gafisolated"/><GlyphID id="297" name="gaffinal"/><GlyphID id="298" name="gafinitial"/><GlyphID id="299" name="gafmedial"/><GlyphID id="300" name="farsiyehisolated"/><GlyphID id="301" name="farsiyehfinal"/><GlyphID id="302" name="shaddawithdammatanisolated"/><GlyphID id="303" name="shaddawithkasratanisolated"/><GlyphID id="304" name="shaddawithfathaisolated"/><GlyphID id="305" name="shaddawithdammaisolated"/><GlyphID id="306" name="shaddawithkasraisolated"/><GlyphID id="307" name="shaddawithfathamedial"/><GlyphID id="308" name="shaddawithdammamedial"/><GlyphID id="309" name="shaddawithkasramedial"/><GlyphID id="310" name="alefwithfathatanfinal"/><GlyphID id="311" name="alefwithfathatanisolated"/><GlyphID id="312" name="ornateleftparenthesis"/><GlyphID id="313" name="ornaterightparenthesis"/><GlyphID id="314" name="allahisolated"/><GlyphID id="315" name="fathatanisolated"/><GlyphID id="316" name="fathatanontatweel"/><GlyphID id="317" name="dammatanisolated"/><GlyphID id="318" name="kasratanisolated"/><GlyphID id="319" name="fathaisolated"/><GlyphID id="320" name="fathahontatweel"/><GlyphID id="321" name="dammaisolated"/><GlyphID id="322" name="dammahontatweel"/><GlyphID id="323" name="kasraisolated"/><GlyphID id="324" name="kasrahontatweel"/><GlyphID id="325" name="shaddaisolated"/><GlyphID id="326" name="shaddahontatweel"/><GlyphID id="327" name="sukunisolated"/><GlyphID id="328" name="sukunontatweel"/><GlyphID id="329" name="hamzaisolated"/><GlyphID id="330" name="alefwithmaddaaboveisolated"/><GlyphID id="331" name="alefwithmaddaabovefinal"/><GlyphID id="332" name="alefwithhamzaaboveisolated"/><GlyphID id="333" name="alefwithhamzaabovefinal"/><GlyphID id="334" name="wawwithhamzaaboveisolated"/><GlyphID id="335" name="alefwithhamzabelowisolated"/><GlyphID id="336" name="alefwithhamzabelowfinal"/><GlyphID id="337" name="yehwithhamzaaboveisolated"/><GlyphID id="338" name="yehwithhamzaabovefinal"/><GlyphID id="339" name="yehwithhamzaabovemedial"/><GlyphID id="340" name="alefisolated"/><GlyphID id="341" name="aleffinal"/><GlyphID id="342" name="behisolated"/><GlyphID id="343" name="behmedial"/><GlyphID id="344" name="tehmarbutaisolated"/><GlyphID id="345" name="tehmarbutafinal"/><GlyphID id="346" name="tehisolated"/><GlyphID id="347" name="tehmedial"/><GlyphID id="348" name="thehisolated"/><GlyphID id="349" name="thehmedial"/><GlyphID id="350" name="jeemisolated"/><GlyphID id="351" name="jeemfinal"/><GlyphID id="352" name="jeemmedial"/><GlyphID id="353" name="hahisolated"/><GlyphID id="354" name="hahfinal"/><GlyphID id="355" name="hahmedial"/><GlyphID id="356" name="khahisolated"/><GlyphID id="357" name="khahfinal"/><GlyphID id="358" name="khahmedial"/><GlyphID id="359" name="dalisolated"/><GlyphID id="360" name="thalisolated"/><GlyphID id="361" name="rehisolated"/><GlyphID id="362" name="zainisolated"/><GlyphID id="363" name="seenisolated"/><GlyphID id="364" name="seenmedial"/><GlyphID id="365" name="sheenisolated"/><GlyphID id="366" name="sheenmedial"/><GlyphID id="367" name="sadisolated"/><GlyphID id="368" name="sadmedial"/><GlyphID id="369" name="dadisolated"/><GlyphID id="370" name="dadmedial"/><GlyphID id="371" name="tahisolated"/><GlyphID id="372" name="zahisolated"/><GlyphID id="373" name="ainisolated"/><GlyphID id="374" name="ainfinal"/><GlyphID id="375" name="aininitial"/><GlyphID id="376" name="ainmedial"/><GlyphID id="377" name="ghainisolated"/><GlyphID id="378" name="ghainfinal"/><GlyphID id="379" name="ghaininitial"/><GlyphID id="380" name="ghainmedial"/><GlyphID id="381" name="fehisolated"/><GlyphID id="382" name="fehinitial"/><GlyphID id="383" name="fehmedial"/><GlyphID id="384" name="qafisolated"/><GlyphID id="385" name="qafinitial"/><GlyphID id="386" name="qafmedial"/><GlyphID id="387" name="kafisolated"/><GlyphID id="388" name="kafmedial"/><GlyphID id="389" name="lamisolated"/><GlyphID id="390" name="lammedial"/><GlyphID id="391" name="meemisolated"/><GlyphID id="392" name="meemmedial"/><GlyphID id="393" name="noonisolated"/><GlyphID id="394" name="noonmedial"/><GlyphID id="395" name="hehisolated"/><GlyphID id="396" name="hehfinal"/><GlyphID id="397" name="hehinitial"/><GlyphID id="398" name="hehmedial"/><GlyphID id="399" name="wawisolated"/><GlyphID id="400" name="alefmaksuraisolated"/><GlyphID id="401" name="alefmaksurafinal"/><GlyphID id="402" name="yehisolated"/><GlyphID id="403" name="yehfinal"/><GlyphID id="404" name="yehmedial"/><GlyphID id="405" name="lamwithalefmaddaaboveisolatedd"/><GlyphID id="406" name="lamwithalefmaddaabovefinal"/><GlyphID id="407" name="lamwithalefhamzaaboveisolatedd"/><GlyphID id="408" name="lamwithalefhamzaabovefinal"/><GlyphID id="409" name="lamwithalefhamzabelowisolated"/><GlyphID id="410" name="lamwithalefhamzabelowfinal"/><GlyphID id="411" name="lamwithalefisolated"/><GlyphID id="412" name="lamwithaleffinal"/><GlyphID id="413" name="zerowidthnobreakspace"/><GlyphID id="414" name="uni000D"/><GlyphID id="415" name="Aacute"/><GlyphID id="416" name="Acircumflex"/><GlyphID id="417" name="Atilde"/><GlyphID id="418" name="Adieresis"/><GlyphID id="419" name="Aring"/><GlyphID id="420" name="AE"/><GlyphID id="421" name="Ccedilla"/><GlyphID id="422" name="Egrave"/><GlyphID id="423" name="Eacute"/><GlyphID id="424" name="Ecircumflex"/><GlyphID id="425" name="Edieresis"/><GlyphID id="426" name="Igrave"/><GlyphID id="427" name="Iacute"/><GlyphID id="428" name="Icircumflex"/><GlyphID id="429" name="Idieresis"/><GlyphID id="430" name="Eth"/><GlyphID id="431" name="Ntilde"/><GlyphID id="432" name="Ograve"/><GlyphID id="433" name="Oacute"/><GlyphID id="434" name="Ocircumflex"/><GlyphID id="435" name="Otilde"/><GlyphID id="436" name="Odieresis"/><GlyphID id="437" name="Oslash"/><GlyphID id="438" name="Ugrave"/><GlyphID id="439" name="Uacute"/><GlyphID id="440" name="Ucircumflex"/><GlyphID id="441" name="Udieresis"/><GlyphID id="442" name="Yacute"/><GlyphID id="443" name="Thorn"/><GlyphID id="444" name="germandbls"/><GlyphID id="445" name="aacute"/><GlyphID id="446" name="atilde"/><GlyphID id="447" name="adieresis"/><GlyphID id="448" name="aring"/><GlyphID id="449" name="ae"/><GlyphID id="450" name="igrave"/><GlyphID id="451" name="iacute"/><GlyphID id="452" name="eth"/><GlyphID id="453" name="ntilde"/><GlyphID id="454" name="ograve"/><GlyphID id="455" name="oacute"/><GlyphID id="456" name="otilde"/><GlyphID id="457" name="odieresis"/><GlyphID id="458" name="oslash"/><GlyphID id="459" name="uacute"/><GlyphID id="460" name="yacute"/><GlyphID id="461" name="thorn"/><GlyphID id="462" name="Zcaron"/><GlyphID id="463" name="zcaron"/><GlyphID id="464" name="tilde"/><GlyphID id="465" name="Euro"/><GlyphID id="466" name="uni0649.init"/><GlyphID id="467" name="uni0654"/><GlyphID id="468" name="uni0655"/><GlyphID id="469" name="uni0655064D"/><GlyphID id="470" name="uni06550650"/><GlyphID id="471" name="uni06A5.init"/><GlyphID id="472" name="uni25CC"/></GlyphOrder><cmap><tableVersion version="0"/><cmap_format_0 platformID="1" platEncID="0" language="0"><map code="0x0" name="glyph2"/><map code="0x1" name="glyph1"/><map code="0x2" name="glyph1"/><map code="0x3" name="glyph1"/><map code="0x4" name="glyph1"/><map code="0x5" name="glyph1"/><map code="0x6" name="glyph1"/><map code="0x7" name="glyph1"/><map code="0x8" name="glyph2"/><map code="0x9" name="glyph99"/><map code="0xa" name="glyph1"/><map code="0xb" name="glyph1"/><map code="0xc" name="glyph1"/><map code="0xd" name="glyph99"/><map code="0xe" name="glyph1"/><map code="0xf" name="glyph1"/><map code="0x10" name="glyph1"/><map code="0x11" name="glyph1"/><map code="0x12" name="glyph1"/><map code="0x13" name="glyph1"/><map code="0x14" name="glyph1"/><map code="0x15" name="glyph1"/><map code="0x16" name="glyph1"/><map code="0x17" name="glyph1"/><map code="0x18" name="glyph1"/><map code="0x19" name="glyph1"/><map code="0x1a" name="glyph1"/><map code="0x1b" name="glyph1"/><map code="0x1c" name="glyph1"/><map code="0x1d" name="glyph2"/><map code="0x1e" name="glyph1"/><map code="0x1f" name="glyph1"/><map code="0x20" name="space"/><map code="0x21" name="exclam"/><map code="0x22" name="quotedbl"/><map code="0x23" name="numbersign"/><map code="0x24" name="dollar"/><map code="0x25" name="percent"/><map code="0x26" name="ampersand"/><map code="0x27" name="quotesingle"/><map code="0x28" name="parenleft"/><map code="0x29" name="parenright"/><map code="0x2a" name="asterisk"/><map code="0x2b" name="plus"/><map code="0x2c" name="comma"/><map code="0x2d" name="hyphenminus"/><map code="0x2e" name="period"/><map code="0x2f" name="slash"/><map code="0x30" name="zero"/><map code="0x31" name="one"/><map code="0x32" name="two"/><map code="0x33" name="three"/><map code="0x34" name="four"/><map code="0x35" name="five"/><map code="0x36" name="six"/><map code="0x37" name="seven"/><map code="0x38" name="eight"/><map code="0x39" name="nine"/><map code="0x3a" name="colon"/><map code="0x3b" name="semicolon"/><map code="0x3c" name="less"/><map code="0x3d" name="equal"/><map code="0x3e" name="greater"/><map code="0x3f" name="question"/><map code="0x40" name="at"/><map code="0x41" name="A"/><map code="0x42" name="B"/><map code="0x43" name="C"/><map code="0x44" name="D"/><map code="0x45" name="E"/><map code="0x46" name="F"/><map code="0x47" name="G"/><map code="0x48" name="H"/><map code="0x49" name="I"/><map code="0x4a" name="J"/><map code="0x4b" name="K"/><map code="0x4c" name="L"/><map code="0x4d" name="M"/><map code="0x4e" name="N"/><map code="0x4f" name="O"/><map code="0x50" name="P"/><map code="0x51" name="Q"/><map code="0x52" name="R"/><map code="0x53" name="S"/><map code="0x54" name="T"/><map code="0x55" name="U"/><map code="0x56" name="V"/><map code="0x57" name="W"/><map code="0x58" name="X"/><map code="0x59" name="Y"/><map code="0x5a" name="Z"/><map code="0x5b" name="bracketleft"/><map code="0x5c" name="backslash"/><map code="0x5d" name="bracketright"/><map code="0x5e" name="asciicircum"/><map code="0x5f" name="underscore"/><map code="0x60" name="grave"/><map code="0x61" name="a"/><map code="0x62" name="b"/><map code="0x63" name="c"/><map code="0x64" name="d"/><map code="0x65" name="e"/><map code="0x66" name="f"/><map code="0x67" name="g"/><map code="0x68" name="h"/><map code="0x69" name="i"/><map code="0x6a" name="j"/><map code="0x6b" name="k"/><map code="0x6c" name="l"/><map code="0x6d" name="m"/><map code="0x6e" name="n"/><map code="0x6f" name="o"/><map code="0x70" name="p"/><map code="0x71" name="q"/><map code="0x72" name="r"/><map code="0x73" name="s"/><map code="0x74" name="t"/><map code="0x75" name="u"/><map code="0x76" name="v"/><map code="0x77" name="w"/><map code="0x78" name="x"/><map code="0x79" name="y"/><map code="0x7a" name="z"/><map code="0x7b" name="braceleft"/><map code="0x7c" name="bar"/><map code="0x7d" name="braceright"/><map code="0x7e" name="asciitilde"/><map code="0x7f" name="glyph1"/><map code="0x80" name="glyph1"/><map code="0x81" name="glyph1"/><map code="0x82" name="glyph1"/><map code="0x83" name="glyph1"/><map code="0x84" name="glyph1"/><map code="0x85" name="glyph1"/><map code="0x86" name="glyph1"/><map code="0x87" name="glyph1"/><map code="0x88" name="glyph1"/><map code="0x89" name="glyph1"/><map code="0x8a" name="glyph1"/><map code="0x8b" name="glyph1"/><map code="0x8c" name="glyph1"/><map code="0x8d" name="glyph1"/><map code="0x8e" name="glyph1"/><map code="0x8f" name="glyph1"/><map code="0x90" name="glyph1"/><map code="0x91" name="glyph1"/><map code="0x92" name="glyph1"/><map code="0x93" name="glyph1"/><map code="0x94" name="glyph1"/><map code="0x95" name="glyph1"/><map code="0x96" name="glyph1"/><map code="0x97" name="glyph1"/><map code="0x98" name="glyph1"/><map code="0x99" name="glyph1"/><map code="0x9a" name="glyph1"/><map code="0x9b" name="glyph1"/><map code="0x9c" name="glyph1"/><map code="0x9d" name="glyph1"/><map code="0x9e" name="glyph1"/><map code="0x9f" name="glyph1"/><map code="0xa0" name="glyph1"/><map code="0xa1" name="exclam"/><map code="0xa2" name="quotedbl"/><map code="0xa3" name="numbersign"/><map code="0xa4" name="dollar"/><map code="0xa5" name="percent"/><map code="0xa6" name="ampersand"/><map code="0xa7" name="quotesingle"/><map code="0xa8" name="parenleft"/><map code="0xa9" name="parenright"/><map code="0xaa" name="multiply"/><map code="0xab" name="plus"/><map code="0xac" name="arabiccomma"/><map code="0xad" name="hyphenminus"/><map code="0xae" name="period"/><map code="0xaf" name="slash"/><map code="0xb0" name="arabicindicdigitzero"/><map code="0xb1" name="arabicindicdigitone"/><map code="0xb2" name="arabicindicdigittwo"/><map code="0xb3" name="arabicindicdigitthree"/><map code="0xb4" name="arabicindicdigitfour"/><map code="0xb5" name="arabicindicdigitfive"/><map code="0xb6" name="arabicindicdigitsix"/><map code="0xb7" name="arabicindicdigitseven"/><map code="0xb8" name="arabicindicdigiteight"/><map code="0xb9" name="arabicindicdigitnine"/><map code="0xba" name="colon"/><map code="0xbb" name="semicolon"/><map code="0xbc" name="less"/><map code="0xbd" name="equal"/><map code="0xbe" name="greater"/><map code="0xbf" name="arabicquestionmark"/><map code="0xc0" name="asterisk"/><map code="0xc1" name="hamza"/><map code="0xc2" name="alefwithmaddaabove"/><map code="0xc3" name="alefwithhamzaabove"/><map code="0xc4" name="wawwithhamzaabove"/><map code="0xc5" name="alefwithhamzabelow"/><map code="0xc6" name="yehwithhamzaabove"/><map code="0xc7" name="arabicalef"/><map code="0xc8" name="beh"/><map code="0xc9" name="tehmarbuta"/><map code="0xca" name="teh"/><map code="0xcb" name="theh"/><map code="0xcc" name="jeem"/><map code="0xcd" name="hah"/><map code="0xce" name="khah"/><map code="0xcf" name="dal"/><map code="0xd0" name="thal"/><map code="0xd1" name="reh"/><map code="0xd2" name="zain"/><map code="0xd3" name="seen"/><map code="0xd4" name="sheen"/><map code="0xd5" name="sad"/><map code="0xd6" name="dad"/><map code="0xd7" name="tah"/><map code="0xd8" name="zah"/><map code="0xd9" name="ain"/><map code="0xda" name="ghain"/><map code="0xdb" name="bracketright"/><map code="0xdc" name="backslash"/><map code="0xdd" name="bracketleft"/><map code="0xde" name="circumflex"/><map code="0xdf" name="underscore"/><map code="0xe0" name="hyphenminus"/><map code="0xe1" name="feh"/><map code="0xe2" name="qaf"/><map code="0xe3" name="arabickaf"/><map code="0xe4" name="lam"/><map code="0xe5" name="meem"/><map code="0xe6" name="noon"/><map code="0xe7" name="heh"/><map code="0xe8" name="waw"/><map code="0xe9" name="alefmaksura"/><map code="0xea" name="yeh"/><map code="0xeb" name="fathatan"/><map code="0xec" name="dammatan"/><map code="0xed" name="kasratan"/><map code="0xee" name="fatha"/><map code="0xef" name="damma"/><map code="0xf0" name="kasra"/><map code="0xf1" name="shadda"/><map code="0xf2" name="sukun"/><map code="0xf3" name="peh"/><map code="0xf4" name="glyph1"/><map code="0xf5" name="tcheh"/><map code="0xf6" name="heh"/><map code="0xf7" name="veh"/><map code="0xf8" name="gaf"/><map code="0xf9" name="glyph1"/><map code="0xfa" name="glyph1"/><map code="0xfb" name="braceright"/><map code="0xfc" name="bar"/><map code="0xfd" name="braceleft"/><map code="0xfe" name="jeh"/><map code="0xff" name="glyph1"/></cmap_format_0><cmap_format_4 platformID="3" platEncID="1" language="0"><map code="0x20" name="space"/><map code="0x21" name="exclam"/><map code="0x22" name="quotedbl"/><map code="0x23" name="numbersign"/><map code="0x24" name="dollar"/><map code="0x25" name="percent"/><map code="0x26" name="ampersand"/><map code="0x27" name="quotesingle"/><map code="0x28" name="parenleft"/><map code="0x29" name="parenright"/><map code="0x2a" name="asterisk"/><map code="0x2b" name="plus"/><map code="0x2c" name="comma"/><map code="0x2d" name="hyphenminus"/><map code="0x2e" name="period"/><map code="0x2f" name="slash"/><map code="0x30" name="zero"/><map code="0x31" name="one"/><map code="0x32" name="two"/><map code="0x33" name="three"/><map code="0x34" name="four"/><map code="0x35" name="five"/><map code="0x36" name="six"/><map code="0x37" name="seven"/><map code="0x38" name="eight"/><map code="0x39" name="nine"/><map code="0x3a" name="colon"/><map code="0x3b" name="semicolon"/><map code="0x3c" name="less"/><map code="0x3d" name="equal"/><map code="0x3e" name="greater"/><map code="0x3f" name="question"/><map code="0x40" name="at"/><map code="0x41" name="A"/><map code="0x42" name="B"/><map code="0x43" name="C"/><map code="0x44" name="D"/><map code="0x45" name="E"/><map code="0x46" name="F"/><map code="0x47" name="G"/><map code="0x48" name="H"/><map code="0x49" name="I"/><map code="0x4a" name="J"/><map code="0x4b" name="K"/><map code="0x4c" name="L"/><map code="0x4d" name="M"/><map code="0x4e" name="N"/><map code="0x4f" name="O"/><map code="0x50" name="P"/><map code="0x51" name="Q"/><map code="0x52" name="R"/><map code="0x53" name="S"/><map code="0x54" name="T"/><map code="0x55" name="U"/><map code="0x56" name="V"/><map code="0x57" name="W"/><map code="0x58" name="X"/><map code="0x59" name="Y"/><map code="0x5a" name="Z"/><map code="0x5b" name="bracketleft"/><map code="0x5c" name="backslash"/><map code="0x5d" name="bracketright"/><map code="0x5e" name="asciicircum"/><map code="0x5f" name="underscore"/><map code="0x60" name="grave"/><map code="0x61" name="a"/><map code="0x62" name="b"/><map code="0x63" name="c"/><map code="0x64" name="d"/><map code="0x65" name="e"/><map code="0x66" name="f"/><map code="0x67" name="g"/><map code="0x68" name="h"/><map code="0x69" name="i"/><map code="0x6a" name="j"/><map code="0x6b" name="k"/><map code="0x6c" name="l"/><map code="0x6d" name="m"/><map code="0x6e" name="n"/><map code="0x6f" name="o"/><map code="0x70" name="p"/><map code="0x71" name="q"/><map code="0x72" name="r"/><map code="0x73" name="s"/><map code="0x74" name="t"/><map code="0x75" name="u"/><map code="0x76" name="v"/><map code="0x77" name="w"/><map code="0x78" name="x"/><map code="0x79" name="y"/><map code="0x7a" name="z"/><map code="0x7b" name="braceleft"/><map code="0x7c" name="bar"/><map code="0x7d" name="braceright"/><map code="0x7e" name="asciitilde"/><map code="0x7f" name="delete"/><map code="0xa0" name="nbspace"/><map code="0xa1" name="exclamdown"/><map code="0xa2" name="cent"/><map code="0xa3" name="sterling"/><map code="0xa4" name="currency"/><map code="0xa5" name="yen"/><map code="0xa6" name="brokenbar"/><map code="0xa7" name="section"/><map code="0xa8" name="dieresis"/><map code="0xa9" name="copyright"/><map code="0xaa" name="ordfeminine"/><map code="0xab" name="guillemotleft"/><map code="0xac" name="logicalnot"/><map code="0xad" name="sfthyphen"/><map code="0xae" name="registered"/><map code="0xaf" name="macron"/><map code="0xb0" name="degree"/><map code="0xb1" name="plusminus"/><map code="0xb2" name="twosuperior"/><map code="0xb3" name="threesuperior"/><map code="0xb4" name="acute"/><map code="0xb5" name="micro"/><map code="0xb6" name="paragraph"/><map code="0xb7" name="periodcentered"/><map code="0xb8" name="cedilla"/><map code="0xb9" name="onesuperior"/><map code="0xba" name="ordmasculine"/><map code="0xbb" name="guillemotright"/><map code="0xbc" name="onequarter"/><map code="0xbd" name="onehalf"/><map code="0xbe" name="threequarters"/><map code="0xbf" name="questiondown"/><map code="0xc0" name="Agrave"/><map code="0xc1" name="Aacute"/><map code="0xc2" name="Acircumflex"/><map code="0xc3" name="Atilde"/><map code="0xc4" name="Adieresis"/><map code="0xc5" name="Aring"/><map code="0xc6" name="AE"/><map code="0xc7" name="Ccedilla"/><map code="0xc8" name="Egrave"/><map code="0xc9" name="Eacute"/><map code="0xca" name="Ecircumflex"/><map code="0xcb" name="Edieresis"/><map code="0xcc" name="Igrave"/><map code="0xcd" name="Iacute"/><map code="0xce" name="Icircumflex"/><map code="0xcf" name="Idieresis"/><map code="0xd0" name="uni000D"/><map code="0xd1" name="Ntilde"/><map code="0xd2" name="Ograve"/><map code="0xd3" name="Oacute"/><map code="0xd4" name="Ocircumflex"/><map code="0xd5" name="Otilde"/><map code="0xd6" name="Odieresis"/><map code="0xd7" name="multiply"/><map code="0xd8" name="Oslash"/><map code="0xd9" name="Ugrave"/><map code="0xda" name="Uacute"/><map code="0xdb" name="Ucircumflex"/><map code="0xdc" name="Udieresis"/><map code="0xdd" name="Yacute"/><map code="0xde" name="Thorn"/><map code="0xdf" name="germandbls"/><map code="0xe0" name="agrave"/><map code="0xe1" name="aacute"/><map code="0xe2" name="acircumflex"/><map code="0xe3" name="atilde"/><map code="0xe4" name="adieresis"/><map code="0xe5" name="aring"/><map code="0xe6" name="ae"/><map code="0xe7" name="ccedilla"/><map code="0xe8" name="egrave"/><map code="0xe9" name="eacute"/><map code="0xea" name="ecircumflex"/><map code="0xeb" name="edieresis"/><map code="0xec" name="igrave"/><map code="0xed" name="iacute"/><map code="0xee" name="icircumflex"/><map code="0xef" name="idieresis"/><map code="0xf0" name="eth"/><map code="0xf1" name="ntilde"/><map code="0xf2" name="ograve"/><map code="0xf3" name="oacute"/><map code="0xf4" name="ocircumflex"/><map code="0xf5" name="otilde"/><map code="0xf6" name="odieresis"/><map code="0xf7" name="divide"/><map code="0xf8" name="oslash"/><map code="0xf9" name="ugrave"/><map code="0xfa" name="uacute"/><map code="0xfb" name="ucircumflex"/><map code="0xfc" name="udieresis"/><map code="0xfd" name="yacute"/><map code="0xfe" name="thorn"/><map code="0xff" name="ydieresis"/><map code="0x131" name="dotlessi"/><map code="0x152" name="OE"/><map code="0x153" name="oe"/><map code="0x160" name="Scaron"/><map code="0x161" name="scaron"/><map code="0x178" name="Ydieresis"/><map code="0x17d" name="Zcaron"/><map code="0x17e" name="zcaron"/><map code="0x192" name="florin"/><map code="0x2c6" name="circumflex"/><map code="0x2c7" name="caron"/><map code="0x2dc" name="tilde"/><map code="0x60c" name="arabiccomma"/><map code="0x61b" name="arabicsemicolon"/><map code="0x61f" name="arabicquestionmark"/><map code="0x621" name="hamza"/><map code="0x622" name="alefwithmaddaabove"/><map code="0x623" name="alefwithhamzaabove"/><map code="0x624" name="wawwithhamzaabove"/><map code="0x625" name="alefwithhamzabelow"/><map code="0x626" name="yehwithhamzaabove"/><map code="0x627" name="arabicalef"/><map code="0x628" name="beh"/><map code="0x629" name="tehmarbuta"/><map code="0x62a" name="teh"/><map code="0x62b" name="theh"/><map code="0x62c" name="jeem"/><map code="0x62d" name="hah"/><map code="0x62e" name="khah"/><map code="0x62f" name="dal"/><map code="0x630" name="thal"/><map code="0x631" name="reh"/><map code="0x632" name="zain"/><map code="0x633" name="seen"/><map code="0x634" name="sheen"/><map code="0x635" name="sad"/><map code="0x636" name="dad"/><map code="0x637" name="tah"/><map code="0x638" name="zah"/><map code="0x639" name="ain"/><map code="0x63a" name="ghain"/><map code="0x640" name="tatweel"/><map code="0x641" name="feh"/><map code="0x642" name="qaf"/><map code="0x643" name="arabickaf"/><map code="0x644" name="lam"/><map code="0x645" name="meem"/><map code="0x646" name="noon"/><map code="0x647" name="heh"/><map code="0x648" name="waw"/><map code="0x649" name="alefmaksura"/><map code="0x64a" name="yeh"/><map code="0x64b" name="fathatan"/><map code="0x64c" name="dammatan"/><map code="0x64d" name="kasratan"/><map code="0x64e" name="fatha"/><map code="0x64f" name="damma"/><map code="0x650" name="kasra"/><map code="0x651" name="shadda"/><map code="0x652" name="sukun"/><map code="0x653" name="smallhighmadda"/><map code="0x654" name="uni0654"/><map code="0x655" name="uni0655"/><map code="0x660" name="arabicindicdigitzero"/><map code="0x661" name="arabicindicdigitone"/><map code="0x662" name="arabicindicdigittwo"/><map code="0x663" name="arabicindicdigitthree"/><map code="0x664" name="arabicindicdigitfour"/><map code="0x665" name="arabicindicdigitfive"/><map code="0x666" name="arabicindicdigitsix"/><map code="0x667" name="arabicindicdigitseven"/><map code="0x668" name="arabicindicdigiteight"/><map code="0x669" name="arabicindicdigitnine"/><map code="0x66a" name="arabicpercentsign"/><map code="0x66c" name="arabiccomma"/><map code="0x66d" name="arabicfivepointedstar"/><map code="0x670" name="superscriptalef"/><map code="0x671" name="alefwasla"/><map code="0x674" name="highhamza"/><map code="0x67e" name="peh"/><map code="0x686" name="tcheh"/><map code="0x698" name="jeh"/><map code="0x6a4" name="veh"/><map code="0x6a9" name="keheh"/><map code="0x6af" name="gaf"/><map code="0x6cc" name="farsiyeh"/><map code="0x6d5" name="arabicae"/><map code="0x6e4" name="smallhighmadda"/><map code="0x6f0" name="extendedarabicindicdigitzero"/><map code="0x6f1" name="extendedarabicindicdigitone"/><map code="0x6f2" name="extendedarabicindicdigittwo"/><map code="0x6f3" name="extendedarabicindicdigitthree"/><map code="0x6f4" name="extendedarabicindicdigitfour"/><map code="0x6f5" name="extendedarabicindicdigitfive"/><map code="0x6f6" name="extendedarabicindicdigitsix"/><map code="0x6f7" name="extendedarabicindicdigitseven"/><map code="0x6f8" name="extendedarabicindicdigiteight"/><map code="0x6f9" name="extendedarabicindicdigitnine"/><map code="0x200c" name="zeronojoin"/><map code="0x200d" name="zerojoin"/><map code="0x200e" name="lefttoright"/><map code="0x200f" name="righttoleft"/><map code="0x2013" name="endash"/><map code="0x2014" name="quotedash"/><map code="0x2018" name="quoteleft"/><map code="0x2019" name="quoteright"/><map code="0x201a" name="quotesinglbase"/><map code="0x201c" name="quotedblleft"/><map code="0x201d" name="quotedblright"/><map code="0x201e" name="quotedblbase"/><map code="0x2020" name="dagger"/><map code="0x2021" name="daggerdbl"/><map code="0x2022" name="bullet"/><map code="0x2026" name="ellipsis"/><map code="0x2030" name="perthousand"/><map code="0x2039" name="guilsinglleft"/><map code="0x203a" name="guilsinglright"/><map code="0x20ac" name="Euro"/><map code="0x2122" name="trademark"/><map code="0x25cc" name="uni25CC"/><map code="0xfb50" name="alefwaslaisolated"/><map code="0xfb51" name="alefwaslafinal"/><map code="0xfb56" name="pehisolated"/><map code="0xfb58" name="pehmedial"/><map code="0xfb59" name="pehmedial"/><map code="0xfb6a" name="vehisolated"/><map code="0xfb6c" name="vehmedial"/><map code="0xfb6d" name="vehmedial"/><map code="0xfb7a" name="tchehisolated"/><map code="0xfb7b" name="tchehfinal"/><map code="0xfb7c" name="tchehmedial"/><map code="0xfb7d" name="tchehmedial"/><map code="0xfb8a" name="jehisolated"/><map code="0xfb8e" name="kehehisolated"/><map code="0xfb8f" name="kehehfinal"/><map code="0xfb90" name="kehehinitial"/><map code="0xfb91" name="kehehmedial"/><map code="0xfb92" name="gafisolated"/><map code="0xfb93" name="gaffinal"/><map code="0xfb94" name="gafinitial"/><map code="0xfb95" name="gafmedial"/><map code="0xfbe8" name="uni0649.init"/><map code="0xfbe9" name="uni0649.init"/><map code="0xfbfc" name="farsiyehisolated"/><map code="0xfbfd" name="farsiyehfinal"/><map code="0xfbfe" name="yehmedial"/><map code="0xfbff" name="yehmedial"/><map code="0xfc5e" name="shaddawithdammatanlow"/><map code="0xfc5f" name="shaddawithkasratanlow"/><map code="0xfc60" name="shaddawithfathalow"/><map code="0xfc61" name="shaddawithdammalow"/><map code="0xfc62" name="shaddawithkasralow"/><map code="0xfcf2" name="shaddawithfathamedial"/><map code="0xfcf3" name="shaddawithdammamedial"/><map code="0xfcf4" name="shaddawithkasramedial"/><map code="0xfd3c" name="alefwithfathatanfinal"/><map code="0xfd3d" name="alefwithfathatanisolated"/><map code="0xfd3e" name="ornateleftparenthesis"/><map code="0xfd3f" name="ornaterightparenthesis"/><map code="0xfdf2" name="allahisolated"/><map code="0xfdfc" name="rayaleflam"/><map code="0xfe70" name="fathatanisolated"/><map code="0xfe71" name="fathatanontatweel"/><map code="0xfe72" name="dammatanisolated"/><map code="0xfe74" name="kasratanisolated"/><map code="0xfe76" name="fathaisolated"/><map code="0xfe77" name="fathahontatweel"/><map code="0xfe78" name="dammaisolated"/><map code="0xfe79" name="dammahontatweel"/><map code="0xfe7a" name="kasraisolated"/><map code="0xfe7b" name="kasrahontatweel"/><map code="0xfe7c" name="shaddaisolated"/><map code="0xfe7d" name="shaddahontatweel"/><map code="0xfe7e" name="sukunisolated"/><map code="0xfe7f" name="sukunontatweel"/><map code="0xfe80" name="hamzaisolated"/><map code="0xfe81" name="alefwithmaddaaboveisolated"/><map code="0xfe82" name="alefwithmaddaabovefinal"/><map code="0xfe83" name="alefwithhamzaaboveisolated"/><map code="0xfe84" name="alefwithhamzaabovefinal"/><map code="0xfe85" name="wawwithhamzaaboveisolated"/><map code="0xfe87" name="alefwithhamzabelowisolated"/><map code="0xfe88" name="alefwithhamzabelowfinal"/><map code="0xfe89" name="yehwithhamzaaboveisolated"/><map code="0xfe8a" name="yehwithhamzaabovefinal"/><map code="0xfe8b" name="yehwithhamzaabovemedial"/><map code="0xfe8c" name="yehwithhamzaabovemedial"/><map code="0xfe8d" name="alefisolated"/><map code="0xfe8e" name="aleffinal"/><map code="0xfe8f" name="behisolated"/><map code="0xfe91" name="behmedial"/><map code="0xfe92" name="behmedial"/><map code="0xfe93" name="tehmarbutaisolated"/><map code="0xfe94" name="tehmarbutafinal"/><map code="0xfe95" name="tehisolated"/><map code="0xfe97" name="tehmedial"/><map code="0xfe98" name="tehmedial"/><map code="0xfe99" name="thehisolated"/><map code="0xfe9b" name="thehmedial"/><map code="0xfe9c" name="thehmedial"/><map code="0xfe9d" name="jeemisolated"/><map code="0xfe9e" name="jeemfinal"/><map code="0xfe9f" name="jeemmedial"/><map code="0xfea0" name="jeemmedial"/><map code="0xfea1" name="hahisolated"/><map code="0xfea2" name="hahfinal"/><map code="0xfea3" name="hahmedial"/><map code="0xfea4" name="hahmedial"/><map code="0xfea5" name="khahisolated"/><map code="0xfea6" name="khahfinal"/><map code="0xfea7" name="khahmedial"/><map code="0xfea8" name="khahmedial"/><map code="0xfea9" name="dalisolated"/><map code="0xfeab" name="thalisolated"/><map code="0xfead" name="rehisolated"/><map code="0xfeaf" name="zainisolated"/><map code="0xfeb1" name="seenisolated"/><map code="0xfeb3" name="seenmedial"/><map code="0xfeb4" name="seenmedial"/><map code="0xfeb5" name="sheenisolated"/><map code="0xfeb7" name="sheenmedial"/><map code="0xfeb8" name="sheenmedial"/><map code="0xfeb9" name="sadisolated"/><map code="0xfebb" name="sadmedial"/><map code="0xfebc" name="sadmedial"/><map code="0xfebd" name="dadisolated"/><map code="0xfebf" name="dadmedial"/><map code="0xfec0" name="dadmedial"/><map code="0xfec1" name="tahisolated"/><map code="0xfec5" name="zahisolated"/><map code="0xfec9" name="ainisolated"/><map code="0xfeca" name="ainfinal"/><map code="0xfecb" name="aininitial"/><map code="0xfecc" name="ainmedial"/><map code="0xfecd" name="ghainisolated"/><map code="0xfece" name="ghainfinal"/><map code="0xfecf" name="ghaininitial"/><map code="0xfed0" name="ghainmedial"/><map code="0xfed1" name="fehisolated"/><map code="0xfed3" name="fehinitial"/><map code="0xfed4" name="fehmedial"/><map code="0xfed5" name="qafisolated"/><map code="0xfed7" name="qafinitial"/><map code="0xfed8" name="qafmedial"/><map code="0xfed9" name="kafisolated"/><map code="0xfedb" name="kafmedial"/><map code="0xfedc" name="kehehmedial"/><map code="0xfedd" name="lam"/><map code="0xfedf" name="lamisolated"/><map code="0xfee0" name="lammedial"/><map code="0xfee1" name="meemisolated"/><map code="0xfee3" name="meemmedial"/><map code="0xfee4" name="meemmedial"/><map code="0xfee5" name="noonisolated"/><map code="0xfee7" name="noonmedial"/><map code="0xfee8" name="noonmedial"/><map code="0xfee9" name="hehisolated"/><map code="0xfeea" name="hehfinal"/><map code="0xfeeb" name="hehinitial"/><map code="0xfeec" name="hehmedial"/><map code="0xfeed" name="wawisolated"/><map code="0xfeef" name="alefmaksuraisolated"/><map code="0xfef0" name="alefmaksurafinal"/><map code="0xfef1" name="yehisolated"/><map code="0xfef2" name="yehfinal"/><map code="0xfef3" name="yehmedial"/><map code="0xfef4" name="yehmedial"/><map code="0xfef5" name="lamwithalefmaddaaboveisolatedd"/><map code="0xfef6" name="lamwithalefmaddaabovefinal"/><map code="0xfef7" name="lamwithalefhamzaaboveisolatedd"/><map code="0xfef8" name="lamwithalefhamzaabovefinal"/><map code="0xfef9" name="lamwithalefhamzabelowisolated"/><map code="0xfefa" name="lamwithalefhamzabelowfinal"/><map code="0xfefb" name="lamwithalefisolated"/><map code="0xfefc" name="lamwithaleffinal"/><map code="0xfeff" name="zerowidthnobreakspace"/></cmap_format_4></cmap><hmtx><mtx name=".notdef" width="2048" lsb="0"/><mtx name="A" width="1229" lsb="-3"/><mtx name="AE" width="1955" lsb="-3"/><mtx name="Aacute" width="1229" lsb="-3"/><mtx name="Acircumflex" width="1229" lsb="-3"/><mtx name="Adieresis" width="1229" lsb="-3"/><mtx name="Agrave" width="1229" lsb="-3"/><mtx name="Aring" width="1229" lsb="-3"/><mtx name="Atilde" width="1229" lsb="-3"/><mtx name="B" width="1229" lsb="135"/><mtx name="C" width="1331" lsb="92"/><mtx name="Ccedilla" width="1331" lsb="92"/><mtx name="D" width="1331" lsb="142"/><mtx name="E" width="1229" lsb="146"/><mtx name="Eacute" width="1229" lsb="146"/><mtx name="Ecircumflex" width="1229" lsb="146"/><mtx name="Edieresis" width="1229" lsb="146"/><mtx name="Egrave" width="1229" lsb="146"/><mtx name="Eth" width="1331" lsb="-3"/><mtx name="Euro" width="1077" lsb="11"/><mtx name="F" width="1126" lsb="151"/><mtx name="G" width="1434" lsb="98"/><mtx name="H" width="1331" lsb="148"/><mtx name="I" width="512" lsb="172"/><mtx name="Iacute" width="512" lsb="91"/><mtx name="Icircumflex" width="512" lsb="-28"/><mtx name="Idieresis" width="512" lsb="5"/><mtx name="Igrave" width="512" lsb="87"/><mtx name="J" width="922" lsb="46"/><mtx name="K" width="1229" lsb="135"/><mtx name="L" width="1025" lsb="135"/><mtx name="M" width="1535" lsb="137"/><mtx name="N" width="1331" lsb="140"/><mtx name="Ntilde" width="1331" lsb="140"/><mtx name="O" width="1434" lsb="89"/><mtx name="OE" width="1843" lsb="116"/><mtx name="Oacute" width="1434" lsb="89"/><mtx name="Ocircumflex" width="1434" lsb="89"/><mtx name="Odieresis" width="1434" lsb="89"/><mtx name="Ograve" width="1434" lsb="89"/><mtx name="Oslash" width="1434" lsb="65"/><mtx name="Otilde" width="1434" lsb="89"/><mtx name="P" width="1229" lsb="142"/><mtx name="Q" width="1434" lsb="79"/><mtx name="R" width="1331" lsb="145"/><mtx name="S" width="1229" lsb="83"/><mtx name="Scaron" width="1229" lsb="83"/><mtx name="T" width="1126" lsb="43"/><mtx name="Thorn" width="1229" lsb="142"/><mtx name="U" width="1331" lsb="145"/><mtx name="Uacute" width="1331" lsb="145"/><mtx name="Ucircumflex" width="1331" lsb="145"/><mtx name="Udieresis" width="1331" lsb="145"/><mtx name="Ugrave" width="1331" lsb="145"/><mtx name="V" width="1229" lsb="8"/><mtx name="W" width="1740" lsb="22"/><mtx name="X" width="1229" lsb="8"/><mtx name="Y" width="1229" lsb="5"/><mtx name="Yacute" width="1229" lsb="5"/><mtx name="Ydieresis" width="1229" lsb="5"/><mtx name="Z" width="1126" lsb="37"/><mtx name="Zcaron" width="1126" lsb="37"/><mtx name="a" width="1025" lsb="67"/><mtx name="aacute" width="1025" lsb="67"/><mtx name="acircumflex" width="1025" lsb="67"/><mtx name="acute" width="614" lsb="200"/><mtx name="adieresis" width="1025" lsb="67"/><mtx name="ae" width="1685" lsb="67"/><mtx name="agrave" width="1025" lsb="67"/><mtx name="ain" width="1114" lsb="42"/><mtx name="ainfinal" width="922" lsb="54"/><mtx name="aininitial" width="1077" lsb="0"/><mtx name="ainisolated" width="1114" lsb="42"/><mtx name="ainmedial" width="807" lsb="0"/><mtx name="aleffinal" width="470" lsb="149"/><mtx name="alefisolated" width="424" lsb="201"/><mtx name="alefmaksura" width="1307" lsb="50"/><mtx name="alefmaksurafinal" width="1205" lsb="106"/><mtx name="alefmaksuraisolated" width="1307" lsb="50"/><mtx name="alefwasla" width="509" lsb="99"/><mtx name="alefwaslafinal" width="470" lsb="59"/><mtx name="alefwaslaisolated" width="509" lsb="99"/><mtx name="alefwithfathatanfinal" width="470" lsb="72"/><mtx name="alefwithfathatanisolated" width="424" lsb="72"/><mtx name="alefwithhamzaabove" width="424" lsb="102"/><mtx name="alefwithhamzaabovefinal" width="470" lsb="105"/><mtx name="alefwithhamzaaboveisolated" width="424" lsb="102"/><mtx name="alefwithhamzabelow" width="424" lsb="62"/><mtx name="alefwithhamzabelowfinal" width="470" lsb="112"/><mtx name="alefwithhamzabelowisolated" width="424" lsb="62"/><mtx name="alefwithmaddaabove" width="509" lsb="62"/><mtx name="alefwithmaddaabovefinal" width="470" lsb="62"/><mtx name="alefwithmaddaaboveisolated" width="509" lsb="62"/><mtx name="allahisolated" width="1262" lsb="21"/><mtx name="ampersand" width="1229" lsb="79"/><mtx name="arabicae" width="578" lsb="54"/><mtx name="arabicalef" width="424" lsb="201"/><mtx name="arabiccomma" width="653" lsb="171"/><mtx name="arabicfivepointedstar" width="815" lsb="51"/><mtx name="arabicindicdigiteight" width="1077" lsb="154"/><mtx name="arabicindicdigitfive" width="1077" lsb="190"/><mtx name="arabicindicdigitfour" width="1077" lsb="300"/><mtx name="arabicindicdigitnine" width="1077" lsb="219"/><mtx name="arabicindicdigitone" width="1077" lsb="302"/><mtx name="arabicindicdigitseven" width="1077" lsb="129"/><mtx name="arabicindicdigitsix" width="1077" lsb="175"/><mtx name="arabicindicdigitthree" width="1077" lsb="129"/><mtx name="arabicindicdigittwo" width="1077" lsb="183"/><mtx name="arabicindicdigitzero" width="1077" lsb="380"/><mtx name="arabickaf" width="1231" lsb="115"/><mtx name="arabicpercentsign" width="1077" lsb="133"/><mtx name="arabicquestionmark" width="730" lsb="67"/><mtx name="arabicsemicolon" width="653" lsb="160"/><mtx name="aring" width="1025" lsb="67"/><mtx name="asciicircum" width="865" lsb="49"/><mtx name="asciitilde" width="1076" lsb="78"/><mtx name="asterisk" width="1077" lsb="179"/><mtx name="at" width="1871" lsb="100"/><mtx name="atilde" width="1025" lsb="67"/><mtx name="b" width="1025" lsb="121"/><mtx name="backslash" width="512" lsb="0"/><mtx name="bar" width="479" lsb="169"/><mtx name="beh" width="1461" lsb="128"/><mtx name="behisolated" width="1461" lsb="128"/><mtx name="behmedial" width="500" lsb="0"/><mtx name="braceleft" width="616" lsb="51"/><mtx name="braceright" width="616" lsb="42"/><mtx name="bracketleft" width="512" lsb="125"/><mtx name="bracketright" width="512" lsb="35"/><mtx name="brokenbar" width="479" lsb="169"/><mtx name="bullet" width="645" lsb="98"/><mtx name="c" width="922" lsb="72"/><mtx name="caron" width="614" lsb="36"/><mtx name="ccedilla" width="922" lsb="72"/><mtx name="cedilla" width="614" lsb="96"/><mtx name="cent" width="1025" lsb="96"/><mtx name="circumflex" width="614" lsb="22"/><mtx name="colon" width="653" lsb="198"/><mtx name="comma" width="512" lsb="153"/><mtx name="copyright" width="1358" lsb="3"/><mtx name="currency" width="1139" lsb="74"/><mtx name="d" width="1025" lsb="63"/><mtx name="dad" width="2249" lsb="132"/><mtx name="dadisolated" width="2249" lsb="132"/><mtx name="dadmedial" width="1733" lsb="0"/><mtx name="dagger" width="1025" lsb="66"/><mtx name="daggerdbl" width="1025" lsb="66"/><mtx name="dal" width="691" lsb="165"/><mtx name="dalisolated" width="691" lsb="165"/><mtx name="damma" width="431" lsb="74"/><mtx name="dammahontatweel" width="1307" lsb="0"/><mtx name="dammaisolated" width="431" lsb="74"/><mtx name="dammalow" width="429" lsb="72"/><mtx name="dammaonhamza" width="424" lsb="23"/><mtx name="dammatan" width="483" lsb="68"/><mtx name="dammatanisolated" width="483" lsb="68"/><mtx name="dammatanlow" width="485" lsb="70"/><mtx name="dammatanonhamza" width="424" lsb="-5"/><mtx name="degree" width="737" lsb="115"/><mtx name="delete" width="1600" lsb="87"/><mtx name="dieresis" width="614" lsb="55"/><mtx name="divide" width="1077" lsb="92"/><mtx name="dollar" width="1025" lsb="66"/><mtx name="dotlessi" width="512" lsb="178"/><mtx name="e" width="1025" lsb="67"/><mtx name="eacute" width="1025" lsb="67"/><mtx name="ecircumflex" width="1025" lsb="67"/><mtx name="edieresis" width="1025" lsb="67"/><mtx name="egrave" width="1025" lsb="67"/><mtx name="eight" width="1077" lsb="126"/><mtx name="ellipsis" width="1843" lsb="215"/><mtx name="endash" width="1025" lsb="-4"/><mtx name="equal" width="1077" lsb="92"/><mtx name="eth" width="1025" lsb="61"/><mtx name="exclam" width="653" lsb="202"/><mtx name="exclamdown" width="653" lsb="202"/><mtx name="extendedarabicindicdigiteight" width="1077" lsb="154"/><mtx name="extendedarabicindicdigitfive" width="1077" lsb="152"/><mtx name="extendedarabicindicdigitfour" width="1077" lsb="158"/><mtx name="extendedarabicindicdigitnine" width="1077" lsb="219"/><mtx name="extendedarabicindicdigitone" width="1077" lsb="302"/><mtx name="extendedarabicindicdigitseven" width="1077" lsb="129"/><mtx name="extendedarabicindicdigitsix" width="1077" lsb="203"/><mtx name="extendedarabicindicdigitthree" width="1077" lsb="129"/><mtx name="extendedarabicindicdigittwo" width="1077" lsb="183"/><mtx name="extendedarabicindicdigitzero" width="1077" lsb="380"/><mtx name="f" width="512" lsb="17"/><mtx name="farsiyeh" width="1307" lsb="90"/><mtx name="farsiyehfinal" width="1205" lsb="106"/><mtx name="farsiyehisolated" width="1307" lsb="90"/><mtx name="fatha" width="410" lsb="68"/><mtx name="fathahontatweel" width="1307" lsb="0"/><mtx name="fathaisolated" width="410" lsb="68"/><mtx name="fathalow" width="412" lsb="70"/><mtx name="fathaonhamza" width="424" lsb="76"/><mtx name="fathatan" width="412" lsb="70"/><mtx name="fathatanisolated" width="412" lsb="70"/><mtx name="fathatanlow" width="412" lsb="70"/><mtx name="fathatanonhamza" width="424" lsb="70"/><mtx name="fathatanontatweel" width="1307" lsb="0"/><mtx name="feh" width="1615" lsb="109"/><mtx name="fehinitial" width="548" lsb="0"/><mtx name="fehisolated" width="1615" lsb="109"/><mtx name="fehmedial" width="538" lsb="0"/><mtx name="five" width="1077" lsb="98"/><mtx name="florin" width="1025" lsb="41"/><mtx name="four" width="1077" lsb="78"/><mtx name="g" width="1025" lsb="59"/><mtx name="gaf" width="1663" lsb="90"/><mtx name="gaffinal" width="1910" lsb="90"/><mtx name="gafinitial" width="807" lsb="0"/><mtx name="gafisolated" width="1663" lsb="90"/><mtx name="gafmedial" width="1054" lsb="0"/><mtx name="germandbls" width="1128" lsb="126"/><mtx name="ghain" width="1114" lsb="42"/><mtx name="ghainfinal" width="922" lsb="54"/><mtx name="ghaininitial" width="1077" lsb="0"/><mtx name="ghainisolated" width="1114" lsb="42"/><mtx name="ghainmedial" width="807" lsb="0"/><mtx name="glyph1" width="1024" lsb="128"/><mtx name="glyph2" width="0" lsb="0"/><mtx name="glyph99" width="650" lsb="0"/><mtx name="grave" width="614" lsb="80"/><mtx name="greater" width="1076" lsb="101"/><mtx name="guillemotleft" width="961" lsb="90"/><mtx name="guillemotright" width="961" lsb="90"/><mtx name="guilsinglleft" width="614" lsb="83"/><mtx name="guilsinglright" width="614" lsb="83"/><mtx name="h" width="1025" lsb="121"/><mtx name="hah" width="1153" lsb="42"/><mtx name="hahfinal" width="1077" lsb="54"/><mtx name="hahisolated" width="1153" lsb="42"/><mtx name="hahmedial" width="1085" lsb="0"/><mtx name="hamza" width="845" lsb="121"/><mtx name="hamzaisolated" width="845" lsb="121"/><mtx name="heh" width="1257" lsb="120"/><mtx name="hehfinal" width="768" lsb="61"/><mtx name="hehinitial" width="922" lsb="0"/><mtx name="hehisolated" width="578" lsb="54"/><mtx name="hehmedial" width="807" lsb="0"/><mtx name="highhamza" width="424" lsb="40"/><mtx name="hyphenminus" width="1077" lsb="92"/><mtx name="i" width="410" lsb="122"/><mtx name="iacute" width="512" lsb="91"/><mtx name="icircumflex" width="512" lsb="-27"/><mtx name="idieresis" width="512" lsb="6"/><mtx name="igrave" width="512" lsb="87"/><mtx name="j" width="409" lsb="-85"/><mtx name="jeem" width="1153" lsb="42"/><mtx name="jeemfinal" width="1077" lsb="54"/><mtx name="jeemisolated" width="1153" lsb="42"/><mtx name="jeemmedial" width="1085" lsb="0"/><mtx name="jeh" width="1001" lsb="144"/><mtx name="jehisolated" width="1001" lsb="144"/><mtx name="k" width="922" lsb="122"/><mtx name="kafisolated" width="1231" lsb="115"/><mtx name="kafmedial" width="807" lsb="0"/><mtx name="kasra" width="412" lsb="70"/><mtx name="kasrahontatweel" width="1307" lsb="0"/><mtx name="kasraisolated" width="412" lsb="70"/><mtx name="kasralow" width="412" lsb="70"/><mtx name="kasratan" width="412" lsb="70"/><mtx name="kasratanisolated" width="412" lsb="70"/><mtx name="kasratanlow" width="412" lsb="70"/><mtx name="keheh" width="1663" lsb="90"/><mtx name="kehehfinal" width="1910" lsb="90"/><mtx name="kehehinitial" width="807" lsb="0"/><mtx name="kehehisolated" width="1663" lsb="90"/><mtx name="kehehmedial" width="1054" lsb="0"/><mtx name="khah" width="1153" lsb="42"/><mtx name="khahfinal" width="1077" lsb="54"/><mtx name="khahisolated" width="1153" lsb="42"/><mtx name="khahmedial" width="1085" lsb="0"/><mtx name="l" width="409" lsb="118"/><mtx name="lam" width="1037" lsb="141"/><mtx name="lamisolated" width="424" lsb="0"/><mtx name="lammedial" width="424" lsb="0"/><mtx name="lamwithaleffinal" width="1230" lsb="65"/><mtx name="lamwithalefhamzaabovefinal" width="1230" lsb="65"/><mtx name="lamwithalefhamzaaboveisolatedd" width="1114" lsb="30"/><mtx name="lamwithalefhamzabelowfinal" width="1230" lsb="65"/><mtx name="lamwithalefhamzabelowisolated" width="1114" lsb="59"/><mtx name="lamwithalefisolated" width="1114" lsb="59"/><mtx name="lamwithalefmaddaabovefinal" width="1230" lsb="46"/><mtx name="lamwithalefmaddaaboveisolatedd" width="1114" lsb="46"/><mtx name="lamwithmeemwithjeeminitial" width="2048" lsb="0"/><mtx name="lefttoright" width="45" lsb="0"/><mtx name="less" width="1076" lsb="101"/><mtx name="logicalnot" width="1076" lsb="103"/><mtx name="m" width="1535" lsb="121"/><mtx name="macron" width="1018" lsb="-28"/><mtx name="meem" width="692" lsb="105"/><mtx name="meemisolated" width="692" lsb="105"/><mtx name="meemmedial" width="807" lsb="0"/><mtx name="micro" width="1062" lsb="144"/><mtx name="multiply" width="1077" lsb="125"/><mtx name="n" width="1025" lsb="121"/><mtx name="nbspace" width="650" lsb="0"/><mtx name="nine" width="1077" lsb="80"/><mtx name="noon" width="1077" lsb="139"/><mtx name="noonisolated" width="1077" lsb="139"/><mtx name="noonmedial" width="500" lsb="0"/><mtx name="ntilde" width="1025" lsb="121"/><mtx name="numbersign" width="1025" lsb="19"/><mtx name="o" width="1025" lsb="61"/><mtx name="oacute" width="1025" lsb="61"/><mtx name="ocircumflex" width="1025" lsb="61"/><mtx name="odieresis" width="1025" lsb="61"/><mtx name="oe" width="1740" lsb="74"/><mtx name="ograve" width="1025" lsb="61"/><mtx name="one" width="1077" lsb="239"/><mtx name="onehalf" width="1537" lsb="96"/><mtx name="onequarter" width="1537" lsb="96"/><mtx name="onesuperior" width="614" lsb="96"/><mtx name="ordfeminine" width="682" lsb="42"/><mtx name="ordmasculine" width="673" lsb="40"/><mtx name="ornateleftparenthesis" width="1135" lsb="55"/><mtx name="ornaterightparenthesis" width="1135" lsb="59"/><mtx name="oslash" width="1025" lsb="61"/><mtx name="otilde" width="1025" lsb="61"/><mtx name="p" width="1025" lsb="121"/><mtx name="paragraph" width="990" lsb="1"/><mtx name="parenleft" width="653" lsb="127"/><mtx name="parenright" width="653" lsb="84"/><mtx name="peh" width="1461" lsb="128"/><mtx name="pehisolated" width="1461" lsb="128"/><mtx name="pehmedial" width="500" lsb="-4"/><mtx name="percent" width="1639" lsb="107"/><mtx name="period" width="653" lsb="199"/><mtx name="periodcentered" width="614" lsb="447"/><mtx name="perthousand" width="1843" lsb="33"/><mtx name="plus" width="1077" lsb="92"/><mtx name="plusminus" width="1077" lsb="92"/><mtx name="q" width="1025" lsb="65"/><mtx name="qaf" width="1191" lsb="140"/><mtx name="qafinitial" width="548" lsb="0"/><mtx name="qafisolated" width="1191" lsb="140"/><mtx name="qafmedial" width="538" lsb="0"/><mtx name="question" width="1025" lsb="81"/><mtx name="questiondown" width="1126" lsb="142"/><mtx name="quotedash" width="1843" lsb="0"/><mtx name="quotedbl" width="457" lsb="80"/><mtx name="quotedblbase" width="614" lsb="64"/><mtx name="quotedblleft" width="614" lsb="75"/><mtx name="quotedblright" width="614" lsb="64"/><mtx name="quoteleft" width="691" lsb="238"/><mtx name="quoteright" width="691" lsb="164"/><mtx name="quotesinglbase" width="409" lsb="97"/><mtx name="quotesingle" width="352" lsb="81"/><mtx name="r" width="614" lsb="120"/><mtx name="rayaleflam" width="1716" lsb="53"/><mtx name="registered" width="1358" lsb="3"/><mtx name="reh" width="1001" lsb="144"/><mtx name="rehisolated" width="1001" lsb="144"/><mtx name="righttoleft" width="45" lsb="-258"/><mtx name="s" width="922" lsb="57"/><mtx name="sad" width="2249" lsb="132"/><mtx name="sadisolated" width="2249" lsb="132"/><mtx name="sadmedial" width="1733" lsb="0"/><mtx name="scaron" width="922" lsb="57"/><mtx name="section" width="1025" lsb="73"/><mtx name="seen" width="1682" lsb="132"/><mtx name="seenisolated" width="1682" lsb="132"/><mtx name="seenmedial" width="1087" lsb="0"/><mtx name="semicolon" width="512" lsb="153"/><mtx name="seven" width="1077" lsb="69"/><mtx name="sfthyphen" width="614" lsb="58"/><mtx name="shadda" width="433" lsb="70"/><mtx name="shaddahontatweel" width="1307" lsb="0"/><mtx name="shaddaisolated" width="433" lsb="70"/><mtx name="shaddalow" width="433" lsb="70"/><mtx name="shaddawithdammaisolated" width="437" lsb="68"/><mtx name="shaddawithdammalow" width="433" lsb="64"/><mtx name="shaddawithdammamedial" width="1307" lsb="0"/><mtx name="shaddawithdammatanisolated" width="463" lsb="48"/><mtx name="shaddawithdammatanlow" width="463" lsb="48"/><mtx name="shaddawithfathaisolated" width="433" lsb="70"/><mtx name="shaddawithfathalow" width="433" lsb="70"/><mtx name="shaddawithfathamedial" width="1307" lsb="0"/><mtx name="shaddawithfathatanisolated" width="433" lsb="70"/><mtx name="shaddawithfathatanlow" width="433" lsb="70"/><mtx name="shaddawithkasraisolated" width="433" lsb="70"/><mtx name="shaddawithkasralow" width="433" lsb="70"/><mtx name="shaddawithkasramedial" width="1307" lsb="0"/><mtx name="shaddawithkasratanisolated" width="433" lsb="70"/><mtx name="shaddawithkasratanlow" width="433" lsb="70"/><mtx name="sheen" width="1682" lsb="132"/><mtx name="sheenisolated" width="1682" lsb="132"/><mtx name="sheenmedial" width="1087" lsb="0"/><mtx name="six" width="1077" lsb="85"/><mtx name="slash" width="653" lsb="6"/><mtx name="smallhighmadda" width="509" lsb="0"/><mtx name="space" width="650" lsb="0"/><mtx name="sterling" width="1025" lsb="24"/><mtx name="sukun" width="337" lsb="70"/><mtx name="sukunisolated" width="337" lsb="70"/><mtx name="sukunlow" width="337" lsb="70"/><mtx name="sukunonhamza" width="424" lsb="87"/><mtx name="sukunontatweel" width="1307" lsb="0"/><mtx name="superscriptalef" width="239" lsb="67"/><mtx name="t" width="512" lsb="32"/><mtx name="tah" width="1191" lsb="0"/><mtx name="tahisolated" width="1191" lsb="0"/><mtx name="tatweel" width="146" lsb="0"/><mtx name="tcheh" width="1153" lsb="42"/><mtx name="tchehfinal" width="1077" lsb="54"/><mtx name="tchehisolated" width="1153" lsb="42"/><mtx name="tchehmedial" width="1085" lsb="0"/><mtx name="teh" width="1461" lsb="128"/><mtx name="tehisolated" width="1461" lsb="128"/><mtx name="tehmarbuta" width="578" lsb="0"/><mtx name="tehmarbutafinal" width="768" lsb="61"/><mtx name="tehmarbutaisolated" width="578" lsb="0"/><mtx name="tehmedial" width="500" lsb="0"/><mtx name="thal" width="691" lsb="165"/><mtx name="thalisolated" width="691" lsb="165"/><mtx name="theh" width="1461" lsb="128"/><mtx name="thehisolated" width="1461" lsb="128"/><mtx name="thehmedial" width="500" lsb="0"/><mtx name="thorn" width="1025" lsb="121"/><mtx name="three" width="1077" lsb="121"/><mtx name="threequarters" width="1537" lsb="30"/><mtx name="threesuperior" width="614" lsb="30"/><mtx name="tilde" width="731" lsb="63"/><mtx name="trademark" width="1843" lsb="202"/><mtx name="two" width="1077" lsb="93"/><mtx name="twosuperior" width="614" lsb="22"/><mtx name="u" width="1025" lsb="118"/><mtx name="uacute" width="1025" lsb="118"/><mtx name="ucircumflex" width="1025" lsb="118"/><mtx name="udieresis" width="1025" lsb="118"/><mtx name="ugrave" width="1025" lsb="118"/><mtx name="underscore" width="1025" lsb="-28"/><mtx name="uni000D" width="650" lsb="0"/><mtx name="uni0649.init" width="500" lsb="0"/><mtx name="uni0654" width="0" lsb="-170"/><mtx name="uni0655" width="0" lsb="-170"/><mtx name="uni0655064D" width="0" lsb="-170"/><mtx name="uni06550650" width="0" lsb="-170"/><mtx name="uni06A5.init" width="548" lsb="0"/><mtx name="uni25CC" width="981" lsb="104"/><mtx name="v" width="922" lsb="23"/><mtx name="veh" width="1615" lsb="109"/><mtx name="vehisolated" width="1615" lsb="109"/><mtx name="vehmedial" width="538" lsb="0"/><mtx name="w" width="1331" lsb="5"/><mtx name="waw" width="885" lsb="120"/><mtx name="wawisolated" width="885" lsb="120"/><mtx name="wawwithhamzaabove" width="885" lsb="120"/><mtx name="wawwithhamzaaboveisolated" width="885" lsb="120"/><mtx name="x" width="922" lsb="13"/><mtx name="y" width="922" lsb="30"/><mtx name="yacute" width="922" lsb="30"/><mtx name="ydieresis" width="922" lsb="30"/><mtx name="yeh" width="1307" lsb="90"/><mtx name="yehfinal" width="1205" lsb="106"/><mtx name="yehisolated" width="1307" lsb="90"/><mtx name="yehmedial" width="500" lsb="0"/><mtx name="yehwithhamzaabove" width="1307" lsb="66"/><mtx name="yehwithhamzaabovefinal" width="1205" lsb="104"/><mtx name="yehwithhamzaaboveisolated" width="1307" lsb="66"/><mtx name="yehwithhamzaabovemedial" width="500" lsb="0"/><mtx name="yen" width="1025" lsb="-3"/><mtx name="z" width="922" lsb="36"/><mtx name="zah" width="1191" lsb="0"/><mtx name="zahisolated" width="1191" lsb="0"/><mtx name="zain" width="1001" lsb="144"/><mtx name="zainisolated" width="1001" lsb="144"/><mtx name="zcaron" width="922" lsb="36"/><mtx name="zero" width="1077" lsb="80"/><mtx name="zerojoin" width="45" lsb="-114"/><mtx name="zeronojoin" width="45" lsb="0"/><mtx name="zerowidthnobreakspace" width="0" lsb="0"/></hmtx><GDEF><Version value="1.0"/><GlyphClassDef Format="2"><ClassDef glyph=".notdef" class="1"/><ClassDef glyph="A" class="1"/><ClassDef glyph="AE" class="1"/><ClassDef glyph="Aacute" class="1"/><ClassDef glyph="Acircumflex" class="1"/><ClassDef glyph="Adieresis" class="1"/><ClassDef glyph="Agrave" class="1"/><ClassDef glyph="Aring" class="1"/><ClassDef glyph="Atilde" class="1"/><ClassDef glyph="B" class="1"/><ClassDef glyph="C" class="1"/><ClassDef glyph="Ccedilla" class="1"/><ClassDef glyph="D" class="1"/><ClassDef glyph="E" class="1"/><ClassDef glyph="Eacute" class="1"/><ClassDef glyph="Ecircumflex" class="1"/><ClassDef glyph="Edieresis" class="1"/><ClassDef glyph="Egrave" class="1"/><ClassDef glyph="Eth" class="1"/><ClassDef glyph="Euro" class="1"/><ClassDef glyph="F" class="1"/><ClassDef glyph="G" class="1"/><ClassDef glyph="H" class="1"/><ClassDef glyph="I" class="1"/><ClassDef glyph="Iacute" class="1"/><ClassDef glyph="Icircumflex" class="1"/><ClassDef glyph="Idieresis" class="1"/><ClassDef glyph="Igrave" class="1"/><ClassDef glyph="J" class="1"/><ClassDef glyph="K" class="1"/><ClassDef glyph="L" class="1"/><ClassDef glyph="M" class="1"/><ClassDef glyph="N" class="1"/><ClassDef glyph="Ntilde" class="1"/><ClassDef glyph="O" class="1"/><ClassDef glyph="OE" class="1"/><ClassDef glyph="Oacute" class="1"/><ClassDef glyph="Ocircumflex" class="1"/><ClassDef glyph="Odieresis" class="1"/><ClassDef glyph="Ograve" class="1"/><ClassDef glyph="Oslash" class="1"/><ClassDef glyph="Otilde" class="1"/><ClassDef glyph="P" class="1"/><ClassDef glyph="Q" class="1"/><ClassDef glyph="R" class="1"/><ClassDef glyph="S" class="1"/><ClassDef glyph="Scaron" class="1"/><ClassDef glyph="T" class="1"/><ClassDef glyph="Thorn" class="1"/><ClassDef glyph="U" class="1"/><ClassDef glyph="Uacute" class="1"/><ClassDef glyph="Ucircumflex" class="1"/><ClassDef glyph="Udieresis" class="1"/><ClassDef glyph="Ugrave" class="1"/><ClassDef glyph="V" class="1"/><ClassDef glyph="W" class="1"/><ClassDef glyph="X" class="1"/><ClassDef glyph="Y" class="1"/><ClassDef glyph="Yacute" class="1"/><ClassDef glyph="Ydieresis" class="1"/><ClassDef glyph="Z" class="1"/><ClassDef glyph="Zcaron" class="1"/><ClassDef glyph="a" class="1"/><ClassDef glyph="aacute" class="1"/><ClassDef glyph="acircumflex" class="1"/><ClassDef glyph="acute" class="1"/><ClassDef glyph="adieresis" class="1"/><ClassDef glyph="ae" class="1"/><ClassDef glyph="agrave" class="1"/><ClassDef glyph="ain" class="1"/><ClassDef glyph="ainfinal" class="1"/><ClassDef glyph="aininitial" class="1"/><ClassDef glyph="ainisolated" class="1"/><ClassDef glyph="ainmedial" class="1"/><ClassDef glyph="aleffinal" class="1"/><ClassDef glyph="alefisolated" class="1"/><ClassDef glyph="alefmaksura" class="1"/><ClassDef glyph="alefmaksurafinal" class="1"/><ClassDef glyph="alefmaksuraisolated" class="1"/><ClassDef glyph="alefwasla" class="1"/><ClassDef glyph="alefwaslafinal" class="1"/><ClassDef glyph="alefwaslaisolated" class="1"/><ClassDef glyph="alefwithfathatanfinal" class="1"/><ClassDef glyph="alefwithfathatanisolated" class="1"/><ClassDef glyph="alefwithhamzaabove" class="1"/><ClassDef glyph="alefwithhamzaabovefinal" class="1"/><ClassDef glyph="alefwithhamzaaboveisolated" class="1"/><ClassDef glyph="alefwithhamzabelow" class="1"/><ClassDef glyph="alefwithhamzabelowfinal" class="1"/><ClassDef glyph="alefwithhamzabelowisolated" class="1"/><ClassDef glyph="alefwithmaddaabove" class="1"/><ClassDef glyph="alefwithmaddaabovefinal" class="1"/><ClassDef glyph="alefwithmaddaaboveisolated" class="1"/><ClassDef glyph="allahisolated" class="2"/><ClassDef glyph="ampersand" class="1"/><ClassDef glyph="arabicae" class="1"/><ClassDef glyph="arabicalef" class="1"/><ClassDef glyph="arabiccomma" class="1"/><ClassDef glyph="arabicfivepointedstar" class="1"/><ClassDef glyph="arabicindicdigiteight" class="1"/><ClassDef glyph="arabicindicdigitfive" class="1"/><ClassDef glyph="arabicindicdigitfour" class="1"/><ClassDef glyph="arabicindicdigitnine" class="1"/><ClassDef glyph="arabicindicdigitone" class="1"/><ClassDef glyph="arabicindicdigitseven" class="1"/><ClassDef glyph="arabicindicdigitsix" class="1"/><ClassDef glyph="arabicindicdigitthree" class="1"/><ClassDef glyph="arabicindicdigittwo" class="1"/><ClassDef glyph="arabicindicdigitzero" class="1"/><ClassDef glyph="arabickaf" class="1"/><ClassDef glyph="arabicpercentsign" class="1"/><ClassDef glyph="arabicquestionmark" class="1"/><ClassDef glyph="arabicsemicolon" class="1"/><ClassDef glyph="aring" class="1"/><ClassDef glyph="asciicircum" class="1"/><ClassDef glyph="asciitilde" class="1"/><ClassDef glyph="asterisk" class="1"/><ClassDef glyph="at" class="1"/><ClassDef glyph="atilde" class="1"/><ClassDef glyph="b" class="1"/><ClassDef glyph="backslash" class="1"/><ClassDef glyph="bar" class="1"/><ClassDef glyph="beh" class="1"/><ClassDef glyph="behisolated" class="1"/><ClassDef glyph="behmedial" class="1"/><ClassDef glyph="braceleft" class="1"/><ClassDef glyph="braceright" class="1"/><ClassDef glyph="bracketleft" class="1"/><ClassDef glyph="bracketright" class="1"/><ClassDef glyph="brokenbar" class="1"/><ClassDef glyph="bullet" class="1"/><ClassDef glyph="c" class="1"/><ClassDef glyph="caron" class="1"/><ClassDef glyph="ccedilla" class="1"/><ClassDef glyph="cedilla" class="1"/><ClassDef glyph="cent" class="1"/><ClassDef glyph="circumflex" class="1"/><ClassDef glyph="colon" class="1"/><ClassDef glyph="comma" class="1"/><ClassDef glyph="copyright" class="1"/><ClassDef glyph="currency" class="1"/><ClassDef glyph="d" class="1"/><ClassDef glyph="dad" class="1"/><ClassDef glyph="dadisolated" class="1"/><ClassDef glyph="dadmedial" class="1"/><ClassDef glyph="dagger" class="1"/><ClassDef glyph="daggerdbl" class="1"/><ClassDef glyph="dal" class="1"/><ClassDef glyph="dalisolated" class="1"/><ClassDef glyph="damma" class="3"/><ClassDef glyph="dammahontatweel" class="3"/><ClassDef glyph="dammaisolated" class="3"/><ClassDef glyph="dammalow" class="1"/><ClassDef glyph="dammaonhamza" class="3"/><ClassDef glyph="dammatan" class="3"/><ClassDef glyph="dammatanisolated" class="3"/><ClassDef glyph="dammatanlow" class="1"/><ClassDef glyph="dammatanonhamza" class="3"/><ClassDef glyph="degree" class="1"/><ClassDef glyph="delete" class="1"/><ClassDef glyph="dieresis" class="1"/><ClassDef glyph="divide" class="1"/><ClassDef glyph="dollar" class="1"/><ClassDef glyph="dotlessi" class="1"/><ClassDef glyph="e" class="1"/><ClassDef glyph="eacute" class="1"/><ClassDef glyph="ecircumflex" class="1"/><ClassDef glyph="edieresis" class="1"/><ClassDef glyph="egrave" class="1"/><ClassDef glyph="eight" class="1"/><ClassDef glyph="ellipsis" class="1"/><ClassDef glyph="endash" class="1"/><ClassDef glyph="equal" class="1"/><ClassDef glyph="eth" class="1"/><ClassDef glyph="exclam" class="1"/><ClassDef glyph="exclamdown" class="1"/><ClassDef glyph="extendedarabicindicdigiteight" class="1"/><ClassDef glyph="extendedarabicindicdigitfive" class="1"/><ClassDef glyph="extendedarabicindicdigitfour" class="1"/><ClassDef glyph="extendedarabicindicdigitnine" class="1"/><ClassDef glyph="extendedarabicindicdigitone" class="1"/><ClassDef glyph="extendedarabicindicdigitseven" class="1"/><ClassDef glyph="extendedarabicindicdigitsix" class="1"/><ClassDef glyph="extendedarabicindicdigitthree" class="1"/><ClassDef glyph="extendedarabicindicdigittwo" class="1"/><ClassDef glyph="extendedarabicindicdigitzero" class="1"/><ClassDef glyph="f" class="1"/><ClassDef glyph="farsiyeh" class="1"/><ClassDef glyph="farsiyehfinal" class="1"/><ClassDef glyph="farsiyehisolated" class="1"/><ClassDef glyph="fatha" class="3"/><ClassDef glyph="fathahontatweel" class="3"/><ClassDef glyph="fathaisolated" class="3"/><ClassDef glyph="fathalow" class="1"/><ClassDef glyph="fathaonhamza" class="3"/><ClassDef glyph="fathatan" class="3"/><ClassDef glyph="fathatanisolated" class="3"/><ClassDef glyph="fathatanlow" class="1"/><ClassDef glyph="fathatanonhamza" class="3"/><ClassDef glyph="fathatanontatweel" class="1"/><ClassDef glyph="feh" class="1"/><ClassDef glyph="fehinitial" class="1"/><ClassDef glyph="fehisolated" class="1"/><ClassDef glyph="fehmedial" class="1"/><ClassDef glyph="five" class="1"/><ClassDef glyph="florin" class="1"/><ClassDef glyph="four" class="1"/><ClassDef glyph="g" class="1"/><ClassDef glyph="gaf" class="1"/><ClassDef glyph="gaffinal" class="1"/><ClassDef glyph="gafinitial" class="1"/><ClassDef glyph="gafisolated" class="1"/><ClassDef glyph="gafmedial" class="1"/><ClassDef glyph="germandbls" class="1"/><ClassDef glyph="ghain" class="1"/><ClassDef glyph="ghainfinal" class="1"/><ClassDef glyph="ghaininitial" class="1"/><ClassDef glyph="ghainisolated" class="1"/><ClassDef glyph="ghainmedial" class="1"/><ClassDef glyph="glyph1" class="1"/><ClassDef glyph="glyph2" class="1"/><ClassDef glyph="glyph99" class="1"/><ClassDef glyph="grave" class="1"/><ClassDef glyph="greater" class="1"/><ClassDef glyph="guillemotleft" class="1"/><ClassDef glyph="guillemotright" class="1"/><ClassDef glyph="guilsinglleft" class="1"/><ClassDef glyph="guilsinglright" class="1"/><ClassDef glyph="h" class="1"/><ClassDef glyph="hah" class="1"/><ClassDef glyph="hahfinal" class="1"/><ClassDef glyph="hahisolated" class="1"/><ClassDef glyph="hahmedial" class="1"/><ClassDef glyph="hamza" class="1"/><ClassDef glyph="hamzaisolated" class="3"/><ClassDef glyph="heh" class="1"/><ClassDef glyph="hehfinal" class="1"/><ClassDef glyph="hehinitial" class="1"/><ClassDef glyph="hehisolated" class="1"/><ClassDef glyph="hehmedial" class="1"/><ClassDef glyph="highhamza" class="1"/><ClassDef glyph="hyphenminus" class="1"/><ClassDef glyph="i" class="1"/><ClassDef glyph="iacute" class="1"/><ClassDef glyph="icircumflex" class="1"/><ClassDef glyph="idieresis" class="1"/><ClassDef glyph="igrave" class="1"/><ClassDef glyph="j" class="1"/><ClassDef glyph="jeem" class="1"/><ClassDef glyph="jeemfinal" class="1"/><ClassDef glyph="jeemisolated" class="1"/><ClassDef glyph="jeemmedial" class="1"/><ClassDef glyph="jeh" class="1"/><ClassDef glyph="jehisolated" class="1"/><ClassDef glyph="k" class="1"/><ClassDef glyph="kafisolated" class="1"/><ClassDef glyph="kafmedial" class="1"/><ClassDef glyph="kasra" class="3"/><ClassDef glyph="kasrahontatweel" class="3"/><ClassDef glyph="kasraisolated" class="3"/><ClassDef glyph="kasralow" class="1"/><ClassDef glyph="kasratan" class="3"/><ClassDef glyph="kasratanisolated" class="3"/><ClassDef glyph="kasratanlow" class="1"/><ClassDef glyph="keheh" class="1"/><ClassDef glyph="kehehfinal" class="1"/><ClassDef glyph="kehehinitial" class="1"/><ClassDef glyph="kehehisolated" class="1"/><ClassDef glyph="kehehmedial" class="1"/><ClassDef glyph="khah" class="1"/><ClassDef glyph="khahfinal" class="1"/><ClassDef glyph="khahisolated" class="1"/><ClassDef glyph="khahmedial" class="1"/><ClassDef glyph="l" class="1"/><ClassDef glyph="lam" class="1"/><ClassDef glyph="lamisolated" class="1"/><ClassDef glyph="lammedial" class="1"/><ClassDef glyph="lamwithaleffinal" class="2"/><ClassDef glyph="lamwithalefhamzaabovefinal" class="2"/><ClassDef glyph="lamwithalefhamzaaboveisolatedd" class="2"/><ClassDef glyph="lamwithalefhamzabelowfinal" class="2"/><ClassDef glyph="lamwithalefhamzabelowisolated" class="2"/><ClassDef glyph="lamwithalefisolated" class="2"/><ClassDef glyph="lamwithalefmaddaabovefinal" class="2"/><ClassDef glyph="lamwithalefmaddaaboveisolatedd" class="2"/><ClassDef glyph="lamwithmeemwithjeeminitial" class="1"/><ClassDef glyph="lefttoright" class="1"/><ClassDef glyph="less" class="1"/><ClassDef glyph="logicalnot" class="1"/><ClassDef glyph="m" class="1"/><ClassDef glyph="macron" class="1"/><ClassDef glyph="meem" class="1"/><ClassDef glyph="meemisolated" class="1"/><ClassDef glyph="meemmedial" class="1"/><ClassDef glyph="micro" class="1"/><ClassDef glyph="multiply" class="1"/><ClassDef glyph="n" class="1"/><ClassDef glyph="nbspace" class="1"/><ClassDef glyph="nine" class="1"/><ClassDef glyph="noon" class="1"/><ClassDef glyph="noonisolated" class="1"/><ClassDef glyph="noonmedial" class="1"/><ClassDef glyph="ntilde" class="1"/><ClassDef glyph="numbersign" class="1"/><ClassDef glyph="o" class="1"/><ClassDef glyph="oacute" class="1"/><ClassDef glyph="ocircumflex" class="1"/><ClassDef glyph="odieresis" class="1"/><ClassDef glyph="oe" class="1"/><ClassDef glyph="ograve" class="1"/><ClassDef glyph="one" class="1"/><ClassDef glyph="onehalf" class="1"/><ClassDef glyph="onequarter" class="1"/><ClassDef glyph="onesuperior" class="1"/><ClassDef glyph="ordfeminine" class="1"/><ClassDef glyph="ordmasculine" class="1"/><ClassDef glyph="ornateleftparenthesis" class="1"/><ClassDef glyph="ornaterightparenthesis" class="1"/><ClassDef glyph="oslash" class="1"/><ClassDef glyph="otilde" class="1"/><ClassDef glyph="p" class="1"/><ClassDef glyph="paragraph" class="1"/><ClassDef glyph="parenleft" class="1"/><ClassDef glyph="parenright" class="1"/><ClassDef glyph="peh" class="1"/><ClassDef glyph="pehisolated" class="1"/><ClassDef glyph="pehmedial" class="1"/><ClassDef glyph="percent" class="1"/><ClassDef glyph="period" class="1"/><ClassDef glyph="periodcentered" class="1"/><ClassDef glyph="perthousand" class="1"/><ClassDef glyph="plus" class="1"/><ClassDef glyph="plusminus" class="1"/><ClassDef glyph="q" class="1"/><ClassDef glyph="qaf" class="1"/><ClassDef glyph="qafinitial" class="1"/><ClassDef glyph="qafisolated" class="1"/><ClassDef glyph="qafmedial" class="1"/><ClassDef glyph="question" class="1"/><ClassDef glyph="questiondown" class="1"/><ClassDef glyph="quotedash" class="1"/><ClassDef glyph="quotedbl" class="1"/><ClassDef glyph="quotedblbase" class="1"/><ClassDef glyph="quotedblleft" class="1"/><ClassDef glyph="quotedblright" class="1"/><ClassDef glyph="quoteleft" class="1"/><ClassDef glyph="quoteright" class="1"/><ClassDef glyph="quotesinglbase" class="1"/><ClassDef glyph="quotesingle" class="1"/><ClassDef glyph="r" class="1"/><ClassDef glyph="rayaleflam" class="2"/><ClassDef glyph="registered" class="1"/><ClassDef glyph="reh" class="1"/><ClassDef glyph="rehisolated" class="1"/><ClassDef glyph="righttoleft" class="1"/><ClassDef glyph="s" class="1"/><ClassDef glyph="sad" class="1"/><ClassDef glyph="sadisolated" class="1"/><ClassDef glyph="sadmedial" class="1"/><ClassDef glyph="scaron" class="1"/><ClassDef glyph="section" class="1"/><ClassDef glyph="seen" class="1"/><ClassDef glyph="seenisolated" class="1"/><ClassDef glyph="seenmedial" class="1"/><ClassDef glyph="semicolon" class="1"/><ClassDef glyph="seven" class="1"/><ClassDef glyph="sfthyphen" class="1"/><ClassDef glyph="shadda" class="3"/><ClassDef glyph="shaddahontatweel" class="3"/><ClassDef glyph="shaddaisolated" class="3"/><ClassDef glyph="shaddalow" class="1"/><ClassDef glyph="shaddawithdammaisolated" class="3"/><ClassDef glyph="shaddawithdammalow" class="3"/><ClassDef glyph="shaddawithdammamedial" class="1"/><ClassDef glyph="shaddawithdammatanisolated" class="1"/><ClassDef glyph="shaddawithdammatanlow" class="3"/><ClassDef glyph="shaddawithfathaisolated" class="3"/><ClassDef glyph="shaddawithfathalow" class="3"/><ClassDef glyph="shaddawithfathamedial" class="1"/><ClassDef glyph="shaddawithfathatanisolated" class="1"/><ClassDef glyph="shaddawithfathatanlow" class="3"/><ClassDef glyph="shaddawithkasraisolated" class="3"/><ClassDef glyph="shaddawithkasralow" class="3"/><ClassDef glyph="shaddawithkasramedial" class="1"/><ClassDef glyph="shaddawithkasratanisolated" class="1"/><ClassDef glyph="shaddawithkasratanlow" class="3"/><ClassDef glyph="sheen" class="1"/><ClassDef glyph="sheenisolated" class="1"/><ClassDef glyph="sheenmedial" class="1"/><ClassDef glyph="six" class="1"/><ClassDef glyph="slash" class="1"/><ClassDef glyph="smallhighmadda" class="3"/><ClassDef glyph="space" class="1"/><ClassDef glyph="sterling" class="1"/><ClassDef glyph="sukun" class="3"/><ClassDef glyph="sukunisolated" class="3"/><ClassDef glyph="sukunlow" class="1"/><ClassDef glyph="sukunonhamza" class="3"/><ClassDef glyph="sukunontatweel" class="3"/><ClassDef glyph="superscriptalef" class="3"/><ClassDef glyph="t" class="1"/><ClassDef glyph="tah" class="1"/><ClassDef glyph="tahisolated" class="1"/><ClassDef glyph="tatweel" class="1"/><ClassDef glyph="tcheh" class="1"/><ClassDef glyph="tchehfinal" class="1"/><ClassDef glyph="tchehisolated" class="1"/><ClassDef glyph="tchehmedial" class="1"/><ClassDef glyph="teh" class="1"/><ClassDef glyph="tehisolated" class="1"/><ClassDef glyph="tehmarbuta" class="1"/><ClassDef glyph="tehmarbutafinal" class="1"/><ClassDef glyph="tehmarbutaisolated" class="1"/><ClassDef glyph="tehmedial" class="1"/><ClassDef glyph="thal" class="1"/><ClassDef glyph="thalisolated" class="1"/><ClassDef glyph="theh" class="1"/><ClassDef glyph="thehisolated" class="1"/><ClassDef glyph="thehmedial" class="1"/><ClassDef glyph="thorn" class="1"/><ClassDef glyph="three" class="1"/><ClassDef glyph="threequarters" class="1"/><ClassDef glyph="threesuperior" class="1"/><ClassDef glyph="tilde" class="1"/><ClassDef glyph="trademark" class="1"/><ClassDef glyph="two" class="1"/><ClassDef glyph="twosuperior" class="1"/><ClassDef glyph="u" class="1"/><ClassDef glyph="uacute" class="1"/><ClassDef glyph="ucircumflex" class="1"/><ClassDef glyph="udieresis" class="1"/><ClassDef glyph="ugrave" class="1"/><ClassDef glyph="underscore" class="1"/><ClassDef glyph="uni000D" class="1"/><ClassDef glyph="uni0649.init" class="1"/><ClassDef glyph="uni0654" class="3"/><ClassDef glyph="uni0655" class="3"/><ClassDef glyph="uni0655064D" class="3"/><ClassDef glyph="uni06550650" class="3"/><ClassDef glyph="uni06A5.init" class="1"/><ClassDef glyph="uni25CC" class="1"/><ClassDef glyph="v" class="1"/><ClassDef glyph="veh" class="1"/><ClassDef glyph="vehisolated" class="1"/><ClassDef glyph="vehmedial" class="1"/><ClassDef glyph="w" class="1"/><ClassDef glyph="waw" class="1"/><ClassDef glyph="wawisolated" class="1"/><ClassDef glyph="wawwithhamzaabove" class="1"/><ClassDef glyph="wawwithhamzaaboveisolated" class="1"/><ClassDef glyph="x" class="1"/><ClassDef glyph="y" class="1"/><ClassDef glyph="yacute" class="1"/><ClassDef glyph="ydieresis" class="1"/><ClassDef glyph="yeh" class="1"/><ClassDef glyph="yehfinal" class="1"/><ClassDef glyph="yehisolated" class="1"/><ClassDef glyph="yehmedial" class="1"/><ClassDef glyph="yehwithhamzaabove" class="1"/><ClassDef glyph="yehwithhamzaabovefinal" class="1"/><ClassDef glyph="yehwithhamzaaboveisolated" class="1"/><ClassDef glyph="yehwithhamzaabovemedial" class="1"/><ClassDef glyph="yen" class="1"/><ClassDef glyph="z" class="1"/><ClassDef glyph="zah" class="1"/><ClassDef glyph="zahisolated" class="1"/><ClassDef glyph="zain" class="1"/><ClassDef glyph="zainisolated" class="1"/><ClassDef glyph="zcaron" class="1"/><ClassDef glyph="zero" class="1"/><ClassDef glyph="zerojoin" class="1"/><ClassDef glyph="zeronojoin" class="1"/><ClassDef glyph="zerowidthnobreakspace" class="1"/></GlyphClassDef><LigCaretList><Coverage Format="1"></Coverage></LigCaretList></GDEF><GSUB><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="4"/><FeatureIndex index="2" value="6"/><FeatureIndex index="3" value="10"/><FeatureIndex index="4" value="12"/><FeatureIndex index="5" value="8"/><FeatureIndex index="6" value="2"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="FAR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="5"/><FeatureIndex index="2" value="7"/><FeatureIndex index="3" value="11"/><FeatureIndex index="4" value="13"/><FeatureIndex index="5" value="9"/><FeatureIndex index="6" value="3"/></LangSys></LangSysRecord></Script></ScriptRecord><ScriptRecord index="1"><ScriptTag value="latn"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/></DefaultLangSys></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/><LookupListIndex index="1" value="1"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/><LookupListIndex index="1" value="1"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="4"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="4"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="5"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="5"/></Feature></FeatureRecord><FeatureRecord index="6"><FeatureTag value="isol"/><Feature><LookupListIndex index="0" value="2"/><LookupListIndex index="1" value="3"/></Feature></FeatureRecord><FeatureRecord index="7"><FeatureTag value="isol"/><Feature><LookupListIndex index="0" value="2"/><LookupListIndex index="1" value="3"/></Feature></FeatureRecord><FeatureRecord index="8"><FeatureTag value="liga"/><Feature><LookupListIndex index="0" value="8"/></Feature></FeatureRecord><FeatureRecord index="9"><FeatureTag value="liga"/><Feature><LookupListIndex index="0" value="8"/></Feature></FeatureRecord><FeatureRecord index="10"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="6"/></Feature></FeatureRecord><FeatureRecord index="11"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="6"/></Feature></FeatureRecord><FeatureRecord index="12"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="7"/></Feature></FeatureRecord><FeatureRecord index="13"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="7"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="4"/><LookupFlag value="1"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="damma"><Ligature components="shadda" glyph="shaddawithdammalow"/><Ligature components="highhamza" glyph="dammaonhamza"/></LigatureSet><LigatureSet glyph="dammatan"><Ligature components="shadda" glyph="shaddawithdammatanlow"/><Ligature components="highhamza" glyph="dammatanonhamza"/></LigatureSet><LigatureSet glyph="fatha"><Ligature components="shadda" glyph="shaddawithfathalow"/><Ligature components="highhamza" glyph="fathaonhamza"/></LigatureSet><LigatureSet glyph="fathatan"><Ligature components="shadda" glyph="shaddawithfathatanlow"/><Ligature components="highhamza" glyph="fathatanonhamza"/></LigatureSet><LigatureSet glyph="highhamza"><Ligature components="fatha" glyph="fathaonhamza"/><Ligature components="fathatan" glyph="fathatanonhamza"/><Ligature components="sukun" glyph="sukunonhamza"/><Ligature components="damma" glyph="dammaonhamza"/><Ligature components="dammatan" glyph="dammatanonhamza"/></LigatureSet><LigatureSet glyph="kasra"><Ligature components="shadda" glyph="shaddawithkasralow"/><Ligature components="uni0655" glyph="uni06550650"/></LigatureSet><LigatureSet glyph="kasratan"><Ligature components="shadda" glyph="shaddawithkasratanlow"/><Ligature components="uni0655" glyph="uni0655064D"/></LigatureSet><LigatureSet glyph="shadda"><Ligature components="dammatan" glyph="shaddawithdammatanlow"/><Ligature components="fatha" glyph="shaddawithfathalow"/><Ligature components="damma" glyph="shaddawithdammalow"/><Ligature components="fathatan" glyph="shaddawithfathatanlow"/><Ligature components="kasratan" glyph="shaddawithkasratanlow"/><Ligature components="kasra" glyph="shaddawithkasralow"/></LigatureSet><LigatureSet glyph="sukun"><Ligature components="highhamza" glyph="sukunonhamza"/></LigatureSet><LigatureSet glyph="uni0655"><Ligature components="kasratan" glyph="uni0655064D"/><Ligature components="kasra" glyph="uni06550650"/></LigatureSet></LigatureSubst></Lookup><Lookup index="1"><LookupType value="6"/><LookupFlag value="9"/><ChainContextSubst index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="wawwithhamzaabove"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="waw"/><Glyph value="jeh"/></BacktrackCoverage><InputCoverage index="0" Format="1"><Glyph value="alefwithhamzabelow"/></InputCoverage>   <SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="9"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="2"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ainisolated" out="ain"/><Substitution in="alefmaksuraisolated" out="alefmaksura"/><Substitution in="behisolated" out="beh"/><Substitution in="dadisolated" out="dad"/><Substitution in="dalisolated" out="dal"/><Substitution in="farsiyehisolated" out="farsiyeh"/><Substitution in="fehisolated" out="feh"/><Substitution in="gafisolated" out="gaf"/><Substitution in="ghainisolated" out="ghain"/><Substitution in="hahisolated" out="hah"/><Substitution in="jeemisolated" out="jeem"/><Substitution in="jehisolated" out="jeh"/><Substitution in="kafisolated" out="arabickaf"/><Substitution in="kehehisolated" out="keheh"/><Substitution in="khahisolated" out="khah"/><Substitution in="meemisolated" out="meem"/><Substitution in="noonisolated" out="noon"/><Substitution in="pehisolated" out="peh"/><Substitution in="qafisolated" out="qaf"/><Substitution in="rehisolated" out="reh"/><Substitution in="sadisolated" out="sad"/><Substitution in="seenisolated" out="seen"/><Substitution in="sheenisolated" out="sheen"/><Substitution in="tahisolated" out="tah"/><Substitution in="tchehisolated" out="tcheh"/><Substitution in="tehisolated" out="teh"/><Substitution in="tehmarbutaisolated" out="tehmarbuta"/><Substitution in="thalisolated" out="thal"/><Substitution in="thehisolated" out="theh"/><Substitution in="vehisolated" out="veh"/><Substitution in="wawisolated" out="waw"/><Substitution in="yehisolated" out="yeh"/><Substitution in="yehwithhamzaaboveisolated" out="yehwithhamzaabove"/><Substitution in="zahisolated" out="zah"/><Substitution in="zainisolated" out="zain"/></SingleSubst></Lookup><Lookup index="3"><LookupType value="6"/><LookupFlag value="9"/><ChainContextSubst index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="wawwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="waw"/><Glyph value="alefwasla"/><Glyph value="jeh"/><Glyph value="arabicae"/><Glyph value="alefwaslafinal"/><Glyph value="alefwithmaddaabovefinal"/><Glyph value="alefwithhamzaabovefinal"/><Glyph value="alefwithhamzabelowfinal"/><Glyph value="aleffinal"/><Glyph value="tehmarbutafinal"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefmaddaabovefinal"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzaabovefinal"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefhamzabelowfinal"/><Glyph value="lamwithalefisolated"/><Glyph value="lamwithaleffinal"/></BacktrackCoverage><InputCoverage index="0" Format="1"><Glyph value="heh"/></InputCoverage>   <SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="10"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="4"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ain" out="ainfinal"/><Substitution in="alefmaksura" out="alefmaksurafinal"/><Substitution in="alefwasla" out="alefwaslafinal"/><Substitution in="alefwithhamzaabove" out="alefwithhamzaabovefinal"/><Substitution in="alefwithhamzabelow" out="alefwithhamzabelowfinal"/><Substitution in="alefwithmaddaabove" out="alefwithmaddaabovefinal"/><Substitution in="arabicae" out="hehfinal"/><Substitution in="arabicalef" out="aleffinal"/><Substitution in="arabickaf" out="arabickaf"/><Substitution in="beh" out="beh"/><Substitution in="dad" out="dad"/><Substitution in="dal" out="dal"/><Substitution in="farsiyeh" out="farsiyehfinal"/><Substitution in="feh" out="feh"/><Substitution in="gaf" out="gaffinal"/><Substitution in="ghain" out="ghainfinal"/><Substitution in="hah" out="hahfinal"/><Substitution in="heh" out="hehfinal"/><Substitution in="jeem" out="jeemfinal"/><Substitution in="jeh" out="jeh"/><Substitution in="keheh" out="kehehfinal"/><Substitution in="khah" out="khahfinal"/><Substitution in="lam" out="lam"/><Substitution in="meem" out="meem"/><Substitution in="noon" out="noon"/><Substitution in="peh" out="peh"/><Substitution in="qaf" out="qaf"/><Substitution in="reh" out="reh"/><Substitution in="sad" out="sad"/><Substitution in="seen" out="seen"/><Substitution in="sheen" out="sheen"/><Substitution in="tah" out="tah"/><Substitution in="tcheh" out="tchehfinal"/><Substitution in="teh" out="teh"/><Substitution in="tehmarbuta" out="tehmarbutafinal"/><Substitution in="thal" out="thal"/><Substitution in="theh" out="theh"/><Substitution in="veh" out="veh"/><Substitution in="waw" out="waw"/><Substitution in="wawwithhamzaabove" out="wawwithhamzaabove"/><Substitution in="yeh" out="yehfinal"/><Substitution in="yehwithhamzaabove" out="yehwithhamzaabovefinal"/><Substitution in="zah" out="zah"/><Substitution in="zain" out="zain"/></SingleSubst></Lookup><Lookup index="5"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ain" out="aininitial"/><Substitution in="alefmaksura" out="uni0649.init"/><Substitution in="arabickaf" out="kafmedial"/><Substitution in="beh" out="behmedial"/><Substitution in="dad" out="dadmedial"/><Substitution in="farsiyeh" out="yehmedial"/><Substitution in="feh" out="fehinitial"/><Substitution in="gaf" out="gafinitial"/><Substitution in="ghain" out="ghaininitial"/><Substitution in="hah" out="hahmedial"/><Substitution in="heh" out="hehinitial"/><Substitution in="jeem" out="jeemmedial"/><Substitution in="keheh" out="kehehinitial"/><Substitution in="khah" out="khahmedial"/><Substitution in="lam" out="lamisolated"/><Substitution in="meem" out="meemmedial"/><Substitution in="noon" out="noonmedial"/><Substitution in="peh" out="pehmedial"/><Substitution in="qaf" out="qafinitial"/><Substitution in="sad" out="sadmedial"/><Substitution in="seen" out="seenmedial"/><Substitution in="sheen" out="sheenmedial"/><Substitution in="tah" out="tah"/><Substitution in="tcheh" out="tchehmedial"/><Substitution in="teh" out="tehmedial"/><Substitution in="theh" out="thehmedial"/><Substitution in="veh" out="uni06A5.init"/><Substitution in="yeh" out="yehmedial"/><Substitution in="yehwithhamzaabove" out="yehwithhamzaabovemedial"/><Substitution in="zah" out="zah"/></SingleSubst></Lookup><Lookup index="6"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ain" out="ainmedial"/><Substitution in="alefmaksura" out="uni0649.init"/><Substitution in="arabickaf" out="kafmedial"/><Substitution in="beh" out="behmedial"/><Substitution in="dad" out="dadmedial"/><Substitution in="farsiyeh" out="yehmedial"/><Substitution in="feh" out="fehmedial"/><Substitution in="gaf" out="gafmedial"/><Substitution in="ghain" out="ghainmedial"/><Substitution in="hah" out="hahmedial"/><Substitution in="heh" out="hehmedial"/><Substitution in="jeem" out="jeemmedial"/><Substitution in="keheh" out="kehehmedial"/><Substitution in="khah" out="khahmedial"/><Substitution in="lam" out="lammedial"/><Substitution in="meem" out="meemmedial"/><Substitution in="noon" out="noonmedial"/><Substitution in="peh" out="pehmedial"/><Substitution in="qaf" out="qafmedial"/><Substitution in="sad" out="sadmedial"/><Substitution in="seen" out="seenmedial"/><Substitution in="sheen" out="sheenmedial"/><Substitution in="tah" out="tah"/><Substitution in="tcheh" out="tchehmedial"/><Substitution in="teh" out="tehmedial"/><Substitution in="theh" out="thehmedial"/><Substitution in="veh" out="vehmedial"/><Substitution in="yeh" out="yehmedial"/><Substitution in="yehwithhamzaabove" out="yehwithhamzaabovemedial"/><Substitution in="zah" out="zah"/></SingleSubst></Lookup><Lookup index="7"><LookupType value="4"/><LookupFlag value="9"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="lamisolated"><Ligature components="alefwithmaddaabovefinal" glyph="lamwithalefmaddaaboveisolatedd"/><Ligature components="alefwithhamzaabovefinal" glyph="lamwithalefhamzaaboveisolatedd"/><Ligature components="alefwithhamzabelowfinal" glyph="lamwithalefhamzabelowisolated"/><Ligature components="aleffinal" glyph="lamwithalefisolated"/></LigatureSet><LigatureSet glyph="lammedial"><Ligature components="alefwithmaddaabovefinal" glyph="lamwithalefmaddaabovefinal"/><Ligature components="alefwithhamzaabovefinal" glyph="lamwithalefhamzaabovefinal"/><Ligature components="alefwithhamzabelowfinal" glyph="lamwithalefhamzabelowfinal"/><Ligature components="aleffinal" glyph="lamwithaleffinal"/></LigatureSet></LigatureSubst></Lookup><Lookup index="8"><LookupType value="4"/><LookupFlag value="1"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="lamisolated"><Ligature components="lammedial,hehfinal" glyph="allahisolated"/></LigatureSet><LigatureSet glyph="reh"><Ligature components="yehmedial,aleffinal,lam" glyph="rayaleflam"/></LigatureSet></LigatureSubst></Lookup><Lookup index="9"><LookupType value="2"/><LookupFlag value="9"/><MultipleSubst index="0" Format="1"><Coverage Format="1"><Glyph value="alefwithhamzabelow"/></Coverage><Sequence index="0"><Substitute index="0" value="arabicalef"/><Substitute index="1" value="uni0655"/></Sequence></MultipleSubst></Lookup><Lookup index="10"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="heh" out="hehisolated"/></SingleSubst></Lookup></LookupList></GSUB><GPOS><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="2"/><FeatureIndex index="2" value="4"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="FAR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="3"/><FeatureIndex index="2" value="5"/></LangSys></LangSysRecord></Script></ScriptRecord><ScriptRecord index="1"><ScriptTag value="latn"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/></DefaultLangSys></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="kern"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="kern"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="3"/><LookupListIndex index="3" value="4"/><LookupListIndex index="4" value="5"/><LookupListIndex index="5" value="6"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="3"/><LookupListIndex index="3" value="4"/><LookupListIndex index="4" value="5"/><LookupListIndex index="5" value="6"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="7"/><LookupListIndex index="1" value="8"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="7"/><LookupListIndex index="1" value="8"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="2"/><LookupFlag value="9"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="wawwithhamzaabove"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="waw"/><Glyph value="jeh"/></Coverage><ValueFormat1 value="5"/><ValueFormat2 value="0"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-480" XAdvance="-480"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-480" XAdvance="-480"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="tchehmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="behmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="jeemmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="hahmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="khahmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="aininitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="kafmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="lamisolated"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="uni06A5.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-580" XAdvance="-580"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-580" XAdvance="-580"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="tchehmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="behmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="jeemmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="hahmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="khahmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="aininitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="kafmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="lamisolated"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="uni06A5.init"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-580" XAdvance="-580"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-580" XAdvance="-580"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="tchehmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="behmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="jeemmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="hahmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="khahmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="aininitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="kafmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="lamisolated"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="uni06A5.init"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-480" XAdvance="-480"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-480" XAdvance="-480"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-362" XAdvance="-362"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="tchehmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="behmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="jeemmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="hahmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="khahmedial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="aininitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="kafmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="lamisolated"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="uni06A5.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-580" XAdvance="-580"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-580" XAdvance="-580"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-530" XAdvance="-530"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-462" XAdvance="-462"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="tchehmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="behmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="jeemmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="hahmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="khahmedial"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="aininitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="kafmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="lamisolated"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-620" XAdvance="-620"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="uni06A5.init"/><Value1 XPlacement="-345" XAdvance="-345"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="1"><LookupType value="1"/><LookupFlag value="1"/><SinglePos index="0" Format="2"><Coverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="kasratan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="kasra"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/></Coverage><ValueFormat value="4"/><Value index="0" XAdvance="-412"/><Value index="1" XAdvance="-483"/><Value index="2" XAdvance="-412"/><Value index="3" XAdvance="-410"/><Value index="4" XAdvance="-431"/><Value index="5" XAdvance="-412"/><Value index="6" XAdvance="-433"/><Value index="7" XAdvance="-337"/><Value index="8" XAdvance="-424"/><Value index="9" XAdvance="-509"/><Value index="10" XAdvance="-433"/><Value index="11" XAdvance="-433"/><Value index="12" XAdvance="-433"/><Value index="13" XAdvance="-463"/><Value index="14" XAdvance="-433"/><Value index="15" XAdvance="-433"/><Value index="16" XAdvance="-424"/><Value index="17" XAdvance="-424"/><Value index="18" XAdvance="-424"/><Value index="19" XAdvance="-424"/><Value index="20" XAdvance="-424"/></SinglePos></Lookup><Lookup index="2"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="kasratan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="kasra"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="hamza"/><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="wawwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="yehwithhamzaabove"/><Glyph value="arabicalef"/><Glyph value="beh"/><Glyph value="tehmarbuta"/><Glyph value="teh"/><Glyph value="theh"/><Glyph value="jeem"/><Glyph value="hah"/><Glyph value="khah"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="seen"/><Glyph value="sheen"/><Glyph value="sad"/><Glyph value="dad"/><Glyph value="tah"/><Glyph value="zah"/><Glyph value="ain"/><Glyph value="ghain"/><Glyph value="tatweel"/><Glyph value="feh"/><Glyph value="qaf"/><Glyph value="arabickaf"/><Glyph value="lam"/><Glyph value="meem"/><Glyph value="noon"/><Glyph value="heh"/><Glyph value="waw"/><Glyph value="alefmaksura"/><Glyph value="yeh"/><Glyph value="alefwasla"/><Glyph value="peh"/><Glyph value="tcheh"/><Glyph value="jeh"/><Glyph value="veh"/><Glyph value="keheh"/><Glyph value="gaf"/><Glyph value="farsiyeh"/><Glyph value="alefwaslafinal"/><Glyph value="pehmedial"/><Glyph value="vehmedial"/><Glyph value="tchehfinal"/><Glyph value="tchehmedial"/><Glyph value="kehehfinal"/><Glyph value="kehehinitial"/><Glyph value="kehehmedial"/><Glyph value="gaffinal"/><Glyph value="gafinitial"/><Glyph value="gafmedial"/><Glyph value="farsiyehfinal"/><Glyph value="alefwithmaddaabovefinal"/><Glyph value="alefwithhamzaabovefinal"/><Glyph value="alefwithhamzabelowfinal"/><Glyph value="yehwithhamzaabovefinal"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="aleffinal"/><Glyph value="behmedial"/><Glyph value="tehmarbutafinal"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="jeemfinal"/><Glyph value="jeemmedial"/><Glyph value="hahfinal"/><Glyph value="hahmedial"/><Glyph value="khahfinal"/><Glyph value="khahmedial"/><Glyph value="seenmedial"/><Glyph value="sheenmedial"/><Glyph value="sadmedial"/><Glyph value="dadmedial"/><Glyph value="ainfinal"/><Glyph value="aininitial"/><Glyph value="ainmedial"/><Glyph value="ghainfinal"/><Glyph value="ghaininitial"/><Glyph value="ghainmedial"/><Glyph value="fehinitial"/><Glyph value="fehmedial"/><Glyph value="qafinitial"/><Glyph value="qafmedial"/><Glyph value="kafmedial"/><Glyph value="lamisolated"/><Glyph value="lammedial"/><Glyph value="meemmedial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehfinal"/><Glyph value="hehinitial"/><Glyph value="hehmedial"/><Glyph value="alefmaksurafinal"/><Glyph value="yehfinal"/><Glyph value="yehmedial"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/><Glyph value="uni25CC"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1735"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1760"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="130"/><YCoordinate value="1050"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="225"/><YCoordinate value="1480"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="245"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1430"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="425"/><YCoordinate value="-248"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1730"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1800"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="280"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="600"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="250"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1100"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="486"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="786"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="316"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1220"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="786"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1420"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="786"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1280"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1530"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1000"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="700"/><YCoordinate value="-550"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="700"/><YCoordinate value="-550"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="950"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="900"/><YCoordinate value="1250"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="950"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="950"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="500"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="500"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="1280"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="1420"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="900"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="100"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="580"/><YCoordinate value="1280"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="586"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="1280"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="386"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1430"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="650"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1430"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="600"/><YCoordinate value="-350"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="950"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-275"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1150"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="600"/><YCoordinate value="-550"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="980"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="286"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="930"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="600"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="486"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="686"/><YCoordinate value="-680"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1800"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="836"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1420"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="700"/><YCoordinate value="-550"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="580"/><YCoordinate value="1380"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="586"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="42"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1280"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="650"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="43"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1330"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="650"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="44"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="486"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="45"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1800"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="46"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="47"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1530"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="48"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="49"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="530"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="50"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1280"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="650"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="51"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1450"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="336"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="52"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1450"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="336"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="53"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1330"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="650"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="54"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="336"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="55"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="336"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="56"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="780"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="486"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="57"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1730"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="58"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1800"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="59"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="280"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="60"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="980"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="486"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="61"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1350"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="62"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="63"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="64"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1520"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="386"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="65"><BaseAnchor index="0" Format="1"><XCoordinate value="180"/><YCoordinate value="1320"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="66"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1480"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="67"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="68"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="69"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="70"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="71"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="72"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="73"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="74"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1400"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="75"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="650"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="76"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="650"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="77"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="980"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="78"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="490"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="79"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1080"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="440"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="80"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="1250"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="456"/><YCoordinate value="-780"/></BaseAnchor></BaseRecord><BaseRecord index="81"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="490"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="82"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="440"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="83"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1420"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="84"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1370"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="85"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1420"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="86"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1370"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="87"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1450"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="336"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="88"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1530"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="250"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="89"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1530"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="250"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="90"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="980"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="400"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="91"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1220"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="92"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1100"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="93"><BaseAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="386"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="94"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1200"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="400"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="95"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="1000"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="96"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="780"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="486"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="97"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="780"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="636"/><YCoordinate value="-750"/></BaseAnchor></BaseRecord><BaseRecord index="98"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="99"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1180"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="230"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="100"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1580"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="101"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="975"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="480"/><YCoordinate value="-285"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="3"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="pehmedial"/><Glyph value="vehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="behmedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="seenmedial"/><Glyph value="sheenmedial"/><Glyph value="aininitial"/><Glyph value="ainmedial"/><Glyph value="ghaininitial"/><Glyph value="ghainmedial"/><Glyph value="fehinitial"/><Glyph value="fehmedial"/><Glyph value="qafinitial"/><Glyph value="qafmedial"/><Glyph value="noonmedial"/><Glyph value="yehmedial"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></InputCoverage><LookAheadCoverage index="0" Format="1"><Glyph value="lam"/><Glyph value="lammedial"/></LookAheadCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="9"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="4"><LookupType value="5"/><LookupFlag value="1"/><MarkLigPos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="kasratan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="kasra"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></MarkCoverage><LigatureCoverage Format="2"><Glyph value="rayaleflam"/><Glyph value="allahisolated"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefmaddaabovefinal"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzaabovefinal"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefhamzabelowfinal"/><Glyph value="lamwithalefisolated"/><Glyph value="lamwithaleffinal"/></LigatureCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1735"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1760"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="130"/><YCoordinate value="1050"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="225"/><YCoordinate value="1480"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="245"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1430"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></MarkArray><LigatureArray><LigatureAttach index="0"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="1500"/><YCoordinate value="650"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="1350"/><YCoordinate value="-450"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="1150"/><YCoordinate value="780"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="1000"/><YCoordinate value="-400"/></LigatureAnchor></ComponentRecord><ComponentRecord index="2"><LigatureAnchor index="0" Format="1"><XCoordinate value="830"/><YCoordinate value="1170"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="760"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord><ComponentRecord index="3"><LigatureAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="1080"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-250"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="1"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="1050"/><YCoordinate value="1320"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="1180"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="580"/><YCoordinate value="1480"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="780"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord><ComponentRecord index="2"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="980"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="330"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="2"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="800"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="830"/><YCoordinate value="-270"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1675"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="3"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="850"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="880"/><YCoordinate value="-250"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1675"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="4"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="800"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="830"/><YCoordinate value="-270"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="180"/><YCoordinate value="1790"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="5"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="850"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="880"/><YCoordinate value="-250"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1820"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="6"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="800"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="880"/><YCoordinate value="-270"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="480"/><YCoordinate value="-450"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="7"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="850"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="880"/><YCoordinate value="-250"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="330"/><YCoordinate value="-450"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="8"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="800"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="830"/><YCoordinate value="-270"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="450"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="9"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="850"/><YCoordinate value="1500"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="880"/><YCoordinate value="-250"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="1580"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="-200"/></LigatureAnchor></ComponentRecord></LigatureAttach></LigatureArray></MarkLigPos></Lookup><Lookup index="5"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="meem"/><Glyph value="heh"/><Glyph value="arabicae"/><Glyph value="vehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="aininitial"/><Glyph value="ghaininitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="lamisolated"/><Glyph value="meemmedial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="10"/></PosLookupRecord></ChainContextPos><ChainContextPos index="1" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="meem"/><Glyph value="heh"/><Glyph value="arabicae"/><Glyph value="vehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="aininitial"/><Glyph value="ghaininitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="lamisolated"/><Glyph value="meemmedial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></BacktrackCoverage><BacktrackCoverage index="2" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="10"/></PosLookupRecord></ChainContextPos><ChainContextPos index="2" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="meem"/><Glyph value="heh"/><Glyph value="arabicae"/><Glyph value="vehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="aininitial"/><Glyph value="ghaininitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="lamisolated"/><Glyph value="meemmedial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></BacktrackCoverage><BacktrackCoverage index="2" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="10"/></PosLookupRecord></ChainContextPos><ChainContextPos index="3" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="meem"/><Glyph value="heh"/><Glyph value="arabicae"/><Glyph value="vehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="aininitial"/><Glyph value="ghaininitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="lamisolated"/><Glyph value="meemmedial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/></BacktrackCoverage><BacktrackCoverage index="1" Format="1"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="10"/></PosLookupRecord></ChainContextPos><ChainContextPos index="4" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="meem"/><Glyph value="heh"/><Glyph value="arabicae"/><Glyph value="vehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="aininitial"/><Glyph value="ghaininitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="lamisolated"/><Glyph value="meemmedial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></BacktrackCoverage><BacktrackCoverage index="2" Format="1"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="10"/></PosLookupRecord></ChainContextPos><ChainContextPos index="5" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="meem"/><Glyph value="heh"/><Glyph value="arabicae"/><Glyph value="vehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="aininitial"/><Glyph value="ghaininitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="lamisolated"/><Glyph value="meemmedial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/><Glyph value="uni0649.init"/><Glyph value="uni06A5.init"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></BacktrackCoverage><BacktrackCoverage index="2" Format="1"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="10"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="6"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="alefwasla"/><Glyph value="alefwithfathatanisolated"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="11"/></PosLookupRecord></ChainContextPos><ChainContextPos index="1" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="alefwasla"/><Glyph value="alefwithfathatanisolated"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></BacktrackCoverage><BacktrackCoverage index="2" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="11"/></PosLookupRecord></ChainContextPos><ChainContextPos index="2" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="alefwasla"/><Glyph value="alefwithfathatanisolated"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></BacktrackCoverage><BacktrackCoverage index="2" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="11"/></PosLookupRecord></ChainContextPos><ChainContextPos index="3" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="alefwasla"/><Glyph value="alefwithfathatanisolated"/></BacktrackCoverage><BacktrackCoverage index="1" Format="1"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="11"/></PosLookupRecord></ChainContextPos><ChainContextPos index="4" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="alefwasla"/><Glyph value="alefwithfathatanisolated"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></BacktrackCoverage><BacktrackCoverage index="2" Format="1"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="11"/></PosLookupRecord></ChainContextPos><ChainContextPos index="5" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="alefwasla"/><Glyph value="alefwithfathatanisolated"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></BacktrackCoverage><BacktrackCoverage index="2" Format="1"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage>   <PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="11"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="7"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1735"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1800"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1760"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="130"/><YCoordinate value="1050"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="225"/><YCoordinate value="1480"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="245"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1430"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="2180"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="220"/><YCoordinate value="2165"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="2000"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="220"/><YCoordinate value="2250"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="205"/><YCoordinate value="2130"/></Mark2Anchor></Mark2Record><Mark2Record index="5"><Mark2Anchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="2130"/></Mark2Anchor></Mark2Record><Mark2Record index="6"><Mark2Anchor index="0" Format="1"><XCoordinate value="70"/><YCoordinate value="1700"/></Mark2Anchor></Mark2Record><Mark2Record index="7"><Mark2Anchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="1680"/></Mark2Anchor></Mark2Record><Mark2Record index="8"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1650"/></Mark2Anchor></Mark2Record><Mark2Record index="9"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></Mark2Anchor></Mark2Record><Mark2Record index="10"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1780"/></Mark2Anchor></Mark2Record><Mark2Record index="11"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1800"/></Mark2Anchor></Mark2Record><Mark2Record index="12"><Mark2Anchor index="0" Format="1"><XCoordinate value="245"/><YCoordinate value="1630"/></Mark2Anchor></Mark2Record><Mark2Record index="13"><Mark2Anchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="1730"/></Mark2Anchor></Mark2Record><Mark2Record index="14"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="2300"/></Mark2Anchor></Mark2Record><Mark2Record index="15"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="2430"/></Mark2Anchor></Mark2Record><Mark2Record index="16"><Mark2Anchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="2450"/></Mark2Anchor></Mark2Record><Mark2Record index="17"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="2480"/></Mark2Anchor></Mark2Record><Mark2Record index="18"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="2470"/></Mark2Anchor></Mark2Record><Mark2Record index="19"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1800"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="8"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="-1050"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="-900"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="-420"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="-720"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="-580"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="9"><LookupType value="1"/><LookupFlag value="1"/><SinglePos index="0" Format="1"><Coverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathalow"/><Glyph value="shaddawithdammalow"/><Glyph value="shaddawithfathatanlow"/><Glyph value="shaddawithdammatanlow"/><Glyph value="shaddawithkasralow"/><Glyph value="shaddawithkasratanlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></Coverage><ValueFormat value="1"/><Value XPlacement="50"/></SinglePos></Lookup><Lookup index="10"><LookupType value="1"/><LookupFlag value="1"/><SinglePos index="0" Format="1"><Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Coverage><ValueFormat value="2"/><Value YPlacement="-200"/></SinglePos></Lookup><Lookup index="11"><LookupType value="1"/><LookupFlag value="1"/><SinglePos index="0" Format="2"><Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Coverage><ValueFormat value="2"/><Value index="0" YPlacement="-300"/><Value index="1" YPlacement="-300"/><Value index="2" YPlacement="-250"/><Value index="3" YPlacement="-250"/><Value index="4" YPlacement="-250"/></SinglePos></Lookup></LookupList></GPOS></ttFont>
diff --git a/test/resources/complexscripts/arab/ttx/arab-002.ttx b/test/resources/complexscripts/arab/ttx/arab-002.ttx
new file mode 100644
index 0000000..7a0c0c2
--- /dev/null
+++ b/test/resources/complexscripts/arab/ttx/arab-002.ttx
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.2"><head><tableVersion value="1.0"/><fontRevision value="5.91999816895"/><checkSumAdjustment value="0x72a15aae"/><magicNumber value="0x5f0f3cf5"/><flags value="00000000 00011000"/><unitsPerEm value="2048"/><created value="Fri Feb 10 10:51:56 1995"/><modified value="Mon Apr 13 14:25:57 2009"/><xMin value="-258"/><yMin value="-1025"/><xMax value="2060"/><yMax value="2036"/><macStyle value="00000000 00000000"/><lowestRecPPEM value="9"/><fontDirectionHint value="2"/><indexToLocFormat value="0"/><glyphDataFormat value="0"/></head><GlyphOrder><GlyphID id="0" name=".notdef"/><GlyphID id="1" name="NULL"/><GlyphID id="2" name="nonmarkingreturn"/><GlyphID id="3" name="space"/><GlyphID id="4" name="exclam"/><GlyphID id="5" name="quotedbl"/><GlyphID id="6" name="numbersign"/><GlyphID id="7" name="dollar"/><GlyphID id="8" name="percent"/><GlyphID id="9" name="ampersand"/><GlyphID id="10" name="quotesingle"/><GlyphID id="11" name="parenleft"/><GlyphID id="12" name="parenright"/><GlyphID id="13" name="asterisk"/><GlyphID id="14" name="plus"/><GlyphID id="15" name="comma"/><GlyphID id="16" name="hyphenminus"/><GlyphID id="17" name="period"/><GlyphID id="18" name="slash"/><GlyphID id="19" name="zero"/><GlyphID id="20" name="one"/><GlyphID id="21" name="two"/><GlyphID id="22" name="three"/><GlyphID id="23" name="four"/><GlyphID id="24" name="five"/><GlyphID id="25" name="six"/><GlyphID id="26" name="seven"/><GlyphID id="27" name="eight"/><GlyphID id="28" name="nine"/><GlyphID id="29" name="colon"/><GlyphID id="30" name="semicolon"/><GlyphID id="31" name="less"/><GlyphID id="32" name="equal"/><GlyphID id="33" name="greater"/><GlyphID id="34" name="question"/><GlyphID id="35" name="at"/><GlyphID id="36" name="A"/><GlyphID id="37" name="B"/><GlyphID id="38" name="C"/><GlyphID id="39" name="D"/><GlyphID id="40" name="E"/><GlyphID id="41" name="F"/><GlyphID id="42" name="G"/><GlyphID id="43" name="H"/><GlyphID id="44" name="I"/><GlyphID id="45" name="J"/><GlyphID id="46" name="K"/><GlyphID id="47" name="L"/><GlyphID id="48" name="M"/><GlyphID id="49" name="N"/><GlyphID id="50" name="O"/><GlyphID id="51" name="P"/><GlyphID id="52" name="Q"/><GlyphID id="53" name="R"/><GlyphID id="54" name="S"/><GlyphID id="55" name="T"/><GlyphID id="56" name="U"/><GlyphID id="57" name="V"/><GlyphID id="58" name="W"/><GlyphID id="59" name="X"/><GlyphID id="60" name="Y"/><GlyphID id="61" name="Z"/><GlyphID id="62" name="bracketleft"/><GlyphID id="63" name="backslash"/><GlyphID id="64" name="bracketright"/><GlyphID id="65" name="asciicircum"/><GlyphID id="66" name="underscore"/><GlyphID id="67" name="grave"/><GlyphID id="68" name="a"/><GlyphID id="69" name="b"/><GlyphID id="70" name="c"/><GlyphID id="71" name="d"/><GlyphID id="72" name="e"/><GlyphID id="73" name="f"/><GlyphID id="74" name="g"/><GlyphID id="75" name="h"/><GlyphID id="76" name="i"/><GlyphID id="77" name="j"/><GlyphID id="78" name="k"/><GlyphID id="79" name="l"/><GlyphID id="80" name="m"/><GlyphID id="81" name="n"/><GlyphID id="82" name="o"/><GlyphID id="83" name="p"/><GlyphID id="84" name="q"/><GlyphID id="85" name="r"/><GlyphID id="86" name="s"/><GlyphID id="87" name="t"/><GlyphID id="88" name="u"/><GlyphID id="89" name="v"/><GlyphID id="90" name="w"/><GlyphID id="91" name="x"/><GlyphID id="92" name="y"/><GlyphID id="93" name="z"/><GlyphID id="94" name="braceleft"/><GlyphID id="95" name="bar"/><GlyphID id="96" name="braceright"/><GlyphID id="97" name="asciitilde"/><GlyphID id="98" name="delete"/><GlyphID id="99" name="nonbreakingspace"/><GlyphID id="100" name="exclamdown"/><GlyphID id="101" name="cent"/><GlyphID id="102" name="sterling"/><GlyphID id="103" name="currency"/><GlyphID id="104" name="yen"/><GlyphID id="105" name="brokenbar"/><GlyphID id="106" name="section"/><GlyphID id="107" name="dieresis"/><GlyphID id="108" name="copyright"/><GlyphID id="109" name="ordfeminine"/><GlyphID id="110" name="guillemotleft"/><GlyphID id="111" name="logicalnot"/><GlyphID id="112" name="sfthyphen"/><GlyphID id="113" name="registered"/><GlyphID id="114" name="macron"/><GlyphID id="115" name="degree"/><GlyphID id="116" name="plusminus"/><GlyphID id="117" name="twosuperior"/><GlyphID id="118" name="threesuperior"/><GlyphID id="119" name="acute"/><GlyphID id="120" name="micro"/><GlyphID id="121" name="paragraph"/><GlyphID id="122" name="periodcentered"/><GlyphID id="123" name="cedilla"/><GlyphID id="124" name="onesuperior"/><GlyphID id="125" name="ordmasculine"/><GlyphID id="126" name="guillemotright"/><GlyphID id="127" name="onequarter"/><GlyphID id="128" name="onehalf"/><GlyphID id="129" name="threequarters"/><GlyphID id="130" name="questiondown"/><GlyphID id="131" name="Agrave"/><GlyphID id="132" name="multiply"/><GlyphID id="133" name="agrave"/><GlyphID id="134" name="acircumflex"/><GlyphID id="135" name="ccedilla"/><GlyphID id="136" name="egrave"/><GlyphID id="137" name="eacute"/><GlyphID id="138" name="ecircumflex"/><GlyphID id="139" name="edieresis"/><GlyphID id="140" name="icircumflex"/><GlyphID id="141" name="idieresis"/><GlyphID id="142" name="ocircumflex"/><GlyphID id="143" name="divide"/><GlyphID id="144" name="ugrave"/><GlyphID id="145" name="ucircumflex"/><GlyphID id="146" name="udieresis"/><GlyphID id="147" name="ydieresis"/><GlyphID id="148" name="dotlessi"/><GlyphID id="149" name="OE"/><GlyphID id="150" name="oe"/><GlyphID id="151" name="Scaron"/><GlyphID id="152" name="scaron"/><GlyphID id="153" name="Ydieresis"/><GlyphID id="154" name="florin"/><GlyphID id="155" name="circumflex"/><GlyphID id="156" name="caron"/><GlyphID id="157" name="arabiccomma"/><GlyphID id="158" name="arabicsemicolon"/><GlyphID id="159" name="arabicquestionmark"/><GlyphID id="160" name="hamza"/><GlyphID id="161" name="alefwithmaddaabove"/><GlyphID id="162" name="alefwithhamzaabove"/><GlyphID id="163" name="wawwithhamzaabove"/><GlyphID id="164" name="alefwithhamzabelow"/><GlyphID id="165" name="yehwithhamzaabove"/><GlyphID id="166" name="arabicalef"/><GlyphID id="167" name="beh"/><GlyphID id="168" name="tehmarbuta"/><GlyphID id="169" name="teh"/><GlyphID id="170" name="theh"/><GlyphID id="171" name="jeem"/><GlyphID id="172" name="hah"/><GlyphID id="173" name="khah"/><GlyphID id="174" name="dal"/><GlyphID id="175" name="thal"/><GlyphID id="176" name="reh"/><GlyphID id="177" name="zain"/><GlyphID id="178" name="seen"/><GlyphID id="179" name="sheen"/><GlyphID id="180" name="sad"/><GlyphID id="181" name="dad"/><GlyphID id="182" name="tah"/><GlyphID id="183" name="zah"/><GlyphID id="184" name="ain"/><GlyphID id="185" name="ghain"/><GlyphID id="186" name="tatweel"/><GlyphID id="187" name="feh"/><GlyphID id="188" name="qaf"/><GlyphID id="189" name="arabickaf"/><GlyphID id="190" name="lam"/><GlyphID id="191" name="meem"/><GlyphID id="192" name="noon"/><GlyphID id="193" name="heh"/><GlyphID id="194" name="waw"/><GlyphID id="195" name="alefmaksura"/><GlyphID id="196" name="yeh"/><GlyphID id="197" name="fathatan"/><GlyphID id="198" name="dammatan"/><GlyphID id="199" name="kasratan"/><GlyphID id="200" name="fatha"/><GlyphID id="201" name="damma"/><GlyphID id="202" name="kasra"/><GlyphID id="203" name="shadda"/><GlyphID id="204" name="sukun"/><GlyphID id="205" name="arabicindicdigitzero"/><GlyphID id="206" name="arabicindicdigitone"/><GlyphID id="207" name="arabicindicdigittwo"/><GlyphID id="208" name="arabicindicdigitthree"/><GlyphID id="209" name="arabicindicdigitfour"/><GlyphID id="210" name="arabicindicdigitfive"/><GlyphID id="211" name="arabicindicdigitsix"/><GlyphID id="212" name="arabicindicdigitseven"/><GlyphID id="213" name="arabicindicdigiteight"/><GlyphID id="214" name="arabicindicdigitnine"/><GlyphID id="215" name="arabicpercentsign"/><GlyphID id="216" name="arabicfivepointedstar"/><GlyphID id="217" name="superscriptalef"/><GlyphID id="218" name="alefwasla"/><GlyphID id="219" name="highhamza"/><GlyphID id="220" name="peh"/><GlyphID id="221" name="tcheh"/><GlyphID id="222" name="jeh"/><GlyphID id="223" name="veh"/><GlyphID id="224" name="keheh"/><GlyphID id="225" name="gaf"/><GlyphID id="226" name="farsiyeh"/><GlyphID id="227" name="arabicae"/><GlyphID id="228" name="smallhighmadda"/><GlyphID id="229" name="extendedarabicindicdigitzero"/><GlyphID id="230" name="extendedarabicindicdigitone"/><GlyphID id="231" name="extendedarabicindicdigittwo"/><GlyphID id="232" name="extendedarabicindicdigitthree"/><GlyphID id="233" name="extendedarabicindicdigitfour"/><GlyphID id="234" name="extendedarabicindicdigitfive"/><GlyphID id="235" name="extendedarabicindicdigitsix"/><GlyphID id="236" name="extendedarabicindicdigitseven"/><GlyphID id="237" name="extendedarabicindicdigiteight"/><GlyphID id="238" name="extendedarabicindicdigitnine"/><GlyphID id="239" name="zeronojoin"/><GlyphID id="240" name="zerojoin"/><GlyphID id="241" name="lefttoright"/><GlyphID id="242" name="righttoleft"/><GlyphID id="243" name="endash"/><GlyphID id="244" name="quotedash"/><GlyphID id="245" name="quoteleft"/><GlyphID id="246" name="quoteright"/><GlyphID id="247" name="quotesinglbase"/><GlyphID id="248" name="quotedblleft"/><GlyphID id="249" name="quotedblright"/><GlyphID id="250" name="quotedblbase"/><GlyphID id="251" name="dagger"/><GlyphID id="252" name="daggerdbl"/><GlyphID id="253" name="bullet"/><GlyphID id="254" name="ellipsis"/><GlyphID id="255" name="perthousand"/><GlyphID id="256" name="guilsinglleft"/><GlyphID id="257" name="guilsinglright"/><GlyphID id="258" name="trademark"/><GlyphID id="259" name="fathalow"/><GlyphID id="260" name="dammalow"/><GlyphID id="261" name="sukunlow"/><GlyphID id="262" name="fathatanlow"/><GlyphID id="263" name="dammatanlow"/><GlyphID id="264" name="shaddalow"/><GlyphID id="265" name="kasralow"/><GlyphID id="266" name="kasratanlow"/><GlyphID id="267" name="shaddawithfathaisolatedlow"/><GlyphID id="268" name="shaddawithdammaisolatedlow"/><GlyphID id="269" name="shaddawithfathatanisolatedlow"/><GlyphID id="270" name="shaddawithdammatanisolatedlow"/><GlyphID id="271" name="shaddawithkasraisolatedlow"/><GlyphID id="272" name="lamwithmeemwithjeeminitial"/><GlyphID id="273" name="behwithhehinitial"/><GlyphID id="274" name="pehwithhehinitial"/><GlyphID id="275" name="tehwithhehinitial"/><GlyphID id="276" name="noonwithhehinitial"/><GlyphID id="277" name="rayaleflam"/><GlyphID id="278" name="uniE817"/><GlyphID id="279" name="shaddawithfathatanisolated"/><GlyphID id="280" name="shaddawithkasratanisolatedlow"/><GlyphID id="281" name="fathaonhamza"/><GlyphID id="282" name="fathatanonhamza"/><GlyphID id="283" name="sukunonhamza"/><GlyphID id="284" name="dammaonhamza"/><GlyphID id="285" name="dammatanonhamza"/><GlyphID id="286" name="alefwaslaisolated"/><GlyphID id="287" name="alefwaslafinal"/><GlyphID id="288" name="pehisolated"/><GlyphID id="289" name="pehfinal"/><GlyphID id="290" name="pehinitial"/><GlyphID id="291" name="pehmedial"/><GlyphID id="292" name="vehisolated"/><GlyphID id="293" name="vehfinal"/><GlyphID id="294" name="vehinitial"/><GlyphID id="295" name="vehmedial"/><GlyphID id="296" name="tchehisolated"/><GlyphID id="297" name="tchehfinal"/><GlyphID id="298" name="tchehinitial"/><GlyphID id="299" name="tchehmedial"/><GlyphID id="300" name="jehisolated"/><GlyphID id="301" name="jehfinal"/><GlyphID id="302" name="kehehisolated"/><GlyphID id="303" name="kehehfinal"/><GlyphID id="304" name="kehehinitial"/><GlyphID id="305" name="kehehmedial"/><GlyphID id="306" name="gafisolated"/><GlyphID id="307" name="gaffinal"/><GlyphID id="308" name="gafinitial"/><GlyphID id="309" name="gafmedial"/><GlyphID id="310" name="farsiyehisolated"/><GlyphID id="311" name="farsiyehfinal"/><GlyphID id="312" name="behwithmeemisolated"/><GlyphID id="313" name="behwithalefmaksuraisolated"/><GlyphID id="314" name="behwithyehisolated"/><GlyphID id="315" name="tehwithmeemisolated"/><GlyphID id="316" name="tehwithyehisolated"/><GlyphID id="317" name="thehwithmeemisolated"/><GlyphID id="318" name="fehwithalefmaksuraisolated"/><GlyphID id="319" name="fehwithyehisolated"/><GlyphID id="320" name="lamwithjeemisolated"/><GlyphID id="321" name="lamwithhahisolated"/><GlyphID id="322" name="lamwithkhahisolated"/><GlyphID id="323" name="lamwithmeemisolated"/><GlyphID id="324" name="lamwithalefmaksuraisolated"/><GlyphID id="325" name="lamwithyehisolated"/><GlyphID id="326" name="noonwithmeemisolated"/><GlyphID id="327" name="noonwithalefmaksuraisolated"/><GlyphID id="328" name="noonwithyehisolated"/><GlyphID id="329" name="yehwithmeemisolated"/><GlyphID id="330" name="yehwithalefmaksuraisolated"/><GlyphID id="331" name="shaddawithdammatanisolated"/><GlyphID id="332" name="shaddawithkasratanisolated"/><GlyphID id="333" name="shaddawithfathaisolated"/><GlyphID id="334" name="shaddawithdammaisolated"/><GlyphID id="335" name="shaddawithkasraisolated"/><GlyphID id="336" name="behwithrehfinal"/><GlyphID id="337" name="behwithnoonfinal"/><GlyphID id="338" name="behwithalefmaksurafinal"/><GlyphID id="339" name="behwithyehfinal"/><GlyphID id="340" name="tehwithnoonfinal"/><GlyphID id="341" name="tehwithalefmaksurafinal"/><GlyphID id="342" name="tehwithyehfinal"/><GlyphID id="343" name="noonwithzainfinal"/><GlyphID id="344" name="noonwithalefmaksurafinal"/><GlyphID id="345" name="noonwithyehfinal"/><GlyphID id="346" name="yehwithrehfinal"/><GlyphID id="347" name="yehwithnoonfinal"/><GlyphID id="348" name="yehwithalefmaksurafinal"/><GlyphID id="349" name="behwithjeeminitial"/><GlyphID id="350" name="behwithhahinitial"/><GlyphID id="351" name="behwithkhahinitial"/><GlyphID id="352" name="behwithmeeminitial"/><GlyphID id="353" name="tehwithjeeminitial"/><GlyphID id="354" name="tehwithhahinitial"/><GlyphID id="355" name="tehwithkhahinitial"/><GlyphID id="356" name="tehwithmeeminitial"/><GlyphID id="357" name="thehwithmeeminitial"/><GlyphID id="358" name="jeemwithmeeminitial"/><GlyphID id="359" name="hahwithmeeminitial"/><GlyphID id="360" name="khahwithmeeminitial"/><GlyphID id="361" name="seenwithmeeminitial"/><GlyphID id="362" name="lamwithjeeminitial"/><GlyphID id="363" name="lamwithhahinitial"/><GlyphID id="364" name="lamwithkhahinitial"/><GlyphID id="365" name="lamwithmeeminitial"/><GlyphID id="366" name="lamwithhehinitial"/><GlyphID id="367" name="meemwithjeeminitial"/><GlyphID id="368" name="meemwithhahinitial"/><GlyphID id="369" name="meemwithkhahinitial"/><GlyphID id="370" name="meemwithmeeminitial"/><GlyphID id="371" name="noonwithjeeminitial"/><GlyphID id="372" name="noonwithhahinitial"/><GlyphID id="373" name="noonwithkhahinitial"/><GlyphID id="374" name="noonwithmeeminitial"/><GlyphID id="375" name="hehwithmeeminitial"/><GlyphID id="376" name="yehwithjeeminitial"/><GlyphID id="377" name="yehwithhahinitial"/><GlyphID id="378" name="yehwithkhahinitial"/><GlyphID id="379" name="yehwithmeeminitial"/><GlyphID id="380" name="shaddawithfathamedial"/><GlyphID id="381" name="shaddawithdammamedial"/><GlyphID id="382" name="shaddawithkasramedial"/><GlyphID id="383" name="sheenwithmeeminitial"/><GlyphID id="384" name="alefwithfathatanfinal"/><GlyphID id="385" name="alefwithfathatanisolated"/><GlyphID id="386" name="ornateleftparenthesis"/><GlyphID id="387" name="ornaterightparenthesis"/><GlyphID id="388" name="lamwithmeemwithhahinitial"/><GlyphID id="389" name="allahisolated"/><GlyphID id="390" name="fathatanisolated"/><GlyphID id="391" name="fathatanontatweel"/><GlyphID id="392" name="dammatanisolated"/><GlyphID id="393" name="kasratanisolated"/><GlyphID id="394" name="fathaisolated"/><GlyphID id="395" name="fathahontatweel"/><GlyphID id="396" name="dammaisolated"/><GlyphID id="397" name="dammahontatweel"/><GlyphID id="398" name="kasraisolated"/><GlyphID id="399" name="kasrahontatweel"/><GlyphID id="400" name="shaddaisolated"/><GlyphID id="401" name="shaddahontatweel"/><GlyphID id="402" name="sukunisolated"/><GlyphID id="403" name="sukunontatweel"/><GlyphID id="404" name="hamzaisolated"/><GlyphID id="405" name="alefwithmaddaaboveisolated"/><GlyphID id="406" name="alefwithmaddaabovefinal"/><GlyphID id="407" name="alefwithhamzaaboveisolated"/><GlyphID id="408" name="alefwithhamzaabovefinal"/><GlyphID id="409" name="wawwithhamzaaboveisolated"/><GlyphID id="410" name="wawwithhamzaabovefinal"/><GlyphID id="411" name="alefwithhamzabelowisolated"/><GlyphID id="412" name="alefwithhamzabelowfinal"/><GlyphID id="413" name="yehwithhamzaaboveisolated"/><GlyphID id="414" name="yehwithhamzaabovefinal"/><GlyphID id="415" name="yehwithhamzaaboveinitial"/><GlyphID id="416" name="yehwithhamzaabovemedial"/><GlyphID id="417" name="alefisolated"/><GlyphID id="418" name="aleffinal"/><GlyphID id="419" name="behisolated"/><GlyphID id="420" name="behfinal"/><GlyphID id="421" name="behinitial"/><GlyphID id="422" name="behmedial"/><GlyphID id="423" name="tehmarbutaisolated"/><GlyphID id="424" name="tehmarbutafinal"/><GlyphID id="425" name="tehisolated"/><GlyphID id="426" name="tehfinal"/><GlyphID id="427" name="tehinitial"/><GlyphID id="428" name="tehmedial"/><GlyphID id="429" name="thehisolated"/><GlyphID id="430" name="thehfinal"/><GlyphID id="431" name="thehinitial"/><GlyphID id="432" name="thehmedial"/><GlyphID id="433" name="jeemisolated"/><GlyphID id="434" name="jeemfinal"/><GlyphID id="435" name="jeeminitial"/><GlyphID id="436" name="jeemmedial"/><GlyphID id="437" name="hahisolated"/><GlyphID id="438" name="hahfinal"/><GlyphID id="439" name="hahinitial"/><GlyphID id="440" name="hahmedial"/><GlyphID id="441" name="khahisolated"/><GlyphID id="442" name="khahfinal"/><GlyphID id="443" name="khahinitial"/><GlyphID id="444" name="khahmedial"/><GlyphID id="445" name="dalisolated"/><GlyphID id="446" name="dalfinal"/><GlyphID id="447" name="thalisolated"/><GlyphID id="448" name="thalfinal"/><GlyphID id="449" name="rehisolated"/><GlyphID id="450" name="rehfinal"/><GlyphID id="451" name="zainisolated"/><GlyphID id="452" name="zainfinal"/><GlyphID id="453" name="seenisolated"/><GlyphID id="454" name="seenfinal"/><GlyphID id="455" name="seeninitial"/><GlyphID id="456" name="seenmedial"/><GlyphID id="457" name="sheenisolated"/><GlyphID id="458" name="sheenfinal"/><GlyphID id="459" name="sheeninitial"/><GlyphID id="460" name="sheenmedial"/><GlyphID id="461" name="sadisolated"/><GlyphID id="462" name="sadfinal"/><GlyphID id="463" name="sadinitial"/><GlyphID id="464" name="sadmedial"/><GlyphID id="465" name="dadisolated"/><GlyphID id="466" name="dadfinal"/><GlyphID id="467" name="dadinitial"/><GlyphID id="468" name="dadmedial"/><GlyphID id="469" name="tahisolated"/><GlyphID id="470" name="tahfinal"/><GlyphID id="471" name="tahinitial"/><GlyphID id="472" name="tahmedial"/><GlyphID id="473" name="zahisolated"/><GlyphID id="474" name="zahfinal"/><GlyphID id="475" name="zahinitial"/><GlyphID id="476" name="zahmedial"/><GlyphID id="477" name="ainisolated"/><GlyphID id="478" name="ainfinal"/><GlyphID id="479" name="aininitial"/><GlyphID id="480" name="ainmedial"/><GlyphID id="481" name="ghainisolated"/><GlyphID id="482" name="ghainfinal"/><GlyphID id="483" name="ghaininitial"/><GlyphID id="484" name="ghainmedial"/><GlyphID id="485" name="fehisolated"/><GlyphID id="486" name="fehfinal"/><GlyphID id="487" name="fehinitial"/><GlyphID id="488" name="fehmedial"/><GlyphID id="489" name="qafisolated"/><GlyphID id="490" name="qaffinal"/><GlyphID id="491" name="qafinitial"/><GlyphID id="492" name="qafmedial"/><GlyphID id="493" name="kafisolated"/><GlyphID id="494" name="arabickaffinal"/><GlyphID id="495" name="kafinitial"/><GlyphID id="496" name="kafmedial"/><GlyphID id="497" name="lamisolated"/><GlyphID id="498" name="lamfinal"/><GlyphID id="499" name="laminitial"/><GlyphID id="500" name="lammedial"/><GlyphID id="501" name="meemisolated"/><GlyphID id="502" name="meemfinal"/><GlyphID id="503" name="meeminitial"/><GlyphID id="504" name="meemmedial"/><GlyphID id="505" name="noonisolated"/><GlyphID id="506" name="noonfinal"/><GlyphID id="507" name="nooninitial"/><GlyphID id="508" name="noonmedial"/><GlyphID id="509" name="hehisolated"/><GlyphID id="510" name="hehfinal"/><GlyphID id="511" name="hehinitial"/><GlyphID id="512" name="hehmedial"/><GlyphID id="513" name="wawisolated"/><GlyphID id="514" name="wawfinal"/><GlyphID id="515" name="alefmaksuraisolated"/><GlyphID id="516" name="alefmaksurafinal"/><GlyphID id="517" name="yehisolated"/><GlyphID id="518" name="yehfinal"/><GlyphID id="519" name="yehinitial"/><GlyphID id="520" name="yehmedial"/><GlyphID id="521" name="lamwithalefmaddaaboveisolatedd"/><GlyphID id="522" name="lamwithalefmaddaabovefinal"/><GlyphID id="523" name="lamwithalefhamzaaboveisolatedd"/><GlyphID id="524" name="lamwithalefhamzaabovefinal"/><GlyphID id="525" name="lamwithalefhamzabelowisolated"/><GlyphID id="526" name="lamwithalefhamzabelowfinal"/><GlyphID id="527" name="lamwithalefisolated"/><GlyphID id="528" name="lamwithaleffinal"/><GlyphID id="529" name="zerowidthnobreakspace"/><GlyphID id="530" name="uni000D"/><GlyphID id="531" name="tilde"/><GlyphID id="532" name="Aacute"/><GlyphID id="533" name="Acircumflex"/><GlyphID id="534" name="Atilde"/><GlyphID id="535" name="Adieresis"/><GlyphID id="536" name="Aring"/><GlyphID id="537" name="AE"/><GlyphID id="538" name="Ccedilla"/><GlyphID id="539" name="Egrave"/><GlyphID id="540" name="Eacute"/><GlyphID id="541" name="Ecircumflex"/><GlyphID id="542" name="Edieresis"/><GlyphID id="543" name="Igrave"/><GlyphID id="544" name="Iacute"/><GlyphID id="545" name="Icircumflex"/><GlyphID id="546" name="Idieresis"/><GlyphID id="547" name="Eth"/><GlyphID id="548" name="Ntilde"/><GlyphID id="549" name="Ograve"/><GlyphID id="550" name="Oacute"/><GlyphID id="551" name="Ocircumflex"/><GlyphID id="552" name="Otilde"/><GlyphID id="553" name="Odieresis"/><GlyphID id="554" name="Oslash"/><GlyphID id="555" name="Ugrave"/><GlyphID id="556" name="Uacute"/><GlyphID id="557" name="Ucircumflex"/><GlyphID id="558" name="Udieresis"/><GlyphID id="559" name="Yacute"/><GlyphID id="560" name="Thorn"/><GlyphID id="561" name="germandbls"/><GlyphID id="562" name="aacute"/><GlyphID id="563" name="atilde"/><GlyphID id="564" name="adieresis"/><GlyphID id="565" name="aring"/><GlyphID id="566" name="ae"/><GlyphID id="567" name="igrave"/><GlyphID id="568" name="iacute"/><GlyphID id="569" name="eth"/><GlyphID id="570" name="ntilde"/><GlyphID id="571" name="ograve"/><GlyphID id="572" name="oacute"/><GlyphID id="573" name="otilde"/><GlyphID id="574" name="odieresis"/><GlyphID id="575" name="oslash"/><GlyphID id="576" name="uacute"/><GlyphID id="577" name="yacute"/><GlyphID id="578" name="thorn"/><GlyphID id="579" name="Zcaron"/><GlyphID id="580" name="zcaron"/><GlyphID id="581" name="Euro"/><GlyphID id="582" name="uni0649.init"/><GlyphID id="583" name="uni0649.medi"/><GlyphID id="584" name="uni0654"/><GlyphID id="585" name="uni0655"/><GlyphID id="586" name="uni0655064D"/><GlyphID id="587" name="uni06550650"/><GlyphID id="588" name="uni25CC"/></GlyphOrder><cmap><tableVersion version="0"/><cmap_format_0 platformID="1" platEncID="0" language="0"><map code="0x0" name="NULL"/><map code="0x1" name=".notdef"/><map code="0x2" name=".notdef"/><map code="0x3" name=".notdef"/><map code="0x4" name=".notdef"/><map code="0x5" name=".notdef"/><map code="0x6" name=".notdef"/><map code="0x7" name=".notdef"/><map code="0x8" name="NULL"/><map code="0x9" name="nonmarkingreturn"/><map code="0xa" name=".notdef"/><map code="0xb" name=".notdef"/><map code="0xc" name=".notdef"/><map code="0xd" name="nonmarkingreturn"/><map code="0xe" name=".notdef"/><map code="0xf" name=".notdef"/><map code="0x10" name=".notdef"/><map code="0x11" name=".notdef"/><map code="0x12" name=".notdef"/><map code="0x13" name=".notdef"/><map code="0x14" name=".notdef"/><map code="0x15" name=".notdef"/><map code="0x16" name=".notdef"/><map code="0x17" name=".notdef"/><map code="0x18" name=".notdef"/><map code="0x19" name=".notdef"/><map code="0x1a" name=".notdef"/><map code="0x1b" name=".notdef"/><map code="0x1c" name=".notdef"/><map code="0x1d" name="NULL"/><map code="0x1e" name=".notdef"/><map code="0x1f" name=".notdef"/><map code="0x20" name="space"/><map code="0x21" name="exclam"/><map code="0x22" name="quotedbl"/><map code="0x23" name="numbersign"/><map code="0x24" name="dollar"/><map code="0x25" name="percent"/><map code="0x26" name="ampersand"/><map code="0x27" name="quotesingle"/><map code="0x28" name="parenleft"/><map code="0x29" name="parenright"/><map code="0x2a" name="asterisk"/><map code="0x2b" name="plus"/><map code="0x2c" name="comma"/><map code="0x2d" name="hyphenminus"/><map code="0x2e" name="period"/><map code="0x2f" name="slash"/><map code="0x30" name="zero"/><map code="0x31" name="one"/><map code="0x32" name="two"/><map code="0x33" name="three"/><map code="0x34" name="four"/><map code="0x35" name="five"/><map code="0x36" name="six"/><map code="0x37" name="seven"/><map code="0x38" name="eight"/><map code="0x39" name="nine"/><map code="0x3a" name="colon"/><map code="0x3b" name="semicolon"/><map code="0x3c" name="less"/><map code="0x3d" name="equal"/><map code="0x3e" name="greater"/><map code="0x3f" name="question"/><map code="0x40" name="at"/><map code="0x41" name="A"/><map code="0x42" name="B"/><map code="0x43" name="C"/><map code="0x44" name="D"/><map code="0x45" name="E"/><map code="0x46" name="F"/><map code="0x47" name="G"/><map code="0x48" name="H"/><map code="0x49" name="I"/><map code="0x4a" name="J"/><map code="0x4b" name="K"/><map code="0x4c" name="L"/><map code="0x4d" name="M"/><map code="0x4e" name="N"/><map code="0x4f" name="O"/><map code="0x50" name="P"/><map code="0x51" name="Q"/><map code="0x52" name="R"/><map code="0x53" name="S"/><map code="0x54" name="T"/><map code="0x55" name="U"/><map code="0x56" name="V"/><map code="0x57" name="W"/><map code="0x58" name="X"/><map code="0x59" name="Y"/><map code="0x5a" name="Z"/><map code="0x5b" name="bracketleft"/><map code="0x5c" name="backslash"/><map code="0x5d" name="bracketright"/><map code="0x5e" name="asciicircum"/><map code="0x5f" name="underscore"/><map code="0x60" name="grave"/><map code="0x61" name="a"/><map code="0x62" name="b"/><map code="0x63" name="c"/><map code="0x64" name="d"/><map code="0x65" name="e"/><map code="0x66" name="f"/><map code="0x67" name="g"/><map code="0x68" name="h"/><map code="0x69" name="i"/><map code="0x6a" name="j"/><map code="0x6b" name="k"/><map code="0x6c" name="l"/><map code="0x6d" name="m"/><map code="0x6e" name="n"/><map code="0x6f" name="o"/><map code="0x70" name="p"/><map code="0x71" name="q"/><map code="0x72" name="r"/><map code="0x73" name="s"/><map code="0x74" name="t"/><map code="0x75" name="u"/><map code="0x76" name="v"/><map code="0x77" name="w"/><map code="0x78" name="x"/><map code="0x79" name="y"/><map code="0x7a" name="z"/><map code="0x7b" name="braceleft"/><map code="0x7c" name="bar"/><map code="0x7d" name="braceright"/><map code="0x7e" name="asciitilde"/><map code="0x7f" name=".notdef"/><map code="0x80" name=".notdef"/><map code="0x81" name=".notdef"/><map code="0x82" name=".notdef"/><map code="0x83" name=".notdef"/><map code="0x84" name=".notdef"/><map code="0x85" name=".notdef"/><map code="0x86" name=".notdef"/><map code="0x87" name=".notdef"/><map code="0x88" name=".notdef"/><map code="0x89" name=".notdef"/><map code="0x8a" name=".notdef"/><map code="0x8b" name=".notdef"/><map code="0x8c" name=".notdef"/><map code="0x8d" name=".notdef"/><map code="0x8e" name=".notdef"/><map code="0x8f" name=".notdef"/><map code="0x90" name=".notdef"/><map code="0x91" name=".notdef"/><map code="0x92" name=".notdef"/><map code="0x93" name=".notdef"/><map code="0x94" name=".notdef"/><map code="0x95" name=".notdef"/><map code="0x96" name=".notdef"/><map code="0x97" name=".notdef"/><map code="0x98" name=".notdef"/><map code="0x99" name=".notdef"/><map code="0x9a" name=".notdef"/><map code="0x9b" name=".notdef"/><map code="0x9c" name=".notdef"/><map code="0x9d" name=".notdef"/><map code="0x9e" name=".notdef"/><map code="0x9f" name=".notdef"/><map code="0xa0" name=".notdef"/><map code="0xa1" name="exclam"/><map code="0xa2" name="quotedbl"/><map code="0xa3" name="numbersign"/><map code="0xa4" name="dollar"/><map code="0xa5" name="percent"/><map code="0xa6" name="ampersand"/><map code="0xa7" name="quotesingle"/><map code="0xa8" name="parenleft"/><map code="0xa9" name="parenright"/><map code="0xaa" name="multiply"/><map code="0xab" name="plus"/><map code="0xac" name="arabiccomma"/><map code="0xad" name="hyphenminus"/><map code="0xae" name="period"/><map code="0xaf" name="slash"/><map code="0xb0" name="periodcentered"/><map code="0xb1" name="arabicindicdigitone"/><map code="0xb2" name="arabicindicdigittwo"/><map code="0xb3" name="arabicindicdigitthree"/><map code="0xb4" name="arabicindicdigitfour"/><map code="0xb5" name="arabicindicdigitfive"/><map code="0xb6" name="arabicindicdigitsix"/><map code="0xb7" name="arabicindicdigitseven"/><map code="0xb8" name="arabicindicdigiteight"/><map code="0xb9" name="arabicindicdigitnine"/><map code="0xba" name="colon"/><map code="0xbb" name="semicolon"/><map code="0xbc" name="less"/><map code="0xbd" name="equal"/><map code="0xbe" name="greater"/><map code="0xbf" name="arabicquestionmark"/><map code="0xc0" name="asterisk"/><map code="0xc1" name="hamza"/><map code="0xc2" name="alefwithmaddaabove"/><map code="0xc3" name="alefwithhamzaabove"/><map code="0xc4" name="wawwithhamzaabove"/><map code="0xc5" name="alefwithhamzabelow"/><map code="0xc6" name="yehwithhamzaabove"/><map code="0xc7" name="arabicalef"/><map code="0xc8" name="beh"/><map code="0xc9" name="tehmarbuta"/><map code="0xca" name="teh"/><map code="0xcb" name="theh"/><map code="0xcc" name="jeem"/><map code="0xcd" name="hah"/><map code="0xce" name="khah"/><map code="0xcf" name="dal"/><map code="0xd0" name="thal"/><map code="0xd1" name="reh"/><map code="0xd2" name="zain"/><map code="0xd3" name="seen"/><map code="0xd4" name="sheen"/><map code="0xd5" name="sad"/><map code="0xd6" name="dad"/><map code="0xd7" name="tah"/><map code="0xd8" name="zah"/><map code="0xd9" name="ain"/><map code="0xda" name="ghain"/><map code="0xdb" name="bracketright"/><map code="0xdc" name="backslash"/><map code="0xdd" name="bracketleft"/><map code="0xde" name="circumflex"/><map code="0xdf" name="underscore"/><map code="0xe0" name="hyphenminus"/><map code="0xe1" name="feh"/><map code="0xe2" name="qaf"/><map code="0xe3" name="arabickaf"/><map code="0xe4" name="lam"/><map code="0xe5" name="meem"/><map code="0xe6" name="noon"/><map code="0xe7" name="heh"/><map code="0xe8" name="waw"/><map code="0xe9" name="alefmaksura"/><map code="0xea" name="yeh"/><map code="0xeb" name="fathatan"/><map code="0xec" name="dammatan"/><map code="0xed" name="kasratan"/><map code="0xee" name="fatha"/><map code="0xef" name="damma"/><map code="0xf0" name="kasra"/><map code="0xf1" name="shadda"/><map code="0xf2" name="sukun"/><map code="0xf3" name="peh"/><map code="0xf4" name=".notdef"/><map code="0xf5" name="tcheh"/><map code="0xf6" name="heh"/><map code="0xf7" name="veh"/><map code="0xf8" name="gaf"/><map code="0xf9" name=".notdef"/><map code="0xfa" name=".notdef"/><map code="0xfb" name="braceright"/><map code="0xfc" name="bar"/><map code="0xfd" name="braceleft"/><map code="0xfe" name="jeh"/><map code="0xff" name=".notdef"/></cmap_format_0><cmap_format_4 platformID="3" platEncID="1" language="0"><map code="0x20" name="space"/><map code="0x21" name="exclam"/><map code="0x22" name="quotedbl"/><map code="0x23" name="numbersign"/><map code="0x24" name="dollar"/><map code="0x25" name="percent"/><map code="0x26" name="ampersand"/><map code="0x27" name="quotesingle"/><map code="0x28" name="parenleft"/><map code="0x29" name="parenright"/><map code="0x2a" name="asterisk"/><map code="0x2b" name="plus"/><map code="0x2c" name="comma"/><map code="0x2d" name="hyphenminus"/><map code="0x2e" name="period"/><map code="0x2f" name="slash"/><map code="0x30" name="zero"/><map code="0x31" name="one"/><map code="0x32" name="two"/><map code="0x33" name="three"/><map code="0x34" name="four"/><map code="0x35" name="five"/><map code="0x36" name="six"/><map code="0x37" name="seven"/><map code="0x38" name="eight"/><map code="0x39" name="nine"/><map code="0x3a" name="colon"/><map code="0x3b" name="semicolon"/><map code="0x3c" name="less"/><map code="0x3d" name="equal"/><map code="0x3e" name="greater"/><map code="0x3f" name="question"/><map code="0x40" name="at"/><map code="0x41" name="A"/><map code="0x42" name="B"/><map code="0x43" name="C"/><map code="0x44" name="D"/><map code="0x45" name="E"/><map code="0x46" name="F"/><map code="0x47" name="G"/><map code="0x48" name="H"/><map code="0x49" name="I"/><map code="0x4a" name="J"/><map code="0x4b" name="K"/><map code="0x4c" name="L"/><map code="0x4d" name="M"/><map code="0x4e" name="N"/><map code="0x4f" name="O"/><map code="0x50" name="P"/><map code="0x51" name="Q"/><map code="0x52" name="R"/><map code="0x53" name="S"/><map code="0x54" name="T"/><map code="0x55" name="U"/><map code="0x56" name="V"/><map code="0x57" name="W"/><map code="0x58" name="X"/><map code="0x59" name="Y"/><map code="0x5a" name="Z"/><map code="0x5b" name="bracketleft"/><map code="0x5c" name="backslash"/><map code="0x5d" name="bracketright"/><map code="0x5e" name="asciicircum"/><map code="0x5f" name="underscore"/><map code="0x60" name="grave"/><map code="0x61" name="a"/><map code="0x62" name="b"/><map code="0x63" name="c"/><map code="0x64" name="d"/><map code="0x65" name="e"/><map code="0x66" name="f"/><map code="0x67" name="g"/><map code="0x68" name="h"/><map code="0x69" name="i"/><map code="0x6a" name="j"/><map code="0x6b" name="k"/><map code="0x6c" name="l"/><map code="0x6d" name="m"/><map code="0x6e" name="n"/><map code="0x6f" name="o"/><map code="0x70" name="p"/><map code="0x71" name="q"/><map code="0x72" name="r"/><map code="0x73" name="s"/><map code="0x74" name="t"/><map code="0x75" name="u"/><map code="0x76" name="v"/><map code="0x77" name="w"/><map code="0x78" name="x"/><map code="0x79" name="y"/><map code="0x7a" name="z"/><map code="0x7b" name="braceleft"/><map code="0x7c" name="bar"/><map code="0x7d" name="braceright"/><map code="0x7e" name="asciitilde"/><map code="0x7f" name="delete"/><map code="0xa0" name="nonbreakingspace"/><map code="0xa1" name="exclamdown"/><map code="0xa2" name="cent"/><map code="0xa3" name="sterling"/><map code="0xa4" name="currency"/><map code="0xa5" name="yen"/><map code="0xa6" name="brokenbar"/><map code="0xa7" name="section"/><map code="0xa8" name="dieresis"/><map code="0xa9" name="copyright"/><map code="0xaa" name="ordfeminine"/><map code="0xab" name="guillemotleft"/><map code="0xac" name="logicalnot"/><map code="0xad" name="sfthyphen"/><map code="0xae" name="registered"/><map code="0xaf" name="macron"/><map code="0xb0" name="degree"/><map code="0xb1" name="plusminus"/><map code="0xb2" name="twosuperior"/><map code="0xb3" name="threesuperior"/><map code="0xb4" name="acute"/><map code="0xb5" name="micro"/><map code="0xb6" name="paragraph"/><map code="0xb7" name="periodcentered"/><map code="0xb8" name="cedilla"/><map code="0xb9" name="onesuperior"/><map code="0xba" name="ordmasculine"/><map code="0xbb" name="guillemotright"/><map code="0xbc" name="onequarter"/><map code="0xbd" name="onehalf"/><map code="0xbe" name="threequarters"/><map code="0xbf" name="questiondown"/><map code="0xc0" name="Agrave"/><map code="0xc1" name="Aacute"/><map code="0xc2" name="Acircumflex"/><map code="0xc3" name="Atilde"/><map code="0xc4" name="Adieresis"/><map code="0xc5" name="Aring"/><map code="0xc6" name="AE"/><map code="0xc7" name="Ccedilla"/><map code="0xc8" name="Egrave"/><map code="0xc9" name="Eacute"/><map code="0xca" name="Ecircumflex"/><map code="0xcb" name="Edieresis"/><map code="0xcc" name="Igrave"/><map code="0xcd" name="Iacute"/><map code="0xce" name="Icircumflex"/><map code="0xcf" name="Idieresis"/><map code="0xd0" name="Eth"/><map code="0xd1" name="Ntilde"/><map code="0xd2" name="Ograve"/><map code="0xd3" name="Oacute"/><map code="0xd4" name="Ocircumflex"/><map code="0xd5" name="Otilde"/><map code="0xd6" name="Odieresis"/><map code="0xd7" name="multiply"/><map code="0xd8" name="Oslash"/><map code="0xd9" name="Ugrave"/><map code="0xda" name="Uacute"/><map code="0xdb" name="Ucircumflex"/><map code="0xdc" name="Udieresis"/><map code="0xdd" name="Yacute"/><map code="0xde" name="Thorn"/><map code="0xdf" name="germandbls"/><map code="0xe0" name="agrave"/><map code="0xe1" name="aacute"/><map code="0xe2" name="acircumflex"/><map code="0xe3" name="atilde"/><map code="0xe4" name="adieresis"/><map code="0xe5" name="aring"/><map code="0xe6" name="ae"/><map code="0xe7" name="ccedilla"/><map code="0xe8" name="egrave"/><map code="0xe9" name="eacute"/><map code="0xea" name="ecircumflex"/><map code="0xeb" name="edieresis"/><map code="0xec" name="igrave"/><map code="0xed" name="iacute"/><map code="0xee" name="icircumflex"/><map code="0xef" name="idieresis"/><map code="0xf0" name="eth"/><map code="0xf1" name="ntilde"/><map code="0xf2" name="ograve"/><map code="0xf3" name="oacute"/><map code="0xf4" name="ocircumflex"/><map code="0xf5" name="otilde"/><map code="0xf6" name="odieresis"/><map code="0xf7" name="divide"/><map code="0xf8" name="oslash"/><map code="0xf9" name="ugrave"/><map code="0xfa" name="uacute"/><map code="0xfb" name="ucircumflex"/><map code="0xfc" name="udieresis"/><map code="0xfd" name="yacute"/><map code="0xfe" name="thorn"/><map code="0xff" name="ydieresis"/><map code="0x131" name="dotlessi"/><map code="0x152" name="OE"/><map code="0x153" name="oe"/><map code="0x160" name="Scaron"/><map code="0x161" name="scaron"/><map code="0x178" name="Ydieresis"/><map code="0x17d" name="Zcaron"/><map code="0x17e" name="zcaron"/><map code="0x192" name="florin"/><map code="0x2c6" name="circumflex"/><map code="0x2c7" name="caron"/><map code="0x2dc" name="tilde"/><map code="0x60c" name="arabiccomma"/><map code="0x61b" name="arabicsemicolon"/><map code="0x61f" name="arabicquestionmark"/><map code="0x621" name="hamza"/><map code="0x622" name="alefwithmaddaabove"/><map code="0x623" name="alefwithhamzaabove"/><map code="0x624" name="wawwithhamzaabove"/><map code="0x625" name="alefwithhamzabelow"/><map code="0x626" name="yehwithhamzaabove"/><map code="0x627" name="arabicalef"/><map code="0x628" name="beh"/><map code="0x629" name="tehmarbuta"/><map code="0x62a" name="teh"/><map code="0x62b" name="theh"/><map code="0x62c" name="jeem"/><map code="0x62d" name="hah"/><map code="0x62e" name="khah"/><map code="0x62f" name="dal"/><map code="0x630" name="thal"/><map code="0x631" name="reh"/><map code="0x632" name="zain"/><map code="0x633" name="seen"/><map code="0x634" name="sheen"/><map code="0x635" name="sad"/><map code="0x636" name="dad"/><map code="0x637" name="tah"/><map code="0x638" name="zah"/><map code="0x639" name="ain"/><map code="0x63a" name="ghain"/><map code="0x640" name="tatweel"/><map code="0x641" name="feh"/><map code="0x642" name="qaf"/><map code="0x643" name="arabickaf"/><map code="0x644" name="lam"/><map code="0x645" name="meem"/><map code="0x646" name="noon"/><map code="0x647" name="heh"/><map code="0x648" name="waw"/><map code="0x649" name="alefmaksura"/><map code="0x64a" name="yeh"/><map code="0x64b" name="fathatan"/><map code="0x64c" name="dammatan"/><map code="0x64d" name="kasratan"/><map code="0x64e" name="fatha"/><map code="0x64f" name="damma"/><map code="0x650" name="kasra"/><map code="0x651" name="shadda"/><map code="0x652" name="sukun"/><map code="0x654" name="uni0654"/><map code="0x655" name="uni0655"/><map code="0x660" name="arabicindicdigitzero"/><map code="0x661" name="arabicindicdigitone"/><map code="0x662" name="arabicindicdigittwo"/><map code="0x663" name="arabicindicdigitthree"/><map code="0x664" name="arabicindicdigitfour"/><map code="0x665" name="arabicindicdigitfive"/><map code="0x666" name="arabicindicdigitsix"/><map code="0x667" name="arabicindicdigitseven"/><map code="0x668" name="arabicindicdigiteight"/><map code="0x669" name="arabicindicdigitnine"/><map code="0x66a" name="arabicpercentsign"/><map code="0x66c" name="arabiccomma"/><map code="0x66d" name="arabicfivepointedstar"/><map code="0x670" name="superscriptalef"/><map code="0x671" name="alefwasla"/><map code="0x674" name="highhamza"/><map code="0x67e" name="peh"/><map code="0x686" name="tcheh"/><map code="0x698" name="jeh"/><map code="0x6a4" name="veh"/><map code="0x6a9" name="keheh"/><map code="0x6af" name="gaf"/><map code="0x6cc" name="farsiyeh"/><map code="0x6d5" name="arabicae"/><map code="0x6e4" name="smallhighmadda"/><map code="0x6f0" name="extendedarabicindicdigitzero"/><map code="0x6f1" name="extendedarabicindicdigitone"/><map code="0x6f2" name="extendedarabicindicdigittwo"/><map code="0x6f3" name="extendedarabicindicdigitthree"/><map code="0x6f4" name="extendedarabicindicdigitfour"/><map code="0x6f5" name="extendedarabicindicdigitfive"/><map code="0x6f6" name="extendedarabicindicdigitsix"/><map code="0x6f7" name="extendedarabicindicdigitseven"/><map code="0x6f8" name="extendedarabicindicdigiteight"/><map code="0x6f9" name="extendedarabicindicdigitnine"/><map code="0x200c" name="zeronojoin"/><map code="0x200d" name="zerojoin"/><map code="0x200e" name="lefttoright"/><map code="0x200f" name="righttoleft"/><map code="0x2013" name="endash"/><map code="0x2014" name="quotedash"/><map code="0x2018" name="quoteleft"/><map code="0x2019" name="quoteright"/><map code="0x201a" name="quotesinglbase"/><map code="0x201c" name="quotedblleft"/><map code="0x201d" name="quotedblright"/><map code="0x201e" name="quotedblbase"/><map code="0x2020" name="dagger"/><map code="0x2021" name="daggerdbl"/><map code="0x2022" name="bullet"/><map code="0x2026" name="ellipsis"/><map code="0x2030" name="perthousand"/><map code="0x2039" name="guilsinglleft"/><map code="0x203a" name="guilsinglright"/><map code="0x20ac" name="Euro"/><map code="0x2122" name="trademark"/><map code="0x25cc" name="uni25CC"/><map code="0xfb50" name="alefwaslaisolated"/><map code="0xfb51" name="alefwaslafinal"/><map code="0xfb56" name="pehisolated"/><map code="0xfb57" name="pehfinal"/><map code="0xfb58" name="pehinitial"/><map code="0xfb59" name="pehmedial"/><map code="0xfb6a" name="vehisolated"/><map code="0xfb6b" name="vehfinal"/><map code="0xfb6c" name="vehinitial"/><map code="0xfb6d" name="vehmedial"/><map code="0xfb7a" name="tchehisolated"/><map code="0xfb7b" name="tchehfinal"/><map code="0xfb7c" name="tchehinitial"/><map code="0xfb7d" name="tchehmedial"/><map code="0xfb8a" name="jehisolated"/><map code="0xfb8b" name="jehfinal"/><map code="0xfb8e" name="kehehisolated"/><map code="0xfb8f" name="kehehfinal"/><map code="0xfb90" name="kehehinitial"/><map code="0xfb91" name="kehehmedial"/><map code="0xfb92" name="gafisolated"/><map code="0xfb93" name="gaffinal"/><map code="0xfb94" name="gafinitial"/><map code="0xfb95" name="gafmedial"/><map code="0xfbe8" name="uni0649.init"/><map code="0xfbe9" name="uni0649.medi"/><map code="0xfbfc" name="farsiyehisolated"/><map code="0xfbfd" name="farsiyehfinal"/><map code="0xfc08" name="behwithmeemisolated"/><map code="0xfc09" name="behwithalefmaksuraisolated"/><map code="0xfc0a" name="behwithyehisolated"/><map code="0xfc0e" name="tehwithmeemisolated"/><map code="0xfc10" name="tehwithyehisolated"/><map code="0xfc12" name="thehwithmeemisolated"/><map code="0xfc31" name="fehwithalefmaksuraisolated"/><map code="0xfc32" name="fehwithyehisolated"/><map code="0xfc3f" name="lamwithjeemisolated"/><map code="0xfc40" name="lamwithhahisolated"/><map code="0xfc41" name="lamwithkhahisolated"/><map code="0xfc42" name="lamwithmeemisolated"/><map code="0xfc43" name="lamwithalefmaksuraisolated"/><map code="0xfc44" name="lamwithyehisolated"/><map code="0xfc4e" name="noonwithmeemisolated"/><map code="0xfc4f" name="noonwithalefmaksuraisolated"/><map code="0xfc50" name="noonwithyehisolated"/><map code="0xfc58" name="yehwithmeemisolated"/><map code="0xfc59" name="yehwithalefmaksuraisolated"/><map code="0xfc5e" name="shaddawithdammatanisolatedlow"/><map code="0xfc5f" name="shaddawithkasratanisolatedlow"/><map code="0xfc60" name="shaddawithfathaisolatedlow"/><map code="0xfc61" name="shaddawithdammaisolatedlow"/><map code="0xfc62" name="shaddawithkasraisolatedlow"/><map code="0xfc6a" name="behwithrehfinal"/><map code="0xfc6d" name="behwithnoonfinal"/><map code="0xfc6e" name="behwithalefmaksurafinal"/><map code="0xfc6f" name="behwithyehfinal"/><map code="0xfc70" name="noonwithzainfinal"/><map code="0xfc73" name="tehwithnoonfinal"/><map code="0xfc74" name="tehwithalefmaksurafinal"/><map code="0xfc75" name="tehwithyehfinal"/><map code="0xfc8e" name="noonwithalefmaksurafinal"/><map code="0xfc8f" name="noonwithyehfinal"/><map code="0xfc91" name="yehwithrehfinal"/><map code="0xfc94" name="yehwithnoonfinal"/><map code="0xfc95" name="yehwithalefmaksurafinal"/><map code="0xfc9c" name="behwithjeeminitial"/><map code="0xfc9d" name="behwithhahinitial"/><map code="0xfc9e" name="behwithkhahinitial"/><map code="0xfc9f" name="behwithmeeminitial"/><map code="0xfca1" name="tehwithjeeminitial"/><map code="0xfca2" name="tehwithhahinitial"/><map code="0xfca3" name="tehwithkhahinitial"/><map code="0xfca4" name="tehwithmeeminitial"/><map code="0xfca6" name="thehwithmeeminitial"/><map code="0xfca8" name="jeemwithmeeminitial"/><map code="0xfcaa" name="hahwithmeeminitial"/><map code="0xfcac" name="khahwithmeeminitial"/><map code="0xfcb0" name="seenwithmeeminitial"/><map code="0xfcc9" name="lamwithjeeminitial"/><map code="0xfcca" name="lamwithhahinitial"/><map code="0xfccb" name="lamwithkhahinitial"/><map code="0xfccc" name="lamwithmeeminitial"/><map code="0xfccd" name="lamwithhehinitial"/><map code="0xfcce" name="meemwithjeeminitial"/><map code="0xfccf" name="meemwithhahinitial"/><map code="0xfcd0" name="meemwithkhahinitial"/><map code="0xfcd1" name="meemwithmeeminitial"/><map code="0xfcd2" name="noonwithjeeminitial"/><map code="0xfcd3" name="noonwithhahinitial"/><map code="0xfcd4" name="noonwithkhahinitial"/><map code="0xfcd5" name="noonwithmeeminitial"/><map code="0xfcd8" name="hehwithmeeminitial"/><map code="0xfcda" name="yehwithjeeminitial"/><map code="0xfcdb" name="yehwithhahinitial"/><map code="0xfcdc" name="yehwithkhahinitial"/><map code="0xfcdd" name="yehwithmeeminitial"/><map code="0xfcf2" name="shaddawithfathamedial"/><map code="0xfcf3" name="shaddawithdammamedial"/><map code="0xfcf4" name="shaddawithkasramedial"/><map code="0xfd30" name="sheenwithmeeminitial"/><map code="0xfd3c" name="alefwithfathatanfinal"/><map code="0xfd3d" name="alefwithfathatanisolated"/><map code="0xfd3e" name="ornateleftparenthesis"/><map code="0xfd3f" name="ornaterightparenthesis"/><map code="0xfd88" name="lamwithmeemwithhahinitial"/><map code="0xfdf2" name="allahisolated"/><map code="0xfdfc" name="rayaleflam"/><map code="0xfe70" name="fathatanisolated"/><map code="0xfe71" name="fathatanontatweel"/><map code="0xfe72" name="dammatanisolated"/><map code="0xfe74" name="kasratanisolated"/><map code="0xfe76" name="fathaisolated"/><map code="0xfe77" name="fathahontatweel"/><map code="0xfe78" name="dammaisolated"/><map code="0xfe79" name="dammahontatweel"/><map code="0xfe7a" name="kasraisolated"/><map code="0xfe7b" name="kasrahontatweel"/><map code="0xfe7c" name="shaddaisolated"/><map code="0xfe7d" name="shaddahontatweel"/><map code="0xfe7e" name="sukunisolated"/><map code="0xfe7f" name="sukunontatweel"/><map code="0xfe80" name="hamzaisolated"/><map code="0xfe81" name="alefwithmaddaaboveisolated"/><map code="0xfe82" name="alefwithmaddaabovefinal"/><map code="0xfe83" name="alefwithhamzaaboveisolated"/><map code="0xfe84" name="alefwithhamzaabovefinal"/><map code="0xfe85" name="wawwithhamzaaboveisolated"/><map code="0xfe86" name="wawwithhamzaabovefinal"/><map code="0xfe87" name="alefwithhamzabelowisolated"/><map code="0xfe88" name="alefwithhamzabelowfinal"/><map code="0xfe89" name="yehwithhamzaaboveisolated"/><map code="0xfe8a" name="yehwithhamzaabovefinal"/><map code="0xfe8b" name="yehwithhamzaaboveinitial"/><map code="0xfe8c" name="yehwithhamzaabovemedial"/><map code="0xfe8d" name="alefisolated"/><map code="0xfe8e" name="aleffinal"/><map code="0xfe8f" name="behisolated"/><map code="0xfe90" name="behfinal"/><map code="0xfe91" name="behinitial"/><map code="0xfe92" name="behmedial"/><map code="0xfe93" name="tehmarbutaisolated"/><map code="0xfe94" name="tehmarbutafinal"/><map code="0xfe95" name="tehisolated"/><map code="0xfe96" name="tehfinal"/><map code="0xfe97" name="tehinitial"/><map code="0xfe98" name="tehmedial"/><map code="0xfe99" name="thehisolated"/><map code="0xfe9a" name="thehfinal"/><map code="0xfe9b" name="thehinitial"/><map code="0xfe9c" name="thehmedial"/><map code="0xfe9d" name="jeemisolated"/><map code="0xfe9e" name="jeemfinal"/><map code="0xfe9f" name="jeeminitial"/><map code="0xfea0" name="jeemmedial"/><map code="0xfea1" name="hahisolated"/><map code="0xfea2" name="hahfinal"/><map code="0xfea3" name="hahinitial"/><map code="0xfea4" name="hahmedial"/><map code="0xfea5" name="khahisolated"/><map code="0xfea6" name="khahfinal"/><map code="0xfea7" name="khahinitial"/><map code="0xfea8" name="khahmedial"/><map code="0xfea9" name="dalisolated"/><map code="0xfeaa" name="dalfinal"/><map code="0xfeab" name="thalisolated"/><map code="0xfeac" name="thalfinal"/><map code="0xfead" name="rehisolated"/><map code="0xfeae" name="rehfinal"/><map code="0xfeaf" name="zainisolated"/><map code="0xfeb0" name="zainfinal"/><map code="0xfeb1" name="seenisolated"/><map code="0xfeb2" name="seenfinal"/><map code="0xfeb3" name="seeninitial"/><map code="0xfeb4" name="seenmedial"/><map code="0xfeb5" name="sheenisolated"/><map code="0xfeb6" name="sheenfinal"/><map code="0xfeb7" name="sheeninitial"/><map code="0xfeb8" name="sheenmedial"/><map code="0xfeb9" name="sadisolated"/><map code="0xfeba" name="sadfinal"/><map code="0xfebb" name="sadinitial"/><map code="0xfebc" name="sadmedial"/><map code="0xfebd" name="dadisolated"/><map code="0xfebe" name="dadfinal"/><map code="0xfebf" name="dadinitial"/><map code="0xfec0" name="dadmedial"/><map code="0xfec1" name="tahisolated"/><map code="0xfec2" name="tahfinal"/><map code="0xfec3" name="tahinitial"/><map code="0xfec4" name="tahmedial"/><map code="0xfec5" name="zahisolated"/><map code="0xfec6" name="zahfinal"/><map code="0xfec7" name="zahinitial"/><map code="0xfec8" name="zahmedial"/><map code="0xfec9" name="ainisolated"/><map code="0xfeca" name="ainfinal"/><map code="0xfecb" name="aininitial"/><map code="0xfecc" name="ainmedial"/><map code="0xfecd" name="ghainisolated"/><map code="0xfece" name="ghainfinal"/><map code="0xfecf" name="ghaininitial"/><map code="0xfed0" name="ghainmedial"/><map code="0xfed1" name="fehisolated"/><map code="0xfed2" name="fehfinal"/><map code="0xfed3" name="fehinitial"/><map code="0xfed4" name="fehmedial"/><map code="0xfed5" name="qafisolated"/><map code="0xfed6" name="qaffinal"/><map code="0xfed7" name="qafinitial"/><map code="0xfed8" name="qafmedial"/><map code="0xfed9" name="kafisolated"/><map code="0xfeda" name="arabickaffinal"/><map code="0xfedb" name="kafinitial"/><map code="0xfedc" name="kafmedial"/><map code="0xfedd" name="lamisolated"/><map code="0xfede" name="lamfinal"/><map code="0xfedf" name="laminitial"/><map code="0xfee0" name="lammedial"/><map code="0xfee1" name="meemisolated"/><map code="0xfee2" name="meemfinal"/><map code="0xfee3" name="meeminitial"/><map code="0xfee4" name="meemmedial"/><map code="0xfee5" name="noonisolated"/><map code="0xfee6" name="noonfinal"/><map code="0xfee7" name="nooninitial"/><map code="0xfee8" name="noonmedial"/><map code="0xfee9" name="hehisolated"/><map code="0xfeea" name="hehfinal"/><map code="0xfeeb" name="hehinitial"/><map code="0xfeec" name="hehmedial"/><map code="0xfeed" name="wawisolated"/><map code="0xfeee" name="wawfinal"/><map code="0xfeef" name="alefmaksuraisolated"/><map code="0xfef0" name="alefmaksurafinal"/><map code="0xfef1" name="yehisolated"/><map code="0xfef2" name="yehfinal"/><map code="0xfef3" name="yehinitial"/><map code="0xfef4" name="yehmedial"/><map code="0xfef5" name="lamwithalefmaddaaboveisolatedd"/><map code="0xfef6" name="lamwithalefmaddaabovefinal"/><map code="0xfef7" name="lamwithalefhamzaaboveisolatedd"/><map code="0xfef8" name="lamwithalefhamzaabovefinal"/><map code="0xfef9" name="lamwithalefhamzabelowisolated"/><map code="0xfefa" name="lamwithalefhamzabelowfinal"/><map code="0xfefb" name="lamwithalefisolated"/><map code="0xfefc" name="lamwithaleffinal"/><map code="0xfeff" name="zerowidthnobreakspace"/></cmap_format_4></cmap><hmtx><mtx name=".notdef" width="1024" lsb="128"/><mtx name="A" width="1386" lsb="8"/><mtx name="AE" width="1759" lsb="8"/><mtx name="Aacute" width="1386" lsb="8"/><mtx name="Acircumflex" width="1386" lsb="8"/><mtx name="Adieresis" width="1386" lsb="8"/><mtx name="Agrave" width="1386" lsb="8"/><mtx name="Aring" width="1386" lsb="8"/><mtx name="Atilde" width="1386" lsb="8"/><mtx name="B" width="1300" lsb="0"/><mtx name="C" width="1493" lsb="106"/><mtx name="Ccedilla" width="1493" lsb="106"/><mtx name="D" width="1556" lsb="31"/><mtx name="E" width="1217" lsb="6"/><mtx name="Eacute" width="1217" lsb="6"/><mtx name="Ecircumflex" width="1217" lsb="6"/><mtx name="Edieresis" width="1217" lsb="6"/><mtx name="Egrave" width="1217" lsb="6"/><mtx name="Eth" width="1556" lsb="28"/><mtx name="Euro" width="1004" lsb="11"/><mtx name="F" width="1087" lsb="88"/><mtx name="G" width="1516" lsb="117"/><mtx name="H" width="1622" lsb="61"/><mtx name="I" width="682" lsb="92"/><mtx name="Iacute" width="682" lsb="92"/><mtx name="Icircumflex" width="682" lsb="92"/><mtx name="Idieresis" width="682" lsb="53"/><mtx name="Igrave" width="682" lsb="92"/><mtx name="J" width="618" lsb="-223"/><mtx name="K" width="1430" lsb="39"/><mtx name="L" width="1130" lsb="41"/><mtx name="M" width="1878" lsb="27"/><mtx name="N" width="1665" lsb="61"/><mtx name="NULL" width="0" lsb="0"/><mtx name="Ntilde" width="1665" lsb="61"/><mtx name="O" width="1686" lsb="109"/><mtx name="OE" width="2028" lsb="117"/><mtx name="Oacute" width="1686" lsb="109"/><mtx name="Ocircumflex" width="1686" lsb="109"/><mtx name="Odieresis" width="1686" lsb="109"/><mtx name="Ograve" width="1686" lsb="109"/><mtx name="Oslash" width="1686" lsb="109"/><mtx name="Otilde" width="1686" lsb="109"/><mtx name="P" width="1153" lsb="41"/><mtx name="Q" width="1686" lsb="109"/><mtx name="R" width="1642" lsb="39"/><mtx name="S" width="1004" lsb="90"/><mtx name="Scaron" width="1004" lsb="90"/><mtx name="T" width="1386" lsb="66"/><mtx name="Thorn" width="1153" lsb="41"/><mtx name="U" width="1622" lsb="37"/><mtx name="Uacute" width="1622" lsb="37"/><mtx name="Ucircumflex" width="1622" lsb="37"/><mtx name="Udieresis" width="1622" lsb="37"/><mtx name="Ugrave" width="1622" lsb="37"/><mtx name="V" width="1409" lsb="8"/><mtx name="W" width="2048" lsb="2"/><mtx name="X" width="1536" lsb="18"/><mtx name="Y" width="1450" lsb="-4"/><mtx name="Yacute" width="1450" lsb="-4"/><mtx name="Ydieresis" width="1450" lsb="-4"/><mtx name="Z" width="1386" lsb="82"/><mtx name="Zcaron" width="1386" lsb="82"/><mtx name="a" width="811" lsb="74"/><mtx name="aacute" width="811" lsb="74"/><mtx name="acircumflex" width="811" lsb="74"/><mtx name="acute" width="682" lsb="143"/><mtx name="adieresis" width="811" lsb="74"/><mtx name="ae" width="1297" lsb="74"/><mtx name="agrave" width="811" lsb="74"/><mtx name="ain" width="1061" lsb="49"/><mtx name="ainfinal" width="793" lsb="6"/><mtx name="aininitial" width="756" lsb="0"/><mtx name="ainisolated" width="1061" lsb="49"/><mtx name="ainmedial" width="606" lsb="0"/><mtx name="aleffinal" width="420" lsb="91"/><mtx name="alefisolated" width="301" lsb="93"/><mtx name="alefmaksura" width="1171" lsb="59"/><mtx name="alefmaksurafinal" width="983" lsb="90"/><mtx name="alefmaksuraisolated" width="1171" lsb="59"/><mtx name="alefwasla" width="402" lsb="0"/><mtx name="alefwaslafinal" width="448" lsb="0"/><mtx name="alefwaslaisolated" width="402" lsb="0"/><mtx name="alefwithfathatanfinal" width="535" lsb="70"/><mtx name="alefwithfathatanisolated" width="479" lsb="70"/><mtx name="alefwithhamzaabove" width="344" lsb="45"/><mtx name="alefwithhamzaabovefinal" width="448" lsb="45"/><mtx name="alefwithhamzaaboveisolated" width="344" lsb="45"/><mtx name="alefwithhamzabelow" width="344" lsb="20"/><mtx name="alefwithhamzabelowfinal" width="420" lsb="91"/><mtx name="alefwithhamzabelowisolated" width="344" lsb="20"/><mtx name="alefwithmaddaabove" width="479" lsb="0"/><mtx name="alefwithmaddaabovefinal" width="535" lsb="0"/><mtx name="alefwithmaddaaboveisolated" width="479" lsb="0"/><mtx name="allahisolated" width="1098" lsb="61"/><mtx name="ampersand" width="1493" lsb="84"/><mtx name="arabicae" width="528" lsb="84"/><mtx name="arabicalef" width="301" lsb="93"/><mtx name="arabiccomma" width="569" lsb="158"/><mtx name="arabicfivepointedstar" width="815" lsb="51"/><mtx name="arabicindicdigiteight" width="946" lsb="133"/><mtx name="arabicindicdigitfive" width="946" lsb="201"/><mtx name="arabicindicdigitfour" width="946" lsb="274"/><mtx name="arabicindicdigitnine" width="946" lsb="219"/><mtx name="arabicindicdigitone" width="946" lsb="293"/><mtx name="arabicindicdigitseven" width="946" lsb="133"/><mtx name="arabicindicdigitsix" width="946" lsb="190"/><mtx name="arabicindicdigitthree" width="946" lsb="127"/><mtx name="arabicindicdigittwo" width="946" lsb="197"/><mtx name="arabicindicdigitzero" width="946" lsb="360"/><mtx name="arabickaf" width="983" lsb="90"/><mtx name="arabickaffinal" width="1399" lsb="40"/><mtx name="arabicpercentsign" width="946" lsb="117"/><mtx name="arabicquestionmark" width="643" lsb="80"/><mtx name="arabicsemicolon" width="569" lsb="158"/><mtx name="aring" width="811" lsb="74"/><mtx name="asciicircum" width="961" lsb="37"/><mtx name="asciitilde" width="1110" lsb="14"/><mtx name="asterisk" width="680" lsb="35"/><mtx name="at" width="1878" lsb="96"/><mtx name="atilde" width="811" lsb="74"/><mtx name="b" width="1024" lsb="12"/><mtx name="backslash" width="938" lsb="94"/><mtx name="bar" width="1044" lsb="479"/><mtx name="beh" width="1399" lsb="86"/><mtx name="behfinal" width="1438" lsb="92"/><mtx name="behinitial" width="379" lsb="0"/><mtx name="behisolated" width="1399" lsb="86"/><mtx name="behmedial" width="379" lsb="0"/><mtx name="behwithalefmaksurafinal" width="1098" lsb="8"/><mtx name="behwithalefmaksuraisolated" width="1098" lsb="111"/><mtx name="behwithhahinitial" width="946" lsb="0"/><mtx name="behwithhehinitial" width="814" lsb="0"/><mtx name="behwithjeeminitial" width="946" lsb="0"/><mtx name="behwithkhahinitial" width="946" lsb="0"/><mtx name="behwithmeeminitial" width="643" lsb="0"/><mtx name="behwithmeemisolated" width="870" lsb="72"/><mtx name="behwithnoonfinal" width="1247" lsb="62"/><mtx name="behwithrehfinal" width="946" lsb="10"/><mtx name="behwithyehfinal" width="1098" lsb="8"/><mtx name="behwithyehisolated" width="1098" lsb="111"/><mtx name="braceleft" width="981" lsb="211"/><mtx name="braceright" width="981" lsb="213"/><mtx name="bracketleft" width="618" lsb="209"/><mtx name="bracketright" width="618" lsb="14"/><mtx name="brokenbar" width="1044" lsb="479"/><mtx name="bullet" width="725" lsb="113"/><mtx name="c" width="874" lsb="94"/><mtx name="caron" width="682" lsb="92"/><mtx name="ccedilla" width="874" lsb="94"/><mtx name="cedilla" width="682" lsb="209"/><mtx name="cent" width="874" lsb="94"/><mtx name="circumflex" width="682" lsb="94"/><mtx name="colon" width="569" lsb="201"/><mtx name="comma" width="569" lsb="164"/><mtx name="copyright" width="1556" lsb="70"/><mtx name="currency" width="1366" lsb="215"/><mtx name="d" width="1024" lsb="88"/><mtx name="dad" width="1653" lsb="35"/><mtx name="dadfinal" width="1710" lsb="35"/><mtx name="dadinitial" width="1182" lsb="0"/><mtx name="dadisolated" width="1653" lsb="35"/><mtx name="dadmedial" width="1221" lsb="0"/><mtx name="dagger" width="1024" lsb="55"/><mtx name="daggerdbl" width="1067" lsb="76"/><mtx name="dal" width="643" lsb="84"/><mtx name="dalfinal" width="793" lsb="68"/><mtx name="dalisolated" width="643" lsb="84"/><mtx name="damma" width="414" lsb="70"/><mtx name="dammahontatweel" width="1284" lsb="0"/><mtx name="dammaisolated" width="414" lsb="70"/><mtx name="dammalow" width="414" lsb="70"/><mtx name="dammaonhamza" width="420" lsb="64"/><mtx name="dammatan" width="463" lsb="64"/><mtx name="dammatanisolated" width="463" lsb="64"/><mtx name="dammatanlow" width="463" lsb="64"/><mtx name="dammatanonhamza" width="420" lsb="70"/><mtx name="degree" width="811" lsb="98"/><mtx name="delete" width="1600" lsb="87"/><mtx name="dieresis" width="682" lsb="53"/><mtx name="divide" width="946" lsb="105"/><mtx name="dollar" width="938" lsb="53"/><mtx name="dotlessi" width="532" lsb="37"/><mtx name="e" width="897" lsb="98"/><mtx name="eacute" width="897" lsb="98"/><mtx name="ecircumflex" width="897" lsb="98"/><mtx name="edieresis" width="897" lsb="98"/><mtx name="egrave" width="897" lsb="98"/><mtx name="eight" width="1004" lsb="102"/><mtx name="ellipsis" width="2048" lsb="238"/><mtx name="endash" width="1024" lsb="-12"/><mtx name="equal" width="946" lsb="105"/><mtx name="eth" width="1067" lsb="92"/><mtx name="exclam" width="569" lsb="197"/><mtx name="exclamdown" width="569" lsb="197"/><mtx name="extendedarabicindicdigiteight" width="946" lsb="133"/><mtx name="extendedarabicindicdigitfive" width="946" lsb="172"/><mtx name="extendedarabicindicdigitfour" width="946" lsb="167"/><mtx name="extendedarabicindicdigitnine" width="946" lsb="219"/><mtx name="extendedarabicindicdigitone" width="946" lsb="293"/><mtx name="extendedarabicindicdigitseven" width="946" lsb="133"/><mtx name="extendedarabicindicdigitsix" width="946" lsb="207"/><mtx name="extendedarabicindicdigitthree" width="946" lsb="127"/><mtx name="extendedarabicindicdigittwo" width="946" lsb="197"/><mtx name="extendedarabicindicdigitzero" width="946" lsb="360"/><mtx name="f" width="555" lsb="33"/><mtx name="farsiyeh" width="1171" lsb="59"/><mtx name="farsiyehfinal" width="983" lsb="90"/><mtx name="farsiyehisolated" width="1171" lsb="59"/><mtx name="fatha" width="408" lsb="70"/><mtx name="fathahontatweel" width="1284" lsb="0"/><mtx name="fathaisolated" width="408" lsb="70"/><mtx name="fathalow" width="408" lsb="70"/><mtx name="fathaonhamza" width="420" lsb="64"/><mtx name="fathatan" width="408" lsb="70"/><mtx name="fathatanisolated" width="408" lsb="70"/><mtx name="fathatanlow" width="408" lsb="70"/><mtx name="fathatanonhamza" width="420" lsb="64"/><mtx name="fathatanontatweel" width="1284" lsb="0"/><mtx name="feh" width="1511" lsb="96"/><mtx name="fehfinal" width="1511" lsb="96"/><mtx name="fehinitial" width="455" lsb="0"/><mtx name="fehisolated" width="1511" lsb="96"/><mtx name="fehmedial" width="606" lsb="0"/><mtx name="fehwithalefmaksuraisolated" width="1098" lsb="104"/><mtx name="fehwithyehisolated" width="1098" lsb="104"/><mtx name="five" width="1004" lsb="96"/><mtx name="florin" width="1024" lsb="-229"/><mtx name="four" width="1004" lsb="72"/><mtx name="g" width="961" lsb="72"/><mtx name="gaf" width="1702" lsb="40"/><mtx name="gaffinal" width="1660" lsb="40"/><mtx name="gafinitial" width="946" lsb="0"/><mtx name="gafisolated" width="1702" lsb="40"/><mtx name="gafmedial" width="983" lsb="0"/><mtx name="germandbls" width="943" lsb="28"/><mtx name="ghain" width="1061" lsb="49"/><mtx name="ghainfinal" width="793" lsb="6"/><mtx name="ghaininitial" width="756" lsb="0"/><mtx name="ghainisolated" width="1061" lsb="49"/><mtx name="ghainmedial" width="606" lsb="0"/><mtx name="grave" width="682" lsb="143"/><mtx name="greater" width="1366" lsb="147"/><mtx name="guillemotleft" width="834" lsb="84"/><mtx name="guillemotright" width="834" lsb="66"/><mtx name="guilsinglleft" width="469" lsb="70"/><mtx name="guilsinglright" width="469" lsb="61"/><mtx name="h" width="1067" lsb="51"/><mtx name="hah" width="1098" lsb="41"/><mtx name="hahfinal" width="1020" lsb="41"/><mtx name="hahinitial" width="1020" lsb="0"/><mtx name="hahisolated" width="1098" lsb="41"/><mtx name="hahmedial" width="1098" lsb="0"/><mtx name="hahwithmeeminitial" width="1183" lsb="0"/><mtx name="hamza" width="613" lsb="90"/><mtx name="hamzaisolated" width="613" lsb="90"/><mtx name="heh" width="974" lsb="33"/><mtx name="hehfinal" width="569" lsb="66"/><mtx name="hehinitial" width="756" lsb="0"/><mtx name="hehisolated" width="528" lsb="84"/><mtx name="hehmedial" width="719" lsb="0"/><mtx name="hehwithmeeminitial" width="969" lsb="0"/><mtx name="highhamza" width="344" lsb="45"/><mtx name="hyphenminus" width="946" lsb="105"/><mtx name="i" width="532" lsb="37"/><mtx name="iacute" width="532" lsb="37"/><mtx name="icircumflex" width="532" lsb="-12"/><mtx name="idieresis" width="532" lsb="-34"/><mtx name="igrave" width="532" lsb="30"/><mtx name="j" width="512" lsb="-215"/><mtx name="jeem" width="1098" lsb="41"/><mtx name="jeemfinal" width="1020" lsb="41"/><mtx name="jeeminitial" width="1020" lsb="0"/><mtx name="jeemisolated" width="1098" lsb="41"/><mtx name="jeemmedial" width="1098" lsb="0"/><mtx name="jeemwithmeeminitial" width="1183" lsb="0"/><mtx name="jeh" width="680" lsb="12"/><mtx name="jehfinal" width="643" lsb="18"/><mtx name="jehisolated" width="680" lsb="12"/><mtx name="k" width="1024" lsb="45"/><mtx name="kafinitial" width="946" lsb="0"/><mtx name="kafisolated" width="983" lsb="90"/><mtx name="kafmedial" width="983" lsb="0"/><mtx name="kasra" width="408" lsb="70"/><mtx name="kasrahontatweel" width="1284" lsb="0"/><mtx name="kasraisolated" width="408" lsb="70"/><mtx name="kasralow" width="408" lsb="70"/><mtx name="kasratan" width="408" lsb="70"/><mtx name="kasratanisolated" width="408" lsb="70"/><mtx name="kasratanlow" width="408" lsb="70"/><mtx name="keheh" width="1702" lsb="40"/><mtx name="kehehfinal" width="1660" lsb="40"/><mtx name="kehehinitial" width="946" lsb="0"/><mtx name="kehehisolated" width="1702" lsb="40"/><mtx name="kehehmedial" width="983" lsb="0"/><mtx name="khah" width="1098" lsb="41"/><mtx name="khahfinal" width="1020" lsb="41"/><mtx name="khahinitial" width="1020" lsb="0"/><mtx name="khahisolated" width="1098" lsb="41"/><mtx name="khahmedial" width="1098" lsb="0"/><mtx name="khahwithmeeminitial" width="1183" lsb="0"/><mtx name="l" width="492" lsb="12"/><mtx name="lam" width="907" lsb="84"/><mtx name="lamfinal" width="907" lsb="18"/><mtx name="laminitial" width="342" lsb="0"/><mtx name="lamisolated" width="907" lsb="84"/><mtx name="lammedial" width="416" lsb="0"/><mtx name="lamwithaleffinal" width="1061" lsb="33"/><mtx name="lamwithalefhamzaabovefinal" width="1061" lsb="33"/><mtx name="lamwithalefhamzaaboveisolatedd" width="946" lsb="71"/><mtx name="lamwithalefhamzabelowfinal" width="1061" lsb="33"/><mtx name="lamwithalefhamzabelowisolated" width="946" lsb="73"/><mtx name="lamwithalefisolated" width="946" lsb="73"/><mtx name="lamwithalefmaddaabovefinal" width="1173" lsb="0"/><mtx name="lamwithalefmaddaaboveisolatedd" width="946" lsb="0"/><mtx name="lamwithalefmaksuraisolated" width="1098" lsb="111"/><mtx name="lamwithhahinitial" width="1000" lsb="0"/><mtx name="lamwithhahisolated" width="1061" lsb="37"/><mtx name="lamwithhehinitial" width="719" lsb="0"/><mtx name="lamwithjeeminitial" width="1000" lsb="0"/><mtx name="lamwithjeemisolated" width="1061" lsb="37"/><mtx name="lamwithkhahinitial" width="1000" lsb="0"/><mtx name="lamwithkhahisolated" width="1061" lsb="37"/><mtx name="lamwithmeeminitial" width="528" lsb="0"/><mtx name="lamwithmeemisolated" width="907" lsb="73"/><mtx name="lamwithmeemwithhahinitial" width="983" lsb="0"/><mtx name="lamwithmeemwithjeeminitial" width="983" lsb="0"/><mtx name="lamwithyehisolated" width="1098" lsb="111"/><mtx name="lefttoright" width="45" lsb="0"/><mtx name="less" width="1366" lsb="145"/><mtx name="logicalnot" width="1366" lsb="145"/><mtx name="m" width="1622" lsb="43"/><mtx name="macron" width="682" lsb="59"/><mtx name="meem" width="606" lsb="72"/><mtx name="meemfinal" width="793" lsb="48"/><mtx name="meeminitial" width="606" lsb="0"/><mtx name="meemisolated" width="606" lsb="72"/><mtx name="meemmedial" width="793" lsb="0"/><mtx name="meemwithhahinitial" width="946" lsb="0"/><mtx name="meemwithjeeminitial" width="946" lsb="0"/><mtx name="meemwithkhahinitial" width="946" lsb="0"/><mtx name="meemwithmeeminitial" width="719" lsb="0"/><mtx name="micro" width="1024" lsb="55"/><mtx name="multiply" width="946" lsb="131"/><mtx name="n" width="1067" lsb="53"/><mtx name="nine" width="1004" lsb="84"/><mtx name="nonbreakingspace" width="500" lsb="0"/><mtx name="nonmarkingreturn" width="500" lsb="0"/><mtx name="noon" width="870" lsb="102"/><mtx name="noonfinal" width="907" lsb="10"/><mtx name="nooninitial" width="379" lsb="0"/><mtx name="noonisolated" width="870" lsb="102"/><mtx name="noonmedial" width="379" lsb="0"/><mtx name="noonwithalefmaksurafinal" width="1098" lsb="8"/><mtx name="noonwithalefmaksuraisolated" width="1098" lsb="111"/><mtx name="noonwithhahinitial" width="946" lsb="0"/><mtx name="noonwithhehinitial" width="814" lsb="0"/><mtx name="noonwithjeeminitial" width="946" lsb="0"/><mtx name="noonwithkhahinitial" width="946" lsb="0"/><mtx name="noonwithmeeminitial" width="643" lsb="0"/><mtx name="noonwithmeemisolated" width="870" lsb="72"/><mtx name="noonwithyehfinal" width="1098" lsb="8"/><mtx name="noonwithyehisolated" width="1098" lsb="111"/><mtx name="noonwithzainfinal" width="946" lsb="10"/><mtx name="ntilde" width="1067" lsb="53"/><mtx name="numbersign" width="1368" lsb="94"/><mtx name="o" width="1067" lsb="92"/><mtx name="oacute" width="1067" lsb="92"/><mtx name="ocircumflex" width="1067" lsb="92"/><mtx name="odieresis" width="1067" lsb="92"/><mtx name="oe" width="1516" lsb="94"/><mtx name="ograve" width="1067" lsb="92"/><mtx name="one" width="1004" lsb="182"/><mtx name="onehalf" width="1473" lsb="109"/><mtx name="onequarter" width="1473" lsb="109"/><mtx name="onesuperior" width="618" lsb="109"/><mtx name="ordfeminine" width="532" lsb="43"/><mtx name="ordmasculine" width="705" lsb="53"/><mtx name="ornateleftparenthesis" width="1135" lsb="55"/><mtx name="ornaterightparenthesis" width="1135" lsb="59"/><mtx name="oslash" width="1067" lsb="92"/><mtx name="otilde" width="1067" lsb="92"/><mtx name="p" width="1024" lsb="12"/><mtx name="paragraph" width="918" lsb="-14"/><mtx name="parenleft" width="569" lsb="84"/><mtx name="parenright" width="569" lsb="49"/><mtx name="peh" width="1399" lsb="86"/><mtx name="pehfinal" width="1438" lsb="92"/><mtx name="pehinitial" width="379" lsb="0"/><mtx name="pehisolated" width="1399" lsb="86"/><mtx name="pehmedial" width="379" lsb="0"/><mtx name="pehwithhehinitial" width="814" lsb="0"/><mtx name="percent" width="1473" lsb="47"/><mtx name="period" width="569" lsb="201"/><mtx name="periodcentered" width="532" lsb="162"/><mtx name="perthousand" width="2048" lsb="33"/><mtx name="plus" width="946" lsb="105"/><mtx name="plusminus" width="946" lsb="105"/><mtx name="q" width="1024" lsb="94"/><mtx name="qaf" width="1061" lsb="121"/><mtx name="qaffinal" width="907" lsb="35"/><mtx name="qafinitial" width="455" lsb="0"/><mtx name="qafisolated" width="1061" lsb="121"/><mtx name="qafmedial" width="606" lsb="0"/><mtx name="question" width="725" lsb="104"/><mtx name="questiondown" width="725" lsb="88"/><mtx name="quotedash" width="2048" lsb="-12"/><mtx name="quotedbl" width="569" lsb="119"/><mtx name="quotedblbase" width="981" lsb="139"/><mtx name="quotedblleft" width="981" lsb="123"/><mtx name="quotedblright" width="981" lsb="139"/><mtx name="quoteleft" width="532" lsb="139"/><mtx name="quoteright" width="532" lsb="139"/><mtx name="quotesinglbase" width="532" lsb="139"/><mtx name="quotesingle" width="362" lsb="82"/><mtx name="r" width="682" lsb="53"/><mtx name="rayaleflam" width="1364" lsb="58"/><mtx name="registered" width="1556" lsb="70"/><mtx name="reh" width="680" lsb="12"/><mtx name="rehfinal" width="643" lsb="18"/><mtx name="rehisolated" width="680" lsb="12"/><mtx name="righttoleft" width="45" lsb="-258"/><mtx name="s" width="618" lsb="66"/><mtx name="sad" width="1632" lsb="35"/><mtx name="sadfinal" width="1710" lsb="35"/><mtx name="sadinitial" width="1182" lsb="0"/><mtx name="sadisolated" width="1632" lsb="35"/><mtx name="sadmedial" width="1221" lsb="0"/><mtx name="scaron" width="618" lsb="43"/><mtx name="section" width="961" lsb="106"/><mtx name="seen" width="1308" lsb="35"/><mtx name="seenfinal" width="1491" lsb="35"/><mtx name="seeninitial" width="981" lsb="0"/><mtx name="seenisolated" width="1308" lsb="35"/><mtx name="seenmedial" width="1058" lsb="0"/><mtx name="seenwithmeeminitial" width="1098" lsb="0"/><mtx name="semicolon" width="532" lsb="139"/><mtx name="seven" width="1004" lsb="76"/><mtx name="sfthyphen" width="1366" lsb="145"/><mtx name="shadda" width="420" lsb="66"/><mtx name="shaddahontatweel" width="1284" lsb="0"/><mtx name="shaddaisolated" width="420" lsb="66"/><mtx name="shaddalow" width="420" lsb="66"/><mtx name="shaddawithdammaisolated" width="424" lsb="58"/><mtx name="shaddawithdammaisolatedlow" width="420" lsb="66"/><mtx name="shaddawithdammamedial" width="1284" lsb="0"/><mtx name="shaddawithdammatanisolated" width="482" lsb="70"/><mtx name="shaddawithdammatanisolatedlow" width="469" lsb="70"/><mtx name="shaddawithfathaisolated" width="414" lsb="60"/><mtx name="shaddawithfathaisolatedlow" width="420" lsb="66"/><mtx name="shaddawithfathamedial" width="1284" lsb="0"/><mtx name="shaddawithfathatanisolated" width="414" lsb="60"/><mtx name="shaddawithfathatanisolatedlow" width="420" lsb="66"/><mtx name="shaddawithkasraisolated" width="420" lsb="66"/><mtx name="shaddawithkasraisolatedlow" width="420" lsb="66"/><mtx name="shaddawithkasramedial" width="1284" lsb="0"/><mtx name="shaddawithkasratanisolated" width="420" lsb="66"/><mtx name="shaddawithkasratanisolatedlow" width="420" lsb="66"/><mtx name="sheen" width="1311" lsb="35"/><mtx name="sheenfinal" width="1491" lsb="35"/><mtx name="sheeninitial" width="981" lsb="0"/><mtx name="sheenisolated" width="1311" lsb="35"/><mtx name="sheenmedial" width="1058" lsb="0"/><mtx name="sheenwithmeeminitial" width="1098" lsb="0"/><mtx name="six" width="1004" lsb="92"/><mtx name="slash" width="569" lsb="66"/><mtx name="smallhighmadda" width="480" lsb="0"/><mtx name="space" width="500" lsb="0"/><mtx name="sterling" width="1556" lsb="29"/><mtx name="sukun" width="332" lsb="74"/><mtx name="sukunisolated" width="332" lsb="74"/><mtx name="sukunlow" width="332" lsb="74"/><mtx name="sukunonhamza" width="420" lsb="108"/><mtx name="sukunontatweel" width="1284" lsb="0"/><mtx name="superscriptalef" width="239" lsb="86"/><mtx name="t" width="598" lsb="59"/><mtx name="tah" width="1135" lsb="25"/><mtx name="tahfinal" width="1171" lsb="25"/><mtx name="tahinitial" width="870" lsb="0"/><mtx name="tahisolated" width="1135" lsb="25"/><mtx name="tahmedial" width="907" lsb="0"/><mtx name="tatweel" width="110" lsb="0"/><mtx name="tcheh" width="1098" lsb="41"/><mtx name="tchehfinal" width="1020" lsb="41"/><mtx name="tchehinitial" width="1020" lsb="0"/><mtx name="tchehisolated" width="1098" lsb="41"/><mtx name="tchehmedial" width="1098" lsb="0"/><mtx name="teh" width="1399" lsb="86"/><mtx name="tehfinal" width="1438" lsb="92"/><mtx name="tehinitial" width="379" lsb="0"/><mtx name="tehisolated" width="1399" lsb="86"/><mtx name="tehmarbuta" width="528" lsb="84"/><mtx name="tehmarbutafinal" width="570" lsb="66"/><mtx name="tehmarbutaisolated" width="528" lsb="84"/><mtx name="tehmedial" width="379" lsb="0"/><mtx name="tehwithalefmaksurafinal" width="1098" lsb="8"/><mtx name="tehwithhahinitial" width="946" lsb="0"/><mtx name="tehwithhehinitial" width="814" lsb="0"/><mtx name="tehwithjeeminitial" width="946" lsb="0"/><mtx name="tehwithkhahinitial" width="946" lsb="0"/><mtx name="tehwithmeeminitial" width="643" lsb="0"/><mtx name="tehwithmeemisolated" width="870" lsb="72"/><mtx name="tehwithnoonfinal" width="1247" lsb="62"/><mtx name="tehwithyehfinal" width="1098" lsb="8"/><mtx name="tehwithyehisolated" width="1098" lsb="111"/><mtx name="thal" width="643" lsb="84"/><mtx name="thalfinal" width="793" lsb="68"/><mtx name="thalisolated" width="643" lsb="84"/><mtx name="theh" width="1399" lsb="86"/><mtx name="thehfinal" width="1438" lsb="92"/><mtx name="thehinitial" width="379" lsb="0"/><mtx name="thehisolated" width="1399" lsb="86"/><mtx name="thehmedial" width="379" lsb="0"/><mtx name="thehwithmeeminitial" width="643" lsb="0"/><mtx name="thehwithmeemisolated" width="870" lsb="72"/><mtx name="thorn" width="1024" lsb="12"/><mtx name="three" width="1004" lsb="70"/><mtx name="threequarters" width="1473" lsb="55"/><mtx name="threesuperior" width="618" lsb="66"/><mtx name="tilde" width="682" lsb="33"/><mtx name="trademark" width="2005" lsb="31"/><mtx name="two" width="1004" lsb="61"/><mtx name="twosuperior" width="618" lsb="47"/><mtx name="u" width="1067" lsb="51"/><mtx name="uacute" width="1067" lsb="51"/><mtx name="ucircumflex" width="1067" lsb="51"/><mtx name="udieresis" width="1067" lsb="51"/><mtx name="ugrave" width="1067" lsb="51"/><mtx name="underscore" width="1024" lsb="-16"/><mtx name="uni000D" width="500" lsb="0"/><mtx name="uni0649.init" width="379" lsb="0"/><mtx name="uni0649.medi" width="379" lsb="0"/><mtx name="uni0654" width="0" lsb="-152"/><mtx name="uni0655" width="0" lsb="-152"/><mtx name="uni0655064D" width="0" lsb="-162"/><mtx name="uni06550650" width="0" lsb="-162"/><mtx name="uni25CC" width="981" lsb="104"/><mtx name="uniE817" width="1183" lsb="0"/><mtx name="v" width="981" lsb="14"/><mtx name="veh" width="1511" lsb="96"/><mtx name="vehfinal" width="1511" lsb="96"/><mtx name="vehinitial" width="455" lsb="0"/><mtx name="vehisolated" width="1511" lsb="96"/><mtx name="vehmedial" width="606" lsb="0"/><mtx name="w" width="1516" lsb="16"/><mtx name="waw" width="719" lsb="37"/><mtx name="wawfinal" width="719" lsb="18"/><mtx name="wawisolated" width="719" lsb="37"/><mtx name="wawwithhamzaabove" width="719" lsb="37"/><mtx name="wawwithhamzaabovefinal" width="719" lsb="18"/><mtx name="wawwithhamzaaboveisolated" width="719" lsb="37"/><mtx name="x" width="1004" lsb="16"/><mtx name="y" width="961" lsb="-10"/><mtx name="yacute" width="961" lsb="-10"/><mtx name="ydieresis" width="961" lsb="-10"/><mtx name="yeh" width="1171" lsb="59"/><mtx name="yehfinal" width="983" lsb="90"/><mtx name="yehinitial" width="379" lsb="-12"/><mtx name="yehisolated" width="1171" lsb="59"/><mtx name="yehmedial" width="379" lsb="0"/><mtx name="yehwithalefmaksurafinal" width="1098" lsb="8"/><mtx name="yehwithalefmaksuraisolated" width="1098" lsb="111"/><mtx name="yehwithhahinitial" width="946" lsb="0"/><mtx name="yehwithhamzaabove" width="1171" lsb="59"/><mtx name="yehwithhamzaabovefinal" width="983" lsb="85"/><mtx name="yehwithhamzaaboveinitial" width="379" lsb="0"/><mtx name="yehwithhamzaaboveisolated" width="1171" lsb="59"/><mtx name="yehwithhamzaabovemedial" width="379" lsb="0"/><mtx name="yehwithjeeminitial" width="946" lsb="0"/><mtx name="yehwithkhahinitial" width="946" lsb="0"/><mtx name="yehwithmeeminitial" width="643" lsb="0"/><mtx name="yehwithmeemisolated" width="870" lsb="72"/><mtx name="yehwithnoonfinal" width="1247" lsb="62"/><mtx name="yehwithrehfinal" width="946" lsb="10"/><mtx name="yen" width="1450" lsb="-4"/><mtx name="z" width="831" lsb="63"/><mtx name="zah" width="1135" lsb="25"/><mtx name="zahfinal" width="1171" lsb="25"/><mtx name="zahinitial" width="870" lsb="0"/><mtx name="zahisolated" width="1135" lsb="25"/><mtx name="zahmedial" width="907" lsb="0"/><mtx name="zain" width="680" lsb="12"/><mtx name="zainfinal" width="643" lsb="18"/><mtx name="zainisolated" width="680" lsb="12"/><mtx name="zcaron" width="831" lsb="63"/><mtx name="zero" width="1004" lsb="75"/><mtx name="zerojoin" width="45" lsb="-114"/><mtx name="zeronojoin" width="45" lsb="0"/><mtx name="zerowidthnobreakspace" width="0" lsb="0"/></hmtx><GDEF><Version value="1.0"/><GlyphClassDef Format="2"><ClassDef glyph=".notdef" class="1"/><ClassDef glyph="A" class="1"/><ClassDef glyph="AE" class="1"/><ClassDef glyph="Aacute" class="1"/><ClassDef glyph="Acircumflex" class="1"/><ClassDef glyph="Adieresis" class="1"/><ClassDef glyph="Agrave" class="1"/><ClassDef glyph="Aring" class="1"/><ClassDef glyph="Atilde" class="1"/><ClassDef glyph="B" class="1"/><ClassDef glyph="C" class="1"/><ClassDef glyph="Ccedilla" class="1"/><ClassDef glyph="D" class="1"/><ClassDef glyph="E" class="1"/><ClassDef glyph="Eacute" class="1"/><ClassDef glyph="Ecircumflex" class="1"/><ClassDef glyph="Edieresis" class="1"/><ClassDef glyph="Egrave" class="1"/><ClassDef glyph="Eth" class="1"/><ClassDef glyph="Euro" class="1"/><ClassDef glyph="F" class="1"/><ClassDef glyph="G" class="1"/><ClassDef glyph="H" class="1"/><ClassDef glyph="I" class="1"/><ClassDef glyph="Iacute" class="1"/><ClassDef glyph="Icircumflex" class="1"/><ClassDef glyph="Idieresis" class="1"/><ClassDef glyph="Igrave" class="1"/><ClassDef glyph="J" class="1"/><ClassDef glyph="K" class="1"/><ClassDef glyph="L" class="1"/><ClassDef glyph="M" class="1"/><ClassDef glyph="N" class="1"/><ClassDef glyph="NULL" class="1"/><ClassDef glyph="Ntilde" class="1"/><ClassDef glyph="O" class="1"/><ClassDef glyph="OE" class="1"/><ClassDef glyph="Oacute" class="1"/><ClassDef glyph="Ocircumflex" class="1"/><ClassDef glyph="Odieresis" class="1"/><ClassDef glyph="Ograve" class="1"/><ClassDef glyph="Oslash" class="1"/><ClassDef glyph="Otilde" class="1"/><ClassDef glyph="P" class="1"/><ClassDef glyph="Q" class="1"/><ClassDef glyph="R" class="1"/><ClassDef glyph="S" class="1"/><ClassDef glyph="Scaron" class="1"/><ClassDef glyph="T" class="1"/><ClassDef glyph="Thorn" class="1"/><ClassDef glyph="U" class="1"/><ClassDef glyph="Uacute" class="1"/><ClassDef glyph="Ucircumflex" class="1"/><ClassDef glyph="Udieresis" class="1"/><ClassDef glyph="Ugrave" class="1"/><ClassDef glyph="V" class="1"/><ClassDef glyph="W" class="1"/><ClassDef glyph="X" class="1"/><ClassDef glyph="Y" class="1"/><ClassDef glyph="Yacute" class="1"/><ClassDef glyph="Ydieresis" class="1"/><ClassDef glyph="Z" class="1"/><ClassDef glyph="Zcaron" class="1"/><ClassDef glyph="a" class="1"/><ClassDef glyph="aacute" class="1"/><ClassDef glyph="acircumflex" class="1"/><ClassDef glyph="acute" class="1"/><ClassDef glyph="adieresis" class="1"/><ClassDef glyph="ae" class="1"/><ClassDef glyph="agrave" class="1"/><ClassDef glyph="ain" class="1"/><ClassDef glyph="ainfinal" class="1"/><ClassDef glyph="aininitial" class="1"/><ClassDef glyph="ainisolated" class="1"/><ClassDef glyph="ainmedial" class="1"/><ClassDef glyph="aleffinal" class="1"/><ClassDef glyph="alefisolated" class="1"/><ClassDef glyph="alefmaksura" class="1"/><ClassDef glyph="alefmaksurafinal" class="1"/><ClassDef glyph="alefmaksuraisolated" class="1"/><ClassDef glyph="alefwasla" class="1"/><ClassDef glyph="alefwaslafinal" class="1"/><ClassDef glyph="alefwaslaisolated" class="1"/><ClassDef glyph="alefwithfathatanfinal" class="1"/><ClassDef glyph="alefwithfathatanisolated" class="1"/><ClassDef glyph="alefwithhamzaabove" class="1"/><ClassDef glyph="alefwithhamzaabovefinal" class="1"/><ClassDef glyph="alefwithhamzaaboveisolated" class="1"/><ClassDef glyph="alefwithhamzabelow" class="1"/><ClassDef glyph="alefwithhamzabelowfinal" class="1"/><ClassDef glyph="alefwithhamzabelowisolated" class="1"/><ClassDef glyph="alefwithmaddaabove" class="1"/><ClassDef glyph="alefwithmaddaabovefinal" class="1"/><ClassDef glyph="alefwithmaddaaboveisolated" class="1"/><ClassDef glyph="allahisolated" class="2"/><ClassDef glyph="ampersand" class="1"/><ClassDef glyph="arabicae" class="1"/><ClassDef glyph="arabicalef" class="1"/><ClassDef glyph="arabiccomma" class="1"/><ClassDef glyph="arabicfivepointedstar" class="3"/><ClassDef glyph="arabicindicdigiteight" class="1"/><ClassDef glyph="arabicindicdigitfive" class="1"/><ClassDef glyph="arabicindicdigitfour" class="1"/><ClassDef glyph="arabicindicdigitnine" class="1"/><ClassDef glyph="arabicindicdigitone" class="1"/><ClassDef glyph="arabicindicdigitseven" class="1"/><ClassDef glyph="arabicindicdigitsix" class="1"/><ClassDef glyph="arabicindicdigitthree" class="1"/><ClassDef glyph="arabicindicdigittwo" class="1"/><ClassDef glyph="arabicindicdigitzero" class="1"/><ClassDef glyph="arabickaf" class="1"/><ClassDef glyph="arabickaffinal" class="1"/><ClassDef glyph="arabicpercentsign" class="1"/><ClassDef glyph="arabicquestionmark" class="1"/><ClassDef glyph="arabicsemicolon" class="1"/><ClassDef glyph="aring" class="1"/><ClassDef glyph="asciicircum" class="1"/><ClassDef glyph="asciitilde" class="1"/><ClassDef glyph="asterisk" class="1"/><ClassDef glyph="at" class="1"/><ClassDef glyph="atilde" class="1"/><ClassDef glyph="b" class="1"/><ClassDef glyph="backslash" class="1"/><ClassDef glyph="bar" class="1"/><ClassDef glyph="beh" class="1"/><ClassDef glyph="behfinal" class="1"/><ClassDef glyph="behinitial" class="1"/><ClassDef glyph="behisolated" class="1"/><ClassDef glyph="behmedial" class="1"/><ClassDef glyph="behwithalefmaksurafinal" class="2"/><ClassDef glyph="behwithalefmaksuraisolated" class="2"/><ClassDef glyph="behwithhahinitial" class="2"/><ClassDef glyph="behwithhehinitial" class="2"/><ClassDef glyph="behwithjeeminitial" class="2"/><ClassDef glyph="behwithkhahinitial" class="2"/><ClassDef glyph="behwithmeeminitial" class="2"/><ClassDef glyph="behwithmeemisolated" class="2"/><ClassDef glyph="behwithnoonfinal" class="2"/><ClassDef glyph="behwithrehfinal" class="2"/><ClassDef glyph="behwithyehfinal" class="2"/><ClassDef glyph="behwithyehisolated" class="2"/><ClassDef glyph="braceleft" class="1"/><ClassDef glyph="braceright" class="1"/><ClassDef glyph="bracketleft" class="1"/><ClassDef glyph="bracketright" class="1"/><ClassDef glyph="brokenbar" class="1"/><ClassDef glyph="bullet" class="1"/><ClassDef glyph="c" class="1"/><ClassDef glyph="caron" class="1"/><ClassDef glyph="ccedilla" class="1"/><ClassDef glyph="cedilla" class="1"/><ClassDef glyph="cent" class="1"/><ClassDef glyph="circumflex" class="1"/><ClassDef glyph="colon" class="1"/><ClassDef glyph="comma" class="1"/><ClassDef glyph="copyright" class="1"/><ClassDef glyph="currency" class="1"/><ClassDef glyph="d" class="1"/><ClassDef glyph="dad" class="1"/><ClassDef glyph="dadfinal" class="1"/><ClassDef glyph="dadinitial" class="1"/><ClassDef glyph="dadisolated" class="1"/><ClassDef glyph="dadmedial" class="1"/><ClassDef glyph="dagger" class="1"/><ClassDef glyph="daggerdbl" class="1"/><ClassDef glyph="dal" class="1"/><ClassDef glyph="dalfinal" class="1"/><ClassDef glyph="dalisolated" class="1"/><ClassDef glyph="damma" class="3"/><ClassDef glyph="dammahontatweel" class="1"/><ClassDef glyph="dammaisolated" class="1"/><ClassDef glyph="dammalow" class="1"/><ClassDef glyph="dammaonhamza" class="3"/><ClassDef glyph="dammatan" class="3"/><ClassDef glyph="dammatanisolated" class="1"/><ClassDef glyph="dammatanlow" class="1"/><ClassDef glyph="dammatanonhamza" class="3"/><ClassDef glyph="degree" class="1"/><ClassDef glyph="delete" class="1"/><ClassDef glyph="dieresis" class="1"/><ClassDef glyph="divide" class="1"/><ClassDef glyph="dollar" class="1"/><ClassDef glyph="dotlessi" class="1"/><ClassDef glyph="e" class="1"/><ClassDef glyph="eacute" class="1"/><ClassDef glyph="ecircumflex" class="1"/><ClassDef glyph="edieresis" class="1"/><ClassDef glyph="egrave" class="1"/><ClassDef glyph="eight" class="1"/><ClassDef glyph="ellipsis" class="1"/><ClassDef glyph="endash" class="1"/><ClassDef glyph="equal" class="1"/><ClassDef glyph="eth" class="1"/><ClassDef glyph="exclam" class="1"/><ClassDef glyph="exclamdown" class="1"/><ClassDef glyph="extendedarabicindicdigiteight" class="1"/><ClassDef glyph="extendedarabicindicdigitfive" class="1"/><ClassDef glyph="extendedarabicindicdigitfour" class="1"/><ClassDef glyph="extendedarabicindicdigitnine" class="1"/><ClassDef glyph="extendedarabicindicdigitone" class="1"/><ClassDef glyph="extendedarabicindicdigitseven" class="1"/><ClassDef glyph="extendedarabicindicdigitsix" class="1"/><ClassDef glyph="extendedarabicindicdigitthree" class="1"/><ClassDef glyph="extendedarabicindicdigittwo" class="1"/><ClassDef glyph="extendedarabicindicdigitzero" class="1"/><ClassDef glyph="f" class="1"/><ClassDef glyph="farsiyeh" class="1"/><ClassDef glyph="farsiyehfinal" class="1"/><ClassDef glyph="farsiyehisolated" class="1"/><ClassDef glyph="fatha" class="3"/><ClassDef glyph="fathahontatweel" class="1"/><ClassDef glyph="fathaisolated" class="1"/><ClassDef glyph="fathalow" class="1"/><ClassDef glyph="fathaonhamza" class="3"/><ClassDef glyph="fathatan" class="3"/><ClassDef glyph="fathatanisolated" class="1"/><ClassDef glyph="fathatanlow" class="1"/><ClassDef glyph="fathatanonhamza" class="3"/><ClassDef glyph="fathatanontatweel" class="1"/><ClassDef glyph="feh" class="1"/><ClassDef glyph="fehfinal" class="1"/><ClassDef glyph="fehinitial" class="1"/><ClassDef glyph="fehisolated" class="1"/><ClassDef glyph="fehmedial" class="1"/><ClassDef glyph="fehwithalefmaksuraisolated" class="2"/><ClassDef glyph="fehwithyehisolated" class="2"/><ClassDef glyph="five" class="1"/><ClassDef glyph="florin" class="1"/><ClassDef glyph="four" class="1"/><ClassDef glyph="g" class="1"/><ClassDef glyph="gaf" class="1"/><ClassDef glyph="gaffinal" class="1"/><ClassDef glyph="gafinitial" class="1"/><ClassDef glyph="gafisolated" class="1"/><ClassDef glyph="gafmedial" class="1"/><ClassDef glyph="germandbls" class="1"/><ClassDef glyph="ghain" class="1"/><ClassDef glyph="ghainfinal" class="1"/><ClassDef glyph="ghaininitial" class="1"/><ClassDef glyph="ghainisolated" class="1"/><ClassDef glyph="ghainmedial" class="1"/><ClassDef glyph="grave" class="1"/><ClassDef glyph="greater" class="1"/><ClassDef glyph="guillemotleft" class="1"/><ClassDef glyph="guillemotright" class="1"/><ClassDef glyph="guilsinglleft" class="1"/><ClassDef glyph="guilsinglright" class="1"/><ClassDef glyph="h" class="1"/><ClassDef glyph="hah" class="1"/><ClassDef glyph="hahfinal" class="1"/><ClassDef glyph="hahinitial" class="1"/><ClassDef glyph="hahisolated" class="1"/><ClassDef glyph="hahmedial" class="1"/><ClassDef glyph="hahwithmeeminitial" class="2"/><ClassDef glyph="hamza" class="1"/><ClassDef glyph="hamzaisolated" class="1"/><ClassDef glyph="heh" class="1"/><ClassDef glyph="hehfinal" class="1"/><ClassDef glyph="hehinitial" class="1"/><ClassDef glyph="hehisolated" class="1"/><ClassDef glyph="hehmedial" class="1"/><ClassDef glyph="hehwithmeeminitial" class="2"/><ClassDef glyph="highhamza" class="1"/><ClassDef glyph="hyphenminus" class="1"/><ClassDef glyph="i" class="1"/><ClassDef glyph="iacute" class="1"/><ClassDef glyph="icircumflex" class="1"/><ClassDef glyph="idieresis" class="1"/><ClassDef glyph="igrave" class="1"/><ClassDef glyph="j" class="1"/><ClassDef glyph="jeem" class="1"/><ClassDef glyph="jeemfinal" class="1"/><ClassDef glyph="jeeminitial" class="1"/><ClassDef glyph="jeemisolated" class="1"/><ClassDef glyph="jeemmedial" class="1"/><ClassDef glyph="jeemwithmeeminitial" class="2"/><ClassDef glyph="jeh" class="1"/><ClassDef glyph="jehfinal" class="1"/><ClassDef glyph="jehisolated" class="1"/><ClassDef glyph="k" class="1"/><ClassDef glyph="kafinitial" class="1"/><ClassDef glyph="kafisolated" class="1"/><ClassDef glyph="kafmedial" class="1"/><ClassDef glyph="kasra" class="3"/><ClassDef glyph="kasrahontatweel" class="1"/><ClassDef glyph="kasraisolated" class="1"/><ClassDef glyph="kasralow" class="1"/><ClassDef glyph="kasratan" class="3"/><ClassDef glyph="kasratanisolated" class="1"/><ClassDef glyph="kasratanlow" class="1"/><ClassDef glyph="keheh" class="1"/><ClassDef glyph="kehehfinal" class="1"/><ClassDef glyph="kehehinitial" class="1"/><ClassDef glyph="kehehisolated" class="1"/><ClassDef glyph="kehehmedial" class="1"/><ClassDef glyph="khah" class="1"/><ClassDef glyph="khahfinal" class="1"/><ClassDef glyph="khahinitial" class="1"/><ClassDef glyph="khahisolated" class="1"/><ClassDef glyph="khahmedial" class="1"/><ClassDef glyph="khahwithmeeminitial" class="2"/><ClassDef glyph="l" class="1"/><ClassDef glyph="lam" class="1"/><ClassDef glyph="lamfinal" class="1"/><ClassDef glyph="laminitial" class="1"/><ClassDef glyph="lamisolated" class="1"/><ClassDef glyph="lammedial" class="1"/><ClassDef glyph="lamwithaleffinal" class="2"/><ClassDef glyph="lamwithalefhamzaabovefinal" class="2"/><ClassDef glyph="lamwithalefhamzaaboveisolatedd" class="2"/><ClassDef glyph="lamwithalefhamzabelowfinal" class="2"/><ClassDef glyph="lamwithalefhamzabelowisolated" class="2"/><ClassDef glyph="lamwithalefisolated" class="2"/><ClassDef glyph="lamwithalefmaddaabovefinal" class="2"/><ClassDef glyph="lamwithalefmaddaaboveisolatedd" class="2"/><ClassDef glyph="lamwithalefmaksuraisolated" class="2"/><ClassDef glyph="lamwithhahinitial" class="2"/><ClassDef glyph="lamwithhahisolated" class="2"/><ClassDef glyph="lamwithhehinitial" class="2"/><ClassDef glyph="lamwithjeeminitial" class="2"/><ClassDef glyph="lamwithjeemisolated" class="2"/><ClassDef glyph="lamwithkhahinitial" class="2"/><ClassDef glyph="lamwithkhahisolated" class="2"/><ClassDef glyph="lamwithmeeminitial" class="2"/><ClassDef glyph="lamwithmeemisolated" class="2"/><ClassDef glyph="lamwithmeemwithhahinitial" class="2"/><ClassDef glyph="lamwithmeemwithjeeminitial" class="2"/><ClassDef glyph="lamwithyehisolated" class="2"/><ClassDef glyph="lefttoright" class="1"/><ClassDef glyph="less" class="1"/><ClassDef glyph="logicalnot" class="1"/><ClassDef glyph="m" class="1"/><ClassDef glyph="macron" class="1"/><ClassDef glyph="meem" class="1"/><ClassDef glyph="meemfinal" class="1"/><ClassDef glyph="meeminitial" class="1"/><ClassDef glyph="meemisolated" class="1"/><ClassDef glyph="meemmedial" class="1"/><ClassDef glyph="meemwithhahinitial" class="2"/><ClassDef glyph="meemwithjeeminitial" class="2"/><ClassDef glyph="meemwithkhahinitial" class="2"/><ClassDef glyph="meemwithmeeminitial" class="2"/><ClassDef glyph="micro" class="1"/><ClassDef glyph="multiply" class="1"/><ClassDef glyph="n" class="1"/><ClassDef glyph="nine" class="1"/><ClassDef glyph="nonbreakingspace" class="1"/><ClassDef glyph="nonmarkingreturn" class="1"/><ClassDef glyph="noon" class="1"/><ClassDef glyph="noonfinal" class="1"/><ClassDef glyph="nooninitial" class="1"/><ClassDef glyph="noonisolated" class="1"/><ClassDef glyph="noonmedial" class="1"/><ClassDef glyph="noonwithalefmaksurafinal" class="2"/><ClassDef glyph="noonwithalefmaksuraisolated" class="2"/><ClassDef glyph="noonwithhahinitial" class="2"/><ClassDef glyph="noonwithhehinitial" class="2"/><ClassDef glyph="noonwithjeeminitial" class="2"/><ClassDef glyph="noonwithkhahinitial" class="2"/><ClassDef glyph="noonwithmeeminitial" class="2"/><ClassDef glyph="noonwithmeemisolated" class="2"/><ClassDef glyph="noonwithyehfinal" class="2"/><ClassDef glyph="noonwithyehisolated" class="2"/><ClassDef glyph="noonwithzainfinal" class="2"/><ClassDef glyph="ntilde" class="1"/><ClassDef glyph="numbersign" class="1"/><ClassDef glyph="o" class="1"/><ClassDef glyph="oacute" class="1"/><ClassDef glyph="ocircumflex" class="1"/><ClassDef glyph="odieresis" class="1"/><ClassDef glyph="oe" class="1"/><ClassDef glyph="ograve" class="1"/><ClassDef glyph="one" class="1"/><ClassDef glyph="onehalf" class="1"/><ClassDef glyph="onequarter" class="1"/><ClassDef glyph="onesuperior" class="1"/><ClassDef glyph="ordfeminine" class="1"/><ClassDef glyph="ordmasculine" class="1"/><ClassDef glyph="ornateleftparenthesis" class="1"/><ClassDef glyph="ornaterightparenthesis" class="1"/><ClassDef glyph="oslash" class="1"/><ClassDef glyph="otilde" class="1"/><ClassDef glyph="p" class="1"/><ClassDef glyph="paragraph" class="1"/><ClassDef glyph="parenleft" class="1"/><ClassDef glyph="parenright" class="1"/><ClassDef glyph="peh" class="1"/><ClassDef glyph="pehfinal" class="1"/><ClassDef glyph="pehinitial" class="1"/><ClassDef glyph="pehisolated" class="1"/><ClassDef glyph="pehmedial" class="1"/><ClassDef glyph="pehwithhehinitial" class="2"/><ClassDef glyph="percent" class="1"/><ClassDef glyph="period" class="1"/><ClassDef glyph="periodcentered" class="1"/><ClassDef glyph="perthousand" class="1"/><ClassDef glyph="plus" class="1"/><ClassDef glyph="plusminus" class="1"/><ClassDef glyph="q" class="1"/><ClassDef glyph="qaf" class="1"/><ClassDef glyph="qaffinal" class="1"/><ClassDef glyph="qafinitial" class="1"/><ClassDef glyph="qafisolated" class="1"/><ClassDef glyph="qafmedial" class="1"/><ClassDef glyph="question" class="1"/><ClassDef glyph="questiondown" class="1"/><ClassDef glyph="quotedash" class="1"/><ClassDef glyph="quotedbl" class="1"/><ClassDef glyph="quotedblbase" class="1"/><ClassDef glyph="quotedblleft" class="1"/><ClassDef glyph="quotedblright" class="1"/><ClassDef glyph="quoteleft" class="1"/><ClassDef glyph="quoteright" class="1"/><ClassDef glyph="quotesinglbase" class="1"/><ClassDef glyph="quotesingle" class="1"/><ClassDef glyph="r" class="1"/><ClassDef glyph="rayaleflam" class="2"/><ClassDef glyph="registered" class="1"/><ClassDef glyph="reh" class="1"/><ClassDef glyph="rehfinal" class="1"/><ClassDef glyph="rehisolated" class="1"/><ClassDef glyph="righttoleft" class="1"/><ClassDef glyph="s" class="1"/><ClassDef glyph="sad" class="1"/><ClassDef glyph="sadfinal" class="1"/><ClassDef glyph="sadinitial" class="1"/><ClassDef glyph="sadisolated" class="1"/><ClassDef glyph="sadmedial" class="1"/><ClassDef glyph="scaron" class="1"/><ClassDef glyph="section" class="1"/><ClassDef glyph="seen" class="1"/><ClassDef glyph="seenfinal" class="1"/><ClassDef glyph="seeninitial" class="1"/><ClassDef glyph="seenisolated" class="1"/><ClassDef glyph="seenmedial" class="1"/><ClassDef glyph="seenwithmeeminitial" class="2"/><ClassDef glyph="semicolon" class="1"/><ClassDef glyph="seven" class="1"/><ClassDef glyph="sfthyphen" class="1"/><ClassDef glyph="shadda" class="3"/><ClassDef glyph="shaddahontatweel" class="1"/><ClassDef glyph="shaddaisolated" class="1"/><ClassDef glyph="shaddalow" class="1"/><ClassDef glyph="shaddawithdammaisolated" class="1"/><ClassDef glyph="shaddawithdammaisolatedlow" class="3"/><ClassDef glyph="shaddawithdammamedial" class="1"/><ClassDef glyph="shaddawithdammatanisolated" class="1"/><ClassDef glyph="shaddawithdammatanisolatedlow" class="3"/><ClassDef glyph="shaddawithfathaisolated" class="1"/><ClassDef glyph="shaddawithfathaisolatedlow" class="3"/><ClassDef glyph="shaddawithfathamedial" class="1"/><ClassDef glyph="shaddawithfathatanisolated" class="3"/><ClassDef glyph="shaddawithfathatanisolatedlow" class="3"/><ClassDef glyph="shaddawithkasraisolated" class="1"/><ClassDef glyph="shaddawithkasraisolatedlow" class="3"/><ClassDef glyph="shaddawithkasramedial" class="1"/><ClassDef glyph="shaddawithkasratanisolated" class="1"/><ClassDef glyph="shaddawithkasratanisolatedlow" class="3"/><ClassDef glyph="sheen" class="1"/><ClassDef glyph="sheenfinal" class="1"/><ClassDef glyph="sheeninitial" class="1"/><ClassDef glyph="sheenisolated" class="1"/><ClassDef glyph="sheenmedial" class="1"/><ClassDef glyph="sheenwithmeeminitial" class="2"/><ClassDef glyph="six" class="1"/><ClassDef glyph="slash" class="1"/><ClassDef glyph="smallhighmadda" class="3"/><ClassDef glyph="space" class="1"/><ClassDef glyph="sterling" class="1"/><ClassDef glyph="sukun" class="3"/><ClassDef glyph="sukunisolated" class="1"/><ClassDef glyph="sukunlow" class="1"/><ClassDef glyph="sukunonhamza" class="3"/><ClassDef glyph="sukunontatweel" class="1"/><ClassDef glyph="superscriptalef" class="3"/><ClassDef glyph="t" class="1"/><ClassDef glyph="tah" class="1"/><ClassDef glyph="tahfinal" class="1"/><ClassDef glyph="tahinitial" class="1"/><ClassDef glyph="tahisolated" class="1"/><ClassDef glyph="tahmedial" class="1"/><ClassDef glyph="tatweel" class="1"/><ClassDef glyph="tcheh" class="1"/><ClassDef glyph="tchehfinal" class="1"/><ClassDef glyph="tchehinitial" class="1"/><ClassDef glyph="tchehisolated" class="1"/><ClassDef glyph="tchehmedial" class="1"/><ClassDef glyph="teh" class="1"/><ClassDef glyph="tehfinal" class="1"/><ClassDef glyph="tehinitial" class="1"/><ClassDef glyph="tehisolated" class="1"/><ClassDef glyph="tehmarbuta" class="1"/><ClassDef glyph="tehmarbutafinal" class="1"/><ClassDef glyph="tehmarbutaisolated" class="1"/><ClassDef glyph="tehmedial" class="1"/><ClassDef glyph="tehwithalefmaksurafinal" class="2"/><ClassDef glyph="tehwithhahinitial" class="2"/><ClassDef glyph="tehwithhehinitial" class="2"/><ClassDef glyph="tehwithjeeminitial" class="2"/><ClassDef glyph="tehwithkhahinitial" class="2"/><ClassDef glyph="tehwithmeeminitial" class="2"/><ClassDef glyph="tehwithmeemisolated" class="2"/><ClassDef glyph="tehwithnoonfinal" class="2"/><ClassDef glyph="tehwithyehfinal" class="2"/><ClassDef glyph="tehwithyehisolated" class="2"/><ClassDef glyph="thal" class="1"/><ClassDef glyph="thalfinal" class="1"/><ClassDef glyph="thalisolated" class="1"/><ClassDef glyph="theh" class="1"/><ClassDef glyph="thehfinal" class="1"/><ClassDef glyph="thehinitial" class="1"/><ClassDef glyph="thehisolated" class="1"/><ClassDef glyph="thehmedial" class="1"/><ClassDef glyph="thehwithmeeminitial" class="2"/><ClassDef glyph="thehwithmeemisolated" class="2"/><ClassDef glyph="thorn" class="1"/><ClassDef glyph="three" class="1"/><ClassDef glyph="threequarters" class="1"/><ClassDef glyph="threesuperior" class="1"/><ClassDef glyph="tilde" class="1"/><ClassDef glyph="trademark" class="1"/><ClassDef glyph="two" class="1"/><ClassDef glyph="twosuperior" class="1"/><ClassDef glyph="u" class="1"/><ClassDef glyph="uacute" class="1"/><ClassDef glyph="ucircumflex" class="1"/><ClassDef glyph="udieresis" class="1"/><ClassDef glyph="ugrave" class="1"/><ClassDef glyph="underscore" class="1"/><ClassDef glyph="uni000D" class="1"/><ClassDef glyph="uni0649.init" class="1"/><ClassDef glyph="uni0649.medi" class="1"/><ClassDef glyph="uni0654" class="3"/><ClassDef glyph="uni0655" class="3"/><ClassDef glyph="uni0655064D" class="3"/><ClassDef glyph="uni06550650" class="3"/><ClassDef glyph="uni25CC" class="1"/><ClassDef glyph="uniE817" class="2"/><ClassDef glyph="v" class="1"/><ClassDef glyph="veh" class="1"/><ClassDef glyph="vehfinal" class="1"/><ClassDef glyph="vehinitial" class="1"/><ClassDef glyph="vehisolated" class="1"/><ClassDef glyph="vehmedial" class="1"/><ClassDef glyph="w" class="1"/><ClassDef glyph="waw" class="1"/><ClassDef glyph="wawfinal" class="1"/><ClassDef glyph="wawisolated" class="1"/><ClassDef glyph="wawwithhamzaabove" class="1"/><ClassDef glyph="wawwithhamzaabovefinal" class="1"/><ClassDef glyph="wawwithhamzaaboveisolated" class="1"/><ClassDef glyph="x" class="1"/><ClassDef glyph="y" class="1"/><ClassDef glyph="yacute" class="1"/><ClassDef glyph="ydieresis" class="1"/><ClassDef glyph="yeh" class="1"/><ClassDef glyph="yehfinal" class="1"/><ClassDef glyph="yehinitial" class="1"/><ClassDef glyph="yehisolated" class="1"/><ClassDef glyph="yehmedial" class="1"/><ClassDef glyph="yehwithalefmaksurafinal" class="2"/><ClassDef glyph="yehwithalefmaksuraisolated" class="2"/><ClassDef glyph="yehwithhahinitial" class="2"/><ClassDef glyph="yehwithhamzaabove" class="1"/><ClassDef glyph="yehwithhamzaabovefinal" class="1"/><ClassDef glyph="yehwithhamzaaboveinitial" class="1"/><ClassDef glyph="yehwithhamzaaboveisolated" class="1"/><ClassDef glyph="yehwithhamzaabovemedial" class="1"/><ClassDef glyph="yehwithjeeminitial" class="2"/><ClassDef glyph="yehwithkhahinitial" class="2"/><ClassDef glyph="yehwithmeeminitial" class="2"/><ClassDef glyph="yehwithmeemisolated" class="2"/><ClassDef glyph="yehwithnoonfinal" class="2"/><ClassDef glyph="yehwithrehfinal" class="2"/><ClassDef glyph="yen" class="1"/><ClassDef glyph="z" class="1"/><ClassDef glyph="zah" class="1"/><ClassDef glyph="zahfinal" class="1"/><ClassDef glyph="zahinitial" class="1"/><ClassDef glyph="zahisolated" class="1"/><ClassDef glyph="zahmedial" class="1"/><ClassDef glyph="zain" class="1"/><ClassDef glyph="zainfinal" class="1"/><ClassDef glyph="zainisolated" class="1"/><ClassDef glyph="zcaron" class="1"/><ClassDef glyph="zero" class="1"/><ClassDef glyph="zerojoin" class="1"/><ClassDef glyph="zeronojoin" class="1"/><ClassDef glyph="zerowidthnobreakspace" class="1"/></GlyphClassDef><LigCaretList><Coverage Format="1"></Coverage></LigCaretList><MarkAttachClassDef Format="2"><ClassDef glyph="kasra" class="1"/><ClassDef glyph="kasratan" class="1"/><ClassDef glyph="uni0655" class="1"/><ClassDef glyph="uni0655064D" class="1"/><ClassDef glyph="uni06550650" class="1"/></MarkAttachClassDef></GDEF><GSUB><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="2"/><FeatureIndex index="2" value="6"/><FeatureIndex index="3" value="8"/><FeatureIndex index="4" value="12"/><FeatureIndex index="5" value="14"/><FeatureIndex index="6" value="10"/><FeatureIndex index="7" value="4"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="FAR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="3"/><FeatureIndex index="2" value="7"/><FeatureIndex index="3" value="9"/><FeatureIndex index="4" value="13"/><FeatureIndex index="5" value="15"/><FeatureIndex index="6" value="11"/><FeatureIndex index="7" value="5"/></LangSys></LangSysRecord></Script></ScriptRecord><ScriptRecord index="1"><ScriptTag value="latn"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/></DefaultLangSys></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="11"/><LookupListIndex index="1" value="12"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="10"/><LookupListIndex index="1" value="11"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="6"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="4"/></Feature></FeatureRecord><FeatureRecord index="7"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="4"/></Feature></FeatureRecord><FeatureRecord index="8"><FeatureTag value="isol"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/></Feature></FeatureRecord><FeatureRecord index="9"><FeatureTag value="isol"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/></Feature></FeatureRecord><FeatureRecord index="10"><FeatureTag value="liga"/><Feature><LookupListIndex index="0" value="6"/><LookupListIndex index="1" value="7"/><LookupListIndex index="2" value="8"/><LookupListIndex index="3" value="10"/></Feature></FeatureRecord><FeatureRecord index="11"><FeatureTag value="liga"/><Feature><LookupListIndex index="0" value="6"/><LookupListIndex index="1" value="7"/><LookupListIndex index="2" value="8"/><LookupListIndex index="3" value="10"/></Feature></FeatureRecord><FeatureRecord index="12"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="5"/></Feature></FeatureRecord><FeatureRecord index="13"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="5"/></Feature></FeatureRecord><FeatureRecord index="14"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="9"/></Feature></FeatureRecord><FeatureRecord index="15"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="9"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="4"/><LookupFlag value="1"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="damma"><Ligature components="shadda" glyph="shaddawithdammaisolatedlow"/><Ligature components="highhamza" glyph="dammaonhamza"/></LigatureSet><LigatureSet glyph="dammatan"><Ligature components="shadda" glyph="shaddawithdammatanisolatedlow"/><Ligature components="highhamza" glyph="dammatanonhamza"/></LigatureSet><LigatureSet glyph="fatha"><Ligature components="shadda" glyph="shaddawithfathaisolatedlow"/><Ligature components="highhamza" glyph="fathaonhamza"/></LigatureSet><LigatureSet glyph="fathatan"><Ligature components="shadda" glyph="shaddawithfathatanisolatedlow"/><Ligature components="highhamza" glyph="fathatanonhamza"/></LigatureSet><LigatureSet glyph="highhamza"><Ligature components="fatha" glyph="fathaonhamza"/><Ligature components="fathatan" glyph="fathatanonhamza"/><Ligature components="sukun" glyph="sukunonhamza"/><Ligature components="damma" glyph="dammaonhamza"/><Ligature components="dammatan" glyph="dammatanonhamza"/></LigatureSet><LigatureSet glyph="kasra"><Ligature components="shadda" glyph="shaddawithkasraisolatedlow"/><Ligature components="uni0655" glyph="uni06550650"/></LigatureSet><LigatureSet glyph="kasratan"><Ligature components="shadda" glyph="shaddawithkasratanisolatedlow"/><Ligature components="uni0655" glyph="uni0655064D"/></LigatureSet><LigatureSet glyph="shadda"><Ligature components="dammatan" glyph="shaddawithdammatanisolatedlow"/><Ligature components="fatha" glyph="shaddawithfathaisolatedlow"/><Ligature components="damma" glyph="shaddawithdammaisolatedlow"/><Ligature components="fathatan" glyph="shaddawithfathatanisolatedlow"/><Ligature components="kasratan" glyph="shaddawithkasratanisolatedlow"/><Ligature components="kasra" glyph="shaddawithkasraisolatedlow"/></LigatureSet><LigatureSet glyph="sukun"><Ligature components="highhamza" glyph="sukunonhamza"/></LigatureSet><LigatureSet glyph="uni0655"><Ligature components="kasratan" glyph="uni0655064D"/><Ligature components="kasra" glyph="uni06550650"/></LigatureSet></LigatureSubst></Lookup><Lookup index="1"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ainisolated" out="ain"/><Substitution in="alefmaksuraisolated" out="alefmaksura"/><Substitution in="behisolated" out="beh"/><Substitution in="dadisolated" out="dad"/><Substitution in="dalisolated" out="dal"/><Substitution in="farsiyehisolated" out="farsiyeh"/><Substitution in="fehisolated" out="feh"/><Substitution in="gafisolated" out="gaf"/><Substitution in="ghainisolated" out="ghain"/><Substitution in="hahisolated" out="hah"/><Substitution in="jeemisolated" out="jeem"/><Substitution in="jehisolated" out="jeh"/><Substitution in="kafisolated" out="arabickaf"/><Substitution in="kehehisolated" out="keheh"/><Substitution in="khahisolated" out="khah"/><Substitution in="meemisolated" out="meem"/><Substitution in="noonisolated" out="noon"/><Substitution in="pehisolated" out="peh"/><Substitution in="qafisolated" out="qaf"/><Substitution in="rehisolated" out="reh"/><Substitution in="sadisolated" out="sad"/><Substitution in="seenisolated" out="seen"/><Substitution in="sheenisolated" out="sheen"/><Substitution in="tahisolated" out="tah"/><Substitution in="tchehisolated" out="tcheh"/><Substitution in="tehisolated" out="teh"/><Substitution in="tehmarbutaisolated" out="tehmarbuta"/><Substitution in="thalisolated" out="thal"/><Substitution in="thehisolated" out="theh"/><Substitution in="vehisolated" out="veh"/><Substitution in="wawisolated" out="waw"/><Substitution in="yehisolated" out="yeh"/><Substitution in="yehwithhamzaaboveisolated" out="yehwithhamzaabove"/><Substitution in="zahisolated" out="zah"/><Substitution in="zainisolated" out="zain"/></SingleSubst></Lookup><Lookup index="2"><LookupType value="6"/><LookupFlag value="9"/><ChainContextSubst index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="wawwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="arabicalef"/><Glyph value="tehmarbuta"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="waw"/><Glyph value="alefwasla"/><Glyph value="jeh"/><Glyph value="arabicae"/><Glyph value="alefwaslafinal"/><Glyph value="alefwithmaddaabovefinal"/><Glyph value="alefwithhamzaabovefinal"/><Glyph value="alefwithhamzabelowfinal"/><Glyph value="aleffinal"/><Glyph value="tehmarbutafinal"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefmaddaabovefinal"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzaabovefinal"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefhamzabelowfinal"/><Glyph value="lamwithalefisolated"/><Glyph value="lamwithaleffinal"/></BacktrackCoverage><InputCoverage index="0" Format="1"><Glyph value="heh"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="13"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="3"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ain" out="ainfinal"/><Substitution in="alefmaksura" out="alefmaksurafinal"/><Substitution in="alefwasla" out="alefwaslafinal"/><Substitution in="alefwithhamzaabove" out="alefwithhamzaabovefinal"/><Substitution in="alefwithhamzabelow" out="alefwithhamzabelowfinal"/><Substitution in="alefwithmaddaabove" out="alefwithmaddaabovefinal"/><Substitution in="arabicae" out="hehfinal"/><Substitution in="arabicalef" out="aleffinal"/><Substitution in="arabickaf" out="arabickaffinal"/><Substitution in="beh" out="behfinal"/><Substitution in="dad" out="dadfinal"/><Substitution in="dal" out="dalfinal"/><Substitution in="farsiyeh" out="farsiyehfinal"/><Substitution in="feh" out="fehfinal"/><Substitution in="gaf" out="gaffinal"/><Substitution in="ghain" out="ghainfinal"/><Substitution in="hah" out="hahfinal"/><Substitution in="heh" out="hehfinal"/><Substitution in="jeem" out="jeemfinal"/><Substitution in="jeh" out="jehfinal"/><Substitution in="keheh" out="kehehfinal"/><Substitution in="khah" out="khahfinal"/><Substitution in="lam" out="lamfinal"/><Substitution in="meem" out="meemfinal"/><Substitution in="noon" out="noonfinal"/><Substitution in="peh" out="pehfinal"/><Substitution in="qaf" out="qaffinal"/><Substitution in="reh" out="rehfinal"/><Substitution in="sad" out="sadfinal"/><Substitution in="seen" out="seenfinal"/><Substitution in="sheen" out="sheenfinal"/><Substitution in="tah" out="tahfinal"/><Substitution in="tcheh" out="tchehfinal"/><Substitution in="teh" out="tehfinal"/><Substitution in="tehmarbuta" out="tehmarbutafinal"/><Substitution in="thal" out="thalfinal"/><Substitution in="theh" out="thehfinal"/><Substitution in="veh" out="vehfinal"/><Substitution in="waw" out="wawfinal"/><Substitution in="wawwithhamzaabove" out="wawwithhamzaabovefinal"/><Substitution in="yeh" out="yehfinal"/><Substitution in="yehwithhamzaabove" out="yehwithhamzaabovefinal"/><Substitution in="zah" out="zahfinal"/><Substitution in="zain" out="zainfinal"/></SingleSubst></Lookup><Lookup index="4"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ain" out="aininitial"/><Substitution in="alefmaksura" out="uni0649.init"/><Substitution in="arabickaf" out="kafinitial"/><Substitution in="beh" out="behinitial"/><Substitution in="dad" out="dadinitial"/><Substitution in="farsiyeh" out="yehinitial"/><Substitution in="feh" out="fehinitial"/><Substitution in="gaf" out="gafinitial"/><Substitution in="ghain" out="ghaininitial"/><Substitution in="hah" out="hahinitial"/><Substitution in="heh" out="hehinitial"/><Substitution in="jeem" out="jeeminitial"/><Substitution in="keheh" out="kehehinitial"/><Substitution in="khah" out="khahinitial"/><Substitution in="lam" out="laminitial"/><Substitution in="meem" out="meeminitial"/><Substitution in="noon" out="nooninitial"/><Substitution in="peh" out="pehinitial"/><Substitution in="qaf" out="qafinitial"/><Substitution in="sad" out="sadinitial"/><Substitution in="seen" out="seeninitial"/><Substitution in="sheen" out="sheeninitial"/><Substitution in="tah" out="tahinitial"/><Substitution in="tcheh" out="tchehinitial"/><Substitution in="teh" out="tehinitial"/><Substitution in="theh" out="thehinitial"/><Substitution in="veh" out="vehinitial"/><Substitution in="yeh" out="yehinitial"/><Substitution in="yehwithhamzaabove" out="yehwithhamzaaboveinitial"/><Substitution in="zah" out="zahinitial"/></SingleSubst></Lookup><Lookup index="5"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="ain" out="ainmedial"/><Substitution in="alefmaksura" out="uni0649.medi"/><Substitution in="arabickaf" out="kafmedial"/><Substitution in="beh" out="behmedial"/><Substitution in="dad" out="dadmedial"/><Substitution in="farsiyeh" out="yehmedial"/><Substitution in="feh" out="fehmedial"/><Substitution in="gaf" out="gafmedial"/><Substitution in="ghain" out="ghainmedial"/><Substitution in="hah" out="hahmedial"/><Substitution in="heh" out="hehmedial"/><Substitution in="jeem" out="jeemmedial"/><Substitution in="keheh" out="kehehmedial"/><Substitution in="khah" out="khahmedial"/><Substitution in="lam" out="lammedial"/><Substitution in="meem" out="meemmedial"/><Substitution in="noon" out="noonmedial"/><Substitution in="peh" out="pehmedial"/><Substitution in="qaf" out="qafmedial"/><Substitution in="sad" out="sadmedial"/><Substitution in="seen" out="seenmedial"/><Substitution in="sheen" out="sheenmedial"/><Substitution in="tah" out="tahmedial"/><Substitution in="tcheh" out="tchehmedial"/><Substitution in="teh" out="tehmedial"/><Substitution in="theh" out="thehmedial"/><Substitution in="veh" out="vehmedial"/><Substitution in="yeh" out="yehmedial"/><Substitution in="yehwithhamzaabove" out="yehwithhamzaabovemedial"/><Substitution in="zah" out="zahmedial"/></SingleSubst></Lookup><Lookup index="6"><LookupType value="4"/><LookupFlag value="9"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="behinitial"><Ligature components="hehmedial" glyph="behwithhehinitial"/><Ligature components="meemfinal" glyph="behwithmeemisolated"/><Ligature components="meemmedial" glyph="behwithmeeminitial"/><Ligature components="alefmaksurafinal" glyph="behwithalefmaksuraisolated"/><Ligature components="yehfinal" glyph="behwithyehisolated"/><Ligature components="jeemmedial" glyph="behwithjeeminitial"/><Ligature components="hahmedial" glyph="behwithhahinitial"/><Ligature components="khahmedial" glyph="behwithkhahinitial"/></LigatureSet><LigatureSet glyph="behmedial"><Ligature components="alefmaksurafinal" glyph="behwithalefmaksurafinal"/><Ligature components="yehfinal" glyph="behwithyehfinal"/><Ligature components="rehfinal" glyph="behwithrehfinal"/><Ligature components="noonfinal" glyph="behwithnoonfinal"/></LigatureSet><LigatureSet glyph="fehinitial"><Ligature components="alefmaksurafinal" glyph="fehwithalefmaksuraisolated"/><Ligature components="yehfinal" glyph="fehwithyehisolated"/></LigatureSet><LigatureSet glyph="hahinitial"><Ligature components="meemmedial" glyph="hahwithmeeminitial"/></LigatureSet><LigatureSet glyph="hehinitial"><Ligature components="meemmedial" glyph="hehwithmeeminitial"/></LigatureSet><LigatureSet glyph="jeeminitial"><Ligature components="meemmedial" glyph="jeemwithmeeminitial"/></LigatureSet><LigatureSet glyph="khahinitial"><Ligature components="meemmedial" glyph="khahwithmeeminitial"/></LigatureSet><LigatureSet glyph="laminitial"><Ligature components="jeemmedial" glyph="lamwithjeeminitial"/><Ligature components="hahmedial" glyph="lamwithhahinitial"/><Ligature components="khahmedial" glyph="lamwithkhahinitial"/><Ligature components="hehmedial" glyph="lamwithhehinitial"/><Ligature components="meemfinal" glyph="lamwithmeemisolated"/><Ligature components="alefmaksurafinal" glyph="lamwithalefmaksuraisolated"/><Ligature components="yehfinal" glyph="lamwithyehisolated"/></LigatureSet><LigatureSet glyph="meeminitial"><Ligature components="jeemmedial" glyph="meemwithjeeminitial"/><Ligature components="hahmedial" glyph="meemwithhahinitial"/><Ligature components="khahmedial" glyph="meemwithkhahinitial"/><Ligature components="meemmedial" glyph="meemwithmeeminitial"/></LigatureSet><LigatureSet glyph="nooninitial"><Ligature components="hehmedial" glyph="noonwithhehinitial"/><Ligature components="meemfinal" glyph="noonwithmeemisolated"/><Ligature components="meemmedial" glyph="noonwithmeeminitial"/><Ligature components="alefmaksurafinal" glyph="noonwithalefmaksuraisolated"/><Ligature components="yehfinal" glyph="noonwithyehisolated"/><Ligature components="jeemmedial" glyph="noonwithjeeminitial"/><Ligature components="hahmedial" glyph="noonwithhahinitial"/><Ligature components="khahmedial" glyph="noonwithkhahinitial"/></LigatureSet><LigatureSet glyph="noonmedial"><Ligature components="alefmaksurafinal" glyph="noonwithalefmaksurafinal"/><Ligature components="yehfinal" glyph="noonwithyehfinal"/></LigatureSet><LigatureSet glyph="pehinitial"><Ligature components="hehmedial" glyph="pehwithhehinitial"/></LigatureSet><LigatureSet glyph="seeninitial"><Ligature components="meemmedial" glyph="seenwithmeeminitial"/></LigatureSet><LigatureSet glyph="sheeninitial"><Ligature components="meemmedial" glyph="sheenwithmeeminitial"/></LigatureSet><LigatureSet glyph="tchehinitial"><Ligature components="meemmedial" glyph="uniE817"/></LigatureSet><LigatureSet glyph="tehinitial"><Ligature components="hehmedial" glyph="tehwithhehinitial"/><Ligature components="meemfinal" glyph="tehwithmeemisolated"/><Ligature components="meemmedial" glyph="tehwithmeeminitial"/><Ligature components="yehfinal" glyph="tehwithyehisolated"/><Ligature components="jeemmedial" glyph="tehwithjeeminitial"/><Ligature components="hahmedial" glyph="tehwithhahinitial"/><Ligature components="khahmedial" glyph="tehwithkhahinitial"/></LigatureSet><LigatureSet glyph="tehmedial"><Ligature components="alefmaksurafinal" glyph="tehwithalefmaksurafinal"/><Ligature components="yehfinal" glyph="tehwithyehfinal"/><Ligature components="rehfinal" glyph="noonwithzainfinal"/><Ligature components="noonfinal" glyph="tehwithnoonfinal"/></LigatureSet><LigatureSet glyph="thehinitial"><Ligature components="meemfinal" glyph="thehwithmeemisolated"/><Ligature components="meemmedial" glyph="thehwithmeeminitial"/></LigatureSet><LigatureSet glyph="yehinitial"><Ligature components="meemfinal" glyph="yehwithmeemisolated"/><Ligature components="meemmedial" glyph="yehwithmeeminitial"/><Ligature components="alefmaksurafinal" glyph="yehwithalefmaksuraisolated"/><Ligature components="jeemmedial" glyph="yehwithjeeminitial"/><Ligature components="hahmedial" glyph="yehwithhahinitial"/><Ligature components="khahmedial" glyph="yehwithkhahinitial"/></LigatureSet><LigatureSet glyph="yehmedial"><Ligature components="alefmaksurafinal" glyph="yehwithalefmaksurafinal"/><Ligature components="rehfinal" glyph="yehwithrehfinal"/><Ligature components="noonfinal" glyph="yehwithnoonfinal"/></LigatureSet></LigatureSubst></Lookup><Lookup index="7"><LookupType value="4"/><LookupFlag value="1"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="laminitial"><Ligature components="meemmedial,jeemmedial" glyph="lamwithmeemwithjeeminitial"/><Ligature components="meemmedial,hahmedial" glyph="lamwithmeemwithhahinitial"/><Ligature components="meemmedial" glyph="lamwithmeeminitial"/></LigatureSet></LigatureSubst></Lookup><Lookup index="8"><LookupType value="4"/><LookupFlag value="257"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="laminitial"><Ligature components="jeemfinal" glyph="lamwithjeemisolated"/><Ligature components="hahfinal" glyph="lamwithhahisolated"/><Ligature components="khahfinal" glyph="lamwithkhahisolated"/></LigatureSet></LigatureSubst></Lookup><Lookup index="9"><LookupType value="4"/><LookupFlag value="9"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="laminitial"><Ligature components="alefwithmaddaabovefinal" glyph="lamwithalefmaddaaboveisolatedd"/><Ligature components="alefwithhamzaabovefinal" glyph="lamwithalefhamzaaboveisolatedd"/><Ligature components="alefwithhamzabelowfinal" glyph="lamwithalefhamzabelowisolated"/><Ligature components="aleffinal" glyph="lamwithalefisolated"/></LigatureSet><LigatureSet glyph="lammedial"><Ligature components="alefwithmaddaabovefinal" glyph="lamwithalefmaddaabovefinal"/><Ligature components="alefwithhamzaabovefinal" glyph="lamwithalefhamzaabovefinal"/><Ligature components="alefwithhamzabelowfinal" glyph="lamwithalefhamzabelowfinal"/><Ligature components="aleffinal" glyph="lamwithaleffinal"/></LigatureSet></LigatureSubst></Lookup><Lookup index="10"><LookupType value="4"/><LookupFlag value="1"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="laminitial"><Ligature components="lammedial,hehfinal" glyph="allahisolated"/></LigatureSet><LigatureSet glyph="reh"><Ligature components="yehinitial,aleffinal,lam" glyph="rayaleflam"/></LigatureSet></LigatureSubst></Lookup><Lookup index="11"><LookupType value="6"/><LookupFlag value="1"/><ChainContextSubst index="0" Format="3"><InputCoverage index="0" Format="2"><Glyph value="pehinitial"/><Glyph value="yehwithhamzaaboveinitial"/><Glyph value="behinitial"/><Glyph value="tehinitial"/><Glyph value="thehinitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="nooninitial"/><Glyph value="yehinitial"/><Glyph value="uni0649.init"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></LookAheadCoverage><LookAheadCoverage index="1" Format="2"><Glyph value="pehmedial"/><Glyph value="vehmedial"/><Glyph value="jehfinal"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="behmedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/><Glyph value="ainmedial"/><Glyph value="ghainmedial"/><Glyph value="fehmedial"/><Glyph value="qafmedial"/><Glyph value="lammedial"/><Glyph value="noonmedial"/><Glyph value="hehmedial"/><Glyph value="wawfinal"/><Glyph value="yehmedial"/></LookAheadCoverage><LookAheadCoverage index="2" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="14"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="12"><LookupType value="6"/><LookupFlag value="1"/><ChainContextSubst index="0" Format="3"><InputCoverage index="0" Format="2"><Glyph value="pehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="behmedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="noonmedial"/><Glyph value="yehmedial"/><Glyph value="uni0649.medi"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></LookAheadCoverage><LookAheadCoverage index="1" Format="2"><Glyph value="pehmedial"/><Glyph value="vehmedial"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/><Glyph value="ainmedial"/><Glyph value="ghainmedial"/><Glyph value="fehmedial"/><Glyph value="qafmedial"/><Glyph value="lammedial"/><Glyph value="noonmedial"/><Glyph value="hehmedial"/><Glyph value="wawfinal"/><Glyph value="yehmedial"/></LookAheadCoverage><LookAheadCoverage index="2" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="15"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="13"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="heh" out="hehisolated"/></SingleSubst></Lookup><Lookup index="14"><LookupType value="2"/><LookupFlag value="1"/><MultipleSubst index="0" Format="1"><Coverage Format="2"><Glyph value="pehinitial"/><Glyph value="yehwithhamzaaboveinitial"/><Glyph value="behinitial"/><Glyph value="tehinitial"/><Glyph value="thehinitial"/><Glyph value="fehinitial"/><Glyph value="qafinitial"/><Glyph value="nooninitial"/><Glyph value="yehinitial"/><Glyph value="uni0649.init"/></Coverage><Sequence index="0"><Substitute index="0" value="pehinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="1"><Substitute index="0" value="yehwithhamzaaboveinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="2"><Substitute index="0" value="behinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="3"><Substitute index="0" value="tehinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="4"><Substitute index="0" value="thehinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="5"><Substitute index="0" value="fehinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="6"><Substitute index="0" value="qafinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="7"><Substitute index="0" value="nooninitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="8"><Substitute index="0" value="yehinitial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="9"><Substitute index="0" value="uni0649.init"/><Substitute index="1" value="tatweel"/></Sequence></MultipleSubst></Lookup><Lookup index="15"><LookupType value="2"/><LookupFlag value="1"/><MultipleSubst index="0" Format="1"><Coverage Format="2"><Glyph value="pehmedial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="behmedial"/><Glyph value="tehmedial"/><Glyph value="thehmedial"/><Glyph value="noonmedial"/><Glyph value="yehmedial"/><Glyph value="uni0649.medi"/></Coverage><Sequence index="0"><Substitute index="0" value="pehmedial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="1"><Substitute index="0" value="yehwithhamzaabovemedial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="2"><Substitute index="0" value="behmedial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="3"><Substitute index="0" value="tehmedial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="4"><Substitute index="0" value="thehmedial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="5"><Substitute index="0" value="noonmedial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="6"><Substitute index="0" value="yehmedial"/><Substitute index="1" value="tatweel"/></Sequence><Sequence index="7"><Substitute index="0" value="uni0649.medi"/><Substitute index="1" value="tatweel"/></Sequence></MultipleSubst></Lookup></LookupList></GSUB><GPOS><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="2"/><FeatureIndex index="2" value="4"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="FAR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="3"/><FeatureIndex index="2" value="5"/></LangSys></LangSysRecord></Script></ScriptRecord><ScriptRecord index="1"><ScriptTag value="latn"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/></DefaultLangSys></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="kern"/><Feature><LookupListIndex index="0" value="0"/><LookupListIndex index="1" value="1"/><LookupListIndex index="2" value="2"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="kern"/><Feature><LookupListIndex index="0" value="0"/><LookupListIndex index="1" value="1"/><LookupListIndex index="2" value="2"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="4"/><LookupListIndex index="2" value="5"/><LookupListIndex index="3" value="6"/><LookupListIndex index="4" value="7"/><LookupListIndex index="5" value="8"/><LookupListIndex index="6" value="9"/><LookupListIndex index="7" value="10"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="4"/><LookupListIndex index="2" value="5"/><LookupListIndex index="3" value="6"/><LookupListIndex index="4" value="7"/><LookupListIndex index="5" value="8"/><LookupListIndex index="6" value="9"/><LookupListIndex index="7" value="10"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="11"/><LookupListIndex index="1" value="12"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="11"/><LookupListIndex index="1" value="12"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="2"/><LookupFlag value="9"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="wawwithhamzaabove"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="waw"/><Glyph value="jeh"/><Glyph value="jehfinal"/><Glyph value="behwithrehfinal"/><Glyph value="noonwithzainfinal"/><Glyph value="yehwithrehfinal"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/><Glyph value="wawfinal"/></Coverage><ValueFormat1 value="5"/><ValueFormat2 value="0"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-475" XAdvance="-475"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-475" XAdvance="-475"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-475" XAdvance="-475"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord></PairSet><PairSet index="5"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-475" XAdvance="-475"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord></PairSet><PairSet index="6"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-440" XAdvance="-440"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-440" XAdvance="-440"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-410" XAdvance="-410"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord></PairSet><PairSet index="7"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-440" XAdvance="-440"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-440" XAdvance="-440"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-410" XAdvance="-410"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord></PairSet><PairSet index="8"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-100" XAdvance="-100"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-440" XAdvance="-440"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-440" XAdvance="-440"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-410" XAdvance="-410"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-220" XAdvance="-220"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-210" XAdvance="-210"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord></PairSet><PairSet index="9"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord></PairSet><PairSet index="10"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-475" XAdvance="-475"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord></PairSet><PairSet index="11"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-155" XAdvance="-155"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-500" XAdvance="-500"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-430" XAdvance="-430"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-475" XAdvance="-475"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-655" XAdvance="-655"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-270" XAdvance="-270"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-245" XAdvance="-245"/></PairValueRecord></PairSet><PairSet index="12"><PairValueRecord index="0"><SecondGlyph value="hamza"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="alefwithmaddaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="alefwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="wawwithhamzaabove"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="alefwithhamzabelow"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="yehwithhamzaabove"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="arabicalef"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="beh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="tehmarbuta"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="teh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="theh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="jeem"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="hah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="khah"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="dal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="thal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="reh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="zain"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="seen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="sheen"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="sad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="dad"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="22"><SecondGlyph value="tah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="23"><SecondGlyph value="zah"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="24"><SecondGlyph value="ain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="25"><SecondGlyph value="ghain"/><Value1 XPlacement="-380" XAdvance="-380"/></PairValueRecord><PairValueRecord index="26"><SecondGlyph value="feh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="27"><SecondGlyph value="qaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="28"><SecondGlyph value="arabickaf"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="29"><SecondGlyph value="lam"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="30"><SecondGlyph value="meem"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="31"><SecondGlyph value="noon"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="32"><SecondGlyph value="heh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="33"><SecondGlyph value="waw"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="34"><SecondGlyph value="alefmaksura"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="35"><SecondGlyph value="yeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="36"><SecondGlyph value="alefwasla"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="37"><SecondGlyph value="peh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="38"><SecondGlyph value="tcheh"/><Value1 XPlacement="-330" XAdvance="-330"/></PairValueRecord><PairValueRecord index="39"><SecondGlyph value="jeh"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="40"><SecondGlyph value="veh"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="41"><SecondGlyph value="keheh"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="42"><SecondGlyph value="gaf"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="43"><SecondGlyph value="farsiyeh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="44"><SecondGlyph value="lamwithmeemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="45"><SecondGlyph value="behwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="46"><SecondGlyph value="pehwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="47"><SecondGlyph value="tehwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="48"><SecondGlyph value="noonwithhehinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="49"><SecondGlyph value="rayaleflam"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="50"><SecondGlyph value="uniE817"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="51"><SecondGlyph value="pehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="52"><SecondGlyph value="pehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="53"><SecondGlyph value="pehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="54"><SecondGlyph value="vehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="55"><SecondGlyph value="vehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="56"><SecondGlyph value="tchehinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="57"><SecondGlyph value="jehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="58"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="59"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="60"><SecondGlyph value="behwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="61"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="62"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="63"><SecondGlyph value="tehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="64"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="65"><SecondGlyph value="thehwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="66"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="67"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="68"><SecondGlyph value="lamwithjeemisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="69"><SecondGlyph value="lamwithhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="70"><SecondGlyph value="lamwithkhahisolated"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="71"><SecondGlyph value="lamwithmeemisolated"/><Value1 XPlacement="-400" XAdvance="-400"/></PairValueRecord><PairValueRecord index="72"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="73"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="74"><SecondGlyph value="noonwithmeemisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="75"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="76"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="77"><SecondGlyph value="yehwithmeemisolated"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="78"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="-130" XAdvance="-130"/></PairValueRecord><PairValueRecord index="79"><SecondGlyph value="behwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="80"><SecondGlyph value="behwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="81"><SecondGlyph value="behwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="82"><SecondGlyph value="behwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="83"><SecondGlyph value="tehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="84"><SecondGlyph value="tehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="85"><SecondGlyph value="tehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="86"><SecondGlyph value="tehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="87"><SecondGlyph value="thehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="88"><SecondGlyph value="jeemwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="89"><SecondGlyph value="hahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="90"><SecondGlyph value="khahwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="91"><SecondGlyph value="seenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="92"><SecondGlyph value="lamwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="93"><SecondGlyph value="lamwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="94"><SecondGlyph value="lamwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="95"><SecondGlyph value="lamwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="96"><SecondGlyph value="lamwithhehinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="97"><SecondGlyph value="meemwithjeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="98"><SecondGlyph value="meemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="99"><SecondGlyph value="meemwithkhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="100"><SecondGlyph value="meemwithmeeminitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="101"><SecondGlyph value="noonwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="102"><SecondGlyph value="noonwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="103"><SecondGlyph value="noonwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="104"><SecondGlyph value="noonwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="105"><SecondGlyph value="hehwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="106"><SecondGlyph value="yehwithjeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="107"><SecondGlyph value="yehwithhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="108"><SecondGlyph value="yehwithkhahinitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="109"><SecondGlyph value="yehwithmeeminitial"/><Value1 XPlacement="-180" XAdvance="-180"/></PairValueRecord><PairValueRecord index="110"><SecondGlyph value="sheenwithmeeminitial"/><Value1 XPlacement="-230" XAdvance="-230"/></PairValueRecord><PairValueRecord index="111"><SecondGlyph value="alefwithfathatanisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="112"><SecondGlyph value="lamwithmeemwithhahinitial"/><Value1 XPlacement="-150" XAdvance="-150"/></PairValueRecord><PairValueRecord index="113"><SecondGlyph value="allahisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="114"><SecondGlyph value="wawwithhamzaabovefinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="115"><SecondGlyph value="yehwithhamzaaboveinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="116"><SecondGlyph value="yehwithhamzaabovemedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="117"><SecondGlyph value="behfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="118"><SecondGlyph value="behinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="119"><SecondGlyph value="behmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="120"><SecondGlyph value="tehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="121"><SecondGlyph value="tehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="122"><SecondGlyph value="tehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="123"><SecondGlyph value="thehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="124"><SecondGlyph value="thehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="125"><SecondGlyph value="thehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="126"><SecondGlyph value="jeeminitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="127"><SecondGlyph value="hahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="128"><SecondGlyph value="khahinitial"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="129"><SecondGlyph value="dalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="130"><SecondGlyph value="thalfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="131"><SecondGlyph value="rehfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="132"><SecondGlyph value="zainfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="133"><SecondGlyph value="seeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="134"><SecondGlyph value="seenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="135"><SecondGlyph value="sheeninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="136"><SecondGlyph value="sheenmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="137"><SecondGlyph value="sadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="138"><SecondGlyph value="sadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="139"><SecondGlyph value="dadinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="140"><SecondGlyph value="dadmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="141"><SecondGlyph value="tahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="142"><SecondGlyph value="tahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="143"><SecondGlyph value="tahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="144"><SecondGlyph value="zahfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="145"><SecondGlyph value="zahinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="146"><SecondGlyph value="zahmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="147"><SecondGlyph value="aininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="148"><SecondGlyph value="ghaininitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="149"><SecondGlyph value="fehfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="150"><SecondGlyph value="fehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="151"><SecondGlyph value="qaffinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="152"><SecondGlyph value="qafinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="153"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-555" XAdvance="-555"/></PairValueRecord><PairValueRecord index="154"><SecondGlyph value="laminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="155"><SecondGlyph value="meemfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="156"><SecondGlyph value="meeminitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="157"><SecondGlyph value="meemmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="158"><SecondGlyph value="noonfinal"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="159"><SecondGlyph value="nooninitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="160"><SecondGlyph value="noonmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="161"><SecondGlyph value="hehisolated"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="162"><SecondGlyph value="hehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="163"><SecondGlyph value="wawfinal"/><Value1 XPlacement="-190" XAdvance="-190"/></PairValueRecord><PairValueRecord index="164"><SecondGlyph value="yehinitial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="165"><SecondGlyph value="yehmedial"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="166"><SecondGlyph value="lamwithalefmaddaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="167"><SecondGlyph value="lamwithalefhamzaaboveisolatedd"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="168"><SecondGlyph value="lamwithalefhamzabelowisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="169"><SecondGlyph value="lamwithalefisolated"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="170"><SecondGlyph value="uni0649.init"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord><PairValueRecord index="171"><SecondGlyph value="uni0649.medi"/><Value1 XPlacement="-145" XAdvance="-145"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="1"><LookupType value="2"/><LookupFlag value="9"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="space"/><Glyph value="hamza"/><Glyph value="arabicalef"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="hamzaisolated"/><Glyph value="aleffinal"/><Glyph value="dalisolated"/><Glyph value="dalfinal"/><Glyph value="thalisolated"/><Glyph value="thalfinal"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefhamzabelowfinal"/><Glyph value="lamwithalefisolated"/><Glyph value="lamwithaleffinal"/></Coverage><ValueFormat1 value="5"/><ValueFormat2 value="0"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord></PairSet><PairSet index="5"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord></PairSet><PairSet index="6"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-140" XAdvance="-140"/></PairValueRecord></PairSet><PairSet index="7"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord></PairSet><PairSet index="8"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord></PairSet><PairSet index="9"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord></PairSet><PairSet index="10"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord></PairSet><PairSet index="11"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord></PairSet><PairSet index="12"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord></PairSet><PairSet index="13"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-120" XAdvance="-120"/></PairValueRecord></PairSet><PairSet index="14"><PairValueRecord index="0"><SecondGlyph value="keheh"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="gaf"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="kehehinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="gafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="kafinitial"/><Value1 XPlacement="-200" XAdvance="-200"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="2"><LookupType value="2"/><LookupFlag value="9"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="hamza"/><Glyph value="arabicalef"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="aleffinal"/><Glyph value="dalfinal"/><Glyph value="thalfinal"/></Coverage><ValueFormat1 value="5"/><ValueFormat2 value="0"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="-250" XAdvance="-250"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="-80" XAdvance="-80"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="-300" XAdvance="-300"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord></PairSet><PairSet index="5"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord></PairSet><PairSet index="6"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="-350" XAdvance="-350"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="-170" XAdvance="-170"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="3"><LookupType value="1"/><LookupFlag value="1"/><SinglePos index="0" Format="2"><Coverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="kasratan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="kasra"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/></Coverage><ValueFormat value="4"/><Value index="0" XAdvance="-408"/><Value index="1" XAdvance="-483"/><Value index="2" XAdvance="-408"/><Value index="3" XAdvance="-408"/><Value index="4" XAdvance="-414"/><Value index="5" XAdvance="-408"/><Value index="6" XAdvance="-420"/><Value index="7" XAdvance="-332"/><Value index="8" XAdvance="-239"/><Value index="9" XAdvance="-480"/><Value index="10" XAdvance="-420"/><Value index="11" XAdvance="-420"/><Value index="12" XAdvance="-414"/><Value index="13" XAdvance="-469"/><Value index="14" XAdvance="-420"/><Value index="15" XAdvance="-420"/><Value index="16" XAdvance="-420"/><Value index="17" XAdvance="-420"/><Value index="18" XAdvance="-420"/><Value index="19" XAdvance="-420"/><Value index="20" XAdvance="-420"/></SinglePos></Lookup><Lookup index="4"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="kasratan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="kasra"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="hamza"/><Glyph value="alefwithmaddaabove"/><Glyph value="alefwithhamzaabove"/><Glyph value="wawwithhamzaabove"/><Glyph value="alefwithhamzabelow"/><Glyph value="yehwithhamzaabove"/><Glyph value="arabicalef"/><Glyph value="beh"/><Glyph value="tehmarbuta"/><Glyph value="teh"/><Glyph value="theh"/><Glyph value="jeem"/><Glyph value="hah"/><Glyph value="khah"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="seen"/><Glyph value="sheen"/><Glyph value="sad"/><Glyph value="dad"/><Glyph value="tah"/><Glyph value="zah"/><Glyph value="ain"/><Glyph value="ghain"/><Glyph value="tatweel"/><Glyph value="feh"/><Glyph value="qaf"/><Glyph value="arabickaf"/><Glyph value="lam"/><Glyph value="meem"/><Glyph value="noon"/><Glyph value="heh"/><Glyph value="waw"/><Glyph value="alefmaksura"/><Glyph value="yeh"/><Glyph value="alefwasla"/><Glyph value="peh"/><Glyph value="tcheh"/><Glyph value="jeh"/><Glyph value="veh"/><Glyph value="keheh"/><Glyph value="gaf"/><Glyph value="farsiyeh"/><Glyph value="alefwaslafinal"/><Glyph value="pehfinal"/><Glyph value="pehinitial"/><Glyph value="pehmedial"/><Glyph value="vehfinal"/><Glyph value="vehinitial"/><Glyph value="vehmedial"/><Glyph value="tchehfinal"/><Glyph value="tchehinitial"/><Glyph value="tchehmedial"/><Glyph value="jehfinal"/><Glyph value="kehehfinal"/><Glyph value="kehehinitial"/><Glyph value="kehehmedial"/><Glyph value="gaffinal"/><Glyph value="gafinitial"/><Glyph value="gafmedial"/><Glyph value="farsiyehfinal"/><Glyph value="alefwithmaddaabovefinal"/><Glyph value="alefwithhamzaabovefinal"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="alefwithhamzabelowfinal"/><Glyph value="yehwithhamzaabovefinal"/><Glyph value="yehwithhamzaaboveinitial"/><Glyph value="yehwithhamzaabovemedial"/><Glyph value="aleffinal"/><Glyph value="behfinal"/><Glyph value="behinitial"/><Glyph value="behmedial"/><Glyph value="tehmarbutafinal"/><Glyph value="tehfinal"/><Glyph value="tehinitial"/><Glyph value="tehmedial"/><Glyph value="thehfinal"/><Glyph value="thehinitial"/><Glyph value="thehmedial"/><Glyph value="jeemfinal"/><Glyph value="jeeminitial"/><Glyph value="jeemmedial"/><Glyph value="hahfinal"/><Glyph value="hahinitial"/><Glyph value="hahmedial"/><Glyph value="khahfinal"/><Glyph value="khahinitial"/><Glyph value="khahmedial"/><Glyph value="dalfinal"/><Glyph value="thalfinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/><Glyph value="seenfinal"/><Glyph value="seeninitial"/><Glyph value="seenmedial"/><Glyph value="sheenfinal"/><Glyph value="sheeninitial"/><Glyph value="sheenmedial"/><Glyph value="sadfinal"/><Glyph value="sadinitial"/><Glyph value="sadmedial"/><Glyph value="dadfinal"/><Glyph value="dadinitial"/><Glyph value="dadmedial"/><Glyph value="tahfinal"/><Glyph value="tahinitial"/><Glyph value="tahmedial"/><Glyph value="zahfinal"/><Glyph value="zahinitial"/><Glyph value="zahmedial"/><Glyph value="ainfinal"/><Glyph value="aininitial"/><Glyph value="ainmedial"/><Glyph value="ghainfinal"/><Glyph value="ghaininitial"/><Glyph value="ghainmedial"/><Glyph value="fehfinal"/><Glyph value="fehinitial"/><Glyph value="fehmedial"/><Glyph value="qaffinal"/><Glyph value="qafinitial"/><Glyph value="qafmedial"/><Glyph value="arabickaffinal"/><Glyph value="kafinitial"/><Glyph value="kafmedial"/><Glyph value="lamfinal"/><Glyph value="laminitial"/><Glyph value="lammedial"/><Glyph value="meemfinal"/><Glyph value="meeminitial"/><Glyph value="meemmedial"/><Glyph value="noonfinal"/><Glyph value="nooninitial"/><Glyph value="noonmedial"/><Glyph value="hehisolated"/><Glyph value="hehfinal"/><Glyph value="hehinitial"/><Glyph value="hehmedial"/><Glyph value="wawfinal"/><Glyph value="alefmaksurafinal"/><Glyph value="yehfinal"/><Glyph value="yehinitial"/><Glyph value="yehmedial"/><Glyph value="uni0649.init"/><Glyph value="uni0649.medi"/><Glyph value="uni25CC"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1485"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1515"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="1480"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="130"/><YCoordinate value="1080"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="225"/><YCoordinate value="1330"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="295"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="245"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="265"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="275"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1360"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="209"/><YCoordinate value="773"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="321"/><YCoordinate value="-49"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1422"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1565"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="162"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="459"/><YCoordinate value="1085"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="352"/><YCoordinate value="-453"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="110"/><YCoordinate value="1214"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="192"/><YCoordinate value="-331"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="374"/><YCoordinate value="1137"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="426"/><YCoordinate value="-292"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="110"/><YCoordinate value="1214"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="162"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="506"/><YCoordinate value="878"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="611"/><YCoordinate value="-292"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="241"/><YCoordinate value="1249"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="251"/><YCoordinate value="-103"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="506"/><YCoordinate value="982"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="611"/><YCoordinate value="-124"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="506"/><YCoordinate value="1110"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="611"/><YCoordinate value="-124"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="807"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-738"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="807"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-738"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="996"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-738"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="294"/><YCoordinate value="1010"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-93"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="242"/><YCoordinate value="1267"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-93"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="432"/><YCoordinate value="800"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-394"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="432"/><YCoordinate value="1047"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-394"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="745"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="889"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="837"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="938"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="387"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="387"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="259"/><YCoordinate value="1001"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="469"/><YCoordinate value="-788"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="259"/><YCoordinate value="1304"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="469"/><YCoordinate value="-788"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="52"/><YCoordinate value="856"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="52"/><YCoordinate value="-291"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="516"/><YCoordinate value="1170"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="621"/><YCoordinate value="-101"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="488"/><YCoordinate value="1199"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="646"/><YCoordinate value="-158"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="562"/><YCoordinate value="1343"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="515"/><YCoordinate value="-151"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="541"/><YCoordinate value="1401"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="609"/><YCoordinate value="-232"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="282"/><YCoordinate value="889"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="474"/><YCoordinate value="-284"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="369"/><YCoordinate value="1206"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="427"/><YCoordinate value="-170"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="557"/><YCoordinate value="966"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="506"/><YCoordinate value="-49"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="459"/><YCoordinate value="794"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="352"/><YCoordinate value="-453"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="374"/><YCoordinate value="778"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="426"/><YCoordinate value="-292"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="374"/><YCoordinate value="778"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="436"/><YCoordinate value="-506"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1509"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="192"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="506"/><YCoordinate value="878"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="611"/><YCoordinate value="-536"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="807"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-738"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="1206"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-394"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="516"/><YCoordinate value="1270"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="621"/><YCoordinate value="-101"/></BaseAnchor></BaseRecord><BaseRecord index="42"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="982"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-216"/></BaseAnchor></BaseRecord><BaseRecord index="43"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1134"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-216"/></BaseAnchor></BaseRecord><BaseRecord index="44"><BaseAnchor index="0" Format="1"><XCoordinate value="374"/><YCoordinate value="778"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="426"/><YCoordinate value="-292"/></BaseAnchor></BaseRecord><BaseRecord index="45"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1509"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="46"><BaseAnchor index="0" Format="1"><XCoordinate value="512"/><YCoordinate value="775"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="617"/><YCoordinate value="-536"/></BaseAnchor></BaseRecord><BaseRecord index="47"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="856"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="160"/><YCoordinate value="-469"/></BaseAnchor></BaseRecord><BaseRecord index="48"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="863"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-509"/></BaseAnchor></BaseRecord><BaseRecord index="49"><BaseAnchor index="0" Format="1"><XCoordinate value="516"/><YCoordinate value="1109"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="621"/><YCoordinate value="-274"/></BaseAnchor></BaseRecord><BaseRecord index="50"><BaseAnchor index="0" Format="1"><XCoordinate value="172"/><YCoordinate value="1351"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="51"><BaseAnchor index="0" Format="1"><XCoordinate value="267"/><YCoordinate value="1261"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="52"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="803"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-736"/></BaseAnchor></BaseRecord><BaseRecord index="53"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="858"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-381"/></BaseAnchor></BaseRecord><BaseRecord index="54"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="864"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-381"/></BaseAnchor></BaseRecord><BaseRecord index="55"><BaseAnchor index="0" Format="1"><XCoordinate value="378"/><YCoordinate value="1034"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-429"/></BaseAnchor></BaseRecord><BaseRecord index="56"><BaseAnchor index="0" Format="1"><XCoordinate value="407"/><YCoordinate value="1156"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-216"/></BaseAnchor></BaseRecord><BaseRecord index="57"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="1244"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="232"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="58"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="1418"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="59"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1327"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-216"/></BaseAnchor></BaseRecord><BaseRecord index="60"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="1397"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="232"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="61"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="1566"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="62"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="565"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="457"/><YCoordinate value="-591"/></BaseAnchor></BaseRecord><BaseRecord index="63"><BaseAnchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="1422"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="362"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="64"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1575"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="65"><BaseAnchor index="0" Format="1"><XCoordinate value="440"/><YCoordinate value="1004"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="333"/><YCoordinate value="-453"/></BaseAnchor></BaseRecord><BaseRecord index="66"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1254"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-331"/></BaseAnchor></BaseRecord><BaseRecord index="67"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="800"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="452"/><YCoordinate value="-591"/></BaseAnchor></BaseRecord><BaseRecord index="68"><BaseAnchor index="0" Format="1"><XCoordinate value="160"/><YCoordinate value="1137"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="130"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="69"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1064"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="70"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1254"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="242"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="71"><BaseAnchor index="0" Format="1"><XCoordinate value="512"/><YCoordinate value="775"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="617"/><YCoordinate value="-379"/></BaseAnchor></BaseRecord><BaseRecord index="72"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="856"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="160"/><YCoordinate value="-315"/></BaseAnchor></BaseRecord><BaseRecord index="73"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="863"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-354"/></BaseAnchor></BaseRecord><BaseRecord index="74"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="1158"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="281"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="75"><BaseAnchor index="0" Format="1"><XCoordinate value="512"/><YCoordinate value="963"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="617"/><YCoordinate value="-157"/></BaseAnchor></BaseRecord><BaseRecord index="76"><BaseAnchor index="0" Format="1"><XCoordinate value="160"/><YCoordinate value="1150"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="130"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="77"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1075"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="78"><BaseAnchor index="0" Format="1"><XCoordinate value="512"/><YCoordinate value="1099"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="617"/><YCoordinate value="-157"/></BaseAnchor></BaseRecord><BaseRecord index="79"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1388"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="130"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="80"><BaseAnchor index="0" Format="1"><XCoordinate value="160"/><YCoordinate value="1085"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="81"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="803"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-736"/></BaseAnchor></BaseRecord><BaseRecord index="82"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="858"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="595"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="83"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="864"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="84"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="803"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-736"/></BaseAnchor></BaseRecord><BaseRecord index="85"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="858"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="86"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="864"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="87"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="996"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="513"/><YCoordinate value="-736"/></BaseAnchor></BaseRecord><BaseRecord index="88"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="946"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="89"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="948"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="90"><BaseAnchor index="0" Format="1"><XCoordinate value="383"/><YCoordinate value="1119"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="91"><BaseAnchor index="0" Format="1"><XCoordinate value="383"/><YCoordinate value="1359"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="92"><BaseAnchor index="0" Format="1"><XCoordinate value="438"/><YCoordinate value="739"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-429"/></BaseAnchor></BaseRecord><BaseRecord index="93"><BaseAnchor index="0" Format="1"><XCoordinate value="438"/><YCoordinate value="905"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-429"/></BaseAnchor></BaseRecord><BaseRecord index="94"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="622"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="95"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="850"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="96"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="727"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="97"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="887"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="98"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1106"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="99"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1085"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="100"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="841"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="101"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="889"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="420"/><YCoordinate value="-158"/></BaseAnchor></BaseRecord><BaseRecord index="102"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="893"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="420"/><YCoordinate value="-158"/></BaseAnchor></BaseRecord><BaseRecord index="103"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="928"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="104"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="1043"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="420"/><YCoordinate value="-158"/></BaseAnchor></BaseRecord><BaseRecord index="105"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="1049"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="420"/><YCoordinate value="-158"/></BaseAnchor></BaseRecord><BaseRecord index="106"><BaseAnchor index="0" Format="1"><XCoordinate value="387"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="107"><BaseAnchor index="0" Format="1"><XCoordinate value="157"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="325"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="108"><BaseAnchor index="0" Format="1"><XCoordinate value="157"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="325"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="109"><BaseAnchor index="0" Format="1"><XCoordinate value="387"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="550"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="110"><BaseAnchor index="0" Format="1"><XCoordinate value="157"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="325"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="111"><BaseAnchor index="0" Format="1"><XCoordinate value="157"/><YCoordinate value="1348"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="325"/><YCoordinate value="-141"/></BaseAnchor></BaseRecord><BaseRecord index="112"><BaseAnchor index="0" Format="1"><XCoordinate value="321"/><YCoordinate value="850"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="426"/><YCoordinate value="-787"/></BaseAnchor></BaseRecord><BaseRecord index="113"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="1003"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="114"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="890"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="115"><BaseAnchor index="0" Format="1"><XCoordinate value="321"/><YCoordinate value="1106"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="426"/><YCoordinate value="-787"/></BaseAnchor></BaseRecord><BaseRecord index="116"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="1255"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="117"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1115"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="118"><BaseAnchor index="0" Format="1"><XCoordinate value="516"/><YCoordinate value="1009"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="621"/><YCoordinate value="-274"/></BaseAnchor></BaseRecord><BaseRecord index="119"><BaseAnchor index="0" Format="1"><XCoordinate value="172"/><YCoordinate value="1212"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="120"><BaseAnchor index="0" Format="1"><XCoordinate value="327"/><YCoordinate value="1160"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="121"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="921"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="560"/><YCoordinate value="-392"/></BaseAnchor></BaseRecord><BaseRecord index="122"><BaseAnchor index="0" Format="1"><XCoordinate value="172"/><YCoordinate value="1214"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="123"><BaseAnchor index="0" Format="1"><XCoordinate value="317"/><YCoordinate value="1160"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="124"><BaseAnchor index="0" Format="1"><XCoordinate value="512"/><YCoordinate value="1079"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-216"/></BaseAnchor></BaseRecord><BaseRecord index="125"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="1244"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="232"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="126"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="1418"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="262"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="127"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="677"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="543"/><YCoordinate value="-551"/></BaseAnchor></BaseRecord><BaseRecord index="128"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1382"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="150"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="129"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1349"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="130"><BaseAnchor index="0" Format="1"><XCoordinate value="310"/><YCoordinate value="739"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="420"/><YCoordinate value="-415"/></BaseAnchor></BaseRecord><BaseRecord index="131"><BaseAnchor index="0" Format="1"><XCoordinate value="320"/><YCoordinate value="858"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="367"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="132"><BaseAnchor index="0" Format="1"><XCoordinate value="368"/><YCoordinate value="794"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="367"/><YCoordinate value="-160"/></BaseAnchor></BaseRecord><BaseRecord index="133"><BaseAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="785"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="335"/><YCoordinate value="-538"/></BaseAnchor></BaseRecord><BaseRecord index="134"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1162"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="130"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="135"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1102"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="136"><BaseAnchor index="0" Format="1"><XCoordinate value="241"/><YCoordinate value="902"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="251"/><YCoordinate value="-103"/></BaseAnchor></BaseRecord><BaseRecord index="137"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="927"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="281"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="138"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="960"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="367"/><YCoordinate value="-81"/></BaseAnchor></BaseRecord><BaseRecord index="139"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="888"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="367"/><YCoordinate value="-357"/></BaseAnchor></BaseRecord><BaseRecord index="140"><BaseAnchor index="0" Format="1"><XCoordinate value="440"/><YCoordinate value="747"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="333"/><YCoordinate value="-453"/></BaseAnchor></BaseRecord><BaseRecord index="141"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="565"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="457"/><YCoordinate value="-591"/></BaseAnchor></BaseRecord><BaseRecord index="142"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="565"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="405"/><YCoordinate value="-772"/></BaseAnchor></BaseRecord><BaseRecord index="143"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="856"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="160"/><YCoordinate value="-311"/></BaseAnchor></BaseRecord><BaseRecord index="144"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="863"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-352"/></BaseAnchor></BaseRecord><BaseRecord index="145"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="856"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="130"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="146"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="863"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="210"/><YCoordinate value="-133"/></BaseAnchor></BaseRecord><BaseRecord index="147"><BaseAnchor index="0" Format="1"><XCoordinate value="465"/><YCoordinate value="930"/></BaseAnchor><BaseAnchor index="1" Format="1"><XCoordinate value="480"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="5"><LookupType value="5"/><LookupFlag value="1"/><MarkLigPos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="kasratan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="kasra"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></MarkCoverage><LigatureCoverage Format="2"><Glyph value="lamwithmeemwithjeeminitial"/><Glyph value="behwithhehinitial"/><Glyph value="pehwithhehinitial"/><Glyph value="tehwithhehinitial"/><Glyph value="noonwithhehinitial"/><Glyph value="rayaleflam"/><Glyph value="uniE817"/><Glyph value="behwithmeemisolated"/><Glyph value="behwithalefmaksuraisolated"/><Glyph value="behwithyehisolated"/><Glyph value="tehwithmeemisolated"/><Glyph value="tehwithyehisolated"/><Glyph value="thehwithmeemisolated"/><Glyph value="fehwithalefmaksuraisolated"/><Glyph value="fehwithyehisolated"/><Glyph value="lamwithjeemisolated"/><Glyph value="lamwithhahisolated"/><Glyph value="lamwithkhahisolated"/><Glyph value="lamwithmeemisolated"/><Glyph value="lamwithalefmaksuraisolated"/><Glyph value="lamwithyehisolated"/><Glyph value="noonwithmeemisolated"/><Glyph value="noonwithalefmaksuraisolated"/><Glyph value="noonwithyehisolated"/><Glyph value="yehwithmeemisolated"/><Glyph value="yehwithalefmaksuraisolated"/><Glyph value="behwithrehfinal"/><Glyph value="behwithnoonfinal"/><Glyph value="behwithalefmaksurafinal"/><Glyph value="behwithyehfinal"/><Glyph value="tehwithnoonfinal"/><Glyph value="tehwithalefmaksurafinal"/><Glyph value="tehwithyehfinal"/><Glyph value="noonwithzainfinal"/><Glyph value="noonwithalefmaksurafinal"/><Glyph value="noonwithyehfinal"/><Glyph value="yehwithrehfinal"/><Glyph value="yehwithnoonfinal"/><Glyph value="yehwithalefmaksurafinal"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="tehwithhahinitial"/><Glyph value="tehwithkhahinitial"/><Glyph value="tehwithmeeminitial"/><Glyph value="thehwithmeeminitial"/><Glyph value="jeemwithmeeminitial"/><Glyph value="hahwithmeeminitial"/><Glyph value="khahwithmeeminitial"/><Glyph value="seenwithmeeminitial"/><Glyph value="lamwithjeeminitial"/><Glyph value="lamwithhahinitial"/><Glyph value="lamwithkhahinitial"/><Glyph value="lamwithmeeminitial"/><Glyph value="lamwithhehinitial"/><Glyph value="meemwithjeeminitial"/><Glyph value="meemwithhahinitial"/><Glyph value="meemwithkhahinitial"/><Glyph value="meemwithmeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="noonwithhahinitial"/><Glyph value="noonwithkhahinitial"/><Glyph value="noonwithmeeminitial"/><Glyph value="hehwithmeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="sheenwithmeeminitial"/><Glyph value="lamwithmeemwithhahinitial"/><Glyph value="allahisolated"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefmaddaabovefinal"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzaabovefinal"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefhamzabelowfinal"/><Glyph value="lamwithalefisolated"/><Glyph value="lamwithaleffinal"/></LigatureCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1485"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1515"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="1480"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="130"/><YCoordinate value="1080"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="225"/><YCoordinate value="1330"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="295"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="245"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="265"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="275"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1360"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="1"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></MarkArray><LigatureArray><LigatureAttach index="0"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="2"><LigatureAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1000"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="1"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="505"/><YCoordinate value="1085"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-120"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="886"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-131"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="2"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="505"/><YCoordinate value="1085"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-360"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="886"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-181"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="3"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="465"/><YCoordinate value="1385"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-80"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1166"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-81"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="4"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="465"/><YCoordinate value="1385"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="-80"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1166"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-81"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="5"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="1240"/><YCoordinate value="635"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="1290"/><YCoordinate value="-230"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="915"/><YCoordinate value="765"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="915"/><YCoordinate value="-270"/></LigatureAnchor></ComponentRecord><ComponentRecord index="2"><LigatureAnchor index="0" Format="1"><XCoordinate value="645"/><YCoordinate value="1125"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="675"/><YCoordinate value="-125"/></LigatureAnchor></ComponentRecord><ComponentRecord index="3"><LigatureAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="677"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="300"/><YCoordinate value="-195"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="6"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1140"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="825"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="994"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="355"/><YCoordinate value="-160"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="7"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1100"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="665"/><YCoordinate value="-49"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="979"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="474"/><YCoordinate value="-404"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="8"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="930"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="890"/><YCoordinate value="-552"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="678"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="457"/><YCoordinate value="-452"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="9"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="930"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="990"/><YCoordinate value="-552"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="678"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="557"/><YCoordinate value="-652"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="10"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1230"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="665"/><YCoordinate value="15"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="979"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="474"/><YCoordinate value="-404"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="11"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="590"/><YCoordinate value="1070"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="990"/><YCoordinate value="-402"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="205"/><YCoordinate value="678"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="557"/><YCoordinate value="-652"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="12"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="560"/><YCoordinate value="1400"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="665"/><YCoordinate value="15"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="979"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="474"/><YCoordinate value="-404"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="13"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="1185"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="840"/><YCoordinate value="-342"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="275"/><YCoordinate value="728"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="457"/><YCoordinate value="-382"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="14"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="1185"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="950"/><YCoordinate value="-402"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="275"/><YCoordinate value="728"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="557"/><YCoordinate value="-552"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="15"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="713"/><YCoordinate value="-858"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="945"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="413"/><YCoordinate value="-738"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="16"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="713"/><YCoordinate value="-858"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="945"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="413"/><YCoordinate value="-738"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="17"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="713"/><YCoordinate value="-858"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="1015"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="413"/><YCoordinate value="-738"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="18"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="1370"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="525"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="825"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="420"/><YCoordinate value="-390"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="19"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="735"/><YCoordinate value="1350"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="875"/><YCoordinate value="-365"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="275"/><YCoordinate value="678"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="457"/><YCoordinate value="-452"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="20"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="735"/><YCoordinate value="1350"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="975"/><YCoordinate value="-465"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="275"/><YCoordinate value="678"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="557"/><YCoordinate value="-652"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="21"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1180"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="665"/><YCoordinate value="15"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="979"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="474"/><YCoordinate value="-404"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="22"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="590"/><YCoordinate value="990"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="890"/><YCoordinate value="-402"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="205"/><YCoordinate value="678"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="457"/><YCoordinate value="-452"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="23"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="590"/><YCoordinate value="990"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="990"/><YCoordinate value="-402"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="205"/><YCoordinate value="678"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="557"/><YCoordinate value="-652"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="24"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1100"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="665"/><YCoordinate value="-49"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="230"/><YCoordinate value="979"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="474"/><YCoordinate value="-404"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="25"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="930"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="890"/><YCoordinate value="-552"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="26"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="700"/><YCoordinate value="930"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="800"/><YCoordinate value="-310"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="775"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-389"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="27"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="950"/><YCoordinate value="930"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="1050"/><YCoordinate value="-340"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="985"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="375"/><YCoordinate value="-370"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="28"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="750"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="950"/><YCoordinate value="-583"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="565"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="407"/><YCoordinate value="-591"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="29"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="750"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="950"/><YCoordinate value="-583"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="565"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="407"/><YCoordinate value="-751"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="30"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="950"/><YCoordinate value="990"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="1050"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="985"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="375"/><YCoordinate value="-370"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="31"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="920"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="850"/><YCoordinate value="-533"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="565"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="407"/><YCoordinate value="-591"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="32"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="920"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="850"/><YCoordinate value="-533"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="565"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="407"/><YCoordinate value="-751"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="33"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="700"/><YCoordinate value="1030"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="800"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="855"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-389"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="34"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="880"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="850"/><YCoordinate value="-533"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="565"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="407"/><YCoordinate value="-591"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="35"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="880"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="850"/><YCoordinate value="-533"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="565"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="407"/><YCoordinate value="-751"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="36"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="700"/><YCoordinate value="930"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="800"/><YCoordinate value="-310"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="775"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="315"/><YCoordinate value="-389"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="37"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="950"/><YCoordinate value="930"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="1050"/><YCoordinate value="-340"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="985"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="375"/><YCoordinate value="-370"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="38"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="750"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="990"/><YCoordinate value="-583"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="565"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="407"/><YCoordinate value="-591"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="39"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1230"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="770"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="924"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-183"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="40"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1230"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="770"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="924"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="41"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1230"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="770"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1074"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="42"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="445"/><YCoordinate value="1165"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-160"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="70"/><YCoordinate value="1100"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="43"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1480"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1024"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="44"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1480"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1024"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="45"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1480"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1074"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="46"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="445"/><YCoordinate value="1345"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="605"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="70"/><YCoordinate value="1280"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="47"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="445"/><YCoordinate value="1465"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="605"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="70"/><YCoordinate value="1380"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="48"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1140"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="755"/><YCoordinate value="-103"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="994"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="355"/><YCoordinate value="-160"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="49"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1140"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="825"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="994"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="355"/><YCoordinate value="-160"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="50"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1220"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="825"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1140"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="355"/><YCoordinate value="-160"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="51"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="550"/><YCoordinate value="1140"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="790"/><YCoordinate value="133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1005"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="345"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="52"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="410"/><YCoordinate value="1362"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="500"/><YCoordinate value="-175"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="858"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="150"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="53"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="410"/><YCoordinate value="1362"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="500"/><YCoordinate value="-81"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="858"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="150"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="54"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="1362"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="500"/><YCoordinate value="-81"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="1058"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="150"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="55"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1415"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="56"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="1365"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="460"/><YCoordinate value="-60"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="20"/><YCoordinate value="960"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="140"/><YCoordinate value="-81"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="57"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1170"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="700"/><YCoordinate value="-80"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1030"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="58"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1170"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="700"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1030"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="59"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1220"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="700"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="180"/><YCoordinate value="1130"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="60"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="1200"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="630"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="1150"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="125"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="61"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1480"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1024"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="62"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1480"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1024"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="63"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1480"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1074"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="64"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="445"/><YCoordinate value="1365"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="605"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="70"/><YCoordinate value="1280"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="65"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="525"/><YCoordinate value="1280"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="725"/><YCoordinate value="133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1000"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="290"/><YCoordinate value="-49"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="66"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1230"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="924"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-283"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="67"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1230"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="924"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="68"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="610"/><YCoordinate value="1230"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="720"/><YCoordinate value="-150"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1074"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="310"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="69"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="445"/><YCoordinate value="1165"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="565"/><YCoordinate value="-160"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="70"/><YCoordinate value="1100"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="165"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="70"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="1390"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="790"/><YCoordinate value="133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="1005"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="345"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="71"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord><ComponentRecord index="2"><LigatureAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="1000"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="350"/><YCoordinate value="0"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="72"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="945"/><YCoordinate value="1200"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="985"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="475"/><YCoordinate value="1615"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="690"/><YCoordinate value="-81"/></LigatureAnchor></ComponentRecord><ComponentRecord index="2"><LigatureAnchor index="0" Format="1"><XCoordinate value="176"/><YCoordinate value="877"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="251"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="73"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="750"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1472"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="74"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="850"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="950"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1472"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="75"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="750"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1535"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="76"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="850"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1535"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="77"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="750"/><YCoordinate value="-301"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1244"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="400"/><YCoordinate value="-441"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="78"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="950"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1194"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="370"/><YCoordinate value="-386"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="79"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="750"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1244"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord></LigatureAttach><LigatureAttach index="80"><ComponentRecord index="0"><LigatureAnchor index="0" Format="1"><XCoordinate value="750"/><YCoordinate value="1352"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="850"/><YCoordinate value="-133"/></LigatureAnchor></ComponentRecord><ComponentRecord index="1"><LigatureAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1194"/></LigatureAnchor><LigatureAnchor index="1" Format="1"><XCoordinate value="380"/><YCoordinate value="-210"/></LigatureAnchor></ComponentRecord></LigatureAttach></LigatureArray></MarkLigPos></Lookup><Lookup index="6"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><InputCoverage index="0" Format="2"><Glyph value="hamza"/><Glyph value="wawwithhamzaabove"/><Glyph value="arabicalef"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="waw"/><Glyph value="jeh"/><Glyph value="jehfinal"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="aleffinal"/><Glyph value="dalfinal"/><Glyph value="thalfinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/><Glyph value="wawfinal"/><Glyph value="lamwithalefisolated"/><Glyph value="lamwithaleffinal"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="kehehinitial"/><Glyph value="gafinitial"/><Glyph value="kafinitial"/></LookAheadCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="13"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="7"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/><Glyph value="jehfinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="jeem"/><Glyph value="hah"/><Glyph value="khah"/><Glyph value="ain"/><Glyph value="ghain"/><Glyph value="tcheh"/><Glyph value="tchehfinal"/><Glyph value="behwithalefmaksuraisolated"/><Glyph value="behwithyehisolated"/><Glyph value="tehwithyehisolated"/><Glyph value="fehwithalefmaksuraisolated"/><Glyph value="fehwithyehisolated"/><Glyph value="lamwithalefmaksuraisolated"/><Glyph value="lamwithyehisolated"/><Glyph value="noonwithalefmaksuraisolated"/><Glyph value="noonwithyehisolated"/><Glyph value="yehwithalefmaksuraisolated"/><Glyph value="jeemfinal"/><Glyph value="hahfinal"/><Glyph value="khahfinal"/><Glyph value="ainfinal"/><Glyph value="ghainfinal"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="14"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="8"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="wawfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="jeem"/><Glyph value="hah"/><Glyph value="khah"/><Glyph value="ain"/><Glyph value="ghain"/><Glyph value="tcheh"/><Glyph value="tchehfinal"/><Glyph value="jeemfinal"/><Glyph value="hahfinal"/><Glyph value="khahfinal"/><Glyph value="ainfinal"/><Glyph value="ghainfinal"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="15"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="9"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/><Glyph value="jehfinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="tehmarbuta"/><Glyph value="meem"/><Glyph value="behwithhehinitial"/><Glyph value="pehwithhehinitial"/><Glyph value="tehwithhehinitial"/><Glyph value="noonwithhehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="tehwithhahinitial"/><Glyph value="tehwithkhahinitial"/><Glyph value="tehwithmeeminitial"/><Glyph value="thehwithmeeminitial"/><Glyph value="meemwithmeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="noonwithhahinitial"/><Glyph value="noonwithkhahinitial"/><Glyph value="noonwithmeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="hehisolated"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="16"/></PosLookupRecord></ChainContextPos><ChainContextPos index="1" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/><Glyph value="jehfinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="tehmarbuta"/><Glyph value="meem"/><Glyph value="behwithhehinitial"/><Glyph value="pehwithhehinitial"/><Glyph value="tehwithhehinitial"/><Glyph value="noonwithhehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="tehwithhahinitial"/><Glyph value="tehwithkhahinitial"/><Glyph value="tehwithmeeminitial"/><Glyph value="thehwithmeeminitial"/><Glyph value="meemwithmeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="noonwithhahinitial"/><Glyph value="noonwithkhahinitial"/><Glyph value="noonwithmeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="hehisolated"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="16"/></PosLookupRecord></ChainContextPos><ChainContextPos index="2" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="reh"/><Glyph value="zain"/><Glyph value="jeh"/><Glyph value="jehfinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="tehmarbuta"/><Glyph value="meem"/><Glyph value="behwithhehinitial"/><Glyph value="pehwithhehinitial"/><Glyph value="tehwithhehinitial"/><Glyph value="noonwithhehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="tehwithhahinitial"/><Glyph value="tehwithkhahinitial"/><Glyph value="tehwithmeeminitial"/><Glyph value="thehwithmeeminitial"/><Glyph value="meemwithmeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="noonwithhahinitial"/><Glyph value="noonwithkhahinitial"/><Glyph value="noonwithmeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="hehisolated"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="16"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="10"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="wawfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="meem"/><Glyph value="pehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="17"/></PosLookupRecord></ChainContextPos><ChainContextPos index="1" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="wawfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="meem"/><Glyph value="pehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="17"/></PosLookupRecord></ChainContextPos><ChainContextPos index="2" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="wawwithhamzaabove"/><Glyph value="waw"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="wawfinal"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="meem"/><Glyph value="pehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></InputCoverage><InputCoverage index="1" Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="17"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="11"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="fathatan"/><Glyph value="dammatan"/><Glyph value="fatha"/><Glyph value="damma"/><Glyph value="shadda"/><Glyph value="sukun"/><Glyph value="superscriptalef"/><Glyph value="smallhighmadda"/><Glyph value="shaddawithfathaisolatedlow"/><Glyph value="shaddawithdammaisolatedlow"/><Glyph value="shaddawithfathatanisolatedlow"/><Glyph value="shaddawithdammatanisolatedlow"/><Glyph value="shaddawithkasraisolatedlow"/><Glyph value="shaddawithkasratanisolatedlow"/><Glyph value="fathaonhamza"/><Glyph value="fathatanonhamza"/><Glyph value="sukunonhamza"/><Glyph value="dammaonhamza"/><Glyph value="dammatanonhamza"/><Glyph value="uni0654"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1485"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1550"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1515"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="1480"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="130"/><YCoordinate value="1080"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="225"/><YCoordinate value="1330"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="295"/><YCoordinate value="1100"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="245"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="1130"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="255"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="265"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="275"/><YCoordinate value="1450"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1360"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="1880"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="1880"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="1750"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="1980"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1835"/></Mark2Anchor></Mark2Record><Mark2Record index="5"><Mark2Anchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1850"/></Mark2Anchor></Mark2Record><Mark2Record index="6"><Mark2Anchor index="0" Format="1"><XCoordinate value="70"/><YCoordinate value="1700"/></Mark2Anchor></Mark2Record><Mark2Record index="7"><Mark2Anchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="1530"/></Mark2Anchor></Mark2Record><Mark2Record index="8"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1600"/></Mark2Anchor></Mark2Record><Mark2Record index="9"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1850"/></Mark2Anchor></Mark2Record><Mark2Record index="10"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1750"/></Mark2Anchor></Mark2Record><Mark2Record index="11"><Mark2Anchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="1830"/></Mark2Anchor></Mark2Record><Mark2Record index="12"><Mark2Anchor index="0" Format="1"><XCoordinate value="245"/><YCoordinate value="1660"/></Mark2Anchor></Mark2Record><Mark2Record index="13"><Mark2Anchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="1730"/></Mark2Anchor></Mark2Record><Mark2Record index="14"><Mark2Anchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="1950"/></Mark2Anchor></Mark2Record><Mark2Record index="15"><Mark2Anchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="2050"/></Mark2Anchor></Mark2Record><Mark2Record index="16"><Mark2Anchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="2130"/></Mark2Anchor></Mark2Record><Mark2Record index="17"><Mark2Anchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="2100"/></Mark2Anchor></Mark2Record><Mark2Record index="18"><Mark2Anchor index="0" Format="1"><XCoordinate value="245"/><YCoordinate value="2100"/></Mark2Anchor></Mark2Record><Mark2Record index="19"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1730"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="12"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="240"/><YCoordinate value="-675"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="-990"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="-860"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="-370"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="-670"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="-530"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="13"><LookupType value="2"/><LookupFlag value="1"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="hamza"/><Glyph value="wawwithhamzaabove"/><Glyph value="arabicalef"/><Glyph value="dal"/><Glyph value="thal"/><Glyph value="reh"/><Glyph value="zain"/><Glyph value="waw"/><Glyph value="jeh"/><Glyph value="jehfinal"/><Glyph value="wawwithhamzaabovefinal"/><Glyph value="aleffinal"/><Glyph value="dalfinal"/><Glyph value="thalfinal"/><Glyph value="rehfinal"/><Glyph value="zainfinal"/><Glyph value="wawfinal"/><Glyph value="lamwithalefisolated"/><Glyph value="lamwithaleffinal"/></Coverage><ValueFormat1 value="0"/><ValueFormat2 value="7"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="-30" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="260" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="350" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="-50" YPlacement="100" XAdvance="50"/></PairValueRecord></PairSet><PairSet index="5"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="-125" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="6"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="7"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="-75" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="8"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="100" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="9"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="250" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="10"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="300" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="11"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="110" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="12"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="275" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="13"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="50" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="14"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="-100" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="15"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="400" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="16"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="-50" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="17"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="150" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="18"><PairValueRecord index="0"><SecondGlyph value="fathatan"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="dammatan"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="fatha"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="damma"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="shadda"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="sukun"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="superscriptalef"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="smallhighmadda"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="shaddawithfathaisolatedlow"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="shaddawithdammaisolatedlow"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="shaddawithfathatanisolatedlow"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="shaddawithdammatanisolatedlow"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="shaddawithkasraisolatedlow"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="shaddawithkasratanisolatedlow"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="fathaonhamza"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="fathatanonhamza"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="sukunonhamza"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="dammaonhamza"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="dammatanonhamza"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="uni0654"/><Value2 XPlacement="0" YPlacement="175" XAdvance="0"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="14"><LookupType value="2"/><LookupFlag value="1"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Coverage><ValueFormat1 value="7"/><ValueFormat2 value="0"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="jeemfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="hahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="khahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="ainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="ghainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="jeemfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="hahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="khahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="ainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="ghainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="jeemfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="hahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="khahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="ainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="ghainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="jeemfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="hahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="khahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="ainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="ghainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="behwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="behwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="tehwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="fehwithalefmaksuraisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="fehwithyehisolated"/><Value1 XPlacement="50" YPlacement="0" XAdvance="-50"/></PairValueRecord><PairValueRecord index="12"><SecondGlyph value="lamwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="13"><SecondGlyph value="lamwithyehisolated"/><Value1 XPlacement="75" YPlacement="0" XAdvance="-75"/></PairValueRecord><PairValueRecord index="14"><SecondGlyph value="noonwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="15"><SecondGlyph value="noonwithyehisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="16"><SecondGlyph value="yehwithalefmaksuraisolated"/><Value1 XPlacement="75" YPlacement="-50" XAdvance="-75"/></PairValueRecord><PairValueRecord index="17"><SecondGlyph value="jeemfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="18"><SecondGlyph value="hahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="19"><SecondGlyph value="khahfinal"/><Value1 XPlacement="0" YPlacement="-235" XAdvance="0"/></PairValueRecord><PairValueRecord index="20"><SecondGlyph value="ainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord><PairValueRecord index="21"><SecondGlyph value="ghainfinal"/><Value1 XPlacement="0" YPlacement="-250" XAdvance="0"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="15"><LookupType value="2"/><LookupFlag value="1"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="kasratan"/><Glyph value="kasra"/><Glyph value="uni0655"/><Glyph value="uni0655064D"/><Glyph value="uni06550650"/></Coverage><ValueFormat1 value="2"/><ValueFormat2 value="0"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="jeemfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="hahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="khahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="ainfinal"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="ghainfinal"/><Value1 YPlacement="-125"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="jeemfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="hahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="khahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="ainfinal"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="ghainfinal"/><Value1 YPlacement="-125"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="jeemfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="hahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="khahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="ainfinal"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="ghainfinal"/><Value1 YPlacement="-125"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="jeemfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="hahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="khahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="ainfinal"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="ghainfinal"/><Value1 YPlacement="-125"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="jeem"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="hah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="khah"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="ain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="ghain"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="5"><SecondGlyph value="tcheh"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="6"><SecondGlyph value="tchehfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="7"><SecondGlyph value="jeemfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="8"><SecondGlyph value="hahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="9"><SecondGlyph value="khahfinal"/><Value1 YPlacement="-75"/></PairValueRecord><PairValueRecord index="10"><SecondGlyph value="ainfinal"/><Value1 YPlacement="-125"/></PairValueRecord><PairValueRecord index="11"><SecondGlyph value="ghainfinal"/><Value1 YPlacement="-125"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="16"><LookupType value="2"/><LookupFlag value="1"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="tehmarbuta"/><Glyph value="meem"/><Glyph value="behwithhehinitial"/><Glyph value="pehwithhehinitial"/><Glyph value="tehwithhehinitial"/><Glyph value="noonwithhehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="tehwithhahinitial"/><Glyph value="tehwithkhahinitial"/><Glyph value="tehwithmeeminitial"/><Glyph value="thehwithmeeminitial"/><Glyph value="meemwithmeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="noonwithhahinitial"/><Glyph value="noonwithkhahinitial"/><Glyph value="noonwithmeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="hehisolated"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></Coverage><ValueFormat1 value="0"/><ValueFormat2 value="3"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-30" YPlacement="400"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-30" YPlacement="400"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-30" YPlacement="400"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-30" YPlacement="400"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-30" YPlacement="400"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-25" YPlacement="-250"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-25" YPlacement="-250"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-25" YPlacement="-250"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-25" YPlacement="-250"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-25" YPlacement="-250"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-25" YPlacement="-25"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-25" YPlacement="-25"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-25" YPlacement="-25"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-25" YPlacement="-25"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-25" YPlacement="-25"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord></PairSet><PairSet index="5"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="200"/></PairValueRecord></PairSet><PairSet index="6"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="7"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="8"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="9"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord></PairSet><PairSet index="10"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="11"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="12"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="13"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="14"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="15"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="50"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="50"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="50"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="50"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="50"/></PairValueRecord></PairSet><PairSet index="16"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="17"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="18"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="19"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="20"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="21"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="22"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-225"/></PairValueRecord></PairSet><PairSet index="23"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-100" YPlacement="-200"/></PairValueRecord></PairSet><PairSet index="24"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord></PairSet><PairSet index="25"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="100"/></PairValueRecord></PairSet><PairSet index="26"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-270"/></PairValueRecord></PairSet><PairSet index="27"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-80"/></PairValueRecord></PairSet><PairSet index="28"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord></PairSet><PairSet index="29"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord></PairSet><PairSet index="30"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-30" YPlacement="-90"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-30" YPlacement="-90"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-30" YPlacement="-90"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-30" YPlacement="-90"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-30" YPlacement="-90"/></PairValueRecord></PairSet><PairSet index="31"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-230"/></PairValueRecord></PairSet></PairPos></Lookup><Lookup index="17"><LookupType value="2"/><LookupFlag value="1"/><PairPos index="0" Format="1"><Coverage Format="2"><Glyph value="meem"/><Glyph value="pehinitial"/><Glyph value="behwithjeeminitial"/><Glyph value="behwithhahinitial"/><Glyph value="behwithkhahinitial"/><Glyph value="behwithmeeminitial"/><Glyph value="tehwithjeeminitial"/><Glyph value="noonwithjeeminitial"/><Glyph value="yehwithjeeminitial"/><Glyph value="yehwithhahinitial"/><Glyph value="yehwithkhahinitial"/><Glyph value="yehwithmeeminitial"/><Glyph value="behinitial"/><Glyph value="laminitial"/><Glyph value="yehinitial"/><Glyph value="lamwithalefmaddaaboveisolatedd"/><Glyph value="lamwithalefhamzaaboveisolatedd"/><Glyph value="lamwithalefhamzabelowisolated"/><Glyph value="lamwithalefisolated"/></Coverage><ValueFormat1 value="0"/><ValueFormat2 value="3"/><PairSet index="0"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="250"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="250"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="250"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="250"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="250"/></PairValueRecord></PairSet><PairSet index="1"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-50"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-50"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-50"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-50"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-50"/></PairValueRecord></PairSet><PairSet index="2"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord></PairSet><PairSet index="3"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord></PairSet><PairSet index="4"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord></PairSet><PairSet index="5"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord></PairSet><PairSet index="6"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord></PairSet><PairSet index="7"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="20"/></PairValueRecord></PairSet><PairSet index="8"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord></PairSet><PairSet index="9"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord></PairSet><PairSet index="10"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="10"/></PairValueRecord></PairSet><PairSet index="11"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-300"/></PairValueRecord></PairSet><PairSet index="12"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord></PairSet><PairSet index="13"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="25"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="25"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="25"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="25"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="25"/></PairValueRecord></PairSet><PairSet index="14"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="0" YPlacement="-130"/></PairValueRecord></PairSet><PairSet index="15"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord></PairSet><PairSet index="16"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord></PairSet><PairSet index="17"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-80" YPlacement="-150"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-80" YPlacement="-150"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-80" YPlacement="-150"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-80" YPlacement="-150"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-80" YPlacement="-150"/></PairValueRecord></PairSet><PairSet index="18"><PairValueRecord index="0"><SecondGlyph value="kasratan"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="1"><SecondGlyph value="kasra"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="2"><SecondGlyph value="uni0655"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="3"><SecondGlyph value="uni0655064D"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord><PairValueRecord index="4"><SecondGlyph value="uni06550650"/><Value2 XPlacement="-50" YPlacement="-280"/></PairValueRecord></PairSet></PairPos></Lookup></LookupList></GPOS></ttFont>
diff --git a/test/resources/complexscripts/arab/ttx/arab-003.ttx b/test/resources/complexscripts/arab/ttx/arab-003.ttx
new file mode 100644
index 0000000..57ba7da
--- /dev/null
+++ b/test/resources/complexscripts/arab/ttx/arab-003.ttx
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.2"><head><tableVersion value="1.0"/><fontRevision value="1.0"/><checkSumAdjustment value="0xf86c8c13"/><magicNumber value="0x5f0f3cf5"/><flags value="00000000 00011001"/><unitsPerEm value="2048"/><created value="Fri Jun  3 12:03:06 2005"/><modified value="Fri Jun  3 12:03:06 2005"/><xMin value="-1524"/><yMin value="-1021"/><xMax value="1792"/><yMax value="1928"/><macStyle value="00000000 00000000"/><lowestRecPPEM value="12"/><fontDirectionHint value="0"/><indexToLocFormat value="1"/><glyphDataFormat value="0"/></head><GlyphOrder><GlyphID id="0" name=".notdef"/><GlyphID id="1" name=".null"/><GlyphID id="2" name="nonmarkingreturn"/><GlyphID id="3" name="space"/><GlyphID id="4" name="uni0009"/><GlyphID id="5" name="exclam"/><GlyphID id="6" name="exclam.arab"/><GlyphID id="7" name="quotedbl"/><GlyphID id="8" name="numbersign"/><GlyphID id="9" name="dollar"/><GlyphID id="10" name="percent"/><GlyphID id="11" name="ampersand"/><GlyphID id="12" name="quotesingle"/><GlyphID id="13" name="parenleft"/><GlyphID id="14" name="parenright"/><GlyphID id="15" name="parenleft.arab"/><GlyphID id="16" name="parenright.arab"/><GlyphID id="17" name="asterisk"/><GlyphID id="18" name="asterisk.arab"/><GlyphID id="19" name="plus"/><GlyphID id="20" name="comma"/><GlyphID id="21" name="hyphen"/><GlyphID id="22" name="period"/><GlyphID id="23" name="slash"/><GlyphID id="24" name="zero"/><GlyphID id="25" name="one"/><GlyphID id="26" name="two"/><GlyphID id="27" name="three"/><GlyphID id="28" name="four"/><GlyphID id="29" name="five"/><GlyphID id="30" name="six"/><GlyphID id="31" name="seven"/><GlyphID id="32" name="eight"/><GlyphID id="33" name="nine"/><GlyphID id="34" name="colon"/><GlyphID id="35" name="colon.arab"/><GlyphID id="36" name="semicolon"/><GlyphID id="37" name="less"/><GlyphID id="38" name="equal"/><GlyphID id="39" name="greater"/><GlyphID id="40" name="question"/><GlyphID id="41" name="at"/><GlyphID id="42" name="A"/><GlyphID id="43" name="B"/><GlyphID id="44" name="C"/><GlyphID id="45" name="D"/><GlyphID id="46" name="E"/><GlyphID id="47" name="F"/><GlyphID id="48" name="G"/><GlyphID id="49" name="H"/><GlyphID id="50" name="I"/><GlyphID id="51" name="J"/><GlyphID id="52" name="K"/><GlyphID id="53" name="L"/><GlyphID id="54" name="M"/><GlyphID id="55" name="N"/><GlyphID id="56" name="O"/><GlyphID id="57" name="P"/><GlyphID id="58" name="Q"/><GlyphID id="59" name="R"/><GlyphID id="60" name="S"/><GlyphID id="61" name="T"/><GlyphID id="62" name="U"/><GlyphID id="63" name="V"/><GlyphID id="64" name="W"/><GlyphID id="65" name="X"/><GlyphID id="66" name="Y"/><GlyphID id="67" name="Z"/><GlyphID id="68" name="bracketleft"/><GlyphID id="69" name="backslash"/><GlyphID id="70" name="bracketright"/><GlyphID id="71" name="asciicircum"/><GlyphID id="72" name="underscore"/><GlyphID id="73" name="grave"/><GlyphID id="74" name="a"/><GlyphID id="75" name="b"/><GlyphID id="76" name="c"/><GlyphID id="77" name="d"/><GlyphID id="78" name="e"/><GlyphID id="79" name="f"/><GlyphID id="80" name="g"/><GlyphID id="81" name="h"/><GlyphID id="82" name="i"/><GlyphID id="83" name="j"/><GlyphID id="84" name="k"/><GlyphID id="85" name="l"/><GlyphID id="86" name="m"/><GlyphID id="87" name="n"/><GlyphID id="88" name="o"/><GlyphID id="89" name="p"/><GlyphID id="90" name="q"/><GlyphID id="91" name="r"/><GlyphID id="92" name="s"/><GlyphID id="93" name="t"/><GlyphID id="94" name="u"/><GlyphID id="95" name="v"/><GlyphID id="96" name="w"/><GlyphID id="97" name="x"/><GlyphID id="98" name="y"/><GlyphID id="99" name="z"/><GlyphID id="100" name="braceleft"/><GlyphID id="101" name="bar"/><GlyphID id="102" name="braceright"/><GlyphID id="103" name="asciitilde"/><GlyphID id="104" name="Euro"/><GlyphID id="105" name="quotesinglbase"/><GlyphID id="106" name="florin"/><GlyphID id="107" name="quotedblbase"/><GlyphID id="108" name="ellipsis"/><GlyphID id="109" name="dagger"/><GlyphID id="110" name="daggerdbl"/><GlyphID id="111" name="circumflex"/><GlyphID id="112" name="perthousand"/><GlyphID id="113" name="Scaron"/><GlyphID id="114" name="guilsinglleft"/><GlyphID id="115" name="guilsinglright"/><GlyphID id="116" name="OE"/><GlyphID id="117" name="Zcaron"/><GlyphID id="118" name="quoteleft"/><GlyphID id="119" name="quoteright"/><GlyphID id="120" name="quotedblleft"/><GlyphID id="121" name="quotedblright"/><GlyphID id="122" name="quoteleft.arab"/><GlyphID id="123" name="quoteright.arab"/><GlyphID id="124" name="quotedblleft.arab"/><GlyphID id="125" name="quotedblright.arab"/><GlyphID id="126" name="bullet"/><GlyphID id="127" name="endash"/><GlyphID id="128" name="emdash"/><GlyphID id="129" name="tilde"/><GlyphID id="130" name="trademark"/><GlyphID id="131" name="scaron"/><GlyphID id="132" name="oe"/><GlyphID id="133" name="zcaron"/><GlyphID id="134" name="Ydieresis"/><GlyphID id="135" name="uni00A0"/><GlyphID id="136" name="exclamdown"/><GlyphID id="137" name="cent"/><GlyphID id="138" name="sterling"/><GlyphID id="139" name="currency"/><GlyphID id="140" name="yen"/><GlyphID id="141" name="brokenbar"/><GlyphID id="142" name="section"/><GlyphID id="143" name="dieresis"/><GlyphID id="144" name="copyright"/><GlyphID id="145" name="ordfeminine"/><GlyphID id="146" name="guillemotleft"/><GlyphID id="147" name="guillemotright"/><GlyphID id="148" name="logicalnot"/><GlyphID id="149" name="sfthyphen"/><GlyphID id="150" name="registered"/><GlyphID id="151" name="macron"/><GlyphID id="152" name="uni02C9"/><GlyphID id="153" name="degree"/><GlyphID id="154" name="plusminus"/><GlyphID id="155" name="twosuperior"/><GlyphID id="156" name="threesuperior"/><GlyphID id="157" name="acute"/><GlyphID id="158" name="mu"/><GlyphID id="159" name="paragraph"/><GlyphID id="160" name="periodcentered"/><GlyphID id="161" name="uni2219"/><GlyphID id="162" name="cedilla"/><GlyphID id="163" name="onesuperior"/><GlyphID id="164" name="ordmasculine"/><GlyphID id="165" name="onequarter"/><GlyphID id="166" name="onehalf"/><GlyphID id="167" name="threequarters"/><GlyphID id="168" name="questiondown"/><GlyphID id="169" name="Agrave"/><GlyphID id="170" name="Aacute"/><GlyphID id="171" name="Acircumflex"/><GlyphID id="172" name="Atilde"/><GlyphID id="173" name="Adieresis"/><GlyphID id="174" name="Aring"/><GlyphID id="175" name="AE"/><GlyphID id="176" name="Ccedilla"/><GlyphID id="177" name="Egrave"/><GlyphID id="178" name="Eacute"/><GlyphID id="179" name="Ecircumflex"/><GlyphID id="180" name="Edieresis"/><GlyphID id="181" name="Igrave"/><GlyphID id="182" name="Iacute"/><GlyphID id="183" name="Icircumflex"/><GlyphID id="184" name="Idieresis"/><GlyphID id="185" name="Eth"/><GlyphID id="186" name="Ntilde"/><GlyphID id="187" name="Ograve"/><GlyphID id="188" name="Oacute"/><GlyphID id="189" name="Ocircumflex"/><GlyphID id="190" name="Otilde"/><GlyphID id="191" name="Odieresis"/><GlyphID id="192" name="multiply"/><GlyphID id="193" name="Oslash"/><GlyphID id="194" name="Ugrave"/><GlyphID id="195" name="Uacute"/><GlyphID id="196" name="Ucircumflex"/><GlyphID id="197" name="Udieresis"/><GlyphID id="198" name="Yacute"/><GlyphID id="199" name="Thorn"/><GlyphID id="200" name="germandbls"/><GlyphID id="201" name="agrave"/><GlyphID id="202" name="aacute"/><GlyphID id="203" name="acircumflex"/><GlyphID id="204" name="atilde"/><GlyphID id="205" name="adieresis"/><GlyphID id="206" name="aring"/><GlyphID id="207" name="ae"/><GlyphID id="208" name="ccedilla"/><GlyphID id="209" name="egrave"/><GlyphID id="210" name="eacute"/><GlyphID id="211" name="ecircumflex"/><GlyphID id="212" name="edieresis"/><GlyphID id="213" name="igrave"/><GlyphID id="214" name="iacute"/><GlyphID id="215" name="icircumflex"/><GlyphID id="216" name="idieresis"/><GlyphID id="217" name="eth"/><GlyphID id="218" name="ntilde"/><GlyphID id="219" name="ograve"/><GlyphID id="220" name="oacute"/><GlyphID id="221" name="ocircumflex"/><GlyphID id="222" name="otilde"/><GlyphID id="223" name="odieresis"/><GlyphID id="224" name="divide"/><GlyphID id="225" name="oslash"/><GlyphID id="226" name="ugrave"/><GlyphID id="227" name="uacute"/><GlyphID id="228" name="ucircumflex"/><GlyphID id="229" name="udieresis"/><GlyphID id="230" name="yacute"/><GlyphID id="231" name="thorn"/><GlyphID id="232" name="ydieresis"/><GlyphID id="233" name="dotlessi"/><GlyphID id="234" name="uni2000"/><GlyphID id="235" name="uni2001"/><GlyphID id="236" name="uni2002"/><GlyphID id="237" name="uni2003"/><GlyphID id="238" name="uni2004"/><GlyphID id="239" name="uni2005"/><GlyphID id="240" name="uni2006"/><GlyphID id="241" name="uni2007"/><GlyphID id="242" name="uni2008"/><GlyphID id="243" name="uni2009"/><GlyphID id="244" name="uni200A"/><GlyphID id="245" name="uni200B"/><GlyphID id="246" name="uni200C"/><GlyphID id="247" name="uni200D"/><GlyphID id="248" name="uni200E"/><GlyphID id="249" name="uni200F"/><GlyphID id="250" name="uni2010"/><GlyphID id="251" name="uni2011"/><GlyphID id="252" name="uni202A"/><GlyphID id="253" name="uni202B"/><GlyphID id="254" name="uni202C"/><GlyphID id="255" name="uni202D"/><GlyphID id="256" name="uni202E"/><GlyphID id="257" name="uni2060"/><GlyphID id="258" name="uni206C"/><GlyphID id="259" name="uni206D"/><GlyphID id="260" name="minus"/><GlyphID id="261" name="uni25CC"/><GlyphID id="262" name="uniFEFF"/><GlyphID id="263" name="uni0622"/><GlyphID id="264" name="uni0623"/><GlyphID id="265" name="uni0625"/><GlyphID id="266" name="uni0627"/><GlyphID id="267" name="uni0672"/><GlyphID id="268" name="uni0673"/><GlyphID id="269" name="uni0675"/><GlyphID id="270" name="uni0671"/><GlyphID id="271" name="uni0624"/><GlyphID id="272" name="uni0648"/><GlyphID id="273" name="uni0676"/><GlyphID id="274" name="uni0677"/><GlyphID id="275" name="uni06C4"/><GlyphID id="276" name="uni06C5"/><GlyphID id="277" name="uni06C6"/><GlyphID id="278" name="uni06C7"/><GlyphID id="279" name="uni06C8"/><GlyphID id="280" name="uni06C9"/><GlyphID id="281" name="uni06CA"/><GlyphID id="282" name="uni06CB"/><GlyphID id="283" name="uni06CF"/><GlyphID id="284" name="absWawDotBelow"/><GlyphID id="285" name="uni062F"/><GlyphID id="286" name="uni0630"/><GlyphID id="287" name="uni0688"/><GlyphID id="288" name="uni0689"/><GlyphID id="289" name="uni068A"/><GlyphID id="290" name="uni068B"/><GlyphID id="291" name="uni068C"/><GlyphID id="292" name="uni068D"/><GlyphID id="293" name="uni068E"/><GlyphID id="294" name="uni068F"/><GlyphID id="295" name="uni0690"/><GlyphID id="296" name="uni06EE"/><GlyphID id="297" name="uni0759"/><GlyphID id="298" name="uni075A"/><GlyphID id="299" name="uni0631"/><GlyphID id="300" name="uni0632"/><GlyphID id="301" name="uni0691"/><GlyphID id="302" name="uni0692"/><GlyphID id="303" name="uni0693"/><GlyphID id="304" name="uni0694"/><GlyphID id="305" name="uni0695"/><GlyphID id="306" name="uni0696"/><GlyphID id="307" name="uni0697"/><GlyphID id="308" name="uni0698"/><GlyphID id="309" name="uni0699"/><GlyphID id="310" name="uni076B"/><GlyphID id="311" name="uni076C"/><GlyphID id="312" name="absJehRetro1"/><GlyphID id="313" name="absJehRetro2"/><GlyphID id="314" name="uni0698.dotHat"/><GlyphID id="315" name="uni06EF"/><GlyphID id="316" name="uni075B"/><GlyphID id="317" name="uni06D2"/><GlyphID id="318" name="uni06D3"/><GlyphID id="319" name="uni0626"/><GlyphID id="320" name="uni064A"/><GlyphID id="321" name="uni064A.noDots"/><GlyphID id="322" name="uni0678"/><GlyphID id="323" name="uni06CC"/><GlyphID id="324" name="uni06CE"/><GlyphID id="325" name="uni06D0"/><GlyphID id="326" name="uni06D1"/><GlyphID id="327" name="uni06CD"/><GlyphID id="328" name="uni0649"/><GlyphID id="329" name="uni066E"/><GlyphID id="330" name="uni0628"/><GlyphID id="331" name="uni062A"/><GlyphID id="332" name="uni062B"/><GlyphID id="333" name="uni0679"/><GlyphID id="334" name="uni067A"/><GlyphID id="335" name="uni067B"/><GlyphID id="336" name="uni067C"/><GlyphID id="337" name="uni067D"/><GlyphID id="338" name="uni067E"/><GlyphID id="339" name="uni067F"/><GlyphID id="340" name="uni0680"/><GlyphID id="341" name="uni0750"/><GlyphID id="342" name="uni0751"/><GlyphID id="343" name="uni0752"/><GlyphID id="344" name="uni0753"/><GlyphID id="345" name="uni0754"/><GlyphID id="346" name="uni0755"/><GlyphID id="347" name="uni0756"/><GlyphID id="348" name="uni062C"/><GlyphID id="349" name="uni062D"/><GlyphID id="350" name="uni062E"/><GlyphID id="351" name="uni0681"/><GlyphID id="352" name="uni0682"/><GlyphID id="353" name="uni0683"/><GlyphID id="354" name="uni0684"/><GlyphID id="355" name="uni0685"/><GlyphID id="356" name="uni0686"/><GlyphID id="357" name="uni0687"/><GlyphID id="358" name="uni06BF"/><GlyphID id="359" name="absTchehRetro1"/><GlyphID id="360" name="absTchehRetro2"/><GlyphID id="361" name="absJeemRetro1"/><GlyphID id="362" name="absJeemRetro2"/><GlyphID id="363" name="absJeemRetro3"/><GlyphID id="364" name="uni0757"/><GlyphID id="365" name="uni0758"/><GlyphID id="366" name="uni0633"/><GlyphID id="367" name="uni0634"/><GlyphID id="368" name="uni069A"/><GlyphID id="369" name="uni069B"/><GlyphID id="370" name="uni069C"/><GlyphID id="371" name="uni06FA"/><GlyphID id="372" name="absSheenRetro1"/><GlyphID id="373" name="absSheenRetro2"/><GlyphID id="374" name="uni075C"/><GlyphID id="375" name="uni076D"/><GlyphID id="376" name="uni0635"/><GlyphID id="377" name="uni0636"/><GlyphID id="378" name="uni069D"/><GlyphID id="379" name="uni069E"/><GlyphID id="380" name="uni06FB"/><GlyphID id="381" name="uni0637"/><GlyphID id="382" name="uni0638"/><GlyphID id="383" name="uni069F"/><GlyphID id="384" name="uni0639"/><GlyphID id="385" name="uni063A"/><GlyphID id="386" name="uni06A0"/><GlyphID id="387" name="uni06FC"/><GlyphID id="388" name="uni075D"/><GlyphID id="389" name="uni075E"/><GlyphID id="390" name="uni075F"/><GlyphID id="391" name="uni0641"/><GlyphID id="392" name="uni06A1"/><GlyphID id="393" name="uni06A2"/><GlyphID id="394" name="uni06A3"/><GlyphID id="395" name="uni06A4"/><GlyphID id="396" name="uni06A5"/><GlyphID id="397" name="uni06A6"/><GlyphID id="398" name="uni0760"/><GlyphID id="399" name="uni0761"/><GlyphID id="400" name="uni066F"/><GlyphID id="401" name="uni0642"/><GlyphID id="402" name="uni06A7"/><GlyphID id="403" name="uni06A8"/><GlyphID id="404" name="uni0643"/><GlyphID id="405" name="uni06AC"/><GlyphID id="406" name="uni06AD"/><GlyphID id="407" name="uni06AE"/><GlyphID id="408" name="uni06A9"/><GlyphID id="409" name="uni06AB"/><GlyphID id="410" name="uni06AF"/><GlyphID id="411" name="uni06B0"/><GlyphID id="412" name="uni06B1"/><GlyphID id="413" name="uni06B2"/><GlyphID id="414" name="uni06B3"/><GlyphID id="415" name="uni06B4"/><GlyphID id="416" name="uni0762"/><GlyphID id="417" name="uni0763"/><GlyphID id="418" name="uni0764"/><GlyphID id="419" name="uni06AA"/><GlyphID id="420" name="uni0644"/><GlyphID id="421" name="uni06B5"/><GlyphID id="422" name="uni06B6"/><GlyphID id="423" name="uni06B7"/><GlyphID id="424" name="uni06B8"/><GlyphID id="425" name="absLamRetro"/><GlyphID id="426" name="uni076A"/><GlyphID id="427" name="uni0645"/><GlyphID id="428" name="uni0645.sindhi"/><GlyphID id="429" name="uni0765"/><GlyphID id="430" name="uni0766"/><GlyphID id="431" name="uni0646"/><GlyphID id="432" name="uni06B9"/><GlyphID id="433" name="uni06BA"/><GlyphID id="434" name="uni06BB"/><GlyphID id="435" name="uni06BC"/><GlyphID id="436" name="uni06BD"/><GlyphID id="437" name="uni0767"/><GlyphID id="438" name="uni0768"/><GlyphID id="439" name="uni0769"/><GlyphID id="440" name="uni06BE"/><GlyphID id="441" name="uni06FF"/><GlyphID id="442" name="uni0647"/><GlyphID id="443" name="uni0647.knotted"/><GlyphID id="444" name="uni06D5"/><GlyphID id="445" name="uni0629"/><GlyphID id="446" name="uni06C0"/><GlyphID id="447" name="uni06C1"/><GlyphID id="448" name="uni06C2"/><GlyphID id="449" name="uni06C3"/><GlyphID id="450" name="uni0621"/><GlyphID id="451" name="uni06FD"/><GlyphID id="452" name="uni06FE"/><GlyphID id="453" name="uni0640"/><GlyphID id="454" name="uni06440627"/><GlyphID id="455" name="uni06B50627"/><GlyphID id="456" name="uni06B60627"/><GlyphID id="457" name="uni06B70627"/><GlyphID id="458" name="uni06B80627"/><GlyphID id="459" name="absLamRetroAlef"/><GlyphID id="460" name="uni076A0627"/><GlyphID id="461" name="uni0622.fina"/><GlyphID id="462" name="uni0623.fina"/><GlyphID id="463" name="uni0625.fina"/><GlyphID id="464" name="uni0627.fina"/><GlyphID id="465" name="uni0672.fina"/><GlyphID id="466" name="uni0673.fina"/><GlyphID id="467" name="uni0675.fina"/><GlyphID id="468" name="uni0671.fina"/><GlyphID id="469" name="uni0624.fina"/><GlyphID id="470" name="uni0648.fina"/><GlyphID id="471" name="uni0676.fina"/><GlyphID id="472" name="uni0677.fina"/><GlyphID id="473" name="uni06C4.fina"/><GlyphID id="474" name="uni06C5.fina"/><GlyphID id="475" name="uni06C6.fina"/><GlyphID id="476" name="uni06C7.fina"/><GlyphID id="477" name="uni06C8.fina"/><GlyphID id="478" name="uni06C9.fina"/><GlyphID id="479" name="uni06CA.fina"/><GlyphID id="480" name="uni06CB.fina"/><GlyphID id="481" name="uni06CF.fina"/><GlyphID id="482" name="absWawDotBelowFin"/><GlyphID id="483" name="uni062F.fina"/><GlyphID id="484" name="uni0630.fina"/><GlyphID id="485" name="uni0688.fina"/><GlyphID id="486" name="uni0689.fina"/><GlyphID id="487" name="uni068A.fina"/><GlyphID id="488" name="uni068B.fina"/><GlyphID id="489" name="uni068C.fina"/><GlyphID id="490" name="uni068D.fina"/><GlyphID id="491" name="uni068E.fina"/><GlyphID id="492" name="uni068F.fina"/><GlyphID id="493" name="uni0690.fina"/><GlyphID id="494" name="uni06EE.fina"/><GlyphID id="495" name="uni0759.fina"/><GlyphID id="496" name="uni075A.fina"/><GlyphID id="497" name="uni0631.fina"/><GlyphID id="498" name="uni0632.fina"/><GlyphID id="499" name="uni0691.fina"/><GlyphID id="500" name="uni0692.fina"/><GlyphID id="501" name="uni0693.fina"/><GlyphID id="502" name="uni0694.fina"/><GlyphID id="503" name="uni0695.fina"/><GlyphID id="504" name="uni0696.fina"/><GlyphID id="505" name="uni0697.fina"/><GlyphID id="506" name="uni0698.fina"/><GlyphID id="507" name="uni0699.fina"/><GlyphID id="508" name="uni076B.fina"/><GlyphID id="509" name="uni076C.fina"/><GlyphID id="510" name="absJehRetro1Fin"/><GlyphID id="511" name="absJehRetro2Fin"/><GlyphID id="512" name="uni0698.fina.dotHat"/><GlyphID id="513" name="uni06EF.fina"/><GlyphID id="514" name="uni075B.fina"/><GlyphID id="515" name="uni06D2.fina"/><GlyphID id="516" name="uni06D3.fina"/><GlyphID id="517" name="uni0626.fina"/><GlyphID id="518" name="uni064A.fina"/><GlyphID id="519" name="uni064A.fina.noDots"/><GlyphID id="520" name="uni0678.fina"/><GlyphID id="521" name="uni06CC.fina"/><GlyphID id="522" name="uni06CE.fina"/><GlyphID id="523" name="uni06D0.fina"/><GlyphID id="524" name="uni06D1.fina"/><GlyphID id="525" name="uni06CD.fina"/><GlyphID id="526" name="uni0649.fina"/><GlyphID id="527" name="uni066E.fina"/><GlyphID id="528" name="uni0628.fina"/><GlyphID id="529" name="uni062A.fina"/><GlyphID id="530" name="uni062B.fina"/><GlyphID id="531" name="uni0679.fina"/><GlyphID id="532" name="uni067A.fina"/><GlyphID id="533" name="uni067B.fina"/><GlyphID id="534" name="uni067C.fina"/><GlyphID id="535" name="uni067D.fina"/><GlyphID id="536" name="uni067E.fina"/><GlyphID id="537" name="uni067F.fina"/><GlyphID id="538" name="uni0680.fina"/><GlyphID id="539" name="uni0750.fina"/><GlyphID id="540" name="uni0751.fina"/><GlyphID id="541" name="uni0752.fina"/><GlyphID id="542" name="uni0753.fina"/><GlyphID id="543" name="uni0754.fina"/><GlyphID id="544" name="uni0755.fina"/><GlyphID id="545" name="uni0756.fina"/><GlyphID id="546" name="uni062C.fina"/><GlyphID id="547" name="uni062D.fina"/><GlyphID id="548" name="uni062E.fina"/><GlyphID id="549" name="uni0681.fina"/><GlyphID id="550" name="uni0682.fina"/><GlyphID id="551" name="uni0683.fina"/><GlyphID id="552" name="uni0684.fina"/><GlyphID id="553" name="uni0685.fina"/><GlyphID id="554" name="uni0686.fina"/><GlyphID id="555" name="uni0687.fina"/><GlyphID id="556" name="uni06BF.fina"/><GlyphID id="557" name="absTchehRetro1Fin"/><GlyphID id="558" name="absTchehRetro2Fin"/><GlyphID id="559" name="absJeemRetro1Fin"/><GlyphID id="560" name="absJeemRetro2Fin"/><GlyphID id="561" name="absJeemRetro3Fin"/><GlyphID id="562" name="uni0757.fina"/><GlyphID id="563" name="uni0758.fina"/><GlyphID id="564" name="uni0633.fina"/><GlyphID id="565" name="uni0634.fina"/><GlyphID id="566" name="uni069A.fina"/><GlyphID id="567" name="uni069B.fina"/><GlyphID id="568" name="uni069C.fina"/><GlyphID id="569" name="uni06FA.fina"/><GlyphID id="570" name="absSheenRetro1Fin"/><GlyphID id="571" name="absSheenRetro2Fin"/><GlyphID id="572" name="uni075C.fina"/><GlyphID id="573" name="uni076D.fina"/><GlyphID id="574" name="uni0635.fina"/><GlyphID id="575" name="uni0636.fina"/><GlyphID id="576" name="uni069D.fina"/><GlyphID id="577" name="uni069E.fina"/><GlyphID id="578" name="uni06FB.fina"/><GlyphID id="579" name="uni0637.fina"/><GlyphID id="580" name="uni0638.fina"/><GlyphID id="581" name="uni069F.fina"/><GlyphID id="582" name="uni0639.fina"/><GlyphID id="583" name="uni063A.fina"/><GlyphID id="584" name="uni06A0.fina"/><GlyphID id="585" name="uni06FC.fina"/><GlyphID id="586" name="uni075D.fina"/><GlyphID id="587" name="uni075E.fina"/><GlyphID id="588" name="uni075F.fina"/><GlyphID id="589" name="uni0641.fina"/><GlyphID id="590" name="uni06A1.fina"/><GlyphID id="591" name="uni06A2.fina"/><GlyphID id="592" name="uni06A3.fina"/><GlyphID id="593" name="uni06A4.fina"/><GlyphID id="594" name="uni06A5.fina"/><GlyphID id="595" name="uni06A6.fina"/><GlyphID id="596" name="uni0760.fina"/><GlyphID id="597" name="uni0761.fina"/><GlyphID id="598" name="uni066F.fina"/><GlyphID id="599" name="uni0642.fina"/><GlyphID id="600" name="uni06A7.fina"/><GlyphID id="601" name="uni06A8.fina"/><GlyphID id="602" name="uni0643.fina"/><GlyphID id="603" name="uni06AC.fina"/><GlyphID id="604" name="uni06AD.fina"/><GlyphID id="605" name="uni06AE.fina"/><GlyphID id="606" name="uni06A9.fina"/><GlyphID id="607" name="uni06AB.fina"/><GlyphID id="608" name="uni06AF.fina"/><GlyphID id="609" name="uni06B0.fina"/><GlyphID id="610" name="uni06B1.fina"/><GlyphID id="611" name="uni06B2.fina"/><GlyphID id="612" name="uni06B3.fina"/><GlyphID id="613" name="uni06B4.fina"/><GlyphID id="614" name="uni0762.fina"/><GlyphID id="615" name="uni0763.fina"/><GlyphID id="616" name="uni0764.fina"/><GlyphID id="617" name="uni06AA.fina"/><GlyphID id="618" name="uni0644.fina"/><GlyphID id="619" name="uni06B5.fina"/><GlyphID id="620" name="uni06B6.fina"/><GlyphID id="621" name="uni06B7.fina"/><GlyphID id="622" name="uni06B8.fina"/><GlyphID id="623" name="absLamRetroFin"/><GlyphID id="624" name="uni076A.fina"/><GlyphID id="625" name="uni0645.fina"/><GlyphID id="626" name="uni0645.fina.sindhi"/><GlyphID id="627" name="uni0765.fina"/><GlyphID id="628" name="uni0766.fina"/><GlyphID id="629" name="uni0646.fina"/><GlyphID id="630" name="uni06B9.fina"/><GlyphID id="631" name="uni06BA.fina"/><GlyphID id="632" name="uni06BB.fina"/><GlyphID id="633" name="uni06BC.fina"/><GlyphID id="634" name="uni06BD.fina"/><GlyphID id="635" name="uni0767.fina"/><GlyphID id="636" name="uni0768.fina"/><GlyphID id="637" name="uni0769.fina"/><GlyphID id="638" name="uni06BE.fina"/><GlyphID id="639" name="uni06FF.fina"/><GlyphID id="640" name="uni0647.fina"/><GlyphID id="641" name="uni0647.fina.knottedFlat"/><GlyphID id="642" name="uni0647.fina.knottedHigh"/><GlyphID id="643" name="uni0647.fina.hooked"/><GlyphID id="644" name="uni06D5.fina"/><GlyphID id="645" name="uni0629.fina"/><GlyphID id="646" name="uni06C0.fina"/><GlyphID id="647" name="uni06C1.fina"/><GlyphID id="648" name="uni06C2.fina"/><GlyphID id="649" name="uni06C3.fina"/><GlyphID id="650" name="uni06440627.fina"/><GlyphID id="651" name="uni06B50627.fina"/><GlyphID id="652" name="uni06B60627.fina"/><GlyphID id="653" name="uni06B70627.fina"/><GlyphID id="654" name="uni06B80627.fina"/><GlyphID id="655" name="absLamRetroAlefFin"/><GlyphID id="656" name="uni076A0627.fina"/><GlyphID id="657" name="uni0626.medi"/><GlyphID id="658" name="uni064A.medi"/><GlyphID id="659" name="uni064A.medi.noDots"/><GlyphID id="660" name="uni0678.medi"/><GlyphID id="661" name="uni06CC.medi"/><GlyphID id="662" name="uni06CE.medi"/><GlyphID id="663" name="uni06D0.medi"/><GlyphID id="664" name="uni06D1.medi"/><GlyphID id="665" name="uni0649.medi"/><GlyphID id="666" name="uni066E.medi"/><GlyphID id="667" name="uni0628.medi"/><GlyphID id="668" name="uni062A.medi"/><GlyphID id="669" name="uni062B.medi"/><GlyphID id="670" name="uni0679.medi"/><GlyphID id="671" name="uni067A.medi"/><GlyphID id="672" name="uni067B.medi"/><GlyphID id="673" name="uni067C.medi"/><GlyphID id="674" name="uni067D.medi"/><GlyphID id="675" name="uni067E.medi"/><GlyphID id="676" name="uni067F.medi"/><GlyphID id="677" name="uni0680.medi"/><GlyphID id="678" name="uni0750.medi"/><GlyphID id="679" name="uni0751.medi"/><GlyphID id="680" name="uni0752.medi"/><GlyphID id="681" name="uni0753.medi"/><GlyphID id="682" name="uni0754.medi"/><GlyphID id="683" name="uni0755.medi"/><GlyphID id="684" name="uni0756.medi"/><GlyphID id="685" name="uni062C.medi"/><GlyphID id="686" name="uni062D.medi"/><GlyphID id="687" name="uni062E.medi"/><GlyphID id="688" name="uni0681.medi"/><GlyphID id="689" name="uni0682.medi"/><GlyphID id="690" name="uni0683.medi"/><GlyphID id="691" name="uni0684.medi"/><GlyphID id="692" name="uni0685.medi"/><GlyphID id="693" name="uni0686.medi"/><GlyphID id="694" name="uni0687.medi"/><GlyphID id="695" name="uni06BF.medi"/><GlyphID id="696" name="absTchehRetro1Med"/><GlyphID id="697" name="absTchehRetro2Med"/><GlyphID id="698" name="absJeemRetro1Med"/><GlyphID id="699" name="absJeemRetro2Med"/><GlyphID id="700" name="absJeemRetro3Med"/><GlyphID id="701" name="uni0757.medi"/><GlyphID id="702" name="uni0758.medi"/><GlyphID id="703" name="uni0633.medi"/><GlyphID id="704" name="uni0634.medi"/><GlyphID id="705" name="uni069A.medi"/><GlyphID id="706" name="uni069B.medi"/><GlyphID id="707" name="uni069C.medi"/><GlyphID id="708" name="uni06FA.medi"/><GlyphID id="709" name="absSheenRetro1Med"/><GlyphID id="710" name="absSheenRetro2Med"/><GlyphID id="711" name="uni075C.medi"/><GlyphID id="712" name="uni076D.medi"/><GlyphID id="713" name="uni0635.medi"/><GlyphID id="714" name="uni0636.medi"/><GlyphID id="715" name="uni069D.medi"/><GlyphID id="716" name="uni069E.medi"/><GlyphID id="717" name="uni06FB.medi"/><GlyphID id="718" name="uni0637.medi"/><GlyphID id="719" name="uni0638.medi"/><GlyphID id="720" name="uni069F.medi"/><GlyphID id="721" name="uni0639.medi"/><GlyphID id="722" name="uni063A.medi"/><GlyphID id="723" name="uni06A0.medi"/><GlyphID id="724" name="uni06FC.medi"/><GlyphID id="725" name="uni075D.medi"/><GlyphID id="726" name="uni075E.medi"/><GlyphID id="727" name="uni075F.medi"/><GlyphID id="728" name="uni0641.medi"/><GlyphID id="729" name="uni06A1.medi"/><GlyphID id="730" name="uni06A2.medi"/><GlyphID id="731" name="uni06A3.medi"/><GlyphID id="732" name="uni06A4.medi"/><GlyphID id="733" name="uni06A5.medi"/><GlyphID id="734" name="uni06A6.medi"/><GlyphID id="735" name="uni0760.medi"/><GlyphID id="736" name="uni0761.medi"/><GlyphID id="737" name="uni066F.medi"/><GlyphID id="738" name="uni0642.medi"/><GlyphID id="739" name="uni06A7.medi"/><GlyphID id="740" name="uni06A8.medi"/><GlyphID id="741" name="uni0643.medi"/><GlyphID id="742" name="uni06AC.medi"/><GlyphID id="743" name="uni06AD.medi"/><GlyphID id="744" name="uni06AE.medi"/><GlyphID id="745" name="uni06A9.medi"/><GlyphID id="746" name="uni06AB.medi"/><GlyphID id="747" name="uni06AF.medi"/><GlyphID id="748" name="uni06B0.medi"/><GlyphID id="749" name="uni06B1.medi"/><GlyphID id="750" name="uni06B2.medi"/><GlyphID id="751" name="uni06B3.medi"/><GlyphID id="752" name="uni06B4.medi"/><GlyphID id="753" name="uni0762.medi"/><GlyphID id="754" name="uni0763.medi"/><GlyphID id="755" name="uni0764.medi"/><GlyphID id="756" name="uni06AA.medi"/><GlyphID id="757" name="uni0644.medi"/><GlyphID id="758" name="uni06B5.medi"/><GlyphID id="759" name="uni06B6.medi"/><GlyphID id="760" name="uni06B7.medi"/><GlyphID id="761" name="uni06B8.medi"/><GlyphID id="762" name="absLamRetroMed"/><GlyphID id="763" name="uni076A.medi"/><GlyphID id="764" name="uni0645.medi"/><GlyphID id="765" name="uni0765.medi"/><GlyphID id="766" name="uni0766.medi"/><GlyphID id="767" name="uni0646.medi"/><GlyphID id="768" name="uni06B9.medi"/><GlyphID id="769" name="uni06BA.medi"/><GlyphID id="770" name="uni06BB.medi"/><GlyphID id="771" name="uni06BC.medi"/><GlyphID id="772" name="uni06BD.medi"/><GlyphID id="773" name="uni0767.medi"/><GlyphID id="774" name="uni0768.medi"/><GlyphID id="775" name="uni0769.medi"/><GlyphID id="776" name="uni06BE.medi"/><GlyphID id="777" name="uni06FF.medi"/><GlyphID id="778" name="uni0647.medi"/><GlyphID id="779" name="uni0647.medi.hooked"/><GlyphID id="780" name="uni0647.medi.knottedHigh"/><GlyphID id="781" name="uni06C0.medi"/><GlyphID id="782" name="uni06C1.medi"/><GlyphID id="783" name="uni06C2.medi"/><GlyphID id="784" name="uni0626.init"/><GlyphID id="785" name="uni064A.init"/><GlyphID id="786" name="uni064A.init.noDots"/><GlyphID id="787" name="uni0678.init"/><GlyphID id="788" name="uni06CC.init"/><GlyphID id="789" name="uni06CE.init"/><GlyphID id="790" name="uni06D0.init"/><GlyphID id="791" name="uni06D1.init"/><GlyphID id="792" name="uni0649.init"/><GlyphID id="793" name="uni066E.init"/><GlyphID id="794" name="uni0628.init"/><GlyphID id="795" name="uni062A.init"/><GlyphID id="796" name="uni062B.init"/><GlyphID id="797" name="uni0679.init"/><GlyphID id="798" name="uni067A.init"/><GlyphID id="799" name="uni067B.init"/><GlyphID id="800" name="uni067C.init"/><GlyphID id="801" name="uni067D.init"/><GlyphID id="802" name="uni067E.init"/><GlyphID id="803" name="uni067F.init"/><GlyphID id="804" name="uni0680.init"/><GlyphID id="805" name="uni0750.init"/><GlyphID id="806" name="uni0751.init"/><GlyphID id="807" name="uni0752.init"/><GlyphID id="808" name="uni0753.init"/><GlyphID id="809" name="uni0754.init"/><GlyphID id="810" name="uni0755.init"/><GlyphID id="811" name="uni0756.init"/><GlyphID id="812" name="uni062C.init"/><GlyphID id="813" name="uni062D.init"/><GlyphID id="814" name="uni062E.init"/><GlyphID id="815" name="uni0681.init"/><GlyphID id="816" name="uni0682.init"/><GlyphID id="817" name="uni0683.init"/><GlyphID id="818" name="uni0684.init"/><GlyphID id="819" name="uni0685.init"/><GlyphID id="820" name="uni0686.init"/><GlyphID id="821" name="uni0687.init"/><GlyphID id="822" name="uni06BF.init"/><GlyphID id="823" name="absTchehRetro1Ini"/><GlyphID id="824" name="absTchehRetro2Ini"/><GlyphID id="825" name="absJeemRetro1Ini"/><GlyphID id="826" name="absJeemRetro2Ini"/><GlyphID id="827" name="absJeemRetro3Ini"/><GlyphID id="828" name="uni0757.init"/><GlyphID id="829" name="uni0758.init"/><GlyphID id="830" name="uni0633.init"/><GlyphID id="831" name="uni0634.init"/><GlyphID id="832" name="uni069A.init"/><GlyphID id="833" name="uni069B.init"/><GlyphID id="834" name="uni069C.init"/><GlyphID id="835" name="uni06FA.init"/><GlyphID id="836" name="absSheenRetro1Ini"/><GlyphID id="837" name="absSheenRetro2Ini"/><GlyphID id="838" name="uni075C.init"/><GlyphID id="839" name="uni076D.init"/><GlyphID id="840" name="uni0635.init"/><GlyphID id="841" name="uni0636.init"/><GlyphID id="842" name="uni069D.init"/><GlyphID id="843" name="uni069E.init"/><GlyphID id="844" name="uni06FB.init"/><GlyphID id="845" name="uni0637.init"/><GlyphID id="846" name="uni0638.init"/><GlyphID id="847" name="uni069F.init"/><GlyphID id="848" name="uni0639.init"/><GlyphID id="849" name="uni063A.init"/><GlyphID id="850" name="uni06A0.init"/><GlyphID id="851" name="uni06FC.init"/><GlyphID id="852" name="uni075D.init"/><GlyphID id="853" name="uni075E.init"/><GlyphID id="854" name="uni075F.init"/><GlyphID id="855" name="uni0641.init"/><GlyphID id="856" name="uni06A1.init"/><GlyphID id="857" name="uni06A2.init"/><GlyphID id="858" name="uni06A3.init"/><GlyphID id="859" name="uni06A4.init"/><GlyphID id="860" name="uni06A5.init"/><GlyphID id="861" name="uni06A6.init"/><GlyphID id="862" name="uni0760.init"/><GlyphID id="863" name="uni0761.init"/><GlyphID id="864" name="uni066F.init"/><GlyphID id="865" name="uni0642.init"/><GlyphID id="866" name="uni06A7.init"/><GlyphID id="867" name="uni06A8.init"/><GlyphID id="868" name="uni0643.init"/><GlyphID id="869" name="uni06AC.init"/><GlyphID id="870" name="uni06AD.init"/><GlyphID id="871" name="uni06AE.init"/><GlyphID id="872" name="uni06A9.init"/><GlyphID id="873" name="uni06AB.init"/><GlyphID id="874" name="uni06AF.init"/><GlyphID id="875" name="uni06B0.init"/><GlyphID id="876" name="uni06B1.init"/><GlyphID id="877" name="uni06B2.init"/><GlyphID id="878" name="uni06B3.init"/><GlyphID id="879" name="uni06B4.init"/><GlyphID id="880" name="uni0762.init"/><GlyphID id="881" name="uni0763.init"/><GlyphID id="882" name="uni0764.init"/><GlyphID id="883" name="uni06AA.init"/><GlyphID id="884" name="uni0644.init"/><GlyphID id="885" name="uni06B5.init"/><GlyphID id="886" name="uni06B6.init"/><GlyphID id="887" name="uni06B7.init"/><GlyphID id="888" name="uni06B8.init"/><GlyphID id="889" name="absLamRetroIni"/><GlyphID id="890" name="uni076A.init"/><GlyphID id="891" name="uni0645.init"/><GlyphID id="892" name="uni0765.init"/><GlyphID id="893" name="uni0766.init"/><GlyphID id="894" name="uni0646.init"/><GlyphID id="895" name="uni06B9.init"/><GlyphID id="896" name="uni06BA.init"/><GlyphID id="897" name="uni06BB.init"/><GlyphID id="898" name="uni06BC.init"/><GlyphID id="899" name="uni06BD.init"/><GlyphID id="900" name="uni0767.init"/><GlyphID id="901" name="uni0768.init"/><GlyphID id="902" name="uni0769.init"/><GlyphID id="903" name="uni06BE.init"/><GlyphID id="904" name="uni06FF.init"/><GlyphID id="905" name="uni0647.init"/><GlyphID id="906" name="uni0647.init.hooked"/><GlyphID id="907" name="uni06C0.init"/><GlyphID id="908" name="uni06C1.init"/><GlyphID id="909" name="uni06C2.init"/><GlyphID id="910" name="uni0674"/><GlyphID id="911" name="uni06E5"/><GlyphID id="912" name="uni06E6"/><GlyphID id="913" name="uni064B"/><GlyphID id="914" name="uni064C"/><GlyphID id="915" name="uni064D"/><GlyphID id="916" name="uni064E"/><GlyphID id="917" name="uni064F"/><GlyphID id="918" name="uni0650"/><GlyphID id="919" name="uni0651"/><GlyphID id="920" name="uni0652"/><GlyphID id="921" name="uni0653"/><GlyphID id="922" name="uni0654"/><GlyphID id="923" name="uni0655"/><GlyphID id="924" name="uni0656"/><GlyphID id="925" name="uni0657"/><GlyphID id="926" name="uni0658"/><GlyphID id="927" name="uni0659"/><GlyphID id="928" name="uni065A"/><GlyphID id="929" name="uni065B"/><GlyphID id="930" name="uni065C"/><GlyphID id="931" name="uni065D"/><GlyphID id="932" name="uni065E"/><GlyphID id="933" name="uni0670"/><GlyphID id="934" name="uni0670.large"/><GlyphID id="935" name="uni06D6"/><GlyphID id="936" name="uni06D7"/><GlyphID id="937" name="uni06D8"/><GlyphID id="938" name="uni06D9"/><GlyphID id="939" name="uni06DA"/><GlyphID id="940" name="uni06DB"/><GlyphID id="941" name="uni06DC"/><GlyphID id="942" name="uni06DF"/><GlyphID id="943" name="uni06E0"/><GlyphID id="944" name="uni06E1"/><GlyphID id="945" name="uni06E2"/><GlyphID id="946" name="uni06E3"/><GlyphID id="947" name="uni06E4"/><GlyphID id="948" name="uni06E7"/><GlyphID id="949" name="uni06E8"/><GlyphID id="950" name="uni06EA"/><GlyphID id="951" name="uni06EB"/><GlyphID id="952" name="uni06EC"/><GlyphID id="953" name="uni06ED"/><GlyphID id="954" name="uni060C"/><GlyphID id="955" name="uni060C.downward"/><GlyphID id="956" name="uni0614"/><GlyphID id="957" name="uni061B"/><GlyphID id="958" name="uni061B.downward"/><GlyphID id="959" name="uni061E"/><GlyphID id="960" name="uni061F"/><GlyphID id="961" name="uni066A"/><GlyphID id="962" name="uni066B"/><GlyphID id="963" name="uni066C"/><GlyphID id="964" name="uni066D"/><GlyphID id="965" name="uni06D4"/><GlyphID id="966" name="uni06DD"/><GlyphID id="967" name="uni06DE"/><GlyphID id="968" name="uni06E9"/><GlyphID id="969" name="uniFD3E"/><GlyphID id="970" name="uniFD3F"/><GlyphID id="971" name="uniFDF2"/><GlyphID id="972" name="uniFDFC"/><GlyphID id="973" name="uni0660"/><GlyphID id="974" name="uni0661"/><GlyphID id="975" name="uni0662"/><GlyphID id="976" name="uni0663"/><GlyphID id="977" name="uni0664"/><GlyphID id="978" name="uni0665"/><GlyphID id="979" name="uni0666"/><GlyphID id="980" name="uni0667"/><GlyphID id="981" name="uni0668"/><GlyphID id="982" name="uni0669"/><GlyphID id="983" name="uni06F0"/><GlyphID id="984" name="uni06F1"/><GlyphID id="985" name="uni06F2"/><GlyphID id="986" name="uni06F3"/><GlyphID id="987" name="uni06F4"/><GlyphID id="988" name="uni06F4.urdu"/><GlyphID id="989" name="uni06F5"/><GlyphID id="990" name="uni06F6"/><GlyphID id="991" name="uni06F6.urdu"/><GlyphID id="992" name="uni06F7"/><GlyphID id="993" name="uni06F7.urdu"/><GlyphID id="994" name="uni06F8"/><GlyphID id="995" name="uni06F9"/><GlyphID id="996" name="zeroMedium"/><GlyphID id="997" name="oneMedium"/><GlyphID id="998" name="twoMedium"/><GlyphID id="999" name="threeMedium"/><GlyphID id="1000" name="fourMedium"/><GlyphID id="1001" name="fiveMedium"/><GlyphID id="1002" name="sixMedium"/><GlyphID id="1003" name="sevenMedium"/><GlyphID id="1004" name="eightMedium"/><GlyphID id="1005" name="nineMedium"/><GlyphID id="1006" name="uni0660.Medium"/><GlyphID id="1007" name="uni0661.Medium"/><GlyphID id="1008" name="uni0662.Medium"/><GlyphID id="1009" name="uni0663.Medium"/><GlyphID id="1010" name="uni0664.Medium"/><GlyphID id="1011" name="uni0665.Medium"/><GlyphID id="1012" name="uni0666.Medium"/><GlyphID id="1013" name="uni0667.Medium"/><GlyphID id="1014" name="uni0668.Medium"/><GlyphID id="1015" name="uni0669.Medium"/><GlyphID id="1016" name="uni06F0.Medium"/><GlyphID id="1017" name="uni06F1.Medium"/><GlyphID id="1018" name="uni06F2.Medium"/><GlyphID id="1019" name="uni06F3.Medium"/><GlyphID id="1020" name="uni06F4.Medium"/><GlyphID id="1021" name="uni06F4.Medium.urdu"/><GlyphID id="1022" name="uni06F5.Medium"/><GlyphID id="1023" name="uni06F6.Medium"/><GlyphID id="1024" name="uni06F6.Medium.urdu"/><GlyphID id="1025" name="uni06F7.Medium"/><GlyphID id="1026" name="uni06F7.Medium.urdu"/><GlyphID id="1027" name="uni06F8.Medium"/><GlyphID id="1028" name="uni06F9.Medium"/><GlyphID id="1029" name="zeroSmall"/><GlyphID id="1030" name="oneSmall"/><GlyphID id="1031" name="twoSmall"/><GlyphID id="1032" name="threeSmall"/><GlyphID id="1033" name="fourSmall"/><GlyphID id="1034" name="fiveSmall"/><GlyphID id="1035" name="sixSmall"/><GlyphID id="1036" name="sevenSmall"/><GlyphID id="1037" name="eightSmall"/><GlyphID id="1038" name="nineSmall"/><GlyphID id="1039" name="uni0660.Small"/><GlyphID id="1040" name="uni0661.Small"/><GlyphID id="1041" name="uni0662.Small"/><GlyphID id="1042" name="uni0663.Small"/><GlyphID id="1043" name="uni0664.Small"/><GlyphID id="1044" name="uni0665.Small"/><GlyphID id="1045" name="uni0666.Small"/><GlyphID id="1046" name="uni0667.Small"/><GlyphID id="1047" name="uni0668.Small"/><GlyphID id="1048" name="uni0669.Small"/><GlyphID id="1049" name="uni06F0.Small"/><GlyphID id="1050" name="uni06F1.Small"/><GlyphID id="1051" name="uni06F2.Small"/><GlyphID id="1052" name="uni06F3.Small"/><GlyphID id="1053" name="uni06F4.Small"/><GlyphID id="1054" name="uni06F4.Small.urdu"/><GlyphID id="1055" name="uni06F5.Small"/><GlyphID id="1056" name="uni06F6.Small"/><GlyphID id="1057" name="uni06F6.Small.urdu"/><GlyphID id="1058" name="uni06F7.Small"/><GlyphID id="1059" name="uni06F7.Small.urdu"/><GlyphID id="1060" name="uni06F8.Small"/><GlyphID id="1061" name="uni06F9.Small"/><GlyphID id="1062" name="uni06DD.aat1"/><GlyphID id="1063" name="uni06DD.aat2"/><GlyphID id="1064" name="uni06DD.aat3"/><GlyphID id="1065" name="uni06DD.sp1"/><GlyphID id="1066" name="uni06DD.sp2"/><GlyphID id="1067" name="uni06DD.sp3"/><GlyphID id="1068" name="uni0651064B"/><GlyphID id="1069" name="uni0651064C"/><GlyphID id="1070" name="uni0651064D"/><GlyphID id="1071" name="uni0651064E"/><GlyphID id="1072" name="uni0651064F"/><GlyphID id="1073" name="uni06510650"/><GlyphID id="1074" name="uni0654064E"/><GlyphID id="1075" name="uni0654064F"/><GlyphID id="1076" name="absShaddaAlef"/><GlyphID id="1077" name="uni0652.leftOpen"/><GlyphID id="1078" name="uni0652.downOpen"/><GlyphID id="1079" name="uni064C.sixNine"/><GlyphID id="1080" name="absAutoKashida"/><GlyphID id="1081" name="caron"/><GlyphID id="1082" name="_dot1"/><GlyphID id="1083" name="_dot1_tah"/><GlyphID id="1084" name="_dot1_smallV"/><GlyphID id="1085" name="_dot1_hat"/><GlyphID id="1086" name="_dot2h"/><GlyphID id="1087" name="_dot2h_tah"/><GlyphID id="1088" name="_dot2v"/><GlyphID id="1089" name="_dot3d"/><GlyphID id="1090" name="_dot3u"/><GlyphID id="1091" name="_dot3u_tah"/><GlyphID id="1092" name="_dot4"/><GlyphID id="1093" name="_tah"/><GlyphID id="1094" name="_hamza"/><GlyphID id="1095" name="_highHamza"/><GlyphID id="1096" name="_wavyHamza"/><GlyphID id="1097" name="_wavyHamza.b"/><GlyphID id="1098" name="_wasla"/><GlyphID id="1099" name="_madda"/><GlyphID id="1100" name="_gafBar"/><GlyphID id="1101" name="_gafBar_dot2h"/><GlyphID id="1102" name="_gafBar_dot3u"/><GlyphID id="1103" name="_hook"/><GlyphID id="1104" name="_ring"/><GlyphID id="1105" name="_hat"/><GlyphID id="1106" name="_bar"/><GlyphID id="1107" name="_vline"/><GlyphID id="1108" name="_lines"/><GlyphID id="1109" name="_smallV"/><GlyphID id="1110" name="_damma"/><GlyphID id="1111" name="_hamzaDamma"/><GlyphID id="1112" name="ring"/><GlyphID id="1113" name="_invSmallV"/><GlyphID id="1114" name="_dot3h"/><GlyphID id="1115" name="uni06DD.2"/><GlyphID id="1116" name="uni06DD.3"/><GlyphID id="1117" name="uni0644.init.preAlef"/><GlyphID id="1118" name="uni06B5.init.preAlef"/><GlyphID id="1119" name="uni06B6.init.preAlef"/><GlyphID id="1120" name="uni06B7.init.preAlef"/><GlyphID id="1121" name="uni06B8.init.preAlef"/><GlyphID id="1122" name="absLamRetroIni.preAlef"/><GlyphID id="1123" name="uni076A.init.preAlef"/><GlyphID id="1124" name="uni0622.fina.postLamIni"/><GlyphID id="1125" name="uni0623.fina.postLamIni"/><GlyphID id="1126" name="uni0625.fina.postLamIni"/><GlyphID id="1127" name="uni0627.fina.postLamIni"/><GlyphID id="1128" name="uni0672.fina.postLamIni"/><GlyphID id="1129" name="uni0673.fina.postLamIni"/><GlyphID id="1130" name="uni0675.fina.postLamIni"/><GlyphID id="1131" name="uni0671.fina.postLamIni"/><GlyphID id="1132" name="uni0644.medi.preAlef"/><GlyphID id="1133" name="uni06B5.medi.preAlef"/><GlyphID id="1134" name="uni06B6.medi.preAlef"/><GlyphID id="1135" name="uni06B7.medi.preAlef"/><GlyphID id="1136" name="uni06B8.medi.preAlef"/><GlyphID id="1137" name="absLamRetroMed.preAlef"/><GlyphID id="1138" name="uni076A.medi.preAlef"/><GlyphID id="1139" name="uni0622.fina.postLamMed"/><GlyphID id="1140" name="uni0623.fina.postLamMed"/><GlyphID id="1141" name="uni0625.fina.postLamMed"/><GlyphID id="1142" name="uni0627.fina.postLamMed"/><GlyphID id="1143" name="uni0672.fina.postLamMed"/><GlyphID id="1144" name="uni0673.fina.postLamMed"/><GlyphID id="1145" name="uni0675.fina.postLamMed"/><GlyphID id="1146" name="uni0671.fina.postLamMed"/></GlyphOrder><cmap><tableVersion version="0"/><cmap_format_4 platformID="3" platEncID="1" language="0"><map code="0x9" name="uni0009"/><map code="0x20" name="space"/><map code="0x21" name="exclam.arab"/><map code="0x22" name="quotedbl"/><map code="0x23" name="numbersign"/><map code="0x24" name="dollar"/><map code="0x25" name="percent"/><map code="0x26" name="ampersand"/><map code="0x27" name="quotesingle"/><map code="0x28" name="parenleft.arab"/><map code="0x29" name="parenright.arab"/><map code="0x2a" name="asterisk.arab"/><map code="0x2b" name="plus"/><map code="0x2c" name="comma"/><map code="0x2d" name="hyphen"/><map code="0x2e" name="period"/><map code="0x2f" name="slash"/><map code="0x30" name="zero"/><map code="0x31" name="one"/><map code="0x32" name="two"/><map code="0x33" name="three"/><map code="0x34" name="four"/><map code="0x35" name="five"/><map code="0x36" name="six"/><map code="0x37" name="seven"/><map code="0x38" name="eight"/><map code="0x39" name="nine"/><map code="0x3a" name="colon.arab"/><map code="0x3b" name="semicolon"/><map code="0x3c" name="less"/><map code="0x3d" name="equal"/><map code="0x3e" name="greater"/><map code="0x3f" name="question"/><map code="0x40" name="at"/><map code="0x41" name="A"/><map code="0x42" name="B"/><map code="0x43" name="C"/><map code="0x44" name="D"/><map code="0x45" name="E"/><map code="0x46" name="F"/><map code="0x47" name="G"/><map code="0x48" name="H"/><map code="0x49" name="I"/><map code="0x4a" name="J"/><map code="0x4b" name="K"/><map code="0x4c" name="L"/><map code="0x4d" name="M"/><map code="0x4e" name="N"/><map code="0x4f" name="O"/><map code="0x50" name="P"/><map code="0x51" name="Q"/><map code="0x52" name="R"/><map code="0x53" name="S"/><map code="0x54" name="T"/><map code="0x55" name="U"/><map code="0x56" name="V"/><map code="0x57" name="W"/><map code="0x58" name="X"/><map code="0x59" name="Y"/><map code="0x5a" name="Z"/><map code="0x5b" name="bracketleft"/><map code="0x5c" name="backslash"/><map code="0x5d" name="bracketright"/><map code="0x5e" name="asciicircum"/><map code="0x5f" name="underscore"/><map code="0x60" name="grave"/><map code="0x61" name="a"/><map code="0x62" name="b"/><map code="0x63" name="c"/><map code="0x64" name="d"/><map code="0x65" name="e"/><map code="0x66" name="f"/><map code="0x67" name="g"/><map code="0x68" name="h"/><map code="0x69" name="i"/><map code="0x6a" name="j"/><map code="0x6b" name="k"/><map code="0x6c" name="l"/><map code="0x6d" name="m"/><map code="0x6e" name="n"/><map code="0x6f" name="o"/><map code="0x70" name="p"/><map code="0x71" name="q"/><map code="0x72" name="r"/><map code="0x73" name="s"/><map code="0x74" name="t"/><map code="0x75" name="u"/><map code="0x76" name="v"/><map code="0x77" name="w"/><map code="0x78" name="x"/><map code="0x79" name="y"/><map code="0x7a" name="z"/><map code="0x7b" name="braceleft"/><map code="0x7c" name="bar"/><map code="0x7d" name="braceright"/><map code="0x7e" name="asciitilde"/><map code="0xa0" name="uni00A0"/><map code="0xa1" name="exclamdown"/><map code="0xa2" name="cent"/><map code="0xa3" name="sterling"/><map code="0xa4" name="currency"/><map code="0xa5" name="yen"/><map code="0xa6" name="brokenbar"/><map code="0xa7" name="section"/><map code="0xa8" name="dieresis"/><map code="0xa9" name="copyright"/><map code="0xaa" name="ordfeminine"/><map code="0xab" name="guillemotleft"/><map code="0xac" name="logicalnot"/><map code="0xad" name="sfthyphen"/><map code="0xae" name="registered"/><map code="0xaf" name="macron"/><map code="0xb0" name="degree"/><map code="0xb1" name="plusminus"/><map code="0xb2" name="twosuperior"/><map code="0xb3" name="threesuperior"/><map code="0xb4" name="acute"/><map code="0xb5" name="mu"/><map code="0xb6" name="paragraph"/><map code="0xb7" name="periodcentered"/><map code="0xb8" name="cedilla"/><map code="0xb9" name="onesuperior"/><map code="0xba" name="ordmasculine"/><map code="0xbb" name="guillemotright"/><map code="0xbc" name="onequarter"/><map code="0xbd" name="onehalf"/><map code="0xbe" name="threequarters"/><map code="0xbf" name="questiondown"/><map code="0xc0" name="Agrave"/><map code="0xc1" name="Aacute"/><map code="0xc2" name="Acircumflex"/><map code="0xc3" name="Atilde"/><map code="0xc4" name="Adieresis"/><map code="0xc5" name="Aring"/><map code="0xc6" name="AE"/><map code="0xc7" name="Ccedilla"/><map code="0xc8" name="Egrave"/><map code="0xc9" name="Eacute"/><map code="0xca" name="Ecircumflex"/><map code="0xcb" name="Edieresis"/><map code="0xcc" name="Igrave"/><map code="0xcd" name="Iacute"/><map code="0xce" name="Icircumflex"/><map code="0xcf" name="Idieresis"/><map code="0xd0" name="Eth"/><map code="0xd1" name="Ntilde"/><map code="0xd2" name="Ograve"/><map code="0xd3" name="Oacute"/><map code="0xd4" name="Ocircumflex"/><map code="0xd5" name="Otilde"/><map code="0xd6" name="Odieresis"/><map code="0xd7" name="multiply"/><map code="0xd8" name="Oslash"/><map code="0xd9" name="Ugrave"/><map code="0xda" name="Uacute"/><map code="0xdb" name="Ucircumflex"/><map code="0xdc" name="Udieresis"/><map code="0xdd" name="Yacute"/><map code="0xde" name="Thorn"/><map code="0xdf" name="germandbls"/><map code="0xe0" name="agrave"/><map code="0xe1" name="aacute"/><map code="0xe2" name="acircumflex"/><map code="0xe3" name="atilde"/><map code="0xe4" name="adieresis"/><map code="0xe5" name="aring"/><map code="0xe6" name="ae"/><map code="0xe7" name="ccedilla"/><map code="0xe8" name="egrave"/><map code="0xe9" name="eacute"/><map code="0xea" name="ecircumflex"/><map code="0xeb" name="edieresis"/><map code="0xec" name="igrave"/><map code="0xed" name="iacute"/><map code="0xee" name="icircumflex"/><map code="0xef" name="idieresis"/><map code="0xf0" name="eth"/><map code="0xf1" name="ntilde"/><map code="0xf2" name="ograve"/><map code="0xf3" name="oacute"/><map code="0xf4" name="ocircumflex"/><map code="0xf5" name="otilde"/><map code="0xf6" name="odieresis"/><map code="0xf7" name="divide"/><map code="0xf8" name="oslash"/><map code="0xf9" name="ugrave"/><map code="0xfa" name="uacute"/><map code="0xfb" name="ucircumflex"/><map code="0xfc" name="udieresis"/><map code="0xfd" name="yacute"/><map code="0xfe" name="thorn"/><map code="0xff" name="ydieresis"/><map code="0x131" name="dotlessi"/><map code="0x152" name="OE"/><map code="0x153" name="oe"/><map code="0x160" name="Scaron"/><map code="0x161" name="scaron"/><map code="0x178" name="Ydieresis"/><map code="0x17d" name="Zcaron"/><map code="0x17e" name="zcaron"/><map code="0x192" name="florin"/><map code="0x2c6" name="circumflex"/><map code="0x2c7" name="caron"/><map code="0x2c9" name="uni02C9"/><map code="0x2da" name="ring"/><map code="0x2dc" name="tilde"/><map code="0x3bc" name="mu"/><map code="0x60c" name="uni060C"/><map code="0x614" name="uni0614"/><map code="0x61b" name="uni061B"/><map code="0x61e" name="uni061E"/><map code="0x61f" name="uni061F"/><map code="0x621" name="uni0621"/><map code="0x622" name="uni0622"/><map code="0x623" name="uni0623"/><map code="0x624" name="uni0624"/><map code="0x625" name="uni0625"/><map code="0x626" name="uni0626"/><map code="0x627" name="uni0627"/><map code="0x628" name="uni0628"/><map code="0x629" name="uni0629"/><map code="0x62a" name="uni062A"/><map code="0x62b" name="uni062B"/><map code="0x62c" name="uni062C"/><map code="0x62d" name="uni062D"/><map code="0x62e" name="uni062E"/><map code="0x62f" name="uni062F"/><map code="0x630" name="uni0630"/><map code="0x631" name="uni0631"/><map code="0x632" name="uni0632"/><map code="0x633" name="uni0633"/><map code="0x634" name="uni0634"/><map code="0x635" name="uni0635"/><map code="0x636" name="uni0636"/><map code="0x637" name="uni0637"/><map code="0x638" name="uni0638"/><map code="0x639" name="uni0639"/><map code="0x63a" name="uni063A"/><map code="0x640" name="uni0640"/><map code="0x641" name="uni0641"/><map code="0x642" name="uni0642"/><map code="0x643" name="uni0643"/><map code="0x644" name="uni0644"/><map code="0x645" name="uni0645"/><map code="0x646" name="uni0646"/><map code="0x647" name="uni0647"/><map code="0x648" name="uni0648"/><map code="0x649" name="uni0649"/><map code="0x64a" name="uni064A"/><map code="0x64b" name="uni064B"/><map code="0x64c" name="uni064C"/><map code="0x64d" name="uni064D"/><map code="0x64e" name="uni064E"/><map code="0x64f" name="uni064F"/><map code="0x650" name="uni0650"/><map code="0x651" name="uni0651"/><map code="0x652" name="uni0652"/><map code="0x653" name="uni0653"/><map code="0x654" name="uni0654"/><map code="0x655" name="uni0655"/><map code="0x656" name="uni0656"/><map code="0x657" name="uni0657"/><map code="0x658" name="uni0658"/><map code="0x659" name="uni0659"/><map code="0x65a" name="uni065A"/><map code="0x65b" name="uni065B"/><map code="0x65c" name="uni065C"/><map code="0x65d" name="uni065D"/><map code="0x65e" name="uni065E"/><map code="0x660" name="uni0660"/><map code="0x661" name="uni0661"/><map code="0x662" name="uni0662"/><map code="0x663" name="uni0663"/><map code="0x664" name="uni0664"/><map code="0x665" name="uni0665"/><map code="0x666" name="uni0666"/><map code="0x667" name="uni0667"/><map code="0x668" name="uni0668"/><map code="0x669" name="uni0669"/><map code="0x66a" name="uni066A"/><map code="0x66b" name="uni066B"/><map code="0x66c" name="uni066C"/><map code="0x66d" name="uni066D"/><map code="0x66e" name="uni066E"/><map code="0x66f" name="uni066F"/><map code="0x670" name="uni0670"/><map code="0x671" name="uni0671"/><map code="0x672" name="uni0672"/><map code="0x673" name="uni0673"/><map code="0x674" name="uni0674"/><map code="0x675" name="uni0675"/><map code="0x676" name="uni0676"/><map code="0x677" name="uni0677"/><map code="0x678" name="uni0678"/><map code="0x679" name="uni0679"/><map code="0x67a" name="uni067A"/><map code="0x67b" name="uni067B"/><map code="0x67c" name="uni067C"/><map code="0x67d" name="uni067D"/><map code="0x67e" name="uni067E"/><map code="0x67f" name="uni067F"/><map code="0x680" name="uni0680"/><map code="0x681" name="uni0681"/><map code="0x682" name="uni0682"/><map code="0x683" name="uni0683"/><map code="0x684" name="uni0684"/><map code="0x685" name="uni0685"/><map code="0x686" name="uni0686"/><map code="0x687" name="uni0687"/><map code="0x688" name="uni0688"/><map code="0x689" name="uni0689"/><map code="0x68a" name="uni068A"/><map code="0x68b" name="uni068B"/><map code="0x68c" name="uni068C"/><map code="0x68d" name="uni068D"/><map code="0x68e" name="uni068E"/><map code="0x68f" name="uni068F"/><map code="0x690" name="uni0690"/><map code="0x691" name="uni0691"/><map code="0x692" name="uni0692"/><map code="0x693" name="uni0693"/><map code="0x694" name="uni0694"/><map code="0x695" name="uni0695"/><map code="0x696" name="uni0696"/><map code="0x697" name="uni0697"/><map code="0x698" name="uni0698"/><map code="0x699" name="uni0699"/><map code="0x69a" name="uni069A"/><map code="0x69b" name="uni069B"/><map code="0x69c" name="uni069C"/><map code="0x69d" name="uni069D"/><map code="0x69e" name="uni069E"/><map code="0x69f" name="uni069F"/><map code="0x6a0" name="uni06A0"/><map code="0x6a1" name="uni06A1"/><map code="0x6a2" name="uni06A2"/><map code="0x6a3" name="uni06A3"/><map code="0x6a4" name="uni06A4"/><map code="0x6a5" name="uni06A5"/><map code="0x6a6" name="uni06A6"/><map code="0x6a7" name="uni06A7"/><map code="0x6a8" name="uni06A8"/><map code="0x6a9" name="uni06A9"/><map code="0x6aa" name="uni06AA"/><map code="0x6ab" name="uni06AB"/><map code="0x6ac" name="uni06AC"/><map code="0x6ad" name="uni06AD"/><map code="0x6ae" name="uni06AE"/><map code="0x6af" name="uni06AF"/><map code="0x6b0" name="uni06B0"/><map code="0x6b1" name="uni06B1"/><map code="0x6b2" name="uni06B2"/><map code="0x6b3" name="uni06B3"/><map code="0x6b4" name="uni06B4"/><map code="0x6b5" name="uni06B5"/><map code="0x6b6" name="uni06B6"/><map code="0x6b7" name="uni06B7"/><map code="0x6b8" name="uni06B8"/><map code="0x6b9" name="uni06B9"/><map code="0x6ba" name="uni06BA"/><map code="0x6bb" name="uni06BB"/><map code="0x6bc" name="uni06BC"/><map code="0x6bd" name="uni06BD"/><map code="0x6be" name="uni06BE"/><map code="0x6bf" name="uni06BF"/><map code="0x6c0" name="uni06C0"/><map code="0x6c1" name="uni06C1"/><map code="0x6c2" name="uni06C2"/><map code="0x6c3" name="uni06C3"/><map code="0x6c4" name="uni06C4"/><map code="0x6c5" name="uni06C5"/><map code="0x6c6" name="uni06C6"/><map code="0x6c7" name="uni06C7"/><map code="0x6c8" name="uni06C8"/><map code="0x6c9" name="uni06C9"/><map code="0x6ca" name="uni06CA"/><map code="0x6cb" name="uni06CB"/><map code="0x6cc" name="uni06CC"/><map code="0x6cd" name="uni06CD"/><map code="0x6ce" name="uni06CE"/><map code="0x6cf" name="uni06CF"/><map code="0x6d0" name="uni06D0"/><map code="0x6d1" name="uni06D1"/><map code="0x6d2" name="uni06D2"/><map code="0x6d3" name="uni06D3"/><map code="0x6d4" name="uni06D4"/><map code="0x6d5" name="uni06D5"/><map code="0x6d6" name="uni06D6"/><map code="0x6d7" name="uni06D7"/><map code="0x6d8" name="uni06D8"/><map code="0x6d9" name="uni06D9"/><map code="0x6da" name="uni06DA"/><map code="0x6db" name="uni06DB"/><map code="0x6dc" name="uni06DC"/><map code="0x6dd" name="uni06DD"/><map code="0x6de" name="uni06DE"/><map code="0x6df" name="uni06DF"/><map code="0x6e0" name="uni06E0"/><map code="0x6e1" name="uni06E1"/><map code="0x6e2" name="uni06E2"/><map code="0x6e3" name="uni06E3"/><map code="0x6e4" name="uni06E4"/><map code="0x6e5" name="uni06E5"/><map code="0x6e6" name="uni06E6"/><map code="0x6e7" name="uni06E7"/><map code="0x6e8" name="uni06E8"/><map code="0x6e9" name="uni06E9"/><map code="0x6ea" name="uni06EA"/><map code="0x6eb" name="uni06EB"/><map code="0x6ec" name="uni06EC"/><map code="0x6ed" name="uni06ED"/><map code="0x6ee" name="uni06EE"/><map code="0x6ef" name="uni06EF"/><map code="0x6f0" name="uni06F0"/><map code="0x6f1" name="uni06F1"/><map code="0x6f2" name="uni06F2"/><map code="0x6f3" name="uni06F3"/><map code="0x6f4" name="uni06F4"/><map code="0x6f5" name="uni06F5"/><map code="0x6f6" name="uni06F6"/><map code="0x6f7" name="uni06F7"/><map code="0x6f8" name="uni06F8"/><map code="0x6f9" name="uni06F9"/><map code="0x6fa" name="uni06FA"/><map code="0x6fb" name="uni06FB"/><map code="0x6fc" name="uni06FC"/><map code="0x6fd" name="uni06FD"/><map code="0x6fe" name="uni06FE"/><map code="0x6ff" name="uni06FF"/><map code="0x750" name="uni0750"/><map code="0x751" name="uni0751"/><map code="0x752" name="uni0752"/><map code="0x753" name="uni0753"/><map code="0x754" name="uni0754"/><map code="0x755" name="uni0755"/><map code="0x756" name="uni0756"/><map code="0x757" name="uni0757"/><map code="0x758" name="uni0758"/><map code="0x759" name="uni0759"/><map code="0x75a" name="uni075A"/><map code="0x75b" name="uni075B"/><map code="0x75c" name="uni075C"/><map code="0x75d" name="uni075D"/><map code="0x75e" name="uni075E"/><map code="0x75f" name="uni075F"/><map code="0x760" name="uni0760"/><map code="0x761" name="uni0761"/><map code="0x762" name="uni0762"/><map code="0x763" name="uni0763"/><map code="0x764" name="uni0764"/><map code="0x765" name="uni0765"/><map code="0x766" name="uni0766"/><map code="0x767" name="uni0767"/><map code="0x768" name="uni0768"/><map code="0x769" name="uni0769"/><map code="0x76a" name="uni076A"/><map code="0x76b" name="uni076B"/><map code="0x76c" name="uni076C"/><map code="0x76d" name="uni076D"/><map code="0x2000" name="uni2000"/><map code="0x2001" name="uni2001"/><map code="0x2002" name="uni2002"/><map code="0x2003" name="uni2003"/><map code="0x2004" name="uni2004"/><map code="0x2005" name="uni2005"/><map code="0x2006" name="uni2006"/><map code="0x2007" name="uni2007"/><map code="0x2008" name="uni2008"/><map code="0x2009" name="uni2009"/><map code="0x200a" name="uni200A"/><map code="0x200b" name="uni200B"/><map code="0x200c" name="uni200C"/><map code="0x200d" name="uni200D"/><map code="0x200e" name="uni200E"/><map code="0x200f" name="uni200F"/><map code="0x2010" name="uni2010"/><map code="0x2011" name="uni2011"/><map code="0x2013" name="endash"/><map code="0x2014" name="emdash"/><map code="0x2018" name="quoteleft.arab"/><map code="0x2019" name="quoteright.arab"/><map code="0x201a" name="quotesinglbase"/><map code="0x201c" name="quotedblleft.arab"/><map code="0x201d" name="quotedblright.arab"/><map code="0x201e" name="quotedblbase"/><map code="0x2020" name="dagger"/><map code="0x2021" name="daggerdbl"/><map code="0x2022" name="bullet"/><map code="0x2026" name="ellipsis"/><map code="0x202a" name="uni202A"/><map code="0x202b" name="uni202B"/><map code="0x202c" name="uni202C"/><map code="0x202d" name="uni202D"/><map code="0x202e" name="uni202E"/><map code="0x2030" name="perthousand"/><map code="0x2039" name="guilsinglleft"/><map code="0x203a" name="guilsinglright"/><map code="0x2060" name="uni2060"/><map code="0x206c" name="uni206C"/><map code="0x206d" name="uni206D"/><map code="0x20ac" name="Euro"/><map code="0x2122" name="trademark"/><map code="0x2212" name="minus"/><map code="0x2219" name="uni2219"/><map code="0x25cc" name="uni25CC"/><map code="0xfd3e" name="uniFD3E"/><map code="0xfd3f" name="uniFD3F"/><map code="0xfdf2" name="uniFDF2"/><map code="0xfdfc" name="uniFDFC"/><map code="0xfeff" name="uniFEFF"/></cmap_format_4></cmap><hmtx><mtx name=".notdef" width="1135" lsb="60"/><mtx name=".null" width="0" lsb="0"/><mtx name="A" width="1110" lsb="12"/><mtx name="AE" width="1374" lsb="-18"/><mtx name="Aacute" width="1110" lsb="12"/><mtx name="Acircumflex" width="1110" lsb="12"/><mtx name="Adieresis" width="1110" lsb="12"/><mtx name="Agrave" width="1110" lsb="12"/><mtx name="Aring" width="1110" lsb="12"/><mtx name="Atilde" width="1110" lsb="12"/><mtx name="B" width="1004" lsb="27"/><mtx name="C" width="1030" lsb="55"/><mtx name="Ccedilla" width="1030" lsb="55"/><mtx name="D" width="1114" lsb="27"/><mtx name="E" width="942" lsb="33"/><mtx name="Eacute" width="942" lsb="33"/><mtx name="Ecircumflex" width="942" lsb="33"/><mtx name="Edieresis" width="942" lsb="33"/><mtx name="Egrave" width="942" lsb="33"/><mtx name="Eth" width="1116" lsb="27"/><mtx name="Euro" width="950" lsb="0"/><mtx name="F" width="858" lsb="25"/><mtx name="G" width="1114" lsb="53"/><mtx name="H" width="1114" lsb="27"/><mtx name="I" width="514" lsb="39"/><mtx name="Iacute" width="514" lsb="39"/><mtx name="Icircumflex" width="514" lsb="16"/><mtx name="Idieresis" width="514" lsb="16"/><mtx name="Igrave" width="514" lsb="39"/><mtx name="J" width="602" lsb="33"/><mtx name="K" width="1114" lsb="27"/><mtx name="L" width="942" lsb="29"/><mtx name="M" width="1374" lsb="27"/><mtx name="N" width="1114" lsb="8"/><mtx name="Ntilde" width="1114" lsb="8"/><mtx name="O" width="1114" lsb="53"/><mtx name="OE" width="1374" lsb="57"/><mtx name="Oacute" width="1114" lsb="53"/><mtx name="Ocircumflex" width="1114" lsb="53"/><mtx name="Odieresis" width="1114" lsb="53"/><mtx name="Ograve" width="1114" lsb="53"/><mtx name="Oslash" width="1116" lsb="55"/><mtx name="Otilde" width="1114" lsb="53"/><mtx name="P" width="858" lsb="27"/><mtx name="Q" width="1114" lsb="53"/><mtx name="R" width="1030" lsb="27"/><mtx name="S" width="858" lsb="98"/><mtx name="Scaron" width="858" lsb="98"/><mtx name="T" width="940" lsb="37"/><mtx name="Thorn" width="859" lsb="28"/><mtx name="U" width="1114" lsb="23"/><mtx name="Uacute" width="1114" lsb="23"/><mtx name="Ucircumflex" width="1114" lsb="23"/><mtx name="Udieresis" width="1114" lsb="23"/><mtx name="Ugrave" width="1114" lsb="23"/><mtx name="V" width="1114" lsb="14"/><mtx name="W" width="1458" lsb="20"/><mtx name="X" width="1114" lsb="10"/><mtx name="Y" width="1114" lsb="14"/><mtx name="Yacute" width="1114" lsb="14"/><mtx name="Ydieresis" width="1114" lsb="14"/><mtx name="Z" width="942" lsb="20"/><mtx name="Zcaron" width="942" lsb="20"/><mtx name="_bar" width="0" lsb="-186"/><mtx name="_damma" width="0" lsb="-239"/><mtx name="_dot1" width="0" lsb="-104"/><mtx name="_dot1_hat" width="0" lsb="-244"/><mtx name="_dot1_smallV" width="0" lsb="-159"/><mtx name="_dot1_tah" width="0" lsb="-205"/><mtx name="_dot2h" width="0" lsb="-212"/><mtx name="_dot2h_tah" width="0" lsb="-212"/><mtx name="_dot2v" width="0" lsb="-104"/><mtx name="_dot3d" width="0" lsb="-212"/><mtx name="_dot3h" width="0" lsb="-316"/><mtx name="_dot3u" width="0" lsb="-212"/><mtx name="_dot3u_tah" width="0" lsb="-212"/><mtx name="_dot4" width="0" lsb="-212"/><mtx name="_gafBar" width="0" lsb="0"/><mtx name="_gafBar_dot2h" width="0" lsb="-166"/><mtx name="_gafBar_dot3u" width="0" lsb="-160"/><mtx name="_hamza" width="0" lsb="-207"/><mtx name="_hamzaDamma" width="0" lsb="-374"/><mtx name="_hat" width="0" lsb="-252"/><mtx name="_highHamza" width="0" lsb="-19"/><mtx name="_hook" width="0" lsb="-82"/><mtx name="_invSmallV" width="0" lsb="-196"/><mtx name="_lines" width="0" lsb="-141"/><mtx name="_madda" width="0" lsb="-287"/><mtx name="_ring" width="0" lsb="-129"/><mtx name="_smallV" width="0" lsb="-162"/><mtx name="_tah" width="0" lsb="-205"/><mtx name="_vline" width="0" lsb="-36"/><mtx name="_wasla" width="0" lsb="-253"/><mtx name="_wavyHamza" width="0" lsb="-386"/><mtx name="_wavyHamza.b" width="0" lsb="-386"/><mtx name="a" width="686" lsb="55"/><mtx name="aacute" width="686" lsb="55"/><mtx name="absAutoKashida" width="256" lsb="-27"/><mtx name="absJeemRetro1" width="832" lsb="45"/><mtx name="absJeemRetro1Fin" width="889" lsb="25"/><mtx name="absJeemRetro1Ini" width="715" lsb="-87"/><mtx name="absJeemRetro1Med" width="952" lsb="-86"/><mtx name="absJeemRetro2" width="832" lsb="45"/><mtx name="absJeemRetro2Fin" width="889" lsb="25"/><mtx name="absJeemRetro2Ini" width="715" lsb="-87"/><mtx name="absJeemRetro2Med" width="952" lsb="-86"/><mtx name="absJeemRetro3" width="832" lsb="45"/><mtx name="absJeemRetro3Fin" width="889" lsb="25"/><mtx name="absJeemRetro3Ini" width="715" lsb="-87"/><mtx name="absJeemRetro3Med" width="952" lsb="-86"/><mtx name="absJehRetro1" width="590" lsb="-111"/><mtx name="absJehRetro1Fin" width="610" lsb="-43"/><mtx name="absJehRetro2" width="590" lsb="-111"/><mtx name="absJehRetro2Fin" width="610" lsb="-43"/><mtx name="absLamRetro" width="701" lsb="42"/><mtx name="absLamRetroAlef" width="922" lsb="127"/><mtx name="absLamRetroAlefFin" width="1052" lsb="106"/><mtx name="absLamRetroFin" width="906" lsb="25"/><mtx name="absLamRetroIni" width="338" lsb="-86"/><mtx name="absLamRetroIni.preAlef" width="346" lsb="-374"/><mtx name="absLamRetroMed" width="438" lsb="-85"/><mtx name="absLamRetroMed.preAlef" width="502" lsb="-342"/><mtx name="absShaddaAlef" width="0" lsb="-20"/><mtx name="absSheenRetro1" width="1369" lsb="32"/><mtx name="absSheenRetro1Fin" width="1463" lsb="51"/><mtx name="absSheenRetro1Ini" width="850" lsb="-86"/><mtx name="absSheenRetro1Med" width="1032" lsb="-86"/><mtx name="absSheenRetro2" width="1369" lsb="32"/><mtx name="absSheenRetro2Fin" width="1463" lsb="51"/><mtx name="absSheenRetro2Ini" width="850" lsb="-86"/><mtx name="absSheenRetro2Med" width="1032" lsb="-86"/><mtx name="absTchehRetro1" width="832" lsb="45"/><mtx name="absTchehRetro1Fin" width="889" lsb="25"/><mtx name="absTchehRetro1Ini" width="715" lsb="-87"/><mtx name="absTchehRetro1Med" width="952" lsb="-86"/><mtx name="absTchehRetro2" width="832" lsb="45"/><mtx name="absTchehRetro2Fin" width="889" lsb="25"/><mtx name="absTchehRetro2Ini" width="715" lsb="-87"/><mtx name="absTchehRetro2Med" width="952" lsb="-86"/><mtx name="absWawDotBelow" width="612" lsb="-107"/><mtx name="absWawDotBelowFin" width="713" lsb="-51"/><mtx name="acircumflex" width="686" lsb="55"/><mtx name="acute" width="528" lsb="88"/><mtx name="adieresis" width="686" lsb="55"/><mtx name="ae" width="1031" lsb="55"/><mtx name="agrave" width="686" lsb="55"/><mtx name="ampersand" width="1202" lsb="57"/><mtx name="aring" width="686" lsb="55"/><mtx name="asciicircum" width="1485" lsb="354"/><mtx name="asciitilde" width="840" lsb="31"/><mtx name="asterisk" width="773" lsb="110"/><mtx name="asterisk.arab" width="854" lsb="24"/><mtx name="at" width="1423" lsb="74"/><mtx name="atilde" width="686" lsb="55"/><mtx name="b" width="772" lsb="-6"/><mtx name="backslash" width="430" lsb="2"/><mtx name="bar" width="309" lsb="121"/><mtx name="braceleft" width="539" lsb="70"/><mtx name="braceright" width="539" lsb="123"/><mtx name="bracketleft" width="690" lsb="193"/><mtx name="bracketright" width="690" lsb="188"/><mtx name="brokenbar" width="467" lsb="197"/><mtx name="bullet" width="1057" lsb="186"/><mtx name="c" width="686" lsb="51"/><mtx name="caron" width="485" lsb="0"/><mtx name="ccedilla" width="686" lsb="51"/><mtx name="cedilla" width="362" lsb="18"/><mtx name="cent" width="772" lsb="94"/><mtx name="circumflex" width="483" lsb="0"/><mtx name="colon" width="431" lsb="131"/><mtx name="colon.arab" width="598" lsb="205"/><mtx name="comma" width="387" lsb="84"/><mtx name="copyright" width="1174" lsb="51"/><mtx name="currency" width="891" lsb="45"/><mtx name="d" width="772" lsb="51"/><mtx name="dagger" width="772" lsb="76"/><mtx name="daggerdbl" width="772" lsb="104"/><mtx name="degree" width="475" lsb="74"/><mtx name="dieresis" width="461" lsb="0"/><mtx name="divide" width="893" lsb="117"/><mtx name="dollar" width="772" lsb="82"/><mtx name="dotlessi" width="430" lsb="47"/><mtx name="e" width="686" lsb="57"/><mtx name="eacute" width="686" lsb="57"/><mtx name="ecircumflex" width="686" lsb="57"/><mtx name="edieresis" width="686" lsb="57"/><mtx name="egrave" width="686" lsb="57"/><mtx name="eight" width="772" lsb="92"/><mtx name="eightMedium" width="704" lsb="86"/><mtx name="eightSmall" width="470" lsb="57"/><mtx name="ellipsis" width="2048" lsb="205"/><mtx name="emdash" width="1485" lsb="0"/><mtx name="endash" width="743" lsb="-33"/><mtx name="equal" width="983" lsb="66"/><mtx name="eth" width="773" lsb="51"/><mtx name="exclam" width="514" lsb="171"/><mtx name="exclam.arab" width="494" lsb="154"/><mtx name="exclamdown" width="514" lsb="171"/><mtx name="f" width="514" lsb="57"/><mtx name="five" width="772" lsb="74"/><mtx name="fiveMedium" width="704" lsb="68"/><mtx name="fiveSmall" width="470" lsb="45"/><mtx name="florin" width="772" lsb="2"/><mtx name="four" width="772" lsb="25"/><mtx name="fourMedium" width="704" lsb="32"/><mtx name="fourSmall" width="470" lsb="15"/><mtx name="g" width="772" lsb="45"/><mtx name="germandbls" width="773" lsb="27"/><mtx name="grave" width="580" lsb="90"/><mtx name="greater" width="770" lsb="141"/><mtx name="guillemotleft" width="772" lsb="47"/><mtx name="guillemotright" width="772" lsb="49"/><mtx name="guilsinglleft" width="514" lsb="90"/><mtx name="guilsinglright" width="514" lsb="92"/><mtx name="h" width="772" lsb="8"/><mtx name="hyphen" width="514" lsb="61"/><mtx name="i" width="430" lsb="47"/><mtx name="iacute" width="430" lsb="47"/><mtx name="icircumflex" width="430" lsb="-20"/><mtx name="idieresis" width="430" lsb="-20"/><mtx name="igrave" width="430" lsb="18"/><mtx name="j" width="430" lsb="-119"/><mtx name="k" width="772" lsb="10"/><mtx name="l" width="430" lsb="45"/><mtx name="less" width="770" lsb="141"/><mtx name="logicalnot" width="922" lsb="59"/><mtx name="m" width="1202" lsb="10"/><mtx name="macron" width="483" lsb="0"/><mtx name="minus" width="915" lsb="37"/><mtx name="mu" width="874" lsb="94"/><mtx name="multiply" width="983" lsb="96"/><mtx name="n" width="772" lsb="8"/><mtx name="nine" width="772" lsb="61"/><mtx name="nineMedium" width="704" lsb="60"/><mtx name="nineSmall" width="470" lsb="40"/><mtx name="nonmarkingreturn" width="0" lsb="0"/><mtx name="ntilde" width="772" lsb="8"/><mtx name="numbersign" width="772" lsb="27"/><mtx name="o" width="772" lsb="51"/><mtx name="oacute" width="772" lsb="51"/><mtx name="ocircumflex" width="772" lsb="51"/><mtx name="odieresis" width="772" lsb="51"/><mtx name="oe" width="1114" lsb="51"/><mtx name="ograve" width="772" lsb="51"/><mtx name="one" width="772" lsb="180"/><mtx name="oneMedium" width="704" lsb="168"/><mtx name="oneSmall" width="470" lsb="112"/><mtx name="onehalf" width="1188" lsb="125"/><mtx name="onequarter" width="1188" lsb="147"/><mtx name="onesuperior" width="543" lsb="125"/><mtx name="ordfeminine" width="492" lsb="38"/><mtx name="ordmasculine" width="566" lsb="43"/><mtx name="oslash" width="773" lsb="30"/><mtx name="otilde" width="772" lsb="51"/><mtx name="p" width="772" lsb="-8"/><mtx name="paragraph" width="698" lsb="-10"/><mtx name="parenleft" width="514" lsb="64"/><mtx name="parenleft.arab" width="709" lsb="211"/><mtx name="parenright" width="514" lsb="34"/><mtx name="parenright.arab" width="707" lsb="207"/><mtx name="percent" width="1335" lsb="117"/><mtx name="period" width="641" lsb="190"/><mtx name="periodcentered" width="279" lsb="51"/><mtx name="perthousand" width="1630" lsb="27"/><mtx name="plus" width="983" lsb="119"/><mtx name="plusminus" width="1485" lsb="297"/><mtx name="q" width="772" lsb="51"/><mtx name="question" width="686" lsb="70"/><mtx name="questiondown" width="686" lsb="58"/><mtx name="quotedbl" width="629" lsb="100"/><mtx name="quotedblbase" width="684" lsb="51"/><mtx name="quotedblleft" width="786" lsb="51"/><mtx name="quotedblleft.arab" width="909" lsb="152"/><mtx name="quotedblright" width="786" lsb="144"/><mtx name="quotedblright.arab" width="909" lsb="184"/><mtx name="quoteleft" width="514" lsb="140"/><mtx name="quoteleft.arab" width="604" lsb="152"/><mtx name="quoteright" width="514" lsb="144"/><mtx name="quoteright.arab" width="604" lsb="184"/><mtx name="quotesinglbase" width="514" lsb="145"/><mtx name="quotesingle" width="279" lsb="63"/><mtx name="r" width="528" lsb="6"/><mtx name="registered" width="1174" lsb="51"/><mtx name="ring" width="288" lsb="0"/><mtx name="s" width="602" lsb="76"/><mtx name="scaron" width="602" lsb="69"/><mtx name="section" width="772" lsb="117"/><mtx name="semicolon" width="430" lsb="129"/><mtx name="seven" width="772" lsb="57"/><mtx name="sevenMedium" width="704" lsb="51"/><mtx name="sevenSmall" width="470" lsb="34"/><mtx name="sfthyphen" width="514" lsb="61"/><mtx name="six" width="772" lsb="68"/><mtx name="sixMedium" width="704" lsb="64"/><mtx name="sixSmall" width="470" lsb="43"/><mtx name="slash" width="543" lsb="66"/><mtx name="space" width="465" lsb="0"/><mtx name="sterling" width="772" lsb="45"/><mtx name="t" width="430" lsb="12"/><mtx name="thorn" width="773" lsb="-6"/><mtx name="three" width="772" lsb="63"/><mtx name="threeMedium" width="704" lsb="80"/><mtx name="threeSmall" width="470" lsb="40"/><mtx name="threequarters" width="1188" lsb="127"/><mtx name="threesuperior" width="543" lsb="41"/><mtx name="tilde" width="514" lsb="0"/><mtx name="trademark" width="1513" lsb="25"/><mtx name="two" width="772" lsb="35"/><mtx name="twoMedium" width="704" lsb="51"/><mtx name="twoSmall" width="470" lsb="21"/><mtx name="twosuperior" width="543" lsb="18"/><mtx name="u" width="772" lsb="0"/><mtx name="uacute" width="772" lsb="0"/><mtx name="ucircumflex" width="772" lsb="0"/><mtx name="udieresis" width="772" lsb="0"/><mtx name="ugrave" width="772" lsb="0"/><mtx name="underscore" width="743" lsb="0"/><mtx name="uni0009" width="465" lsb="0"/><mtx name="uni00A0" width="641" lsb="0"/><mtx name="uni02C9" width="483" lsb="0"/><mtx name="uni060C" width="604" lsb="193"/><mtx name="uni060C.downward" width="604" lsb="193"/><mtx name="uni0614" width="0" lsb="20"/><mtx name="uni061B" width="604" lsb="205"/><mtx name="uni061B.downward" width="604" lsb="205"/><mtx name="uni061E" width="626" lsb="59"/><mtx name="uni061F" width="727" lsb="163"/><mtx name="uni0621" width="609" lsb="67"/><mtx name="uni0622" width="362" lsb="-92"/><mtx name="uni0622.fina" width="467" lsb="-59"/><mtx name="uni0622.fina.postLamIni" width="576" lsb="-177"/><mtx name="uni0622.fina.postLamMed" width="550" lsb="-159"/><mtx name="uni0623" width="362" lsb="4"/><mtx name="uni0623.fina" width="467" lsb="37"/><mtx name="uni0623.fina.postLamIni" width="576" lsb="-81"/><mtx name="uni0623.fina.postLamMed" width="550" lsb="-63"/><mtx name="uni0624" width="612" lsb="-107"/><mtx name="uni0624.fina" width="713" lsb="-51"/><mtx name="uni0625" width="362" lsb="15"/><mtx name="uni0625.fina" width="467" lsb="105"/><mtx name="uni0625.fina.postLamIni" width="576" lsb="127"/><mtx name="uni0625.fina.postLamMed" width="550" lsb="106"/><mtx name="uni0626" width="1016" lsb="50"/><mtx name="uni0626.fina" width="1036" lsb="38"/><mtx name="uni0626.init" width="338" lsb="-85"/><mtx name="uni0626.medi" width="440" lsb="-87"/><mtx name="uni0627" width="362" lsb="137"/><mtx name="uni0627.fina" width="467" lsb="142"/><mtx name="uni0627.fina.postLamIni" width="576" lsb="127"/><mtx name="uni0627.fina.postLamMed" width="550" lsb="106"/><mtx name="uni0628" width="1220" lsb="48"/><mtx name="uni0628.fina" width="1183" lsb="40"/><mtx name="uni0628.init" width="338" lsb="-85"/><mtx name="uni0628.medi" width="440" lsb="-87"/><mtx name="uni0629" width="471" lsb="-12"/><mtx name="uni0629.fina" width="672" lsb="20"/><mtx name="uni062A" width="1220" lsb="48"/><mtx name="uni062A.fina" width="1183" lsb="40"/><mtx name="uni062A.init" width="338" lsb="-85"/><mtx name="uni062A.medi" width="440" lsb="-87"/><mtx name="uni062B" width="1220" lsb="48"/><mtx name="uni062B.fina" width="1183" lsb="40"/><mtx name="uni062B.init" width="338" lsb="-85"/><mtx name="uni062B.medi" width="440" lsb="-87"/><mtx name="uni062C" width="832" lsb="45"/><mtx name="uni062C.fina" width="889" lsb="25"/><mtx name="uni062C.init" width="715" lsb="-87"/><mtx name="uni062C.medi" width="952" lsb="-86"/><mtx name="uni062D" width="832" lsb="45"/><mtx name="uni062D.fina" width="889" lsb="25"/><mtx name="uni062D.init" width="715" lsb="-87"/><mtx name="uni062D.medi" width="952" lsb="-86"/><mtx name="uni062E" width="832" lsb="45"/><mtx name="uni062E.fina" width="889" lsb="25"/><mtx name="uni062E.init" width="715" lsb="-87"/><mtx name="uni062E.medi" width="952" lsb="-86"/><mtx name="uni062F" width="580" lsb="80"/><mtx name="uni062F.fina" width="739" lsb="102"/><mtx name="uni0630" width="580" lsb="80"/><mtx name="uni0630.fina" width="739" lsb="102"/><mtx name="uni0631" width="590" lsb="-111"/><mtx name="uni0631.fina" width="610" lsb="-43"/><mtx name="uni0632" width="590" lsb="-111"/><mtx name="uni0632.fina" width="610" lsb="-43"/><mtx name="uni0633" width="1369" lsb="32"/><mtx name="uni0633.fina" width="1463" lsb="51"/><mtx name="uni0633.init" width="850" lsb="-86"/><mtx name="uni0633.medi" width="1032" lsb="-86"/><mtx name="uni0634" width="1369" lsb="32"/><mtx name="uni0634.fina" width="1463" lsb="51"/><mtx name="uni0634.init" width="850" lsb="-86"/><mtx name="uni0634.medi" width="1032" lsb="-86"/><mtx name="uni0635" width="1599" lsb="37"/><mtx name="uni0635.fina" width="1653" lsb="51"/><mtx name="uni0635.init" width="1168" lsb="-85"/><mtx name="uni0635.medi" width="1223" lsb="-85"/><mtx name="uni0636" width="1599" lsb="37"/><mtx name="uni0636.fina" width="1653" lsb="51"/><mtx name="uni0636.init" width="1168" lsb="-85"/><mtx name="uni0636.medi" width="1223" lsb="-85"/><mtx name="uni0637" width="1124" lsb="-5"/><mtx name="uni0637.fina" width="1165" lsb="-10"/><mtx name="uni0637.init" width="788" lsb="-87"/><mtx name="uni0637.medi" width="870" lsb="-88"/><mtx name="uni0638" width="1124" lsb="-5"/><mtx name="uni0638.fina" width="1165" lsb="-10"/><mtx name="uni0638.init" width="788" lsb="-87"/><mtx name="uni0638.medi" width="870" lsb="-88"/><mtx name="uni0639" width="800" lsb="58"/><mtx name="uni0639.fina" width="743" lsb="20"/><mtx name="uni0639.init" width="748" lsb="-86"/><mtx name="uni0639.medi" width="709" lsb="-82"/><mtx name="uni063A" width="800" lsb="58"/><mtx name="uni063A.fina" width="743" lsb="20"/><mtx name="uni063A.init" width="748" lsb="-86"/><mtx name="uni063A.medi" width="709" lsb="-82"/><mtx name="uni0640" width="256" lsb="-83"/><mtx name="uni0641" width="1220" lsb="38"/><mtx name="uni0641.fina" width="1272" lsb="25"/><mtx name="uni0641.init" width="487" lsb="-85"/><mtx name="uni0641.medi" width="563" lsb="-85"/><mtx name="uni0642" width="863" lsb="39"/><mtx name="uni0642.fina" width="889" lsb="20"/><mtx name="uni0642.init" width="487" lsb="-85"/><mtx name="uni0642.medi" width="563" lsb="-85"/><mtx name="uni0643" width="1014" lsb="49"/><mtx name="uni0643.fina" width="1179" lsb="49"/><mtx name="uni0643.init" width="633" lsb="-83"/><mtx name="uni0643.medi" width="932" lsb="-85"/><mtx name="uni0644" width="701" lsb="42"/><mtx name="uni0644.fina" width="906" lsb="25"/><mtx name="uni0644.init" width="338" lsb="-86"/><mtx name="uni0644.init.preAlef" width="346" lsb="-374"/><mtx name="uni0644.medi" width="438" lsb="-85"/><mtx name="uni0644.medi.preAlef" width="502" lsb="-342"/><mtx name="uni06440627" width="922" lsb="127"/><mtx name="uni06440627.fina" width="1052" lsb="106"/><mtx name="uni0645" width="557" lsb="37"/><mtx name="uni0645.fina" width="625" lsb="48"/><mtx name="uni0645.fina.sindhi" width="1020" lsb="-39"/><mtx name="uni0645.init" width="604" lsb="-84"/><mtx name="uni0645.medi" width="694" lsb="-85"/><mtx name="uni0645.sindhi" width="912" lsb="-29"/><mtx name="uni0646" width="749" lsb="43"/><mtx name="uni0646.fina" width="907" lsb="48"/><mtx name="uni0646.init" width="338" lsb="-85"/><mtx name="uni0646.medi" width="440" lsb="-87"/><mtx name="uni0647" width="471" lsb="62"/><mtx name="uni0647.fina" width="672" lsb="20"/><mtx name="uni0647.fina.hooked" width="762" lsb="4"/><mtx name="uni0647.fina.knottedFlat" width="799" lsb="-8"/><mtx name="uni0647.fina.knottedHigh" width="940" lsb="-13"/><mtx name="uni0647.init" width="610" lsb="-86"/><mtx name="uni0647.init.hooked" width="338" lsb="-85"/><mtx name="uni0647.knotted" width="850" lsb="2"/><mtx name="uni0647.medi" width="698" lsb="-86"/><mtx name="uni0647.medi.hooked" width="952" lsb="-87"/><mtx name="uni0647.medi.knottedHigh" width="811" lsb="-82"/><mtx name="uni0648" width="612" lsb="-107"/><mtx name="uni0648.fina" width="713" lsb="-51"/><mtx name="uni0649" width="1016" lsb="50"/><mtx name="uni0649.fina" width="1036" lsb="38"/><mtx name="uni0649.init" width="338" lsb="-85"/><mtx name="uni0649.medi" width="440" lsb="-87"/><mtx name="uni064A" width="1016" lsb="50"/><mtx name="uni064A.fina" width="1036" lsb="38"/><mtx name="uni064A.fina.noDots" width="1036" lsb="38"/><mtx name="uni064A.init" width="338" lsb="-85"/><mtx name="uni064A.init.noDots" width="338" lsb="-85"/><mtx name="uni064A.medi" width="440" lsb="-87"/><mtx name="uni064A.medi.noDots" width="440" lsb="-87"/><mtx name="uni064A.noDots" width="1016" lsb="50"/><mtx name="uni064B" width="0" lsb="59"/><mtx name="uni064C" width="0" lsb="-74"/><mtx name="uni064C.sixNine" width="0" lsb="-144"/><mtx name="uni064D" width="0" lsb="-72"/><mtx name="uni064E" width="0" lsb="18"/><mtx name="uni064F" width="0" lsb="0"/><mtx name="uni0650" width="0" lsb="-72"/><mtx name="uni0651" width="0" lsb="-20"/><mtx name="uni0651064B" width="0" lsb="-29"/><mtx name="uni0651064C" width="0" lsb="-121"/><mtx name="uni0651064D" width="0" lsb="-29"/><mtx name="uni0651064E" width="0" lsb="-29"/><mtx name="uni0651064F" width="0" lsb="-46"/><mtx name="uni06510650" width="0" lsb="-29"/><mtx name="uni0652" width="0" lsb="12"/><mtx name="uni0652.downOpen" width="0" lsb="0"/><mtx name="uni0652.leftOpen" width="0" lsb="-4"/><mtx name="uni0653" width="0" lsb="-31"/><mtx name="uni0654" width="0" lsb="-4"/><mtx name="uni0654064E" width="0" lsb="-4"/><mtx name="uni0654064F" width="0" lsb="-19"/><mtx name="uni0655" width="0" lsb="-4"/><mtx name="uni0656" width="0" lsb="53"/><mtx name="uni0657" width="0" lsb="43"/><mtx name="uni0658" width="0" lsb="0"/><mtx name="uni0659" width="0" lsb="18"/><mtx name="uni065A" width="0" lsb="0"/><mtx name="uni065B" width="0" lsb="8"/><mtx name="uni065C" width="0" lsb="-112"/><mtx name="uni065D" width="0" lsb="0"/><mtx name="uni065E" width="0" lsb="18"/><mtx name="uni0660" width="881" lsb="326"/><mtx name="uni0660.Medium" width="704" lsb="261"/><mtx name="uni0660.Small" width="470" lsb="174"/><mtx name="uni0661" width="881" lsb="254"/><mtx name="uni0661.Medium" width="704" lsb="203"/><mtx name="uni0661.Small" width="470" lsb="135"/><mtx name="uni0662" width="881" lsb="190"/><mtx name="uni0662.Medium" width="704" lsb="152"/><mtx name="uni0662.Small" width="470" lsb="101"/><mtx name="uni0663" width="881" lsb="109"/><mtx name="uni0663.Medium" width="704" lsb="86"/><mtx name="uni0663.Small" width="470" lsb="57"/><mtx name="uni0664" width="881" lsb="161"/><mtx name="uni0664.Medium" width="704" lsb="128"/><mtx name="uni0664.Small" width="470" lsb="85"/><mtx name="uni0665" width="881" lsb="205"/><mtx name="uni0665.Medium" width="704" lsb="163"/><mtx name="uni0665.Small" width="470" lsb="109"/><mtx name="uni0666" width="881" lsb="118"/><mtx name="uni0666.Medium" width="704" lsb="94"/><mtx name="uni0666.Small" width="470" lsb="63"/><mtx name="uni0667" width="881" lsb="97"/><mtx name="uni0667.Medium" width="704" lsb="77"/><mtx name="uni0667.Small" width="470" lsb="51"/><mtx name="uni0668" width="881" lsb="100"/><mtx name="uni0668.Medium" width="704" lsb="80"/><mtx name="uni0668.Small" width="470" lsb="53"/><mtx name="uni0669" width="881" lsb="171"/><mtx name="uni0669.Medium" width="704" lsb="136"/><mtx name="uni0669.Small" width="470" lsb="91"/><mtx name="uni066A" width="1348" lsb="180"/><mtx name="uni066B" width="553" lsb="72"/><mtx name="uni066C" width="553" lsb="182"/><mtx name="uni066D" width="887" lsb="70"/><mtx name="uni066E" width="1220" lsb="48"/><mtx name="uni066E.fina" width="1183" lsb="40"/><mtx name="uni066E.init" width="338" lsb="-85"/><mtx name="uni066E.medi" width="440" lsb="-87"/><mtx name="uni066F" width="863" lsb="39"/><mtx name="uni066F.fina" width="889" lsb="20"/><mtx name="uni066F.init" width="487" lsb="-85"/><mtx name="uni066F.medi" width="563" lsb="-85"/><mtx name="uni0670" width="0" lsb="53"/><mtx name="uni0670.large" width="0" lsb="317"/><mtx name="uni0671" width="362" lsb="-58"/><mtx name="uni0671.fina" width="467" lsb="-25"/><mtx name="uni0671.fina.postLamIni" width="576" lsb="-143"/><mtx name="uni0671.fina.postLamMed" width="550" lsb="-125"/><mtx name="uni0672" width="362" lsb="-173"/><mtx name="uni0672.fina" width="467" lsb="-140"/><mtx name="uni0672.fina.postLamIni" width="576" lsb="-258"/><mtx name="uni0672.fina.postLamMed" width="550" lsb="-240"/><mtx name="uni0673" width="362" lsb="-157"/><mtx name="uni0673.fina" width="467" lsb="-67"/><mtx name="uni0673.fina.postLamIni" width="576" lsb="28"/><mtx name="uni0673.fina.postLamMed" width="550" lsb="-4"/><mtx name="uni0674" width="362" lsb="32"/><mtx name="uni0675" width="362" lsb="137"/><mtx name="uni0675.fina" width="467" lsb="142"/><mtx name="uni0675.fina.postLamIni" width="576" lsb="109"/><mtx name="uni0675.fina.postLamMed" width="550" lsb="106"/><mtx name="uni0676" width="612" lsb="-107"/><mtx name="uni0676.fina" width="713" lsb="-51"/><mtx name="uni0677" width="612" lsb="-107"/><mtx name="uni0677.fina" width="713" lsb="-51"/><mtx name="uni0678" width="1016" lsb="50"/><mtx name="uni0678.fina" width="1036" lsb="38"/><mtx name="uni0678.init" width="338" lsb="-85"/><mtx name="uni0678.medi" width="440" lsb="-87"/><mtx name="uni0679" width="1220" lsb="48"/><mtx name="uni0679.fina" width="1183" lsb="40"/><mtx name="uni0679.init" width="338" lsb="-85"/><mtx name="uni0679.medi" width="440" lsb="-87"/><mtx name="uni067A" width="1220" lsb="48"/><mtx name="uni067A.fina" width="1183" lsb="40"/><mtx name="uni067A.init" width="338" lsb="-85"/><mtx name="uni067A.medi" width="440" lsb="-87"/><mtx name="uni067B" width="1220" lsb="48"/><mtx name="uni067B.fina" width="1183" lsb="40"/><mtx name="uni067B.init" width="338" lsb="-85"/><mtx name="uni067B.medi" width="440" lsb="-87"/><mtx name="uni067C" width="1220" lsb="48"/><mtx name="uni067C.fina" width="1183" lsb="40"/><mtx name="uni067C.init" width="338" lsb="-85"/><mtx name="uni067C.medi" width="440" lsb="-87"/><mtx name="uni067D" width="1220" lsb="48"/><mtx name="uni067D.fina" width="1183" lsb="40"/><mtx name="uni067D.init" width="338" lsb="-85"/><mtx name="uni067D.medi" width="440" lsb="-87"/><mtx name="uni067E" width="1220" lsb="48"/><mtx name="uni067E.fina" width="1183" lsb="40"/><mtx name="uni067E.init" width="338" lsb="-85"/><mtx name="uni067E.medi" width="440" lsb="-87"/><mtx name="uni067F" width="1220" lsb="48"/><mtx name="uni067F.fina" width="1183" lsb="40"/><mtx name="uni067F.init" width="338" lsb="-85"/><mtx name="uni067F.medi" width="440" lsb="-87"/><mtx name="uni0680" width="1220" lsb="48"/><mtx name="uni0680.fina" width="1183" lsb="40"/><mtx name="uni0680.init" width="338" lsb="-85"/><mtx name="uni0680.medi" width="440" lsb="-87"/><mtx name="uni0681" width="832" lsb="45"/><mtx name="uni0681.fina" width="889" lsb="25"/><mtx name="uni0681.init" width="715" lsb="-87"/><mtx name="uni0681.medi" width="952" lsb="-86"/><mtx name="uni0682" width="832" lsb="45"/><mtx name="uni0682.fina" width="889" lsb="25"/><mtx name="uni0682.init" width="715" lsb="-87"/><mtx name="uni0682.medi" width="952" lsb="-86"/><mtx name="uni0683" width="832" lsb="45"/><mtx name="uni0683.fina" width="889" lsb="25"/><mtx name="uni0683.init" width="715" lsb="-87"/><mtx name="uni0683.medi" width="952" lsb="-86"/><mtx name="uni0684" width="832" lsb="45"/><mtx name="uni0684.fina" width="889" lsb="25"/><mtx name="uni0684.init" width="715" lsb="-87"/><mtx name="uni0684.medi" width="952" lsb="-86"/><mtx name="uni0685" width="832" lsb="45"/><mtx name="uni0685.fina" width="889" lsb="25"/><mtx name="uni0685.init" width="715" lsb="-87"/><mtx name="uni0685.medi" width="952" lsb="-86"/><mtx name="uni0686" width="832" lsb="45"/><mtx name="uni0686.fina" width="889" lsb="25"/><mtx name="uni0686.init" width="715" lsb="-87"/><mtx name="uni0686.medi" width="952" lsb="-86"/><mtx name="uni0687" width="832" lsb="45"/><mtx name="uni0687.fina" width="889" lsb="25"/><mtx name="uni0687.init" width="715" lsb="-87"/><mtx name="uni0687.medi" width="952" lsb="-86"/><mtx name="uni0688" width="580" lsb="80"/><mtx name="uni0688.fina" width="739" lsb="102"/><mtx name="uni0689" width="580" lsb="80"/><mtx name="uni0689.fina" width="739" lsb="102"/><mtx name="uni068A" width="580" lsb="80"/><mtx name="uni068A.fina" width="739" lsb="102"/><mtx name="uni068B" width="580" lsb="80"/><mtx name="uni068B.fina" width="739" lsb="102"/><mtx name="uni068C" width="580" lsb="79"/><mtx name="uni068C.fina" width="739" lsb="102"/><mtx name="uni068D" width="580" lsb="79"/><mtx name="uni068D.fina" width="739" lsb="102"/><mtx name="uni068E" width="580" lsb="79"/><mtx name="uni068E.fina" width="739" lsb="102"/><mtx name="uni068F" width="580" lsb="79"/><mtx name="uni068F.fina" width="739" lsb="102"/><mtx name="uni0690" width="580" lsb="79"/><mtx name="uni0690.fina" width="739" lsb="102"/><mtx name="uni0691" width="590" lsb="-111"/><mtx name="uni0691.fina" width="610" lsb="-43"/><mtx name="uni0692" width="590" lsb="-111"/><mtx name="uni0692.fina" width="610" lsb="-43"/><mtx name="uni0693" width="590" lsb="-111"/><mtx name="uni0693.fina" width="610" lsb="-43"/><mtx name="uni0694" width="590" lsb="-111"/><mtx name="uni0694.fina" width="610" lsb="-43"/><mtx name="uni0695" width="590" lsb="-111"/><mtx name="uni0695.fina" width="610" lsb="-43"/><mtx name="uni0696" width="590" lsb="-111"/><mtx name="uni0696.fina" width="610" lsb="-43"/><mtx name="uni0697" width="590" lsb="-111"/><mtx name="uni0697.fina" width="610" lsb="-43"/><mtx name="uni0698" width="590" lsb="-111"/><mtx name="uni0698.dotHat" width="590" lsb="-111"/><mtx name="uni0698.fina" width="610" lsb="-43"/><mtx name="uni0698.fina.dotHat" width="610" lsb="-43"/><mtx name="uni0699" width="590" lsb="-111"/><mtx name="uni0699.fina" width="610" lsb="-43"/><mtx name="uni069A" width="1369" lsb="32"/><mtx name="uni069A.fina" width="1463" lsb="51"/><mtx name="uni069A.init" width="850" lsb="-86"/><mtx name="uni069A.medi" width="1032" lsb="-86"/><mtx name="uni069B" width="1369" lsb="32"/><mtx name="uni069B.fina" width="1463" lsb="51"/><mtx name="uni069B.init" width="850" lsb="-86"/><mtx name="uni069B.medi" width="1032" lsb="-86"/><mtx name="uni069C" width="1369" lsb="32"/><mtx name="uni069C.fina" width="1463" lsb="51"/><mtx name="uni069C.init" width="850" lsb="-86"/><mtx name="uni069C.medi" width="1032" lsb="-86"/><mtx name="uni069D" width="1599" lsb="37"/><mtx name="uni069D.fina" width="1653" lsb="51"/><mtx name="uni069D.init" width="1168" lsb="-85"/><mtx name="uni069D.medi" width="1223" lsb="-85"/><mtx name="uni069E" width="1599" lsb="37"/><mtx name="uni069E.fina" width="1653" lsb="51"/><mtx name="uni069E.init" width="1168" lsb="-85"/><mtx name="uni069E.medi" width="1223" lsb="-85"/><mtx name="uni069F" width="1124" lsb="-5"/><mtx name="uni069F.fina" width="1165" lsb="-10"/><mtx name="uni069F.init" width="788" lsb="-87"/><mtx name="uni069F.medi" width="870" lsb="-88"/><mtx name="uni06A0" width="800" lsb="25"/><mtx name="uni06A0.fina" width="743" lsb="20"/><mtx name="uni06A0.init" width="748" lsb="-86"/><mtx name="uni06A0.medi" width="709" lsb="-82"/><mtx name="uni06A1" width="1220" lsb="38"/><mtx name="uni06A1.fina" width="1272" lsb="25"/><mtx name="uni06A1.init" width="487" lsb="-85"/><mtx name="uni06A1.medi" width="563" lsb="-85"/><mtx name="uni06A2" width="1220" lsb="38"/><mtx name="uni06A2.fina" width="1272" lsb="25"/><mtx name="uni06A2.init" width="487" lsb="-85"/><mtx name="uni06A2.medi" width="563" lsb="-85"/><mtx name="uni06A3" width="1220" lsb="38"/><mtx name="uni06A3.fina" width="1272" lsb="25"/><mtx name="uni06A3.init" width="487" lsb="-85"/><mtx name="uni06A3.medi" width="563" lsb="-85"/><mtx name="uni06A4" width="1220" lsb="38"/><mtx name="uni06A4.fina" width="1272" lsb="25"/><mtx name="uni06A4.init" width="487" lsb="-85"/><mtx name="uni06A4.medi" width="563" lsb="-85"/><mtx name="uni06A5" width="1220" lsb="38"/><mtx name="uni06A5.fina" width="1272" lsb="25"/><mtx name="uni06A5.init" width="487" lsb="-85"/><mtx name="uni06A5.medi" width="563" lsb="-85"/><mtx name="uni06A6" width="1220" lsb="38"/><mtx name="uni06A6.fina" width="1272" lsb="25"/><mtx name="uni06A6.init" width="487" lsb="-85"/><mtx name="uni06A6.medi" width="563" lsb="-85"/><mtx name="uni06A7" width="863" lsb="39"/><mtx name="uni06A7.fina" width="889" lsb="20"/><mtx name="uni06A7.init" width="487" lsb="-85"/><mtx name="uni06A7.medi" width="563" lsb="-85"/><mtx name="uni06A8" width="863" lsb="39"/><mtx name="uni06A8.fina" width="889" lsb="20"/><mtx name="uni06A8.init" width="487" lsb="-85"/><mtx name="uni06A8.medi" width="563" lsb="-85"/><mtx name="uni06A9" width="1348" lsb="57"/><mtx name="uni06A9.fina" width="1577" lsb="39"/><mtx name="uni06A9.init" width="633" lsb="-83"/><mtx name="uni06A9.medi" width="932" lsb="-85"/><mtx name="uni06AA" width="1371" lsb="28"/><mtx name="uni06AA.fina" width="1403" lsb="18"/><mtx name="uni06AA.init" width="1126" lsb="-85"/><mtx name="uni06AA.medi" width="1178" lsb="-85"/><mtx name="uni06AB" width="1348" lsb="57"/><mtx name="uni06AB.fina" width="1577" lsb="39"/><mtx name="uni06AB.init" width="633" lsb="-83"/><mtx name="uni06AB.medi" width="932" lsb="-85"/><mtx name="uni06AC" width="1014" lsb="49"/><mtx name="uni06AC.fina" width="1179" lsb="49"/><mtx name="uni06AC.init" width="633" lsb="-83"/><mtx name="uni06AC.medi" width="932" lsb="-85"/><mtx name="uni06AD" width="1014" lsb="49"/><mtx name="uni06AD.fina" width="1179" lsb="49"/><mtx name="uni06AD.init" width="633" lsb="-137"/><mtx name="uni06AD.medi" width="932" lsb="-156"/><mtx name="uni06AE" width="1014" lsb="49"/><mtx name="uni06AE.fina" width="1179" lsb="49"/><mtx name="uni06AE.init" width="633" lsb="-83"/><mtx name="uni06AE.medi" width="932" lsb="-85"/><mtx name="uni06AF" width="1348" lsb="57"/><mtx name="uni06AF.fina" width="1577" lsb="39"/><mtx name="uni06AF.init" width="633" lsb="-83"/><mtx name="uni06AF.medi" width="932" lsb="-85"/><mtx name="uni06B0" width="1348" lsb="57"/><mtx name="uni06B0.fina" width="1577" lsb="39"/><mtx name="uni06B0.init" width="633" lsb="-83"/><mtx name="uni06B0.medi" width="932" lsb="-85"/><mtx name="uni06B1" width="1348" lsb="57"/><mtx name="uni06B1.fina" width="1577" lsb="39"/><mtx name="uni06B1.init" width="633" lsb="-188"/><mtx name="uni06B1.medi" width="932" lsb="-207"/><mtx name="uni06B2" width="1348" lsb="57"/><mtx name="uni06B2.fina" width="1577" lsb="39"/><mtx name="uni06B2.init" width="633" lsb="-83"/><mtx name="uni06B2.medi" width="932" lsb="-85"/><mtx name="uni06B3" width="1348" lsb="57"/><mtx name="uni06B3.fina" width="1577" lsb="39"/><mtx name="uni06B3.init" width="633" lsb="-83"/><mtx name="uni06B3.medi" width="932" lsb="-85"/><mtx name="uni06B4" width="1348" lsb="57"/><mtx name="uni06B4.fina" width="1577" lsb="39"/><mtx name="uni06B4.init" width="633" lsb="-182"/><mtx name="uni06B4.medi" width="932" lsb="-201"/><mtx name="uni06B5" width="701" lsb="42"/><mtx name="uni06B5.fina" width="906" lsb="25"/><mtx name="uni06B5.init" width="338" lsb="-86"/><mtx name="uni06B5.init.preAlef" width="346" lsb="-374"/><mtx name="uni06B5.medi" width="438" lsb="-85"/><mtx name="uni06B5.medi.preAlef" width="502" lsb="-342"/><mtx name="uni06B50627" width="922" lsb="127"/><mtx name="uni06B50627.fina" width="1052" lsb="106"/><mtx name="uni06B6" width="701" lsb="42"/><mtx name="uni06B6.fina" width="906" lsb="25"/><mtx name="uni06B6.init" width="338" lsb="-86"/><mtx name="uni06B6.init.preAlef" width="346" lsb="-374"/><mtx name="uni06B6.medi" width="438" lsb="-85"/><mtx name="uni06B6.medi.preAlef" width="502" lsb="-342"/><mtx name="uni06B60627" width="922" lsb="127"/><mtx name="uni06B60627.fina" width="1052" lsb="106"/><mtx name="uni06B7" width="701" lsb="42"/><mtx name="uni06B7.fina" width="906" lsb="25"/><mtx name="uni06B7.init" width="338" lsb="-86"/><mtx name="uni06B7.init.preAlef" width="346" lsb="-374"/><mtx name="uni06B7.medi" width="438" lsb="-85"/><mtx name="uni06B7.medi.preAlef" width="502" lsb="-342"/><mtx name="uni06B70627" width="922" lsb="127"/><mtx name="uni06B70627.fina" width="1052" lsb="106"/><mtx name="uni06B8" width="701" lsb="42"/><mtx name="uni06B8.fina" width="906" lsb="25"/><mtx name="uni06B8.init" width="338" lsb="-86"/><mtx name="uni06B8.init.preAlef" width="346" lsb="-374"/><mtx name="uni06B8.medi" width="438" lsb="-85"/><mtx name="uni06B8.medi.preAlef" width="502" lsb="-342"/><mtx name="uni06B80627" width="922" lsb="127"/><mtx name="uni06B80627.fina" width="1052" lsb="106"/><mtx name="uni06B9" width="749" lsb="43"/><mtx name="uni06B9.fina" width="907" lsb="48"/><mtx name="uni06B9.init" width="338" lsb="-85"/><mtx name="uni06B9.medi" width="440" lsb="-87"/><mtx name="uni06BA" width="749" lsb="43"/><mtx name="uni06BA.fina" width="907" lsb="48"/><mtx name="uni06BA.init" width="338" lsb="-85"/><mtx name="uni06BA.medi" width="440" lsb="-87"/><mtx name="uni06BB" width="749" lsb="43"/><mtx name="uni06BB.fina" width="907" lsb="48"/><mtx name="uni06BB.init" width="338" lsb="-85"/><mtx name="uni06BB.medi" width="440" lsb="-87"/><mtx name="uni06BC" width="749" lsb="43"/><mtx name="uni06BC.fina" width="907" lsb="48"/><mtx name="uni06BC.init" width="338" lsb="-85"/><mtx name="uni06BC.medi" width="440" lsb="-87"/><mtx name="uni06BD" width="749" lsb="43"/><mtx name="uni06BD.fina" width="907" lsb="48"/><mtx name="uni06BD.init" width="338" lsb="-85"/><mtx name="uni06BD.medi" width="440" lsb="-87"/><mtx name="uni06BE" width="850" lsb="2"/><mtx name="uni06BE.fina" width="799" lsb="-8"/><mtx name="uni06BE.init" width="610" lsb="-86"/><mtx name="uni06BE.medi" width="698" lsb="-86"/><mtx name="uni06BF" width="832" lsb="45"/><mtx name="uni06BF.fina" width="889" lsb="25"/><mtx name="uni06BF.init" width="715" lsb="-87"/><mtx name="uni06BF.medi" width="952" lsb="-86"/><mtx name="uni06C0" width="471" lsb="9"/><mtx name="uni06C0.fina" width="672" lsb="20"/><mtx name="uni06C0.init" width="610" lsb="-86"/><mtx name="uni06C0.medi" width="698" lsb="-86"/><mtx name="uni06C1" width="471" lsb="62"/><mtx name="uni06C1.fina" width="762" lsb="4"/><mtx name="uni06C1.init" width="338" lsb="-85"/><mtx name="uni06C1.medi" width="877" lsb="-87"/><mtx name="uni06C2" width="471" lsb="9"/><mtx name="uni06C2.fina" width="762" lsb="4"/><mtx name="uni06C2.init" width="338" lsb="-85"/><mtx name="uni06C2.medi" width="877" lsb="-87"/><mtx name="uni06C3" width="471" lsb="-12"/><mtx name="uni06C3.fina" width="762" lsb="4"/><mtx name="uni06C4" width="612" lsb="-107"/><mtx name="uni06C4.fina" width="713" lsb="-51"/><mtx name="uni06C5" width="612" lsb="-107"/><mtx name="uni06C5.fina" width="713" lsb="-51"/><mtx name="uni06C6" width="612" lsb="-107"/><mtx name="uni06C6.fina" width="713" lsb="-51"/><mtx name="uni06C7" width="612" lsb="-107"/><mtx name="uni06C7.fina" width="713" lsb="-51"/><mtx name="uni06C8" width="612" lsb="-107"/><mtx name="uni06C8.fina" width="713" lsb="-51"/><mtx name="uni06C9" width="612" lsb="-107"/><mtx name="uni06C9.fina" width="713" lsb="-51"/><mtx name="uni06CA" width="612" lsb="-107"/><mtx name="uni06CA.fina" width="713" lsb="-51"/><mtx name="uni06CB" width="612" lsb="-107"/><mtx name="uni06CB.fina" width="713" lsb="-51"/><mtx name="uni06CC" width="1016" lsb="50"/><mtx name="uni06CC.fina" width="1036" lsb="38"/><mtx name="uni06CC.init" width="338" lsb="-85"/><mtx name="uni06CC.medi" width="440" lsb="-87"/><mtx name="uni06CD" width="1148" lsb="0"/><mtx name="uni06CD.fina" width="1086" lsb="-25"/><mtx name="uni06CE" width="1016" lsb="50"/><mtx name="uni06CE.fina" width="1036" lsb="38"/><mtx name="uni06CE.init" width="338" lsb="-85"/><mtx name="uni06CE.medi" width="440" lsb="-87"/><mtx name="uni06CF" width="612" lsb="-107"/><mtx name="uni06CF.fina" width="713" lsb="-51"/><mtx name="uni06D0" width="1016" lsb="50"/><mtx name="uni06D0.fina" width="1036" lsb="38"/><mtx name="uni06D0.init" width="338" lsb="-85"/><mtx name="uni06D0.medi" width="440" lsb="-87"/><mtx name="uni06D1" width="1016" lsb="50"/><mtx name="uni06D1.fina" width="1036" lsb="38"/><mtx name="uni06D1.init" width="338" lsb="-85"/><mtx name="uni06D1.medi" width="440" lsb="-87"/><mtx name="uni06D2" width="1178" lsb="77"/><mtx name="uni06D2.fina" width="1113" lsb="70"/><mtx name="uni06D3" width="1178" lsb="77"/><mtx name="uni06D3.fina" width="1113" lsb="70"/><mtx name="uni06D4" width="641" lsb="174"/><mtx name="uni06D5" width="471" lsb="62"/><mtx name="uni06D5.fina" width="672" lsb="20"/><mtx name="uni06D6" width="0" lsb="-354"/><mtx name="uni06D7" width="0" lsb="-324"/><mtx name="uni06D8" width="0" lsb="-176"/><mtx name="uni06D9" width="0" lsb="-252"/><mtx name="uni06DA" width="0" lsb="-217"/><mtx name="uni06DB" width="0" lsb="-82"/><mtx name="uni06DC" width="0" lsb="-344"/><mtx name="uni06DD" width="1844" lsb="102"/><mtx name="uni06DD.2" width="1844" lsb="102"/><mtx name="uni06DD.3" width="1844" lsb="102"/><mtx name="uni06DD.aat1" width="570" lsb="-1170"/><mtx name="uni06DD.aat2" width="218" lsb="-1522"/><mtx name="uni06DD.aat3" width="216" lsb="-1524"/><mtx name="uni06DD.sp1" width="569" lsb="0"/><mtx name="uni06DD.sp2" width="217" lsb="0"/><mtx name="uni06DD.sp3" width="217" lsb="0"/><mtx name="uni06DE" width="1585" lsb="68"/><mtx name="uni06DF" width="0" lsb="-74"/><mtx name="uni06E0" width="0" lsb="-59"/><mtx name="uni06E1" width="0" lsb="-207"/><mtx name="uni06E2" width="0" lsb="-123"/><mtx name="uni06E3" width="0" lsb="-319"/><mtx name="uni06E4" width="0" lsb="-147"/><mtx name="uni06E5" width="287" lsb="-37"/><mtx name="uni06E6" width="739" lsb="29"/><mtx name="uni06E7" width="0" lsb="-305"/><mtx name="uni06E8" width="0" lsb="-162"/><mtx name="uni06E9" width="750" lsb="109"/><mtx name="uni06EA" width="0" lsb="-113"/><mtx name="uni06EB" width="0" lsb="-113"/><mtx name="uni06EC" width="0" lsb="-102"/><mtx name="uni06ED" width="0" lsb="-94"/><mtx name="uni06EE" width="580" lsb="39"/><mtx name="uni06EE.fina" width="739" lsb="102"/><mtx name="uni06EF" width="590" lsb="-111"/><mtx name="uni06EF.fina" width="610" lsb="-43"/><mtx name="uni06F0" width="881" lsb="326"/><mtx name="uni06F0.Medium" width="704" lsb="261"/><mtx name="uni06F0.Small" width="470" lsb="174"/><mtx name="uni06F1" width="881" lsb="254"/><mtx name="uni06F1.Medium" width="704" lsb="203"/><mtx name="uni06F1.Small" width="470" lsb="135"/><mtx name="uni06F2" width="881" lsb="190"/><mtx name="uni06F2.Medium" width="704" lsb="152"/><mtx name="uni06F2.Small" width="470" lsb="101"/><mtx name="uni06F3" width="881" lsb="109"/><mtx name="uni06F3.Medium" width="704" lsb="86"/><mtx name="uni06F3.Small" width="470" lsb="57"/><mtx name="uni06F4" width="881" lsb="90"/><mtx name="uni06F4.Medium" width="704" lsb="72"/><mtx name="uni06F4.Medium.urdu" width="704" lsb="92"/><mtx name="uni06F4.Small" width="470" lsb="48"/><mtx name="uni06F4.Small.urdu" width="470" lsb="61"/><mtx name="uni06F4.urdu" width="893" lsb="115"/><mtx name="uni06F5" width="881" lsb="123"/><mtx name="uni06F5.Medium" width="704" lsb="98"/><mtx name="uni06F5.Small" width="470" lsb="65"/><mtx name="uni06F6" width="881" lsb="88"/><mtx name="uni06F6.Medium" width="704" lsb="70"/><mtx name="uni06F6.Medium.urdu" width="704" lsb="94"/><mtx name="uni06F6.Small" width="470" lsb="55"/><mtx name="uni06F6.Small.urdu" width="470" lsb="63"/><mtx name="uni06F6.urdu" width="881" lsb="118"/><mtx name="uni06F7" width="881" lsb="97"/><mtx name="uni06F7.Medium" width="704" lsb="77"/><mtx name="uni06F7.Medium.urdu" width="704" lsb="73"/><mtx name="uni06F7.Small" width="470" lsb="51"/><mtx name="uni06F7.Small.urdu" width="470" lsb="49"/><mtx name="uni06F7.urdu" width="881" lsb="92"/><mtx name="uni06F8" width="881" lsb="100"/><mtx name="uni06F8.Medium" width="704" lsb="80"/><mtx name="uni06F8.Small" width="470" lsb="53"/><mtx name="uni06F9" width="881" lsb="171"/><mtx name="uni06F9.Medium" width="704" lsb="136"/><mtx name="uni06F9.Small" width="470" lsb="91"/><mtx name="uni06FA" width="1369" lsb="32"/><mtx name="uni06FA.fina" width="1463" lsb="51"/><mtx name="uni06FA.init" width="850" lsb="-86"/><mtx name="uni06FA.medi" width="1032" lsb="-86"/><mtx name="uni06FB" width="1599" lsb="37"/><mtx name="uni06FB.fina" width="1653" lsb="51"/><mtx name="uni06FB.init" width="1168" lsb="-85"/><mtx name="uni06FB.medi" width="1223" lsb="-85"/><mtx name="uni06FC" width="800" lsb="58"/><mtx name="uni06FC.fina" width="743" lsb="20"/><mtx name="uni06FC.init" width="748" lsb="-86"/><mtx name="uni06FC.medi" width="709" lsb="-82"/><mtx name="uni06FD" width="609" lsb="67"/><mtx name="uni06FE" width="912" lsb="-29"/><mtx name="uni06FF" width="850" lsb="2"/><mtx name="uni06FF.fina" width="940" lsb="-13"/><mtx name="uni06FF.init" width="610" lsb="-86"/><mtx name="uni06FF.medi" width="811" lsb="-82"/><mtx name="uni0750" width="1220" lsb="48"/><mtx name="uni0750.fina" width="1183" lsb="40"/><mtx name="uni0750.init" width="338" lsb="-117"/><mtx name="uni0750.medi" width="440" lsb="-113"/><mtx name="uni0751" width="1220" lsb="48"/><mtx name="uni0751.fina" width="1183" lsb="40"/><mtx name="uni0751.init" width="338" lsb="-85"/><mtx name="uni0751.medi" width="440" lsb="-87"/><mtx name="uni0752" width="1220" lsb="48"/><mtx name="uni0752.fina" width="1183" lsb="40"/><mtx name="uni0752.init" width="338" lsb="-85"/><mtx name="uni0752.medi" width="440" lsb="-87"/><mtx name="uni0753" width="1220" lsb="48"/><mtx name="uni0753.fina" width="1183" lsb="40"/><mtx name="uni0753.init" width="338" lsb="-85"/><mtx name="uni0753.medi" width="440" lsb="-87"/><mtx name="uni0754" width="1220" lsb="48"/><mtx name="uni0754.fina" width="1183" lsb="40"/><mtx name="uni0754.init" width="338" lsb="-85"/><mtx name="uni0754.medi" width="440" lsb="-87"/><mtx name="uni0755" width="1220" lsb="48"/><mtx name="uni0755.fina" width="1183" lsb="40"/><mtx name="uni0755.init" width="338" lsb="-85"/><mtx name="uni0755.medi" width="440" lsb="-87"/><mtx name="uni0756" width="1220" lsb="48"/><mtx name="uni0756.fina" width="1183" lsb="40"/><mtx name="uni0756.init" width="338" lsb="-85"/><mtx name="uni0756.medi" width="440" lsb="-87"/><mtx name="uni0757" width="832" lsb="45"/><mtx name="uni0757.fina" width="889" lsb="25"/><mtx name="uni0757.init" width="715" lsb="-87"/><mtx name="uni0757.medi" width="952" lsb="-86"/><mtx name="uni0758" width="832" lsb="45"/><mtx name="uni0758.fina" width="889" lsb="25"/><mtx name="uni0758.init" width="715" lsb="-87"/><mtx name="uni0758.medi" width="952" lsb="-86"/><mtx name="uni0759" width="580" lsb="80"/><mtx name="uni0759.fina" width="739" lsb="102"/><mtx name="uni075A" width="580" lsb="80"/><mtx name="uni075A.fina" width="739" lsb="102"/><mtx name="uni075B" width="590" lsb="-111"/><mtx name="uni075B.fina" width="610" lsb="-43"/><mtx name="uni075C" width="1369" lsb="32"/><mtx name="uni075C.fina" width="1463" lsb="51"/><mtx name="uni075C.init" width="850" lsb="-86"/><mtx name="uni075C.medi" width="1032" lsb="-86"/><mtx name="uni075D" width="800" lsb="25"/><mtx name="uni075D.fina" width="743" lsb="20"/><mtx name="uni075D.init" width="748" lsb="-86"/><mtx name="uni075D.medi" width="709" lsb="-82"/><mtx name="uni075E" width="800" lsb="25"/><mtx name="uni075E.fina" width="743" lsb="20"/><mtx name="uni075E.init" width="748" lsb="-86"/><mtx name="uni075E.medi" width="709" lsb="-82"/><mtx name="uni075F" width="800" lsb="58"/><mtx name="uni075F.fina" width="743" lsb="20"/><mtx name="uni075F.init" width="748" lsb="-86"/><mtx name="uni075F.medi" width="709" lsb="-82"/><mtx name="uni0760" width="1220" lsb="38"/><mtx name="uni0760.fina" width="1272" lsb="25"/><mtx name="uni0760.init" width="487" lsb="-85"/><mtx name="uni0760.medi" width="563" lsb="-85"/><mtx name="uni0761" width="1220" lsb="38"/><mtx name="uni0761.fina" width="1272" lsb="25"/><mtx name="uni0761.init" width="487" lsb="-85"/><mtx name="uni0761.medi" width="563" lsb="-85"/><mtx name="uni0762" width="1348" lsb="57"/><mtx name="uni0762.fina" width="1577" lsb="39"/><mtx name="uni0762.init" width="633" lsb="-83"/><mtx name="uni0762.medi" width="932" lsb="-85"/><mtx name="uni0763" width="1348" lsb="57"/><mtx name="uni0763.fina" width="1577" lsb="39"/><mtx name="uni0763.init" width="633" lsb="-137"/><mtx name="uni0763.medi" width="932" lsb="-156"/><mtx name="uni0764" width="1348" lsb="57"/><mtx name="uni0764.fina" width="1577" lsb="39"/><mtx name="uni0764.init" width="633" lsb="-83"/><mtx name="uni0764.medi" width="932" lsb="-85"/><mtx name="uni0765" width="557" lsb="37"/><mtx name="uni0765.fina" width="625" lsb="48"/><mtx name="uni0765.init" width="604" lsb="-84"/><mtx name="uni0765.medi" width="694" lsb="-85"/><mtx name="uni0766" width="557" lsb="37"/><mtx name="uni0766.fina" width="625" lsb="48"/><mtx name="uni0766.init" width="604" lsb="-84"/><mtx name="uni0766.medi" width="694" lsb="-85"/><mtx name="uni0767" width="749" lsb="43"/><mtx name="uni0767.fina" width="907" lsb="48"/><mtx name="uni0767.init" width="338" lsb="-85"/><mtx name="uni0767.medi" width="440" lsb="-87"/><mtx name="uni0768" width="749" lsb="43"/><mtx name="uni0768.fina" width="907" lsb="48"/><mtx name="uni0768.init" width="338" lsb="-85"/><mtx name="uni0768.medi" width="440" lsb="-87"/><mtx name="uni0769" width="749" lsb="43"/><mtx name="uni0769.fina" width="907" lsb="48"/><mtx name="uni0769.init" width="338" lsb="-85"/><mtx name="uni0769.medi" width="440" lsb="-87"/><mtx name="uni076A" width="701" lsb="42"/><mtx name="uni076A.fina" width="906" lsb="25"/><mtx name="uni076A.init" width="338" lsb="-86"/><mtx name="uni076A.init.preAlef" width="346" lsb="-374"/><mtx name="uni076A.medi" width="438" lsb="-85"/><mtx name="uni076A.medi.preAlef" width="502" lsb="-342"/><mtx name="uni076A0627" width="922" lsb="127"/><mtx name="uni076A0627.fina" width="1052" lsb="106"/><mtx name="uni076B" width="590" lsb="-111"/><mtx name="uni076B.fina" width="610" lsb="-43"/><mtx name="uni076C" width="590" lsb="-111"/><mtx name="uni076C.fina" width="610" lsb="-43"/><mtx name="uni076D" width="1369" lsb="32"/><mtx name="uni076D.fina" width="1463" lsb="51"/><mtx name="uni076D.init" width="850" lsb="-86"/><mtx name="uni076D.medi" width="1032" lsb="-86"/><mtx name="uni2000" width="1024" lsb="0"/><mtx name="uni2001" width="2048" lsb="0"/><mtx name="uni2002" width="1024" lsb="0"/><mtx name="uni2003" width="2048" lsb="0"/><mtx name="uni2004" width="682" lsb="0"/><mtx name="uni2005" width="512" lsb="0"/><mtx name="uni2006" width="342" lsb="0"/><mtx name="uni2007" width="801" lsb="0"/><mtx name="uni2008" width="641" lsb="0"/><mtx name="uni2009" width="129" lsb="0"/><mtx name="uni200A" width="63" lsb="0"/><mtx name="uni200B" width="0" lsb="0"/><mtx name="uni200C" width="0" lsb="-295"/><mtx name="uni200D" width="0" lsb="-295"/><mtx name="uni200E" width="0" lsb="-50"/><mtx name="uni200F" width="0" lsb="-110"/><mtx name="uni2010" width="514" lsb="61"/><mtx name="uni2011" width="514" lsb="61"/><mtx name="uni202A" width="0" lsb="-41"/><mtx name="uni202B" width="0" lsb="-166"/><mtx name="uni202C" width="0" lsb="-90"/><mtx name="uni202D" width="0" lsb="-145"/><mtx name="uni202E" width="0" lsb="-166"/><mtx name="uni2060" width="0" lsb="0"/><mtx name="uni206C" width="1024" lsb="31"/><mtx name="uni206D" width="1024" lsb="31"/><mtx name="uni2219" width="279" lsb="51"/><mtx name="uni25CC" width="1024" lsb="68"/><mtx name="uniFD3E" width="842" lsb="27"/><mtx name="uniFD3F" width="842" lsb="35"/><mtx name="uniFDF2" width="1307" lsb="30"/><mtx name="uniFDFC" width="1609" lsb="28"/><mtx name="uniFEFF" width="0" lsb="0"/><mtx name="v" width="772" lsb="12"/><mtx name="w" width="1114" lsb="8"/><mtx name="x" width="772" lsb="20"/><mtx name="y" width="772" lsb="8"/><mtx name="yacute" width="772" lsb="8"/><mtx name="ydieresis" width="772" lsb="8"/><mtx name="yen" width="772" lsb="2"/><mtx name="z" width="686" lsb="31"/><mtx name="zcaron" width="686" lsb="31"/><mtx name="zero" width="772" lsb="55"/><mtx name="zeroMedium" width="704" lsb="51"/><mtx name="zeroSmall" width="470" lsb="34"/></hmtx><GDEF><Version value="1.0"/><GlyphClassDef Format="2"><ClassDef glyph=".notdef" class="1"/><ClassDef glyph=".null" class="1"/><ClassDef glyph="A" class="1"/><ClassDef glyph="B" class="1"/><ClassDef glyph="C" class="1"/><ClassDef glyph="D" class="1"/><ClassDef glyph="E" class="1"/><ClassDef glyph="F" class="1"/><ClassDef glyph="G" class="1"/><ClassDef glyph="H" class="1"/><ClassDef glyph="I" class="1"/><ClassDef glyph="J" class="1"/><ClassDef glyph="K" class="1"/><ClassDef glyph="L" class="1"/><ClassDef glyph="M" class="1"/><ClassDef glyph="N" class="1"/><ClassDef glyph="O" class="1"/><ClassDef glyph="P" class="1"/><ClassDef glyph="Q" class="1"/><ClassDef glyph="R" class="1"/><ClassDef glyph="S" class="1"/><ClassDef glyph="T" class="1"/><ClassDef glyph="U" class="1"/><ClassDef glyph="V" class="1"/><ClassDef glyph="W" class="1"/><ClassDef glyph="X" class="1"/><ClassDef glyph="Y" class="1"/><ClassDef glyph="Z" class="1"/><ClassDef glyph="_bar" class="1"/><ClassDef glyph="_damma" class="1"/><ClassDef glyph="_dot1" class="1"/><ClassDef glyph="_dot1_hat" class="1"/><ClassDef glyph="_dot1_smallV" class="1"/><ClassDef glyph="_dot1_tah" class="1"/><ClassDef glyph="_dot2h" class="1"/><ClassDef glyph="_dot2h_tah" class="1"/><ClassDef glyph="_dot2v" class="1"/><ClassDef glyph="_dot3d" class="1"/><ClassDef glyph="_dot3h" class="1"/><ClassDef glyph="_dot3u" class="1"/><ClassDef glyph="_dot3u_tah" class="1"/><ClassDef glyph="_dot4" class="1"/><ClassDef glyph="_gafBar" class="1"/><ClassDef glyph="_gafBar_dot2h" class="1"/><ClassDef glyph="_gafBar_dot3u" class="1"/><ClassDef glyph="_hamza" class="1"/><ClassDef glyph="_hamzaDamma" class="1"/><ClassDef glyph="_hat" class="1"/><ClassDef glyph="_highHamza" class="1"/><ClassDef glyph="_hook" class="1"/><ClassDef glyph="_invSmallV" class="1"/><ClassDef glyph="_lines" class="1"/><ClassDef glyph="_madda" class="1"/><ClassDef glyph="_ring" class="1"/><ClassDef glyph="_smallV" class="1"/><ClassDef glyph="_tah" class="1"/><ClassDef glyph="_vline" class="1"/><ClassDef glyph="_wasla" class="1"/><ClassDef glyph="_wavyHamza" class="1"/><ClassDef glyph="_wavyHamza.b" class="1"/><ClassDef glyph="a" class="1"/><ClassDef glyph="absAutoKashida" class="1"/><ClassDef glyph="absJeemRetro1" class="1"/><ClassDef glyph="absJeemRetro1Fin" class="1"/><ClassDef glyph="absJeemRetro1Ini" class="1"/><ClassDef glyph="absJeemRetro1Med" class="1"/><ClassDef glyph="absJeemRetro2" class="1"/><ClassDef glyph="absJeemRetro2Fin" class="1"/><ClassDef glyph="absJeemRetro2Ini" class="1"/><ClassDef glyph="absJeemRetro2Med" class="1"/><ClassDef glyph="absJeemRetro3" class="1"/><ClassDef glyph="absJeemRetro3Fin" class="1"/><ClassDef glyph="absJeemRetro3Ini" class="1"/><ClassDef glyph="absJeemRetro3Med" class="1"/><ClassDef glyph="absJehRetro1" class="1"/><ClassDef glyph="absJehRetro1Fin" class="1"/><ClassDef glyph="absJehRetro2" class="1"/><ClassDef glyph="absJehRetro2Fin" class="1"/><ClassDef glyph="absLamRetro" class="1"/><ClassDef glyph="absLamRetroAlef" class="2"/><ClassDef glyph="absLamRetroAlefFin" class="2"/><ClassDef glyph="absLamRetroFin" class="1"/><ClassDef glyph="absLamRetroIni" class="1"/><ClassDef glyph="absLamRetroIni.preAlef" class="1"/><ClassDef glyph="absLamRetroMed" class="1"/><ClassDef glyph="absLamRetroMed.preAlef" class="1"/><ClassDef glyph="absShaddaAlef" class="3"/><ClassDef glyph="absSheenRetro1" class="1"/><ClassDef glyph="absSheenRetro1Fin" class="1"/><ClassDef glyph="absSheenRetro1Ini" class="1"/><ClassDef glyph="absSheenRetro1Med" class="1"/><ClassDef glyph="absSheenRetro2" class="1"/><ClassDef glyph="absSheenRetro2Fin" class="1"/><ClassDef glyph="absSheenRetro2Ini" class="1"/><ClassDef glyph="absSheenRetro2Med" class="1"/><ClassDef glyph="absTchehRetro1" class="1"/><ClassDef glyph="absTchehRetro1Fin" class="1"/><ClassDef glyph="absTchehRetro1Ini" class="1"/><ClassDef glyph="absTchehRetro1Med" class="1"/><ClassDef glyph="absTchehRetro2" class="1"/><ClassDef glyph="absTchehRetro2Fin" class="1"/><ClassDef glyph="absTchehRetro2Ini" class="1"/><ClassDef glyph="absTchehRetro2Med" class="1"/><ClassDef glyph="absWawDotBelow" class="1"/><ClassDef glyph="absWawDotBelowFin" class="1"/><ClassDef glyph="ampersand" class="1"/><ClassDef glyph="asciicircum" class="1"/><ClassDef glyph="asciitilde" class="1"/><ClassDef glyph="asterisk" class="1"/><ClassDef glyph="asterisk.arab" class="1"/><ClassDef glyph="at" class="1"/><ClassDef glyph="b" class="1"/><ClassDef glyph="backslash" class="1"/><ClassDef glyph="bar" class="1"/><ClassDef glyph="braceleft" class="1"/><ClassDef glyph="braceright" class="1"/><ClassDef glyph="bracketleft" class="1"/><ClassDef glyph="bracketright" class="1"/><ClassDef glyph="c" class="1"/><ClassDef glyph="colon" class="1"/><ClassDef glyph="colon.arab" class="1"/><ClassDef glyph="comma" class="1"/><ClassDef glyph="d" class="1"/><ClassDef glyph="dollar" class="1"/><ClassDef glyph="e" class="1"/><ClassDef glyph="eight" class="1"/><ClassDef glyph="eightMedium" class="3"/><ClassDef glyph="eightSmall" class="3"/><ClassDef glyph="equal" class="1"/><ClassDef glyph="exclam" class="1"/><ClassDef glyph="exclam.arab" class="1"/><ClassDef glyph="f" class="1"/><ClassDef glyph="five" class="1"/><ClassDef glyph="fiveMedium" class="3"/><ClassDef glyph="fiveSmall" class="3"/><ClassDef glyph="four" class="1"/><ClassDef glyph="fourMedium" class="3"/><ClassDef glyph="fourSmall" class="3"/><ClassDef glyph="g" class="1"/><ClassDef glyph="grave" class="1"/><ClassDef glyph="greater" class="1"/><ClassDef glyph="h" class="1"/><ClassDef glyph="hyphen" class="1"/><ClassDef glyph="i" class="1"/><ClassDef glyph="j" class="1"/><ClassDef glyph="k" class="1"/><ClassDef glyph="l" class="1"/><ClassDef glyph="less" class="1"/><ClassDef glyph="m" class="1"/><ClassDef glyph="n" class="1"/><ClassDef glyph="nine" class="1"/><ClassDef glyph="nineMedium" class="3"/><ClassDef glyph="nineSmall" class="3"/><ClassDef glyph="nonmarkingreturn" class="1"/><ClassDef glyph="numbersign" class="1"/><ClassDef glyph="o" class="1"/><ClassDef glyph="one" class="1"/><ClassDef glyph="oneMedium" class="3"/><ClassDef glyph="oneSmall" class="3"/><ClassDef glyph="p" class="1"/><ClassDef glyph="parenleft" class="1"/><ClassDef glyph="parenleft.arab" class="1"/><ClassDef glyph="parenright" class="1"/><ClassDef glyph="parenright.arab" class="1"/><ClassDef glyph="percent" class="1"/><ClassDef glyph="period" class="1"/><ClassDef glyph="plus" class="1"/><ClassDef glyph="q" class="1"/><ClassDef glyph="question" class="1"/><ClassDef glyph="quotedbl" class="1"/><ClassDef glyph="quotedblleft.arab" class="1"/><ClassDef glyph="quotedblright.arab" class="1"/><ClassDef glyph="quoteleft.arab" class="1"/><ClassDef glyph="quoteright.arab" class="1"/><ClassDef glyph="quotesingle" class="1"/><ClassDef glyph="r" class="1"/><ClassDef glyph="s" class="1"/><ClassDef glyph="semicolon" class="1"/><ClassDef glyph="seven" class="1"/><ClassDef glyph="sevenMedium" class="3"/><ClassDef glyph="sevenSmall" class="3"/><ClassDef glyph="six" class="1"/><ClassDef glyph="sixMedium" class="3"/><ClassDef glyph="sixSmall" class="3"/><ClassDef glyph="slash" class="1"/><ClassDef glyph="space" class="1"/><ClassDef glyph="t" class="1"/><ClassDef glyph="three" class="1"/><ClassDef glyph="threeMedium" class="3"/><ClassDef glyph="threeSmall" class="3"/><ClassDef glyph="two" class="1"/><ClassDef glyph="twoMedium" class="3"/><ClassDef glyph="twoSmall" class="3"/><ClassDef glyph="u" class="1"/><ClassDef glyph="underscore" class="1"/><ClassDef glyph="uni060C" class="1"/><ClassDef glyph="uni060C.downward" class="1"/><ClassDef glyph="uni0614" class="3"/><ClassDef glyph="uni061B" class="1"/><ClassDef glyph="uni061B.downward" class="1"/><ClassDef glyph="uni061E" class="1"/><ClassDef glyph="uni061F" class="1"/><ClassDef glyph="uni0621" class="1"/><ClassDef glyph="uni0622" class="1"/><ClassDef glyph="uni0622.fina" class="1"/><ClassDef glyph="uni0622.fina.postLamIni" class="1"/><ClassDef glyph="uni0622.fina.postLamMed" class="1"/><ClassDef glyph="uni0623" class="1"/><ClassDef glyph="uni0623.fina" class="1"/><ClassDef glyph="uni0623.fina.postLamIni" class="1"/><ClassDef glyph="uni0623.fina.postLamMed" class="1"/><ClassDef glyph="uni0624" class="1"/><ClassDef glyph="uni0624.fina" class="1"/><ClassDef glyph="uni0625" class="1"/><ClassDef glyph="uni0625.fina" class="1"/><ClassDef glyph="uni0625.fina.postLamIni" class="1"/><ClassDef glyph="uni0625.fina.postLamMed" class="1"/><ClassDef glyph="uni0626" class="1"/><ClassDef glyph="uni0626.fina" class="1"/><ClassDef glyph="uni0626.init" class="1"/><ClassDef glyph="uni0626.medi" class="1"/><ClassDef glyph="uni0627" class="1"/><ClassDef glyph="uni0627.fina" class="1"/><ClassDef glyph="uni0627.fina.postLamIni" class="1"/><ClassDef glyph="uni0627.fina.postLamMed" class="1"/><ClassDef glyph="uni0628" class="1"/><ClassDef glyph="uni0628.fina" class="1"/><ClassDef glyph="uni0628.init" class="1"/><ClassDef glyph="uni0628.medi" class="1"/><ClassDef glyph="uni0629" class="1"/><ClassDef glyph="uni0629.fina" class="1"/><ClassDef glyph="uni062A" class="1"/><ClassDef glyph="uni062A.fina" class="1"/><ClassDef glyph="uni062A.init" class="1"/><ClassDef glyph="uni062A.medi" class="1"/><ClassDef glyph="uni062B" class="1"/><ClassDef glyph="uni062B.fina" class="1"/><ClassDef glyph="uni062B.init" class="1"/><ClassDef glyph="uni062B.medi" class="1"/><ClassDef glyph="uni062C" class="1"/><ClassDef glyph="uni062C.fina" class="1"/><ClassDef glyph="uni062C.init" class="1"/><ClassDef glyph="uni062C.medi" class="1"/><ClassDef glyph="uni062D" class="1"/><ClassDef glyph="uni062D.fina" class="1"/><ClassDef glyph="uni062D.init" class="1"/><ClassDef glyph="uni062D.medi" class="1"/><ClassDef glyph="uni062E" class="1"/><ClassDef glyph="uni062E.fina" class="1"/><ClassDef glyph="uni062E.init" class="1"/><ClassDef glyph="uni062E.medi" class="1"/><ClassDef glyph="uni062F" class="1"/><ClassDef glyph="uni062F.fina" class="1"/><ClassDef glyph="uni0630" class="1"/><ClassDef glyph="uni0630.fina" class="1"/><ClassDef glyph="uni0631" class="1"/><ClassDef glyph="uni0631.fina" class="1"/><ClassDef glyph="uni0632" class="1"/><ClassDef glyph="uni0632.fina" class="1"/><ClassDef glyph="uni0633" class="1"/><ClassDef glyph="uni0633.fina" class="1"/><ClassDef glyph="uni0633.init" class="1"/><ClassDef glyph="uni0633.medi" class="1"/><ClassDef glyph="uni0634" class="1"/><ClassDef glyph="uni0634.fina" class="1"/><ClassDef glyph="uni0634.init" class="1"/><ClassDef glyph="uni0634.medi" class="1"/><ClassDef glyph="uni0635" class="1"/><ClassDef glyph="uni0635.fina" class="1"/><ClassDef glyph="uni0635.init" class="1"/><ClassDef glyph="uni0635.medi" class="1"/><ClassDef glyph="uni0636" class="1"/><ClassDef glyph="uni0636.fina" class="1"/><ClassDef glyph="uni0636.init" class="1"/><ClassDef glyph="uni0636.medi" class="1"/><ClassDef glyph="uni0637" class="1"/><ClassDef glyph="uni0637.fina" class="1"/><ClassDef glyph="uni0637.init" class="1"/><ClassDef glyph="uni0637.medi" class="1"/><ClassDef glyph="uni0638" class="1"/><ClassDef glyph="uni0638.fina" class="1"/><ClassDef glyph="uni0638.init" class="1"/><ClassDef glyph="uni0638.medi" class="1"/><ClassDef glyph="uni0639" class="1"/><ClassDef glyph="uni0639.fina" class="1"/><ClassDef glyph="uni0639.init" class="1"/><ClassDef glyph="uni0639.medi" class="1"/><ClassDef glyph="uni063A" class="1"/><ClassDef glyph="uni063A.fina" class="1"/><ClassDef glyph="uni063A.init" class="1"/><ClassDef glyph="uni063A.medi" class="1"/><ClassDef glyph="uni0640" class="1"/><ClassDef glyph="uni0641" class="1"/><ClassDef glyph="uni0641.fina" class="1"/><ClassDef glyph="uni0641.init" class="1"/><ClassDef glyph="uni0641.medi" class="1"/><ClassDef glyph="uni0642" class="1"/><ClassDef glyph="uni0642.fina" class="1"/><ClassDef glyph="uni0642.init" class="1"/><ClassDef glyph="uni0642.medi" class="1"/><ClassDef glyph="uni0643" class="1"/><ClassDef glyph="uni0643.fina" class="1"/><ClassDef glyph="uni0643.init" class="1"/><ClassDef glyph="uni0643.medi" class="1"/><ClassDef glyph="uni0644" class="1"/><ClassDef glyph="uni0644.fina" class="1"/><ClassDef glyph="uni0644.init" class="1"/><ClassDef glyph="uni0644.init.preAlef" class="1"/><ClassDef glyph="uni0644.medi" class="1"/><ClassDef glyph="uni0644.medi.preAlef" class="1"/><ClassDef glyph="uni06440627" class="2"/><ClassDef glyph="uni06440627.fina" class="2"/><ClassDef glyph="uni0645" class="1"/><ClassDef glyph="uni0645.fina" class="1"/><ClassDef glyph="uni0645.fina.sindhi" class="1"/><ClassDef glyph="uni0645.init" class="1"/><ClassDef glyph="uni0645.medi" class="1"/><ClassDef glyph="uni0645.sindhi" class="1"/><ClassDef glyph="uni0646" class="1"/><ClassDef glyph="uni0646.fina" class="1"/><ClassDef glyph="uni0646.init" class="1"/><ClassDef glyph="uni0646.medi" class="1"/><ClassDef glyph="uni0647" class="1"/><ClassDef glyph="uni0647.fina" class="1"/><ClassDef glyph="uni0647.fina.hooked" class="1"/><ClassDef glyph="uni0647.fina.knottedFlat" class="1"/><ClassDef glyph="uni0647.fina.knottedHigh" class="1"/><ClassDef glyph="uni0647.init" class="1"/><ClassDef glyph="uni0647.init.hooked" class="1"/><ClassDef glyph="uni0647.knotted" class="1"/><ClassDef glyph="uni0647.medi" class="1"/><ClassDef glyph="uni0647.medi.hooked" class="1"/><ClassDef glyph="uni0647.medi.knottedHigh" class="1"/><ClassDef glyph="uni0648" class="1"/><ClassDef glyph="uni0648.fina" class="1"/><ClassDef glyph="uni0649" class="1"/><ClassDef glyph="uni0649.fina" class="1"/><ClassDef glyph="uni0649.init" class="1"/><ClassDef glyph="uni0649.medi" class="1"/><ClassDef glyph="uni064A" class="1"/><ClassDef glyph="uni064A.fina" class="1"/><ClassDef glyph="uni064A.fina.noDots" class="1"/><ClassDef glyph="uni064A.init" class="1"/><ClassDef glyph="uni064A.init.noDots" class="1"/><ClassDef glyph="uni064A.medi" class="1"/><ClassDef glyph="uni064A.medi.noDots" class="1"/><ClassDef glyph="uni064A.noDots" class="1"/><ClassDef glyph="uni064B" class="3"/><ClassDef glyph="uni064C" class="3"/><ClassDef glyph="uni064C.sixNine" class="3"/><ClassDef glyph="uni064D" class="3"/><ClassDef glyph="uni064E" class="3"/><ClassDef glyph="uni064F" class="3"/><ClassDef glyph="uni0650" class="3"/><ClassDef glyph="uni0651" class="3"/><ClassDef glyph="uni0651064B" class="3"/><ClassDef glyph="uni0651064C" class="3"/><ClassDef glyph="uni0651064D" class="3"/><ClassDef glyph="uni0651064E" class="3"/><ClassDef glyph="uni0651064F" class="3"/><ClassDef glyph="uni06510650" class="3"/><ClassDef glyph="uni0652" class="3"/><ClassDef glyph="uni0652.downOpen" class="3"/><ClassDef glyph="uni0652.leftOpen" class="3"/><ClassDef glyph="uni0653" class="3"/><ClassDef glyph="uni0654" class="3"/><ClassDef glyph="uni0654064E" class="3"/><ClassDef glyph="uni0654064F" class="3"/><ClassDef glyph="uni0655" class="3"/><ClassDef glyph="uni0656" class="3"/><ClassDef glyph="uni0657" class="3"/><ClassDef glyph="uni0658" class="3"/><ClassDef glyph="uni0659" class="3"/><ClassDef glyph="uni065A" class="3"/><ClassDef glyph="uni065B" class="3"/><ClassDef glyph="uni065C" class="3"/><ClassDef glyph="uni065D" class="3"/><ClassDef glyph="uni065E" class="3"/><ClassDef glyph="uni0660" class="1"/><ClassDef glyph="uni0660.Medium" class="3"/><ClassDef glyph="uni0660.Small" class="3"/><ClassDef glyph="uni0661" class="1"/><ClassDef glyph="uni0661.Medium" class="3"/><ClassDef glyph="uni0661.Small" class="3"/><ClassDef glyph="uni0662" class="1"/><ClassDef glyph="uni0662.Medium" class="3"/><ClassDef glyph="uni0662.Small" class="3"/><ClassDef glyph="uni0663" class="1"/><ClassDef glyph="uni0663.Medium" class="3"/><ClassDef glyph="uni0663.Small" class="3"/><ClassDef glyph="uni0664" class="1"/><ClassDef glyph="uni0664.Medium" class="3"/><ClassDef glyph="uni0664.Small" class="3"/><ClassDef glyph="uni0665" class="1"/><ClassDef glyph="uni0665.Medium" class="3"/><ClassDef glyph="uni0665.Small" class="3"/><ClassDef glyph="uni0666" class="1"/><ClassDef glyph="uni0666.Medium" class="3"/><ClassDef glyph="uni0666.Small" class="3"/><ClassDef glyph="uni0667" class="1"/><ClassDef glyph="uni0667.Medium" class="3"/><ClassDef glyph="uni0667.Small" class="3"/><ClassDef glyph="uni0668" class="1"/><ClassDef glyph="uni0668.Medium" class="3"/><ClassDef glyph="uni0668.Small" class="3"/><ClassDef glyph="uni0669" class="1"/><ClassDef glyph="uni0669.Medium" class="3"/><ClassDef glyph="uni0669.Small" class="3"/><ClassDef glyph="uni066A" class="1"/><ClassDef glyph="uni066B" class="1"/><ClassDef glyph="uni066C" class="1"/><ClassDef glyph="uni066D" class="1"/><ClassDef glyph="uni066E" class="1"/><ClassDef glyph="uni066E.fina" class="1"/><ClassDef glyph="uni066E.init" class="1"/><ClassDef glyph="uni066E.medi" class="1"/><ClassDef glyph="uni066F" class="1"/><ClassDef glyph="uni066F.fina" class="1"/><ClassDef glyph="uni066F.init" class="1"/><ClassDef glyph="uni066F.medi" class="1"/><ClassDef glyph="uni0670" class="3"/><ClassDef glyph="uni0670.large" class="3"/><ClassDef glyph="uni0671" class="1"/><ClassDef glyph="uni0671.fina" class="1"/><ClassDef glyph="uni0671.fina.postLamIni" class="1"/><ClassDef glyph="uni0671.fina.postLamMed" class="1"/><ClassDef glyph="uni0672" class="1"/><ClassDef glyph="uni0672.fina" class="1"/><ClassDef glyph="uni0672.fina.postLamIni" class="1"/><ClassDef glyph="uni0672.fina.postLamMed" class="1"/><ClassDef glyph="uni0673" class="1"/><ClassDef glyph="uni0673.fina" class="1"/><ClassDef glyph="uni0673.fina.postLamIni" class="1"/><ClassDef glyph="uni0673.fina.postLamMed" class="1"/><ClassDef glyph="uni0674" class="3"/><ClassDef glyph="uni0675" class="1"/><ClassDef glyph="uni0675.fina" class="1"/><ClassDef glyph="uni0675.fina.postLamIni" class="1"/><ClassDef glyph="uni0675.fina.postLamMed" class="1"/><ClassDef glyph="uni0676" class="1"/><ClassDef glyph="uni0676.fina" class="1"/><ClassDef glyph="uni0677" class="1"/><ClassDef glyph="uni0677.fina" class="1"/><ClassDef glyph="uni0678" class="1"/><ClassDef glyph="uni0678.fina" class="1"/><ClassDef glyph="uni0678.init" class="1"/><ClassDef glyph="uni0678.medi" class="1"/><ClassDef glyph="uni0679" class="1"/><ClassDef glyph="uni0679.fina" class="1"/><ClassDef glyph="uni0679.init" class="1"/><ClassDef glyph="uni0679.medi" class="1"/><ClassDef glyph="uni067A" class="1"/><ClassDef glyph="uni067A.fina" class="1"/><ClassDef glyph="uni067A.init" class="1"/><ClassDef glyph="uni067A.medi" class="1"/><ClassDef glyph="uni067B" class="1"/><ClassDef glyph="uni067B.fina" class="1"/><ClassDef glyph="uni067B.init" class="1"/><ClassDef glyph="uni067B.medi" class="1"/><ClassDef glyph="uni067C" class="1"/><ClassDef glyph="uni067C.fina" class="1"/><ClassDef glyph="uni067C.init" class="1"/><ClassDef glyph="uni067C.medi" class="1"/><ClassDef glyph="uni067D" class="1"/><ClassDef glyph="uni067D.fina" class="1"/><ClassDef glyph="uni067D.init" class="1"/><ClassDef glyph="uni067D.medi" class="1"/><ClassDef glyph="uni067E" class="1"/><ClassDef glyph="uni067E.fina" class="1"/><ClassDef glyph="uni067E.init" class="1"/><ClassDef glyph="uni067E.medi" class="1"/><ClassDef glyph="uni067F" class="1"/><ClassDef glyph="uni067F.fina" class="1"/><ClassDef glyph="uni067F.init" class="1"/><ClassDef glyph="uni067F.medi" class="1"/><ClassDef glyph="uni0680" class="1"/><ClassDef glyph="uni0680.fina" class="1"/><ClassDef glyph="uni0680.init" class="1"/><ClassDef glyph="uni0680.medi" class="1"/><ClassDef glyph="uni0681" class="1"/><ClassDef glyph="uni0681.fina" class="1"/><ClassDef glyph="uni0681.init" class="1"/><ClassDef glyph="uni0681.medi" class="1"/><ClassDef glyph="uni0682" class="1"/><ClassDef glyph="uni0682.fina" class="1"/><ClassDef glyph="uni0682.init" class="1"/><ClassDef glyph="uni0682.medi" class="1"/><ClassDef glyph="uni0683" class="1"/><ClassDef glyph="uni0683.fina" class="1"/><ClassDef glyph="uni0683.init" class="1"/><ClassDef glyph="uni0683.medi" class="1"/><ClassDef glyph="uni0684" class="1"/><ClassDef glyph="uni0684.fina" class="1"/><ClassDef glyph="uni0684.init" class="1"/><ClassDef glyph="uni0684.medi" class="1"/><ClassDef glyph="uni0685" class="1"/><ClassDef glyph="uni0685.fina" class="1"/><ClassDef glyph="uni0685.init" class="1"/><ClassDef glyph="uni0685.medi" class="1"/><ClassDef glyph="uni0686" class="1"/><ClassDef glyph="uni0686.fina" class="1"/><ClassDef glyph="uni0686.init" class="1"/><ClassDef glyph="uni0686.medi" class="1"/><ClassDef glyph="uni0687" class="1"/><ClassDef glyph="uni0687.fina" class="1"/><ClassDef glyph="uni0687.init" class="1"/><ClassDef glyph="uni0687.medi" class="1"/><ClassDef glyph="uni0688" class="1"/><ClassDef glyph="uni0688.fina" class="1"/><ClassDef glyph="uni0689" class="1"/><ClassDef glyph="uni0689.fina" class="1"/><ClassDef glyph="uni068A" class="1"/><ClassDef glyph="uni068A.fina" class="1"/><ClassDef glyph="uni068B" class="1"/><ClassDef glyph="uni068B.fina" class="1"/><ClassDef glyph="uni068C" class="1"/><ClassDef glyph="uni068C.fina" class="1"/><ClassDef glyph="uni068D" class="1"/><ClassDef glyph="uni068D.fina" class="1"/><ClassDef glyph="uni068E" class="1"/><ClassDef glyph="uni068E.fina" class="1"/><ClassDef glyph="uni068F" class="1"/><ClassDef glyph="uni068F.fina" class="1"/><ClassDef glyph="uni0690" class="1"/><ClassDef glyph="uni0690.fina" class="1"/><ClassDef glyph="uni0691" class="1"/><ClassDef glyph="uni0691.fina" class="1"/><ClassDef glyph="uni0692" class="1"/><ClassDef glyph="uni0692.fina" class="1"/><ClassDef glyph="uni0693" class="1"/><ClassDef glyph="uni0693.fina" class="1"/><ClassDef glyph="uni0694" class="1"/><ClassDef glyph="uni0694.fina" class="1"/><ClassDef glyph="uni0695" class="1"/><ClassDef glyph="uni0695.fina" class="1"/><ClassDef glyph="uni0696" class="1"/><ClassDef glyph="uni0696.fina" class="1"/><ClassDef glyph="uni0697" class="1"/><ClassDef glyph="uni0697.fina" class="1"/><ClassDef glyph="uni0698" class="1"/><ClassDef glyph="uni0698.dotHat" class="1"/><ClassDef glyph="uni0698.fina" class="1"/><ClassDef glyph="uni0698.fina.dotHat" class="1"/><ClassDef glyph="uni0699" class="1"/><ClassDef glyph="uni0699.fina" class="1"/><ClassDef glyph="uni069A" class="1"/><ClassDef glyph="uni069A.fina" class="1"/><ClassDef glyph="uni069A.init" class="1"/><ClassDef glyph="uni069A.medi" class="1"/><ClassDef glyph="uni069B" class="1"/><ClassDef glyph="uni069B.fina" class="1"/><ClassDef glyph="uni069B.init" class="1"/><ClassDef glyph="uni069B.medi" class="1"/><ClassDef glyph="uni069C" class="1"/><ClassDef glyph="uni069C.fina" class="1"/><ClassDef glyph="uni069C.init" class="1"/><ClassDef glyph="uni069C.medi" class="1"/><ClassDef glyph="uni069D" class="1"/><ClassDef glyph="uni069D.fina" class="1"/><ClassDef glyph="uni069D.init" class="1"/><ClassDef glyph="uni069D.medi" class="1"/><ClassDef glyph="uni069E" class="1"/><ClassDef glyph="uni069E.fina" class="1"/><ClassDef glyph="uni069E.init" class="1"/><ClassDef glyph="uni069E.medi" class="1"/><ClassDef glyph="uni069F" class="1"/><ClassDef glyph="uni069F.fina" class="1"/><ClassDef glyph="uni069F.init" class="1"/><ClassDef glyph="uni069F.medi" class="1"/><ClassDef glyph="uni06A0" class="1"/><ClassDef glyph="uni06A0.fina" class="1"/><ClassDef glyph="uni06A0.init" class="1"/><ClassDef glyph="uni06A0.medi" class="1"/><ClassDef glyph="uni06A1" class="1"/><ClassDef glyph="uni06A1.fina" class="1"/><ClassDef glyph="uni06A1.init" class="1"/><ClassDef glyph="uni06A1.medi" class="1"/><ClassDef glyph="uni06A2" class="1"/><ClassDef glyph="uni06A2.fina" class="1"/><ClassDef glyph="uni06A2.init" class="1"/><ClassDef glyph="uni06A2.medi" class="1"/><ClassDef glyph="uni06A3" class="1"/><ClassDef glyph="uni06A3.fina" class="1"/><ClassDef glyph="uni06A3.init" class="1"/><ClassDef glyph="uni06A3.medi" class="1"/><ClassDef glyph="uni06A4" class="1"/><ClassDef glyph="uni06A4.fina" class="1"/><ClassDef glyph="uni06A4.init" class="1"/><ClassDef glyph="uni06A4.medi" class="1"/><ClassDef glyph="uni06A5" class="1"/><ClassDef glyph="uni06A5.fina" class="1"/><ClassDef glyph="uni06A5.init" class="1"/><ClassDef glyph="uni06A5.medi" class="1"/><ClassDef glyph="uni06A6" class="1"/><ClassDef glyph="uni06A6.fina" class="1"/><ClassDef glyph="uni06A6.init" class="1"/><ClassDef glyph="uni06A6.medi" class="1"/><ClassDef glyph="uni06A7" class="1"/><ClassDef glyph="uni06A7.fina" class="1"/><ClassDef glyph="uni06A7.init" class="1"/><ClassDef glyph="uni06A7.medi" class="1"/><ClassDef glyph="uni06A8" class="1"/><ClassDef glyph="uni06A8.fina" class="1"/><ClassDef glyph="uni06A8.init" class="1"/><ClassDef glyph="uni06A8.medi" class="1"/><ClassDef glyph="uni06A9" class="1"/><ClassDef glyph="uni06A9.fina" class="1"/><ClassDef glyph="uni06A9.init" class="1"/><ClassDef glyph="uni06A9.medi" class="1"/><ClassDef glyph="uni06AA" class="1"/><ClassDef glyph="uni06AA.fina" class="1"/><ClassDef glyph="uni06AA.init" class="1"/><ClassDef glyph="uni06AA.medi" class="1"/><ClassDef glyph="uni06AB" class="1"/><ClassDef glyph="uni06AB.fina" class="1"/><ClassDef glyph="uni06AB.init" class="1"/><ClassDef glyph="uni06AB.medi" class="1"/><ClassDef glyph="uni06AC" class="1"/><ClassDef glyph="uni06AC.fina" class="1"/><ClassDef glyph="uni06AC.init" class="1"/><ClassDef glyph="uni06AC.medi" class="1"/><ClassDef glyph="uni06AD" class="1"/><ClassDef glyph="uni06AD.fina" class="1"/><ClassDef glyph="uni06AD.init" class="1"/><ClassDef glyph="uni06AD.medi" class="1"/><ClassDef glyph="uni06AE" class="1"/><ClassDef glyph="uni06AE.fina" class="1"/><ClassDef glyph="uni06AE.init" class="1"/><ClassDef glyph="uni06AE.medi" class="1"/><ClassDef glyph="uni06AF" class="1"/><ClassDef glyph="uni06AF.fina" class="1"/><ClassDef glyph="uni06AF.init" class="1"/><ClassDef glyph="uni06AF.medi" class="1"/><ClassDef glyph="uni06B0" class="1"/><ClassDef glyph="uni06B0.fina" class="1"/><ClassDef glyph="uni06B0.init" class="1"/><ClassDef glyph="uni06B0.medi" class="1"/><ClassDef glyph="uni06B1" class="1"/><ClassDef glyph="uni06B1.fina" class="1"/><ClassDef glyph="uni06B1.init" class="1"/><ClassDef glyph="uni06B1.medi" class="1"/><ClassDef glyph="uni06B2" class="1"/><ClassDef glyph="uni06B2.fina" class="1"/><ClassDef glyph="uni06B2.init" class="1"/><ClassDef glyph="uni06B2.medi" class="1"/><ClassDef glyph="uni06B3" class="1"/><ClassDef glyph="uni06B3.fina" class="1"/><ClassDef glyph="uni06B3.init" class="1"/><ClassDef glyph="uni06B3.medi" class="1"/><ClassDef glyph="uni06B4" class="1"/><ClassDef glyph="uni06B4.fina" class="1"/><ClassDef glyph="uni06B4.init" class="1"/><ClassDef glyph="uni06B4.medi" class="1"/><ClassDef glyph="uni06B5" class="1"/><ClassDef glyph="uni06B5.fina" class="1"/><ClassDef glyph="uni06B5.init" class="1"/><ClassDef glyph="uni06B5.init.preAlef" class="1"/><ClassDef glyph="uni06B5.medi" class="1"/><ClassDef glyph="uni06B5.medi.preAlef" class="1"/><ClassDef glyph="uni06B50627" class="2"/><ClassDef glyph="uni06B50627.fina" class="2"/><ClassDef glyph="uni06B6" class="1"/><ClassDef glyph="uni06B6.fina" class="1"/><ClassDef glyph="uni06B6.init" class="1"/><ClassDef glyph="uni06B6.init.preAlef" class="1"/><ClassDef glyph="uni06B6.medi" class="1"/><ClassDef glyph="uni06B6.medi.preAlef" class="1"/><ClassDef glyph="uni06B60627" class="2"/><ClassDef glyph="uni06B60627.fina" class="2"/><ClassDef glyph="uni06B7" class="1"/><ClassDef glyph="uni06B7.fina" class="1"/><ClassDef glyph="uni06B7.init" class="1"/><ClassDef glyph="uni06B7.init.preAlef" class="1"/><ClassDef glyph="uni06B7.medi" class="1"/><ClassDef glyph="uni06B7.medi.preAlef" class="1"/><ClassDef glyph="uni06B70627" class="2"/><ClassDef glyph="uni06B70627.fina" class="2"/><ClassDef glyph="uni06B8" class="1"/><ClassDef glyph="uni06B8.fina" class="1"/><ClassDef glyph="uni06B8.init" class="1"/><ClassDef glyph="uni06B8.init.preAlef" class="1"/><ClassDef glyph="uni06B8.medi" class="1"/><ClassDef glyph="uni06B8.medi.preAlef" class="1"/><ClassDef glyph="uni06B80627" class="2"/><ClassDef glyph="uni06B80627.fina" class="2"/><ClassDef glyph="uni06B9" class="1"/><ClassDef glyph="uni06B9.fina" class="1"/><ClassDef glyph="uni06B9.init" class="1"/><ClassDef glyph="uni06B9.medi" class="1"/><ClassDef glyph="uni06BA" class="1"/><ClassDef glyph="uni06BA.fina" class="1"/><ClassDef glyph="uni06BA.init" class="1"/><ClassDef glyph="uni06BA.medi" class="1"/><ClassDef glyph="uni06BB" class="1"/><ClassDef glyph="uni06BB.fina" class="1"/><ClassDef glyph="uni06BB.init" class="1"/><ClassDef glyph="uni06BB.medi" class="1"/><ClassDef glyph="uni06BC" class="1"/><ClassDef glyph="uni06BC.fina" class="1"/><ClassDef glyph="uni06BC.init" class="1"/><ClassDef glyph="uni06BC.medi" class="1"/><ClassDef glyph="uni06BD" class="1"/><ClassDef glyph="uni06BD.fina" class="1"/><ClassDef glyph="uni06BD.init" class="1"/><ClassDef glyph="uni06BD.medi" class="1"/><ClassDef glyph="uni06BE" class="1"/><ClassDef glyph="uni06BE.fina" class="1"/><ClassDef glyph="uni06BE.init" class="1"/><ClassDef glyph="uni06BE.medi" class="1"/><ClassDef glyph="uni06BF" class="1"/><ClassDef glyph="uni06BF.fina" class="1"/><ClassDef glyph="uni06BF.init" class="1"/><ClassDef glyph="uni06BF.medi" class="1"/><ClassDef glyph="uni06C0" class="1"/><ClassDef glyph="uni06C0.fina" class="1"/><ClassDef glyph="uni06C0.init" class="1"/><ClassDef glyph="uni06C0.medi" class="1"/><ClassDef glyph="uni06C1" class="1"/><ClassDef glyph="uni06C1.fina" class="1"/><ClassDef glyph="uni06C1.init" class="1"/><ClassDef glyph="uni06C1.medi" class="1"/><ClassDef glyph="uni06C2" class="1"/><ClassDef glyph="uni06C2.fina" class="1"/><ClassDef glyph="uni06C2.init" class="1"/><ClassDef glyph="uni06C2.medi" class="1"/><ClassDef glyph="uni06C3" class="1"/><ClassDef glyph="uni06C3.fina" class="1"/><ClassDef glyph="uni06C4" class="1"/><ClassDef glyph="uni06C4.fina" class="1"/><ClassDef glyph="uni06C5" class="1"/><ClassDef glyph="uni06C5.fina" class="1"/><ClassDef glyph="uni06C6" class="1"/><ClassDef glyph="uni06C6.fina" class="1"/><ClassDef glyph="uni06C7" class="1"/><ClassDef glyph="uni06C7.fina" class="1"/><ClassDef glyph="uni06C8" class="1"/><ClassDef glyph="uni06C8.fina" class="1"/><ClassDef glyph="uni06C9" class="1"/><ClassDef glyph="uni06C9.fina" class="1"/><ClassDef glyph="uni06CA" class="1"/><ClassDef glyph="uni06CA.fina" class="1"/><ClassDef glyph="uni06CB" class="1"/><ClassDef glyph="uni06CB.fina" class="1"/><ClassDef glyph="uni06CC" class="1"/><ClassDef glyph="uni06CC.fina" class="1"/><ClassDef glyph="uni06CC.init" class="1"/><ClassDef glyph="uni06CC.medi" class="1"/><ClassDef glyph="uni06CD" class="1"/><ClassDef glyph="uni06CD.fina" class="1"/><ClassDef glyph="uni06CE" class="1"/><ClassDef glyph="uni06CE.fina" class="1"/><ClassDef glyph="uni06CE.init" class="1"/><ClassDef glyph="uni06CE.medi" class="1"/><ClassDef glyph="uni06CF" class="1"/><ClassDef glyph="uni06CF.fina" class="1"/><ClassDef glyph="uni06D0" class="1"/><ClassDef glyph="uni06D0.fina" class="1"/><ClassDef glyph="uni06D0.init" class="1"/><ClassDef glyph="uni06D0.medi" class="1"/><ClassDef glyph="uni06D1" class="1"/><ClassDef glyph="uni06D1.fina" class="1"/><ClassDef glyph="uni06D1.init" class="1"/><ClassDef glyph="uni06D1.medi" class="1"/><ClassDef glyph="uni06D2" class="1"/><ClassDef glyph="uni06D2.fina" class="1"/><ClassDef glyph="uni06D3" class="1"/><ClassDef glyph="uni06D3.fina" class="1"/><ClassDef glyph="uni06D4" class="1"/><ClassDef glyph="uni06D5" class="1"/><ClassDef glyph="uni06D6" class="3"/><ClassDef glyph="uni06D7" class="3"/><ClassDef glyph="uni06D8" class="3"/><ClassDef glyph="uni06D9" class="3"/><ClassDef glyph="uni06DA" class="3"/><ClassDef glyph="uni06DB" class="3"/><ClassDef glyph="uni06DC" class="3"/><ClassDef glyph="uni06DD" class="1"/><ClassDef glyph="uni06DD.2" class="1"/><ClassDef glyph="uni06DD.3" class="1"/><ClassDef glyph="uni06DD.aat1" class="1"/><ClassDef glyph="uni06DD.aat2" class="1"/><ClassDef glyph="uni06DD.aat3" class="1"/><ClassDef glyph="uni06DD.sp1" class="1"/><ClassDef glyph="uni06DD.sp2" class="1"/><ClassDef glyph="uni06DD.sp3" class="1"/><ClassDef glyph="uni06DE" class="1"/><ClassDef glyph="uni06DF" class="3"/><ClassDef glyph="uni06E0" class="3"/><ClassDef glyph="uni06E1" class="3"/><ClassDef glyph="uni06E2" class="3"/><ClassDef glyph="uni06E3" class="3"/><ClassDef glyph="uni06E4" class="3"/><ClassDef glyph="uni06E5" class="3"/><ClassDef glyph="uni06E6" class="3"/><ClassDef glyph="uni06E7" class="3"/><ClassDef glyph="uni06E8" class="3"/><ClassDef glyph="uni06E9" class="1"/><ClassDef glyph="uni06EA" class="3"/><ClassDef glyph="uni06EB" class="3"/><ClassDef glyph="uni06EC" class="3"/><ClassDef glyph="uni06ED" class="3"/><ClassDef glyph="uni06EE" class="1"/><ClassDef glyph="uni06EE.fina" class="1"/><ClassDef glyph="uni06EF" class="1"/><ClassDef glyph="uni06EF.fina" class="1"/><ClassDef glyph="uni06F0" class="1"/><ClassDef glyph="uni06F0.Medium" class="3"/><ClassDef glyph="uni06F0.Small" class="3"/><ClassDef glyph="uni06F1" class="1"/><ClassDef glyph="uni06F1.Medium" class="3"/><ClassDef glyph="uni06F1.Small" class="3"/><ClassDef glyph="uni06F2" class="1"/><ClassDef glyph="uni06F2.Medium" class="3"/><ClassDef glyph="uni06F2.Small" class="3"/><ClassDef glyph="uni06F3" class="1"/><ClassDef glyph="uni06F3.Medium" class="3"/><ClassDef glyph="uni06F3.Small" class="3"/><ClassDef glyph="uni06F4" class="1"/><ClassDef glyph="uni06F4.Medium" class="3"/><ClassDef glyph="uni06F4.Medium.urdu" class="3"/><ClassDef glyph="uni06F4.Small" class="3"/><ClassDef glyph="uni06F4.Small.urdu" class="3"/><ClassDef glyph="uni06F4.urdu" class="1"/><ClassDef glyph="uni06F5" class="1"/><ClassDef glyph="uni06F5.Medium" class="3"/><ClassDef glyph="uni06F5.Small" class="3"/><ClassDef glyph="uni06F6" class="1"/><ClassDef glyph="uni06F6.Medium" class="3"/><ClassDef glyph="uni06F6.Medium.urdu" class="3"/><ClassDef glyph="uni06F6.Small" class="3"/><ClassDef glyph="uni06F6.Small.urdu" class="3"/><ClassDef glyph="uni06F6.urdu" class="1"/><ClassDef glyph="uni06F7" class="1"/><ClassDef glyph="uni06F7.Medium" class="3"/><ClassDef glyph="uni06F7.Medium.urdu" class="3"/><ClassDef glyph="uni06F7.Small" class="3"/><ClassDef glyph="uni06F7.Small.urdu" class="3"/><ClassDef glyph="uni06F7.urdu" class="1"/><ClassDef glyph="uni06F8" class="1"/><ClassDef glyph="uni06F8.Medium" class="3"/><ClassDef glyph="uni06F8.Small" class="3"/><ClassDef glyph="uni06F9" class="1"/><ClassDef glyph="uni06F9.Medium" class="3"/><ClassDef glyph="uni06F9.Small" class="3"/><ClassDef glyph="uni06FA" class="1"/><ClassDef glyph="uni06FA.fina" class="1"/><ClassDef glyph="uni06FA.init" class="1"/><ClassDef glyph="uni06FA.medi" class="1"/><ClassDef glyph="uni06FB" class="1"/><ClassDef glyph="uni06FB.fina" class="1"/><ClassDef glyph="uni06FB.init" class="1"/><ClassDef glyph="uni06FB.medi" class="1"/><ClassDef glyph="uni06FC" class="1"/><ClassDef glyph="uni06FC.fina" class="1"/><ClassDef glyph="uni06FC.init" class="1"/><ClassDef glyph="uni06FC.medi" class="1"/><ClassDef glyph="uni06FD" class="1"/><ClassDef glyph="uni06FE" class="1"/><ClassDef glyph="uni06FF" class="1"/><ClassDef glyph="uni06FF.fina" class="1"/><ClassDef glyph="uni06FF.init" class="1"/><ClassDef glyph="uni06FF.medi" class="1"/><ClassDef glyph="uni0750" class="1"/><ClassDef glyph="uni0750.fina" class="1"/><ClassDef glyph="uni0750.init" class="1"/><ClassDef glyph="uni0750.medi" class="1"/><ClassDef glyph="uni0751" class="1"/><ClassDef glyph="uni0751.fina" class="1"/><ClassDef glyph="uni0751.init" class="1"/><ClassDef glyph="uni0751.medi" class="1"/><ClassDef glyph="uni0752" class="1"/><ClassDef glyph="uni0752.fina" class="1"/><ClassDef glyph="uni0752.init" class="1"/><ClassDef glyph="uni0752.medi" class="1"/><ClassDef glyph="uni0753" class="1"/><ClassDef glyph="uni0753.fina" class="1"/><ClassDef glyph="uni0753.init" class="1"/><ClassDef glyph="uni0753.medi" class="1"/><ClassDef glyph="uni0754" class="1"/><ClassDef glyph="uni0754.fina" class="1"/><ClassDef glyph="uni0754.init" class="1"/><ClassDef glyph="uni0754.medi" class="1"/><ClassDef glyph="uni0755" class="1"/><ClassDef glyph="uni0755.fina" class="1"/><ClassDef glyph="uni0755.init" class="1"/><ClassDef glyph="uni0755.medi" class="1"/><ClassDef glyph="uni0756" class="1"/><ClassDef glyph="uni0756.fina" class="1"/><ClassDef glyph="uni0756.init" class="1"/><ClassDef glyph="uni0756.medi" class="1"/><ClassDef glyph="uni0757" class="1"/><ClassDef glyph="uni0757.fina" class="1"/><ClassDef glyph="uni0757.init" class="1"/><ClassDef glyph="uni0757.medi" class="1"/><ClassDef glyph="uni0758" class="1"/><ClassDef glyph="uni0758.fina" class="1"/><ClassDef glyph="uni0758.init" class="1"/><ClassDef glyph="uni0758.medi" class="1"/><ClassDef glyph="uni0759" class="1"/><ClassDef glyph="uni0759.fina" class="1"/><ClassDef glyph="uni075A" class="1"/><ClassDef glyph="uni075A.fina" class="1"/><ClassDef glyph="uni075B" class="1"/><ClassDef glyph="uni075B.fina" class="1"/><ClassDef glyph="uni075C" class="1"/><ClassDef glyph="uni075C.fina" class="1"/><ClassDef glyph="uni075C.init" class="1"/><ClassDef glyph="uni075C.medi" class="1"/><ClassDef glyph="uni075D" class="1"/><ClassDef glyph="uni075D.fina" class="1"/><ClassDef glyph="uni075D.init" class="1"/><ClassDef glyph="uni075D.medi" class="1"/><ClassDef glyph="uni075E" class="1"/><ClassDef glyph="uni075E.fina" class="1"/><ClassDef glyph="uni075E.init" class="1"/><ClassDef glyph="uni075E.medi" class="1"/><ClassDef glyph="uni075F" class="1"/><ClassDef glyph="uni075F.fina" class="1"/><ClassDef glyph="uni075F.init" class="1"/><ClassDef glyph="uni075F.medi" class="1"/><ClassDef glyph="uni0760" class="1"/><ClassDef glyph="uni0760.fina" class="1"/><ClassDef glyph="uni0760.init" class="1"/><ClassDef glyph="uni0760.medi" class="1"/><ClassDef glyph="uni0761" class="1"/><ClassDef glyph="uni0761.fina" class="1"/><ClassDef glyph="uni0761.init" class="1"/><ClassDef glyph="uni0761.medi" class="1"/><ClassDef glyph="uni0762" class="1"/><ClassDef glyph="uni0762.fina" class="1"/><ClassDef glyph="uni0762.init" class="1"/><ClassDef glyph="uni0762.medi" class="1"/><ClassDef glyph="uni0763" class="1"/><ClassDef glyph="uni0763.fina" class="1"/><ClassDef glyph="uni0763.init" class="1"/><ClassDef glyph="uni0763.medi" class="1"/><ClassDef glyph="uni0764" class="1"/><ClassDef glyph="uni0764.fina" class="1"/><ClassDef glyph="uni0764.init" class="1"/><ClassDef glyph="uni0764.medi" class="1"/><ClassDef glyph="uni0765" class="1"/><ClassDef glyph="uni0765.fina" class="1"/><ClassDef glyph="uni0765.init" class="1"/><ClassDef glyph="uni0765.medi" class="1"/><ClassDef glyph="uni0766" class="1"/><ClassDef glyph="uni0766.fina" class="1"/><ClassDef glyph="uni0766.init" class="1"/><ClassDef glyph="uni0766.medi" class="1"/><ClassDef glyph="uni0767" class="1"/><ClassDef glyph="uni0767.fina" class="1"/><ClassDef glyph="uni0767.init" class="1"/><ClassDef glyph="uni0767.medi" class="1"/><ClassDef glyph="uni0768" class="1"/><ClassDef glyph="uni0768.fina" class="1"/><ClassDef glyph="uni0768.init" class="1"/><ClassDef glyph="uni0768.medi" class="1"/><ClassDef glyph="uni0769" class="1"/><ClassDef glyph="uni0769.fina" class="1"/><ClassDef glyph="uni0769.init" class="1"/><ClassDef glyph="uni0769.medi" class="1"/><ClassDef glyph="uni076A" class="1"/><ClassDef glyph="uni076A.fina" class="1"/><ClassDef glyph="uni076A.init" class="1"/><ClassDef glyph="uni076A.init.preAlef" class="1"/><ClassDef glyph="uni076A.medi" class="1"/><ClassDef glyph="uni076A.medi.preAlef" class="1"/><ClassDef glyph="uni076A0627" class="2"/><ClassDef glyph="uni076A0627.fina" class="2"/><ClassDef glyph="uni076B" class="1"/><ClassDef glyph="uni076B.fina" class="1"/><ClassDef glyph="uni076C" class="1"/><ClassDef glyph="uni076C.fina" class="1"/><ClassDef glyph="uni076D" class="1"/><ClassDef glyph="uni076D.fina" class="1"/><ClassDef glyph="uni076D.init" class="1"/><ClassDef glyph="uni076D.medi" class="1"/><ClassDef glyph="uni2000" class="1"/><ClassDef glyph="uni2001" class="1"/><ClassDef glyph="uni2002" class="1"/><ClassDef glyph="uni2003" class="1"/><ClassDef glyph="uni2004" class="1"/><ClassDef glyph="uni2005" class="1"/><ClassDef glyph="uni2006" class="1"/><ClassDef glyph="uni2007" class="1"/><ClassDef glyph="uni2008" class="1"/><ClassDef glyph="uni2009" class="1"/><ClassDef glyph="uni200A" class="1"/><ClassDef glyph="uni200B" class="1"/><ClassDef glyph="uni200C" class="1"/><ClassDef glyph="uni200D" class="1"/><ClassDef glyph="uni200E" class="1"/><ClassDef glyph="uni200F" class="1"/><ClassDef glyph="uni202A" class="1"/><ClassDef glyph="uni202B" class="1"/><ClassDef glyph="uni202C" class="1"/><ClassDef glyph="uni202D" class="1"/><ClassDef glyph="uni202E" class="1"/><ClassDef glyph="uni2060" class="1"/><ClassDef glyph="uni206C" class="1"/><ClassDef glyph="uni206D" class="1"/><ClassDef glyph="uni25CC" class="1"/><ClassDef glyph="uniFD3E" class="1"/><ClassDef glyph="uniFD3F" class="1"/><ClassDef glyph="uniFDF2" class="1"/><ClassDef glyph="uniFDFC" class="1"/><ClassDef glyph="uniFEFF" class="1"/><ClassDef glyph="v" class="1"/><ClassDef glyph="w" class="1"/><ClassDef glyph="x" class="1"/><ClassDef glyph="y" class="1"/><ClassDef glyph="z" class="1"/><ClassDef glyph="zero" class="1"/><ClassDef glyph="zeroMedium" class="3"/><ClassDef glyph="zeroSmall" class="3"/></GlyphClassDef><LigCaretList><Coverage Format="1"></Coverage></LigCaretList><MarkAttachClassDef Format="2"><ClassDef glyph="uni064B" class="1"/><ClassDef glyph="uni064C" class="1"/><ClassDef glyph="uni064D" class="1"/><ClassDef glyph="uni064E" class="1"/><ClassDef glyph="uni064F" class="1"/><ClassDef glyph="uni0650" class="1"/><ClassDef glyph="uni0651" class="1"/><ClassDef glyph="uni0654" class="2"/><ClassDef glyph="uni0670" class="1"/></MarkAttachClassDef></GDEF><GSUB><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="4"/><FeatureIndex index="2" value="13"/><FeatureIndex index="3" value="17"/><FeatureIndex index="4" value="21"/><FeatureIndex index="5" value="9"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="KUR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="5"/><FeatureIndex index="2" value="14"/><FeatureIndex index="3" value="18"/><FeatureIndex index="4" value="22"/><FeatureIndex index="5" value="10"/></LangSys></LangSysRecord><LangSysRecord index="1"><LangSysTag value="SND "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="2"/><FeatureIndex index="1" value="6"/><FeatureIndex index="2" value="15"/><FeatureIndex index="3" value="19"/><FeatureIndex index="4" value="23"/><FeatureIndex index="5" value="11"/></LangSys></LangSysRecord><LangSysRecord index="2"><LangSysTag value="URD "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="3"/><FeatureIndex index="1" value="7"/><FeatureIndex index="2" value="16"/><FeatureIndex index="3" value="20"/><FeatureIndex index="4" value="24"/><FeatureIndex index="5" value="12"/></LangSys></LangSysRecord></Script></ScriptRecord><ScriptRecord index="1"><ScriptTag value="latn"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="8"/></DefaultLangSys></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="8"/><LookupListIndex index="1" value="13"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="8"/><LookupListIndex index="1" value="11"/><LookupListIndex index="2" value="13"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="8"/><LookupListIndex index="1" value="9"/><LookupListIndex index="2" value="13"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="8"/><LookupListIndex index="1" value="10"/><LookupListIndex index="2" value="13"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="6"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="7"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="8"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="12"/></Feature></FeatureRecord><FeatureRecord index="9"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="10"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="11"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="12"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="13"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="14"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="15"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="16"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="17"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="18"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="19"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="20"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="21"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="6"/><LookupListIndex index="3" value="7"/></Feature></FeatureRecord><FeatureRecord index="22"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="6"/><LookupListIndex index="3" value="7"/></Feature></FeatureRecord><FeatureRecord index="23"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/></Feature></FeatureRecord><FeatureRecord index="24"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="2"/><LookupFlag value="1"/><MultipleSubst index="0" Format="1"><Coverage Format="2"><Glyph value="uni0622"/><Glyph value="uni0623"/><Glyph value="uni0625"/><Glyph value="uni0626"/></Coverage><Sequence index="0"><Substitute index="0" value="uni0627"/><Substitute index="1" value="uni0653"/></Sequence><Sequence index="1"><Substitute index="0" value="uni0627"/><Substitute index="1" value="uni0654"/></Sequence><Sequence index="2"><Substitute index="0" value="uni0627"/><Substitute index="1" value="uni0655"/></Sequence><Sequence index="3"><Substitute index="0" value="uni064A"/><Substitute index="1" value="uni0654"/></Sequence></MultipleSubst></Lookup><Lookup index="1"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absJeemRetro1" out="absJeemRetro1Ini"/><Substitution in="absJeemRetro2" out="absJeemRetro2Ini"/><Substitution in="absJeemRetro3" out="absJeemRetro3Ini"/><Substitution in="absLamRetro" out="absLamRetroIni"/><Substitution in="absSheenRetro1" out="absSheenRetro1Ini"/><Substitution in="absSheenRetro2" out="absSheenRetro2Ini"/><Substitution in="absTchehRetro1" out="absTchehRetro1Ini"/><Substitution in="absTchehRetro2" out="absTchehRetro2Ini"/><Substitution in="uni0626" out="uni0626.init"/><Substitution in="uni0628" out="uni0628.init"/><Substitution in="uni062A" out="uni062A.init"/><Substitution in="uni062B" out="uni062B.init"/><Substitution in="uni062C" out="uni062C.init"/><Substitution in="uni062D" out="uni062D.init"/><Substitution in="uni062E" out="uni062E.init"/><Substitution in="uni0633" out="uni0633.init"/><Substitution in="uni0634" out="uni0634.init"/><Substitution in="uni0635" out="uni0635.init"/><Substitution in="uni0636" out="uni0636.init"/><Substitution in="uni0637" out="uni0637.init"/><Substitution in="uni0638" out="uni0638.init"/><Substitution in="uni0639" out="uni0639.init"/><Substitution in="uni063A" out="uni063A.init"/><Substitution in="uni0641" out="uni0641.init"/><Substitution in="uni0642" out="uni0642.init"/><Substitution in="uni0643" out="uni0643.init"/><Substitution in="uni0644" out="uni0644.init"/><Substitution in="uni0645" out="uni0645.init"/><Substitution in="uni0646" out="uni0646.init"/><Substitution in="uni0647" out="uni0647.init"/><Substitution in="uni0649" out="uni0649.init"/><Substitution in="uni064A" out="uni064A.init"/><Substitution in="uni064A.noDots" out="uni064A.init.noDots"/><Substitution in="uni066E" out="uni066E.init"/><Substitution in="uni066F" out="uni066F.init"/><Substitution in="uni0678" out="uni0678.init"/><Substitution in="uni0679" out="uni0679.init"/><Substitution in="uni067A" out="uni067A.init"/><Substitution in="uni067B" out="uni067B.init"/><Substitution in="uni067C" out="uni067C.init"/><Substitution in="uni067D" out="uni067D.init"/><Substitution in="uni067E" out="uni067E.init"/><Substitution in="uni067F" out="uni067F.init"/><Substitution in="uni0680" out="uni0680.init"/><Substitution in="uni0681" out="uni0681.init"/><Substitution in="uni0682" out="uni0682.init"/><Substitution in="uni0683" out="uni0683.init"/><Substitution in="uni0684" out="uni0684.init"/><Substitution in="uni0685" out="uni0685.init"/><Substitution in="uni0686" out="uni0686.init"/><Substitution in="uni0687" out="uni0687.init"/><Substitution in="uni069A" out="uni069A.init"/><Substitution in="uni069B" out="uni069B.init"/><Substitution in="uni069C" out="uni069C.init"/><Substitution in="uni069D" out="uni069D.init"/><Substitution in="uni069E" out="uni069E.init"/><Substitution in="uni069F" out="uni069F.init"/><Substitution in="uni06A0" out="uni06A0.init"/><Substitution in="uni06A1" out="uni06A1.init"/><Substitution in="uni06A2" out="uni06A2.init"/><Substitution in="uni06A3" out="uni06A3.init"/><Substitution in="uni06A4" out="uni06A4.init"/><Substitution in="uni06A5" out="uni06A5.init"/><Substitution in="uni06A6" out="uni06A6.init"/><Substitution in="uni06A7" out="uni06A7.init"/><Substitution in="uni06A8" out="uni06A8.init"/><Substitution in="uni06A9" out="uni06A9.init"/><Substitution in="uni06AA" out="uni06AA.init"/><Substitution in="uni06AB" out="uni06AB.init"/><Substitution in="uni06AC" out="uni06AC.init"/><Substitution in="uni06AD" out="uni06AD.init"/><Substitution in="uni06AE" out="uni06AE.init"/><Substitution in="uni06AF" out="uni06AF.init"/><Substitution in="uni06B0" out="uni06B0.init"/><Substitution in="uni06B1" out="uni06B1.init"/><Substitution in="uni06B2" out="uni06B2.init"/><Substitution in="uni06B3" out="uni06B3.init"/><Substitution in="uni06B4" out="uni06B4.init"/><Substitution in="uni06B5" out="uni06B5.init"/><Substitution in="uni06B6" out="uni06B6.init"/><Substitution in="uni06B7" out="uni06B7.init"/><Substitution in="uni06B8" out="uni06B8.init"/><Substitution in="uni06B9" out="uni06B9.init"/><Substitution in="uni06BA" out="uni06BA.init"/><Substitution in="uni06BB" out="uni06BB.init"/><Substitution in="uni06BC" out="uni06BC.init"/><Substitution in="uni06BD" out="uni06BD.init"/><Substitution in="uni06BE" out="uni06BE.init"/><Substitution in="uni06BF" out="uni06BF.init"/><Substitution in="uni06C1" out="uni06C1.init"/><Substitution in="uni06C2" out="uni06C2.init"/><Substitution in="uni06CC" out="uni06CC.init"/><Substitution in="uni06CE" out="uni06CE.init"/><Substitution in="uni06D0" out="uni06D0.init"/><Substitution in="uni06D1" out="uni06D1.init"/><Substitution in="uni06FA" out="uni06FA.init"/><Substitution in="uni06FB" out="uni06FB.init"/><Substitution in="uni06FC" out="uni06FC.init"/><Substitution in="uni06FF" out="uni06FF.init"/><Substitution in="uni0750" out="uni0750.init"/><Substitution in="uni0751" out="uni0751.init"/><Substitution in="uni0752" out="uni0752.init"/><Substitution in="uni0753" out="uni0753.init"/><Substitution in="uni0754" out="uni0754.init"/><Substitution in="uni0755" out="uni0755.init"/><Substitution in="uni0756" out="uni0756.init"/><Substitution in="uni0757" out="uni0757.init"/><Substitution in="uni0758" out="uni0758.init"/><Substitution in="uni075C" out="uni075C.init"/><Substitution in="uni075D" out="uni075D.init"/><Substitution in="uni075E" out="uni075E.init"/><Substitution in="uni075F" out="uni075F.init"/><Substitution in="uni0760" out="uni0760.init"/><Substitution in="uni0761" out="uni0761.init"/><Substitution in="uni0762" out="uni0762.init"/><Substitution in="uni0763" out="uni0763.init"/><Substitution in="uni0764" out="uni0764.init"/><Substitution in="uni0765" out="uni0765.init"/><Substitution in="uni0766" out="uni0766.init"/><Substitution in="uni0767" out="uni0767.init"/><Substitution in="uni0768" out="uni0768.init"/><Substitution in="uni0769" out="uni0769.init"/><Substitution in="uni076A" out="uni076A.init"/><Substitution in="uni076D" out="uni076D.init"/></SingleSubst></Lookup><Lookup index="2"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absJeemRetro1" out="absJeemRetro1Fin"/><Substitution in="absJeemRetro2" out="absJeemRetro2Fin"/><Substitution in="absJeemRetro3" out="absJeemRetro3Fin"/><Substitution in="absJehRetro1" out="absJehRetro1Fin"/><Substitution in="absJehRetro2" out="absJehRetro2Fin"/><Substitution in="absLamRetro" out="absLamRetroFin"/><Substitution in="absSheenRetro1" out="absSheenRetro1Fin"/><Substitution in="absSheenRetro2" out="absSheenRetro2Fin"/><Substitution in="absTchehRetro1" out="absTchehRetro1Fin"/><Substitution in="absTchehRetro2" out="absTchehRetro2Fin"/><Substitution in="absWawDotBelow" out="absWawDotBelowFin"/><Substitution in="uni0622" out="uni0622.fina"/><Substitution in="uni0623" out="uni0623.fina"/><Substitution in="uni0624" out="uni0624.fina"/><Substitution in="uni0625" out="uni0625.fina"/><Substitution in="uni0626" out="uni0626.fina"/><Substitution in="uni0627" out="uni0627.fina"/><Substitution in="uni0628" out="uni0628.fina"/><Substitution in="uni0629" out="uni0629.fina"/><Substitution in="uni062A" out="uni062A.fina"/><Substitution in="uni062B" out="uni062B.fina"/><Substitution in="uni062C" out="uni062C.fina"/><Substitution in="uni062D" out="uni062D.fina"/><Substitution in="uni062E" out="uni062E.fina"/><Substitution in="uni062F" out="uni062F.fina"/><Substitution in="uni0630" out="uni0630.fina"/><Substitution in="uni0631" out="uni0631.fina"/><Substitution in="uni0632" out="uni0632.fina"/><Substitution in="uni0633" out="uni0633.fina"/><Substitution in="uni0634" out="uni0634.fina"/><Substitution in="uni0635" out="uni0635.fina"/><Substitution in="uni0636" out="uni0636.fina"/><Substitution in="uni0637" out="uni0637.fina"/><Substitution in="uni0638" out="uni0638.fina"/><Substitution in="uni0639" out="uni0639.fina"/><Substitution in="uni063A" out="uni063A.fina"/><Substitution in="uni0641" out="uni0641.fina"/><Substitution in="uni0642" out="uni0642.fina"/><Substitution in="uni0643" out="uni0643.fina"/><Substitution in="uni0644" out="uni0644.fina"/><Substitution in="uni0645" out="uni0645.fina"/><Substitution in="uni0646" out="uni0646.fina"/><Substitution in="uni0647" out="uni0647.fina"/><Substitution in="uni0648" out="uni0648.fina"/><Substitution in="uni0649" out="uni0649.fina"/><Substitution in="uni064A" out="uni064A.fina"/><Substitution in="uni064A.noDots" out="uni064A.fina.noDots"/><Substitution in="uni066E" out="uni066E.fina"/><Substitution in="uni066F" out="uni066F.fina"/><Substitution in="uni0671" out="uni0671.fina"/><Substitution in="uni0672" out="uni0672.fina"/><Substitution in="uni0673" out="uni0673.fina"/><Substitution in="uni0675" out="uni0675.fina"/><Substitution in="uni0676" out="uni0676.fina"/><Substitution in="uni0677" out="uni0677.fina"/><Substitution in="uni0678" out="uni0678.fina"/><Substitution in="uni0679" out="uni0679.fina"/><Substitution in="uni067A" out="uni067A.fina"/><Substitution in="uni067B" out="uni067B.fina"/><Substitution in="uni067C" out="uni067C.fina"/><Substitution in="uni067D" out="uni067D.fina"/><Substitution in="uni067E" out="uni067E.fina"/><Substitution in="uni067F" out="uni067F.fina"/><Substitution in="uni0680" out="uni0680.fina"/><Substitution in="uni0681" out="uni0681.fina"/><Substitution in="uni0682" out="uni0682.fina"/><Substitution in="uni0683" out="uni0683.fina"/><Substitution in="uni0684" out="uni0684.fina"/><Substitution in="uni0685" out="uni0685.fina"/><Substitution in="uni0686" out="uni0686.fina"/><Substitution in="uni0687" out="uni0687.fina"/><Substitution in="uni0688" out="uni0688.fina"/><Substitution in="uni0689" out="uni0689.fina"/><Substitution in="uni068A" out="uni068A.fina"/><Substitution in="uni068B" out="uni068B.fina"/><Substitution in="uni068C" out="uni068C.fina"/><Substitution in="uni068D" out="uni068D.fina"/><Substitution in="uni068E" out="uni068E.fina"/><Substitution in="uni068F" out="uni068F.fina"/><Substitution in="uni0690" out="uni0690.fina"/><Substitution in="uni0691" out="uni0691.fina"/><Substitution in="uni0692" out="uni0692.fina"/><Substitution in="uni0693" out="uni0693.fina"/><Substitution in="uni0694" out="uni0694.fina"/><Substitution in="uni0695" out="uni0695.fina"/><Substitution in="uni0696" out="uni0696.fina"/><Substitution in="uni0697" out="uni0697.fina"/><Substitution in="uni0698" out="uni0698.fina"/><Substitution in="uni0698.dotHat" out="uni0698.fina.dotHat"/><Substitution in="uni0699" out="uni0699.fina"/><Substitution in="uni069A" out="uni069A.fina"/><Substitution in="uni069B" out="uni069B.fina"/><Substitution in="uni069C" out="uni069C.fina"/><Substitution in="uni069D" out="uni069D.fina"/><Substitution in="uni069E" out="uni069E.fina"/><Substitution in="uni069F" out="uni069F.fina"/><Substitution in="uni06A0" out="uni06A0.fina"/><Substitution in="uni06A1" out="uni06A1.fina"/><Substitution in="uni06A2" out="uni06A2.fina"/><Substitution in="uni06A3" out="uni06A3.fina"/><Substitution in="uni06A4" out="uni06A4.fina"/><Substitution in="uni06A5" out="uni06A5.fina"/><Substitution in="uni06A6" out="uni06A6.fina"/><Substitution in="uni06A7" out="uni06A7.fina"/><Substitution in="uni06A8" out="uni06A8.fina"/><Substitution in="uni06A9" out="uni06A9.fina"/><Substitution in="uni06AA" out="uni06AA.fina"/><Substitution in="uni06AB" out="uni06AB.fina"/><Substitution in="uni06AC" out="uni06AC.fina"/><Substitution in="uni06AD" out="uni06AD.fina"/><Substitution in="uni06AE" out="uni06AE.fina"/><Substitution in="uni06AF" out="uni06AF.fina"/><Substitution in="uni06B0" out="uni06B0.fina"/><Substitution in="uni06B1" out="uni06B1.fina"/><Substitution in="uni06B2" out="uni06B2.fina"/><Substitution in="uni06B3" out="uni06B3.fina"/><Substitution in="uni06B4" out="uni06B4.fina"/><Substitution in="uni06B5" out="uni06B5.fina"/><Substitution in="uni06B6" out="uni06B6.fina"/><Substitution in="uni06B7" out="uni06B7.fina"/><Substitution in="uni06B8" out="uni06B8.fina"/><Substitution in="uni06B9" out="uni06B9.fina"/><Substitution in="uni06BA" out="uni06BA.fina"/><Substitution in="uni06BB" out="uni06BB.fina"/><Substitution in="uni06BC" out="uni06BC.fina"/><Substitution in="uni06BD" out="uni06BD.fina"/><Substitution in="uni06BE" out="uni06BE.fina"/><Substitution in="uni06BF" out="uni06BF.fina"/><Substitution in="uni06C0" out="uni06C0.fina"/><Substitution in="uni06C1" out="uni06C1.fina"/><Substitution in="uni06C2" out="uni06C2.fina"/><Substitution in="uni06C3" out="uni06C3.fina"/><Substitution in="uni06C4" out="uni06C4.fina"/><Substitution in="uni06C5" out="uni06C5.fina"/><Substitution in="uni06C6" out="uni06C6.fina"/><Substitution in="uni06C7" out="uni06C7.fina"/><Substitution in="uni06C8" out="uni06C8.fina"/><Substitution in="uni06C9" out="uni06C9.fina"/><Substitution in="uni06CA" out="uni06CA.fina"/><Substitution in="uni06CB" out="uni06CB.fina"/><Substitution in="uni06CC" out="uni06CC.fina"/><Substitution in="uni06CD" out="uni06CD.fina"/><Substitution in="uni06CE" out="uni06CE.fina"/><Substitution in="uni06CF" out="uni06CF.fina"/><Substitution in="uni06D0" out="uni06D0.fina"/><Substitution in="uni06D1" out="uni06D1.fina"/><Substitution in="uni06D2" out="uni06D2.fina"/><Substitution in="uni06D3" out="uni06D3.fina"/><Substitution in="uni06D5" out="uni06D5.fina"/><Substitution in="uni06EE" out="uni06EE.fina"/><Substitution in="uni06EF" out="uni06EF.fina"/><Substitution in="uni06FA" out="uni06FA.fina"/><Substitution in="uni06FB" out="uni06FB.fina"/><Substitution in="uni06FC" out="uni06FC.fina"/><Substitution in="uni06FF" out="uni06FF.fina"/><Substitution in="uni0750" out="uni0750.fina"/><Substitution in="uni0751" out="uni0751.fina"/><Substitution in="uni0752" out="uni0752.fina"/><Substitution in="uni0753" out="uni0753.fina"/><Substitution in="uni0754" out="uni0754.fina"/><Substitution in="uni0755" out="uni0755.fina"/><Substitution in="uni0756" out="uni0756.fina"/><Substitution in="uni0757" out="uni0757.fina"/><Substitution in="uni0758" out="uni0758.fina"/><Substitution in="uni0759" out="uni0759.fina"/><Substitution in="uni075A" out="uni075A.fina"/><Substitution in="uni075B" out="uni075B.fina"/><Substitution in="uni075C" out="uni075C.fina"/><Substitution in="uni075D" out="uni075D.fina"/><Substitution in="uni075E" out="uni075E.fina"/><Substitution in="uni075F" out="uni075F.fina"/><Substitution in="uni0760" out="uni0760.fina"/><Substitution in="uni0761" out="uni0761.fina"/><Substitution in="uni0762" out="uni0762.fina"/><Substitution in="uni0763" out="uni0763.fina"/><Substitution in="uni0764" out="uni0764.fina"/><Substitution in="uni0765" out="uni0765.fina"/><Substitution in="uni0766" out="uni0766.fina"/><Substitution in="uni0767" out="uni0767.fina"/><Substitution in="uni0768" out="uni0768.fina"/><Substitution in="uni0769" out="uni0769.fina"/><Substitution in="uni076A" out="uni076A.fina"/><Substitution in="uni076B" out="uni076B.fina"/><Substitution in="uni076C" out="uni076C.fina"/><Substitution in="uni076D" out="uni076D.fina"/></SingleSubst></Lookup><Lookup index="3"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absJeemRetro1" out="absJeemRetro1Med"/><Substitution in="absJeemRetro2" out="absJeemRetro2Med"/><Substitution in="absJeemRetro3" out="absJeemRetro3Med"/><Substitution in="absLamRetro" out="absLamRetroMed"/><Substitution in="absSheenRetro1" out="absSheenRetro1Med"/><Substitution in="absSheenRetro2" out="absSheenRetro2Med"/><Substitution in="absTchehRetro1" out="absTchehRetro1Med"/><Substitution in="absTchehRetro2" out="absTchehRetro2Med"/><Substitution in="uni0626" out="uni0626.medi"/><Substitution in="uni0628" out="uni0628.medi"/><Substitution in="uni062A" out="uni062A.medi"/><Substitution in="uni062B" out="uni062B.medi"/><Substitution in="uni062C" out="uni062C.medi"/><Substitution in="uni062D" out="uni062D.medi"/><Substitution in="uni062E" out="uni062E.medi"/><Substitution in="uni0633" out="uni0633.medi"/><Substitution in="uni0634" out="uni0634.medi"/><Substitution in="uni0635" out="uni0635.medi"/><Substitution in="uni0636" out="uni0636.medi"/><Substitution in="uni0637" out="uni0637.medi"/><Substitution in="uni0638" out="uni0638.medi"/><Substitution in="uni0639" out="uni0639.medi"/><Substitution in="uni063A" out="uni063A.medi"/><Substitution in="uni0641" out="uni0641.medi"/><Substitution in="uni0642" out="uni0642.medi"/><Substitution in="uni0643" out="uni0643.medi"/><Substitution in="uni0644" out="uni0644.medi"/><Substitution in="uni0645" out="uni0645.medi"/><Substitution in="uni0646" out="uni0646.medi"/><Substitution in="uni0647" out="uni0647.medi"/><Substitution in="uni0649" out="uni0649.medi"/><Substitution in="uni064A" out="uni064A.medi"/><Substitution in="uni064A.noDots" out="uni064A.medi.noDots"/><Substitution in="uni066E" out="uni066E.medi"/><Substitution in="uni066F" out="uni066F.medi"/><Substitution in="uni0678" out="uni0678.medi"/><Substitution in="uni0679" out="uni0679.medi"/><Substitution in="uni067A" out="uni067A.medi"/><Substitution in="uni067B" out="uni067B.medi"/><Substitution in="uni067C" out="uni067C.medi"/><Substitution in="uni067D" out="uni067D.medi"/><Substitution in="uni067E" out="uni067E.medi"/><Substitution in="uni067F" out="uni067F.medi"/><Substitution in="uni0680" out="uni0680.medi"/><Substitution in="uni0681" out="uni0681.medi"/><Substitution in="uni0682" out="uni0682.medi"/><Substitution in="uni0683" out="uni0683.medi"/><Substitution in="uni0684" out="uni0684.medi"/><Substitution in="uni0685" out="uni0685.medi"/><Substitution in="uni0686" out="uni0686.medi"/><Substitution in="uni0687" out="uni0687.medi"/><Substitution in="uni069A" out="uni069A.medi"/><Substitution in="uni069B" out="uni069B.medi"/><Substitution in="uni069C" out="uni069C.medi"/><Substitution in="uni069D" out="uni069D.medi"/><Substitution in="uni069E" out="uni069E.medi"/><Substitution in="uni069F" out="uni069F.medi"/><Substitution in="uni06A0" out="uni06A0.medi"/><Substitution in="uni06A1" out="uni06A1.medi"/><Substitution in="uni06A2" out="uni06A2.medi"/><Substitution in="uni06A3" out="uni06A3.medi"/><Substitution in="uni06A4" out="uni06A4.medi"/><Substitution in="uni06A5" out="uni06A5.medi"/><Substitution in="uni06A6" out="uni06A6.medi"/><Substitution in="uni06A7" out="uni06A7.medi"/><Substitution in="uni06A8" out="uni06A8.medi"/><Substitution in="uni06A9" out="uni06A9.medi"/><Substitution in="uni06AA" out="uni06AA.medi"/><Substitution in="uni06AB" out="uni06AB.medi"/><Substitution in="uni06AC" out="uni06AC.medi"/><Substitution in="uni06AD" out="uni06AD.medi"/><Substitution in="uni06AE" out="uni06AE.medi"/><Substitution in="uni06AF" out="uni06AF.medi"/><Substitution in="uni06B0" out="uni06B0.medi"/><Substitution in="uni06B1" out="uni06B1.medi"/><Substitution in="uni06B2" out="uni06B2.medi"/><Substitution in="uni06B3" out="uni06B3.medi"/><Substitution in="uni06B4" out="uni06B4.medi"/><Substitution in="uni06B5" out="uni06B5.medi"/><Substitution in="uni06B6" out="uni06B6.medi"/><Substitution in="uni06B7" out="uni06B7.medi"/><Substitution in="uni06B8" out="uni06B8.medi"/><Substitution in="uni06B9" out="uni06B9.medi"/><Substitution in="uni06BA" out="uni06BA.medi"/><Substitution in="uni06BB" out="uni06BB.medi"/><Substitution in="uni06BC" out="uni06BC.medi"/><Substitution in="uni06BD" out="uni06BD.medi"/><Substitution in="uni06BE" out="uni06BE.medi"/><Substitution in="uni06BF" out="uni06BF.medi"/><Substitution in="uni06C1" out="uni06C1.medi"/><Substitution in="uni06C2" out="uni06C2.medi"/><Substitution in="uni06CC" out="uni06CC.medi"/><Substitution in="uni06CE" out="uni06CE.medi"/><Substitution in="uni06D0" out="uni06D0.medi"/><Substitution in="uni06D1" out="uni06D1.medi"/><Substitution in="uni06FA" out="uni06FA.medi"/><Substitution in="uni06FB" out="uni06FB.medi"/><Substitution in="uni06FC" out="uni06FC.medi"/><Substitution in="uni06FF" out="uni06FF.medi"/><Substitution in="uni0750" out="uni0750.medi"/><Substitution in="uni0751" out="uni0751.medi"/><Substitution in="uni0752" out="uni0752.medi"/><Substitution in="uni0753" out="uni0753.medi"/><Substitution in="uni0754" out="uni0754.medi"/><Substitution in="uni0755" out="uni0755.medi"/><Substitution in="uni0756" out="uni0756.medi"/><Substitution in="uni0757" out="uni0757.medi"/><Substitution in="uni0758" out="uni0758.medi"/><Substitution in="uni075C" out="uni075C.medi"/><Substitution in="uni075D" out="uni075D.medi"/><Substitution in="uni075E" out="uni075E.medi"/><Substitution in="uni075F" out="uni075F.medi"/><Substitution in="uni0760" out="uni0760.medi"/><Substitution in="uni0761" out="uni0761.medi"/><Substitution in="uni0762" out="uni0762.medi"/><Substitution in="uni0763" out="uni0763.medi"/><Substitution in="uni0764" out="uni0764.medi"/><Substitution in="uni0765" out="uni0765.medi"/><Substitution in="uni0766" out="uni0766.medi"/><Substitution in="uni0767" out="uni0767.medi"/><Substitution in="uni0768" out="uni0768.medi"/><Substitution in="uni0769" out="uni0769.medi"/><Substitution in="uni076A" out="uni076A.medi"/><Substitution in="uni076D" out="uni076D.medi"/></SingleSubst></Lookup><Lookup index="4"><LookupType value="6"/><LookupFlag value="9"/><ChainContextSubst index="0" Format="3"><InputCoverage index="0" Format="2"><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="14"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="1" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="15"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="2" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="16"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="5"><LookupType value="4"/><LookupFlag value="257"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="uni064B"><Ligature components="uni0651" glyph="uni0651064B"/></LigatureSet><LigatureSet glyph="uni064C"><Ligature components="uni0651" glyph="uni0651064C"/></LigatureSet><LigatureSet glyph="uni064E"><Ligature components="uni0651" glyph="uni0651064E"/></LigatureSet><LigatureSet glyph="uni064F"><Ligature components="uni0651" glyph="uni0651064F"/></LigatureSet><LigatureSet glyph="uni0651"><Ligature components="uni064B" glyph="uni0651064B"/><Ligature components="uni064C" glyph="uni0651064C"/><Ligature components="uni064E" glyph="uni0651064E"/><Ligature components="uni064F" glyph="uni0651064F"/><Ligature components="uni0670" glyph="absShaddaAlef"/></LigatureSet><LigatureSet glyph="uni0670"><Ligature components="uni0651" glyph="absShaddaAlef"/></LigatureSet></LigatureSubst></Lookup><Lookup index="6"><LookupType value="4"/><LookupFlag value="257"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="uni064D"><Ligature components="uni0651" glyph="uni0651064D"/></LigatureSet><LigatureSet glyph="uni0650"><Ligature components="uni0651" glyph="uni06510650"/></LigatureSet><LigatureSet glyph="uni0651"><Ligature components="uni0650" glyph="uni06510650"/><Ligature components="uni064D" glyph="uni0651064D"/></LigatureSet></LigatureSubst></Lookup><Lookup index="7"><LookupType value="4"/><LookupFlag value="513"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="uni0647"><Ligature components="uni0654" glyph="uni06C0"/></LigatureSet><LigatureSet glyph="uni0647.fina"><Ligature components="uni0654" glyph="uni06C0.fina"/></LigatureSet><LigatureSet glyph="uni0647.init"><Ligature components="uni0654" glyph="uni06C0.init"/></LigatureSet><LigatureSet glyph="uni0647.medi"><Ligature components="uni0654" glyph="uni06C0.medi"/></LigatureSet><LigatureSet glyph="uni0648"><Ligature components="uni0654" glyph="uni0624"/></LigatureSet><LigatureSet glyph="uni0648.fina"><Ligature components="uni0654" glyph="uni0624.fina"/></LigatureSet><LigatureSet glyph="uni064A"><Ligature components="uni0654" glyph="uni0626"/></LigatureSet><LigatureSet glyph="uni064A.fina"><Ligature components="uni0654" glyph="uni0626.fina"/></LigatureSet><LigatureSet glyph="uni064A.init"><Ligature components="uni0654" glyph="uni0626.init"/></LigatureSet><LigatureSet glyph="uni064A.medi"><Ligature components="uni0654" glyph="uni0626.medi"/></LigatureSet><LigatureSet glyph="uni06C1"><Ligature components="uni0654" glyph="uni06C2"/></LigatureSet><LigatureSet glyph="uni06C1.fina"><Ligature components="uni0654" glyph="uni06C2.fina"/></LigatureSet><LigatureSet glyph="uni06C1.init"><Ligature components="uni0654" glyph="uni06C2.init"/></LigatureSet><LigatureSet glyph="uni06C1.medi"><Ligature components="uni0654" glyph="uni06C2.medi"/></LigatureSet></LigatureSubst></Lookup><Lookup index="8"><LookupType value="6"/><LookupFlag value="1"/><ChainContextSubst index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni064A"/><Glyph value="uni0678"/><Glyph value="uni06CC"/><Glyph value="uni06D0"/><Glyph value="uni06D1"/><Glyph value="uni06CD"/><Glyph value="uni0649"/><Glyph value="uni0633"/><Glyph value="uni0634"/><Glyph value="uni069A"/><Glyph value="uni069B"/><Glyph value="uni069C"/><Glyph value="uni06FA"/><Glyph value="absSheenRetro1"/><Glyph value="absSheenRetro2"/><Glyph value="uni075C"/><Glyph value="uni076D"/><Glyph value="uni0635"/><Glyph value="uni0636"/><Glyph value="uni069D"/><Glyph value="uni069E"/><Glyph value="uni06FB"/><Glyph value="uni064A.fina"/><Glyph value="uni0678.fina"/><Glyph value="uni06CC.fina"/><Glyph value="uni06D0.fina"/><Glyph value="uni06D1.fina"/><Glyph value="uni06CD.fina"/><Glyph value="uni0649.fina"/><Glyph value="uni0633.fina"/><Glyph value="uni0634.fina"/><Glyph value="uni069A.fina"/><Glyph value="uni069B.fina"/><Glyph value="uni069C.fina"/><Glyph value="uni06FA.fina"/><Glyph value="absSheenRetro1Fin"/><Glyph value="absSheenRetro2Fin"/><Glyph value="uni075C.fina"/><Glyph value="uni076D.fina"/><Glyph value="uni0635.fina"/><Glyph value="uni0636.fina"/><Glyph value="uni069D.fina"/><Glyph value="uni069E.fina"/><Glyph value="uni06FB.fina"/></BacktrackCoverage><InputCoverage index="0" Format="1"><Glyph value="uni0670"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="17"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="9"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="uni060C" out="uni060C.downward"/><Substitution in="uni061B" out="uni061B.downward"/><Substitution in="uni0645" out="uni0645.sindhi"/><Substitution in="uni0645.fina" out="uni0645.fina.sindhi"/><Substitution in="uni0647" out="uni0647.knotted"/><Substitution in="uni0647.fina" out="uni0647.fina.knottedHigh"/><Substitution in="uni0647.medi" out="uni0647.medi.knottedHigh"/><Substitution in="uni064C" out="uni064C.sixNine"/><Substitution in="uni06F6" out="uni06F6.urdu"/><Substitution in="uni06F7" out="uni06F7.urdu"/></SingleSubst></Lookup><Lookup index="10"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0647.fina" out="uni0647.fina.hooked"/><Substitution in="uni0647.init" out="uni0647.init.hooked"/><Substitution in="uni0647.medi" out="uni0647.medi.hooked"/><Substitution in="uni06F4" out="uni06F4.urdu"/><Substitution in="uni06F6" out="uni06F6.urdu"/><Substitution in="uni06F7" out="uni06F7.urdu"/></SingleSubst></Lookup><Lookup index="11"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="uni0647" out="uni0647.knotted"/><Substitution in="uni0647.fina" out="uni0647.fina.knottedHigh"/></SingleSubst></Lookup><Lookup index="12"><LookupType value="1"/><LookupFlag value="0"/><SingleSubst index="0" Format="2"><Substitution in="asterisk.arab" out="asterisk"/><Substitution in="colon.arab" out="colon"/><Substitution in="exclam.arab" out="exclam"/><Substitution in="parenleft.arab" out="parenleft"/><Substitution in="parenright.arab" out="parenright"/><Substitution in="quotedblleft.arab" out="quotedblleft"/><Substitution in="quotedblright.arab" out="quotedblright"/><Substitution in="quoteleft.arab" out="quoteleft"/><Substitution in="quoteright.arab" out="quoteright"/></SingleSubst></Lookup><Lookup index="13"><LookupType value="6"/><LookupFlag value="1"/><ChainContextSubst index="0" Format="3"><InputCoverage index="0" Format="1"><Glyph value="uni06DD"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="1" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="2" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="18"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="1" Format="3"><InputCoverage index="0" Format="1"><Glyph value="uni06DD"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="1" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="19"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="2" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni06DD"/><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="uni06DD.2"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="20"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="3" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/><Glyph value="uni06DD.3"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="21"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="14"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absLamRetroIni" out="absLamRetroIni.preAlef"/><Substitution in="absLamRetroMed" out="absLamRetroMed.preAlef"/><Substitution in="uni0644.init" out="uni0644.init.preAlef"/><Substitution in="uni0644.medi" out="uni0644.medi.preAlef"/><Substitution in="uni06B5.init" out="uni06B5.init.preAlef"/><Substitution in="uni06B5.medi" out="uni06B5.medi.preAlef"/><Substitution in="uni06B6.init" out="uni06B6.init.preAlef"/><Substitution in="uni06B6.medi" out="uni06B6.medi.preAlef"/><Substitution in="uni06B7.init" out="uni06B7.init.preAlef"/><Substitution in="uni06B7.medi" out="uni06B7.medi.preAlef"/><Substitution in="uni06B8.init" out="uni06B8.init.preAlef"/><Substitution in="uni06B8.medi" out="uni06B8.medi.preAlef"/><Substitution in="uni076A.init" out="uni076A.init.preAlef"/><Substitution in="uni076A.medi" out="uni076A.medi.preAlef"/></SingleSubst></Lookup><Lookup index="15"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0622.fina" out="uni0622.fina.postLamIni"/><Substitution in="uni0623.fina" out="uni0623.fina.postLamIni"/><Substitution in="uni0625.fina" out="uni0625.fina.postLamIni"/><Substitution in="uni0627.fina" out="uni0627.fina.postLamIni"/><Substitution in="uni0671.fina" out="uni0671.fina.postLamIni"/><Substitution in="uni0672.fina" out="uni0672.fina.postLamIni"/><Substitution in="uni0673.fina" out="uni0673.fina.postLamIni"/><Substitution in="uni0675.fina" out="uni0675.fina.postLamIni"/></SingleSubst></Lookup><Lookup index="16"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0622.fina" out="uni0622.fina.postLamMed"/><Substitution in="uni0623.fina" out="uni0623.fina.postLamMed"/><Substitution in="uni0625.fina" out="uni0625.fina.postLamMed"/><Substitution in="uni0627.fina" out="uni0627.fina.postLamMed"/><Substitution in="uni0671.fina" out="uni0671.fina.postLamMed"/><Substitution in="uni0672.fina" out="uni0672.fina.postLamMed"/><Substitution in="uni0673.fina" out="uni0673.fina.postLamMed"/><Substitution in="uni0675.fina" out="uni0675.fina.postLamMed"/></SingleSubst></Lookup><Lookup index="17"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="uni0670" out="uni0670.large"/></SingleSubst></Lookup><Lookup index="18"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="uni06DD" out="uni06DD.3"/></SingleSubst></Lookup><Lookup index="19"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="uni06DD" out="uni06DD.2"/></SingleSubst></Lookup><Lookup index="20"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="eight" out="eightMedium"/><Substitution in="five" out="fiveMedium"/><Substitution in="four" out="fourMedium"/><Substitution in="nine" out="nineMedium"/><Substitution in="one" out="oneMedium"/><Substitution in="seven" out="sevenMedium"/><Substitution in="six" out="sixMedium"/><Substitution in="three" out="threeMedium"/><Substitution in="two" out="twoMedium"/><Substitution in="uni0660" out="uni0660.Medium"/><Substitution in="uni0661" out="uni0661.Medium"/><Substitution in="uni0662" out="uni0662.Medium"/><Substitution in="uni0663" out="uni0663.Medium"/><Substitution in="uni0664" out="uni0664.Medium"/><Substitution in="uni0665" out="uni0665.Medium"/><Substitution in="uni0666" out="uni0666.Medium"/><Substitution in="uni0667" out="uni0667.Medium"/><Substitution in="uni0668" out="uni0668.Medium"/><Substitution in="uni0669" out="uni0669.Medium"/><Substitution in="uni06F0" out="uni06F0.Medium"/><Substitution in="uni06F1" out="uni06F1.Medium"/><Substitution in="uni06F2" out="uni06F2.Medium"/><Substitution in="uni06F3" out="uni06F3.Medium"/><Substitution in="uni06F4" out="uni06F4.Medium"/><Substitution in="uni06F4.urdu" out="uni06F4.Medium.urdu"/><Substitution in="uni06F5" out="uni06F5.Medium"/><Substitution in="uni06F6" out="uni06F6.Medium"/><Substitution in="uni06F6.urdu" out="uni06F6.Medium.urdu"/><Substitution in="uni06F7" out="uni06F7.Medium"/><Substitution in="uni06F7.urdu" out="uni06F7.Medium.urdu"/><Substitution in="uni06F8" out="uni06F8.Medium"/><Substitution in="uni06F9" out="uni06F9.Medium"/><Substitution in="zero" out="zeroMedium"/></SingleSubst></Lookup><Lookup index="21"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="eight" out="eightSmall"/><Substitution in="five" out="fiveSmall"/><Substitution in="four" out="fourSmall"/><Substitution in="nine" out="nineSmall"/><Substitution in="one" out="oneSmall"/><Substitution in="seven" out="sevenSmall"/><Substitution in="six" out="sixSmall"/><Substitution in="three" out="threeSmall"/><Substitution in="two" out="twoSmall"/><Substitution in="uni0660" out="uni0660.Small"/><Substitution in="uni0661" out="uni0661.Small"/><Substitution in="uni0662" out="uni0662.Small"/><Substitution in="uni0663" out="uni0663.Small"/><Substitution in="uni0664" out="uni0664.Small"/><Substitution in="uni0665" out="uni0665.Small"/><Substitution in="uni0666" out="uni0666.Small"/><Substitution in="uni0667" out="uni0667.Small"/><Substitution in="uni0668" out="uni0668.Small"/><Substitution in="uni0669" out="uni0669.Small"/><Substitution in="uni06F0" out="uni06F0.Small"/><Substitution in="uni06F1" out="uni06F1.Small"/><Substitution in="uni06F2" out="uni06F2.Small"/><Substitution in="uni06F3" out="uni06F3.Small"/><Substitution in="uni06F4" out="uni06F4.Small"/><Substitution in="uni06F4.urdu" out="uni06F4.Small.urdu"/><Substitution in="uni06F5" out="uni06F5.Small"/><Substitution in="uni06F6" out="uni06F6.Small"/><Substitution in="uni06F6.urdu" out="uni06F6.Small.urdu"/><Substitution in="uni06F7" out="uni06F7.Small"/><Substitution in="uni06F7.urdu" out="uni06F7.Small.urdu"/><Substitution in="uni06F8" out="uni06F8.Small"/><Substitution in="uni06F9" out="uni06F9.Small"/><Substitution in="zero" out="zeroSmall"/></SingleSubst></Lookup></LookupList></GSUB><GPOS><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="4"/><FeatureIndex index="2" value="8"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="KUR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="5"/><FeatureIndex index="2" value="9"/></LangSys></LangSysRecord><LangSysRecord index="1"><LangSysTag value="SND "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="2"/><FeatureIndex index="1" value="6"/><FeatureIndex index="2" value="10"/></LangSys></LangSysRecord><LangSysRecord index="2"><LangSysTag value="URD "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="3"/><FeatureIndex index="1" value="7"/><FeatureIndex index="2" value="11"/></LangSys></LangSysRecord></Script></ScriptRecord><ScriptRecord index="1"><ScriptTag value="latn"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/></DefaultLangSys></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="4"/><LookupListIndex index="3" value="6"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="4"/><LookupListIndex index="3" value="6"/></Feature></FeatureRecord><FeatureRecord index="6"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="4"/><LookupListIndex index="3" value="6"/></Feature></FeatureRecord><FeatureRecord index="7"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="4"/><LookupListIndex index="3" value="6"/></Feature></FeatureRecord><FeatureRecord index="8"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/></Feature></FeatureRecord><FeatureRecord index="9"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/></Feature></FeatureRecord><FeatureRecord index="10"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/></Feature></FeatureRecord><FeatureRecord index="11"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="3"/><LookupFlag value="9"/><CursivePos index="0" Format="1"><Coverage Format="2"><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></Coverage><EntryExitRecord index="0"><ExitAnchor Format="1"><XCoordinate value="-2"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="1"><ExitAnchor Format="1"><XCoordinate value="-2"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="2"><ExitAnchor Format="1"><XCoordinate value="-2"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="3"><ExitAnchor Format="1"><XCoordinate value="-2"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="4"><ExitAnchor Format="1"><XCoordinate value="-2"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="5"><ExitAnchor Format="1"><XCoordinate value="-2"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="6"><ExitAnchor Format="1"><XCoordinate value="-2"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="7"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="8"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="9"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="10"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="11"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="12"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="13"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="14"><EntryAnchor Format="1"><XCoordinate value="574"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="15"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-100"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="16"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-100"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="17"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-100"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="18"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-100"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="19"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-100"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="20"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-100"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="21"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-100"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="22"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="23"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="24"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="25"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="26"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="27"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="28"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="29"><EntryAnchor Format="1"><XCoordinate value="550"/><YCoordinate value="-100"/></EntryAnchor></EntryExitRecord></CursivePos></Lookup><Lookup index="1"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="uni064B"/><Glyph value="uni064C"/><Glyph value="uni064E"/><Glyph value="uni064F"/><Glyph value="uni0651"/><Glyph value="uni0652"/><Glyph value="uni0653"/><Glyph value="uni0654"/><Glyph value="uni0657"/><Glyph value="uni0658"/><Glyph value="uni0659"/><Glyph value="uni065A"/><Glyph value="uni065B"/><Glyph value="uni065D"/><Glyph value="uni065E"/><Glyph value="uni0670"/><Glyph value="uni0670.large"/><Glyph value="uni06D6"/><Glyph value="uni06D7"/><Glyph value="uni06D8"/><Glyph value="uni06D9"/><Glyph value="uni06DA"/><Glyph value="uni06DB"/><Glyph value="uni06DC"/><Glyph value="uni06DF"/><Glyph value="uni06E0"/><Glyph value="uni06E1"/><Glyph value="uni06E2"/><Glyph value="uni06E4"/><Glyph value="uni06E7"/><Glyph value="uni06E8"/><Glyph value="uni06EB"/><Glyph value="uni06EC"/><Glyph value="uni0614"/><Glyph value="uni0651064B"/><Glyph value="uni0651064C"/><Glyph value="uni0651064D"/><Glyph value="uni0651064E"/><Glyph value="uni0651064F"/><Glyph value="uni06510650"/><Glyph value="uni0654064E"/><Glyph value="uni0654064F"/><Glyph value="absShaddaAlef"/><Glyph value="uni0652.leftOpen"/><Glyph value="uni0652.downOpen"/><Glyph value="uni064C.sixNine"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni25CC"/><Glyph value="uni0622"/><Glyph value="uni0623"/><Glyph value="uni0625"/><Glyph value="uni0627"/><Glyph value="uni0672"/><Glyph value="uni0673"/><Glyph value="uni0675"/><Glyph value="uni0671"/><Glyph value="uni0624"/><Glyph value="uni0648"/><Glyph value="uni0676"/><Glyph value="uni0677"/><Glyph value="uni06C4"/><Glyph value="uni06C5"/><Glyph value="uni06C6"/><Glyph value="uni06C7"/><Glyph value="uni06C8"/><Glyph value="uni06C9"/><Glyph value="uni06CA"/><Glyph value="uni06CB"/><Glyph value="uni06CF"/><Glyph value="absWawDotBelow"/><Glyph value="uni062F"/><Glyph value="uni0630"/><Glyph value="uni0688"/><Glyph value="uni0689"/><Glyph value="uni068A"/><Glyph value="uni068B"/><Glyph value="uni068C"/><Glyph value="uni068D"/><Glyph value="uni068E"/><Glyph value="uni068F"/><Glyph value="uni0690"/><Glyph value="uni06EE"/><Glyph value="uni0759"/><Glyph value="uni075A"/><Glyph value="uni0631"/><Glyph value="uni0632"/><Glyph value="uni0691"/><Glyph value="uni0692"/><Glyph value="uni0693"/><Glyph value="uni0694"/><Glyph value="uni0695"/><Glyph value="uni0696"/><Glyph value="uni0697"/><Glyph value="uni0698"/><Glyph value="uni0699"/><Glyph value="uni076B"/><Glyph value="uni076C"/><Glyph value="absJehRetro1"/><Glyph value="absJehRetro2"/><Glyph value="uni0698.dotHat"/><Glyph value="uni06EF"/><Glyph value="uni075B"/><Glyph value="uni06D2"/><Glyph value="uni06D3"/><Glyph value="uni0626"/><Glyph value="uni064A"/><Glyph value="uni064A.noDots"/><Glyph value="uni0678"/><Glyph value="uni06CC"/><Glyph value="uni06CE"/><Glyph value="uni06D0"/><Glyph value="uni06D1"/><Glyph value="uni06CD"/><Glyph value="uni0649"/><Glyph value="uni066E"/><Glyph value="uni0628"/><Glyph value="uni062A"/><Glyph value="uni062B"/><Glyph value="uni0679"/><Glyph value="uni067A"/><Glyph value="uni067B"/><Glyph value="uni067C"/><Glyph value="uni067D"/><Glyph value="uni067E"/><Glyph value="uni067F"/><Glyph value="uni0680"/><Glyph value="uni0750"/><Glyph value="uni0751"/><Glyph value="uni0752"/><Glyph value="uni0753"/><Glyph value="uni0754"/><Glyph value="uni0755"/><Glyph value="uni0756"/><Glyph value="uni062C"/><Glyph value="uni062D"/><Glyph value="uni062E"/><Glyph value="uni0681"/><Glyph value="uni0682"/><Glyph value="uni0683"/><Glyph value="uni0684"/><Glyph value="uni0685"/><Glyph value="uni0686"/><Glyph value="uni0687"/><Glyph value="uni06BF"/><Glyph value="absTchehRetro1"/><Glyph value="absTchehRetro2"/><Glyph value="absJeemRetro1"/><Glyph value="absJeemRetro2"/><Glyph value="absJeemRetro3"/><Glyph value="uni0757"/><Glyph value="uni0758"/><Glyph value="uni0633"/><Glyph value="uni0634"/><Glyph value="uni069A"/><Glyph value="uni069B"/><Glyph value="uni069C"/><Glyph value="uni06FA"/><Glyph value="absSheenRetro1"/><Glyph value="absSheenRetro2"/><Glyph value="uni075C"/><Glyph value="uni076D"/><Glyph value="uni0635"/><Glyph value="uni0636"/><Glyph value="uni069D"/><Glyph value="uni069E"/><Glyph value="uni06FB"/><Glyph value="uni0637"/><Glyph value="uni0638"/><Glyph value="uni069F"/><Glyph value="uni0639"/><Glyph value="uni063A"/><Glyph value="uni06A0"/><Glyph value="uni06FC"/><Glyph value="uni075D"/><Glyph value="uni075E"/><Glyph value="uni075F"/><Glyph value="uni0641"/><Glyph value="uni06A1"/><Glyph value="uni06A2"/><Glyph value="uni06A3"/><Glyph value="uni06A4"/><Glyph value="uni06A5"/><Glyph value="uni06A6"/><Glyph value="uni0760"/><Glyph value="uni0761"/><Glyph value="uni066F"/><Glyph value="uni0642"/><Glyph value="uni06A7"/><Glyph value="uni06A8"/><Glyph value="uni0643"/><Glyph value="uni06AC"/><Glyph value="uni06AD"/><Glyph value="uni06AE"/><Glyph value="uni06A9"/><Glyph value="uni06AB"/><Glyph value="uni06AF"/><Glyph value="uni06B0"/><Glyph value="uni06B1"/><Glyph value="uni06B2"/><Glyph value="uni06B3"/><Glyph value="uni06B4"/><Glyph value="uni0762"/><Glyph value="uni0763"/><Glyph value="uni0764"/><Glyph value="uni06AA"/><Glyph value="uni0644"/><Glyph value="uni06B5"/><Glyph value="uni06B6"/><Glyph value="uni06B7"/><Glyph value="uni06B8"/><Glyph value="absLamRetro"/><Glyph value="uni076A"/><Glyph value="uni0645"/><Glyph value="uni0765"/><Glyph value="uni0766"/><Glyph value="uni0646"/><Glyph value="uni06B9"/><Glyph value="uni06BA"/><Glyph value="uni06BB"/><Glyph value="uni06BC"/><Glyph value="uni06BD"/><Glyph value="uni0767"/><Glyph value="uni0768"/><Glyph value="uni0769"/><Glyph value="uni06BE"/><Glyph value="uni06FF"/><Glyph value="uni0647"/><Glyph value="uni06D5"/><Glyph value="uni0629"/><Glyph value="uni06C0"/><Glyph value="uni06C1"/><Glyph value="uni06C2"/><Glyph value="uni06C3"/><Glyph value="uni0621"/><Glyph value="uni0640"/><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/><Glyph value="uni0624.fina"/><Glyph value="uni0648.fina"/><Glyph value="uni0676.fina"/><Glyph value="uni0677.fina"/><Glyph value="uni06C4.fina"/><Glyph value="uni06C5.fina"/><Glyph value="uni06C6.fina"/><Glyph value="uni06C7.fina"/><Glyph value="uni06C8.fina"/><Glyph value="uni06C9.fina"/><Glyph value="uni06CA.fina"/><Glyph value="uni06CB.fina"/><Glyph value="uni06CF.fina"/><Glyph value="absWawDotBelowFin"/><Glyph value="uni062F.fina"/><Glyph value="uni0630.fina"/><Glyph value="uni0688.fina"/><Glyph value="uni0689.fina"/><Glyph value="uni068A.fina"/><Glyph value="uni068B.fina"/><Glyph value="uni068C.fina"/><Glyph value="uni068D.fina"/><Glyph value="uni068E.fina"/><Glyph value="uni068F.fina"/><Glyph value="uni0690.fina"/><Glyph value="uni06EE.fina"/><Glyph value="uni0759.fina"/><Glyph value="uni075A.fina"/><Glyph value="uni0631.fina"/><Glyph value="uni0632.fina"/><Glyph value="uni0691.fina"/><Glyph value="uni0692.fina"/><Glyph value="uni0693.fina"/><Glyph value="uni0694.fina"/><Glyph value="uni0695.fina"/><Glyph value="uni0696.fina"/><Glyph value="uni0697.fina"/><Glyph value="uni0698.fina"/><Glyph value="uni0699.fina"/><Glyph value="uni076B.fina"/><Glyph value="uni076C.fina"/><Glyph value="absJehRetro1Fin"/><Glyph value="absJehRetro2Fin"/><Glyph value="uni0698.fina.dotHat"/><Glyph value="uni06EF.fina"/><Glyph value="uni075B.fina"/><Glyph value="uni06D2.fina"/><Glyph value="uni06D3.fina"/><Glyph value="uni0626.fina"/><Glyph value="uni064A.fina"/><Glyph value="uni064A.fina.noDots"/><Glyph value="uni0678.fina"/><Glyph value="uni06CC.fina"/><Glyph value="uni06CE.fina"/><Glyph value="uni06D0.fina"/><Glyph value="uni06D1.fina"/><Glyph value="uni06CD.fina"/><Glyph value="uni0649.fina"/><Glyph value="uni066E.fina"/><Glyph value="uni0628.fina"/><Glyph value="uni062A.fina"/><Glyph value="uni062B.fina"/><Glyph value="uni0679.fina"/><Glyph value="uni067A.fina"/><Glyph value="uni067B.fina"/><Glyph value="uni067C.fina"/><Glyph value="uni067D.fina"/><Glyph value="uni067E.fina"/><Glyph value="uni067F.fina"/><Glyph value="uni0680.fina"/><Glyph value="uni0750.fina"/><Glyph value="uni0751.fina"/><Glyph value="uni0752.fina"/><Glyph value="uni0753.fina"/><Glyph value="uni0754.fina"/><Glyph value="uni0755.fina"/><Glyph value="uni0756.fina"/><Glyph value="uni062C.fina"/><Glyph value="uni062D.fina"/><Glyph value="uni062E.fina"/><Glyph value="uni0681.fina"/><Glyph value="uni0682.fina"/><Glyph value="uni0683.fina"/><Glyph value="uni0684.fina"/><Glyph value="uni0685.fina"/><Glyph value="uni0686.fina"/><Glyph value="uni0687.fina"/><Glyph value="uni06BF.fina"/><Glyph value="absTchehRetro1Fin"/><Glyph value="absTchehRetro2Fin"/><Glyph value="absJeemRetro1Fin"/><Glyph value="absJeemRetro2Fin"/><Glyph value="absJeemRetro3Fin"/><Glyph value="uni0757.fina"/><Glyph value="uni0758.fina"/><Glyph value="uni0633.fina"/><Glyph value="uni0634.fina"/><Glyph value="uni069A.fina"/><Glyph value="uni069B.fina"/><Glyph value="uni069C.fina"/><Glyph value="uni06FA.fina"/><Glyph value="absSheenRetro1Fin"/><Glyph value="absSheenRetro2Fin"/><Glyph value="uni075C.fina"/><Glyph value="uni076D.fina"/><Glyph value="uni0635.fina"/><Glyph value="uni0636.fina"/><Glyph value="uni069D.fina"/><Glyph value="uni069E.fina"/><Glyph value="uni06FB.fina"/><Glyph value="uni0637.fina"/><Glyph value="uni0638.fina"/><Glyph value="uni069F.fina"/><Glyph value="uni0639.fina"/><Glyph value="uni063A.fina"/><Glyph value="uni06A0.fina"/><Glyph value="uni06FC.fina"/><Glyph value="uni075D.fina"/><Glyph value="uni075E.fina"/><Glyph value="uni075F.fina"/><Glyph value="uni0641.fina"/><Glyph value="uni06A1.fina"/><Glyph value="uni06A2.fina"/><Glyph value="uni06A3.fina"/><Glyph value="uni06A4.fina"/><Glyph value="uni06A5.fina"/><Glyph value="uni06A6.fina"/><Glyph value="uni0760.fina"/><Glyph value="uni0761.fina"/><Glyph value="uni066F.fina"/><Glyph value="uni0642.fina"/><Glyph value="uni06A7.fina"/><Glyph value="uni06A8.fina"/><Glyph value="uni0643.fina"/><Glyph value="uni06AC.fina"/><Glyph value="uni06AD.fina"/><Glyph value="uni06AE.fina"/><Glyph value="uni06A9.fina"/><Glyph value="uni06AB.fina"/><Glyph value="uni06AF.fina"/><Glyph value="uni06B0.fina"/><Glyph value="uni06B1.fina"/><Glyph value="uni06B2.fina"/><Glyph value="uni06B3.fina"/><Glyph value="uni06B4.fina"/><Glyph value="uni0762.fina"/><Glyph value="uni0763.fina"/><Glyph value="uni0764.fina"/><Glyph value="uni06AA.fina"/><Glyph value="uni0644.fina"/><Glyph value="uni06B5.fina"/><Glyph value="uni06B6.fina"/><Glyph value="uni06B7.fina"/><Glyph value="uni06B8.fina"/><Glyph value="absLamRetroFin"/><Glyph value="uni076A.fina"/><Glyph value="uni0645.fina"/><Glyph value="uni0765.fina"/><Glyph value="uni0766.fina"/><Glyph value="uni0646.fina"/><Glyph value="uni06B9.fina"/><Glyph value="uni06BA.fina"/><Glyph value="uni06BB.fina"/><Glyph value="uni06BC.fina"/><Glyph value="uni06BD.fina"/><Glyph value="uni0767.fina"/><Glyph value="uni0768.fina"/><Glyph value="uni0769.fina"/><Glyph value="uni06BE.fina"/><Glyph value="uni06FF.fina"/><Glyph value="uni0647.fina"/><Glyph value="uni06D5.fina"/><Glyph value="uni0629.fina"/><Glyph value="uni06C0.fina"/><Glyph value="uni06C1.fina"/><Glyph value="uni06C2.fina"/><Glyph value="uni06C3.fina"/><Glyph value="uni0626.medi"/><Glyph value="uni064A.medi"/><Glyph value="uni064A.medi.noDots"/><Glyph value="uni0678.medi"/><Glyph value="uni06CC.medi"/><Glyph value="uni06CE.medi"/><Glyph value="uni06D0.medi"/><Glyph value="uni06D1.medi"/><Glyph value="uni0649.medi"/><Glyph value="uni066E.medi"/><Glyph value="uni0628.medi"/><Glyph value="uni062A.medi"/><Glyph value="uni062B.medi"/><Glyph value="uni0679.medi"/><Glyph value="uni067A.medi"/><Glyph value="uni067B.medi"/><Glyph value="uni067C.medi"/><Glyph value="uni067D.medi"/><Glyph value="uni067E.medi"/><Glyph value="uni067F.medi"/><Glyph value="uni0680.medi"/><Glyph value="uni0750.medi"/><Glyph value="uni0751.medi"/><Glyph value="uni0752.medi"/><Glyph value="uni0753.medi"/><Glyph value="uni0754.medi"/><Glyph value="uni0755.medi"/><Glyph value="uni0756.medi"/><Glyph value="uni062C.medi"/><Glyph value="uni062D.medi"/><Glyph value="uni062E.medi"/><Glyph value="uni0681.medi"/><Glyph value="uni0682.medi"/><Glyph value="uni0683.medi"/><Glyph value="uni0684.medi"/><Glyph value="uni0685.medi"/><Glyph value="uni0686.medi"/><Glyph value="uni0687.medi"/><Glyph value="uni06BF.medi"/><Glyph value="absTchehRetro1Med"/><Glyph value="absTchehRetro2Med"/><Glyph value="absJeemRetro1Med"/><Glyph value="absJeemRetro2Med"/><Glyph value="absJeemRetro3Med"/><Glyph value="uni0757.medi"/><Glyph value="uni0758.medi"/><Glyph value="uni0633.medi"/><Glyph value="uni0634.medi"/><Glyph value="uni069A.medi"/><Glyph value="uni069B.medi"/><Glyph value="uni069C.medi"/><Glyph value="uni06FA.medi"/><Glyph value="absSheenRetro1Med"/><Glyph value="absSheenRetro2Med"/><Glyph value="uni075C.medi"/><Glyph value="uni076D.medi"/><Glyph value="uni0635.medi"/><Glyph value="uni0636.medi"/><Glyph value="uni069D.medi"/><Glyph value="uni069E.medi"/><Glyph value="uni06FB.medi"/><Glyph value="uni0637.medi"/><Glyph value="uni0638.medi"/><Glyph value="uni069F.medi"/><Glyph value="uni0639.medi"/><Glyph value="uni063A.medi"/><Glyph value="uni06A0.medi"/><Glyph value="uni06FC.medi"/><Glyph value="uni075D.medi"/><Glyph value="uni075E.medi"/><Glyph value="uni075F.medi"/><Glyph value="uni0641.medi"/><Glyph value="uni06A1.medi"/><Glyph value="uni06A2.medi"/><Glyph value="uni06A3.medi"/><Glyph value="uni06A4.medi"/><Glyph value="uni06A5.medi"/><Glyph value="uni06A6.medi"/><Glyph value="uni0760.medi"/><Glyph value="uni0761.medi"/><Glyph value="uni066F.medi"/><Glyph value="uni0642.medi"/><Glyph value="uni06A7.medi"/><Glyph value="uni06A8.medi"/><Glyph value="uni0643.medi"/><Glyph value="uni06AC.medi"/><Glyph value="uni06AD.medi"/><Glyph value="uni06AE.medi"/><Glyph value="uni06A9.medi"/><Glyph value="uni06AB.medi"/><Glyph value="uni06AF.medi"/><Glyph value="uni06B0.medi"/><Glyph value="uni06B1.medi"/><Glyph value="uni06B2.medi"/><Glyph value="uni06B3.medi"/><Glyph value="uni06B4.medi"/><Glyph value="uni0762.medi"/><Glyph value="uni0763.medi"/><Glyph value="uni0764.medi"/><Glyph value="uni06AA.medi"/><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0645.medi"/><Glyph value="uni0765.medi"/><Glyph value="uni0766.medi"/><Glyph value="uni0646.medi"/><Glyph value="uni06B9.medi"/><Glyph value="uni06BA.medi"/><Glyph value="uni06BB.medi"/><Glyph value="uni06BC.medi"/><Glyph value="uni06BD.medi"/><Glyph value="uni0767.medi"/><Glyph value="uni0768.medi"/><Glyph value="uni0769.medi"/><Glyph value="uni06BE.medi"/><Glyph value="uni06FF.medi"/><Glyph value="uni0647.medi"/><Glyph value="uni06C1.medi"/><Glyph value="uni06C2.medi"/><Glyph value="uni0626.init"/><Glyph value="uni064A.init"/><Glyph value="uni064A.init.noDots"/><Glyph value="uni0678.init"/><Glyph value="uni06CC.init"/><Glyph value="uni06CE.init"/><Glyph value="uni06D0.init"/><Glyph value="uni06D1.init"/><Glyph value="uni0649.init"/><Glyph value="uni066E.init"/><Glyph value="uni0628.init"/><Glyph value="uni062A.init"/><Glyph value="uni062B.init"/><Glyph value="uni0679.init"/><Glyph value="uni067A.init"/><Glyph value="uni067B.init"/><Glyph value="uni067C.init"/><Glyph value="uni067D.init"/><Glyph value="uni067E.init"/><Glyph value="uni067F.init"/><Glyph value="uni0680.init"/><Glyph value="uni0750.init"/><Glyph value="uni0751.init"/><Glyph value="uni0752.init"/><Glyph value="uni0753.init"/><Glyph value="uni0754.init"/><Glyph value="uni0755.init"/><Glyph value="uni0756.init"/><Glyph value="uni062C.init"/><Glyph value="uni062D.init"/><Glyph value="uni062E.init"/><Glyph value="uni0681.init"/><Glyph value="uni0682.init"/><Glyph value="uni0683.init"/><Glyph value="uni0684.init"/><Glyph value="uni0685.init"/><Glyph value="uni0686.init"/><Glyph value="uni0687.init"/><Glyph value="uni06BF.init"/><Glyph value="absTchehRetro1Ini"/><Glyph value="absTchehRetro2Ini"/><Glyph value="absJeemRetro1Ini"/><Glyph value="absJeemRetro2Ini"/><Glyph value="absJeemRetro3Ini"/><Glyph value="uni0757.init"/><Glyph value="uni0758.init"/><Glyph value="uni0633.init"/><Glyph value="uni0634.init"/><Glyph value="uni069A.init"/><Glyph value="uni069B.init"/><Glyph value="uni069C.init"/><Glyph value="uni06FA.init"/><Glyph value="absSheenRetro1Ini"/><Glyph value="absSheenRetro2Ini"/><Glyph value="uni075C.init"/><Glyph value="uni076D.init"/><Glyph value="uni0635.init"/><Glyph value="uni0636.init"/><Glyph value="uni069D.init"/><Glyph value="uni069E.init"/><Glyph value="uni06FB.init"/><Glyph value="uni0637.init"/><Glyph value="uni0638.init"/><Glyph value="uni069F.init"/><Glyph value="uni0639.init"/><Glyph value="uni063A.init"/><Glyph value="uni06A0.init"/><Glyph value="uni06FC.init"/><Glyph value="uni075D.init"/><Glyph value="uni075E.init"/><Glyph value="uni075F.init"/><Glyph value="uni0641.init"/><Glyph value="uni06A1.init"/><Glyph value="uni06A2.init"/><Glyph value="uni06A3.init"/><Glyph value="uni06A4.init"/><Glyph value="uni06A5.init"/><Glyph value="uni06A6.init"/><Glyph value="uni0760.init"/><Glyph value="uni0761.init"/><Glyph value="uni066F.init"/><Glyph value="uni0642.init"/><Glyph value="uni06A7.init"/><Glyph value="uni06A8.init"/><Glyph value="uni0643.init"/><Glyph value="uni06AC.init"/><Glyph value="uni06AD.init"/><Glyph value="uni06AE.init"/><Glyph value="uni06A9.init"/><Glyph value="uni06AB.init"/><Glyph value="uni06AF.init"/><Glyph value="uni06B0.init"/><Glyph value="uni06B1.init"/><Glyph value="uni06B2.init"/><Glyph value="uni06B3.init"/><Glyph value="uni06B4.init"/><Glyph value="uni0762.init"/><Glyph value="uni0763.init"/><Glyph value="uni0764.init"/><Glyph value="uni06AA.init"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/><Glyph value="uni0645.init"/><Glyph value="uni0765.init"/><Glyph value="uni0766.init"/><Glyph value="uni0646.init"/><Glyph value="uni06B9.init"/><Glyph value="uni06BA.init"/><Glyph value="uni06BB.init"/><Glyph value="uni06BC.init"/><Glyph value="uni06BD.init"/><Glyph value="uni0767.init"/><Glyph value="uni0768.init"/><Glyph value="uni0769.init"/><Glyph value="uni06BE.init"/><Glyph value="uni06FF.init"/><Glyph value="uni0647.init"/><Glyph value="uni06C1.init"/><Glyph value="uni06C2.init"/><Glyph value="uni0674"/><Glyph value="uni060C"/><Glyph value="uni061B"/><Glyph value="uni061F"/><Glyph value="uni066D"/><Glyph value="uni06D4"/><Glyph value="uni06E9"/><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="226"/><YCoordinate value="1053"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="171"/><YCoordinate value="1027"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="190"/><YCoordinate value="1056"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="187"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="153"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1039"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="256"/><YCoordinate value="1123"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="178"/><YCoordinate value="625"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="112"/><YCoordinate value="964"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="967"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="185"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="204"/><YCoordinate value="976"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="210"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="187"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="176"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="109"/><YCoordinate value="676"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="363"/><YCoordinate value="233"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-20"/><YCoordinate value="1007"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-14"/><YCoordinate value="1007"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="970"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="976"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="999"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="4"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="984"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="982"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="984"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="979"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1117"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="3"/><YCoordinate value="996"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="959"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="970"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="556"/><YCoordinate value="1402"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="1045"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="153"/><YCoordinate value="1045"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="144"/><YCoordinate value="1056"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="155"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="141"/><YCoordinate value="1056"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="178"/><YCoordinate value="625"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="178"/><YCoordinate value="625"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="107"/><YCoordinate value="973"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="979"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="187"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="512"/><YCoordinate value="1060"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1475"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1641"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1176"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1176"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1570"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1176"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1719"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1545"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="317"/><YCoordinate value="964"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="1037"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="954"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="915"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="948"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="964"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="883"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="1057"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="883"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="834"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="1093"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="291"/><YCoordinate value="1267"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="834"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="834"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="291"/><YCoordinate value="1267"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="1093"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="834"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="1259"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="1263"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="1263"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="1146"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="284"/><YCoordinate value="1300"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="834"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="830"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="329"/><YCoordinate value="867"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="42"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="43"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="44"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="45"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="46"><BaseAnchor index="0" Format="1"><XCoordinate value="272"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="47"><BaseAnchor index="0" Format="1"><XCoordinate value="272"/><YCoordinate value="1041"/></BaseAnchor></BaseRecord><BaseRecord index="48"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1016"/></BaseAnchor></BaseRecord><BaseRecord index="49"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="50"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1219"/></BaseAnchor></BaseRecord><BaseRecord index="51"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1498"/></BaseAnchor></BaseRecord><BaseRecord index="52"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="53"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="54"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="55"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="530"/></BaseAnchor></BaseRecord><BaseRecord index="56"><BaseAnchor index="0" Format="1"><XCoordinate value="324"/><YCoordinate value="777"/></BaseAnchor></BaseRecord><BaseRecord index="57"><BaseAnchor index="0" Format="1"><XCoordinate value="447"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="58"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="59"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="60"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="1197"/></BaseAnchor></BaseRecord><BaseRecord index="61"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="62"><BaseAnchor index="0" Format="1"><XCoordinate value="503"/><YCoordinate value="1073"/></BaseAnchor></BaseRecord><BaseRecord index="63"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="64"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="65"><BaseAnchor index="0" Format="1"><XCoordinate value="552"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="66"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="67"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="68"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="69"><BaseAnchor index="0" Format="1"><XCoordinate value="573"/><YCoordinate value="830"/></BaseAnchor></BaseRecord><BaseRecord index="70"><BaseAnchor index="0" Format="1"><XCoordinate value="560"/><YCoordinate value="976"/></BaseAnchor></BaseRecord><BaseRecord index="71"><BaseAnchor index="0" Format="1"><XCoordinate value="569"/><YCoordinate value="984"/></BaseAnchor></BaseRecord><BaseRecord index="72"><BaseAnchor index="0" Format="1"><XCoordinate value="577"/><YCoordinate value="976"/></BaseAnchor></BaseRecord><BaseRecord index="73"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="74"><BaseAnchor index="0" Format="1"><XCoordinate value="577"/><YCoordinate value="838"/></BaseAnchor></BaseRecord><BaseRecord index="75"><BaseAnchor index="0" Format="1"><XCoordinate value="577"/><YCoordinate value="1029"/></BaseAnchor></BaseRecord><BaseRecord index="76"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="77"><BaseAnchor index="0" Format="1"><XCoordinate value="569"/><YCoordinate value="1033"/></BaseAnchor></BaseRecord><BaseRecord index="78"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="79"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="80"><BaseAnchor index="0" Format="1"><XCoordinate value="573"/><YCoordinate value="968"/></BaseAnchor></BaseRecord><BaseRecord index="81"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="82"><BaseAnchor index="0" Format="1"><XCoordinate value="569"/><YCoordinate value="838"/></BaseAnchor></BaseRecord><BaseRecord index="83"><BaseAnchor index="0" Format="1"><XCoordinate value="577"/><YCoordinate value="806"/></BaseAnchor></BaseRecord><BaseRecord index="84"><BaseAnchor index="0" Format="1"><XCoordinate value="612"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="85"><BaseAnchor index="0" Format="1"><XCoordinate value="589"/><YCoordinate value="834"/></BaseAnchor></BaseRecord><BaseRecord index="86"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="87"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="88"><BaseAnchor index="0" Format="1"><XCoordinate value="446"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="89"><BaseAnchor index="0" Format="1"><XCoordinate value="491"/><YCoordinate value="1078"/></BaseAnchor></BaseRecord><BaseRecord index="90"><BaseAnchor index="0" Format="1"><XCoordinate value="438"/><YCoordinate value="1207"/></BaseAnchor></BaseRecord><BaseRecord index="91"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="92"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="93"><BaseAnchor index="0" Format="1"><XCoordinate value="446"/><YCoordinate value="1215"/></BaseAnchor></BaseRecord><BaseRecord index="94"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="95"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="96"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="1012"/></BaseAnchor></BaseRecord><BaseRecord index="97"><BaseAnchor index="0" Format="1"><XCoordinate value="434"/><YCoordinate value="1207"/></BaseAnchor></BaseRecord><BaseRecord index="98"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="99"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="100"><BaseAnchor index="0" Format="1"><XCoordinate value="438"/><YCoordinate value="1211"/></BaseAnchor></BaseRecord><BaseRecord index="101"><BaseAnchor index="0" Format="1"><XCoordinate value="438"/><YCoordinate value="1203"/></BaseAnchor></BaseRecord><BaseRecord index="102"><BaseAnchor index="0" Format="1"><XCoordinate value="434"/><YCoordinate value="1065"/></BaseAnchor></BaseRecord><BaseRecord index="103"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="104"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="105"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="1006"/></BaseAnchor></BaseRecord><BaseRecord index="106"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="793"/></BaseAnchor></BaseRecord><BaseRecord index="107"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="108"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="1006"/></BaseAnchor></BaseRecord><BaseRecord index="109"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="1006"/></BaseAnchor></BaseRecord><BaseRecord index="110"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="1531"/></BaseAnchor></BaseRecord><BaseRecord index="111"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="1247"/></BaseAnchor></BaseRecord><BaseRecord index="112"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="1006"/></BaseAnchor></BaseRecord><BaseRecord index="113"><BaseAnchor index="0" Format="1"><XCoordinate value="675"/><YCoordinate value="1006"/></BaseAnchor></BaseRecord><BaseRecord index="114"><BaseAnchor index="0" Format="1"><XCoordinate value="799"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="115"><BaseAnchor index="0" Format="1"><XCoordinate value="799"/><YCoordinate value="890"/></BaseAnchor></BaseRecord><BaseRecord index="116"><BaseAnchor index="0" Format="1"><XCoordinate value="799"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="117"><BaseAnchor index="0" Format="1"><XCoordinate value="799"/><YCoordinate value="1103"/></BaseAnchor></BaseRecord><BaseRecord index="118"><BaseAnchor index="0" Format="1"><XCoordinate value="799"/><YCoordinate value="890"/></BaseAnchor></BaseRecord><BaseRecord index="119"><BaseAnchor index="0" Format="1"><XCoordinate value="475"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="120"><BaseAnchor index="0" Format="1"><XCoordinate value="475"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="121"><BaseAnchor index="0" Format="1"><XCoordinate value="475"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="122"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="786"/></BaseAnchor></BaseRecord><BaseRecord index="123"><BaseAnchor index="0" Format="1"><XCoordinate value="188"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="124"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="1243"/></BaseAnchor></BaseRecord><BaseRecord index="125"><BaseAnchor index="0" Format="1"><XCoordinate value="192"/><YCoordinate value="1045"/></BaseAnchor></BaseRecord><BaseRecord index="126"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="1101"/></BaseAnchor></BaseRecord><BaseRecord index="127"><BaseAnchor index="0" Format="1"><XCoordinate value="188"/><YCoordinate value="1292"/></BaseAnchor></BaseRecord><BaseRecord index="128"><BaseAnchor index="0" Format="1"><XCoordinate value="188"/><YCoordinate value="1255"/></BaseAnchor></BaseRecord><BaseRecord index="129"><BaseAnchor index="0" Format="1"><XCoordinate value="605"/><YCoordinate value="732"/></BaseAnchor></BaseRecord><BaseRecord index="130"><BaseAnchor index="0" Format="1"><XCoordinate value="605"/><YCoordinate value="732"/></BaseAnchor></BaseRecord><BaseRecord index="131"><BaseAnchor index="0" Format="1"><XCoordinate value="605"/><YCoordinate value="732"/></BaseAnchor></BaseRecord><BaseRecord index="132"><BaseAnchor index="0" Format="1"><XCoordinate value="605"/><YCoordinate value="732"/></BaseAnchor></BaseRecord><BaseRecord index="133"><BaseAnchor index="0" Format="1"><XCoordinate value="595"/><YCoordinate value="1077"/></BaseAnchor></BaseRecord><BaseRecord index="134"><BaseAnchor index="0" Format="1"><XCoordinate value="605"/><YCoordinate value="732"/></BaseAnchor></BaseRecord><BaseRecord index="135"><BaseAnchor index="0" Format="1"><XCoordinate value="595"/><YCoordinate value="1073"/></BaseAnchor></BaseRecord><BaseRecord index="136"><BaseAnchor index="0" Format="1"><XCoordinate value="605"/><YCoordinate value="732"/></BaseAnchor></BaseRecord><BaseRecord index="137"><BaseAnchor index="0" Format="1"><XCoordinate value="605"/><YCoordinate value="732"/></BaseAnchor></BaseRecord><BaseRecord index="138"><BaseAnchor index="0" Format="1"><XCoordinate value="430"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="139"><BaseAnchor index="0" Format="1"><XCoordinate value="430"/><YCoordinate value="832"/></BaseAnchor></BaseRecord><BaseRecord index="140"><BaseAnchor index="0" Format="1"><XCoordinate value="430"/><YCoordinate value="832"/></BaseAnchor></BaseRecord><BaseRecord index="141"><BaseAnchor index="0" Format="1"><XCoordinate value="430"/><YCoordinate value="1045"/></BaseAnchor></BaseRecord><BaseRecord index="142"><BaseAnchor index="0" Format="1"><XCoordinate value="521"/><YCoordinate value="1174"/></BaseAnchor></BaseRecord><BaseRecord index="143"><BaseAnchor index="0" Format="1"><XCoordinate value="521"/><YCoordinate value="1174"/></BaseAnchor></BaseRecord><BaseRecord index="144"><BaseAnchor index="0" Format="1"><XCoordinate value="518"/><YCoordinate value="1514"/></BaseAnchor></BaseRecord><BaseRecord index="145"><BaseAnchor index="0" Format="1"><XCoordinate value="521"/><YCoordinate value="1174"/></BaseAnchor></BaseRecord><BaseRecord index="146"><BaseAnchor index="0" Format="1"><XCoordinate value="535"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="147"><BaseAnchor index="0" Format="1"><XCoordinate value="535"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="148"><BaseAnchor index="0" Format="1"><XCoordinate value="535"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="149"><BaseAnchor index="0" Format="1"><XCoordinate value="535"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="150"><BaseAnchor index="0" Format="1"><XCoordinate value="632"/><YCoordinate value="1417"/></BaseAnchor></BaseRecord><BaseRecord index="151"><BaseAnchor index="0" Format="1"><XCoordinate value="535"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="152"><BaseAnchor index="0" Format="1"><XCoordinate value="535"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="153"><BaseAnchor index="0" Format="1"><XCoordinate value="628"/><YCoordinate value="1575"/></BaseAnchor></BaseRecord><BaseRecord index="154"><BaseAnchor index="0" Format="1"><XCoordinate value="640"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="155"><BaseAnchor index="0" Format="1"><XCoordinate value="676"/><YCoordinate value="1434"/></BaseAnchor></BaseRecord><BaseRecord index="156"><BaseAnchor index="0" Format="1"><XCoordinate value="535"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="157"><BaseAnchor index="0" Format="1"><XCoordinate value="464"/><YCoordinate value="988"/></BaseAnchor></BaseRecord><BaseRecord index="158"><BaseAnchor index="0" Format="1"><XCoordinate value="351"/><YCoordinate value="1422"/></BaseAnchor></BaseRecord><BaseRecord index="159"><BaseAnchor index="0" Format="1"><XCoordinate value="464"/><YCoordinate value="1774"/></BaseAnchor></BaseRecord><BaseRecord index="160"><BaseAnchor index="0" Format="1"><XCoordinate value="468"/><YCoordinate value="1749"/></BaseAnchor></BaseRecord><BaseRecord index="161"><BaseAnchor index="0" Format="1"><XCoordinate value="392"/><YCoordinate value="1968"/></BaseAnchor></BaseRecord><BaseRecord index="162"><BaseAnchor index="0" Format="1"><XCoordinate value="351"/><YCoordinate value="1422"/></BaseAnchor></BaseRecord><BaseRecord index="163"><BaseAnchor index="0" Format="1"><XCoordinate value="440"/><YCoordinate value="1988"/></BaseAnchor></BaseRecord><BaseRecord index="164"><BaseAnchor index="0" Format="1"><XCoordinate value="351"/><YCoordinate value="1422"/></BaseAnchor></BaseRecord><BaseRecord index="165"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="562"/></BaseAnchor></BaseRecord><BaseRecord index="166"><BaseAnchor index="0" Format="1"><XCoordinate value="297"/><YCoordinate value="901"/></BaseAnchor></BaseRecord><BaseRecord index="167"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="619"/></BaseAnchor></BaseRecord><BaseRecord index="168"><BaseAnchor index="0" Format="1"><XCoordinate value="276"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="169"><BaseAnchor index="0" Format="1"><XCoordinate value="276"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="170"><BaseAnchor index="0" Format="1"><XCoordinate value="276"/><YCoordinate value="709"/></BaseAnchor></BaseRecord><BaseRecord index="171"><BaseAnchor index="0" Format="1"><XCoordinate value="292"/><YCoordinate value="948"/></BaseAnchor></BaseRecord><BaseRecord index="172"><BaseAnchor index="0" Format="1"><XCoordinate value="276"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="173"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="948"/></BaseAnchor></BaseRecord><BaseRecord index="174"><BaseAnchor index="0" Format="1"><XCoordinate value="276"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="175"><BaseAnchor index="0" Format="1"><XCoordinate value="292"/><YCoordinate value="1158"/></BaseAnchor></BaseRecord><BaseRecord index="176"><BaseAnchor index="0" Format="1"><XCoordinate value="276"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="177"><BaseAnchor index="0" Format="1"><XCoordinate value="413"/><YCoordinate value="891"/></BaseAnchor></BaseRecord><BaseRecord index="178"><BaseAnchor index="0" Format="1"><XCoordinate value="413"/><YCoordinate value="1146"/></BaseAnchor></BaseRecord><BaseRecord index="179"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="830"/></BaseAnchor></BaseRecord><BaseRecord index="180"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="830"/></BaseAnchor></BaseRecord><BaseRecord index="181"><BaseAnchor index="0" Format="1"><XCoordinate value="148"/><YCoordinate value="1122"/></BaseAnchor></BaseRecord><BaseRecord index="182"><BaseAnchor index="0" Format="1"><XCoordinate value="237"/><YCoordinate value="1153"/></BaseAnchor></BaseRecord><BaseRecord index="183"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="830"/></BaseAnchor></BaseRecord><BaseRecord index="184"><BaseAnchor index="0" Format="1"><XCoordinate value="237"/><YCoordinate value="1153"/></BaseAnchor></BaseRecord><BaseRecord index="185"><BaseAnchor index="0" Format="1"><XCoordinate value="144"/><YCoordinate value="1122"/></BaseAnchor></BaseRecord><BaseRecord index="186"><BaseAnchor index="0" Format="1"><XCoordinate value="310"/><YCoordinate value="632"/></BaseAnchor></BaseRecord><BaseRecord index="187"><BaseAnchor index="0" Format="1"><XCoordinate value="114"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="188"><BaseAnchor index="0" Format="1"><XCoordinate value="190"/><YCoordinate value="1462"/></BaseAnchor></BaseRecord><BaseRecord index="189"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="1628"/></BaseAnchor></BaseRecord><BaseRecord index="190"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="1207"/></BaseAnchor></BaseRecord><BaseRecord index="191"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="1207"/></BaseAnchor></BaseRecord><BaseRecord index="192"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="1587"/></BaseAnchor></BaseRecord><BaseRecord index="193"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="1207"/></BaseAnchor></BaseRecord><BaseRecord index="194"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="1624"/></BaseAnchor></BaseRecord><BaseRecord index="195"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="1571"/></BaseAnchor></BaseRecord><BaseRecord index="196"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="887"/></BaseAnchor></BaseRecord><BaseRecord index="197"><BaseAnchor index="0" Format="1"><XCoordinate value="401"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="198"><BaseAnchor index="0" Format="1"><XCoordinate value="401"/><YCoordinate value="907"/></BaseAnchor></BaseRecord><BaseRecord index="199"><BaseAnchor index="0" Format="1"><XCoordinate value="348"/><YCoordinate value="874"/></BaseAnchor></BaseRecord><BaseRecord index="200"><BaseAnchor index="0" Format="1"><XCoordinate value="401"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="201"><BaseAnchor index="0" Format="1"><XCoordinate value="401"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="202"><BaseAnchor index="0" Format="1"><XCoordinate value="409"/><YCoordinate value="794"/></BaseAnchor></BaseRecord><BaseRecord index="203"><BaseAnchor index="0" Format="1"><XCoordinate value="348"/><YCoordinate value="868"/></BaseAnchor></BaseRecord><BaseRecord index="204"><BaseAnchor index="0" Format="1"><XCoordinate value="417"/><YCoordinate value="1008"/></BaseAnchor></BaseRecord><BaseRecord index="205"><BaseAnchor index="0" Format="1"><XCoordinate value="401"/><YCoordinate value="842"/></BaseAnchor></BaseRecord><BaseRecord index="206"><BaseAnchor index="0" Format="1"><XCoordinate value="421"/><YCoordinate value="842"/></BaseAnchor></BaseRecord><BaseRecord index="207"><BaseAnchor index="0" Format="1"><XCoordinate value="417"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="208"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="806"/></BaseAnchor></BaseRecord><BaseRecord index="209"><BaseAnchor index="0" Format="1"><XCoordinate value="401"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="210"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="211"><BaseAnchor index="0" Format="1"><XCoordinate value="409"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="212"><BaseAnchor index="0" Format="1"><XCoordinate value="435"/><YCoordinate value="1395"/></BaseAnchor></BaseRecord><BaseRecord index="213"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="214"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="215"><BaseAnchor index="0" Format="1"><XCoordinate value="435"/><YCoordinate value="1395"/></BaseAnchor></BaseRecord><BaseRecord index="216"><BaseAnchor index="0" Format="1"><XCoordinate value="417"/><YCoordinate value="1267"/></BaseAnchor></BaseRecord><BaseRecord index="217"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="218"><BaseAnchor index="0" Format="1"><XCoordinate value="409"/><YCoordinate value="1409"/></BaseAnchor></BaseRecord><BaseRecord index="219"><BaseAnchor index="0" Format="1"><XCoordinate value="417"/><YCoordinate value="1446"/></BaseAnchor></BaseRecord><BaseRecord index="220"><BaseAnchor index="0" Format="1"><XCoordinate value="433"/><YCoordinate value="1413"/></BaseAnchor></BaseRecord><BaseRecord index="221"><BaseAnchor index="0" Format="1"><XCoordinate value="421"/><YCoordinate value="1263"/></BaseAnchor></BaseRecord><BaseRecord index="222"><BaseAnchor index="0" Format="1"><XCoordinate value="437"/><YCoordinate value="1413"/></BaseAnchor></BaseRecord><BaseRecord index="223"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="224"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="225"><BaseAnchor index="0" Format="1"><XCoordinate value="373"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="226"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="899"/></BaseAnchor></BaseRecord><BaseRecord index="227"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="717"/></BaseAnchor></BaseRecord><BaseRecord index="228"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="229"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="230"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="231"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="232"><BaseAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="749"/></BaseAnchor></BaseRecord><BaseRecord index="233"><BaseAnchor index="0" Format="1"><XCoordinate value="348"/><YCoordinate value="871"/></BaseAnchor></BaseRecord><BaseRecord index="234"><BaseAnchor index="0" Format="1"><XCoordinate value="364"/><YCoordinate value="911"/></BaseAnchor></BaseRecord><BaseRecord index="235"><BaseAnchor index="0" Format="1"><XCoordinate value="364"/><YCoordinate value="915"/></BaseAnchor></BaseRecord><BaseRecord index="236"><BaseAnchor index="0" Format="1"><XCoordinate value="364"/><YCoordinate value="826"/></BaseAnchor></BaseRecord><BaseRecord index="237"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="1093"/></BaseAnchor></BaseRecord><BaseRecord index="238"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="1369"/></BaseAnchor></BaseRecord><BaseRecord index="239"><BaseAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="944"/></BaseAnchor></BaseRecord><BaseRecord index="240"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="749"/></BaseAnchor></BaseRecord><BaseRecord index="241"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="242"><BaseAnchor index="0" Format="1"><XCoordinate value="453"/><YCoordinate value="535"/></BaseAnchor></BaseRecord><BaseRecord index="243"><BaseAnchor index="0" Format="1"><XCoordinate value="615"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="244"><BaseAnchor index="0" Format="1"><XCoordinate value="556"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="245"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="246"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="247"><BaseAnchor index="0" Format="1"><XCoordinate value="443"/><YCoordinate value="729"/></BaseAnchor></BaseRecord><BaseRecord index="248"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="249"><BaseAnchor index="0" Format="1"><XCoordinate value="488"/><YCoordinate value="640"/></BaseAnchor></BaseRecord><BaseRecord index="250"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="251"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="252"><BaseAnchor index="0" Format="1"><XCoordinate value="506"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="253"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="254"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="255"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="256"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="757"/></BaseAnchor></BaseRecord><BaseRecord index="257"><BaseAnchor index="0" Format="1"><XCoordinate value="540"/><YCoordinate value="907"/></BaseAnchor></BaseRecord><BaseRecord index="258"><BaseAnchor index="0" Format="1"><XCoordinate value="548"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="259"><BaseAnchor index="0" Format="1"><XCoordinate value="532"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="260"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="261"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="773"/></BaseAnchor></BaseRecord><BaseRecord index="262"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="960"/></BaseAnchor></BaseRecord><BaseRecord index="263"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="264"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="952"/></BaseAnchor></BaseRecord><BaseRecord index="265"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="266"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="267"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="268"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="269"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="761"/></BaseAnchor></BaseRecord><BaseRecord index="270"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="713"/></BaseAnchor></BaseRecord><BaseRecord index="271"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="272"><BaseAnchor index="0" Format="1"><XCoordinate value="544"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="273"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="274"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="275"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="919"/></BaseAnchor></BaseRecord><BaseRecord index="276"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="1025"/></BaseAnchor></BaseRecord><BaseRecord index="277"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="1126"/></BaseAnchor></BaseRecord><BaseRecord index="278"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="279"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="280"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="1134"/></BaseAnchor></BaseRecord><BaseRecord index="281"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="282"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="283"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="939"/></BaseAnchor></BaseRecord><BaseRecord index="284"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="1150"/></BaseAnchor></BaseRecord><BaseRecord index="285"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="286"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="287"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="1146"/></BaseAnchor></BaseRecord><BaseRecord index="288"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="1146"/></BaseAnchor></BaseRecord><BaseRecord index="289"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="968"/></BaseAnchor></BaseRecord><BaseRecord index="290"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="291"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="292"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="958"/></BaseAnchor></BaseRecord><BaseRecord index="293"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="745"/></BaseAnchor></BaseRecord><BaseRecord index="294"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="295"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="958"/></BaseAnchor></BaseRecord><BaseRecord index="296"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="958"/></BaseAnchor></BaseRecord><BaseRecord index="297"><BaseAnchor index="0" Format="1"><XCoordinate value="964"/><YCoordinate value="1474"/></BaseAnchor></BaseRecord><BaseRecord index="298"><BaseAnchor index="0" Format="1"><XCoordinate value="964"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="299"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="958"/></BaseAnchor></BaseRecord><BaseRecord index="300"><BaseAnchor index="0" Format="1"><XCoordinate value="771"/><YCoordinate value="958"/></BaseAnchor></BaseRecord><BaseRecord index="301"><BaseAnchor index="0" Format="1"><XCoordinate value="869"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="302"><BaseAnchor index="0" Format="1"><XCoordinate value="869"/><YCoordinate value="870"/></BaseAnchor></BaseRecord><BaseRecord index="303"><BaseAnchor index="0" Format="1"><XCoordinate value="869"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="304"><BaseAnchor index="0" Format="1"><XCoordinate value="869"/><YCoordinate value="1083"/></BaseAnchor></BaseRecord><BaseRecord index="305"><BaseAnchor index="0" Format="1"><XCoordinate value="869"/><YCoordinate value="870"/></BaseAnchor></BaseRecord><BaseRecord index="306"><BaseAnchor index="0" Format="1"><XCoordinate value="428"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="307"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="308"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="309"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="310"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="944"/></BaseAnchor></BaseRecord><BaseRecord index="311"><BaseAnchor index="0" Format="1"><XCoordinate value="304"/><YCoordinate value="1154"/></BaseAnchor></BaseRecord><BaseRecord index="312"><BaseAnchor index="0" Format="1"><XCoordinate value="304"/><YCoordinate value="952"/></BaseAnchor></BaseRecord><BaseRecord index="313"><BaseAnchor index="0" Format="1"><XCoordinate value="304"/><YCoordinate value="980"/></BaseAnchor></BaseRecord><BaseRecord index="314"><BaseAnchor index="0" Format="1"><XCoordinate value="296"/><YCoordinate value="1174"/></BaseAnchor></BaseRecord><BaseRecord index="315"><BaseAnchor index="0" Format="1"><XCoordinate value="296"/><YCoordinate value="1150"/></BaseAnchor></BaseRecord><BaseRecord index="316"><BaseAnchor index="0" Format="1"><XCoordinate value="669"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="317"><BaseAnchor index="0" Format="1"><XCoordinate value="669"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="318"><BaseAnchor index="0" Format="1"><XCoordinate value="669"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="319"><BaseAnchor index="0" Format="1"><XCoordinate value="669"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="320"><BaseAnchor index="0" Format="1"><XCoordinate value="668"/><YCoordinate value="1101"/></BaseAnchor></BaseRecord><BaseRecord index="321"><BaseAnchor index="0" Format="1"><XCoordinate value="669"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="322"><BaseAnchor index="0" Format="1"><XCoordinate value="668"/><YCoordinate value="1105"/></BaseAnchor></BaseRecord><BaseRecord index="323"><BaseAnchor index="0" Format="1"><XCoordinate value="669"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="324"><BaseAnchor index="0" Format="1"><XCoordinate value="669"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="325"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="326"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="826"/></BaseAnchor></BaseRecord><BaseRecord index="327"><BaseAnchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="818"/></BaseAnchor></BaseRecord><BaseRecord index="328"><BaseAnchor index="0" Format="1"><XCoordinate value="471"/><YCoordinate value="971"/></BaseAnchor></BaseRecord><BaseRecord index="329"><BaseAnchor index="0" Format="1"><XCoordinate value="609"/><YCoordinate value="1104"/></BaseAnchor></BaseRecord><BaseRecord index="330"><BaseAnchor index="0" Format="1"><XCoordinate value="632"/><YCoordinate value="1393"/></BaseAnchor></BaseRecord><BaseRecord index="331"><BaseAnchor index="0" Format="1"><XCoordinate value="640"/><YCoordinate value="1587"/></BaseAnchor></BaseRecord><BaseRecord index="332"><BaseAnchor index="0" Format="1"><XCoordinate value="609"/><YCoordinate value="1104"/></BaseAnchor></BaseRecord><BaseRecord index="333"><BaseAnchor index="0" Format="1"><XCoordinate value="623"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="334"><BaseAnchor index="0" Format="1"><XCoordinate value="623"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="335"><BaseAnchor index="0" Format="1"><XCoordinate value="623"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="336"><BaseAnchor index="0" Format="1"><XCoordinate value="623"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="337"><BaseAnchor index="0" Format="1"><XCoordinate value="498"/><YCoordinate value="1324"/></BaseAnchor></BaseRecord><BaseRecord index="338"><BaseAnchor index="0" Format="1"><XCoordinate value="623"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="339"><BaseAnchor index="0" Format="1"><XCoordinate value="623"/><YCoordinate value="1118"/></BaseAnchor></BaseRecord><BaseRecord index="340"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="1409"/></BaseAnchor></BaseRecord><BaseRecord index="341"><BaseAnchor index="0" Format="1"><XCoordinate value="640"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="342"><BaseAnchor index="0" Format="1"><XCoordinate value="502"/><YCoordinate value="1292"/></BaseAnchor></BaseRecord><BaseRecord index="343"><BaseAnchor index="0" Format="1"><XCoordinate value="623"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="344"><BaseAnchor index="0" Format="1"><XCoordinate value="502"/><YCoordinate value="988"/></BaseAnchor></BaseRecord><BaseRecord index="345"><BaseAnchor index="0" Format="1"><XCoordinate value="487"/><YCoordinate value="1148"/></BaseAnchor></BaseRecord><BaseRecord index="346"><BaseAnchor index="0" Format="1"><XCoordinate value="502"/><YCoordinate value="1527"/></BaseAnchor></BaseRecord><BaseRecord index="347"><BaseAnchor index="0" Format="1"><XCoordinate value="514"/><YCoordinate value="1510"/></BaseAnchor></BaseRecord><BaseRecord index="348"><BaseAnchor index="0" Format="1"><XCoordinate value="487"/><YCoordinate value="1694"/></BaseAnchor></BaseRecord><BaseRecord index="349"><BaseAnchor index="0" Format="1"><XCoordinate value="487"/><YCoordinate value="1148"/></BaseAnchor></BaseRecord><BaseRecord index="350"><BaseAnchor index="0" Format="1"><XCoordinate value="530"/><YCoordinate value="1721"/></BaseAnchor></BaseRecord><BaseRecord index="351"><BaseAnchor index="0" Format="1"><XCoordinate value="487"/><YCoordinate value="1148"/></BaseAnchor></BaseRecord><BaseRecord index="352"><BaseAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="535"/></BaseAnchor></BaseRecord><BaseRecord index="353"><BaseAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="832"/></BaseAnchor></BaseRecord><BaseRecord index="354"><BaseAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="535"/></BaseAnchor></BaseRecord><BaseRecord index="355"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="356"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="357"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="624"/></BaseAnchor></BaseRecord><BaseRecord index="358"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="790"/></BaseAnchor></BaseRecord><BaseRecord index="359"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="360"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="361"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="362"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="988"/></BaseAnchor></BaseRecord><BaseRecord index="363"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="364"><BaseAnchor index="0" Format="1"><XCoordinate value="404"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="365"><BaseAnchor index="0" Format="1"><XCoordinate value="404"/><YCoordinate value="1064"/></BaseAnchor></BaseRecord><BaseRecord index="366"><BaseAnchor index="0" Format="1"><XCoordinate value="332"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="367"><BaseAnchor index="0" Format="1"><XCoordinate value="358"/><YCoordinate value="892"/></BaseAnchor></BaseRecord><BaseRecord index="368"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="369"><BaseAnchor index="0" Format="1"><XCoordinate value="368"/><YCoordinate value="1263"/></BaseAnchor></BaseRecord><BaseRecord index="370"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="371"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="372"><BaseAnchor index="0" Format="1"><XCoordinate value="349"/><YCoordinate value="794"/></BaseAnchor></BaseRecord><BaseRecord index="373"><BaseAnchor index="0" Format="1"><XCoordinate value="186"/><YCoordinate value="871"/></BaseAnchor></BaseRecord><BaseRecord index="374"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="375"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="376"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="875"/></BaseAnchor></BaseRecord><BaseRecord index="377"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="378"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="379"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="380"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="381"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="382"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="383"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="384"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="810"/></BaseAnchor></BaseRecord><BaseRecord index="385"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="984"/></BaseAnchor></BaseRecord><BaseRecord index="386"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="980"/></BaseAnchor></BaseRecord><BaseRecord index="387"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="988"/></BaseAnchor></BaseRecord><BaseRecord index="388"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="389"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="810"/></BaseAnchor></BaseRecord><BaseRecord index="390"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1025"/></BaseAnchor></BaseRecord><BaseRecord index="391"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="392"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="1016"/></BaseAnchor></BaseRecord><BaseRecord index="393"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="394"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="395"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="980"/></BaseAnchor></BaseRecord><BaseRecord index="396"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="397"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="830"/></BaseAnchor></BaseRecord><BaseRecord index="398"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="818"/></BaseAnchor></BaseRecord><BaseRecord index="399"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="400"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="830"/></BaseAnchor></BaseRecord><BaseRecord index="401"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="402"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="403"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="956"/></BaseAnchor></BaseRecord><BaseRecord index="404"><BaseAnchor index="0" Format="1"><XCoordinate value="368"/><YCoordinate value="1037"/></BaseAnchor></BaseRecord><BaseRecord index="405"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="1146"/></BaseAnchor></BaseRecord><BaseRecord index="406"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="407"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="408"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="1162"/></BaseAnchor></BaseRecord><BaseRecord index="409"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="410"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="411"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="948"/></BaseAnchor></BaseRecord><BaseRecord index="412"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="1154"/></BaseAnchor></BaseRecord><BaseRecord index="413"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="414"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="415"><BaseAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="1154"/></BaseAnchor></BaseRecord><BaseRecord index="416"><BaseAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="1154"/></BaseAnchor></BaseRecord><BaseRecord index="417"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="1004"/></BaseAnchor></BaseRecord><BaseRecord index="418"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="725"/></BaseAnchor></BaseRecord><BaseRecord index="419"><BaseAnchor index="0" Format="1"><XCoordinate value="477"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="420"><BaseAnchor index="0" Format="1"><XCoordinate value="477"/><YCoordinate value="965"/></BaseAnchor></BaseRecord><BaseRecord index="421"><BaseAnchor index="0" Format="1"><XCoordinate value="477"/><YCoordinate value="752"/></BaseAnchor></BaseRecord><BaseRecord index="422"><BaseAnchor index="0" Format="1"><XCoordinate value="477"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="423"><BaseAnchor index="0" Format="1"><XCoordinate value="477"/><YCoordinate value="965"/></BaseAnchor></BaseRecord><BaseRecord index="424"><BaseAnchor index="0" Format="1"><XCoordinate value="477"/><YCoordinate value="965"/></BaseAnchor></BaseRecord><BaseRecord index="425"><BaseAnchor index="0" Format="1"><XCoordinate value="543"/><YCoordinate value="1490"/></BaseAnchor></BaseRecord><BaseRecord index="426"><BaseAnchor index="0" Format="1"><XCoordinate value="543"/><YCoordinate value="1207"/></BaseAnchor></BaseRecord><BaseRecord index="427"><BaseAnchor index="0" Format="1"><XCoordinate value="454"/><YCoordinate value="1037"/></BaseAnchor></BaseRecord><BaseRecord index="428"><BaseAnchor index="0" Format="1"><XCoordinate value="477"/><YCoordinate value="965"/></BaseAnchor></BaseRecord><BaseRecord index="429"><BaseAnchor index="0" Format="1"><XCoordinate value="526"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="430"><BaseAnchor index="0" Format="1"><XCoordinate value="526"/><YCoordinate value="867"/></BaseAnchor></BaseRecord><BaseRecord index="431"><BaseAnchor index="0" Format="1"><XCoordinate value="526"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="432"><BaseAnchor index="0" Format="1"><XCoordinate value="522"/><YCoordinate value="1045"/></BaseAnchor></BaseRecord><BaseRecord index="433"><BaseAnchor index="0" Format="1"><XCoordinate value="522"/><YCoordinate value="863"/></BaseAnchor></BaseRecord><BaseRecord index="434"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="1251"/></BaseAnchor></BaseRecord><BaseRecord index="435"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="1251"/></BaseAnchor></BaseRecord><BaseRecord index="436"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="1251"/></BaseAnchor></BaseRecord><BaseRecord index="437"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="438"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="920"/></BaseAnchor></BaseRecord><BaseRecord index="439"><BaseAnchor index="0" Format="1"><XCoordinate value="313"/><YCoordinate value="1133"/></BaseAnchor></BaseRecord><BaseRecord index="440"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="948"/></BaseAnchor></BaseRecord><BaseRecord index="441"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="442"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="1195"/></BaseAnchor></BaseRecord><BaseRecord index="443"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="1170"/></BaseAnchor></BaseRecord><BaseRecord index="444"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="1001"/></BaseAnchor></BaseRecord><BaseRecord index="445"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="446"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="447"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="1037"/></BaseAnchor></BaseRecord><BaseRecord index="448"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="1247"/></BaseAnchor></BaseRecord><BaseRecord index="449"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="450"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="1280"/></BaseAnchor></BaseRecord><BaseRecord index="451"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="452"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="453"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="454"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="1069"/></BaseAnchor></BaseRecord><BaseRecord index="455"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="1065"/></BaseAnchor></BaseRecord><BaseRecord index="456"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="1251"/></BaseAnchor></BaseRecord><BaseRecord index="457"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="458"><BaseAnchor index="0" Format="1"><XCoordinate value="53"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="459"><BaseAnchor index="0" Format="1"><XCoordinate value="57"/><YCoordinate value="1434"/></BaseAnchor></BaseRecord><BaseRecord index="460"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="461"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="462"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="463"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1142"/></BaseAnchor></BaseRecord><BaseRecord index="464"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1142"/></BaseAnchor></BaseRecord><BaseRecord index="465"><BaseAnchor index="0" Format="1"><XCoordinate value="53"/><YCoordinate value="1377"/></BaseAnchor></BaseRecord><BaseRecord index="466"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1142"/></BaseAnchor></BaseRecord><BaseRecord index="467"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1142"/></BaseAnchor></BaseRecord><BaseRecord index="468"><BaseAnchor index="0" Format="1"><XCoordinate value="32"/><YCoordinate value="1563"/></BaseAnchor></BaseRecord><BaseRecord index="469"><BaseAnchor index="0" Format="1"><XCoordinate value="57"/><YCoordinate value="1247"/></BaseAnchor></BaseRecord><BaseRecord index="470"><BaseAnchor index="0" Format="1"><XCoordinate value="61"/><YCoordinate value="1429"/></BaseAnchor></BaseRecord><BaseRecord index="471"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="472"><BaseAnchor index="0" Format="1"><XCoordinate value="263"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="473"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1168"/></BaseAnchor></BaseRecord><BaseRecord index="474"><BaseAnchor index="0" Format="1"><XCoordinate value="138"/><YCoordinate value="1547"/></BaseAnchor></BaseRecord><BaseRecord index="475"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="1547"/></BaseAnchor></BaseRecord><BaseRecord index="476"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="1753"/></BaseAnchor></BaseRecord><BaseRecord index="477"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1168"/></BaseAnchor></BaseRecord><BaseRecord index="478"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1757"/></BaseAnchor></BaseRecord><BaseRecord index="479"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1168"/></BaseAnchor></BaseRecord><BaseRecord index="480"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="481"><BaseAnchor index="0" Format="1"><XCoordinate value="267"/><YCoordinate value="846"/></BaseAnchor></BaseRecord><BaseRecord index="482"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="483"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="822"/></BaseAnchor></BaseRecord><BaseRecord index="484"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="822"/></BaseAnchor></BaseRecord><BaseRecord index="485"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="822"/></BaseAnchor></BaseRecord><BaseRecord index="486"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="958"/></BaseAnchor></BaseRecord><BaseRecord index="487"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="822"/></BaseAnchor></BaseRecord><BaseRecord index="488"><BaseAnchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="489"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="822"/></BaseAnchor></BaseRecord><BaseRecord index="490"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="1195"/></BaseAnchor></BaseRecord><BaseRecord index="491"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="1073"/></BaseAnchor></BaseRecord><BaseRecord index="492"><BaseAnchor index="0" Format="1"><XCoordinate value="310"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="493"><BaseAnchor index="0" Format="1"><XCoordinate value="298"/><YCoordinate value="1126"/></BaseAnchor></BaseRecord><BaseRecord index="494"><BaseAnchor index="0" Format="1"><XCoordinate value="365"/><YCoordinate value="712"/></BaseAnchor></BaseRecord><BaseRecord index="495"><BaseAnchor index="0" Format="1"><XCoordinate value="428"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="496"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="497"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="1012"/></BaseAnchor></BaseRecord><BaseRecord index="498"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="499"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="500"><BaseAnchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="501"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="502"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="935"/></BaseAnchor></BaseRecord><BaseRecord index="503"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="504"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="505"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="506"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="507"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="508"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="968"/></BaseAnchor></BaseRecord><BaseRecord index="509"><BaseAnchor index="0" Format="1"><XCoordinate value="126"/><YCoordinate value="1122"/></BaseAnchor></BaseRecord><BaseRecord index="510"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1134"/></BaseAnchor></BaseRecord><BaseRecord index="511"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1122"/></BaseAnchor></BaseRecord><BaseRecord index="512"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="513"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="956"/></BaseAnchor></BaseRecord><BaseRecord index="514"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1162"/></BaseAnchor></BaseRecord><BaseRecord index="515"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="516"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="517"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="518"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="519"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="1126"/></BaseAnchor></BaseRecord><BaseRecord index="520"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="521"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="956"/></BaseAnchor></BaseRecord><BaseRecord index="522"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="523"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="524"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="968"/></BaseAnchor></BaseRecord><BaseRecord index="525"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="526"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="527"><BaseAnchor index="0" Format="1"><XCoordinate value="263"/><YCoordinate value="988"/></BaseAnchor></BaseRecord><BaseRecord index="528"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="1045"/></BaseAnchor></BaseRecord><BaseRecord index="529"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="1191"/></BaseAnchor></BaseRecord><BaseRecord index="530"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="531"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="532"><BaseAnchor index="0" Format="1"><XCoordinate value="247"/><YCoordinate value="1195"/></BaseAnchor></BaseRecord><BaseRecord index="533"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="534"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="535"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="988"/></BaseAnchor></BaseRecord><BaseRecord index="536"><BaseAnchor index="0" Format="1"><XCoordinate value="263"/><YCoordinate value="1174"/></BaseAnchor></BaseRecord><BaseRecord index="537"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="538"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="539"><BaseAnchor index="0" Format="1"><XCoordinate value="263"/><YCoordinate value="1174"/></BaseAnchor></BaseRecord><BaseRecord index="540"><BaseAnchor index="0" Format="1"><XCoordinate value="263"/><YCoordinate value="1182"/></BaseAnchor></BaseRecord><BaseRecord index="541"><BaseAnchor index="0" Format="1"><XCoordinate value="259"/><YCoordinate value="1008"/></BaseAnchor></BaseRecord><BaseRecord index="542"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="543"><BaseAnchor index="0" Format="1"><XCoordinate value="353"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="544"><BaseAnchor index="0" Format="1"><XCoordinate value="353"/><YCoordinate value="971"/></BaseAnchor></BaseRecord><BaseRecord index="545"><BaseAnchor index="0" Format="1"><XCoordinate value="353"/><YCoordinate value="758"/></BaseAnchor></BaseRecord><BaseRecord index="546"><BaseAnchor index="0" Format="1"><XCoordinate value="353"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="547"><BaseAnchor index="0" Format="1"><XCoordinate value="353"/><YCoordinate value="971"/></BaseAnchor></BaseRecord><BaseRecord index="548"><BaseAnchor index="0" Format="1"><XCoordinate value="353"/><YCoordinate value="971"/></BaseAnchor></BaseRecord><BaseRecord index="549"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="1494"/></BaseAnchor></BaseRecord><BaseRecord index="550"><BaseAnchor index="0" Format="1"><XCoordinate value="429"/><YCoordinate value="1211"/></BaseAnchor></BaseRecord><BaseRecord index="551"><BaseAnchor index="0" Format="1"><XCoordinate value="348"/><YCoordinate value="1016"/></BaseAnchor></BaseRecord><BaseRecord index="552"><BaseAnchor index="0" Format="1"><XCoordinate value="353"/><YCoordinate value="971"/></BaseAnchor></BaseRecord><BaseRecord index="553"><BaseAnchor index="0" Format="1"><XCoordinate value="519"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="554"><BaseAnchor index="0" Format="1"><XCoordinate value="482"/><YCoordinate value="834"/></BaseAnchor></BaseRecord><BaseRecord index="555"><BaseAnchor index="0" Format="1"><XCoordinate value="519"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="556"><BaseAnchor index="0" Format="1"><XCoordinate value="478"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="557"><BaseAnchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="842"/></BaseAnchor></BaseRecord><BaseRecord index="558"><BaseAnchor index="0" Format="1"><XCoordinate value="219"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="559"><BaseAnchor index="0" Format="1"><XCoordinate value="219"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="560"><BaseAnchor index="0" Format="1"><XCoordinate value="219"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="561"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="838"/></BaseAnchor></BaseRecord><BaseRecord index="562"><BaseAnchor index="0" Format="1"><XCoordinate value="292"/><YCoordinate value="1061"/></BaseAnchor></BaseRecord><BaseRecord index="563"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="1247"/></BaseAnchor></BaseRecord><BaseRecord index="564"><BaseAnchor index="0" Format="1"><XCoordinate value="279"/><YCoordinate value="1053"/></BaseAnchor></BaseRecord><BaseRecord index="565"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="1105"/></BaseAnchor></BaseRecord><BaseRecord index="566"><BaseAnchor index="0" Format="1"><XCoordinate value="304"/><YCoordinate value="1292"/></BaseAnchor></BaseRecord><BaseRecord index="567"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="1247"/></BaseAnchor></BaseRecord><BaseRecord index="568"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1065"/></BaseAnchor></BaseRecord><BaseRecord index="569"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="570"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="571"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="1069"/></BaseAnchor></BaseRecord><BaseRecord index="572"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="1288"/></BaseAnchor></BaseRecord><BaseRecord index="573"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="574"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1336"/></BaseAnchor></BaseRecord><BaseRecord index="575"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="576"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="577"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="858"/></BaseAnchor></BaseRecord><BaseRecord index="578"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="1126"/></BaseAnchor></BaseRecord><BaseRecord index="579"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1085"/></BaseAnchor></BaseRecord><BaseRecord index="580"><BaseAnchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1276"/></BaseAnchor></BaseRecord><BaseRecord index="581"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="582"><BaseAnchor index="0" Format="1"><XCoordinate value="85"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="583"><BaseAnchor index="0" Format="1"><XCoordinate value="61"/><YCoordinate value="1429"/></BaseAnchor></BaseRecord><BaseRecord index="584"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="585"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="586"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="587"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="588"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="589"><BaseAnchor index="0" Format="1"><XCoordinate value="81"/><YCoordinate value="1385"/></BaseAnchor></BaseRecord><BaseRecord index="590"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="591"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="592"><BaseAnchor index="0" Format="1"><XCoordinate value="77"/><YCoordinate value="1571"/></BaseAnchor></BaseRecord><BaseRecord index="593"><BaseAnchor index="0" Format="1"><XCoordinate value="121"/><YCoordinate value="1223"/></BaseAnchor></BaseRecord><BaseRecord index="594"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="1417"/></BaseAnchor></BaseRecord><BaseRecord index="595"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1049"/></BaseAnchor></BaseRecord><BaseRecord index="596"><BaseAnchor index="0" Format="1"><XCoordinate value="275"/><YCoordinate value="1004"/></BaseAnchor></BaseRecord><BaseRecord index="597"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="598"><BaseAnchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="1543"/></BaseAnchor></BaseRecord><BaseRecord index="599"><BaseAnchor index="0" Format="1"><XCoordinate value="113"/><YCoordinate value="1514"/></BaseAnchor></BaseRecord><BaseRecord index="600"><BaseAnchor index="0" Format="1"><XCoordinate value="107"/><YCoordinate value="1706"/></BaseAnchor></BaseRecord><BaseRecord index="601"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="602"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="1737"/></BaseAnchor></BaseRecord><BaseRecord index="603"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="604"><BaseAnchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="605"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="952"/></BaseAnchor></BaseRecord><BaseRecord index="606"><BaseAnchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="607"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="608"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="609"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="610"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="1114"/></BaseAnchor></BaseRecord><BaseRecord index="611"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="612"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="701"/></BaseAnchor></BaseRecord><BaseRecord index="613"><BaseAnchor index="0" Format="1"><XCoordinate value="134"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="614"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="1332"/></BaseAnchor></BaseRecord><BaseRecord index="615"><BaseAnchor index="0" Format="1"><XCoordinate value="138"/><YCoordinate value="1251"/></BaseAnchor></BaseRecord><BaseRecord index="616"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="891"/></BaseAnchor></BaseRecord><BaseRecord index="617"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="618"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="891"/></BaseAnchor></BaseRecord><BaseRecord index="619"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="697"/></BaseAnchor></BaseRecord><BaseRecord index="620"><BaseAnchor index="0" Format="1"><XCoordinate value="149"/><YCoordinate value="1033"/></BaseAnchor></BaseRecord><BaseRecord index="621"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="622"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="623"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="624"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="625"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="626"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="627"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="628"><BaseAnchor index="0" Format="1"><XCoordinate value="84"/><YCoordinate value="1170"/></BaseAnchor></BaseRecord><BaseRecord index="629"><BaseAnchor index="0" Format="1"><XCoordinate value="183"/><YCoordinate value="1569"/></BaseAnchor></BaseRecord><BaseRecord index="630"><BaseAnchor index="0" Format="1"><XCoordinate value="161"/><YCoordinate value="1600"/></BaseAnchor></BaseRecord><BaseRecord index="631"><BaseAnchor index="0" Format="1"><XCoordinate value="139"/><YCoordinate value="1730"/></BaseAnchor></BaseRecord><BaseRecord index="632"><BaseAnchor index="0" Format="1"><XCoordinate value="84"/><YCoordinate value="1170"/></BaseAnchor></BaseRecord><BaseRecord index="633"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="1745"/></BaseAnchor></BaseRecord><BaseRecord index="634"><BaseAnchor index="0" Format="1"><XCoordinate value="84"/><YCoordinate value="1170"/></BaseAnchor></BaseRecord><BaseRecord index="635"><BaseAnchor index="0" Format="1"><XCoordinate value="73"/><YCoordinate value="1300"/></BaseAnchor></BaseRecord><BaseRecord index="636"><BaseAnchor index="0" Format="1"><XCoordinate value="22"/><YCoordinate value="1477"/></BaseAnchor></BaseRecord><BaseRecord index="637"><BaseAnchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="1041"/></BaseAnchor></BaseRecord><BaseRecord index="638"><BaseAnchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="1041"/></BaseAnchor></BaseRecord><BaseRecord index="639"><BaseAnchor index="0" Format="1"><XCoordinate value="26"/><YCoordinate value="1400"/></BaseAnchor></BaseRecord><BaseRecord index="640"><BaseAnchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="1041"/></BaseAnchor></BaseRecord><BaseRecord index="641"><BaseAnchor index="0" Format="1"><XCoordinate value="22"/><YCoordinate value="1419"/></BaseAnchor></BaseRecord><BaseRecord index="642"><BaseAnchor index="0" Format="1"><XCoordinate value="26"/><YCoordinate value="1368"/></BaseAnchor></BaseRecord><BaseRecord index="643"><BaseAnchor index="0" Format="1"><XCoordinate value="173"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="644"><BaseAnchor index="0" Format="1"><XCoordinate value="213"/><YCoordinate value="1547"/></BaseAnchor></BaseRecord><BaseRecord index="645"><BaseAnchor index="0" Format="1"><XCoordinate value="194"/><YCoordinate value="1547"/></BaseAnchor></BaseRecord><BaseRecord index="646"><BaseAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="1738"/></BaseAnchor></BaseRecord><BaseRecord index="647"><BaseAnchor index="0" Format="1"><XCoordinate value="173"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="648"><BaseAnchor index="0" Format="1"><XCoordinate value="183"/><YCoordinate value="1734"/></BaseAnchor></BaseRecord><BaseRecord index="649"><BaseAnchor index="0" Format="1"><XCoordinate value="173"/><YCoordinate value="1178"/></BaseAnchor></BaseRecord><BaseRecord index="650"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1280"/></BaseAnchor></BaseRecord><BaseRecord index="651"><BaseAnchor index="0" Format="1"><XCoordinate value="44"/><YCoordinate value="1474"/></BaseAnchor></BaseRecord><BaseRecord index="652"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="653"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="654"><BaseAnchor index="0" Format="1"><XCoordinate value="29"/><YCoordinate value="1379"/></BaseAnchor></BaseRecord><BaseRecord index="655"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="656"><BaseAnchor index="0" Format="1"><XCoordinate value="55"/><YCoordinate value="1400"/></BaseAnchor></BaseRecord><BaseRecord index="657"><BaseAnchor index="0" Format="1"><XCoordinate value="48"/><YCoordinate value="1353"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="2"><LookupType value="4"/><LookupFlag value="0"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="1"><Glyph value="uni0670"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni0644"/><Glyph value="uni06B5"/><Glyph value="uni06B6"/><Glyph value="uni06B7"/><Glyph value="uni06B8"/><Glyph value="absLamRetro"/><Glyph value="uni076A"/><Glyph value="uni0644.fina"/><Glyph value="uni06B5.fina"/><Glyph value="uni06B6.fina"/><Glyph value="uni06B7.fina"/><Glyph value="uni06B8.fina"/><Glyph value="absLamRetroFin"/><Glyph value="uni076A.fina"/><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="109"/><YCoordinate value="676"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="975"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="293"/><YCoordinate value="928"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="293"/><YCoordinate value="975"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="201"/><YCoordinate value="987"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="975"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="241"/><YCoordinate value="979"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="975"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="352"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="254"/><YCoordinate value="691"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="254"/><YCoordinate value="691"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="254"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="352"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="254"/><YCoordinate value="691"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="352"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="551"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="551"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="499"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="499"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="-13"/><YCoordinate value="814"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="-13"/><YCoordinate value="814"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="-13"/><YCoordinate value="814"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="-13"/><YCoordinate value="814"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="-13"/><YCoordinate value="814"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="-13"/><YCoordinate value="814"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="-13"/><YCoordinate value="814"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="1"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="1"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="1"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="1"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="1"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="1"/><YCoordinate value="802"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="1"/><YCoordinate value="802"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="3"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="uni064B"/><Glyph value="uni064C"/><Glyph value="uni064E"/><Glyph value="uni064F"/><Glyph value="uni0651"/><Glyph value="uni0652"/><Glyph value="uni0653"/><Glyph value="uni0654"/><Glyph value="uni0657"/><Glyph value="uni0658"/><Glyph value="uni0659"/><Glyph value="uni065A"/><Glyph value="uni065B"/><Glyph value="uni065D"/><Glyph value="uni065E"/><Glyph value="uni0670"/><Glyph value="uni0670.large"/><Glyph value="uni06D6"/><Glyph value="uni06D7"/><Glyph value="uni06D8"/><Glyph value="uni06D9"/><Glyph value="uni06DA"/><Glyph value="uni06DB"/><Glyph value="uni06DC"/><Glyph value="uni06DF"/><Glyph value="uni06E0"/><Glyph value="uni06E1"/><Glyph value="uni06E2"/><Glyph value="uni06E4"/><Glyph value="uni06E7"/><Glyph value="uni06E8"/><Glyph value="uni06EB"/><Glyph value="uni06EC"/><Glyph value="uni0614"/><Glyph value="uni0651064B"/><Glyph value="uni0651064C"/><Glyph value="uni0651064D"/><Glyph value="uni0651064E"/><Glyph value="uni0651064F"/><Glyph value="uni06510650"/><Glyph value="uni0654064E"/><Glyph value="uni0654064F"/><Glyph value="absShaddaAlef"/><Glyph value="uni0652.leftOpen"/><Glyph value="uni0652.downOpen"/><Glyph value="uni064C.sixNine"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="uni064B"/><Glyph value="uni064C"/><Glyph value="uni064E"/><Glyph value="uni064F"/><Glyph value="uni0651"/><Glyph value="uni0652"/><Glyph value="uni0653"/><Glyph value="uni0654"/><Glyph value="uni0657"/><Glyph value="uni0658"/><Glyph value="uni0659"/><Glyph value="uni065A"/><Glyph value="uni065B"/><Glyph value="uni065D"/><Glyph value="uni065E"/><Glyph value="uni0670"/><Glyph value="uni0670.large"/><Glyph value="uni06E1"/><Glyph value="uni0651064B"/><Glyph value="uni0651064C"/><Glyph value="uni0651064D"/><Glyph value="uni0651064E"/><Glyph value="uni0651064F"/><Glyph value="uni06510650"/><Glyph value="uni0654064E"/><Glyph value="uni0654064F"/><Glyph value="absShaddaAlef"/><Glyph value="uni0652.leftOpen"/><Glyph value="uni0652.downOpen"/><Glyph value="uni064C.sixNine"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="226"/><YCoordinate value="1053"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="171"/><YCoordinate value="1027"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="190"/><YCoordinate value="1056"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="187"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="153"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1039"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="256"/><YCoordinate value="1123"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="178"/><YCoordinate value="625"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="112"/><YCoordinate value="964"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="967"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="185"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="204"/><YCoordinate value="976"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="210"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="187"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="176"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="109"/><YCoordinate value="676"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="363"/><YCoordinate value="233"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-20"/><YCoordinate value="1007"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-14"/><YCoordinate value="1007"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="970"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="976"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="999"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="4"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="984"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="982"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="984"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="979"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="1117"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="3"/><YCoordinate value="996"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="987"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="959"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="970"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="556"/><YCoordinate value="1402"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="1045"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="153"/><YCoordinate value="1045"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="144"/><YCoordinate value="1056"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="155"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="141"/><YCoordinate value="1056"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="178"/><YCoordinate value="625"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="178"/><YCoordinate value="625"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="1051"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="107"/><YCoordinate value="973"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="147"/><YCoordinate value="979"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="187"/><YCoordinate value="1048"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="1437"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="171"/><YCoordinate value="1492"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="190"/><YCoordinate value="1298"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="187"/><YCoordinate value="1492"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="1390"/></Mark2Anchor></Mark2Record><Mark2Record index="5"><Mark2Anchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1421"/></Mark2Anchor></Mark2Record><Mark2Record index="6"><Mark2Anchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1368"/></Mark2Anchor></Mark2Record><Mark2Record index="7"><Mark2Anchor index="0" Format="1"><XCoordinate value="178"/><YCoordinate value="1042"/></Mark2Anchor></Mark2Record><Mark2Record index="8"><Mark2Anchor index="0" Format="1"><XCoordinate value="112"/><YCoordinate value="1427"/></Mark2Anchor></Mark2Record><Mark2Record index="9"><Mark2Anchor index="0" Format="1"><XCoordinate value="147"/><YCoordinate value="1257"/></Mark2Anchor></Mark2Record><Mark2Record index="10"><Mark2Anchor index="0" Format="1"><XCoordinate value="185"/><YCoordinate value="1258"/></Mark2Anchor></Mark2Record><Mark2Record index="11"><Mark2Anchor index="0" Format="1"><XCoordinate value="204"/><YCoordinate value="1226"/></Mark2Anchor></Mark2Record><Mark2Record index="12"><Mark2Anchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1226"/></Mark2Anchor></Mark2Record><Mark2Record index="13"><Mark2Anchor index="0" Format="1"><XCoordinate value="187"/><YCoordinate value="1492"/></Mark2Anchor></Mark2Record><Mark2Record index="14"><Mark2Anchor index="0" Format="1"><XCoordinate value="176"/><YCoordinate value="1327"/></Mark2Anchor></Mark2Record><Mark2Record index="15"><Mark2Anchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="1085"/></Mark2Anchor></Mark2Record><Mark2Record index="16"><Mark2Anchor index="0" Format="1"><XCoordinate value="363"/><YCoordinate value="925"/></Mark2Anchor></Mark2Record><Mark2Record index="17"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1240"/></Mark2Anchor></Mark2Record><Mark2Record index="18"><Mark2Anchor index="0" Format="1"><XCoordinate value="147"/><YCoordinate value="1674"/></Mark2Anchor></Mark2Record><Mark2Record index="19"><Mark2Anchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="1733"/></Mark2Anchor></Mark2Record><Mark2Record index="20"><Mark2Anchor index="0" Format="1"><XCoordinate value="144"/><YCoordinate value="1721"/></Mark2Anchor></Mark2Record><Mark2Record index="21"><Mark2Anchor index="0" Format="1"><XCoordinate value="147"/><YCoordinate value="1536"/></Mark2Anchor></Mark2Record><Mark2Record index="22"><Mark2Anchor index="0" Format="1"><XCoordinate value="155"/><YCoordinate value="1730"/></Mark2Anchor></Mark2Record><Mark2Record index="23"><Mark2Anchor index="0" Format="1"><XCoordinate value="141"/><YCoordinate value="1578"/></Mark2Anchor></Mark2Record><Mark2Record index="24"><Mark2Anchor index="0" Format="1"><XCoordinate value="172"/><YCoordinate value="1251"/></Mark2Anchor></Mark2Record><Mark2Record index="25"><Mark2Anchor index="0" Format="1"><XCoordinate value="176"/><YCoordinate value="1461"/></Mark2Anchor></Mark2Record><Mark2Record index="26"><Mark2Anchor index="0" Format="1"><XCoordinate value="147"/><YCoordinate value="1761"/></Mark2Anchor></Mark2Record><Mark2Record index="27"><Mark2Anchor index="0" Format="1"><XCoordinate value="107"/><YCoordinate value="1286"/></Mark2Anchor></Mark2Record><Mark2Record index="28"><Mark2Anchor index="0" Format="1"><XCoordinate value="147"/><YCoordinate value="1251"/></Mark2Anchor></Mark2Record><Mark2Record index="29"><Mark2Anchor index="0" Format="1"><XCoordinate value="187"/><YCoordinate value="1699"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="4"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/><Glyph value="uni06E3"/><Glyph value="uni06EA"/><Glyph value="uni06ED"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni25CC"/><Glyph value="uni0622"/><Glyph value="uni0623"/><Glyph value="uni0625"/><Glyph value="uni0627"/><Glyph value="uni0672"/><Glyph value="uni0673"/><Glyph value="uni0675"/><Glyph value="uni0671"/><Glyph value="uni0624"/><Glyph value="uni0648"/><Glyph value="uni0676"/><Glyph value="uni0677"/><Glyph value="uni06C4"/><Glyph value="uni06C5"/><Glyph value="uni06C6"/><Glyph value="uni06C7"/><Glyph value="uni06C8"/><Glyph value="uni06C9"/><Glyph value="uni06CA"/><Glyph value="uni06CB"/><Glyph value="uni06CF"/><Glyph value="absWawDotBelow"/><Glyph value="uni062F"/><Glyph value="uni0630"/><Glyph value="uni0688"/><Glyph value="uni0689"/><Glyph value="uni068A"/><Glyph value="uni068B"/><Glyph value="uni068C"/><Glyph value="uni068D"/><Glyph value="uni068E"/><Glyph value="uni068F"/><Glyph value="uni0690"/><Glyph value="uni06EE"/><Glyph value="uni0759"/><Glyph value="uni075A"/><Glyph value="uni0631"/><Glyph value="uni0632"/><Glyph value="uni0691"/><Glyph value="uni0692"/><Glyph value="uni0693"/><Glyph value="uni0694"/><Glyph value="uni0695"/><Glyph value="uni0696"/><Glyph value="uni0697"/><Glyph value="uni0698"/><Glyph value="uni0699"/><Glyph value="uni076B"/><Glyph value="uni076C"/><Glyph value="absJehRetro1"/><Glyph value="absJehRetro2"/><Glyph value="uni0698.dotHat"/><Glyph value="uni06EF"/><Glyph value="uni075B"/><Glyph value="uni06D2"/><Glyph value="uni06D3"/><Glyph value="uni0626"/><Glyph value="uni064A"/><Glyph value="uni064A.noDots"/><Glyph value="uni0678"/><Glyph value="uni06CC"/><Glyph value="uni06CE"/><Glyph value="uni06D0"/><Glyph value="uni06D1"/><Glyph value="uni06CD"/><Glyph value="uni0649"/><Glyph value="uni066E"/><Glyph value="uni0628"/><Glyph value="uni062A"/><Glyph value="uni062B"/><Glyph value="uni0679"/><Glyph value="uni067A"/><Glyph value="uni067B"/><Glyph value="uni067C"/><Glyph value="uni067D"/><Glyph value="uni067E"/><Glyph value="uni067F"/><Glyph value="uni0680"/><Glyph value="uni0750"/><Glyph value="uni0751"/><Glyph value="uni0752"/><Glyph value="uni0753"/><Glyph value="uni0754"/><Glyph value="uni0755"/><Glyph value="uni0756"/><Glyph value="uni062C"/><Glyph value="uni062D"/><Glyph value="uni062E"/><Glyph value="uni0681"/><Glyph value="uni0682"/><Glyph value="uni0683"/><Glyph value="uni0684"/><Glyph value="uni0685"/><Glyph value="uni0686"/><Glyph value="uni0687"/><Glyph value="uni06BF"/><Glyph value="absTchehRetro1"/><Glyph value="absTchehRetro2"/><Glyph value="absJeemRetro1"/><Glyph value="absJeemRetro2"/><Glyph value="absJeemRetro3"/><Glyph value="uni0757"/><Glyph value="uni0758"/><Glyph value="uni0633"/><Glyph value="uni0634"/><Glyph value="uni069A"/><Glyph value="uni069B"/><Glyph value="uni069C"/><Glyph value="uni06FA"/><Glyph value="absSheenRetro1"/><Glyph value="absSheenRetro2"/><Glyph value="uni075C"/><Glyph value="uni076D"/><Glyph value="uni0635"/><Glyph value="uni0636"/><Glyph value="uni069D"/><Glyph value="uni069E"/><Glyph value="uni06FB"/><Glyph value="uni0637"/><Glyph value="uni0638"/><Glyph value="uni069F"/><Glyph value="uni0639"/><Glyph value="uni063A"/><Glyph value="uni06A0"/><Glyph value="uni06FC"/><Glyph value="uni075D"/><Glyph value="uni075E"/><Glyph value="uni075F"/><Glyph value="uni0641"/><Glyph value="uni06A1"/><Glyph value="uni06A2"/><Glyph value="uni06A3"/><Glyph value="uni06A4"/><Glyph value="uni06A5"/><Glyph value="uni06A6"/><Glyph value="uni0760"/><Glyph value="uni0761"/><Glyph value="uni066F"/><Glyph value="uni0642"/><Glyph value="uni06A7"/><Glyph value="uni06A8"/><Glyph value="uni0643"/><Glyph value="uni06AC"/><Glyph value="uni06AD"/><Glyph value="uni06AE"/><Glyph value="uni06A9"/><Glyph value="uni06AB"/><Glyph value="uni06AF"/><Glyph value="uni06B0"/><Glyph value="uni06B1"/><Glyph value="uni06B2"/><Glyph value="uni06B3"/><Glyph value="uni06B4"/><Glyph value="uni0762"/><Glyph value="uni0763"/><Glyph value="uni0764"/><Glyph value="uni06AA"/><Glyph value="uni0644"/><Glyph value="uni06B5"/><Glyph value="uni06B6"/><Glyph value="uni06B7"/><Glyph value="uni06B8"/><Glyph value="absLamRetro"/><Glyph value="uni076A"/><Glyph value="uni0645"/><Glyph value="uni0765"/><Glyph value="uni0766"/><Glyph value="uni0646"/><Glyph value="uni06B9"/><Glyph value="uni06BA"/><Glyph value="uni06BB"/><Glyph value="uni06BC"/><Glyph value="uni06BD"/><Glyph value="uni0767"/><Glyph value="uni0768"/><Glyph value="uni0769"/><Glyph value="uni06BE"/><Glyph value="uni06FF"/><Glyph value="uni0647"/><Glyph value="uni06D5"/><Glyph value="uni0629"/><Glyph value="uni06C0"/><Glyph value="uni06C1"/><Glyph value="uni06C2"/><Glyph value="uni06C3"/><Glyph value="uni0621"/><Glyph value="uni0640"/><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/><Glyph value="uni0624.fina"/><Glyph value="uni0648.fina"/><Glyph value="uni0676.fina"/><Glyph value="uni0677.fina"/><Glyph value="uni06C4.fina"/><Glyph value="uni06C5.fina"/><Glyph value="uni06C6.fina"/><Glyph value="uni06C7.fina"/><Glyph value="uni06C8.fina"/><Glyph value="uni06C9.fina"/><Glyph value="uni06CA.fina"/><Glyph value="uni06CB.fina"/><Glyph value="uni06CF.fina"/><Glyph value="absWawDotBelowFin"/><Glyph value="uni062F.fina"/><Glyph value="uni0630.fina"/><Glyph value="uni0688.fina"/><Glyph value="uni0689.fina"/><Glyph value="uni068A.fina"/><Glyph value="uni068B.fina"/><Glyph value="uni068C.fina"/><Glyph value="uni068D.fina"/><Glyph value="uni068E.fina"/><Glyph value="uni068F.fina"/><Glyph value="uni0690.fina"/><Glyph value="uni06EE.fina"/><Glyph value="uni0759.fina"/><Glyph value="uni075A.fina"/><Glyph value="uni0631.fina"/><Glyph value="uni0632.fina"/><Glyph value="uni0691.fina"/><Glyph value="uni0692.fina"/><Glyph value="uni0693.fina"/><Glyph value="uni0694.fina"/><Glyph value="uni0695.fina"/><Glyph value="uni0696.fina"/><Glyph value="uni0697.fina"/><Glyph value="uni0698.fina"/><Glyph value="uni0699.fina"/><Glyph value="uni076B.fina"/><Glyph value="uni076C.fina"/><Glyph value="absJehRetro1Fin"/><Glyph value="absJehRetro2Fin"/><Glyph value="uni0698.fina.dotHat"/><Glyph value="uni06EF.fina"/><Glyph value="uni075B.fina"/><Glyph value="uni06D2.fina"/><Glyph value="uni06D3.fina"/><Glyph value="uni0626.fina"/><Glyph value="uni064A.fina"/><Glyph value="uni064A.fina.noDots"/><Glyph value="uni0678.fina"/><Glyph value="uni06CC.fina"/><Glyph value="uni06CE.fina"/><Glyph value="uni06D0.fina"/><Glyph value="uni06D1.fina"/><Glyph value="uni06CD.fina"/><Glyph value="uni0649.fina"/><Glyph value="uni066E.fina"/><Glyph value="uni0628.fina"/><Glyph value="uni062A.fina"/><Glyph value="uni062B.fina"/><Glyph value="uni0679.fina"/><Glyph value="uni067A.fina"/><Glyph value="uni067B.fina"/><Glyph value="uni067C.fina"/><Glyph value="uni067D.fina"/><Glyph value="uni067E.fina"/><Glyph value="uni067F.fina"/><Glyph value="uni0680.fina"/><Glyph value="uni0750.fina"/><Glyph value="uni0751.fina"/><Glyph value="uni0752.fina"/><Glyph value="uni0753.fina"/><Glyph value="uni0754.fina"/><Glyph value="uni0755.fina"/><Glyph value="uni0756.fina"/><Glyph value="uni062C.fina"/><Glyph value="uni062D.fina"/><Glyph value="uni062E.fina"/><Glyph value="uni0681.fina"/><Glyph value="uni0682.fina"/><Glyph value="uni0683.fina"/><Glyph value="uni0684.fina"/><Glyph value="uni0685.fina"/><Glyph value="uni0686.fina"/><Glyph value="uni0687.fina"/><Glyph value="uni06BF.fina"/><Glyph value="absTchehRetro1Fin"/><Glyph value="absTchehRetro2Fin"/><Glyph value="absJeemRetro1Fin"/><Glyph value="absJeemRetro2Fin"/><Glyph value="absJeemRetro3Fin"/><Glyph value="uni0757.fina"/><Glyph value="uni0758.fina"/><Glyph value="uni0633.fina"/><Glyph value="uni0634.fina"/><Glyph value="uni069A.fina"/><Glyph value="uni069B.fina"/><Glyph value="uni069C.fina"/><Glyph value="uni06FA.fina"/><Glyph value="absSheenRetro1Fin"/><Glyph value="absSheenRetro2Fin"/><Glyph value="uni075C.fina"/><Glyph value="uni076D.fina"/><Glyph value="uni0635.fina"/><Glyph value="uni0636.fina"/><Glyph value="uni069D.fina"/><Glyph value="uni069E.fina"/><Glyph value="uni06FB.fina"/><Glyph value="uni0637.fina"/><Glyph value="uni0638.fina"/><Glyph value="uni069F.fina"/><Glyph value="uni0639.fina"/><Glyph value="uni063A.fina"/><Glyph value="uni06A0.fina"/><Glyph value="uni06FC.fina"/><Glyph value="uni075D.fina"/><Glyph value="uni075E.fina"/><Glyph value="uni075F.fina"/><Glyph value="uni0641.fina"/><Glyph value="uni06A1.fina"/><Glyph value="uni06A2.fina"/><Glyph value="uni06A3.fina"/><Glyph value="uni06A4.fina"/><Glyph value="uni06A5.fina"/><Glyph value="uni06A6.fina"/><Glyph value="uni0760.fina"/><Glyph value="uni0761.fina"/><Glyph value="uni066F.fina"/><Glyph value="uni0642.fina"/><Glyph value="uni06A7.fina"/><Glyph value="uni06A8.fina"/><Glyph value="uni0643.fina"/><Glyph value="uni06AC.fina"/><Glyph value="uni06AD.fina"/><Glyph value="uni06AE.fina"/><Glyph value="uni06A9.fina"/><Glyph value="uni06AB.fina"/><Glyph value="uni06AF.fina"/><Glyph value="uni06B0.fina"/><Glyph value="uni06B1.fina"/><Glyph value="uni06B2.fina"/><Glyph value="uni06B3.fina"/><Glyph value="uni06B4.fina"/><Glyph value="uni0762.fina"/><Glyph value="uni0763.fina"/><Glyph value="uni0764.fina"/><Glyph value="uni06AA.fina"/><Glyph value="uni0644.fina"/><Glyph value="uni06B5.fina"/><Glyph value="uni06B6.fina"/><Glyph value="uni06B7.fina"/><Glyph value="uni06B8.fina"/><Glyph value="absLamRetroFin"/><Glyph value="uni076A.fina"/><Glyph value="uni0645.fina"/><Glyph value="uni0765.fina"/><Glyph value="uni0766.fina"/><Glyph value="uni0646.fina"/><Glyph value="uni06B9.fina"/><Glyph value="uni06BA.fina"/><Glyph value="uni06BB.fina"/><Glyph value="uni06BC.fina"/><Glyph value="uni06BD.fina"/><Glyph value="uni0767.fina"/><Glyph value="uni0768.fina"/><Glyph value="uni0769.fina"/><Glyph value="uni06BE.fina"/><Glyph value="uni06FF.fina"/><Glyph value="uni0647.fina"/><Glyph value="uni06D5.fina"/><Glyph value="uni0629.fina"/><Glyph value="uni06C0.fina"/><Glyph value="uni06C1.fina"/><Glyph value="uni06C2.fina"/><Glyph value="uni06C3.fina"/><Glyph value="uni0626.medi"/><Glyph value="uni064A.medi"/><Glyph value="uni064A.medi.noDots"/><Glyph value="uni0678.medi"/><Glyph value="uni06CC.medi"/><Glyph value="uni06CE.medi"/><Glyph value="uni06D0.medi"/><Glyph value="uni06D1.medi"/><Glyph value="uni0649.medi"/><Glyph value="uni066E.medi"/><Glyph value="uni0628.medi"/><Glyph value="uni062A.medi"/><Glyph value="uni062B.medi"/><Glyph value="uni0679.medi"/><Glyph value="uni067A.medi"/><Glyph value="uni067B.medi"/><Glyph value="uni067C.medi"/><Glyph value="uni067D.medi"/><Glyph value="uni067E.medi"/><Glyph value="uni067F.medi"/><Glyph value="uni0680.medi"/><Glyph value="uni0750.medi"/><Glyph value="uni0751.medi"/><Glyph value="uni0752.medi"/><Glyph value="uni0753.medi"/><Glyph value="uni0754.medi"/><Glyph value="uni0755.medi"/><Glyph value="uni0756.medi"/><Glyph value="uni062C.medi"/><Glyph value="uni062D.medi"/><Glyph value="uni062E.medi"/><Glyph value="uni0681.medi"/><Glyph value="uni0682.medi"/><Glyph value="uni0683.medi"/><Glyph value="uni0684.medi"/><Glyph value="uni0685.medi"/><Glyph value="uni0686.medi"/><Glyph value="uni0687.medi"/><Glyph value="uni06BF.medi"/><Glyph value="absTchehRetro1Med"/><Glyph value="absTchehRetro2Med"/><Glyph value="absJeemRetro1Med"/><Glyph value="absJeemRetro2Med"/><Glyph value="absJeemRetro3Med"/><Glyph value="uni0757.medi"/><Glyph value="uni0758.medi"/><Glyph value="uni0633.medi"/><Glyph value="uni0634.medi"/><Glyph value="uni069A.medi"/><Glyph value="uni069B.medi"/><Glyph value="uni069C.medi"/><Glyph value="uni06FA.medi"/><Glyph value="absSheenRetro1Med"/><Glyph value="absSheenRetro2Med"/><Glyph value="uni075C.medi"/><Glyph value="uni076D.medi"/><Glyph value="uni0635.medi"/><Glyph value="uni0636.medi"/><Glyph value="uni069D.medi"/><Glyph value="uni069E.medi"/><Glyph value="uni06FB.medi"/><Glyph value="uni0637.medi"/><Glyph value="uni0638.medi"/><Glyph value="uni069F.medi"/><Glyph value="uni0639.medi"/><Glyph value="uni063A.medi"/><Glyph value="uni06A0.medi"/><Glyph value="uni06FC.medi"/><Glyph value="uni075D.medi"/><Glyph value="uni075E.medi"/><Glyph value="uni075F.medi"/><Glyph value="uni0641.medi"/><Glyph value="uni06A1.medi"/><Glyph value="uni06A2.medi"/><Glyph value="uni06A3.medi"/><Glyph value="uni06A4.medi"/><Glyph value="uni06A5.medi"/><Glyph value="uni06A6.medi"/><Glyph value="uni0760.medi"/><Glyph value="uni0761.medi"/><Glyph value="uni066F.medi"/><Glyph value="uni0642.medi"/><Glyph value="uni06A7.medi"/><Glyph value="uni06A8.medi"/><Glyph value="uni0643.medi"/><Glyph value="uni06AC.medi"/><Glyph value="uni06AD.medi"/><Glyph value="uni06AE.medi"/><Glyph value="uni06A9.medi"/><Glyph value="uni06AB.medi"/><Glyph value="uni06AF.medi"/><Glyph value="uni06B0.medi"/><Glyph value="uni06B1.medi"/><Glyph value="uni06B2.medi"/><Glyph value="uni06B3.medi"/><Glyph value="uni06B4.medi"/><Glyph value="uni0762.medi"/><Glyph value="uni0763.medi"/><Glyph value="uni0764.medi"/><Glyph value="uni06AA.medi"/><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0645.medi"/><Glyph value="uni0765.medi"/><Glyph value="uni0766.medi"/><Glyph value="uni0646.medi"/><Glyph value="uni06B9.medi"/><Glyph value="uni06BA.medi"/><Glyph value="uni06BB.medi"/><Glyph value="uni06BC.medi"/><Glyph value="uni06BD.medi"/><Glyph value="uni0767.medi"/><Glyph value="uni0768.medi"/><Glyph value="uni0769.medi"/><Glyph value="uni06BE.medi"/><Glyph value="uni06FF.medi"/><Glyph value="uni0647.medi"/><Glyph value="uni06C1.medi"/><Glyph value="uni06C2.medi"/><Glyph value="uni0626.init"/><Glyph value="uni064A.init"/><Glyph value="uni064A.init.noDots"/><Glyph value="uni0678.init"/><Glyph value="uni06CC.init"/><Glyph value="uni06CE.init"/><Glyph value="uni06D0.init"/><Glyph value="uni06D1.init"/><Glyph value="uni0649.init"/><Glyph value="uni066E.init"/><Glyph value="uni0628.init"/><Glyph value="uni062A.init"/><Glyph value="uni062B.init"/><Glyph value="uni0679.init"/><Glyph value="uni067A.init"/><Glyph value="uni067B.init"/><Glyph value="uni067C.init"/><Glyph value="uni067D.init"/><Glyph value="uni067E.init"/><Glyph value="uni067F.init"/><Glyph value="uni0680.init"/><Glyph value="uni0750.init"/><Glyph value="uni0751.init"/><Glyph value="uni0752.init"/><Glyph value="uni0753.init"/><Glyph value="uni0754.init"/><Glyph value="uni0755.init"/><Glyph value="uni0756.init"/><Glyph value="uni062C.init"/><Glyph value="uni062D.init"/><Glyph value="uni062E.init"/><Glyph value="uni0681.init"/><Glyph value="uni0682.init"/><Glyph value="uni0683.init"/><Glyph value="uni0684.init"/><Glyph value="uni0685.init"/><Glyph value="uni0686.init"/><Glyph value="uni0687.init"/><Glyph value="uni06BF.init"/><Glyph value="absTchehRetro1Ini"/><Glyph value="absTchehRetro2Ini"/><Glyph value="absJeemRetro1Ini"/><Glyph value="absJeemRetro2Ini"/><Glyph value="absJeemRetro3Ini"/><Glyph value="uni0757.init"/><Glyph value="uni0758.init"/><Glyph value="uni0633.init"/><Glyph value="uni0634.init"/><Glyph value="uni069A.init"/><Glyph value="uni069B.init"/><Glyph value="uni069C.init"/><Glyph value="uni06FA.init"/><Glyph value="absSheenRetro1Ini"/><Glyph value="absSheenRetro2Ini"/><Glyph value="uni075C.init"/><Glyph value="uni076D.init"/><Glyph value="uni0635.init"/><Glyph value="uni0636.init"/><Glyph value="uni069D.init"/><Glyph value="uni069E.init"/><Glyph value="uni06FB.init"/><Glyph value="uni0637.init"/><Glyph value="uni0638.init"/><Glyph value="uni069F.init"/><Glyph value="uni0639.init"/><Glyph value="uni063A.init"/><Glyph value="uni06A0.init"/><Glyph value="uni06FC.init"/><Glyph value="uni075D.init"/><Glyph value="uni075E.init"/><Glyph value="uni075F.init"/><Glyph value="uni0641.init"/><Glyph value="uni06A1.init"/><Glyph value="uni06A2.init"/><Glyph value="uni06A3.init"/><Glyph value="uni06A4.init"/><Glyph value="uni06A5.init"/><Glyph value="uni06A6.init"/><Glyph value="uni0760.init"/><Glyph value="uni0761.init"/><Glyph value="uni066F.init"/><Glyph value="uni0642.init"/><Glyph value="uni06A7.init"/><Glyph value="uni06A8.init"/><Glyph value="uni0643.init"/><Glyph value="uni06AC.init"/><Glyph value="uni06AD.init"/><Glyph value="uni06AE.init"/><Glyph value="uni06A9.init"/><Glyph value="uni06AB.init"/><Glyph value="uni06AF.init"/><Glyph value="uni06B0.init"/><Glyph value="uni06B1.init"/><Glyph value="uni06B2.init"/><Glyph value="uni06B3.init"/><Glyph value="uni06B4.init"/><Glyph value="uni0762.init"/><Glyph value="uni0763.init"/><Glyph value="uni0764.init"/><Glyph value="uni06AA.init"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/><Glyph value="uni0645.init"/><Glyph value="uni0765.init"/><Glyph value="uni0766.init"/><Glyph value="uni0646.init"/><Glyph value="uni06B9.init"/><Glyph value="uni06BA.init"/><Glyph value="uni06BB.init"/><Glyph value="uni06BC.init"/><Glyph value="uni06BD.init"/><Glyph value="uni0767.init"/><Glyph value="uni0768.init"/><Glyph value="uni0769.init"/><Glyph value="uni06BE.init"/><Glyph value="uni06FF.init"/><Glyph value="uni0647.init"/><Glyph value="uni06C1.init"/><Glyph value="uni06C2.init"/><Glyph value="uni0674"/><Glyph value="uni060C"/><Glyph value="uni061B"/><Glyph value="uni061F"/><Glyph value="uni066D"/><Glyph value="uni06D4"/><Glyph value="uni06E9"/><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="75"/><YCoordinate value="-403"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="66"/><YCoordinate value="-406"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="164"/><YCoordinate value="-49"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="98"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-2"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-195"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-213"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="17"/><YCoordinate value="-285"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="512"/><YCoordinate value="-49"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="163"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="163"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="127"/><YCoordinate value="-526"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="163"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="143"/><YCoordinate value="-498"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="163"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="163"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="142"/><YCoordinate value="-620"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="203"/><YCoordinate value="-397"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="244"/><YCoordinate value="-470"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="244"/><YCoordinate value="-470"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="-482"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-231"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="-660"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="260"/><YCoordinate value="-482"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-611"/></BaseAnchor></BaseRecord><BaseRecord index="42"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-672"/></BaseAnchor></BaseRecord><BaseRecord index="43"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-725"/></BaseAnchor></BaseRecord><BaseRecord index="44"><BaseAnchor index="0" Format="1"><XCoordinate value="163"/><YCoordinate value="-697"/></BaseAnchor></BaseRecord><BaseRecord index="45"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="46"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="47"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="48"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="49"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="50"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="51"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="52"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="53"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="54"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="55"><BaseAnchor index="0" Format="1"><XCoordinate value="336"/><YCoordinate value="-620"/></BaseAnchor></BaseRecord><BaseRecord index="56"><BaseAnchor index="0" Format="1"><XCoordinate value="336"/><YCoordinate value="-620"/></BaseAnchor></BaseRecord><BaseRecord index="57"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="58"><BaseAnchor index="0" Format="1"><XCoordinate value="334"/><YCoordinate value="-777"/></BaseAnchor></BaseRecord><BaseRecord index="59"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="60"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="61"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="62"><BaseAnchor index="0" Format="1"><XCoordinate value="260"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="63"><BaseAnchor index="0" Format="1"><XCoordinate value="285"/><YCoordinate value="-972"/></BaseAnchor></BaseRecord><BaseRecord index="64"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-952"/></BaseAnchor></BaseRecord><BaseRecord index="65"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="66"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="67"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="68"><BaseAnchor index="0" Format="1"><XCoordinate value="249"/><YCoordinate value="-308"/></BaseAnchor></BaseRecord><BaseRecord index="69"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="70"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="71"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="72"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="73"><BaseAnchor index="0" Format="1"><XCoordinate value="204"/><YCoordinate value="-308"/></BaseAnchor></BaseRecord><BaseRecord index="74"><BaseAnchor index="0" Format="1"><XCoordinate value="220"/><YCoordinate value="-247"/></BaseAnchor></BaseRecord><BaseRecord index="75"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="76"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-360"/></BaseAnchor></BaseRecord><BaseRecord index="77"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="78"><BaseAnchor index="0" Format="1"><XCoordinate value="176"/><YCoordinate value="-324"/></BaseAnchor></BaseRecord><BaseRecord index="79"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="80"><BaseAnchor index="0" Format="1"><XCoordinate value="212"/><YCoordinate value="-296"/></BaseAnchor></BaseRecord><BaseRecord index="81"><BaseAnchor index="0" Format="1"><XCoordinate value="180"/><YCoordinate value="-336"/></BaseAnchor></BaseRecord><BaseRecord index="82"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="-340"/></BaseAnchor></BaseRecord><BaseRecord index="83"><BaseAnchor index="0" Format="1"><XCoordinate value="192"/><YCoordinate value="-308"/></BaseAnchor></BaseRecord><BaseRecord index="84"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="-259"/></BaseAnchor></BaseRecord><BaseRecord index="85"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="-235"/></BaseAnchor></BaseRecord><BaseRecord index="86"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="87"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="88"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="89"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="90"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="91"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="92"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="93"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="94"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="95"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="96"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="97"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="98"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="99"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="100"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="101"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="102"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="103"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-724"/></BaseAnchor></BaseRecord><BaseRecord index="104"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="105"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="106"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="107"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="108"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="109"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="110"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="111"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="112"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="113"><BaseAnchor index="0" Format="1"><XCoordinate value="168"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="114"><BaseAnchor index="0" Format="1"><XCoordinate value="173"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="115"><BaseAnchor index="0" Format="1"><XCoordinate value="173"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="116"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="117"><BaseAnchor index="0" Format="1"><XCoordinate value="173"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="118"><BaseAnchor index="0" Format="1"><XCoordinate value="173"/><YCoordinate value="-514"/></BaseAnchor></BaseRecord><BaseRecord index="119"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="120"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="121"><BaseAnchor index="0" Format="1"><XCoordinate value="305"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="122"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-830"/></BaseAnchor></BaseRecord><BaseRecord index="123"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-830"/></BaseAnchor></BaseRecord><BaseRecord index="124"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-830"/></BaseAnchor></BaseRecord><BaseRecord index="125"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-830"/></BaseAnchor></BaseRecord><BaseRecord index="126"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-830"/></BaseAnchor></BaseRecord><BaseRecord index="127"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-830"/></BaseAnchor></BaseRecord><BaseRecord index="128"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="-830"/></BaseAnchor></BaseRecord><BaseRecord index="129"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="130"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="131"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="132"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="133"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="134"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="135"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="136"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="137"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="138"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-401"/></BaseAnchor></BaseRecord><BaseRecord index="139"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-401"/></BaseAnchor></BaseRecord><BaseRecord index="140"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-401"/></BaseAnchor></BaseRecord><BaseRecord index="141"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-401"/></BaseAnchor></BaseRecord><BaseRecord index="142"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="143"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="144"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="145"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="146"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="147"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="148"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="149"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="150"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="151"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="152"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="153"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="154"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="155"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="156"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="157"><BaseAnchor index="0" Format="1"><XCoordinate value="310"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="158"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="159"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="160"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="161"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="162"><BaseAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="-458"/></BaseAnchor></BaseRecord><BaseRecord index="163"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="164"><BaseAnchor index="0" Format="1"><XCoordinate value="221"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="165"><BaseAnchor index="0" Format="1"><XCoordinate value="113"/><YCoordinate value="-644"/></BaseAnchor></BaseRecord><BaseRecord index="166"><BaseAnchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="-719"/></BaseAnchor></BaseRecord><BaseRecord index="167"><BaseAnchor index="0" Format="1"><XCoordinate value="109"/><YCoordinate value="-719"/></BaseAnchor></BaseRecord><BaseRecord index="168"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="169"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-697"/></BaseAnchor></BaseRecord><BaseRecord index="170"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="171"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="172"><BaseAnchor index="0" Format="1"><XCoordinate value="284"/><YCoordinate value="-640"/></BaseAnchor></BaseRecord><BaseRecord index="173"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="174"><BaseAnchor index="0" Format="1"><XCoordinate value="345"/><YCoordinate value="-737"/></BaseAnchor></BaseRecord><BaseRecord index="175"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="176"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="177"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="178"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="179"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="180"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="181"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="182"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="183"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="184"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="185"><BaseAnchor index="0" Format="1"><XCoordinate value="177"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="186"><BaseAnchor index="0" Format="1"><XCoordinate value="281"/><YCoordinate value="-113"/></BaseAnchor></BaseRecord><BaseRecord index="187"><BaseAnchor index="0" Format="1"><XCoordinate value="114"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="188"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="189"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="190"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-526"/></BaseAnchor></BaseRecord><BaseRecord index="191"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="192"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="193"><BaseAnchor index="0" Format="1"><XCoordinate value="223"/><YCoordinate value="-506"/></BaseAnchor></BaseRecord><BaseRecord index="194"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="195"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="196"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="197"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="198"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="199"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="200"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="201"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="202"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="203"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="204"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="205"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="206"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="207"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="208"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="209"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-721"/></BaseAnchor></BaseRecord><BaseRecord index="210"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="211"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="212"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="213"><BaseAnchor index="0" Format="1"><XCoordinate value="296"/><YCoordinate value="-356"/></BaseAnchor></BaseRecord><BaseRecord index="214"><BaseAnchor index="0" Format="1"><XCoordinate value="219"/><YCoordinate value="-405"/></BaseAnchor></BaseRecord><BaseRecord index="215"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-413"/></BaseAnchor></BaseRecord><BaseRecord index="216"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="217"><BaseAnchor index="0" Format="1"><XCoordinate value="336"/><YCoordinate value="-445"/></BaseAnchor></BaseRecord><BaseRecord index="218"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="219"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="220"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="221"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="222"><BaseAnchor index="0" Format="1"><XCoordinate value="211"/><YCoordinate value="-620"/></BaseAnchor></BaseRecord><BaseRecord index="223"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-445"/></BaseAnchor></BaseRecord><BaseRecord index="224"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="225"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="226"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="227"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="228"><BaseAnchor index="0" Format="1"><XCoordinate value="259"/><YCoordinate value="-624"/></BaseAnchor></BaseRecord><BaseRecord index="229"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-591"/></BaseAnchor></BaseRecord><BaseRecord index="230"><BaseAnchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="-660"/></BaseAnchor></BaseRecord><BaseRecord index="231"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-603"/></BaseAnchor></BaseRecord><BaseRecord index="232"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="233"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="234"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="235"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="236"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="237"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="238"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="239"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="240"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="241"><BaseAnchor index="0" Format="1"><XCoordinate value="243"/><YCoordinate value="-490"/></BaseAnchor></BaseRecord><BaseRecord index="242"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="-640"/></BaseAnchor></BaseRecord><BaseRecord index="243"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="-640"/></BaseAnchor></BaseRecord><BaseRecord index="244"><BaseAnchor index="0" Format="1"><XCoordinate value="277"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="245"><BaseAnchor index="0" Format="1"><XCoordinate value="394"/><YCoordinate value="-903"/></BaseAnchor></BaseRecord><BaseRecord index="246"><BaseAnchor index="0" Format="1"><XCoordinate value="277"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="247"><BaseAnchor index="0" Format="1"><XCoordinate value="277"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="248"><BaseAnchor index="0" Format="1"><XCoordinate value="277"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="249"><BaseAnchor index="0" Format="1"><XCoordinate value="277"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="250"><BaseAnchor index="0" Format="1"><XCoordinate value="281"/><YCoordinate value="-1077"/></BaseAnchor></BaseRecord><BaseRecord index="251"><BaseAnchor index="0" Format="1"><XCoordinate value="281"/><YCoordinate value="-1081"/></BaseAnchor></BaseRecord><BaseRecord index="252"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="253"><BaseAnchor index="0" Format="1"><XCoordinate value="277"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="254"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="255"><BaseAnchor index="0" Format="1"><XCoordinate value="176"/><YCoordinate value="-324"/></BaseAnchor></BaseRecord><BaseRecord index="256"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="257"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="258"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="259"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="260"><BaseAnchor index="0" Format="1"><XCoordinate value="176"/><YCoordinate value="-368"/></BaseAnchor></BaseRecord><BaseRecord index="261"><BaseAnchor index="0" Format="1"><XCoordinate value="176"/><YCoordinate value="-263"/></BaseAnchor></BaseRecord><BaseRecord index="262"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="263"><BaseAnchor index="0" Format="1"><XCoordinate value="216"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="264"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="265"><BaseAnchor index="0" Format="1"><XCoordinate value="237"/><YCoordinate value="-640"/></BaseAnchor></BaseRecord><BaseRecord index="266"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="-441"/></BaseAnchor></BaseRecord><BaseRecord index="267"><BaseAnchor index="0" Format="1"><XCoordinate value="188"/><YCoordinate value="-316"/></BaseAnchor></BaseRecord><BaseRecord index="268"><BaseAnchor index="0" Format="1"><XCoordinate value="249"/><YCoordinate value="-640"/></BaseAnchor></BaseRecord><BaseRecord index="269"><BaseAnchor index="0" Format="1"><XCoordinate value="249"/><YCoordinate value="-640"/></BaseAnchor></BaseRecord><BaseRecord index="270"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-421"/></BaseAnchor></BaseRecord><BaseRecord index="271"><BaseAnchor index="0" Format="1"><XCoordinate value="208"/><YCoordinate value="-466"/></BaseAnchor></BaseRecord><BaseRecord index="272"><BaseAnchor index="0" Format="1"><XCoordinate value="228"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="273"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="274"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="275"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="276"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="277"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="278"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="279"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="280"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="281"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="282"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="283"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="284"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="285"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="286"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="287"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="288"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="289"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="290"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="291"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="292"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="293"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="294"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="295"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="296"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="297"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="298"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="299"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="300"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="301"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="302"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="303"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="304"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="305"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-522"/></BaseAnchor></BaseRecord><BaseRecord index="306"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="307"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="308"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="309"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-786"/></BaseAnchor></BaseRecord><BaseRecord index="310"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-786"/></BaseAnchor></BaseRecord><BaseRecord index="311"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-786"/></BaseAnchor></BaseRecord><BaseRecord index="312"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-786"/></BaseAnchor></BaseRecord><BaseRecord index="313"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-786"/></BaseAnchor></BaseRecord><BaseRecord index="314"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-786"/></BaseAnchor></BaseRecord><BaseRecord index="315"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-786"/></BaseAnchor></BaseRecord><BaseRecord index="316"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="317"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="318"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="319"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="320"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="321"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="322"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="323"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="324"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="325"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-482"/></BaseAnchor></BaseRecord><BaseRecord index="326"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-482"/></BaseAnchor></BaseRecord><BaseRecord index="327"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-482"/></BaseAnchor></BaseRecord><BaseRecord index="328"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-482"/></BaseAnchor></BaseRecord><BaseRecord index="329"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="330"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="331"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="332"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="333"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="334"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="335"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="336"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="337"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="338"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="339"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="340"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="341"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="342"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="343"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="344"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="345"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="346"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="347"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="348"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="349"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="350"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="351"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="352"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-636"/></BaseAnchor></BaseRecord><BaseRecord index="353"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-636"/></BaseAnchor></BaseRecord><BaseRecord index="354"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-636"/></BaseAnchor></BaseRecord><BaseRecord index="355"><BaseAnchor index="0" Format="1"><XCoordinate value="232"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="356"><BaseAnchor index="0" Format="1"><XCoordinate value="216"/><YCoordinate value="-790"/></BaseAnchor></BaseRecord><BaseRecord index="357"><BaseAnchor index="0" Format="1"><XCoordinate value="232"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="358"><BaseAnchor index="0" Format="1"><XCoordinate value="232"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="359"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="-705"/></BaseAnchor></BaseRecord><BaseRecord index="360"><BaseAnchor index="0" Format="1"><XCoordinate value="232"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="361"><BaseAnchor index="0" Format="1"><XCoordinate value="293"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="362"><BaseAnchor index="0" Format="1"><XCoordinate value="232"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="363"><BaseAnchor index="0" Format="1"><XCoordinate value="232"/><YCoordinate value="-502"/></BaseAnchor></BaseRecord><BaseRecord index="364"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="-454"/></BaseAnchor></BaseRecord><BaseRecord index="365"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="-454"/></BaseAnchor></BaseRecord><BaseRecord index="366"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="367"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="368"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="369"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="370"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="371"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="372"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="373"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="374"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="-445"/></BaseAnchor></BaseRecord><BaseRecord index="375"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="376"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="377"><BaseAnchor index="0" Format="1"><XCoordinate value="186"/><YCoordinate value="-458"/></BaseAnchor></BaseRecord><BaseRecord index="378"><BaseAnchor index="0" Format="1"><XCoordinate value="186"/><YCoordinate value="-458"/></BaseAnchor></BaseRecord><BaseRecord index="379"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-632"/></BaseAnchor></BaseRecord><BaseRecord index="380"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-652"/></BaseAnchor></BaseRecord><BaseRecord index="381"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="382"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="383"><BaseAnchor index="0" Format="1"><XCoordinate value="146"/><YCoordinate value="-417"/></BaseAnchor></BaseRecord><BaseRecord index="384"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="385"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="386"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="387"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="388"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-632"/></BaseAnchor></BaseRecord><BaseRecord index="389"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="390"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="391"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-656"/></BaseAnchor></BaseRecord><BaseRecord index="392"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="393"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-664"/></BaseAnchor></BaseRecord><BaseRecord index="394"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-445"/></BaseAnchor></BaseRecord><BaseRecord index="395"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-417"/></BaseAnchor></BaseRecord><BaseRecord index="396"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="-636"/></BaseAnchor></BaseRecord><BaseRecord index="397"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="-644"/></BaseAnchor></BaseRecord><BaseRecord index="398"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="-433"/></BaseAnchor></BaseRecord><BaseRecord index="399"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-454"/></BaseAnchor></BaseRecord><BaseRecord index="400"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="401"><BaseAnchor index="0" Format="1"><XCoordinate value="275"/><YCoordinate value="-344"/></BaseAnchor></BaseRecord><BaseRecord index="402"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="403"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="404"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="405"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="406"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="-360"/></BaseAnchor></BaseRecord><BaseRecord index="407"><BaseAnchor index="0" Format="1"><XCoordinate value="348"/><YCoordinate value="-555"/></BaseAnchor></BaseRecord><BaseRecord index="408"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="409"><BaseAnchor index="0" Format="1"><XCoordinate value="332"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="410"><BaseAnchor index="0" Format="1"><XCoordinate value="292"/><YCoordinate value="-555"/></BaseAnchor></BaseRecord><BaseRecord index="411"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="412"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="-539"/></BaseAnchor></BaseRecord><BaseRecord index="413"><BaseAnchor index="0" Format="1"><XCoordinate value="381"/><YCoordinate value="-798"/></BaseAnchor></BaseRecord><BaseRecord index="414"><BaseAnchor index="0" Format="1"><XCoordinate value="377"/><YCoordinate value="-579"/></BaseAnchor></BaseRecord><BaseRecord index="415"><BaseAnchor index="0" Format="1"><XCoordinate value="292"/><YCoordinate value="-340"/></BaseAnchor></BaseRecord><BaseRecord index="416"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="417"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="418"><BaseAnchor index="0" Format="1"><XCoordinate value="373"/><YCoordinate value="-571"/></BaseAnchor></BaseRecord><BaseRecord index="419"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="420"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="421"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="422"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="423"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="424"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="425"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="426"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="427"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="428"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="429"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="430"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="431"><BaseAnchor index="0" Format="1"><XCoordinate value="296"/><YCoordinate value="-393"/></BaseAnchor></BaseRecord><BaseRecord index="432"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="433"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-360"/></BaseAnchor></BaseRecord><BaseRecord index="434"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="435"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="436"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="437"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="438"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="439"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="440"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="-344"/></BaseAnchor></BaseRecord><BaseRecord index="441"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="442"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="443"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="444"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="445"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="446"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-381"/></BaseAnchor></BaseRecord><BaseRecord index="447"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-381"/></BaseAnchor></BaseRecord><BaseRecord index="448"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="449"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-587"/></BaseAnchor></BaseRecord><BaseRecord index="450"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="451"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-381"/></BaseAnchor></BaseRecord><BaseRecord index="452"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-575"/></BaseAnchor></BaseRecord><BaseRecord index="453"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="454"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="455"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="456"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="457"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="458"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="459"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="460"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-591"/></BaseAnchor></BaseRecord><BaseRecord index="461"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="462"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="463"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="464"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="465"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="466"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-381"/></BaseAnchor></BaseRecord><BaseRecord index="467"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-607"/></BaseAnchor></BaseRecord><BaseRecord index="468"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="469"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="470"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="471"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-595"/></BaseAnchor></BaseRecord><BaseRecord index="472"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="473"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="474"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="475"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="476"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="477"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-559"/></BaseAnchor></BaseRecord><BaseRecord index="478"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="479"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="480"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="481"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="482"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-458"/></BaseAnchor></BaseRecord><BaseRecord index="483"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="484"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="485"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="486"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="487"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-292"/></BaseAnchor></BaseRecord><BaseRecord index="488"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-648"/></BaseAnchor></BaseRecord><BaseRecord index="489"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="-449"/></BaseAnchor></BaseRecord><BaseRecord index="490"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="491"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="492"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-454"/></BaseAnchor></BaseRecord><BaseRecord index="493"><BaseAnchor index="0" Format="1"><XCoordinate value="229"/><YCoordinate value="-298"/></BaseAnchor></BaseRecord><BaseRecord index="494"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="-454"/></BaseAnchor></BaseRecord><BaseRecord index="495"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-867"/></BaseAnchor></BaseRecord><BaseRecord index="496"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-867"/></BaseAnchor></BaseRecord><BaseRecord index="497"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="498"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="-437"/></BaseAnchor></BaseRecord><BaseRecord index="499"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="500"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="501"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="-437"/></BaseAnchor></BaseRecord><BaseRecord index="502"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="-437"/></BaseAnchor></BaseRecord><BaseRecord index="503"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="-644"/></BaseAnchor></BaseRecord><BaseRecord index="504"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="-652"/></BaseAnchor></BaseRecord><BaseRecord index="505"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="506"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="507"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-437"/></BaseAnchor></BaseRecord><BaseRecord index="508"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="509"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="510"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="511"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="512"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-624"/></BaseAnchor></BaseRecord><BaseRecord index="513"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="514"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="515"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-624"/></BaseAnchor></BaseRecord><BaseRecord index="516"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="517"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="-636"/></BaseAnchor></BaseRecord><BaseRecord index="518"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-421"/></BaseAnchor></BaseRecord><BaseRecord index="519"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-433"/></BaseAnchor></BaseRecord><BaseRecord index="520"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-624"/></BaseAnchor></BaseRecord><BaseRecord index="521"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-632"/></BaseAnchor></BaseRecord><BaseRecord index="522"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-417"/></BaseAnchor></BaseRecord><BaseRecord index="523"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-417"/></BaseAnchor></BaseRecord><BaseRecord index="524"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="525"><BaseAnchor index="0" Format="1"><XCoordinate value="198"/><YCoordinate value="-352"/></BaseAnchor></BaseRecord><BaseRecord index="526"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="527"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="528"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="529"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="530"><BaseAnchor index="0" Format="1"><XCoordinate value="296"/><YCoordinate value="-360"/></BaseAnchor></BaseRecord><BaseRecord index="531"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-551"/></BaseAnchor></BaseRecord><BaseRecord index="532"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="533"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-551"/></BaseAnchor></BaseRecord><BaseRecord index="534"><BaseAnchor index="0" Format="1"><XCoordinate value="279"/><YCoordinate value="-563"/></BaseAnchor></BaseRecord><BaseRecord index="535"><BaseAnchor index="0" Format="1"><XCoordinate value="219"/><YCoordinate value="-551"/></BaseAnchor></BaseRecord><BaseRecord index="536"><BaseAnchor index="0" Format="1"><XCoordinate value="219"/><YCoordinate value="-551"/></BaseAnchor></BaseRecord><BaseRecord index="537"><BaseAnchor index="0" Format="1"><XCoordinate value="304"/><YCoordinate value="-802"/></BaseAnchor></BaseRecord><BaseRecord index="538"><BaseAnchor index="0" Format="1"><XCoordinate value="304"/><YCoordinate value="-616"/></BaseAnchor></BaseRecord><BaseRecord index="539"><BaseAnchor index="0" Format="1"><XCoordinate value="207"/><YCoordinate value="-344"/></BaseAnchor></BaseRecord><BaseRecord index="540"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="541"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="542"><BaseAnchor index="0" Format="1"><XCoordinate value="288"/><YCoordinate value="-567"/></BaseAnchor></BaseRecord><BaseRecord index="543"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="544"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="545"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-352"/></BaseAnchor></BaseRecord><BaseRecord index="546"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="547"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="548"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="-352"/></BaseAnchor></BaseRecord><BaseRecord index="549"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="550"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="551"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="552"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="553"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="554"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="555"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-409"/></BaseAnchor></BaseRecord><BaseRecord index="556"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="557"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-360"/></BaseAnchor></BaseRecord><BaseRecord index="558"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="559"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="560"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="561"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="562"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="563"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="564"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-377"/></BaseAnchor></BaseRecord><BaseRecord index="565"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="566"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="567"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="568"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="569"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="570"><BaseAnchor index="0" Format="1"><XCoordinate value="182"/><YCoordinate value="-417"/></BaseAnchor></BaseRecord><BaseRecord index="571"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="-413"/></BaseAnchor></BaseRecord><BaseRecord index="572"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="573"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-603"/></BaseAnchor></BaseRecord><BaseRecord index="574"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="575"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-409"/></BaseAnchor></BaseRecord><BaseRecord index="576"><BaseAnchor index="0" Format="1"><XCoordinate value="215"/><YCoordinate value="-620"/></BaseAnchor></BaseRecord><BaseRecord index="577"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="578"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="579"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="580"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="581"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="582"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="583"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="584"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-597"/></BaseAnchor></BaseRecord><BaseRecord index="585"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="586"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="587"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="588"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="589"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="590"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-384"/></BaseAnchor></BaseRecord><BaseRecord index="591"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-597"/></BaseAnchor></BaseRecord><BaseRecord index="592"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="593"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="594"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-200"/></BaseAnchor></BaseRecord><BaseRecord index="595"><BaseAnchor index="0" Format="1"><XCoordinate value="146"/><YCoordinate value="-607"/></BaseAnchor></BaseRecord><BaseRecord index="596"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="597"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="598"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="599"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="600"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="601"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-595"/></BaseAnchor></BaseRecord><BaseRecord index="602"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="603"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="604"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="605"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="606"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-336"/></BaseAnchor></BaseRecord><BaseRecord index="607"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="608"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-405"/></BaseAnchor></BaseRecord><BaseRecord index="609"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="610"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="611"><BaseAnchor index="0" Format="1"><XCoordinate value="166"/><YCoordinate value="-316"/></BaseAnchor></BaseRecord><BaseRecord index="612"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-607"/></BaseAnchor></BaseRecord><BaseRecord index="613"><BaseAnchor index="0" Format="1"><XCoordinate value="174"/><YCoordinate value="-425"/></BaseAnchor></BaseRecord><BaseRecord index="614"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="615"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="616"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="617"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="618"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-202"/></BaseAnchor></BaseRecord><BaseRecord index="619"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-563"/></BaseAnchor></BaseRecord><BaseRecord index="620"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-563"/></BaseAnchor></BaseRecord><BaseRecord index="621"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="622"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="623"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="624"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="625"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="626"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="627"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="628"><BaseAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="629"><BaseAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="630"><BaseAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="631"><BaseAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="632"><BaseAnchor index="0" Format="1"><XCoordinate value="102"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="633"><BaseAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="634"><BaseAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="635"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="636"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="637"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-719"/></BaseAnchor></BaseRecord><BaseRecord index="638"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="639"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="640"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="-733"/></BaseAnchor></BaseRecord><BaseRecord index="641"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="642"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="643"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="644"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="645"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="646"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="647"><BaseAnchor index="0" Format="1"><XCoordinate value="202"/><YCoordinate value="-733"/></BaseAnchor></BaseRecord><BaseRecord index="648"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="649"><BaseAnchor index="0" Format="1"><XCoordinate value="227"/><YCoordinate value="-251"/></BaseAnchor></BaseRecord><BaseRecord index="650"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="651"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="652"><BaseAnchor index="0" Format="1"><XCoordinate value="374"/><YCoordinate value="-722"/></BaseAnchor></BaseRecord><BaseRecord index="653"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="654"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="655"><BaseAnchor index="0" Format="1"><XCoordinate value="356"/><YCoordinate value="-719"/></BaseAnchor></BaseRecord><BaseRecord index="656"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="657"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="5"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/><Glyph value="uni06E3"/><Glyph value="uni06EA"/><Glyph value="uni06ED"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="75"/><YCoordinate value="-403"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="66"/><YCoordinate value="-406"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="164"/><YCoordinate value="-49"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="98"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-2"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-195"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-213"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="17"/><YCoordinate value="-285"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="75"/><YCoordinate value="-790"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="66"/><YCoordinate value="-651"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="164"/><YCoordinate value="-471"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="98"/><YCoordinate value="-469"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="-361"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="6"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni06DD"/><Glyph value="uni06DD.2"/><Glyph value="uni06DD.3"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="46"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="47"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="48"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="49"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="50"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="51"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="52"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="53"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="54"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="55"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="56"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="57"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="58"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="59"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="60"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="61"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="62"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="63"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="64"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="65"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="570"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="220"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="217"/><YCoordinate value="0"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="7"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="46"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="47"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="48"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="49"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="50"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="51"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="52"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="53"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="54"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="55"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="56"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="57"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="58"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="59"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="60"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="61"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="62"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="63"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="64"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="65"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="5"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="6"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="7"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="8"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="9"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="10"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="11"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="12"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="13"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="14"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="15"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="16"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="17"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="18"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="19"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="20"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="21"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="22"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="23"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="24"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="25"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="26"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="27"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="28"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="29"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="30"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="31"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="32"><Mark2Anchor index="0" Format="1"><XCoordinate value="704"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="33"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="34"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="35"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="36"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="37"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="38"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="39"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="40"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="41"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="42"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="43"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="44"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="45"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="46"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="47"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="48"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="49"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="50"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="51"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="52"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="53"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="54"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="55"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="56"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="57"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="58"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="59"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="60"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="61"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="62"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="63"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="64"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="65"><Mark2Anchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup></LookupList></GPOS></ttFont>
diff --git a/test/resources/complexscripts/arab/ttx/arab-004.ttx b/test/resources/complexscripts/arab/ttx/arab-004.ttx
new file mode 100644
index 0000000..cf3ae37
--- /dev/null
+++ b/test/resources/complexscripts/arab/ttx/arab-004.ttx
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="ISO-8859-1"?><ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="2.2"><head><tableVersion value="1.0"/><fontRevision value="1.0"/><checkSumAdjustment value="0xdf2c806"/><magicNumber value="0x5f0f3cf5"/><flags value="00000000 00011001"/><unitsPerEm value="2048"/><created value="Fri Jun  3 12:03:06 2005"/><modified value="Fri Jun  3 12:03:06 2005"/><xMin value="-2239"/><yMin value="-1005"/><xMax value="2710"/><yMax value="1755"/><macStyle value="00000000 00000000"/><lowestRecPPEM value="12"/><fontDirectionHint value="0"/><indexToLocFormat value="1"/><glyphDataFormat value="0"/></head><GlyphOrder><GlyphID id="0" name=".notdef"/><GlyphID id="1" name=".null"/><GlyphID id="2" name="nonmarkingreturn"/><GlyphID id="3" name="space"/><GlyphID id="4" name="uni0009"/><GlyphID id="5" name="exclam"/><GlyphID id="6" name="quotedbl"/><GlyphID id="7" name="numbersign"/><GlyphID id="8" name="dollar"/><GlyphID id="9" name="percent"/><GlyphID id="10" name="ampersand"/><GlyphID id="11" name="quotesingle"/><GlyphID id="12" name="parenleft"/><GlyphID id="13" name="parenright"/><GlyphID id="14" name="asterisk"/><GlyphID id="15" name="plus"/><GlyphID id="16" name="comma"/><GlyphID id="17" name="hyphen"/><GlyphID id="18" name="period"/><GlyphID id="19" name="slash"/><GlyphID id="20" name="zero"/><GlyphID id="21" name="one"/><GlyphID id="22" name="two"/><GlyphID id="23" name="three"/><GlyphID id="24" name="four"/><GlyphID id="25" name="five"/><GlyphID id="26" name="six"/><GlyphID id="27" name="seven"/><GlyphID id="28" name="eight"/><GlyphID id="29" name="nine"/><GlyphID id="30" name="colon"/><GlyphID id="31" name="semicolon"/><GlyphID id="32" name="less"/><GlyphID id="33" name="equal"/><GlyphID id="34" name="greater"/><GlyphID id="35" name="question"/><GlyphID id="36" name="at"/><GlyphID id="37" name="A"/><GlyphID id="38" name="B"/><GlyphID id="39" name="C"/><GlyphID id="40" name="D"/><GlyphID id="41" name="E"/><GlyphID id="42" name="F"/><GlyphID id="43" name="G"/><GlyphID id="44" name="H"/><GlyphID id="45" name="I"/><GlyphID id="46" name="J"/><GlyphID id="47" name="K"/><GlyphID id="48" name="L"/><GlyphID id="49" name="M"/><GlyphID id="50" name="N"/><GlyphID id="51" name="O"/><GlyphID id="52" name="P"/><GlyphID id="53" name="Q"/><GlyphID id="54" name="R"/><GlyphID id="55" name="S"/><GlyphID id="56" name="T"/><GlyphID id="57" name="U"/><GlyphID id="58" name="V"/><GlyphID id="59" name="W"/><GlyphID id="60" name="X"/><GlyphID id="61" name="Y"/><GlyphID id="62" name="Z"/><GlyphID id="63" name="bracketleft"/><GlyphID id="64" name="backslash"/><GlyphID id="65" name="bracketright"/><GlyphID id="66" name="asciicircum"/><GlyphID id="67" name="underscore"/><GlyphID id="68" name="grave"/><GlyphID id="69" name="a"/><GlyphID id="70" name="b"/><GlyphID id="71" name="c"/><GlyphID id="72" name="d"/><GlyphID id="73" name="e"/><GlyphID id="74" name="f"/><GlyphID id="75" name="g"/><GlyphID id="76" name="h"/><GlyphID id="77" name="i"/><GlyphID id="78" name="j"/><GlyphID id="79" name="k"/><GlyphID id="80" name="l"/><GlyphID id="81" name="m"/><GlyphID id="82" name="n"/><GlyphID id="83" name="o"/><GlyphID id="84" name="p"/><GlyphID id="85" name="q"/><GlyphID id="86" name="r"/><GlyphID id="87" name="s"/><GlyphID id="88" name="t"/><GlyphID id="89" name="u"/><GlyphID id="90" name="v"/><GlyphID id="91" name="w"/><GlyphID id="92" name="x"/><GlyphID id="93" name="y"/><GlyphID id="94" name="z"/><GlyphID id="95" name="braceleft"/><GlyphID id="96" name="bar"/><GlyphID id="97" name="braceright"/><GlyphID id="98" name="asciitilde"/><GlyphID id="99" name="Euro"/><GlyphID id="100" name="quotesinglbase"/><GlyphID id="101" name="florin"/><GlyphID id="102" name="quotedblbase"/><GlyphID id="103" name="ellipsis"/><GlyphID id="104" name="dagger"/><GlyphID id="105" name="daggerdbl"/><GlyphID id="106" name="circumflex"/><GlyphID id="107" name="perthousand"/><GlyphID id="108" name="Scaron"/><GlyphID id="109" name="guilsinglleft"/><GlyphID id="110" name="guilsinglright"/><GlyphID id="111" name="OE"/><GlyphID id="112" name="Zcaron"/><GlyphID id="113" name="quoteleft"/><GlyphID id="114" name="quoteright"/><GlyphID id="115" name="quotedblleft"/><GlyphID id="116" name="quotedblright"/><GlyphID id="117" name="bullet"/><GlyphID id="118" name="endash"/><GlyphID id="119" name="emdash"/><GlyphID id="120" name="tilde"/><GlyphID id="121" name="trademark"/><GlyphID id="122" name="scaron"/><GlyphID id="123" name="oe"/><GlyphID id="124" name="zcaron"/><GlyphID id="125" name="Ydieresis"/><GlyphID id="126" name="uni00A0"/><GlyphID id="127" name="exclamdown"/><GlyphID id="128" name="cent"/><GlyphID id="129" name="sterling"/><GlyphID id="130" name="currency"/><GlyphID id="131" name="yen"/><GlyphID id="132" name="brokenbar"/><GlyphID id="133" name="section"/><GlyphID id="134" name="dieresis"/><GlyphID id="135" name="copyright"/><GlyphID id="136" name="ordfeminine"/><GlyphID id="137" name="guillemotleft"/><GlyphID id="138" name="guillemotright"/><GlyphID id="139" name="logicalnot"/><GlyphID id="140" name="sfthyphen"/><GlyphID id="141" name="registered"/><GlyphID id="142" name="macron"/><GlyphID id="143" name="uni02C9"/><GlyphID id="144" name="degree"/><GlyphID id="145" name="plusminus"/><GlyphID id="146" name="twosuperior"/><GlyphID id="147" name="threesuperior"/><GlyphID id="148" name="acute"/><GlyphID id="149" name="mu"/><GlyphID id="150" name="paragraph"/><GlyphID id="151" name="periodcentered"/><GlyphID id="152" name="uni2219"/><GlyphID id="153" name="cedilla"/><GlyphID id="154" name="onesuperior"/><GlyphID id="155" name="ordmasculine"/><GlyphID id="156" name="onequarter"/><GlyphID id="157" name="onehalf"/><GlyphID id="158" name="threequarters"/><GlyphID id="159" name="questiondown"/><GlyphID id="160" name="Agrave"/><GlyphID id="161" name="Aacute"/><GlyphID id="162" name="Acircumflex"/><GlyphID id="163" name="Atilde"/><GlyphID id="164" name="Adieresis"/><GlyphID id="165" name="Aring"/><GlyphID id="166" name="AE"/><GlyphID id="167" name="Ccedilla"/><GlyphID id="168" name="Egrave"/><GlyphID id="169" name="Eacute"/><GlyphID id="170" name="Ecircumflex"/><GlyphID id="171" name="Edieresis"/><GlyphID id="172" name="Igrave"/><GlyphID id="173" name="Iacute"/><GlyphID id="174" name="Icircumflex"/><GlyphID id="175" name="Idieresis"/><GlyphID id="176" name="Eth"/><GlyphID id="177" name="Ntilde"/><GlyphID id="178" name="Ograve"/><GlyphID id="179" name="Oacute"/><GlyphID id="180" name="Ocircumflex"/><GlyphID id="181" name="Otilde"/><GlyphID id="182" name="Odieresis"/><GlyphID id="183" name="multiply"/><GlyphID id="184" name="Oslash"/><GlyphID id="185" name="Ugrave"/><GlyphID id="186" name="Uacute"/><GlyphID id="187" name="Ucircumflex"/><GlyphID id="188" name="Udieresis"/><GlyphID id="189" name="Yacute"/><GlyphID id="190" name="Thorn"/><GlyphID id="191" name="germandbls"/><GlyphID id="192" name="agrave"/><GlyphID id="193" name="aacute"/><GlyphID id="194" name="acircumflex"/><GlyphID id="195" name="atilde"/><GlyphID id="196" name="adieresis"/><GlyphID id="197" name="aring"/><GlyphID id="198" name="ae"/><GlyphID id="199" name="ccedilla"/><GlyphID id="200" name="egrave"/><GlyphID id="201" name="eacute"/><GlyphID id="202" name="ecircumflex"/><GlyphID id="203" name="edieresis"/><GlyphID id="204" name="igrave"/><GlyphID id="205" name="iacute"/><GlyphID id="206" name="icircumflex"/><GlyphID id="207" name="idieresis"/><GlyphID id="208" name="eth"/><GlyphID id="209" name="ntilde"/><GlyphID id="210" name="ograve"/><GlyphID id="211" name="oacute"/><GlyphID id="212" name="ocircumflex"/><GlyphID id="213" name="otilde"/><GlyphID id="214" name="odieresis"/><GlyphID id="215" name="divide"/><GlyphID id="216" name="oslash"/><GlyphID id="217" name="ugrave"/><GlyphID id="218" name="uacute"/><GlyphID id="219" name="ucircumflex"/><GlyphID id="220" name="udieresis"/><GlyphID id="221" name="yacute"/><GlyphID id="222" name="thorn"/><GlyphID id="223" name="ydieresis"/><GlyphID id="224" name="dotlessi"/><GlyphID id="225" name="uni2000"/><GlyphID id="226" name="uni2001"/><GlyphID id="227" name="uni2002"/><GlyphID id="228" name="uni2003"/><GlyphID id="229" name="uni2004"/><GlyphID id="230" name="uni2005"/><GlyphID id="231" name="uni2006"/><GlyphID id="232" name="uni2007"/><GlyphID id="233" name="uni2008"/><GlyphID id="234" name="uni2009"/><GlyphID id="235" name="uni200A"/><GlyphID id="236" name="uni200B"/><GlyphID id="237" name="uni200C"/><GlyphID id="238" name="uni200D"/><GlyphID id="239" name="uni200E"/><GlyphID id="240" name="uni200F"/><GlyphID id="241" name="uni2010"/><GlyphID id="242" name="uni2011"/><GlyphID id="243" name="uni202A"/><GlyphID id="244" name="uni202B"/><GlyphID id="245" name="uni202C"/><GlyphID id="246" name="uni202D"/><GlyphID id="247" name="uni202E"/><GlyphID id="248" name="uni2060"/><GlyphID id="249" name="uni206C"/><GlyphID id="250" name="uni206D"/><GlyphID id="251" name="minus"/><GlyphID id="252" name="uni25CC"/><GlyphID id="253" name="uniFEFF"/><GlyphID id="254" name="uni0622"/><GlyphID id="255" name="uni0623"/><GlyphID id="256" name="uni0625"/><GlyphID id="257" name="uni0627"/><GlyphID id="258" name="uni0672"/><GlyphID id="259" name="uni0673"/><GlyphID id="260" name="uni0675"/><GlyphID id="261" name="uni0671"/><GlyphID id="262" name="uni0624"/><GlyphID id="263" name="uni0648"/><GlyphID id="264" name="uni0676"/><GlyphID id="265" name="uni0677"/><GlyphID id="266" name="uni06C4"/><GlyphID id="267" name="uni06C5"/><GlyphID id="268" name="uni06C6"/><GlyphID id="269" name="uni06C7"/><GlyphID id="270" name="uni06C8"/><GlyphID id="271" name="uni06C9"/><GlyphID id="272" name="uni06CA"/><GlyphID id="273" name="uni06CB"/><GlyphID id="274" name="uni06CF"/><GlyphID id="275" name="absWawDotBelow"/><GlyphID id="276" name="uni062F"/><GlyphID id="277" name="uni0630"/><GlyphID id="278" name="uni0688"/><GlyphID id="279" name="uni0689"/><GlyphID id="280" name="uni068A"/><GlyphID id="281" name="uni068B"/><GlyphID id="282" name="uni068C"/><GlyphID id="283" name="uni068D"/><GlyphID id="284" name="uni068E"/><GlyphID id="285" name="uni068F"/><GlyphID id="286" name="uni0690"/><GlyphID id="287" name="uni06EE"/><GlyphID id="288" name="uni0759"/><GlyphID id="289" name="uni075A"/><GlyphID id="290" name="uni0631"/><GlyphID id="291" name="uni0632"/><GlyphID id="292" name="uni0691"/><GlyphID id="293" name="uni0692"/><GlyphID id="294" name="uni0693"/><GlyphID id="295" name="uni0694"/><GlyphID id="296" name="uni0695"/><GlyphID id="297" name="uni0696"/><GlyphID id="298" name="uni0697"/><GlyphID id="299" name="uni0698"/><GlyphID id="300" name="uni0699"/><GlyphID id="301" name="uni076B"/><GlyphID id="302" name="uni076C"/><GlyphID id="303" name="absJehRetro1"/><GlyphID id="304" name="absJehRetro2"/><GlyphID id="305" name="uni0698.dotHat"/><GlyphID id="306" name="uni06EF"/><GlyphID id="307" name="uni075B"/><GlyphID id="308" name="uni06D2"/><GlyphID id="309" name="uni06D3"/><GlyphID id="310" name="uni0626"/><GlyphID id="311" name="uni064A"/><GlyphID id="312" name="uni064A.noDots"/><GlyphID id="313" name="uni0678"/><GlyphID id="314" name="uni06CC"/><GlyphID id="315" name="uni06CE"/><GlyphID id="316" name="uni06D0"/><GlyphID id="317" name="uni06D1"/><GlyphID id="318" name="uni06CD"/><GlyphID id="319" name="uni0649"/><GlyphID id="320" name="uni066E"/><GlyphID id="321" name="uni0628"/><GlyphID id="322" name="uni062A"/><GlyphID id="323" name="uni062B"/><GlyphID id="324" name="uni0679"/><GlyphID id="325" name="uni067A"/><GlyphID id="326" name="uni067B"/><GlyphID id="327" name="uni067C"/><GlyphID id="328" name="uni067D"/><GlyphID id="329" name="uni067E"/><GlyphID id="330" name="uni067F"/><GlyphID id="331" name="uni0680"/><GlyphID id="332" name="uni0750"/><GlyphID id="333" name="uni0751"/><GlyphID id="334" name="uni0752"/><GlyphID id="335" name="uni0753"/><GlyphID id="336" name="uni0754"/><GlyphID id="337" name="uni0755"/><GlyphID id="338" name="uni0756"/><GlyphID id="339" name="uni062C"/><GlyphID id="340" name="uni062D"/><GlyphID id="341" name="uni062E"/><GlyphID id="342" name="uni0681"/><GlyphID id="343" name="uni0682"/><GlyphID id="344" name="uni0683"/><GlyphID id="345" name="uni0684"/><GlyphID id="346" name="uni0685"/><GlyphID id="347" name="uni0686"/><GlyphID id="348" name="uni0687"/><GlyphID id="349" name="uni06BF"/><GlyphID id="350" name="absTchehRetro1"/><GlyphID id="351" name="absTchehRetro2"/><GlyphID id="352" name="absJeemRetro1"/><GlyphID id="353" name="absJeemRetro2"/><GlyphID id="354" name="absJeemRetro3"/><GlyphID id="355" name="uni0757"/><GlyphID id="356" name="uni0758"/><GlyphID id="357" name="uni0633"/><GlyphID id="358" name="uni0634"/><GlyphID id="359" name="uni069A"/><GlyphID id="360" name="uni069B"/><GlyphID id="361" name="uni069C"/><GlyphID id="362" name="uni06FA"/><GlyphID id="363" name="absSheenRetro1"/><GlyphID id="364" name="absSheenRetro2"/><GlyphID id="365" name="uni075C"/><GlyphID id="366" name="uni076D"/><GlyphID id="367" name="uni0635"/><GlyphID id="368" name="uni0636"/><GlyphID id="369" name="uni069D"/><GlyphID id="370" name="uni069E"/><GlyphID id="371" name="uni06FB"/><GlyphID id="372" name="uni0637"/><GlyphID id="373" name="uni0638"/><GlyphID id="374" name="uni069F"/><GlyphID id="375" name="uni0639"/><GlyphID id="376" name="uni063A"/><GlyphID id="377" name="uni06A0"/><GlyphID id="378" name="uni06FC"/><GlyphID id="379" name="uni075D"/><GlyphID id="380" name="uni075E"/><GlyphID id="381" name="uni075F"/><GlyphID id="382" name="uni0641"/><GlyphID id="383" name="uni06A1"/><GlyphID id="384" name="uni06A2"/><GlyphID id="385" name="uni06A3"/><GlyphID id="386" name="uni06A4"/><GlyphID id="387" name="uni06A5"/><GlyphID id="388" name="uni06A6"/><GlyphID id="389" name="uni0760"/><GlyphID id="390" name="uni0761"/><GlyphID id="391" name="uni066F"/><GlyphID id="392" name="uni0642"/><GlyphID id="393" name="uni06A7"/><GlyphID id="394" name="uni06A8"/><GlyphID id="395" name="uni0643"/><GlyphID id="396" name="uni06AC"/><GlyphID id="397" name="uni06AD"/><GlyphID id="398" name="uni06AE"/><GlyphID id="399" name="uni06A9"/><GlyphID id="400" name="uni06AB"/><GlyphID id="401" name="uni06AF"/><GlyphID id="402" name="uni06B0"/><GlyphID id="403" name="uni06B1"/><GlyphID id="404" name="uni06B2"/><GlyphID id="405" name="uni06B3"/><GlyphID id="406" name="uni06B4"/><GlyphID id="407" name="uni0762"/><GlyphID id="408" name="uni0763"/><GlyphID id="409" name="uni0764"/><GlyphID id="410" name="uni06AA"/><GlyphID id="411" name="uni0644"/><GlyphID id="412" name="uni06B5"/><GlyphID id="413" name="uni06B6"/><GlyphID id="414" name="uni06B7"/><GlyphID id="415" name="uni06B8"/><GlyphID id="416" name="absLamRetro"/><GlyphID id="417" name="uni076A"/><GlyphID id="418" name="uni0645"/><GlyphID id="419" name="uni0645.sindhi"/><GlyphID id="420" name="uni0765"/><GlyphID id="421" name="uni0766"/><GlyphID id="422" name="uni0646"/><GlyphID id="423" name="uni06B9"/><GlyphID id="424" name="uni06BA"/><GlyphID id="425" name="uni06BB"/><GlyphID id="426" name="uni06BC"/><GlyphID id="427" name="uni06BD"/><GlyphID id="428" name="uni0767"/><GlyphID id="429" name="uni0768"/><GlyphID id="430" name="uni0769"/><GlyphID id="431" name="uni06BE"/><GlyphID id="432" name="uni06FF"/><GlyphID id="433" name="uni0647"/><GlyphID id="434" name="uni0647.knotted"/><GlyphID id="435" name="uni06D5"/><GlyphID id="436" name="uni0629"/><GlyphID id="437" name="uni06C0"/><GlyphID id="438" name="uni06C1"/><GlyphID id="439" name="uni06C2"/><GlyphID id="440" name="uni06C3"/><GlyphID id="441" name="uni0621"/><GlyphID id="442" name="uni06FD"/><GlyphID id="443" name="uni06FE"/><GlyphID id="444" name="uni0640"/><GlyphID id="445" name="uni06440627"/><GlyphID id="446" name="uni06B50627"/><GlyphID id="447" name="uni06B60627"/><GlyphID id="448" name="uni06B70627"/><GlyphID id="449" name="uni06B80627"/><GlyphID id="450" name="absLamRetroAlef"/><GlyphID id="451" name="uni076A0627"/><GlyphID id="452" name="uni0622.fina"/><GlyphID id="453" name="uni0623.fina"/><GlyphID id="454" name="uni0625.fina"/><GlyphID id="455" name="uni0627.fina"/><GlyphID id="456" name="uni0672.fina"/><GlyphID id="457" name="uni0673.fina"/><GlyphID id="458" name="uni0675.fina"/><GlyphID id="459" name="uni0671.fina"/><GlyphID id="460" name="uni0624.fina"/><GlyphID id="461" name="uni0648.fina"/><GlyphID id="462" name="uni0676.fina"/><GlyphID id="463" name="uni0677.fina"/><GlyphID id="464" name="uni06C4.fina"/><GlyphID id="465" name="uni06C5.fina"/><GlyphID id="466" name="uni06C6.fina"/><GlyphID id="467" name="uni06C7.fina"/><GlyphID id="468" name="uni06C8.fina"/><GlyphID id="469" name="uni06C9.fina"/><GlyphID id="470" name="uni06CA.fina"/><GlyphID id="471" name="uni06CB.fina"/><GlyphID id="472" name="uni06CF.fina"/><GlyphID id="473" name="absWawDotBelowFin"/><GlyphID id="474" name="uni062F.fina"/><GlyphID id="475" name="uni0630.fina"/><GlyphID id="476" name="uni0688.fina"/><GlyphID id="477" name="uni0689.fina"/><GlyphID id="478" name="uni068A.fina"/><GlyphID id="479" name="uni068B.fina"/><GlyphID id="480" name="uni068C.fina"/><GlyphID id="481" name="uni068D.fina"/><GlyphID id="482" name="uni068E.fina"/><GlyphID id="483" name="uni068F.fina"/><GlyphID id="484" name="uni0690.fina"/><GlyphID id="485" name="uni06EE.fina"/><GlyphID id="486" name="uni0759.fina"/><GlyphID id="487" name="uni075A.fina"/><GlyphID id="488" name="uni0631.fina"/><GlyphID id="489" name="uni0632.fina"/><GlyphID id="490" name="uni0691.fina"/><GlyphID id="491" name="uni0692.fina"/><GlyphID id="492" name="uni0693.fina"/><GlyphID id="493" name="uni0694.fina"/><GlyphID id="494" name="uni0695.fina"/><GlyphID id="495" name="uni0696.fina"/><GlyphID id="496" name="uni0697.fina"/><GlyphID id="497" name="uni0698.fina"/><GlyphID id="498" name="uni0699.fina"/><GlyphID id="499" name="uni076B.fina"/><GlyphID id="500" name="uni076C.fina"/><GlyphID id="501" name="absJehRetro1Fin"/><GlyphID id="502" name="absJehRetro2Fin"/><GlyphID id="503" name="uni0698.fina.dotHat"/><GlyphID id="504" name="uni06EF.fina"/><GlyphID id="505" name="uni075B.fina"/><GlyphID id="506" name="uni06D2.fina"/><GlyphID id="507" name="uni06D3.fina"/><GlyphID id="508" name="uni0626.fina"/><GlyphID id="509" name="uni064A.fina"/><GlyphID id="510" name="uni064A.fina.noDots"/><GlyphID id="511" name="uni0678.fina"/><GlyphID id="512" name="uni06CC.fina"/><GlyphID id="513" name="uni06CE.fina"/><GlyphID id="514" name="uni06D0.fina"/><GlyphID id="515" name="uni06D1.fina"/><GlyphID id="516" name="uni06CD.fina"/><GlyphID id="517" name="uni0649.fina"/><GlyphID id="518" name="uni066E.fina"/><GlyphID id="519" name="uni0628.fina"/><GlyphID id="520" name="uni062A.fina"/><GlyphID id="521" name="uni062B.fina"/><GlyphID id="522" name="uni0679.fina"/><GlyphID id="523" name="uni067A.fina"/><GlyphID id="524" name="uni067B.fina"/><GlyphID id="525" name="uni067C.fina"/><GlyphID id="526" name="uni067D.fina"/><GlyphID id="527" name="uni067E.fina"/><GlyphID id="528" name="uni067F.fina"/><GlyphID id="529" name="uni0680.fina"/><GlyphID id="530" name="uni0750.fina"/><GlyphID id="531" name="uni0751.fina"/><GlyphID id="532" name="uni0752.fina"/><GlyphID id="533" name="uni0753.fina"/><GlyphID id="534" name="uni0754.fina"/><GlyphID id="535" name="uni0755.fina"/><GlyphID id="536" name="uni0756.fina"/><GlyphID id="537" name="uni062C.fina"/><GlyphID id="538" name="uni062D.fina"/><GlyphID id="539" name="uni062E.fina"/><GlyphID id="540" name="uni0681.fina"/><GlyphID id="541" name="uni0682.fina"/><GlyphID id="542" name="uni0683.fina"/><GlyphID id="543" name="uni0684.fina"/><GlyphID id="544" name="uni0685.fina"/><GlyphID id="545" name="uni0686.fina"/><GlyphID id="546" name="uni0687.fina"/><GlyphID id="547" name="uni06BF.fina"/><GlyphID id="548" name="absTchehRetro1Fin"/><GlyphID id="549" name="absTchehRetro2Fin"/><GlyphID id="550" name="absJeemRetro1Fin"/><GlyphID id="551" name="absJeemRetro2Fin"/><GlyphID id="552" name="absJeemRetro3Fin"/><GlyphID id="553" name="uni0757.fina"/><GlyphID id="554" name="uni0758.fina"/><GlyphID id="555" name="uni0633.fina"/><GlyphID id="556" name="uni0634.fina"/><GlyphID id="557" name="uni069A.fina"/><GlyphID id="558" name="uni069B.fina"/><GlyphID id="559" name="uni069C.fina"/><GlyphID id="560" name="uni06FA.fina"/><GlyphID id="561" name="absSheenRetro1Fin"/><GlyphID id="562" name="absSheenRetro2Fin"/><GlyphID id="563" name="uni075C.fina"/><GlyphID id="564" name="uni076D.fina"/><GlyphID id="565" name="uni0635.fina"/><GlyphID id="566" name="uni0636.fina"/><GlyphID id="567" name="uni069D.fina"/><GlyphID id="568" name="uni069E.fina"/><GlyphID id="569" name="uni06FB.fina"/><GlyphID id="570" name="uni0637.fina"/><GlyphID id="571" name="uni0638.fina"/><GlyphID id="572" name="uni069F.fina"/><GlyphID id="573" name="uni0639.fina"/><GlyphID id="574" name="uni063A.fina"/><GlyphID id="575" name="uni06A0.fina"/><GlyphID id="576" name="uni06FC.fina"/><GlyphID id="577" name="uni075D.fina"/><GlyphID id="578" name="uni075E.fina"/><GlyphID id="579" name="uni075F.fina"/><GlyphID id="580" name="uni0641.fina"/><GlyphID id="581" name="uni06A1.fina"/><GlyphID id="582" name="uni06A2.fina"/><GlyphID id="583" name="uni06A3.fina"/><GlyphID id="584" name="uni06A4.fina"/><GlyphID id="585" name="uni06A5.fina"/><GlyphID id="586" name="uni06A6.fina"/><GlyphID id="587" name="uni0760.fina"/><GlyphID id="588" name="uni0761.fina"/><GlyphID id="589" name="uni066F.fina"/><GlyphID id="590" name="uni0642.fina"/><GlyphID id="591" name="uni06A7.fina"/><GlyphID id="592" name="uni06A8.fina"/><GlyphID id="593" name="uni0643.fina"/><GlyphID id="594" name="uni06AC.fina"/><GlyphID id="595" name="uni06AD.fina"/><GlyphID id="596" name="uni06AE.fina"/><GlyphID id="597" name="uni06A9.fina"/><GlyphID id="598" name="uni06AB.fina"/><GlyphID id="599" name="uni06AF.fina"/><GlyphID id="600" name="uni06B0.fina"/><GlyphID id="601" name="uni06B1.fina"/><GlyphID id="602" name="uni06B2.fina"/><GlyphID id="603" name="uni06B3.fina"/><GlyphID id="604" name="uni06B4.fina"/><GlyphID id="605" name="uni0762.fina"/><GlyphID id="606" name="uni0763.fina"/><GlyphID id="607" name="uni0764.fina"/><GlyphID id="608" name="uni06AA.fina"/><GlyphID id="609" name="uni0644.fina"/><GlyphID id="610" name="uni06B5.fina"/><GlyphID id="611" name="uni06B6.fina"/><GlyphID id="612" name="uni06B7.fina"/><GlyphID id="613" name="uni06B8.fina"/><GlyphID id="614" name="absLamRetroFin"/><GlyphID id="615" name="uni076A.fina"/><GlyphID id="616" name="uni0645.fina"/><GlyphID id="617" name="uni0645.fina.sindhi"/><GlyphID id="618" name="uni0765.fina"/><GlyphID id="619" name="uni0766.fina"/><GlyphID id="620" name="uni0646.fina"/><GlyphID id="621" name="uni06B9.fina"/><GlyphID id="622" name="uni06BA.fina"/><GlyphID id="623" name="uni06BB.fina"/><GlyphID id="624" name="uni06BC.fina"/><GlyphID id="625" name="uni06BD.fina"/><GlyphID id="626" name="uni0767.fina"/><GlyphID id="627" name="uni0768.fina"/><GlyphID id="628" name="uni0769.fina"/><GlyphID id="629" name="uni06BE.fina"/><GlyphID id="630" name="uni06FF.fina"/><GlyphID id="631" name="uni0647.fina"/><GlyphID id="632" name="uni0647.fina.knottedFlat"/><GlyphID id="633" name="uni0647.fina.knottedHigh"/><GlyphID id="634" name="uni0647.fina.hooked"/><GlyphID id="635" name="uni06D5.fina"/><GlyphID id="636" name="uni0629.fina"/><GlyphID id="637" name="uni06C0.fina"/><GlyphID id="638" name="uni06C1.fina"/><GlyphID id="639" name="uni06C2.fina"/><GlyphID id="640" name="uni06C3.fina"/><GlyphID id="641" name="uni06440627.fina"/><GlyphID id="642" name="uni06B50627.fina"/><GlyphID id="643" name="uni06B60627.fina"/><GlyphID id="644" name="uni06B70627.fina"/><GlyphID id="645" name="uni06B80627.fina"/><GlyphID id="646" name="absLamRetroAlefFin"/><GlyphID id="647" name="uni076A0627.fina"/><GlyphID id="648" name="uni0626.medi"/><GlyphID id="649" name="uni064A.medi"/><GlyphID id="650" name="uni064A.medi.noDots"/><GlyphID id="651" name="uni0678.medi"/><GlyphID id="652" name="uni06CC.medi"/><GlyphID id="653" name="uni06CE.medi"/><GlyphID id="654" name="uni06D0.medi"/><GlyphID id="655" name="uni06D1.medi"/><GlyphID id="656" name="uni0649.medi"/><GlyphID id="657" name="uni066E.medi"/><GlyphID id="658" name="uni0628.medi"/><GlyphID id="659" name="uni062A.medi"/><GlyphID id="660" name="uni062B.medi"/><GlyphID id="661" name="uni0679.medi"/><GlyphID id="662" name="uni067A.medi"/><GlyphID id="663" name="uni067B.medi"/><GlyphID id="664" name="uni067C.medi"/><GlyphID id="665" name="uni067D.medi"/><GlyphID id="666" name="uni067E.medi"/><GlyphID id="667" name="uni067F.medi"/><GlyphID id="668" name="uni0680.medi"/><GlyphID id="669" name="uni0750.medi"/><GlyphID id="670" name="uni0751.medi"/><GlyphID id="671" name="uni0752.medi"/><GlyphID id="672" name="uni0753.medi"/><GlyphID id="673" name="uni0754.medi"/><GlyphID id="674" name="uni0755.medi"/><GlyphID id="675" name="uni0756.medi"/><GlyphID id="676" name="uni062C.medi"/><GlyphID id="677" name="uni062D.medi"/><GlyphID id="678" name="uni062E.medi"/><GlyphID id="679" name="uni0681.medi"/><GlyphID id="680" name="uni0682.medi"/><GlyphID id="681" name="uni0683.medi"/><GlyphID id="682" name="uni0684.medi"/><GlyphID id="683" name="uni0685.medi"/><GlyphID id="684" name="uni0686.medi"/><GlyphID id="685" name="uni0687.medi"/><GlyphID id="686" name="uni06BF.medi"/><GlyphID id="687" name="absTchehRetro1Med"/><GlyphID id="688" name="absTchehRetro2Med"/><GlyphID id="689" name="absJeemRetro1Med"/><GlyphID id="690" name="absJeemRetro2Med"/><GlyphID id="691" name="absJeemRetro3Med"/><GlyphID id="692" name="uni0757.medi"/><GlyphID id="693" name="uni0758.medi"/><GlyphID id="694" name="uni0633.medi"/><GlyphID id="695" name="uni0634.medi"/><GlyphID id="696" name="uni069A.medi"/><GlyphID id="697" name="uni069B.medi"/><GlyphID id="698" name="uni069C.medi"/><GlyphID id="699" name="uni06FA.medi"/><GlyphID id="700" name="absSheenRetro1Med"/><GlyphID id="701" name="absSheenRetro2Med"/><GlyphID id="702" name="uni075C.medi"/><GlyphID id="703" name="uni076D.medi"/><GlyphID id="704" name="uni0635.medi"/><GlyphID id="705" name="uni0636.medi"/><GlyphID id="706" name="uni069D.medi"/><GlyphID id="707" name="uni069E.medi"/><GlyphID id="708" name="uni06FB.medi"/><GlyphID id="709" name="uni0637.medi"/><GlyphID id="710" name="uni0638.medi"/><GlyphID id="711" name="uni069F.medi"/><GlyphID id="712" name="uni0639.medi"/><GlyphID id="713" name="uni063A.medi"/><GlyphID id="714" name="uni06A0.medi"/><GlyphID id="715" name="uni06FC.medi"/><GlyphID id="716" name="uni075D.medi"/><GlyphID id="717" name="uni075E.medi"/><GlyphID id="718" name="uni075F.medi"/><GlyphID id="719" name="uni0641.medi"/><GlyphID id="720" name="uni06A1.medi"/><GlyphID id="721" name="uni06A2.medi"/><GlyphID id="722" name="uni06A3.medi"/><GlyphID id="723" name="uni06A4.medi"/><GlyphID id="724" name="uni06A5.medi"/><GlyphID id="725" name="uni06A6.medi"/><GlyphID id="726" name="uni0760.medi"/><GlyphID id="727" name="uni0761.medi"/><GlyphID id="728" name="uni066F.medi"/><GlyphID id="729" name="uni0642.medi"/><GlyphID id="730" name="uni06A7.medi"/><GlyphID id="731" name="uni06A8.medi"/><GlyphID id="732" name="uni0643.medi"/><GlyphID id="733" name="uni06AC.medi"/><GlyphID id="734" name="uni06AD.medi"/><GlyphID id="735" name="uni06AE.medi"/><GlyphID id="736" name="uni06A9.medi"/><GlyphID id="737" name="uni06AB.medi"/><GlyphID id="738" name="uni06AF.medi"/><GlyphID id="739" name="uni06B0.medi"/><GlyphID id="740" name="uni06B1.medi"/><GlyphID id="741" name="uni06B2.medi"/><GlyphID id="742" name="uni06B3.medi"/><GlyphID id="743" name="uni06B4.medi"/><GlyphID id="744" name="uni0762.medi"/><GlyphID id="745" name="uni0763.medi"/><GlyphID id="746" name="uni0764.medi"/><GlyphID id="747" name="uni06AA.medi"/><GlyphID id="748" name="uni0644.medi"/><GlyphID id="749" name="uni06B5.medi"/><GlyphID id="750" name="uni06B6.medi"/><GlyphID id="751" name="uni06B7.medi"/><GlyphID id="752" name="uni06B8.medi"/><GlyphID id="753" name="absLamRetroMed"/><GlyphID id="754" name="uni076A.medi"/><GlyphID id="755" name="uni0645.medi"/><GlyphID id="756" name="uni0765.medi"/><GlyphID id="757" name="uni0766.medi"/><GlyphID id="758" name="uni0646.medi"/><GlyphID id="759" name="uni06B9.medi"/><GlyphID id="760" name="uni06BA.medi"/><GlyphID id="761" name="uni06BB.medi"/><GlyphID id="762" name="uni06BC.medi"/><GlyphID id="763" name="uni06BD.medi"/><GlyphID id="764" name="uni0767.medi"/><GlyphID id="765" name="uni0768.medi"/><GlyphID id="766" name="uni0769.medi"/><GlyphID id="767" name="uni06BE.medi"/><GlyphID id="768" name="uni06FF.medi"/><GlyphID id="769" name="uni0647.medi"/><GlyphID id="770" name="uni0647.medi.hooked"/><GlyphID id="771" name="uni0647.medi.knottedHigh"/><GlyphID id="772" name="uni06C0.medi"/><GlyphID id="773" name="uni06C1.medi"/><GlyphID id="774" name="uni06C2.medi"/><GlyphID id="775" name="uni0626.init"/><GlyphID id="776" name="uni064A.init"/><GlyphID id="777" name="uni064A.init.noDots"/><GlyphID id="778" name="uni0678.init"/><GlyphID id="779" name="uni06CC.init"/><GlyphID id="780" name="uni06CE.init"/><GlyphID id="781" name="uni06D0.init"/><GlyphID id="782" name="uni06D1.init"/><GlyphID id="783" name="uni0649.init"/><GlyphID id="784" name="uni066E.init"/><GlyphID id="785" name="uni0628.init"/><GlyphID id="786" name="uni062A.init"/><GlyphID id="787" name="uni062B.init"/><GlyphID id="788" name="uni0679.init"/><GlyphID id="789" name="uni067A.init"/><GlyphID id="790" name="uni067B.init"/><GlyphID id="791" name="uni067C.init"/><GlyphID id="792" name="uni067D.init"/><GlyphID id="793" name="uni067E.init"/><GlyphID id="794" name="uni067F.init"/><GlyphID id="795" name="uni0680.init"/><GlyphID id="796" name="uni0750.init"/><GlyphID id="797" name="uni0751.init"/><GlyphID id="798" name="uni0752.init"/><GlyphID id="799" name="uni0753.init"/><GlyphID id="800" name="uni0754.init"/><GlyphID id="801" name="uni0755.init"/><GlyphID id="802" name="uni0756.init"/><GlyphID id="803" name="uni062C.init"/><GlyphID id="804" name="uni062D.init"/><GlyphID id="805" name="uni062E.init"/><GlyphID id="806" name="uni0681.init"/><GlyphID id="807" name="uni0682.init"/><GlyphID id="808" name="uni0683.init"/><GlyphID id="809" name="uni0684.init"/><GlyphID id="810" name="uni0685.init"/><GlyphID id="811" name="uni0686.init"/><GlyphID id="812" name="uni0687.init"/><GlyphID id="813" name="uni06BF.init"/><GlyphID id="814" name="absTchehRetro1Ini"/><GlyphID id="815" name="absTchehRetro2Ini"/><GlyphID id="816" name="absJeemRetro1Ini"/><GlyphID id="817" name="absJeemRetro2Ini"/><GlyphID id="818" name="absJeemRetro3Ini"/><GlyphID id="819" name="uni0757.init"/><GlyphID id="820" name="uni0758.init"/><GlyphID id="821" name="uni0633.init"/><GlyphID id="822" name="uni0634.init"/><GlyphID id="823" name="uni069A.init"/><GlyphID id="824" name="uni069B.init"/><GlyphID id="825" name="uni069C.init"/><GlyphID id="826" name="uni06FA.init"/><GlyphID id="827" name="absSheenRetro1Ini"/><GlyphID id="828" name="absSheenRetro2Ini"/><GlyphID id="829" name="uni075C.init"/><GlyphID id="830" name="uni076D.init"/><GlyphID id="831" name="uni0635.init"/><GlyphID id="832" name="uni0636.init"/><GlyphID id="833" name="uni069D.init"/><GlyphID id="834" name="uni069E.init"/><GlyphID id="835" name="uni06FB.init"/><GlyphID id="836" name="uni0637.init"/><GlyphID id="837" name="uni0638.init"/><GlyphID id="838" name="uni069F.init"/><GlyphID id="839" name="uni0639.init"/><GlyphID id="840" name="uni063A.init"/><GlyphID id="841" name="uni06A0.init"/><GlyphID id="842" name="uni06FC.init"/><GlyphID id="843" name="uni075D.init"/><GlyphID id="844" name="uni075E.init"/><GlyphID id="845" name="uni075F.init"/><GlyphID id="846" name="uni0641.init"/><GlyphID id="847" name="uni06A1.init"/><GlyphID id="848" name="uni06A2.init"/><GlyphID id="849" name="uni06A3.init"/><GlyphID id="850" name="uni06A4.init"/><GlyphID id="851" name="uni06A5.init"/><GlyphID id="852" name="uni06A6.init"/><GlyphID id="853" name="uni0760.init"/><GlyphID id="854" name="uni0761.init"/><GlyphID id="855" name="uni066F.init"/><GlyphID id="856" name="uni0642.init"/><GlyphID id="857" name="uni06A7.init"/><GlyphID id="858" name="uni06A8.init"/><GlyphID id="859" name="uni0643.init"/><GlyphID id="860" name="uni06AC.init"/><GlyphID id="861" name="uni06AD.init"/><GlyphID id="862" name="uni06AE.init"/><GlyphID id="863" name="uni06A9.init"/><GlyphID id="864" name="uni06AB.init"/><GlyphID id="865" name="uni06AF.init"/><GlyphID id="866" name="uni06B0.init"/><GlyphID id="867" name="uni06B1.init"/><GlyphID id="868" name="uni06B2.init"/><GlyphID id="869" name="uni06B3.init"/><GlyphID id="870" name="uni06B4.init"/><GlyphID id="871" name="uni0762.init"/><GlyphID id="872" name="uni0763.init"/><GlyphID id="873" name="uni0764.init"/><GlyphID id="874" name="uni06AA.init"/><GlyphID id="875" name="uni0644.init"/><GlyphID id="876" name="uni06B5.init"/><GlyphID id="877" name="uni06B6.init"/><GlyphID id="878" name="uni06B7.init"/><GlyphID id="879" name="uni06B8.init"/><GlyphID id="880" name="absLamRetroIni"/><GlyphID id="881" name="uni076A.init"/><GlyphID id="882" name="uni0645.init"/><GlyphID id="883" name="uni0765.init"/><GlyphID id="884" name="uni0766.init"/><GlyphID id="885" name="uni0646.init"/><GlyphID id="886" name="uni06B9.init"/><GlyphID id="887" name="uni06BA.init"/><GlyphID id="888" name="uni06BB.init"/><GlyphID id="889" name="uni06BC.init"/><GlyphID id="890" name="uni06BD.init"/><GlyphID id="891" name="uni0767.init"/><GlyphID id="892" name="uni0768.init"/><GlyphID id="893" name="uni0769.init"/><GlyphID id="894" name="uni06BE.init"/><GlyphID id="895" name="uni06FF.init"/><GlyphID id="896" name="uni0647.init"/><GlyphID id="897" name="uni0647.init.hooked"/><GlyphID id="898" name="uni06C0.init"/><GlyphID id="899" name="uni06C1.init"/><GlyphID id="900" name="uni06C2.init"/><GlyphID id="901" name="uni0674"/><GlyphID id="902" name="uni06E5"/><GlyphID id="903" name="uni06E6"/><GlyphID id="904" name="uni064B"/><GlyphID id="905" name="uni064C"/><GlyphID id="906" name="uni064D"/><GlyphID id="907" name="uni064E"/><GlyphID id="908" name="uni064F"/><GlyphID id="909" name="uni0650"/><GlyphID id="910" name="uni0651"/><GlyphID id="911" name="uni0652"/><GlyphID id="912" name="uni0653"/><GlyphID id="913" name="uni0654"/><GlyphID id="914" name="uni0655"/><GlyphID id="915" name="uni0656"/><GlyphID id="916" name="uni0657"/><GlyphID id="917" name="uni0658"/><GlyphID id="918" name="uni0659"/><GlyphID id="919" name="uni065A"/><GlyphID id="920" name="uni065B"/><GlyphID id="921" name="uni065C"/><GlyphID id="922" name="uni065D"/><GlyphID id="923" name="uni065E"/><GlyphID id="924" name="uni0670"/><GlyphID id="925" name="uni0670.large"/><GlyphID id="926" name="uni06D6"/><GlyphID id="927" name="uni06D7"/><GlyphID id="928" name="uni06D8"/><GlyphID id="929" name="uni06D9"/><GlyphID id="930" name="uni06DA"/><GlyphID id="931" name="uni06DB"/><GlyphID id="932" name="uni06DC"/><GlyphID id="933" name="uni06DF"/><GlyphID id="934" name="uni06E0"/><GlyphID id="935" name="uni06E1"/><GlyphID id="936" name="uni06E2"/><GlyphID id="937" name="uni06E3"/><GlyphID id="938" name="uni06E4"/><GlyphID id="939" name="uni06E7"/><GlyphID id="940" name="uni06E8"/><GlyphID id="941" name="uni06EA"/><GlyphID id="942" name="uni06EB"/><GlyphID id="943" name="uni06EC"/><GlyphID id="944" name="uni06ED"/><GlyphID id="945" name="uni0600"/><GlyphID id="946" name="uni0601"/><GlyphID id="947" name="uni0602"/><GlyphID id="948" name="uni0603"/><GlyphID id="949" name="uni060B"/><GlyphID id="950" name="uni060C"/><GlyphID id="951" name="uni060C.downward"/><GlyphID id="952" name="uni060D"/><GlyphID id="953" name="uni060E"/><GlyphID id="954" name="uni060F"/><GlyphID id="955" name="uni0610"/><GlyphID id="956" name="uni0611"/><GlyphID id="957" name="uni0612"/><GlyphID id="958" name="uni0613"/><GlyphID id="959" name="uni0614"/><GlyphID id="960" name="uni0615"/><GlyphID id="961" name="uni061B"/><GlyphID id="962" name="uni061B.downward"/><GlyphID id="963" name="uni061E"/><GlyphID id="964" name="uni061F"/><GlyphID id="965" name="uni066A"/><GlyphID id="966" name="uni066B"/><GlyphID id="967" name="uni066C"/><GlyphID id="968" name="uni066D"/><GlyphID id="969" name="uni06D4"/><GlyphID id="970" name="uni06DD"/><GlyphID id="971" name="uni06DD.alt"/><GlyphID id="972" name="uni06DD.altB"/><GlyphID id="973" name="uni06DE"/><GlyphID id="974" name="uni06E9"/><GlyphID id="975" name="uniFD3E"/><GlyphID id="976" name="uniFD3F"/><GlyphID id="977" name="uniFDF2"/><GlyphID id="978" name="uniFDFC"/><GlyphID id="979" name="uni0660"/><GlyphID id="980" name="uni0661"/><GlyphID id="981" name="uni0662"/><GlyphID id="982" name="uni0663"/><GlyphID id="983" name="uni0664"/><GlyphID id="984" name="uni0665"/><GlyphID id="985" name="uni0666"/><GlyphID id="986" name="uni0667"/><GlyphID id="987" name="uni0668"/><GlyphID id="988" name="uni0669"/><GlyphID id="989" name="uni06F0"/><GlyphID id="990" name="uni06F1"/><GlyphID id="991" name="uni06F2"/><GlyphID id="992" name="uni06F3"/><GlyphID id="993" name="uni06F4"/><GlyphID id="994" name="uni06F4.urdu"/><GlyphID id="995" name="uni06F5"/><GlyphID id="996" name="uni06F6"/><GlyphID id="997" name="uni06F6.urdu"/><GlyphID id="998" name="uni06F7"/><GlyphID id="999" name="uni06F7.urdu"/><GlyphID id="1000" name="uni06F8"/><GlyphID id="1001" name="uni06F9"/><GlyphID id="1002" name="zeroMedium"/><GlyphID id="1003" name="oneMedium"/><GlyphID id="1004" name="twoMedium"/><GlyphID id="1005" name="threeMedium"/><GlyphID id="1006" name="fourMedium"/><GlyphID id="1007" name="fiveMedium"/><GlyphID id="1008" name="sixMedium"/><GlyphID id="1009" name="sevenMedium"/><GlyphID id="1010" name="eightMedium"/><GlyphID id="1011" name="nineMedium"/><GlyphID id="1012" name="uni0660.Medium"/><GlyphID id="1013" name="uni0661.Medium"/><GlyphID id="1014" name="uni0662.Medium"/><GlyphID id="1015" name="uni0663.Medium"/><GlyphID id="1016" name="uni0664.Medium"/><GlyphID id="1017" name="uni0665.Medium"/><GlyphID id="1018" name="uni0666.Medium"/><GlyphID id="1019" name="uni0667.Medium"/><GlyphID id="1020" name="uni0668.Medium"/><GlyphID id="1021" name="uni0669.Medium"/><GlyphID id="1022" name="uni06F0.Medium"/><GlyphID id="1023" name="uni06F1.Medium"/><GlyphID id="1024" name="uni06F2.Medium"/><GlyphID id="1025" name="uni06F3.Medium"/><GlyphID id="1026" name="uni06F4.Medium"/><GlyphID id="1027" name="uni06F4.Medium.urdu"/><GlyphID id="1028" name="uni06F5.Medium"/><GlyphID id="1029" name="uni06F6.Medium"/><GlyphID id="1030" name="uni06F6.Medium.urdu"/><GlyphID id="1031" name="uni06F7.Medium"/><GlyphID id="1032" name="uni06F7.Medium.urdu"/><GlyphID id="1033" name="uni06F8.Medium"/><GlyphID id="1034" name="uni06F9.Medium"/><GlyphID id="1035" name="zeroSmall"/><GlyphID id="1036" name="oneSmall"/><GlyphID id="1037" name="twoSmall"/><GlyphID id="1038" name="threeSmall"/><GlyphID id="1039" name="fourSmall"/><GlyphID id="1040" name="fiveSmall"/><GlyphID id="1041" name="sixSmall"/><GlyphID id="1042" name="sevenSmall"/><GlyphID id="1043" name="eightSmall"/><GlyphID id="1044" name="nineSmall"/><GlyphID id="1045" name="uni0660.Small"/><GlyphID id="1046" name="uni0661.Small"/><GlyphID id="1047" name="uni0662.Small"/><GlyphID id="1048" name="uni0663.Small"/><GlyphID id="1049" name="uni0664.Small"/><GlyphID id="1050" name="uni0665.Small"/><GlyphID id="1051" name="uni0666.Small"/><GlyphID id="1052" name="uni0667.Small"/><GlyphID id="1053" name="uni0668.Small"/><GlyphID id="1054" name="uni0669.Small"/><GlyphID id="1055" name="uni06F0.Small"/><GlyphID id="1056" name="uni06F1.Small"/><GlyphID id="1057" name="uni06F2.Small"/><GlyphID id="1058" name="uni06F3.Small"/><GlyphID id="1059" name="uni06F4.Small"/><GlyphID id="1060" name="uni06F4.Small.urdu"/><GlyphID id="1061" name="uni06F5.Small"/><GlyphID id="1062" name="uni06F6.Small"/><GlyphID id="1063" name="uni06F6.Small.urdu"/><GlyphID id="1064" name="uni06F7.Small"/><GlyphID id="1065" name="uni06F7.Small.urdu"/><GlyphID id="1066" name="uni06F8.Small"/><GlyphID id="1067" name="uni06F9.Small"/><GlyphID id="1068" name="uni06DD.aat1"/><GlyphID id="1069" name="uni06DD.aat2"/><GlyphID id="1070" name="uni06DD.aat3"/><GlyphID id="1071" name="uni06DD.alt.aat1"/><GlyphID id="1072" name="uni06DD.alt.aat2"/><GlyphID id="1073" name="uni06DD.alt.aat3"/><GlyphID id="1074" name="uni06DD.altB.aat1"/><GlyphID id="1075" name="uni06DD.altB.aat2"/><GlyphID id="1076" name="uni06DD.altB.aat3"/><GlyphID id="1077" name="uni06DD.sp1"/><GlyphID id="1078" name="uni06DD.sp2"/><GlyphID id="1079" name="uni06DD.sp3"/><GlyphID id="1080" name="uni0600.aat1"/><GlyphID id="1081" name="uni0600.aat2"/><GlyphID id="1082" name="uni0600.aat3"/><GlyphID id="1083" name="uni0600.sp1"/><GlyphID id="1084" name="uni0600.sp2"/><GlyphID id="1085" name="uni0600.sp3"/><GlyphID id="1086" name="uni0601.aat1"/><GlyphID id="1087" name="uni0601.aat2"/><GlyphID id="1088" name="uni0601.aat3"/><GlyphID id="1089" name="uni0601.aat4"/><GlyphID id="1090" name="uni0601.sp1"/><GlyphID id="1091" name="uni0601.sp2"/><GlyphID id="1092" name="uni0601.sp3"/><GlyphID id="1093" name="uni0601.sp4"/><GlyphID id="1094" name="uni0602.aat1"/><GlyphID id="1095" name="uni0602.aat2"/><GlyphID id="1096" name="uni0602.sp1"/><GlyphID id="1097" name="uni0602.sp2"/><GlyphID id="1098" name="uni0603.aat1"/><GlyphID id="1099" name="uni0603.aat2"/><GlyphID id="1100" name="uni0603.aat3"/><GlyphID id="1101" name="uni0603.sp1"/><GlyphID id="1102" name="uni0603.sp2"/><GlyphID id="1103" name="uni0603.sp3"/><GlyphID id="1104" name="uni0651064B"/><GlyphID id="1105" name="uni0651064C"/><GlyphID id="1106" name="uni0651064D"/><GlyphID id="1107" name="uni0651064E"/><GlyphID id="1108" name="uni0651064F"/><GlyphID id="1109" name="uni06510650"/><GlyphID id="1110" name="uni0654064E"/><GlyphID id="1111" name="uni0654064F"/><GlyphID id="1112" name="absShaddaAlef"/><GlyphID id="1113" name="uni0652.leftOpen"/><GlyphID id="1114" name="uni0652.downOpen"/><GlyphID id="1115" name="uni064C.sixNine"/><GlyphID id="1116" name="absAutoKashida"/><GlyphID id="1117" name="ring"/><GlyphID id="1118" name="caron"/><GlyphID id="1119" name="_dot1"/><GlyphID id="1120" name="_dot1_tah"/><GlyphID id="1121" name="_dot1_smallV"/><GlyphID id="1122" name="_dot1_hat"/><GlyphID id="1123" name="_dot2h"/><GlyphID id="1124" name="_dot2h_tah"/><GlyphID id="1125" name="_dot2v"/><GlyphID id="1126" name="_dot3u"/><GlyphID id="1127" name="_dot3u_tah"/><GlyphID id="1128" name="_dot3d"/><GlyphID id="1129" name="_dot3h"/><GlyphID id="1130" name="_dot4"/><GlyphID id="1131" name="_tah"/><GlyphID id="1132" name="_madda"/><GlyphID id="1133" name="_hamza"/><GlyphID id="1134" name="_highHamza"/><GlyphID id="1135" name="_wavyHamza"/><GlyphID id="1136" name="_wavyHamza.b"/><GlyphID id="1137" name="_wasla"/><GlyphID id="1138" name="_hamzaDamma"/><GlyphID id="1139" name="_bar"/><GlyphID id="1140" name="_ring"/><GlyphID id="1141" name="_smallV"/><GlyphID id="1142" name="_invSmallV"/><GlyphID id="1143" name="_damma"/><GlyphID id="1144" name="_vline"/><GlyphID id="1145" name="_hat"/><GlyphID id="1146" name="_gafBar"/><GlyphID id="1147" name="_gafBar_dot2h"/><GlyphID id="1148" name="_gafBar_dot3u"/><GlyphID id="1149" name="_gafBarShort"/><GlyphID id="1150" name="_gafBarShort_dot2h"/><GlyphID id="1151" name="_gafBarShort_dot3u"/><GlyphID id="1152" name="_lines"/><GlyphID id="1153" name="uni06DD.2"/><GlyphID id="1154" name="uni06DD.3"/><GlyphID id="1155" name="uni06DD.alt.2"/><GlyphID id="1156" name="uni06DD.alt.3"/><GlyphID id="1157" name="uni06DD.altB.2"/><GlyphID id="1158" name="uni06DD.altB.3"/><GlyphID id="1159" name="uni0600.2"/><GlyphID id="1160" name="uni0600.3"/><GlyphID id="1161" name="uni0601.2"/><GlyphID id="1162" name="uni0601.3"/><GlyphID id="1163" name="uni0601.4"/><GlyphID id="1164" name="uni0602.2"/><GlyphID id="1165" name="uni0603.2"/><GlyphID id="1166" name="uni0603.3"/><GlyphID id="1167" name="uni0644.init.preAlef"/><GlyphID id="1168" name="uni06B5.init.preAlef"/><GlyphID id="1169" name="uni06B6.init.preAlef"/><GlyphID id="1170" name="uni06B7.init.preAlef"/><GlyphID id="1171" name="uni06B8.init.preAlef"/><GlyphID id="1172" name="absLamRetroIni.preAlef"/><GlyphID id="1173" name="uni076A.init.preAlef"/><GlyphID id="1174" name="uni0622.fina.postLamIni"/><GlyphID id="1175" name="uni0623.fina.postLamIni"/><GlyphID id="1176" name="uni0625.fina.postLamIni"/><GlyphID id="1177" name="uni0627.fina.postLamIni"/><GlyphID id="1178" name="uni0672.fina.postLamIni"/><GlyphID id="1179" name="uni0673.fina.postLamIni"/><GlyphID id="1180" name="uni0675.fina.postLamIni"/><GlyphID id="1181" name="uni0671.fina.postLamIni"/><GlyphID id="1182" name="uni0644.medi.preAlef"/><GlyphID id="1183" name="uni06B5.medi.preAlef"/><GlyphID id="1184" name="uni06B6.medi.preAlef"/><GlyphID id="1185" name="uni06B7.medi.preAlef"/><GlyphID id="1186" name="uni06B8.medi.preAlef"/><GlyphID id="1187" name="absLamRetroMed.preAlef"/><GlyphID id="1188" name="uni076A.medi.preAlef"/><GlyphID id="1189" name="uni0622.fina.postLamMed"/><GlyphID id="1190" name="uni0623.fina.postLamMed"/><GlyphID id="1191" name="uni0625.fina.postLamMed"/><GlyphID id="1192" name="uni0627.fina.postLamMed"/><GlyphID id="1193" name="uni0672.fina.postLamMed"/><GlyphID id="1194" name="uni0673.fina.postLamMed"/><GlyphID id="1195" name="uni0675.fina.postLamMed"/><GlyphID id="1196" name="uni0671.fina.postLamMed"/></GlyphOrder><cmap><tableVersion version="0"/><cmap_format_4 platformID="3" platEncID="1" language="0"><map code="0x9" name="uni0009"/><map code="0x20" name="space"/><map code="0x21" name="exclam"/><map code="0x22" name="quotedbl"/><map code="0x23" name="numbersign"/><map code="0x24" name="dollar"/><map code="0x25" name="percent"/><map code="0x26" name="ampersand"/><map code="0x27" name="quotesingle"/><map code="0x28" name="parenleft"/><map code="0x29" name="parenright"/><map code="0x2a" name="asterisk"/><map code="0x2b" name="plus"/><map code="0x2c" name="comma"/><map code="0x2d" name="hyphen"/><map code="0x2e" name="period"/><map code="0x2f" name="slash"/><map code="0x30" name="zero"/><map code="0x31" name="one"/><map code="0x32" name="two"/><map code="0x33" name="three"/><map code="0x34" name="four"/><map code="0x35" name="five"/><map code="0x36" name="six"/><map code="0x37" name="seven"/><map code="0x38" name="eight"/><map code="0x39" name="nine"/><map code="0x3a" name="colon"/><map code="0x3b" name="semicolon"/><map code="0x3c" name="less"/><map code="0x3d" name="equal"/><map code="0x3e" name="greater"/><map code="0x3f" name="question"/><map code="0x40" name="at"/><map code="0x41" name="A"/><map code="0x42" name="B"/><map code="0x43" name="C"/><map code="0x44" name="D"/><map code="0x45" name="E"/><map code="0x46" name="F"/><map code="0x47" name="G"/><map code="0x48" name="H"/><map code="0x49" name="I"/><map code="0x4a" name="J"/><map code="0x4b" name="K"/><map code="0x4c" name="L"/><map code="0x4d" name="M"/><map code="0x4e" name="N"/><map code="0x4f" name="O"/><map code="0x50" name="P"/><map code="0x51" name="Q"/><map code="0x52" name="R"/><map code="0x53" name="S"/><map code="0x54" name="T"/><map code="0x55" name="U"/><map code="0x56" name="V"/><map code="0x57" name="W"/><map code="0x58" name="X"/><map code="0x59" name="Y"/><map code="0x5a" name="Z"/><map code="0x5b" name="bracketleft"/><map code="0x5c" name="backslash"/><map code="0x5d" name="bracketright"/><map code="0x5e" name="asciicircum"/><map code="0x5f" name="underscore"/><map code="0x60" name="grave"/><map code="0x61" name="a"/><map code="0x62" name="b"/><map code="0x63" name="c"/><map code="0x64" name="d"/><map code="0x65" name="e"/><map code="0x66" name="f"/><map code="0x67" name="g"/><map code="0x68" name="h"/><map code="0x69" name="i"/><map code="0x6a" name="j"/><map code="0x6b" name="k"/><map code="0x6c" name="l"/><map code="0x6d" name="m"/><map code="0x6e" name="n"/><map code="0x6f" name="o"/><map code="0x70" name="p"/><map code="0x71" name="q"/><map code="0x72" name="r"/><map code="0x73" name="s"/><map code="0x74" name="t"/><map code="0x75" name="u"/><map code="0x76" name="v"/><map code="0x77" name="w"/><map code="0x78" name="x"/><map code="0x79" name="y"/><map code="0x7a" name="z"/><map code="0x7b" name="braceleft"/><map code="0x7c" name="bar"/><map code="0x7d" name="braceright"/><map code="0x7e" name="asciitilde"/><map code="0xa0" name="uni00A0"/><map code="0xa1" name="exclamdown"/><map code="0xa2" name="cent"/><map code="0xa3" name="sterling"/><map code="0xa4" name="currency"/><map code="0xa5" name="yen"/><map code="0xa6" name="brokenbar"/><map code="0xa7" name="section"/><map code="0xa8" name="dieresis"/><map code="0xa9" name="copyright"/><map code="0xaa" name="ordfeminine"/><map code="0xab" name="guillemotleft"/><map code="0xac" name="logicalnot"/><map code="0xad" name="sfthyphen"/><map code="0xae" name="registered"/><map code="0xaf" name="macron"/><map code="0xb0" name="degree"/><map code="0xb1" name="plusminus"/><map code="0xb2" name="twosuperior"/><map code="0xb3" name="threesuperior"/><map code="0xb4" name="acute"/><map code="0xb5" name="mu"/><map code="0xb6" name="paragraph"/><map code="0xb7" name="periodcentered"/><map code="0xb8" name="cedilla"/><map code="0xb9" name="onesuperior"/><map code="0xba" name="ordmasculine"/><map code="0xbb" name="guillemotright"/><map code="0xbc" name="onequarter"/><map code="0xbd" name="onehalf"/><map code="0xbe" name="threequarters"/><map code="0xbf" name="questiondown"/><map code="0xc0" name="Agrave"/><map code="0xc1" name="Aacute"/><map code="0xc2" name="Acircumflex"/><map code="0xc3" name="Atilde"/><map code="0xc4" name="Adieresis"/><map code="0xc5" name="Aring"/><map code="0xc6" name="AE"/><map code="0xc7" name="Ccedilla"/><map code="0xc8" name="Egrave"/><map code="0xc9" name="Eacute"/><map code="0xca" name="Ecircumflex"/><map code="0xcb" name="Edieresis"/><map code="0xcc" name="Igrave"/><map code="0xcd" name="Iacute"/><map code="0xce" name="Icircumflex"/><map code="0xcf" name="Idieresis"/><map code="0xd0" name="Eth"/><map code="0xd1" name="Ntilde"/><map code="0xd2" name="Ograve"/><map code="0xd3" name="Oacute"/><map code="0xd4" name="Ocircumflex"/><map code="0xd5" name="Otilde"/><map code="0xd6" name="Odieresis"/><map code="0xd7" name="multiply"/><map code="0xd8" name="Oslash"/><map code="0xd9" name="Ugrave"/><map code="0xda" name="Uacute"/><map code="0xdb" name="Ucircumflex"/><map code="0xdc" name="Udieresis"/><map code="0xdd" name="Yacute"/><map code="0xde" name="Thorn"/><map code="0xdf" name="germandbls"/><map code="0xe0" name="agrave"/><map code="0xe1" name="aacute"/><map code="0xe2" name="acircumflex"/><map code="0xe3" name="atilde"/><map code="0xe4" name="adieresis"/><map code="0xe5" name="aring"/><map code="0xe6" name="ae"/><map code="0xe7" name="ccedilla"/><map code="0xe8" name="egrave"/><map code="0xe9" name="eacute"/><map code="0xea" name="ecircumflex"/><map code="0xeb" name="edieresis"/><map code="0xec" name="igrave"/><map code="0xed" name="iacute"/><map code="0xee" name="icircumflex"/><map code="0xef" name="idieresis"/><map code="0xf0" name="eth"/><map code="0xf1" name="ntilde"/><map code="0xf2" name="ograve"/><map code="0xf3" name="oacute"/><map code="0xf4" name="ocircumflex"/><map code="0xf5" name="otilde"/><map code="0xf6" name="odieresis"/><map code="0xf7" name="divide"/><map code="0xf8" name="oslash"/><map code="0xf9" name="ugrave"/><map code="0xfa" name="uacute"/><map code="0xfb" name="ucircumflex"/><map code="0xfc" name="udieresis"/><map code="0xfd" name="yacute"/><map code="0xfe" name="thorn"/><map code="0xff" name="ydieresis"/><map code="0x131" name="dotlessi"/><map code="0x152" name="OE"/><map code="0x153" name="oe"/><map code="0x160" name="Scaron"/><map code="0x161" name="scaron"/><map code="0x178" name="Ydieresis"/><map code="0x17d" name="Zcaron"/><map code="0x17e" name="zcaron"/><map code="0x192" name="florin"/><map code="0x2c6" name="circumflex"/><map code="0x2c7" name="caron"/><map code="0x2c9" name="uni02C9"/><map code="0x2da" name="ring"/><map code="0x2dc" name="tilde"/><map code="0x3bc" name="mu"/><map code="0x600" name="uni0600"/><map code="0x601" name="uni0601"/><map code="0x602" name="uni0602"/><map code="0x603" name="uni0603"/><map code="0x60b" name="uni060B"/><map code="0x60c" name="uni060C"/><map code="0x60d" name="uni060D"/><map code="0x60e" name="uni060E"/><map code="0x60f" name="uni060F"/><map code="0x610" name="uni0610"/><map code="0x611" name="uni0611"/><map code="0x612" name="uni0612"/><map code="0x613" name="uni0613"/><map code="0x614" name="uni0614"/><map code="0x615" name="uni0615"/><map code="0x61b" name="uni061B"/><map code="0x61e" name="uni061E"/><map code="0x61f" name="uni061F"/><map code="0x621" name="uni0621"/><map code="0x622" name="uni0622"/><map code="0x623" name="uni0623"/><map code="0x624" name="uni0624"/><map code="0x625" name="uni0625"/><map code="0x626" name="uni0626"/><map code="0x627" name="uni0627"/><map code="0x628" name="uni0628"/><map code="0x629" name="uni0629"/><map code="0x62a" name="uni062A"/><map code="0x62b" name="uni062B"/><map code="0x62c" name="uni062C"/><map code="0x62d" name="uni062D"/><map code="0x62e" name="uni062E"/><map code="0x62f" name="uni062F"/><map code="0x630" name="uni0630"/><map code="0x631" name="uni0631"/><map code="0x632" name="uni0632"/><map code="0x633" name="uni0633"/><map code="0x634" name="uni0634"/><map code="0x635" name="uni0635"/><map code="0x636" name="uni0636"/><map code="0x637" name="uni0637"/><map code="0x638" name="uni0638"/><map code="0x639" name="uni0639"/><map code="0x63a" name="uni063A"/><map code="0x640" name="uni0640"/><map code="0x641" name="uni0641"/><map code="0x642" name="uni0642"/><map code="0x643" name="uni0643"/><map code="0x644" name="uni0644"/><map code="0x645" name="uni0645"/><map code="0x646" name="uni0646"/><map code="0x647" name="uni0647"/><map code="0x648" name="uni0648"/><map code="0x649" name="uni0649"/><map code="0x64a" name="uni064A"/><map code="0x64b" name="uni064B"/><map code="0x64c" name="uni064C"/><map code="0x64d" name="uni064D"/><map code="0x64e" name="uni064E"/><map code="0x64f" name="uni064F"/><map code="0x650" name="uni0650"/><map code="0x651" name="uni0651"/><map code="0x652" name="uni0652"/><map code="0x653" name="uni0653"/><map code="0x654" name="uni0654"/><map code="0x655" name="uni0655"/><map code="0x656" name="uni0656"/><map code="0x657" name="uni0657"/><map code="0x658" name="uni0658"/><map code="0x659" name="uni0659"/><map code="0x65a" name="uni065A"/><map code="0x65b" name="uni065B"/><map code="0x65c" name="uni065C"/><map code="0x65d" name="uni065D"/><map code="0x65e" name="uni065E"/><map code="0x660" name="uni0660"/><map code="0x661" name="uni0661"/><map code="0x662" name="uni0662"/><map code="0x663" name="uni0663"/><map code="0x664" name="uni0664"/><map code="0x665" name="uni0665"/><map code="0x666" name="uni0666"/><map code="0x667" name="uni0667"/><map code="0x668" name="uni0668"/><map code="0x669" name="uni0669"/><map code="0x66a" name="uni066A"/><map code="0x66b" name="uni066B"/><map code="0x66c" name="uni066C"/><map code="0x66d" name="uni066D"/><map code="0x66e" name="uni066E"/><map code="0x66f" name="uni066F"/><map code="0x670" name="uni0670"/><map code="0x671" name="uni0671"/><map code="0x672" name="uni0672"/><map code="0x673" name="uni0673"/><map code="0x674" name="uni0674"/><map code="0x675" name="uni0675"/><map code="0x676" name="uni0676"/><map code="0x677" name="uni0677"/><map code="0x678" name="uni0678"/><map code="0x679" name="uni0679"/><map code="0x67a" name="uni067A"/><map code="0x67b" name="uni067B"/><map code="0x67c" name="uni067C"/><map code="0x67d" name="uni067D"/><map code="0x67e" name="uni067E"/><map code="0x67f" name="uni067F"/><map code="0x680" name="uni0680"/><map code="0x681" name="uni0681"/><map code="0x682" name="uni0682"/><map code="0x683" name="uni0683"/><map code="0x684" name="uni0684"/><map code="0x685" name="uni0685"/><map code="0x686" name="uni0686"/><map code="0x687" name="uni0687"/><map code="0x688" name="uni0688"/><map code="0x689" name="uni0689"/><map code="0x68a" name="uni068A"/><map code="0x68b" name="uni068B"/><map code="0x68c" name="uni068C"/><map code="0x68d" name="uni068D"/><map code="0x68e" name="uni068E"/><map code="0x68f" name="uni068F"/><map code="0x690" name="uni0690"/><map code="0x691" name="uni0691"/><map code="0x692" name="uni0692"/><map code="0x693" name="uni0693"/><map code="0x694" name="uni0694"/><map code="0x695" name="uni0695"/><map code="0x696" name="uni0696"/><map code="0x697" name="uni0697"/><map code="0x698" name="uni0698"/><map code="0x699" name="uni0699"/><map code="0x69a" name="uni069A"/><map code="0x69b" name="uni069B"/><map code="0x69c" name="uni069C"/><map code="0x69d" name="uni069D"/><map code="0x69e" name="uni069E"/><map code="0x69f" name="uni069F"/><map code="0x6a0" name="uni06A0"/><map code="0x6a1" name="uni06A1"/><map code="0x6a2" name="uni06A2"/><map code="0x6a3" name="uni06A3"/><map code="0x6a4" name="uni06A4"/><map code="0x6a5" name="uni06A5"/><map code="0x6a6" name="uni06A6"/><map code="0x6a7" name="uni06A7"/><map code="0x6a8" name="uni06A8"/><map code="0x6a9" name="uni06A9"/><map code="0x6aa" name="uni06AA"/><map code="0x6ab" name="uni06AB"/><map code="0x6ac" name="uni06AC"/><map code="0x6ad" name="uni06AD"/><map code="0x6ae" name="uni06AE"/><map code="0x6af" name="uni06AF"/><map code="0x6b0" name="uni06B0"/><map code="0x6b1" name="uni06B1"/><map code="0x6b2" name="uni06B2"/><map code="0x6b3" name="uni06B3"/><map code="0x6b4" name="uni06B4"/><map code="0x6b5" name="uni06B5"/><map code="0x6b6" name="uni06B6"/><map code="0x6b7" name="uni06B7"/><map code="0x6b8" name="uni06B8"/><map code="0x6b9" name="uni06B9"/><map code="0x6ba" name="uni06BA"/><map code="0x6bb" name="uni06BB"/><map code="0x6bc" name="uni06BC"/><map code="0x6bd" name="uni06BD"/><map code="0x6be" name="uni06BE"/><map code="0x6bf" name="uni06BF"/><map code="0x6c0" name="uni06C0"/><map code="0x6c1" name="uni06C1"/><map code="0x6c2" name="uni06C2"/><map code="0x6c3" name="uni06C3"/><map code="0x6c4" name="uni06C4"/><map code="0x6c5" name="uni06C5"/><map code="0x6c6" name="uni06C6"/><map code="0x6c7" name="uni06C7"/><map code="0x6c8" name="uni06C8"/><map code="0x6c9" name="uni06C9"/><map code="0x6ca" name="uni06CA"/><map code="0x6cb" name="uni06CB"/><map code="0x6cc" name="uni06CC"/><map code="0x6cd" name="uni06CD"/><map code="0x6ce" name="uni06CE"/><map code="0x6cf" name="uni06CF"/><map code="0x6d0" name="uni06D0"/><map code="0x6d1" name="uni06D1"/><map code="0x6d2" name="uni06D2"/><map code="0x6d3" name="uni06D3"/><map code="0x6d4" name="uni06D4"/><map code="0x6d5" name="uni06D5"/><map code="0x6d6" name="uni06D6"/><map code="0x6d7" name="uni06D7"/><map code="0x6d8" name="uni06D8"/><map code="0x6d9" name="uni06D9"/><map code="0x6da" name="uni06DA"/><map code="0x6db" name="uni06DB"/><map code="0x6dc" name="uni06DC"/><map code="0x6dd" name="uni06DD"/><map code="0x6de" name="uni06DE"/><map code="0x6df" name="uni06DF"/><map code="0x6e0" name="uni06E0"/><map code="0x6e1" name="uni06E1"/><map code="0x6e2" name="uni06E2"/><map code="0x6e3" name="uni06E3"/><map code="0x6e4" name="uni06E4"/><map code="0x6e5" name="uni06E5"/><map code="0x6e6" name="uni06E6"/><map code="0x6e7" name="uni06E7"/><map code="0x6e8" name="uni06E8"/><map code="0x6e9" name="uni06E9"/><map code="0x6ea" name="uni06EA"/><map code="0x6eb" name="uni06EB"/><map code="0x6ec" name="uni06EC"/><map code="0x6ed" name="uni06ED"/><map code="0x6ee" name="uni06EE"/><map code="0x6ef" name="uni06EF"/><map code="0x6f0" name="uni06F0"/><map code="0x6f1" name="uni06F1"/><map code="0x6f2" name="uni06F2"/><map code="0x6f3" name="uni06F3"/><map code="0x6f4" name="uni06F4"/><map code="0x6f5" name="uni06F5"/><map code="0x6f6" name="uni06F6"/><map code="0x6f7" name="uni06F7"/><map code="0x6f8" name="uni06F8"/><map code="0x6f9" name="uni06F9"/><map code="0x6fa" name="uni06FA"/><map code="0x6fb" name="uni06FB"/><map code="0x6fc" name="uni06FC"/><map code="0x6fd" name="uni06FD"/><map code="0x6fe" name="uni06FE"/><map code="0x6ff" name="uni06FF"/><map code="0x750" name="uni0750"/><map code="0x751" name="uni0751"/><map code="0x752" name="uni0752"/><map code="0x753" name="uni0753"/><map code="0x754" name="uni0754"/><map code="0x755" name="uni0755"/><map code="0x756" name="uni0756"/><map code="0x757" name="uni0757"/><map code="0x758" name="uni0758"/><map code="0x759" name="uni0759"/><map code="0x75a" name="uni075A"/><map code="0x75b" name="uni075B"/><map code="0x75c" name="uni075C"/><map code="0x75d" name="uni075D"/><map code="0x75e" name="uni075E"/><map code="0x75f" name="uni075F"/><map code="0x760" name="uni0760"/><map code="0x761" name="uni0761"/><map code="0x762" name="uni0762"/><map code="0x763" name="uni0763"/><map code="0x764" name="uni0764"/><map code="0x765" name="uni0765"/><map code="0x766" name="uni0766"/><map code="0x767" name="uni0767"/><map code="0x768" name="uni0768"/><map code="0x769" name="uni0769"/><map code="0x76a" name="uni076A"/><map code="0x76b" name="uni076B"/><map code="0x76c" name="uni076C"/><map code="0x76d" name="uni076D"/><map code="0x2000" name="uni2000"/><map code="0x2001" name="uni2001"/><map code="0x2002" name="uni2002"/><map code="0x2003" name="uni2003"/><map code="0x2004" name="uni2004"/><map code="0x2005" name="uni2005"/><map code="0x2006" name="uni2006"/><map code="0x2007" name="uni2007"/><map code="0x2008" name="uni2008"/><map code="0x2009" name="uni2009"/><map code="0x200a" name="uni200A"/><map code="0x200b" name="uni200B"/><map code="0x200c" name="uni200C"/><map code="0x200d" name="uni200D"/><map code="0x200e" name="uni200E"/><map code="0x200f" name="uni200F"/><map code="0x2010" name="uni2010"/><map code="0x2011" name="uni2011"/><map code="0x2013" name="endash"/><map code="0x2014" name="emdash"/><map code="0x2018" name="quoteleft"/><map code="0x2019" name="quoteright"/><map code="0x201a" name="quotesinglbase"/><map code="0x201c" name="quotedblleft"/><map code="0x201d" name="quotedblright"/><map code="0x201e" name="quotedblbase"/><map code="0x2020" name="dagger"/><map code="0x2021" name="daggerdbl"/><map code="0x2022" name="bullet"/><map code="0x2026" name="ellipsis"/><map code="0x202a" name="uni202A"/><map code="0x202b" name="uni202B"/><map code="0x202c" name="uni202C"/><map code="0x202d" name="uni202D"/><map code="0x202e" name="uni202E"/><map code="0x2030" name="perthousand"/><map code="0x2039" name="guilsinglleft"/><map code="0x203a" name="guilsinglright"/><map code="0x2060" name="uni2060"/><map code="0x206c" name="uni206C"/><map code="0x206d" name="uni206D"/><map code="0x20ac" name="Euro"/><map code="0x2122" name="trademark"/><map code="0x2212" name="minus"/><map code="0x2219" name="uni2219"/><map code="0x25cc" name="uni25CC"/><map code="0xfd3e" name="uniFD3E"/><map code="0xfd3f" name="uniFD3F"/><map code="0xfdf2" name="uniFDF2"/><map code="0xfdfc" name="uniFDFC"/><map code="0xfeff" name="uniFEFF"/></cmap_format_4></cmap><hmtx><mtx name=".notdef" width="1135" lsb="60"/><mtx name=".null" width="0" lsb="0"/><mtx name="A" width="1110" lsb="12"/><mtx name="AE" width="1374" lsb="-18"/><mtx name="Aacute" width="1110" lsb="12"/><mtx name="Acircumflex" width="1110" lsb="12"/><mtx name="Adieresis" width="1110" lsb="12"/><mtx name="Agrave" width="1110" lsb="12"/><mtx name="Aring" width="1110" lsb="12"/><mtx name="Atilde" width="1110" lsb="12"/><mtx name="B" width="1004" lsb="27"/><mtx name="C" width="1030" lsb="55"/><mtx name="Ccedilla" width="1030" lsb="55"/><mtx name="D" width="1114" lsb="27"/><mtx name="E" width="942" lsb="33"/><mtx name="Eacute" width="942" lsb="33"/><mtx name="Ecircumflex" width="942" lsb="33"/><mtx name="Edieresis" width="942" lsb="33"/><mtx name="Egrave" width="942" lsb="33"/><mtx name="Eth" width="1116" lsb="27"/><mtx name="Euro" width="950" lsb="0"/><mtx name="F" width="858" lsb="25"/><mtx name="G" width="1114" lsb="53"/><mtx name="H" width="1114" lsb="27"/><mtx name="I" width="514" lsb="39"/><mtx name="Iacute" width="514" lsb="39"/><mtx name="Icircumflex" width="514" lsb="16"/><mtx name="Idieresis" width="514" lsb="16"/><mtx name="Igrave" width="514" lsb="39"/><mtx name="J" width="602" lsb="33"/><mtx name="K" width="1114" lsb="27"/><mtx name="L" width="942" lsb="29"/><mtx name="M" width="1374" lsb="27"/><mtx name="N" width="1114" lsb="8"/><mtx name="Ntilde" width="1114" lsb="8"/><mtx name="O" width="1114" lsb="53"/><mtx name="OE" width="1374" lsb="57"/><mtx name="Oacute" width="1114" lsb="53"/><mtx name="Ocircumflex" width="1114" lsb="53"/><mtx name="Odieresis" width="1114" lsb="53"/><mtx name="Ograve" width="1114" lsb="53"/><mtx name="Oslash" width="1116" lsb="55"/><mtx name="Otilde" width="1114" lsb="53"/><mtx name="P" width="858" lsb="27"/><mtx name="Q" width="1114" lsb="53"/><mtx name="R" width="1030" lsb="27"/><mtx name="S" width="858" lsb="98"/><mtx name="Scaron" width="858" lsb="98"/><mtx name="T" width="940" lsb="37"/><mtx name="Thorn" width="859" lsb="28"/><mtx name="U" width="1114" lsb="23"/><mtx name="Uacute" width="1114" lsb="23"/><mtx name="Ucircumflex" width="1114" lsb="23"/><mtx name="Udieresis" width="1114" lsb="23"/><mtx name="Ugrave" width="1114" lsb="23"/><mtx name="V" width="1114" lsb="14"/><mtx name="W" width="1458" lsb="20"/><mtx name="X" width="1114" lsb="10"/><mtx name="Y" width="1114" lsb="14"/><mtx name="Yacute" width="1114" lsb="14"/><mtx name="Ydieresis" width="1114" lsb="14"/><mtx name="Z" width="942" lsb="20"/><mtx name="Zcaron" width="942" lsb="20"/><mtx name="_bar" width="0" lsb="-182"/><mtx name="_damma" width="0" lsb="-239"/><mtx name="_dot1" width="0" lsb="-77"/><mtx name="_dot1_hat" width="0" lsb="-201"/><mtx name="_dot1_smallV" width="0" lsb="-204"/><mtx name="_dot1_tah" width="0" lsb="-226"/><mtx name="_dot2h" width="0" lsb="-156"/><mtx name="_dot2h_tah" width="0" lsb="-239"/><mtx name="_dot2v" width="0" lsb="-82"/><mtx name="_dot3d" width="0" lsb="-158"/><mtx name="_dot3h" width="0" lsb="-240"/><mtx name="_dot3u" width="0" lsb="-157"/><mtx name="_dot3u_tah" width="0" lsb="-255"/><mtx name="_dot4" width="0" lsb="-166"/><mtx name="_gafBar" width="0" lsb="-5"/><mtx name="_gafBarShort" width="0" lsb="-5"/><mtx name="_gafBarShort_dot2h" width="0" lsb="-131"/><mtx name="_gafBarShort_dot3u" width="0" lsb="-152"/><mtx name="_gafBar_dot2h" width="0" lsb="-131"/><mtx name="_gafBar_dot3u" width="0" lsb="-152"/><mtx name="_hamza" width="0" lsb="-137"/><mtx name="_hamzaDamma" width="0" lsb="-361"/><mtx name="_hat" width="0" lsb="-198"/><mtx name="_highHamza" width="0" lsb="36"/><mtx name="_invSmallV" width="0" lsb="-181"/><mtx name="_lines" width="0" lsb="-35"/><mtx name="_madda" width="0" lsb="-301"/><mtx name="_ring" width="0" lsb="-119"/><mtx name="_smallV" width="0" lsb="-163"/><mtx name="_tah" width="0" lsb="-242"/><mtx name="_vline" width="0" lsb="-40"/><mtx name="_wasla" width="0" lsb="-207"/><mtx name="_wavyHamza" width="0" lsb="-314"/><mtx name="_wavyHamza.b" width="0" lsb="-314"/><mtx name="a" width="686" lsb="55"/><mtx name="aacute" width="686" lsb="55"/><mtx name="absAutoKashida" width="250" lsb="0"/><mtx name="absJeemRetro1" width="1053" lsb="43"/><mtx name="absJeemRetro1Fin" width="977" lsb="41"/><mtx name="absJeemRetro1Ini" width="977" lsb="-87"/><mtx name="absJeemRetro1Med" width="1044" lsb="-87"/><mtx name="absJeemRetro2" width="1053" lsb="43"/><mtx name="absJeemRetro2Fin" width="977" lsb="41"/><mtx name="absJeemRetro2Ini" width="977" lsb="-87"/><mtx name="absJeemRetro2Med" width="1044" lsb="-87"/><mtx name="absJeemRetro3" width="1053" lsb="43"/><mtx name="absJeemRetro3Fin" width="977" lsb="41"/><mtx name="absJeemRetro3Ini" width="977" lsb="-87"/><mtx name="absJeemRetro3Med" width="1044" lsb="-87"/><mtx name="absJehRetro1" width="530" lsb="-109"/><mtx name="absJehRetro1Fin" width="487" lsb="-100"/><mtx name="absJehRetro2" width="530" lsb="-109"/><mtx name="absJehRetro2Fin" width="487" lsb="-100"/><mtx name="absLamRetro" width="885" lsb="78"/><mtx name="absLamRetroAlef" width="909" lsb="23"/><mtx name="absLamRetroAlefFin" width="1022" lsb="49"/><mtx name="absLamRetroFin" width="850" lsb="23"/><mtx name="absLamRetroIni" width="336" lsb="-98"/><mtx name="absLamRetroIni.preAlef" width="374" lsb="-192"/><mtx name="absLamRetroMed" width="403" lsb="-87"/><mtx name="absLamRetroMed.preAlef" width="522" lsb="-334"/><mtx name="absShaddaAlef" width="0" lsb="-35"/><mtx name="absSheenRetro1" width="1348" lsb="29"/><mtx name="absSheenRetro1Fin" width="1407" lsb="29"/><mtx name="absSheenRetro1Ini" width="918" lsb="-87"/><mtx name="absSheenRetro1Med" width="1018" lsb="-87"/><mtx name="absSheenRetro2" width="1348" lsb="29"/><mtx name="absSheenRetro2Fin" width="1407" lsb="29"/><mtx name="absSheenRetro2Ini" width="918" lsb="-87"/><mtx name="absSheenRetro2Med" width="1018" lsb="-87"/><mtx name="absTchehRetro1" width="1053" lsb="43"/><mtx name="absTchehRetro1Fin" width="977" lsb="41"/><mtx name="absTchehRetro1Ini" width="977" lsb="-87"/><mtx name="absTchehRetro1Med" width="1044" lsb="-87"/><mtx name="absTchehRetro2" width="1053" lsb="43"/><mtx name="absTchehRetro2Fin" width="977" lsb="41"/><mtx name="absTchehRetro2Ini" width="977" lsb="-87"/><mtx name="absTchehRetro2Med" width="1044" lsb="-87"/><mtx name="absWawDotBelow" width="573" lsb="-76"/><mtx name="absWawDotBelowFin" width="573" lsb="-106"/><mtx name="acircumflex" width="686" lsb="55"/><mtx name="acute" width="528" lsb="88"/><mtx name="adieresis" width="686" lsb="55"/><mtx name="ae" width="1031" lsb="55"/><mtx name="agrave" width="686" lsb="55"/><mtx name="ampersand" width="1202" lsb="57"/><mtx name="aring" width="686" lsb="55"/><mtx name="asciicircum" width="1485" lsb="354"/><mtx name="asciitilde" width="840" lsb="31"/><mtx name="asterisk" width="688" lsb="12"/><mtx name="at" width="1423" lsb="74"/><mtx name="atilde" width="686" lsb="55"/><mtx name="b" width="772" lsb="-6"/><mtx name="backslash" width="430" lsb="2"/><mtx name="bar" width="309" lsb="121"/><mtx name="braceleft" width="737" lsb="164"/><mtx name="braceright" width="737" lsb="154"/><mtx name="bracketleft" width="690" lsb="193"/><mtx name="bracketright" width="690" lsb="188"/><mtx name="brokenbar" width="467" lsb="197"/><mtx name="bullet" width="446" lsb="51"/><mtx name="c" width="686" lsb="51"/><mtx name="caron" width="485" lsb="0"/><mtx name="ccedilla" width="686" lsb="51"/><mtx name="cedilla" width="362" lsb="18"/><mtx name="cent" width="772" lsb="94"/><mtx name="circumflex" width="483" lsb="0"/><mtx name="colon" width="641" lsb="215"/><mtx name="comma" width="387" lsb="84"/><mtx name="copyright" width="1174" lsb="51"/><mtx name="currency" width="891" lsb="45"/><mtx name="d" width="772" lsb="51"/><mtx name="dagger" width="772" lsb="76"/><mtx name="daggerdbl" width="772" lsb="104"/><mtx name="degree" width="475" lsb="74"/><mtx name="dieresis" width="461" lsb="0"/><mtx name="divide" width="1485" lsb="297"/><mtx name="dollar" width="772" lsb="82"/><mtx name="dotlessi" width="430" lsb="47"/><mtx name="e" width="686" lsb="57"/><mtx name="eacute" width="686" lsb="57"/><mtx name="ecircumflex" width="686" lsb="57"/><mtx name="edieresis" width="686" lsb="57"/><mtx name="egrave" width="686" lsb="57"/><mtx name="eight" width="772" lsb="92"/><mtx name="eightMedium" width="450" lsb="55"/><mtx name="eightSmall" width="319" lsb="39"/><mtx name="ellipsis" width="1546" lsb="176"/><mtx name="emdash" width="1485" lsb="0"/><mtx name="endash" width="743" lsb="-33"/><mtx name="equal" width="915" lsb="37"/><mtx name="eth" width="773" lsb="51"/><mtx name="exclam" width="555" lsb="190"/><mtx name="exclamdown" width="514" lsb="171"/><mtx name="f" width="514" lsb="57"/><mtx name="five" width="772" lsb="74"/><mtx name="fiveMedium" width="450" lsb="44"/><mtx name="fiveSmall" width="319" lsb="31"/><mtx name="florin" width="772" lsb="2"/><mtx name="four" width="772" lsb="25"/><mtx name="fourMedium" width="450" lsb="14"/><mtx name="fourSmall" width="319" lsb="10"/><mtx name="g" width="772" lsb="45"/><mtx name="germandbls" width="773" lsb="27"/><mtx name="grave" width="580" lsb="86"/><mtx name="greater" width="1485" lsb="297"/><mtx name="guillemotleft" width="772" lsb="47"/><mtx name="guillemotright" width="772" lsb="49"/><mtx name="guilsinglleft" width="514" lsb="90"/><mtx name="guilsinglright" width="514" lsb="92"/><mtx name="h" width="772" lsb="8"/><mtx name="hyphen" width="514" lsb="61"/><mtx name="i" width="430" lsb="47"/><mtx name="iacute" width="430" lsb="47"/><mtx name="icircumflex" width="430" lsb="-20"/><mtx name="idieresis" width="430" lsb="-20"/><mtx name="igrave" width="430" lsb="14"/><mtx name="j" width="430" lsb="-119"/><mtx name="k" width="772" lsb="10"/><mtx name="l" width="430" lsb="45"/><mtx name="less" width="1485" lsb="297"/><mtx name="logicalnot" width="922" lsb="59"/><mtx name="m" width="1202" lsb="10"/><mtx name="macron" width="483" lsb="0"/><mtx name="minus" width="915" lsb="37"/><mtx name="mu" width="874" lsb="94"/><mtx name="multiply" width="915" lsb="137"/><mtx name="n" width="772" lsb="8"/><mtx name="nine" width="772" lsb="61"/><mtx name="nineMedium" width="450" lsb="39"/><mtx name="nineSmall" width="319" lsb="27"/><mtx name="nonmarkingreturn" width="0" lsb="0"/><mtx name="ntilde" width="772" lsb="8"/><mtx name="numbersign" width="772" lsb="27"/><mtx name="o" width="772" lsb="51"/><mtx name="oacute" width="772" lsb="51"/><mtx name="ocircumflex" width="772" lsb="51"/><mtx name="odieresis" width="772" lsb="51"/><mtx name="oe" width="1114" lsb="51"/><mtx name="ograve" width="772" lsb="51"/><mtx name="one" width="772" lsb="180"/><mtx name="oneMedium" width="450" lsb="107"/><mtx name="oneSmall" width="319" lsb="76"/><mtx name="onehalf" width="1188" lsb="125"/><mtx name="onequarter" width="1188" lsb="147"/><mtx name="onesuperior" width="543" lsb="125"/><mtx name="ordfeminine" width="492" lsb="38"/><mtx name="ordmasculine" width="566" lsb="43"/><mtx name="oslash" width="773" lsb="30"/><mtx name="otilde" width="772" lsb="51"/><mtx name="p" width="772" lsb="-8"/><mtx name="paragraph" width="698" lsb="-10"/><mtx name="parenleft" width="547" lsb="76"/><mtx name="parenright" width="547" lsb="43"/><mtx name="percent" width="1335" lsb="117"/><mtx name="period" width="641" lsb="190"/><mtx name="periodcentered" width="279" lsb="51"/><mtx name="perthousand" width="1630" lsb="27"/><mtx name="plus" width="915" lsb="37"/><mtx name="plusminus" width="1485" lsb="297"/><mtx name="q" width="772" lsb="51"/><mtx name="question" width="686" lsb="70"/><mtx name="questiondown" width="686" lsb="58"/><mtx name="quotedbl" width="629" lsb="100"/><mtx name="quotedblbase" width="684" lsb="51"/><mtx name="quotedblleft" width="786" lsb="51"/><mtx name="quotedblright" width="786" lsb="143"/><mtx name="quoteleft" width="514" lsb="139"/><mtx name="quoteright" width="514" lsb="143"/><mtx name="quotesinglbase" width="514" lsb="145"/><mtx name="quotesingle" width="279" lsb="63"/><mtx name="r" width="528" lsb="6"/><mtx name="registered" width="1174" lsb="51"/><mtx name="ring" width="288" lsb="0"/><mtx name="s" width="602" lsb="76"/><mtx name="scaron" width="602" lsb="69"/><mtx name="section" width="772" lsb="117"/><mtx name="semicolon" width="430" lsb="129"/><mtx name="seven" width="772" lsb="57"/><mtx name="sevenMedium" width="450" lsb="33"/><mtx name="sevenSmall" width="319" lsb="23"/><mtx name="sfthyphen" width="514" lsb="61"/><mtx name="six" width="772" lsb="68"/><mtx name="sixMedium" width="450" lsb="41"/><mtx name="sixSmall" width="319" lsb="29"/><mtx name="slash" width="543" lsb="66"/><mtx name="space" width="512" lsb="0"/><mtx name="sterling" width="772" lsb="45"/><mtx name="t" width="430" lsb="12"/><mtx name="thorn" width="773" lsb="-6"/><mtx name="three" width="772" lsb="63"/><mtx name="threeMedium" width="450" lsb="39"/><mtx name="threeSmall" width="319" lsb="27"/><mtx name="threequarters" width="1188" lsb="127"/><mtx name="threesuperior" width="543" lsb="41"/><mtx name="tilde" width="514" lsb="0"/><mtx name="trademark" width="1513" lsb="25"/><mtx name="two" width="772" lsb="35"/><mtx name="twoMedium" width="450" lsb="20"/><mtx name="twoSmall" width="319" lsb="14"/><mtx name="twosuperior" width="543" lsb="18"/><mtx name="u" width="772" lsb="0"/><mtx name="uacute" width="772" lsb="0"/><mtx name="ucircumflex" width="772" lsb="0"/><mtx name="udieresis" width="772" lsb="0"/><mtx name="ugrave" width="772" lsb="0"/><mtx name="underscore" width="743" lsb="0"/><mtx name="uni0009" width="641" lsb="0"/><mtx name="uni00A0" width="641" lsb="0"/><mtx name="uni02C9" width="483" lsb="0"/><mtx name="uni0600" width="1410" lsb="53"/><mtx name="uni0600.2" width="1410" lsb="53"/><mtx name="uni0600.3" width="1864" lsb="57"/><mtx name="uni0600.aat1" width="560" lsb="-796"/><mtx name="uni0600.aat2" width="335" lsb="-1021"/><mtx name="uni0600.aat3" width="335" lsb="-1472"/><mtx name="uni0600.sp1" width="400" lsb="0"/><mtx name="uni0600.sp2" width="175" lsb="0"/><mtx name="uni0600.sp3" width="175" lsb="0"/><mtx name="uni0601" width="2740" lsb="30"/><mtx name="uni0601.2" width="2740" lsb="30"/><mtx name="uni0601.3" width="2740" lsb="30"/><mtx name="uni0601.4" width="2740" lsb="30"/><mtx name="uni0601.aat1" width="1145" lsb="-1564"/><mtx name="uni0601.aat2" width="920" lsb="-1789"/><mtx name="uni0601.aat3" width="695" lsb="-2014"/><mtx name="uni0601.aat4" width="470" lsb="-2239"/><mtx name="uni0601.sp1" width="1145" lsb="0"/><mtx name="uni0601.sp2" width="920" lsb="0"/><mtx name="uni0601.sp3" width="695" lsb="0"/><mtx name="uni0601.sp4" width="470" lsb="0"/><mtx name="uni0602" width="1430" lsb="59"/><mtx name="uni0602.2" width="1430" lsb="59"/><mtx name="uni0602.aat1" width="275" lsb="-1095"/><mtx name="uni0602.aat2" width="50" lsb="-1320"/><mtx name="uni0602.sp1" width="705" lsb="0"/><mtx name="uni0602.sp2" width="480" lsb="0"/><mtx name="uni0603" width="1600" lsb="51"/><mtx name="uni0603.2" width="1600" lsb="51"/><mtx name="uni0603.3" width="2025" lsb="40"/><mtx name="uni0603.aat1" width="895" lsb="-653"/><mtx name="uni0603.aat2" width="670" lsb="-878"/><mtx name="uni0603.aat3" width="670" lsb="-1315"/><mtx name="uni0603.sp1" width="255" lsb="0"/><mtx name="uni0603.sp2" width="30" lsb="0"/><mtx name="uni0603.sp3" width="30" lsb="0"/><mtx name="uni060B" width="571" lsb="55"/><mtx name="uni060C" width="641" lsb="174"/><mtx name="uni060C.downward" width="641" lsb="174"/><mtx name="uni060D" width="542" lsb="66"/><mtx name="uni060E" width="1328" lsb="57"/><mtx name="uni060F" width="1008" lsb="38"/><mtx name="uni0610" width="0" lsb="318"/><mtx name="uni0611" width="0" lsb="286"/><mtx name="uni0612" width="0" lsb="236"/><mtx name="uni0613" width="0" lsb="238"/><mtx name="uni0614" width="0" lsb="-106"/><mtx name="uni0615" width="0" lsb="78"/><mtx name="uni061B" width="641" lsb="168"/><mtx name="uni061B.downward" width="641" lsb="168"/><mtx name="uni061E" width="524" lsb="54"/><mtx name="uni061F" width="627" lsb="74"/><mtx name="uni0621" width="551" lsb="31"/><mtx name="uni0622" width="297" lsb="-172"/><mtx name="uni0622.fina" width="362" lsb="-184"/><mtx name="uni0622.fina.postLamIni" width="535" lsb="-274"/><mtx name="uni0622.fina.postLamMed" width="500" lsb="-272"/><mtx name="uni0623" width="297" lsb="10"/><mtx name="uni0623.fina" width="362" lsb="-2"/><mtx name="uni0623.fina.postLamIni" width="535" lsb="-92"/><mtx name="uni0623.fina.postLamMed" width="500" lsb="-90"/><mtx name="uni0624" width="573" lsb="-76"/><mtx name="uni0624.fina" width="573" lsb="-106"/><mtx name="uni0625" width="297" lsb="10"/><mtx name="uni0625.fina" width="362" lsb="80"/><mtx name="uni0625.fina.postLamIni" width="535" lsb="23"/><mtx name="uni0625.fina.postLamMed" width="500" lsb="49"/><mtx name="uni0626" width="1130" lsb="53"/><mtx name="uni0626.fina" width="940" lsb="86"/><mtx name="uni0626.init" width="360" lsb="-87"/><mtx name="uni0626.medi" width="367" lsb="-87"/><mtx name="uni0627" width="297" lsb="80"/><mtx name="uni0627.fina" width="362" lsb="80"/><mtx name="uni0627.fina.postLamIni" width="535" lsb="23"/><mtx name="uni0627.fina.postLamMed" width="500" lsb="49"/><mtx name="uni0628" width="1352" lsb="86"/><mtx name="uni0628.fina" width="1378" lsb="80"/><mtx name="uni0628.init" width="360" lsb="-87"/><mtx name="uni0628.medi" width="367" lsb="-87"/><mtx name="uni0629" width="502" lsb="76"/><mtx name="uni0629.fina" width="553" lsb="57"/><mtx name="uni062A" width="1352" lsb="86"/><mtx name="uni062A.fina" width="1378" lsb="80"/><mtx name="uni062A.init" width="360" lsb="-87"/><mtx name="uni062A.medi" width="367" lsb="-87"/><mtx name="uni062B" width="1352" lsb="86"/><mtx name="uni062B.fina" width="1378" lsb="80"/><mtx name="uni062B.init" width="360" lsb="-87"/><mtx name="uni062B.medi" width="367" lsb="-87"/><mtx name="uni062C" width="1053" lsb="43"/><mtx name="uni062C.fina" width="977" lsb="41"/><mtx name="uni062C.init" width="977" lsb="-87"/><mtx name="uni062C.medi" width="1044" lsb="-87"/><mtx name="uni062D" width="1053" lsb="43"/><mtx name="uni062D.fina" width="977" lsb="41"/><mtx name="uni062D.init" width="977" lsb="-87"/><mtx name="uni062D.medi" width="1044" lsb="-87"/><mtx name="uni062E" width="1053" lsb="43"/><mtx name="uni062E.fina" width="977" lsb="41"/><mtx name="uni062E.init" width="977" lsb="-87"/><mtx name="uni062E.medi" width="1044" lsb="-87"/><mtx name="uni062F" width="621" lsb="76"/><mtx name="uni062F.fina" width="762" lsb="61"/><mtx name="uni0630" width="621" lsb="76"/><mtx name="uni0630.fina" width="762" lsb="61"/><mtx name="uni0631" width="530" lsb="-109"/><mtx name="uni0631.fina" width="487" lsb="-100"/><mtx name="uni0632" width="530" lsb="-109"/><mtx name="uni0632.fina" width="487" lsb="-100"/><mtx name="uni0633" width="1348" lsb="29"/><mtx name="uni0633.fina" width="1407" lsb="29"/><mtx name="uni0633.init" width="918" lsb="-87"/><mtx name="uni0633.medi" width="1018" lsb="-87"/><mtx name="uni0634" width="1348" lsb="29"/><mtx name="uni0634.fina" width="1407" lsb="29"/><mtx name="uni0634.init" width="918" lsb="-87"/><mtx name="uni0634.medi" width="1018" lsb="-87"/><mtx name="uni0635" width="1602" lsb="29"/><mtx name="uni0635.fina" width="1632" lsb="29"/><mtx name="uni0635.init" width="1210" lsb="-87"/><mtx name="uni0635.medi" width="1210" lsb="-87"/><mtx name="uni0636" width="1602" lsb="29"/><mtx name="uni0636.fina" width="1632" lsb="29"/><mtx name="uni0636.init" width="1210" lsb="-87"/><mtx name="uni0636.medi" width="1210" lsb="-87"/><mtx name="uni0637" width="1092" lsb="29"/><mtx name="uni0637.fina" width="1092" lsb="29"/><mtx name="uni0637.init" width="840" lsb="-87"/><mtx name="uni0637.medi" width="881" lsb="-87"/><mtx name="uni0638" width="1092" lsb="29"/><mtx name="uni0638.fina" width="1092" lsb="29"/><mtx name="uni0638.init" width="840" lsb="-87"/><mtx name="uni0638.medi" width="881" lsb="-87"/><mtx name="uni0639" width="1008" lsb="45"/><mtx name="uni0639.fina" width="758" lsb="4"/><mtx name="uni0639.init" width="735" lsb="-87"/><mtx name="uni0639.medi" width="590" lsb="-87"/><mtx name="uni063A" width="1008" lsb="45"/><mtx name="uni063A.fina" width="758" lsb="4"/><mtx name="uni063A.init" width="735" lsb="-87"/><mtx name="uni063A.medi" width="590" lsb="-87"/><mtx name="uni0640" width="250" lsb="-80"/><mtx name="uni0641" width="1446" lsb="88"/><mtx name="uni0641.fina" width="1458" lsb="90"/><mtx name="uni0641.init" width="430" lsb="-87"/><mtx name="uni0641.medi" width="592" lsb="-87"/><mtx name="uni0642" width="1018" lsb="117"/><mtx name="uni0642.fina" width="864" lsb="35"/><mtx name="uni0642.init" width="430" lsb="-87"/><mtx name="uni0642.medi" width="592" lsb="-87"/><mtx name="uni0643" width="940" lsb="78"/><mtx name="uni0643.fina" width="1333" lsb="72"/><mtx name="uni0643.init" width="829" lsb="-87"/><mtx name="uni0643.medi" width="944" lsb="-87"/><mtx name="uni0644" width="885" lsb="78"/><mtx name="uni0644.fina" width="850" lsb="23"/><mtx name="uni0644.init" width="336" lsb="-87"/><mtx name="uni0644.init.preAlef" width="374" lsb="-192"/><mtx name="uni0644.medi" width="403" lsb="-87"/><mtx name="uni0644.medi.preAlef" width="522" lsb="-334"/><mtx name="uni06440627" width="909" lsb="23"/><mtx name="uni06440627.fina" width="1022" lsb="49"/><mtx name="uni0645" width="582" lsb="68"/><mtx name="uni0645.fina" width="758" lsb="63"/><mtx name="uni0645.fina.sindhi" width="924" lsb="8"/><mtx name="uni0645.init" width="578" lsb="-87"/><mtx name="uni0645.medi" width="770" lsb="-87"/><mtx name="uni0645.sindhi" width="857" lsb="8"/><mtx name="uni0646" width="840" lsb="96"/><mtx name="uni0646.fina" width="885" lsb="10"/><mtx name="uni0646.init" width="360" lsb="-87"/><mtx name="uni0646.medi" width="367" lsb="-87"/><mtx name="uni0647" width="502" lsb="76"/><mtx name="uni0647.fina" width="553" lsb="57"/><mtx name="uni0647.fina.hooked" width="440" lsb="30"/><mtx name="uni0647.fina.knottedFlat" width="795" lsb="-2"/><mtx name="uni0647.fina.knottedHigh" width="804" lsb="2"/><mtx name="uni0647.init" width="725" lsb="-87"/><mtx name="uni0647.init.hooked" width="313" lsb="-87"/><mtx name="uni0647.knotted" width="774" lsb="2"/><mtx name="uni0647.medi" width="694" lsb="-87"/><mtx name="uni0647.medi.hooked" width="676" lsb="-87"/><mtx name="uni0647.medi.knottedHigh" width="762" lsb="-87"/><mtx name="uni0648" width="573" lsb="-76"/><mtx name="uni0648.fina" width="573" lsb="-106"/><mtx name="uni0649" width="1130" lsb="53"/><mtx name="uni0649.fina" width="940" lsb="86"/><mtx name="uni0649.init" width="360" lsb="-87"/><mtx name="uni0649.medi" width="367" lsb="-87"/><mtx name="uni064A" width="1130" lsb="53"/><mtx name="uni064A.fina" width="940" lsb="86"/><mtx name="uni064A.fina.noDots" width="940" lsb="86"/><mtx name="uni064A.init" width="360" lsb="-87"/><mtx name="uni064A.init.noDots" width="360" lsb="-87"/><mtx name="uni064A.medi" width="367" lsb="-87"/><mtx name="uni064A.medi.noDots" width="367" lsb="-87"/><mtx name="uni064A.noDots" width="1130" lsb="53"/><mtx name="uni064B" width="0" lsb="-49"/><mtx name="uni064C" width="0" lsb="-49"/><mtx name="uni064C.sixNine" width="0" lsb="-165"/><mtx name="uni064D" width="0" lsb="0"/><mtx name="uni064E" width="0" lsb="-49"/><mtx name="uni064F" width="0" lsb="-49"/><mtx name="uni0650" width="0" lsb="0"/><mtx name="uni0651" width="0" lsb="-25"/><mtx name="uni0651064B" width="0" lsb="-25"/><mtx name="uni0651064C" width="0" lsb="-59"/><mtx name="uni0651064D" width="0" lsb="-25"/><mtx name="uni0651064E" width="0" lsb="-25"/><mtx name="uni0651064F" width="0" lsb="-25"/><mtx name="uni06510650" width="0" lsb="-25"/><mtx name="uni0652" width="0" lsb="-25"/><mtx name="uni0652.downOpen" width="0" lsb="0"/><mtx name="uni0652.leftOpen" width="0" lsb="-4"/><mtx name="uni0653" width="0" lsb="-186"/><mtx name="uni0654" width="0" lsb="-3"/><mtx name="uni0654064E" width="0" lsb="-31"/><mtx name="uni0654064F" width="0" lsb="-75"/><mtx name="uni0655" width="0" lsb="27"/><mtx name="uni0656" width="0" lsb="56"/><mtx name="uni0657" width="0" lsb="43"/><mtx name="uni0658" width="0" lsb="0"/><mtx name="uni0659" width="0" lsb="19"/><mtx name="uni065A" width="0" lsb="0"/><mtx name="uni065B" width="0" lsb="8"/><mtx name="uni065C" width="0" lsb="62"/><mtx name="uni065D" width="0" lsb="12"/><mtx name="uni065E" width="0" lsb="-49"/><mtx name="uni0660" width="801" lsb="301"/><mtx name="uni0660.Medium" width="450" lsb="171"/><mtx name="uni0660.Small" width="319" lsb="121"/><mtx name="uni0661" width="801" lsb="238"/><mtx name="uni0661.Medium" width="450" lsb="133"/><mtx name="uni0661.Small" width="319" lsb="94"/><mtx name="uni0662" width="801" lsb="154"/><mtx name="uni0662.Medium" width="450" lsb="86"/><mtx name="uni0662.Small" width="319" lsb="61"/><mtx name="uni0663" width="801" lsb="96"/><mtx name="uni0663.Medium" width="450" lsb="55"/><mtx name="uni0663.Small" width="319" lsb="39"/><mtx name="uni0664" width="801" lsb="223"/><mtx name="uni0664.Medium" width="450" lsb="127"/><mtx name="uni0664.Small" width="319" lsb="90"/><mtx name="uni0665" width="801" lsb="162"/><mtx name="uni0665.Medium" width="450" lsb="93"/><mtx name="uni0665.Small" width="319" lsb="66"/><mtx name="uni0666" width="801" lsb="150"/><mtx name="uni0666.Medium" width="450" lsb="84"/><mtx name="uni0666.Small" width="319" lsb="59"/><mtx name="uni0667" width="801" lsb="102"/><mtx name="uni0667.Medium" width="450" lsb="58"/><mtx name="uni0667.Small" width="319" lsb="41"/><mtx name="uni0668" width="801" lsb="111"/><mtx name="uni0668.Medium" width="450" lsb="64"/><mtx name="uni0668.Small" width="319" lsb="45"/><mtx name="uni0669" width="801" lsb="174"/><mtx name="uni0669.Medium" width="450" lsb="99"/><mtx name="uni0669.Small" width="319" lsb="70"/><mtx name="uni066A" width="913" lsb="106"/><mtx name="uni066B" width="553" lsb="72"/><mtx name="uni066C" width="553" lsb="182"/><mtx name="uni066D" width="887" lsb="70"/><mtx name="uni066E" width="1352" lsb="86"/><mtx name="uni066E.fina" width="1378" lsb="80"/><mtx name="uni066E.init" width="360" lsb="-87"/><mtx name="uni066E.medi" width="367" lsb="-87"/><mtx name="uni066F" width="1018" lsb="117"/><mtx name="uni066F.fina" width="864" lsb="35"/><mtx name="uni066F.init" width="430" lsb="-87"/><mtx name="uni066F.medi" width="592" lsb="-87"/><mtx name="uni0670" width="0" lsb="141"/><mtx name="uni0670.large" width="0" lsb="365"/><mtx name="uni0671" width="297" lsb="-27"/><mtx name="uni0671.fina" width="362" lsb="-39"/><mtx name="uni0671.fina.postLamIni" width="535" lsb="-129"/><mtx name="uni0671.fina.postLamMed" width="500" lsb="-127"/><mtx name="uni0672" width="297" lsb="-166"/><mtx name="uni0672.fina" width="362" lsb="-178"/><mtx name="uni0672.fina.postLamIni" width="535" lsb="-268"/><mtx name="uni0672.fina.postLamMed" width="500" lsb="-266"/><mtx name="uni0673" width="297" lsb="-166"/><mtx name="uni0673.fina" width="362" lsb="-87"/><mtx name="uni0673.fina.postLamIni" width="535" lsb="23"/><mtx name="uni0673.fina.postLamMed" width="500" lsb="49"/><mtx name="uni0674" width="332" lsb="27"/><mtx name="uni0675" width="297" lsb="80"/><mtx name="uni0675.fina" width="362" lsb="80"/><mtx name="uni0675.fina.postLamIni" width="535" lsb="23"/><mtx name="uni0675.fina.postLamMed" width="500" lsb="49"/><mtx name="uni0676" width="573" lsb="-76"/><mtx name="uni0676.fina" width="573" lsb="-106"/><mtx name="uni0677" width="573" lsb="-76"/><mtx name="uni0677.fina" width="573" lsb="-106"/><mtx name="uni0678" width="1130" lsb="53"/><mtx name="uni0678.fina" width="940" lsb="86"/><mtx name="uni0678.init" width="360" lsb="-87"/><mtx name="uni0678.medi" width="367" lsb="-87"/><mtx name="uni0679" width="1352" lsb="86"/><mtx name="uni0679.fina" width="1378" lsb="80"/><mtx name="uni0679.init" width="360" lsb="-87"/><mtx name="uni0679.medi" width="367" lsb="-87"/><mtx name="uni067A" width="1352" lsb="86"/><mtx name="uni067A.fina" width="1378" lsb="80"/><mtx name="uni067A.init" width="360" lsb="-87"/><mtx name="uni067A.medi" width="367" lsb="-87"/><mtx name="uni067B" width="1352" lsb="86"/><mtx name="uni067B.fina" width="1378" lsb="80"/><mtx name="uni067B.init" width="360" lsb="-87"/><mtx name="uni067B.medi" width="367" lsb="-87"/><mtx name="uni067C" width="1352" lsb="86"/><mtx name="uni067C.fina" width="1378" lsb="80"/><mtx name="uni067C.init" width="360" lsb="-87"/><mtx name="uni067C.medi" width="367" lsb="-87"/><mtx name="uni067D" width="1352" lsb="86"/><mtx name="uni067D.fina" width="1378" lsb="80"/><mtx name="uni067D.init" width="360" lsb="-87"/><mtx name="uni067D.medi" width="367" lsb="-87"/><mtx name="uni067E" width="1352" lsb="86"/><mtx name="uni067E.fina" width="1378" lsb="80"/><mtx name="uni067E.init" width="360" lsb="-87"/><mtx name="uni067E.medi" width="367" lsb="-87"/><mtx name="uni067F" width="1352" lsb="86"/><mtx name="uni067F.fina" width="1378" lsb="80"/><mtx name="uni067F.init" width="360" lsb="-87"/><mtx name="uni067F.medi" width="367" lsb="-87"/><mtx name="uni0680" width="1352" lsb="86"/><mtx name="uni0680.fina" width="1378" lsb="80"/><mtx name="uni0680.init" width="360" lsb="-87"/><mtx name="uni0680.medi" width="367" lsb="-87"/><mtx name="uni0681" width="1053" lsb="43"/><mtx name="uni0681.fina" width="977" lsb="41"/><mtx name="uni0681.init" width="977" lsb="-87"/><mtx name="uni0681.medi" width="1044" lsb="-87"/><mtx name="uni0682" width="1053" lsb="43"/><mtx name="uni0682.fina" width="977" lsb="41"/><mtx name="uni0682.init" width="977" lsb="-87"/><mtx name="uni0682.medi" width="1044" lsb="-87"/><mtx name="uni0683" width="1053" lsb="43"/><mtx name="uni0683.fina" width="977" lsb="41"/><mtx name="uni0683.init" width="977" lsb="-87"/><mtx name="uni0683.medi" width="1044" lsb="-87"/><mtx name="uni0684" width="1053" lsb="43"/><mtx name="uni0684.fina" width="977" lsb="41"/><mtx name="uni0684.init" width="977" lsb="-87"/><mtx name="uni0684.medi" width="1044" lsb="-87"/><mtx name="uni0685" width="1053" lsb="43"/><mtx name="uni0685.fina" width="977" lsb="41"/><mtx name="uni0685.init" width="977" lsb="-87"/><mtx name="uni0685.medi" width="1044" lsb="-87"/><mtx name="uni0686" width="1053" lsb="43"/><mtx name="uni0686.fina" width="977" lsb="41"/><mtx name="uni0686.init" width="977" lsb="-87"/><mtx name="uni0686.medi" width="1044" lsb="-87"/><mtx name="uni0687" width="1053" lsb="43"/><mtx name="uni0687.fina" width="977" lsb="41"/><mtx name="uni0687.init" width="977" lsb="-87"/><mtx name="uni0687.medi" width="1044" lsb="-87"/><mtx name="uni0688" width="621" lsb="76"/><mtx name="uni0688.fina" width="762" lsb="61"/><mtx name="uni0689" width="621" lsb="76"/><mtx name="uni0689.fina" width="762" lsb="61"/><mtx name="uni068A" width="621" lsb="76"/><mtx name="uni068A.fina" width="762" lsb="61"/><mtx name="uni068B" width="621" lsb="76"/><mtx name="uni068B.fina" width="762" lsb="61"/><mtx name="uni068C" width="621" lsb="76"/><mtx name="uni068C.fina" width="762" lsb="61"/><mtx name="uni068D" width="621" lsb="76"/><mtx name="uni068D.fina" width="762" lsb="61"/><mtx name="uni068E" width="621" lsb="76"/><mtx name="uni068E.fina" width="762" lsb="61"/><mtx name="uni068F" width="621" lsb="76"/><mtx name="uni068F.fina" width="762" lsb="61"/><mtx name="uni0690" width="621" lsb="76"/><mtx name="uni0690.fina" width="762" lsb="61"/><mtx name="uni0691" width="530" lsb="-109"/><mtx name="uni0691.fina" width="487" lsb="-100"/><mtx name="uni0692" width="530" lsb="-109"/><mtx name="uni0692.fina" width="487" lsb="-100"/><mtx name="uni0693" width="530" lsb="-109"/><mtx name="uni0693.fina" width="487" lsb="-100"/><mtx name="uni0694" width="530" lsb="-109"/><mtx name="uni0694.fina" width="487" lsb="-100"/><mtx name="uni0695" width="530" lsb="-109"/><mtx name="uni0695.fina" width="487" lsb="-100"/><mtx name="uni0696" width="530" lsb="-109"/><mtx name="uni0696.fina" width="487" lsb="-100"/><mtx name="uni0697" width="530" lsb="-109"/><mtx name="uni0697.fina" width="487" lsb="-100"/><mtx name="uni0698" width="530" lsb="-109"/><mtx name="uni0698.dotHat" width="530" lsb="-109"/><mtx name="uni0698.fina" width="487" lsb="-100"/><mtx name="uni0698.fina.dotHat" width="487" lsb="-100"/><mtx name="uni0699" width="530" lsb="-109"/><mtx name="uni0699.fina" width="487" lsb="-100"/><mtx name="uni069A" width="1348" lsb="29"/><mtx name="uni069A.fina" width="1407" lsb="29"/><mtx name="uni069A.init" width="918" lsb="-87"/><mtx name="uni069A.medi" width="1018" lsb="-87"/><mtx name="uni069B" width="1348" lsb="29"/><mtx name="uni069B.fina" width="1407" lsb="29"/><mtx name="uni069B.init" width="918" lsb="-87"/><mtx name="uni069B.medi" width="1018" lsb="-87"/><mtx name="uni069C" width="1348" lsb="29"/><mtx name="uni069C.fina" width="1407" lsb="29"/><mtx name="uni069C.init" width="918" lsb="-87"/><mtx name="uni069C.medi" width="1018" lsb="-87"/><mtx name="uni069D" width="1602" lsb="29"/><mtx name="uni069D.fina" width="1632" lsb="29"/><mtx name="uni069D.init" width="1210" lsb="-87"/><mtx name="uni069D.medi" width="1210" lsb="-87"/><mtx name="uni069E" width="1602" lsb="29"/><mtx name="uni069E.fina" width="1632" lsb="29"/><mtx name="uni069E.init" width="1210" lsb="-87"/><mtx name="uni069E.medi" width="1210" lsb="-87"/><mtx name="uni069F" width="1092" lsb="29"/><mtx name="uni069F.fina" width="1092" lsb="29"/><mtx name="uni069F.init" width="840" lsb="-87"/><mtx name="uni069F.medi" width="881" lsb="-87"/><mtx name="uni06A0" width="1008" lsb="45"/><mtx name="uni06A0.fina" width="758" lsb="4"/><mtx name="uni06A0.init" width="735" lsb="-87"/><mtx name="uni06A0.medi" width="590" lsb="-87"/><mtx name="uni06A1" width="1446" lsb="88"/><mtx name="uni06A1.fina" width="1458" lsb="90"/><mtx name="uni06A1.init" width="430" lsb="-87"/><mtx name="uni06A1.medi" width="592" lsb="-87"/><mtx name="uni06A2" width="1446" lsb="88"/><mtx name="uni06A2.fina" width="1458" lsb="90"/><mtx name="uni06A2.init" width="430" lsb="-87"/><mtx name="uni06A2.medi" width="592" lsb="-87"/><mtx name="uni06A3" width="1446" lsb="88"/><mtx name="uni06A3.fina" width="1458" lsb="90"/><mtx name="uni06A3.init" width="430" lsb="-87"/><mtx name="uni06A3.medi" width="592" lsb="-87"/><mtx name="uni06A4" width="1446" lsb="88"/><mtx name="uni06A4.fina" width="1458" lsb="90"/><mtx name="uni06A4.init" width="430" lsb="-87"/><mtx name="uni06A4.medi" width="592" lsb="-87"/><mtx name="uni06A5" width="1446" lsb="88"/><mtx name="uni06A5.fina" width="1458" lsb="90"/><mtx name="uni06A5.init" width="430" lsb="-87"/><mtx name="uni06A5.medi" width="592" lsb="-87"/><mtx name="uni06A6" width="1446" lsb="88"/><mtx name="uni06A6.fina" width="1458" lsb="90"/><mtx name="uni06A6.init" width="430" lsb="-87"/><mtx name="uni06A6.medi" width="592" lsb="-87"/><mtx name="uni06A7" width="1018" lsb="117"/><mtx name="uni06A7.fina" width="864" lsb="35"/><mtx name="uni06A7.init" width="430" lsb="-87"/><mtx name="uni06A7.medi" width="592" lsb="-87"/><mtx name="uni06A8" width="1018" lsb="117"/><mtx name="uni06A8.fina" width="864" lsb="35"/><mtx name="uni06A8.init" width="430" lsb="-87"/><mtx name="uni06A8.medi" width="592" lsb="-87"/><mtx name="uni06A9" width="1544" lsb="72"/><mtx name="uni06A9.fina" width="1544" lsb="72"/><mtx name="uni06A9.init" width="829" lsb="-87"/><mtx name="uni06A9.medi" width="944" lsb="-87"/><mtx name="uni06AA" width="1622" lsb="14"/><mtx name="uni06AA.fina" width="1706" lsb="14"/><mtx name="uni06AA.init" width="1497" lsb="-87"/><mtx name="uni06AA.medi" width="1579" lsb="-87"/><mtx name="uni06AB" width="1544" lsb="72"/><mtx name="uni06AB.fina" width="1544" lsb="72"/><mtx name="uni06AB.init" width="829" lsb="-87"/><mtx name="uni06AB.medi" width="944" lsb="-87"/><mtx name="uni06AC" width="940" lsb="78"/><mtx name="uni06AC.fina" width="1333" lsb="72"/><mtx name="uni06AC.init" width="829" lsb="-87"/><mtx name="uni06AC.medi" width="944" lsb="-87"/><mtx name="uni06AD" width="940" lsb="78"/><mtx name="uni06AD.fina" width="1333" lsb="72"/><mtx name="uni06AD.init" width="829" lsb="-87"/><mtx name="uni06AD.medi" width="944" lsb="-87"/><mtx name="uni06AE" width="940" lsb="78"/><mtx name="uni06AE.fina" width="1333" lsb="72"/><mtx name="uni06AE.init" width="829" lsb="-87"/><mtx name="uni06AE.medi" width="944" lsb="-87"/><mtx name="uni06AF" width="1544" lsb="72"/><mtx name="uni06AF.fina" width="1544" lsb="72"/><mtx name="uni06AF.init" width="829" lsb="-87"/><mtx name="uni06AF.medi" width="944" lsb="-87"/><mtx name="uni06B0" width="1544" lsb="72"/><mtx name="uni06B0.fina" width="1544" lsb="72"/><mtx name="uni06B0.init" width="829" lsb="-87"/><mtx name="uni06B0.medi" width="944" lsb="-87"/><mtx name="uni06B1" width="1544" lsb="72"/><mtx name="uni06B1.fina" width="1544" lsb="72"/><mtx name="uni06B1.init" width="829" lsb="-109"/><mtx name="uni06B1.medi" width="944" lsb="-101"/><mtx name="uni06B2" width="1544" lsb="72"/><mtx name="uni06B2.fina" width="1544" lsb="72"/><mtx name="uni06B2.init" width="829" lsb="-87"/><mtx name="uni06B2.medi" width="944" lsb="-87"/><mtx name="uni06B3" width="1544" lsb="72"/><mtx name="uni06B3.fina" width="1544" lsb="72"/><mtx name="uni06B3.init" width="829" lsb="-87"/><mtx name="uni06B3.medi" width="944" lsb="-87"/><mtx name="uni06B4" width="1544" lsb="72"/><mtx name="uni06B4.fina" width="1544" lsb="72"/><mtx name="uni06B4.init" width="829" lsb="-130"/><mtx name="uni06B4.medi" width="944" lsb="-122"/><mtx name="uni06B5" width="885" lsb="78"/><mtx name="uni06B5.fina" width="850" lsb="23"/><mtx name="uni06B5.init" width="336" lsb="-87"/><mtx name="uni06B5.init.preAlef" width="374" lsb="-192"/><mtx name="uni06B5.medi" width="403" lsb="-87"/><mtx name="uni06B5.medi.preAlef" width="522" lsb="-334"/><mtx name="uni06B50627" width="909" lsb="23"/><mtx name="uni06B50627.fina" width="1022" lsb="49"/><mtx name="uni06B6" width="885" lsb="78"/><mtx name="uni06B6.fina" width="850" lsb="23"/><mtx name="uni06B6.init" width="336" lsb="-87"/><mtx name="uni06B6.init.preAlef" width="374" lsb="-192"/><mtx name="uni06B6.medi" width="403" lsb="-87"/><mtx name="uni06B6.medi.preAlef" width="522" lsb="-334"/><mtx name="uni06B60627" width="909" lsb="23"/><mtx name="uni06B60627.fina" width="1022" lsb="49"/><mtx name="uni06B7" width="885" lsb="78"/><mtx name="uni06B7.fina" width="850" lsb="23"/><mtx name="uni06B7.init" width="336" lsb="-87"/><mtx name="uni06B7.init.preAlef" width="374" lsb="-192"/><mtx name="uni06B7.medi" width="403" lsb="-87"/><mtx name="uni06B7.medi.preAlef" width="522" lsb="-334"/><mtx name="uni06B70627" width="909" lsb="23"/><mtx name="uni06B70627.fina" width="1022" lsb="49"/><mtx name="uni06B8" width="885" lsb="78"/><mtx name="uni06B8.fina" width="850" lsb="23"/><mtx name="uni06B8.init" width="336" lsb="-87"/><mtx name="uni06B8.init.preAlef" width="374" lsb="-192"/><mtx name="uni06B8.medi" width="403" lsb="-87"/><mtx name="uni06B8.medi.preAlef" width="522" lsb="-334"/><mtx name="uni06B80627" width="909" lsb="23"/><mtx name="uni06B80627.fina" width="1022" lsb="49"/><mtx name="uni06B9" width="840" lsb="96"/><mtx name="uni06B9.fina" width="885" lsb="10"/><mtx name="uni06B9.init" width="360" lsb="-87"/><mtx name="uni06B9.medi" width="367" lsb="-87"/><mtx name="uni06BA" width="840" lsb="96"/><mtx name="uni06BA.fina" width="885" lsb="10"/><mtx name="uni06BA.init" width="360" lsb="-87"/><mtx name="uni06BA.medi" width="367" lsb="-87"/><mtx name="uni06BB" width="840" lsb="96"/><mtx name="uni06BB.fina" width="885" lsb="10"/><mtx name="uni06BB.init" width="360" lsb="-87"/><mtx name="uni06BB.medi" width="367" lsb="-87"/><mtx name="uni06BC" width="840" lsb="96"/><mtx name="uni06BC.fina" width="885" lsb="10"/><mtx name="uni06BC.init" width="360" lsb="-87"/><mtx name="uni06BC.medi" width="367" lsb="-87"/><mtx name="uni06BD" width="840" lsb="96"/><mtx name="uni06BD.fina" width="885" lsb="10"/><mtx name="uni06BD.init" width="360" lsb="-87"/><mtx name="uni06BD.medi" width="367" lsb="-87"/><mtx name="uni06BE" width="774" lsb="2"/><mtx name="uni06BE.fina" width="795" lsb="-2"/><mtx name="uni06BE.init" width="725" lsb="-87"/><mtx name="uni06BE.medi" width="694" lsb="-87"/><mtx name="uni06BF" width="1053" lsb="43"/><mtx name="uni06BF.fina" width="977" lsb="41"/><mtx name="uni06BF.init" width="977" lsb="-87"/><mtx name="uni06BF.medi" width="1044" lsb="-87"/><mtx name="uni06C0" width="502" lsb="76"/><mtx name="uni06C0.fina" width="553" lsb="57"/><mtx name="uni06C0.init" width="725" lsb="-87"/><mtx name="uni06C0.medi" width="694" lsb="-87"/><mtx name="uni06C1" width="502" lsb="76"/><mtx name="uni06C1.fina" width="440" lsb="30"/><mtx name="uni06C1.init" width="313" lsb="-87"/><mtx name="uni06C1.medi" width="676" lsb="-87"/><mtx name="uni06C2" width="502" lsb="76"/><mtx name="uni06C2.fina" width="440" lsb="30"/><mtx name="uni06C2.init" width="313" lsb="-87"/><mtx name="uni06C2.medi" width="676" lsb="-87"/><mtx name="uni06C3" width="502" lsb="76"/><mtx name="uni06C3.fina" width="440" lsb="30"/><mtx name="uni06C4" width="573" lsb="-76"/><mtx name="uni06C4.fina" width="573" lsb="-106"/><mtx name="uni06C5" width="573" lsb="-76"/><mtx name="uni06C5.fina" width="573" lsb="-106"/><mtx name="uni06C6" width="573" lsb="-76"/><mtx name="uni06C6.fina" width="573" lsb="-106"/><mtx name="uni06C7" width="573" lsb="-76"/><mtx name="uni06C7.fina" width="573" lsb="-106"/><mtx name="uni06C8" width="573" lsb="-76"/><mtx name="uni06C8.fina" width="573" lsb="-106"/><mtx name="uni06C9" width="573" lsb="-76"/><mtx name="uni06C9.fina" width="573" lsb="-106"/><mtx name="uni06CA" width="573" lsb="-76"/><mtx name="uni06CA.fina" width="573" lsb="-106"/><mtx name="uni06CB" width="573" lsb="-76"/><mtx name="uni06CB.fina" width="573" lsb="-106"/><mtx name="uni06CC" width="1130" lsb="53"/><mtx name="uni06CC.fina" width="940" lsb="86"/><mtx name="uni06CC.init" width="360" lsb="-87"/><mtx name="uni06CC.medi" width="367" lsb="-87"/><mtx name="uni06CD" width="1130" lsb="-24"/><mtx name="uni06CD.fina" width="940" lsb="-36"/><mtx name="uni06CE" width="1130" lsb="53"/><mtx name="uni06CE.fina" width="940" lsb="86"/><mtx name="uni06CE.init" width="360" lsb="-87"/><mtx name="uni06CE.medi" width="367" lsb="-87"/><mtx name="uni06CF" width="573" lsb="-76"/><mtx name="uni06CF.fina" width="573" lsb="-106"/><mtx name="uni06D0" width="1130" lsb="53"/><mtx name="uni06D0.fina" width="940" lsb="86"/><mtx name="uni06D0.init" width="360" lsb="-87"/><mtx name="uni06D0.medi" width="367" lsb="-87"/><mtx name="uni06D1" width="1130" lsb="53"/><mtx name="uni06D1.fina" width="940" lsb="86"/><mtx name="uni06D1.init" width="360" lsb="-87"/><mtx name="uni06D1.medi" width="367" lsb="-87"/><mtx name="uni06D2" width="1481" lsb="59"/><mtx name="uni06D2.fina" width="1016" lsb="39"/><mtx name="uni06D3" width="1481" lsb="59"/><mtx name="uni06D3.fina" width="1016" lsb="39"/><mtx name="uni06D4" width="641" lsb="174"/><mtx name="uni06D5" width="502" lsb="76"/><mtx name="uni06D5.fina" width="553" lsb="57"/><mtx name="uni06D6" width="0" lsb="-354"/><mtx name="uni06D7" width="0" lsb="-324"/><mtx name="uni06D8" width="0" lsb="-176"/><mtx name="uni06D9" width="0" lsb="-252"/><mtx name="uni06DA" width="0" lsb="-217"/><mtx name="uni06DB" width="0" lsb="-82"/><mtx name="uni06DC" width="0" lsb="-344"/><mtx name="uni06DD" width="1368" lsb="59"/><mtx name="uni06DD.2" width="1368" lsb="59"/><mtx name="uni06DD.3" width="1368" lsb="59"/><mtx name="uni06DD.aat1" width="506" lsb="-856"/><mtx name="uni06DD.aat2" width="280" lsb="-1082"/><mtx name="uni06DD.aat3" width="249" lsb="-1113"/><mtx name="uni06DD.alt" width="1368" lsb="44"/><mtx name="uni06DD.alt.2" width="1368" lsb="44"/><mtx name="uni06DD.alt.3" width="1368" lsb="44"/><mtx name="uni06DD.alt.aat1" width="506" lsb="-872"/><mtx name="uni06DD.alt.aat2" width="280" lsb="-1098"/><mtx name="uni06DD.alt.aat3" width="249" lsb="-1129"/><mtx name="uni06DD.altB" width="1368" lsb="120"/><mtx name="uni06DD.altB.2" width="1368" lsb="120"/><mtx name="uni06DD.altB.3" width="1368" lsb="120"/><mtx name="uni06DD.altB.aat1" width="506" lsb="-796"/><mtx name="uni06DD.altB.aat2" width="280" lsb="-1022"/><mtx name="uni06DD.altB.aat3" width="249" lsb="-1053"/><mtx name="uni06DD.sp1" width="506" lsb="0"/><mtx name="uni06DD.sp2" width="280" lsb="0"/><mtx name="uni06DD.sp3" width="249" lsb="0"/><mtx name="uni06DE" width="1585" lsb="68"/><mtx name="uni06DF" width="0" lsb="-74"/><mtx name="uni06E0" width="0" lsb="-59"/><mtx name="uni06E1" width="0" lsb="-207"/><mtx name="uni06E2" width="0" lsb="-123"/><mtx name="uni06E3" width="0" lsb="-319"/><mtx name="uni06E4" width="0" lsb="-147"/><mtx name="uni06E5" width="287" lsb="-37"/><mtx name="uni06E6" width="739" lsb="29"/><mtx name="uni06E7" width="0" lsb="-305"/><mtx name="uni06E8" width="0" lsb="-162"/><mtx name="uni06E9" width="750" lsb="109"/><mtx name="uni06EA" width="0" lsb="-113"/><mtx name="uni06EB" width="0" lsb="-113"/><mtx name="uni06EC" width="0" lsb="-102"/><mtx name="uni06ED" width="0" lsb="-94"/><mtx name="uni06EE" width="621" lsb="76"/><mtx name="uni06EE.fina" width="762" lsb="61"/><mtx name="uni06EF" width="530" lsb="-109"/><mtx name="uni06EF.fina" width="487" lsb="-100"/><mtx name="uni06F0" width="801" lsb="301"/><mtx name="uni06F0.Medium" width="450" lsb="171"/><mtx name="uni06F0.Small" width="319" lsb="121"/><mtx name="uni06F1" width="801" lsb="238"/><mtx name="uni06F1.Medium" width="450" lsb="133"/><mtx name="uni06F1.Small" width="319" lsb="94"/><mtx name="uni06F2" width="801" lsb="154"/><mtx name="uni06F2.Medium" width="450" lsb="86"/><mtx name="uni06F2.Small" width="319" lsb="61"/><mtx name="uni06F3" width="801" lsb="96"/><mtx name="uni06F3.Medium" width="450" lsb="55"/><mtx name="uni06F3.Small" width="319" lsb="39"/><mtx name="uni06F4" width="801" lsb="102"/><mtx name="uni06F4.Medium" width="450" lsb="58"/><mtx name="uni06F4.Medium.urdu" width="451" lsb="65"/><mtx name="uni06F4.Small" width="319" lsb="41"/><mtx name="uni06F4.Small.urdu" width="320" lsb="46"/><mtx name="uni06F4.urdu" width="801" lsb="137"/><mtx name="uni06F5" width="801" lsb="139"/><mtx name="uni06F5.Medium" width="450" lsb="78"/><mtx name="uni06F5.Small" width="319" lsb="55"/><mtx name="uni06F6" width="801" lsb="160"/><mtx name="uni06F6.Medium" width="450" lsb="89"/><mtx name="uni06F6.Medium.urdu" width="450" lsb="84"/><mtx name="uni06F6.Small" width="319" lsb="63"/><mtx name="uni06F6.Small.urdu" width="319" lsb="59"/><mtx name="uni06F6.urdu" width="801" lsb="150"/><mtx name="uni06F7" width="801" lsb="102"/><mtx name="uni06F7.Medium" width="450" lsb="58"/><mtx name="uni06F7.Medium.urdu" width="451" lsb="37"/><mtx name="uni06F7.Small" width="319" lsb="41"/><mtx name="uni06F7.Small.urdu" width="320" lsb="26"/><mtx name="uni06F7.urdu" width="800" lsb="65"/><mtx name="uni06F8" width="801" lsb="111"/><mtx name="uni06F8.Medium" width="450" lsb="64"/><mtx name="uni06F8.Small" width="319" lsb="45"/><mtx name="uni06F9" width="801" lsb="174"/><mtx name="uni06F9.Medium" width="450" lsb="99"/><mtx name="uni06F9.Small" width="319" lsb="70"/><mtx name="uni06FA" width="1348" lsb="29"/><mtx name="uni06FA.fina" width="1407" lsb="29"/><mtx name="uni06FA.init" width="918" lsb="-87"/><mtx name="uni06FA.medi" width="1018" lsb="-87"/><mtx name="uni06FB" width="1602" lsb="29"/><mtx name="uni06FB.fina" width="1632" lsb="29"/><mtx name="uni06FB.init" width="1210" lsb="-87"/><mtx name="uni06FB.medi" width="1210" lsb="-87"/><mtx name="uni06FC" width="1008" lsb="45"/><mtx name="uni06FC.fina" width="758" lsb="4"/><mtx name="uni06FC.init" width="735" lsb="-87"/><mtx name="uni06FC.medi" width="590" lsb="-87"/><mtx name="uni06FD" width="551" lsb="31"/><mtx name="uni06FE" width="857" lsb="8"/><mtx name="uni06FF" width="774" lsb="2"/><mtx name="uni06FF.fina" width="804" lsb="2"/><mtx name="uni06FF.init" width="725" lsb="-87"/><mtx name="uni06FF.medi" width="762" lsb="-87"/><mtx name="uni0750" width="1352" lsb="86"/><mtx name="uni0750.fina" width="1378" lsb="80"/><mtx name="uni0750.init" width="360" lsb="-124"/><mtx name="uni0750.medi" width="367" lsb="-87"/><mtx name="uni0751" width="1352" lsb="86"/><mtx name="uni0751.fina" width="1378" lsb="80"/><mtx name="uni0751.init" width="360" lsb="-87"/><mtx name="uni0751.medi" width="367" lsb="-87"/><mtx name="uni0752" width="1352" lsb="86"/><mtx name="uni0752.fina" width="1378" lsb="80"/><mtx name="uni0752.init" width="360" lsb="-87"/><mtx name="uni0752.medi" width="367" lsb="-87"/><mtx name="uni0753" width="1352" lsb="86"/><mtx name="uni0753.fina" width="1378" lsb="80"/><mtx name="uni0753.init" width="360" lsb="-87"/><mtx name="uni0753.medi" width="367" lsb="-87"/><mtx name="uni0754" width="1352" lsb="86"/><mtx name="uni0754.fina" width="1378" lsb="80"/><mtx name="uni0754.init" width="360" lsb="-87"/><mtx name="uni0754.medi" width="367" lsb="-87"/><mtx name="uni0755" width="1352" lsb="86"/><mtx name="uni0755.fina" width="1378" lsb="80"/><mtx name="uni0755.init" width="360" lsb="-87"/><mtx name="uni0755.medi" width="367" lsb="-87"/><mtx name="uni0756" width="1352" lsb="86"/><mtx name="uni0756.fina" width="1378" lsb="80"/><mtx name="uni0756.init" width="360" lsb="-87"/><mtx name="uni0756.medi" width="367" lsb="-87"/><mtx name="uni0757" width="1053" lsb="43"/><mtx name="uni0757.fina" width="977" lsb="41"/><mtx name="uni0757.init" width="977" lsb="-87"/><mtx name="uni0757.medi" width="1044" lsb="-87"/><mtx name="uni0758" width="1053" lsb="43"/><mtx name="uni0758.fina" width="977" lsb="41"/><mtx name="uni0758.init" width="977" lsb="-87"/><mtx name="uni0758.medi" width="1044" lsb="-87"/><mtx name="uni0759" width="621" lsb="76"/><mtx name="uni0759.fina" width="762" lsb="61"/><mtx name="uni075A" width="621" lsb="76"/><mtx name="uni075A.fina" width="762" lsb="61"/><mtx name="uni075B" width="530" lsb="-109"/><mtx name="uni075B.fina" width="487" lsb="-100"/><mtx name="uni075C" width="1348" lsb="29"/><mtx name="uni075C.fina" width="1407" lsb="29"/><mtx name="uni075C.init" width="918" lsb="-87"/><mtx name="uni075C.medi" width="1018" lsb="-87"/><mtx name="uni075D" width="1008" lsb="45"/><mtx name="uni075D.fina" width="758" lsb="4"/><mtx name="uni075D.init" width="735" lsb="-87"/><mtx name="uni075D.medi" width="590" lsb="-87"/><mtx name="uni075E" width="1008" lsb="45"/><mtx name="uni075E.fina" width="758" lsb="4"/><mtx name="uni075E.init" width="735" lsb="-87"/><mtx name="uni075E.medi" width="590" lsb="-87"/><mtx name="uni075F" width="1008" lsb="45"/><mtx name="uni075F.fina" width="758" lsb="4"/><mtx name="uni075F.init" width="735" lsb="-87"/><mtx name="uni075F.medi" width="590" lsb="-87"/><mtx name="uni0760" width="1446" lsb="88"/><mtx name="uni0760.fina" width="1458" lsb="90"/><mtx name="uni0760.init" width="430" lsb="-87"/><mtx name="uni0760.medi" width="592" lsb="-87"/><mtx name="uni0761" width="1446" lsb="88"/><mtx name="uni0761.fina" width="1458" lsb="90"/><mtx name="uni0761.init" width="430" lsb="-87"/><mtx name="uni0761.medi" width="592" lsb="-87"/><mtx name="uni0762" width="1544" lsb="72"/><mtx name="uni0762.fina" width="1544" lsb="72"/><mtx name="uni0762.init" width="829" lsb="-87"/><mtx name="uni0762.medi" width="944" lsb="-87"/><mtx name="uni0763" width="1544" lsb="72"/><mtx name="uni0763.fina" width="1544" lsb="72"/><mtx name="uni0763.init" width="829" lsb="-87"/><mtx name="uni0763.medi" width="944" lsb="-87"/><mtx name="uni0764" width="1544" lsb="72"/><mtx name="uni0764.fina" width="1544" lsb="72"/><mtx name="uni0764.init" width="829" lsb="-87"/><mtx name="uni0764.medi" width="944" lsb="-87"/><mtx name="uni0765" width="582" lsb="68"/><mtx name="uni0765.fina" width="758" lsb="63"/><mtx name="uni0765.init" width="578" lsb="-87"/><mtx name="uni0765.medi" width="770" lsb="-87"/><mtx name="uni0766" width="582" lsb="68"/><mtx name="uni0766.fina" width="758" lsb="63"/><mtx name="uni0766.init" width="578" lsb="-87"/><mtx name="uni0766.medi" width="770" lsb="-87"/><mtx name="uni0767" width="840" lsb="96"/><mtx name="uni0767.fina" width="885" lsb="10"/><mtx name="uni0767.init" width="360" lsb="-87"/><mtx name="uni0767.medi" width="367" lsb="-87"/><mtx name="uni0768" width="840" lsb="96"/><mtx name="uni0768.fina" width="885" lsb="10"/><mtx name="uni0768.init" width="360" lsb="-87"/><mtx name="uni0768.medi" width="367" lsb="-87"/><mtx name="uni0769" width="840" lsb="96"/><mtx name="uni0769.fina" width="885" lsb="10"/><mtx name="uni0769.init" width="360" lsb="-87"/><mtx name="uni0769.medi" width="367" lsb="-87"/><mtx name="uni076A" width="885" lsb="78"/><mtx name="uni076A.fina" width="850" lsb="23"/><mtx name="uni076A.init" width="336" lsb="-87"/><mtx name="uni076A.init.preAlef" width="374" lsb="-192"/><mtx name="uni076A.medi" width="403" lsb="-87"/><mtx name="uni076A.medi.preAlef" width="522" lsb="-334"/><mtx name="uni076A0627" width="909" lsb="23"/><mtx name="uni076A0627.fina" width="1022" lsb="49"/><mtx name="uni076B" width="530" lsb="-109"/><mtx name="uni076B.fina" width="487" lsb="-100"/><mtx name="uni076C" width="530" lsb="-109"/><mtx name="uni076C.fina" width="487" lsb="-100"/><mtx name="uni076D" width="1348" lsb="29"/><mtx name="uni076D.fina" width="1407" lsb="29"/><mtx name="uni076D.init" width="918" lsb="-87"/><mtx name="uni076D.medi" width="1018" lsb="-87"/><mtx name="uni2000" width="1024" lsb="0"/><mtx name="uni2001" width="2048" lsb="0"/><mtx name="uni2002" width="1024" lsb="0"/><mtx name="uni2003" width="2048" lsb="0"/><mtx name="uni2004" width="682" lsb="0"/><mtx name="uni2005" width="512" lsb="0"/><mtx name="uni2006" width="342" lsb="0"/><mtx name="uni2007" width="801" lsb="0"/><mtx name="uni2008" width="641" lsb="0"/><mtx name="uni2009" width="129" lsb="0"/><mtx name="uni200A" width="63" lsb="0"/><mtx name="uni200B" width="0" lsb="0"/><mtx name="uni200C" width="0" lsb="-295"/><mtx name="uni200D" width="0" lsb="-295"/><mtx name="uni200E" width="0" lsb="-70"/><mtx name="uni200F" width="0" lsb="-100"/><mtx name="uni2010" width="514" lsb="61"/><mtx name="uni2011" width="514" lsb="61"/><mtx name="uni202A" width="0" lsb="-41"/><mtx name="uni202B" width="0" lsb="-166"/><mtx name="uni202C" width="0" lsb="-90"/><mtx name="uni202D" width="0" lsb="-145"/><mtx name="uni202E" width="0" lsb="-166"/><mtx name="uni2060" width="0" lsb="0"/><mtx name="uni206C" width="1024" lsb="31"/><mtx name="uni206D" width="1024" lsb="31"/><mtx name="uni2219" width="279" lsb="51"/><mtx name="uni25CC" width="1024" lsb="68"/><mtx name="uniFD3E" width="842" lsb="27"/><mtx name="uniFD3F" width="842" lsb="36"/><mtx name="uniFDF2" width="1184" lsb="37"/><mtx name="uniFDFC" width="1363" lsb="58"/><mtx name="uniFEFF" width="0" lsb="0"/><mtx name="v" width="772" lsb="12"/><mtx name="w" width="1114" lsb="8"/><mtx name="x" width="772" lsb="20"/><mtx name="y" width="772" lsb="8"/><mtx name="yacute" width="772" lsb="8"/><mtx name="ydieresis" width="772" lsb="8"/><mtx name="yen" width="772" lsb="2"/><mtx name="z" width="686" lsb="31"/><mtx name="zcaron" width="686" lsb="31"/><mtx name="zero" width="772" lsb="55"/><mtx name="zeroMedium" width="450" lsb="33"/><mtx name="zeroSmall" width="319" lsb="23"/></hmtx><GDEF><Version value="1.0"/><GlyphClassDef Format="2"><ClassDef glyph=".notdef" class="1"/><ClassDef glyph=".null" class="1"/><ClassDef glyph="A" class="1"/><ClassDef glyph="B" class="1"/><ClassDef glyph="C" class="1"/><ClassDef glyph="D" class="1"/><ClassDef glyph="E" class="1"/><ClassDef glyph="F" class="1"/><ClassDef glyph="G" class="1"/><ClassDef glyph="H" class="1"/><ClassDef glyph="I" class="1"/><ClassDef glyph="J" class="1"/><ClassDef glyph="K" class="1"/><ClassDef glyph="L" class="1"/><ClassDef glyph="M" class="1"/><ClassDef glyph="N" class="1"/><ClassDef glyph="O" class="1"/><ClassDef glyph="P" class="1"/><ClassDef glyph="Q" class="1"/><ClassDef glyph="R" class="1"/><ClassDef glyph="S" class="1"/><ClassDef glyph="T" class="1"/><ClassDef glyph="U" class="1"/><ClassDef glyph="V" class="1"/><ClassDef glyph="W" class="1"/><ClassDef glyph="X" class="1"/><ClassDef glyph="Y" class="1"/><ClassDef glyph="Z" class="1"/><ClassDef glyph="_bar" class="1"/><ClassDef glyph="_damma" class="1"/><ClassDef glyph="_dot1" class="1"/><ClassDef glyph="_dot1_hat" class="1"/><ClassDef glyph="_dot1_smallV" class="1"/><ClassDef glyph="_dot1_tah" class="1"/><ClassDef glyph="_dot2h" class="1"/><ClassDef glyph="_dot2h_tah" class="1"/><ClassDef glyph="_dot2v" class="1"/><ClassDef glyph="_dot3d" class="1"/><ClassDef glyph="_dot3h" class="1"/><ClassDef glyph="_dot3u" class="1"/><ClassDef glyph="_dot3u_tah" class="1"/><ClassDef glyph="_dot4" class="1"/><ClassDef glyph="_gafBar" class="1"/><ClassDef glyph="_gafBarShort" class="1"/><ClassDef glyph="_gafBarShort_dot2h" class="1"/><ClassDef glyph="_gafBarShort_dot3u" class="1"/><ClassDef glyph="_gafBar_dot2h" class="1"/><ClassDef glyph="_gafBar_dot3u" class="1"/><ClassDef glyph="_hamza" class="1"/><ClassDef glyph="_hamzaDamma" class="1"/><ClassDef glyph="_hat" class="1"/><ClassDef glyph="_highHamza" class="1"/><ClassDef glyph="_invSmallV" class="1"/><ClassDef glyph="_lines" class="1"/><ClassDef glyph="_madda" class="1"/><ClassDef glyph="_ring" class="1"/><ClassDef glyph="_smallV" class="1"/><ClassDef glyph="_tah" class="1"/><ClassDef glyph="_vline" class="1"/><ClassDef glyph="_wasla" class="1"/><ClassDef glyph="_wavyHamza" class="1"/><ClassDef glyph="_wavyHamza.b" class="1"/><ClassDef glyph="a" class="1"/><ClassDef glyph="absAutoKashida" class="1"/><ClassDef glyph="absJeemRetro1" class="1"/><ClassDef glyph="absJeemRetro1Fin" class="1"/><ClassDef glyph="absJeemRetro1Ini" class="1"/><ClassDef glyph="absJeemRetro1Med" class="1"/><ClassDef glyph="absJeemRetro2" class="1"/><ClassDef glyph="absJeemRetro2Fin" class="1"/><ClassDef glyph="absJeemRetro2Ini" class="1"/><ClassDef glyph="absJeemRetro2Med" class="1"/><ClassDef glyph="absJeemRetro3" class="1"/><ClassDef glyph="absJeemRetro3Fin" class="1"/><ClassDef glyph="absJeemRetro3Ini" class="1"/><ClassDef glyph="absJeemRetro3Med" class="1"/><ClassDef glyph="absJehRetro1" class="1"/><ClassDef glyph="absJehRetro1Fin" class="1"/><ClassDef glyph="absJehRetro2" class="1"/><ClassDef glyph="absJehRetro2Fin" class="1"/><ClassDef glyph="absLamRetro" class="1"/><ClassDef glyph="absLamRetroAlef" class="2"/><ClassDef glyph="absLamRetroAlefFin" class="2"/><ClassDef glyph="absLamRetroFin" class="1"/><ClassDef glyph="absLamRetroIni" class="1"/><ClassDef glyph="absLamRetroIni.preAlef" class="1"/><ClassDef glyph="absLamRetroMed" class="1"/><ClassDef glyph="absLamRetroMed.preAlef" class="1"/><ClassDef glyph="absShaddaAlef" class="3"/><ClassDef glyph="absSheenRetro1" class="1"/><ClassDef glyph="absSheenRetro1Fin" class="1"/><ClassDef glyph="absSheenRetro1Ini" class="1"/><ClassDef glyph="absSheenRetro1Med" class="1"/><ClassDef glyph="absSheenRetro2" class="1"/><ClassDef glyph="absSheenRetro2Fin" class="1"/><ClassDef glyph="absSheenRetro2Ini" class="1"/><ClassDef glyph="absSheenRetro2Med" class="1"/><ClassDef glyph="absTchehRetro1" class="1"/><ClassDef glyph="absTchehRetro1Fin" class="1"/><ClassDef glyph="absTchehRetro1Ini" class="1"/><ClassDef glyph="absTchehRetro1Med" class="1"/><ClassDef glyph="absTchehRetro2" class="1"/><ClassDef glyph="absTchehRetro2Fin" class="1"/><ClassDef glyph="absTchehRetro2Ini" class="1"/><ClassDef glyph="absTchehRetro2Med" class="1"/><ClassDef glyph="absWawDotBelow" class="1"/><ClassDef glyph="absWawDotBelowFin" class="1"/><ClassDef glyph="ampersand" class="1"/><ClassDef glyph="asciicircum" class="1"/><ClassDef glyph="asciitilde" class="1"/><ClassDef glyph="asterisk" class="1"/><ClassDef glyph="at" class="1"/><ClassDef glyph="b" class="1"/><ClassDef glyph="backslash" class="1"/><ClassDef glyph="bar" class="1"/><ClassDef glyph="braceleft" class="1"/><ClassDef glyph="braceright" class="1"/><ClassDef glyph="bracketleft" class="1"/><ClassDef glyph="bracketright" class="1"/><ClassDef glyph="c" class="1"/><ClassDef glyph="colon" class="1"/><ClassDef glyph="comma" class="1"/><ClassDef glyph="d" class="1"/><ClassDef glyph="dollar" class="1"/><ClassDef glyph="e" class="1"/><ClassDef glyph="eight" class="1"/><ClassDef glyph="eightMedium" class="3"/><ClassDef glyph="eightSmall" class="3"/><ClassDef glyph="equal" class="1"/><ClassDef glyph="exclam" class="1"/><ClassDef glyph="f" class="1"/><ClassDef glyph="five" class="1"/><ClassDef glyph="fiveMedium" class="3"/><ClassDef glyph="fiveSmall" class="3"/><ClassDef glyph="four" class="1"/><ClassDef glyph="fourMedium" class="3"/><ClassDef glyph="fourSmall" class="3"/><ClassDef glyph="g" class="1"/><ClassDef glyph="grave" class="1"/><ClassDef glyph="greater" class="1"/><ClassDef glyph="h" class="1"/><ClassDef glyph="hyphen" class="1"/><ClassDef glyph="i" class="1"/><ClassDef glyph="j" class="1"/><ClassDef glyph="k" class="1"/><ClassDef glyph="l" class="1"/><ClassDef glyph="less" class="1"/><ClassDef glyph="m" class="1"/><ClassDef glyph="n" class="1"/><ClassDef glyph="nine" class="1"/><ClassDef glyph="nineMedium" class="3"/><ClassDef glyph="nineSmall" class="3"/><ClassDef glyph="nonmarkingreturn" class="1"/><ClassDef glyph="numbersign" class="1"/><ClassDef glyph="o" class="1"/><ClassDef glyph="one" class="1"/><ClassDef glyph="oneMedium" class="3"/><ClassDef glyph="oneSmall" class="3"/><ClassDef glyph="p" class="1"/><ClassDef glyph="parenleft" class="1"/><ClassDef glyph="parenright" class="1"/><ClassDef glyph="percent" class="1"/><ClassDef glyph="period" class="1"/><ClassDef glyph="plus" class="1"/><ClassDef glyph="q" class="1"/><ClassDef glyph="question" class="1"/><ClassDef glyph="quotedbl" class="1"/><ClassDef glyph="quotesingle" class="1"/><ClassDef glyph="r" class="1"/><ClassDef glyph="s" class="1"/><ClassDef glyph="semicolon" class="1"/><ClassDef glyph="seven" class="1"/><ClassDef glyph="sevenMedium" class="3"/><ClassDef glyph="sevenSmall" class="3"/><ClassDef glyph="six" class="1"/><ClassDef glyph="sixMedium" class="3"/><ClassDef glyph="sixSmall" class="3"/><ClassDef glyph="slash" class="1"/><ClassDef glyph="space" class="1"/><ClassDef glyph="t" class="1"/><ClassDef glyph="three" class="1"/><ClassDef glyph="threeMedium" class="3"/><ClassDef glyph="threeSmall" class="3"/><ClassDef glyph="two" class="1"/><ClassDef glyph="twoMedium" class="3"/><ClassDef glyph="twoSmall" class="3"/><ClassDef glyph="u" class="1"/><ClassDef glyph="underscore" class="1"/><ClassDef glyph="uni0600" class="1"/><ClassDef glyph="uni0600.2" class="1"/><ClassDef glyph="uni0600.3" class="1"/><ClassDef glyph="uni0600.aat1" class="1"/><ClassDef glyph="uni0600.aat2" class="1"/><ClassDef glyph="uni0600.aat3" class="1"/><ClassDef glyph="uni0600.sp1" class="1"/><ClassDef glyph="uni0600.sp2" class="1"/><ClassDef glyph="uni0600.sp3" class="1"/><ClassDef glyph="uni0601" class="1"/><ClassDef glyph="uni0601.2" class="1"/><ClassDef glyph="uni0601.3" class="1"/><ClassDef glyph="uni0601.4" class="1"/><ClassDef glyph="uni0601.aat1" class="1"/><ClassDef glyph="uni0601.aat2" class="1"/><ClassDef glyph="uni0601.aat3" class="1"/><ClassDef glyph="uni0601.aat4" class="1"/><ClassDef glyph="uni0601.sp1" class="1"/><ClassDef glyph="uni0601.sp2" class="1"/><ClassDef glyph="uni0601.sp3" class="1"/><ClassDef glyph="uni0601.sp4" class="1"/><ClassDef glyph="uni0602" class="1"/><ClassDef glyph="uni0602.2" class="1"/><ClassDef glyph="uni0602.aat1" class="1"/><ClassDef glyph="uni0602.aat2" class="1"/><ClassDef glyph="uni0602.sp1" class="1"/><ClassDef glyph="uni0602.sp2" class="1"/><ClassDef glyph="uni0603" class="1"/><ClassDef glyph="uni0603.2" class="1"/><ClassDef glyph="uni0603.3" class="1"/><ClassDef glyph="uni0603.aat1" class="1"/><ClassDef glyph="uni0603.aat2" class="1"/><ClassDef glyph="uni0603.aat3" class="1"/><ClassDef glyph="uni0603.sp1" class="1"/><ClassDef glyph="uni0603.sp2" class="1"/><ClassDef glyph="uni0603.sp3" class="1"/><ClassDef glyph="uni060B" class="1"/><ClassDef glyph="uni060C" class="1"/><ClassDef glyph="uni060C.downward" class="1"/><ClassDef glyph="uni060D" class="1"/><ClassDef glyph="uni060E" class="1"/><ClassDef glyph="uni060F" class="1"/><ClassDef glyph="uni0610" class="3"/><ClassDef glyph="uni0611" class="3"/><ClassDef glyph="uni0612" class="3"/><ClassDef glyph="uni0613" class="3"/><ClassDef glyph="uni0614" class="3"/><ClassDef glyph="uni0615" class="3"/><ClassDef glyph="uni061B" class="1"/><ClassDef glyph="uni061B.downward" class="1"/><ClassDef glyph="uni061E" class="1"/><ClassDef glyph="uni061F" class="1"/><ClassDef glyph="uni0621" class="1"/><ClassDef glyph="uni0622" class="1"/><ClassDef glyph="uni0622.fina" class="1"/><ClassDef glyph="uni0622.fina.postLamIni" class="1"/><ClassDef glyph="uni0622.fina.postLamMed" class="1"/><ClassDef glyph="uni0623" class="1"/><ClassDef glyph="uni0623.fina" class="1"/><ClassDef glyph="uni0623.fina.postLamIni" class="1"/><ClassDef glyph="uni0623.fina.postLamMed" class="1"/><ClassDef glyph="uni0624" class="1"/><ClassDef glyph="uni0624.fina" class="1"/><ClassDef glyph="uni0625" class="1"/><ClassDef glyph="uni0625.fina" class="1"/><ClassDef glyph="uni0625.fina.postLamIni" class="1"/><ClassDef glyph="uni0625.fina.postLamMed" class="1"/><ClassDef glyph="uni0626" class="1"/><ClassDef glyph="uni0626.fina" class="1"/><ClassDef glyph="uni0626.init" class="1"/><ClassDef glyph="uni0626.medi" class="1"/><ClassDef glyph="uni0627" class="1"/><ClassDef glyph="uni0627.fina" class="1"/><ClassDef glyph="uni0627.fina.postLamIni" class="1"/><ClassDef glyph="uni0627.fina.postLamMed" class="1"/><ClassDef glyph="uni0628" class="1"/><ClassDef glyph="uni0628.fina" class="1"/><ClassDef glyph="uni0628.init" class="1"/><ClassDef glyph="uni0628.medi" class="1"/><ClassDef glyph="uni0629" class="1"/><ClassDef glyph="uni0629.fina" class="1"/><ClassDef glyph="uni062A" class="1"/><ClassDef glyph="uni062A.fina" class="1"/><ClassDef glyph="uni062A.init" class="1"/><ClassDef glyph="uni062A.medi" class="1"/><ClassDef glyph="uni062B" class="1"/><ClassDef glyph="uni062B.fina" class="1"/><ClassDef glyph="uni062B.init" class="1"/><ClassDef glyph="uni062B.medi" class="1"/><ClassDef glyph="uni062C" class="1"/><ClassDef glyph="uni062C.fina" class="1"/><ClassDef glyph="uni062C.init" class="1"/><ClassDef glyph="uni062C.medi" class="1"/><ClassDef glyph="uni062D" class="1"/><ClassDef glyph="uni062D.fina" class="1"/><ClassDef glyph="uni062D.init" class="1"/><ClassDef glyph="uni062D.medi" class="1"/><ClassDef glyph="uni062E" class="1"/><ClassDef glyph="uni062E.fina" class="1"/><ClassDef glyph="uni062E.init" class="1"/><ClassDef glyph="uni062E.medi" class="1"/><ClassDef glyph="uni062F" class="1"/><ClassDef glyph="uni062F.fina" class="1"/><ClassDef glyph="uni0630" class="1"/><ClassDef glyph="uni0630.fina" class="1"/><ClassDef glyph="uni0631" class="1"/><ClassDef glyph="uni0631.fina" class="1"/><ClassDef glyph="uni0632" class="1"/><ClassDef glyph="uni0632.fina" class="1"/><ClassDef glyph="uni0633" class="1"/><ClassDef glyph="uni0633.fina" class="1"/><ClassDef glyph="uni0633.init" class="1"/><ClassDef glyph="uni0633.medi" class="1"/><ClassDef glyph="uni0634" class="1"/><ClassDef glyph="uni0634.fina" class="1"/><ClassDef glyph="uni0634.init" class="1"/><ClassDef glyph="uni0634.medi" class="1"/><ClassDef glyph="uni0635" class="1"/><ClassDef glyph="uni0635.fina" class="1"/><ClassDef glyph="uni0635.init" class="1"/><ClassDef glyph="uni0635.medi" class="1"/><ClassDef glyph="uni0636" class="1"/><ClassDef glyph="uni0636.fina" class="1"/><ClassDef glyph="uni0636.init" class="1"/><ClassDef glyph="uni0636.medi" class="1"/><ClassDef glyph="uni0637" class="1"/><ClassDef glyph="uni0637.fina" class="1"/><ClassDef glyph="uni0637.init" class="1"/><ClassDef glyph="uni0637.medi" class="1"/><ClassDef glyph="uni0638" class="1"/><ClassDef glyph="uni0638.fina" class="1"/><ClassDef glyph="uni0638.init" class="1"/><ClassDef glyph="uni0638.medi" class="1"/><ClassDef glyph="uni0639" class="1"/><ClassDef glyph="uni0639.fina" class="1"/><ClassDef glyph="uni0639.init" class="1"/><ClassDef glyph="uni0639.medi" class="1"/><ClassDef glyph="uni063A" class="1"/><ClassDef glyph="uni063A.fina" class="1"/><ClassDef glyph="uni063A.init" class="1"/><ClassDef glyph="uni063A.medi" class="1"/><ClassDef glyph="uni0640" class="1"/><ClassDef glyph="uni0641" class="1"/><ClassDef glyph="uni0641.fina" class="1"/><ClassDef glyph="uni0641.init" class="1"/><ClassDef glyph="uni0641.medi" class="1"/><ClassDef glyph="uni0642" class="1"/><ClassDef glyph="uni0642.fina" class="1"/><ClassDef glyph="uni0642.init" class="1"/><ClassDef glyph="uni0642.medi" class="1"/><ClassDef glyph="uni0643" class="1"/><ClassDef glyph="uni0643.fina" class="1"/><ClassDef glyph="uni0643.init" class="1"/><ClassDef glyph="uni0643.medi" class="1"/><ClassDef glyph="uni0644" class="1"/><ClassDef glyph="uni0644.fina" class="1"/><ClassDef glyph="uni0644.init" class="1"/><ClassDef glyph="uni0644.init.preAlef" class="1"/><ClassDef glyph="uni0644.medi" class="1"/><ClassDef glyph="uni0644.medi.preAlef" class="1"/><ClassDef glyph="uni06440627" class="2"/><ClassDef glyph="uni06440627.fina" class="2"/><ClassDef glyph="uni0645" class="1"/><ClassDef glyph="uni0645.fina" class="1"/><ClassDef glyph="uni0645.fina.sindhi" class="1"/><ClassDef glyph="uni0645.init" class="1"/><ClassDef glyph="uni0645.medi" class="1"/><ClassDef glyph="uni0645.sindhi" class="1"/><ClassDef glyph="uni0646" class="1"/><ClassDef glyph="uni0646.fina" class="1"/><ClassDef glyph="uni0646.init" class="1"/><ClassDef glyph="uni0646.medi" class="1"/><ClassDef glyph="uni0647" class="1"/><ClassDef glyph="uni0647.fina" class="1"/><ClassDef glyph="uni0647.fina.hooked" class="1"/><ClassDef glyph="uni0647.fina.knottedFlat" class="1"/><ClassDef glyph="uni0647.fina.knottedHigh" class="1"/><ClassDef glyph="uni0647.init" class="1"/><ClassDef glyph="uni0647.init.hooked" class="1"/><ClassDef glyph="uni0647.knotted" class="1"/><ClassDef glyph="uni0647.medi" class="1"/><ClassDef glyph="uni0647.medi.hooked" class="1"/><ClassDef glyph="uni0647.medi.knottedHigh" class="1"/><ClassDef glyph="uni0648" class="1"/><ClassDef glyph="uni0648.fina" class="1"/><ClassDef glyph="uni0649" class="1"/><ClassDef glyph="uni0649.fina" class="1"/><ClassDef glyph="uni0649.init" class="1"/><ClassDef glyph="uni0649.medi" class="1"/><ClassDef glyph="uni064A" class="1"/><ClassDef glyph="uni064A.fina" class="1"/><ClassDef glyph="uni064A.fina.noDots" class="1"/><ClassDef glyph="uni064A.init" class="1"/><ClassDef glyph="uni064A.init.noDots" class="1"/><ClassDef glyph="uni064A.medi" class="1"/><ClassDef glyph="uni064A.medi.noDots" class="1"/><ClassDef glyph="uni064A.noDots" class="1"/><ClassDef glyph="uni064B" class="3"/><ClassDef glyph="uni064C" class="3"/><ClassDef glyph="uni064C.sixNine" class="3"/><ClassDef glyph="uni064D" class="3"/><ClassDef glyph="uni064E" class="3"/><ClassDef glyph="uni064F" class="3"/><ClassDef glyph="uni0650" class="3"/><ClassDef glyph="uni0651" class="3"/><ClassDef glyph="uni0651064B" class="3"/><ClassDef glyph="uni0651064C" class="3"/><ClassDef glyph="uni0651064D" class="3"/><ClassDef glyph="uni0651064E" class="3"/><ClassDef glyph="uni0651064F" class="3"/><ClassDef glyph="uni06510650" class="3"/><ClassDef glyph="uni0652" class="3"/><ClassDef glyph="uni0652.downOpen" class="3"/><ClassDef glyph="uni0652.leftOpen" class="3"/><ClassDef glyph="uni0653" class="3"/><ClassDef glyph="uni0654" class="3"/><ClassDef glyph="uni0654064E" class="3"/><ClassDef glyph="uni0654064F" class="3"/><ClassDef glyph="uni0655" class="3"/><ClassDef glyph="uni0656" class="3"/><ClassDef glyph="uni0657" class="3"/><ClassDef glyph="uni0658" class="3"/><ClassDef glyph="uni0659" class="3"/><ClassDef glyph="uni065A" class="3"/><ClassDef glyph="uni065B" class="3"/><ClassDef glyph="uni065C" class="3"/><ClassDef glyph="uni065D" class="3"/><ClassDef glyph="uni065E" class="3"/><ClassDef glyph="uni0660" class="1"/><ClassDef glyph="uni0660.Medium" class="3"/><ClassDef glyph="uni0660.Small" class="3"/><ClassDef glyph="uni0661" class="1"/><ClassDef glyph="uni0661.Medium" class="3"/><ClassDef glyph="uni0661.Small" class="3"/><ClassDef glyph="uni0662" class="1"/><ClassDef glyph="uni0662.Medium" class="3"/><ClassDef glyph="uni0662.Small" class="3"/><ClassDef glyph="uni0663" class="1"/><ClassDef glyph="uni0663.Medium" class="3"/><ClassDef glyph="uni0663.Small" class="3"/><ClassDef glyph="uni0664" class="1"/><ClassDef glyph="uni0664.Medium" class="3"/><ClassDef glyph="uni0664.Small" class="3"/><ClassDef glyph="uni0665" class="1"/><ClassDef glyph="uni0665.Medium" class="3"/><ClassDef glyph="uni0665.Small" class="3"/><ClassDef glyph="uni0666" class="1"/><ClassDef glyph="uni0666.Medium" class="3"/><ClassDef glyph="uni0666.Small" class="3"/><ClassDef glyph="uni0667" class="1"/><ClassDef glyph="uni0667.Medium" class="3"/><ClassDef glyph="uni0667.Small" class="3"/><ClassDef glyph="uni0668" class="1"/><ClassDef glyph="uni0668.Medium" class="3"/><ClassDef glyph="uni0668.Small" class="3"/><ClassDef glyph="uni0669" class="1"/><ClassDef glyph="uni0669.Medium" class="3"/><ClassDef glyph="uni0669.Small" class="3"/><ClassDef glyph="uni066A" class="1"/><ClassDef glyph="uni066B" class="1"/><ClassDef glyph="uni066C" class="1"/><ClassDef glyph="uni066D" class="1"/><ClassDef glyph="uni066E" class="1"/><ClassDef glyph="uni066E.fina" class="1"/><ClassDef glyph="uni066E.init" class="1"/><ClassDef glyph="uni066E.medi" class="1"/><ClassDef glyph="uni066F" class="1"/><ClassDef glyph="uni066F.fina" class="1"/><ClassDef glyph="uni066F.init" class="1"/><ClassDef glyph="uni066F.medi" class="1"/><ClassDef glyph="uni0670" class="3"/><ClassDef glyph="uni0670.large" class="3"/><ClassDef glyph="uni0671" class="1"/><ClassDef glyph="uni0671.fina" class="1"/><ClassDef glyph="uni0671.fina.postLamIni" class="1"/><ClassDef glyph="uni0671.fina.postLamMed" class="1"/><ClassDef glyph="uni0672" class="1"/><ClassDef glyph="uni0672.fina" class="1"/><ClassDef glyph="uni0672.fina.postLamIni" class="1"/><ClassDef glyph="uni0672.fina.postLamMed" class="1"/><ClassDef glyph="uni0673" class="1"/><ClassDef glyph="uni0673.fina" class="1"/><ClassDef glyph="uni0673.fina.postLamIni" class="1"/><ClassDef glyph="uni0673.fina.postLamMed" class="1"/><ClassDef glyph="uni0674" class="3"/><ClassDef glyph="uni0675" class="1"/><ClassDef glyph="uni0675.fina" class="1"/><ClassDef glyph="uni0675.fina.postLamIni" class="1"/><ClassDef glyph="uni0675.fina.postLamMed" class="1"/><ClassDef glyph="uni0676" class="1"/><ClassDef glyph="uni0676.fina" class="1"/><ClassDef glyph="uni0677" class="1"/><ClassDef glyph="uni0677.fina" class="1"/><ClassDef glyph="uni0678" class="1"/><ClassDef glyph="uni0678.fina" class="1"/><ClassDef glyph="uni0678.init" class="1"/><ClassDef glyph="uni0678.medi" class="1"/><ClassDef glyph="uni0679" class="1"/><ClassDef glyph="uni0679.fina" class="1"/><ClassDef glyph="uni0679.init" class="1"/><ClassDef glyph="uni0679.medi" class="1"/><ClassDef glyph="uni067A" class="1"/><ClassDef glyph="uni067A.fina" class="1"/><ClassDef glyph="uni067A.init" class="1"/><ClassDef glyph="uni067A.medi" class="1"/><ClassDef glyph="uni067B" class="1"/><ClassDef glyph="uni067B.fina" class="1"/><ClassDef glyph="uni067B.init" class="1"/><ClassDef glyph="uni067B.medi" class="1"/><ClassDef glyph="uni067C" class="1"/><ClassDef glyph="uni067C.fina" class="1"/><ClassDef glyph="uni067C.init" class="1"/><ClassDef glyph="uni067C.medi" class="1"/><ClassDef glyph="uni067D" class="1"/><ClassDef glyph="uni067D.fina" class="1"/><ClassDef glyph="uni067D.init" class="1"/><ClassDef glyph="uni067D.medi" class="1"/><ClassDef glyph="uni067E" class="1"/><ClassDef glyph="uni067E.fina" class="1"/><ClassDef glyph="uni067E.init" class="1"/><ClassDef glyph="uni067E.medi" class="1"/><ClassDef glyph="uni067F" class="1"/><ClassDef glyph="uni067F.fina" class="1"/><ClassDef glyph="uni067F.init" class="1"/><ClassDef glyph="uni067F.medi" class="1"/><ClassDef glyph="uni0680" class="1"/><ClassDef glyph="uni0680.fina" class="1"/><ClassDef glyph="uni0680.init" class="1"/><ClassDef glyph="uni0680.medi" class="1"/><ClassDef glyph="uni0681" class="1"/><ClassDef glyph="uni0681.fina" class="1"/><ClassDef glyph="uni0681.init" class="1"/><ClassDef glyph="uni0681.medi" class="1"/><ClassDef glyph="uni0682" class="1"/><ClassDef glyph="uni0682.fina" class="1"/><ClassDef glyph="uni0682.init" class="1"/><ClassDef glyph="uni0682.medi" class="1"/><ClassDef glyph="uni0683" class="1"/><ClassDef glyph="uni0683.fina" class="1"/><ClassDef glyph="uni0683.init" class="1"/><ClassDef glyph="uni0683.medi" class="1"/><ClassDef glyph="uni0684" class="1"/><ClassDef glyph="uni0684.fina" class="1"/><ClassDef glyph="uni0684.init" class="1"/><ClassDef glyph="uni0684.medi" class="1"/><ClassDef glyph="uni0685" class="1"/><ClassDef glyph="uni0685.fina" class="1"/><ClassDef glyph="uni0685.init" class="1"/><ClassDef glyph="uni0685.medi" class="1"/><ClassDef glyph="uni0686" class="1"/><ClassDef glyph="uni0686.fina" class="1"/><ClassDef glyph="uni0686.init" class="1"/><ClassDef glyph="uni0686.medi" class="1"/><ClassDef glyph="uni0687" class="1"/><ClassDef glyph="uni0687.fina" class="1"/><ClassDef glyph="uni0687.init" class="1"/><ClassDef glyph="uni0687.medi" class="1"/><ClassDef glyph="uni0688" class="1"/><ClassDef glyph="uni0688.fina" class="1"/><ClassDef glyph="uni0689" class="1"/><ClassDef glyph="uni0689.fina" class="1"/><ClassDef glyph="uni068A" class="1"/><ClassDef glyph="uni068A.fina" class="1"/><ClassDef glyph="uni068B" class="1"/><ClassDef glyph="uni068B.fina" class="1"/><ClassDef glyph="uni068C" class="1"/><ClassDef glyph="uni068C.fina" class="1"/><ClassDef glyph="uni068D" class="1"/><ClassDef glyph="uni068D.fina" class="1"/><ClassDef glyph="uni068E" class="1"/><ClassDef glyph="uni068E.fina" class="1"/><ClassDef glyph="uni068F" class="1"/><ClassDef glyph="uni068F.fina" class="1"/><ClassDef glyph="uni0690" class="1"/><ClassDef glyph="uni0690.fina" class="1"/><ClassDef glyph="uni0691" class="1"/><ClassDef glyph="uni0691.fina" class="1"/><ClassDef glyph="uni0692" class="1"/><ClassDef glyph="uni0692.fina" class="1"/><ClassDef glyph="uni0693" class="1"/><ClassDef glyph="uni0693.fina" class="1"/><ClassDef glyph="uni0694" class="1"/><ClassDef glyph="uni0694.fina" class="1"/><ClassDef glyph="uni0695" class="1"/><ClassDef glyph="uni0695.fina" class="1"/><ClassDef glyph="uni0696" class="1"/><ClassDef glyph="uni0696.fina" class="1"/><ClassDef glyph="uni0697" class="1"/><ClassDef glyph="uni0697.fina" class="1"/><ClassDef glyph="uni0698" class="1"/><ClassDef glyph="uni0698.dotHat" class="1"/><ClassDef glyph="uni0698.fina" class="1"/><ClassDef glyph="uni0698.fina.dotHat" class="1"/><ClassDef glyph="uni0699" class="1"/><ClassDef glyph="uni0699.fina" class="1"/><ClassDef glyph="uni069A" class="1"/><ClassDef glyph="uni069A.fina" class="1"/><ClassDef glyph="uni069A.init" class="1"/><ClassDef glyph="uni069A.medi" class="1"/><ClassDef glyph="uni069B" class="1"/><ClassDef glyph="uni069B.fina" class="1"/><ClassDef glyph="uni069B.init" class="1"/><ClassDef glyph="uni069B.medi" class="1"/><ClassDef glyph="uni069C" class="1"/><ClassDef glyph="uni069C.fina" class="1"/><ClassDef glyph="uni069C.init" class="1"/><ClassDef glyph="uni069C.medi" class="1"/><ClassDef glyph="uni069D" class="1"/><ClassDef glyph="uni069D.fina" class="1"/><ClassDef glyph="uni069D.init" class="1"/><ClassDef glyph="uni069D.medi" class="1"/><ClassDef glyph="uni069E" class="1"/><ClassDef glyph="uni069E.fina" class="1"/><ClassDef glyph="uni069E.init" class="1"/><ClassDef glyph="uni069E.medi" class="1"/><ClassDef glyph="uni069F" class="1"/><ClassDef glyph="uni069F.fina" class="1"/><ClassDef glyph="uni069F.init" class="1"/><ClassDef glyph="uni069F.medi" class="1"/><ClassDef glyph="uni06A0" class="1"/><ClassDef glyph="uni06A0.fina" class="1"/><ClassDef glyph="uni06A0.init" class="1"/><ClassDef glyph="uni06A0.medi" class="1"/><ClassDef glyph="uni06A1" class="1"/><ClassDef glyph="uni06A1.fina" class="1"/><ClassDef glyph="uni06A1.init" class="1"/><ClassDef glyph="uni06A1.medi" class="1"/><ClassDef glyph="uni06A2" class="1"/><ClassDef glyph="uni06A2.fina" class="1"/><ClassDef glyph="uni06A2.init" class="1"/><ClassDef glyph="uni06A2.medi" class="1"/><ClassDef glyph="uni06A3" class="1"/><ClassDef glyph="uni06A3.fina" class="1"/><ClassDef glyph="uni06A3.init" class="1"/><ClassDef glyph="uni06A3.medi" class="1"/><ClassDef glyph="uni06A4" class="1"/><ClassDef glyph="uni06A4.fina" class="1"/><ClassDef glyph="uni06A4.init" class="1"/><ClassDef glyph="uni06A4.medi" class="1"/><ClassDef glyph="uni06A5" class="1"/><ClassDef glyph="uni06A5.fina" class="1"/><ClassDef glyph="uni06A5.init" class="1"/><ClassDef glyph="uni06A5.medi" class="1"/><ClassDef glyph="uni06A6" class="1"/><ClassDef glyph="uni06A6.fina" class="1"/><ClassDef glyph="uni06A6.init" class="1"/><ClassDef glyph="uni06A6.medi" class="1"/><ClassDef glyph="uni06A7" class="1"/><ClassDef glyph="uni06A7.fina" class="1"/><ClassDef glyph="uni06A7.init" class="1"/><ClassDef glyph="uni06A7.medi" class="1"/><ClassDef glyph="uni06A8" class="1"/><ClassDef glyph="uni06A8.fina" class="1"/><ClassDef glyph="uni06A8.init" class="1"/><ClassDef glyph="uni06A8.medi" class="1"/><ClassDef glyph="uni06A9" class="1"/><ClassDef glyph="uni06A9.fina" class="1"/><ClassDef glyph="uni06A9.init" class="1"/><ClassDef glyph="uni06A9.medi" class="1"/><ClassDef glyph="uni06AA" class="1"/><ClassDef glyph="uni06AA.fina" class="1"/><ClassDef glyph="uni06AA.init" class="1"/><ClassDef glyph="uni06AA.medi" class="1"/><ClassDef glyph="uni06AB" class="1"/><ClassDef glyph="uni06AB.fina" class="1"/><ClassDef glyph="uni06AB.init" class="1"/><ClassDef glyph="uni06AB.medi" class="1"/><ClassDef glyph="uni06AC" class="1"/><ClassDef glyph="uni06AC.fina" class="1"/><ClassDef glyph="uni06AC.init" class="1"/><ClassDef glyph="uni06AC.medi" class="1"/><ClassDef glyph="uni06AD" class="1"/><ClassDef glyph="uni06AD.fina" class="1"/><ClassDef glyph="uni06AD.init" class="1"/><ClassDef glyph="uni06AD.medi" class="1"/><ClassDef glyph="uni06AE" class="1"/><ClassDef glyph="uni06AE.fina" class="1"/><ClassDef glyph="uni06AE.init" class="1"/><ClassDef glyph="uni06AE.medi" class="1"/><ClassDef glyph="uni06AF" class="1"/><ClassDef glyph="uni06AF.fina" class="1"/><ClassDef glyph="uni06AF.init" class="1"/><ClassDef glyph="uni06AF.medi" class="1"/><ClassDef glyph="uni06B0" class="1"/><ClassDef glyph="uni06B0.fina" class="1"/><ClassDef glyph="uni06B0.init" class="1"/><ClassDef glyph="uni06B0.medi" class="1"/><ClassDef glyph="uni06B1" class="1"/><ClassDef glyph="uni06B1.fina" class="1"/><ClassDef glyph="uni06B1.init" class="1"/><ClassDef glyph="uni06B1.medi" class="1"/><ClassDef glyph="uni06B2" class="1"/><ClassDef glyph="uni06B2.fina" class="1"/><ClassDef glyph="uni06B2.init" class="1"/><ClassDef glyph="uni06B2.medi" class="1"/><ClassDef glyph="uni06B3" class="1"/><ClassDef glyph="uni06B3.fina" class="1"/><ClassDef glyph="uni06B3.init" class="1"/><ClassDef glyph="uni06B3.medi" class="1"/><ClassDef glyph="uni06B4" class="1"/><ClassDef glyph="uni06B4.fina" class="1"/><ClassDef glyph="uni06B4.init" class="1"/><ClassDef glyph="uni06B4.medi" class="1"/><ClassDef glyph="uni06B5" class="1"/><ClassDef glyph="uni06B5.fina" class="1"/><ClassDef glyph="uni06B5.init" class="1"/><ClassDef glyph="uni06B5.init.preAlef" class="1"/><ClassDef glyph="uni06B5.medi" class="1"/><ClassDef glyph="uni06B5.medi.preAlef" class="1"/><ClassDef glyph="uni06B50627" class="2"/><ClassDef glyph="uni06B50627.fina" class="2"/><ClassDef glyph="uni06B6" class="1"/><ClassDef glyph="uni06B6.fina" class="1"/><ClassDef glyph="uni06B6.init" class="1"/><ClassDef glyph="uni06B6.init.preAlef" class="1"/><ClassDef glyph="uni06B6.medi" class="1"/><ClassDef glyph="uni06B6.medi.preAlef" class="1"/><ClassDef glyph="uni06B60627" class="2"/><ClassDef glyph="uni06B60627.fina" class="2"/><ClassDef glyph="uni06B7" class="1"/><ClassDef glyph="uni06B7.fina" class="1"/><ClassDef glyph="uni06B7.init" class="1"/><ClassDef glyph="uni06B7.init.preAlef" class="1"/><ClassDef glyph="uni06B7.medi" class="1"/><ClassDef glyph="uni06B7.medi.preAlef" class="1"/><ClassDef glyph="uni06B70627" class="2"/><ClassDef glyph="uni06B70627.fina" class="2"/><ClassDef glyph="uni06B8" class="1"/><ClassDef glyph="uni06B8.fina" class="1"/><ClassDef glyph="uni06B8.init" class="1"/><ClassDef glyph="uni06B8.init.preAlef" class="1"/><ClassDef glyph="uni06B8.medi" class="1"/><ClassDef glyph="uni06B8.medi.preAlef" class="1"/><ClassDef glyph="uni06B80627" class="2"/><ClassDef glyph="uni06B80627.fina" class="2"/><ClassDef glyph="uni06B9" class="1"/><ClassDef glyph="uni06B9.fina" class="1"/><ClassDef glyph="uni06B9.init" class="1"/><ClassDef glyph="uni06B9.medi" class="1"/><ClassDef glyph="uni06BA" class="1"/><ClassDef glyph="uni06BA.fina" class="1"/><ClassDef glyph="uni06BA.init" class="1"/><ClassDef glyph="uni06BA.medi" class="1"/><ClassDef glyph="uni06BB" class="1"/><ClassDef glyph="uni06BB.fina" class="1"/><ClassDef glyph="uni06BB.init" class="1"/><ClassDef glyph="uni06BB.medi" class="1"/><ClassDef glyph="uni06BC" class="1"/><ClassDef glyph="uni06BC.fina" class="1"/><ClassDef glyph="uni06BC.init" class="1"/><ClassDef glyph="uni06BC.medi" class="1"/><ClassDef glyph="uni06BD" class="1"/><ClassDef glyph="uni06BD.fina" class="1"/><ClassDef glyph="uni06BD.init" class="1"/><ClassDef glyph="uni06BD.medi" class="1"/><ClassDef glyph="uni06BE" class="1"/><ClassDef glyph="uni06BE.fina" class="1"/><ClassDef glyph="uni06BE.init" class="1"/><ClassDef glyph="uni06BE.medi" class="1"/><ClassDef glyph="uni06BF" class="1"/><ClassDef glyph="uni06BF.fina" class="1"/><ClassDef glyph="uni06BF.init" class="1"/><ClassDef glyph="uni06BF.medi" class="1"/><ClassDef glyph="uni06C0" class="1"/><ClassDef glyph="uni06C0.fina" class="1"/><ClassDef glyph="uni06C0.init" class="1"/><ClassDef glyph="uni06C0.medi" class="1"/><ClassDef glyph="uni06C1" class="1"/><ClassDef glyph="uni06C1.fina" class="1"/><ClassDef glyph="uni06C1.init" class="1"/><ClassDef glyph="uni06C1.medi" class="1"/><ClassDef glyph="uni06C2" class="1"/><ClassDef glyph="uni06C2.fina" class="1"/><ClassDef glyph="uni06C2.init" class="1"/><ClassDef glyph="uni06C2.medi" class="1"/><ClassDef glyph="uni06C3" class="1"/><ClassDef glyph="uni06C3.fina" class="1"/><ClassDef glyph="uni06C4" class="1"/><ClassDef glyph="uni06C4.fina" class="1"/><ClassDef glyph="uni06C5" class="1"/><ClassDef glyph="uni06C5.fina" class="1"/><ClassDef glyph="uni06C6" class="1"/><ClassDef glyph="uni06C6.fina" class="1"/><ClassDef glyph="uni06C7" class="1"/><ClassDef glyph="uni06C7.fina" class="1"/><ClassDef glyph="uni06C8" class="1"/><ClassDef glyph="uni06C8.fina" class="1"/><ClassDef glyph="uni06C9" class="1"/><ClassDef glyph="uni06C9.fina" class="1"/><ClassDef glyph="uni06CA" class="1"/><ClassDef glyph="uni06CA.fina" class="1"/><ClassDef glyph="uni06CB" class="1"/><ClassDef glyph="uni06CB.fina" class="1"/><ClassDef glyph="uni06CC" class="1"/><ClassDef glyph="uni06CC.fina" class="1"/><ClassDef glyph="uni06CC.init" class="1"/><ClassDef glyph="uni06CC.medi" class="1"/><ClassDef glyph="uni06CD" class="1"/><ClassDef glyph="uni06CD.fina" class="1"/><ClassDef glyph="uni06CE" class="1"/><ClassDef glyph="uni06CE.fina" class="1"/><ClassDef glyph="uni06CE.init" class="1"/><ClassDef glyph="uni06CE.medi" class="1"/><ClassDef glyph="uni06CF" class="1"/><ClassDef glyph="uni06CF.fina" class="1"/><ClassDef glyph="uni06D0" class="1"/><ClassDef glyph="uni06D0.fina" class="1"/><ClassDef glyph="uni06D0.init" class="1"/><ClassDef glyph="uni06D0.medi" class="1"/><ClassDef glyph="uni06D1" class="1"/><ClassDef glyph="uni06D1.fina" class="1"/><ClassDef glyph="uni06D1.init" class="1"/><ClassDef glyph="uni06D1.medi" class="1"/><ClassDef glyph="uni06D2" class="1"/><ClassDef glyph="uni06D2.fina" class="1"/><ClassDef glyph="uni06D3" class="1"/><ClassDef glyph="uni06D3.fina" class="1"/><ClassDef glyph="uni06D4" class="1"/><ClassDef glyph="uni06D5" class="1"/><ClassDef glyph="uni06D6" class="3"/><ClassDef glyph="uni06D7" class="3"/><ClassDef glyph="uni06D8" class="3"/><ClassDef glyph="uni06D9" class="3"/><ClassDef glyph="uni06DA" class="3"/><ClassDef glyph="uni06DB" class="3"/><ClassDef glyph="uni06DC" class="3"/><ClassDef glyph="uni06DD" class="1"/><ClassDef glyph="uni06DD.2" class="1"/><ClassDef glyph="uni06DD.3" class="1"/><ClassDef glyph="uni06DD.aat1" class="1"/><ClassDef glyph="uni06DD.aat2" class="1"/><ClassDef glyph="uni06DD.aat3" class="1"/><ClassDef glyph="uni06DD.alt" class="1"/><ClassDef glyph="uni06DD.alt.2" class="1"/><ClassDef glyph="uni06DD.alt.3" class="1"/><ClassDef glyph="uni06DD.alt.aat1" class="1"/><ClassDef glyph="uni06DD.alt.aat2" class="1"/><ClassDef glyph="uni06DD.alt.aat3" class="1"/><ClassDef glyph="uni06DD.altB" class="1"/><ClassDef glyph="uni06DD.altB.2" class="1"/><ClassDef glyph="uni06DD.altB.3" class="1"/><ClassDef glyph="uni06DD.altB.aat1" class="1"/><ClassDef glyph="uni06DD.altB.aat2" class="1"/><ClassDef glyph="uni06DD.altB.aat3" class="1"/><ClassDef glyph="uni06DD.sp1" class="1"/><ClassDef glyph="uni06DD.sp2" class="1"/><ClassDef glyph="uni06DD.sp3" class="1"/><ClassDef glyph="uni06DE" class="1"/><ClassDef glyph="uni06DF" class="3"/><ClassDef glyph="uni06E0" class="3"/><ClassDef glyph="uni06E1" class="3"/><ClassDef glyph="uni06E2" class="3"/><ClassDef glyph="uni06E3" class="3"/><ClassDef glyph="uni06E4" class="3"/><ClassDef glyph="uni06E5" class="3"/><ClassDef glyph="uni06E6" class="3"/><ClassDef glyph="uni06E7" class="3"/><ClassDef glyph="uni06E8" class="3"/><ClassDef glyph="uni06E9" class="1"/><ClassDef glyph="uni06EA" class="3"/><ClassDef glyph="uni06EB" class="3"/><ClassDef glyph="uni06EC" class="3"/><ClassDef glyph="uni06ED" class="3"/><ClassDef glyph="uni06EE" class="1"/><ClassDef glyph="uni06EE.fina" class="1"/><ClassDef glyph="uni06EF" class="1"/><ClassDef glyph="uni06EF.fina" class="1"/><ClassDef glyph="uni06F0" class="1"/><ClassDef glyph="uni06F0.Medium" class="3"/><ClassDef glyph="uni06F0.Small" class="3"/><ClassDef glyph="uni06F1" class="1"/><ClassDef glyph="uni06F1.Medium" class="3"/><ClassDef glyph="uni06F1.Small" class="3"/><ClassDef glyph="uni06F2" class="1"/><ClassDef glyph="uni06F2.Medium" class="3"/><ClassDef glyph="uni06F2.Small" class="3"/><ClassDef glyph="uni06F3" class="1"/><ClassDef glyph="uni06F3.Medium" class="3"/><ClassDef glyph="uni06F3.Small" class="3"/><ClassDef glyph="uni06F4" class="1"/><ClassDef glyph="uni06F4.Medium" class="3"/><ClassDef glyph="uni06F4.Medium.urdu" class="3"/><ClassDef glyph="uni06F4.Small" class="3"/><ClassDef glyph="uni06F4.Small.urdu" class="3"/><ClassDef glyph="uni06F4.urdu" class="1"/><ClassDef glyph="uni06F5" class="1"/><ClassDef glyph="uni06F5.Medium" class="3"/><ClassDef glyph="uni06F5.Small" class="3"/><ClassDef glyph="uni06F6" class="1"/><ClassDef glyph="uni06F6.Medium" class="3"/><ClassDef glyph="uni06F6.Medium.urdu" class="3"/><ClassDef glyph="uni06F6.Small" class="3"/><ClassDef glyph="uni06F6.Small.urdu" class="3"/><ClassDef glyph="uni06F6.urdu" class="1"/><ClassDef glyph="uni06F7" class="1"/><ClassDef glyph="uni06F7.Medium" class="3"/><ClassDef glyph="uni06F7.Medium.urdu" class="3"/><ClassDef glyph="uni06F7.Small" class="3"/><ClassDef glyph="uni06F7.Small.urdu" class="3"/><ClassDef glyph="uni06F7.urdu" class="1"/><ClassDef glyph="uni06F8" class="1"/><ClassDef glyph="uni06F8.Medium" class="3"/><ClassDef glyph="uni06F8.Small" class="3"/><ClassDef glyph="uni06F9" class="1"/><ClassDef glyph="uni06F9.Medium" class="3"/><ClassDef glyph="uni06F9.Small" class="3"/><ClassDef glyph="uni06FA" class="1"/><ClassDef glyph="uni06FA.fina" class="1"/><ClassDef glyph="uni06FA.init" class="1"/><ClassDef glyph="uni06FA.medi" class="1"/><ClassDef glyph="uni06FB" class="1"/><ClassDef glyph="uni06FB.fina" class="1"/><ClassDef glyph="uni06FB.init" class="1"/><ClassDef glyph="uni06FB.medi" class="1"/><ClassDef glyph="uni06FC" class="1"/><ClassDef glyph="uni06FC.fina" class="1"/><ClassDef glyph="uni06FC.init" class="1"/><ClassDef glyph="uni06FC.medi" class="1"/><ClassDef glyph="uni06FD" class="1"/><ClassDef glyph="uni06FE" class="1"/><ClassDef glyph="uni06FF" class="1"/><ClassDef glyph="uni06FF.fina" class="1"/><ClassDef glyph="uni06FF.init" class="1"/><ClassDef glyph="uni06FF.medi" class="1"/><ClassDef glyph="uni0750" class="1"/><ClassDef glyph="uni0750.fina" class="1"/><ClassDef glyph="uni0750.init" class="1"/><ClassDef glyph="uni0750.medi" class="1"/><ClassDef glyph="uni0751" class="1"/><ClassDef glyph="uni0751.fina" class="1"/><ClassDef glyph="uni0751.init" class="1"/><ClassDef glyph="uni0751.medi" class="1"/><ClassDef glyph="uni0752" class="1"/><ClassDef glyph="uni0752.fina" class="1"/><ClassDef glyph="uni0752.init" class="1"/><ClassDef glyph="uni0752.medi" class="1"/><ClassDef glyph="uni0753" class="1"/><ClassDef glyph="uni0753.fina" class="1"/><ClassDef glyph="uni0753.init" class="1"/><ClassDef glyph="uni0753.medi" class="1"/><ClassDef glyph="uni0754" class="1"/><ClassDef glyph="uni0754.fina" class="1"/><ClassDef glyph="uni0754.init" class="1"/><ClassDef glyph="uni0754.medi" class="1"/><ClassDef glyph="uni0755" class="1"/><ClassDef glyph="uni0755.fina" class="1"/><ClassDef glyph="uni0755.init" class="1"/><ClassDef glyph="uni0755.medi" class="1"/><ClassDef glyph="uni0756" class="1"/><ClassDef glyph="uni0756.fina" class="1"/><ClassDef glyph="uni0756.init" class="1"/><ClassDef glyph="uni0756.medi" class="1"/><ClassDef glyph="uni0757" class="1"/><ClassDef glyph="uni0757.fina" class="1"/><ClassDef glyph="uni0757.init" class="1"/><ClassDef glyph="uni0757.medi" class="1"/><ClassDef glyph="uni0758" class="1"/><ClassDef glyph="uni0758.fina" class="1"/><ClassDef glyph="uni0758.init" class="1"/><ClassDef glyph="uni0758.medi" class="1"/><ClassDef glyph="uni0759" class="1"/><ClassDef glyph="uni0759.fina" class="1"/><ClassDef glyph="uni075A" class="1"/><ClassDef glyph="uni075A.fina" class="1"/><ClassDef glyph="uni075B" class="1"/><ClassDef glyph="uni075B.fina" class="1"/><ClassDef glyph="uni075C" class="1"/><ClassDef glyph="uni075C.fina" class="1"/><ClassDef glyph="uni075C.init" class="1"/><ClassDef glyph="uni075C.medi" class="1"/><ClassDef glyph="uni075D" class="1"/><ClassDef glyph="uni075D.fina" class="1"/><ClassDef glyph="uni075D.init" class="1"/><ClassDef glyph="uni075D.medi" class="1"/><ClassDef glyph="uni075E" class="1"/><ClassDef glyph="uni075E.fina" class="1"/><ClassDef glyph="uni075E.init" class="1"/><ClassDef glyph="uni075E.medi" class="1"/><ClassDef glyph="uni075F" class="1"/><ClassDef glyph="uni075F.fina" class="1"/><ClassDef glyph="uni075F.init" class="1"/><ClassDef glyph="uni075F.medi" class="1"/><ClassDef glyph="uni0760" class="1"/><ClassDef glyph="uni0760.fina" class="1"/><ClassDef glyph="uni0760.init" class="1"/><ClassDef glyph="uni0760.medi" class="1"/><ClassDef glyph="uni0761" class="1"/><ClassDef glyph="uni0761.fina" class="1"/><ClassDef glyph="uni0761.init" class="1"/><ClassDef glyph="uni0761.medi" class="1"/><ClassDef glyph="uni0762" class="1"/><ClassDef glyph="uni0762.fina" class="1"/><ClassDef glyph="uni0762.init" class="1"/><ClassDef glyph="uni0762.medi" class="1"/><ClassDef glyph="uni0763" class="1"/><ClassDef glyph="uni0763.fina" class="1"/><ClassDef glyph="uni0763.init" class="1"/><ClassDef glyph="uni0763.medi" class="1"/><ClassDef glyph="uni0764" class="1"/><ClassDef glyph="uni0764.fina" class="1"/><ClassDef glyph="uni0764.init" class="1"/><ClassDef glyph="uni0764.medi" class="1"/><ClassDef glyph="uni0765" class="1"/><ClassDef glyph="uni0765.fina" class="1"/><ClassDef glyph="uni0765.init" class="1"/><ClassDef glyph="uni0765.medi" class="1"/><ClassDef glyph="uni0766" class="1"/><ClassDef glyph="uni0766.fina" class="1"/><ClassDef glyph="uni0766.init" class="1"/><ClassDef glyph="uni0766.medi" class="1"/><ClassDef glyph="uni0767" class="1"/><ClassDef glyph="uni0767.fina" class="1"/><ClassDef glyph="uni0767.init" class="1"/><ClassDef glyph="uni0767.medi" class="1"/><ClassDef glyph="uni0768" class="1"/><ClassDef glyph="uni0768.fina" class="1"/><ClassDef glyph="uni0768.init" class="1"/><ClassDef glyph="uni0768.medi" class="1"/><ClassDef glyph="uni0769" class="1"/><ClassDef glyph="uni0769.fina" class="1"/><ClassDef glyph="uni0769.init" class="1"/><ClassDef glyph="uni0769.medi" class="1"/><ClassDef glyph="uni076A" class="1"/><ClassDef glyph="uni076A.fina" class="1"/><ClassDef glyph="uni076A.init" class="1"/><ClassDef glyph="uni076A.init.preAlef" class="1"/><ClassDef glyph="uni076A.medi" class="1"/><ClassDef glyph="uni076A.medi.preAlef" class="1"/><ClassDef glyph="uni076A0627" class="2"/><ClassDef glyph="uni076A0627.fina" class="2"/><ClassDef glyph="uni076B" class="1"/><ClassDef glyph="uni076B.fina" class="1"/><ClassDef glyph="uni076C" class="1"/><ClassDef glyph="uni076C.fina" class="1"/><ClassDef glyph="uni076D" class="1"/><ClassDef glyph="uni076D.fina" class="1"/><ClassDef glyph="uni076D.init" class="1"/><ClassDef glyph="uni076D.medi" class="1"/><ClassDef glyph="uni2000" class="1"/><ClassDef glyph="uni2001" class="1"/><ClassDef glyph="uni2002" class="1"/><ClassDef glyph="uni2003" class="1"/><ClassDef glyph="uni2004" class="1"/><ClassDef glyph="uni2005" class="1"/><ClassDef glyph="uni2006" class="1"/><ClassDef glyph="uni2007" class="1"/><ClassDef glyph="uni2008" class="1"/><ClassDef glyph="uni2009" class="1"/><ClassDef glyph="uni200A" class="1"/><ClassDef glyph="uni200B" class="1"/><ClassDef glyph="uni200C" class="1"/><ClassDef glyph="uni200D" class="1"/><ClassDef glyph="uni200E" class="1"/><ClassDef glyph="uni200F" class="1"/><ClassDef glyph="uni202A" class="1"/><ClassDef glyph="uni202B" class="1"/><ClassDef glyph="uni202C" class="1"/><ClassDef glyph="uni202D" class="1"/><ClassDef glyph="uni202E" class="1"/><ClassDef glyph="uni2060" class="1"/><ClassDef glyph="uni206C" class="1"/><ClassDef glyph="uni206D" class="1"/><ClassDef glyph="uni25CC" class="1"/><ClassDef glyph="uniFD3E" class="1"/><ClassDef glyph="uniFD3F" class="1"/><ClassDef glyph="uniFDF2" class="1"/><ClassDef glyph="uniFDFC" class="1"/><ClassDef glyph="uniFEFF" class="1"/><ClassDef glyph="v" class="1"/><ClassDef glyph="w" class="1"/><ClassDef glyph="x" class="1"/><ClassDef glyph="y" class="1"/><ClassDef glyph="z" class="1"/><ClassDef glyph="zero" class="1"/><ClassDef glyph="zeroMedium" class="3"/><ClassDef glyph="zeroSmall" class="3"/></GlyphClassDef><LigCaretList><Coverage Format="1"></Coverage></LigCaretList><MarkAttachClassDef Format="2"><ClassDef glyph="uni064B" class="1"/><ClassDef glyph="uni064C" class="1"/><ClassDef glyph="uni064D" class="1"/><ClassDef glyph="uni064E" class="1"/><ClassDef glyph="uni064F" class="1"/><ClassDef glyph="uni0650" class="1"/><ClassDef glyph="uni0651" class="1"/><ClassDef glyph="uni0654" class="2"/><ClassDef glyph="uni0670" class="1"/></MarkAttachClassDef></GDEF><GSUB><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="4"/><FeatureIndex index="2" value="12"/><FeatureIndex index="3" value="16"/><FeatureIndex index="4" value="20"/><FeatureIndex index="5" value="24"/><FeatureIndex index="6" value="8"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="KUR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="5"/><FeatureIndex index="2" value="13"/><FeatureIndex index="3" value="17"/><FeatureIndex index="4" value="21"/><FeatureIndex index="5" value="25"/><FeatureIndex index="6" value="9"/></LangSys></LangSysRecord><LangSysRecord index="1"><LangSysTag value="SND "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="2"/><FeatureIndex index="1" value="6"/><FeatureIndex index="2" value="14"/><FeatureIndex index="3" value="18"/><FeatureIndex index="4" value="22"/><FeatureIndex index="5" value="26"/><FeatureIndex index="6" value="10"/></LangSys></LangSysRecord><LangSysRecord index="2"><LangSysTag value="URD "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="3"/><FeatureIndex index="1" value="7"/><FeatureIndex index="2" value="15"/><FeatureIndex index="3" value="19"/><FeatureIndex index="4" value="23"/><FeatureIndex index="5" value="27"/><FeatureIndex index="6" value="11"/></LangSys></LangSysRecord></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="9"/><LookupListIndex index="1" value="10"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="9"/><LookupListIndex index="1" value="10"/><LookupListIndex index="2" value="12"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="9"/><LookupListIndex index="1" value="10"/><LookupListIndex index="2" value="11"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="calt"/><Feature><LookupListIndex index="0" value="9"/><LookupListIndex index="1" value="10"/><LookupListIndex index="2" value="13"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="6"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="7"><FeatureTag value="ccmp"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="8"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="9"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="10"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="11"><FeatureTag value="fina"/><Feature><LookupListIndex index="0" value="2"/></Feature></FeatureRecord><FeatureRecord index="12"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="13"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="14"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="15"><FeatureTag value="init"/><Feature><LookupListIndex index="0" value="1"/></Feature></FeatureRecord><FeatureRecord index="16"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="17"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="18"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="19"><FeatureTag value="medi"/><Feature><LookupListIndex index="0" value="3"/></Feature></FeatureRecord><FeatureRecord index="20"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="6"/><LookupListIndex index="3" value="7"/><LookupListIndex index="4" value="8"/></Feature></FeatureRecord><FeatureRecord index="21"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="6"/><LookupListIndex index="3" value="7"/><LookupListIndex index="4" value="8"/></Feature></FeatureRecord><FeatureRecord index="22"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/><LookupListIndex index="3" value="8"/></Feature></FeatureRecord><FeatureRecord index="23"><FeatureTag value="rlig"/><Feature><LookupListIndex index="0" value="4"/><LookupListIndex index="1" value="5"/><LookupListIndex index="2" value="7"/><LookupListIndex index="3" value="8"/></Feature></FeatureRecord><FeatureRecord index="24"><FeatureTag value="salt"/><Feature><LookupListIndex index="0" value="14"/></Feature></FeatureRecord><FeatureRecord index="25"><FeatureTag value="salt"/><Feature><LookupListIndex index="0" value="14"/></Feature></FeatureRecord><FeatureRecord index="26"><FeatureTag value="salt"/><Feature><LookupListIndex index="0" value="14"/></Feature></FeatureRecord><FeatureRecord index="27"><FeatureTag value="salt"/><Feature><LookupListIndex index="0" value="14"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="2"/><LookupFlag value="1"/><MultipleSubst index="0" Format="1"><Coverage Format="2"><Glyph value="uni0622"/><Glyph value="uni0623"/><Glyph value="uni0625"/></Coverage><Sequence index="0"><Substitute index="0" value="uni0627"/><Substitute index="1" value="uni0653"/></Sequence><Sequence index="1"><Substitute index="0" value="uni0627"/><Substitute index="1" value="uni0654"/></Sequence><Sequence index="2"><Substitute index="0" value="uni0627"/><Substitute index="1" value="uni0655"/></Sequence></MultipleSubst></Lookup><Lookup index="1"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absJeemRetro1" out="absJeemRetro1Ini"/><Substitution in="absJeemRetro2" out="absJeemRetro2Ini"/><Substitution in="absJeemRetro3" out="absJeemRetro3Ini"/><Substitution in="absLamRetro" out="absLamRetroIni"/><Substitution in="absSheenRetro1" out="absSheenRetro1Ini"/><Substitution in="absSheenRetro2" out="absSheenRetro2Ini"/><Substitution in="absTchehRetro1" out="absTchehRetro1Ini"/><Substitution in="absTchehRetro2" out="absTchehRetro2Ini"/><Substitution in="uni0626" out="uni0626.init"/><Substitution in="uni0628" out="uni0628.init"/><Substitution in="uni062A" out="uni062A.init"/><Substitution in="uni062B" out="uni062B.init"/><Substitution in="uni062C" out="uni062C.init"/><Substitution in="uni062D" out="uni062D.init"/><Substitution in="uni062E" out="uni062E.init"/><Substitution in="uni0633" out="uni0633.init"/><Substitution in="uni0634" out="uni0634.init"/><Substitution in="uni0635" out="uni0635.init"/><Substitution in="uni0636" out="uni0636.init"/><Substitution in="uni0637" out="uni0637.init"/><Substitution in="uni0638" out="uni0638.init"/><Substitution in="uni0639" out="uni0639.init"/><Substitution in="uni063A" out="uni063A.init"/><Substitution in="uni0641" out="uni0641.init"/><Substitution in="uni0642" out="uni0642.init"/><Substitution in="uni0643" out="uni0643.init"/><Substitution in="uni0644" out="uni0644.init"/><Substitution in="uni0645" out="uni0645.init"/><Substitution in="uni0646" out="uni0646.init"/><Substitution in="uni0647" out="uni0647.init"/><Substitution in="uni0649" out="uni0649.init"/><Substitution in="uni064A" out="uni064A.init"/><Substitution in="uni064A.noDots" out="uni064A.init.noDots"/><Substitution in="uni066E" out="uni066E.init"/><Substitution in="uni066F" out="uni066F.init"/><Substitution in="uni0678" out="uni0678.init"/><Substitution in="uni0679" out="uni0679.init"/><Substitution in="uni067A" out="uni067A.init"/><Substitution in="uni067B" out="uni067B.init"/><Substitution in="uni067C" out="uni067C.init"/><Substitution in="uni067D" out="uni067D.init"/><Substitution in="uni067E" out="uni067E.init"/><Substitution in="uni067F" out="uni067F.init"/><Substitution in="uni0680" out="uni0680.init"/><Substitution in="uni0681" out="uni0681.init"/><Substitution in="uni0682" out="uni0682.init"/><Substitution in="uni0683" out="uni0683.init"/><Substitution in="uni0684" out="uni0684.init"/><Substitution in="uni0685" out="uni0685.init"/><Substitution in="uni0686" out="uni0686.init"/><Substitution in="uni0687" out="uni0687.init"/><Substitution in="uni069A" out="uni069A.init"/><Substitution in="uni069B" out="uni069B.init"/><Substitution in="uni069C" out="uni069C.init"/><Substitution in="uni069D" out="uni069D.init"/><Substitution in="uni069E" out="uni069E.init"/><Substitution in="uni069F" out="uni069F.init"/><Substitution in="uni06A0" out="uni06A0.init"/><Substitution in="uni06A1" out="uni06A1.init"/><Substitution in="uni06A2" out="uni06A2.init"/><Substitution in="uni06A3" out="uni06A3.init"/><Substitution in="uni06A4" out="uni06A4.init"/><Substitution in="uni06A5" out="uni06A5.init"/><Substitution in="uni06A6" out="uni06A6.init"/><Substitution in="uni06A7" out="uni06A7.init"/><Substitution in="uni06A8" out="uni06A8.init"/><Substitution in="uni06A9" out="uni06A9.init"/><Substitution in="uni06AA" out="uni06AA.init"/><Substitution in="uni06AB" out="uni06AB.init"/><Substitution in="uni06AC" out="uni06AC.init"/><Substitution in="uni06AD" out="uni06AD.init"/><Substitution in="uni06AE" out="uni06AE.init"/><Substitution in="uni06AF" out="uni06AF.init"/><Substitution in="uni06B0" out="uni06B0.init"/><Substitution in="uni06B1" out="uni06B1.init"/><Substitution in="uni06B2" out="uni06B2.init"/><Substitution in="uni06B3" out="uni06B3.init"/><Substitution in="uni06B4" out="uni06B4.init"/><Substitution in="uni06B5" out="uni06B5.init"/><Substitution in="uni06B6" out="uni06B6.init"/><Substitution in="uni06B7" out="uni06B7.init"/><Substitution in="uni06B8" out="uni06B8.init"/><Substitution in="uni06B9" out="uni06B9.init"/><Substitution in="uni06BA" out="uni06BA.init"/><Substitution in="uni06BB" out="uni06BB.init"/><Substitution in="uni06BC" out="uni06BC.init"/><Substitution in="uni06BD" out="uni06BD.init"/><Substitution in="uni06BE" out="uni06BE.init"/><Substitution in="uni06BF" out="uni06BF.init"/><Substitution in="uni06C1" out="uni06C1.init"/><Substitution in="uni06CC" out="uni06CC.init"/><Substitution in="uni06CE" out="uni06CE.init"/><Substitution in="uni06D0" out="uni06D0.init"/><Substitution in="uni06D1" out="uni06D1.init"/><Substitution in="uni06FA" out="uni06FA.init"/><Substitution in="uni06FB" out="uni06FB.init"/><Substitution in="uni06FC" out="uni06FC.init"/><Substitution in="uni06FF" out="uni06FF.init"/><Substitution in="uni0750" out="uni0750.init"/><Substitution in="uni0751" out="uni0751.init"/><Substitution in="uni0752" out="uni0752.init"/><Substitution in="uni0753" out="uni0753.init"/><Substitution in="uni0754" out="uni0754.init"/><Substitution in="uni0755" out="uni0755.init"/><Substitution in="uni0756" out="uni0756.init"/><Substitution in="uni0757" out="uni0757.init"/><Substitution in="uni0758" out="uni0758.init"/><Substitution in="uni075C" out="uni075C.init"/><Substitution in="uni075D" out="uni075D.init"/><Substitution in="uni075E" out="uni075E.init"/><Substitution in="uni075F" out="uni075F.init"/><Substitution in="uni0760" out="uni0760.init"/><Substitution in="uni0761" out="uni0761.init"/><Substitution in="uni0762" out="uni0762.init"/><Substitution in="uni0763" out="uni0763.init"/><Substitution in="uni0764" out="uni0764.init"/><Substitution in="uni0765" out="uni0765.init"/><Substitution in="uni0766" out="uni0766.init"/><Substitution in="uni0767" out="uni0767.init"/><Substitution in="uni0768" out="uni0768.init"/><Substitution in="uni0769" out="uni0769.init"/><Substitution in="uni076A" out="uni076A.init"/><Substitution in="uni076D" out="uni076D.init"/></SingleSubst></Lookup><Lookup index="2"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absJeemRetro1" out="absJeemRetro1Fin"/><Substitution in="absJeemRetro2" out="absJeemRetro2Fin"/><Substitution in="absJeemRetro3" out="absJeemRetro3Fin"/><Substitution in="absJehRetro1" out="absJehRetro1Fin"/><Substitution in="absJehRetro2" out="absJehRetro2Fin"/><Substitution in="absLamRetro" out="absLamRetroFin"/><Substitution in="absSheenRetro1" out="absSheenRetro1Fin"/><Substitution in="absSheenRetro2" out="absSheenRetro2Fin"/><Substitution in="absTchehRetro1" out="absTchehRetro1Fin"/><Substitution in="absTchehRetro2" out="absTchehRetro2Fin"/><Substitution in="absWawDotBelow" out="absWawDotBelowFin"/><Substitution in="uni0622" out="uni0622.fina"/><Substitution in="uni0623" out="uni0623.fina"/><Substitution in="uni0624" out="uni0624.fina"/><Substitution in="uni0625" out="uni0625.fina"/><Substitution in="uni0626" out="uni0626.fina"/><Substitution in="uni0627" out="uni0627.fina"/><Substitution in="uni0628" out="uni0628.fina"/><Substitution in="uni0629" out="uni0629.fina"/><Substitution in="uni062A" out="uni062A.fina"/><Substitution in="uni062B" out="uni062B.fina"/><Substitution in="uni062C" out="uni062C.fina"/><Substitution in="uni062D" out="uni062D.fina"/><Substitution in="uni062E" out="uni062E.fina"/><Substitution in="uni062F" out="uni062F.fina"/><Substitution in="uni0630" out="uni0630.fina"/><Substitution in="uni0631" out="uni0631.fina"/><Substitution in="uni0632" out="uni0632.fina"/><Substitution in="uni0633" out="uni0633.fina"/><Substitution in="uni0634" out="uni0634.fina"/><Substitution in="uni0635" out="uni0635.fina"/><Substitution in="uni0636" out="uni0636.fina"/><Substitution in="uni0637" out="uni0637.fina"/><Substitution in="uni0638" out="uni0638.fina"/><Substitution in="uni0639" out="uni0639.fina"/><Substitution in="uni063A" out="uni063A.fina"/><Substitution in="uni0641" out="uni0641.fina"/><Substitution in="uni0642" out="uni0642.fina"/><Substitution in="uni0643" out="uni0643.fina"/><Substitution in="uni0644" out="uni0644.fina"/><Substitution in="uni0645" out="uni0645.fina"/><Substitution in="uni0646" out="uni0646.fina"/><Substitution in="uni0647" out="uni0647.fina"/><Substitution in="uni0648" out="uni0648.fina"/><Substitution in="uni0649" out="uni0649.fina"/><Substitution in="uni064A" out="uni064A.fina"/><Substitution in="uni064A.noDots" out="uni064A.fina.noDots"/><Substitution in="uni066E" out="uni066E.fina"/><Substitution in="uni066F" out="uni066F.fina"/><Substitution in="uni0671" out="uni0671.fina"/><Substitution in="uni0672" out="uni0672.fina"/><Substitution in="uni0673" out="uni0673.fina"/><Substitution in="uni0675" out="uni0675.fina"/><Substitution in="uni0676" out="uni0676.fina"/><Substitution in="uni0677" out="uni0677.fina"/><Substitution in="uni0678" out="uni0678.fina"/><Substitution in="uni0679" out="uni0679.fina"/><Substitution in="uni067A" out="uni067A.fina"/><Substitution in="uni067B" out="uni067B.fina"/><Substitution in="uni067C" out="uni067C.fina"/><Substitution in="uni067D" out="uni067D.fina"/><Substitution in="uni067E" out="uni067E.fina"/><Substitution in="uni067F" out="uni067F.fina"/><Substitution in="uni0680" out="uni0680.fina"/><Substitution in="uni0681" out="uni0681.fina"/><Substitution in="uni0682" out="uni0682.fina"/><Substitution in="uni0683" out="uni0683.fina"/><Substitution in="uni0684" out="uni0684.fina"/><Substitution in="uni0685" out="uni0685.fina"/><Substitution in="uni0686" out="uni0686.fina"/><Substitution in="uni0687" out="uni0687.fina"/><Substitution in="uni0688" out="uni0688.fina"/><Substitution in="uni0689" out="uni0689.fina"/><Substitution in="uni068A" out="uni068A.fina"/><Substitution in="uni068B" out="uni068B.fina"/><Substitution in="uni068C" out="uni068C.fina"/><Substitution in="uni068D" out="uni068D.fina"/><Substitution in="uni068E" out="uni068E.fina"/><Substitution in="uni068F" out="uni068F.fina"/><Substitution in="uni0690" out="uni0690.fina"/><Substitution in="uni0691" out="uni0691.fina"/><Substitution in="uni0692" out="uni0692.fina"/><Substitution in="uni0693" out="uni0693.fina"/><Substitution in="uni0694" out="uni0694.fina"/><Substitution in="uni0695" out="uni0695.fina"/><Substitution in="uni0696" out="uni0696.fina"/><Substitution in="uni0697" out="uni0697.fina"/><Substitution in="uni0698" out="uni0698.fina"/><Substitution in="uni0698.dotHat" out="uni0698.fina.dotHat"/><Substitution in="uni0699" out="uni0699.fina"/><Substitution in="uni069A" out="uni069A.fina"/><Substitution in="uni069B" out="uni069B.fina"/><Substitution in="uni069C" out="uni069C.fina"/><Substitution in="uni069D" out="uni069D.fina"/><Substitution in="uni069E" out="uni069E.fina"/><Substitution in="uni069F" out="uni069F.fina"/><Substitution in="uni06A0" out="uni06A0.fina"/><Substitution in="uni06A1" out="uni06A1.fina"/><Substitution in="uni06A2" out="uni06A2.fina"/><Substitution in="uni06A3" out="uni06A3.fina"/><Substitution in="uni06A4" out="uni06A4.fina"/><Substitution in="uni06A5" out="uni06A5.fina"/><Substitution in="uni06A6" out="uni06A6.fina"/><Substitution in="uni06A7" out="uni06A7.fina"/><Substitution in="uni06A8" out="uni06A8.fina"/><Substitution in="uni06A9" out="uni06A9.fina"/><Substitution in="uni06AA" out="uni06AA.fina"/><Substitution in="uni06AB" out="uni06AB.fina"/><Substitution in="uni06AC" out="uni06AC.fina"/><Substitution in="uni06AD" out="uni06AD.fina"/><Substitution in="uni06AE" out="uni06AE.fina"/><Substitution in="uni06AF" out="uni06AF.fina"/><Substitution in="uni06B0" out="uni06B0.fina"/><Substitution in="uni06B1" out="uni06B1.fina"/><Substitution in="uni06B2" out="uni06B2.fina"/><Substitution in="uni06B3" out="uni06B3.fina"/><Substitution in="uni06B4" out="uni06B4.fina"/><Substitution in="uni06B5" out="uni06B5.fina"/><Substitution in="uni06B6" out="uni06B6.fina"/><Substitution in="uni06B7" out="uni06B7.fina"/><Substitution in="uni06B8" out="uni06B8.fina"/><Substitution in="uni06B9" out="uni06B9.fina"/><Substitution in="uni06BA" out="uni06BA.fina"/><Substitution in="uni06BB" out="uni06BB.fina"/><Substitution in="uni06BC" out="uni06BC.fina"/><Substitution in="uni06BD" out="uni06BD.fina"/><Substitution in="uni06BE" out="uni06BE.fina"/><Substitution in="uni06BF" out="uni06BF.fina"/><Substitution in="uni06C0" out="uni06C0.fina"/><Substitution in="uni06C1" out="uni06C1.fina"/><Substitution in="uni06C2" out="uni06C2.fina"/><Substitution in="uni06C3" out="uni06C3.fina"/><Substitution in="uni06C4" out="uni06C4.fina"/><Substitution in="uni06C5" out="uni06C5.fina"/><Substitution in="uni06C6" out="uni06C6.fina"/><Substitution in="uni06C7" out="uni06C7.fina"/><Substitution in="uni06C8" out="uni06C8.fina"/><Substitution in="uni06C9" out="uni06C9.fina"/><Substitution in="uni06CA" out="uni06CA.fina"/><Substitution in="uni06CB" out="uni06CB.fina"/><Substitution in="uni06CC" out="uni06CC.fina"/><Substitution in="uni06CD" out="uni06CD.fina"/><Substitution in="uni06CE" out="uni06CE.fina"/><Substitution in="uni06CF" out="uni06CF.fina"/><Substitution in="uni06D0" out="uni06D0.fina"/><Substitution in="uni06D1" out="uni06D1.fina"/><Substitution in="uni06D2" out="uni06D2.fina"/><Substitution in="uni06D3" out="uni06D3.fina"/><Substitution in="uni06D5" out="uni06D5.fina"/><Substitution in="uni06EE" out="uni06EE.fina"/><Substitution in="uni06EF" out="uni06EF.fina"/><Substitution in="uni06FA" out="uni06FA.fina"/><Substitution in="uni06FB" out="uni06FB.fina"/><Substitution in="uni06FC" out="uni06FC.fina"/><Substitution in="uni06FF" out="uni06FF.fina"/><Substitution in="uni0750" out="uni0750.fina"/><Substitution in="uni0751" out="uni0751.fina"/><Substitution in="uni0752" out="uni0752.fina"/><Substitution in="uni0753" out="uni0753.fina"/><Substitution in="uni0754" out="uni0754.fina"/><Substitution in="uni0755" out="uni0755.fina"/><Substitution in="uni0756" out="uni0756.fina"/><Substitution in="uni0757" out="uni0757.fina"/><Substitution in="uni0758" out="uni0758.fina"/><Substitution in="uni0759" out="uni0759.fina"/><Substitution in="uni075A" out="uni075A.fina"/><Substitution in="uni075B" out="uni075B.fina"/><Substitution in="uni075C" out="uni075C.fina"/><Substitution in="uni075D" out="uni075D.fina"/><Substitution in="uni075E" out="uni075E.fina"/><Substitution in="uni075F" out="uni075F.fina"/><Substitution in="uni0760" out="uni0760.fina"/><Substitution in="uni0761" out="uni0761.fina"/><Substitution in="uni0762" out="uni0762.fina"/><Substitution in="uni0763" out="uni0763.fina"/><Substitution in="uni0764" out="uni0764.fina"/><Substitution in="uni0765" out="uni0765.fina"/><Substitution in="uni0766" out="uni0766.fina"/><Substitution in="uni0767" out="uni0767.fina"/><Substitution in="uni0768" out="uni0768.fina"/><Substitution in="uni0769" out="uni0769.fina"/><Substitution in="uni076A" out="uni076A.fina"/><Substitution in="uni076B" out="uni076B.fina"/><Substitution in="uni076C" out="uni076C.fina"/><Substitution in="uni076D" out="uni076D.fina"/></SingleSubst></Lookup><Lookup index="3"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absJeemRetro1" out="absJeemRetro1Med"/><Substitution in="absJeemRetro2" out="absJeemRetro2Med"/><Substitution in="absJeemRetro3" out="absJeemRetro3Med"/><Substitution in="absLamRetro" out="absLamRetroMed"/><Substitution in="absSheenRetro1" out="absSheenRetro1Med"/><Substitution in="absSheenRetro2" out="absSheenRetro2Med"/><Substitution in="absTchehRetro1" out="absTchehRetro1Med"/><Substitution in="absTchehRetro2" out="absTchehRetro2Med"/><Substitution in="uni0626" out="uni0626.medi"/><Substitution in="uni0628" out="uni0628.medi"/><Substitution in="uni062A" out="uni062A.medi"/><Substitution in="uni062B" out="uni062B.medi"/><Substitution in="uni062C" out="uni062C.medi"/><Substitution in="uni062D" out="uni062D.medi"/><Substitution in="uni062E" out="uni062E.medi"/><Substitution in="uni0633" out="uni0633.medi"/><Substitution in="uni0634" out="uni0634.medi"/><Substitution in="uni0635" out="uni0635.medi"/><Substitution in="uni0636" out="uni0636.medi"/><Substitution in="uni0637" out="uni0637.medi"/><Substitution in="uni0638" out="uni0638.medi"/><Substitution in="uni0639" out="uni0639.medi"/><Substitution in="uni063A" out="uni063A.medi"/><Substitution in="uni0641" out="uni0641.medi"/><Substitution in="uni0642" out="uni0642.medi"/><Substitution in="uni0643" out="uni0643.medi"/><Substitution in="uni0644" out="uni0644.medi"/><Substitution in="uni0645" out="uni0645.medi"/><Substitution in="uni0646" out="uni0646.medi"/><Substitution in="uni0647" out="uni0647.medi"/><Substitution in="uni0649" out="uni0649.medi"/><Substitution in="uni064A" out="uni064A.medi"/><Substitution in="uni064A.noDots" out="uni064A.medi.noDots"/><Substitution in="uni066E" out="uni066E.medi"/><Substitution in="uni066F" out="uni066F.medi"/><Substitution in="uni0678" out="uni0678.medi"/><Substitution in="uni0679" out="uni0679.medi"/><Substitution in="uni067A" out="uni067A.medi"/><Substitution in="uni067B" out="uni067B.medi"/><Substitution in="uni067C" out="uni067C.medi"/><Substitution in="uni067D" out="uni067D.medi"/><Substitution in="uni067E" out="uni067E.medi"/><Substitution in="uni067F" out="uni067F.medi"/><Substitution in="uni0680" out="uni0680.medi"/><Substitution in="uni0681" out="uni0681.medi"/><Substitution in="uni0682" out="uni0682.medi"/><Substitution in="uni0683" out="uni0683.medi"/><Substitution in="uni0684" out="uni0684.medi"/><Substitution in="uni0685" out="uni0685.medi"/><Substitution in="uni0686" out="uni0686.medi"/><Substitution in="uni0687" out="uni0687.medi"/><Substitution in="uni069A" out="uni069A.medi"/><Substitution in="uni069B" out="uni069B.medi"/><Substitution in="uni069C" out="uni069C.medi"/><Substitution in="uni069D" out="uni069D.medi"/><Substitution in="uni069E" out="uni069E.medi"/><Substitution in="uni069F" out="uni069F.medi"/><Substitution in="uni06A0" out="uni06A0.medi"/><Substitution in="uni06A1" out="uni06A1.medi"/><Substitution in="uni06A2" out="uni06A2.medi"/><Substitution in="uni06A3" out="uni06A3.medi"/><Substitution in="uni06A4" out="uni06A4.medi"/><Substitution in="uni06A5" out="uni06A5.medi"/><Substitution in="uni06A6" out="uni06A6.medi"/><Substitution in="uni06A7" out="uni06A7.medi"/><Substitution in="uni06A8" out="uni06A8.medi"/><Substitution in="uni06A9" out="uni06A9.medi"/><Substitution in="uni06AA" out="uni06AA.medi"/><Substitution in="uni06AB" out="uni06AB.medi"/><Substitution in="uni06AC" out="uni06AC.medi"/><Substitution in="uni06AD" out="uni06AD.medi"/><Substitution in="uni06AE" out="uni06AE.medi"/><Substitution in="uni06AF" out="uni06AF.medi"/><Substitution in="uni06B0" out="uni06B0.medi"/><Substitution in="uni06B1" out="uni06B1.medi"/><Substitution in="uni06B2" out="uni06B2.medi"/><Substitution in="uni06B3" out="uni06B3.medi"/><Substitution in="uni06B4" out="uni06B4.medi"/><Substitution in="uni06B5" out="uni06B5.medi"/><Substitution in="uni06B6" out="uni06B6.medi"/><Substitution in="uni06B7" out="uni06B7.medi"/><Substitution in="uni06B8" out="uni06B8.medi"/><Substitution in="uni06B9" out="uni06B9.medi"/><Substitution in="uni06BA" out="uni06BA.medi"/><Substitution in="uni06BB" out="uni06BB.medi"/><Substitution in="uni06BC" out="uni06BC.medi"/><Substitution in="uni06BD" out="uni06BD.medi"/><Substitution in="uni06BE" out="uni06BE.medi"/><Substitution in="uni06BF" out="uni06BF.medi"/><Substitution in="uni06C1" out="uni06C1.medi"/><Substitution in="uni06CC" out="uni06CC.medi"/><Substitution in="uni06CE" out="uni06CE.medi"/><Substitution in="uni06D0" out="uni06D0.medi"/><Substitution in="uni06D1" out="uni06D1.medi"/><Substitution in="uni06FA" out="uni06FA.medi"/><Substitution in="uni06FB" out="uni06FB.medi"/><Substitution in="uni06FC" out="uni06FC.medi"/><Substitution in="uni06FF" out="uni06FF.medi"/><Substitution in="uni0750" out="uni0750.medi"/><Substitution in="uni0751" out="uni0751.medi"/><Substitution in="uni0752" out="uni0752.medi"/><Substitution in="uni0753" out="uni0753.medi"/><Substitution in="uni0754" out="uni0754.medi"/><Substitution in="uni0755" out="uni0755.medi"/><Substitution in="uni0756" out="uni0756.medi"/><Substitution in="uni0757" out="uni0757.medi"/><Substitution in="uni0758" out="uni0758.medi"/><Substitution in="uni075C" out="uni075C.medi"/><Substitution in="uni075D" out="uni075D.medi"/><Substitution in="uni075E" out="uni075E.medi"/><Substitution in="uni075F" out="uni075F.medi"/><Substitution in="uni0760" out="uni0760.medi"/><Substitution in="uni0761" out="uni0761.medi"/><Substitution in="uni0762" out="uni0762.medi"/><Substitution in="uni0763" out="uni0763.medi"/><Substitution in="uni0764" out="uni0764.medi"/><Substitution in="uni0765" out="uni0765.medi"/><Substitution in="uni0766" out="uni0766.medi"/><Substitution in="uni0767" out="uni0767.medi"/><Substitution in="uni0768" out="uni0768.medi"/><Substitution in="uni0769" out="uni0769.medi"/><Substitution in="uni076A" out="uni076A.medi"/><Substitution in="uni076D" out="uni076D.medi"/></SingleSubst></Lookup><Lookup index="4"><LookupType value="6"/><LookupFlag value="9"/><ChainContextSubst index="0" Format="3"><InputCoverage index="0" Format="2"><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="15"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="1" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="16"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="2" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="17"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="5"><LookupType value="4"/><LookupFlag value="257"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="uni064B"><Ligature components="uni0651" glyph="uni0651064B"/></LigatureSet><LigatureSet glyph="uni064C"><Ligature components="uni0651" glyph="uni0651064C"/></LigatureSet><LigatureSet glyph="uni064E"><Ligature components="uni0651" glyph="uni0651064E"/></LigatureSet><LigatureSet glyph="uni064F"><Ligature components="uni0651" glyph="uni0651064F"/></LigatureSet><LigatureSet glyph="uni0651"><Ligature components="uni064B" glyph="uni0651064B"/><Ligature components="uni064C" glyph="uni0651064C"/><Ligature components="uni064E" glyph="uni0651064E"/><Ligature components="uni064F" glyph="uni0651064F"/><Ligature components="uni0670" glyph="absShaddaAlef"/></LigatureSet><LigatureSet glyph="uni0670"><Ligature components="uni0651" glyph="absShaddaAlef"/></LigatureSet></LigatureSubst></Lookup><Lookup index="6"><LookupType value="4"/><LookupFlag value="257"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="uni064D"><Ligature components="uni0651" glyph="uni0651064D"/></LigatureSet><LigatureSet glyph="uni0650"><Ligature components="uni0651" glyph="uni06510650"/></LigatureSet><LigatureSet glyph="uni0651"><Ligature components="uni0650" glyph="uni06510650"/><Ligature components="uni064D" glyph="uni0651064D"/></LigatureSet></LigatureSubst></Lookup><Lookup index="7"><LookupType value="4"/><LookupFlag value="513"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="uni0647"><Ligature components="uni0654" glyph="uni06C0"/></LigatureSet><LigatureSet glyph="uni0647.fina"><Ligature components="uni0654" glyph="uni06C0.fina"/></LigatureSet><LigatureSet glyph="uni0647.init"><Ligature components="uni0654" glyph="uni06C0.init"/></LigatureSet><LigatureSet glyph="uni0647.medi"><Ligature components="uni0654" glyph="uni06C0.medi"/></LigatureSet><LigatureSet glyph="uni0648"><Ligature components="uni0654" glyph="uni0624"/></LigatureSet><LigatureSet glyph="uni0648.fina"><Ligature components="uni0654" glyph="uni0624.fina"/></LigatureSet><LigatureSet glyph="uni064A"><Ligature components="uni0654" glyph="uni0626"/></LigatureSet><LigatureSet glyph="uni064A.fina"><Ligature components="uni0654" glyph="uni0626.fina"/></LigatureSet><LigatureSet glyph="uni064A.init"><Ligature components="uni0654" glyph="uni0626.init"/></LigatureSet><LigatureSet glyph="uni064A.medi"><Ligature components="uni0654" glyph="uni0626.medi"/></LigatureSet><LigatureSet glyph="uni06C1"><Ligature components="uni0654" glyph="uni06C2"/></LigatureSet><LigatureSet glyph="uni06C1.fina"><Ligature components="uni0654" glyph="uni06C2.fina"/></LigatureSet><LigatureSet glyph="uni06C1.init"><Ligature components="uni0654" glyph="uni06C2.init"/></LigatureSet><LigatureSet glyph="uni06C1.medi"><Ligature components="uni0654" glyph="uni06C2.medi"/></LigatureSet></LigatureSubst></Lookup><Lookup index="8"><LookupType value="4"/><LookupFlag value="1"/><LigatureSubst index="0" Format="1"><LigatureSet glyph="uni064E"><Ligature components="uni0654" glyph="uni0654064E"/></LigatureSet><LigatureSet glyph="uni064F"><Ligature components="uni0654" glyph="uni0654064F"/></LigatureSet><LigatureSet glyph="uni0654"><Ligature components="uni064E" glyph="uni0654064E"/><Ligature components="uni064F" glyph="uni0654064F"/></LigatureSet></LigatureSubst></Lookup><Lookup index="9"><LookupType value="6"/><LookupFlag value="9"/><ChainContextSubst index="0" Format="3"><InputCoverage index="0" Format="1"><Glyph value="uni0601"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="1" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="2" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="3" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="18"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="1" Format="3"><InputCoverage index="0" Format="2"><Glyph value="uni0600"/><Glyph value="uni0601"/><Glyph value="uni0603"/><Glyph value="uni06DD"/><Glyph value="uni06DD.alt"/><Glyph value="uni06DD.altB"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="1" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="2" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="19"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="2" Format="3"><InputCoverage index="0" Format="2"><Glyph value="uni0600"/><Glyph value="uni0601"/><Glyph value="uni0602"/><Glyph value="uni0603"/><Glyph value="uni06DD"/><Glyph value="uni06DD.alt"/><Glyph value="uni06DD.altB"/></InputCoverage><LookAheadCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><LookAheadCoverage index="1" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></LookAheadCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="20"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="3" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni0600"/><Glyph value="uni0601"/><Glyph value="uni0602"/><Glyph value="uni0603"/><Glyph value="uni06DD"/><Glyph value="uni06DD.alt"/><Glyph value="uni06DD.altB"/><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="uni06DD.2"/><Glyph value="uni06DD.alt.2"/><Glyph value="uni06DD.altB.2"/><Glyph value="uni0600.2"/><Glyph value="uni0600.3"/><Glyph value="uni0601.2"/><Glyph value="uni0601.3"/><Glyph value="uni0601.4"/><Glyph value="uni0602.2"/><Glyph value="uni0603.2"/><Glyph value="uni0603.3"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="21"/></SubstLookupRecord></ChainContextSubst><ChainContextSubst index="4" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/><Glyph value="uni06DD.3"/><Glyph value="uni06DD.alt.3"/><Glyph value="uni06DD.altB.3"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="zero"/><Glyph value="one"/><Glyph value="two"/><Glyph value="three"/><Glyph value="four"/><Glyph value="five"/><Glyph value="six"/><Glyph value="seven"/><Glyph value="eight"/><Glyph value="nine"/><Glyph value="uni0660"/><Glyph value="uni0661"/><Glyph value="uni0662"/><Glyph value="uni0663"/><Glyph value="uni0664"/><Glyph value="uni0665"/><Glyph value="uni0666"/><Glyph value="uni0667"/><Glyph value="uni0668"/><Glyph value="uni0669"/><Glyph value="uni06F0"/><Glyph value="uni06F1"/><Glyph value="uni06F2"/><Glyph value="uni06F3"/><Glyph value="uni06F4"/><Glyph value="uni06F4.urdu"/><Glyph value="uni06F5"/><Glyph value="uni06F6"/><Glyph value="uni06F6.urdu"/><Glyph value="uni06F7"/><Glyph value="uni06F7.urdu"/><Glyph value="uni06F8"/><Glyph value="uni06F9"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="22"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="10"><LookupType value="6"/><LookupFlag value="1"/><ChainContextSubst index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni064A"/><Glyph value="uni0678"/><Glyph value="uni06CC"/><Glyph value="uni06D0"/><Glyph value="uni06D1"/><Glyph value="uni06CD"/><Glyph value="uni0649"/><Glyph value="uni0633"/><Glyph value="uni0634"/><Glyph value="uni069A"/><Glyph value="uni069B"/><Glyph value="uni069C"/><Glyph value="uni06FA"/><Glyph value="absSheenRetro1"/><Glyph value="absSheenRetro2"/><Glyph value="uni075C"/><Glyph value="uni076D"/><Glyph value="uni0635"/><Glyph value="uni0636"/><Glyph value="uni069D"/><Glyph value="uni069E"/><Glyph value="uni06FB"/><Glyph value="uni064A.fina"/><Glyph value="uni0678.fina"/><Glyph value="uni06CC.fina"/><Glyph value="uni06D0.fina"/><Glyph value="uni06D1.fina"/><Glyph value="uni06CD.fina"/><Glyph value="uni0649.fina"/><Glyph value="uni0633.fina"/><Glyph value="uni0634.fina"/><Glyph value="uni069A.fina"/><Glyph value="uni069B.fina"/><Glyph value="uni069C.fina"/><Glyph value="uni06FA.fina"/><Glyph value="absSheenRetro1Fin"/><Glyph value="absSheenRetro2Fin"/><Glyph value="uni075C.fina"/><Glyph value="uni076D.fina"/><Glyph value="uni0635.fina"/><Glyph value="uni0636.fina"/><Glyph value="uni069D.fina"/><Glyph value="uni069E.fina"/><Glyph value="uni06FB.fina"/></BacktrackCoverage><InputCoverage index="0" Format="1"><Glyph value="uni0670"/></InputCoverage><SubstLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="23"/></SubstLookupRecord></ChainContextSubst></Lookup><Lookup index="11"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0645" out="uni0645.sindhi"/><Substitution in="uni0645.fina" out="uni0645.fina.sindhi"/><Substitution in="uni0647" out="uni0647.knotted"/><Substitution in="uni0647.fina" out="uni0647.fina.knottedHigh"/><Substitution in="uni0647.medi" out="uni0647.medi.knottedHigh"/><Substitution in="uni06F6" out="uni06F6.urdu"/><Substitution in="uni06F7" out="uni06F7.urdu"/></SingleSubst></Lookup><Lookup index="12"><LookupType value="1"/><LookupFlag value="0"/><SingleSubst index="0" Format="2"><Substitution in="uni0647" out="uni0647.knotted"/><Substitution in="uni0647.fina" out="uni0647.fina.knottedHigh"/></SingleSubst></Lookup><Lookup index="13"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0647.fina" out="uni0647.fina.hooked"/><Substitution in="uni0647.init" out="uni0647.init.hooked"/><Substitution in="uni0647.medi" out="uni0647.medi.hooked"/><Substitution in="uni06F4" out="uni06F4.urdu"/><Substitution in="uni06F6" out="uni06F6.urdu"/><Substitution in="uni06F7" out="uni06F7.urdu"/></SingleSubst></Lookup><Lookup index="14"><LookupType value="3"/><LookupFlag value="1"/><AlternateSubst index="0" Format="1"><AlternateSet glyph="uni06DD"><Alternate glyph="uni06DD.alt"/><Alternate glyph="uni06DD.altB"/></AlternateSet></AlternateSubst></Lookup><Lookup index="15"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="absLamRetroIni" out="absLamRetroIni.preAlef"/><Substitution in="absLamRetroMed" out="absLamRetroMed.preAlef"/><Substitution in="uni0644.init" out="uni0644.init.preAlef"/><Substitution in="uni0644.medi" out="uni0644.medi.preAlef"/><Substitution in="uni06B5.init" out="uni06B5.init.preAlef"/><Substitution in="uni06B5.medi" out="uni06B5.medi.preAlef"/><Substitution in="uni06B6.init" out="uni06B6.init.preAlef"/><Substitution in="uni06B6.medi" out="uni06B6.medi.preAlef"/><Substitution in="uni06B7.init" out="uni06B7.init.preAlef"/><Substitution in="uni06B7.medi" out="uni06B7.medi.preAlef"/><Substitution in="uni06B8.init" out="uni06B8.init.preAlef"/><Substitution in="uni06B8.medi" out="uni06B8.medi.preAlef"/><Substitution in="uni076A.init" out="uni076A.init.preAlef"/><Substitution in="uni076A.medi" out="uni076A.medi.preAlef"/></SingleSubst></Lookup><Lookup index="16"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0622.fina" out="uni0622.fina.postLamIni"/><Substitution in="uni0623.fina" out="uni0623.fina.postLamIni"/><Substitution in="uni0625.fina" out="uni0625.fina.postLamIni"/><Substitution in="uni0627.fina" out="uni0627.fina.postLamIni"/><Substitution in="uni0671.fina" out="uni0671.fina.postLamIni"/><Substitution in="uni0672.fina" out="uni0672.fina.postLamIni"/><Substitution in="uni0673.fina" out="uni0673.fina.postLamIni"/><Substitution in="uni0675.fina" out="uni0675.fina.postLamIni"/></SingleSubst></Lookup><Lookup index="17"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0622.fina" out="uni0622.fina.postLamMed"/><Substitution in="uni0623.fina" out="uni0623.fina.postLamMed"/><Substitution in="uni0625.fina" out="uni0625.fina.postLamMed"/><Substitution in="uni0627.fina" out="uni0627.fina.postLamMed"/><Substitution in="uni0671.fina" out="uni0671.fina.postLamMed"/><Substitution in="uni0672.fina" out="uni0672.fina.postLamMed"/><Substitution in="uni0673.fina" out="uni0673.fina.postLamMed"/><Substitution in="uni0675.fina" out="uni0675.fina.postLamMed"/></SingleSubst></Lookup><Lookup index="18"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0601" out="uni0601.4"/></SingleSubst></Lookup><Lookup index="19"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0600" out="uni0600.3"/><Substitution in="uni0601" out="uni0601.3"/><Substitution in="uni0603" out="uni0603.3"/><Substitution in="uni06DD" out="uni06DD.3"/><Substitution in="uni06DD.alt" out="uni06DD.alt.3"/><Substitution in="uni06DD.altB" out="uni06DD.altB.3"/></SingleSubst></Lookup><Lookup index="20"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="uni0600" out="uni0600.2"/><Substitution in="uni0601" out="uni0601.2"/><Substitution in="uni0602" out="uni0602.2"/><Substitution in="uni0603" out="uni0603.2"/><Substitution in="uni06DD" out="uni06DD.2"/><Substitution in="uni06DD.alt" out="uni06DD.alt.2"/><Substitution in="uni06DD.altB" out="uni06DD.altB.2"/></SingleSubst></Lookup><Lookup index="21"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="eight" out="eightMedium"/><Substitution in="five" out="fiveMedium"/><Substitution in="four" out="fourMedium"/><Substitution in="nine" out="nineMedium"/><Substitution in="one" out="oneMedium"/><Substitution in="seven" out="sevenMedium"/><Substitution in="six" out="sixMedium"/><Substitution in="three" out="threeMedium"/><Substitution in="two" out="twoMedium"/><Substitution in="uni0660" out="uni0660.Medium"/><Substitution in="uni0661" out="uni0661.Medium"/><Substitution in="uni0662" out="uni0662.Medium"/><Substitution in="uni0663" out="uni0663.Medium"/><Substitution in="uni0664" out="uni0664.Medium"/><Substitution in="uni0665" out="uni0665.Medium"/><Substitution in="uni0666" out="uni0666.Medium"/><Substitution in="uni0667" out="uni0667.Medium"/><Substitution in="uni0668" out="uni0668.Medium"/><Substitution in="uni0669" out="uni0669.Medium"/><Substitution in="uni06F0" out="uni06F0.Medium"/><Substitution in="uni06F1" out="uni06F1.Medium"/><Substitution in="uni06F2" out="uni06F2.Medium"/><Substitution in="uni06F3" out="uni06F3.Medium"/><Substitution in="uni06F4" out="uni06F4.Medium"/><Substitution in="uni06F4.urdu" out="uni06F4.Medium.urdu"/><Substitution in="uni06F5" out="uni06F5.Medium"/><Substitution in="uni06F6" out="uni06F6.Medium"/><Substitution in="uni06F6.urdu" out="uni06F6.Medium.urdu"/><Substitution in="uni06F7" out="uni06F7.Medium"/><Substitution in="uni06F7.urdu" out="uni06F7.Medium.urdu"/><Substitution in="uni06F8" out="uni06F8.Medium"/><Substitution in="uni06F9" out="uni06F9.Medium"/><Substitution in="zero" out="zeroMedium"/></SingleSubst></Lookup><Lookup index="22"><LookupType value="1"/><LookupFlag value="9"/><SingleSubst index="0" Format="2"><Substitution in="eight" out="eightSmall"/><Substitution in="five" out="fiveSmall"/><Substitution in="four" out="fourSmall"/><Substitution in="nine" out="nineSmall"/><Substitution in="one" out="oneSmall"/><Substitution in="seven" out="sevenSmall"/><Substitution in="six" out="sixSmall"/><Substitution in="three" out="threeSmall"/><Substitution in="two" out="twoSmall"/><Substitution in="uni0660" out="uni0660.Small"/><Substitution in="uni0661" out="uni0661.Small"/><Substitution in="uni0662" out="uni0662.Small"/><Substitution in="uni0663" out="uni0663.Small"/><Substitution in="uni0664" out="uni0664.Small"/><Substitution in="uni0665" out="uni0665.Small"/><Substitution in="uni0666" out="uni0666.Small"/><Substitution in="uni0667" out="uni0667.Small"/><Substitution in="uni0668" out="uni0668.Small"/><Substitution in="uni0669" out="uni0669.Small"/><Substitution in="uni06F0" out="uni06F0.Small"/><Substitution in="uni06F1" out="uni06F1.Small"/><Substitution in="uni06F2" out="uni06F2.Small"/><Substitution in="uni06F3" out="uni06F3.Small"/><Substitution in="uni06F4" out="uni06F4.Small"/><Substitution in="uni06F4.urdu" out="uni06F4.Small.urdu"/><Substitution in="uni06F5" out="uni06F5.Small"/><Substitution in="uni06F6" out="uni06F6.Small"/><Substitution in="uni06F6.urdu" out="uni06F6.Small.urdu"/><Substitution in="uni06F7" out="uni06F7.Small"/><Substitution in="uni06F7.urdu" out="uni06F7.Small.urdu"/><Substitution in="uni06F8" out="uni06F8.Small"/><Substitution in="uni06F9" out="uni06F9.Small"/><Substitution in="zero" out="zeroSmall"/></SingleSubst></Lookup><Lookup index="23"><LookupType value="1"/><LookupFlag value="1"/><SingleSubst index="0" Format="2"><Substitution in="uni0670" out="uni0670.large"/></SingleSubst></Lookup></LookupList></GSUB><GPOS><Version value="1.0"/><ScriptList><ScriptRecord index="0"><ScriptTag value="arab"/><Script><DefaultLangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="0"/><FeatureIndex index="1" value="4"/><FeatureIndex index="2" value="8"/></DefaultLangSys><LangSysRecord index="0"><LangSysTag value="KUR "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="1"/><FeatureIndex index="1" value="5"/><FeatureIndex index="2" value="9"/></LangSys></LangSysRecord><LangSysRecord index="1"><LangSysTag value="SND "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="2"/><FeatureIndex index="1" value="6"/><FeatureIndex index="2" value="10"/></LangSys></LangSysRecord><LangSysRecord index="2"><LangSysTag value="URD "/><LangSys><ReqFeatureIndex value="65535"/><FeatureIndex index="0" value="3"/><FeatureIndex index="1" value="7"/><FeatureIndex index="2" value="11"/></LangSys></LangSysRecord></Script></ScriptRecord></ScriptList><FeatureList><FeatureRecord index="0"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="1"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="2"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="3"><FeatureTag value="curs"/><Feature><LookupListIndex index="0" value="0"/></Feature></FeatureRecord><FeatureRecord index="4"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="4"/><LookupListIndex index="3" value="5"/><LookupListIndex index="4" value="7"/></Feature></FeatureRecord><FeatureRecord index="5"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="4"/><LookupListIndex index="3" value="5"/><LookupListIndex index="4" value="7"/></Feature></FeatureRecord><FeatureRecord index="6"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="4"/><LookupListIndex index="3" value="5"/><LookupListIndex index="4" value="7"/></Feature></FeatureRecord><FeatureRecord index="7"><FeatureTag value="mark"/><Feature><LookupListIndex index="0" value="1"/><LookupListIndex index="1" value="2"/><LookupListIndex index="2" value="3"/><LookupListIndex index="3" value="4"/><LookupListIndex index="4" value="7"/></Feature></FeatureRecord><FeatureRecord index="8"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="6"/><LookupListIndex index="2" value="8"/></Feature></FeatureRecord><FeatureRecord index="9"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="6"/><LookupListIndex index="2" value="8"/></Feature></FeatureRecord><FeatureRecord index="10"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="6"/><LookupListIndex index="2" value="8"/></Feature></FeatureRecord><FeatureRecord index="11"><FeatureTag value="mkmk"/><Feature><LookupListIndex index="0" value="3"/><LookupListIndex index="1" value="6"/><LookupListIndex index="2" value="8"/></Feature></FeatureRecord></FeatureList><LookupList><Lookup index="0"><LookupType value="3"/><LookupFlag value="9"/><CursivePos index="0" Format="1"><Coverage Format="2"><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></Coverage><EntryExitRecord index="0"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="1"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="2"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="3"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="4"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="5"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="6"><ExitAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="7"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="8"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="9"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="10"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="11"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="12"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="13"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="14"><EntryAnchor Format="1"><XCoordinate value="535"/><YCoordinate value="0"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="15"><ExitAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="250"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="16"><ExitAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="250"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="17"><ExitAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="250"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="18"><ExitAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="250"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="19"><ExitAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="250"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="20"><ExitAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="250"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="21"><ExitAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="250"/></ExitAnchor></EntryExitRecord><EntryExitRecord index="22"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="23"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="24"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="25"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="26"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="27"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="28"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord><EntryExitRecord index="29"><EntryAnchor Format="1"><XCoordinate value="650"/><YCoordinate value="250"/></EntryAnchor></EntryExitRecord></CursivePos></Lookup><Lookup index="1"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="uni064B"/><Glyph value="uni064C"/><Glyph value="uni064E"/><Glyph value="uni064F"/><Glyph value="uni0651"/><Glyph value="uni0652"/><Glyph value="uni0653"/><Glyph value="uni0654"/><Glyph value="uni0657"/><Glyph value="uni0658"/><Glyph value="uni0659"/><Glyph value="uni065A"/><Glyph value="uni065B"/><Glyph value="uni065D"/><Glyph value="uni065E"/><Glyph value="uni0670"/><Glyph value="uni0670.large"/><Glyph value="uni06D6"/><Glyph value="uni06D7"/><Glyph value="uni06D8"/><Glyph value="uni06D9"/><Glyph value="uni06DA"/><Glyph value="uni06DB"/><Glyph value="uni06DC"/><Glyph value="uni06DF"/><Glyph value="uni06E0"/><Glyph value="uni06E1"/><Glyph value="uni06E2"/><Glyph value="uni06E4"/><Glyph value="uni06E7"/><Glyph value="uni06E8"/><Glyph value="uni06EB"/><Glyph value="uni06EC"/><Glyph value="uni0610"/><Glyph value="uni0611"/><Glyph value="uni0612"/><Glyph value="uni0613"/><Glyph value="uni0614"/><Glyph value="uni0615"/><Glyph value="uni0651064B"/><Glyph value="uni0651064C"/><Glyph value="uni0651064D"/><Glyph value="uni0651064E"/><Glyph value="uni0651064F"/><Glyph value="uni06510650"/><Glyph value="uni0654064E"/><Glyph value="uni0654064F"/><Glyph value="absShaddaAlef"/><Glyph value="uni0652.leftOpen"/><Glyph value="uni0652.downOpen"/><Glyph value="uni064C.sixNine"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni25CC"/><Glyph value="uni0622"/><Glyph value="uni0623"/><Glyph value="uni0625"/><Glyph value="uni0627"/><Glyph value="uni0672"/><Glyph value="uni0673"/><Glyph value="uni0675"/><Glyph value="uni0671"/><Glyph value="uni0624"/><Glyph value="uni0648"/><Glyph value="uni0676"/><Glyph value="uni0677"/><Glyph value="uni06C4"/><Glyph value="uni06C5"/><Glyph value="uni06C6"/><Glyph value="uni06C7"/><Glyph value="uni06C8"/><Glyph value="uni06C9"/><Glyph value="uni06CA"/><Glyph value="uni06CB"/><Glyph value="uni06CF"/><Glyph value="absWawDotBelow"/><Glyph value="uni062F"/><Glyph value="uni0630"/><Glyph value="uni0688"/><Glyph value="uni0689"/><Glyph value="uni068A"/><Glyph value="uni068B"/><Glyph value="uni068C"/><Glyph value="uni068D"/><Glyph value="uni068E"/><Glyph value="uni068F"/><Glyph value="uni0690"/><Glyph value="uni06EE"/><Glyph value="uni0759"/><Glyph value="uni075A"/><Glyph value="uni0631"/><Glyph value="uni0632"/><Glyph value="uni0691"/><Glyph value="uni0692"/><Glyph value="uni0693"/><Glyph value="uni0694"/><Glyph value="uni0695"/><Glyph value="uni0696"/><Glyph value="uni0697"/><Glyph value="uni0698"/><Glyph value="uni0699"/><Glyph value="uni076B"/><Glyph value="uni076C"/><Glyph value="absJehRetro1"/><Glyph value="absJehRetro2"/><Glyph value="uni0698.dotHat"/><Glyph value="uni06EF"/><Glyph value="uni075B"/><Glyph value="uni06D2"/><Glyph value="uni06D3"/><Glyph value="uni0626"/><Glyph value="uni064A"/><Glyph value="uni064A.noDots"/><Glyph value="uni0678"/><Glyph value="uni06CC"/><Glyph value="uni06CE"/><Glyph value="uni06D0"/><Glyph value="uni06D1"/><Glyph value="uni06CD"/><Glyph value="uni0649"/><Glyph value="uni066E"/><Glyph value="uni0628"/><Glyph value="uni062A"/><Glyph value="uni062B"/><Glyph value="uni0679"/><Glyph value="uni067A"/><Glyph value="uni067B"/><Glyph value="uni067C"/><Glyph value="uni067D"/><Glyph value="uni067E"/><Glyph value="uni067F"/><Glyph value="uni0680"/><Glyph value="uni0750"/><Glyph value="uni0751"/><Glyph value="uni0752"/><Glyph value="uni0753"/><Glyph value="uni0754"/><Glyph value="uni0755"/><Glyph value="uni0756"/><Glyph value="uni062C"/><Glyph value="uni062D"/><Glyph value="uni062E"/><Glyph value="uni0681"/><Glyph value="uni0682"/><Glyph value="uni0683"/><Glyph value="uni0684"/><Glyph value="uni0685"/><Glyph value="uni0686"/><Glyph value="uni0687"/><Glyph value="uni06BF"/><Glyph value="absTchehRetro1"/><Glyph value="absTchehRetro2"/><Glyph value="absJeemRetro1"/><Glyph value="absJeemRetro2"/><Glyph value="absJeemRetro3"/><Glyph value="uni0757"/><Glyph value="uni0758"/><Glyph value="uni0633"/><Glyph value="uni0634"/><Glyph value="uni069A"/><Glyph value="uni069B"/><Glyph value="uni069C"/><Glyph value="uni06FA"/><Glyph value="absSheenRetro1"/><Glyph value="absSheenRetro2"/><Glyph value="uni075C"/><Glyph value="uni076D"/><Glyph value="uni0635"/><Glyph value="uni0636"/><Glyph value="uni069D"/><Glyph value="uni069E"/><Glyph value="uni06FB"/><Glyph value="uni0637"/><Glyph value="uni0638"/><Glyph value="uni069F"/><Glyph value="uni0639"/><Glyph value="uni063A"/><Glyph value="uni06A0"/><Glyph value="uni06FC"/><Glyph value="uni075D"/><Glyph value="uni075E"/><Glyph value="uni075F"/><Glyph value="uni0641"/><Glyph value="uni06A1"/><Glyph value="uni06A2"/><Glyph value="uni06A3"/><Glyph value="uni06A4"/><Glyph value="uni06A5"/><Glyph value="uni06A6"/><Glyph value="uni0760"/><Glyph value="uni0761"/><Glyph value="uni066F"/><Glyph value="uni0642"/><Glyph value="uni06A7"/><Glyph value="uni06A8"/><Glyph value="uni0643"/><Glyph value="uni06AC"/><Glyph value="uni06AD"/><Glyph value="uni06AE"/><Glyph value="uni06A9"/><Glyph value="uni06AB"/><Glyph value="uni06AF"/><Glyph value="uni06B0"/><Glyph value="uni06B1"/><Glyph value="uni06B2"/><Glyph value="uni06B3"/><Glyph value="uni06B4"/><Glyph value="uni0762"/><Glyph value="uni0763"/><Glyph value="uni0764"/><Glyph value="uni06AA"/><Glyph value="uni0644"/><Glyph value="uni06B5"/><Glyph value="uni06B6"/><Glyph value="uni06B7"/><Glyph value="uni06B8"/><Glyph value="absLamRetro"/><Glyph value="uni076A"/><Glyph value="uni0645"/><Glyph value="uni0765"/><Glyph value="uni0766"/><Glyph value="uni0646"/><Glyph value="uni06B9"/><Glyph value="uni06BA"/><Glyph value="uni06BB"/><Glyph value="uni06BC"/><Glyph value="uni06BD"/><Glyph value="uni0767"/><Glyph value="uni0768"/><Glyph value="uni0769"/><Glyph value="uni06BE"/><Glyph value="uni06FF"/><Glyph value="uni0647"/><Glyph value="uni06D5"/><Glyph value="uni0629"/><Glyph value="uni06C0"/><Glyph value="uni06C1"/><Glyph value="uni06C2"/><Glyph value="uni06C3"/><Glyph value="uni0621"/><Glyph value="uni0640"/><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/><Glyph value="uni0624.fina"/><Glyph value="uni0648.fina"/><Glyph value="uni0676.fina"/><Glyph value="uni0677.fina"/><Glyph value="uni06C4.fina"/><Glyph value="uni06C5.fina"/><Glyph value="uni06C6.fina"/><Glyph value="uni06C7.fina"/><Glyph value="uni06C8.fina"/><Glyph value="uni06C9.fina"/><Glyph value="uni06CA.fina"/><Glyph value="uni06CB.fina"/><Glyph value="uni06CF.fina"/><Glyph value="absWawDotBelowFin"/><Glyph value="uni062F.fina"/><Glyph value="uni0630.fina"/><Glyph value="uni0688.fina"/><Glyph value="uni0689.fina"/><Glyph value="uni068A.fina"/><Glyph value="uni068B.fina"/><Glyph value="uni068C.fina"/><Glyph value="uni068D.fina"/><Glyph value="uni068E.fina"/><Glyph value="uni068F.fina"/><Glyph value="uni0690.fina"/><Glyph value="uni06EE.fina"/><Glyph value="uni0759.fina"/><Glyph value="uni075A.fina"/><Glyph value="uni0631.fina"/><Glyph value="uni0632.fina"/><Glyph value="uni0691.fina"/><Glyph value="uni0692.fina"/><Glyph value="uni0693.fina"/><Glyph value="uni0694.fina"/><Glyph value="uni0695.fina"/><Glyph value="uni0696.fina"/><Glyph value="uni0697.fina"/><Glyph value="uni0698.fina"/><Glyph value="uni0699.fina"/><Glyph value="uni076B.fina"/><Glyph value="uni076C.fina"/><Glyph value="absJehRetro1Fin"/><Glyph value="absJehRetro2Fin"/><Glyph value="uni0698.fina.dotHat"/><Glyph value="uni06EF.fina"/><Glyph value="uni075B.fina"/><Glyph value="uni06D2.fina"/><Glyph value="uni06D3.fina"/><Glyph value="uni0626.fina"/><Glyph value="uni064A.fina"/><Glyph value="uni064A.fina.noDots"/><Glyph value="uni0678.fina"/><Glyph value="uni06CC.fina"/><Glyph value="uni06CE.fina"/><Glyph value="uni06D0.fina"/><Glyph value="uni06D1.fina"/><Glyph value="uni06CD.fina"/><Glyph value="uni0649.fina"/><Glyph value="uni066E.fina"/><Glyph value="uni0628.fina"/><Glyph value="uni062A.fina"/><Glyph value="uni062B.fina"/><Glyph value="uni0679.fina"/><Glyph value="uni067A.fina"/><Glyph value="uni067B.fina"/><Glyph value="uni067C.fina"/><Glyph value="uni067D.fina"/><Glyph value="uni067E.fina"/><Glyph value="uni067F.fina"/><Glyph value="uni0680.fina"/><Glyph value="uni0750.fina"/><Glyph value="uni0751.fina"/><Glyph value="uni0752.fina"/><Glyph value="uni0753.fina"/><Glyph value="uni0754.fina"/><Glyph value="uni0755.fina"/><Glyph value="uni0756.fina"/><Glyph value="uni062C.fina"/><Glyph value="uni062D.fina"/><Glyph value="uni062E.fina"/><Glyph value="uni0681.fina"/><Glyph value="uni0682.fina"/><Glyph value="uni0683.fina"/><Glyph value="uni0684.fina"/><Glyph value="uni0685.fina"/><Glyph value="uni0686.fina"/><Glyph value="uni0687.fina"/><Glyph value="uni06BF.fina"/><Glyph value="absTchehRetro1Fin"/><Glyph value="absTchehRetro2Fin"/><Glyph value="absJeemRetro1Fin"/><Glyph value="absJeemRetro2Fin"/><Glyph value="absJeemRetro3Fin"/><Glyph value="uni0757.fina"/><Glyph value="uni0758.fina"/><Glyph value="uni0633.fina"/><Glyph value="uni0634.fina"/><Glyph value="uni069A.fina"/><Glyph value="uni069B.fina"/><Glyph value="uni069C.fina"/><Glyph value="uni06FA.fina"/><Glyph value="absSheenRetro1Fin"/><Glyph value="absSheenRetro2Fin"/><Glyph value="uni075C.fina"/><Glyph value="uni076D.fina"/><Glyph value="uni0635.fina"/><Glyph value="uni0636.fina"/><Glyph value="uni069D.fina"/><Glyph value="uni069E.fina"/><Glyph value="uni06FB.fina"/><Glyph value="uni0637.fina"/><Glyph value="uni0638.fina"/><Glyph value="uni069F.fina"/><Glyph value="uni0639.fina"/><Glyph value="uni063A.fina"/><Glyph value="uni06A0.fina"/><Glyph value="uni06FC.fina"/><Glyph value="uni075D.fina"/><Glyph value="uni075E.fina"/><Glyph value="uni075F.fina"/><Glyph value="uni0641.fina"/><Glyph value="uni06A1.fina"/><Glyph value="uni06A2.fina"/><Glyph value="uni06A3.fina"/><Glyph value="uni06A4.fina"/><Glyph value="uni06A5.fina"/><Glyph value="uni06A6.fina"/><Glyph value="uni0760.fina"/><Glyph value="uni0761.fina"/><Glyph value="uni066F.fina"/><Glyph value="uni0642.fina"/><Glyph value="uni06A7.fina"/><Glyph value="uni06A8.fina"/><Glyph value="uni0643.fina"/><Glyph value="uni06AC.fina"/><Glyph value="uni06AD.fina"/><Glyph value="uni06AE.fina"/><Glyph value="uni06A9.fina"/><Glyph value="uni06AB.fina"/><Glyph value="uni06AF.fina"/><Glyph value="uni06B0.fina"/><Glyph value="uni06B1.fina"/><Glyph value="uni06B2.fina"/><Glyph value="uni06B3.fina"/><Glyph value="uni06B4.fina"/><Glyph value="uni0762.fina"/><Glyph value="uni0763.fina"/><Glyph value="uni0764.fina"/><Glyph value="uni06AA.fina"/><Glyph value="uni0644.fina"/><Glyph value="uni06B5.fina"/><Glyph value="uni06B6.fina"/><Glyph value="uni06B7.fina"/><Glyph value="uni06B8.fina"/><Glyph value="absLamRetroFin"/><Glyph value="uni076A.fina"/><Glyph value="uni0645.fina"/><Glyph value="uni0765.fina"/><Glyph value="uni0766.fina"/><Glyph value="uni0646.fina"/><Glyph value="uni06B9.fina"/><Glyph value="uni06BA.fina"/><Glyph value="uni06BB.fina"/><Glyph value="uni06BC.fina"/><Glyph value="uni06BD.fina"/><Glyph value="uni0767.fina"/><Glyph value="uni0768.fina"/><Glyph value="uni0769.fina"/><Glyph value="uni06BE.fina"/><Glyph value="uni06FF.fina"/><Glyph value="uni0647.fina"/><Glyph value="uni06D5.fina"/><Glyph value="uni0629.fina"/><Glyph value="uni06C0.fina"/><Glyph value="uni06C1.fina"/><Glyph value="uni06C2.fina"/><Glyph value="uni06C3.fina"/><Glyph value="uni0626.medi"/><Glyph value="uni064A.medi"/><Glyph value="uni064A.medi.noDots"/><Glyph value="uni0678.medi"/><Glyph value="uni06CC.medi"/><Glyph value="uni06CE.medi"/><Glyph value="uni06D0.medi"/><Glyph value="uni06D1.medi"/><Glyph value="uni0649.medi"/><Glyph value="uni066E.medi"/><Glyph value="uni0628.medi"/><Glyph value="uni062A.medi"/><Glyph value="uni062B.medi"/><Glyph value="uni0679.medi"/><Glyph value="uni067A.medi"/><Glyph value="uni067B.medi"/><Glyph value="uni067C.medi"/><Glyph value="uni067D.medi"/><Glyph value="uni067E.medi"/><Glyph value="uni067F.medi"/><Glyph value="uni0680.medi"/><Glyph value="uni0750.medi"/><Glyph value="uni0751.medi"/><Glyph value="uni0752.medi"/><Glyph value="uni0753.medi"/><Glyph value="uni0754.medi"/><Glyph value="uni0755.medi"/><Glyph value="uni0756.medi"/><Glyph value="uni062C.medi"/><Glyph value="uni062D.medi"/><Glyph value="uni062E.medi"/><Glyph value="uni0681.medi"/><Glyph value="uni0682.medi"/><Glyph value="uni0683.medi"/><Glyph value="uni0684.medi"/><Glyph value="uni0685.medi"/><Glyph value="uni0686.medi"/><Glyph value="uni0687.medi"/><Glyph value="uni06BF.medi"/><Glyph value="absTchehRetro1Med"/><Glyph value="absTchehRetro2Med"/><Glyph value="absJeemRetro1Med"/><Glyph value="absJeemRetro2Med"/><Glyph value="absJeemRetro3Med"/><Glyph value="uni0757.medi"/><Glyph value="uni0758.medi"/><Glyph value="uni0633.medi"/><Glyph value="uni0634.medi"/><Glyph value="uni069A.medi"/><Glyph value="uni069B.medi"/><Glyph value="uni069C.medi"/><Glyph value="uni06FA.medi"/><Glyph value="absSheenRetro1Med"/><Glyph value="absSheenRetro2Med"/><Glyph value="uni075C.medi"/><Glyph value="uni076D.medi"/><Glyph value="uni0635.medi"/><Glyph value="uni0636.medi"/><Glyph value="uni069D.medi"/><Glyph value="uni069E.medi"/><Glyph value="uni06FB.medi"/><Glyph value="uni0637.medi"/><Glyph value="uni0638.medi"/><Glyph value="uni069F.medi"/><Glyph value="uni0639.medi"/><Glyph value="uni063A.medi"/><Glyph value="uni06A0.medi"/><Glyph value="uni06FC.medi"/><Glyph value="uni075D.medi"/><Glyph value="uni075E.medi"/><Glyph value="uni075F.medi"/><Glyph value="uni0641.medi"/><Glyph value="uni06A1.medi"/><Glyph value="uni06A2.medi"/><Glyph value="uni06A3.medi"/><Glyph value="uni06A4.medi"/><Glyph value="uni06A5.medi"/><Glyph value="uni06A6.medi"/><Glyph value="uni0760.medi"/><Glyph value="uni0761.medi"/><Glyph value="uni066F.medi"/><Glyph value="uni0642.medi"/><Glyph value="uni06A7.medi"/><Glyph value="uni06A8.medi"/><Glyph value="uni0643.medi"/><Glyph value="uni06AC.medi"/><Glyph value="uni06AD.medi"/><Glyph value="uni06AE.medi"/><Glyph value="uni06A9.medi"/><Glyph value="uni06AB.medi"/><Glyph value="uni06AF.medi"/><Glyph value="uni06B0.medi"/><Glyph value="uni06B1.medi"/><Glyph value="uni06B2.medi"/><Glyph value="uni06B3.medi"/><Glyph value="uni06B4.medi"/><Glyph value="uni0762.medi"/><Glyph value="uni0763.medi"/><Glyph value="uni0764.medi"/><Glyph value="uni06AA.medi"/><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0645.medi"/><Glyph value="uni0765.medi"/><Glyph value="uni0766.medi"/><Glyph value="uni0646.medi"/><Glyph value="uni06B9.medi"/><Glyph value="uni06BA.medi"/><Glyph value="uni06BB.medi"/><Glyph value="uni06BC.medi"/><Glyph value="uni06BD.medi"/><Glyph value="uni0767.medi"/><Glyph value="uni0768.medi"/><Glyph value="uni0769.medi"/><Glyph value="uni06BE.medi"/><Glyph value="uni06FF.medi"/><Glyph value="uni0647.medi"/><Glyph value="uni06C1.medi"/><Glyph value="uni0626.init"/><Glyph value="uni064A.init"/><Glyph value="uni064A.init.noDots"/><Glyph value="uni0678.init"/><Glyph value="uni06CC.init"/><Glyph value="uni06CE.init"/><Glyph value="uni06D0.init"/><Glyph value="uni06D1.init"/><Glyph value="uni0649.init"/><Glyph value="uni066E.init"/><Glyph value="uni0628.init"/><Glyph value="uni062A.init"/><Glyph value="uni062B.init"/><Glyph value="uni0679.init"/><Glyph value="uni067A.init"/><Glyph value="uni067B.init"/><Glyph value="uni067C.init"/><Glyph value="uni067D.init"/><Glyph value="uni067E.init"/><Glyph value="uni067F.init"/><Glyph value="uni0680.init"/><Glyph value="uni0750.init"/><Glyph value="uni0751.init"/><Glyph value="uni0752.init"/><Glyph value="uni0753.init"/><Glyph value="uni0754.init"/><Glyph value="uni0755.init"/><Glyph value="uni0756.init"/><Glyph value="uni062C.init"/><Glyph value="uni062D.init"/><Glyph value="uni062E.init"/><Glyph value="uni0681.init"/><Glyph value="uni0682.init"/><Glyph value="uni0683.init"/><Glyph value="uni0684.init"/><Glyph value="uni0685.init"/><Glyph value="uni0686.init"/><Glyph value="uni0687.init"/><Glyph value="uni06BF.init"/><Glyph value="absTchehRetro1Ini"/><Glyph value="absTchehRetro2Ini"/><Glyph value="absJeemRetro1Ini"/><Glyph value="absJeemRetro2Ini"/><Glyph value="absJeemRetro3Ini"/><Glyph value="uni0757.init"/><Glyph value="uni0758.init"/><Glyph value="uni0633.init"/><Glyph value="uni0634.init"/><Glyph value="uni069A.init"/><Glyph value="uni069B.init"/><Glyph value="uni069C.init"/><Glyph value="uni06FA.init"/><Glyph value="absSheenRetro1Ini"/><Glyph value="absSheenRetro2Ini"/><Glyph value="uni075C.init"/><Glyph value="uni076D.init"/><Glyph value="uni0635.init"/><Glyph value="uni0636.init"/><Glyph value="uni069D.init"/><Glyph value="uni069E.init"/><Glyph value="uni06FB.init"/><Glyph value="uni0637.init"/><Glyph value="uni0638.init"/><Glyph value="uni069F.init"/><Glyph value="uni0639.init"/><Glyph value="uni063A.init"/><Glyph value="uni06A0.init"/><Glyph value="uni06FC.init"/><Glyph value="uni075D.init"/><Glyph value="uni075E.init"/><Glyph value="uni075F.init"/><Glyph value="uni0641.init"/><Glyph value="uni06A1.init"/><Glyph value="uni06A2.init"/><Glyph value="uni06A3.init"/><Glyph value="uni06A4.init"/><Glyph value="uni06A5.init"/><Glyph value="uni06A6.init"/><Glyph value="uni0760.init"/><Glyph value="uni0761.init"/><Glyph value="uni066F.init"/><Glyph value="uni0642.init"/><Glyph value="uni06A7.init"/><Glyph value="uni06A8.init"/><Glyph value="uni0643.init"/><Glyph value="uni06AC.init"/><Glyph value="uni06AD.init"/><Glyph value="uni06AE.init"/><Glyph value="uni06A9.init"/><Glyph value="uni06AB.init"/><Glyph value="uni06AF.init"/><Glyph value="uni06B0.init"/><Glyph value="uni06B1.init"/><Glyph value="uni06B2.init"/><Glyph value="uni06B3.init"/><Glyph value="uni06B4.init"/><Glyph value="uni0762.init"/><Glyph value="uni0763.init"/><Glyph value="uni0764.init"/><Glyph value="uni06AA.init"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/><Glyph value="uni0645.init"/><Glyph value="uni0765.init"/><Glyph value="uni0766.init"/><Glyph value="uni0646.init"/><Glyph value="uni06B9.init"/><Glyph value="uni06BA.init"/><Glyph value="uni06BB.init"/><Glyph value="uni06BC.init"/><Glyph value="uni06BD.init"/><Glyph value="uni0767.init"/><Glyph value="uni0768.init"/><Glyph value="uni0769.init"/><Glyph value="uni06BE.init"/><Glyph value="uni06FF.init"/><Glyph value="uni0647.init"/><Glyph value="uni06C1.init"/><Glyph value="uni0674"/><Glyph value="uni060C"/><Glyph value="uni061B"/><Glyph value="uni061F"/><Glyph value="uni066D"/><Glyph value="uni06D4"/><Glyph value="uni06E9"/><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="180"/><YCoordinate value="1005"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="960"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="930"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1110"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="930"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="160"/><YCoordinate value="900"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="207"/><YCoordinate value="969"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="203"/><YCoordinate value="941"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="207"/><YCoordinate value="949"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="105"/><YCoordinate value="945"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="180"/><YCoordinate value="660"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="450"/><YCoordinate value="510"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="540"/><YCoordinate value="998"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="514"/><YCoordinate value="996"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="526"/><YCoordinate value="978"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="508"/><YCoordinate value="986"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1035"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="301"/><YCoordinate value="1035"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="135"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="975"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="46"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="47"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="180"/><YCoordinate value="975"/></MarkAnchor></MarkRecord><MarkRecord index="48"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="160"/><YCoordinate value="900"/></MarkAnchor></MarkRecord><MarkRecord index="49"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="160"/><YCoordinate value="930"/></MarkAnchor></MarkRecord><MarkRecord index="50"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="520"/><YCoordinate value="1080"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1395"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1470"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1455"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1215"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="135"/><YCoordinate value="1370"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="332"/><YCoordinate value="988"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="363"/><YCoordinate value="691"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="258"/><YCoordinate value="1078"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="363"/><YCoordinate value="691"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="691"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1035"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="363"/><YCoordinate value="1059"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="348"/><YCoordinate value="1039"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1031"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1035"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="1129"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="1035"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="687"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="266"/><YCoordinate value="859"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="258"/><YCoordinate value="1094"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="234"/><YCoordinate value="1363"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="848"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="852"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="234"/><YCoordinate value="1379"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="258"/><YCoordinate value="1176"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="258"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="258"/><YCoordinate value="1211"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="258"/><YCoordinate value="1203"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="262"/><YCoordinate value="1199"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="266"/><YCoordinate value="1094"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="234"/><YCoordinate value="1348"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="863"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="224"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="840"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="224"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="42"><BaseAnchor index="0" Format="1"><XCoordinate value="224"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="43"><BaseAnchor index="0" Format="1"><XCoordinate value="224"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="44"><BaseAnchor index="0" Format="1"><XCoordinate value="224"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="45"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="46"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="47"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="48"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="49"><BaseAnchor index="0" Format="1"><XCoordinate value="280"/><YCoordinate value="960"/></BaseAnchor></BaseRecord><BaseRecord index="50"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="1320"/></BaseAnchor></BaseRecord><BaseRecord index="51"><BaseAnchor index="0" Format="1"><XCoordinate value="192"/><YCoordinate value="1487"/></BaseAnchor></BaseRecord><BaseRecord index="52"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="1115"/></BaseAnchor></BaseRecord><BaseRecord index="53"><BaseAnchor index="0" Format="1"><XCoordinate value="255"/><YCoordinate value="870"/></BaseAnchor></BaseRecord><BaseRecord index="54"><BaseAnchor index="0" Format="1"><XCoordinate value="224"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="55"><BaseAnchor index="0" Format="1"><XCoordinate value="345"/><YCoordinate value="645"/></BaseAnchor></BaseRecord><BaseRecord index="56"><BaseAnchor index="0" Format="1"><XCoordinate value="329"/><YCoordinate value="944"/></BaseAnchor></BaseRecord><BaseRecord index="57"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="1008"/></BaseAnchor></BaseRecord><BaseRecord index="58"><BaseAnchor index="0" Format="1"><XCoordinate value="325"/><YCoordinate value="709"/></BaseAnchor></BaseRecord><BaseRecord index="59"><BaseAnchor index="0" Format="1"><XCoordinate value="329"/><YCoordinate value="705"/></BaseAnchor></BaseRecord><BaseRecord index="60"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="692"/></BaseAnchor></BaseRecord><BaseRecord index="61"><BaseAnchor index="0" Format="1"><XCoordinate value="325"/><YCoordinate value="706"/></BaseAnchor></BaseRecord><BaseRecord index="62"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="1030"/></BaseAnchor></BaseRecord><BaseRecord index="63"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="705"/></BaseAnchor></BaseRecord><BaseRecord index="64"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="705"/></BaseAnchor></BaseRecord><BaseRecord index="65"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="739"/></BaseAnchor></BaseRecord><BaseRecord index="66"><BaseAnchor index="0" Format="1"><XCoordinate value="495"/><YCoordinate value="675"/></BaseAnchor></BaseRecord><BaseRecord index="67"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="68"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="69"><BaseAnchor index="0" Format="1"><XCoordinate value="602"/><YCoordinate value="906"/></BaseAnchor></BaseRecord><BaseRecord index="70"><BaseAnchor index="0" Format="1"><XCoordinate value="598"/><YCoordinate value="1030"/></BaseAnchor></BaseRecord><BaseRecord index="71"><BaseAnchor index="0" Format="1"><XCoordinate value="581"/><YCoordinate value="1149"/></BaseAnchor></BaseRecord><BaseRecord index="72"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="73"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="74"><BaseAnchor index="0" Format="1"><XCoordinate value="598"/><YCoordinate value="893"/></BaseAnchor></BaseRecord><BaseRecord index="75"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="76"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="77"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="78"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="79"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="80"><BaseAnchor index="0" Format="1"><XCoordinate value="607"/><YCoordinate value="1021"/></BaseAnchor></BaseRecord><BaseRecord index="81"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="82"><BaseAnchor index="0" Format="1"><XCoordinate value="620"/><YCoordinate value="863"/></BaseAnchor></BaseRecord><BaseRecord index="83"><BaseAnchor index="0" Format="1"><XCoordinate value="624"/><YCoordinate value="863"/></BaseAnchor></BaseRecord><BaseRecord index="84"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="85"><BaseAnchor index="0" Format="1"><XCoordinate value="658"/><YCoordinate value="914"/></BaseAnchor></BaseRecord><BaseRecord index="86"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="87"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="88"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="89"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="90"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="91"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="92"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="93"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="94"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="95"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="96"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="97"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="1192"/></BaseAnchor></BaseRecord><BaseRecord index="98"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="660"/></BaseAnchor></BaseRecord><BaseRecord index="99"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="660"/></BaseAnchor></BaseRecord><BaseRecord index="100"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="1196"/></BaseAnchor></BaseRecord><BaseRecord index="101"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="1192"/></BaseAnchor></BaseRecord><BaseRecord index="102"><BaseAnchor index="0" Format="1"><XCoordinate value="436"/><YCoordinate value="970"/></BaseAnchor></BaseRecord><BaseRecord index="103"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="104"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="105"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="555"/></BaseAnchor></BaseRecord><BaseRecord index="106"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="107"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="108"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="551"/></BaseAnchor></BaseRecord><BaseRecord index="109"><BaseAnchor index="0" Format="1"><XCoordinate value="363"/><YCoordinate value="551"/></BaseAnchor></BaseRecord><BaseRecord index="110"><BaseAnchor index="0" Format="1"><XCoordinate value="325"/><YCoordinate value="996"/></BaseAnchor></BaseRecord><BaseRecord index="111"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="825"/></BaseAnchor></BaseRecord><BaseRecord index="112"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="611"/></BaseAnchor></BaseRecord><BaseRecord index="113"><BaseAnchor index="0" Format="1"><XCoordinate value="316"/><YCoordinate value="632"/></BaseAnchor></BaseRecord><BaseRecord index="114"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="496"/></BaseAnchor></BaseRecord><BaseRecord index="115"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="500"/></BaseAnchor></BaseRecord><BaseRecord index="116"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="500"/></BaseAnchor></BaseRecord><BaseRecord index="117"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="118"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="500"/></BaseAnchor></BaseRecord><BaseRecord index="119"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="120"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="121"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="122"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="123"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="124"><BaseAnchor index="0" Format="1"><XCoordinate value="222"/><YCoordinate value="1282"/></BaseAnchor></BaseRecord><BaseRecord index="125"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="1107"/></BaseAnchor></BaseRecord><BaseRecord index="126"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1115"/></BaseAnchor></BaseRecord><BaseRecord index="127"><BaseAnchor index="0" Format="1"><XCoordinate value="252"/><YCoordinate value="1273"/></BaseAnchor></BaseRecord><BaseRecord index="128"><BaseAnchor index="0" Format="1"><XCoordinate value="252"/><YCoordinate value="1290"/></BaseAnchor></BaseRecord><BaseRecord index="129"><BaseAnchor index="0" Format="1"><XCoordinate value="479"/><YCoordinate value="917"/></BaseAnchor></BaseRecord><BaseRecord index="130"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="131"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="132"><BaseAnchor index="0" Format="1"><XCoordinate value="479"/><YCoordinate value="921"/></BaseAnchor></BaseRecord><BaseRecord index="133"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="134"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="135"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="136"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="137"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="138"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="795"/></BaseAnchor></BaseRecord><BaseRecord index="139"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="140"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="141"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="142"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="1155"/></BaseAnchor></BaseRecord><BaseRecord index="143"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="1141"/></BaseAnchor></BaseRecord><BaseRecord index="144"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1372"/></BaseAnchor></BaseRecord><BaseRecord index="145"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="146"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="147"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="148"><BaseAnchor index="0" Format="1"><XCoordinate value="457"/><YCoordinate value="795"/></BaseAnchor></BaseRecord><BaseRecord index="149"><BaseAnchor index="0" Format="1"><XCoordinate value="457"/><YCoordinate value="795"/></BaseAnchor></BaseRecord><BaseRecord index="150"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="151"><BaseAnchor index="0" Format="1"><XCoordinate value="457"/><YCoordinate value="795"/></BaseAnchor></BaseRecord><BaseRecord index="152"><BaseAnchor index="0" Format="1"><XCoordinate value="457"/><YCoordinate value="795"/></BaseAnchor></BaseRecord><BaseRecord index="153"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="154"><BaseAnchor index="0" Format="1"><XCoordinate value="436"/><YCoordinate value="906"/></BaseAnchor></BaseRecord><BaseRecord index="155"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="961"/></BaseAnchor></BaseRecord><BaseRecord index="156"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="157"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="158"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="159"><BaseAnchor index="0" Format="1"><XCoordinate value="538"/><YCoordinate value="1572"/></BaseAnchor></BaseRecord><BaseRecord index="160"><BaseAnchor index="0" Format="1"><XCoordinate value="453"/><YCoordinate value="1470"/></BaseAnchor></BaseRecord><BaseRecord index="161"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1620"/></BaseAnchor></BaseRecord><BaseRecord index="162"><BaseAnchor index="0" Format="1"><XCoordinate value="315"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="163"><BaseAnchor index="0" Format="1"><XCoordinate value="436"/><YCoordinate value="1769"/></BaseAnchor></BaseRecord><BaseRecord index="164"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1140"/></BaseAnchor></BaseRecord><BaseRecord index="165"><BaseAnchor index="0" Format="1"><XCoordinate value="192"/><YCoordinate value="837"/></BaseAnchor></BaseRecord><BaseRecord index="166"><BaseAnchor index="0" Format="1"><XCoordinate value="188"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="167"><BaseAnchor index="0" Format="1"><XCoordinate value="188"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="168"><BaseAnchor index="0" Format="1"><XCoordinate value="251"/><YCoordinate value="999"/></BaseAnchor></BaseRecord><BaseRecord index="169"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="999"/></BaseAnchor></BaseRecord><BaseRecord index="170"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="870"/></BaseAnchor></BaseRecord><BaseRecord index="171"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="1365"/></BaseAnchor></BaseRecord><BaseRecord index="172"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="999"/></BaseAnchor></BaseRecord><BaseRecord index="173"><BaseAnchor index="0" Format="1"><XCoordinate value="285"/><YCoordinate value="1245"/></BaseAnchor></BaseRecord><BaseRecord index="174"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="999"/></BaseAnchor></BaseRecord><BaseRecord index="175"><BaseAnchor index="0" Format="1"><XCoordinate value="286"/><YCoordinate value="1478"/></BaseAnchor></BaseRecord><BaseRecord index="176"><BaseAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="1275"/></BaseAnchor></BaseRecord><BaseRecord index="177"><BaseAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="178"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="1070"/></BaseAnchor></BaseRecord><BaseRecord index="179"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="180"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="181"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="182"><BaseAnchor index="0" Format="1"><XCoordinate value="209"/><YCoordinate value="1128"/></BaseAnchor></BaseRecord><BaseRecord index="183"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="184"><BaseAnchor index="0" Format="1"><XCoordinate value="218"/><YCoordinate value="1132"/></BaseAnchor></BaseRecord><BaseRecord index="185"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="186"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="540"/></BaseAnchor></BaseRecord><BaseRecord index="187"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="790"/></BaseAnchor></BaseRecord><BaseRecord index="188"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1395"/></BaseAnchor></BaseRecord><BaseRecord index="189"><BaseAnchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1445"/></BaseAnchor></BaseRecord><BaseRecord index="190"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1175"/></BaseAnchor></BaseRecord><BaseRecord index="191"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="1175"/></BaseAnchor></BaseRecord><BaseRecord index="192"><BaseAnchor index="0" Format="1"><XCoordinate value="60"/><YCoordinate value="1485"/></BaseAnchor></BaseRecord><BaseRecord index="193"><BaseAnchor index="0" Format="1"><XCoordinate value="75"/><YCoordinate value="1185"/></BaseAnchor></BaseRecord><BaseRecord index="194"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="1365"/></BaseAnchor></BaseRecord><BaseRecord index="195"><BaseAnchor index="0" Format="1"><XCoordinate value="135"/><YCoordinate value="1370"/></BaseAnchor></BaseRecord><BaseRecord index="196"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="880"/></BaseAnchor></BaseRecord><BaseRecord index="197"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="198"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="910"/></BaseAnchor></BaseRecord><BaseRecord index="199"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="200"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="201"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="202"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="203"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="1038"/></BaseAnchor></BaseRecord><BaseRecord index="204"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="978"/></BaseAnchor></BaseRecord><BaseRecord index="205"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="966"/></BaseAnchor></BaseRecord><BaseRecord index="206"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="936"/></BaseAnchor></BaseRecord><BaseRecord index="207"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="1008"/></BaseAnchor></BaseRecord><BaseRecord index="208"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="936"/></BaseAnchor></BaseRecord><BaseRecord index="209"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="210"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="211"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1196"/></BaseAnchor></BaseRecord><BaseRecord index="212"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1500"/></BaseAnchor></BaseRecord><BaseRecord index="213"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="214"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="215"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1500"/></BaseAnchor></BaseRecord><BaseRecord index="216"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1260"/></BaseAnchor></BaseRecord><BaseRecord index="217"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="218"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1303"/></BaseAnchor></BaseRecord><BaseRecord index="219"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="1330"/></BaseAnchor></BaseRecord><BaseRecord index="220"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="1300"/></BaseAnchor></BaseRecord><BaseRecord index="221"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="1256"/></BaseAnchor></BaseRecord><BaseRecord index="222"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1500"/></BaseAnchor></BaseRecord><BaseRecord index="223"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="992"/></BaseAnchor></BaseRecord><BaseRecord index="224"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="225"><BaseAnchor index="0" Format="1"><XCoordinate value="244"/><YCoordinate value="799"/></BaseAnchor></BaseRecord><BaseRecord index="226"><BaseAnchor index="0" Format="1"><XCoordinate value="214"/><YCoordinate value="953"/></BaseAnchor></BaseRecord><BaseRecord index="227"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="228"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="229"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="230"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="231"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="232"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="233"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="234"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="923"/></BaseAnchor></BaseRecord><BaseRecord index="235"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="889"/></BaseAnchor></BaseRecord><BaseRecord index="236"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="859"/></BaseAnchor></BaseRecord><BaseRecord index="237"><BaseAnchor index="0" Format="1"><XCoordinate value="218"/><YCoordinate value="1171"/></BaseAnchor></BaseRecord><BaseRecord index="238"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="1346"/></BaseAnchor></BaseRecord><BaseRecord index="239"><BaseAnchor index="0" Format="1"><XCoordinate value="239"/><YCoordinate value="1021"/></BaseAnchor></BaseRecord><BaseRecord index="240"><BaseAnchor index="0" Format="1"><XCoordinate value="244"/><YCoordinate value="812"/></BaseAnchor></BaseRecord><BaseRecord index="241"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="242"><BaseAnchor index="0" Format="1"><XCoordinate value="375"/><YCoordinate value="220"/></BaseAnchor></BaseRecord><BaseRecord index="243"><BaseAnchor index="0" Format="1"><XCoordinate value="410"/><YCoordinate value="500"/></BaseAnchor></BaseRecord><BaseRecord index="244"><BaseAnchor index="0" Format="1"><XCoordinate value="385"/><YCoordinate value="530"/></BaseAnchor></BaseRecord><BaseRecord index="245"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="246"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="247"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="248"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="249"><BaseAnchor index="0" Format="1"><XCoordinate value="406"/><YCoordinate value="564"/></BaseAnchor></BaseRecord><BaseRecord index="250"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="251"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="252"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="253"><BaseAnchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="329"/></BaseAnchor></BaseRecord><BaseRecord index="254"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="255"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="256"><BaseAnchor index="0" Format="1"><XCoordinate value="632"/><YCoordinate value="820"/></BaseAnchor></BaseRecord><BaseRecord index="257"><BaseAnchor index="0" Format="1"><XCoordinate value="615"/><YCoordinate value="953"/></BaseAnchor></BaseRecord><BaseRecord index="258"><BaseAnchor index="0" Format="1"><XCoordinate value="551"/><YCoordinate value="1030"/></BaseAnchor></BaseRecord><BaseRecord index="259"><BaseAnchor index="0" Format="1"><XCoordinate value="632"/><YCoordinate value="931"/></BaseAnchor></BaseRecord><BaseRecord index="260"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="261"><BaseAnchor index="0" Format="1"><XCoordinate value="632"/><YCoordinate value="833"/></BaseAnchor></BaseRecord><BaseRecord index="262"><BaseAnchor index="0" Format="1"><XCoordinate value="628"/><YCoordinate value="970"/></BaseAnchor></BaseRecord><BaseRecord index="263"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="264"><BaseAnchor index="0" Format="1"><XCoordinate value="624"/><YCoordinate value="953"/></BaseAnchor></BaseRecord><BaseRecord index="265"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="266"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="267"><BaseAnchor index="0" Format="1"><XCoordinate value="607"/><YCoordinate value="927"/></BaseAnchor></BaseRecord><BaseRecord index="268"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="269"><BaseAnchor index="0" Format="1"><XCoordinate value="632"/><YCoordinate value="833"/></BaseAnchor></BaseRecord><BaseRecord index="270"><BaseAnchor index="0" Format="1"><XCoordinate value="632"/><YCoordinate value="808"/></BaseAnchor></BaseRecord><BaseRecord index="271"><BaseAnchor index="0" Format="1"><XCoordinate value="660"/><YCoordinate value="585"/></BaseAnchor></BaseRecord><BaseRecord index="272"><BaseAnchor index="0" Format="1"><XCoordinate value="641"/><YCoordinate value="833"/></BaseAnchor></BaseRecord><BaseRecord index="273"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="274"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="275"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="276"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="277"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="278"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="279"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="280"><BaseAnchor index="0" Format="1"><XCoordinate value="427"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="281"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="282"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="283"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="284"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="1171"/></BaseAnchor></BaseRecord><BaseRecord index="285"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="660"/></BaseAnchor></BaseRecord><BaseRecord index="286"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="660"/></BaseAnchor></BaseRecord><BaseRecord index="287"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="1166"/></BaseAnchor></BaseRecord><BaseRecord index="288"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="1171"/></BaseAnchor></BaseRecord><BaseRecord index="289"><BaseAnchor index="0" Format="1"><XCoordinate value="406"/><YCoordinate value="906"/></BaseAnchor></BaseRecord><BaseRecord index="290"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="291"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="292"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="293"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="294"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="295"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="564"/></BaseAnchor></BaseRecord><BaseRecord index="296"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="551"/></BaseAnchor></BaseRecord><BaseRecord index="297"><BaseAnchor index="0" Format="1"><XCoordinate value="375"/><YCoordinate value="975"/></BaseAnchor></BaseRecord><BaseRecord index="298"><BaseAnchor index="0" Format="1"><XCoordinate value="405"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="299"><BaseAnchor index="0" Format="1"><XCoordinate value="376"/><YCoordinate value="564"/></BaseAnchor></BaseRecord><BaseRecord index="300"><BaseAnchor index="0" Format="1"><XCoordinate value="363"/><YCoordinate value="568"/></BaseAnchor></BaseRecord><BaseRecord index="301"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="302"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="547"/></BaseAnchor></BaseRecord><BaseRecord index="303"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="304"><BaseAnchor index="0" Format="1"><XCoordinate value="393"/><YCoordinate value="662"/></BaseAnchor></BaseRecord><BaseRecord index="305"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="547"/></BaseAnchor></BaseRecord><BaseRecord index="306"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1240"/></BaseAnchor></BaseRecord><BaseRecord index="307"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1240"/></BaseAnchor></BaseRecord><BaseRecord index="308"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1240"/></BaseAnchor></BaseRecord><BaseRecord index="309"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="670"/></BaseAnchor></BaseRecord><BaseRecord index="310"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="955"/></BaseAnchor></BaseRecord><BaseRecord index="311"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1150"/></BaseAnchor></BaseRecord><BaseRecord index="312"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="970"/></BaseAnchor></BaseRecord><BaseRecord index="313"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="961"/></BaseAnchor></BaseRecord><BaseRecord index="314"><BaseAnchor index="0" Format="1"><XCoordinate value="320"/><YCoordinate value="1115"/></BaseAnchor></BaseRecord><BaseRecord index="315"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="1107"/></BaseAnchor></BaseRecord><BaseRecord index="316"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="317"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="318"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="319"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="320"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="773"/></BaseAnchor></BaseRecord><BaseRecord index="321"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="322"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="769"/></BaseAnchor></BaseRecord><BaseRecord index="323"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="324"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="325"><BaseAnchor index="0" Format="1"><XCoordinate value="360"/><YCoordinate value="510"/></BaseAnchor></BaseRecord><BaseRecord index="326"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="327"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="328"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="765"/></BaseAnchor></BaseRecord><BaseRecord index="329"><BaseAnchor index="0" Format="1"><XCoordinate value="466"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="330"><BaseAnchor index="0" Format="1"><XCoordinate value="466"/><YCoordinate value="1115"/></BaseAnchor></BaseRecord><BaseRecord index="331"><BaseAnchor index="0" Format="1"><XCoordinate value="466"/><YCoordinate value="1282"/></BaseAnchor></BaseRecord><BaseRecord index="332"><BaseAnchor index="0" Format="1"><XCoordinate value="466"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="333"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="334"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="335"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="336"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="337"><BaseAnchor index="0" Format="1"><XCoordinate value="414"/><YCoordinate value="1282"/></BaseAnchor></BaseRecord><BaseRecord index="338"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="339"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="340"><BaseAnchor index="0" Format="1"><XCoordinate value="325"/><YCoordinate value="1282"/></BaseAnchor></BaseRecord><BaseRecord index="341"><BaseAnchor index="0" Format="1"><XCoordinate value="466"/><YCoordinate value="983"/></BaseAnchor></BaseRecord><BaseRecord index="342"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="1085"/></BaseAnchor></BaseRecord><BaseRecord index="343"><BaseAnchor index="0" Format="1"><XCoordinate value="510"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="344"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="345"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="346"><BaseAnchor index="0" Format="1"><XCoordinate value="526"/><YCoordinate value="1470"/></BaseAnchor></BaseRecord><BaseRecord index="347"><BaseAnchor index="0" Format="1"><XCoordinate value="508"/><YCoordinate value="1440"/></BaseAnchor></BaseRecord><BaseRecord index="348"><BaseAnchor index="0" Format="1"><XCoordinate value="440"/><YCoordinate value="1564"/></BaseAnchor></BaseRecord><BaseRecord index="349"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="350"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="1662"/></BaseAnchor></BaseRecord><BaseRecord index="351"><BaseAnchor index="0" Format="1"><XCoordinate value="330"/><YCoordinate value="1005"/></BaseAnchor></BaseRecord><BaseRecord index="352"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="353"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="354"><BaseAnchor index="0" Format="1"><XCoordinate value="273"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="355"><BaseAnchor index="0" Format="1"><XCoordinate value="342"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="356"><BaseAnchor index="0" Format="1"><XCoordinate value="342"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="357"><BaseAnchor index="0" Format="1"><XCoordinate value="346"/><YCoordinate value="491"/></BaseAnchor></BaseRecord><BaseRecord index="358"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="833"/></BaseAnchor></BaseRecord><BaseRecord index="359"><BaseAnchor index="0" Format="1"><XCoordinate value="342"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="360"><BaseAnchor index="0" Format="1"><XCoordinate value="333"/><YCoordinate value="782"/></BaseAnchor></BaseRecord><BaseRecord index="361"><BaseAnchor index="0" Format="1"><XCoordinate value="342"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="362"><BaseAnchor index="0" Format="1"><XCoordinate value="312"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="363"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="897"/></BaseAnchor></BaseRecord><BaseRecord index="364"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="365"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="961"/></BaseAnchor></BaseRecord><BaseRecord index="366"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="790"/></BaseAnchor></BaseRecord><BaseRecord index="367"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="790"/></BaseAnchor></BaseRecord><BaseRecord index="368"><BaseAnchor index="0" Format="1"><XCoordinate value="225"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="369"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="1135"/></BaseAnchor></BaseRecord><BaseRecord index="370"><BaseAnchor index="0" Format="1"><XCoordinate value="180"/><YCoordinate value="645"/></BaseAnchor></BaseRecord><BaseRecord index="371"><BaseAnchor index="0" Format="1"><XCoordinate value="188"/><YCoordinate value="812"/></BaseAnchor></BaseRecord><BaseRecord index="372"><BaseAnchor index="0" Format="1"><XCoordinate value="192"/><YCoordinate value="790"/></BaseAnchor></BaseRecord><BaseRecord index="373"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="374"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="375"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="376"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="953"/></BaseAnchor></BaseRecord><BaseRecord index="377"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="378"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="863"/></BaseAnchor></BaseRecord><BaseRecord index="379"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="380"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="381"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="382"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="383"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="384"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="385"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="957"/></BaseAnchor></BaseRecord><BaseRecord index="386"><BaseAnchor index="0" Format="1"><XCoordinate value="103"/><YCoordinate value="1094"/></BaseAnchor></BaseRecord><BaseRecord index="387"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="957"/></BaseAnchor></BaseRecord><BaseRecord index="388"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="389"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="390"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="949"/></BaseAnchor></BaseRecord><BaseRecord index="391"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="392"><BaseAnchor index="0" Format="1"><XCoordinate value="171"/><YCoordinate value="974"/></BaseAnchor></BaseRecord><BaseRecord index="393"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="394"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="395"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="936"/></BaseAnchor></BaseRecord><BaseRecord index="396"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="397"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="846"/></BaseAnchor></BaseRecord><BaseRecord index="398"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="399"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="400"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="859"/></BaseAnchor></BaseRecord><BaseRecord index="401"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="402"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="403"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="404"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="405"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="406"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="407"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="408"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1150"/></BaseAnchor></BaseRecord><BaseRecord index="409"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="410"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="411"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="412"><BaseAnchor index="0" Format="1"><XCoordinate value="406"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="413"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="414"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="415"><BaseAnchor index="0" Format="1"><XCoordinate value="414"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="416"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1265"/></BaseAnchor></BaseRecord><BaseRecord index="417"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="418"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="419"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="420"><BaseAnchor index="0" Format="1"><XCoordinate value="410"/><YCoordinate value="978"/></BaseAnchor></BaseRecord><BaseRecord index="421"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="422"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="735"/></BaseAnchor></BaseRecord><BaseRecord index="423"><BaseAnchor index="0" Format="1"><XCoordinate value="414"/><YCoordinate value="966"/></BaseAnchor></BaseRecord><BaseRecord index="424"><BaseAnchor index="0" Format="1"><XCoordinate value="419"/><YCoordinate value="970"/></BaseAnchor></BaseRecord><BaseRecord index="425"><BaseAnchor index="0" Format="1"><XCoordinate value="367"/><YCoordinate value="1410"/></BaseAnchor></BaseRecord><BaseRecord index="426"><BaseAnchor index="0" Format="1"><XCoordinate value="376"/><YCoordinate value="1222"/></BaseAnchor></BaseRecord><BaseRecord index="427"><BaseAnchor index="0" Format="1"><XCoordinate value="430"/><YCoordinate value="980"/></BaseAnchor></BaseRecord><BaseRecord index="428"><BaseAnchor index="0" Format="1"><XCoordinate value="430"/><YCoordinate value="980"/></BaseAnchor></BaseRecord><BaseRecord index="429"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="430"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="431"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="432"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="433"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="434"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="435"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="436"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="437"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="687"/></BaseAnchor></BaseRecord><BaseRecord index="438"><BaseAnchor index="0" Format="1"><XCoordinate value="222"/><YCoordinate value="961"/></BaseAnchor></BaseRecord><BaseRecord index="439"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1170"/></BaseAnchor></BaseRecord><BaseRecord index="440"><BaseAnchor index="0" Format="1"><XCoordinate value="222"/><YCoordinate value="961"/></BaseAnchor></BaseRecord><BaseRecord index="441"><BaseAnchor index="0" Format="1"><XCoordinate value="222"/><YCoordinate value="991"/></BaseAnchor></BaseRecord><BaseRecord index="442"><BaseAnchor index="0" Format="1"><XCoordinate value="231"/><YCoordinate value="1102"/></BaseAnchor></BaseRecord><BaseRecord index="443"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="1085"/></BaseAnchor></BaseRecord><BaseRecord index="444"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="445"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="446"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="447"><BaseAnchor index="0" Format="1"><XCoordinate value="303"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="448"><BaseAnchor index="0" Format="1"><XCoordinate value="282"/><YCoordinate value="1196"/></BaseAnchor></BaseRecord><BaseRecord index="449"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="842"/></BaseAnchor></BaseRecord><BaseRecord index="450"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1213"/></BaseAnchor></BaseRecord><BaseRecord index="451"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="452"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="859"/></BaseAnchor></BaseRecord><BaseRecord index="453"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="859"/></BaseAnchor></BaseRecord><BaseRecord index="454"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="455"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="456"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="1213"/></BaseAnchor></BaseRecord><BaseRecord index="457"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="458"><BaseAnchor index="0" Format="1"><XCoordinate value="135"/><YCoordinate value="1335"/></BaseAnchor></BaseRecord><BaseRecord index="459"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1485"/></BaseAnchor></BaseRecord><BaseRecord index="460"><BaseAnchor index="0" Format="1"><XCoordinate value="197"/><YCoordinate value="1192"/></BaseAnchor></BaseRecord><BaseRecord index="461"><BaseAnchor index="0" Format="1"><XCoordinate value="205"/><YCoordinate value="1201"/></BaseAnchor></BaseRecord><BaseRecord index="462"><BaseAnchor index="0" Format="1"><XCoordinate value="201"/><YCoordinate value="1196"/></BaseAnchor></BaseRecord><BaseRecord index="463"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="1248"/></BaseAnchor></BaseRecord><BaseRecord index="464"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="1248"/></BaseAnchor></BaseRecord><BaseRecord index="465"><BaseAnchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1500"/></BaseAnchor></BaseRecord><BaseRecord index="466"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="1252"/></BaseAnchor></BaseRecord><BaseRecord index="467"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="1256"/></BaseAnchor></BaseRecord><BaseRecord index="468"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="1650"/></BaseAnchor></BaseRecord><BaseRecord index="469"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="1226"/></BaseAnchor></BaseRecord><BaseRecord index="470"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1419"/></BaseAnchor></BaseRecord><BaseRecord index="471"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="472"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="473"><BaseAnchor index="0" Format="1"><XCoordinate value="137"/><YCoordinate value="1132"/></BaseAnchor></BaseRecord><BaseRecord index="474"><BaseAnchor index="0" Format="1"><XCoordinate value="135"/><YCoordinate value="1545"/></BaseAnchor></BaseRecord><BaseRecord index="475"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1450"/></BaseAnchor></BaseRecord><BaseRecord index="476"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1650"/></BaseAnchor></BaseRecord><BaseRecord index="477"><BaseAnchor index="0" Format="1"><XCoordinate value="141"/><YCoordinate value="1132"/></BaseAnchor></BaseRecord><BaseRecord index="478"><BaseAnchor index="0" Format="1"><XCoordinate value="60"/><YCoordinate value="1675"/></BaseAnchor></BaseRecord><BaseRecord index="479"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1154"/></BaseAnchor></BaseRecord><BaseRecord index="480"><BaseAnchor index="0" Format="1"><XCoordinate value="291"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="481"><BaseAnchor index="0" Format="1"><XCoordinate value="291"/><YCoordinate value="825"/></BaseAnchor></BaseRecord><BaseRecord index="482"><BaseAnchor index="0" Format="1"><XCoordinate value="291"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="483"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="846"/></BaseAnchor></BaseRecord><BaseRecord index="484"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="846"/></BaseAnchor></BaseRecord><BaseRecord index="485"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="486"><BaseAnchor index="0" Format="1"><XCoordinate value="98"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="487"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="488"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="489"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="846"/></BaseAnchor></BaseRecord><BaseRecord index="490"><BaseAnchor index="0" Format="1"><XCoordinate value="85"/><YCoordinate value="1290"/></BaseAnchor></BaseRecord><BaseRecord index="491"><BaseAnchor index="0" Format="1"><XCoordinate value="145"/><YCoordinate value="1098"/></BaseAnchor></BaseRecord><BaseRecord index="492"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="493"><BaseAnchor index="0" Format="1"><XCoordinate value="269"/><YCoordinate value="1001"/></BaseAnchor></BaseRecord><BaseRecord index="494"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="495"><BaseAnchor index="0" Format="1"><XCoordinate value="195"/><YCoordinate value="495"/></BaseAnchor></BaseRecord><BaseRecord index="496"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="497"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="498"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="499"><BaseAnchor index="0" Format="1"><XCoordinate value="77"/><YCoordinate value="1034"/></BaseAnchor></BaseRecord><BaseRecord index="500"><BaseAnchor index="0" Format="1"><XCoordinate value="184"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="501"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="502"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="503"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="504"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="505"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="506"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="507"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="508"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="509"><BaseAnchor index="0" Format="1"><XCoordinate value="107"/><YCoordinate value="1248"/></BaseAnchor></BaseRecord><BaseRecord index="510"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="511"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="512"><BaseAnchor index="0" Format="1"><XCoordinate value="145"/><YCoordinate value="949"/></BaseAnchor></BaseRecord><BaseRecord index="513"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1064"/></BaseAnchor></BaseRecord><BaseRecord index="514"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="515"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="516"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="517"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="518"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="1077"/></BaseAnchor></BaseRecord><BaseRecord index="519"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="520"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="944"/></BaseAnchor></BaseRecord><BaseRecord index="521"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="936"/></BaseAnchor></BaseRecord><BaseRecord index="522"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="688"/></BaseAnchor></BaseRecord><BaseRecord index="523"><BaseAnchor index="0" Format="1"><XCoordinate value="145"/><YCoordinate value="949"/></BaseAnchor></BaseRecord><BaseRecord index="524"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="525"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="526"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="527"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="528"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="529"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="530"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="531"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="1150"/></BaseAnchor></BaseRecord><BaseRecord index="532"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="533"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="534"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="535"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1265"/></BaseAnchor></BaseRecord><BaseRecord index="536"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="537"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="538"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1265"/></BaseAnchor></BaseRecord><BaseRecord index="539"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1265"/></BaseAnchor></BaseRecord><BaseRecord index="540"><BaseAnchor index="0" Format="1"><XCoordinate value="410"/><YCoordinate value="949"/></BaseAnchor></BaseRecord><BaseRecord index="541"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="542"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="550"/></BaseAnchor></BaseRecord><BaseRecord index="543"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="1020"/></BaseAnchor></BaseRecord><BaseRecord index="544"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="545"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="573"/></BaseAnchor></BaseRecord><BaseRecord index="546"><BaseAnchor index="0" Format="1"><XCoordinate value="410"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="547"><BaseAnchor index="0" Format="1"><XCoordinate value="410"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="548"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1490"/></BaseAnchor></BaseRecord><BaseRecord index="549"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="1265"/></BaseAnchor></BaseRecord><BaseRecord index="550"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="983"/></BaseAnchor></BaseRecord><BaseRecord index="551"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="974"/></BaseAnchor></BaseRecord><BaseRecord index="552"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="553"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="554"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="555"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="556"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="900"/></BaseAnchor></BaseRecord><BaseRecord index="557"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="1248"/></BaseAnchor></BaseRecord><BaseRecord index="558"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="559"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="1235"/></BaseAnchor></BaseRecord><BaseRecord index="560"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="842"/></BaseAnchor></BaseRecord><BaseRecord index="561"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1085"/></BaseAnchor></BaseRecord><BaseRecord index="562"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1305"/></BaseAnchor></BaseRecord><BaseRecord index="563"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="1085"/></BaseAnchor></BaseRecord><BaseRecord index="564"><BaseAnchor index="0" Format="1"><XCoordinate value="226"/><YCoordinate value="1094"/></BaseAnchor></BaseRecord><BaseRecord index="565"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="1213"/></BaseAnchor></BaseRecord><BaseRecord index="566"><BaseAnchor index="0" Format="1"><XCoordinate value="252"/><YCoordinate value="1205"/></BaseAnchor></BaseRecord><BaseRecord index="567"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="1102"/></BaseAnchor></BaseRecord><BaseRecord index="568"><BaseAnchor index="0" Format="1"><XCoordinate value="137"/><YCoordinate value="846"/></BaseAnchor></BaseRecord><BaseRecord index="569"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="570"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="1102"/></BaseAnchor></BaseRecord><BaseRecord index="571"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="572"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="573"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1250"/></BaseAnchor></BaseRecord><BaseRecord index="574"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="575"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="576"><BaseAnchor index="0" Format="1"><XCoordinate value="128"/><YCoordinate value="850"/></BaseAnchor></BaseRecord><BaseRecord index="577"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="578"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1100"/></BaseAnchor></BaseRecord><BaseRecord index="579"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="580"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="581"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1231"/></BaseAnchor></BaseRecord><BaseRecord index="582"><BaseAnchor index="0" Format="1"><XCoordinate value="141"/><YCoordinate value="1393"/></BaseAnchor></BaseRecord><BaseRecord index="583"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="584"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="1051"/></BaseAnchor></BaseRecord><BaseRecord index="585"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="1047"/></BaseAnchor></BaseRecord><BaseRecord index="586"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="587"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="588"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="1400"/></BaseAnchor></BaseRecord><BaseRecord index="589"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="590"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="591"><BaseAnchor index="0" Format="1"><XCoordinate value="50"/><YCoordinate value="1530"/></BaseAnchor></BaseRecord><BaseRecord index="592"><BaseAnchor index="0" Format="1"><XCoordinate value="141"/><YCoordinate value="1218"/></BaseAnchor></BaseRecord><BaseRecord index="593"><BaseAnchor index="0" Format="1"><XCoordinate value="103"/><YCoordinate value="1372"/></BaseAnchor></BaseRecord><BaseRecord index="594"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="595"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="596"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1209"/></BaseAnchor></BaseRecord><BaseRecord index="597"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1545"/></BaseAnchor></BaseRecord><BaseRecord index="598"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1530"/></BaseAnchor></BaseRecord><BaseRecord index="599"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1710"/></BaseAnchor></BaseRecord><BaseRecord index="600"><BaseAnchor index="0" Format="1"><XCoordinate value="128"/><YCoordinate value="1201"/></BaseAnchor></BaseRecord><BaseRecord index="601"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="1718"/></BaseAnchor></BaseRecord><BaseRecord index="602"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="1213"/></BaseAnchor></BaseRecord><BaseRecord index="603"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="604"><BaseAnchor index="0" Format="1"><XCoordinate value="218"/><YCoordinate value="944"/></BaseAnchor></BaseRecord><BaseRecord index="605"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="606"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="607"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="608"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="609"><BaseAnchor index="0" Format="1"><XCoordinate value="94"/><YCoordinate value="1248"/></BaseAnchor></BaseRecord><BaseRecord index="610"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="611"><BaseAnchor index="0" Format="1"><XCoordinate value="167"/><YCoordinate value="846"/></BaseAnchor></BaseRecord><BaseRecord index="612"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1000"/></BaseAnchor></BaseRecord><BaseRecord index="613"><BaseAnchor index="0" Format="1"><XCoordinate value="77"/><YCoordinate value="1474"/></BaseAnchor></BaseRecord><BaseRecord index="614"><BaseAnchor index="0" Format="1"><XCoordinate value="115"/><YCoordinate value="1355"/></BaseAnchor></BaseRecord><BaseRecord index="615"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="855"/></BaseAnchor></BaseRecord><BaseRecord index="616"><BaseAnchor index="0" Format="1"><XCoordinate value="240"/><YCoordinate value="1050"/></BaseAnchor></BaseRecord><BaseRecord index="617"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="840"/></BaseAnchor></BaseRecord><BaseRecord index="618"><BaseAnchor index="0" Format="1"><XCoordinate value="157"/><YCoordinate value="684"/></BaseAnchor></BaseRecord><BaseRecord index="619"><BaseAnchor index="0" Format="1"><XCoordinate value="135"/><YCoordinate value="1365"/></BaseAnchor></BaseRecord><BaseRecord index="620"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="660"/></BaseAnchor></BaseRecord><BaseRecord index="621"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="930"/></BaseAnchor></BaseRecord><BaseRecord index="622"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="1185"/></BaseAnchor></BaseRecord><BaseRecord index="623"><BaseAnchor index="0" Format="1"><XCoordinate value="435"/><YCoordinate value="990"/></BaseAnchor></BaseRecord><BaseRecord index="624"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="790"/></BaseAnchor></BaseRecord><BaseRecord index="625"><BaseAnchor index="0" Format="1"><XCoordinate value="390"/><YCoordinate value="1200"/></BaseAnchor></BaseRecord><BaseRecord index="626"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="1278"/></BaseAnchor></BaseRecord><BaseRecord index="627"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="1569"/></BaseAnchor></BaseRecord><BaseRecord index="628"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1540"/></BaseAnchor></BaseRecord><BaseRecord index="629"><BaseAnchor index="0" Format="1"><XCoordinate value="125"/><YCoordinate value="1700"/></BaseAnchor></BaseRecord><BaseRecord index="630"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="1278"/></BaseAnchor></BaseRecord><BaseRecord index="631"><BaseAnchor index="0" Format="1"><XCoordinate value="73"/><YCoordinate value="1862"/></BaseAnchor></BaseRecord><BaseRecord index="632"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="1278"/></BaseAnchor></BaseRecord><BaseRecord index="633"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1459"/></BaseAnchor></BaseRecord><BaseRecord index="634"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1600"/></BaseAnchor></BaseRecord><BaseRecord index="635"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1218"/></BaseAnchor></BaseRecord><BaseRecord index="636"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1218"/></BaseAnchor></BaseRecord><BaseRecord index="637"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1600"/></BaseAnchor></BaseRecord><BaseRecord index="638"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1218"/></BaseAnchor></BaseRecord><BaseRecord index="639"><BaseAnchor index="0" Format="1"><XCoordinate value="18"/><YCoordinate value="1551"/></BaseAnchor></BaseRecord><BaseRecord index="640"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1500"/></BaseAnchor></BaseRecord><BaseRecord index="641"><BaseAnchor index="0" Format="1"><XCoordinate value="220"/><YCoordinate value="1035"/></BaseAnchor></BaseRecord><BaseRecord index="642"><BaseAnchor index="0" Format="1"><XCoordinate value="235"/><YCoordinate value="1400"/></BaseAnchor></BaseRecord><BaseRecord index="643"><BaseAnchor index="0" Format="1"><XCoordinate value="216"/><YCoordinate value="1349"/></BaseAnchor></BaseRecord><BaseRecord index="644"><BaseAnchor index="0" Format="1"><XCoordinate value="183"/><YCoordinate value="1532"/></BaseAnchor></BaseRecord><BaseRecord index="645"><BaseAnchor index="0" Format="1"><XCoordinate value="220"/><YCoordinate value="1035"/></BaseAnchor></BaseRecord><BaseRecord index="646"><BaseAnchor index="0" Format="1"><XCoordinate value="143"/><YCoordinate value="1661"/></BaseAnchor></BaseRecord><BaseRecord index="647"><BaseAnchor index="0" Format="1"><XCoordinate value="220"/><YCoordinate value="1035"/></BaseAnchor></BaseRecord><BaseRecord index="648"><BaseAnchor index="0" Format="1"><XCoordinate value="33"/><YCoordinate value="1173"/></BaseAnchor></BaseRecord><BaseRecord index="649"><BaseAnchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1335"/></BaseAnchor></BaseRecord><BaseRecord index="650"><BaseAnchor index="0" Format="1"><XCoordinate value="47"/><YCoordinate value="949"/></BaseAnchor></BaseRecord><BaseRecord index="651"><BaseAnchor index="0" Format="1"><XCoordinate value="47"/><YCoordinate value="949"/></BaseAnchor></BaseRecord><BaseRecord index="652"><BaseAnchor index="0" Format="1"><XCoordinate value="26"/><YCoordinate value="1316"/></BaseAnchor></BaseRecord><BaseRecord index="653"><BaseAnchor index="0" Format="1"><XCoordinate value="47"/><YCoordinate value="949"/></BaseAnchor></BaseRecord><BaseRecord index="654"><BaseAnchor index="0" Format="1"><XCoordinate value="33"/><YCoordinate value="1236"/></BaseAnchor></BaseRecord><BaseRecord index="655"><BaseAnchor index="0" Format="1"><XCoordinate value="37"/><YCoordinate value="1243"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="2"><LookupType value="4"/><LookupFlag value="0"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="1"><Glyph value="uni0670"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni0644"/><Glyph value="uni06B5"/><Glyph value="uni06B6"/><Glyph value="uni06B7"/><Glyph value="uni06B8"/><Glyph value="absLamRetro"/><Glyph value="uni076A"/><Glyph value="uni0644.fina"/><Glyph value="uni06B5.fina"/><Glyph value="uni06B6.fina"/><Glyph value="uni06B7.fina"/><Glyph value="uni06B8.fina"/><Glyph value="absLamRetroFin"/><Glyph value="uni076A.fina"/><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="180"/><YCoordinate value="630"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="540"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="915"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="600"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="400"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="460"/><YCoordinate value="800"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="450"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="15"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="650"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="750"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="500"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="30"/><YCoordinate value="950"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="825"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="825"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="825"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="825"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="825"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="-55"/><YCoordinate value="1514"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="66"/><YCoordinate value="931"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="18"/><YCoordinate value="1239"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="700"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="15"/><YCoordinate value="1360"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="821"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="3"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="uni064B"/><Glyph value="uni064C"/><Glyph value="uni064E"/><Glyph value="uni064F"/><Glyph value="uni0651"/><Glyph value="uni0652"/><Glyph value="uni0653"/><Glyph value="uni0654"/><Glyph value="uni0657"/><Glyph value="uni0658"/><Glyph value="uni0659"/><Glyph value="uni065A"/><Glyph value="uni065B"/><Glyph value="uni065D"/><Glyph value="uni065E"/><Glyph value="uni0670"/><Glyph value="uni0670.large"/><Glyph value="uni06D6"/><Glyph value="uni06D7"/><Glyph value="uni06D8"/><Glyph value="uni06D9"/><Glyph value="uni06DA"/><Glyph value="uni06DB"/><Glyph value="uni06DC"/><Glyph value="uni06DF"/><Glyph value="uni06E0"/><Glyph value="uni06E1"/><Glyph value="uni06E2"/><Glyph value="uni06E4"/><Glyph value="uni06E7"/><Glyph value="uni06E8"/><Glyph value="uni06EB"/><Glyph value="uni06EC"/><Glyph value="uni0610"/><Glyph value="uni0611"/><Glyph value="uni0612"/><Glyph value="uni0613"/><Glyph value="uni0614"/><Glyph value="uni0615"/><Glyph value="uni0651064B"/><Glyph value="uni0651064C"/><Glyph value="uni0651064D"/><Glyph value="uni0651064E"/><Glyph value="uni0651064F"/><Glyph value="uni06510650"/><Glyph value="uni0654064E"/><Glyph value="uni0654064F"/><Glyph value="absShaddaAlef"/><Glyph value="uni0652.leftOpen"/><Glyph value="uni0652.downOpen"/><Glyph value="uni064C.sixNine"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="uni064B"/><Glyph value="uni064C"/><Glyph value="uni064E"/><Glyph value="uni064F"/><Glyph value="uni0651"/><Glyph value="uni0652"/><Glyph value="uni0653"/><Glyph value="uni0654"/><Glyph value="uni0657"/><Glyph value="uni0658"/><Glyph value="uni0659"/><Glyph value="uni065A"/><Glyph value="uni065B"/><Glyph value="uni065D"/><Glyph value="uni065E"/><Glyph value="uni0670"/><Glyph value="uni0670.large"/><Glyph value="uni06E1"/><Glyph value="uni0651064B"/><Glyph value="uni0651064C"/><Glyph value="uni0651064D"/><Glyph value="uni0651064E"/><Glyph value="uni0651064F"/><Glyph value="uni06510650"/><Glyph value="uni0654064E"/><Glyph value="uni0654064F"/><Glyph value="absShaddaAlef"/><Glyph value="uni0652.leftOpen"/><Glyph value="uni0652.downOpen"/><Glyph value="uni064C.sixNine"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="180"/><YCoordinate value="1005"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="195"/><YCoordinate value="960"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="930"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1110"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="930"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="160"/><YCoordinate value="900"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="207"/><YCoordinate value="969"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="203"/><YCoordinate value="941"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="207"/><YCoordinate value="949"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="105"/><YCoordinate value="945"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="180"/><YCoordinate value="660"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="450"/><YCoordinate value="510"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="-15"/><YCoordinate value="915"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="540"/><YCoordinate value="998"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="514"/><YCoordinate value="996"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="526"/><YCoordinate value="978"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="508"/><YCoordinate value="986"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="270"/><YCoordinate value="1035"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="301"/><YCoordinate value="1035"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="135"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="165"/><YCoordinate value="990"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="975"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="46"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="120"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord><MarkRecord index="47"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="180"/><YCoordinate value="975"/></MarkAnchor></MarkRecord><MarkRecord index="48"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="160"/><YCoordinate value="900"/></MarkAnchor></MarkRecord><MarkRecord index="49"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="160"/><YCoordinate value="930"/></MarkAnchor></MarkRecord><MarkRecord index="50"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="150"/><YCoordinate value="1020"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1425"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1455"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1290"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="1515"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="1365"/></Mark2Anchor></Mark2Record><Mark2Record index="5"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1425"/></Mark2Anchor></Mark2Record><Mark2Record index="6"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1305"/></Mark2Anchor></Mark2Record><Mark2Record index="7"><Mark2Anchor index="0" Format="1"><XCoordinate value="60"/><YCoordinate value="1410"/></Mark2Anchor></Mark2Record><Mark2Record index="8"><Mark2Anchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1450"/></Mark2Anchor></Mark2Record><Mark2Record index="9"><Mark2Anchor index="0" Format="1"><XCoordinate value="160"/><YCoordinate value="1290"/></Mark2Anchor></Mark2Record><Mark2Record index="10"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1290"/></Mark2Anchor></Mark2Record><Mark2Record index="11"><Mark2Anchor index="0" Format="1"><XCoordinate value="197"/><YCoordinate value="1275"/></Mark2Anchor></Mark2Record><Mark2Record index="12"><Mark2Anchor index="0" Format="1"><XCoordinate value="209"/><YCoordinate value="1271"/></Mark2Anchor></Mark2Record><Mark2Record index="13"><Mark2Anchor index="0" Format="1"><XCoordinate value="106"/><YCoordinate value="1516"/></Mark2Anchor></Mark2Record><Mark2Record index="14"><Mark2Anchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="1319"/></Mark2Anchor></Mark2Record><Mark2Record index="15"><Mark2Anchor index="0" Format="1"><XCoordinate value="180"/><YCoordinate value="1230"/></Mark2Anchor></Mark2Record><Mark2Record index="16"><Mark2Anchor index="0" Format="1"><XCoordinate value="389"/><YCoordinate value="1136"/></Mark2Anchor></Mark2Record><Mark2Record index="17"><Mark2Anchor index="0" Format="1"><XCoordinate value="-15"/><YCoordinate value="1270"/></Mark2Anchor></Mark2Record><Mark2Record index="18"><Mark2Anchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="1710"/></Mark2Anchor></Mark2Record><Mark2Record index="19"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1740"/></Mark2Anchor></Mark2Record><Mark2Record index="20"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1740"/></Mark2Anchor></Mark2Record><Mark2Record index="21"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1530"/></Mark2Anchor></Mark2Record><Mark2Record index="22"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1695"/></Mark2Anchor></Mark2Record><Mark2Record index="23"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1560"/></Mark2Anchor></Mark2Record><Mark2Record index="24"><Mark2Anchor index="0" Format="1"><XCoordinate value="62"/><YCoordinate value="1534"/></Mark2Anchor></Mark2Record><Mark2Record index="25"><Mark2Anchor index="0" Format="1"><XCoordinate value="44"/><YCoordinate value="1744"/></Mark2Anchor></Mark2Record><Mark2Record index="26"><Mark2Anchor index="0" Format="1"><XCoordinate value="90"/><YCoordinate value="1710"/></Mark2Anchor></Mark2Record><Mark2Record index="27"><Mark2Anchor index="0" Format="1"><XCoordinate value="160"/><YCoordinate value="1320"/></Mark2Anchor></Mark2Record><Mark2Record index="28"><Mark2Anchor index="0" Format="1"><XCoordinate value="160"/><YCoordinate value="1320"/></Mark2Anchor></Mark2Record><Mark2Record index="29"><Mark2Anchor index="0" Format="1"><XCoordinate value="0"/><YCoordinate value="1540"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="4"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/><Glyph value="uni06E3"/><Glyph value="uni06EA"/><Glyph value="uni06ED"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni25CC"/><Glyph value="uni0622"/><Glyph value="uni0623"/><Glyph value="uni0625"/><Glyph value="uni0627"/><Glyph value="uni0672"/><Glyph value="uni0673"/><Glyph value="uni0675"/><Glyph value="uni0671"/><Glyph value="uni0624"/><Glyph value="uni0648"/><Glyph value="uni0676"/><Glyph value="uni0677"/><Glyph value="uni06C4"/><Glyph value="uni06C5"/><Glyph value="uni06C6"/><Glyph value="uni06C7"/><Glyph value="uni06C8"/><Glyph value="uni06C9"/><Glyph value="uni06CA"/><Glyph value="uni06CB"/><Glyph value="uni06CF"/><Glyph value="absWawDotBelow"/><Glyph value="uni062F"/><Glyph value="uni0630"/><Glyph value="uni0688"/><Glyph value="uni0689"/><Glyph value="uni068A"/><Glyph value="uni068B"/><Glyph value="uni068C"/><Glyph value="uni068D"/><Glyph value="uni068E"/><Glyph value="uni068F"/><Glyph value="uni0690"/><Glyph value="uni06EE"/><Glyph value="uni0759"/><Glyph value="uni075A"/><Glyph value="uni0631"/><Glyph value="uni0632"/><Glyph value="uni0691"/><Glyph value="uni0692"/><Glyph value="uni0693"/><Glyph value="uni0694"/><Glyph value="uni0695"/><Glyph value="uni0696"/><Glyph value="uni0697"/><Glyph value="uni0698"/><Glyph value="uni0699"/><Glyph value="uni076B"/><Glyph value="uni076C"/><Glyph value="absJehRetro1"/><Glyph value="absJehRetro2"/><Glyph value="uni0698.dotHat"/><Glyph value="uni06EF"/><Glyph value="uni075B"/><Glyph value="uni06D2"/><Glyph value="uni06D3"/><Glyph value="uni0626"/><Glyph value="uni064A"/><Glyph value="uni064A.noDots"/><Glyph value="uni0678"/><Glyph value="uni06CC"/><Glyph value="uni06CE"/><Glyph value="uni06D0"/><Glyph value="uni06D1"/><Glyph value="uni06CD"/><Glyph value="uni0649"/><Glyph value="uni066E"/><Glyph value="uni0628"/><Glyph value="uni062A"/><Glyph value="uni062B"/><Glyph value="uni0679"/><Glyph value="uni067A"/><Glyph value="uni067B"/><Glyph value="uni067C"/><Glyph value="uni067D"/><Glyph value="uni067E"/><Glyph value="uni067F"/><Glyph value="uni0680"/><Glyph value="uni0750"/><Glyph value="uni0751"/><Glyph value="uni0752"/><Glyph value="uni0753"/><Glyph value="uni0754"/><Glyph value="uni0755"/><Glyph value="uni0756"/><Glyph value="uni062C"/><Glyph value="uni062D"/><Glyph value="uni062E"/><Glyph value="uni0681"/><Glyph value="uni0682"/><Glyph value="uni0683"/><Glyph value="uni0684"/><Glyph value="uni0685"/><Glyph value="uni0686"/><Glyph value="uni0687"/><Glyph value="uni06BF"/><Glyph value="absTchehRetro1"/><Glyph value="absTchehRetro2"/><Glyph value="absJeemRetro1"/><Glyph value="absJeemRetro2"/><Glyph value="absJeemRetro3"/><Glyph value="uni0757"/><Glyph value="uni0758"/><Glyph value="uni0633"/><Glyph value="uni0634"/><Glyph value="uni069A"/><Glyph value="uni069B"/><Glyph value="uni069C"/><Glyph value="uni06FA"/><Glyph value="absSheenRetro1"/><Glyph value="absSheenRetro2"/><Glyph value="uni075C"/><Glyph value="uni076D"/><Glyph value="uni0635"/><Glyph value="uni0636"/><Glyph value="uni069D"/><Glyph value="uni069E"/><Glyph value="uni06FB"/><Glyph value="uni0637"/><Glyph value="uni0638"/><Glyph value="uni069F"/><Glyph value="uni0639"/><Glyph value="uni063A"/><Glyph value="uni06A0"/><Glyph value="uni06FC"/><Glyph value="uni075D"/><Glyph value="uni075E"/><Glyph value="uni075F"/><Glyph value="uni0641"/><Glyph value="uni06A1"/><Glyph value="uni06A2"/><Glyph value="uni06A3"/><Glyph value="uni06A4"/><Glyph value="uni06A5"/><Glyph value="uni06A6"/><Glyph value="uni0760"/><Glyph value="uni0761"/><Glyph value="uni066F"/><Glyph value="uni0642"/><Glyph value="uni06A7"/><Glyph value="uni06A8"/><Glyph value="uni0643"/><Glyph value="uni06AC"/><Glyph value="uni06AD"/><Glyph value="uni06AE"/><Glyph value="uni06A9"/><Glyph value="uni06AB"/><Glyph value="uni06AF"/><Glyph value="uni06B0"/><Glyph value="uni06B1"/><Glyph value="uni06B2"/><Glyph value="uni06B3"/><Glyph value="uni06B4"/><Glyph value="uni0762"/><Glyph value="uni0763"/><Glyph value="uni0764"/><Glyph value="uni06AA"/><Glyph value="uni0644"/><Glyph value="uni06B5"/><Glyph value="uni06B6"/><Glyph value="uni06B7"/><Glyph value="uni06B8"/><Glyph value="absLamRetro"/><Glyph value="uni076A"/><Glyph value="uni0645"/><Glyph value="uni0765"/><Glyph value="uni0766"/><Glyph value="uni0646"/><Glyph value="uni06B9"/><Glyph value="uni06BA"/><Glyph value="uni06BB"/><Glyph value="uni06BC"/><Glyph value="uni06BD"/><Glyph value="uni0767"/><Glyph value="uni0768"/><Glyph value="uni0769"/><Glyph value="uni06BE"/><Glyph value="uni06FF"/><Glyph value="uni0647"/><Glyph value="uni06D5"/><Glyph value="uni0629"/><Glyph value="uni06C0"/><Glyph value="uni06C1"/><Glyph value="uni06C2"/><Glyph value="uni06C3"/><Glyph value="uni0621"/><Glyph value="uni0640"/><Glyph value="uni0622.fina"/><Glyph value="uni0623.fina"/><Glyph value="uni0625.fina"/><Glyph value="uni0627.fina"/><Glyph value="uni0672.fina"/><Glyph value="uni0673.fina"/><Glyph value="uni0675.fina"/><Glyph value="uni0671.fina"/><Glyph value="uni0624.fina"/><Glyph value="uni0648.fina"/><Glyph value="uni0676.fina"/><Glyph value="uni0677.fina"/><Glyph value="uni06C4.fina"/><Glyph value="uni06C5.fina"/><Glyph value="uni06C6.fina"/><Glyph value="uni06C7.fina"/><Glyph value="uni06C8.fina"/><Glyph value="uni06C9.fina"/><Glyph value="uni06CA.fina"/><Glyph value="uni06CB.fina"/><Glyph value="uni06CF.fina"/><Glyph value="absWawDotBelowFin"/><Glyph value="uni062F.fina"/><Glyph value="uni0630.fina"/><Glyph value="uni0688.fina"/><Glyph value="uni0689.fina"/><Glyph value="uni068A.fina"/><Glyph value="uni068B.fina"/><Glyph value="uni068C.fina"/><Glyph value="uni068D.fina"/><Glyph value="uni068E.fina"/><Glyph value="uni068F.fina"/><Glyph value="uni0690.fina"/><Glyph value="uni06EE.fina"/><Glyph value="uni0759.fina"/><Glyph value="uni075A.fina"/><Glyph value="uni0631.fina"/><Glyph value="uni0632.fina"/><Glyph value="uni0691.fina"/><Glyph value="uni0692.fina"/><Glyph value="uni0693.fina"/><Glyph value="uni0694.fina"/><Glyph value="uni0695.fina"/><Glyph value="uni0696.fina"/><Glyph value="uni0697.fina"/><Glyph value="uni0698.fina"/><Glyph value="uni0699.fina"/><Glyph value="uni076B.fina"/><Glyph value="uni076C.fina"/><Glyph value="absJehRetro1Fin"/><Glyph value="absJehRetro2Fin"/><Glyph value="uni0698.fina.dotHat"/><Glyph value="uni06EF.fina"/><Glyph value="uni075B.fina"/><Glyph value="uni06D2.fina"/><Glyph value="uni06D3.fina"/><Glyph value="uni0626.fina"/><Glyph value="uni064A.fina"/><Glyph value="uni064A.fina.noDots"/><Glyph value="uni0678.fina"/><Glyph value="uni06CC.fina"/><Glyph value="uni06CE.fina"/><Glyph value="uni06D0.fina"/><Glyph value="uni06D1.fina"/><Glyph value="uni06CD.fina"/><Glyph value="uni0649.fina"/><Glyph value="uni066E.fina"/><Glyph value="uni0628.fina"/><Glyph value="uni062A.fina"/><Glyph value="uni062B.fina"/><Glyph value="uni0679.fina"/><Glyph value="uni067A.fina"/><Glyph value="uni067B.fina"/><Glyph value="uni067C.fina"/><Glyph value="uni067D.fina"/><Glyph value="uni067E.fina"/><Glyph value="uni067F.fina"/><Glyph value="uni0680.fina"/><Glyph value="uni0750.fina"/><Glyph value="uni0751.fina"/><Glyph value="uni0752.fina"/><Glyph value="uni0753.fina"/><Glyph value="uni0754.fina"/><Glyph value="uni0755.fina"/><Glyph value="uni0756.fina"/><Glyph value="uni062C.fina"/><Glyph value="uni062D.fina"/><Glyph value="uni062E.fina"/><Glyph value="uni0681.fina"/><Glyph value="uni0682.fina"/><Glyph value="uni0683.fina"/><Glyph value="uni0684.fina"/><Glyph value="uni0685.fina"/><Glyph value="uni0686.fina"/><Glyph value="uni0687.fina"/><Glyph value="uni06BF.fina"/><Glyph value="absTchehRetro1Fin"/><Glyph value="absTchehRetro2Fin"/><Glyph value="absJeemRetro1Fin"/><Glyph value="absJeemRetro2Fin"/><Glyph value="absJeemRetro3Fin"/><Glyph value="uni0757.fina"/><Glyph value="uni0758.fina"/><Glyph value="uni0633.fina"/><Glyph value="uni0634.fina"/><Glyph value="uni069A.fina"/><Glyph value="uni069B.fina"/><Glyph value="uni069C.fina"/><Glyph value="uni06FA.fina"/><Glyph value="absSheenRetro1Fin"/><Glyph value="absSheenRetro2Fin"/><Glyph value="uni075C.fina"/><Glyph value="uni076D.fina"/><Glyph value="uni0635.fina"/><Glyph value="uni0636.fina"/><Glyph value="uni069D.fina"/><Glyph value="uni069E.fina"/><Glyph value="uni06FB.fina"/><Glyph value="uni0637.fina"/><Glyph value="uni0638.fina"/><Glyph value="uni069F.fina"/><Glyph value="uni0639.fina"/><Glyph value="uni063A.fina"/><Glyph value="uni06A0.fina"/><Glyph value="uni06FC.fina"/><Glyph value="uni075D.fina"/><Glyph value="uni075E.fina"/><Glyph value="uni075F.fina"/><Glyph value="uni0641.fina"/><Glyph value="uni06A1.fina"/><Glyph value="uni06A2.fina"/><Glyph value="uni06A3.fina"/><Glyph value="uni06A4.fina"/><Glyph value="uni06A5.fina"/><Glyph value="uni06A6.fina"/><Glyph value="uni0760.fina"/><Glyph value="uni0761.fina"/><Glyph value="uni066F.fina"/><Glyph value="uni0642.fina"/><Glyph value="uni06A7.fina"/><Glyph value="uni06A8.fina"/><Glyph value="uni0643.fina"/><Glyph value="uni06AC.fina"/><Glyph value="uni06AD.fina"/><Glyph value="uni06AE.fina"/><Glyph value="uni06A9.fina"/><Glyph value="uni06AB.fina"/><Glyph value="uni06AF.fina"/><Glyph value="uni06B0.fina"/><Glyph value="uni06B1.fina"/><Glyph value="uni06B2.fina"/><Glyph value="uni06B3.fina"/><Glyph value="uni06B4.fina"/><Glyph value="uni0762.fina"/><Glyph value="uni0763.fina"/><Glyph value="uni0764.fina"/><Glyph value="uni06AA.fina"/><Glyph value="uni0644.fina"/><Glyph value="uni06B5.fina"/><Glyph value="uni06B6.fina"/><Glyph value="uni06B7.fina"/><Glyph value="uni06B8.fina"/><Glyph value="absLamRetroFin"/><Glyph value="uni076A.fina"/><Glyph value="uni0645.fina"/><Glyph value="uni0765.fina"/><Glyph value="uni0766.fina"/><Glyph value="uni0646.fina"/><Glyph value="uni06B9.fina"/><Glyph value="uni06BA.fina"/><Glyph value="uni06BB.fina"/><Glyph value="uni06BC.fina"/><Glyph value="uni06BD.fina"/><Glyph value="uni0767.fina"/><Glyph value="uni0768.fina"/><Glyph value="uni0769.fina"/><Glyph value="uni06BE.fina"/><Glyph value="uni06FF.fina"/><Glyph value="uni0647.fina"/><Glyph value="uni06D5.fina"/><Glyph value="uni0629.fina"/><Glyph value="uni06C0.fina"/><Glyph value="uni06C1.fina"/><Glyph value="uni06C2.fina"/><Glyph value="uni06C3.fina"/><Glyph value="uni0626.medi"/><Glyph value="uni064A.medi"/><Glyph value="uni064A.medi.noDots"/><Glyph value="uni0678.medi"/><Glyph value="uni06CC.medi"/><Glyph value="uni06CE.medi"/><Glyph value="uni06D0.medi"/><Glyph value="uni06D1.medi"/><Glyph value="uni0649.medi"/><Glyph value="uni066E.medi"/><Glyph value="uni0628.medi"/><Glyph value="uni062A.medi"/><Glyph value="uni062B.medi"/><Glyph value="uni0679.medi"/><Glyph value="uni067A.medi"/><Glyph value="uni067B.medi"/><Glyph value="uni067C.medi"/><Glyph value="uni067D.medi"/><Glyph value="uni067E.medi"/><Glyph value="uni067F.medi"/><Glyph value="uni0680.medi"/><Glyph value="uni0750.medi"/><Glyph value="uni0751.medi"/><Glyph value="uni0752.medi"/><Glyph value="uni0753.medi"/><Glyph value="uni0754.medi"/><Glyph value="uni0755.medi"/><Glyph value="uni0756.medi"/><Glyph value="uni062C.medi"/><Glyph value="uni062D.medi"/><Glyph value="uni062E.medi"/><Glyph value="uni0681.medi"/><Glyph value="uni0682.medi"/><Glyph value="uni0683.medi"/><Glyph value="uni0684.medi"/><Glyph value="uni0685.medi"/><Glyph value="uni0686.medi"/><Glyph value="uni0687.medi"/><Glyph value="uni06BF.medi"/><Glyph value="absTchehRetro1Med"/><Glyph value="absTchehRetro2Med"/><Glyph value="absJeemRetro1Med"/><Glyph value="absJeemRetro2Med"/><Glyph value="absJeemRetro3Med"/><Glyph value="uni0757.medi"/><Glyph value="uni0758.medi"/><Glyph value="uni0633.medi"/><Glyph value="uni0634.medi"/><Glyph value="uni069A.medi"/><Glyph value="uni069B.medi"/><Glyph value="uni069C.medi"/><Glyph value="uni06FA.medi"/><Glyph value="absSheenRetro1Med"/><Glyph value="absSheenRetro2Med"/><Glyph value="uni075C.medi"/><Glyph value="uni076D.medi"/><Glyph value="uni0635.medi"/><Glyph value="uni0636.medi"/><Glyph value="uni069D.medi"/><Glyph value="uni069E.medi"/><Glyph value="uni06FB.medi"/><Glyph value="uni0637.medi"/><Glyph value="uni0638.medi"/><Glyph value="uni069F.medi"/><Glyph value="uni0639.medi"/><Glyph value="uni063A.medi"/><Glyph value="uni06A0.medi"/><Glyph value="uni06FC.medi"/><Glyph value="uni075D.medi"/><Glyph value="uni075E.medi"/><Glyph value="uni075F.medi"/><Glyph value="uni0641.medi"/><Glyph value="uni06A1.medi"/><Glyph value="uni06A2.medi"/><Glyph value="uni06A3.medi"/><Glyph value="uni06A4.medi"/><Glyph value="uni06A5.medi"/><Glyph value="uni06A6.medi"/><Glyph value="uni0760.medi"/><Glyph value="uni0761.medi"/><Glyph value="uni066F.medi"/><Glyph value="uni0642.medi"/><Glyph value="uni06A7.medi"/><Glyph value="uni06A8.medi"/><Glyph value="uni0643.medi"/><Glyph value="uni06AC.medi"/><Glyph value="uni06AD.medi"/><Glyph value="uni06AE.medi"/><Glyph value="uni06A9.medi"/><Glyph value="uni06AB.medi"/><Glyph value="uni06AF.medi"/><Glyph value="uni06B0.medi"/><Glyph value="uni06B1.medi"/><Glyph value="uni06B2.medi"/><Glyph value="uni06B3.medi"/><Glyph value="uni06B4.medi"/><Glyph value="uni0762.medi"/><Glyph value="uni0763.medi"/><Glyph value="uni0764.medi"/><Glyph value="uni06AA.medi"/><Glyph value="uni0644.medi"/><Glyph value="uni06B5.medi"/><Glyph value="uni06B6.medi"/><Glyph value="uni06B7.medi"/><Glyph value="uni06B8.medi"/><Glyph value="absLamRetroMed"/><Glyph value="uni076A.medi"/><Glyph value="uni0645.medi"/><Glyph value="uni0765.medi"/><Glyph value="uni0766.medi"/><Glyph value="uni0646.medi"/><Glyph value="uni06B9.medi"/><Glyph value="uni06BA.medi"/><Glyph value="uni06BB.medi"/><Glyph value="uni06BC.medi"/><Glyph value="uni06BD.medi"/><Glyph value="uni0767.medi"/><Glyph value="uni0768.medi"/><Glyph value="uni0769.medi"/><Glyph value="uni06BE.medi"/><Glyph value="uni06FF.medi"/><Glyph value="uni0647.medi"/><Glyph value="uni06C1.medi"/><Glyph value="uni0626.init"/><Glyph value="uni064A.init"/><Glyph value="uni064A.init.noDots"/><Glyph value="uni0678.init"/><Glyph value="uni06CC.init"/><Glyph value="uni06CE.init"/><Glyph value="uni06D0.init"/><Glyph value="uni06D1.init"/><Glyph value="uni0649.init"/><Glyph value="uni066E.init"/><Glyph value="uni0628.init"/><Glyph value="uni062A.init"/><Glyph value="uni062B.init"/><Glyph value="uni0679.init"/><Glyph value="uni067A.init"/><Glyph value="uni067B.init"/><Glyph value="uni067C.init"/><Glyph value="uni067D.init"/><Glyph value="uni067E.init"/><Glyph value="uni067F.init"/><Glyph value="uni0680.init"/><Glyph value="uni0750.init"/><Glyph value="uni0751.init"/><Glyph value="uni0752.init"/><Glyph value="uni0753.init"/><Glyph value="uni0754.init"/><Glyph value="uni0755.init"/><Glyph value="uni0756.init"/><Glyph value="uni062C.init"/><Glyph value="uni062D.init"/><Glyph value="uni062E.init"/><Glyph value="uni0681.init"/><Glyph value="uni0682.init"/><Glyph value="uni0683.init"/><Glyph value="uni0684.init"/><Glyph value="uni0685.init"/><Glyph value="uni0686.init"/><Glyph value="uni0687.init"/><Glyph value="uni06BF.init"/><Glyph value="absTchehRetro1Ini"/><Glyph value="absTchehRetro2Ini"/><Glyph value="absJeemRetro1Ini"/><Glyph value="absJeemRetro2Ini"/><Glyph value="absJeemRetro3Ini"/><Glyph value="uni0757.init"/><Glyph value="uni0758.init"/><Glyph value="uni0633.init"/><Glyph value="uni0634.init"/><Glyph value="uni069A.init"/><Glyph value="uni069B.init"/><Glyph value="uni069C.init"/><Glyph value="uni06FA.init"/><Glyph value="absSheenRetro1Ini"/><Glyph value="absSheenRetro2Ini"/><Glyph value="uni075C.init"/><Glyph value="uni076D.init"/><Glyph value="uni0635.init"/><Glyph value="uni0636.init"/><Glyph value="uni069D.init"/><Glyph value="uni069E.init"/><Glyph value="uni06FB.init"/><Glyph value="uni0637.init"/><Glyph value="uni0638.init"/><Glyph value="uni069F.init"/><Glyph value="uni0639.init"/><Glyph value="uni063A.init"/><Glyph value="uni06A0.init"/><Glyph value="uni06FC.init"/><Glyph value="uni075D.init"/><Glyph value="uni075E.init"/><Glyph value="uni075F.init"/><Glyph value="uni0641.init"/><Glyph value="uni06A1.init"/><Glyph value="uni06A2.init"/><Glyph value="uni06A3.init"/><Glyph value="uni06A4.init"/><Glyph value="uni06A5.init"/><Glyph value="uni06A6.init"/><Glyph value="uni0760.init"/><Glyph value="uni0761.init"/><Glyph value="uni066F.init"/><Glyph value="uni0642.init"/><Glyph value="uni06A7.init"/><Glyph value="uni06A8.init"/><Glyph value="uni0643.init"/><Glyph value="uni06AC.init"/><Glyph value="uni06AD.init"/><Glyph value="uni06AE.init"/><Glyph value="uni06A9.init"/><Glyph value="uni06AB.init"/><Glyph value="uni06AF.init"/><Glyph value="uni06B0.init"/><Glyph value="uni06B1.init"/><Glyph value="uni06B2.init"/><Glyph value="uni06B3.init"/><Glyph value="uni06B4.init"/><Glyph value="uni0762.init"/><Glyph value="uni0763.init"/><Glyph value="uni0764.init"/><Glyph value="uni06AA.init"/><Glyph value="uni0644.init"/><Glyph value="uni06B5.init"/><Glyph value="uni06B6.init"/><Glyph value="uni06B7.init"/><Glyph value="uni06B8.init"/><Glyph value="absLamRetroIni"/><Glyph value="uni076A.init"/><Glyph value="uni0645.init"/><Glyph value="uni0765.init"/><Glyph value="uni0766.init"/><Glyph value="uni0646.init"/><Glyph value="uni06B9.init"/><Glyph value="uni06BA.init"/><Glyph value="uni06BB.init"/><Glyph value="uni06BC.init"/><Glyph value="uni06BD.init"/><Glyph value="uni0767.init"/><Glyph value="uni0768.init"/><Glyph value="uni0769.init"/><Glyph value="uni06BE.init"/><Glyph value="uni06FF.init"/><Glyph value="uni0647.init"/><Glyph value="uni06C1.init"/><Glyph value="uni0674"/><Glyph value="uni060C"/><Glyph value="uni061B"/><Glyph value="uni061F"/><Glyph value="uni066D"/><Glyph value="uni06D4"/><Glyph value="uni06E9"/><Glyph value="uni0644.init.preAlef"/><Glyph value="uni06B5.init.preAlef"/><Glyph value="uni06B6.init.preAlef"/><Glyph value="uni06B7.init.preAlef"/><Glyph value="uni06B8.init.preAlef"/><Glyph value="absLamRetroIni.preAlef"/><Glyph value="uni076A.init.preAlef"/><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0644.medi.preAlef"/><Glyph value="uni06B5.medi.preAlef"/><Glyph value="uni06B6.medi.preAlef"/><Glyph value="uni06B7.medi.preAlef"/><Glyph value="uni06B8.medi.preAlef"/><Glyph value="absLamRetroMed.preAlef"/><Glyph value="uni076A.medi.preAlef"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="141"/><YCoordinate value="-560"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="145"/><YCoordinate value="-560"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="105"/><YCoordinate value="-120"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="92"/><YCoordinate value="-18"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="164"/><YCoordinate value="203"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-150"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-200"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-280"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="520"/><YCoordinate value="-120"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-495"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="21"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="22"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="-795"/></BaseAnchor></BaseRecord><BaseRecord index="23"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="24"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="25"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="26"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="27"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="28"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="29"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="30"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="31"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="32"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="33"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="34"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="35"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="-564"/></BaseAnchor></BaseRecord><BaseRecord index="36"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="37"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="38"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="39"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="40"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="41"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-628"/></BaseAnchor></BaseRecord><BaseRecord index="42"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-700"/></BaseAnchor></BaseRecord><BaseRecord index="43"><BaseAnchor index="0" Format="1"><XCoordinate value="222"/><YCoordinate value="-837"/></BaseAnchor></BaseRecord><BaseRecord index="44"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-700"/></BaseAnchor></BaseRecord><BaseRecord index="45"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="46"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="47"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="48"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="49"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="50"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="51"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="52"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="53"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="54"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="55"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="56"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="57"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="58"><BaseAnchor index="0" Format="1"><XCoordinate value="342"/><YCoordinate value="-620"/></BaseAnchor></BaseRecord><BaseRecord index="59"><BaseAnchor index="0" Format="1"><XCoordinate value="453"/><YCoordinate value="-406"/></BaseAnchor></BaseRecord><BaseRecord index="60"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="61"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="62"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="63"><BaseAnchor index="0" Format="1"><XCoordinate value="385"/><YCoordinate value="-731"/></BaseAnchor></BaseRecord><BaseRecord index="64"><BaseAnchor index="0" Format="1"><XCoordinate value="385"/><YCoordinate value="-782"/></BaseAnchor></BaseRecord><BaseRecord index="65"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="66"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="67"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="68"><BaseAnchor index="0" Format="1"><XCoordinate value="645"/><YCoordinate value="-427"/></BaseAnchor></BaseRecord><BaseRecord index="69"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="70"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="71"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="72"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="73"><BaseAnchor index="0" Format="1"><XCoordinate value="645"/><YCoordinate value="-598"/></BaseAnchor></BaseRecord><BaseRecord index="74"><BaseAnchor index="0" Format="1"><XCoordinate value="598"/><YCoordinate value="-436"/></BaseAnchor></BaseRecord><BaseRecord index="75"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="76"><BaseAnchor index="0" Format="1"><XCoordinate value="654"/><YCoordinate value="-628"/></BaseAnchor></BaseRecord><BaseRecord index="77"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="78"><BaseAnchor index="0" Format="1"><XCoordinate value="637"/><YCoordinate value="-645"/></BaseAnchor></BaseRecord><BaseRecord index="79"><BaseAnchor index="0" Format="1"><XCoordinate value="628"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="80"><BaseAnchor index="0" Format="1"><XCoordinate value="641"/><YCoordinate value="-461"/></BaseAnchor></BaseRecord><BaseRecord index="81"><BaseAnchor index="0" Format="1"><XCoordinate value="624"/><YCoordinate value="-628"/></BaseAnchor></BaseRecord><BaseRecord index="82"><BaseAnchor index="0" Format="1"><XCoordinate value="624"/><YCoordinate value="-624"/></BaseAnchor></BaseRecord><BaseRecord index="83"><BaseAnchor index="0" Format="1"><XCoordinate value="624"/><YCoordinate value="-487"/></BaseAnchor></BaseRecord><BaseRecord index="84"><BaseAnchor index="0" Format="1"><XCoordinate value="620"/><YCoordinate value="-521"/></BaseAnchor></BaseRecord><BaseRecord index="85"><BaseAnchor index="0" Format="1"><XCoordinate value="651"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="86"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="87"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="88"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="89"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="90"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="91"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="92"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="93"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="94"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="95"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="96"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="97"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="98"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="99"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="100"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="101"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="102"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="103"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-825"/></BaseAnchor></BaseRecord><BaseRecord index="104"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="105"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="106"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="107"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="108"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="109"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="110"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="111"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="112"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="113"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="114"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="115"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="116"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="117"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="118"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="119"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="120"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="121"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="122"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="123"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="124"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="125"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="126"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="127"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="128"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="129"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="130"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="131"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="132"><BaseAnchor index="0" Format="1"><XCoordinate value="602"/><YCoordinate value="-209"/></BaseAnchor></BaseRecord><BaseRecord index="133"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="134"><BaseAnchor index="0" Format="1"><XCoordinate value="581"/><YCoordinate value="-329"/></BaseAnchor></BaseRecord><BaseRecord index="135"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="136"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="137"><BaseAnchor index="0" Format="1"><XCoordinate value="594"/><YCoordinate value="-252"/></BaseAnchor></BaseRecord><BaseRecord index="138"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="139"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="140"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="141"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="142"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="143"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="144"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="145"><BaseAnchor index="0" Format="1"><XCoordinate value="414"/><YCoordinate value="-513"/></BaseAnchor></BaseRecord><BaseRecord index="146"><BaseAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="147"><BaseAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="148"><BaseAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="149"><BaseAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="150"><BaseAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="151"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="152"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="153"><BaseAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="154"><BaseAnchor index="0" Format="1"><XCoordinate value="581"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="155"><BaseAnchor index="0" Format="1"><XCoordinate value="585"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="156"><BaseAnchor index="0" Format="1"><XCoordinate value="346"/><YCoordinate value="-406"/></BaseAnchor></BaseRecord><BaseRecord index="157"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="158"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-330"/></BaseAnchor></BaseRecord><BaseRecord index="159"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-330"/></BaseAnchor></BaseRecord><BaseRecord index="160"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-330"/></BaseAnchor></BaseRecord><BaseRecord index="161"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-330"/></BaseAnchor></BaseRecord><BaseRecord index="162"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="163"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-330"/></BaseAnchor></BaseRecord><BaseRecord index="164"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-330"/></BaseAnchor></BaseRecord><BaseRecord index="165"><BaseAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="-660"/></BaseAnchor></BaseRecord><BaseRecord index="166"><BaseAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="-660"/></BaseAnchor></BaseRecord><BaseRecord index="167"><BaseAnchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="-660"/></BaseAnchor></BaseRecord><BaseRecord index="168"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="169"><BaseAnchor index="0" Format="1"><XCoordinate value="406"/><YCoordinate value="-487"/></BaseAnchor></BaseRecord><BaseRecord index="170"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="171"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="172"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="-397"/></BaseAnchor></BaseRecord><BaseRecord index="173"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="174"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="175"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="176"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-210"/></BaseAnchor></BaseRecord><BaseRecord index="177"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord><BaseRecord index="178"><BaseAnchor index="0" Format="1"><XCoordinate value="340"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord><BaseRecord index="179"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="180"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="181"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="182"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="183"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord><BaseRecord index="184"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="185"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="186"><BaseAnchor index="0" Format="1"><XCoordinate value="210"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="187"><BaseAnchor index="0" Format="1"><XCoordinate value="111"/><YCoordinate value="-188"/></BaseAnchor></BaseRecord><BaseRecord index="188"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-179"/></BaseAnchor></BaseRecord><BaseRecord index="189"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-179"/></BaseAnchor></BaseRecord><BaseRecord index="190"><BaseAnchor index="0" Format="1"><XCoordinate value="192"/><YCoordinate value="-491"/></BaseAnchor></BaseRecord><BaseRecord index="191"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-179"/></BaseAnchor></BaseRecord><BaseRecord index="192"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-179"/></BaseAnchor></BaseRecord><BaseRecord index="193"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-513"/></BaseAnchor></BaseRecord><BaseRecord index="194"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-179"/></BaseAnchor></BaseRecord><BaseRecord index="195"><BaseAnchor index="0" Format="1"><XCoordinate value="179"/><YCoordinate value="-179"/></BaseAnchor></BaseRecord><BaseRecord index="196"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="197"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="198"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="199"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="200"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="201"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="202"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="203"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="204"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="205"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="206"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="207"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="208"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="209"><BaseAnchor index="0" Format="1"><XCoordinate value="359"/><YCoordinate value="-765"/></BaseAnchor></BaseRecord><BaseRecord index="210"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="211"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="212"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="213"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="214"><BaseAnchor index="0" Format="1"><XCoordinate value="376"/><YCoordinate value="-402"/></BaseAnchor></BaseRecord><BaseRecord index="215"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="-410"/></BaseAnchor></BaseRecord><BaseRecord index="216"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="217"><BaseAnchor index="0" Format="1"><XCoordinate value="355"/><YCoordinate value="-419"/></BaseAnchor></BaseRecord><BaseRecord index="218"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="219"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="220"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="221"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="222"><BaseAnchor index="0" Format="1"><XCoordinate value="385"/><YCoordinate value="-560"/></BaseAnchor></BaseRecord><BaseRecord index="223"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="-410"/></BaseAnchor></BaseRecord><BaseRecord index="224"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="225"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="226"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="227"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="228"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-701"/></BaseAnchor></BaseRecord><BaseRecord index="229"><BaseAnchor index="0" Format="1"><XCoordinate value="265"/><YCoordinate value="-735"/></BaseAnchor></BaseRecord><BaseRecord index="230"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="-816"/></BaseAnchor></BaseRecord><BaseRecord index="231"><BaseAnchor index="0" Format="1"><XCoordinate value="278"/><YCoordinate value="-756"/></BaseAnchor></BaseRecord><BaseRecord index="232"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="233"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="234"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="235"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="236"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="237"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="238"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="239"><BaseAnchor index="0" Format="1"><XCoordinate value="201"/><YCoordinate value="-538"/></BaseAnchor></BaseRecord><BaseRecord index="240"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="241"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-540"/></BaseAnchor></BaseRecord><BaseRecord index="242"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-850"/></BaseAnchor></BaseRecord><BaseRecord index="243"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-850"/></BaseAnchor></BaseRecord><BaseRecord index="244"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="245"><BaseAnchor index="0" Format="1"><XCoordinate value="419"/><YCoordinate value="-910"/></BaseAnchor></BaseRecord><BaseRecord index="246"><BaseAnchor index="0" Format="1"><XCoordinate value="453"/><YCoordinate value="-654"/></BaseAnchor></BaseRecord><BaseRecord index="247"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="248"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="249"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="250"><BaseAnchor index="0" Format="1"><XCoordinate value="427"/><YCoordinate value="-1047"/></BaseAnchor></BaseRecord><BaseRecord index="251"><BaseAnchor index="0" Format="1"><XCoordinate value="444"/><YCoordinate value="-1094"/></BaseAnchor></BaseRecord><BaseRecord index="252"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="253"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="254"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="255"><BaseAnchor index="0" Format="1"><XCoordinate value="560"/><YCoordinate value="-496"/></BaseAnchor></BaseRecord><BaseRecord index="256"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="257"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="258"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="259"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="260"><BaseAnchor index="0" Format="1"><XCoordinate value="568"/><YCoordinate value="-620"/></BaseAnchor></BaseRecord><BaseRecord index="261"><BaseAnchor index="0" Format="1"><XCoordinate value="534"/><YCoordinate value="-449"/></BaseAnchor></BaseRecord><BaseRecord index="262"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="263"><BaseAnchor index="0" Format="1"><XCoordinate value="568"/><YCoordinate value="-675"/></BaseAnchor></BaseRecord><BaseRecord index="264"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="265"><BaseAnchor index="0" Format="1"><XCoordinate value="555"/><YCoordinate value="-675"/></BaseAnchor></BaseRecord><BaseRecord index="266"><BaseAnchor index="0" Format="1"><XCoordinate value="547"/><YCoordinate value="-461"/></BaseAnchor></BaseRecord><BaseRecord index="267"><BaseAnchor index="0" Format="1"><XCoordinate value="547"/><YCoordinate value="-474"/></BaseAnchor></BaseRecord><BaseRecord index="268"><BaseAnchor index="0" Format="1"><XCoordinate value="538"/><YCoordinate value="-662"/></BaseAnchor></BaseRecord><BaseRecord index="269"><BaseAnchor index="0" Format="1"><XCoordinate value="530"/><YCoordinate value="-662"/></BaseAnchor></BaseRecord><BaseRecord index="270"><BaseAnchor index="0" Format="1"><XCoordinate value="551"/><YCoordinate value="-521"/></BaseAnchor></BaseRecord><BaseRecord index="271"><BaseAnchor index="0" Format="1"><XCoordinate value="547"/><YCoordinate value="-521"/></BaseAnchor></BaseRecord><BaseRecord index="272"><BaseAnchor index="0" Format="1"><XCoordinate value="659"/><YCoordinate value="-310"/></BaseAnchor></BaseRecord><BaseRecord index="273"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="274"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="275"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="276"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="277"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="278"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="279"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="280"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="281"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="282"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="283"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="284"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="285"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="286"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="287"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="288"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="289"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="290"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-840"/></BaseAnchor></BaseRecord><BaseRecord index="291"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="-602"/></BaseAnchor></BaseRecord><BaseRecord index="292"><BaseAnchor index="0" Format="1"><XCoordinate value="333"/><YCoordinate value="-602"/></BaseAnchor></BaseRecord><BaseRecord index="293"><BaseAnchor index="0" Format="1"><XCoordinate value="329"/><YCoordinate value="-602"/></BaseAnchor></BaseRecord><BaseRecord index="294"><BaseAnchor index="0" Format="1"><XCoordinate value="329"/><YCoordinate value="-602"/></BaseAnchor></BaseRecord><BaseRecord index="295"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="-602"/></BaseAnchor></BaseRecord><BaseRecord index="296"><BaseAnchor index="0" Format="1"><XCoordinate value="338"/><YCoordinate value="-607"/></BaseAnchor></BaseRecord><BaseRecord index="297"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="298"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="299"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="300"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="301"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="302"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="303"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="304"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="305"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="306"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="307"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="308"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="309"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="310"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="311"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="312"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="313"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="314"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="315"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="316"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="317"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="318"><BaseAnchor index="0" Format="1"><XCoordinate value="598"/><YCoordinate value="-291"/></BaseAnchor></BaseRecord><BaseRecord index="319"><BaseAnchor index="0" Format="1"><XCoordinate value="594"/><YCoordinate value="-295"/></BaseAnchor></BaseRecord><BaseRecord index="320"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="321"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-350"/></BaseAnchor></BaseRecord><BaseRecord index="322"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="323"><BaseAnchor index="0" Format="1"><XCoordinate value="602"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="324"><BaseAnchor index="0" Format="1"><XCoordinate value="594"/><YCoordinate value="-376"/></BaseAnchor></BaseRecord><BaseRecord index="325"><BaseAnchor index="0" Format="1"><XCoordinate value="376"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="326"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="327"><BaseAnchor index="0" Format="1"><XCoordinate value="376"/><YCoordinate value="-598"/></BaseAnchor></BaseRecord><BaseRecord index="328"><BaseAnchor index="0" Format="1"><XCoordinate value="372"/><YCoordinate value="-598"/></BaseAnchor></BaseRecord><BaseRecord index="329"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="330"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="331"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="332"><BaseAnchor index="0" Format="1"><XCoordinate value="850"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="333"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="334"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="335"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="336"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="337"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="338"><BaseAnchor index="0" Format="1"><XCoordinate value="607"/><YCoordinate value="-402"/></BaseAnchor></BaseRecord><BaseRecord index="339"><BaseAnchor index="0" Format="1"><XCoordinate value="765"/><YCoordinate value="-555"/></BaseAnchor></BaseRecord><BaseRecord index="340"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="341"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="342"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="343"><BaseAnchor index="0" Format="1"><XCoordinate value="701"/><YCoordinate value="-602"/></BaseAnchor></BaseRecord><BaseRecord index="344"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="345"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="346"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="347"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="348"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="349"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="350"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="351"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="352"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-750"/></BaseAnchor></BaseRecord><BaseRecord index="353"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-750"/></BaseAnchor></BaseRecord><BaseRecord index="354"><BaseAnchor index="0" Format="1"><XCoordinate value="170"/><YCoordinate value="-750"/></BaseAnchor></BaseRecord><BaseRecord index="355"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="356"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-900"/></BaseAnchor></BaseRecord><BaseRecord index="357"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="358"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="359"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-800"/></BaseAnchor></BaseRecord><BaseRecord index="360"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="361"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-900"/></BaseAnchor></BaseRecord><BaseRecord index="362"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="363"><BaseAnchor index="0" Format="1"><XCoordinate value="350"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="364"><BaseAnchor index="0" Format="1"><XCoordinate value="400"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="365"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord><BaseRecord index="366"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="367"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="368"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="369"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-180"/></BaseAnchor></BaseRecord><BaseRecord index="370"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="371"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="372"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-250"/></BaseAnchor></BaseRecord><BaseRecord index="373"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="374"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="375"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="376"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="377"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="378"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="379"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-550"/></BaseAnchor></BaseRecord><BaseRecord index="380"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="381"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="382"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="383"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="384"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="385"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="386"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="387"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="388"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-550"/></BaseAnchor></BaseRecord><BaseRecord index="389"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="390"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="391"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="392"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="393"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="394"><BaseAnchor index="0" Format="1"><XCoordinate value="145"/><YCoordinate value="-414"/></BaseAnchor></BaseRecord><BaseRecord index="395"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-402"/></BaseAnchor></BaseRecord><BaseRecord index="396"><BaseAnchor index="0" Format="1"><XCoordinate value="145"/><YCoordinate value="-581"/></BaseAnchor></BaseRecord><BaseRecord index="397"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="398"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-432"/></BaseAnchor></BaseRecord><BaseRecord index="399"><BaseAnchor index="0" Format="1"><XCoordinate value="141"/><YCoordinate value="-397"/></BaseAnchor></BaseRecord><BaseRecord index="400"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="401"><BaseAnchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="-397"/></BaseAnchor></BaseRecord><BaseRecord index="402"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="403"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="404"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="405"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="406"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-410"/></BaseAnchor></BaseRecord><BaseRecord index="407"><BaseAnchor index="0" Format="1"><XCoordinate value="479"/><YCoordinate value="-517"/></BaseAnchor></BaseRecord><BaseRecord index="408"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="409"><BaseAnchor index="0" Format="1"><XCoordinate value="479"/><YCoordinate value="-564"/></BaseAnchor></BaseRecord><BaseRecord index="410"><BaseAnchor index="0" Format="1"><XCoordinate value="466"/><YCoordinate value="-573"/></BaseAnchor></BaseRecord><BaseRecord index="411"><BaseAnchor index="0" Format="1"><XCoordinate value="479"/><YCoordinate value="-581"/></BaseAnchor></BaseRecord><BaseRecord index="412"><BaseAnchor index="0" Format="1"><XCoordinate value="461"/><YCoordinate value="-590"/></BaseAnchor></BaseRecord><BaseRecord index="413"><BaseAnchor index="0" Format="1"><XCoordinate value="466"/><YCoordinate value="-859"/></BaseAnchor></BaseRecord><BaseRecord index="414"><BaseAnchor index="0" Format="1"><XCoordinate value="470"/><YCoordinate value="-679"/></BaseAnchor></BaseRecord><BaseRecord index="415"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="-397"/></BaseAnchor></BaseRecord><BaseRecord index="416"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="417"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="418"><BaseAnchor index="0" Format="1"><XCoordinate value="474"/><YCoordinate value="-568"/></BaseAnchor></BaseRecord><BaseRecord index="419"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="420"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="421"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="-372"/></BaseAnchor></BaseRecord><BaseRecord index="422"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="-538"/></BaseAnchor></BaseRecord><BaseRecord index="423"><BaseAnchor index="0" Format="1"><XCoordinate value="487"/><YCoordinate value="-538"/></BaseAnchor></BaseRecord><BaseRecord index="424"><BaseAnchor index="0" Format="1"><XCoordinate value="496"/><YCoordinate value="-393"/></BaseAnchor></BaseRecord><BaseRecord index="425"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="426"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="427"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="428"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="429"><BaseAnchor index="0" Format="1"><XCoordinate value="406"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="430"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-303"/></BaseAnchor></BaseRecord><BaseRecord index="431"><BaseAnchor index="0" Format="1"><XCoordinate value="406"/><YCoordinate value="-423"/></BaseAnchor></BaseRecord><BaseRecord index="432"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-312"/></BaseAnchor></BaseRecord><BaseRecord index="433"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-380"/></BaseAnchor></BaseRecord><BaseRecord index="434"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="435"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="436"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="437"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="438"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="439"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="440"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="-419"/></BaseAnchor></BaseRecord><BaseRecord index="441"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="442"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="443"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="444"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="445"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="446"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="-423"/></BaseAnchor></BaseRecord><BaseRecord index="447"><BaseAnchor index="0" Format="1"><XCoordinate value="252"/><YCoordinate value="-419"/></BaseAnchor></BaseRecord><BaseRecord index="448"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="449"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="450"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="451"><BaseAnchor index="0" Format="1"><XCoordinate value="261"/><YCoordinate value="-449"/></BaseAnchor></BaseRecord><BaseRecord index="452"><BaseAnchor index="0" Format="1"><XCoordinate value="256"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="453"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="454"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="455"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="456"><BaseAnchor index="0" Format="1"><XCoordinate value="248"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="457"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="458"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="459"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="460"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-611"/></BaseAnchor></BaseRecord><BaseRecord index="461"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="462"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="463"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="464"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="465"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="466"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-449"/></BaseAnchor></BaseRecord><BaseRecord index="467"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-564"/></BaseAnchor></BaseRecord><BaseRecord index="468"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="469"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="470"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="471"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="472"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="473"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="474"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="475"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="476"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="477"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-650"/></BaseAnchor></BaseRecord><BaseRecord index="478"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="479"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="480"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="481"><BaseAnchor index="0" Format="1"><XCoordinate value="299"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="482"><BaseAnchor index="0" Format="1"><XCoordinate value="380"/><YCoordinate value="-406"/></BaseAnchor></BaseRecord><BaseRecord index="483"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="484"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="485"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="486"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="487"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-342"/></BaseAnchor></BaseRecord><BaseRecord index="488"><BaseAnchor index="0" Format="1"><XCoordinate value="171"/><YCoordinate value="-564"/></BaseAnchor></BaseRecord><BaseRecord index="489"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-427"/></BaseAnchor></BaseRecord><BaseRecord index="490"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="491"><BaseAnchor index="0" Format="1"><XCoordinate value="153"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="492"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="493"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="-167"/></BaseAnchor></BaseRecord><BaseRecord index="494"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-450"/></BaseAnchor></BaseRecord><BaseRecord index="495"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-500"/></BaseAnchor></BaseRecord><BaseRecord index="496"><BaseAnchor index="0" Format="1"><XCoordinate value="98"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="497"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-420"/></BaseAnchor></BaseRecord><BaseRecord index="498"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="499"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="500"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-420"/></BaseAnchor></BaseRecord><BaseRecord index="501"><BaseAnchor index="0" Format="1"><XCoordinate value="130"/><YCoordinate value="-420"/></BaseAnchor></BaseRecord><BaseRecord index="502"><BaseAnchor index="0" Format="1"><XCoordinate value="141"/><YCoordinate value="-577"/></BaseAnchor></BaseRecord><BaseRecord index="503"><BaseAnchor index="0" Format="1"><XCoordinate value="137"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="504"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="505"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="506"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="-414"/></BaseAnchor></BaseRecord><BaseRecord index="507"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="508"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="509"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="510"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="511"><BaseAnchor index="0" Format="1"><XCoordinate value="124"/><YCoordinate value="-577"/></BaseAnchor></BaseRecord><BaseRecord index="512"><BaseAnchor index="0" Format="1"><XCoordinate value="124"/><YCoordinate value="-342"/></BaseAnchor></BaseRecord><BaseRecord index="513"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="514"><BaseAnchor index="0" Format="1"><XCoordinate value="128"/><YCoordinate value="-568"/></BaseAnchor></BaseRecord><BaseRecord index="515"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="516"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="-564"/></BaseAnchor></BaseRecord><BaseRecord index="517"><BaseAnchor index="0" Format="1"><XCoordinate value="111"/><YCoordinate value="-402"/></BaseAnchor></BaseRecord><BaseRecord index="518"><BaseAnchor index="0" Format="1"><XCoordinate value="111"/><YCoordinate value="-393"/></BaseAnchor></BaseRecord><BaseRecord index="519"><BaseAnchor index="0" Format="1"><XCoordinate value="107"/><YCoordinate value="-590"/></BaseAnchor></BaseRecord><BaseRecord index="520"><BaseAnchor index="0" Format="1"><XCoordinate value="111"/><YCoordinate value="-585"/></BaseAnchor></BaseRecord><BaseRecord index="521"><BaseAnchor index="0" Format="1"><XCoordinate value="107"/><YCoordinate value="-432"/></BaseAnchor></BaseRecord><BaseRecord index="522"><BaseAnchor index="0" Format="1"><XCoordinate value="94"/><YCoordinate value="-427"/></BaseAnchor></BaseRecord><BaseRecord index="523"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="524"><BaseAnchor index="0" Format="1"><XCoordinate value="427"/><YCoordinate value="-363"/></BaseAnchor></BaseRecord><BaseRecord index="525"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="526"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="527"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="528"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="529"><BaseAnchor index="0" Format="1"><XCoordinate value="423"/><YCoordinate value="-376"/></BaseAnchor></BaseRecord><BaseRecord index="530"><BaseAnchor index="0" Format="1"><XCoordinate value="432"/><YCoordinate value="-521"/></BaseAnchor></BaseRecord><BaseRecord index="531"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="532"><BaseAnchor index="0" Format="1"><XCoordinate value="423"/><YCoordinate value="-526"/></BaseAnchor></BaseRecord><BaseRecord index="533"><BaseAnchor index="0" Format="1"><XCoordinate value="423"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="534"><BaseAnchor index="0" Format="1"><XCoordinate value="427"/><YCoordinate value="-530"/></BaseAnchor></BaseRecord><BaseRecord index="535"><BaseAnchor index="0" Format="1"><XCoordinate value="432"/><YCoordinate value="-555"/></BaseAnchor></BaseRecord><BaseRecord index="536"><BaseAnchor index="0" Format="1"><XCoordinate value="423"/><YCoordinate value="-859"/></BaseAnchor></BaseRecord><BaseRecord index="537"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-692"/></BaseAnchor></BaseRecord><BaseRecord index="538"><BaseAnchor index="0" Format="1"><XCoordinate value="423"/><YCoordinate value="-376"/></BaseAnchor></BaseRecord><BaseRecord index="539"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="540"><BaseAnchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="541"><BaseAnchor index="0" Format="1"><XCoordinate value="406"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="542"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="543"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="544"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="545"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="546"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-600"/></BaseAnchor></BaseRecord><BaseRecord index="547"><BaseAnchor index="0" Format="1"><XCoordinate value="500"/><YCoordinate value="-400"/></BaseAnchor></BaseRecord><BaseRecord index="548"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="549"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="550"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="551"><BaseAnchor index="0" Format="1"><XCoordinate value="449"/><YCoordinate value="-201"/></BaseAnchor></BaseRecord><BaseRecord index="552"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-295"/></BaseAnchor></BaseRecord><BaseRecord index="553"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-295"/></BaseAnchor></BaseRecord><BaseRecord index="554"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-380"/></BaseAnchor></BaseRecord><BaseRecord index="555"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-295"/></BaseAnchor></BaseRecord><BaseRecord index="556"><BaseAnchor index="0" Format="1"><XCoordinate value="402"/><YCoordinate value="-359"/></BaseAnchor></BaseRecord><BaseRecord index="557"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="558"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="559"><BaseAnchor index="0" Format="1"><XCoordinate value="397"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="560"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="561"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="562"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="563"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="-397"/></BaseAnchor></BaseRecord><BaseRecord index="564"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="565"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="566"><BaseAnchor index="0" Format="1"><XCoordinate value="308"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="567"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="568"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="569"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-414"/></BaseAnchor></BaseRecord><BaseRecord index="570"><BaseAnchor index="0" Format="1"><XCoordinate value="162"/><YCoordinate value="-414"/></BaseAnchor></BaseRecord><BaseRecord index="571"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="572"><BaseAnchor index="0" Format="1"><XCoordinate value="171"/><YCoordinate value="-573"/></BaseAnchor></BaseRecord><BaseRecord index="573"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="574"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-423"/></BaseAnchor></BaseRecord><BaseRecord index="575"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-560"/></BaseAnchor></BaseRecord><BaseRecord index="576"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="577"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="578"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="579"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="580"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="581"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="582"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="583"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-590"/></BaseAnchor></BaseRecord><BaseRecord index="584"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="585"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="586"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="587"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="588"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="589"><BaseAnchor index="0" Format="1"><XCoordinate value="154"/><YCoordinate value="-419"/></BaseAnchor></BaseRecord><BaseRecord index="590"><BaseAnchor index="0" Format="1"><XCoordinate value="158"/><YCoordinate value="-547"/></BaseAnchor></BaseRecord><BaseRecord index="591"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="592"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="593"><BaseAnchor index="0" Format="1"><XCoordinate value="175"/><YCoordinate value="-175"/></BaseAnchor></BaseRecord><BaseRecord index="594"><BaseAnchor index="0" Format="1"><XCoordinate value="132"/><YCoordinate value="-560"/></BaseAnchor></BaseRecord><BaseRecord index="595"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="596"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="597"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="598"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="599"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="600"><BaseAnchor index="0" Format="1"><XCoordinate value="120"/><YCoordinate value="-594"/></BaseAnchor></BaseRecord><BaseRecord index="601"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="602"><BaseAnchor index="0" Format="1"><XCoordinate value="100"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="603"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="604"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-150"/></BaseAnchor></BaseRecord><BaseRecord index="605"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-300"/></BaseAnchor></BaseRecord><BaseRecord index="606"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="607"><BaseAnchor index="0" Format="1"><XCoordinate value="115"/><YCoordinate value="-423"/></BaseAnchor></BaseRecord><BaseRecord index="608"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="609"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="610"><BaseAnchor index="0" Format="1"><XCoordinate value="128"/><YCoordinate value="-299"/></BaseAnchor></BaseRecord><BaseRecord index="611"><BaseAnchor index="0" Format="1"><XCoordinate value="103"/><YCoordinate value="-564"/></BaseAnchor></BaseRecord><BaseRecord index="612"><BaseAnchor index="0" Format="1"><XCoordinate value="111"/><YCoordinate value="-423"/></BaseAnchor></BaseRecord><BaseRecord index="613"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="614"><BaseAnchor index="0" Format="1"><XCoordinate value="105"/><YCoordinate value="-249"/></BaseAnchor></BaseRecord><BaseRecord index="615"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="-167"/></BaseAnchor></BaseRecord><BaseRecord index="616"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="-167"/></BaseAnchor></BaseRecord><BaseRecord index="617"><BaseAnchor index="0" Format="1"><XCoordinate value="295"/><YCoordinate value="-167"/></BaseAnchor></BaseRecord><BaseRecord index="618"><BaseAnchor index="0" Format="1"><XCoordinate value="145"/><YCoordinate value="-457"/></BaseAnchor></BaseRecord><BaseRecord index="619"><BaseAnchor index="0" Format="1"><XCoordinate value="150"/><YCoordinate value="885"/></BaseAnchor></BaseRecord><BaseRecord index="620"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord><BaseRecord index="621"><BaseAnchor index="0" Format="1"><XCoordinate value="270"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord><BaseRecord index="622"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-195"/></BaseAnchor></BaseRecord><BaseRecord index="623"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-120"/></BaseAnchor></BaseRecord><BaseRecord index="624"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-120"/></BaseAnchor></BaseRecord><BaseRecord index="625"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-120"/></BaseAnchor></BaseRecord><BaseRecord index="626"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="627"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="628"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="629"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="630"><BaseAnchor index="0" Format="1"><XCoordinate value="121"/><YCoordinate value="-568"/></BaseAnchor></BaseRecord><BaseRecord index="631"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="632"><BaseAnchor index="0" Format="1"><XCoordinate value="65"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="633"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="634"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="635"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="636"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="637"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="638"><BaseAnchor index="0" Format="1"><XCoordinate value="462"/><YCoordinate value="-484"/></BaseAnchor></BaseRecord><BaseRecord index="639"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="640"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="641"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="642"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="643"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="644"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="645"><BaseAnchor index="0" Format="1"><XCoordinate value="253"/><YCoordinate value="-572"/></BaseAnchor></BaseRecord><BaseRecord index="646"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="647"><BaseAnchor index="0" Format="1"><XCoordinate value="250"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="648"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="649"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="650"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="-484"/></BaseAnchor></BaseRecord><BaseRecord index="651"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="652"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="653"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="-521"/></BaseAnchor></BaseRecord><BaseRecord index="654"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord><BaseRecord index="655"><BaseAnchor index="0" Format="1"><XCoordinate value="420"/><YCoordinate value="-100"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="5"><LookupType value="8"/><LookupFlag value="1"/><ChainContextPos index="0" Format="3"><BacktrackCoverage index="0" Format="2"><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></BacktrackCoverage><BacktrackCoverage index="1" Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/><Glyph value="uni06E3"/><Glyph value="uni06EA"/><Glyph value="uni06ED"/></BacktrackCoverage><InputCoverage index="0" Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/><Glyph value="uni06E3"/><Glyph value="uni06EA"/><Glyph value="uni06ED"/></InputCoverage><PosLookupRecord index="0"><SequenceIndex value="0"/><LookupListIndex value="9"/></PosLookupRecord></ChainContextPos></Lookup><Lookup index="6"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/><Glyph value="uni06E3"/><Glyph value="uni06EA"/><Glyph value="uni06ED"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="141"/><YCoordinate value="-560"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="145"/><YCoordinate value="-560"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="105"/><YCoordinate value="-120"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="92"/><YCoordinate value="-18"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="164"/><YCoordinate value="203"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-150"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-200"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-280"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="-975"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="165"/><YCoordinate value="-810"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="135"/><YCoordinate value="-450"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="92"/><YCoordinate value="-591"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="164"/><YCoordinate value="-211"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="7"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni0600"/><Glyph value="uni0601"/><Glyph value="uni0602"/><Glyph value="uni0603"/><Glyph value="uni06DD"/><Glyph value="uni06DD.alt"/><Glyph value="uni06DD.altB"/><Glyph value="uni06DD.2"/><Glyph value="uni06DD.3"/><Glyph value="uni06DD.alt.2"/><Glyph value="uni06DD.alt.3"/><Glyph value="uni06DD.altB.2"/><Glyph value="uni06DD.altB.3"/><Glyph value="uni0600.2"/><Glyph value="uni0600.3"/><Glyph value="uni0601.2"/><Glyph value="uni0601.3"/><Glyph value="uni0601.4"/><Glyph value="uni0602.2"/><Glyph value="uni0603.2"/><Glyph value="uni0603.3"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="46"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="47"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="48"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="49"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="50"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="51"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="52"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="53"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="54"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="55"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="56"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="57"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="58"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="59"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="60"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="61"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="62"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="63"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="64"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="65"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="425"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="1275"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="700"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="465"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="465"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="465"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="245"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="206"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="245"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="206"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="245"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="206"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="1050"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="16"><BaseAnchor index="0" Format="1"><XCoordinate value="825"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="17"><BaseAnchor index="0" Format="1"><XCoordinate value="600"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="18"><BaseAnchor index="0" Format="1"><XCoordinate value="475"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="19"><BaseAnchor index="0" Format="1"><XCoordinate value="75"/><YCoordinate value="0"/></BaseAnchor></BaseRecord><BaseRecord index="20"><BaseAnchor index="0" Format="1"><XCoordinate value="75"/><YCoordinate value="0"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup><Lookup index="8"><LookupType value="6"/><LookupFlag value="1"/><MarkMarkPos index="0" Format="1"><Mark1Coverage Format="2"><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/></Mark1Coverage><Mark2Coverage Format="2"><Glyph value="zeroMedium"/><Glyph value="oneMedium"/><Glyph value="twoMedium"/><Glyph value="threeMedium"/><Glyph value="fourMedium"/><Glyph value="fiveMedium"/><Glyph value="sixMedium"/><Glyph value="sevenMedium"/><Glyph value="eightMedium"/><Glyph value="nineMedium"/><Glyph value="uni0660.Medium"/><Glyph value="uni0661.Medium"/><Glyph value="uni0662.Medium"/><Glyph value="uni0663.Medium"/><Glyph value="uni0664.Medium"/><Glyph value="uni0665.Medium"/><Glyph value="uni0666.Medium"/><Glyph value="uni0667.Medium"/><Glyph value="uni0668.Medium"/><Glyph value="uni0669.Medium"/><Glyph value="uni06F0.Medium"/><Glyph value="uni06F1.Medium"/><Glyph value="uni06F2.Medium"/><Glyph value="uni06F3.Medium"/><Glyph value="uni06F4.Medium"/><Glyph value="uni06F4.Medium.urdu"/><Glyph value="uni06F5.Medium"/><Glyph value="uni06F6.Medium"/><Glyph value="uni06F6.Medium.urdu"/><Glyph value="uni06F7.Medium"/><Glyph value="uni06F7.Medium.urdu"/><Glyph value="uni06F8.Medium"/><Glyph value="uni06F9.Medium"/><Glyph value="zeroSmall"/><Glyph value="oneSmall"/><Glyph value="twoSmall"/><Glyph value="threeSmall"/><Glyph value="fourSmall"/><Glyph value="fiveSmall"/><Glyph value="sixSmall"/><Glyph value="sevenSmall"/><Glyph value="eightSmall"/><Glyph value="nineSmall"/><Glyph value="uni0660.Small"/><Glyph value="uni0661.Small"/><Glyph value="uni0662.Small"/><Glyph value="uni0663.Small"/><Glyph value="uni0664.Small"/><Glyph value="uni0665.Small"/><Glyph value="uni0666.Small"/><Glyph value="uni0667.Small"/><Glyph value="uni0668.Small"/><Glyph value="uni0669.Small"/><Glyph value="uni06F0.Small"/><Glyph value="uni06F1.Small"/><Glyph value="uni06F2.Small"/><Glyph value="uni06F3.Small"/><Glyph value="uni06F4.Small"/><Glyph value="uni06F4.Small.urdu"/><Glyph value="uni06F5.Small"/><Glyph value="uni06F6.Small"/><Glyph value="uni06F6.Small.urdu"/><Glyph value="uni06F7.Small"/><Glyph value="uni06F7.Small.urdu"/><Glyph value="uni06F8.Small"/><Glyph value="uni06F9.Small"/></Mark2Coverage><Mark1Array><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="8"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="9"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="10"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="11"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="12"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="13"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="14"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="15"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="16"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="17"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="18"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="19"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="20"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="21"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="22"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="23"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="24"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="25"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="26"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="27"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="28"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="29"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="30"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="31"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="32"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="33"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="34"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="35"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="36"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="37"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="38"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="39"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="40"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="41"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="42"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="43"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="44"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="45"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="46"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="47"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="48"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="49"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="50"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="51"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="52"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="53"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="54"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="55"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="56"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="57"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="58"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="59"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="60"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="61"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="62"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="63"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="64"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord><MarkRecord index="65"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="0"/></MarkAnchor></MarkRecord></Mark1Array><Mark2Array><Mark2Record index="0"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="1"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="2"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="3"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="4"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="5"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="6"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="7"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="8"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="9"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="10"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="11"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="12"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="13"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="14"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="15"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="16"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="17"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="18"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="19"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="20"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="21"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="22"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="23"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="24"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="25"><Mark2Anchor index="0" Format="1"><XCoordinate value="451"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="26"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="27"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="28"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="29"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="30"><Mark2Anchor index="0" Format="1"><XCoordinate value="451"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="31"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="32"><Mark2Anchor index="0" Format="1"><XCoordinate value="450"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="33"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="34"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="35"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="36"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="37"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="38"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="39"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="40"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="41"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="42"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="43"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="44"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="45"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="46"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="47"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="48"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="49"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="50"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="51"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="52"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="53"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="54"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="55"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="56"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="57"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="58"><Mark2Anchor index="0" Format="1"><XCoordinate value="320"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="59"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="60"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="61"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="62"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="63"><Mark2Anchor index="0" Format="1"><XCoordinate value="320"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="64"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record><Mark2Record index="65"><Mark2Anchor index="0" Format="1"><XCoordinate value="319"/><YCoordinate value="0"/></Mark2Anchor></Mark2Record></Mark2Array></MarkMarkPos></Lookup><Lookup index="9"><LookupType value="4"/><LookupFlag value="1"/><MarkBasePos index="0" Format="1"><MarkCoverage Format="2"><Glyph value="uni064D"/><Glyph value="uni0650"/><Glyph value="uni0655"/><Glyph value="uni0656"/><Glyph value="uni065C"/><Glyph value="uni06E3"/><Glyph value="uni06EA"/><Glyph value="uni06ED"/></MarkCoverage><BaseCoverage Format="2"><Glyph value="uni0622.fina.postLamIni"/><Glyph value="uni0623.fina.postLamIni"/><Glyph value="uni0625.fina.postLamIni"/><Glyph value="uni0627.fina.postLamIni"/><Glyph value="uni0672.fina.postLamIni"/><Glyph value="uni0673.fina.postLamIni"/><Glyph value="uni0675.fina.postLamIni"/><Glyph value="uni0671.fina.postLamIni"/><Glyph value="uni0622.fina.postLamMed"/><Glyph value="uni0623.fina.postLamMed"/><Glyph value="uni0625.fina.postLamMed"/><Glyph value="uni0627.fina.postLamMed"/><Glyph value="uni0672.fina.postLamMed"/><Glyph value="uni0673.fina.postLamMed"/><Glyph value="uni0675.fina.postLamMed"/><Glyph value="uni0671.fina.postLamMed"/></BaseCoverage><MarkArray><MarkRecord index="0"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="141"/><YCoordinate value="-560"/></MarkAnchor></MarkRecord><MarkRecord index="1"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="145"/><YCoordinate value="-560"/></MarkAnchor></MarkRecord><MarkRecord index="2"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="105"/><YCoordinate value="-120"/></MarkAnchor></MarkRecord><MarkRecord index="3"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="92"/><YCoordinate value="-18"/></MarkAnchor></MarkRecord><MarkRecord index="4"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="164"/><YCoordinate value="203"/></MarkAnchor></MarkRecord><MarkRecord index="5"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="100"/><YCoordinate value="-150"/></MarkAnchor></MarkRecord><MarkRecord index="6"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-150"/></MarkAnchor></MarkRecord><MarkRecord index="7"><Class value="0"/><MarkAnchor Format="1"><XCoordinate value="0"/><YCoordinate value="-150"/></MarkAnchor></MarkRecord></MarkArray><BaseArray><BaseRecord index="0"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-136"/></BaseAnchor></BaseRecord><BaseRecord index="1"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-136"/></BaseAnchor></BaseRecord><BaseRecord index="2"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="-462"/></BaseAnchor></BaseRecord><BaseRecord index="3"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-136"/></BaseAnchor></BaseRecord><BaseRecord index="4"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-136"/></BaseAnchor></BaseRecord><BaseRecord index="5"><BaseAnchor index="0" Format="1"><XCoordinate value="462"/><YCoordinate value="-484"/></BaseAnchor></BaseRecord><BaseRecord index="6"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-136"/></BaseAnchor></BaseRecord><BaseRecord index="7"><BaseAnchor index="0" Format="1"><XCoordinate value="200"/><YCoordinate value="-136"/></BaseAnchor></BaseRecord><BaseRecord index="8"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-154"/></BaseAnchor></BaseRecord><BaseRecord index="9"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-154"/></BaseAnchor></BaseRecord><BaseRecord index="10"><BaseAnchor index="0" Format="1"><XCoordinate value="455"/><YCoordinate value="-484"/></BaseAnchor></BaseRecord><BaseRecord index="11"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-154"/></BaseAnchor></BaseRecord><BaseRecord index="12"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-154"/></BaseAnchor></BaseRecord><BaseRecord index="13"><BaseAnchor index="0" Format="1"><XCoordinate value="480"/><YCoordinate value="-521"/></BaseAnchor></BaseRecord><BaseRecord index="14"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-154"/></BaseAnchor></BaseRecord><BaseRecord index="15"><BaseAnchor index="0" Format="1"><XCoordinate value="300"/><YCoordinate value="-154"/></BaseAnchor></BaseRecord></BaseArray></MarkBasePos></Lookup></LookupList></GPOS></ttFont>