<?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>181377</bug_id>
          
          <creation_ts>2018-01-08 02:08:28 -0800</creation_ts>
          <short_desc>[GStreamer][Soup] implement session sharing</short_desc>
          <delta_ts>2019-03-12 11:08:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>189967</dup_id>
          
          <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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1386633</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-08 02:08:28 -0800</bug_when>
    <thetext>souphttpsrc is able to share its session using GstContext nowadays. This is useful for session data (cookies, etc) reuse by adaptive streaming downloaders. Not sure we correctly handle this yet...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386635</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-01-08 02:13:00 -0800</bug_when>
    <thetext>This is not possible. souphttpsrc is used for HLS and other things from the web process, while the soup session is in the network process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389527</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-16 06:48:53 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #1)
&gt; This is not possible. souphttpsrc is used for HLS and other things from the
&gt; web process, while the soup session is in the network process

Sure, but nothing prevents the player to forge a SoupSession upon request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389559</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-01-16 08:25:55 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #1)
&gt; This is not possible. souphttpsrc is used for HLS and other things from the
&gt; web process

Obligatory reminder that this will break when we sandbox the web process so that it doesn&apos;t have network access anymore (which is important)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389585</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-16 09:49:41 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; (In reply to Carlos Garcia Campos from comment #1)
&gt; &gt; This is not possible. souphttpsrc is used for HLS and other things from the
&gt; &gt; web process
&gt; 
&gt; Obligatory reminder that this will break when we sandbox the web process so
&gt; that it doesn&apos;t have network access anymore (which is important)

Then the webkit+http URI hack should be reverted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389884</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-01-16 22:39:29 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #4)
&gt; (In reply to Michael Catanzaro from comment #3)
&gt; &gt; (In reply to Carlos Garcia Campos from comment #1)
&gt; &gt; &gt; This is not possible. souphttpsrc is used for HLS and other things from the
&gt; &gt; &gt; web process
&gt; &gt; 
&gt; &gt; Obligatory reminder that this will break when we sandbox the web process so
&gt; &gt; that it doesn&apos;t have network access anymore (which is important)
&gt; 
&gt; Then the webkit+http URI hack should be reverted.

That will not help. Even when we downloaded the HLS stuff with our src element, we did that in the web process. We need a media player associated to the src element for requests to be sent to the network process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389917</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-17 01:02:39 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #5)
&gt; (In reply to Philippe Normand from comment #4)
&gt; &gt; (In reply to Michael Catanzaro from comment #3)
&gt; &gt; &gt; (In reply to Carlos Garcia Campos from comment #1)
&gt; &gt; &gt; &gt; This is not possible. souphttpsrc is used for HLS and other things from the
&gt; &gt; &gt; &gt; web process
&gt; &gt; &gt; 
&gt; &gt; &gt; Obligatory reminder that this will break when we sandbox the web process so
&gt; &gt; &gt; that it doesn&apos;t have network access anymore (which is important)
&gt; &gt; 
&gt; &gt; Then the webkit+http URI hack should be reverted.
&gt; 
&gt; That will not help. Even when we downloaded the HLS stuff with our src
&gt; element, we did that in the web process. We need a media player associated
&gt; to the src element for requests to be sent to the network process.

by media player you mean MediaPlayer*? If so that can be wrapped in a GstContext that the element would query from upstream elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390481</commentid>
    <comment_count>7</comment_count>
      <attachid>331615</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-18 05:23:11 -0800</bug_when>
    <thetext>Created attachment 331615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390482</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-18 05:25:20 -0800</bug_when>
    <thetext>Not asking review because the patch requires a bump to unreleased GStreamer 1.14 anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390491</commentid>
    <comment_count>9</comment_count>
      <attachid>331617</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-18 06:49:03 -0800</bug_when>
    <thetext>Created attachment 331617
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391008</commentid>
    <comment_count>10</comment_count>
      <attachid>331617</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-01-19 10:20:32 -0800</bug_when>
    <thetext>Comment on attachment 331617
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        Note: This will break again whenever the web process gets
&gt; +        sandboxed. When that happens we should use the webkit http src
&gt; +        element for all network requests again. That means removing the
&gt; +        webkit+http URL hack from the player and http src element.

The web process sandbox is a short-term goal; if all goes according to plan (which never happens) I hope to have it ready in time for the 2.22 release. So I wonder if it makes sense to do this... is this really movement in the right direction?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394055</commentid>
    <comment_count>11</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-01-29 05:12:53 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #10)
&gt; Comment on attachment 331617 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=331617&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:16
&gt; &gt; +        Note: This will break again whenever the web process gets
&gt; &gt; +        sandboxed. When that happens we should use the webkit http src
&gt; &gt; +        element for all network requests again. That means removing the
&gt; &gt; +        webkit+http URL hack from the player and http src element.
&gt; 
&gt; The web process sandbox is a short-term goal; if all goes according to plan
&gt; (which never happens) I hope to have it ready in time for the 2.22 release.
&gt; So I wonder if it makes sense to do this... is this really movement in the
&gt; right direction?

What do you mean by &quot;this&quot;?
AFAIU when sandboxing is enabled the web process will no longer have network access, so that means the souphttpsrc element used by GStreamer&apos;s adaptivedemux to download HLS fragments will no longer work. They way to fix it would be to undo the webkit+http hacks mentioned above so that the network process is used to download fragments.

I have a proof-of-concept patch which:
1. reverts the hack
2. enable MediaPlayer sharing between multiple webkitwebsrc elements so that the HTTP session data can be reused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515525</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-03-12 11:08:21 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 189967 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331615</attachid>
            <date>2018-01-18 05:23:11 -0800</date>
            <delta_ts>2018-01-18 06:48:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181377-20180118132310.patch</filename>
            <type>text/plain</type>
            <size>16152</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZiZmI0MjgxYzcyMjk0
NmI4ODE2ZWM1YzhjMGYwMTA5ZWVjOTUyNy4uMTA5MDU1MjU3OGQ4ZDFiY2NhNWM4NGQ3ZmQ2Mzlk
NzBlYjEyNGUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE4LTAxLTE4ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XVtTb3VwXSBpbXBsZW1lbnQgc2Vzc2lvbiBzaGFyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEzNzcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaW5pbWFsIEhUVFAgc2Vzc2lvbiBzaGFyaW5nIHN1
cHBvcnQgdGhhdCB3b3JrcyBvbmx5IHdpdGggdGhlCisgICAgICAgIHVwY29taW5nIEdTdHJlYW1l
ciAxLjE0LiBIb3dldmVyIG5vIHZlcnNpb24gY2hlY2sgaWZkZWYgaXMgbmVlZGVkCisgICAgICAg
IGJlY2F1c2Ugbm8gY29tcGlsYXRpb24gZXJyb3Igb2NjdXJzIHdpdGggb2xkZXIgdmVyc2lvbnMg
b2YKKyAgICAgICAgR1N0cmVhbWVyLgorCisgICAgICAgIE5vdGU6IFRoaXMgd2lsbCBicmVhayBh
Z2FpbiB3aGVuZXZlciB0aGUgd2ViIHByb2Nlc3MgZ2V0cworICAgICAgICBzYW5kYm94ZWQuIFdo
ZW4gdGhhdCBoYXBwZW5zIHdlIHNob3VsZCB1c2UgdGhlIHdlYmtpdCBodHRwIHNyYworICAgICAg
ICBlbGVtZW50IGZvciBhbGwgbmV0d29yayByZXF1ZXN0cyBhZ2Fpbi4gVGhhdCBtZWFucyByZW1v
dmluZyB0aGUKKyAgICAgICAgd2Via2l0K2h0dHAgVVJMIGhhY2sgZnJvbSB0aGUgcGxheWVyIGFu
ZCBodHRwIHNyYyBlbGVtZW50LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UpOiBQcm9jZXNzCisgICAg
ICAgIEhUVFAgcmVzcG9uc2UgaGVhZGVycyBvbmx5IGZyb20gdGhlIHdlYmtpdCBodHRwIHNyYyBl
bGVtZW50LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVN5bmNNZXNzYWdlKToKKyAgICAgICAgUHJvY2Vz
cyBnc3Quc291cC5zZXNzaW9uIG5lZWQtY29udGV4dCBtZXNzYWdlLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVxdWVzdFNvdXBDb250ZXh0KToK
KyAgICAgICAgQnVpbGQgYSBiYXJlYm9uZSBzb3VwIHNlc3Npb24gdGhhdCBHU3RyZWFtZXIncyBh
ZGFwdGl2ZWRlbXV4IGFuZAorICAgICAgICB1cmlkb3dubG9hZGVyIGNhbiB1c2UuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2UuaDoKKwogMjAxOC0wMS0xOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBTcGVjaWZ5IC1bTlNVUkwgX3RpdGxlXSBmb3IgdGhlIGFz
c29jaWF0ZWQgVVJMIHdoZW4gY29weWluZyBhbiBpbWFnZSBlbGVtZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGU4ODI2NmZkNmY2YjJl
MTc4MWVmNWQ5Y2JjOTgyNWUwZWMxMWFkN2QuLjEzNDg5YzQwMDk2NWQ2MjU2OTU5ZmNkZTk5Mjcz
MDUyOTk2OTEyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwCkBAIC0xMDU2LDcgKzEwNTYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6aGFuZGxlTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogICAgICAgICAgICAg
aGFuZGxlUHJvdGVjdGlvbkV2ZW50KGV2ZW50LmdldCgpKTsKICAgICAgICAgfQogI2VuZGlmCi0g
ICAgICAgIGVsc2UgaWYgKGdzdF9zdHJ1Y3R1cmVfaGFzX25hbWUoc3RydWN0dXJlLCAiaHR0cC1o
ZWFkZXJzIikpIHsKKyAgICAgICAgZWxzZSBpZiAoV0VCS0lUX0lTX1dFQl9TUkMoR1NUX01FU1NB
R0VfU1JDKG1lc3NhZ2UpKSAmJiBnc3Rfc3RydWN0dXJlX2hhc19uYW1lKHN0cnVjdHVyZSwgImh0
dHAtaGVhZGVycyIpKSB7CiAgICAgICAgICAgICBHc3RTdHJ1Y3R1cmUqIHJlc3BvbnNlSGVhZGVy
czsKICAgICAgICAgICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldChzdHJ1Y3R1cmUsICJyZXNwb25z
ZS1oZWFkZXJzIiwgR1NUX1RZUEVfU1RSVUNUVVJFLCAmcmVzcG9uc2VIZWFkZXJzLCBudWxscHRy
KSkgewogICAgICAgICAgICAgICAgIGlmICghZ3N0X3N0cnVjdHVyZV9oYXNfZmllbGQocmVzcG9u
c2VIZWFkZXJzLCBodHRwSGVhZGVyTmFtZVN0cmluZyhIVFRQSGVhZGVyTmFtZTo6Q29udGVudExl
bmd0aCkudXRmOCgpLmRhdGEoKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCBhMTY1NDNhMzFhYmNjMmNmNDY0MmEzYzRk
ZmZmY2UxOGRlZmFlY2FiLi5jZjg4ZjZjZWU5ZjAxM2QxNTg1NjU4YzgyMDg5YTcxMDUyZDk1MzU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCkBAIC0xMTcsNiArMTE3LDEwIEBACiAjZW5kaWYKICNlbmRpZiAvLyBVU0UoVEVYVFVS
RV9NQVBQRVJfR0wpCiAKKyNpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
KyNlbmRpZgorCiBHU1RfREVCVUdfQ0FURUdPUlkod2Via2l0X21lZGlhX3BsYXllcl9kZWJ1Zyk7
CiAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCB3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVnCiAKQEAg
LTMyMiw2ICszMjYsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Omhh
bmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAKICAgICBjb25zdCBnY2hhciog
Y29udGV4dFR5cGU7CiAgICAgZ3N0X21lc3NhZ2VfcGFyc2VfY29udGV4dF90eXBlKG1lc3NhZ2Us
ICZjb250ZXh0VHlwZSk7CisgICAgR1NUX0RFQlVHKCJQcm9jZXNzaW5nIG5lZWQtY29udGV4dCAl
cyBtZXNzYWdlIiwgY29udGV4dFR5cGUpOwogCiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKICAgICBH
UmVmUHRyPEdzdENvbnRleHQ+IGVsZW1lbnRDb250ZXh0ID0gYWRvcHRHUmVmKHJlcXVlc3RHTENv
bnRleHQoY29udGV4dFR5cGUsIHRoaXMpKTsKQEAgLTMzMSw2ICszMzYsMTQgQEAgYm9vbCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdl
KiBtZXNzYWdlKQogICAgIH0KICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSX0dMKQogCisgICAgaWYg
KCFnX3N0cmNtcDAoY29udGV4dFR5cGUsICJnc3Quc291cC5zZXNzaW9uIikpIHsKKyAgICAgICAg
R1JlZlB0cjxHc3RDb250ZXh0PiBlbGVtZW50Q29udGV4dCA9IGFkb3B0R1JlZihyZXF1ZXN0U291
cENvbnRleHQoY29udGV4dFR5cGUpKTsKKyAgICAgICAgaWYgKGVsZW1lbnRDb250ZXh0KSB7Cisg
ICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfY29udGV4dChHU1RfRUxFTUVOVChtZXNzYWdlLT5z
cmMpLCBlbGVtZW50Q29udGV4dC5nZXQoKSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgfQorICAgIH0KKwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgaWYgKCFn
X3N0cmNtcDAoY29udGV4dFR5cGUsICJkcm0tcHJlZmVycmVkLWRlY3J5cHRpb24tc3lzdGVtLWlk
IikpIHsKICAgICAgICAgaWYgKGlzTWFpblRocmVhZCgpKSB7CkBAIC00MDYsNiArNDE5LDMyIEBA
IGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01lc3NhZ2Uo
R3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0dzdFN0cnVjdHVy
ZSogTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVxdWVzdFNvdXBDb250ZXh0KGNv
bnN0IGdjaGFyKiBjb250ZXh0VHlwZSkKK3sKKyNpZiBVU0UoU09VUCkKKyAgICBHc3RDb250ZXh0
KiBjb250ZXh0ID0gZ3N0X2NvbnRleHRfbmV3KGNvbnRleHRUeXBlLCBUUlVFKTsKKworICAgIGlm
ICghbV9zb3VwU2Vzc2lvbikgeworICAgICAgICBTdHJpbmcgdXNlckFnZW50ID0gbV9wbGF5ZXIt
PnVzZXJBZ2VudCgpOworICAgICAgICBtX3NvdXBTZXNzaW9uID0gYWRvcHRHUmVmKHNvdXBfc2Vz
c2lvbl9uZXdfd2l0aF9vcHRpb25zKFNPVVBfU0VTU0lPTl9VU0VSX0FHRU5ULCB1c2VyQWdlbnQu
dXRmOCgpLmRhdGEoKSwKKyAgICAgICAgICAgIFNPVVBfU0VTU0lPTl9BRERfRkVBVFVSRV9CWV9U
WVBFLCBTT1VQX1RZUEVfQ09OVEVOVF9ERUNPREVSLAorICAgICAgICAgICAgU09VUF9TRVNTSU9O
X0FERF9GRUFUVVJFX0JZX1RZUEUsIFNPVVBfVFlQRV9DT05URU5UX1NOSUZGRVIsCisgICAgICAg
ICAgICBTT1VQX1NFU1NJT05fQUREX0ZFQVRVUkVfQllfVFlQRSwgU09VUF9UWVBFX1BST1hZX1JF
U09MVkVSX0RFRkFVTFQsCisgICAgICAgICAgICBTT1VQX1NFU1NJT05fQUREX0ZFQVRVUkVfQllf
VFlQRSwgU09VUF9UWVBFX0NPT0tJRV9KQVIsCisgICAgICAgICAgICBTT1VQX1NFU1NJT05fVVNF
X1RIUkVBRF9DT05URVhULCBUUlVFLAorICAgICAgICAgICAgU09VUF9TRVNTSU9OX1NTTF9VU0Vf
U1lTVEVNX0NBX0ZJTEUsIFRSVUUsCisgICAgICAgICAgICBTT1VQX1NFU1NJT05fU1NMX1NUUklD
VCwgRkFMU0UsCisgICAgICAgICAgICBudWxscHRyKSk7CisgICAgfQorCisgICAgR3N0U3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBnc3RfY29udGV4dF93cml0YWJsZV9zdHJ1Y3R1cmUoY29udGV4dCk7
CisgICAgZ3N0X3N0cnVjdHVyZV9zZXQoc3RydWN0dXJlLCAic2Vzc2lvbiIsIFNPVVBfVFlQRV9T
RVNTSU9OLCBtX3NvdXBTZXNzaW9uLmdldCgpLCBudWxscHRyKTsKKyAgICByZXR1cm4gY29udGV4
dDsKKyNlbHNlCisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKwogI2lmIFVTRShHU1RS
RUFNRVJfR0wpCiBHc3RDb250ZXh0KiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpy
ZXF1ZXN0R0xDb250ZXh0KGNvbnN0IGdjaGFyKiBjb250ZXh0VHlwZSwgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZSogcGxheWVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKaW5kZXggMDNmZWRlYTk3NTkyYWMyNWU3ODA0YTRl
ZDlkYjZhZjk5MWU2OTAzZS4uYzc4Yjc2YTZjZjNiZjI3ZWM2MDA2MDFlZGQ4ZjI5YjY5MGY0MzYz
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZS5oCkBAIC03OSw2ICs3OSw5IEBAIHB1YmxpYzoKICAgICBib29sIGVuc3VyZUdzdEdMQ29udGV4
dCgpOwogICAgIHN0YXRpYyBHc3RDb250ZXh0KiByZXF1ZXN0R0xDb250ZXh0KGNvbnN0IGdjaGFy
KiBjb250ZXh0VHlwZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSopOwogI2VuZGlm
CisKKyAgICBHc3RDb250ZXh0KiByZXF1ZXN0U291cENvbnRleHQoY29uc3QgZ2NoYXIqIGNvbnRl
eHRUeXBlKTsKKwogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVHU3RyZWFtZXJBbmRSZWdpc3Rl
cldlYktpdEVsZW1lbnRzKCk7CiAgICAgYm9vbCBzdXBwb3J0c011dGluZygpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIHNldE11dGVkKGJvb2wpIG92ZXJyaWRlOwpA
QCAtMjUzLDYgKzI1Niw5IEBAIHByb3RlY3RlZDoKICAgICBIYXNoU2V0PHVpbnQzMl90PiBtX2hh
bmRsZWRQcm90ZWN0aW9uRXZlbnRzOwogICAgIGJvb2wgbV9uZWVkVG9SZXNlbmRDcmVkZW50aWFs
cyB7IGZhbHNlIH07CiAjZW5kaWYKKyNpZiBVU0UoU09VUCkKKyAgICBHUmVmUHRyPFNvdXBTZXNz
aW9uPiBtX3NvdXBTZXNzaW9uOworI2VuZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWRjZmQ1YmMzMTRhZGNlYWI0NWU0NTRj
OTM4NzM1NmI5YjM2YmUwNC4uYjQ2Zjc2MzE1YmEyNDQ0OWEwMzM2YTI0NjU3NTM5Y2I3N2ZjZjg2
OSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDE4LTAxLTE4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXVtTb3VwXSBpbXBsZW1lbnQgc2Vzc2lvbiBz
aGFyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODEzNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmUgdXNlbGVzcyBzb3VwaHR0cHNyYyBwYXRjaC4gVGhpcyBwYXRjaCBwcmV2YWlscyB0aGUK
KyAgICAgICAgbm93LXVwc3RyZWFtIHNvdXAgc2Vzc2lvbiBzaGFyaW5nIGZlYXR1cmUuCisgICAg
ICAgIAorICAgICAgICAqIGdzdHJlYW1lci9qaGJ1aWxkLm1vZHVsZXM6CisgICAgICAgICogZ3N0
cmVhbWVyL3BhdGNoZXMvZ3N0LXBsdWdpbnMtZ29vZC0wMDA1LXNvdXBodHRwc3JjLWNvb2tpZS1q
YXItYW5kLWNvbnRleHQtcXVlcnktc3VwcG9ydC5wYXRjaDogUmVtb3ZlZC4KKwogMjAxOC0wMS0x
OCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBTcGVjaWZ5IC1bTlNVUkwgX3RpdGxlXSBmb3IgdGhlIGFzc29jaWF0ZWQgVVJMIHdoZW4gY29w
eWluZyBhbiBpbWFnZSBlbGVtZW50CmRpZmYgLS1naXQgYS9Ub29scy9nc3RyZWFtZXIvamhidWls
ZC5tb2R1bGVzIGIvVG9vbHMvZ3N0cmVhbWVyL2poYnVpbGQubW9kdWxlcwppbmRleCBhMTRkYWRh
NjMzNjQ3MWFlMjliZjgzZTc1ODIxMWU1NzZkNGY2YWEwLi5mMTU4Yzk2NjY5NjVhMjEwOWQ4OTEy
ZTI3ZWFhNDVmYWUzMDc0YzIyIDEwMDY0NAotLS0gYS9Ub29scy9nc3RyZWFtZXIvamhidWlsZC5t
b2R1bGVzCisrKyBiL1Rvb2xzL2dzdHJlYW1lci9qaGJ1aWxkLm1vZHVsZXMKQEAgLTc2LDcgKzc2
LDYgQEAKICAgICA8YnJhbmNoIG1vZHVsZT0iZ3N0LXBsdWdpbnMtZ29vZC9nc3QtcGx1Z2lucy1n
b29kLSR7dmVyc2lvbn0udGFyLnh6IiB2ZXJzaW9uPSIxLjEyLjQiCiAgICAgICAgICAgICByZXBv
PSJnc3RyZWFtZXIiCiAgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NjQ5ZjQ5YmVjNjA4OTJkNDdl
ZTY3MzFiOTIyNjY5NzRjNzIzNTU0ZGExYzY2NDlmMjEyOTYwOTc3MTVlYjk1NyI+Ci0gICAgICA8
cGF0Y2ggZmlsZT0iZ3N0LXBsdWdpbnMtZ29vZC0wMDA1LXNvdXBodHRwc3JjLWNvb2tpZS1qYXIt
YW5kLWNvbnRleHQtcXVlcnktc3VwcG9ydC5wYXRjaCIgc3RyaXA9IjEiLz4KICAgICAgIDxwYXRj
aCBmaWxlPSJnc3QtcGx1Z2lucy1nb29kLTAwMDYtcXRkZW11eC1hZGQtY29udGV4dC1mb3ItYS1w
cmVmZXJyZWQtcHJvdGVjdGlvbi5wYXRjaCIgc3RyaXA9IjEiLz4KICAgICAgIDxwYXRjaCBmaWxl
PSJnc3QtcGx1Z2lucy1nb29kLTAwMDgtcXRkZW11eC1hbHNvLXB1c2gtYnVmZmVycy13aXRob3V0
LWVuY3J5cHRpb24taW5mby1pbi5wYXRjaCIgc3RyaXA9IjEiLz4KICAgICAgIDxwYXRjaCBmaWxl
PSJnc3QtcGx1Z2lucy1nb29kLTAwMDktcXRkZW11eC1maXgtYXNzZXJ0LXdoZW4tbW9vZi1jb250
YWlucy1vbmUtc2FtcGxlLnBhdGNoIiBzdHJpcD0iMSIvPgpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3N0
cmVhbWVyL3BhdGNoZXMvZ3N0LXBsdWdpbnMtZ29vZC0wMDA1LXNvdXBodHRwc3JjLWNvb2tpZS1q
YXItYW5kLWNvbnRleHQtcXVlcnktc3VwcG9ydC5wYXRjaCBiL1Rvb2xzL2dzdHJlYW1lci9wYXRj
aGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwNS1zb3VwaHR0cHNyYy1jb29raWUtamFyLWFuZC1jb250
ZXh0LXF1ZXJ5LXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhh
M2MwNjJhYjNmZDkxNGFmN2YxMGViMjRiMDI5NDFiOGNhNDZlZmMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZ3N0cmVhbWVyL3BhdGNoZXMvZ3N0
LXBsdWdpbnMtZ29vZC0wMDA1LXNvdXBodHRwc3JjLWNvb2tpZS1qYXItYW5kLWNvbnRleHQtcXVl
cnktc3VwcG9ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMCArMCwwIEBACi1Gcm9tIDU0
OTVlMTU0YzViYTA1YzdlMjU0ODY1ZTJmZjZkMTA2OGYyZGM2Y2EgTW9uIFNlcCAxNyAwMDowMDow
MCAyMDAxCi1Gcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgotRGF0ZTog
V2VkLCAyOCBPY3QgMjAxNSAxMjowMDowOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBzb3VwaHR0
cHNyYzogY29va2llIGphciBhbmQgY29udGV4dCBxdWVyeSBzdXBwb3J0Ci0KLVVzZSBhIHZvbGF0
aWxlIENvb2tpZSBqYXIgdG8gc3RvcmUgY29va2llcyBhbmQgaGFuZGxlIHRoZSBjb250ZXh0Ci1x
dWVyeSBzbyB0aGF0IHNlc3Npb24gZGF0YSBjYW4gYmUgc2hhcmVkIHdpdGggb3RoZXIgZWxlbWVu
dHMgKGxpa2UKLWFkYXB0aXZlZGVtdXgpLgotCi1odHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI2MzE0Ci0tLS0KLSBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jIHwg
NDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KLSBleHQvc291cC9n
c3Rzb3VwaHR0cHNyYy5oIHwgIDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygr
KSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9zb3VwL2dzdHNvdXBodHRwc3Jj
LmMgYi9leHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jCi1pbmRleCA1MmMxYjgxODIuLmFjNDE2OTJh
NSAxMDA2NDQKLS0tLSBhL2V4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmMKLSsrKyBiL2V4dC9zb3Vw
L2dzdHNvdXBodHRwc3JjLmMKLUBAIC00ODEsNiArNDgxLDcgQEAgZ3N0X3NvdXBfaHR0cF9zcmNf
aW5pdCAoR3N0U291cEhUVFBTcmMgKiBzcmMpCi0gICBzcmMtPmNvb2tpZXMgPSBOVUxMOwotICAg
c3JjLT5pcmFkaW9fbW9kZSA9IERFRkFVTFRfSVJBRElPX01PREU7Ci0gICBzcmMtPnNlc3Npb24g
PSBOVUxMOwotKyAgc3JjLT5jb29raWVfamFyID0gTlVMTDsKLSAgIHNyYy0+bXNnID0gTlVMTDsK
LSAgIHNyYy0+dGltZW91dCA9IERFRkFVTFRfVElNRU9VVDsKLSAgIHNyYy0+bG9nX2xldmVsID0g
REVGQVVMVF9TT1VQX0xPR19MRVZFTDsKLUBAIC05NDIsNiArOTQzLDkgQEAgZ3N0X3NvdXBfaHR0
cF9zcmNfc2Vzc2lvbl9vcGVuIChHc3RTb3VwSFRUUFNyYyAqIHNyYykKLSAgICAgc291cF9zZXNz
aW9uX3JlbW92ZV9mZWF0dXJlX2J5X3R5cGUgKHNyYy0+c2Vzc2lvbiwKLSAgICAgICAgIFNPVVBf
VFlQRV9DT05URU5UX0RFQ09ERVIpOwotIAotKyAgc3JjLT5jb29raWVfamFyID0gc291cF9jb29r
aWVfamFyX25ldyAoKTsKLSsgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVyZSAoc3JjLT5zZXNzaW9u
LAotKyAgICAgIFNPVVBfU0VTU0lPTl9GRUFUVVJFIChzcmMtPmNvb2tpZV9qYXIpKTsKLSAgIHJl
dHVybiBUUlVFOwotIH0KLSAKLUBAIC05NTcsNiArOTYxLDExIEBAIGdzdF9zb3VwX2h0dHBfc3Jj
X3Nlc3Npb25fY2xvc2UgKEdzdFNvdXBIVFRQU3JjICogc3JjKQotICAgICBzcmMtPm1zZyA9IE5V
TEw7Ci0gICB9Ci0gCi0rICBpZiAoc3JjLT5jb29raWVfamFyKSB7Ci0rICAgIGdfb2JqZWN0X3Vu
cmVmIChzcmMtPmNvb2tpZV9qYXIpOwotKyAgICBzcmMtPmNvb2tpZV9qYXIgPSBOVUxMOwotKyAg
fQotKwotICAgaWYgKHNyYy0+c2Vzc2lvbikgewotICAgICBzb3VwX3Nlc3Npb25fYWJvcnQgKHNy
Yy0+c2Vzc2lvbik7Ci0gICAgIGdfb2JqZWN0X3VucmVmIChzcmMtPnNlc3Npb24pOwotQEAgLTEz
NzIsMTEgKzEzODEsMTIgQEAgZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSAoR3N0U291
cEhUVFBTcmMgKiBzcmMsIGNvbnN0IGdjaGFyICogbWV0aG9kKQotICAgfQotICAgaWYgKHNyYy0+
Y29va2llcykgewotICAgICBnY2hhciAqKmNvb2tpZTsKLSsgICAgU291cFVSSSAqdXJpID0gc291
cF91cmlfbmV3IChzcmMtPmxvY2F0aW9uKTsKLSAKLSAgICAgZm9yIChjb29raWUgPSBzcmMtPmNv
b2tpZXM7ICpjb29raWUgIT0gTlVMTDsgY29va2llKyspIHsKLS0gICAgICBzb3VwX21lc3NhZ2Vf
aGVhZGVyc19hcHBlbmQgKHNyYy0+bXNnLT5yZXF1ZXN0X2hlYWRlcnMsICJDb29raWUiLAotLSAg
ICAgICAgICAqY29va2llKTsKLSsgICAgICBzb3VwX2Nvb2tpZV9qYXJfc2V0X2Nvb2tpZSAoc3Jj
LT5jb29raWVfamFyLCB1cmksICpjb29raWUpOwotICAgICB9Ci0rICAgIHNvdXBfdXJpX2ZyZWUg
KHVyaSk7Ci0gICB9Ci0gCi0gICBzb3VwX21lc3NhZ2Vfc2V0X2ZsYWdzIChzcmMtPm1zZywgU09V
UF9NRVNTQUdFX09WRVJXUklURV9DSFVOS1MgfAotQEAgLTE4ODgsNiArMTg5OCwxMiBAQCBnc3Rf
c291cF9odHRwX3NyY19xdWVyeSAoR3N0QmFzZVNyYyAqIGJzcmMsIEdzdFF1ZXJ5ICogcXVlcnkp
Ci0gICBnYm9vbGVhbiByZXQ7Ci0gICBHc3RTY2hlZHVsaW5nRmxhZ3MgZmxhZ3M7Ci0gICBnaW50
IG1pbnNpemUsIG1heHNpemUsIGFsaWduOwotKyAgR3N0Q29udGV4dCAqY29udGV4dDsKLSsgIEdz
dFN0cnVjdHVyZSAqY29udGV4dF9zdHJ1Y3R1cmU7Ci0rICBjaGFyICpjb29raWU7Ci0rICBjb25z
dCBnY2hhciAqY29va2llc1syXTsKLSsgIGNvbnN0IGdjaGFyICpjb250ZXh0X3R5cGU7Ci0rICBT
b3VwVVJJICp1cmk7Ci0gCi0gICBzd2l0Y2ggKEdTVF9RVUVSWV9UWVBFIChxdWVyeSkpIHsKLSAg
ICAgY2FzZSBHU1RfUVVFUllfVVJJOgotQEAgLTE4OTksNiArMTkxNSwyNyBAQCBnc3Rfc291cF9o
dHRwX3NyY19xdWVyeSAoR3N0QmFzZVNyYyAqIGJzcmMsIEdzdFF1ZXJ5ICogcXVlcnkpCi0gICAg
ICAgfQotICAgICAgIHJldCA9IFRSVUU7Ci0gICAgICAgYnJlYWs7Ci0rICAgIGNhc2UgR1NUX1FV
RVJZX0NPTlRFWFQ6Ci0rICAgICAgaWYgKGdzdF9xdWVyeV9wYXJzZV9jb250ZXh0X3R5cGUgKHF1
ZXJ5LCAmY29udGV4dF90eXBlKQotKyAgICAgICAgICAmJiAhZ19zdHJjbXAwIChjb250ZXh0X3R5
cGUsICJodHRwLWhlYWRlcnMiKSkgewotKyAgICAgICAgdXJpID0gc291cF91cmlfbmV3IChzcmMt
PmxvY2F0aW9uKTsKLSsgICAgICAgIGNvb2tpZSA9IHNvdXBfY29va2llX2phcl9nZXRfY29va2ll
cyAoc3JjLT5jb29raWVfamFyLCB1cmksIFRSVUUpOwotKyAgICAgICAgY29udGV4dCA9IGdzdF9j
b250ZXh0X25ldyAoImh0dHAtaGVhZGVycyIsIEZBTFNFKTsKLSsgICAgICAgIGdzdF9jb250ZXh0
X21ha2Vfd3JpdGFibGUgKGNvbnRleHQpOwotKyAgICAgICAgY29udGV4dF9zdHJ1Y3R1cmUgPSBn
c3RfY29udGV4dF93cml0YWJsZV9zdHJ1Y3R1cmUgKGNvbnRleHQpOwotKyAgICAgICAgaWYgKGNv
b2tpZSAhPSBOVUxMKSB7Ci0rICAgICAgICAgIGNvb2tpZXNbMF0gPSBjb29raWU7Ci0rICAgICAg
ICAgIGNvb2tpZXNbMV0gPSBOVUxMOwotKyAgICAgICAgICBnc3Rfc3RydWN0dXJlX3NldCAoY29u
dGV4dF9zdHJ1Y3R1cmUsICJjb29raWVzIiwgR19UWVBFX1NUUlYsIGNvb2tpZXMsCi0rICAgICAg
ICAgICAgICBOVUxMKTsKLSsgICAgICAgICAgZ19mcmVlIChjb29raWUpOwotKyAgICAgICAgfQot
KyAgICAgICAgZ3N0X3F1ZXJ5X3NldF9jb250ZXh0IChxdWVyeSwgY29udGV4dCk7Ci0rICAgICAg
ICBzb3VwX3VyaV9mcmVlICh1cmkpOwotKyAgICAgICAgcmV0ID0gVFJVRTsKLSsgICAgICAgIGJy
ZWFrOwotKyAgICAgIH0KLSsKLSAgICAgZGVmYXVsdDoKLSAgICAgICByZXQgPSBGQUxTRTsKLSAg
ICAgICBicmVhazsKLWRpZmYgLS1naXQgYS9leHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oIGIvZXh0
L3NvdXAvZ3N0c291cGh0dHBzcmMuaAotaW5kZXggZjE0MGY4MGM1Li41MmIzMmM3NjggMTAwNjQ0
Ci0tLS0gYS9leHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oCi0rKysgYi9leHQvc291cC9nc3Rzb3Vw
aHR0cHNyYy5oCi1AQCAtNjAsNiArNjAsNyBAQCBzdHJ1Y3QgX0dzdFNvdXBIVFRQU3JjIHsKLSAg
IGdjaGFyICpwcm94eV9wdzsgICAgICAgICAgICAgLyogQXV0aGVudGljYXRpb24gdXNlciBwYXNz
d29yZCBmb3IgcHJveHkgVVJJLiAqLwotICAgZ2NoYXIgKipjb29raWVzOyAgICAgICAgICAgICAv
KiBIVFRQIHJlcXVlc3QgY29va2llcy4gKi8KLSAgIFNvdXBTZXNzaW9uICpzZXNzaW9uOyAgICAg
ICAgLyogQXN5bmMgY29udGV4dC4gKi8KLSsgIFNvdXBDb29raWVKYXIgKmNvb2tpZV9qYXI7ICAg
LyogVm9sYXRpbGUgSFRUUCBjb29raWUgc3RvcmFnZSAqLwotICAgU291cE1lc3NhZ2UgKm1zZzsg
ICAgICAgICAgICAvKiBSZXF1ZXN0IG1lc3NhZ2UuICovCi0gICBnaW50IHJldHJ5X2NvdW50OyAg
ICAgICAgICAgIC8qIE51bWJlciBvZiByZXRyaWVzIHNpbmNlIHdlIHJlY2VpdmVkIGRhdGEgKi8K
LSAgIGdpbnQgbWF4X3JldHJpZXM7ICAgICAgICAgICAgLyogTWF4aW11bSBudW1iZXIgb2YgcmV0
cmllcyAqLwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY3MGRiZWQ3YzQ3MTAxZGFiOGJkNjRlNmY2
N2IxYmI3MTY1YTk0ODAuLmZkNDhmOTBjYWRjNzc2ZTMxMWIxZTBkMDVkYjI1NTJlYWEzNzMxZjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wMS0xOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1bU291cF0gaW1wbGVtZW50
IHNlc3Npb24gc2hhcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgxMzc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL3Jlc291cmNlcy9obHMvc3ViLXBsYXlsaXN0LXdp
dGgtY29va2llLnBocDogTWFrZSB0aGlzIGEgbm9uLWxpdmUgSExTIHBsYXlsaXN0LgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbmZsYWcgcGFzc2luZyB0ZXN0Lgor
CiAyMDE4LTAxLTE4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IExheW91dCBUZXN0IGh0dHAvdGVzdHMvaW1hZ2VzL2ltYWdlLXN1cHBvcnRzLXZpZGVvLmh0bWwg
aXMgZmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcmVzb3Vy
Y2VzL2hscy9zdWItcGxheWxpc3Qtd2l0aC1jb29raWUucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9yZXNvdXJjZXMvaGxzL3N1Yi1wbGF5bGlzdC13aXRoLWNvb2tpZS5waHAKaW5k
ZXggYTZkZGEzMWIyMjgyYjk2ZmJkNGJhMjI0ZjY0OTk3NTY0ZjE4NDg4Mi4uM2E4YTA3NGRjYTZi
NTY1YWIyNzA2NjBjODg0MjZmMGVjZDlkOGFlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9yZXNvdXJjZXMvaGxzL3N1Yi1wbGF5bGlzdC13aXRoLWNvb2tpZS5waHAK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9yZXNvdXJjZXMvaGxzL3N1Yi1wbGF5
bGlzdC13aXRoLWNvb2tpZS5waHAKQEAgLTE2LDE3ICsxNiwxOCBAQCAkY2h1bmtDb3VudCA9IDQ7
CiBmdW5jdGlvbiBwcmludGxuKCRzdHJpbmcpIHsgcmV0dXJuIHByaW50KCRzdHJpbmcgLiBQSFBf
RU9MKTsgfQogCiBwcmludGxuKCIjRVhUTTNVIik7Ci1wcmludGxuKCIjRVhULVgtVEFSR0VURFVS
QVRJT046NyIpOworcHJpbnRsbigiI0VYVC1YLVRBUkdFVERVUkFUSU9OOiIgLiAoJGNodW5rRHVy
YXRpb24gKiAkY2h1bmtDb3VudCkpOwogcHJpbnRsbigiI0VYVC1YLVZFUlNJT046NCIpOwotcHJp
bnRsbigiI0VYVC1YLU1FRElBLVNFUVVFTkNFOiIgLiAodGltZSgpIC8gJGNodW5rRHVyYXRpb24g
JSAxMDApKTsKIAogJHRpbWUgPSB0aW1lKCk7CiAkdGltZSA9ICR0aW1lIC0gJHRpbWUgJSAkY2h1
bmtEdXJhdGlvbjsKIAogZm9yICgkaSA9IDA7ICRpIDwgJGNodW5rQ291bnQ7ICsrJGkpIHsKICAg
ICAkdGltZSArPSA2OworICAgIHByaW50bG4oIiNFWFQtWC1ESVNDT05USU5VSVRZIik7CiAgICAg
cHJpbnRsbigiI0VYVC1YLVBST0dSQU0tREFURS1USU1FOiIgLiBnbWRhdGUoImMiLCAkdGltZSkp
OwotICAgIHByaW50bG4oIiNFWFRJTkY6IiAuICRjaHVua0R1cmF0aW9uIC4gIiwiKTsKKyAgICBw
cmludGxuKCIjRVhUSU5GOiIgLiAkY2h1bmtEdXJhdGlvbik7CiAgICAgcHJpbnRsbigiLi4vdmlk
ZW8tY29va2llLWNoZWNrLWNvb2tpZS5waHAiKTsKIH0KK3ByaW50bG4oIiNFWFQtWC1FTkRMSVNU
Iik7CiA/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBm
ZjRkMTNlZDEwNTA0NjAyZTMwNDllY2UwZWJkNDJhMTNjMWU3ZTcwLi45ZGM5OGEwZWI2OGRiOTE0
NWUxMjgwZGE2MTM4N2U5YjhiYTg5NmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTMxNiw3ICsxMzE2LDcgQEAgd2Via2l0Lm9yZy9iLzE3NzgxNiB3
ZWJnbC8xLjAuMi9jb25mb3JtYW5jZS9vZ2xlcy9HTC92ZWMvdmVjXzAwMV90b18wMDguaHRtbCBb
IEMKIHdlYmtpdC5vcmcvYi8xODAwOTcgbWVkaWEvdmlkZW8tY29uY3VycmVudC12aXNpYmxlLXBs
YXliYWNrLmh0bWwgWyBDcmFzaCBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xODAwOTggc2VjdXJpdHkv
aXNTZWN1cmVDb250ZXh0LWRpc2FibGVkLmh0bWwgWyBDcmFzaCBQYXNzIF0KIAotd2Via2l0Lm9y
Zy9iLzE4MDgwMyBodHRwL3Rlc3RzL21lZGlhL2hscy92aWRlby1jb29raWUuaHRtbCBbIENyYXNo
IF0KKyN3ZWJraXQub3JnL2IvMTgwODAzIGh0dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWNvb2tp
ZS5odG1sIFsgQ3Jhc2ggXQogCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBF
bmQgb2YgQ3Jhc2hpbmcgdGVzdHMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331617</attachid>
            <date>2018-01-18 06:49:03 -0800</date>
            <delta_ts>2018-01-18 06:49:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181377-20180118144901.patch</filename>
            <type>text/plain</type>
            <size>16150</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZiZmI0MjgxYzcyMjk0
NmI4ODE2ZWM1YzhjMGYwMTA5ZWVjOTUyNy4uMTA5MDU1MjU3OGQ4ZDFiY2NhNWM4NGQ3ZmQ2Mzlk
NzBlYjEyNGUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE4LTAxLTE4ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XVtTb3VwXSBpbXBsZW1lbnQgc2Vzc2lvbiBzaGFyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEzNzcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaW5pbWFsIEhUVFAgc2Vzc2lvbiBzaGFyaW5nIHN1
cHBvcnQgdGhhdCB3b3JrcyBvbmx5IHdpdGggdGhlCisgICAgICAgIHVwY29taW5nIEdTdHJlYW1l
ciAxLjE0LiBIb3dldmVyIG5vIHZlcnNpb24gY2hlY2sgaWZkZWYgaXMgbmVlZGVkCisgICAgICAg
IGJlY2F1c2Ugbm8gY29tcGlsYXRpb24gZXJyb3Igb2NjdXJzIHdpdGggb2xkZXIgdmVyc2lvbnMg
b2YKKyAgICAgICAgR1N0cmVhbWVyLgorCisgICAgICAgIE5vdGU6IFRoaXMgd2lsbCBicmVhayBh
Z2FpbiB3aGVuZXZlciB0aGUgd2ViIHByb2Nlc3MgZ2V0cworICAgICAgICBzYW5kYm94ZWQuIFdo
ZW4gdGhhdCBoYXBwZW5zIHdlIHNob3VsZCB1c2UgdGhlIHdlYmtpdCBodHRwIHNyYworICAgICAg
ICBlbGVtZW50IGZvciBhbGwgbmV0d29yayByZXF1ZXN0cyBhZ2Fpbi4gVGhhdCBtZWFucyByZW1v
dmluZyB0aGUKKyAgICAgICAgd2Via2l0K2h0dHAgVVJMIGhhY2sgZnJvbSB0aGUgcGxheWVyIGFu
ZCBodHRwIHNyYyBlbGVtZW50LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1lc3NhZ2UpOiBQcm9jZXNzCisgICAg
ICAgIEhUVFAgcmVzcG9uc2UgaGVhZGVycyBvbmx5IGZyb20gdGhlIHdlYmtpdCBodHRwIHNyYyBl
bGVtZW50LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVN5bmNNZXNzYWdlKToKKyAgICAgICAgUHJvY2Vz
cyBnc3Quc291cC5zZXNzaW9uIG5lZWQtY29udGV4dCBtZXNzYWdlLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVxdWVzdFNvdXBDb250ZXh0KToK
KyAgICAgICAgQnVpbGQgYSBiYXJlYm9uZSBzb3VwIHNlc3Npb24gdGhhdCBHU3RyZWFtZXIncyBh
ZGFwdGl2ZWRlbXV4IGFuZAorICAgICAgICB1cmlkb3dubG9hZGVyIGNhbiB1c2UuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2UuaDoKKwogMjAxOC0wMS0xOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBTcGVjaWZ5IC1bTlNVUkwgX3RpdGxlXSBmb3IgdGhlIGFz
c29jaWF0ZWQgVVJMIHdoZW4gY29weWluZyBhbiBpbWFnZSBlbGVtZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGU4ODI2NmZkNmY2YjJl
MTc4MWVmNWQ5Y2JjOTgyNWUwZWMxMWFkN2QuLjEzNDg5YzQwMDk2NWQ2MjU2OTU5ZmNkZTk5Mjcz
MDUyOTk2OTEyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwCkBAIC0xMDU2LDcgKzEwNTYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6aGFuZGxlTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogICAgICAgICAgICAg
aGFuZGxlUHJvdGVjdGlvbkV2ZW50KGV2ZW50LmdldCgpKTsKICAgICAgICAgfQogI2VuZGlmCi0g
ICAgICAgIGVsc2UgaWYgKGdzdF9zdHJ1Y3R1cmVfaGFzX25hbWUoc3RydWN0dXJlLCAiaHR0cC1o
ZWFkZXJzIikpIHsKKyAgICAgICAgZWxzZSBpZiAoV0VCS0lUX0lTX1dFQl9TUkMoR1NUX01FU1NB
R0VfU1JDKG1lc3NhZ2UpKSAmJiBnc3Rfc3RydWN0dXJlX2hhc19uYW1lKHN0cnVjdHVyZSwgImh0
dHAtaGVhZGVycyIpKSB7CiAgICAgICAgICAgICBHc3RTdHJ1Y3R1cmUqIHJlc3BvbnNlSGVhZGVy
czsKICAgICAgICAgICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldChzdHJ1Y3R1cmUsICJyZXNwb25z
ZS1oZWFkZXJzIiwgR1NUX1RZUEVfU1RSVUNUVVJFLCAmcmVzcG9uc2VIZWFkZXJzLCBudWxscHRy
KSkgewogICAgICAgICAgICAgICAgIGlmICghZ3N0X3N0cnVjdHVyZV9oYXNfZmllbGQocmVzcG9u
c2VIZWFkZXJzLCBodHRwSGVhZGVyTmFtZVN0cmluZyhIVFRQSGVhZGVyTmFtZTo6Q29udGVudExl
bmd0aCkudXRmOCgpLmRhdGEoKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCBhMTY1NDNhMzFhYmNjMmNmNDY0MmEzYzRk
ZmZmY2UxOGRlZmFlY2FiLi40ZWYzNDc0Mjg3NjM5NDIwMGIxODMwYWQ0MWE1MWExNjNmYWYxNjIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCkBAIC0xMTcsNiArMTE3LDEwIEBACiAjZW5kaWYKICNlbmRpZiAvLyBVU0UoVEVYVFVS
RV9NQVBQRVJfR0wpCiAKKyNpZiBVU0UoU09VUCkKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
KyNlbmRpZgorCiBHU1RfREVCVUdfQ0FURUdPUlkod2Via2l0X21lZGlhX3BsYXllcl9kZWJ1Zyk7
CiAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCB3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVnCiAKQEAg
LTMyMiw2ICszMjYsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Omhh
bmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAKICAgICBjb25zdCBnY2hhciog
Y29udGV4dFR5cGU7CiAgICAgZ3N0X21lc3NhZ2VfcGFyc2VfY29udGV4dF90eXBlKG1lc3NhZ2Us
ICZjb250ZXh0VHlwZSk7CisgICAgR1NUX0RFQlVHKCJQcm9jZXNzaW5nIG5lZWQtY29udGV4dCAl
cyBtZXNzYWdlIiwgY29udGV4dFR5cGUpOwogCiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKICAgICBH
UmVmUHRyPEdzdENvbnRleHQ+IGVsZW1lbnRDb250ZXh0ID0gYWRvcHRHUmVmKHJlcXVlc3RHTENv
bnRleHQoY29udGV4dFR5cGUsIHRoaXMpKTsKQEAgLTMzMSw2ICszMzYsMTQgQEAgYm9vbCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdl
KiBtZXNzYWdlKQogICAgIH0KICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSX0dMKQogCisgICAgaWYg
KCFnX3N0cmNtcDAoY29udGV4dFR5cGUsICJnc3Quc291cC5zZXNzaW9uIikpIHsKKyAgICAgICAg
R1JlZlB0cjxHc3RDb250ZXh0PiBlbGVtZW50Q29udGV4dCA9IGFkb3B0R1JlZihyZXF1ZXN0U291
cENvbnRleHQoY29udGV4dFR5cGUpKTsKKyAgICAgICAgaWYgKGVsZW1lbnRDb250ZXh0KSB7Cisg
ICAgICAgICAgICBnc3RfZWxlbWVudF9zZXRfY29udGV4dChHU1RfRUxFTUVOVChtZXNzYWdlLT5z
cmMpLCBlbGVtZW50Q29udGV4dC5nZXQoKSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgfQorICAgIH0KKwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgaWYgKCFn
X3N0cmNtcDAoY29udGV4dFR5cGUsICJkcm0tcHJlZmVycmVkLWRlY3J5cHRpb24tc3lzdGVtLWlk
IikpIHsKICAgICAgICAgaWYgKGlzTWFpblRocmVhZCgpKSB7CkBAIC00MDYsNiArNDE5LDMyIEBA
IGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01lc3NhZ2Uo
R3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0dzdENvbnRleHQq
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnJlcXVlc3RTb3VwQ29udGV4dChjb25z
dCBnY2hhciogY29udGV4dFR5cGUpCit7CisjaWYgVVNFKFNPVVApCisgICAgR3N0Q29udGV4dCog
Y29udGV4dCA9IGdzdF9jb250ZXh0X25ldyhjb250ZXh0VHlwZSwgVFJVRSk7CisKKyAgICBpZiAo
IW1fc291cFNlc3Npb24pIHsKKyAgICAgICAgU3RyaW5nIHVzZXJBZ2VudCA9IG1fcGxheWVyLT51
c2VyQWdlbnQoKTsKKyAgICAgICAgbV9zb3VwU2Vzc2lvbiA9IGFkb3B0R1JlZihzb3VwX3Nlc3Np
b25fbmV3X3dpdGhfb3B0aW9ucyhTT1VQX1NFU1NJT05fVVNFUl9BR0VOVCwgdXNlckFnZW50LnV0
ZjgoKS5kYXRhKCksCisgICAgICAgICAgICBTT1VQX1NFU1NJT05fQUREX0ZFQVRVUkVfQllfVFlQ
RSwgU09VUF9UWVBFX0NPTlRFTlRfREVDT0RFUiwKKyAgICAgICAgICAgIFNPVVBfU0VTU0lPTl9B
RERfRkVBVFVSRV9CWV9UWVBFLCBTT1VQX1RZUEVfQ09OVEVOVF9TTklGRkVSLAorICAgICAgICAg
ICAgU09VUF9TRVNTSU9OX0FERF9GRUFUVVJFX0JZX1RZUEUsIFNPVVBfVFlQRV9QUk9YWV9SRVNP
TFZFUl9ERUZBVUxULAorICAgICAgICAgICAgU09VUF9TRVNTSU9OX0FERF9GRUFUVVJFX0JZX1RZ
UEUsIFNPVVBfVFlQRV9DT09LSUVfSkFSLAorICAgICAgICAgICAgU09VUF9TRVNTSU9OX1VTRV9U
SFJFQURfQ09OVEVYVCwgVFJVRSwKKyAgICAgICAgICAgIFNPVVBfU0VTU0lPTl9TU0xfVVNFX1NZ
U1RFTV9DQV9GSUxFLCBUUlVFLAorICAgICAgICAgICAgU09VUF9TRVNTSU9OX1NTTF9TVFJJQ1Qs
IEZBTFNFLAorICAgICAgICAgICAgbnVsbHB0cikpOworICAgIH0KKworICAgIEdzdFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gZ3N0X2NvbnRleHRfd3JpdGFibGVfc3RydWN0dXJlKGNvbnRleHQpOwor
ICAgIGdzdF9zdHJ1Y3R1cmVfc2V0KHN0cnVjdHVyZSwgInNlc3Npb24iLCBTT1VQX1RZUEVfU0VT
U0lPTiwgbV9zb3VwU2Vzc2lvbi5nZXQoKSwgbnVsbHB0cik7CisgICAgcmV0dXJuIGNvbnRleHQ7
CisjZWxzZQorICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCit9CisKICNpZiBVU0UoR1NUUkVB
TUVSX0dMKQogR3N0Q29udGV4dCogTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVx
dWVzdEdMQ29udGV4dChjb25zdCBnY2hhciogY29udGV4dFR5cGUsIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UqIHBsYXllcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IDAzZmVkZWE5NzU5MmFjMjVlNzgwNGE0ZWQ5
ZGI2YWY5OTFlNjkwM2UuLmM3OGI3NmE2Y2YzYmYyN2VjNjAwNjAxZWRkOGYyOWI2OTBmNDM2MzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2Uu
aApAQCAtNzksNiArNzksOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBlbnN1cmVHc3RHTENvbnRleHQo
KTsKICAgICBzdGF0aWMgR3N0Q29udGV4dCogcmVxdWVzdEdMQ29udGV4dChjb25zdCBnY2hhciog
Y29udGV4dFR5cGUsIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqKTsKICNlbmRpZgor
CisgICAgR3N0Q29udGV4dCogcmVxdWVzdFNvdXBDb250ZXh0KGNvbnN0IGdjaGFyKiBjb250ZXh0
VHlwZSk7CisKICAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplR1N0cmVhbWVyQW5kUmVnaXN0ZXJX
ZWJLaXRFbGVtZW50cygpOwogICAgIGJvb2wgc3VwcG9ydHNNdXRpbmcoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBzZXRNdXRlZChib29sKSBvdmVycmlkZTsKQEAg
LTI1Myw2ICsyNTYsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgSGFzaFNldDx1aW50MzJfdD4gbV9oYW5k
bGVkUHJvdGVjdGlvbkV2ZW50czsKICAgICBib29sIG1fbmVlZFRvUmVzZW5kQ3JlZGVudGlhbHMg
eyBmYWxzZSB9OwogI2VuZGlmCisjaWYgVVNFKFNPVVApCisgICAgR1JlZlB0cjxTb3VwU2Vzc2lv
bj4gbV9zb3VwU2Vzc2lvbjsKKyNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGFkY2ZkNWJjMzE0YWRjZWFiNDVlNDU0Yzkz
ODczNTZiOWIzNmJlMDQuLmI0NmY3NjMxNWJhMjQ0NDlhMDMzNmEyNDY1NzUzOWNiNzdmY2Y4Njkg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wMS0xOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1bU291cF0gaW1wbGVtZW50IHNlc3Npb24gc2hh
cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgx
Mzc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlIHVzZWxlc3Mgc291cGh0dHBzcmMgcGF0Y2guIFRoaXMgcGF0Y2ggcHJldmFpbHMgdGhlCisg
ICAgICAgIG5vdy11cHN0cmVhbSBzb3VwIHNlc3Npb24gc2hhcmluZyBmZWF0dXJlLgorICAgICAg
ICAKKyAgICAgICAgKiBnc3RyZWFtZXIvamhidWlsZC5tb2R1bGVzOgorICAgICAgICAqIGdzdHJl
YW1lci9wYXRjaGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwNS1zb3VwaHR0cHNyYy1jb29raWUtamFy
LWFuZC1jb250ZXh0LXF1ZXJ5LXN1cHBvcnQucGF0Y2g6IFJlbW92ZWQuCisKIDIwMTgtMDEtMTgg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10g
U3BlY2lmeSAtW05TVVJMIF90aXRsZV0gZm9yIHRoZSBhc3NvY2lhdGVkIFVSTCB3aGVuIGNvcHlp
bmcgYW4gaW1hZ2UgZWxlbWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3N0cmVhbWVyL2poYnVpbGQu
bW9kdWxlcyBiL1Rvb2xzL2dzdHJlYW1lci9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggYTE0ZGFkYTYz
MzY0NzFhZTI5YmY4M2U3NTgyMTFlNTc2ZDRmNmFhMC4uZjE1OGM5NjY2OTY1YTIxMDlkODkxMmUy
N2VhYTQ1ZmFlMzA3NGMyMiAxMDA2NDQKLS0tIGEvVG9vbHMvZ3N0cmVhbWVyL2poYnVpbGQubW9k
dWxlcworKysgYi9Ub29scy9nc3RyZWFtZXIvamhidWlsZC5tb2R1bGVzCkBAIC03Niw3ICs3Niw2
IEBACiAgICAgPGJyYW5jaCBtb2R1bGU9ImdzdC1wbHVnaW5zLWdvb2QvZ3N0LXBsdWdpbnMtZ29v
ZC0ke3ZlcnNpb259LnRhci54eiIgdmVyc2lvbj0iMS4xMi40IgogICAgICAgICAgICAgcmVwbz0i
Z3N0cmVhbWVyIgogICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjY0OWY0OWJlYzYwODkyZDQ3ZWU2
NzMxYjkyMjY2OTc0YzcyMzU1NGRhMWM2NjQ5ZjIxMjk2MDk3NzE1ZWI5NTciPgotICAgICAgPHBh
dGNoIGZpbGU9ImdzdC1wbHVnaW5zLWdvb2QtMDAwNS1zb3VwaHR0cHNyYy1jb29raWUtamFyLWFu
ZC1jb250ZXh0LXF1ZXJ5LXN1cHBvcnQucGF0Y2giIHN0cmlwPSIxIi8+CiAgICAgICA8cGF0Y2gg
ZmlsZT0iZ3N0LXBsdWdpbnMtZ29vZC0wMDA2LXF0ZGVtdXgtYWRkLWNvbnRleHQtZm9yLWEtcHJl
ZmVycmVkLXByb3RlY3Rpb24ucGF0Y2giIHN0cmlwPSIxIi8+CiAgICAgICA8cGF0Y2ggZmlsZT0i
Z3N0LXBsdWdpbnMtZ29vZC0wMDA4LXF0ZGVtdXgtYWxzby1wdXNoLWJ1ZmZlcnMtd2l0aG91dC1l
bmNyeXB0aW9uLWluZm8taW4ucGF0Y2giIHN0cmlwPSIxIi8+CiAgICAgICA8cGF0Y2ggZmlsZT0i
Z3N0LXBsdWdpbnMtZ29vZC0wMDA5LXF0ZGVtdXgtZml4LWFzc2VydC13aGVuLW1vb2YtY29udGFp
bnMtb25lLXNhbXBsZS5wYXRjaCIgc3RyaXA9IjEiLz4KZGlmZiAtLWdpdCBhL1Rvb2xzL2dzdHJl
YW1lci9wYXRjaGVzL2dzdC1wbHVnaW5zLWdvb2QtMDAwNS1zb3VwaHR0cHNyYy1jb29raWUtamFy
LWFuZC1jb250ZXh0LXF1ZXJ5LXN1cHBvcnQucGF0Y2ggYi9Ub29scy9nc3RyZWFtZXIvcGF0Y2hl
cy9nc3QtcGx1Z2lucy1nb29kLTAwMDUtc291cGh0dHBzcmMtY29va2llLWphci1hbmQtY29udGV4
dC1xdWVyeS1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTNj
MDYyYWIzZmQ5MTRhZjdmMTBlYjI0YjAyOTQxYjhjYTQ2ZWZjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2dzdHJlYW1lci9wYXRjaGVzL2dzdC1w
bHVnaW5zLWdvb2QtMDAwNS1zb3VwaHR0cHNyYy1jb29raWUtamFyLWFuZC1jb250ZXh0LXF1ZXJ5
LXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjAgKzAsMCBAQAotRnJvbSA1NDk1
ZTE1NGM1YmEwNWM3ZTI1NDg2NWUyZmY2ZDEwNjhmMmRjNmNhIE1vbiBTZXAgMTcgMDA6MDA6MDAg
MjAwMQotRnJvbTogUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KLURhdGU6IFdl
ZCwgMjggT2N0IDIwMTUgMTI6MDA6MDkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gc291cGh0dHBz
cmM6IGNvb2tpZSBqYXIgYW5kIGNvbnRleHQgcXVlcnkgc3VwcG9ydAotCi1Vc2UgYSB2b2xhdGls
ZSBDb29raWUgamFyIHRvIHN0b3JlIGNvb2tpZXMgYW5kIGhhbmRsZSB0aGUgY29udGV4dAotcXVl
cnkgc28gdGhhdCBzZXNzaW9uIGRhdGEgY2FuIGJlIHNoYXJlZCB3aXRoIG90aGVyIGVsZW1lbnRz
IChsaWtlCi1hZGFwdGl2ZWRlbXV4KS4KLQotaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hv
d19idWcuY2dpP2lkPTcyNjMxNAotLS0tCi0gZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYyB8IDQx
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gZXh0L3NvdXAvZ3N0
c291cGh0dHBzcmMuaCB8ICAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyks
IDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvc291cC9nc3Rzb3VwaHR0cHNyYy5j
IGIvZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYwotaW5kZXggNTJjMWI4MTgyLi5hYzQxNjkyYTUg
MTAwNjQ0Ci0tLS0gYS9leHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jCi0rKysgYi9leHQvc291cC9n
c3Rzb3VwaHR0cHNyYy5jCi1AQCAtNDgxLDYgKzQ4MSw3IEBAIGdzdF9zb3VwX2h0dHBfc3JjX2lu
aXQgKEdzdFNvdXBIVFRQU3JjICogc3JjKQotICAgc3JjLT5jb29raWVzID0gTlVMTDsKLSAgIHNy
Yy0+aXJhZGlvX21vZGUgPSBERUZBVUxUX0lSQURJT19NT0RFOwotICAgc3JjLT5zZXNzaW9uID0g
TlVMTDsKLSsgIHNyYy0+Y29va2llX2phciA9IE5VTEw7Ci0gICBzcmMtPm1zZyA9IE5VTEw7Ci0g
ICBzcmMtPnRpbWVvdXQgPSBERUZBVUxUX1RJTUVPVVQ7Ci0gICBzcmMtPmxvZ19sZXZlbCA9IERF
RkFVTFRfU09VUF9MT0dfTEVWRUw7Ci1AQCAtOTQyLDYgKzk0Myw5IEBAIGdzdF9zb3VwX2h0dHBf
c3JjX3Nlc3Npb25fb3BlbiAoR3N0U291cEhUVFBTcmMgKiBzcmMpCi0gICAgIHNvdXBfc2Vzc2lv
bl9yZW1vdmVfZmVhdHVyZV9ieV90eXBlIChzcmMtPnNlc3Npb24sCi0gICAgICAgICBTT1VQX1RZ
UEVfQ09OVEVOVF9ERUNPREVSKTsKLSAKLSsgIHNyYy0+Y29va2llX2phciA9IHNvdXBfY29va2ll
X2phcl9uZXcgKCk7Ci0rICBzb3VwX3Nlc3Npb25fYWRkX2ZlYXR1cmUgKHNyYy0+c2Vzc2lvbiwK
LSsgICAgICBTT1VQX1NFU1NJT05fRkVBVFVSRSAoc3JjLT5jb29raWVfamFyKSk7Ci0gICByZXR1
cm4gVFJVRTsKLSB9Ci0gCi1AQCAtOTU3LDYgKzk2MSwxMSBAQCBnc3Rfc291cF9odHRwX3NyY19z
ZXNzaW9uX2Nsb3NlIChHc3RTb3VwSFRUUFNyYyAqIHNyYykKLSAgICAgc3JjLT5tc2cgPSBOVUxM
OwotICAgfQotIAotKyAgaWYgKHNyYy0+Y29va2llX2phcikgewotKyAgICBnX29iamVjdF91bnJl
ZiAoc3JjLT5jb29raWVfamFyKTsKLSsgICAgc3JjLT5jb29raWVfamFyID0gTlVMTDsKLSsgIH0K
LSsKLSAgIGlmIChzcmMtPnNlc3Npb24pIHsKLSAgICAgc291cF9zZXNzaW9uX2Fib3J0IChzcmMt
PnNlc3Npb24pOwotICAgICBnX29iamVjdF91bnJlZiAoc3JjLT5zZXNzaW9uKTsKLUBAIC0xMzcy
LDExICsxMzgxLDEyIEBAIGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UgKEdzdFNvdXBI
VFRQU3JjICogc3JjLCBjb25zdCBnY2hhciAqIG1ldGhvZCkKLSAgIH0KLSAgIGlmIChzcmMtPmNv
b2tpZXMpIHsKLSAgICAgZ2NoYXIgKipjb29raWU7Ci0rICAgIFNvdXBVUkkgKnVyaSA9IHNvdXBf
dXJpX25ldyAoc3JjLT5sb2NhdGlvbik7Ci0gCi0gICAgIGZvciAoY29va2llID0gc3JjLT5jb29r
aWVzOyAqY29va2llICE9IE5VTEw7IGNvb2tpZSsrKSB7Ci0tICAgICAgc291cF9tZXNzYWdlX2hl
YWRlcnNfYXBwZW5kIChzcmMtPm1zZy0+cmVxdWVzdF9oZWFkZXJzLCAiQ29va2llIiwKLS0gICAg
ICAgICAgKmNvb2tpZSk7Ci0rICAgICAgc291cF9jb29raWVfamFyX3NldF9jb29raWUgKHNyYy0+
Y29va2llX2phciwgdXJpLCAqY29va2llKTsKLSAgICAgfQotKyAgICBzb3VwX3VyaV9mcmVlICh1
cmkpOwotICAgfQotIAotICAgc291cF9tZXNzYWdlX3NldF9mbGFncyAoc3JjLT5tc2csIFNPVVBf
TUVTU0FHRV9PVkVSV1JJVEVfQ0hVTktTIHwKLUBAIC0xODg4LDYgKzE4OTgsMTIgQEAgZ3N0X3Nv
dXBfaHR0cF9zcmNfcXVlcnkgKEdzdEJhc2VTcmMgKiBic3JjLCBHc3RRdWVyeSAqIHF1ZXJ5KQot
ICAgZ2Jvb2xlYW4gcmV0OwotICAgR3N0U2NoZWR1bGluZ0ZsYWdzIGZsYWdzOwotICAgZ2ludCBt
aW5zaXplLCBtYXhzaXplLCBhbGlnbjsKLSsgIEdzdENvbnRleHQgKmNvbnRleHQ7Ci0rICBHc3RT
dHJ1Y3R1cmUgKmNvbnRleHRfc3RydWN0dXJlOwotKyAgY2hhciAqY29va2llOwotKyAgY29uc3Qg
Z2NoYXIgKmNvb2tpZXNbMl07Ci0rICBjb25zdCBnY2hhciAqY29udGV4dF90eXBlOwotKyAgU291
cFVSSSAqdXJpOwotIAotICAgc3dpdGNoIChHU1RfUVVFUllfVFlQRSAocXVlcnkpKSB7Ci0gICAg
IGNhc2UgR1NUX1FVRVJZX1VSSToKLUBAIC0xODk5LDYgKzE5MTUsMjcgQEAgZ3N0X3NvdXBfaHR0
cF9zcmNfcXVlcnkgKEdzdEJhc2VTcmMgKiBic3JjLCBHc3RRdWVyeSAqIHF1ZXJ5KQotICAgICAg
IH0KLSAgICAgICByZXQgPSBUUlVFOwotICAgICAgIGJyZWFrOwotKyAgICBjYXNlIEdTVF9RVUVS
WV9DT05URVhUOgotKyAgICAgIGlmIChnc3RfcXVlcnlfcGFyc2VfY29udGV4dF90eXBlIChxdWVy
eSwgJmNvbnRleHRfdHlwZSkKLSsgICAgICAgICAgJiYgIWdfc3RyY21wMCAoY29udGV4dF90eXBl
LCAiaHR0cC1oZWFkZXJzIikpIHsKLSsgICAgICAgIHVyaSA9IHNvdXBfdXJpX25ldyAoc3JjLT5s
b2NhdGlvbik7Ci0rICAgICAgICBjb29raWUgPSBzb3VwX2Nvb2tpZV9qYXJfZ2V0X2Nvb2tpZXMg
KHNyYy0+Y29va2llX2phciwgdXJpLCBUUlVFKTsKLSsgICAgICAgIGNvbnRleHQgPSBnc3RfY29u
dGV4dF9uZXcgKCJodHRwLWhlYWRlcnMiLCBGQUxTRSk7Ci0rICAgICAgICBnc3RfY29udGV4dF9t
YWtlX3dyaXRhYmxlIChjb250ZXh0KTsKLSsgICAgICAgIGNvbnRleHRfc3RydWN0dXJlID0gZ3N0
X2NvbnRleHRfd3JpdGFibGVfc3RydWN0dXJlIChjb250ZXh0KTsKLSsgICAgICAgIGlmIChjb29r
aWUgIT0gTlVMTCkgewotKyAgICAgICAgICBjb29raWVzWzBdID0gY29va2llOwotKyAgICAgICAg
ICBjb29raWVzWzFdID0gTlVMTDsKLSsgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9zZXQgKGNvbnRl
eHRfc3RydWN0dXJlLCAiY29va2llcyIsIEdfVFlQRV9TVFJWLCBjb29raWVzLAotKyAgICAgICAg
ICAgICAgTlVMTCk7Ci0rICAgICAgICAgIGdfZnJlZSAoY29va2llKTsKLSsgICAgICAgIH0KLSsg
ICAgICAgIGdzdF9xdWVyeV9zZXRfY29udGV4dCAocXVlcnksIGNvbnRleHQpOwotKyAgICAgICAg
c291cF91cmlfZnJlZSAodXJpKTsKLSsgICAgICAgIHJldCA9IFRSVUU7Ci0rICAgICAgICBicmVh
azsKLSsgICAgICB9Ci0rCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgcmV0ID0gRkFMU0U7Ci0gICAg
ICAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaCBiL2V4dC9z
b3VwL2dzdHNvdXBodHRwc3JjLmgKLWluZGV4IGYxNDBmODBjNS4uNTJiMzJjNzY4IDEwMDY0NAot
LS0tIGEvZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaAotKysrIGIvZXh0L3NvdXAvZ3N0c291cGh0
dHBzcmMuaAotQEAgLTYwLDYgKzYwLDcgQEAgc3RydWN0IF9Hc3RTb3VwSFRUUFNyYyB7Ci0gICBn
Y2hhciAqcHJveHlfcHc7ICAgICAgICAgICAgIC8qIEF1dGhlbnRpY2F0aW9uIHVzZXIgcGFzc3dv
cmQgZm9yIHByb3h5IFVSSS4gKi8KLSAgIGdjaGFyICoqY29va2llczsgICAgICAgICAgICAgLyog
SFRUUCByZXF1ZXN0IGNvb2tpZXMuICovCi0gICBTb3VwU2Vzc2lvbiAqc2Vzc2lvbjsgICAgICAg
IC8qIEFzeW5jIGNvbnRleHQuICovCi0rICBTb3VwQ29va2llSmFyICpjb29raWVfamFyOyAgIC8q
IFZvbGF0aWxlIEhUVFAgY29va2llIHN0b3JhZ2UgKi8KLSAgIFNvdXBNZXNzYWdlICptc2c7ICAg
ICAgICAgICAgLyogUmVxdWVzdCBtZXNzYWdlLiAqLwotICAgZ2ludCByZXRyeV9jb3VudDsgICAg
ICAgICAgICAvKiBOdW1iZXIgb2YgcmV0cmllcyBzaW5jZSB3ZSByZWNlaXZlZCBkYXRhICovCi0g
ICBnaW50IG1heF9yZXRyaWVzOyAgICAgICAgICAgIC8qIE1heGltdW0gbnVtYmVyIG9mIHJldHJp
ZXMgKi8KLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzBkYmVkN2M0NzEwMWRhYjhiZDY0ZTZmNjdi
MWJiNzE2NWE5NDgwLi5mZDQ4ZjkwY2FkYzc3NmUzMTFiMWUwZDA1ZGIyNTUyZWFhMzczMWY4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDEtMTggIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9y
bWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdW1NvdXBdIGltcGxlbWVudCBz
ZXNzaW9uIHNoYXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MTM3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9yZXNvdXJjZXMvaGxzL3N1Yi1wbGF5bGlzdC13aXRo
LWNvb2tpZS5waHA6IE1ha2UgdGhpcyBhIG5vbi1saXZlIEhMUyBwbGF5bGlzdC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogVW5mbGFnIHBhc3NpbmcgdGVzdC4KKwog
MjAxOC0wMS0xOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBM
YXlvdXQgVGVzdCBodHRwL3Rlc3RzL2ltYWdlcy9pbWFnZS1zdXBwb3J0cy12aWRlby5odG1sIGlz
IGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3Jlc291cmNl
cy9obHMvc3ViLXBsYXlsaXN0LXdpdGgtY29va2llLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvcmVzb3VyY2VzL2hscy9zdWItcGxheWxpc3Qtd2l0aC1jb29raWUucGhwCmluZGV4
IGE2ZGRhMzFiMjI4MmI5NmZiZDRiYTIyNGY2NDk5NzU2NGYxODQ4ODIuLjNhOGEwNzRkY2E2YjU2
NWFiMjcwNjYwYzg4NDI2ZjBlY2Q5ZDhhZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvcmVzb3VyY2VzL2hscy9zdWItcGxheWxpc3Qtd2l0aC1jb29raWUucGhwCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcmVzb3VyY2VzL2hscy9zdWItcGxheWxp
c3Qtd2l0aC1jb29raWUucGhwCkBAIC0xNiwxNyArMTYsMTggQEAgJGNodW5rQ291bnQgPSA0Owog
ZnVuY3Rpb24gcHJpbnRsbigkc3RyaW5nKSB7IHJldHVybiBwcmludCgkc3RyaW5nIC4gUEhQX0VP
TCk7IH0KIAogcHJpbnRsbigiI0VYVE0zVSIpOwotcHJpbnRsbigiI0VYVC1YLVRBUkdFVERVUkFU
SU9OOjciKTsKK3ByaW50bG4oIiNFWFQtWC1UQVJHRVREVVJBVElPTjoiIC4gKCRjaHVua0R1cmF0
aW9uICogJGNodW5rQ291bnQpKTsKIHByaW50bG4oIiNFWFQtWC1WRVJTSU9OOjQiKTsKLXByaW50
bG4oIiNFWFQtWC1NRURJQS1TRVFVRU5DRToiIC4gKHRpbWUoKSAvICRjaHVua0R1cmF0aW9uICUg
MTAwKSk7CiAKICR0aW1lID0gdGltZSgpOwogJHRpbWUgPSAkdGltZSAtICR0aW1lICUgJGNodW5r
RHVyYXRpb247CiAKIGZvciAoJGkgPSAwOyAkaSA8ICRjaHVua0NvdW50OyArKyRpKSB7CiAgICAg
JHRpbWUgKz0gNjsKKyAgICBwcmludGxuKCIjRVhULVgtRElTQ09OVElOVUlUWSIpOwogICAgIHBy
aW50bG4oIiNFWFQtWC1QUk9HUkFNLURBVEUtVElNRToiIC4gZ21kYXRlKCJjIiwgJHRpbWUpKTsK
LSAgICBwcmludGxuKCIjRVhUSU5GOiIgLiAkY2h1bmtEdXJhdGlvbiAuICIsIik7CisgICAgcHJp
bnRsbigiI0VYVElORjoiIC4gJGNodW5rRHVyYXRpb24pOwogICAgIHByaW50bG4oIi4uL3ZpZGVv
LWNvb2tpZS1jaGVjay1jb29raWUucGhwIik7CiB9CitwcmludGxuKCIjRVhULVgtRU5ETElTVCIp
OwogPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmY0
ZDEzZWQxMDUwNDYwMmUzMDQ5ZWNlMGViZDQyYTEzYzFlN2U3MC4uOWRjOThhMGViNjhkYjkxNDVl
MTI4MGRhNjEzODdlOWI4YmE4OTZmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTEzMTYsNyArMTMxNiw3IEBAIHdlYmtpdC5vcmcvYi8xNzc4MTYgd2Vi
Z2wvMS4wLjIvY29uZm9ybWFuY2Uvb2dsZXMvR0wvdmVjL3ZlY18wMDFfdG9fMDA4Lmh0bWwgWyBD
CiB3ZWJraXQub3JnL2IvMTgwMDk3IG1lZGlhL3ZpZGVvLWNvbmN1cnJlbnQtdmlzaWJsZS1wbGF5
YmFjay5odG1sIFsgQ3Jhc2ggUGFzcyBdCiB3ZWJraXQub3JnL2IvMTgwMDk4IHNlY3VyaXR5L2lz
U2VjdXJlQ29udGV4dC1kaXNhYmxlZC5odG1sIFsgQ3Jhc2ggUGFzcyBdCiAKLXdlYmtpdC5vcmcv
Yi8xODA4MDMgaHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tY29va2llLmh0bWwgWyBDcmFzaCBd
Cisjd2Via2l0Lm9yZy9iLzE4MDgwMyBodHRwL3Rlc3RzL21lZGlhL2hscy92aWRlby1jb29raWUu
aHRtbCBbIENyYXNoIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5k
IG9mIENyYXNoaW5nIHRlc3RzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>