<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>3725</bug_id>
          
          <creation_ts>2005-06-26 08:54:03 -0700</creation_ts>
          <short_desc>REGRESSION in bidi.cpp r1.127: embedding levels of R EN in L context</short_desc>
          <delta_ts>2005-11-04 00:32:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>412</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>13233</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-06-26 08:54:03 -0700</bug_when>
    <thetext>In a R EN L sequence of runs, the EN should have the highest embedding level. As of bidi.cpp r1.127, if the 
L is not explicit but only implicit from context, the EN ends up with the lower embedding level, and the 
layout order is wrong.

Expected layout for the testcase is the digit 1 followed by Hebrew letter Aleph in all 3 cases (followed by 
nothing, a full stop or the letter Z). Firefox renders as expected.

Actual layout with TOT is Hebrew letter Aleph followed by 1 (followed by nothing or a full stop) in the first 
two cases, and as expected in the last case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13234</commentid>
    <comment_count>1</comment_count>
      <attachid>2654</attachid>
    <who name="">mitz</who>
    <bug_when>2005-06-26 08:55:50 -0700</bug_when>
    <thetext>Created attachment 2654
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13249</commentid>
    <comment_count>2</comment_count>
      <attachid>2657</attachid>
    <who name="">mitz</who>
    <bug_when>2005-06-26 12:29:29 -0700</bug_when>
    <thetext>Created attachment 2657
A patch

This fixes the regression. The patch makes 14 of the layout tests fail, because
it splits a few runs, but they render the same with it. Still, it may be
possible to avoid this. There&apos;s also room for improvement in moving out stuff
that is repeated in both &quot;if&quot; and &quot;else&quot; cases (left that way for the sake of
explicitness while I&apos;m working on it), so I&apos;m not even submitting it for review
at this stage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13253</commentid>
    <comment_count>3</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2005-06-26 12:40:18 -0700</bug_when>
    <thetext>confirmed regression, moving to p1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13258</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-06-26 13:00:40 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; confirmed regression, moving to p1.

Hm... I don&apos;t know how this priority thing works (or how anything works for that matter), so I&apos;ll just state 
that

1. If the choice is between r1.127 and r1.126, then despite the regression, r1.127 is &quot;less buggy&quot;, i.e. the 
regression is far less likely to occur in everyday use than the problem r1.127 fixes.
2. I don&apos;t think that those 14 layout tests failing is significant.
3. There are a few other bidi layout issues in TOT (which are not regressions). I&apos;m working on identifying 
and fixing them. I&apos;ll submit a bug about them when I give up on fixing them all or think that I&apos;ve done it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13260</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-06-26 14:18:33 -0700</bug_when>
    <thetext>attachment 2657 also breaks this:
&lt;p dir=&quot;rtl&quot;&gt;
for 123 abc
&lt;/p&gt;

Don&apos;t bother looking at it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13261</commentid>
    <comment_count>6</comment_count>
      <attachid>2659</attachid>
    <who name="">mitz</who>
    <bug_when>2005-06-26 15:45:11 -0700</bug_when>
    <thetext>Created attachment 2659
A better patch

This patch corrects the problem mentioned in comment #5.
It also fixes the layout of &lt;p dir=&quot;rtl&quot;&gt;&amp;#x05d0;1.&lt;/p&gt; and of the following,
which were broken even before r1.127:
&lt;p dir=&quot;rtl&quot;&gt;123a &amp;#x05d0;&amp;#x05d1;&amp;#x05d2;&lt;/p&gt;
&lt;p dir=&quot;rtl&quot;&gt;123a+ &amp;#x05d0;&amp;#x05d1;&amp;#x05d2;&lt;/p&gt;
&lt;p dir=&quot;rtl&quot;&gt;&amp;#x05d0;&amp;#x05d1;&amp;#x05d2; 1+5.2x, &amp;#x05d3;&amp;#x05d4;&amp;#x05d5;&lt;/p&gt;

This patch changes the layout of &lt;p dir=&quot;rtl&quot;&gt;def &amp;#x0661;&amp;#x0662;&amp;#x0663;
abc&lt;/p&gt;, which was broken anyway. I don&apos;t know if it&apos;s more severely broken
now. Other cases involving Arabic numbers are broken just the same with or
without this patch.

