<?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>128473</bug_id>
          
          <creation_ts>2014-02-08 14:21:09 -0800</creation_ts>
          <short_desc>[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function</short_desc>
          <delta_ts>2014-02-12 12:27:47 -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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>sergio</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978433</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 14:21:09 -0800</bug_when>
    <thetext>[CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978438</commentid>
    <comment_count>1</comment_count>
      <attachid>223586</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 14:27:28 -0800</bug_when>
    <thetext>Created attachment 223586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978525</commentid>
    <comment_count>2</comment_count>
      <attachid>223608</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 22:14:33 -0800</bug_when>
    <thetext>Created attachment 223608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978530</commentid>
    <comment_count>3</comment_count>
      <attachid>223610</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 22:44:49 -0800</bug_when>
    <thetext>Created attachment 223610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978531</commentid>
    <comment_count>4</comment_count>
      <attachid>223611</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 22:52:21 -0800</bug_when>
    <thetext>Created attachment 223611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978532</commentid>
    <comment_count>5</comment_count>
      <attachid>223612</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 22:53:49 -0800</bug_when>
    <thetext>Created attachment 223612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979963</commentid>
    <comment_count>6</comment_count>
      <attachid>223612</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-12 12:27:41 -0800</bug_when>
    <thetext>Comment on attachment 223612
Patch

Clearing flags on attachment: 223612

Committed r163972: &lt;http://trac.webkit.org/changeset/163972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979964</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-12 12:27:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223586</attachid>
            <date>2014-02-08 14:27:28 -0800</date>
            <delta_ts>2014-02-08 22:14:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128473-20140208232727.patch</filename>
            <type>text/plain</type>
            <size>10236</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI2NjU5NWVlOWM2ZmZl
MDkyYmNkMThiNmNmNmU1M2VjMmJjMjkzZS4uM2ZmZTY0NDg4NWE4Y2Q2ZmJhZDM4ZjAzZTkxN2Fk
ZWIxM2FmZDBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAyLTA4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRH
cmFwaGljc10gTW92ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhlIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBj
bGFzcyB0byB1c2luZyBzdGQ6OmZ1bmN0aW9uIGluc3RlYWQgb2YgV1RGOjpGdW5jdGlvbmFsLiBU
aGUgZnVuY3Rpb24KKyAgICAgICAgd3JhcHBlciBpcyBub3cgbW92ZWQgdGhyb3VnaCBmdW5jdGlv
biBjYWxscyBhbmQgbm90IHBhc3NlZCBieSByZWZlcmVuY2UuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlzcGF0Y2hP
bk1haW5UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpzeW5jUmVtb3RlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OmFwcGVuZFVwZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oOgorCiAyMDE0LTAyLTA4
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgVGV4dEl0
ZXJhdG9yIHRvIHVzZSBTdHJpbmdWaWV3LCBwcmVwYXJpbmcgdG8gd2VhbiBpdCBmcm9tIGRlcHJl
Y2F0ZWRDaGFyYWN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTM5OGIyMWI0ZDRlMGFjZTIzNDViMGI0MGI2
NDUwOTcyZWFjYTJhMC4uMGRiYzVjYWJmZDIxYThiNzc2YThiZDdjZWE5NTJmMjQ3YjE4ODQxNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAyLTA4ICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gTW92
ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1vdmUgdGhlIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IGNsYXNzIHRv
IHVzaW5nIHN0ZDo6ZnVuY3Rpb24gaW5zdGVhZCBvZiBXVEY6OkZ1bmN0aW9uYWwuIEMrKzExCisg
ICAgICAgIGxhbWJkYXMgYXJlIHVzZWQgdG8gY29uc3RydWN0IHRoZSB1cGRhdGUgZnVuY3Rpb25z
LCB3aXRoIHRoZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgcmVmY291bnQtcHJvdGVjdGVkCisg
ICAgICAgIHRocm91Z2hvdXQgdGhlIGxpZmV0aW1lIG9mIHRoZSBmdW5jdGlvbiB3cmFwcGVyLgor
CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6ZGlzcGF0Y2hVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKToKKyAg
ICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldFZpc2libGVD
b250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eTo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorCiAyMDE0LTAyLTA4
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgVGV4dEl0
ZXJhdG9yIHRvIHVzZSBTdHJpbmdWaWV3LCBwcmVwYXJpbmcgdG8gd2VhbiBpdCBmcm9tIGRlcHJl
Y2F0ZWRDaGFyYWN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuY3BwCmluZGV4IDM3Y2M1ZDRkN2Q1YmExNWE1NGJkNzM3YzM2NGRh
NmQwZDE5OWY1NWEuLmQ2ZjY0YmY1NTU0YTViNWY4ODNhZmI1ZDBhOTA2ZTg0Njc3NTYwYzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUuY3BwCkBAIC0zNCwxMiArMzQsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlzcGF0Y2hPbk1haW5UaHJlYWQoY29uc3QgRnVu
Y3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
ZGlzcGF0Y2hPbk1haW5UaHJlYWQoc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQogewog
ICAgIGlmIChpc01haW5UaHJlYWQoKSkKICAgICAgICAgZnVuY3Rpb24oKTsKICAgICBlbHNlCi0g
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoZnVuY3Rpb24pOworICAgICAgICBjYWxsT25NYWluVGhy
ZWFkKHN0ZDo6bW92ZShmdW5jdGlvbikpOwogfQogCiBzdGF0aWMgYm9vbCBsYXllclNob3VsZEhh
dmVCYWNraW5nU3RvcmUoVGV4dHVyZU1hcHBlckxheWVyKiBsYXllcikKQEAgLTYwNywxNiArNjA3
LDE2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzeW5jUmVtb3RlQ29udGVudCgp
CiAgICAgLy8gV2UgZW5xdWV1ZSBtZXNzYWdlcyBhbmQgZXhlY3V0ZSB0aGVtIGR1cmluZyBwYWlu
dCwgYXMgdGhleSByZXF1aXJlIGFuIGFjdGl2ZSBHTCBjb250ZXh0LgogICAgIGVuc3VyZVJvb3RM
YXllcigpOwogCi0gICAgVmVjdG9yPEZ1bmN0aW9uPHZvaWQoKT4gPiByZW5kZXJRdWV1ZTsKKyAg
ICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2b2lkKCk+PiByZW5kZXJRdWV1ZTsKICAgICBib29sIGNh
bGxlZE9uTWFpblRocmVhZCA9IFdURjo6aXNNYWluVGhyZWFkKCk7CiAgICAgaWYgKCFjYWxsZWRP
bk1haW5UaHJlYWQpCiAgICAgICAgIG1fcmVuZGVyUXVldWVNdXRleC5sb2NrKCk7Ci0gICAgcmVu
ZGVyUXVldWUuc3dhcChtX3JlbmRlclF1ZXVlKTsKKyAgICByZW5kZXJRdWV1ZSA9IHN0ZDo6bW92
ZShtX3JlbmRlclF1ZXVlKTsKICAgICBpZiAoIWNhbGxlZE9uTWFpblRocmVhZCkKICAgICAgICAg
bV9yZW5kZXJRdWV1ZU11dGV4LnVubG9jaygpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCByZW5kZXJRdWV1ZS5zaXplKCk7ICsraSkKLSAgICAgICAgcmVuZGVyUXVldWVbaV0oKTsKKyAg
ICBmb3IgKGF1dG8mIGZ1bmN0aW9uIDogcmVuZGVyUXVldWUpCisgICAgICAgIGZ1bmN0aW9uKCk7
CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUdMUmVzb3VyY2VzKCkK
QEAgLTY3MSwxNCArNjcxLDE0IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkZXRh
Y2goKQogICAgIG1fY2xpZW50ID0gMDsKIH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OmFwcGVuZFVwZGF0ZShjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbikKK3ZvaWQg
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjphcHBlbmRVcGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lk
KCk+IGZ1bmN0aW9uKQogewogICAgIGlmICghbV9pc0FjdGl2ZSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBNdXRleExvY2tlciBsb2NrZXIobV9y
ZW5kZXJRdWV1ZU11dGV4KTsKLSAgICBtX3JlbmRlclF1ZXVlLmFwcGVuZChmdW5jdGlvbik7Cisg
ICAgbV9yZW5kZXJRdWV1ZS5hcHBlbmQoc3RkOjptb3ZlKGZ1bmN0aW9uKSk7CiB9CiAKIHZvaWQg
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBY3RpdmUoYm9vbCBhY3RpdmUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKaW5kZXgg
MDI1ZGQxZmVhOGNmYzI1Y2NmNjE5MzU3YzVhZjQ2YWQ4ZDUzYjQ5Ni4uYjE0N2RlNDViNzNjMjY2
MTdlNmJlNjhkZTM5YmNjNWRmZTY1NDk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaApAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1
ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxh
eWVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgor
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAg
LTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcGFpbnRUb0dyYXBoaWNzQ29udGV4dChQ
bGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwogICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29u
c3QgRmxvYXRQb2ludCYpOwogICAgIHZvaWQgZGV0YWNoKCk7Ci0gICAgdm9pZCBhcHBlbmRVcGRh
dGUoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYpOworICAgIHZvaWQgYXBwZW5kVXBkYXRlKHN0ZDo6
ZnVuY3Rpb248dm9pZCgpPik7CiAKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIGZp
bmRTY3JvbGxhYmxlQ29udGVudHNMYXllckF0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsK
IApAQCAtMTI1LDcgKzEyNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzeW5jUmVtb3RlQ29udGVu
dCgpOwogICAgIHZvaWQgYWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycygpOwogCi0gICAgdm9p
ZCBkaXNwYXRjaE9uTWFpblRocmVhZChjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisgICAgdm9p
ZCBkaXNwYXRjaE9uTWFpblRocmVhZChzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4pOwogICAgIHZvaWQg
dXBkYXRlVmlld3BvcnQoKTsKICAgICB2b2lkIHJlbmRlck5leHRGcmFtZSgpOwogICAgIHZvaWQg
cHVyZ2VCYWNraW5nU3RvcmVzKCk7CkBAIC0xNDYsNyArMTQ2LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRpc3BhdGNoQ29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IElu
dFNpemUmIG9mZnNldCk7CiAKICAgICAvLyBSZW5kZXIgcXVldWUgY2FuIGJlIGFjY2Vzc2VkIG9u
eSBmcm9tIG1haW4gdGhyZWFkIG9yIHVwZGF0ZVBhaW50Tm9kZSBjYWxsIHN0YWNrIQotICAgIFZl
Y3RvcjxGdW5jdGlvbjx2b2lkKCk+ID4gbV9yZW5kZXJRdWV1ZTsKKyAgICBWZWN0b3I8c3RkOjpm
dW5jdGlvbjx2b2lkKCk+PiBtX3JlbmRlclF1ZXVlOwogICAgIE11dGV4IG1fcmVuZGVyUXVldWVN
dXRleDsKIAogICAgIE93blB0cjxUZXh0dXJlTWFwcGVyPiBtX3RleHR1cmVNYXBwZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKaW5k
ZXggMTU1YmEyMjExNDE0OWMxZTY3NmVhZWFkYWU1ZWNlZDQ1YzZhMzI3OC4uM2U1MjQ5OGVkZjcz
YjNhNTMyMmRhMmUzYTljMTAzNDg0ZWU3MWEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2Vycm9y
IHRlc3RpbmcgdGVzdGluZywgMSAyIDMgLi4uCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuaCIKIAogI2luY2x1ZGUgIkNvb3JkaW5hdGVkRHJhd2luZ0FyZWFQcm94eS5o
IgpAQCAtNTIsMTQgKzUzLDE4IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6
OnVwZGF0ZVZpZXdwb3J0KCkKICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnVwZGF0ZVZpZXdwb3J0
KCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRpc3BhdGNoVXBk
YXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQordm9pZCBDb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eTo6ZGlzcGF0Y2hVcGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1
bmN0aW9uKQogewotICAgIG1fc2NlbmUtPmFwcGVuZFVwZGF0ZShmdW5jdGlvbik7CisgICAgbV9z
Y2VuZS0+YXBwZW5kVXBkYXRlKHN0ZDo6bW92ZShmdW5jdGlvbikpOwogfQogCiB2b2lkIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpjb21taXRDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUo
Y29uc3QgQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlJiBncmFwaGljc1N0YXRlKQogewotICAgIGRp
c3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0U2NlbmVT
dGF0ZSwgbV9zY2VuZS5nZXQoKSwgZ3JhcGhpY3NTdGF0ZSkpOworICAgIFJlZlB0cjxDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU+IHNjZW5lUHJvdGVjdG9yKG1fc2NlbmUpOworICAgIGRpc3BhdGNo
VXBkYXRlKFs9XSB7CisgICAgICAgIHNjZW5lUHJvdGVjdG9yLT5jb21taXRTY2VuZVN0YXRlKGdy
YXBoaWNzU3RhdGUpOworICAgIH0pOworCiAgICAgdXBkYXRlVmlld3BvcnQoKTsKICNpZiBVU0Uo
VElMRURfQkFDS0lOR19TVE9SRSkKICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+ZGlk
UmVuZGVyRnJhbWUoZ3JhcGhpY3NTdGF0ZS5jb250ZW50c1NpemUsIGdyYXBoaWNzU3RhdGUuY292
ZXJlZFJlY3QpOwpAQCAtNjksNyArNzQsMTEgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKGNvbnN0IENvb3JkaW4KIHZv
aWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3Qo
Y29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9y
KQogewogICAgIC8vIEluZm9ybSB0aGUgcmVuZGVyZXIgdG8gYWRqdXN0IHZpZXdwb3J0LWZpeGVk
IGxheWVycy4KLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OnNldFNjcm9sbFBvc2l0aW9uLCBtX3NjZW5lLmdldCgpLCByZWN0LmxvY2F0aW9uKCkpKTsK
KyAgICBSZWZQdHI8Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBzY2VuZVByb3RlY3RvcihtX3Nj
ZW5lKTsKKyAgICBjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiA9IHJlY3QubG9jYXRp
b24oKTsKKyAgICBkaXNwYXRjaFVwZGF0ZShbPV0geworICAgICAgICBzY2VuZVByb3RlY3Rvci0+
c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pOworICAgIH0pOwogCiAgICAgaWYgKHJl
Y3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0
U2VudFRyYWplY3RvcnlWZWN0b3IpCiAgICAgICAgIHJldHVybjsKQEAgLTkxLDcgKzEwMCwxMCBA
QCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpwdXJnZUJhY2tpbmdTdG9yZXMo
KQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRCYWNrZ3JvdW5kQ29s
b3IoY29uc3QgQ29sb3ImIGNvbG9yKQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0QmFja2dyb3VuZENvbG9yLCBtX3NjZW5lLmdldCgpLCBj
b2xvcikpOworICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHNjZW5lUHJvdGVj
dG9yKG1fc2NlbmUpOworICAgIGRpc3BhdGNoVXBkYXRlKFs9XSB7CisgICAgICAgIHNjZW5lUHJv
dGVjdG9yLT5zZXRCYWNrZ3JvdW5kQ29sb3IoY29sb3IpOworICAgIH0pOwogfQogCiB2b2lkIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpjb21taXRTY3JvbGxPZmZzZXQodWludDMyX3Qg
bGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKaW5kZXggNWM4Y2MzMjg4Y2E0NzdlYTBlM2U0
N2JiOWNkYjcyNTQyY2M1Y2FiMy4uMWNkNTMxYzNjNzRhNThkZGI1MGNhMDA3YmQ0Mjk5YzIwMzJl
MzRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRHcmFwaGljc0Fy
Z3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rp
b25hbC5oPgorI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZTsKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBjb21taXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zmc2V0KTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZGlz
cGF0Y2hVcGRhdGUoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYpOworICAgIHZvaWQgZGlzcGF0Y2hV
cGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lkKCk+KTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2Vp
dmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223608</attachid>
            <date>2014-02-08 22:14:33 -0800</date>
            <delta_ts>2014-02-08 22:44:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128473-20140209071432.patch</filename>
            <type>text/plain</type>
            <size>10383</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI2NjU5NWVlOWM2ZmZl
MDkyYmNkMThiNmNmNmU1M2VjMmJjMjkzZS4uM2ZmZTY0NDg4NWE4Y2Q2ZmJhZDM4ZjAzZTkxN2Fk
ZWIxM2FmZDBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAyLTA4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRH
cmFwaGljc10gTW92ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhlIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSBj
bGFzcyB0byB1c2luZyBzdGQ6OmZ1bmN0aW9uIGluc3RlYWQgb2YgV1RGOjpGdW5jdGlvbmFsLiBU
aGUgZnVuY3Rpb24KKyAgICAgICAgd3JhcHBlciBpcyBub3cgbW92ZWQgdGhyb3VnaCBmdW5jdGlv
biBjYWxscyBhbmQgbm90IHBhc3NlZCBieSByZWZlcmVuY2UuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlzcGF0Y2hP
bk1haW5UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpzeW5jUmVtb3RlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OmFwcGVuZFVwZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oOgorCiAyMDE0LTAyLTA4
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgVGV4dEl0
ZXJhdG9yIHRvIHVzZSBTdHJpbmdWaWV3LCBwcmVwYXJpbmcgdG8gd2VhbiBpdCBmcm9tIGRlcHJl
Y2F0ZWRDaGFyYWN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTM5OGIyMWI0ZDRlMGFjZTIzNDViMGI0MGI2
NDUwOTcyZWFjYTJhMC4uMGRiYzVjYWJmZDIxYThiNzc2YThiZDdjZWE5NTJmMjQ3YjE4ODQxNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAyLTA4ICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gTW92
ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1vdmUgdGhlIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IGNsYXNzIHRv
IHVzaW5nIHN0ZDo6ZnVuY3Rpb24gaW5zdGVhZCBvZiBXVEY6OkZ1bmN0aW9uYWwuIEMrKzExCisg
ICAgICAgIGxhbWJkYXMgYXJlIHVzZWQgdG8gY29uc3RydWN0IHRoZSB1cGRhdGUgZnVuY3Rpb25z
LCB3aXRoIHRoZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgcmVmY291bnQtcHJvdGVjdGVkCisg
ICAgICAgIHRocm91Z2hvdXQgdGhlIGxpZmV0aW1lIG9mIHRoZSBmdW5jdGlvbiB3cmFwcGVyLgor
CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6ZGlzcGF0Y2hVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKToKKyAg
ICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldFZpc2libGVD
b250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eTo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorCiAyMDE0LTAyLTA4
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2UgVGV4dEl0
ZXJhdG9yIHRvIHVzZSBTdHJpbmdWaWV3LCBwcmVwYXJpbmcgdG8gd2VhbiBpdCBmcm9tIGRlcHJl
Y2F0ZWRDaGFyYWN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuY3BwCmluZGV4IDM3Y2M1ZDRkN2Q1YmExNWE1NGJkNzM3YzM2NGRh
NmQwZDE5OWY1NWEuLmJlYWExNjljM2M3NDZlOWYwOWNhYzk3M2E2MDA3NzE0ZGViMTc1YTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUuY3BwCkBAIC0zMCwxNiArMzAsMTcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyR0wuaCIK
ICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5o
PgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6ZGlzcGF0Y2hPbk1haW5UaHJlYWQoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24p
Cit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlzcGF0Y2hPbk1haW5UaHJlYWQoc3Rk
OjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQogewogICAgIGlmIChpc01haW5UaHJlYWQoKSkK
ICAgICAgICAgZnVuY3Rpb24oKTsKICAgICBlbHNlCi0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
ZnVuY3Rpb24pOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKHN0ZDo6bW92ZShmdW5jdGlvbikp
OwogfQogCiBzdGF0aWMgYm9vbCBsYXllclNob3VsZEhhdmVCYWNraW5nU3RvcmUoVGV4dHVyZU1h
cHBlckxheWVyKiBsYXllcikKQEAgLTYwNywxNiArNjA4LDE2IEBAIHZvaWQgQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjpzeW5jUmVtb3RlQ29udGVudCgpCiAgICAgLy8gV2UgZW5xdWV1ZSBtZXNz
YWdlcyBhbmQgZXhlY3V0ZSB0aGVtIGR1cmluZyBwYWludCwgYXMgdGhleSByZXF1aXJlIGFuIGFj
dGl2ZSBHTCBjb250ZXh0LgogICAgIGVuc3VyZVJvb3RMYXllcigpOwogCi0gICAgVmVjdG9yPEZ1
bmN0aW9uPHZvaWQoKT4gPiByZW5kZXJRdWV1ZTsKKyAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2
b2lkKCk+PiByZW5kZXJRdWV1ZTsKICAgICBib29sIGNhbGxlZE9uTWFpblRocmVhZCA9IFdURjo6
aXNNYWluVGhyZWFkKCk7CiAgICAgaWYgKCFjYWxsZWRPbk1haW5UaHJlYWQpCiAgICAgICAgIG1f
cmVuZGVyUXVldWVNdXRleC5sb2NrKCk7Ci0gICAgcmVuZGVyUXVldWUuc3dhcChtX3JlbmRlclF1
ZXVlKTsKKyAgICByZW5kZXJRdWV1ZSA9IHN0ZDo6bW92ZShtX3JlbmRlclF1ZXVlKTsKICAgICBp
ZiAoIWNhbGxlZE9uTWFpblRocmVhZCkKICAgICAgICAgbV9yZW5kZXJRdWV1ZU11dGV4LnVubG9j
aygpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZW5kZXJRdWV1ZS5zaXplKCk7ICsr
aSkKLSAgICAgICAgcmVuZGVyUXVldWVbaV0oKTsKKyAgICBmb3IgKGF1dG8mIGZ1bmN0aW9uIDog
cmVuZGVyUXVldWUpCisgICAgICAgIGZ1bmN0aW9uKCk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjpwdXJnZUdMUmVzb3VyY2VzKCkKQEAgLTY3MSwxNCArNjcyLDE0IEBAIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkZXRhY2goKQogICAgIG1fY2xpZW50ID0gMDsK
IH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFwcGVuZFVwZGF0ZShjb25zdCBG
dW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbikKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjphcHBlbmRVcGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQogewogICAgIGlm
ICghbV9pc0FjdGl2ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKICAgICBNdXRleExvY2tlciBsb2NrZXIobV9yZW5kZXJRdWV1ZU11dGV4KTsKLSAgICBt
X3JlbmRlclF1ZXVlLmFwcGVuZChmdW5jdGlvbik7CisgICAgbV9yZW5kZXJRdWV1ZS5hcHBlbmQo
c3RkOjptb3ZlKGZ1bmN0aW9uKSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpzZXRBY3RpdmUoYm9vbCBhY3RpdmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKaW5kZXggMDI1ZGQxZmVhOGNmYzI1Y2NmNjE5MzU3
YzVhZjQ2YWQ4ZDUzYjQ5Ni4uYjE0N2RlNDViNzNjMjY2MTdlNmJlNjhkZTM5YmNjNWRmZTY1NDk1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuaApAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxheWVyLmgiCiAjaW5jbHVkZSAiVGltZXIu
aCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgorI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZl
cy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgcGFpbnRUb0dyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCop
OwogICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZv
aWQgZGV0YWNoKCk7Ci0gICAgdm9pZCBhcHBlbmRVcGRhdGUoY29uc3QgRnVuY3Rpb248dm9pZCgp
PiYpOworICAgIHZvaWQgYXBwZW5kVXBkYXRlKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7CiAKICAg
ICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIGZpbmRTY3JvbGxhYmxlQ29udGVudHNMYXll
ckF0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKIApAQCAtMTI1LDcgKzEyNSw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBzeW5jUmVtb3RlQ29udGVudCgpOwogICAgIHZvaWQgYWRqdXN0UG9z
aXRpb25Gb3JGaXhlZExheWVycygpOwogCi0gICAgdm9pZCBkaXNwYXRjaE9uTWFpblRocmVhZChj
b25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisgICAgdm9pZCBkaXNwYXRjaE9uTWFpblRocmVhZChz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4pOwogICAgIHZvaWQgdXBkYXRlVmlld3BvcnQoKTsKICAgICB2
b2lkIHJlbmRlck5leHRGcmFtZSgpOwogICAgIHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7CkBA
IC0xNDYsNyArMTQ2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3BhdGNoQ29tbWl0U2Nyb2xs
T2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IEludFNpemUmIG9mZnNldCk7CiAKICAgICAv
LyBSZW5kZXIgcXVldWUgY2FuIGJlIGFjY2Vzc2VkIG9ueSBmcm9tIG1haW4gdGhyZWFkIG9yIHVw
ZGF0ZVBhaW50Tm9kZSBjYWxsIHN0YWNrIQotICAgIFZlY3RvcjxGdW5jdGlvbjx2b2lkKCk+ID4g
bV9yZW5kZXJRdWV1ZTsKKyAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2b2lkKCk+PiBtX3JlbmRl
clF1ZXVlOwogICAgIE11dGV4IG1fcmVuZGVyUXVldWVNdXRleDsKIAogICAgIE93blB0cjxUZXh0
dXJlTWFwcGVyPiBtX3RleHR1cmVNYXBwZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKaW5kZXggMTU1YmEyMjExNDE0OWMxZTY3NmVh
ZWFkYWU1ZWNlZDQ1YzZhMzI3OC4uM2U1MjQ5OGVkZjczYjNhNTMyMmRhMmUzYTljMTAzNDg0ZWU3
MWEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5LmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2Vycm9yIHRlc3RpbmcgdGVzdGluZywgMSAyIDMg
Li4uCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCIKIAogI2luY2x1
ZGUgIkNvb3JkaW5hdGVkRHJhd2luZ0FyZWFQcm94eS5oIgpAQCAtNTIsMTQgKzUzLDE4IEBAIHZv
aWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnVwZGF0ZVZpZXdwb3J0KCkKICAgICBt
X2RyYXdpbmdBcmVhUHJveHktPnVwZGF0ZVZpZXdwb3J0KCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHk6OmRpc3BhdGNoVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQo
KT4mIGZ1bmN0aW9uKQordm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlzcGF0
Y2hVcGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQogewotICAgIG1fc2NlbmUt
PmFwcGVuZFVwZGF0ZShmdW5jdGlvbik7CisgICAgbV9zY2VuZS0+YXBwZW5kVXBkYXRlKHN0ZDo6
bW92ZShmdW5jdGlvbikpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
Ojpjb21taXRDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUoY29uc3QgQ29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlJiBncmFwaGljc1N0YXRlKQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0U2NlbmVTdGF0ZSwgbV9zY2VuZS5nZXQoKSwgZ3Jh
cGhpY3NTdGF0ZSkpOworICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHNjZW5l
UHJvdGVjdG9yKG1fc2NlbmUpOworICAgIGRpc3BhdGNoVXBkYXRlKFs9XSB7CisgICAgICAgIHNj
ZW5lUHJvdGVjdG9yLT5jb21taXRTY2VuZVN0YXRlKGdyYXBoaWNzU3RhdGUpOworICAgIH0pOwor
CiAgICAgdXBkYXRlVmlld3BvcnQoKTsKICNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAg
ICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+ZGlkUmVuZGVyRnJhbWUoZ3JhcGhpY3NTdGF0
ZS5jb250ZW50c1NpemUsIGdyYXBoaWNzU3RhdGUuY292ZXJlZFJlY3QpOwpAQCAtNjksNyArNzQs
MTEgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0
ZWRHcmFwaGljc1N0YXRlKGNvbnN0IENvb3JkaW4KIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBj
b25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQogewogICAgIC8vIEluZm9ybSB0aGUg
cmVuZGVyZXIgdG8gYWRqdXN0IHZpZXdwb3J0LWZpeGVkIGxheWVycy4KLSAgICBkaXNwYXRjaFVw
ZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldFNjcm9sbFBvc2l0aW9uLCBt
X3NjZW5lLmdldCgpLCByZWN0LmxvY2F0aW9uKCkpKTsKKyAgICBSZWZQdHI8Q29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lPiBzY2VuZVByb3RlY3RvcihtX3NjZW5lKTsKKyAgICBjb25zdCBGbG9hdFBv
aW50JiBzY3JvbGxQb3NpdGlvbiA9IHJlY3QubG9jYXRpb24oKTsKKyAgICBkaXNwYXRjaFVwZGF0
ZShbPV0geworICAgICAgICBzY2VuZVByb3RlY3Rvci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xs
UG9zaXRpb24pOworICAgIH0pOwogCiAgICAgaWYgKHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVS
ZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IpCiAg
ICAgICAgIHJldHVybjsKQEAgLTkxLDcgKzEwMCwxMCBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpwdXJnZUJhY2tpbmdTdG9yZXMoKQogCiB2b2lkIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQog
ewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0
QmFja2dyb3VuZENvbG9yLCBtX3NjZW5lLmdldCgpLCBjb2xvcikpOworICAgIFJlZlB0cjxDb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmU+IHNjZW5lUHJvdGVjdG9yKG1fc2NlbmUpOworICAgIGRpc3Bh
dGNoVXBkYXRlKFs9XSB7CisgICAgICAgIHNjZW5lUHJvdGVjdG9yLT5zZXRCYWNrZ3JvdW5kQ29s
b3IoY29sb3IpOworICAgIH0pOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5Ojpjb21taXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYg
b2Zmc2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKaW5kZXggNWM4Y2MzMjg4Y2E0NzdlYTBlM2U0N2JiOWNkYjcyNTQyY2M1Y2FiMy4uMWNk
NTMxYzNjNzRhNThkZGI1MGNhMDA3YmQ0Mjk5YzIwMzJlMzRkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db29yZGluYXRlZEdyYXBo
aWNzU2NlbmUuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgorI2luY2x1ZGUgPGZ1bmN0
aW9uYWw+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NT
dGF0ZTsKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjb21taXRT
Y3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zm
c2V0KTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZGlzcGF0Y2hVcGRhdGUoY29uc3QgRnVuY3Rp
b248dm9pZCgpPiYpOworICAgIHZvaWQgZGlzcGF0Y2hVcGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lk
KCk+KTsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBv
dmVycmlkZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223610</attachid>
            <date>2014-02-08 22:44:49 -0800</date>
            <delta_ts>2014-02-08 22:52:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128473-20140209074447.patch</filename>
            <type>text/plain</type>
            <size>13280</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI2NjU5NWVlOWM2ZmZl
MDkyYmNkMThiNmNmNmU1M2VjMmJjMjkzZS4uY2I0ZjYwNzBiOTEyZjQxODI4NjQ4MTA0OGQwYzAx
Mjk5ODgwMjExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTAyLTA4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRH
cmFwaGljc10gTW92ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisKKyAgICAgICAgTW92ZSB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
IGNsYXNzIHRvIHVzaW5nIHN0ZDo6ZnVuY3Rpb24gaW5zdGVhZCBvZiBXVEY6OkZ1bmN0aW9uYWwg
YW5kIHN0ZDo6YmluZAorICAgICAgICBpbnN0ZWFkIG9mIFdURjo6YmluZC4gVGhlIGZ1bmN0aW9u
IHdyYXBwZXIgaXMgbm93IG1vdmVkIHRocm91Z2ggZnVuY3Rpb24gY2FsbHMgYW5kIG5vdCBwYXNz
ZWQgYnkgcmVmZXJlbmNlLAorICAgICAgICBhbmQgbGFtYmRhIGZ1bmN0aW9ucyBhcmUgaW5saW5l
ZCBpbnRvIHRoZSBkaXNwYXRjaE9uTWFpblRocmVhZCgpIGNhbGxzLCB3aXRoIHRoZSBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUKKyAgICAgICAgcmVmY291bnQtcHJvdGVjdGVkLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OmRpc3BhdGNoT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpjb21taXRTY2VuZVN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1JlbW90ZUNvbnRlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUdMUmVzb3VyY2Vz
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0U2Ny
b2xsT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
YXBwZW5kVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6c2V0QWN0aXZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6CisKIDIwMTQtMDItMDggIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZSBUZXh0SXRlcmF0b3IgdG8g
dXNlIFN0cmluZ1ZpZXcsIHByZXBhcmluZyB0byB3ZWFuIGl0IGZyb20gZGVwcmVjYXRlZENoYXJh
Y3RlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCBlMzk4YjIxYjRkNGUwYWNlMjM0NWIwYjQwYjY0NTA5NzJlYWNh
MmEwLi4wZGJjNWNhYmZkMjFhOGI3NzZhOGJkN2NlYTk1MmYyNDdiMTg4NDE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMDItMDggIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIFtDb29yZGluYXRlZEdyYXBoaWNzXSBNb3ZlIENvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSwgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkgdG8gc3RkOjpm
dW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI4NDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TW92ZSB0aGUgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkgY2xhc3MgdG8gdXNpbmcgc3Rk
OjpmdW5jdGlvbiBpbnN0ZWFkIG9mIFdURjo6RnVuY3Rpb25hbC4gQysrMTEKKyAgICAgICAgbGFt
YmRhcyBhcmUgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIHVwZGF0ZSBmdW5jdGlvbnMsIHdpdGggdGhl
IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSByZWZjb3VudC1wcm90ZWN0ZWQKKyAgICAgICAgdGhy
b3VnaG91dCB0aGUgbGlmZXRpbWUgb2YgdGhlIGZ1bmN0aW9uIHdyYXBwZXIuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
OjpkaXNwYXRjaFVwZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5Ojpjb21taXRDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6c2V0VmlzaWJsZUNvbnRlbnRzUmVj
dCk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRC
YWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisKIDIwMTQtMDItMDggIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZSBUZXh0SXRlcmF0b3IgdG8g
dXNlIFN0cmluZ1ZpZXcsIHByZXBhcmluZyB0byB3ZWFuIGl0IGZyb20gZGVwcmVjYXRlZENoYXJh
Y3RlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHAKaW5kZXggMzdjYzVkNGQ3ZDViYTE1YTU0YmQ3MzdjMzY0ZGE2ZDBkMTk5ZjU1
YS4uZDFmNmY0N2ZjZjVlMjEwZjkzY2NiOGRkODgyNDJiMmM3MTNkYzllZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKQEAg
LTM0LDEyICszNCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lOjpkaXNwYXRjaE9uTWFpblRocmVhZChjb25zdCBGdW5jdGlvbjx2b2lk
KCk+JiBmdW5jdGlvbikKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkaXNwYXRjaE9u
TWFpblRocmVhZChzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24pCiB7CiAgICAgaWYgKGlz
TWFpblRocmVhZCgpKQogICAgICAgICBmdW5jdGlvbigpOwogICAgIGVsc2UKLSAgICAgICAgY2Fs
bE9uTWFpblRocmVhZChmdW5jdGlvbik7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoc3RkOjpt
b3ZlKGZ1bmN0aW9uKSk7CiB9CiAKIHN0YXRpYyBib29sIGxheWVyU2hvdWxkSGF2ZUJhY2tpbmdT
dG9yZShUZXh0dXJlTWFwcGVyTGF5ZXIqIGxheWVyKQpAQCAtOTgsOCArOTgsMTIgQEAgdm9pZCBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cmkKICAgICBtX3RleHR1cmVNYXBwZXItPmVuZENsaXAoKTsKICAgICBt
X3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7CiAKLSAgICBpZiAoY3VycmVudFJvb3RMYXll
ci0+ZGVzY2VuZGFudHNPclNlbGZIYXZlUnVubmluZ0FuaW1hdGlvbnMoKSkKLSAgICAgICAgZGlz
cGF0Y2hPbk1haW5UaHJlYWQoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjp1cGRhdGVW
aWV3cG9ydCwgdGhpcykpOworICAgIGlmIChjdXJyZW50Um9vdExheWVyLT5kZXNjZW5kYW50c09y
U2VsZkhhdmVSdW5uaW5nQW5pbWF0aW9ucygpKSB7CisgICAgICAgIFJlZlB0cjxDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmU+IHByb3RlY3RvcjsKKyAgICAgICAgZGlzcGF0Y2hPbk1haW5UaHJlYWQo
Wz1dIHsKKyAgICAgICAgICAgIHByb3RlY3Rvci0+dXBkYXRlVmlld1BvcnQoKTsKKyAgICAgICAg
fSk7CisgICAgfQogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0dy
YXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCogcGxhdGZvcm1Db250ZXh0KQpA
QCAtNTc2LDcgKzU4MCwxMCBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0
U2NlbmVTdGF0ZShjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmCiAgICAgcmVtb3ZlUmVs
ZWFzZWRJbWFnZUJhY2tpbmdzSWZOZWVkZWQoKTsKIAogICAgIC8vIFRoZSBwZW5kaW5nIHRpbGVz
IHN0YXRlIGlzIG9uIGl0cyB3YXkgZm9yIHRoZSBzY3JlZW4sIHRlbGwgdGhlIHdlYiBwcm9jZXNz
IHRvIHJlbmRlciB0aGUgbmV4dCBvbmUuCi0gICAgZGlzcGF0Y2hPbk1haW5UaHJlYWQoYmluZCgm
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpyZW5kZXJOZXh0RnJhbWUsIHRoaXMpKTsKKyAgICBS
ZWZQdHI8Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBwcm90ZWN0b3IodGhpcyk7CisgICAgZGlz
cGF0Y2hPbk1haW5UaHJlYWQoWz1dIHsKKyAgICAgICAgcHJvdGVjdG9yLT5yZW5kZXJOZXh0RnJh
bWUoKTsKKyAgICB9KTsKIH0KIAogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnJlbmRl
ck5leHRGcmFtZSgpCkBAIC02MDcsMTYgKzYxNCwxNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZTo6c3luY1JlbW90ZUNvbnRlbnQoKQogICAgIC8vIFdlIGVucXVldWUgbWVzc2FnZXMg
YW5kIGV4ZWN1dGUgdGhlbSBkdXJpbmcgcGFpbnQsIGFzIHRoZXkgcmVxdWlyZSBhbiBhY3RpdmUg
R0wgY29udGV4dC4KICAgICBlbnN1cmVSb290TGF5ZXIoKTsKIAotICAgIFZlY3RvcjxGdW5jdGlv
bjx2b2lkKCk+ID4gcmVuZGVyUXVldWU7CisgICAgVmVjdG9yPHN0ZDo6ZnVuY3Rpb248dm9pZCgp
Pj4gcmVuZGVyUXVldWU7CiAgICAgYm9vbCBjYWxsZWRPbk1haW5UaHJlYWQgPSBXVEY6OmlzTWFp
blRocmVhZCgpOwogICAgIGlmICghY2FsbGVkT25NYWluVGhyZWFkKQogICAgICAgICBtX3JlbmRl
clF1ZXVlTXV0ZXgubG9jaygpOwotICAgIHJlbmRlclF1ZXVlLnN3YXAobV9yZW5kZXJRdWV1ZSk7
CisgICAgcmVuZGVyUXVldWUgPSBzdGQ6Om1vdmUobV9yZW5kZXJRdWV1ZSk7CiAgICAgaWYgKCFj
YWxsZWRPbk1haW5UaHJlYWQpCiAgICAgICAgIG1fcmVuZGVyUXVldWVNdXRleC51bmxvY2soKTsK
IAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVuZGVyUXVldWUuc2l6ZSgpOyArK2kpCi0g
ICAgICAgIHJlbmRlclF1ZXVlW2ldKCk7CisgICAgZm9yIChhdXRvJiBmdW5jdGlvbiA6IHJlbmRl
clF1ZXVlKQorICAgICAgICBmdW5jdGlvbigpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZTo6cHVyZ2VHTFJlc291cmNlcygpCkBAIC02MzcsNyArNjQ0LDExIEBAIHZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUdMUmVzb3VyY2VzKCkKICAgICBtX2JhY2tpbmdT
dG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMuY2xlYXIoKTsKIAogICAgIHNldEFjdGl2ZShmYWxzZSk7
Ci0gICAgZGlzcGF0Y2hPbk1haW5UaHJlYWQoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpwdXJnZUJhY2tpbmdTdG9yZXMsIHRoaXMpKTsKKworICAgIFJlZlB0cjxDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmU+IHByb3RlY3Rvcih0aGlzKTsKKyAgICBkaXNwYXRjaE9uTWFpblRocmVhZChb
PV0geworICAgICAgICBwcm90ZWN0b3ItPnB1cmdlQmFja2luZ1N0b3JlcygpOworICAgIH0pOwog
fQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlzcGF0Y2hDb21taXRTY3JvbGxP
ZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQpAQCAtNjQ3LDcg
KzY1OCwxMCBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlzcGF0Y2hDb21taXRT
Y3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29ucwogCiB2b2lkIENvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6Y29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IElu
dFNpemUmIG9mZnNldCkKIHsKLSAgICBkaXNwYXRjaE9uTWFpblRocmVhZChiaW5kKCZDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OmRpc3BhdGNoQ29tbWl0U2Nyb2xsT2Zmc2V0LCB0aGlzLCBsYXll
cklELCBvZmZzZXQpKTsKKyAgICBSZWZQdHI8Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBwcm90
ZWN0b3IodGhpcyk7CisgICAgZGlzcGF0Y2hPbk1haW5UaHJlYWQoWz1dIHsKKyAgICAgICAgcHJv
dGVjdG9yLT5kaXNwYXRjaENvbW1pdFNjcm9sbE9mZnNldChsYXllcklkLCBvZmZzZXQpOworICAg
IH0pOwogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cHVyZ2VCYWNraW5nU3Rv
cmVzKCkKQEAgLTY3MSwxNCArNjg1LDE0IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpkZXRhY2goKQogICAgIG1fY2xpZW50ID0gMDsKIH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OmFwcGVuZFVwZGF0ZShjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbikK
K3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjphcHBlbmRVcGRhdGUoc3RkOjpmdW5jdGlv
bjx2b2lkKCk+IGZ1bmN0aW9uKQogewogICAgIGlmICghbV9pc0FjdGl2ZSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBNdXRleExvY2tlciBsb2Nr
ZXIobV9yZW5kZXJRdWV1ZU11dGV4KTsKLSAgICBtX3JlbmRlclF1ZXVlLmFwcGVuZChmdW5jdGlv
bik7CisgICAgbV9yZW5kZXJRdWV1ZS5hcHBlbmQoc3RkOjptb3ZlKGZ1bmN0aW9uKSk7CiB9CiAK
IHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBY3RpdmUoYm9vbCBhY3RpdmUpCkBA
IC02OTEsOCArNzA1LDEyIEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBY3Rp
dmUoYm9vbCBhY3RpdmUpCiAgICAgLy8gYW5kIGNhbm5vdCBiZSBhcHBsaWVkIHRvIHRoZSBuZXds
eSBjcmVhdGVkIGluc3RhbmNlLgogICAgIG1fcmVuZGVyUXVldWUuY2xlYXIoKTsKICAgICBtX2lz
QWN0aXZlID0gYWN0aXZlOwotICAgIGlmIChtX2lzQWN0aXZlKQotICAgICAgICBkaXNwYXRjaE9u
TWFpblRocmVhZChiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnJlbmRlck5leHRGcmFt
ZSwgdGhpcykpOworICAgIGlmIChtX2lzQWN0aXZlKSB7CisgICAgICAgIFJlZlB0cjxDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU+IHByb3RlY3Rvcih0aGlzKTsKKyAgICAgICAgZGlzcGF0Y2hPbk1h
aW5UaHJlYWQoWz1dIHsKKyAgICAgICAgICAgIHByb3RlY3Rvci0+cmVuZGVyTmV4dEZyYW1lKCk7
CisgICAgICAgIH0pOworICAgIH0KIH0KIAogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKaW5kZXggMDI1ZGQxZmVh
OGNmYzI1Y2NmNjE5MzU3YzVhZjQ2YWQ4ZDUzYjQ5Ni4uYjE0N2RlNDViNzNjMjY2MTdlNmJlNjhk
ZTM5YmNjNWRmZTY1NDk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUuaApAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgIlRleHR1
cmVNYXBwZXJGUFNDb3VudGVyLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxheWVyLmgiCiAj
aW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgorI2luY2x1ZGUg
PGZ1bmN0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nUHJpbWl0aXZlcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTY1LDcgKzY1
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcGFpbnRUb0dyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdy
YXBoaWNzQ29udGV4dCopOwogICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQ
b2ludCYpOwogICAgIHZvaWQgZGV0YWNoKCk7Ci0gICAgdm9pZCBhcHBlbmRVcGRhdGUoY29uc3Qg
RnVuY3Rpb248dm9pZCgpPiYpOworICAgIHZvaWQgYXBwZW5kVXBkYXRlKHN0ZDo6ZnVuY3Rpb248
dm9pZCgpPik7CiAKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIGZpbmRTY3JvbGxh
YmxlQ29udGVudHNMYXllckF0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKIApAQCAtMTI1
LDcgKzEyNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzeW5jUmVtb3RlQ29udGVudCgpOwogICAg
IHZvaWQgYWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycygpOwogCi0gICAgdm9pZCBkaXNwYXRj
aE9uTWFpblRocmVhZChjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisgICAgdm9pZCBkaXNwYXRj
aE9uTWFpblRocmVhZChzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4pOwogICAgIHZvaWQgdXBkYXRlVmll
d3BvcnQoKTsKICAgICB2b2lkIHJlbmRlck5leHRGcmFtZSgpOwogICAgIHZvaWQgcHVyZ2VCYWNr
aW5nU3RvcmVzKCk7CkBAIC0xNDYsNyArMTQ2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3Bh
dGNoQ29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IEludFNpemUmIG9m
ZnNldCk7CiAKICAgICAvLyBSZW5kZXIgcXVldWUgY2FuIGJlIGFjY2Vzc2VkIG9ueSBmcm9tIG1h
aW4gdGhyZWFkIG9yIHVwZGF0ZVBhaW50Tm9kZSBjYWxsIHN0YWNrIQotICAgIFZlY3RvcjxGdW5j
dGlvbjx2b2lkKCk+ID4gbV9yZW5kZXJRdWV1ZTsKKyAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2
b2lkKCk+PiBtX3JlbmRlclF1ZXVlOwogICAgIE11dGV4IG1fcmVuZGVyUXVldWVNdXRleDsKIAog
ICAgIE93blB0cjxUZXh0dXJlTWFwcGVyPiBtX3RleHR1cmVNYXBwZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKaW5kZXggMTU1YmEy
MjExNDE0OWMxZTY3NmVhZWFkYWU1ZWNlZDQ1YzZhMzI3OC4uNjhiMjM0Y2E0Y2E3OTBmYzkxMWI1
OTU0ZTMzMWZiMmNjNjU1NWVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApAQCAtNTIsMTQgKzUyLDE4IEBAIHZvaWQgQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnVwZGF0ZVZpZXdwb3J0KCkKICAgICBtX2RyYXdpbmdB
cmVhUHJveHktPnVwZGF0ZVZpZXdwb3J0KCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHk6OmRpc3BhdGNoVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0
aW9uKQordm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlzcGF0Y2hVcGRhdGUo
c3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQogewotICAgIG1fc2NlbmUtPmFwcGVuZFVw
ZGF0ZShmdW5jdGlvbik7CisgICAgbV9zY2VuZS0+YXBwZW5kVXBkYXRlKHN0ZDo6bW92ZShmdW5j
dGlvbikpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpjb21taXRD
b29yZGluYXRlZEdyYXBoaWNzU3RhdGUoY29uc3QgQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlJiBn
cmFwaGljc1N0YXRlKQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6Y29tbWl0U2NlbmVTdGF0ZSwgbV9zY2VuZS5nZXQoKSwgZ3JhcGhpY3NTdGF0
ZSkpOworICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHNjZW5lUHJvdGVjdG9y
KG1fc2NlbmUpOworICAgIGRpc3BhdGNoVXBkYXRlKFs9XSB7CisgICAgICAgIHNjZW5lUHJvdGVj
dG9yLT5jb21taXRTY2VuZVN0YXRlKGdyYXBoaWNzU3RhdGUpOworICAgIH0pOworCiAgICAgdXBk
YXRlVmlld3BvcnQoKTsKICNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICBtX2RyYXdp
bmdBcmVhUHJveHktPnBhZ2UoKS0+ZGlkUmVuZGVyRnJhbWUoZ3JhcGhpY3NTdGF0ZS5jb250ZW50
c1NpemUsIGdyYXBoaWNzU3RhdGUuY292ZXJlZFJlY3QpOwpAQCAtNjksNyArNzMsMTEgQEAgdm9p
ZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlKGNvbnN0IENvb3JkaW4KIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6
OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBGbG9h
dFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQogewogICAgIC8vIEluZm9ybSB0aGUgcmVuZGVyZXIg
dG8gYWRqdXN0IHZpZXdwb3J0LWZpeGVkIGxheWVycy4KLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5k
KCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldFNjcm9sbFBvc2l0aW9uLCBtX3NjZW5lLmdl
dCgpLCByZWN0LmxvY2F0aW9uKCkpKTsKKyAgICBSZWZQdHI8Q29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lPiBzY2VuZVByb3RlY3RvcihtX3NjZW5lKTsKKyAgICBjb25zdCBGbG9hdFBvaW50JiBzY3Jv
bGxQb3NpdGlvbiA9IHJlY3QubG9jYXRpb24oKTsKKyAgICBkaXNwYXRjaFVwZGF0ZShbPV0gewor
ICAgICAgICBzY2VuZVByb3RlY3Rvci0+c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24p
OworICAgIH0pOwogCiAgICAgaWYgKHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRy
YWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IpCiAgICAgICAgIHJl
dHVybjsKQEAgLTkxLDcgKzk5LDEwIEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHk6OnB1cmdlQmFja2luZ1N0b3JlcygpCiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHk6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCiB7Ci0gICAgZGlz
cGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRCYWNrZ3JvdW5k
Q29sb3IsIG1fc2NlbmUuZ2V0KCksIGNvbG9yKSk7CisgICAgUmVmUHRyPENvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZT4gc2NlbmVQcm90ZWN0b3IobV9zY2VuZSk7CisgICAgZGlzcGF0Y2hVcGRhdGUo
Wz1dIHsKKyAgICAgICAgc2NlbmVQcm90ZWN0b3ItPnNldEJhY2tncm91bmRDb2xvcihjb2xvcik7
CisgICAgfSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNvbW1p
dFNjcm9sbE9mZnNldCh1aW50MzJfdCBsYXllcklELCBjb25zdCBJbnRTaXplJiBvZmZzZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRl
eCA1YzhjYzMyODhjYTQ3N2VhMGUzZTQ3YmI5Y2RiNzI1NDJjYzVjYWIzLi4xY2Q1MzFjM2M3NGE1
OGRkYjUwY2EwMDdiZDQyOTljMjAzMmUzNGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJDb29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJNZXNzYWdl
UmVjZWl2ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5o
PgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlOwpAQCAt
NTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdFNjcm9sbE9mZnNl
dCh1aW50MzJfdCBsYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBvZmZzZXQpOwogCiBw
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBkaXNwYXRjaFVwZGF0ZShjb25zdCBGdW5jdGlvbjx2b2lkKCk+
Jik7CisgICAgdm9pZCBkaXNwYXRjaFVwZGF0ZShzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4pOwogCiAg
ICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223611</attachid>
            <date>2014-02-08 22:52:21 -0800</date>
            <delta_ts>2014-02-08 22:53:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128473-20140209075220.patch</filename>
            <type>text/plain</type>
            <size>13210</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg0Y2EwZDM3NDkzZWMx
Y2Y0OTJhZTAxMGI5MjQzZWZmMTA4ODNlYy4uMzRjOGZkMDA1MTU4N2QxNGE4ZTdkNTY0NzQ3ZWQw
Njk3OGNjYWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTAyLTA4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRH
cmFwaGljc10gTW92ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisKKyAgICAgICAgTW92ZSB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
IGNsYXNzIHRvIHVzaW5nIHN0ZDo6ZnVuY3Rpb24gaW5zdGVhZCBvZiBXVEY6OkZ1bmN0aW9uYWwg
YW5kIHN0ZDo6YmluZAorICAgICAgICBpbnN0ZWFkIG9mIFdURjo6YmluZC4gVGhlIGZ1bmN0aW9u
IHdyYXBwZXIgaXMgbm93IG1vdmVkIHRocm91Z2ggZnVuY3Rpb24gY2FsbHMgYW5kIG5vdCBwYXNz
ZWQgYnkgcmVmZXJlbmNlLAorICAgICAgICBhbmQgbGFtYmRhIGZ1bmN0aW9ucyBhcmUgaW5saW5l
ZCBpbnRvIHRoZSBkaXNwYXRjaE9uTWFpblRocmVhZCgpIGNhbGxzLCB3aXRoIHRoZSBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUKKyAgICAgICAgcmVmY291bnQtcHJvdGVjdGVkLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OmRpc3BhdGNoT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpjb21taXRTY2VuZVN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1JlbW90ZUNvbnRlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUdMUmVzb3VyY2Vz
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0U2Ny
b2xsT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
YXBwZW5kVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6c2V0QWN0aXZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6CisKIDIwMTQtMDItMDggIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2xlYW51cCB0aGUgaW50ZXJmYWNl
IG9mIEZyYW1lU2VsZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDkzN2FjZGQ5ZTc3ZDllYWZkZWQ3YmUz
ZmIxZmM5YTdiNTFiYWE2MC4uYjc3ZTZmNTRmNjRhYjczZWYxYzBmMjU4ZWExMTBlN2EyMmJiNzk3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAyLTA4ICBaYW4gRG9iZXJzZWsg
IDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10g
TW92ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1vdmUgdGhlIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IGNsYXNz
IHRvIHVzaW5nIHN0ZDo6ZnVuY3Rpb24gaW5zdGVhZCBvZiBXVEY6OkZ1bmN0aW9uYWwuIEMrKzEx
CisgICAgICAgIGxhbWJkYXMgYXJlIHVzZWQgdG8gY29uc3RydWN0IHRoZSB1cGRhdGUgZnVuY3Rp
b25zLCB3aXRoIHRoZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgcmVmY291bnQtcHJvdGVjdGVk
CisgICAgICAgIHRocm91Z2hvdXQgdGhlIGxpZmV0aW1lIG9mIHRoZSBmdW5jdGlvbiB3cmFwcGVy
LgorCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eTo6ZGlzcGF0Y2hVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKToK
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldFZpc2li
bGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorCiAyMDE0LTAy
LTA4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBJREI6IHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbCBmYWlscwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcApp
bmRleCAzN2NjNWQ0ZDdkNWJhMTVhNTRiZDczN2MzNjRkYTZkMGQxOTlmNTVhLi43NDBhNTUzMzcw
NGY1MDZhMzFmMTlhNGFkNDc4ZjIzZmE3YWFlMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcApAQCAtMzQsMTIgKzM0LDEy
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OmRpc3BhdGNoT25NYWluVGhyZWFkKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9u
KQordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRpc3BhdGNoT25NYWluVGhyZWFkKHN0
ZDo6ZnVuY3Rpb248dm9pZCgpPiBmdW5jdGlvbikKIHsKICAgICBpZiAoaXNNYWluVGhyZWFkKCkp
CiAgICAgICAgIGZ1bmN0aW9uKCk7CiAgICAgZWxzZQotICAgICAgICBjYWxsT25NYWluVGhyZWFk
KGZ1bmN0aW9uKTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChzdGQ6Om1vdmUoZnVuY3Rpb24p
KTsKIH0KIAogc3RhdGljIGJvb2wgbGF5ZXJTaG91bGRIYXZlQmFja2luZ1N0b3JlKFRleHR1cmVN
YXBwZXJMYXllciogbGF5ZXIpCkBAIC05OCw4ICs5OCwxMiBAQCB2b2lkIENvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaQogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kQ2xpcCgpOwogICAgIG1fdGV4dHVyZU1hcHBl
ci0+ZW5kUGFpbnRpbmcoKTsKIAotICAgIGlmIChjdXJyZW50Um9vdExheWVyLT5kZXNjZW5kYW50
c09yU2VsZkhhdmVSdW5uaW5nQW5pbWF0aW9ucygpKQotICAgICAgICBkaXNwYXRjaE9uTWFpblRo
cmVhZChiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnVwZGF0ZVZpZXdwb3J0LCB0aGlz
KSk7CisgICAgaWYgKGN1cnJlbnRSb290TGF5ZXItPmRlc2NlbmRhbnRzT3JTZWxmSGF2ZVJ1bm5p
bmdBbmltYXRpb25zKCkpIHsKKyAgICAgICAgUmVmUHRyPENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZT4gcHJvdGVjdG9yOworICAgICAgICBkaXNwYXRjaE9uTWFpblRocmVhZChbPV0geworICAgICAg
ICAgICAgcHJvdGVjdG9yLT51cGRhdGVWaWV3cG9ydCgpOworICAgICAgICB9KTsKKyAgICB9CiB9
CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvR3JhcGhpY3NDb250ZXh0
KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBwbGF0Zm9ybUNvbnRleHQpCkBAIC01NzYsNyArNTgw
LDEwIEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpjb21taXRTY2VuZVN0YXRlKGNv
bnN0IENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYKICAgICByZW1vdmVSZWxlYXNlZEltYWdlQmFj
a2luZ3NJZk5lZWRlZCgpOwogCiAgICAgLy8gVGhlIHBlbmRpbmcgdGlsZXMgc3RhdGUgaXMgb24g
aXRzIHdheSBmb3IgdGhlIHNjcmVlbiwgdGVsbCB0aGUgd2ViIHByb2Nlc3MgdG8gcmVuZGVyIHRo
ZSBuZXh0IG9uZS4KLSAgICBkaXNwYXRjaE9uTWFpblRocmVhZChiaW5kKCZDb29yZGluYXRlZEdy
YXBoaWNzU2NlbmU6OnJlbmRlck5leHRGcmFtZSwgdGhpcykpOworICAgIFJlZlB0cjxDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU+IHByb3RlY3Rvcih0aGlzKTsKKyAgICBkaXNwYXRjaE9uTWFpblRo
cmVhZChbPV0geworICAgICAgICBwcm90ZWN0b3ItPnJlbmRlck5leHRGcmFtZSgpOworICAgIH0p
OwogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cmVuZGVyTmV4dEZyYW1lKCkK
QEAgLTYwNywxNiArNjE0LDE2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzeW5j
UmVtb3RlQ29udGVudCgpCiAgICAgLy8gV2UgZW5xdWV1ZSBtZXNzYWdlcyBhbmQgZXhlY3V0ZSB0
aGVtIGR1cmluZyBwYWludCwgYXMgdGhleSByZXF1aXJlIGFuIGFjdGl2ZSBHTCBjb250ZXh0Lgog
ICAgIGVuc3VyZVJvb3RMYXllcigpOwogCi0gICAgVmVjdG9yPEZ1bmN0aW9uPHZvaWQoKT4gPiBy
ZW5kZXJRdWV1ZTsKKyAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2b2lkKCk+PiByZW5kZXJRdWV1
ZTsKICAgICBib29sIGNhbGxlZE9uTWFpblRocmVhZCA9IFdURjo6aXNNYWluVGhyZWFkKCk7CiAg
ICAgaWYgKCFjYWxsZWRPbk1haW5UaHJlYWQpCiAgICAgICAgIG1fcmVuZGVyUXVldWVNdXRleC5s
b2NrKCk7Ci0gICAgcmVuZGVyUXVldWUuc3dhcChtX3JlbmRlclF1ZXVlKTsKKyAgICByZW5kZXJR
dWV1ZSA9IHN0ZDo6bW92ZShtX3JlbmRlclF1ZXVlKTsKICAgICBpZiAoIWNhbGxlZE9uTWFpblRo
cmVhZCkKICAgICAgICAgbV9yZW5kZXJRdWV1ZU11dGV4LnVubG9jaygpOwogCi0gICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCByZW5kZXJRdWV1ZS5zaXplKCk7ICsraSkKLSAgICAgICAgcmVuZGVy
UXVldWVbaV0oKTsKKyAgICBmb3IgKGF1dG8mIGZ1bmN0aW9uIDogcmVuZGVyUXVldWUpCisgICAg
ICAgIGZ1bmN0aW9uKCk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJn
ZUdMUmVzb3VyY2VzKCkKQEAgLTYzNyw3ICs2NDQsMTEgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OnB1cmdlR0xSZXNvdXJjZXMoKQogICAgIG1fYmFja2luZ1N0b3Jlc1dpdGhQZW5k
aW5nQnVmZmVycy5jbGVhcigpOwogCiAgICAgc2V0QWN0aXZlKGZhbHNlKTsKLSAgICBkaXNwYXRj
aE9uTWFpblRocmVhZChiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnB1cmdlQmFja2lu
Z1N0b3JlcywgdGhpcykpOworCisgICAgUmVmUHRyPENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZT4g
cHJvdGVjdG9yKHRoaXMpOworICAgIGRpc3BhdGNoT25NYWluVGhyZWFkKFs9XSB7CisgICAgICAg
IHByb3RlY3Rvci0+cHVyZ2VCYWNraW5nU3RvcmVzKCk7CisgICAgfSk7CiB9CiAKIHZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkaXNwYXRjaENvbW1pdFNjcm9sbE9mZnNldCh1aW50MzJf
dCBsYXllcklELCBjb25zdCBJbnRTaXplJiBvZmZzZXQpCkBAIC02NDcsNyArNjU4LDEwIEBAIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkaXNwYXRjaENvbW1pdFNjcm9sbE9mZnNldCh1
aW50MzJfdCBsYXllcklELCBjb25zCiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpj
b21taXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYgb2Zmc2V0
KQogewotICAgIGRpc3BhdGNoT25NYWluVGhyZWFkKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6ZGlzcGF0Y2hDb21taXRTY3JvbGxPZmZzZXQsIHRoaXMsIGxheWVySUQsIG9mZnNldCkp
OworICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHByb3RlY3Rvcih0aGlzKTsK
KyAgICBkaXNwYXRjaE9uTWFpblRocmVhZChbPV0geworICAgICAgICBwcm90ZWN0b3ItPmRpc3Bh
dGNoQ29tbWl0U2Nyb2xsT2Zmc2V0KGxheWVySUQsIG9mZnNldCk7CisgICAgfSk7CiB9CiAKIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUJhY2tpbmdTdG9yZXMoKQpAQCAtNjcx
LDE0ICs2ODUsMTQgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRldGFjaCgpCiAg
ICAgbV9jbGllbnQgPSAwOwogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6YXBw
ZW5kVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQordm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OmFwcGVuZFVwZGF0ZShzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZnVu
Y3Rpb24pCiB7CiAgICAgaWYgKCFtX2lzQWN0aXZlKQogICAgICAgICByZXR1cm47CiAKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3JlbmRlclF1
ZXVlTXV0ZXgpOwotICAgIG1fcmVuZGVyUXVldWUuYXBwZW5kKGZ1bmN0aW9uKTsKKyAgICBtX3Jl
bmRlclF1ZXVlLmFwcGVuZChzdGQ6Om1vdmUoZnVuY3Rpb24pKTsKIH0KIAogdm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKQEAgLTY5MSw4ICs3MDUs
MTIgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEFjdGl2ZShib29sIGFjdGl2
ZSkKICAgICAvLyBhbmQgY2Fubm90IGJlIGFwcGxpZWQgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgaW5z
dGFuY2UuCiAgICAgbV9yZW5kZXJRdWV1ZS5jbGVhcigpOwogICAgIG1faXNBY3RpdmUgPSBhY3Rp
dmU7Ci0gICAgaWYgKG1faXNBY3RpdmUpCi0gICAgICAgIGRpc3BhdGNoT25NYWluVGhyZWFkKGJp
bmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cmVuZGVyTmV4dEZyYW1lLCB0aGlzKSk7Cisg
ICAgaWYgKG1faXNBY3RpdmUpIHsKKyAgICAgICAgUmVmUHRyPENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZT4gcHJvdGVjdG9yKHRoaXMpOworICAgICAgICBkaXNwYXRjaE9uTWFpblRocmVhZChbPV0g
eworICAgICAgICAgICAgcHJvdGVjdG9yLT5yZW5kZXJOZXh0RnJhbWUoKTsKKyAgICAgICAgfSk7
CisgICAgfQogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0QmFja2dyb3Vu
ZENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAppbmRleCAwMjVkZDFmZWE4Y2ZjMjVjY2Y2MTkz
NTdjNWFmNDZhZDhkNTNiNDk2Li5iMTQ3ZGU0NWI3M2MyNjYxN2U2YmU2OGRlMzliY2M1ZGZlNjU0
OTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5oCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckZQU0Nv
dW50ZXIuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyTGF5ZXIuaCIKICNpbmNsdWRlICJUaW1l
ci5oIgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRp
dmVzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwYWludFRvR3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0
Kik7CiAgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jik7CiAgICAg
dm9pZCBkZXRhY2goKTsKLSAgICB2b2lkIGFwcGVuZFVwZGF0ZShjb25zdCBGdW5jdGlvbjx2b2lk
KCk+Jik7CisgICAgdm9pZCBhcHBlbmRVcGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lkKCk+KTsKIAog
ICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogZmluZFNjcm9sbGFibGVDb250ZW50c0xh
eWVyQXQoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogCkBAIC0xMjUsNyArMTI1LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHN5bmNSZW1vdGVDb250ZW50KCk7CiAgICAgdm9pZCBhZGp1c3RQ
b3NpdGlvbkZvckZpeGVkTGF5ZXJzKCk7CiAKLSAgICB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFk
KGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAgICB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFk
KHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7CiAgICAgdm9pZCB1cGRhdGVWaWV3cG9ydCgpOwogICAg
IHZvaWQgcmVuZGVyTmV4dEZyYW1lKCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsK
QEAgLTE0Niw3ICsxNDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlzcGF0Y2hDb21taXRTY3Jv
bGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYgb2Zmc2V0KTsKIAogICAg
IC8vIFJlbmRlciBxdWV1ZSBjYW4gYmUgYWNjZXNzZWQgb255IGZyb20gbWFpbiB0aHJlYWQgb3Ig
dXBkYXRlUGFpbnROb2RlIGNhbGwgc3RhY2shCi0gICAgVmVjdG9yPEZ1bmN0aW9uPHZvaWQoKT4g
PiBtX3JlbmRlclF1ZXVlOworICAgIFZlY3RvcjxzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4+IG1fcmVu
ZGVyUXVldWU7CiAgICAgTXV0ZXggbV9yZW5kZXJRdWV1ZU11dGV4OwogCiAgICAgT3duUHRyPFRl
eHR1cmVNYXBwZXI+IG1fdGV4dHVyZU1hcHBlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCAxNTViYTIyMTE0MTQ5YzFlNjc2
ZWFlYWRhZTVlY2VkNDVjNmEzMjc4Li42OGIyMzRjYTRjYTc5MGZjOTExYjU5NTRlMzMxZmIyY2M2
NTU1ZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkuY3BwCkBAIC01MiwxNCArNTIsMTggQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6dXBkYXRlVmlld3BvcnQoKQogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+dXBk
YXRlVmlld3BvcnQoKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6
ZGlzcGF0Y2hVcGRhdGUoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCit2b2lkIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpkaXNwYXRjaFVwZGF0ZShzdGQ6OmZ1bmN0aW9u
PHZvaWQoKT4gZnVuY3Rpb24pCiB7Ci0gICAgbV9zY2VuZS0+YXBwZW5kVXBkYXRlKGZ1bmN0aW9u
KTsKKyAgICBtX3NjZW5lLT5hcHBlbmRVcGRhdGUoc3RkOjptb3ZlKGZ1bmN0aW9uKSk7CiB9CiAK
IHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNvbW1pdENvb3JkaW5hdGVkR3Jh
cGhpY3NTdGF0ZShjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmIGdyYXBoaWNzU3RhdGUp
CiB7Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpj
b21taXRTY2VuZVN0YXRlLCBtX3NjZW5lLmdldCgpLCBncmFwaGljc1N0YXRlKSk7CisgICAgUmVm
UHRyPENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZT4gc2NlbmVQcm90ZWN0b3IobV9zY2VuZSk7Cisg
ICAgZGlzcGF0Y2hVcGRhdGUoWz1dIHsKKyAgICAgICAgc2NlbmVQcm90ZWN0b3ItPmNvbW1pdFNj
ZW5lU3RhdGUoZ3JhcGhpY3NTdGF0ZSk7CisgICAgfSk7CisKICAgICB1cGRhdGVWaWV3cG9ydCgp
OwogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+
cGFnZSgpLT5kaWRSZW5kZXJGcmFtZShncmFwaGljc1N0YXRlLmNvbnRlbnRzU2l6ZSwgZ3JhcGhp
Y3NTdGF0ZS5jb3ZlcmVkUmVjdCk7CkBAIC02OSw3ICs3MywxMSBAQCB2b2lkIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5Ojpjb21taXRDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUoY29uc3Qg
Q29vcmRpbgogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6c2V0VmlzaWJsZUNv
bnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWpl
Y3RvcnlWZWN0b3IpCiB7CiAgICAgLy8gSW5mb3JtIHRoZSByZW5kZXJlciB0byBhZGp1c3Qgdmll
d3BvcnQtZml4ZWQgbGF5ZXJzLgotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6c2V0U2Nyb2xsUG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHJlY3QubG9j
YXRpb24oKSkpOworICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHNjZW5lUHJv
dGVjdG9yKG1fc2NlbmUpOworICAgIGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uID0g
cmVjdC5sb2NhdGlvbigpOworICAgIGRpc3BhdGNoVXBkYXRlKFs9XSB7CisgICAgICAgIHNjZW5l
UHJvdGVjdG9yLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbik7CisgICAgfSk7CiAK
ICAgICBpZiAocmVjdCA9PSBtX2xhc3RTZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9yeVZlY3Rv
ciA9PSBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvcikKICAgICAgICAgcmV0dXJuOwpAQCAtOTEs
NyArOTksMTAgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6cHVyZ2VCYWNr
aW5nU3RvcmVzKCkKIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6c2V0QmFj
a2dyb3VuZENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKIHsKLSAgICBkaXNwYXRjaFVwZGF0ZShi
aW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEJhY2tncm91bmRDb2xvciwgbV9zY2Vu
ZS5nZXQoKSwgY29sb3IpKTsKKyAgICBSZWZQdHI8Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBz
Y2VuZVByb3RlY3RvcihtX3NjZW5lKTsKKyAgICBkaXNwYXRjaFVwZGF0ZShbPV0geworICAgICAg
ICBzY2VuZVByb3RlY3Rvci0+c2V0QmFja2dyb3VuZENvbG9yKGNvbG9yKTsKKyAgICB9KTsKIH0K
IAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0U2Nyb2xsT2Zmc2V0
KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IEludFNpemUmIG9mZnNldCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmluZGV4IDVjOGNjMzI4OGNh
NDc3ZWEwZTNlNDdiYjljZGI3MjU0MmNjNWNhYjMuLjFjZDUzMWMzYzc0YTU4ZGRiNTBjYTAwN2Jk
NDI5OWMyMDMyZTM0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuaApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgIkNvb3JkaW5hdGVk
R3JhcGhpY3NBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg+Ci0jaW5jbHVkZSA8
d3RmL0Z1bmN0aW9uYWwuaD4KKyNpbmNsdWRlIDxmdW5jdGlvbmFsPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGU7CkBAIC01Nyw3ICs1Nyw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxh
eWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG9mZnNldCk7CiAKIHByb3RlY3RlZDoKLSAg
ICB2b2lkIGRpc3BhdGNoVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAgICB2b2lk
IGRpc3BhdGNoVXBkYXRlKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7CiAKICAgICAvLyBJUEM6Ok1l
c3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223612</attachid>
            <date>2014-02-08 22:53:49 -0800</date>
            <delta_ts>2014-02-12 12:27:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128473-20140209075347.patch</filename>
            <type>text/plain</type>
            <size>13216</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg0Y2EwZDM3NDkzZWMx
Y2Y0OTJhZTAxMGI5MjQzZWZmMTA4ODNlYy4uMzRjOGZkMDA1MTU4N2QxNGE4ZTdkNTY0NzQ3ZWQw
Njk3OGNjYWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTAyLTA4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRH
cmFwaGljc10gTW92ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisKKyAgICAgICAgTW92ZSB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
IGNsYXNzIHRvIHVzaW5nIHN0ZDo6ZnVuY3Rpb24gaW5zdGVhZCBvZiBXVEY6OkZ1bmN0aW9uYWwg
YW5kIHN0ZDo6YmluZAorICAgICAgICBpbnN0ZWFkIG9mIFdURjo6YmluZC4gVGhlIGZ1bmN0aW9u
IHdyYXBwZXIgaXMgbm93IG1vdmVkIHRocm91Z2ggZnVuY3Rpb24gY2FsbHMgYW5kIG5vdCBwYXNz
ZWQgYnkgcmVmZXJlbmNlLAorICAgICAgICBhbmQgbGFtYmRhIGZ1bmN0aW9ucyBhcmUgaW5saW5l
ZCBpbnRvIHRoZSBkaXNwYXRjaE9uTWFpblRocmVhZCgpIGNhbGxzLCB3aXRoIHRoZSBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUKKyAgICAgICAgcmVmY291bnQtcHJvdGVjdGVkLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OmRpc3BhdGNoT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpjb21taXRTY2VuZVN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c3luY1JlbW90ZUNvbnRlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUdMUmVzb3VyY2Vz
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y29tbWl0U2Ny
b2xsT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
YXBwZW5kVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6c2V0QWN0aXZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6CisKIDIwMTQtMDItMDggIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2xlYW51cCB0aGUgaW50ZXJmYWNl
IG9mIEZyYW1lU2VsZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDkzN2FjZGQ5ZTc3ZDllYWZkZWQ3YmUz
ZmIxZmM5YTdiNTFiYWE2MC4uYjc3ZTZmNTRmNjRhYjczZWYxYzBmMjU4ZWExMTBlN2EyMmJiNzk3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAyLTA4ICBaYW4gRG9iZXJzZWsg
IDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10g
TW92ZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUsIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5IHRvIHN0ZDo6ZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyODQ3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1vdmUgdGhlIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IGNsYXNz
IHRvIHVzaW5nIHN0ZDo6ZnVuY3Rpb24gaW5zdGVhZCBvZiBXVEY6OkZ1bmN0aW9uYWwuIEMrKzEx
CisgICAgICAgIGxhbWJkYXMgYXJlIHVzZWQgdG8gY29uc3RydWN0IHRoZSB1cGRhdGUgZnVuY3Rp
b25zLCB3aXRoIHRoZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgcmVmY291bnQtcHJvdGVjdGVk
CisgICAgICAgIHRocm91Z2hvdXQgdGhlIGxpZmV0aW1lIG9mIHRoZSBmdW5jdGlvbiB3cmFwcGVy
LgorCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eTo6ZGlzcGF0Y2hVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlKToK
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldFZpc2li
bGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorCiAyMDE0LTAy
LTA4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBJREI6IHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbCBmYWlscwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcApp
bmRleCAzN2NjNWQ0ZDdkNWJhMTVhNTRiZDczN2MzNjRkYTZkMGQxOTlmNTVhLi4wYjIxN2VjOTA4
YjkzZTdkNDJkYmM0ZDZkOTYwZTFmZDMxMzAyNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcApAQCAtMzQsMTIgKzM0LDEy
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OmRpc3BhdGNoT25NYWluVGhyZWFkKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9u
KQordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRpc3BhdGNoT25NYWluVGhyZWFkKHN0
ZDo6ZnVuY3Rpb248dm9pZCgpPiBmdW5jdGlvbikKIHsKICAgICBpZiAoaXNNYWluVGhyZWFkKCkp
CiAgICAgICAgIGZ1bmN0aW9uKCk7CiAgICAgZWxzZQotICAgICAgICBjYWxsT25NYWluVGhyZWFk
KGZ1bmN0aW9uKTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChzdGQ6Om1vdmUoZnVuY3Rpb24p
KTsKIH0KIAogc3RhdGljIGJvb2wgbGF5ZXJTaG91bGRIYXZlQmFja2luZ1N0b3JlKFRleHR1cmVN
YXBwZXJMYXllciogbGF5ZXIpCkBAIC05OCw4ICs5OCwxMiBAQCB2b2lkIENvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaQogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kQ2xpcCgpOwogICAgIG1fdGV4dHVyZU1hcHBl
ci0+ZW5kUGFpbnRpbmcoKTsKIAotICAgIGlmIChjdXJyZW50Um9vdExheWVyLT5kZXNjZW5kYW50
c09yU2VsZkhhdmVSdW5uaW5nQW5pbWF0aW9ucygpKQotICAgICAgICBkaXNwYXRjaE9uTWFpblRo
cmVhZChiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnVwZGF0ZVZpZXdwb3J0LCB0aGlz
KSk7CisgICAgaWYgKGN1cnJlbnRSb290TGF5ZXItPmRlc2NlbmRhbnRzT3JTZWxmSGF2ZVJ1bm5p
bmdBbmltYXRpb25zKCkpIHsKKyAgICAgICAgUmVmUHRyPENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZT4gcHJvdGVjdG9yKHRoaXMpOworICAgICAgICBkaXNwYXRjaE9uTWFpblRocmVhZChbPV0gewor
ICAgICAgICAgICAgcHJvdGVjdG9yLT51cGRhdGVWaWV3cG9ydCgpOworICAgICAgICB9KTsKKyAg
ICB9CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvR3JhcGhpY3ND
b250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBwbGF0Zm9ybUNvbnRleHQpCkBAIC01NzYs
NyArNTgwLDEwIEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpjb21taXRTY2VuZVN0
YXRlKGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYKICAgICByZW1vdmVSZWxlYXNlZElt
YWdlQmFja2luZ3NJZk5lZWRlZCgpOwogCiAgICAgLy8gVGhlIHBlbmRpbmcgdGlsZXMgc3RhdGUg
aXMgb24gaXRzIHdheSBmb3IgdGhlIHNjcmVlbiwgdGVsbCB0aGUgd2ViIHByb2Nlc3MgdG8gcmVu
ZGVyIHRoZSBuZXh0IG9uZS4KLSAgICBkaXNwYXRjaE9uTWFpblRocmVhZChiaW5kKCZDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OnJlbmRlck5leHRGcmFtZSwgdGhpcykpOworICAgIFJlZlB0cjxD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHByb3RlY3Rvcih0aGlzKTsKKyAgICBkaXNwYXRjaE9u
TWFpblRocmVhZChbPV0geworICAgICAgICBwcm90ZWN0b3ItPnJlbmRlck5leHRGcmFtZSgpOwor
ICAgIH0pOwogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cmVuZGVyTmV4dEZy
YW1lKCkKQEAgLTYwNywxNiArNjE0LDE2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpzeW5jUmVtb3RlQ29udGVudCgpCiAgICAgLy8gV2UgZW5xdWV1ZSBtZXNzYWdlcyBhbmQgZXhl
Y3V0ZSB0aGVtIGR1cmluZyBwYWludCwgYXMgdGhleSByZXF1aXJlIGFuIGFjdGl2ZSBHTCBjb250
ZXh0LgogICAgIGVuc3VyZVJvb3RMYXllcigpOwogCi0gICAgVmVjdG9yPEZ1bmN0aW9uPHZvaWQo
KT4gPiByZW5kZXJRdWV1ZTsKKyAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2b2lkKCk+PiByZW5k
ZXJRdWV1ZTsKICAgICBib29sIGNhbGxlZE9uTWFpblRocmVhZCA9IFdURjo6aXNNYWluVGhyZWFk
KCk7CiAgICAgaWYgKCFjYWxsZWRPbk1haW5UaHJlYWQpCiAgICAgICAgIG1fcmVuZGVyUXVldWVN
dXRleC5sb2NrKCk7Ci0gICAgcmVuZGVyUXVldWUuc3dhcChtX3JlbmRlclF1ZXVlKTsKKyAgICBy
ZW5kZXJRdWV1ZSA9IHN0ZDo6bW92ZShtX3JlbmRlclF1ZXVlKTsKICAgICBpZiAoIWNhbGxlZE9u
TWFpblRocmVhZCkKICAgICAgICAgbV9yZW5kZXJRdWV1ZU11dGV4LnVubG9jaygpOwogCi0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCByZW5kZXJRdWV1ZS5zaXplKCk7ICsraSkKLSAgICAgICAg
cmVuZGVyUXVldWVbaV0oKTsKKyAgICBmb3IgKGF1dG8mIGZ1bmN0aW9uIDogcmVuZGVyUXVldWUp
CisgICAgICAgIGZ1bmN0aW9uKCk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpwdXJnZUdMUmVzb3VyY2VzKCkKQEAgLTYzNyw3ICs2NDQsMTEgQEAgdm9pZCBDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmU6OnB1cmdlR0xSZXNvdXJjZXMoKQogICAgIG1fYmFja2luZ1N0b3Jlc1dp
dGhQZW5kaW5nQnVmZmVycy5jbGVhcigpOwogCiAgICAgc2V0QWN0aXZlKGZhbHNlKTsKLSAgICBk
aXNwYXRjaE9uTWFpblRocmVhZChiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnB1cmdl
QmFja2luZ1N0b3JlcywgdGhpcykpOworCisgICAgUmVmUHRyPENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZT4gcHJvdGVjdG9yKHRoaXMpOworICAgIGRpc3BhdGNoT25NYWluVGhyZWFkKFs9XSB7Cisg
ICAgICAgIHByb3RlY3Rvci0+cHVyZ2VCYWNraW5nU3RvcmVzKCk7CisgICAgfSk7CiB9CiAKIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkaXNwYXRjaENvbW1pdFNjcm9sbE9mZnNldCh1
aW50MzJfdCBsYXllcklELCBjb25zdCBJbnRTaXplJiBvZmZzZXQpCkBAIC02NDcsNyArNjU4LDEw
IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkaXNwYXRjaENvbW1pdFNjcm9sbE9m
ZnNldCh1aW50MzJfdCBsYXllcklELCBjb25zCiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpjb21taXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYg
b2Zmc2V0KQogewotICAgIGRpc3BhdGNoT25NYWluVGhyZWFkKGJpbmQoJkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6ZGlzcGF0Y2hDb21taXRTY3JvbGxPZmZzZXQsIHRoaXMsIGxheWVySUQsIG9m
ZnNldCkpOworICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHByb3RlY3Rvcih0
aGlzKTsKKyAgICBkaXNwYXRjaE9uTWFpblRocmVhZChbPV0geworICAgICAgICBwcm90ZWN0b3It
PmRpc3BhdGNoQ29tbWl0U2Nyb2xsT2Zmc2V0KGxheWVySUQsIG9mZnNldCk7CisgICAgfSk7CiB9
CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwdXJnZUJhY2tpbmdTdG9yZXMoKQpA
QCAtNjcxLDE0ICs2ODUsMTQgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRldGFj
aCgpCiAgICAgbV9jbGllbnQgPSAwOwogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTo6YXBwZW5kVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQordm9pZCBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFwcGVuZFVwZGF0ZShzdGQ6OmZ1bmN0aW9uPHZvaWQo
KT4gZnVuY3Rpb24pCiB7CiAgICAgaWYgKCFtX2lzQWN0aXZlKQogICAgICAgICByZXR1cm47CiAK
ICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3Jl
bmRlclF1ZXVlTXV0ZXgpOwotICAgIG1fcmVuZGVyUXVldWUuYXBwZW5kKGZ1bmN0aW9uKTsKKyAg
ICBtX3JlbmRlclF1ZXVlLmFwcGVuZChzdGQ6Om1vdmUoZnVuY3Rpb24pKTsKIH0KIAogdm9pZCBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKQEAgLTY5MSw4
ICs3MDUsMTIgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEFjdGl2ZShib29s
IGFjdGl2ZSkKICAgICAvLyBhbmQgY2Fubm90IGJlIGFwcGxpZWQgdG8gdGhlIG5ld2x5IGNyZWF0
ZWQgaW5zdGFuY2UuCiAgICAgbV9yZW5kZXJRdWV1ZS5jbGVhcigpOwogICAgIG1faXNBY3RpdmUg
PSBhY3RpdmU7Ci0gICAgaWYgKG1faXNBY3RpdmUpCi0gICAgICAgIGRpc3BhdGNoT25NYWluVGhy
ZWFkKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cmVuZGVyTmV4dEZyYW1lLCB0aGlz
KSk7CisgICAgaWYgKG1faXNBY3RpdmUpIHsKKyAgICAgICAgUmVmUHRyPENvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZT4gcHJvdGVjdG9yKHRoaXMpOworICAgICAgICBkaXNwYXRjaE9uTWFpblRocmVh
ZChbPV0geworICAgICAgICAgICAgcHJvdGVjdG9yLT5yZW5kZXJOZXh0RnJhbWUoKTsKKyAgICAg
ICAgfSk7CisgICAgfQogfQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0QmFj
a2dyb3VuZENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBo
aWNzU2NlbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAppbmRleCAwMjVkZDFmZWE4Y2ZjMjVj
Y2Y2MTkzNTdjNWFmNDZhZDhkNTNiNDk2Li5iMTQ3ZGU0NWI3M2MyNjYxN2U2YmU2OGRlMzliY2M1
ZGZlNjU0OTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5oCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBl
ckZQU0NvdW50ZXIuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyTGF5ZXIuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CisjaW5jbHVkZSA8ZnVuY3Rp
b25hbD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQ
cmltaXRpdmVzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNjUsNyArNjUsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBwYWludFRvR3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0Kik7CiAgICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jik7
CiAgICAgdm9pZCBkZXRhY2goKTsKLSAgICB2b2lkIGFwcGVuZFVwZGF0ZShjb25zdCBGdW5jdGlv
bjx2b2lkKCk+Jik7CisgICAgdm9pZCBhcHBlbmRVcGRhdGUoc3RkOjpmdW5jdGlvbjx2b2lkKCk+
KTsKIAogICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogZmluZFNjcm9sbGFibGVDb250
ZW50c0xheWVyQXQoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogCkBAIC0xMjUsNyArMTI1
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN5bmNSZW1vdGVDb250ZW50KCk7CiAgICAgdm9pZCBh
ZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJzKCk7CiAKLSAgICB2b2lkIGRpc3BhdGNoT25NYWlu
VGhyZWFkKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAgICB2b2lkIGRpc3BhdGNoT25NYWlu
VGhyZWFkKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7CiAgICAgdm9pZCB1cGRhdGVWaWV3cG9ydCgp
OwogICAgIHZvaWQgcmVuZGVyTmV4dEZyYW1lKCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9y
ZXMoKTsKQEAgLTE0Niw3ICsxNDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlzcGF0Y2hDb21t
aXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYgb2Zmc2V0KTsK
IAogICAgIC8vIFJlbmRlciBxdWV1ZSBjYW4gYmUgYWNjZXNzZWQgb255IGZyb20gbWFpbiB0aHJl
YWQgb3IgdXBkYXRlUGFpbnROb2RlIGNhbGwgc3RhY2shCi0gICAgVmVjdG9yPEZ1bmN0aW9uPHZv
aWQoKT4gPiBtX3JlbmRlclF1ZXVlOworICAgIFZlY3RvcjxzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4+
IG1fcmVuZGVyUXVldWU7CiAgICAgTXV0ZXggbV9yZW5kZXJRdWV1ZU11dGV4OwogCiAgICAgT3du
UHRyPFRleHR1cmVNYXBwZXI+IG1fdGV4dHVyZU1hcHBlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCAxNTViYTIyMTE0MTQ5
YzFlNjc2ZWFlYWRhZTVlY2VkNDVjNmEzMjc4Li42OGIyMzRjYTRjYTc5MGZjOTExYjU5NTRlMzMx
ZmIyY2M2NTU1ZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuY3BwCkBAIC01MiwxNCArNTIsMTggQEAgdm9pZCBDb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eTo6dXBkYXRlVmlld3BvcnQoKQogICAgIG1fZHJhd2luZ0FyZWFQcm94
eS0+dXBkYXRlVmlld3BvcnQoKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eTo6ZGlzcGF0Y2hVcGRhdGUoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCit2
b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpkaXNwYXRjaFVwZGF0ZShzdGQ6OmZ1
bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24pCiB7Ci0gICAgbV9zY2VuZS0+YXBwZW5kVXBkYXRlKGZ1
bmN0aW9uKTsKKyAgICBtX3NjZW5lLT5hcHBlbmRVcGRhdGUoc3RkOjptb3ZlKGZ1bmN0aW9uKSk7
CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNvbW1pdENvb3JkaW5h
dGVkR3JhcGhpY3NTdGF0ZShjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmIGdyYXBoaWNz
U3RhdGUpCiB7Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpjb21taXRTY2VuZVN0YXRlLCBtX3NjZW5lLmdldCgpLCBncmFwaGljc1N0YXRlKSk7Cisg
ICAgUmVmUHRyPENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZT4gc2NlbmVQcm90ZWN0b3IobV9zY2Vu
ZSk7CisgICAgZGlzcGF0Y2hVcGRhdGUoWz1dIHsKKyAgICAgICAgc2NlbmVQcm90ZWN0b3ItPmNv
bW1pdFNjZW5lU3RhdGUoZ3JhcGhpY3NTdGF0ZSk7CisgICAgfSk7CisKICAgICB1cGRhdGVWaWV3
cG9ydCgpOwogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIG1fZHJhd2luZ0FyZWFQ
cm94eS0+cGFnZSgpLT5kaWRSZW5kZXJGcmFtZShncmFwaGljc1N0YXRlLmNvbnRlbnRzU2l6ZSwg
Z3JhcGhpY3NTdGF0ZS5jb3ZlcmVkUmVjdCk7CkBAIC02OSw3ICs3MywxMSBAQCB2b2lkIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpjb21taXRDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUo
Y29uc3QgQ29vcmRpbgogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQm
IHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgLy8gSW5mb3JtIHRoZSByZW5kZXJlciB0byBhZGp1
c3Qgdmlld3BvcnQtZml4ZWQgbGF5ZXJzLgotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0U2Nyb2xsUG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHJl
Y3QubG9jYXRpb24oKSkpOworICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IHNj
ZW5lUHJvdGVjdG9yKG1fc2NlbmUpOworICAgIGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0
aW9uID0gcmVjdC5sb2NhdGlvbigpOworICAgIGRpc3BhdGNoVXBkYXRlKFs9XSB7CisgICAgICAg
IHNjZW5lUHJvdGVjdG9yLT5zZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbik7CisgICAg
fSk7CiAKICAgICBpZiAocmVjdCA9PSBtX2xhc3RTZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9y
eVZlY3RvciA9PSBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvcikKICAgICAgICAgcmV0dXJuOwpA
QCAtOTEsNyArOTksMTAgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6cHVy
Z2VCYWNraW5nU3RvcmVzKCkKIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6
c2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKIHsKLSAgICBkaXNwYXRjaFVw
ZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEJhY2tncm91bmRDb2xvciwg
bV9zY2VuZS5nZXQoKSwgY29sb3IpKTsKKyAgICBSZWZQdHI8Q29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lPiBzY2VuZVByb3RlY3RvcihtX3NjZW5lKTsKKyAgICBkaXNwYXRjaFVwZGF0ZShbPV0gewor
ICAgICAgICBzY2VuZVByb3RlY3Rvci0+c2V0QmFja2dyb3VuZENvbG9yKGNvbG9yKTsKKyAgICB9
KTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y29tbWl0U2Nyb2xs
T2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0IEludFNpemUmIG9mZnNldCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmluZGV4IDVjOGNj
MzI4OGNhNDc3ZWEwZTNlNDdiYjljZGI3MjU0MmNjNWNhYjMuLjFjZDUzMWMzYzc0YTU4ZGRiNTBj
YTAwN2JkNDI5OWMyMDMyZTM0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkuaApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgIkNvb3Jk
aW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZl
ci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg+Ci0jaW5j
bHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KKyNpbmNsdWRlIDxmdW5jdGlvbmFsPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBDb29yZGluYXRlZEdyYXBoaWNzU3RhdGU7CkBAIC01Nyw3ICs1
Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQz
Ml90IGxheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG9mZnNldCk7CiAKIHByb3RlY3Rl
ZDoKLSAgICB2b2lkIGRpc3BhdGNoVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAg
ICB2b2lkIGRpc3BhdGNoVXBkYXRlKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7CiAKICAgICAvLyBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>