<?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>203680</bug_id>
          
          <creation_ts>2019-10-31 08:03:38 -0700</creation_ts>
          <short_desc>Port ServiceWorkerContainer to the HTML5 event loop</short_desc>
          <delta_ts>2019-11-01 12:35:16 -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>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>202293</blocked>
    
    <blocked>203714</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1585907</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-31 08:03:38 -0700</bug_when>
    <thetext>Port ServiceWorkerContainer to the HTML5 event loop, instead of having its own SuspendableTaskQueue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1585908</commentid>
    <comment_count>1</comment_count>
      <attachid>382459</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-31 08:06:27 -0700</bug_when>
    <thetext>Created attachment 382459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1585981</commentid>
    <comment_count>2</comment_count>
      <attachid>382478</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-31 10:51:33 -0700</bug_when>
    <thetext>Created attachment 382478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586035</commentid>
    <comment_count>3</comment_count>
      <attachid>382490</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-31 13:07:02 -0700</bug_when>
    <thetext>Created attachment 382490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586051</commentid>
    <comment_count>4</comment_count>
      <attachid>382494</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-31 13:34:33 -0700</bug_when>
    <thetext>Created attachment 382494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586118</commentid>
    <comment_count>5</comment_count>
      <attachid>382494</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-31 16:01:12 -0700</bug_when>
    <thetext>Comment on attachment 382494
Patch

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

&gt; Source/WebCore/workers/WorkerEventLoop.cpp:38
&gt; +    auto eventLoop = adoptRef(*new WorkerEventLoop(context));
&gt; +    eventLoop-&gt;suspendIfNeeded();
&gt; +    return eventLoop;

Maybe we can just do this in the constructor?

&gt; Source/WebCore/workers/WorkerEventLoop.cpp:45
&gt; +    eventLoop-&gt;suspendIfNeeded();

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586139</commentid>
    <comment_count>6</comment_count>
      <attachid>382519</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-31 16:44:07 -0700</bug_when>
    <thetext>Created attachment 382519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586499</commentid>
    <comment_count>7</comment_count>
      <attachid>382519</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-01 12:34:39 -0700</bug_when>
    <thetext>Comment on attachment 382519
Patch

Clearing flags on attachment: 382519

Committed r251934: &lt;https://trac.webkit.org/changeset/251934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586500</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-01 12:34:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586501</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-01 12:35:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/56824994&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382459</attachid>
            <date>2019-10-31 08:06:27 -0700</date>
            <delta_ts>2019-10-31 10:51:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203680-20191031080626.patch</filename>
            <type>text/plain</type>
            <size>8398</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY4NTY4NGIxMTM4YmE1
MTQzZGFkNWY1NzQ0OGFlMmZhMmJiZTc3MC4uOTMxNzRkMzg1YjBkNThiNTYxMTFmOGZlODU0NmE5
N2NjNGY1NWYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEwLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyIHRvIHRoZSBIVE1MNSBldmVudCBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM2ODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9BYnN0cmFjdEV2ZW50TG9vcC5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OlNlcnZpY2VXb3JrZXJDb250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHkpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJh
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFp
bGVkV2l0aEV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFp
bmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9h
ZGluZ1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpl
bnF1ZXVlVGFzayk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaDoKKwogMjAxOS0xMC0zMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQWRkIHN1cHBvcnQgZm9yIEFuaW1hdGlvbkV2
ZW50LnBzZXVkb0VsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BYnN0cmFj
dEV2ZW50TG9vcC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fic3RyYWN0RXZlbnRMb29wLmgKaW5k
ZXggNDYwYmJmNjE2NDhhOGYxZGJjYWMzNTI5N2EyOTU5M2ZkMWNlZGQ2OC4uNjc1NzIxNzg4M2Nm
ZDY0N2FkN2E5NDI2MGUyODc4MDUyODBmNmM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0Fic3RyYWN0RXZlbnRMb29wLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fic3RyYWN0
RXZlbnRMb29wLmgKQEAgLTMzLDYgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogZW51bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhf
dCB7CisgICAgRE9NTWFuaXB1bGF0aW9uLAogICAgIElkbGVUYXNrLAogICAgIE5ldHdvcmtpbmcs
CiAgICAgVXNlckludGVyYWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKaW5kZXggZWY5ZmYzZTBhYjQ5
MTliNDc4M2FmZjJiZDVhNDY1NTcyNmFiMjQ0YS4uMDFmOWQxZDRmNjZkY2QyMDFmOTE5Y2IzNmY4
NWRkMjZmMTgwOGRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiQWJzdHJhY3RFdmVudExvb3Au
aCIKICNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkV2ZW50LmgiCkBAIC03Myw3ICs3NCw2IEBAIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OlNlcnZpY2VXb3JrZXJDb250YWluZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwKICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0KQogICAgICwgbV9uYXZpZ2F0b3IobmF2
aWdhdG9yKQogICAgICwgbV9tZXNzYWdlUXVldWUoR2VuZXJpY0V2ZW50UXVldWU6OmNyZWF0ZSgq
dGhpcykpCi0gICAgLCBtX3Rhc2tRdWV1ZShTdXNwZW5kYWJsZVRhc2tRdWV1ZTo6Y3JlYXRlKGNv
bnRleHQpKQogewogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwogICAgIApAQCAtMTA5LDcgKzEwOSw3
IEBAIGF1dG8gU2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHkoKSAtPiBSZWFkeVByb21pc2Um
CiAKICAgICAgICAgYXV0byYgY29udGV4dCA9ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAg
ICAgICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLndoZW5SZWdpc3RyYXRpb25SZWFkeShj
b250ZXh0LnRvcE9yaWdpbigpLmRhdGEoKSwgY29udGV4dC51cmwoKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0oYXV0byYmIHJlZ2lzdHJhdGlvbkRhdGEpIG11dGFibGUg
ewotICAgICAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzLCByZWdpc3RyYXRp
b25EYXRhID0gV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKV0oKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgIGVucXVldWVUYXNrKFt0aGlzLCByZWdpc3RyYXRpb25EYXRhID0gV1RGTW92ZShyZWdpc3Ry
YXRpb25EYXRhKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlv
biA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRlKCpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksICp0aGlzLCBXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGEpKTsKICAgICAgICAg
ICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZShXVEZNb3ZlKHJlZ2lzdHJhdGlvbikpOwog
ICAgICAgICAgICAgfSk7CkBAIC0yNzEsNyArMjcxLDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyOjpnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBjbGllbnRVUkwsIFJlZjxEZWZl
cnIKICAgICB9CiAKICAgICBlbnN1cmVTV0NsaWVudENvbm5lY3Rpb24oKS5tYXRjaFJlZ2lzdHJh
dGlvbihTZWN1cml0eU9yaWdpbkRhdGEgeyBjb250ZXh0LnRvcE9yaWdpbigpLmRhdGEoKSB9LCBw
YXJzZWRVUkwsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHByb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKLSAgICAgICAgbV90
YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwg
cmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpXSgpIG11dGFibGUgeworICAgICAgICBlbnF1ZXVlVGFz
ayhbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlc3VsdCA9IFdURk1vdmUocmVz
dWx0KV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmICghcmVzdWx0KSB7CiAgICAgICAgICAg
ICAgICAgcHJvbWlzZS0+cmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTMw
Myw3ICszMDMsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlv
bnMoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogCiAgICAgYXV0byYgY29udGV4dCA9
ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgZW5zdXJlU1dDbGllbnRDb25uZWN0aW9u
KCkuZ2V0UmVnaXN0cmF0aW9ucyhTZWN1cml0eU9yaWdpbkRhdGEgeyBjb250ZXh0LnRvcE9yaWdp
bigpLmRhdGEoKSB9LCBjb250ZXh0LnVybCgpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGF1dG8mJiByZWdpc3RyYXRp
b25EYXRhcykgbXV0YWJsZSB7Ci0gICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhp
cywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlZ2lzdHJhdGlvbkRhdGFzID0gV1RGTW92
ZShyZWdpc3RyYXRpb25EYXRhcyldKCkgbXV0YWJsZSB7CisgICAgICAgIGVucXVldWVUYXNrKFt0
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgcmVnaXN0cmF0aW9uRGF0YXMgPSBXVEZN
b3ZlKHJlZ2lzdHJhdGlvbkRhdGFzKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGF1dG8gcmVn
aXN0cmF0aW9ucyA9IFdURjo6bWFwKFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YXMpLCBbJl0oYXV0
byYmIHJlZ2lzdHJhdGlvbkRhdGEpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbjo6Z2V0T3JDcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
KnRoaXMsIFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSkpOwogICAgICAgICAgICAgfSk7CkBAIC0z
MzUsNyArMzM1LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRXaXRo
RXhjZXB0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QKICAgICBpZiAoIXByb21pc2Up
CiAgICAgICAgIHJldHVybjsKIAotICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSksIGV4Y2VwdGlvbl0oKSBtdXRhYmxlIHsKKyAgICBlbnF1ZXVl
VGFzayhbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGV4Y2VwdGlvbl0oKSBtdXRhYmxlIHsK
ICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KGV4Y2VwdGlvbik7CiAgICAgfSk7CiB9CkBAIC0zODAs
NyArMzgwLDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhS
ZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLAogICAgIGlmICghcHJvbWlzZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBq
b2JJZGVudGlmaWVyID0gam9iLmlkZW50aWZpZXIoKSwgZGF0YSA9IFdURk1vdmUoZGF0YSksIHNo
b3VsZE5vdGlmeVdoZW5SZXNvbHZlZCwgbm90aWZ5SWZFeGl0RWFybHkgPSBXVEZNb3ZlKG5vdGlm
eUlmRXhpdEVhcmx5KV0oKSBtdXRhYmxlIHsKKyAgICBlbnF1ZXVlVGFzayhbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgam9i
SWRlbnRpZmllciA9IGpvYi5pZGVudGlmaWVyKCksIGRhdGEgPSBXVEZNb3ZlKGRhdGEpLCBzaG91
bGROb3RpZnlXaGVuUmVzb2x2ZWQsIG5vdGlmeUlmRXhpdEVhcmx5ID0gV1RGTW92ZShub3RpZnlJ
ZkV4aXRFYXJseSldKCkgbXV0YWJsZSB7CiAgICAgICAgIG5vdGlmeUlmRXhpdEVhcmx5LnJlbGVh
c2UoKTsKIAogICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OmdldE9yQ3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzLCBXVEZN
b3ZlKGRhdGEpKTsKQEAgLTQzNSw3ICs0MzUsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OmpvYlJlc29sdmVkV2l0aFVucmVnaXN0cmF0aW9uUmVzdWx0KFNlcnZpY2VXb3JrZXJKbwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFtw
cm9taXNlID0gam9iLnRha2VQcm9taXNlKCksIHVucmVnaXN0cmF0aW9uUmVzdWx0XSgpIG11dGFi
bGUgeworICAgIGVucXVldWVUYXNrKFtwcm9taXNlID0gam9iLnRha2VQcm9taXNlKCksIHVucmVn
aXN0cmF0aW9uUmVzdWx0XSgpIG11dGFibGUgewogICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElE
TEJvb2xlYW4+KHVucmVnaXN0cmF0aW9uUmVzdWx0KTsKICAgICB9KTsKIH0KQEAgLTQ4Miw3ICs0
ODIsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxlZExvYWRpbmdTY3Jp
cHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBjb25zdAogICAgIENPTlRBSU5FUl9SRUxFQVNFX0xP
R19FUlJPUl9JRl9BTExPV0VEKCJqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQ6IEZhaWxlZCB0byBm
ZXRjaCBzY3JpcHQgZm9yIGpvYiAlIiBQUkl1NjQgIiwgZXJyb3I6ICVzIiwgam9iLmlkZW50aWZp
ZXIoKS50b1VJbnQ2NCgpLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRh
KCkpOwogCiAgICAgaWYgKGF1dG8gcHJvbWlzZSA9IGpvYi50YWtlUHJvbWlzZSgpKSB7Ci0gICAg
ICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSks
IGV4Y2VwdGlvbiA9IFdURk1vdmUoZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgZW5x
dWV1ZVRhc2soW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBleGNlcHRpb24gPSBXVEZNb3Zl
KGV4Y2VwdGlvbildKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoV1RG
TW92ZShleGNlcHRpb24pKTsKICAgICAgICAgfSk7CiAgICAgfQpAQCAtNjE5LDYgKzYxOSwxNiBA
QCBib29sIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RQogICAgIHJldHVybiBFdmVudFRhcmdldFdpdGhJbmxp
bmVEYXRhOjphZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92ZShldmVudExpc3RlbmVy
KSwgb3B0aW9ucyk7CiB9CiAKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6ZW5xdWV1ZVRh
c2soRnVuY3Rpb248dm9pZCgpPiYmIHRhc2spCit7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybjsK
KyAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6RE9NTWFuaXB1
bGF0aW9uLCAqY29udGV4dCwgW3BlbmRpbmdBY3Rpdml0eSA9IG1ha2VQZW5kaW5nQWN0aXZpdHko
KnRoaXMpLCB0YXNrID0gV1RGTW92ZSh0YXNrKV0geworICAgICAgICB0YXNrKCk7CisgICAgfSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4IGQxMWRiNGVhYzcyMTU4YzAyMDNjOWQ4MDY5OGY4
NGRhMTk5MWVlMzYuLjViMjdmZWYzOGE5ZWQxNzA5NjVmMzNkY2RhZDAwMjE2YTA3MWY1NGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDb250YWluZXIuaApAQCAtOTQsNiArOTQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAg
Ym9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2
ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiA9IHsgfSkgZmlu
YWw7CisgICAgdm9pZCBlbnF1ZXVlVGFzayhGdW5jdGlvbjx2b2lkKCk+JiYpOwogCiAgICAgdm9p
ZCBzY2hlZHVsZUpvYihzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdvcmtlckpvYj4mJik7CiAKQEAg
LTE0NCw3ICsxNDUsNiBAQCBwcml2YXRlOgogICAgIHVpbnQ2NF90IG1fbGFzdE9uZ29pbmdTZXR0
bGVkUmVnaXN0cmF0aW9uSWRlbnRpZmllciB7IDAgfTsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5PiBtX29uZ29pbmdTZXR0bGVkUmVnaXN0cmF0aW9u
czsKICAgICBVbmlxdWVSZWY8R2VuZXJpY0V2ZW50UXVldWU+IG1fbWVzc2FnZVF1ZXVlOwotICAg
IFVuaXF1ZVJlZjxTdXNwZW5kYWJsZVRhc2tRdWV1ZT4gbV90YXNrUXVldWU7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382478</attachid>
            <date>2019-10-31 10:51:33 -0700</date>
            <delta_ts>2019-10-31 13:07:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203680-20191031105133.patch</filename>
            <type>text/plain</type>
            <size>9942</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxODUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0OTA4OTExNWI4ZmM2
