<?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>76924</bug_id>
          
          <creation_ts>2012-01-24 10:24:55 -0800</creation_ts>
          <short_desc>[chromium] Remove incorrect early exit in CCDamageTracker</short_desc>
          <delta_ts>2012-02-08 13:42:08 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>backer</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>541441</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-01-24 10:24:55 -0800</bug_when>
    <thetext>In the damage tracker, the original logic did an early-exit if we knew the entire surface was damaged.   This is wrong, however, since an early exit means that the tracking state of all other layers will not be updated.

Jonathan and I already verified a simple change that fixes the problem, but we should still create a nice unit test to reproduce this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541520</commentid>
    <comment_count>1</comment_count>
      <attachid>123778</attachid>
    <who name="Jonathan Backer">backer</who>
    <bug_when>2012-01-24 11:37:54 -0800</bug_when>
    <thetext>Created attachment 123778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541543</commentid>
    <comment_count>2</comment_count>
      <attachid>123778</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-01-24 12:10:16 -0800</bug_when>
    <thetext>Comment on attachment 123778
Patch

Unit test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541563</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Backer">backer</who>
    <bug_when>2012-01-24 12:35:36 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 123778 [details])
&gt; Unit test?

I hit the --no-review flag. I wasn&apos;t sure that Shawn had the cycles to work on this, so I just wanted to document the patch.

Turns out that he&apos;s got a different version (with a unit-test). I&apos;m sure he&apos;ll upload shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541972</commentid>
    <comment_count>4</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-01-24 19:43:14 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 123778 [details] [details])
&gt; &gt; Unit test?
&gt; 
&gt; I hit the --no-review flag. I wasn&apos;t sure that Shawn had the cycles to work on this, so I just wanted to document the patch.
&gt; 
&gt; Turns out that he&apos;s got a different version (with a unit-test). I&apos;m sure he&apos;ll upload shortly.

I have a fix, and it does work.  But it actually ends up breaking other CCDamageTracker unit tests.   As far as I have debugged so far, I believe it is the result of a unrelated bug in CCLayerTreeHostCommon... setting an incorrect contentRect when there is a replicaLayer.

I would prefer to fully understand and fix that bug first, and then submit the patch for this.  I will be able to look into that issue starting early next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542572</commentid>
    <comment_count>5</comment_count>
      <attachid>123997</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-01-25 13:20:50 -0800</bug_when>
    <thetext>Created attachment 123997
not for review, just for reference

Jonathan requested me to upload this, just for reference and temporary testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549706</commentid>
    <comment_count>6</comment_count>
      <attachid>125561</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-05 21:13:15 -0800</bug_when>
    <thetext>Created attachment 125561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549708</commentid>
    <comment_count>7</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-05 21:17:34 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=125561) [details]
&gt; Patch

The patch just uploaded does three things:
(1) adds unit test that demonstrates that early exiting in CCDamageTracker is wrong,
(2) removes the early exit and cleans up the surrounding code,
(3) re-names several functions in CCDamageTracker to reflect that they do more than just &quot;compute&quot; something, they also update state held by the damage tracker.  Before renaming, this state tracking was more of a &quot;side-effect&quot;... renaming them makes it more clear that this is intended, and not an un-desired side effect.

The contentRect problem I found is actually un-related, and I placed a FIXME in this patch to reflect it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551520</commentid>
    <comment_count>8</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-02-07 16:10:40 -0800</bug_when>
    <thetext>Jamesr - when you have a chance, could you please review this?  Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552368</commentid>
    <comment_count>9</comment_count>
      <attachid>125561</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-08 12:05:20 -0800</bug_when>
    <thetext>Comment on attachment 125561
Patch

OK, R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552455</commentid>
    <comment_count>10</comment_count>
      <attachid>125561</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-08 13:42:04 -0800</bug_when>
    <thetext>Comment on attachment 125561
Patch

Clearing flags on attachment: 125561

Committed r107130: &lt;http://trac.webkit.org/changeset/107130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552456</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-08 13:42:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123778</attachid>
            <date>2012-01-24 11:37:54 -0800</date>
            <delta_ts>2012-01-25 13:20:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76924-20120124143753.patch</filename>
            <type>text/plain</type>
            <size>2307</size>
            <attacher name="Jonathan Backer">backer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Y4MjhmZjRkZGFmZjJl
