<?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>194494</bug_id>
          
          <creation_ts>2019-02-11 00:35:03 -0800</creation_ts>
          <short_desc>[WPE] Send client host fd and library name as web process creation parameters</short_desc>
          <delta_ts>2019-02-20 06:34:58 -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>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=194216</see_also>
          <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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1504825</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-11 00:35:03 -0800</bug_when>
    <thetext>Instead of using command line arguments. The code is simpler and we don&apos;t need wpe specific code in process launcher glib implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504826</commentid>
    <comment_count>1</comment_count>
      <attachid>361666</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-11 00:37:29 -0800</bug_when>
    <thetext>Created attachment 361666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504837</commentid>
    <comment_count>2</comment_count>
      <attachid>361666</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-02-11 03:43:53 -0800</bug_when>
    <thetext>Comment on attachment 361666
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=361666&amp;action=review

&gt; Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:53
&gt; +    if (!parameters.implementationLibraryName.isNull())

isEmpty() here, should avoid potential problems of passing empty strings to wpe_loader_init().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504838</commentid>
    <comment_count>3</comment_count>
      <attachid>361666</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-11 03:58:28 -0800</bug_when>
    <thetext>Comment on attachment 361666
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=361666&amp;action=review

&gt;&gt; Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:53
&gt;&gt; +    if (!parameters.implementationLibraryName.isNull())
&gt; 
&gt; isEmpty() here, should avoid potential problems of passing empty strings to wpe_loader_init().

It&apos;s a CString not a String, so we don&apos;t have isEmpty there. We could explicitly check data()[0] != &apos;\0&apos; but I don&apos;t think it&apos;s needed for something sent the from the UI process. The only reason we are checking this is because wpe_loader_get_loaded_implementation_library_name() is new api, so when libwpe &lt; 0.2 we receive a null string here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504850</commentid>
    <comment_count>4</comment_count>
      <attachid>361666</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-02-11 05:45:12 -0800</bug_when>
    <thetext>Comment on attachment 361666
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=361666&amp;action=review

&gt;&gt;&gt; Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:53
&gt;&gt;&gt; +    if (!parameters.implementationLibraryName.isNull())
&gt;&gt; 
&gt;&gt; isEmpty() here, should avoid potential problems of passing empty strings to wpe_loader_init().
&gt; 
&gt; It&apos;s a CString not a String, so we don&apos;t have isEmpty there. We could explicitly check data()[0] != &apos;\0&apos; but I don&apos;t think it&apos;s needed for something sent the from the UI process. The only reason we are checking this is because wpe_loader_get_loaded_implementation_library_name() is new api, so when libwpe &lt; 0.2 we receive a null string here.

The condition here should prevent wpe_loader_init() misbehaving. Currently it only covers a null CString, which is fine. But a non-null CString with a strlen() of 0 will pass the condition, but the dlopen() call in wpe_loader_init() will end up returning a handle to the process executable, which is not desired.

More than depending on what the UIProcess sends over IPC here, it should be preferable to validate arguments properly on the spot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504855</commentid>
    <comment_count>5</comment_count>
      <attachid>361677</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-11 06:18:36 -0800</bug_when>
    <thetext>Created attachment 361677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508038</commentid>
    <comment_count>6</comment_count>
      <attachid>362489</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-20 02:34:06 -0800</bug_when>
    <thetext>Created attachment 362489
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508063</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-02-20 06:34:58 -0800</bug_when>
    <thetext>Committed r241816: &lt;https://trac.webkit.org/changeset/241816&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361666</attachid>
            <date>2019-02-11 00:37:29 -0800</date>
            <delta_ts>2019-02-11 06:18:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-client-host-fd.diff</filename>
            <type>text/plain</type>
            <size>8577</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggOWM0MmE1NmRmZjYuLjQxYjFlOWQ2ZTllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDE5LTAyLTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBTZW5kIGNsaWVudCBob3N0IGZkIGFuZCBsaWJyYXJ5IG5h
