<?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>75730</bug_id>
          
          <creation_ts>2012-01-06 12:35:15 -0800</creation_ts>
          <short_desc>Repaint all graphics layers when their renderer offset changes</short_desc>
          <delta_ts>2012-01-11 19:47:09 -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>New Bugs</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="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>531281</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-06 12:35:15 -0800</bug_when>
    <thetext>Repaint all graphics layers when their renderer offset changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531310</commentid>
    <comment_count>1</comment_count>
      <attachid>121478</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-06 13:04:24 -0800</bug_when>
    <thetext>Created attachment 121478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531315</commentid>
    <comment_count>2</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-06 13:08:20 -0800</bug_when>
    <thetext>This bug is intended to fix http://crbug.com/107769.

As the map scrolls left to right, different elements end up going into the compositing layer, changing its bounds and its offset from the renderer.  It looks like the layer in question is the foreground layer, which doesn&apos;t have the same logic as the main graphics layer to invalidate itself when the offset changes.

I&apos;m working on reducing a test case for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531343</commentid>
    <comment_count>3</comment_count>
      <attachid>121478</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-06 13:38:15 -0800</bug_when>
    <thetext>Comment on attachment 121478
Patch

Looks reasonable, but I think we&apos;ll need some tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531347</commentid>
    <comment_count>4</comment_count>
      <attachid>121478</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-01-06 13:43:46 -0800</bug_when>
    <thetext>Comment on attachment 121478
Patch

I think I&apos;d prefer that the responsibility for calling setNeedsDisplay remains with the GraphicsLayer client, and is not pushed down to GraphicsLayer. My justification is that GraphicsLayer doesn&apos;t actually use m_offsetFromRenderer in its painting code at all (but perhaps it should?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531365</commentid>
    <comment_count>5</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-06 13:52:45 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 121478 [details])
&gt; I think I&apos;d prefer that the responsibility for calling setNeedsDisplay remains with the GraphicsLayer client, and is not pushed down to GraphicsLayer. My justification is that GraphicsLayer doesn&apos;t actually use m_offsetFromRenderer in its painting code at all (but perhaps it should?)

I&apos;m happy to change this.  However, I&apos;m curious; is there a use case where a GraphicsLayerClient would not want to call setNeedsDisplay when the offset from the renderer changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531371</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-01-06 13:55:49 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 121478 [details] [details])
&gt; &gt; I think I&apos;d prefer that the responsibility for calling setNeedsDisplay remains with the GraphicsLayer client, and is not pushed down to GraphicsLayer. My justification is that GraphicsLayer doesn&apos;t actually use m_offsetFromRenderer in its painting code at all (but perhaps it should?)
&gt; 
&gt; I&apos;m happy to change this.  However, I&apos;m curious; is there a use case where a GraphicsLayerClient would not want to call setNeedsDisplay when the offset from the renderer changed?

No, I think that&apos;s a sensible thing to do (at least for layers where drawsContent() == true).

The first thing that RenderLayerBacking::paintContents() does is 

        LayoutSize offset = graphicsLayer-&gt;offsetFromRenderer();
        context.translate(-offset);

so that could move into the caller, in which case it makes sense for GraphicsLayer to invalidate when offsetFromRenderer changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534453</commentid>
    <comment_count>7</comment_count>
      <attachid>122143</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-11 17:35:48 -0800</bug_when>
    <thetext>Created attachment 122143
Test case, move offset handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534458</commentid>
    <comment_count>8</comment_count>
      <attachid>122143</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-01-11 17:40:54 -0800</bug_when>
    <thetext>Comment on attachment 122143
Test case, move offset handling

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534479</commentid>
    <comment_count>9</comment_count>
      <attachid>122143</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-01-11 18:24:47 -0800</bug_when>
    <thetext>Comment on attachment 122143
Test case, move offset handling

Attachment 122143 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11118219</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534494</commentid>
    <comment_count>10</comment_count>
      <attachid>122150</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-11 18:44:27 -0800</bug_when>
    <thetext>Created attachment 122150
Add include for EFL, no review needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534508</commentid>
    <comment_count>11</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-11 19:10:13 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 122143 [details])
&gt; Nice!

Thanks for the super fast review.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534524</commentid>
    <comment_count>12</comment_count>
      <attachid>122150</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 19:47:04 -0800</bug_when>
    <thetext>Comment on attachment 122150
Add include for EFL, no review needed

Clearing flags on attachment: 122150

Committed r104782: &lt;http://trac.webkit.org/changeset/104782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534525</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 19:47:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121478</attachid>
            <date>2012-01-06 13:04:24 -0800</date>
            <delta_ts>2012-01-11 17:35:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75730-20120106130423.patch</filename>
            <type>text/plain</type>
            <size>3766</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Mjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI1ZTRiYzQ3MGFkZTNl