Mjc0ZDNlZjAxZjFiOWY5YmU1YjNiMzEwYS4uNjU5Y2U1NjEwOTllYjc2ODc4MDE2YzBiOTA5YzJm
ZDNiZTdiOWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEwLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyIHRvIHRoZSBIVE1MNSBldmVudCBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM2ODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9BYnN0cmFjdEV2ZW50TG9vcC5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OlNlcnZpY2VXb3JrZXJDb250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHkpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJh
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFp
bGVkV2l0aEV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFp
bmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9h
ZGluZ1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpl
bnF1ZXVlVGFzayk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaDoKKwogMjAxOS0xMC0zMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdW0lGQ10gTGluZTo6UnVuIHNob3VsZCBub3QgaG9sZCBhIHJlZmVyZW5j
ZSB0byBJbmxpbmVJdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWJzdHJhY3RF
dmVudExvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BYnN0cmFjdEV2ZW50TG9vcC5oCmluZGV4
IDQ2MGJiZjYxNjQ4YThmMWRiY2FjMzUyOTdhMjk1OTNmZDFjZWRkNjguLjY3NTcyMTc4ODNjZmQ2
NDdhZDdhOTQyNjBlMjg3ODA1MjgwZjZjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9BYnN0cmFjdEV2ZW50TG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BYnN0cmFjdEV2
ZW50TG9vcC5oCkBAIC0zMyw2ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3Qg
eworICAgIERPTU1hbmlwdWxhdGlvbiwKICAgICBJZGxlVGFzaywKICAgICBOZXR3b3JraW5nLAog
ICAgIFVzZXJJbnRlcmFjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJFdmVudExvb3AuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJFdmVudExv
b3AuY3BwCmluZGV4IDBhOGU3MjczOTk3ZDRhMDg4MjUyMzA4YmFlMGMyZjM4MTE4ZjdmNDkuLjM0
YTcxZDUzMzZkNmU2ZWU5MWJlMDdlYWQ2YzBlZTg4ZmRlZDViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRXZlbnRMb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckV2ZW50TG9vcC5jcHAKQEAgLTMzLDEzICszMywxNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFJlZjxXb3JrZXJFdmVudExvb3A+IFdvcmtlckV2ZW50TG9vcDo6Y3Jl
YXRlKFdvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0KQogewotICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdvcmtlckV2ZW50TG9vcChjb250ZXh0KSk7CisgICAgYXV0byBldmVudExvb3AgPSBhZG9w
dFJlZigqbmV3IFdvcmtlckV2ZW50TG9vcChjb250ZXh0KSk7CisgICAgZXZlbnRMb29wLT5zdXNw
ZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gZXZlbnRMb29wOwogfQogCiAjaWYgRU5BQkxFKENT
U19QQUlOVElOR19BUEkpCiBSZWY8V29ya2VyRXZlbnRMb29wPiBXb3JrZXJFdmVudExvb3A6OmNy
ZWF0ZShXb3JrbGV0R2xvYmFsU2NvcGUmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV29ya2VyRXZlbnRMb29wKGNvbnRleHQpKTsKKyAgICBhdXRvIGV2ZW50TG9vcCA9IGFk
b3B0UmVmKCpuZXcgV29ya2VyRXZlbnRMb29wKGNvbnRleHQpKTsKKyAgICBldmVudExvb3AtPnN1
c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBldmVudExvb3A7CiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuY3BwCmluZGV4IGVmOWZmM2UwYWI0OTE5YjQ3ODNhZmYyYmQ1YTQ2NTU3MjZhYjI0
NGEuLjY4MGYwYjU4YWExYzMzMTM3OGU1MmJmNmU1ODU3MGIwNjYzZmQzMjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
IAorI2luY2x1ZGUgIkFic3RyYWN0RXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRE9NUHJvbWlzZVBy
b3h5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpAQCAtNzMs
NyArNzQsNiBAQCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVy
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAgOiBBY3RpdmVET01PYmplY3Qo
Y29udGV4dCkKICAgICAsIG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKICAgICAsIG1fbWVzc2FnZVF1
ZXVlKEdlbmVyaWNFdmVudFF1ZXVlOjpjcmVhdGUoKnRoaXMpKQotICAgICwgbV90YXNrUXVldWUo
U3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZShjb250ZXh0KSkKIHsKICAgICBzdXNwZW5kSWZO
ZWVkZWQoKTsKICAgICAKQEAgLTEwOSw3ICsxMDksNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250
YWluZXI6OnJlYWR5KCkgLT4gUmVhZHlQcm9taXNlJgogCiAgICAgICAgIGF1dG8mIGNvbnRleHQg
PSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgICAgICBlbnN1cmVTV0NsaWVudENvbm5l
Y3Rpb24oKS53aGVuUmVnaXN0cmF0aW9uUmVhZHkoY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCks
IGNvbnRleHQudXJsKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKGF1
dG8mJiByZWdpc3RyYXRpb25EYXRhKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIG1fdGFza1F1ZXVl
LT5lbnF1ZXVlVGFzayhbdGhpcywgcmVnaXN0cmF0aW9uRGF0YSA9IFdURk1vdmUocmVnaXN0cmF0
aW9uRGF0YSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBlbnF1ZXVlVGFzayhbdGhpcywgcmVn
aXN0cmF0aW9uRGF0YSA9IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSldKCkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcywgV1RGTW92
ZShyZWdpc3RyYXRpb25EYXRhKSk7CiAgICAgICAgICAgICAgICAgbV9yZWFkeVByb21pc2UtPnJl
c29sdmUoV1RGTW92ZShyZWdpc3RyYXRpb24pKTsKICAgICAgICAgICAgIH0pOwpAQCAtMjcxLDcg
KzI3MSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKGNv
bnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8RGVmZXJyCiAgICAgfQogCiAgICAgZW5zdXJlU1dD
bGllbnRDb25uZWN0aW9uKCkubWF0Y2hSZWdpc3RyYXRpb24oU2VjdXJpdHlPcmlnaW5EYXRhIHsg
Y29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCkgfSwgcGFyc2VkVVJMLCBbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oYXV0byYm
IHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhp
cywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCldKCkgbXV0YWJsZSB7CiAgICAgICAg
ICAgICBpZiAoIXJlc3VsdCkgewogICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmUoKTsK
ICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0zMDMsNyArMzAzLDcgQEAgdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRpb25zKFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKIAogICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
OwogICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLmdldFJlZ2lzdHJhdGlvbnMoU2VjdXJp
dHlPcmlnaW5EYXRhIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCkgfSwgY29udGV4dC51cmwo
KSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldIChhdXRvJiYgcmVnaXN0cmF0aW9uRGF0YXMpIG11dGFibGUgewotICAgICAg
ICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpLCByZWdpc3RyYXRpb25EYXRhcyA9IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YXMpXSgpIG11
dGFibGUgeworICAgICAgICBlbnF1ZXVlVGFzayhbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSksIHJlZ2lzdHJhdGlvbkRhdGFzID0gV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhcyldKCkg
bXV0YWJsZSB7CiAgICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbnMgPSBXVEY6Om1hcChXVEZN
b3ZlKHJlZ2lzdHJhdGlvbkRhdGFzKSwgWyZdKGF1dG8mJiByZWdpc3RyYXRpb25EYXRhKSB7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3Jl
YXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzLCBXVEZNb3ZlKHJlZ2lzdHJhdGlv
bkRhdGEpKTsKICAgICAgICAgICAgIH0pOwpAQCAtMzM1LDcgKzMzNSw3IEBAIHZvaWQgU2Vydmlj
ZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkV2l0aEV4Y2VwdGlvbihTZXJ2aWNlV29ya2VySm9i
JiBqb2IsIGNvbnN0CiAgICAgaWYgKCFwcm9taXNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBleGNl
cHRpb25dKCkgbXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpLCBleGNlcHRpb25dKCkgbXV0YWJsZSB7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChl
eGNlcHRpb24pOwogICAgIH0pOwogfQpAQCAtMzgwLDcgKzM4MCw3IEBAIHZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJK
b2ImIGpvYiwKICAgICBpZiAoIXByb21pc2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fdGFz
a1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgam9iSWRlbnRpZmllciA9IGpvYi5pZGVudGlm
aWVyKCksIGRhdGEgPSBXVEZNb3ZlKGRhdGEpLCBzaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQsIG5v
dGlmeUlmRXhpdEVhcmx5ID0gV1RGTW92ZShub3RpZnlJZkV4aXRFYXJseSldKCkgbXV0YWJsZSB7
CisgICAgZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBqb2JJ
ZGVudGlmaWVyID0gam9iLmlkZW50aWZpZXIoKSwgZGF0YSA9IFdURk1vdmUoZGF0YSksIHNob3Vs
ZE5vdGlmeVdoZW5SZXNvbHZlZCwgbm90aWZ5SWZFeGl0RWFybHkgPSBXVEZNb3ZlKG5vdGlmeUlm
RXhpdEVhcmx5KV0oKSBtdXRhYmxlIHsKICAgICAgICAgbm90aWZ5SWZFeGl0RWFybHkucmVsZWFz
ZSgpOwogCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbjo6Z2V0T3JDcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKnRoaXMsIFdURk1v
dmUoZGF0YSkpOwpAQCAtMzg5LDcgKzM4OSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwKIAog
ICAgICAgICBpZiAoc2hvdWxkTm90aWZ5V2hlblJlc29sdmVkID09IFNob3VsZE5vdGlmeVdoZW5S
ZXNvbHZlZDo6WWVzKSB7CiAgICAgICAgICAgICBtX29uZ29pbmdTZXR0bGVkUmVnaXN0cmF0aW9u
cy5hZGQoKyttX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIHJlZ2lz
dHJhdGlvbi0+ZGF0YSgpLmtleSk7Ci0gICAgICAgICAgICBwcm9taXNlLT53aGVuU2V0dGxlZChb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGlkZW50aWZpZXIg
PSBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50aWZpZXJdIHsKKyAgICAgICAg
ICAgIHByb21pc2UtPndoZW5TZXR0bGVkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGlkZW50aWZpZXIgPSBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50
aWZpZXJdIHsKICAgICAgICAgICAgICAgICBub3RpZnlSZWdpc3RyYXRpb25Jc1NldHRsZWQobV9v
bmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbnMudGFrZShpZGVudGlmaWVyKSk7CiAgICAgICAgICAg
ICB9KTsKICAgICAgICAgfQpAQCAtNDM1LDcgKzQzNSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtl
ckpvCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRh
c2soW3Byb21pc2UgPSBqb2IudGFrZVByb21pc2UoKSwgdW5yZWdpc3RyYXRpb25SZXN1bHRdKCkg
bXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBqb2IudGFrZVByb21pc2UoKSwg
dW5yZWdpc3RyYXRpb25SZXN1bHRdKCkgbXV0YWJsZSB7CiAgICAgICAgIHByb21pc2UtPnJlc29s
dmU8SURMQm9vbGVhbj4odW5yZWdpc3RyYXRpb25SZXN1bHQpOwogICAgIH0pOwogfQpAQCAtNDgy
LDcgKzQ4Miw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9hZGlu
Z1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0CiAgICAgQ09OVEFJTkVSX1JFTEVB
U0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdDogRmFpbGVk
IHRvIGZldGNoIHNjcmlwdCBmb3Igam9iICUiIFBSSXU2NCAiLCBlcnJvcjogJXMiLCBqb2IuaWRl
bnRpZmllcigpLnRvVUludDY0KCksIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkudXRmOCgp
LmRhdGEoKSk7CiAKICAgICBpZiAoYXV0byBwcm9taXNlID0gam9iLnRha2VQcm9taXNlKCkpIHsK
LSAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFtwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKSwgZXhjZXB0aW9uID0gV1RGTW92ZShleGNlcHRpb24pXSgpIG11dGFibGUgeworICAgICAg
ICBlbnF1ZXVlVGFzayhbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGV4Y2VwdGlvbiA9IFdU
Rk1vdmUoZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21pc2UtPnJlamVj
dChXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAgICAgICB9KTsKICAgICB9CkBAIC02MTksNiArNjE5
LDE2IEBAIGJvb2wgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6YWRkRXZlbnRMaXN0ZW5lcihjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFCiAgICAgcmV0dXJuIEV2ZW50VGFyZ2V0V2l0
aElubGluZURhdGE6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGV2ZW50TGlz
dGVuZXIpLCBvcHRpb25zKTsKIH0KIAordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjplbnF1
ZXVlVGFzayhGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykKK3sKKyAgICBhdXRvKiBjb250ZXh0ID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAgICAgcmV0
dXJuOworICAgIGNvbnRleHQtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpET01N
YW5pcHVsYXRpb24sICpjb250ZXh0LCBbcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rp
dml0eSgqdGhpcyksIHRhc2sgPSBXVEZNb3ZlKHRhc2spXSB7CisgICAgICAgIHRhc2soKTsKKyAg
ICB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZDExZGI0ZWFjNzIxNThjMDIwM2M5ZDgw
Njk4Zjg0ZGExOTkxZWUzNi4uNWIyN2ZlZjM4YTllZDE3MDk2NWYzM2RjZGFkMDAyMTZhMDcxZjU0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5oCkBAIC05NCw2ICs5NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBS
ZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmID0geyB9
KSBmaW5hbDsKKyAgICB2b2lkIGVucXVldWVUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAKICAg
ICB2b2lkIHNjaGVkdWxlSm9iKHN0ZDo6dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VySm9iPiYmKTsK
IApAQCAtMTQ0LDcgKzE0NSw2IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9sYXN0T25nb2lu
Z1NldHRsZWRSZWdpc3RyYXRpb25JZGVudGlmaWVyIHsgMCB9OwogICAgIEhhc2hNYXA8dWludDY0
X3QsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk+IG1fb25nb2luZ1NldHRsZWRSZWdpc3Ry
YXRpb25zOwogICAgIFVuaXF1ZVJlZjxHZW5lcmljRXZlbnRRdWV1ZT4gbV9tZXNzYWdlUXVldWU7
Ci0gICAgVW5pcXVlUmVmPFN1c3BlbmRhYmxlVGFza1F1ZXVlPiBtX3Rhc2tRdWV1ZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382490</attachid>
            <date>2019-10-31 13:07:02 -0700</date>
            <delta_ts>2019-10-31 13:34:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203680-20191031130701.patch</filename>
            <type>text/plain</type>
            <size>9974</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxODUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0OTA4OTExNWI4ZmM2