bWUgYXMgd2ViIHByb2Nlc3MgY3JlYXRpb24gcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDk0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiB1c2luZyBjb21tYW5kIGxp
bmUgYXJndW1lbnRzLiBUaGUgY29kZSBpcyBzaW1wbGVyIGFuZCB3ZSBkb24ndCBuZWVkIHdwZSBz
cGVjaWZpYyBjb2RlIGluIHByb2Nlc3MKKyAgICAgICAgbGF1bmNoZXIgZ2xpYiBpbXBsZW1lbnRh
dGlvbi4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwOgorCiAyMDE5LTAyLTEwICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BF
XSBEbyBub3QgdXNlIGEgc3luYyBJUEMgbWVzc2FnZSB0byBzZW5kIHRoZSBob3N0IEZEIHRvIHRo
ZSB3ZWIgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCAyOWY5OTMzZWQ4YS4uM2VjYjFmMTQ0NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCkBAIC0xNTksNiArMTU5LDExIEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVy
IDw8IHNjcmVlblByb3BlcnRpZXM7CiAgICAgZW5jb2RlciA8PCB1c2VPdmVybGF5U2Nyb2xsYmFy
czsKICNlbmRpZgorCisjaWYgUExBVEZPUk0oV1BFKQorICAgIGVuY29kZXIgPDwgaG9zdENsaWVu
dEZpbGVEZXNjcmlwdG9yOworICAgIGVuY29kZXIgPDwgaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFt
ZTsKKyNlbmRpZgogfQogCiBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCkBAIC00MjEsNiArNDI2LDEzIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oV1BFKQorICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJz
LmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYjc4MjFhYTVjZmIuLjg2ZjU1
ZTFjYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCkBAIC0xOTgsNiArMTk4LDExIEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBXZWJDb3JlOjpTY3JlZW5Qcm9wZXJ0aWVzIHNjcmVlblBy
b3BlcnRpZXM7CiAgICAgYm9vbCB1c2VPdmVybGF5U2Nyb2xsYmFycyB7IHRydWUgfTsKICNlbmRp
ZgorCisjaWYgUExBVEZPUk0oV1BFKQorICAgIElQQzo6QXR0YWNobWVudCBob3N0Q2xpZW50Rmls
ZURlc2NyaXB0b3I7CisgICAgQ1N0cmluZyBpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lOworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvUHJvY2Vzc0xhdW5jaGVyR0xpYi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIuY3Bw
CmluZGV4IDBjMzkwNzNmZTFkLi4zNDAyOGU2ODAzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIu
Y3BwCkBAIC00MiwxMCArNDIsNiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKFdQRSkKLSNpbmNs
dWRlIDx3cGUvd3BlLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyB2
b2lkIGNoaWxkU2V0dXBGdW5jdGlvbihncG9pbnRlciB1c2VyRGF0YSkKQEAgLTExMiwyMCArMTA4
LDYgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQogICAgIEdVbmlxdWVQ
dHI8Z2NoYXI+IHdlYmtpdFNvY2tldChnX3N0cmR1cF9wcmludGYoIiVkIiwgc29ja2V0UGFpci5j
bGllbnQpKTsKICAgICB1bnNpZ25lZCBuYXJncyA9IDU7IC8vIHNpemUgb2YgdGhlIGFyZ3YgYXJy
YXkgZm9yIGdfc3Bhd25fYXN5bmMoKQogCi0jaWYgUExBVEZPUk0oV1BFKQotICAgIEdVbmlxdWVQ
dHI8Z2NoYXI+IHdwZVNvY2tldDsKLSAgICBDU3RyaW5nIHdwZUJhY2tlbmRMaWJyYXJ5UGFyYW1l
dGVyOwotICAgIGlmIChtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5j
aGVyOjpQcm9jZXNzVHlwZTo6V2ViKSB7Ci0jaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19W
RVJTSU9OKSAmJiBXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDAsIDIsIDApCi0gICAgICAgIHdw
ZUJhY2tlbmRMaWJyYXJ5UGFyYW1ldGVyID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2Vu
dGF0aW9uKHdwZV9sb2FkZXJfZ2V0X2xvYWRlZF9pbXBsZW1lbnRhdGlvbl9saWJyYXJ5X25hbWUo
KSk7Ci0jZW5kaWYKLSAgICAgICAgbmFyZ3MrKzsKLQotICAgICAgICB3cGVTb2NrZXQgPSBHVW5p
cXVlUHRyPGdjaGFyPihnX3N0cmR1cF9wcmludGYoIiVkIiwgd3BlX3JlbmRlcmVyX2hvc3RfY3Jl
YXRlX2NsaWVudCgpKSk7Ci0gICAgICAgIG5hcmdzKys7Ci0gICAgfQotI2VuZGlmCi0KICNpZiBF
TkFCTEUoREVWRUxPUEVSX01PREUpCiAgICAgVmVjdG9yPENTdHJpbmc+IHByZWZpeEFyZ3M7CiAg
ICAgaWYgKCFtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc0NtZFByZWZpeC5pc051bGwoKSkgewpAQCAt
MTQ1LDEyICsxMjcsNiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAg
ICAgYXJndltpKytdID0gY29uc3RfY2FzdDxjaGFyKj4ocmVhbEV4ZWN1dGFibGVQYXRoLmRhdGEo
KSk7CiAgICAgYXJndltpKytdID0gcHJvY2Vzc0lkZW50aWZpZXIuZ2V0KCk7CiAgICAgYXJndltp
KytdID0gd2Via2l0U29ja2V0LmdldCgpOwotI2lmIFBMQVRGT1JNKFdQRSkKLSAgICBpZiAobV9s
YXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6
OldlYikgewotICAgICAgICBhcmd2W2krK10gPSBjb25zdF9jYXN0PGNoYXIqPih3cGVCYWNrZW5k
TGlicmFyeVBhcmFtZXRlci5pc051bGwoKSA/ICItIiA6IHdwZUJhY2tlbmRMaWJyYXJ5UGFyYW1l
dGVyLmRhdGEoKSk7Ci0gICAgICAgIGFyZ3ZbaSsrXSA9IHdwZVNvY2tldC5nZXQoKTsKLSAgICB9
Ci0jZW5kaWYKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBhcmd2W2krK10g
PSBjb25zdF9jYXN0PGNoYXIqPihyZWFsUGx1Z2luUGF0aC5kYXRhKCkpOwogI2Vsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJQcm9jZXNzUG9vbFdQRS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwCmluZGV4
IGY1MTAxN2E4Y2EyLi45OTVlYzZkNTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd3BlL1dlYlByb2Nlc3NQb29sV1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy93cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2NoZW1lUmVn
aXN0cnkuaD4KICNpbmNsdWRlIDxjc3RkbGliPgorI2luY2x1ZGUgPHdwZS93cGUuaD4KICNpbmNs
dWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCkBA
IC04Niw2ICs4NywxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemUo
KQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CisgICAgcGFyYW1ldGVy
cy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IgPSB3cGVfcmVuZGVyZXJfaG9zdF9jcmVhdGVfY2xp
ZW50KCk7CisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFD
S0VORF9DSEVDS19WRVJTSU9OKDAsIDIsIDApCisgICAgcGFyYW1ldGVycy5pbXBsZW1lbnRhdGlv
bkxpYnJhcnlOYW1lID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHdwZV9s
b2FkZXJfZ2V0X2xvYWRlZF9pbXBsZW1lbnRhdGlvbl9saWJyYXJ5X25hbWUoKSk7CisjZW5kaWYK
KwogICAgIHBhcmFtZXRlcnMubWVtb3J5Q2FjaGVEaXNhYmxlZCA9IG1fbWVtb3J5Q2FjaGVEaXNh
YmxlZCB8fCBjYWNoZU1vZGVsKCkgPT0gQ2FjaGVNb2RlbDo6RG9jdW1lbnRWaWV3ZXI7CiAKICAg
ICBjb25zdCBjaGFyKiBkaXNhYmxlTWVtb3J5UHJlc3N1cmVNb25pdG9yID0gZ2V0ZW52KCJXRUJL
SVRfRElTQUJMRV9NRU1PUllfUFJFU1NVUkVfTU9OSVRPUiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCmluZGV4IDE3ZGE1MmRlNWVkLi44
NWIwNzM2ODliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2Vi
UHJvY2Vzc0dMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlBy
b2Nlc3NHTGliLmNwcApAQCAtMzUsNiArMzUsMTEgQEAKICNpbmNsdWRlICJXYXlsYW5kQ29tcG9z
aXRvckRpc3BsYXkuaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oV1BFKQorI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1EaXNwbGF5TGliV1BFLmg+CisjaW5jbHVkZSA8d3BlL3dwZS5oPgorI2Vu
ZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0
Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCkBAIC00NCw2ICs0OSwxMiBAQCB2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwp
CiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsKKyNpZiBQTEFURk9STShXUEUp
CisgICAgaWYgKCFwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUuaXNOdWxsKCkp
CisgICAgICAgIHdwZV9sb2FkZXJfaW5pdChwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFy
eU5hbWUuZGF0YSgpKTsKKyAgICBSRUxFQVNFX0FTU0VSVChpczxQbGF0Zm9ybURpc3BsYXlMaWJX
UEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpKSk7CisgICAgZG93bmNhc3Q8UGxh
dGZvcm1EaXNwbGF5TGliV1BFPihQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkuaW5p
dGlhbGl6ZShwYXJhbWV0ZXJzLmhvc3RDbGllbnRGaWxlRGVzY3JpcHRvci5yZWxlYXNlRmlsZURl
c2NyaXB0b3IoKSk7CisjZW5kaWYKICNpZiBQTEFURk9STShXQVlMQU5EKQogICAgIG1fd2F5bGFu
ZENvbXBvc2l0b3JEaXNwbGF5ID0gV2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5OjpjcmVhdGUocGFy
YW1ldGVycy53YXlsYW5kQ29tcG9zaXRvckRpc3BsYXlOYW1lKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcAppbmRleCAx
MzE5MmI0NGQ0My4uZmQ4YzZhYjIwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCkBAIC0yOSwxMSArMjksNyBAQAogCiAjaW5j
bHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01haW4uaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCi0j
aW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybURpc3BsYXlMaWJXUEUuaD4KICNpbmNsdWRlIDxnbGli
Lmg+Ci0jaW5jbHVkZSA8aW9zdHJlYW0+Ci0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5j
bHVkZSA8d3BlL3dwZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwpAQCAtNTMsMjggKzQ5LDYgQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KLQotICAgIGJvb2wgcGFyc2VDb21tYW5kTGluZShpbnQgYXJnYywgY2hhcioqIGFy
Z3YpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBBU1NFUlQoYXJnYyA9PSA1KTsKLSAgICAgICAg
aWYgKGFyZ2MgPCA1KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIGlmICgh
QXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlOjpwYXJzZUNvbW1hbmRMaW5lKGFyZ2MsIGFyZ3YpKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0jaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVD
S19WRVJTSU9OKSAmJiBXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDAsIDIsIDApCi0gICAgICAg
IHdwZV9sb2FkZXJfaW5pdChhcmd2WzNdKTsKLSNlbmRpZgotCi0gICAgICAgIGludCB3cGVGZCA9
IGF0b2koYXJndls0XSk7Ci0gICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaCgKLSAgICAg
ICAgICAgIFt3cGVGZF0gewotICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzPFBsYXRm
b3JtRGlzcGxheUxpYldQRT4oUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkpKTsKLSAg
ICAgICAgICAgICAgICBkb3duY2FzdDxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlz
cGxheTo6c2hhcmVkRGlzcGxheSgpKS5pbml0aWFsaXplKHdwZUZkKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CiB9OwogCiBpbnQgV2ViUHJvY2Vzc01haW5V
bml4KGludCBhcmdjLCBjaGFyKiogYXJndikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361677</attachid>
            <date>2019-02-11 06:18:36 -0800</date>
            <delta_ts>2019-02-20 02:34:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-client-host-fd.diff</filename>
            <type>text/plain</type>
            <size>8690</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZDlhZWJhMDBhNTMuLjMzYjk0YWJhNTJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDE5LTAyLTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBTZW5kIGNsaWVudCBob3N0IGZkIGFuZCBsaWJyYXJ5IG5h