NWY5ZDk4ZDYzZWY0MzI1NjczMjg2YjYwNy4uZjJmNWJlODUxZDZhMzU2MmEyZDRmZjUwOWIyOWE4
MDk2YTBmN2U0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAxLTA2ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVwYWludCBhbGwgZ3Jh
cGhpY3MgbGF5ZXJzIHdoZW4gdGhlaXIgcmVuZGVyZXIgb2Zmc2V0IGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gUmVuZGVyTGF5ZXJCYWNr
aW5nLCBvbmx5IHRoZSBtYWluIGdyYXBoaWNzIGxheWVyIGdldHMgcmVwYWludGVkCisgICAgICAg
IHdoZW4gdGhlIG9mZnNldCBjaGFuZ2VzLiBJZiB0aGUgb2Zmc2V0IG9uIG90aGVyIGdyYXBoaWNz
IGxheWVycyAoZS5nLgorICAgICAgICB0aGUgZm9yZWdyb3VuZCBsYXllcikgY2hhbmdlcywgdGhl
eSBzaG91bGQgZ2V0IHJlcGFpbnRlZCBhcyB3ZWxsLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
OjpzZXRPZmZzZXRGcm9tUmVuZGVyZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NM
YXllckdlb21ldHJ5KToKKwogMjAxMi0wMS0wNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjEwNDA2MCk6IGZhc3QvZm9ybXMvdGV4dGFy
ZWEtbWV0cmljcy5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXggM2I4ODRmNTQ2MmUyYjAxMDIzMTI0
MWEzOTMwZGE5ZjBmMzRhNzI2NC4uMzdlYWQ0N2ZiMThlZjI3M2Y4MzlhZGUxYjZjODdjMjU3MzUw
YmQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllci5jcHAKQEAgLTI2MSw2ICsyNjEsMTcgQEAgdm9pZCBHcmFwaGljc0xheWVyOjpzZXRS
ZXBsaWNhdGVkQnlMYXllcihHcmFwaGljc0xheWVyKiBsYXllcikKICAgICBtX3JlcGxpY2FMYXll
ciA9IGxheWVyOwogfQogCit2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJl
cihjb25zdCBJbnRTaXplJiBvZmZzZXQpCit7CisgICAgaWYgKG9mZnNldCA9PSBtX29mZnNldEZy
b21SZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9vZmZzZXRGcm9tUmVuZGVyZXIg
PSBvZmZzZXQ7CisKKyAgICAvLyBJZiB0aGUgY29tcG9zaXRpbmcgbGF5ZXIgb2Zmc2V0IGNoYW5n
ZXMsIHdlIG5lZWQgdG8gcmVwYWludC4KKyAgICBzZXROZWVkc0Rpc3BsYXkoKTsKK30KKwogdm9p
ZCBHcmFwaGljc0xheWVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQog
ewogICAgIG1fYmFja2dyb3VuZENvbG9yID0gY29sb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggMGI2MGJlMTA4ZGE1NWZhNzEw
N2JjNGIwMzRiNjI5YmY4ZGQ3MDExMC4uYzFlOWY3MjI1ZjA0ZGNiNzg4MThlN2RhNmYwZTU2M2Qz
YTc3NmQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaApAQCAtMjU4LDcgKzI1OCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE9mZnNldCBp
cyBvcmlnaW4gb2YgdGhlIHJlbmRlcmVyIG1pbnVzIG9yaWdpbiBvZiB0aGUgZ3JhcGhpY3MgbGF5
ZXIgKHNvIGVpdGhlciB6ZXJvIG9yIG5lZ2F0aXZlKS4KICAgICBJbnRTaXplIG9mZnNldEZyb21S
ZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0RnJvbVJlbmRlcmVyOyB9Ci0gICAgdm9p
ZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIoY29uc3QgSW50U2l6ZSYgb2Zmc2V0KSB7IG1fb2Zmc2V0
RnJvbVJlbmRlcmVyID0gb2Zmc2V0OyB9CisgICAgdm9pZCBzZXRPZmZzZXRGcm9tUmVuZGVyZXIo
Y29uc3QgSW50U2l6ZSYpOwogCiAgICAgLy8gVGhlIHBvc2l0aW9uIG9mIHRoZSBsYXllciAodGhl
IGxvY2F0aW9uIG9mIGl0cyB0b3AtbGVmdCBjb3JuZXIgaW4gaXRzIHBhcmVudCkKICAgICBjb25z
dCBGbG9hdFBvaW50JiBwb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb247IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXgg
OTE3ZDI4NjllMTM4MGM3MWYwOTJmNDhmZTA0MWI5NTM4MDAwNTg5OS4uZjE0ZjVlNzE4OWY5ZTZk
MDdjNzEyNmRmYjcxZmNkN2I1OWFmNGUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTQ1MCwxMyArNDUwLDggQEAgdm9pZCBSZW5k
ZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAKICAgICBtX2dy
YXBoaWNzTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoKSArIChyZWxhdGl2ZUNvbXBvc2l0
aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24pKTsKICAg
ICAKLSAgICBMYXlvdXRTaXplIG9sZE9mZnNldEZyb21SZW5kZXJlciA9IG1fZ3JhcGhpY3NMYXll
ci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCk7CiAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRPZmZzZXRG
cm9tUmVuZGVyZXIobG9jYWxDb21wb3NpdGluZ0JvdW5kcy5sb2NhdGlvbigpIC0gTGF5b3V0UG9p
bnQoKSk7CiAgICAgCi0gICAgLy8gSWYgdGhlIGNvbXBvc2l0aW5nIGxheWVyIG9mZnNldCBjaGFu
Z2VzLCB3ZSBuZWVkIHRvIHJlcGFpbnQuCi0gICAgaWYgKG9sZE9mZnNldEZyb21SZW5kZXJlciAh
PSBtX2dyYXBoaWNzTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKQotICAgICAgICBtX2dyYXBo
aWNzTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwotICAgIAogICAgIEZsb2F0U2l6ZSBvbGRTaXpl
ID0gbV9ncmFwaGljc0xheWVyLT5zaXplKCk7CiAgICAgRmxvYXRTaXplIG5ld1NpemUgPSByZWxh
dGl2ZUNvbXBvc2l0aW5nQm91bmRzLnNpemUoKTsKICAgICBpZiAob2xkU2l6ZSAhPSBuZXdTaXpl
KSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122143</attachid>
            <date>2012-01-11 17:35:48 -0800</date>
            <delta_ts>2012-01-11 18:44:23 -0800</delta_ts>
            <desc>Test case, move offset handling</desc>
            <filename>bug-75730-20120111173546.patch</filename>
            <type>text/plain</type>
            <size>9548</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA3NWU0OGY4MmY5Mzgx