Mjc0ZDNlZjAxZjFiOWY5YmU1YjNiMzEwYS4uNjU5Y2U1NjEwOTllYjc2ODc4MDE2YzBiOTA5YzJm
ZDNiZTdiOWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEwLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyIHRvIHRoZSBIVE1MNSBldmVudCBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM2ODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9BYnN0cmFjdEV2ZW50TG9vcC5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OlNlcnZpY2VXb3JrZXJDb250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHkpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJh
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFp
bGVkV2l0aEV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFp
bmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9h
ZGluZ1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpl
bnF1ZXVlVGFzayk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaDoKKwogMjAxOS0xMC0zMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdW0lGQ10gTGluZTo6UnVuIHNob3VsZCBub3QgaG9sZCBhIHJlZmVyZW5j
ZSB0byBJbmxpbmVJdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWJzdHJhY3RF
dmVudExvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BYnN0cmFjdEV2ZW50TG9vcC5oCmluZGV4
IDQ2MGJiZjYxNjQ4YThmMWRiY2FjMzUyOTdhMjk1OTNmZDFjZWRkNjguLjY3NTcyMTc4ODNjZmQ2
NDdhZDdhOTQyNjBlMjg3ODA1MjgwZjZjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9BYnN0cmFjdEV2ZW50TG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BYnN0cmFjdEV2
ZW50TG9vcC5oCkBAIC0zMyw2ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3Qg
eworICAgIERPTU1hbmlwdWxhdGlvbiwKICAgICBJZGxlVGFzaywKICAgICBOZXR3b3JraW5nLAog
ICAgIFVzZXJJbnRlcmFjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJFdmVudExvb3AuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJFdmVudExv
b3AuY3BwCmluZGV4IDBhOGU3MjczOTk3ZDRhMDg4MjUyMzA4YmFlMGMyZjM4MTE4ZjdmNDkuLjM0
YTcxZDUzMzZkNmU2ZWU5MWJlMDdlYWQ2YzBlZTg4ZmRlZDViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRXZlbnRMb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckV2ZW50TG9vcC5jcHAKQEAgLTMzLDEzICszMywxNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFJlZjxXb3JrZXJFdmVudExvb3A+IFdvcmtlckV2ZW50TG9vcDo6Y3Jl
YXRlKFdvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0KQogewotICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdvcmtlckV2ZW50TG9vcChjb250ZXh0KSk7CisgICAgYXV0byBldmVudExvb3AgPSBhZG9w
dFJlZigqbmV3IFdvcmtlckV2ZW50TG9vcChjb250ZXh0KSk7CisgICAgZXZlbnRMb29wLT5zdXNw
ZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gZXZlbnRMb29wOwogfQogCiAjaWYgRU5BQkxFKENT
U19QQUlOVElOR19BUEkpCiBSZWY8V29ya2VyRXZlbnRMb29wPiBXb3JrZXJFdmVudExvb3A6OmNy
ZWF0ZShXb3JrbGV0R2xvYmFsU2NvcGUmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV29ya2VyRXZlbnRMb29wKGNvbnRleHQpKTsKKyAgICBhdXRvIGV2ZW50TG9vcCA9IGFk
b3B0UmVmKCpuZXcgV29ya2VyRXZlbnRMb29wKGNvbnRleHQpKTsKKyAgICBldmVudExvb3AtPnN1
c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBldmVudExvb3A7CiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuY3BwCmluZGV4IGVmOWZmM2UwYWI0OTE5YjQ3ODNhZmYyYmQ1YTQ2NTU3MjZhYjI0
NGEuLjExYmI0MmVmOGQ3MjAxZmM3ZmQ1NDhkMTNkOTM3N2QyMTJhZGI1ZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
IAorI2luY2x1ZGUgIkFic3RyYWN0RXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRE9NUHJvbWlzZVBy
b3h5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpAQCAtNzMs
NyArNzQsNiBAQCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVy
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAgOiBBY3RpdmVET01PYmplY3Qo
Y29udGV4dCkKICAgICAsIG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKICAgICAsIG1fbWVzc2FnZVF1
ZXVlKEdlbmVyaWNFdmVudFF1ZXVlOjpjcmVhdGUoKnRoaXMpKQotICAgICwgbV90YXNrUXVldWUo
U3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZShjb250ZXh0KSkKIHsKICAgICBzdXNwZW5kSWZO
ZWVkZWQoKTsKICAgICAKQEAgLTEwOSw3ICsxMDksNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250
YWluZXI6OnJlYWR5KCkgLT4gUmVhZHlQcm9taXNlJgogCiAgICAgICAgIGF1dG8mIGNvbnRleHQg
PSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgICAgICBlbnN1cmVTV0NsaWVudENvbm5l
Y3Rpb24oKS53aGVuUmVnaXN0cmF0aW9uUmVhZHkoY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCks
IGNvbnRleHQudXJsKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKGF1
dG8mJiByZWdpc3RyYXRpb25EYXRhKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIG1fdGFza1F1ZXVl
LT5lbnF1ZXVlVGFzayhbdGhpcywgcmVnaXN0cmF0aW9uRGF0YSA9IFdURk1vdmUocmVnaXN0cmF0
aW9uRGF0YSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBlbnF1ZXVlVGFzayhbdGhpcywgcmVn
aXN0cmF0aW9uRGF0YSA9IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSldKCkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcywgV1RGTW92
ZShyZWdpc3RyYXRpb25EYXRhKSk7CiAgICAgICAgICAgICAgICAgbV9yZWFkeVByb21pc2UtPnJl
c29sdmUoV1RGTW92ZShyZWdpc3RyYXRpb24pKTsKICAgICAgICAgICAgIH0pOwpAQCAtMjcxLDcg
KzI3MSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKGNv
bnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8RGVmZXJyCiAgICAgfQogCiAgICAgZW5zdXJlU1dD
bGllbnRDb25uZWN0aW9uKCkubWF0Y2hSZWdpc3RyYXRpb24oU2VjdXJpdHlPcmlnaW5EYXRhIHsg
Y29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCkgfSwgcGFyc2VkVVJMLCBbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oYXV0byYm
IHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhp
cywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCldKCkgbXV0YWJsZSB7CiAgICAgICAg
ICAgICBpZiAoIXJlc3VsdCkgewogICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmUoKTsK
ICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0zMDMsNyArMzAzLDcgQEAgdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRpb25zKFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKIAogICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
OwogICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLmdldFJlZ2lzdHJhdGlvbnMoU2VjdXJp
dHlPcmlnaW5EYXRhIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCkgfSwgY29udGV4dC51cmwo
KSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldIChhdXRvJiYgcmVnaXN0cmF0aW9uRGF0YXMpIG11dGFibGUgewotICAgICAg
ICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpLCByZWdpc3RyYXRpb25EYXRhcyA9IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YXMpXSgpIG11
dGFibGUgeworICAgICAgICBlbnF1ZXVlVGFzayhbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSksIHJlZ2lzdHJhdGlvbkRhdGFzID0gV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhcyldKCkg
bXV0YWJsZSB7CiAgICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbnMgPSBXVEY6Om1hcChXVEZN
b3ZlKHJlZ2lzdHJhdGlvbkRhdGFzKSwgWyZdKGF1dG8mJiByZWdpc3RyYXRpb25EYXRhKSB7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3Jl
YXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzLCBXVEZNb3ZlKHJlZ2lzdHJhdGlv
bkRhdGEpKTsKICAgICAgICAgICAgIH0pOwpAQCAtMzM1LDcgKzMzNSw3IEBAIHZvaWQgU2Vydmlj
ZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkV2l0aEV4Y2VwdGlvbihTZXJ2aWNlV29ya2VySm9i
JiBqb2IsIGNvbnN0CiAgICAgaWYgKCFwcm9taXNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBleGNl
cHRpb25dKCkgbXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpLCBleGNlcHRpb25dKCkgbXV0YWJsZSB7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChl
eGNlcHRpb24pOwogICAgIH0pOwogfQpAQCAtMzgwLDcgKzM4MCw3IEBAIHZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJK
b2ImIGpvYiwKICAgICBpZiAoIXByb21pc2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fdGFz
a1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgam9iSWRlbnRpZmllciA9IGpvYi5pZGVudGlm
aWVyKCksIGRhdGEgPSBXVEZNb3ZlKGRhdGEpLCBzaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQsIG5v
dGlmeUlmRXhpdEVhcmx5ID0gV1RGTW92ZShub3RpZnlJZkV4aXRFYXJseSldKCkgbXV0YWJsZSB7
CisgICAgZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBqb2JJ
ZGVudGlmaWVyID0gam9iLmlkZW50aWZpZXIoKSwgZGF0YSA9IFdURk1vdmUoZGF0YSksIHNob3Vs
ZE5vdGlmeVdoZW5SZXNvbHZlZCwgbm90aWZ5SWZFeGl0RWFybHkgPSBXVEZNb3ZlKG5vdGlmeUlm
RXhpdEVhcmx5KV0oKSBtdXRhYmxlIHsKICAgICAgICAgbm90aWZ5SWZFeGl0RWFybHkucmVsZWFz
ZSgpOwogCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbjo6Z2V0T3JDcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKnRoaXMsIFdURk1v
dmUoZGF0YSkpOwpAQCAtMzg5LDcgKzM4OSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwKIAog
ICAgICAgICBpZiAoc2hvdWxkTm90aWZ5V2hlblJlc29sdmVkID09IFNob3VsZE5vdGlmeVdoZW5S
ZXNvbHZlZDo6WWVzKSB7CiAgICAgICAgICAgICBtX29uZ29pbmdTZXR0bGVkUmVnaXN0cmF0aW9u
cy5hZGQoKyttX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIHJlZ2lz
dHJhdGlvbi0+ZGF0YSgpLmtleSk7Ci0gICAgICAgICAgICBwcm9taXNlLT53aGVuU2V0dGxlZChb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGlkZW50aWZpZXIg
PSBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50aWZpZXJdIHsKKyAgICAgICAg
ICAgIHByb21pc2UtPndoZW5TZXR0bGVkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGlkZW50aWZpZXIgPSBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50
aWZpZXJdIHsKICAgICAgICAgICAgICAgICBub3RpZnlSZWdpc3RyYXRpb25Jc1NldHRsZWQobV9v
bmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbnMudGFrZShpZGVudGlmaWVyKSk7CiAgICAgICAgICAg
ICB9KTsKICAgICAgICAgfQpAQCAtNDM1LDcgKzQzNSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtl
ckpvCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRh
c2soW3Byb21pc2UgPSBqb2IudGFrZVByb21pc2UoKSwgdW5yZWdpc3RyYXRpb25SZXN1bHRdKCkg
bXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBqb2IudGFrZVByb21pc2UoKSwg
dW5yZWdpc3RyYXRpb25SZXN1bHRdKCkgbXV0YWJsZSB7CiAgICAgICAgIHByb21pc2UtPnJlc29s
dmU8SURMQm9vbGVhbj4odW5yZWdpc3RyYXRpb25SZXN1bHQpOwogICAgIH0pOwogfQpAQCAtNDgy
LDcgKzQ4Miw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9hZGlu
Z1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0CiAgICAgQ09OVEFJTkVSX1JFTEVB
U0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdDogRmFpbGVk
IHRvIGZldGNoIHNjcmlwdCBmb3Igam9iICUiIFBSSXU2NCAiLCBlcnJvcjogJXMiLCBqb2IuaWRl
bnRpZmllcigpLnRvVUludDY0KCksIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkudXRmOCgp
LmRhdGEoKSk7CiAKICAgICBpZiAoYXV0byBwcm9taXNlID0gam9iLnRha2VQcm9taXNlKCkpIHsK
LSAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFtwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKSwgZXhjZXB0aW9uID0gV1RGTW92ZShleGNlcHRpb24pXSgpIG11dGFibGUgeworICAgICAg
ICBlbnF1ZXVlVGFzayhbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGV4Y2VwdGlvbiA9IFdU
Rk1vdmUoZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21pc2UtPnJlamVj
dChXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAgICAgICB9KTsKICAgICB9CkBAIC02MTksNiArNjE5
LDE2IEBAIGJvb2wgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6YWRkRXZlbnRMaXN0ZW5lcihjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFCiAgICAgcmV0dXJuIEV2ZW50VGFyZ2V0V2l0
aElubGluZURhdGE6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGV2ZW50TGlz
dGVuZXIpLCBvcHRpb25zKTsKIH0KIAordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjplbnF1
ZXVlVGFzayhGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykKK3sKKyAgICBhdXRvKiBjb250ZXh0ID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAgICAgcmV0
dXJuOworICAgIGNvbnRleHQtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpET01N
YW5pcHVsYXRpb24sICpjb250ZXh0LCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBw
ZW5kaW5nQWN0aXZpdHkgPSBtYWtlUGVuZGluZ0FjdGl2aXR5KCp0aGlzKSwgdGFzayA9IFdURk1v
dmUodGFzayldIHsKKyAgICAgICAgdGFzaygpOworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIu
aAppbmRleCBkMTFkYjRlYWM3MjE1OGMwMjAzYzlkODA2OThmODRkYTE5OTFlZTM2Li41YjI3ZmVm
MzhhOWVkMTcwOTY1ZjMzZGNkYWQwMDIxNmEwNzFmNTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTk0
LDYgKzk0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIGJvb2wgYWRkRXZlbnRMaXN0ZW5l
cihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25z
dCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYgPSB7IH0pIGZpbmFsOworICAgIHZvaWQgZW5xdWV1
ZVRhc2soRnVuY3Rpb248dm9pZCgpPiYmKTsKIAogICAgIHZvaWQgc2NoZWR1bGVKb2Ioc3RkOjp1
bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJKb2I+JiYpOwogCkBAIC0xNDQsNyArMTQ1LDYgQEAgcHJp
dmF0ZToKICAgICB1aW50NjRfdCBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50
aWZpZXIgeyAwIH07CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleT4gbV9vbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbnM7CiAgICAgVW5pcXVlUmVmPEdl
bmVyaWNFdmVudFF1ZXVlPiBtX21lc3NhZ2VRdWV1ZTsKLSAgICBVbmlxdWVSZWY8U3VzcGVuZGFi
bGVUYXNrUXVldWU+IG1fdGFza1F1ZXVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382494</attachid>
            <date>2019-10-31 13:34:33 -0700</date>
            <delta_ts>2019-10-31 16:44:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203680-20191031133432.patch</filename>
            <type>text/plain</type>
            <size>11112</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxODUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0OTA4OTExNWI4ZmM2