Finally, this patch fails 137(!) layout tests, because now instead of splitting
a few runs, it merges many runs. I haven&apos;t gone through all 137 of them yet,
but so far it seems that the failures are only a result of run merges (and
still a few run splits). These do not affect the layout but sometimes slightly
affect rendering (due to rounding and such, I presume). In general, I suppose
long runs are better, but it&apos;s just a daunting task to verify that all 137
failures are benign. Otherwise, the part that&apos;s responsible for them can be
left out (it&apos;s the different handling of the L after EN case), and then there
are far fewer failures, all of which are splits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13301</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-06-27 05:26:44 -0700</bug_when>
    <thetext>Attachment 2668 to bug 3733 addresses this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14045</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-07-06 06:10:07 -0700</bug_when>
    <thetext>Fixed along with bug 3733.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2654</attachid>
            <date>2005-06-26 08:55:50 -0700</date>
            <delta_ts>2005-06-26 08:55:50 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>r1.127Regression.html</filename>
            <type>text/html</type>
            <size>523</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgCiJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgo8aHRtbD4NCjxo
ZWFkPg0KPHRpdGxlPlJlZ3Jlc3Npb24gaW4gYmlkaS5jcHAgcjEuMTI3PC90aXRsZT4NCjwvaGVh
ZD4NCjxib2R5Pgo8cD4KVGhpcyB3YXMgYnJva2VuIGJ5IGJpZGkuY3BwIHIxLjEyNyAoc29ycnkh
KS4gSXQgc2hvdWxkIGxvb2sgbGlrZSAiMSBBbGVwaCIuCjwvcD4KPHA+CiYjeDA1ZDA7MQo8L3A+
CjxwPgo8cD4KVGhpcyB3YXMgKGRpZmZlcmVudGx5KSBicm9rZW4gZXZlbiBiZWZvcmUgYmlkaS5j
cHAgcjEuMTI3LgpJdCBzaG91bGQgbG9vayBsaWtlICIxIEFsZXBoIGZ1bGxzdG9wIi4KPC9wPgo8
L3A+CjxwPgomI3gwNWQwOzEuCjwvcD4KPHA+CkFwcGVuZCBhIHN0cm9uZyBMIHRvIHRoZSBmaXJz
dCBvbmUgYW5kIGl0J3MgT0sgaW4gVE9UOiAKPC9wPgo8cD4KJiN4MDVkMDsxego8L3A+CjwvYm9k
eT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2657</attachid>
            <date>2005-06-26 12:29:29 -0700</date>
            <delta_ts>2005-06-26 15:45:11 -0700</delta_ts>
            <desc>A patch</desc>
            <filename>3725_patch_r1.txt</filename>
            <type>text/plain</type>
            <size>3610</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IGJpZGkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2to