OWQ3NmNiZjIzMWZhY2VjMTJlNzBlODljMy4uMjMxOTJhOTAzYjNlNmM1NzdjNTBiY2Q4NDdkOWYx
YmEwMjc1YWVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAxLTI0ICBKb25h
dGhhbiBCYWNrZXIgIDxiYWNrZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
UmVtb3ZlIGluY29ycmVjdCBlYXJseSBleGl0IGluIENDRGFtYWdlVHJhY2tlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0Rh
bWFnZVRyYWNrZXI6OnVwZGF0ZURhbWFnZVJlY3RGb3JOZXh0RnJhbWUpOgorCiAyMDEyLTAxLTI0
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXSBSZWZhY3RvciBHVEsncyBhY2Nlc3NpYmlsaXRpdHkgY29kZSB0byBiZSBtb3JlIG1vZHVs
YXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDRGFtYWdlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwCmluZGV4IDE3MjI2YWE4MjA5MTAxOTM5
OGFlZGMyYmMzMDBkNzkxMThmM2ZhNmQuLjE1MDY3NjBjMDBiZDE4YzJjODczYTAwYzEwMDVhZTVm
MjZlYTExZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNwcApAQCAtMTIwLDE5ICsx
MjAsMTMgQEAgdm9pZCBDQ0RhbWFnZVRyYWNrZXI6OnVwZGF0ZURhbWFnZVJlY3RGb3JOZXh0RnJh
bWUoY29uc3QgVmVjdG9yPFJlZlB0cjxDQ0xheWVySW0KICAgICAvLyAgICAgICAgIGRhbWFnZSB0
cmFja2VyIGlzIHJlYWR5IGZvciB0aGUgbmV4dCBmcmFtZS4KICAgICAvLwogCi0gICAgLy8gSWYg
dGhlIHRhcmdldCBzdXJmYWNlIGFscmVhZHkga25vd3MgaXRzIGVudGlyZSByZWdpb24gaXMgZGFt
YWdlZCwgd2UgY2FuIHJldHVybiBlYXJseS4KLSAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgZ28g
YXdheSwgb3Igd2lsbCBiZSBjbGVhbmVyLCBhZnRlciByZWZhY3RvcmluZyBpbnRvIFJlbmRlclBh
c3MvUmVuZGVyU2NoZWR1bGUuCi0gICAgQ0NMYXllckltcGwqIGxheWVyID0gbGF5ZXJMaXN0WzBd
LmdldCgpOwotICAgIGlmIChsYXllci0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgpLT5zdXJmYWNlUHJv
cGVydHlDaGFuZ2VkT25seUZyb21EZXNjZW5kYW50KCkpIHsKLSAgICAgICAgbV9jdXJyZW50RGFt
YWdlUmVjdCA9IEZsb2F0UmVjdChsYXllci0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgpLT5jb250ZW50
UmVjdCgpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBtX2N1cnJlbnREYW1hZ2VSZWN0
ID0gRmxvYXRSZWN0KCk7CiAKICAgICBGbG9hdFJlY3QgZGFtYWdlRnJvbUFjdGl2ZUxheWVycyA9
IGNvbXB1dGVEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKGxheWVyTGlzdCwgdGFyZ2V0U3VyZmFjZUxh
eWVySUQpOwogICAgIEZsb2F0UmVjdCBkYW1hZ2VGcm9tU3VyZmFjZU1hc2sgPSBjb21wdXRlRGFt
YWdlRnJvbVN1cmZhY2VNYXNrKHRhcmdldFN1cmZhY2VNYXNrTGF5ZXIpOwogICAgIEZsb2F0UmVj
dCBkYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cyA9IGNvbXB1dGVEYW1hZ2VGcm9tTGVmdG92ZXJSZWN0
cygpOwogCi0gICAgbV9jdXJyZW50RGFtYWdlUmVjdCA9IGRhbWFnZUZyb21BY3RpdmVMYXllcnM7
CisgICAgbV9jdXJyZW50RGFtYWdlUmVjdC51bml0ZUlmTm9uWmVybyhkYW1hZ2VGcm9tQWN0aXZl
TGF5ZXJzKTsKICAgICBtX2N1cnJlbnREYW1hZ2VSZWN0LnVuaXRlSWZOb25aZXJvKGRhbWFnZUZy
b21TdXJmYWNlTWFzayk7CiAgICAgbV9jdXJyZW50RGFtYWdlUmVjdC51bml0ZUlmTm9uWmVybyhk
YW1hZ2VGcm9tTGVmdG92ZXJSZWN0cyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123997</attachid>
            <date>2012-01-25 13:20:50 -0800</date>
            <delta_ts>2012-02-05 21:13:09 -0800</delta_ts>
            <desc>not for review, just for reference</desc>
            <filename>bug-76924-20120125132049.patch</filename>
            <type>text/plain</type>
            <size>4237</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFja2VyLmNw