NTExMTY2YTQ1N2E5MjY3YmRkYzc0YzVlNy4uOTRjY2QxNGI1YzM2ZDFjYjA3MzdiODUxODUzZjI4
YTFmMGY2OWIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAxLTExICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVwYWludCBhbGwgZ3Jh
cGhpY3MgbGF5ZXJzIHdoZW4gdGhlaXIgcmVuZGVyZXIgb2Zmc2V0IGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gUmVuZGVyTGF5ZXJCYWNr
aW5nLCBvbmx5IHRoZSBtYWluIGdyYXBoaWNzIGxheWVyIGdldHMgcmVwYWludGVkCisgICAgICAg
IHdoZW4gdGhlIG9mZnNldCBjaGFuZ2VzLiBJZiB0aGUgb2Zmc2V0IG9uIG90aGVyIGdyYXBoaWNz
IGxheWVycyAoZS5nLgorICAgICAgICB0aGUgZm9yZWdyb3VuZCBsYXllcikgY2hhbmdlcywgdGhl
eSBzaG91bGQgZ2V0IHJlcGFpbnRlZCBhcyB3ZWxsLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0
aW5nL2dlb21ldHJ5L2ZvcmVncm91bmQtb2Zmc2V0LWNoYW5nZS5odG1sCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyOjpwYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKToKKwogMjAxMi0wMS0xMSAgSm9zaHVhIEJlbGwg
IDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogTWV0aG9kcyBzaG91
bGQgdGhyb3cgVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIHdoZW4gdHJhbnNhY3Rpb24gaXMgY29t
cGxldGVkL2Fib3J0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NMYXllci5jcHAKaW5kZXggM2I4ODRmNTQ2MmUyYjAxMDIzMTI0MWEzOTMwZGE5ZjBm
MzRhNzI2NC4uMjA3MDA2NDFjMDlmMGJhZTAwM2QzY2VlYWM1OWIwZGIyN2ViOWI1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAKICNpbmNsdWRl
ICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAi
Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTI2MSw2ICsyNjIsMTcgQEAgdm9pZCBHcmFw
aGljc0xheWVyOjpzZXRSZXBsaWNhdGVkQnlMYXllcihHcmFwaGljc0xheWVyKiBsYXllcikKICAg
ICBtX3JlcGxpY2FMYXllciA9IGxheWVyOwogfQogCit2b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9m
ZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJiBvZmZzZXQpCit7CisgICAgaWYgKG9mZnNl
dCA9PSBtX29mZnNldEZyb21SZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9vZmZz
ZXRGcm9tUmVuZGVyZXIgPSBvZmZzZXQ7CisKKyAgICAvLyBJZiB0aGUgY29tcG9zaXRpbmcgbGF5
ZXIgb2Zmc2V0IGNoYW5nZXMsIHdlIG5lZWQgdG8gcmVwYWludC4KKyAgICBzZXROZWVkc0Rpc3Bs
YXkoKTsKK30KKwogdm9pZCBHcmFwaGljc0xheWVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3Qg
Q29sb3ImIGNvbG9yKQogewogICAgIG1fYmFja2dyb3VuZENvbG9yID0gY29sb3I7CkBAIC0yNzgs
OCArMjkwLDE1IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6cGFpbnRHcmFwaGljc0xheWVyQ29udGVu
dHMoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBJCiAjaWZuZGVmIE5ERUJVRwogICAg
IHNfaW5QYWludENvbnRlbnRzID0gdHJ1ZTsKICNlbmRpZgotICAgIGlmIChtX2NsaWVudCkKLSAg
ICAgICAgbV9jbGllbnQtPnBhaW50Q29udGVudHModGhpcywgY29udGV4dCwgbV9wYWludGluZ1Bo
YXNlLCBjbGlwKTsKKyAgICBpZiAobV9jbGllbnQpIHsKKyAgICAgICAgTGF5b3V0U2l6ZSBvZmZz
ZXQgPSBvZmZzZXRGcm9tUmVuZGVyZXIoKTsKKyAgICAgICAgY29udGV4dC50cmFuc2xhdGUoLW9m
ZnNldCk7CisKKyAgICAgICAgTGF5b3V0UmVjdCBjbGlwUmVjdChjbGlwKTsKKyAgICAgICAgY2xp
cFJlY3QubW92ZShvZmZzZXQpOworCisgICAgICAgIG1fY2xpZW50LT5wYWludENvbnRlbnRzKHRo
aXMsIGNvbnRleHQsIG1fcGFpbnRpbmdQaGFzZSwgY2xpcFJlY3QpOworICAgIH0KICNpZm5kZWYg
TkRFQlVHCiAgICAgc19pblBhaW50Q29udGVudHMgPSBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IGFiOWE0
YzRiZTg1M2NiNjY4MmMxYzhhZTRiMTk0YjdiZjM2YWIwYzEuLjE0NzUwYzZmZWI5ZWRkODNiMTMy
ODlhYjQzNjA4YmZlMzM4NWYzOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTI1OCw3ICsyNTgsNyBAQCBwdWJsaWM6CiAKICAg
ICAvLyBPZmZzZXQgaXMgb3JpZ2luIG9mIHRoZSByZW5kZXJlciBtaW51cyBvcmlnaW4gb2YgdGhl
IGdyYXBoaWNzIGxheWVyIChzbyBlaXRoZXIgemVybyBvciBuZWdhdGl2ZSkuCiAgICAgSW50U2l6
ZSBvZmZzZXRGcm9tUmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX29mZnNldEZyb21SZW5kZXJl
cjsgfQotICAgIHZvaWQgc2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmIG9mZnNl
dCkgeyBtX29mZnNldEZyb21SZW5kZXJlciA9IG9mZnNldDsgfQorICAgIHZvaWQgc2V0T2Zmc2V0
RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmKTsKIAogICAgIC8vIFRoZSBwb3NpdGlvbiBvZiB0
aGUgbGF5ZXIgKHRoZSBsb2NhdGlvbiBvZiBpdHMgdG9wLWxlZnQgY29ybmVyIGluIGl0cyBwYXJl
bnQpCiAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bv
c2l0aW9uOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCmluZGV4IDZjZGEwMzYzZDI2YjU3MTk5NzFmNGZiNDNjNjZjNzViY2E5ZDhhYzIuLmFm
NTI0MWJkNDZiOGRhNjZhMDRhMjJkOGVmZDUxNTEzNDViZThmMTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC00NTMsMTQgKzQ1Myw4
IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnko
KQogICAgIH0KIAogICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0UG9zaXRpb24oRmxvYXRQb2ludCgp
ICsgKHJlbGF0aXZlQ29tcG9zaXRpbmdCb3VuZHMubG9jYXRpb24oKSAtIGdyYXBoaWNzTGF5ZXJQ
YXJlbnRMb2NhdGlvbikpOwotICAgIAotICAgIExheW91dFNpemUgb2xkT2Zmc2V0RnJvbVJlbmRl
cmVyID0gbV9ncmFwaGljc0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKTsKICAgICBtX2dyYXBo
aWNzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihsb2NhbENvbXBvc2l0aW5nQm91bmRzLmxv
Y2F0aW9uKCkgLSBMYXlvdXRQb2ludCgpKTsKICAgICAKLSAgICAvLyBJZiB0aGUgY29tcG9zaXRp
bmcgbGF5ZXIgb2Zmc2V0IGNoYW5nZXMsIHdlIG5lZWQgdG8gcmVwYWludC4KLSAgICBpZiAob2xk
T2Zmc2V0RnJvbVJlbmRlcmVyICE9IG1fZ3JhcGhpY3NMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVy
KCkpCi0gICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7Ci0gICAgCiAg
ICAgRmxvYXRTaXplIG9sZFNpemUgPSBtX2dyYXBoaWNzTGF5ZXItPnNpemUoKTsKICAgICBGbG9h
dFNpemUgbmV3U2l6ZSA9IHJlbGF0aXZlQ29tcG9zaXRpbmdCb3VuZHMuc2l6ZSgpOwogICAgIGlm
IChvbGRTaXplICE9IG5ld1NpemUpIHsKQEAgLTEyMzQsMTUgKzEyMjgsOSBAQCB2b2lkIFJlbmRl
ckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGlj
c0xheWVyLCBHcmFwaAogICAgIGlmIChncmFwaGljc0xheWVyID09IG1fZ3JhcGhpY3NMYXllci5n
ZXQoKSB8fCBncmFwaGljc0xheWVyID09IG1fZm9yZWdyb3VuZExheWVyLmdldCgpIHx8IGdyYXBo
aWNzTGF5ZXIgPT0gbV9tYXNrTGF5ZXIuZ2V0KCkpIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBh
aW50KG1fb3duaW5nTGF5ZXItPnJlbmRlcmVyKCktPmZyYW1lKCksIGNsaXApOwogCi0gICAgICAg
IExheW91dFNpemUgb2Zmc2V0ID0gZ3JhcGhpY3NMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCk7
Ci0gICAgICAgIGNvbnRleHQudHJhbnNsYXRlKC1vZmZzZXQpOwotCi0gICAgICAgIExheW91dFJl
Y3QgY2xpcFJlY3QoY2xpcCk7Ci0gICAgICAgIGNsaXBSZWN0Lm1vdmUob2Zmc2V0KTsKLQogICAg
ICAgICAvLyBUaGUgZGlydHlSZWN0IGlzIGluIHRoZSBjb29yZHMgb2YgdGhlIHBhaW50aW5nIHJv
b3QuCiAgICAgICAgIExheW91dFJlY3QgZGlydHlSZWN0ID0gY29tcG9zaXRlZEJvdW5kcygpOwot
ICAgICAgICBkaXJ0eVJlY3QuaW50ZXJzZWN0KGNsaXBSZWN0KTsKKyAgICAgICAgZGlydHlSZWN0
LmludGVyc2VjdChjbGlwKTsKIAogICAgICAgICAvLyBXZSBoYXZlIHRvIHVzZSB0aGUgc2FtZSBy
b290IGFzIGZvciBoaXQgdGVzdGluZywgYmVjYXVzZSBib3RoIG1ldGhvZHMgY2FuIGNvbXB1dGUg
YW5kIGNhY2hlIGNsaXBSZWN0cy4KICAgICAgICAgcGFpbnRJbnRvTGF5ZXIobV9vd25pbmdMYXll
ciwgJmNvbnRleHQsIGRpcnR5UmVjdCwgUGFpbnRCZWhhdmlvck5vcm1hbCwgcGFpbnRpbmdQaGFz
ZSwgcmVuZGVyZXIoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2QxYTgxYmEwN2U2MzM4MGE3ZjAyMDZhOWM2ZjljN2Mw
N2MwM2ZjMi4uMDhhM2ZmZWFhYTM4OGI0ODFiODZiMmVlYzlhMTNlN2EyZmE3OTAzMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDEyLTAxLTExICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2ds
ZS5jb20+CisKKyAgICAgICAgUmVwYWludCBhbGwgZ3JhcGhpY3MgbGF5ZXJzIHdoZW4gdGhlaXIg
cmVuZGVyZXIgb2Zmc2V0IGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc1NzMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9mb3JlZ3JvdW5kLW9mZnNldC1j
aGFuZ2UtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRy
eS9mb3JlZ3JvdW5kLW9mZnNldC1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjb21wb3NpdGluZy9nZW9tZXRyeS9mb3JlZ3JvdW5kLW9mZnNldC1jaGFuZ2UuaHRtbDogQWRk
ZWQuCisKIDIwMTItMDEtMTEgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBJbmRleGVkREI6IE1ldGhvZHMgc2hvdWxkIHRocm93IFRSQU5TQUNUSU9OX0lOQUNU
SVZFX0VSUiB3aGVuIHRyYW5zYWN0aW9uIGlzIGNvbXBsZXRlZC9hYm9ydGVkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9mb3JlZ3JvdW5kLW9mZnNldC1jaGFu
Z2UtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZm9yZWdy
b3VuZC1vZmZzZXQtY2hhbmdlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTk0OTcxYzI3Mjc3
NGE0MDczMDVkNWMxMTY2ZWE3OGU5ODlkNTBiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODc5
CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9r
PG19P29UbjAtKwp6JVZaTlgxNHxQaVZRNjRyWU1mK2prISlzZVdeODZgWT81cjV4TmNJfUxJd3R8
aT1IbHlBcio3cC1yVUlCVmojbG0KelNpRWNCZnwzPHkhV25PSmNefihBXmB2JDZgYG1NdTM9QSk3
IXVTfiZld1pfSEdicEhTVXw+a1gmaUo7c2RkSXJnCnpDdUpHLVQtKjE0d1l0TF92a2t7MmojdHs0
R0ItQE8+TSNEdl41VWx3M3F1RXw0bnhDPzE1QmZnKExma1kzOFQ0Uwp6RyM4QktnMygrc25oUXBB
ITllR04rflJYcnI1UENoYiNhUl5JUVMkbUc4fHpVVDh1YUJtbHk9ciktO01mMD05QDUKTkpZREA8
KTtUM0swUlNaUkd3bEVYCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9mb3JlZ3JvdW5kLW9mZnNldC1jaGFuZ2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZm9yZWdyb3VuZC1v
ZmZzZXQtY2hhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5Mjdh
ZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvZ2VvbWV0cnkvZm9yZWdyb3VuZC1vZmZzZXQtY2hhbmdlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21l
dHJ5L2ZvcmVncm91bmQtb2Zmc2V0LWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvZ2VvbWV0cnkvZm9yZWdyb3VuZC1vZmZzZXQtY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJj
MDIzMGM0YjFkYTUwNDI5NjlmNmNiZGQ4ZmE2YjQ2ZmIxZDA5ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZvcmVncm91bmQtb2Zmc2V0LWNoYW5n
ZS5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAj
Y2xpcHBlciB7CisgICAgICB3aWR0aDogNTUwcHg7CisgICAgICBoZWlnaHQ6IDU1MHB4OworICAg
ICAgb3ZlcmZsb3c6aGlkZGVuOworICAgIH0KKworICAgICN0cmlnZ2VyIHsKKyAgICAgIC8qIE9u
bHkgb3ZlcmxhcCB3aXRoIHRoZSBjb250ZW50cyBlbGVtZW50LCBub3QgdGhlIHN0cmV0Y2ggZWxl
bWVudCAqLworICAgICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTsKKyAgICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIHRvcDogMHB4OworICAgICAgbGVmdDogMHB4OworICAg
ICAgd2lkdGg6IDUwMHB4OworICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICB9CisKKyAgICAjY29u
dGFpbmVyIHsKKyAgICAgIC8qIEZvcmNlIGNvbXBvc2l0aW5nIGZvciB0aGlzIGxheWVyIGlmIGFu
eSBjaGlsZHJlbiBnZXQgY29tcG9zaXRlZCAqLworICAgICAgLXdlYmtpdC10cmFuc2Zvcm06dHJh
bnNsYXRlKDBweCwgMXB4KTsKKyAgICB9CisKKyAgICAjbmVnYXRpdmUgeworICAgICAgLyogVHJp
Z2dlciBmb3JlZ3JvdW5kIGxheWVyIGZyb20gY29udGFpbmVyICovCisgICAgICB6LWluZGV4OiAt
MTsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB9CisKKyAgICAjY29udGVudHMgewor
ICAgICAgLyogZm9yZWdyb3VuZCBsYXllciBjb250ZW50cyAqLworICAgICAgd2lkdGg6IDU1MHB4
OworICAgICAgaGVpZ2h0OiA1NTBweDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
ICAgIH0KKworICAgIC8qIE1vdmUgdGhpcyBlbGVtZW50IHRvIHN0cmV0Y2ggY29udGFpbmVyIHRv
IGhhdmUgYSBuZWdhdGl2ZSBvZmZzZXQgKi8KKyAgICAjc3RyZXRjaCB7CisgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgdG9wOiAy
MDBweDsKKyAgICAgIGxlZnQ6IC0yMDBweDsKKyAgICAgIHdpZHRoOiA1MHB4OworICAgICAgaGVp
Z2h0OiA1MHB4OworICAgIH0KKworICA8L3N0eWxlPgorICA8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KHRydWUpOworCisgICAgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICB7CisgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kaXNwbGF5KCk7CisKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdHJldGNoIiku
c3R5bGUubGVmdCA9ICItMTAwcHgiOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgIDxkaXYgaWQ9InRyaWdnZXIiPjwvZGl2PgorICA8ZGl2IGlkPSJjbGlwcGVyIj4KKyAgICA8
ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgPGltZyBpZD0iY29udGVudHMiPgorICAgICAgPGRp
diBpZD0ic3RyZXRjaCI+PC9kaXY+CisgICAgICA8ZGl2IGlkPSJuZWdhdGl2ZSI+PC9kaXY+Cisg
ICAgPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122150</attachid>
            <date>2012-01-11 18:44:27 -0800</date>
            <delta_ts>2012-01-11 19:47:04 -0800</delta_ts>
            <desc>Add include for EFL, no review needed</desc>
            <filename>bug-75730-20120111184426.patch</filename>
            <type>text/plain</type>
            <size>9570</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA3NWU0OGY4MmY5Mzgx