bWUgYXMgd2ViIHByb2Nlc3MgY3JlYXRpb24gcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDk0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiB1c2luZyBjb21tYW5kIGxp
bmUgYXJndW1lbnRzLiBUaGUgY29kZSBpcyBzaW1wbGVyIGFuZCB3ZSBkb24ndCBuZWVkIHdwZSBz
cGVjaWZpYyBjb2RlIGluIHByb2Nlc3MKKyAgICAgICAgbGF1bmNoZXIgZ2xpYiBpbXBsZW1lbnRh
dGlvbi4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwOgorCiAyMDE5LTAyLTEwICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BF
XSBEbyBub3QgdXNlIGEgc3luYyBJUEMgbWVzc2FnZSB0byBzZW5kIHRoZSBob3N0IEZEIHRvIHRo
ZSB3ZWIgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCAyOWY5OTMzZWQ4YS4uM2VjYjFmMTQ0NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCkBAIC0xNTksNiArMTU5LDExIEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVy
IDw8IHNjcmVlblByb3BlcnRpZXM7CiAgICAgZW5jb2RlciA8PCB1c2VPdmVybGF5U2Nyb2xsYmFy
czsKICNlbmRpZgorCisjaWYgUExBVEZPUk0oV1BFKQorICAgIGVuY29kZXIgPDwgaG9zdENsaWVu
dEZpbGVEZXNjcmlwdG9yOworICAgIGVuY29kZXIgPDwgaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFt
ZTsKKyNlbmRpZgogfQogCiBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCkBAIC00MjEsNiArNDI2LDEzIEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oV1BFKQorICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJz
LmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYjc4MjFhYTVjZmIuLjg2ZjU1
ZTFjYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCkBAIC0xOTgsNiArMTk4LDExIEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBXZWJDb3JlOjpTY3JlZW5Qcm9wZXJ0aWVzIHNjcmVlblBy
b3BlcnRpZXM7CiAgICAgYm9vbCB1c2VPdmVybGF5U2Nyb2xsYmFycyB7IHRydWUgfTsKICNlbmRp
ZgorCisjaWYgUExBVEZPUk0oV1BFKQorICAgIElQQzo6QXR0YWNobWVudCBob3N0Q2xpZW50Rmls
ZURlc2NyaXB0b3I7CisgICAgQ1N0cmluZyBpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lOworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvUHJvY2Vzc0xhdW5jaGVyR0xpYi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIuY3Bw
CmluZGV4IDBjMzkwNzNmZTFkLi4zNDAyOGU2ODAzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIu
Y3BwCkBAIC00MiwxMCArNDIsNiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKFdQRSkKLSNpbmNs
dWRlIDx3cGUvd3BlLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyB2
b2lkIGNoaWxkU2V0dXBGdW5jdGlvbihncG9pbnRlciB1c2VyRGF0YSkKQEAgLTExMiwyMCArMTA4
LDYgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQogICAgIEdVbmlxdWVQ
dHI8Z2NoYXI+IHdlYmtpdFNvY2tldChnX3N0cmR1cF9wcmludGYoIiVkIiwgc29ja2V0UGFpci5j
bGllbnQpKTsKICAgICB1bnNpZ25lZCBuYXJncyA9IDU7IC8vIHNpemUgb2YgdGhlIGFyZ3YgYXJy
YXkgZm9yIGdfc3Bhd25fYXN5bmMoKQogCi0jaWYgUExBVEZPUk0oV1BFKQotICAgIEdVbmlxdWVQ
dHI8Z2NoYXI+IHdwZVNvY2tldDsKLSAgICBDU3RyaW5nIHdwZUJhY2tlbmRMaWJyYXJ5UGFyYW1l
dGVyOwotICAgIGlmIChtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5j
aGVyOjpQcm9jZXNzVHlwZTo6V2ViKSB7Ci0jaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19W
RVJTSU9OKSAmJiBXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDAsIDIsIDApCi0gICAgICAgIHdw
ZUJhY2tlbmRMaWJyYXJ5UGFyYW1ldGVyID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2Vu
dGF0aW9uKHdwZV9sb2FkZXJfZ2V0X2xvYWRlZF9pbXBsZW1lbnRhdGlvbl9saWJyYXJ5X25hbWUo
KSk7Ci0jZW5kaWYKLSAgICAgICAgbmFyZ3MrKzsKLQotICAgICAgICB3cGVTb2NrZXQgPSBHVW5p
cXVlUHRyPGdjaGFyPihnX3N0cmR1cF9wcmludGYoIiVkIiwgd3BlX3JlbmRlcmVyX2hvc3RfY3Jl
YXRlX2NsaWVudCgpKSk7Ci0gICAgICAgIG5hcmdzKys7Ci0gICAgfQotI2VuZGlmCi0KICNpZiBF
TkFCTEUoREVWRUxPUEVSX01PREUpCiAgICAgVmVjdG9yPENTdHJpbmc+IHByZWZpeEFyZ3M7CiAg
ICAgaWYgKCFtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc0NtZFByZWZpeC5pc051bGwoKSkgewpAQCAt
MTQ1LDEyICsxMjcsNiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAg
ICAgYXJndltpKytdID0gY29uc3RfY2FzdDxjaGFyKj4ocmVhbEV4ZWN1dGFibGVQYXRoLmRhdGEo
KSk7CiAgICAgYXJndltpKytdID0gcHJvY2Vzc0lkZW50aWZpZXIuZ2V0KCk7CiAgICAgYXJndltp
KytdID0gd2Via2l0U29ja2V0LmdldCgpOwotI2lmIFBMQVRGT1JNKFdQRSkKLSAgICBpZiAobV9s
YXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6
OldlYikgewotICAgICAgICBhcmd2W2krK10gPSBjb25zdF9jYXN0PGNoYXIqPih3cGVCYWNrZW5k
TGlicmFyeVBhcmFtZXRlci5pc051bGwoKSA/ICItIiA6IHdwZUJhY2tlbmRMaWJyYXJ5UGFyYW1l
dGVyLmRhdGEoKSk7Ci0gICAgICAgIGFyZ3ZbaSsrXSA9IHdwZVNvY2tldC5nZXQoKTsKLSAgICB9
Ci0jZW5kaWYKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBhcmd2W2krK10g
PSBjb25zdF9jYXN0PGNoYXIqPihyZWFsUGx1Z2luUGF0aC5kYXRhKCkpOwogI2Vsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJQcm9jZXNzUG9vbFdQRS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwCmluZGV4
IGY1MTAxN2E4Y2EyLi45OTVlYzZkNTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd3BlL1dlYlByb2Nlc3NQb29sV1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy93cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2NoZW1lUmVn
aXN0cnkuaD4KICNpbmNsdWRlIDxjc3RkbGliPgorI2luY2x1ZGUgPHdwZS93cGUuaD4KICNpbmNs
dWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCkBA
IC04Niw2ICs4NywxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemUo
KQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CisgICAgcGFyYW1ldGVy
cy5ob3N0Q2xpZW50RmlsZURlc2NyaXB0b3IgPSB3cGVfcmVuZGVyZXJfaG9zdF9jcmVhdGVfY2xp
ZW50KCk7CisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFD
S0VORF9DSEVDS19WRVJTSU9OKDAsIDIsIDApCisgICAgcGFyYW1ldGVycy5pbXBsZW1lbnRhdGlv
bkxpYnJhcnlOYW1lID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHdwZV9s
b2FkZXJfZ2V0X2xvYWRlZF9pbXBsZW1lbnRhdGlvbl9saWJyYXJ5X25hbWUoKSk7CisjZW5kaWYK
KwogICAgIHBhcmFtZXRlcnMubWVtb3J5Q2FjaGVEaXNhYmxlZCA9IG1fbWVtb3J5Q2FjaGVEaXNh
YmxlZCB8fCBjYWNoZU1vZGVsKCkgPT0gQ2FjaGVNb2RlbDo6RG9jdW1lbnRWaWV3ZXI7CiAKICAg
ICBjb25zdCBjaGFyKiBkaXNhYmxlTWVtb3J5UHJlc3N1cmVNb25pdG9yID0gZ2V0ZW52KCJXRUJL
SVRfRElTQUJMRV9NRU1PUllfUFJFU1NVUkVfTU9OSVRPUiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwCmluZGV4IDE3ZGE1MmRlNWVkLi4x
OTJhMTE3NTY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2dsaWIvV2Vi
UHJvY2Vzc0dMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlBy
b2Nlc3NHTGliLmNwcApAQCAtMzUsNiArMzUsMTEgQEAKICNpbmNsdWRlICJXYXlsYW5kQ29tcG9z
aXRvckRpc3BsYXkuaCIKICNlbmRpZgogCisjaWYgUExBVEZPUk0oV1BFKQorI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1EaXNwbGF5TGliV1BFLmg+CisjaW5jbHVkZSA8d3BlL3dwZS5oPgorI2Vu
ZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0
Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCkBAIC00NCw2ICs0OSwxMyBAQCB2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwp
CiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsKKyNpZiBQTEFURk9STShXUEUp
CisgICAgYXV0byYgaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFtZSA9IHBhcmFtZXRlcnMuaW1wbGVt
ZW50YXRpb25MaWJyYXJ5TmFtZTsKKyAgICBpZiAoIWltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUu
aXNOdWxsKCkgJiYgaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFtZS5kYXRhKClbMF0gIT0gJ1wwJykK
KyAgICAgICAgd3BlX2xvYWRlcl9pbml0KHBhcmFtZXRlcnMuaW1wbGVtZW50YXRpb25MaWJyYXJ5
TmFtZS5kYXRhKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKGlzPFBsYXRmb3JtRGlzcGxheUxpYldQ
RT4oUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkpKTsKKyAgICBkb3duY2FzdDxQbGF0
Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpKS5pbml0
aWFsaXplKHBhcmFtZXRlcnMuaG9zdENsaWVudEZpbGVEZXNjcmlwdG9yLnJlbGVhc2VGaWxlRGVz
Y3JpcHRvcigpKTsKKyNlbmRpZgogI2lmIFBMQVRGT1JNKFdBWUxBTkQpCiAgICAgbV93YXlsYW5k
Q29tcG9zaXRvckRpc3BsYXkgPSBXYXlsYW5kQ29tcG9zaXRvckRpc3BsYXk6OmNyZWF0ZShwYXJh
bWV0ZXJzLndheWxhbmRDb21wb3NpdG9yRGlzcGxheU5hbWUpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCmluZGV4IDEz
MTkyYjQ0ZDQzLi5mZDhjNmFiMjAyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHAKQEAgLTI5LDExICsyOSw3IEBACiAKICNpbmNs
dWRlICJBdXhpbGlhcnlQcm9jZXNzTWFpbi5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNp
bmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxheUxpYldQRS5oPgogI2luY2x1ZGUgPGdsaWIu
aD4KLSNpbmNsdWRlIDxpb3N0cmVhbT4KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNs
dWRlIDx3cGUvd3BlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CkBAIC01MywyOCArNDksNiBAQCBwdWJsaWM6CiAKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQotCi0gICAgYm9vbCBwYXJzZUNvbW1hbmRMaW5lKGludCBhcmdjLCBjaGFyKiogYXJn
dikgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIEFTU0VSVChhcmdjID09IDUpOwotICAgICAgICBp
ZiAoYXJnYyA8IDUpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgaWYgKCFB
dXhpbGlhcnlQcm9jZXNzTWFpbkJhc2U6OnBhcnNlQ29tbWFuZExpbmUoYXJnYywgYXJndikpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNL
X1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMCwgMiwgMCkKLSAgICAgICAg
d3BlX2xvYWRlcl9pbml0KGFyZ3ZbM10pOwotI2VuZGlmCi0KLSAgICAgICAgaW50IHdwZUZkID0g
YXRvaShhcmd2WzRdKTsKLSAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKAotICAgICAg
ICAgICAgW3dwZUZkXSB7Ci0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXM8UGxhdGZv
cm1EaXNwbGF5TGliV1BFPihQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkpOwotICAg
ICAgICAgICAgICAgIGRvd25jYXN0PFBsYXRmb3JtRGlzcGxheUxpYldQRT4oUGxhdGZvcm1EaXNw
bGF5OjpzaGFyZWREaXNwbGF5KCkpLmluaXRpYWxpemUod3BlRmQpOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KIH07CiAKIGludCBXZWJQcm9jZXNzTWFpblVu
aXgoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQo=
</data>
<flag name="review"
          id="378327"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362489</attachid>
            <date>2019-02-20 02:34:06 -0800</date>
            <delta_ts>2019-02-20 02:34:06 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wpe-host-fd.diff</filename>
            <type>text/plain</type>
            <size>8784</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMmNhNTliOTgwYWYuLjI0MmNlYTE2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDE5LTAyLTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBTZW5kIGNsaWVudCBob3N0IGZkIGFuZCBsaWJyYXJ5IG5h