dG1sL3JlbmRlcmluZy9iaWRpLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMzAKZGlmZiAt
dSAtcCAtcjEuMTMwIGJpZGkuY3BwCi0tLSBiaWRpLmNwcAkyMDA1LzA2LzI1IDA1OjE3OjMyCTEu
MTMwCisrKyBiaWRpLmNwcAkyMDA1LzA2LzI2IDE4OjQ5OjQ2CkBAIC05NDIsMjAgKzk0Miw0OSBA
QCB2b2lkIFJlbmRlckJsb2NrOjpiaWRpUmVvcmRlckxpbmUoY29uc3QgCiAgICAgICAgICAgICAg
ICAgY2FzZSBRQ2hhcjo6RGlyUzoKICAgICAgICAgICAgICAgICBjYXNlIFFDaGFyOjpEaXJXUzoK
ICAgICAgICAgICAgICAgICBjYXNlIFFDaGFyOjpEaXJPTjoKLSAgICAgICAgICAgICAgICAgICAg
aWYoIGJpZGkuc3RhdHVzLmVvciAhPSBRQ2hhcjo6RGlyTCApIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGJpZGkuc3RhdHVzLmVvciA9PSBRQ2hhcjo6RGlyRU4gfHwgYmlkaS5zdGF0dXMuZW9y
ID09IFFDaGFyOjpEaXJBTikgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJpZGkuc3Rh
dHVzLmxhc3RTdHJvbmcgPT0gUUNoYXI6OkRpckwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyB0aGUgbnVtYmVycyBkb24ndCBuZWVkIHRvIGJlIG9uIGEgaGlnaGVyIGVtYmVkZGlu
ZyBsZXZlbCwgc28gaWYgdGhlIGNvbnRleHQgaXMgbGVmdCwganVzdCBleHRlbmQKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoYmlkaS5jb250ZXh0LT5kaXIgPT0gUUNoYXI6OkRpckwp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlkaS5lb3IgPSBiaWRpLmN1cnJl
bnQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpZGkuc3RhdHVzLmVvciA9IFFD
aGFyOjpEaXJMOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSBRQ2hhcjo6
RGlyTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaXIgPSBiaWRpLnN0YXR1cy5lb3I7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFwcGVuZFJ1bihiaWRpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYmlkaS5lb3IgPSBiaWRpLmxhc3Q7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpciA9IFFDaGFyOjpEaXJSOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhcHBlbmRSdW4oYmlkaSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJp
ZGkuZW9yID0gYmlkaS5jdXJyZW50OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
aWRpLnN0YXR1cy5lb3IgPSBRQ2hhcjo6RGlyTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlyID0gUUNoYXI6OkRpckw7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyB0aGUgbnVtYmVycyBuZWVkIHRvIGJlIG9uIGEgaGlnaGVyIGVtYmVkZGluZyBsZXZl
bCwgc28gbGV0J3MgY2xvc2UgdGhhdCBydW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
aXIgPSBiaWRpLnN0YXR1cy5lb3I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5k
UnVuKGJpZGkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiaWRpLmNvbnRleHQt
PmRpciA9PSBRQ2hhcjo6RGlyTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
aWRpLmVvciA9IGJpZGkuY3VycmVudDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YmlkaS5zdGF0dXMuZW9yID0gUUNoYXI6OkRpckw7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRpciA9IFFDaGFyOjpEaXJMOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpZGkuZW9yID0gYmlkaS5s
YXN0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSBRQ2hhcjo6RGlyUjsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kUnVuKGJpZGkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBiaWRpLmVvciA9IGJpZGkuY3VycmVudDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlkaS5zdGF0dXMuZW9yID0gUUNoYXI6OkRpckw7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpciA9IFFDaGFyOjpEaXJMOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKCBiaWRpLnN0YXR1cy5lb3IgIT0gUUNoYXI6OkRp
ckwgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvL2xhc3Qgc3R1ZmYgdGFrZXMgZW1iZWRk
aW5nIGRpcgogICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmlkaS5jb250ZXh0LT5kaXIgPT0g
UUNoYXI6OkRpckwgfHwgYmlkaS5zdGF0dXMubGFzdFN0cm9uZyA9PSBRQ2hhcjo6RGlyTCkgeyAK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGJpZGkuc3RhdHVzLmVvciAhPSBRQ2hh
cjo6RGlyRU4gJiYgYmlkaS5zdGF0dXMuZW9yICE9IFFDaGFyOjpEaXJBTiAmJiBiaWRpLnN0YXR1
cy5lb3IgIT0gUUNoYXI6OkRpck9OICkgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBw
ZW5kUnVuKCBiaWRpICk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBiaWRpLnN0
YXR1cy5lb3IgIT0gUUNoYXI6OkRpck9OICkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFwcGVuZFJ1biggYmlkaSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpciA9
IFFDaGFyOjpEaXJMOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpZGkuZW9yID0gYmlk
aS5jdXJyZW50OyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWRpLnN0YXR1cy5lb3Ig
PSBRQ2hhcjo6RGlyTDsKICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCBiaWRpLnN0YXR1cy5lb3IgPT0gUUNoYXI6OkRpckVO
IHx8IGJpZGkuc3RhdHVzLmVvciA9PSBRQ2hhcjo6RGlyQU4gKSAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSBiaWRp
LnN0YXR1cy5lb3I7IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRSdW4o
IGJpZGkgKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlyID0gUUNoYXI6OkRpclI7IAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJpZGkuZW9yID0gYmlkaS5sYXN0OyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
cHBlbmRSdW4oIGJpZGkgKTsgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2659</attachid>
            <date>2005-06-26 15:45:11 -0700</date>
            <delta_ts>2005-06-26 15:45:11 -0700</delta_ts>
            <desc>A better patch</desc>
            <filename>3725_patch_r5.txt</filename>
            <type>text/plain</type>
            <size>4563</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IGJpZGkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2to