NTExMTY2YTQ1N2E5MjY3YmRkYzc0YzVlNy4uNzNiOTdlMDM5YzI1MTcyOWM0YjRhN2ExNTA2OTUw
ODdjZDdjMzU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAxLTExICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVwYWludCBhbGwgZ3Jh
cGhpY3MgbGF5ZXJzIHdoZW4gdGhlaXIgcmVuZGVyZXIgb2Zmc2V0IGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEluIFJlbmRlckxheWVyQmFja2lu
Zywgb25seSB0aGUgbWFpbiBncmFwaGljcyBsYXllciBnZXRzIHJlcGFpbnRlZAorICAgICAgICB3
aGVuIHRoZSBvZmZzZXQgY2hhbmdlcy4gSWYgdGhlIG9mZnNldCBvbiBvdGhlciBncmFwaGljcyBs
YXllcnMgKGUuZy4KKyAgICAgICAgdGhlIGZvcmVncm91bmQgbGF5ZXIpIGNoYW5nZXMsIHRoZXkg
c2hvdWxkIGdldCByZXBhaW50ZWQgYXMgd2VsbC4KKworICAgICAgICBUZXN0OiBjb21wb3NpdGlu
Zy9nZW9tZXRyeS9mb3JlZ3JvdW5kLW9mZnNldC1jaGFuZ2UuaHRtbAorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyOjpzZXRPZmZzZXRGcm9tUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllcjo6cGFpbnRHcmFwaGljc0xheWVyQ29udGVudHMpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQmFja2luZzo6cGFpbnRDb250ZW50cyk6CisKIDIwMTItMDEtMTEgIEpvc2h1YSBCZWxsICA8
anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IE1ldGhvZHMgc2hvdWxk
IHRocm93IFRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiB3aGVuIHRyYW5zYWN0aW9uIGlzIGNvbXBs
ZXRlZC9hYm9ydGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXIuY3BwCmluZGV4IDNiODg0ZjU0NjJlMmIwMTAyMzEyNDFhMzkzMGRhOWYwZjM0
YTcyNjQuLjZiZWNjNTQ2MzA3ZGQwNzg5MjhlY2RlNTRjMjA5ZDg3MmJmNzk2ZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBA
IC0zMCw2ICszMCw4IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSAi
RmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUgIkxh
eW91dFR5cGVzLmgiCiAjaW5jbHVkZSAiUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAjaW5j
bHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTI2
MSw2ICsyNjMsMTcgQEAgdm9pZCBHcmFwaGljc0xheWVyOjpzZXRSZXBsaWNhdGVkQnlMYXllcihH
cmFwaGljc0xheWVyKiBsYXllcikKICAgICBtX3JlcGxpY2FMYXllciA9IGxheWVyOwogfQogCit2
b2lkIEdyYXBoaWNzTGF5ZXI6OnNldE9mZnNldEZyb21SZW5kZXJlcihjb25zdCBJbnRTaXplJiBv
ZmZzZXQpCit7CisgICAgaWYgKG9mZnNldCA9PSBtX29mZnNldEZyb21SZW5kZXJlcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9vZmZzZXRGcm9tUmVuZGVyZXIgPSBvZmZzZXQ7CisKKyAgICAv
LyBJZiB0aGUgY29tcG9zaXRpbmcgbGF5ZXIgb2Zmc2V0IGNoYW5nZXMsIHdlIG5lZWQgdG8gcmVw
YWludC4KKyAgICBzZXROZWVkc0Rpc3BsYXkoKTsKK30KKwogdm9pZCBHcmFwaGljc0xheWVyOjpz
ZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQogewogICAgIG1fYmFja2dyb3Vu
ZENvbG9yID0gY29sb3I7CkBAIC0yNzgsOCArMjkxLDE1IEBAIHZvaWQgR3JhcGhpY3NMYXllcjo6
cGFpbnRHcmFwaGljc0xheWVyQ29udGVudHMoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25z
dCBJCiAjaWZuZGVmIE5ERUJVRwogICAgIHNfaW5QYWludENvbnRlbnRzID0gdHJ1ZTsKICNlbmRp
ZgotICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnBhaW50Q29udGVudHModGhp
cywgY29udGV4dCwgbV9wYWludGluZ1BoYXNlLCBjbGlwKTsKKyAgICBpZiAobV9jbGllbnQpIHsK
KyAgICAgICAgTGF5b3V0U2l6ZSBvZmZzZXQgPSBvZmZzZXRGcm9tUmVuZGVyZXIoKTsKKyAgICAg
ICAgY29udGV4dC50cmFuc2xhdGUoLW9mZnNldCk7CisKKyAgICAgICAgTGF5b3V0UmVjdCBjbGlw
UmVjdChjbGlwKTsKKyAgICAgICAgY2xpcFJlY3QubW92ZShvZmZzZXQpOworCisgICAgICAgIG1f
Y2xpZW50LT5wYWludENvbnRlbnRzKHRoaXMsIGNvbnRleHQsIG1fcGFpbnRpbmdQaGFzZSwgY2xp
cFJlY3QpOworICAgIH0KICNpZm5kZWYgTkRFQlVHCiAgICAgc19pblBhaW50Q29udGVudHMgPSBm
YWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oCmluZGV4IGFiOWE0YzRiZTg1M2NiNjY4MmMxYzhhZTRiMTk0YjdiZjM2YWIw
YzEuLjE0NzUwYzZmZWI5ZWRkODNiMTMyODlhYjQzNjA4YmZlMzM4NWYzOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTI1OCw3
ICsyNTgsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBPZmZzZXQgaXMgb3JpZ2luIG9mIHRoZSByZW5k
ZXJlciBtaW51cyBvcmlnaW4gb2YgdGhlIGdyYXBoaWNzIGxheWVyIChzbyBlaXRoZXIgemVybyBv
ciBuZWdhdGl2ZSkuCiAgICAgSW50U2l6ZSBvZmZzZXRGcm9tUmVuZGVyZXIoKSBjb25zdCB7IHJl
dHVybiBtX29mZnNldEZyb21SZW5kZXJlcjsgfQotICAgIHZvaWQgc2V0T2Zmc2V0RnJvbVJlbmRl
cmVyKGNvbnN0IEludFNpemUmIG9mZnNldCkgeyBtX29mZnNldEZyb21SZW5kZXJlciA9IG9mZnNl
dDsgfQorICAgIHZvaWQgc2V0T2Zmc2V0RnJvbVJlbmRlcmVyKGNvbnN0IEludFNpemUmKTsKIAog
ICAgIC8vIFRoZSBwb3NpdGlvbiBvZiB0aGUgbGF5ZXIgKHRoZSBsb2NhdGlvbiBvZiBpdHMgdG9w
LWxlZnQgY29ybmVyIGluIGl0cyBwYXJlbnQpCiAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9zaXRp
b24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDZjZGEwMzYzZDI2YjU3MTk5NzFm
NGZiNDNjNjZjNzViY2E5ZDhhYzIuLmFmNTI0MWJkNDZiOGRhNjZhMDRhMjJkOGVmZDUxNTEzNDVi
ZThmMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCkBAIC00NTMsMTQgKzQ1Myw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgIH0KIAogICAgIG1fZ3JhcGhpY3NMYXllci0+
c2V0UG9zaXRpb24oRmxvYXRQb2ludCgpICsgKHJlbGF0aXZlQ29tcG9zaXRpbmdCb3VuZHMubG9j
YXRpb24oKSAtIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlvbikpOwotICAgIAotICAgIExheW91
dFNpemUgb2xkT2Zmc2V0RnJvbVJlbmRlcmVyID0gbV9ncmFwaGljc0xheWVyLT5vZmZzZXRGcm9t
UmVuZGVyZXIoKTsKICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihs
b2NhbENvbXBvc2l0aW5nQm91bmRzLmxvY2F0aW9uKCkgLSBMYXlvdXRQb2ludCgpKTsKICAgICAK
LSAgICAvLyBJZiB0aGUgY29tcG9zaXRpbmcgbGF5ZXIgb2Zmc2V0IGNoYW5nZXMsIHdlIG5lZWQg
dG8gcmVwYWludC4KLSAgICBpZiAob2xkT2Zmc2V0RnJvbVJlbmRlcmVyICE9IG1fZ3JhcGhpY3NM
YXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkpCi0gICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0
TmVlZHNEaXNwbGF5KCk7Ci0gICAgCiAgICAgRmxvYXRTaXplIG9sZFNpemUgPSBtX2dyYXBoaWNz
TGF5ZXItPnNpemUoKTsKICAgICBGbG9hdFNpemUgbmV3U2l6ZSA9IHJlbGF0aXZlQ29tcG9zaXRp
bmdCb3VuZHMuc2l6ZSgpOwogICAgIGlmIChvbGRTaXplICE9IG5ld1NpemUpIHsKQEAgLTEyMzQs
MTUgKzEyMjgsOSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyhjb25z
dCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwaAogICAgIGlmIChncmFwaGljc0xh
eWVyID09IG1fZ3JhcGhpY3NMYXllci5nZXQoKSB8fCBncmFwaGljc0xheWVyID09IG1fZm9yZWdy
b3VuZExheWVyLmdldCgpIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9tYXNrTGF5ZXIuZ2V0KCkpIHsK
ICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KG1fb3duaW5nTGF5ZXItPnJlbmRlcmVyKCktPmZy
YW1lKCksIGNsaXApOwogCi0gICAgICAgIExheW91dFNpemUgb2Zmc2V0ID0gZ3JhcGhpY3NMYXll
ci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCk7Ci0gICAgICAgIGNvbnRleHQudHJhbnNsYXRlKC1vZmZz
ZXQpOwotCi0gICAgICAgIExheW91dFJlY3QgY2xpcFJlY3QoY2xpcCk7Ci0gICAgICAgIGNsaXBS
ZWN0Lm1vdmUob2Zmc2V0KTsKLQogICAgICAgICAvLyBUaGUgZGlydHlSZWN0IGlzIGluIHRoZSBj
b29yZHMgb2YgdGhlIHBhaW50aW5nIHJvb3QuCiAgICAgICAgIExheW91dFJlY3QgZGlydHlSZWN0
ID0gY29tcG9zaXRlZEJvdW5kcygpOwotICAgICAgICBkaXJ0eVJlY3QuaW50ZXJzZWN0KGNsaXBS
ZWN0KTsKKyAgICAgICAgZGlydHlSZWN0LmludGVyc2VjdChjbGlwKTsKIAogICAgICAgICAvLyBX
ZSBoYXZlIHRvIHVzZSB0aGUgc2FtZSByb290IGFzIGZvciBoaXQgdGVzdGluZywgYmVjYXVzZSBi
b3RoIG1ldGhvZHMgY2FuIGNvbXB1dGUgYW5kIGNhY2hlIGNsaXBSZWN0cy4KICAgICAgICAgcGFp
bnRJbnRvTGF5ZXIobV9vd25pbmdMYXllciwgJmNvbnRleHQsIGRpcnR5UmVjdCwgUGFpbnRCZWhh
dmlvck5vcm1hbCwgcGFpbnRpbmdQaGFzZSwgcmVuZGVyZXIoKSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2QxYTgxYmEw
N2U2MzM4MGE3ZjAyMDZhOWM2ZjljN2MwN2MwM2ZjMi4uZDIwY2M0YTA2YzAyZWRiYTkzMTk2NWVj
ZWJkZWI1NGMyOWY3OGI1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAxLTExICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmVwYWludCBhbGwgZ3Jh
cGhpY3MgbGF5ZXJzIHdoZW4gdGhlaXIgcmVuZGVyZXIgb2Zmc2V0IGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogY29tcG9zaXRpbmcvZ2VvbWV0
cnkvZm9yZWdyb3VuZC1vZmZzZXQtY2hhbmdlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAg
ICogY29tcG9zaXRpbmcvZ2VvbWV0cnkvZm9yZWdyb3VuZC1vZmZzZXQtY2hhbmdlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvZ2VvbWV0cnkvZm9yZWdyb3VuZC1v
ZmZzZXQtY2hhbmdlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTExICBKb3NodWEgQmVsbCAgPGpz
YmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBNZXRob2RzIHNob3VsZCB0
aHJvdyBUUkFOU0FDVElPTl9JTkFDVElWRV9FUlIgd2hlbiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0
ZWQvYWJvcnRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkv
Zm9yZWdyb3VuZC1vZmZzZXQtY2hhbmdlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2dlb21ldHJ5L2ZvcmVncm91bmQtb2Zmc2V0LWNoYW5nZS1leHBlY3RlZC5wbmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGU5NDk3MWMyNzI3NzRhNDA3MzA1ZDVjMTE2NmVhNzhlOTg5ZDUwYgpHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMjg3OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJh
PmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG4wLSsKeiVWWk5YMTR8UGlWUTY0cllNZitqayEp
c2VXXjg2YFk/NXI1eE5jSX1MSXd0fGk9SGx5QXIqN3AtclVJQlZqI2xtCnpTaUVjQmZ8Mzx5IVdu
T0pjXn4oQV5gdiQ2YGBtTXUzPUEpNyF1U34mZXdaX0hHYnBIU1V8PmtYJmlKO3NkZElyZwp6Q3VK
Ry1ULSoxNHdZdExfdmtrezJqI3R7NEdCLUBPPk0jRHZeNVVsdzNxdUV8NG54Qz8xNUJmZyhMZmtZ
MzhUNFMKekcjOEJLZzMoK3NuaFFwQSE5ZUdOK35SWHJyNVBDaGIjYVJeSVFTJG1HOHx6VVQ4dWFC
bWx5PXIpLTtNZjA9OUA1Ck5KWURAPCk7VDNLMFJTWlJHd2xFWAoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZm9yZWdy
b3VuZC1vZmZzZXQtY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2dlb21ldHJ5L2ZvcmVncm91bmQtb2Zmc2V0LWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZvcmVncm91bmQtb2Zmc2V0
LWNoYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9mb3JlZ3JvdW5kLW9mZnNldC1jaGFuZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2ZvcmVncm91bmQtb2Zmc2V0LWNoYW5n
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjMyYzAyMzBjNGIxZGE1MDQyOTY5ZjZjYmRkOGZhNmI0NmZiMWQw
OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9m
b3JlZ3JvdW5kLW9mZnNldC1jaGFuZ2UuaHRtbApAQCAtMCwwICsxLDczIEBACis8aHRtbD4KKzxo
ZWFkPgorICA8c3R5bGU+CisgICAgI2NsaXBwZXIgeworICAgICAgd2lkdGg6IDU1MHB4OworICAg
ICAgaGVpZ2h0OiA1NTBweDsKKyAgICAgIG92ZXJmbG93OmhpZGRlbjsKKyAgICB9CisKKyAgICAj
dHJpZ2dlciB7CisgICAgICAvKiBPbmx5IG92ZXJsYXAgd2l0aCB0aGUgY29udGVudHMgZWxlbWVu
dCwgbm90IHRoZSBzdHJldGNoIGVsZW1lbnQgKi8KKyAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnRy
YW5zbGF0ZVooMCk7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICB0b3A6IDBweDsK
KyAgICAgIGxlZnQ6IDBweDsKKyAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgIGhlaWdodDogMjAw
cHg7CisgICAgfQorCisgICAgI2NvbnRhaW5lciB7CisgICAgICAvKiBGb3JjZSBjb21wb3NpdGlu
ZyBmb3IgdGhpcyBsYXllciBpZiBhbnkgY2hpbGRyZW4gZ2V0IGNvbXBvc2l0ZWQgKi8KKyAgICAg
IC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDFweCk7CisgICAgfQorCisgICAgI25l
Z2F0aXZlIHsKKyAgICAgIC8qIFRyaWdnZXIgZm9yZWdyb3VuZCBsYXllciBmcm9tIGNvbnRhaW5l
ciAqLworICAgICAgei1pbmRleDogLTE7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
fQorCisgICAgI2NvbnRlbnRzIHsKKyAgICAgIC8qIGZvcmVncm91bmQgbGF5ZXIgY29udGVudHMg
Ki8KKyAgICAgIHdpZHRoOiA1NTBweDsKKyAgICAgIGhlaWdodDogNTUwcHg7CisgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9CisKKyAgICAvKiBNb3ZlIHRoaXMgZWxlbWVudCB0
byBzdHJldGNoIGNvbnRhaW5lciB0byBoYXZlIGEgbmVnYXRpdmUgb2Zmc2V0ICovCisgICAgI3N0
cmV0Y2ggeworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgYmFja2dyb3VuZC1jb2xv
cjogYmx1ZTsKKyAgICAgIHRvcDogMjAwcHg7CisgICAgICBsZWZ0OiAtMjAwcHg7CisgICAgICB3
aWR0aDogNTBweDsKKyAgICAgIGhlaWdodDogNTBweDsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAg
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCh0cnVlKTsKKworICAgIGZ1bmN0aW9uIGRvVGVz
dCgpCisgICAgeworICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxheSgpOworCisgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic3RyZXRjaCIpLnN0eWxlLmxlZnQgPSAiLTEwMHB4IjsKKyAgICB9CisKKyAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOworICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICA8ZGl2IGlkPSJ0cmlnZ2VyIj48L2Rpdj4KKyAgPGRp
diBpZD0iY2xpcHBlciI+CisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgIDxpbWcgaWQ9
ImNvbnRlbnRzIj4KKyAgICAgIDxkaXYgaWQ9InN0cmV0Y2giPjwvZGl2PgorICAgICAgPGRpdiBp
ZD0ibmVnYXRpdmUiPjwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>