bWUgYXMgd2ViIHByb2Nlc3MgY3JlYXRpb24gcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDk0CisKKyAgICAgICAgUmV2aWV3ZWQg
Ynkgxb1hbiBEb2JlcsWhZWsuCisKKyAgICAgICAgSW5zdGVhZCBvZiB1c2luZyBjb21tYW5kIGxp
bmUgYXJndW1lbnRzLiBUaGUgY29kZSBpcyBzaW1wbGVyIGFuZCB3ZSBkb24ndCBuZWVkIHdwZSBz
cGVjaWZpYyBjb2RlIGluIHByb2Nlc3MKKyAgICAgICAgbGF1bmNoZXIgZ2xpYiBpbXBsZW1lbnRh
dGlvbi4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9nbGliL1Byb2Nlc3NMYXVuY2hlckdMaWIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xpYi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc0dMaWIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHA6CisKIDIwMTktMDItMjAg
IEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
V1BFXVtHVEtdIEVuYWJsZSBzdXBwb3J0IGZvciBDT05URU5UX0VYVEVOU0lPTlMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAK
aW5kZXggMjlmOTkzM2VkOGEuLjNlY2IxZjE0NDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMTU5LDYgKzE1
OSwxMSBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBzY3JlZW5Qcm9wZXJ0aWVzOwog
ICAgIGVuY29kZXIgPDwgdXNlT3ZlcmxheVNjcm9sbGJhcnM7CiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKFdQRSkKKyAgICBlbmNvZGVyIDw8IGhvc3RDbGllbnRGaWxlRGVzY3JpcHRvcjsKKyAgICBl
bmNvZGVyIDw8IGltcGxlbWVudGF0aW9uTGlicmFyeU5hbWU7CisjZW5kaWYKIH0KIAogYm9vbCBX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVy
LCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpAQCAtNDIxLDYgKzQy
NiwxMyBAQCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRl
Y29kZXImIGRlY29kZXIsIFdlYlByb2Nlc3NDcmVhdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKFdQRSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFt
ZXRlcnMuaG9zdENsaWVudEZpbGVEZXNjcmlwdG9yKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5pbXBsZW1lbnRhdGlvbkxpYnJhcnlO
YW1lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCmluZGV4IGI3ODIxYWE1Y2ZiLi44NmY1NWUxY2EzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTk4
LDYgKzE5OCwxMSBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAg
V2ViQ29yZTo6U2NyZWVuUHJvcGVydGllcyBzY3JlZW5Qcm9wZXJ0aWVzOwogICAgIGJvb2wgdXNl
T3ZlcmxheVNjcm9sbGJhcnMgeyB0cnVlIH07CiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKFdQRSkK
KyAgICBJUEM6OkF0dGFjaG1lbnQgaG9zdENsaWVudEZpbGVEZXNjcmlwdG9yOworICAgIENTdHJp
bmcgaW1wbGVtZW50YXRpb25MaWJyYXJ5TmFtZTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9n
bGliL1Byb2Nlc3NMYXVuY2hlckdMaWIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1
bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcAppbmRleCAwYzM5MDczZmUxZC4uMzQw
MjhlNjgwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2ds
aWIvUHJvY2Vzc0xhdW5jaGVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TGF1bmNoZXIvZ2xpYi9Qcm9jZXNzTGF1bmNoZXJHTGliLmNwcApAQCAtNDIsMTAgKzQyLDYgQEAK
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKLSNpZiBQTEFURk9STShXUEUpCi0jaW5jbHVkZSA8d3BlL3dwZS5oPgotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgdm9pZCBjaGlsZFNldHVwRnVuY3Rpb24o
Z3BvaW50ZXIgdXNlckRhdGEpCkBAIC0xMTIsMjAgKzEwOCw2IEBAIHZvaWQgUHJvY2Vzc0xhdW5j
aGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICBHVW5pcXVlUHRyPGdjaGFyPiB3ZWJraXRTb2NrZXQo
Z19zdHJkdXBfcHJpbnRmKCIlZCIsIHNvY2tldFBhaXIuY2xpZW50KSk7CiAgICAgdW5zaWduZWQg
bmFyZ3MgPSA1OyAvLyBzaXplIG9mIHRoZSBhcmd2IGFycmF5IGZvciBnX3NwYXduX2FzeW5jKCkK
IAotI2lmIFBMQVRGT1JNKFdQRSkKLSAgICBHVW5pcXVlUHRyPGdjaGFyPiB3cGVTb2NrZXQ7Ci0g
ICAgQ1N0cmluZyB3cGVCYWNrZW5kTGlicmFyeVBhcmFtZXRlcjsKLSAgICBpZiAobV9sYXVuY2hP
cHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGU6OldlYikg
ewotI2lmIGRlZmluZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRf
Q0hFQ0tfVkVSU0lPTigwLCAyLCAwKQotICAgICAgICB3cGVCYWNrZW5kTGlicmFyeVBhcmFtZXRl
ciA9IEZpbGVTeXN0ZW06OmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbih3cGVfbG9hZGVyX2dldF9s
b2FkZWRfaW1wbGVtZW50YXRpb25fbGlicmFyeV9uYW1lKCkpOwotI2VuZGlmCi0gICAgICAgIG5h
cmdzKys7Ci0KLSAgICAgICAgd3BlU29ja2V0ID0gR1VuaXF1ZVB0cjxnY2hhcj4oZ19zdHJkdXBf
cHJpbnRmKCIlZCIsIHdwZV9yZW5kZXJlcl9ob3N0X2NyZWF0ZV9jbGllbnQoKSkpOwotICAgICAg
ICBuYXJncysrOwotICAgIH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKERFVkVMT1BFUl9NT0RFKQog
ICAgIFZlY3RvcjxDU3RyaW5nPiBwcmVmaXhBcmdzOwogICAgIGlmICghbV9sYXVuY2hPcHRpb25z
LnByb2Nlc3NDbWRQcmVmaXguaXNOdWxsKCkpIHsKQEAgLTE0NSwxMiArMTI3LDYgQEAgdm9pZCBQ
cm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQogICAgIGFyZ3ZbaSsrXSA9IGNvbnN0X2Nh
c3Q8Y2hhcio+KHJlYWxFeGVjdXRhYmxlUGF0aC5kYXRhKCkpOwogICAgIGFyZ3ZbaSsrXSA9IHBy
b2Nlc3NJZGVudGlmaWVyLmdldCgpOwogICAgIGFyZ3ZbaSsrXSA9IHdlYmtpdFNvY2tldC5nZXQo
KTsKLSNpZiBQTEFURk9STShXUEUpCi0gICAgaWYgKG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlw
ZSA9PSBQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpXZWIpIHsKLSAgICAgICAgYXJndltp
KytdID0gY29uc3RfY2FzdDxjaGFyKj4od3BlQmFja2VuZExpYnJhcnlQYXJhbWV0ZXIuaXNOdWxs
KCkgPyAiLSIgOiB3cGVCYWNrZW5kTGlicmFyeVBhcmFtZXRlci5kYXRhKCkpOwotICAgICAgICBh
cmd2W2krK10gPSB3cGVTb2NrZXQuZ2V0KCk7Ci0gICAgfQotI2VuZGlmCiAjaWYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgYXJndltpKytdID0gY29uc3RfY2FzdDxjaGFyKj4ocmVh
bFBsdWdpblBhdGguZGF0YSgpKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xpYi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9nbGliL1dlYlByb2Nlc3NQb29sR0xpYi5jcHAKaW5kZXggYTJhMTYwYmU2ODYuLjY3ZmUz
ZGI4YTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlByb2Nl
c3NQb29sR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xpYi9XZWJQcm9j
ZXNzUG9vbEdMaWIuY3BwCkBAIC0zMiw4ICszMiwxMyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNw
ZWN0b3JTZXJ2ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dTdHJlYW1lckNvbW1vbi5oPgorI2lu
Y2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5o
PgogCisjaWYgUExBVEZPUk0oV1BFKQorI2luY2x1ZGUgPHdwZS93cGUuaD4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpAQCAtODMs
NiArODgsMTMgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplKCkKIAog
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogeworI2lmIFBMQVRGT1JNKFdQRSkK
KyAgICBwYXJhbWV0ZXJzLmhvc3RDbGllbnRGaWxlRGVzY3JpcHRvciA9IHdwZV9yZW5kZXJlcl9o
b3N0X2NyZWF0ZV9jbGllbnQoKTsKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJ
T04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMCwgMiwgMCkKKyAgICBwYXJhbWV0ZXJz
LmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUgPSBGaWxlU3lzdGVtOjpmaWxlU3lzdGVtUmVwcmVz
ZW50YXRpb24od3BlX2xvYWRlcl9nZXRfbG9hZGVkX2ltcGxlbWVudGF0aW9uX2xpYnJhcnlfbmFt
ZSgpKTsKKyNlbmRpZgorI2VuZGlmCisKICAgICBwYXJhbWV0ZXJzLm1lbW9yeUNhY2hlRGlzYWJs
ZWQgPSBtX21lbW9yeUNhY2hlRGlzYWJsZWQgfHwgY2FjaGVNb2RlbCgpID09IENhY2hlTW9kZWw6
OkRvY3VtZW50Vmlld2VyOwogICAgIHBhcmFtZXRlcnMucHJveHlTZXR0aW5ncyA9IG1fbmV0d29y
a1Byb3h5U2V0dGluZ3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9n
bGliL1dlYlByb2Nlc3NHTGliLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dl
YlByb2Nlc3NHTGliLmNwcAppbmRleCAxN2RhNTJkZTVlZC4uMTkyYTExNzU2NDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NHTGliLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzR0xpYi5jcHAKQEAgLTM1
LDYgKzM1LDExIEBACiAjaW5jbHVkZSAiV2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5LmgiCiAjZW5k
aWYKIAorI2lmIFBMQVRGT1JNKFdQRSkKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxh
eUxpYldQRS5oPgorI2luY2x1ZGUgPHdwZS93cGUuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2Rl
bCBjYWNoZU1vZGVsKQpAQCAtNDQsNiArNDksMTMgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9y
bVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogCiB2b2lkIFdlYlByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYmIHBhcmFtZXRlcnMpCiB7CisjaWYgUExBVEZPUk0oV1BFKQorICAgIGF1dG8mIGltcGxlbWVu
dGF0aW9uTGlicmFyeU5hbWUgPSBwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWU7
CisgICAgaWYgKCFpbXBsZW1lbnRhdGlvbkxpYnJhcnlOYW1lLmlzTnVsbCgpICYmIGltcGxlbWVu
dGF0aW9uTGlicmFyeU5hbWUuZGF0YSgpWzBdICE9ICdcMCcpCisgICAgICAgIHdwZV9sb2FkZXJf
aW5pdChwYXJhbWV0ZXJzLmltcGxlbWVudGF0aW9uTGlicmFyeU5hbWUuZGF0YSgpKTsKKyAgICBS
RUxFQVNFX0FTU0VSVChpczxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6
c2hhcmVkRGlzcGxheSgpKSk7CisgICAgZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5TGliV1BFPihQ
bGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKSkuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzLmhv
c3RDbGllbnRGaWxlRGVzY3JpcHRvci5yZWxlYXNlRmlsZURlc2NyaXB0b3IoKSk7CisjZW5kaWYK
ICNpZiBQTEFURk9STShXQVlMQU5EKQogICAgIG1fd2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5ID0g
V2F5bGFuZENvbXBvc2l0b3JEaXNwbGF5OjpjcmVhdGUocGFyYW1ldGVycy53YXlsYW5kQ29tcG9z
aXRvckRpc3BsYXlOYW1lKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcAppbmRleCAxMzE5MmI0NGQ0My4uZmQ4YzZhYjIw
MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01h
aW5XUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01h
aW5XUEUuY3BwCkBAIC0yOSwxMSArMjksNyBAQAogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vz
c01haW4uaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybURpc3BsYXlMaWJXUEUuaD4KICNpbmNsdWRlIDxnbGliLmg+Ci0jaW5jbHVkZSA8aW9zdHJl
YW0+Ci0jaW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3BlL3dwZS5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNTMsMjggKzQ5
LDYgQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLQotICAgIGJvb2wg
cGFyc2VDb21tYW5kTGluZShpbnQgYXJnYywgY2hhcioqIGFyZ3YpIG92ZXJyaWRlCi0gICAgewot
ICAgICAgICBBU1NFUlQoYXJnYyA9PSA1KTsKLSAgICAgICAgaWYgKGFyZ2MgPCA1KQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIGlmICghQXV4aWxpYXJ5UHJvY2Vzc01haW5C
YXNlOjpwYXJzZUNvbW1hbmRMaW5lKGFyZ2MsIGFyZ3YpKQotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0jaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFD
S0VORF9DSEVDS19WRVJTSU9OKDAsIDIsIDApCi0gICAgICAgIHdwZV9sb2FkZXJfaW5pdChhcmd2
WzNdKTsKLSNlbmRpZgotCi0gICAgICAgIGludCB3cGVGZCA9IGF0b2koYXJndls0XSk7Ci0gICAg
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaCgKLSAgICAgICAgICAgIFt3cGVGZF0gewotICAg
ICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzPFBsYXRmb3JtRGlzcGxheUxpYldQRT4oUGxh
dGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkpKTsKLSAgICAgICAgICAgICAgICBkb3duY2Fz
dDxQbGF0Zm9ybURpc3BsYXlMaWJXUEU+KFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgp
KS5pbml0aWFsaXplKHdwZUZkKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9CiB9OwogCiBpbnQgV2ViUHJvY2Vzc01haW5Vbml4KGludCBhcmdjLCBjaGFyKiog
YXJndikK
</data>

          </attachment>
      

    </bug>

</bugzilla>