dG1sL3JlbmRlcmluZy9iaWRpLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMzAKZGlmZiAt
dSAtcCAtcjEuMTMwIGJpZGkuY3BwCi0tLSBiaWRpLmNwcAkyMDA1LzA2LzI1IDA1OjE3OjMyCTEu
MTMwCisrKyBiaWRpLmNwcAkyMDA1LzA2LzI2IDIyOjQyOjI4CkBAIC05MzAsMTAgKzkzMCwxNiBA
QCB2b2lkIFJlbmRlckJsb2NrOjpiaWRpUmVvcmRlckxpbmUoY29uc3QgCiAgICAgICAgICAgICAg
ICAgICAgIGJpZGkuZW9yID0gYmlkaS5jdXJyZW50OyBiaWRpLnN0YXR1cy5lb3IgPSBRQ2hhcjo6
RGlyTDsgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBRQ2hhcjo6RGlyUjoKICAgICAgICAg
ICAgICAgICBjYXNlIFFDaGFyOjpEaXJBTDoKLSAgICAgICAgICAgICAgICBjYXNlIFFDaGFyOjpE
aXJFTjoKICAgICAgICAgICAgICAgICBjYXNlIFFDaGFyOjpEaXJBTjoKICAgICAgICAgICAgICAg
ICAgICAgYXBwZW5kUnVuKCBiaWRpICk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgIGNhc2UgUUNoYXI6OkRpckVOOgorICAgICAgICAgICAgICAgICAgICBpZiAo
YmlkaS5zdGF0dXMubGFzdFN0cm9uZyE9UUNoYXI6OkRpckwpCisgICAgICAgICAgICAgICAgICAg
ICAgICBhcHBlbmRSdW4oIGJpZGkgKTsKKyAgICAgICAgICAgICAgICAgICAgZGlyID0gUUNoYXI6
OkRpckw7CisgICAgICAgICAgICAgICAgICAgIGJpZGkuZW9yID0gYmlkaS5jdXJyZW50OworICAg
ICAgICAgICAgICAgICAgICBiaWRpLnN0YXR1cy5lb3IgPSBRQ2hhcjo6RGlyTDsKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBRQ2hhcjo6RGlyRVM6CiAg
ICAgICAgICAgICAgICAgY2FzZSBRQ2hhcjo6RGlyRVQ6CiAgICAgICAgICAgICAgICAgY2FzZSBR
Q2hhcjo6RGlyQ1M6CkBAIC05NDIsMjAgKzk0OCw1NCBAQCB2b2lkIFJlbmRlckJsb2NrOjpiaWRp
UmVvcmRlckxpbmUoY29uc3QgCiAgICAgICAgICAgICAgICAgY2FzZSBRQ2hhcjo6RGlyUzoKICAg
ICAgICAgICAgICAgICBjYXNlIFFDaGFyOjpEaXJXUzoKICAgICAgICAgICAgICAgICBjYXNlIFFD
aGFyOjpEaXJPTjoKLSAgICAgICAgICAgICAgICAgICAgaWYoIGJpZGkuc3RhdHVzLmVvciAhPSBR
Q2hhcjo6RGlyTCApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJpZGkuc3RhdHVzLmVvciA9
PSBRQ2hhcjo6RGlyRU4pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiaWRpLnN0YXR1
cy5sYXN0U3Ryb25nID09IFFDaGFyOjpEaXJMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gdGhlIG51bWJlcnMgYXJlIEwgYnkgcnVsZSBXNywgc28ganVzdCBleHRlbmQKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBiaWRpLmVvciA9IGJpZGkuY3VycmVudDsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBiaWRpLnN0YXR1cy5lb3IgPSBRQ2hhcjo6RGlyTDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSBRQ2hhcjo6RGlyTDsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG51
bWJlcnMgbmVlZCB0byBiZSBvbiBhIGhpZ2hlciBlbWJlZGRpbmcgbGV2ZWwsIHNvIGxldCdzIGNs
b3NlIHRoYXQgcnVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyID0gUUNoYXI6OkRp
ckVOOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFJ1bihiaWRpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmlkaS5jb250ZXh0LT5kaXIgPT0gUUNoYXI6OkRp
ckwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlkaS5lb3IgPSBiaWRpLmN1
cnJlbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpZGkuc3RhdHVzLmVvciA9
IFFDaGFyOjpEaXJMOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSBRQ2hh
cjo6RGlyTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBiaWRpLmVvciA9IGJpZGkubGFzdDsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlyID0gUUNoYXI6OkRpclI7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFwcGVuZFJ1bihiaWRpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYmlkaS5lb3IgPSBiaWRpLmN1cnJlbnQ7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJpZGkuc3RhdHVzLmVvciA9IFFDaGFyOjpEaXJMOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkaXIgPSBRQ2hhcjo6RGlyTDsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSBpZiAoYmlkaS5zdGF0dXMuZW9yID09IFFDaGFyOjpEaXJBTikgeworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gQXJhYmljIG51bWJlcnMgYXJlIGFsd2F5cyBvbiBhIGhpZ2hlciBl
bWJlZGRpbmcgbGV2ZWwsIHNvIGxldCdzIGNsb3NlIHRoYXQgcnVuCisgICAgICAgICAgICAgICAg
ICAgICAgICBkaXIgPSBRQ2hhcjo6RGlyQU47CisgICAgICAgICAgICAgICAgICAgICAgICBhcHBl
bmRSdW4oYmlkaSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmlkaS5jb250ZXh0LT5k
aXIgPT0gUUNoYXI6OkRpckwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWRpLmVv
ciA9IGJpZGkuY3VycmVudDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWRpLnN0YXR1
cy5lb3IgPSBRQ2hhcjo6RGlyTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSBR
Q2hhcjo6RGlyTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmlkaS5lb3IgPSBiaWRpLmxhc3Q7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlyID0gUUNoYXI6OkRpclI7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXBwZW5kUnVuKGJpZGkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpZGkuZW9y
ID0gYmlkaS5jdXJyZW50OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpZGkuc3RhdHVz
LmVvciA9IFFDaGFyOjpEaXJMOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpciA9IFFD
aGFyOjpEaXJMOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYoIGJpZGkuc3RhdHVzLmVvciAhPSBRQ2hhcjo6RGlyTCApIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vbGFzdCBzdHVmZiB0YWtlcyBlbWJlZGRpbmcgZGlyCiAgICAgICAg
ICAgICAgICAgICAgICAgICBpZihiaWRpLmNvbnRleHQtPmRpciA9PSBRQ2hhcjo6RGlyTCB8fCBi
aWRpLnN0YXR1cy5sYXN0U3Ryb25nID09IFFDaGFyOjpEaXJMKSB7IAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICggYmlkaS5zdGF0dXMuZW9yICE9IFFDaGFyOjpEaXJFTiAmJiBiaWRp
LnN0YXR1cy5lb3IgIT0gUUNoYXI6OkRpckFOICYmIGJpZGkuc3RhdHVzLmVvciAhPSBRQ2hhcjo6
RGlyT04gKSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRSdW4oIGJpZGkgKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGJpZGkuc3RhdHVzLmVvciAhPSBRQ2hh
cjo6RGlyT04gKSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kUnVuKCBi
aWRpICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyID0gUUNoYXI6OkRpckw7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlkaS5lb3IgPSBiaWRpLmN1cnJlbnQ7IAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJpZGkuc3RhdHVzLmVvciA9IFFDaGFyOjpEaXJMOwog
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIGJpZGkuc3RhdHVzLmVvciA9PSBRQ2hhcjo6RGlyRU4gfHwgYmlkaS5zdGF0dXMu
ZW9yID09IFFDaGFyOjpEaXJBTiApIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpciA9IGJpZGkuc3RhdHVzLmVvcjsgCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFJ1biggYmlkaSApOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXIg
PSBRQ2hhcjo6RGlyUjsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlkaS5lb3IgPSBi
aWRpLmxhc3Q7IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFJ1biggYmlkaSAp
OyAK
</data>

          </attachment>
      

    </bug>

</bugzilla>