cAppbmRleCAxNzIyNmFhODIwOTEwMTkzOThhZWRjMmJjMzAwZDc5MTE4ZjNmYTZkLi42ZjJhMjdj
MWYzYWNmMDM4NDc3NjZmODJhYTc5OGE4NTMzOGJmNWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGFtYWdl
VHJhY2tlci5jcHAKQEAgLTEyMCwyMiArMTIwLDI1IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjp1
cGRhdGVEYW1hZ2VSZWN0Rm9yTmV4dEZyYW1lKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q0NMYXllcklt
CiAgICAgLy8gICAgICAgICBkYW1hZ2UgdHJhY2tlciBpcyByZWFkeSBmb3IgdGhlIG5leHQgZnJh
bWUuCiAgICAgLy8KIAotICAgIC8vIElmIHRoZSB0YXJnZXQgc3VyZmFjZSBhbHJlYWR5IGtub3dz
IGl0cyBlbnRpcmUgcmVnaW9uIGlzIGRhbWFnZWQsIHdlIGNhbiByZXR1cm4gZWFybHkuCi0gICAg
Ly8gRklYTUU6IHRoaXMgc2hvdWxkIGdvIGF3YXksIG9yIHdpbGwgYmUgY2xlYW5lciwgYWZ0ZXIg
cmVmYWN0b3JpbmcgaW50byBSZW5kZXJQYXNzL1JlbmRlclNjaGVkdWxlLgorICAgIG1fY3VycmVu
dERhbWFnZVJlY3QgPSBGbG9hdFJlY3QoKTsKKworICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBi
ZSBjbGVhbmVyIGFmdGVyIHJlZmFjdG9yaW5nIGludG8gUmVuZGVyUGFzcy9SZW5kZXJTY2hlZHVs
ZS4KICAgICBDQ0xheWVySW1wbCogbGF5ZXIgPSBsYXllckxpc3RbMF0uZ2V0KCk7Ci0gICAgaWYg
KGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCktPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWRPbmx5
RnJvbURlc2NlbmRhbnQoKSkgewotICAgICAgICBtX2N1cnJlbnREYW1hZ2VSZWN0ID0gRmxvYXRS
ZWN0KGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCktPmNvbnRlbnRSZWN0KCkpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQorICAgIEZsb2F0UmVjdCB0YXJnZXRDb250ZW50UmVjdCA9IEZsb2F0
UmVjdChsYXllci0+dGFyZ2V0UmVuZGVyU3VyZmFjZSgpLT5jb250ZW50UmVjdCgpKTsKKyAgICBp
ZiAobGF5ZXItPnRhcmdldFJlbmRlclN1cmZhY2UoKS0+c3VyZmFjZVByb3BlcnR5Q2hhbmdlZE9u
bHlGcm9tRGVzY2VuZGFudCgpKQorICAgICAgICBtX2N1cnJlbnREYW1hZ2VSZWN0ID0gdGFyZ2V0
Q29udGVudFJlY3Q7CiAKICAgICBGbG9hdFJlY3QgZGFtYWdlRnJvbUFjdGl2ZUxheWVycyA9IGNv
bXB1dGVEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKGxheWVyTGlzdCwgdGFyZ2V0U3VyZmFjZUxheWVy
SUQpOwogICAgIEZsb2F0UmVjdCBkYW1hZ2VGcm9tU3VyZmFjZU1hc2sgPSBjb21wdXRlRGFtYWdl
RnJvbVN1cmZhY2VNYXNrKHRhcmdldFN1cmZhY2VNYXNrTGF5ZXIpOwogICAgIEZsb2F0UmVjdCBk
YW1hZ2VGcm9tTGVmdG92ZXJSZWN0cyA9IGNvbXB1dGVEYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cygp
OwogCi0gICAgbV9jdXJyZW50RGFtYWdlUmVjdCA9IGRhbWFnZUZyb21BY3RpdmVMYXllcnM7Cisg
ICAgbV9jdXJyZW50RGFtYWdlUmVjdC51bml0ZUlmTm9uWmVybyhkYW1hZ2VGcm9tQWN0aXZlTGF5
ZXJzKTsKICAgICBtX2N1cnJlbnREYW1hZ2VSZWN0LnVuaXRlSWZOb25aZXJvKGRhbWFnZUZyb21T
dXJmYWNlTWFzayk7CiAgICAgbV9jdXJyZW50RGFtYWdlUmVjdC51bml0ZUlmTm9uWmVybyhkYW1h
Z2VGcm9tTGVmdG92ZXJSZWN0cyk7CiAKKyAgICAvLyBDbGFtcCB0aGUgZGFtYWdlIHRvIHRoZSB0
YXJnZXQgc3VyZmFjZSdzIGNvbnRlbnQgcmVjdC4KKyAgICBtX2N1cnJlbnREYW1hZ2VSZWN0Lmlu
dGVyc2VjdCh0YXJnZXRDb250ZW50UmVjdCk7CisgICAgCiAgICAgLy8gVGhlIG5leHQgaGlzdG9y
eSBtYXAgYmVjb21lcyB0aGUgY3VycmVudCBtYXAgZm9yIHRoZSBuZXh0IGZyYW1lLgogICAgIHN3
YXAobV9jdXJyZW50UmVjdEhpc3RvcnksIG1fbmV4dFJlY3RIaXN0b3J5KTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRGFtYWdlVHJhY2tlclRlc3QuY3BwCmlu
ZGV4IDBmMzc5ZDY0ZWRiY2M2NTA0N2M5ZDdlYjk0MzhjZDgzZTk4OTMxNWUuLmRmZjA0OWJkYWQ3
OWFlMWU5ZWQwZmY1YWYzOWEwYTU5MTdjZjk0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcApAQCAtNzQ4LDQgKzc0OCwz
NiBAQCBURVNUX0YoQ0NEYW1hZ2VUcmFja2VyVGVzdCwgdmVyaWZ5RGFtYWdlRm9yUmVwbGljYU1h
c2spCiAgICAgRVhQRUNUX0ZMT0FUX1JFQ1RfRVEoRmxvYXRSZWN0KDE5NCwgMjAwLCA2LCA4KSwg
Y2hpbGREYW1hZ2VSZWN0KTsKIH0KIAorVEVTVF9GKENDRGFtYWdlVHJhY2tlclRlc3QsIHZlcmlm
eUxheWVyU3RhdGVVcGRhdGVkV2hlblN1cmZhY2VGdWxseURhbWFnZWQpCit7CisgICAgLy8gVGhp
cyB0ZXN0IHJlcHJvZHVjZXMgdGhlIG1pc3Rha2UgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc2OTI0CisKKyAgICBSZWZQdHI8Q0NMYXllckltcGw+IHJvb3QgPSBj
cmVhdGVBbmRTZXRVcFRlc3RUcmVlV2l0aFR3b1N1cmZhY2VzKCk7CisgICAgUmVmUHRyPENDTGF5
ZXJJbXBsPiBjaGlsZDEgPSByb290LT5jaGlsZHJlbigpWzBdOworICAgIFJlZlB0cjxDQ0xheWVy
SW1wbD4gZ3JhbmRDaGlsZDEgPSByb290LT5jaGlsZHJlbigpWzBdLT5jaGlsZHJlbigpWzBdOwor
ICAgIEZsb2F0UmVjdCBjaGlsZERhbWFnZVJlY3Q7CisgICAgRmxvYXRSZWN0IHJvb3REYW1hZ2VS
ZWN0OworCisgICAgUmVmUHRyPENDTGF5ZXJJbXBsPiBncmFuZENoaWxkMyA9IENDTGF5ZXJJbXBs
OjpjcmVhdGUoNik7CisgICAgZ3JhbmRDaGlsZDMtPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoMTkw
LCAxOTApKTsKKyAgICBncmFuZENoaWxkMy0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludDo6emVy
bygpKTsKKyAgICBncmFuZENoaWxkMy0+c2V0Qm91bmRzKEludFNpemUoMiwgMykpOworICAgIGdy
YW5kQ2hpbGQzLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgY2hpbGQxLT5hZGRDaGlsZChn
cmFuZENoaWxkMyk7CisgICAgCisgICAgZ3JhbmRDaGlsZDEtPnNldFBvc2l0aW9uKEZsb2F0UG9p
bnQoMTk1LCAyMDUpKTsKKyAgICBlbXVsYXRlRHJhd2luZ09uZUZyYW1lKHJvb3QuZ2V0KCkpOwor
CisgICAgLy8gQmVjYXVzZSB0aGUgY29udGVudEJvdW5kcyBvZiB0aGUgc3VyZmFjZSBjaGFuZ2Vk
LCBzdXJmYWNlIHNob3VsZCBiZSBkYW1hZ2VkIGVudGlyZWx5LCBldmVuIHRob3VnaCBvbmx5IG9u
ZSBvZiB0aGUgbGF5ZXJzIGNoYW5nZWQuCisgICAgY2hpbGREYW1hZ2VSZWN0ID0gY2hpbGQxLT5y
ZW5kZXJTdXJmYWNlKCktPmRhbWFnZVRyYWNrZXIoKS0+Y3VycmVudERhbWFnZVJlY3QoKTsKKyAg
ICBFWFBFQ1RfRkxPQVRfUkVDVF9FUShGbG9hdFJlY3QoMTkwLCAxOTAsIDExLCAyMyksIGNoaWxk
RGFtYWdlUmVjdCk7CisKKyAgICAvLyBBIHNlY29uZCB1cGRhdGUgc2hvdWxkIGNvcnJlY3RseSBy
ZWZsZWN0IHRoYXQgZ3JhbmRDaGlsZDMgaGFkIGJlZW4gcHJldmlvdXNseSBhZGRlZC4KKyAgICAv
LyBNb3ZpbmcgZ3JhbmRDaGlsZDMgc2hvdWxkIGNhdXNlIGRhbWFnZSBhdCBncmFuZENoaWxkMydz
IG9sZCBsb2NhdGlvbiBhbmQgbmV3IGxvY2F0aW9uLgorICAgIGdyYW5kQ2hpbGQzLT5zZXRQb3Np
dGlvbihGbG9hdFBvaW50KDE5NSwgMTk1KSk7CisgICAgZW11bGF0ZURyYXdpbmdPbmVGcmFtZShy
b290LmdldCgpKTsKKyAgICBjaGlsZERhbWFnZVJlY3QgPSBjaGlsZDEtPnJlbmRlclN1cmZhY2Uo
KS0+ZGFtYWdlVHJhY2tlcigpLT5jdXJyZW50RGFtYWdlUmVjdCgpOworICAgIEVYUEVDVF9GTE9B
VF9SRUNUX0VRKEZsb2F0UmVjdCgxOTAsIDE5MCwgNywgOCksIGNoaWxkRGFtYWdlUmVjdCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125561</attachid>
            <date>2012-02-05 21:13:15 -0800</date>
            <delta_ts>2012-02-08 13:42:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76924-20120205211314.patch</filename>
            <type>text/plain</type>
            <size>11344</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg1MzliZDMzODJmZjU0