Mjc0ZDNlZjAxZjFiOWY5YmU1YjNiMzEwYS4uNjU5Y2U1NjEwOTllYjc2ODc4MDE2YzBiOTA5YzJm
ZDNiZTdiOWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEwLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyIHRvIHRoZSBIVE1MNSBldmVudCBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM2ODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9BYnN0cmFjdEV2ZW50TG9vcC5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OlNlcnZpY2VXb3JrZXJDb250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHkpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJh
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFp
bGVkV2l0aEV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFp
bmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9h
ZGluZ1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpl
bnF1ZXVlVGFzayk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaDoKKwogMjAxOS0xMC0zMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdW0lGQ10gTGluZTo6UnVuIHNob3VsZCBub3QgaG9sZCBhIHJlZmVyZW5j
ZSB0byBJbmxpbmVJdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVByb21pc2VEZWZlcnJlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVByb21pc2VEZWZlcnJlZC5jcHAKaW5kZXggMjI2NjEyMjE0NjMxMDFmOGI4MDRkYWI1M2Q1ZDE5
ZjVkODY1YTIzZC4uNTUwYmNjM2E2MDMxOTIzOWEyYTY0YjJjZTdkZWFhN2Q1NmRmNDM5MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURlZmVycmVk
LmNwcApAQCAtNjUsNiArNjUsOSBAQCB2b2lkIERlZmVycmVkUHJvbWlzZTo6Y2FsbEZ1bmN0aW9u
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBSZXNvbHZlTQogCiB2b2lkIERl
ZmVycmVkUHJvbWlzZTo6d2hlblNldHRsZWQoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQog
eworICAgIGlmIChpc1N1c3BlbmRlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBET01Qcm9t
aXNlOjp3aGVuUHJvbWlzZUlzU2V0dGxlZChnbG9iYWxPYmplY3QoKSwgZGVmZXJyZWQoKSwgV1RG
TW92ZShjYWxsYmFjaykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWJz
dHJhY3RFdmVudExvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BYnN0cmFjdEV2ZW50TG9vcC5o
CmluZGV4IDQ2MGJiZjYxNjQ4YThmMWRiY2FjMzUyOTdhMjk1OTNmZDFjZWRkNjguLjY3NTcyMTc4
ODNjZmQ2NDdhZDdhOTQyNjBlMjg3ODA1MjgwZjZjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9BYnN0cmFjdEV2ZW50TG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BYnN0
cmFjdEV2ZW50TG9vcC5oCkBAIC0zMyw2ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVp
bnQ4X3QgeworICAgIERPTU1hbmlwdWxhdGlvbiwKICAgICBJZGxlVGFzaywKICAgICBOZXR3b3Jr
aW5nLAogICAgIFVzZXJJbnRlcmFjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJFdmVudExvb3AuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJF
dmVudExvb3AuY3BwCmluZGV4IDBhOGU3MjczOTk3ZDRhMDg4MjUyMzA4YmFlMGMyZjM4MTE4Zjdm
NDkuLjM0YTcxZDUzMzZkNmU2ZWU5MWJlMDdlYWQ2YzBlZTg4ZmRlZDViYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRXZlbnRMb29wLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckV2ZW50TG9vcC5jcHAKQEAgLTMzLDEzICszMywxNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIFJlZjxXb3JrZXJFdmVudExvb3A+IFdvcmtlckV2ZW50TG9v
cDo6Y3JlYXRlKFdvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0KQogewotICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFdvcmtlckV2ZW50TG9vcChjb250ZXh0KSk7CisgICAgYXV0byBldmVudExvb3Ag
PSBhZG9wdFJlZigqbmV3IFdvcmtlckV2ZW50TG9vcChjb250ZXh0KSk7CisgICAgZXZlbnRMb29w
LT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gZXZlbnRMb29wOwogfQogCiAjaWYgRU5B
QkxFKENTU19QQUlOVElOR19BUEkpCiBSZWY8V29ya2VyRXZlbnRMb29wPiBXb3JrZXJFdmVudExv
b3A6OmNyZWF0ZShXb3JrbGV0R2xvYmFsU2NvcGUmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgV29ya2VyRXZlbnRMb29wKGNvbnRleHQpKTsKKyAgICBhdXRvIGV2ZW50TG9v
cCA9IGFkb3B0UmVmKCpuZXcgV29ya2VyRXZlbnRMb29wKGNvbnRleHQpKTsKKyAgICBldmVudExv
b3AtPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBldmVudExvb3A7CiB9CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwCmluZGV4IGVmOWZmM2UwYWI0OTE5YjQ3ODNhZmYyYmQ1YTQ2NTU3
MjZhYjI0NGEuLmM2MGU1MWYzOTlhODlmNDc1MjExY2MwN2M1NDZiNzcwOTk3Zjk1NDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKIAorI2luY2x1ZGUgIkFic3RyYWN0RXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRE9NUHJv
bWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpA
QCAtNzMsNyArNzQsNiBAQCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAgOiBBY3RpdmVET01P
YmplY3QoY29udGV4dCkKICAgICAsIG1fbmF2aWdhdG9yKG5hdmlnYXRvcikKICAgICAsIG1fbWVz
c2FnZVF1ZXVlKEdlbmVyaWNFdmVudFF1ZXVlOjpjcmVhdGUoKnRoaXMpKQotICAgICwgbV90YXNr
UXVldWUoU3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZShjb250ZXh0KSkKIHsKICAgICBzdXNw
ZW5kSWZOZWVkZWQoKTsKICAgICAKQEAgLTEwOSw3ICsxMDksNyBAQCBhdXRvIFNlcnZpY2VXb3Jr
ZXJDb250YWluZXI6OnJlYWR5KCkgLT4gUmVhZHlQcm9taXNlJgogCiAgICAgICAgIGF1dG8mIGNv
bnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgICAgICBlbnN1cmVTV0NsaWVu
dENvbm5lY3Rpb24oKS53aGVuUmVnaXN0cmF0aW9uUmVhZHkoY29udGV4dC50b3BPcmlnaW4oKS5k
YXRhKCksIGNvbnRleHQudXJsKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhp
cyldKGF1dG8mJiByZWdpc3RyYXRpb25EYXRhKSBtdXRhYmxlIHsKLSAgICAgICAgICAgIG1fdGFz
a1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpcywgcmVnaXN0cmF0aW9uRGF0YSA9IFdURk1vdmUocmVn
aXN0cmF0aW9uRGF0YSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBlbnF1ZXVlVGFzayhbdGhp
cywgcmVnaXN0cmF0aW9uRGF0YSA9IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSldKCkgbXV0YWJs
ZSB7CiAgICAgICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqdGhpcywg
V1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSk7CiAgICAgICAgICAgICAgICAgbV9yZWFkeVByb21p
c2UtPnJlc29sdmUoV1RGTW92ZShyZWdpc3RyYXRpb24pKTsKICAgICAgICAgICAgIH0pOwpAQCAt
MjcxLDcgKzI3MSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0
aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8RGVmZXJyCiAgICAgfQogCiAgICAgZW5z
dXJlU1dDbGllbnRDb25uZWN0aW9uKCkubWF0Y2hSZWdpc3RyYXRpb24oU2VjdXJpdHlPcmlnaW5E
YXRhIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCkgfSwgcGFyc2VkVVJMLCBbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
YXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFz
ayhbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlc3VsdCA9IFdURk1vdmUocmVz
dWx0KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBX
VEZNb3ZlKHByb21pc2UpLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCldKCkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICBpZiAoIXJlc3VsdCkgewogICAgICAgICAgICAgICAgIHByb21pc2UtPnJlc29s
dmUoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0zMDMsNyArMzAzLDcgQEAgdm9pZCBT
ZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRpb25zKFJlZjxEZWZlcnJlZFByb21p
c2U+JiYgcHJvbWlzZSkKIAogICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpOwogICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLmdldFJlZ2lzdHJhdGlvbnMo
U2VjdXJpdHlPcmlnaW5EYXRhIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCkgfSwgY29udGV4
dC51cmwoKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldIChhdXRvJiYgcmVnaXN0cmF0aW9uRGF0YXMpIG11dGFibGUgewot
ICAgICAgICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCByZWdpc3RyYXRpb25EYXRhcyA9IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YXMp
XSgpIG11dGFibGUgeworICAgICAgICBlbnF1ZXVlVGFzayhbdGhpcywgcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSksIHJlZ2lzdHJhdGlvbkRhdGFzID0gV1RGTW92ZShyZWdpc3RyYXRpb25EYXRh
cyldKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbnMgPSBXVEY6Om1h
cChXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGFzKSwgWyZdKGF1dG8mJiByZWdpc3RyYXRpb25EYXRh
KSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246Omdl
dE9yQ3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzLCBXVEZNb3ZlKHJlZ2lz
dHJhdGlvbkRhdGEpKTsKICAgICAgICAgICAgIH0pOwpAQCAtMzM1LDcgKzMzNSw3IEBAIHZvaWQg
U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkV2l0aEV4Y2VwdGlvbihTZXJ2aWNlV29y
a2VySm9iJiBqb2IsIGNvbnN0CiAgICAgaWYgKCFwcm9taXNlKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
LCBleGNlcHRpb25dKCkgbXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpLCBleGNlcHRpb25dKCkgbXV0YWJsZSB7CiAgICAgICAgIHByb21pc2UtPnJl
amVjdChleGNlcHRpb24pOwogICAgIH0pOwogfQpAQCAtMzgwLDcgKzM4MCw3IEBAIHZvaWQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VX
b3JrZXJKb2ImIGpvYiwKICAgICBpZiAoIXByb21pc2UpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgam9iSWRlbnRpZmllciA9IGpvYi5p
ZGVudGlmaWVyKCksIGRhdGEgPSBXVEZNb3ZlKGRhdGEpLCBzaG91bGROb3RpZnlXaGVuUmVzb2x2
ZWQsIG5vdGlmeUlmRXhpdEVhcmx5ID0gV1RGTW92ZShub3RpZnlJZkV4aXRFYXJseSldKCkgbXV0
YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
LCBqb2JJZGVudGlmaWVyID0gam9iLmlkZW50aWZpZXIoKSwgZGF0YSA9IFdURk1vdmUoZGF0YSks
IHNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCwgbm90aWZ5SWZFeGl0RWFybHkgPSBXVEZNb3ZlKG5v
dGlmeUlmRXhpdEVhcmx5KV0oKSBtdXRhYmxlIHsKICAgICAgICAgbm90aWZ5SWZFeGl0RWFybHku
cmVsZWFzZSgpOwogCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbjo6Z2V0T3JDcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKnRoaXMs
IFdURk1vdmUoZGF0YSkpOwpAQCAtMzg5LDcgKzM4OSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpv
YiwKIAogICAgICAgICBpZiAoc2hvdWxkTm90aWZ5V2hlblJlc29sdmVkID09IFNob3VsZE5vdGlm
eVdoZW5SZXNvbHZlZDo6WWVzKSB7CiAgICAgICAgICAgICBtX29uZ29pbmdTZXR0bGVkUmVnaXN0
cmF0aW9ucy5hZGQoKyttX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IHJlZ2lzdHJhdGlvbi0+ZGF0YSgpLmtleSk7Ci0gICAgICAgICAgICBwcm9taXNlLT53aGVuU2V0
dGxlZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGlkZW50
aWZpZXIgPSBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50aWZpZXJdIHsKKyAg
ICAgICAgICAgIHByb21pc2UtPndoZW5TZXR0bGVkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIGlkZW50aWZpZXIgPSBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlv
bklkZW50aWZpZXJdIHsKICAgICAgICAgICAgICAgICBub3RpZnlSZWdpc3RyYXRpb25Jc1NldHRs
ZWQobV9vbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbnMudGFrZShpZGVudGlmaWVyKSk7CiAgICAg
ICAgICAgICB9KTsKICAgICAgICAgfQpAQCAtNDM1LDcgKzQzNSw3IEBAIHZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2Vydmlj
ZVdvcmtlckpvCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Rhc2tRdWV1ZS0+ZW5x
dWV1ZVRhc2soW3Byb21pc2UgPSBqb2IudGFrZVByb21pc2UoKSwgdW5yZWdpc3RyYXRpb25SZXN1
bHRdKCkgbXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBqb2IudGFrZVByb21p
c2UoKSwgdW5yZWdpc3RyYXRpb25SZXN1bHRdKCkgbXV0YWJsZSB7CiAgICAgICAgIHByb21pc2Ut
PnJlc29sdmU8SURMQm9vbGVhbj4odW5yZWdpc3RyYXRpb25SZXN1bHQpOwogICAgIH0pOwogfQpA
QCAtNDgyLDcgKzQ4Miw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVk
TG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0CiAgICAgQ09OVEFJTkVS
X1JFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdDog
RmFpbGVkIHRvIGZldGNoIHNjcmlwdCBmb3Igam9iICUiIFBSSXU2NCAiLCBlcnJvcjogJXMiLCBq
b2IuaWRlbnRpZmllcigpLnRvVUludDY0KCksIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCku
dXRmOCgpLmRhdGEoKSk7CiAKICAgICBpZiAoYXV0byBwcm9taXNlID0gam9iLnRha2VQcm9taXNl
KCkpIHsKLSAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFtwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKSwgZXhjZXB0aW9uID0gV1RGTW92ZShleGNlcHRpb24pXSgpIG11dGFibGUgewor
ICAgICAgICBlbnF1ZXVlVGFzayhbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGV4Y2VwdGlv
biA9IFdURk1vdmUoZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21pc2Ut
PnJlamVjdChXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAgICAgICB9KTsKICAgICB9CkBAIC01NTIs
MTAgKzU1Miw5IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6ZmlyZUNvbnRyb2xsZXJD
aGFuZ2VFdmVudCgpCiAgICAgQVNTRVJUKG1fY3JlYXRpb25UaHJlYWQucHRyKCkgPT0gJlRocmVh
ZDo6Y3VycmVudCgpKTsKICNlbmRpZgogCi0gICAgaWYgKG1faXNTdG9wcGVkKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNv
bnRyb2xsZXJjaGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNl
bGFibGU6Ok5vKSk7CisgICAgZW5xdWV1ZVRhc2soW3RoaXNdIHsKKyAgICAgICAgZGlzcGF0Y2hF
dmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jb250cm9sbGVyY2hhbmdlRXZlbnQsIEV2
ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgIH0pOwog
fQogCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0b3AoKQpAQCAtNjE5LDYgKzYxOCwx
NiBAQCBib29sIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RQogICAgIHJldHVybiBFdmVudFRhcmdldFdpdGhJ
bmxpbmVEYXRhOjphZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92ZShldmVudExpc3Rl
bmVyKSwgb3B0aW9ucyk7CiB9CiAKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6ZW5xdWV1
ZVRhc2soRnVuY3Rpb248dm9pZCgpPiYmIHRhc2spCit7CisgICAgYXV0byogY29udGV4dCA9IHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVy
bjsKKyAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6RE9NTWFu
aXB1bGF0aW9uLCAqY29udGV4dCwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcGVu
ZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyksIHRhc2sgPSBXVEZNb3Zl
KHRhc2spXSB7CisgICAgICAgIHRhc2soKTsKKyAgICB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgK
aW5kZXggZDExZGI0ZWFjNzIxNThjMDIwM2M5ZDgwNjk4Zjg0ZGExOTkxZWUzNi4uNWIyN2ZlZjM4
YTllZDE3MDk2NWYzM2RjZGFkMDAyMTZhMDcxZjU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC05NCw2
ICs5NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBib29sIGFkZEV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3Qg
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmID0geyB9KSBmaW5hbDsKKyAgICB2b2lkIGVucXVldWVU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAKICAgICB2b2lkIHNjaGVkdWxlSm9iKHN0ZDo6dW5p
cXVlX3B0cjxTZXJ2aWNlV29ya2VySm9iPiYmKTsKIApAQCAtMTQ0LDcgKzE0NSw2IEBAIHByaXZh
dGU6CiAgICAgdWludDY0X3QgbV9sYXN0T25nb2luZ1NldHRsZWRSZWdpc3RyYXRpb25JZGVudGlm
aWVyIHsgMCB9OwogICAgIEhhc2hNYXA8dWludDY0X3QsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXk+IG1fb25nb2luZ1NldHRsZWRSZWdpc3RyYXRpb25zOwogICAgIFVuaXF1ZVJlZjxHZW5l
cmljRXZlbnRRdWV1ZT4gbV9tZXNzYWdlUXVldWU7Ci0gICAgVW5pcXVlUmVmPFN1c3BlbmRhYmxl
VGFza1F1ZXVlPiBtX3Rhc2tRdWV1ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382519</attachid>
            <date>2019-10-31 16:44:07 -0700</date>
            <delta_ts>2019-11-01 12:34:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203680-20191031164407.patch</filename>
            <type>text/plain</type>
            <size>10839</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiZDIxNGRkNzMyMDQ4
YTQ5MjA5ZDNkZjRlZmQ5MDEyYTFlZTlkNS4uODFiZDNhYzUxOGFiYWQ1YTgwNjlmNDUyYjhiNzcw
NjM1Mzc3OTY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEwLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyIHRvIHRoZSBIVE1MNSBldmVudCBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDM2ODAKKworICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBkb20vQWJzdHJhY3RFdmVudExvb3AuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRp
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxl
ZFdpdGhFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5l
cjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFVucmVnaXN0cmF0aW9uUmVzdWx0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxlZExvYWRp
bmdTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6ZW5x
dWV1ZVRhc2spOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmg6CisKIDIwMTktMTAtMzEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5AYXBw
bGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBtb3JlIGZlYXR1cmVzIGluIE1hYyBDTWFrZSBidWls
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVm
ZXJyZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJy
ZWQuY3BwCmluZGV4IDIyNjYxMjIxNDYzMTAxZjhiODA0ZGFiNTNkNWQxOWY1ZDg2NWEyM2QuLjU1
MGJjYzNhNjAzMTkyMzlhMmE2NGIyY2U3ZGVhYTdkNTZkZjQzOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJlZC5jcHAKQEAgLTY1LDYg
KzY1LDkgQEAgdm9pZCBEZWZlcnJlZFByb21pc2U6OmNhbGxGdW5jdGlvbihKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgUmVzb2x2ZU0KIAogdm9pZCBEZWZlcnJlZFByb21pc2U6
OndoZW5TZXR0bGVkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKIHsKKyAgICBpZiAoaXNT
dXNwZW5kZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgRE9NUHJvbWlzZTo6d2hlblByb21p
c2VJc1NldHRsZWQoZ2xvYmFsT2JqZWN0KCksIGRlZmVycmVkKCksIFdURk1vdmUoY2FsbGJhY2sp
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Fic3RyYWN0RXZlbnRMb29w
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWJzdHJhY3RFdmVudExvb3AuaAppbmRleCA0NjBiYmY2
MTY0OGE4ZjFkYmNhYzM1Mjk3YTI5NTkzZmQxY2VkZDY4Li42NzU3MjE3ODgzY2ZkNjQ3YWQ3YTk0
MjYwZTI4NzgwNTI4MGY2YzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWJzdHJh
Y3RFdmVudExvb3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWJzdHJhY3RFdmVudExvb3Au
aApAQCAtMzMsNiArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogCiBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90IHsKKyAgICBE
T01NYW5pcHVsYXRpb24sCiAgICAgSWRsZVRhc2ssCiAgICAgTmV0d29ya2luZywKICAgICBVc2Vy
SW50ZXJhY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRXZl
bnRMb29wLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRXZlbnRMb29wLmNwcApp
bmRleCAwYThlNzI3Mzk5N2Q0YTA4ODI1MjMwOGJhZTBjMmYzODExOGY3ZjQ5Li40Njg5NzJjYTQ3
OTE1NjM1NjFiYjM2NTRiMTgxZGZjMjNjMzlhYzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckV2ZW50TG9vcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJFdmVudExvb3AuY3BwCkBAIC00Niw2ICs0Niw3IEBAIFJlZjxXb3JrZXJFdmVudExv
b3A+IFdvcmtlckV2ZW50TG9vcDo6Y3JlYXRlKFdvcmtsZXRHbG9iYWxTY29wZSYgY29udGV4dCkK
IFdvcmtlckV2ZW50TG9vcDo6V29ya2VyRXZlbnRMb29wKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCiB7CisgICAgc3VzcGVu
ZElmTmVlZGVkKCk7CiB9CiAKIHZvaWQgV29ya2VyRXZlbnRMb29wOjpxdWV1ZVRhc2soVGFza1Nv
dXJjZSBzb3VyY2UsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFRhc2tGdW5jdGlv
biYmIGZ1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGVmOWZmM2UwYWI0OTE5YjQ3ODNh
ZmYyYmQ1YTQ2NTU3MjZhYjI0NGEuLmM2MGU1MWYzOTlhODlmNDc1MjExY2MwN2M1NDZiNzcwOTk3
Zjk1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIAorI2luY2x1ZGUgIkFic3RyYWN0RXZlbnRMb29wLmgiCiAjaW5j
bHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgpAQCAtNzMsNyArNzQsNiBAQCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpTZXJ2
aWNlV29ya2VyQ29udGFpbmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAg
OiBBY3RpdmVET01PYmplY3QoY29udGV4dCkKICAgICAsIG1fbmF2aWdhdG9yKG5hdmlnYXRvcikK
ICAgICAsIG1fbWVzc2FnZVF1ZXVlKEdlbmVyaWNFdmVudFF1ZXVlOjpjcmVhdGUoKnRoaXMpKQot
ICAgICwgbV90YXNrUXVldWUoU3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZShjb250ZXh0KSkK
IHsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKICAgICAKQEAgLTEwOSw3ICsxMDksNyBAQCBhdXRv
IFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5KCkgLT4gUmVhZHlQcm9taXNlJgogCiAgICAg
ICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgICAgICBl
bnN1cmVTV0NsaWVudENvbm5lY3Rpb24oKS53aGVuUmVnaXN0cmF0aW9uUmVhZHkoY29udGV4dC50
b3BPcmlnaW4oKS5kYXRhKCksIGNvbnRleHQudXJsKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyldKGF1dG8mJiByZWdpc3RyYXRpb25EYXRhKSBtdXRhYmxlIHsKLSAgICAg
ICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpcywgcmVnaXN0cmF0aW9uRGF0YSA9
IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBlbnF1
ZXVlVGFzayhbdGhpcywgcmVnaXN0cmF0aW9uRGF0YSA9IFdURk1vdmUocmVnaXN0cmF0aW9uRGF0
YSldKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCAqdGhpcywgV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSk7CiAgICAgICAgICAgICAgICAg
bV9yZWFkeVByb21pc2UtPnJlc29sdmUoV1RGTW92ZShyZWdpc3RyYXRpb24pKTsKICAgICAgICAg
ICAgIH0pOwpAQCAtMjcxLDcgKzI3MSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
Z2V0UmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8RGVmZXJyCiAgICAg
fQogCiAgICAgZW5zdXJlU1dDbGllbnRDb25uZWN0aW9uKCkubWF0Y2hSZWdpc3RyYXRpb24oU2Vj
dXJpdHlPcmlnaW5EYXRhIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRhKCkgfSwgcGFyc2VkVVJM
LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7Ci0gICAgICAgIG1fdGFza1F1ZXVl
LT5lbnF1ZXVlVGFzayhbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlc3VsdCA9
IFdURk1vdmUocmVzdWx0KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgZW5xdWV1ZVRhc2soW3RoaXMs
IHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCldKCkg
bXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgewogICAgICAgICAgICAgICAgIHBy
b21pc2UtPnJlc29sdmUoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0zMDMsNyArMzAz
LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRpb25zKFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIAogICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLmdldFJl
Z2lzdHJhdGlvbnMoU2VjdXJpdHlPcmlnaW5EYXRhIHsgY29udGV4dC50b3BPcmlnaW4oKS5kYXRh
KCkgfSwgY29udGV4dC51cmwoKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlz
KSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChhdXRvJiYgcmVnaXN0cmF0aW9uRGF0YXMp
IG11dGFibGUgewotICAgICAgICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3RoaXMsIHByb21p
c2UgPSBXVEZNb3ZlKHByb21pc2UpLCByZWdpc3RyYXRpb25EYXRhcyA9IFdURk1vdmUocmVnaXN0
cmF0aW9uRGF0YXMpXSgpIG11dGFibGUgeworICAgICAgICBlbnF1ZXVlVGFzayhbdGhpcywgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHJlZ2lzdHJhdGlvbkRhdGFzID0gV1RGTW92ZShyZWdp
c3RyYXRpb25EYXRhcyldKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlv
bnMgPSBXVEY6Om1hcChXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGFzKSwgWyZdKGF1dG8mJiByZWdp
c3RyYXRpb25EYXRhKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb246OmdldE9yQ3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICp0aGlzLCBX
VEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGEpKTsKICAgICAgICAgICAgIH0pOwpAQCAtMzM1LDcgKzMz
NSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkV2l0aEV4Y2VwdGlv
bihTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0CiAgICAgaWYgKCFwcm9taXNlKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpLCBleGNlcHRpb25dKCkgbXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3By
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBleGNlcHRpb25dKCkgbXV0YWJsZSB7CiAgICAgICAg
IHByb21pc2UtPnJlamVjdChleGNlcHRpb24pOwogICAgIH0pOwogfQpAQCAtMzgwLDcgKzM4MCw3
IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0
aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwKICAgICBpZiAoIXByb21pc2UpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpcywgcHJvdGVjdGVkVGhp
cyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgam9iSWRlbnRp
ZmllciA9IGpvYi5pZGVudGlmaWVyKCksIGRhdGEgPSBXVEZNb3ZlKGRhdGEpLCBzaG91bGROb3Rp
ZnlXaGVuUmVzb2x2ZWQsIG5vdGlmeUlmRXhpdEVhcmx5ID0gV1RGTW92ZShub3RpZnlJZkV4aXRF
YXJseSldKCkgbXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpLCBqb2JJZGVudGlmaWVyID0gam9iLmlkZW50aWZpZXIoKSwgZGF0YSA9IFdU
Rk1vdmUoZGF0YSksIHNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCwgbm90aWZ5SWZFeGl0RWFybHkg
PSBXVEZNb3ZlKG5vdGlmeUlmRXhpdEVhcmx5KV0oKSBtdXRhYmxlIHsKICAgICAgICAgbm90aWZ5
SWZFeGl0RWFybHkucmVsZWFzZSgpOwogCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Z2V0T3JDcmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgKnRoaXMsIFdURk1vdmUoZGF0YSkpOwpAQCAtMzg5LDcgKzM4OSw3IEBAIHZvaWQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VX
b3JrZXJKb2ImIGpvYiwKIAogICAgICAgICBpZiAoc2hvdWxkTm90aWZ5V2hlblJlc29sdmVkID09
IFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZDo6WWVzKSB7CiAgICAgICAgICAgICBtX29uZ29pbmdT
ZXR0bGVkUmVnaXN0cmF0aW9ucy5hZGQoKyttX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi0+ZGF0YSgpLmtleSk7Ci0gICAgICAgICAgICBwcm9t
aXNlLT53aGVuU2V0dGxlZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVk
VGhpcyksIGlkZW50aWZpZXIgPSBtX2xhc3RPbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbklkZW50
aWZpZXJdIHsKKyAgICAgICAgICAgIHByb21pc2UtPndoZW5TZXR0bGVkKFt0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGlkZW50aWZpZXIgPSBtX2xhc3RPbmdvaW5nU2V0dGxl
ZFJlZ2lzdHJhdGlvbklkZW50aWZpZXJdIHsKICAgICAgICAgICAgICAgICBub3RpZnlSZWdpc3Ry
YXRpb25Jc1NldHRsZWQobV9vbmdvaW5nU2V0dGxlZFJlZ2lzdHJhdGlvbnMudGFrZShpZGVudGlm
aWVyKSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQpAQCAtNDM1LDcgKzQzNSw3IEBAIHZv
aWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25S
ZXN1bHQoU2VydmljZVdvcmtlckpvCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Rh
c2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBqb2IudGFrZVByb21pc2UoKSwgdW5yZWdp
c3RyYXRpb25SZXN1bHRdKCkgbXV0YWJsZSB7CisgICAgZW5xdWV1ZVRhc2soW3Byb21pc2UgPSBq
b2IudGFrZVByb21pc2UoKSwgdW5yZWdpc3RyYXRpb25SZXN1bHRdKCkgbXV0YWJsZSB7CiAgICAg
ICAgIHByb21pc2UtPnJlc29sdmU8SURMQm9vbGVhbj4odW5yZWdpc3RyYXRpb25SZXN1bHQpOwog
ICAgIH0pOwogfQpAQCAtNDgyLDcgKzQ4Miw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0CiAg
ICAgQ09OVEFJTkVSX1JFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImpvYkZpbmlzaGVkTG9h
ZGluZ1NjcmlwdDogRmFpbGVkIHRvIGZldGNoIHNjcmlwdCBmb3Igam9iICUiIFBSSXU2NCAiLCBl
cnJvcjogJXMiLCBqb2IuaWRlbnRpZmllcigpLnRvVUludDY0KCksIGVycm9yLmxvY2FsaXplZERl
c2NyaXB0aW9uKCkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBpZiAoYXV0byBwcm9taXNlID0gam9i
LnRha2VQcm9taXNlKCkpIHsKLSAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFtwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKSwgZXhjZXB0aW9uID0gV1RGTW92ZShleGNlcHRpb24pXSgp
IG11dGFibGUgeworICAgICAgICBlbnF1ZXVlVGFzayhbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSksIGV4Y2VwdGlvbiA9IFdURk1vdmUoZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsKICAgICAgICAg
ICAgIHByb21pc2UtPnJlamVjdChXVEZNb3ZlKGV4Y2VwdGlvbikpOwogICAgICAgICB9KTsKICAg
ICB9CkBAIC01NTIsMTAgKzU1Miw5IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Zmly
ZUNvbnRyb2xsZXJDaGFuZ2VFdmVudCgpCiAgICAgQVNTRVJUKG1fY3JlYXRpb25UaHJlYWQucHRy
KCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKTsKICNlbmRpZgogCi0gICAgaWYgKG1faXNTdG9wcGVk
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmNvbnRyb2xsZXJjaGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2
ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgZW5xdWV1ZVRhc2soW3RoaXNdIHsKKyAgICAg
ICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jb250cm9sbGVyY2hh
bmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykp
OworICAgIH0pOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0b3AoKQpAQCAt
NjE5LDYgKzYxOCwxNiBAQCBib29sIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmFkZEV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RQogICAgIHJldHVybiBFdmVu
dFRhcmdldFdpdGhJbmxpbmVEYXRhOjphZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92
ZShldmVudExpc3RlbmVyKSwgb3B0aW9ucyk7CiB9CiAKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRh
aW5lcjo6ZW5xdWV1ZVRhc2soRnVuY3Rpb248dm9pZCgpPiYmIHRhc2spCit7CisgICAgYXV0byog
Y29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisg
ICAgICAgIHJldHVybjsKKyAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1Nv
dXJjZTo6RE9NTWFuaXB1bGF0aW9uLCAqY29udGV4dCwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyksIHRh
c2sgPSBXVEZNb3ZlKHRhc2spXSB7CisgICAgICAgIHRhc2soKTsKKyAgICB9KTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmgKaW5kZXggZDExZGI0ZWFjNzIxNThjMDIwM2M5ZDgwNjk4Zjg0ZGExOTkxZWUz
Ni4uNWIyN2ZlZjM4YTllZDE3MDk2NWYzM2RjZGFkMDAyMTZhMDcxZjU0YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5oCkBAIC05NCw2ICs5NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBib29sIGFkZEV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5l
cj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmID0geyB9KSBmaW5hbDsKKyAgICB2
b2lkIGVucXVldWVUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAKICAgICB2b2lkIHNjaGVkdWxl
Sm9iKHN0ZDo6dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VySm9iPiYmKTsKIApAQCAtMTQ0LDcgKzE0
NSw2IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9sYXN0T25nb2luZ1NldHRsZWRSZWdpc3Ry
YXRpb25JZGVudGlmaWVyIHsgMCB9OwogICAgIEhhc2hNYXA8dWludDY0X3QsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXk+IG1fb25nb2luZ1NldHRsZWRSZWdpc3RyYXRpb25zOwogICAgIFVu
aXF1ZVJlZjxHZW5lcmljRXZlbnRRdWV1ZT4gbV9tZXNzYWdlUXVldWU7Ci0gICAgVW5pcXVlUmVm
PFN1c3BlbmRhYmxlVGFza1F1ZXVlPiBtX3Rhc2tRdWV1ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>