MDNkZTQ5Yzg4NjU4MzliMDRiZDFlOGFhNi4uZGJkNDY2YzQyMzIyNjIzODc4OTkyMmVlMWQ1YTk3
NDBmNTQyODAyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAyLTA1ICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
UmVtb3ZlIGluY29ycmVjdCBlYXJseSBleGl0IGluIENDRGFtYWdlVHJhY2tlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdW5pdCB0ZXN0IGFkZGVk
IHRvIENDRGFtYWdlVHJhY2tlclRlc3QuY3BwCisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIHRo
cmVlIHRoaW5nczogKDEpIGFkZHMgdW5pdCB0ZXN0IHRoYXQgZGVtb25zdHJhdGVzCisgICAgICAg
IHRoYXQgZWFybHkgZXhpdGluZyBpbiBDQ0RhbWFnZVRyYWNrZXIgaXMgd3JvbmcsICgyKSByZW1v
dmVzIHRoZQorICAgICAgICBlYXJseSBleGl0IGFuZCBjbGVhbnMgdXAgdGhlIHN1cnJvdW5kaW5n
IGNvZGUsIGFuZCAoMykgcmUtbmFtZXMKKyAgICAgICAgc2V2ZXJhbCBmdW5jdGlvbnMgaW4gQ0NE
YW1hZ2VUcmFja2VyIHNvIHRoYXQgc3RhdGUgdXBkYXRpbmcgaXMKKyAgICAgICAgaW1wbGllZCBi
eSB0aGUgbmFtZSwgYW5kIG5vdCBqdXN0IGEgYmFkIHNpZGUtZWZmZWN0IG9mIHRoZSBmdW5jdGlv
bnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRy
YWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEYW1hZ2VUcmFja2VyOjp1cGRhdGVEYW1h
Z2VUcmFja2luZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDRGFtYWdlVHJhY2tlcjo6dHJh
Y2tEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDRGFtYWdlVHJh
Y2tlcjo6dHJhY2tEYW1hZ2VGcm9tU3VyZmFjZU1hc2spOgorICAgICAgICAoV2ViQ29yZTo6Q0NE
YW1hZ2VUcmFja2VyOjp0cmFja0RhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRyYWNrZXIuaDoKKyAgICAgICAg
KENDRGFtYWdlVHJhY2tlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJl
ZUhvc3RJbXBsOjp0cmFja0RhbWFnZUZvckFsbFN1cmZhY2VzKToKKwogMjAxMi0wMi0wNSAgQ2hh
bmdTZW9rIE9oICA8c2hpdmFtaWRvd0BnbWFpbC5jb20+CiAKICAgICAgICAgW0VGTF0gRW5hYmxl
IFdlYkdMIHdpdGggZ2x4IGJhY2tlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNGZi
YWZmZGRjZmRlMTJlMmJkODA1MGY0YjdlNmNjODQwMmQwMGZmNy4uZmIxOTg2MDM3MTFmNzk1YWE2
ZTNmMDdmMjFmMTZjOTVjNDNjZTYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMi0wMi0wNSAgU2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSBpbmNvcnJlY3QgZWFybHkgZXhpdCBp
biBDQ0RhbWFnZVRyYWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc2OTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB0ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYktp
dFRlc3RzOjplbXVsYXRlRHJhd2luZ09uZUZyYW1lKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpU
RVNUX0YpOgorICAgICAgICAoV2ViS2l0VGVzdHMpOgorCiAyMDEyLTAyLTA0ICBTaGF3biBTaW5n
aCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWRkIHN1
cHBvcnQgdG8gZm9yY2UgZnVsbCBkYW1hZ2UgaW4gQ0NEYW1hZ2VUcmFja2VyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRy
YWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NEYW1hZ2VUcmFja2VyLmNwcAppbmRleCA2ZTU2MmUxZmFlZjcwNDc5YzM0ODAyMDU1ZjNlYTJi
NjQ1OTUwNmRiLi4yZDZmNDNmMzE4NWZjNDQ1Y2E5OTU5ZmU4MDRmNjI0YjNiNGUxMzNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Rh
bWFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDRGFtYWdlVHJhY2tlci5jcHAKQEAgLTU2LDEzICs1NiwxMyBAQCBDQ0RhbWFn
ZVRyYWNrZXI6On5DQ0RhbWFnZVRyYWNrZXIoKQogewogfQogCi12b2lkIENDRGFtYWdlVHJhY2tl
cjo6dXBkYXRlRGFtYWdlUmVjdEZvck5leHRGcmFtZShjb25zdCBWZWN0b3I8UmVmUHRyPENDTGF5
ZXJJbXBsPiA+JiBsYXllckxpc3QsIGludCB0YXJnZXRTdXJmYWNlTGF5ZXJJRCwgQ0NMYXllcklt
cGwqIHRhcmdldFN1cmZhY2VNYXNrTGF5ZXIpCit2b2lkIENDRGFtYWdlVHJhY2tlcjo6dXBkYXRl
RGFtYWdlVHJhY2tpbmdTdGF0ZShjb25zdCBWZWN0b3I8UmVmUHRyPENDTGF5ZXJJbXBsPiA+JiBs
YXllckxpc3QsIGludCB0YXJnZXRTdXJmYWNlTGF5ZXJJRCwgQ0NMYXllckltcGwqIHRhcmdldFN1
cmZhY2VNYXNrTGF5ZXIpCiB7CiAgICAgLy8KLSAgICAvLyBUaGlzIGZ1bmN0aW9uIGNvbXB1dGVz
IHRoZSAiZGFtYWdlIHJlY3QiIG9mIGEgdGFyZ2V0IHN1cmZhY2UuIFRoZSBkYW1hZ2UKLSAgICAv
LyByZWN0IGlzIHRoZSByZWdpb24gb2YgdGhlIHN1cmZhY2UgdGhhdCBtYXkgaGF2ZSBjaGFuZ2Vk
IGFuZCBuZWVkcyB0byBiZSByZWRyYXduLgotICAgIC8vIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2Np
c3NvciB3aGF0IGlzIGFjdHVhbGx5IGRyYXduLCB0byBzYXZlIEdQVSBjb21wdXRhdGlvbiBhbmQK
LSAgICAvLyBiYW5kd2lkdGguCisgICAgLy8gVGhpcyBmdW5jdGlvbiBjb21wdXRlcyB0aGUgImRh
bWFnZSByZWN0IiBvZiBhIHRhcmdldCBzdXJmYWNlLCBhbmQgdXBkYXRlcyB0aGUgc3RhdGUKKyAg
ICAvLyB0aGF0IGlzIHVzZWQgdG8gY29ycmVjdGx5IHRyYWNrIGRhbWFnZSBhY3Jvc3MgZnJhbWVz
LiBUaGUgZGFtYWdlIHJlY3QgaXMgdGhlIHJlZ2lvbgorICAgIC8vIG9mIHRoZSBzdXJmYWNlIHRo
YXQgbWF5IGhhdmUgY2hhbmdlZCBhbmQgbmVlZHMgdG8gYmUgcmVkcmF3bi4gVGhpcyBjYW4gYmUg
dXNlZCB0bworICAgIC8vIHNjaXNzb3Igd2hhdCBpcyBhY3R1YWxseSBkcmF3biwgdG8gc2F2ZSBH
UFUgY29tcHV0YXRpb24gYW5kIGJhbmR3aWR0aC4KICAgICAvLwogICAgIC8vIFRoZSBzdXJmYWNl
J3MgZGFtYWdlIHJlY3QgaXMgY29tcHV0ZWQgYXMgdGhlIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSBj
aGFuZ2VzIHRoYXQKICAgICAvLyBoYXZlIGhhcHBlbmVkIHRvIHRoZSBzdXJmYWNlIHNpbmNlIHRo
ZSBsYXN0IGZyYW1lIHdhcyBkcmF3bi4gVGhpcyBpbmNsdWRlczoKQEAgLTEyMSwyMyArMTIxLDIz
IEBAIHZvaWQgQ0NEYW1hZ2VUcmFja2VyOjp1cGRhdGVEYW1hZ2VSZWN0Rm9yTmV4dEZyYW1lKGNv
bnN0IFZlY3RvcjxSZWZQdHI8Q0NMYXllckltCiAgICAgLy8gICAgICAgICBkYW1hZ2UgdHJhY2tl
ciBpcyByZWFkeSBmb3IgdGhlIG5leHQgZnJhbWUuCiAgICAgLy8KIAorICAgIC8vIFRoZXNlIGZ1
bmN0aW9ucyBjYW5ub3QgYmUgYnlwYXNzZWQgd2l0aCBlYXJseS1leGl0cywgZXZlbiBpZiB3ZSBr
bm93IHdoYXQgdGhlCisgICAgLy8gZGFtYWdlIHdpbGwgYmUgZm9yIHRoaXMgZnJhbWUsIGJlY2F1
c2Ugd2UgbmVlZCB0byB1cGRhdGUgdGhlIGRhbWFnZSB0cmFja2VyIHN0YXRlCisgICAgLy8gdG8g
Y29ycmVjdGx5IHRyYWNrIHRoZSBuZXh0IGZyYW1lLgorICAgIEZsb2F0UmVjdCBkYW1hZ2VGcm9t
QWN0aXZlTGF5ZXJzID0gdHJhY2tEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKGxheWVyTGlzdCwgdGFy
Z2V0U3VyZmFjZUxheWVySUQpOworICAgIEZsb2F0UmVjdCBkYW1hZ2VGcm9tU3VyZmFjZU1hc2sg
PSB0cmFja0RhbWFnZUZyb21TdXJmYWNlTWFzayh0YXJnZXRTdXJmYWNlTWFza0xheWVyKTsKKyAg
ICBGbG9hdFJlY3QgZGFtYWdlRnJvbUxlZnRvdmVyUmVjdHMgPSB0cmFja0RhbWFnZUZyb21MZWZ0
b3ZlclJlY3RzKCk7CisKICAgICAvLyBJZiB0aGUgdGFyZ2V0IHN1cmZhY2UgYWxyZWFkeSBrbm93
cyBpdHMgZW50aXJlIHJlZ2lvbiBpcyBkYW1hZ2VkLCB3ZSBjYW4gcmV0dXJuIGVhcmx5LgogICAg
IC8vIEZJWE1FOiB0aGlzIHNob3VsZCBnbyBhd2F5LCBvciB3aWxsIGJlIGNsZWFuZXIsIGFmdGVy
IHJlZmFjdG9yaW5nIGludG8gUmVuZGVyUGFzcy9SZW5kZXJTY2hlZHVsZS4KICAgICBDQ0xheWVy
SW1wbCogbGF5ZXIgPSBsYXllckxpc3RbMF0uZ2V0KCk7Ci0gICAgaWYgKGxheWVyLT50YXJnZXRS
ZW5kZXJTdXJmYWNlKCktPnN1cmZhY2VQcm9wZXJ0eUNoYW5nZWRPbmx5RnJvbURlc2NlbmRhbnQo
KSkgewotICAgICAgICBtX2N1cnJlbnREYW1hZ2VSZWN0ID0gRmxvYXRSZWN0KGxheWVyLT50YXJn
ZXRSZW5kZXJTdXJmYWNlKCktPmNvbnRlbnRSZWN0KCkpOwotICAgICAgICAvLyBGSVhNRTogdGhp
cyBlYXJseSBleGl0IGlzIGluY29ycmVjdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc2OTI0Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBGbG9hdFJlY3Qg
ZGFtYWdlRnJvbUFjdGl2ZUxheWVycyA9IGNvbXB1dGVEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKGxh
eWVyTGlzdCwgdGFyZ2V0U3VyZmFjZUxheWVySUQpOwotICAgIEZsb2F0UmVjdCBkYW1hZ2VGcm9t
U3VyZmFjZU1hc2sgPSBjb21wdXRlRGFtYWdlRnJvbVN1cmZhY2VNYXNrKHRhcmdldFN1cmZhY2VN
YXNrTGF5ZXIpOwotICAgIEZsb2F0UmVjdCBkYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cyA9IGNvbXB1
dGVEYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cygpOworICAgIENDUmVuZGVyU3VyZmFjZSogdGFyZ2V0
U3VyZmFjZSA9IGxheWVyLT50YXJnZXRSZW5kZXJTdXJmYWNlKCk7CiAKLSAgICBpZiAobV9mb3Jj
ZUZ1bGxEYW1hZ2VOZXh0VXBkYXRlKSB7Ci0gICAgICAgIG1fY3VycmVudERhbWFnZVJlY3QgPSBG
bG9hdFJlY3QobGF5ZXItPnRhcmdldFJlbmRlclN1cmZhY2UoKS0+Y29udGVudFJlY3QoKSk7Cisg
ICAgaWYgKG1fZm9yY2VGdWxsRGFtYWdlTmV4dFVwZGF0ZSB8fCB0YXJnZXRTdXJmYWNlLT5zdXJm
YWNlUHJvcGVydHlDaGFuZ2VkT25seUZyb21EZXNjZW5kYW50KCkpIHsKKyAgICAgICAgbV9jdXJy
ZW50RGFtYWdlUmVjdCA9IEZsb2F0UmVjdCh0YXJnZXRTdXJmYWNlLT5jb250ZW50UmVjdCgpKTsK
ICAgICAgICAgbV9mb3JjZUZ1bGxEYW1hZ2VOZXh0VXBkYXRlID0gZmFsc2U7CiAgICAgfSBlbHNl
IHsKKyAgICAgICAgLy8gRklYTUU6IGNhbiB3ZSBuZWVkIHRvIGNsYW1wIHRoaXMgZGFtYWdlIHRv
IHRoZSBzdXJmYWNlJ3MgY29udGVudCByZWN0PyAoYWZmZWN0cyBwZXJmb3JtYW5jZSwgYnV0IG5v
dCBjb3JyZWN0bmVzcykKICAgICAgICAgbV9jdXJyZW50RGFtYWdlUmVjdCA9IGRhbWFnZUZyb21B
Y3RpdmVMYXllcnM7CiAgICAgICAgIG1fY3VycmVudERhbWFnZVJlY3QudW5pdGVJZk5vblplcm8o
ZGFtYWdlRnJvbVN1cmZhY2VNYXNrKTsKICAgICAgICAgbV9jdXJyZW50RGFtYWdlUmVjdC51bml0
ZUlmTm9uWmVybyhkYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cyk7CkBAIC0xNjEsNyArMTYxLDcgQEAg
dm9pZCBDQ0RhbWFnZVRyYWNrZXI6OnNhdmVSZWN0Rm9yTmV4dEZyYW1lKGludCBsYXllcklELCBj
b25zdCBGbG9hdFJlY3QmIHRhcmdldFMKICAgICBtX25leHRSZWN0SGlzdG9yeS0+c2V0KGxheWVy
SUQsIHRhcmdldFNwYWNlUmVjdCk7CiB9CiAKLUZsb2F0UmVjdCBDQ0RhbWFnZVRyYWNrZXI6OmNv
bXB1dGVEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q0NMYXllcklt
cGw+ID4mIGxheWVyTGlzdCwgaW50IHRhcmdldFN1cmZhY2VMYXllcklEKQorRmxvYXRSZWN0IEND
RGFtYWdlVHJhY2tlcjo6dHJhY2tEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKGNvbnN0IFZlY3RvcjxS
ZWZQdHI8Q0NMYXllckltcGw+ID4mIGxheWVyTGlzdCwgaW50IHRhcmdldFN1cmZhY2VMYXllcklE
KQogewogICAgIEZsb2F0UmVjdCBkYW1hZ2VSZWN0ID0gRmxvYXRSZWN0KCk7CiAKQEAgLTE3Nyw3
ICsxNzcsNyBAQCBGbG9hdFJlY3QgQ0NEYW1hZ2VUcmFja2VyOjpjb21wdXRlRGFtYWdlRnJvbUFj
dGl2ZUxheWVycyhjb25zdCBWZWN0b3I8UmVmUHRyPENDTAogICAgIHJldHVybiBkYW1hZ2VSZWN0
OwogfQogCi1GbG9hdFJlY3QgQ0NEYW1hZ2VUcmFja2VyOjpjb21wdXRlRGFtYWdlRnJvbVN1cmZh
Y2VNYXNrKENDTGF5ZXJJbXBsKiB0YXJnZXRTdXJmYWNlTWFza0xheWVyKQorRmxvYXRSZWN0IEND
RGFtYWdlVHJhY2tlcjo6dHJhY2tEYW1hZ2VGcm9tU3VyZmFjZU1hc2soQ0NMYXllckltcGwqIHRh
cmdldFN1cmZhY2VNYXNrTGF5ZXIpCiB7CiAgICAgRmxvYXRSZWN0IGRhbWFnZVJlY3QgPSBGbG9h
dFJlY3QoKTsKIApAQCAtMTkzLDcgKzE5Myw3IEBAIEZsb2F0UmVjdCBDQ0RhbWFnZVRyYWNrZXI6
OmNvbXB1dGVEYW1hZ2VGcm9tU3VyZmFjZU1hc2soQ0NMYXllckltcGwqIHRhcmdldFN1cmZhCiAg
ICAgcmV0dXJuIGRhbWFnZVJlY3Q7CiB9CiAKLUZsb2F0UmVjdCBDQ0RhbWFnZVRyYWNrZXI6OmNv
bXB1dGVEYW1hZ2VGcm9tTGVmdG92ZXJSZWN0cygpCitGbG9hdFJlY3QgQ0NEYW1hZ2VUcmFja2Vy
Ojp0cmFja0RhbWFnZUZyb21MZWZ0b3ZlclJlY3RzKCkKIHsKICAgICAvLyBBZnRlciBjb21wdXRp
bmcgZGFtYWdlIGZvciBhbGwgYWN0aXZlIGxheWVycywgYW55IGxlZnRvdmVyIGl0ZW1zIGluIHRo
ZSBjdXJyZW50CiAgICAgLy8gcmVjdCBoaXN0b3J5IGNvcnJlc3BvbmQgdG8gbGF5ZXJzL3N1cmZh
Y2VzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0LiBTbywgdGhlc2UgcmVnaW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEYW1hZ2VUcmFj
a2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Rh
bWFnZVRyYWNrZXIuaAppbmRleCBhYzFhMGNhMjBjOGU0YWIyMjE2YzkzMWM2MmRkZmU4ODhjYzY5
OTUzLi5kNDI4ZjI2ZDFhMGMyNWNhMGM0ODFjMDkzZWIzYThmZmJhM2JiODA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RhbWFnZVRy
YWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0RhbWFnZVRyYWNrZXIuaApAQCAtNDQsMjAgKzQ0LDIwIEBAIHB1YmxpYzoKICAgICB+Q0NE
YW1hZ2VUcmFja2VyKCk7CiAKICAgICB2b2lkIGZvcmNlRnVsbERhbWFnZU5leHRVcGRhdGUoKSB7
IG1fZm9yY2VGdWxsRGFtYWdlTmV4dFVwZGF0ZSA9IHRydWU7IH0KLSAgICB2b2lkIHVwZGF0ZURh
bWFnZVJlY3RGb3JOZXh0RnJhbWUoY29uc3QgVmVjdG9yPFJlZlB0cjxDQ0xheWVySW1wbD4gPiYg
bGF5ZXJMaXN0LCBpbnQgdGFyZ2V0U3VyZmFjZUxheWVySUQsIENDTGF5ZXJJbXBsKiB0YXJnZXRT
dXJmYWNlTWFza0xheWVyKTsKKyAgICB2b2lkIHVwZGF0ZURhbWFnZVRyYWNraW5nU3RhdGUoY29u
c3QgVmVjdG9yPFJlZlB0cjxDQ0xheWVySW1wbD4gPiYgbGF5ZXJMaXN0LCBpbnQgdGFyZ2V0U3Vy
ZmFjZUxheWVySUQsIENDTGF5ZXJJbXBsKiB0YXJnZXRTdXJmYWNlTWFza0xheWVyKTsKICAgICBj
b25zdCBGbG9hdFJlY3QmIGN1cnJlbnREYW1hZ2VSZWN0KCkgeyByZXR1cm4gbV9jdXJyZW50RGFt
YWdlUmVjdDsgfQogCiBwcml2YXRlOgogICAgIENDRGFtYWdlVHJhY2tlcigpOwogCi0gICAgRmxv
YXRSZWN0IGNvbXB1dGVEYW1hZ2VGcm9tQWN0aXZlTGF5ZXJzKGNvbnN0IFZlY3RvcjxSZWZQdHI8
Q0NMYXllckltcGw+ID4mIGxheWVyTGlzdCwgaW50IHRhcmdldFN1cmZhY2VMYXllcklEKTsKLSAg
ICBGbG9hdFJlY3QgY29tcHV0ZURhbWFnZUZyb21TdXJmYWNlTWFzayhDQ0xheWVySW1wbCogdGFy
Z2V0U3VyZmFjZU1hc2tMYXllcik7Ci0gICAgRmxvYXRSZWN0IGNvbXB1dGVEYW1hZ2VGcm9tTGVm
dG92ZXJSZWN0cygpOworICAgIEZsb2F0UmVjdCB0cmFja0RhbWFnZUZyb21BY3RpdmVMYXllcnMo
Y29uc3QgVmVjdG9yPFJlZlB0cjxDQ0xheWVySW1wbD4gPiYgbGF5ZXJMaXN0LCBpbnQgdGFyZ2V0
U3VyZmFjZUxheWVySUQpOworICAgIEZsb2F0UmVjdCB0cmFja0RhbWFnZUZyb21TdXJmYWNlTWFz
ayhDQ0xheWVySW1wbCogdGFyZ2V0U3VyZmFjZU1hc2tMYXllcik7CisgICAgRmxvYXRSZWN0IHRy
YWNrRGFtYWdlRnJvbUxlZnRvdmVyUmVjdHMoKTsKIAogICAgIEZsb2F0UmVjdCByZW1vdmVSZWN0
RnJvbUN1cnJlbnRGcmFtZShpbnQgbGF5ZXJJRCk7CiAgICAgdm9pZCBzYXZlUmVjdEZvck5leHRG
cmFtZShpbnQgbGF5ZXJJRCwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRTcGFjZVJlY3QpOwogCi0g
ICAgLy8gVGhlc2UgaGVscGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCBvbmx5IGluIGNvbXB1dGVEYW1h
Z2VGcm9tQWN0aXZlTGF5ZXJzKCkuCisgICAgLy8gVGhlc2UgaGVscGVyIGZ1bmN0aW9ucyBhcmUg
dXNlZCBvbmx5IGluIHRyYWNrRGFtYWdlRnJvbUFjdGl2ZUxheWVycygpLgogICAgIHZvaWQgZXh0
ZW5kRGFtYWdlRm9yTGF5ZXIoQ0NMYXllckltcGwqLCBGbG9hdFJlY3QmIHRhcmdldERhbWFnZVJl
Y3QpOwogICAgIHZvaWQgZXh0ZW5kRGFtYWdlRm9yUmVuZGVyU3VyZmFjZShDQ0xheWVySW1wbCos
IEZsb2F0UmVjdCYgdGFyZ2V0RGFtYWdlUmVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAKaW5kZXggZTkzMGJjMjllODZjMDc3MDJlMDcyNmYzNWYzN2VhYTVhNThh
ZGM4Mi4uMDg4Mzc3Y2RkZDZhNzhhODdhZTQyMWI2MmIzMTNkYTYyNTc4Y2JlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lk
IENDTGF5ZXJUcmVlSG9zdEltcGw6OnRyYWNrRGFtYWdlRm9yQWxsU3VyZmFjZXMoQ0NMYXllcklt
cGwqIHJvb3REcmF3TGF5ZXIsCiAgICAgICAgIENDTGF5ZXJJbXBsKiByZW5kZXJTdXJmYWNlTGF5
ZXIgPSByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0W3N1cmZhY2VJbmRleF0uZ2V0KCk7CiAgICAgICAg
IENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IHJlbmRlclN1cmZhY2VMYXllci0+cmVu
ZGVyU3VyZmFjZSgpOwogICAgICAgICBBU1NFUlQocmVuZGVyU3VyZmFjZSk7Ci0gICAgICAgIHJl
bmRlclN1cmZhY2UtPmRhbWFnZVRyYWNrZXIoKS0+dXBkYXRlRGFtYWdlUmVjdEZvck5leHRGcmFt
ZShyZW5kZXJTdXJmYWNlLT5sYXllckxpc3QoKSwgcmVuZGVyU3VyZmFjZUxheWVyLT5pZCgpLCBy
ZW5kZXJTdXJmYWNlTGF5ZXItPm1hc2tMYXllcigpKTsKKyAgICAgICAgcmVuZGVyU3VyZmFjZS0+
ZGFtYWdlVHJhY2tlcigpLT51cGRhdGVEYW1hZ2VUcmFja2luZ1N0YXRlKHJlbmRlclN1cmZhY2Ut
PmxheWVyTGlzdCgpLCByZW5kZXJTdXJmYWNlTGF5ZXItPmlkKCksIHJlbmRlclN1cmZhY2VMYXll
ci0+bWFza0xheWVyKCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0RhbWFnZVRyYWNrZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NEYW1hZ2VUcmFja2VyVGVzdC5jcHAKaW5kZXggYmZkNzM5MGMxN2Y1ZmQ5
OWU0ZjA5OWM1MmJkYTZjZGU2OGM0ZmJkOC4uOWRmYTQ2ODNiYWYxZWU4NDlkYTdkOWNhOWZhMGVi
NzE4MDE3M2E1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0Rh
bWFnZVRyYWNrZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
RGFtYWdlVHJhY2tlclRlc3QuY3BwCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQgZW11bGF0ZURyYXdp
bmdPbmVGcmFtZShDQ0xheWVySW1wbCogcm9vdCkKICAgICAvLyBJdGVyYXRlIGJhY2stdG8tZnJv
bnQsIHNvIHRoYXQgZGFtYWdlIGNvcnJlY3RseSBwcm9wYWdhdGVzIGZyb20gZGVzY2VuZGFudCBz
dXJmYWNlcyB0byBhbmNlc3RvcnMuCiAgICAgZm9yIChpbnQgaSA9IHJlbmRlclN1cmZhY2VMYXll
ckxpc3Quc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgQ0NSZW5kZXJTdXJmYWNl
KiB0YXJnZXRTdXJmYWNlID0gcmVuZGVyU3VyZmFjZUxheWVyTGlzdFtpXS0+cmVuZGVyU3VyZmFj
ZSgpOwotICAgICAgICB0YXJnZXRTdXJmYWNlLT5kYW1hZ2VUcmFja2VyKCktPnVwZGF0ZURhbWFn
ZVJlY3RGb3JOZXh0RnJhbWUodGFyZ2V0U3VyZmFjZS0+bGF5ZXJMaXN0KCksIHRhcmdldFN1cmZh
Y2UtPm93bmluZ0xheWVySWQoKSwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdFtpXS0+bWFza0xheWVy
KCkpOworICAgICAgICB0YXJnZXRTdXJmYWNlLT5kYW1hZ2VUcmFja2VyKCktPnVwZGF0ZURhbWFn
ZVRyYWNraW5nU3RhdGUodGFyZ2V0U3VyZmFjZS0+bGF5ZXJMaXN0KCksIHRhcmdldFN1cmZhY2Ut
Pm93bmluZ0xheWVySWQoKSwgcmVuZGVyU3VyZmFjZUxheWVyTGlzdFtpXS0+bWFza0xheWVyKCkp
OwogICAgIH0KIAogICAgIHJvb3QtPnJlc2V0QWxsQ2hhbmdlVHJhY2tpbmdGb3JTdWJ0cmVlKCk7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>