<?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>201830</bug_id>
          
          <creation_ts>2019-09-16 12:36:05 -0700</creation_ts>
          <short_desc>NetworkProcessConnection does not need HashMaps of sessionIDs for Service Workers and IDB</short_desc>
          <delta_ts>2019-09-16 21:15:53 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=201859</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1571207</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 12:36:05 -0700</bug_when>
    <thetext>NetworkProcessConnection does not need HashMap of sessionIDs for Service Workers and IDB, since we now have one sessionID per WebContent process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571208</commentid>
    <comment_count>1</comment_count>
      <attachid>378878</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 12:37:10 -0700</bug_when>
    <thetext>Created attachment 378878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571209</commentid>
    <comment_count>2</comment_count>
      <attachid>378879</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 12:37:58 -0700</bug_when>
    <thetext>Created attachment 378879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571211</commentid>
    <comment_count>3</comment_count>
      <attachid>378880</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 12:47:40 -0700</bug_when>
    <thetext>Created attachment 378880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571221</commentid>
    <comment_count>4</comment_count>
      <attachid>378885</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 13:05:16 -0700</bug_when>
    <thetext>Created attachment 378885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571261</commentid>
    <comment_count>5</comment_count>
      <attachid>378885</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-09-16 14:05:28 -0700</bug_when>
    <thetext>Comment on attachment 378885
Patch

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

r=me

&gt; Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:76
&gt; +    uint64_t messageSenderDestinationID() const final { return 0; }

Are these zero accessors going to be removed in a future patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571264</commentid>
    <comment_count>6</comment_count>
      <attachid>378885</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 14:20:19 -0700</bug_when>
    <thetext>Comment on attachment 378885
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:76
&gt;&gt; +    uint64_t messageSenderDestinationID() const final { return 0; }
&gt; 
&gt; Are these zero accessors going to be removed in a future patch?

I don&apos;t think they can. messageSenderDestinationID() is pure virtual on IPC::MessageSender so we have to provide an implementation. It is equivalent to the many send() calls we have that pass 0 as destinationID as last parameter (because there is only one destination on this IPC connection).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571279</commentid>
    <comment_count>7</comment_count>
      <attachid>378885</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 14:52:10 -0700</bug_when>
    <thetext>Comment on attachment 378885
Patch

Clearing flags on attachment: 378885

Committed r249923: &lt;https://trac.webkit.org/changeset/249923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571280</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-16 14:52:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571281</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-16 14:53:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/55415603&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378878</attachid>
            <date>2019-09-16 12:37:10 -0700</date>
            <delta_ts>2019-09-16 12:37:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201830-20190916123709.patch</filename>
            <type>text/plain</type>
            <size>17408</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5ODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ0YzBiNDMzNTQwNTk3NmQw
MDlkMGM2MmY2ZWU2NmM2OWMzYWRjMzIuLmIyMDcwN2IwMzgwMDFhODlmYzJjMzI0MmI0NjkxYTZj
YWE1NTA2OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDktMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24gZG9lcyBub3QgbmVlZCBIYXNoTWFwIG9mIHNlc3Npb25JRHMgZm9yIFNlcnZpY2UgV29ya2Vy
cyBhbmQgSURCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDE4MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24gZG9lcyBub3QgbmVlZCBIYXNoTWFwIG9mIHNlc3Np
b25JRHMgZm9yIFNlcnZpY2UgV29ya2VycyBhbmQgSURCLCBzaW5jZQorICAgICAgICB3ZSBub3cg
aGF2ZSBvbmUgc2Vzc2lvbklEIHBlciBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lmg6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVj
dGlvblRvU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRhYmFz
ZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJEYXRhYmFzZVByb3ZpZGVyOjppZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZl
TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlk
Q2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmlkYkNv
bm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmV4aXN0aW5nSURCQ29ubmVj
dGlvblRvU2VydmVyIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uOjpleGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2VydmljZVdvcmtlckNv
bm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlclBy
b3ZpZGVyOjpleGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6aGFuZGxlRmV0Y2gpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6Om5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZCk6CisKIDIwMTktMDktMTYgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1wbGlmeSBXZWJSZXNv
dXJjZUxvYWRPYnNlcnZlciBub3cgdGhhdCB3ZSBoYXZlIG9uZSBXZWJQcm9jZXNzIHBlciBzZXNz
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9X
ZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
SW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCmluZGV4IDIyMmM5M2ZjZDBhNDIw
ZDAwMWM4MTdiMzJhMTc3OGE0YzI3Yjk5ZjYuLmRjNzMyZDhkMTZmNDdlNjQ2NWU1YzAzZjljYTQ2
ZGEyYTQyNmY1NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5k
ZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCkBAIC03Myw3
ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50KE5ldHdvcmtQ
cm9jZXNzJiwgSVBDOjpDb25uZWN0aW9uJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFBB
TDo6U2Vzc2lvbklEKTsKIAogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5l
Y3Rpb24oKSBjb25zdCBmaW5hbDsKLSAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRp
b25JRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc2Vzc2lvbklELnRvVUludDY0KCk7IH0KKyAg
ICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIDA7IH0KIAogICAgIC8vIE1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gV2ViUHJvY2VzcwogICAg
IHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAppbmRleCBmMmU5YzZjMmE2NjdlZjFjODRl
NjI2MzMyZWZlYzA4OWZmZmVjNjVkLi4xMGU0NDJlOTI1NTBjZTEzN2EyODlkMTllNGVlZTQwNDJh
ZmIxMDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBAIC0xMDUsNyAr
MTA1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uLCBXZWJDb3JlOjpNZXNz
YWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGll
bnRJZGVudGlmaWVyJiBzb3VyY2UpOwogCiAgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2Vu
ZGVyQ29ubmVjdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY29udGVudENvbm5lY3Rpb24u
cHRyKCk7IH0KLSAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fc2Vzc2lvbklELnRvVUludDY0KCk7IH0KKyAgICB1aW50NjRfdCBt
ZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIDA7IH0KICAg
ICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBzdGF0aWMgdm9pZCBzZW5kVG9Db250ZXh0UHJv
Y2VzcyhXZWJDb3JlOjpTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mLCBVJiYgbWVzc2FnZSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhl
ZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCmluZGV4
IDk3MzNhNjMwZjI3ZTFjMjA0MzU2Njg5YWYwNzI1MGQ5YmUxYmUyN2QuLjMzZWVhMjRjODFjNTg5
YjE2N2FlMmNhNzFjY2QzMmU0ZmQ0YWFmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURC
Q29ubmVjdGlvblRvU2VydmVyLmNwcApAQCAtNTMsMTQgKzUzLDEzIEBACiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1SZWY8V2ViSURCQ29ubmVjdGlvblRv
U2VydmVyPiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZShQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQpCitSZWY8V2ViSURCQ29ubmVjdGlvblRvU2VydmVyPiBXZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXI6OmNyZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViSURCQ29u
bmVjdGlvblRvU2VydmVyKHNlc3Npb25JRCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YklEQkNvbm5lY3Rpb25Ub1NlcnZlcigpKTsKIH0KIAotV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
OjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQotICAg
IDogbV9zZXNzaW9uSUQoc2Vzc2lvbklEKQotICAgICwgbV9jb25uZWN0aW9uVG9TZXJ2ZXIoSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZSgqdGhpcykpCitXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcigpCisgICAgOiBtX2Nvbm5l
Y3Rpb25Ub1NlcnZlcihJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRlKCp0
aGlzKSkKIHsKICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6RXN0YWJsaXNoSURCQ29ubmVjdGlvblRvU2VydmVyKCksIDApOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVj
dGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4
ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAppbmRleCBjZDlhOTg3MjQ0MGRiYTZhYzY2
YjFhZmZmZDM0N2JjNWYyN2Q2ZjRhLi5iMjUyNTlmMjI1MjM0OWIxODYxYmUxNzFlNWZjYWU0ZmE0
MzA1MGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0lu
ZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApA
QCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJv
Y2Vzc0lkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCkBAIC0zOSw3ICszOCw3IEBAIGNsYXNzIFdlYklEQlJlc3VsdDsKIAogY2xh
c3MgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyIGZpbmFsIDogcHJpdmF0ZSBXZWJDb3JlOjpJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLCBwcml2YXRlIElQQzo6TWVzc2Fn
ZVNlbmRlciwgcHVibGljIFJlZkNvdW50ZWQ8V2ViSURCQ29ubmVjdGlvblRvU2VydmVyPiB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IGNyZWF0ZShQ
QUw6OlNlc3Npb25JRCk7CisgICAgc3RhdGljIFJlZjxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+
IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcigpOwogCiAg
ICAgV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGNvcmVDb25uZWN0
aW9uVG9TZXJ2ZXIoKTsKQEAgLTUyLDEwICs1MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXJl
ZigpIGZpbmFsIHsgUmVmQ291bnRlZDxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+OjpkZXJlZigp
OyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyKFBB
TDo6U2Vzc2lvbklEKTsKKyAgICBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKTsKIAogICAgIElQ
Qzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdCBmaW5hbDsKLSAg
ICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fc2Vzc2lvbklELnRvVUludDY0KCk7IH0KKyAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVy
RGVzdGluYXRpb25JRCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIDA7IH0KIAogICAgIC8vIElEQkNv
bm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlCiAgICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBX
ZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpIGZpbmFsOwpAQCAtMTEyLDcgKzExMSw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBub3RpZnlPcGVuREJSZXF1ZXN0QmxvY2tlZChjb25zdCBXZWJDb3JlOjpJ
REJSZXNvdXJjZUlkZW50aWZpZXImIHJlcXVlc3RJZGVudGlmaWVyLCB1aW50NjRfdCBvbGRWZXJz
aW9uLCB1aW50NjRfdCBuZXdWZXJzaW9uKTsKICAgICB2b2lkIGRpZEdldEFsbERhdGFiYXNlTmFt
ZXModWludDY0X3QgY2FsbGJhY2tJRCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRhdGFiYXNlTmFt
ZXMpOwogCi0gICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAgUmVmPFdlYkNvcmU6
OklEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyPiBtX2Nvbm5lY3Rpb25Ub1NlcnZlcjsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2Vi
RGF0YWJhc2VQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2Vz
L1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwCmluZGV4IDE3MjhkY2RhYmY3OGZmOGVhZWU2NTBjNGMz
YWM0Nzg4MDBlYzAxZWMuLjA0NGQ3NzI5YmRlNGVlOWFmMTQ4ZmMyMjhlZmZlYTM3ZDU0ZjMyZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJh
c2VQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9X
ZWJEYXRhYmFzZVByb3ZpZGVyLmNwcApAQCAtNjcsOSArNjcsOSBAQCBXZWJEYXRhYmFzZVByb3Zp
ZGVyOjp+V2ViRGF0YWJhc2VQcm92aWRlcigpCiB9CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKLVdlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBXZWJEYXRh
YmFzZVByb3ZpZGVyOjppZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKGNvbnN0IFBBTDo6
U2Vzc2lvbklEJiBzZXNzaW9uSUQpCitXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25U
b1NlcnZlciYgV2ViRGF0YWJhc2VQcm92aWRlcjo6aWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vz
c2lvbihjb25zdCBQQUw6OlNlc3Npb25JRCYpCiB7Ci0gICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLmlkYkNvbm5lY3Rpb25U
b1NlcnZlckZvclNlc3Npb24oc2Vzc2lvbklEKS5jb3JlQ29ubmVjdGlvblRvU2VydmVyKCk7Cisg
ICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbigpLmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oKS5jb3JlQ29ubmVjdGlv
blRvU2VydmVyKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXgg
ZTE4ZjBhZTc4ZjJlNjI1N2ZkODI0Njk5NTNmZTMyNDU2M2VhOWQ2Yy4uYjBjM2FlYmY2YzhiNjY5
OWQ4OWFlM2NmMjliMmNhZmMxNzUwZmEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBA
IC0xMjksMTcgKzEyOSwxNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUAogCiAjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgp
ID09IE1lc3NhZ2VzOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSkgewotICAgICAgICBpZiAoYXV0byogaWRiQ29ubmVjdGlvbiA9IG1fd2ViSURCQ29ubmVj
dGlvbnNCeVNlc3Npb24uZ2V0KGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkKLSAgICAgICAgICAg
IGlkYkNvbm5lY3Rpb24tPmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwor
ICAgICAgICBpZiAobV93ZWJJREJDb25uZWN0aW9uKQorICAgICAgICAgICAgbV93ZWJJREJDb25u
ZWN0aW9uLT5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAg
IGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViU1dDbGll
bnRDb25uZWN0aW9uOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgYXV0byBzZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbiA9IG1fc3dDb25uZWN0aW9uc0J5U2Vzc2lvbi5nZXQoUEFMOjpT
ZXNzaW9uSUQgeyBkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSB9KTsKLSAgICAgICAgaWYgKHNlcnZp
Y2VXb3JrZXJDb25uZWN0aW9uKQotICAgICAgICAgICAgc2VydmljZVdvcmtlckNvbm5lY3Rpb24t
PmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICBpZiAobV9z
d0Nvbm5lY3Rpb24pCisgICAgICAgICAgICBtX3N3Q29ubmVjdGlvbi0+ZGlkUmVjZWl2ZU1lc3Nh
Z2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYg
KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50RmV0Y2g6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpAQCAtMTk0LDE1ICsxOTMsMTMg
QEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKElQQzo6Q29ubmVjdGlv
biYpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
Q2xvc2VkKHRoaXMpOwogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgYXV0byBp
ZGJDb25uZWN0aW9ucyA9IHN0ZDo6ZXhjaGFuZ2UobV93ZWJJREJDb25uZWN0aW9uc0J5U2Vzc2lv
biwgeyB9KTsKLSAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb24gOiBpZGJDb25uZWN0aW9ucy52YWx1
ZXMoKSkKLSAgICAgICAgY29ubmVjdGlvbi0+Y29ubmVjdGlvblRvU2VydmVyTG9zdCgpOworICAg
IGlmIChhdXRvIGlkYkNvbm5lY3Rpb24gPSBzdGQ6OmV4Y2hhbmdlKG1fd2ViSURCQ29ubmVjdGlv
biwgbnVsbHB0cikpCisgICAgICAgIGlkYkNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub1NlcnZlckxv
c3QoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGF1dG8gc3dD
b25uZWN0aW9ucyA9IHN0ZDo6ZXhjaGFuZ2UobV9zd0Nvbm5lY3Rpb25zQnlTZXNzaW9uLCB7IH0p
OwotICAgIGZvciAoYXV0byYgY29ubmVjdGlvbiA6IHN3Q29ubmVjdGlvbnMudmFsdWVzKCkpCi0g
ICAgICAgIGNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub1NlcnZlckxvc3QoKTsKKyAgICBpZiAoYXV0
byBzd0Nvbm5lY3Rpb24gPSBzdGQ6OmV4Y2hhbmdlKG1fc3dDb25uZWN0aW9uLCBudWxscHRyKSkK
KyAgICAgICAgc3dDb25uZWN0aW9uLT5jb25uZWN0aW9uVG9TZXJ2ZXJMb3N0KCk7CiAjZW5kaWYK
IH0KIApAQCAtMjQ4LDIxICsyNDUsMjAgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246
OmRpZENhY2hlUmVzb3VyY2UoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LAogI2VuZGlm
CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLVdlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjppZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNz
aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlciYg
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjppZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9u
KCkKIHsKLSAgICByZXR1cm4gKm1fd2ViSURCQ29ubmVjdGlvbnNCeVNlc3Npb24uZW5zdXJlKHNl
c3Npb25JRC50b1VJbnQ2NCgpLCBbJl0gewotICAgICAgICByZXR1cm4gV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyOjpjcmVhdGUoc2Vzc2lvbklEKTsKLSAgICB9KS5pdGVyYXRvci0+dmFsdWU7Cisg
ICAgaWYgKCFtX3dlYklEQkNvbm5lY3Rpb24pCisgICAgICAgIG1fd2ViSURCQ29ubmVjdGlvbiA9
IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRlKCk7CisgICAgcmV0dXJuICptX3dlYklE
QkNvbm5lY3Rpb247CiB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLVdl
YlNXQ2xpZW50Q29ubmVjdGlvbiYgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpzZXJ2aWNlV29y
a2VyQ29ubmVjdGlvbkZvclNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorV2ViU1dD
bGllbnRDb25uZWN0aW9uJiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJD
b25uZWN0aW9uRm9yU2Vzc2lvbigpCiB7Ci0gICAgQVNTRVJUKHNlc3Npb25JRC5pc1ZhbGlkKCkp
OwotICAgIHJldHVybiAqbV9zd0Nvbm5lY3Rpb25zQnlTZXNzaW9uLmVuc3VyZShzZXNzaW9uSUQs
IFtdIHsKLSAgICAgICAgcmV0dXJuIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRlKCk7Ci0g
ICAgfSkuaXRlcmF0b3ItPnZhbHVlOworICAgIGlmICghbV9zd0Nvbm5lY3Rpb24pCisgICAgICAg
IG1fc3dDb25uZWN0aW9uID0gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpjcmVhdGUoKTsKKyAgICBy
ZXR1cm4gKm1fc3dDb25uZWN0aW9uOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgK
aW5kZXggZTg4NDlmZWMxN2JhMDY4MmViYmRhNGQzZGY4OTcxYjZkMWUxOTRiZS4uMDgzMjhmMzk1
ZDkxNDZjMzJhNzAxNTljZjMyN2VmYTRmZDRhN2MyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgK
QEAgLTcxLDEzICs3MSwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCB3cml0ZUJsb2JzVG9UZW1wb3Jh
cnlGaWxlcyhQQUw6OlNlc3Npb25JRCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGJsb2JVUkxzLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYgZmlsZVBhdGhzKT4mJik7CiAK
ICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLSAgICBXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIqIGV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCkgY29uc3QgeyByZXR1cm4gbV93ZWJJREJDb25uZWN0aW9uc0J5U2Vzc2lvbi5nZXQoc2Vzc2lv
bklELnRvVUludDY0KCkpOyB9OwotICAgIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgaWRiQ29u
bmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCk7CisgICAgV2ViSURCQ29u
bmVjdGlvblRvU2VydmVyKiBleGlzdGluZ0lEQkNvbm5lY3Rpb25Ub1NlcnZlcigpIGNvbnN0IHsg
cmV0dXJuIG1fd2ViSURCQ29ubmVjdGlvbi5nZXQoKTsgfTsKKyAgICBXZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXImIGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oKTsKICNlbmRpZgogCiAj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIFdlYlNXQ2xpZW50Q29ubmVjdGlvbiogZXhp
c3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKSB7IHJldHVybiBtX3N3Q29ubmVjdGlvbnNCeVNlc3Npb24uZ2V0KHNlc3Npb25JRCk7
IH0KLSAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24mIHNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9y
U2Vzc2lvbihQQUw6OlNlc3Npb25JRCk7CisgICAgV2ViU1dDbGllbnRDb25uZWN0aW9uKiBleGlz
dGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbigpIHsgcmV0dXJuIG1fc3dDb25u
ZWN0aW9uLmdldCgpOyB9CisgICAgV2ViU1dDbGllbnRDb25uZWN0aW9uJiBzZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbkZvclNlc3Npb24oKTsKICNlbmRpZgogCiBwcml2YXRlOgpAQCAtMTA1LDEyICsx
MDUsMTEgQEAgcHJpdmF0ZToKICAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247
CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBS
ZWZQdHI8V2ViSURCQ29ubmVjdGlvblRvU2VydmVyPj4gbV93ZWJJREJDb25uZWN0aW9uc0J5U2Vz
c2lvbjsKKyAgICBSZWZQdHI8V2ViSURCQ29ubmVjdGlvblRvU2VydmVyPiBtX3dlYklEQkNvbm5l
Y3Rpb247CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAvLyBGSVhN
RTogVGhpcyBzaG91bGQgYmUgYSBzaW5nbGUgY29ubmVjdGlvbi4KLSAgICBIYXNoTWFwPFBBTDo6
U2Vzc2lvbklELCBSZWZQdHI8V2ViU1dDbGllbnRDb25uZWN0aW9uPj4gbV9zd0Nvbm5lY3Rpb25z
QnlTZXNzaW9uOworICAgIFJlZlB0cjxXZWJTV0NsaWVudENvbm5lY3Rpb24+IG1fc3dDb25uZWN0
aW9uOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcAppbmRleCAxNjM3Nzc5
YjNkYmYzNjIyODJmZjkwOTJjNjQ3NzA4MmE5NzNmNDY2Li44MWU2OTVhMjNlYmE2NjVjYjEyMWRj
MGRjMTYxZmFlMjMzMjlkNTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAKQEAgLTU2LDE2
ICs1NiwxNyBAQCBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OldlYlNlcnZpY2VXb3JrZXJQcm92
aWRlcigpCiAKIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiYgV2ViU2VydmljZVdvcmtlclBy
b3ZpZGVyOjpzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oU2Vzc2lvbklEIHNlc3Np
b25JRCkKIHsKLSAgICBBU1NFUlQoc2Vzc2lvbklELmlzVmFsaWQoKSk7Ci0gICAgcmV0dXJuIFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNl
cnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihzZXNzaW9uSUQpOworICAgIEFTU0VSVF9V
TlVTRUQoc2Vzc2lvbklELCBzZXNzaW9uSUQgPT0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vz
c2lvbklEKCkpOworICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24o
KTsKIH0KIAogV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uKiBXZWJTZXJ2aWNlV29ya2VyUHJv
dmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKFNlc3Npb25J
RCBzZXNzaW9uSUQpCiB7CisgICAgQVNTRVJUX1VOVVNFRChzZXNzaW9uSUQsIHNlc3Npb25JRCA9
PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CiAgICAgYXV0byogbmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZXhpc3RpbmdOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKICAgICBpZiAoIW5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgcmV0dXJuIG5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi0+ZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lv
bklEKTsKKyAgICByZXR1cm4gbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLT5leGlzdGluZ1NlcnZp
Y2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbigpOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wg
c2hvdWxkSGFuZGxlRmV0Y2goY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpA
QCAtNzksMTQgKzgwLDE0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRIYW5kbGVGZXRjaChj
b25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCiAgICAgcmV0dXJuICEhb3B0aW9u
cy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcjsKIH0KIAotdm9pZCBXZWJTZXJ2
aWNlV29ya2VyUHJvdmlkZXI6OmhhbmRsZUZldGNoKFJlc291cmNlTG9hZGVyJiBsb2FkZXIsIFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1Rv
SFRUUFJlZGlyZWN0LCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNrJiYgY2FsbGJh
Y2spCit2b2lkIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6aGFuZGxlRmV0Y2goUmVzb3VyY2VM
b2FkZXImIGxvYWRlciwgUEFMOjpTZXNzaW9uSUQsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9u
SFRUUFNUb0hUVFBSZWRpcmVjdCwgU2VydmljZVdvcmtlckNsaWVudEZldGNoOjpDYWxsYmFjayYm
IGNhbGxiYWNrKQogewogICAgIGlmICghU2NoZW1lUmVnaXN0cnk6OmNhblNlcnZpY2VXb3JrZXJz
SGFuZGxlVVJMU2NoZW1lKGxvYWRlci5yZXF1ZXN0KCkudXJsKCkucHJvdG9jb2woKS50b1N0cmlu
Z1dpdGhvdXRDb3B5aW5nKCkpIHx8ICFzaG91bGRIYW5kbGVGZXRjaChsb2FkZXIub3B0aW9ucygp
KSkgewogICAgICAgICBjYWxsYmFjayhTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OlJlc3VsdDo6
VW5oYW5kbGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8mIGNvbm5lY3Rp
b24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lvbklEKTsKKyAgICBh
dXRvJiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKCk7CiAg
ICAgYXV0byBmZXRjaElkZW50aWZpZXIgPSBtYWtlT2JqZWN0SWRlbnRpZmllcjxGZXRjaElkZW50
aWZpZXJUeXBlPihsb2FkZXIuaWRlbnRpZmllcigpKTsKICAgICBtX29uZ29pbmdGZXRjaFRhc2tz
LmFkZChmZXRjaElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6Y3JlYXRlKCp0
aGlzLCBsb2FkZXIsIGZldGNoSWRlbnRpZmllciwgY29ubmVjdGlvbiwgc2hvdWxkQ2xlYXJSZWZl
cnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCwgV1RGTW92ZShjYWxsYmFjaykpKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBhM2Y4OWFkNTg2YjA1MjI2ODdl
ZWViOWQ4NGEyY2Y1ZDQ3NjkzMjBlLi5kNTU5ZmZlNTUyYmRkNjFlNDBlNGE1ZjM0M2RmZmY4NGMw
ZmI4YjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMjQ4
LDggKzEyNDgsOCBAQCB2b2lkIFdlYlByb2Nlc3M6Om5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkNs
b3NlZChOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24qIGNvbm5lYwogICAgICAgICBpZiAoIWlkYkNv
bm5lY3Rpb24pCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCi0gICAgICAgIGlmIChj
b25uZWN0aW9uLT5leGlzdGluZ0lEQkNvbm5lY3Rpb25Ub1NlcnZlcihwYWdlLT5jb3JlUGFnZSgp
LT5zZXNzaW9uSUQoKSkpIHsKLSAgICAgICAgICAgIEFTU0VSVChpZGJDb25uZWN0aW9uID09ICZj
b25uZWN0aW9uLT5leGlzdGluZ0lEQkNvbm5lY3Rpb25Ub1NlcnZlcihwYWdlLT5jb3JlUGFnZSgp
LT5zZXNzaW9uSUQoKSktPmNvcmVDb25uZWN0aW9uVG9TZXJ2ZXIoKSk7CisgICAgICAgIGlmIChh
dXRvKiBleGlzdGluZ0lEQkNvbm5lY3Rpb25Ub1NlcnZlciA9IGNvbm5lY3Rpb24tPmV4aXN0aW5n
SURCQ29ubmVjdGlvblRvU2VydmVyKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChpZGJDb25uZWN0
aW9uID09ICZleGlzdGluZ0lEQkNvbm5lY3Rpb25Ub1NlcnZlci0+Y29yZUNvbm5lY3Rpb25Ub1Nl
cnZlcigpKTsKICAgICAgICAgICAgIHBhZ2UtPmNvcmVQYWdlKCktPmNsZWFySURCQ29ubmVjdGlv
bigpOwogICAgICAgICB9CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378879</attachid>
            <date>2019-09-16 12:37:58 -0700</date>
            <delta_ts>2019-09-16 12:47:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201830-20190916123757.patch</filename>
            <type>text/plain</type>
            <size>17410</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5ODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ0YzBiNDMzNTQwNTk3NmQw
MDlkMGM2MmY2ZWU2NmM2OWMzYWRjMzIuLjAxNzUwNDMzOTQxNTdhNzFkNDE2NzNiMjE2MTBhZTkz
OGU4OGViMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDktMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24gZG9lcyBub3QgbmVlZCBIYXNoTWFwcyBvZiBzZXNzaW9uSURzIGZvciBTZXJ2aWNlIFdvcmtl
cnMgYW5kIElEQgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAxODMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uIGRvZXMgbm90IG5lZWQgSGFzaE1hcHMgb2Ygc2Vz
c2lvbklEcyBmb3IgU2VydmljZSBXb3JrZXJzIGFuZCBJREIsIHNpbmNlCisgICAgICAgIHdlIG5v
dyBoYXZlIG9uZSBzZXNzaW9uSUQgcGVyIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cjo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFi
YXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkRhdGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2Vp
dmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpk
aWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6aWRi
Q29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbjo6c2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZXhpc3RpbmdJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb246OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpzZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbkZvclNlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpoYW5kbGVGZXRjaCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKToKKwogMjAxOS0wOS0xNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IFdlYlJl
c291cmNlTG9hZE9ic2VydmVyIG5vdyB0aGF0IHdlIGhhdmUgb25lIFdlYlByb2Nlc3MgcGVyIHNl
c3Npb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERC
L1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKaW5kZXggMjIyYzkzZmNkMGE0
MjBkMDAxYzgxN2IzMmExNzc4YTRjMjdiOTlmNi4uZGM3MzJkOGQxNmY0N2U2NDY1ZTVjMDNmOWNh
NDZkYTJhNDI2ZjU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9J
bmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKQEAgLTcz
LDcgKzczLDcgQEAgcHJpdmF0ZToKICAgICBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQoTmV0d29y
a1Byb2Nlc3MmLCBJUEM6OkNvbm5lY3Rpb24mLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwg
UEFMOjpTZXNzaW9uSUQpOwogCiAgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29u
bmVjdGlvbigpIGNvbnN0IGZpbmFsOwotICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5h
dGlvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uSUQudG9VSW50NjQoKTsgfQor
ICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gMDsgfQogCiAgICAgLy8gTWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSBXZWJQcm9jZXNzCiAg
ICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IGYyZTljNmMyYTY2N2VmMWM4
NGU2MjYzMzJlZmVjMDg5ZmZmZWM2NWQuLjEwZTQ0MmU5MjU1MGNlMTM3YTI4OWQxOWU0ZWVlNDA0
MmFmYjEwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTEwNSw3
ICsxMDUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIo
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFdlYkNvcmU6Ok1l
c3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNs
aWVudElkZW50aWZpZXImIHNvdXJjZSk7CiAKICAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9jb250ZW50Q29ubmVjdGlv
bi5wdHIoKTsgfQotICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uSUQudG9VSW50NjQoKTsgfQorICAgIHVpbnQ2NF90
IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gMDsgfQog
ICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IHN0YXRpYyB2b2lkIHNlbmRUb0NvbnRleHRQ
cm9jZXNzKFdlYkNvcmU6OlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYsIFUmJiBtZXNzYWdl
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRl
eGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5k
ZXggOTczM2E2MzBmMjdlMWMyMDQzNTY2ODlhZjA3MjUwZDliZTFiZTI3ZC4uMzNlZWEyNGM4MWM1
ODliMTY3YWUyY2E3MWNjZDMyZTRmZDRhYWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC01MywxNCArNTMsMTMgQEAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlZjxXZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXI+IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRlKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCkKK1JlZjxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IFdlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXIoc2Vzc2lvbklEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKCkpOwogfQogCi1XZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXI6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCi0g
ICAgOiBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCi0gICAgLCBtX2Nvbm5lY3Rpb25Ub1NlcnZlcihJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRlKCp0aGlzKSkKK1dlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlcjo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKCkKKyAgICA6IG1fY29u
bmVjdGlvblRvU2VydmVyKElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUo
KnRoaXMpKQogewogICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpFc3RhYmxpc2hJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKSwgMCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5k
ZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IGNkOWE5ODcyNDQwZGJhNmFj
NjZiMWFmZmZkMzQ3YmM1ZjI3ZDZmNGEuLmIyNTI1OWYyMjUyMzQ5YjE4NjFiZTE3MWU1ZmNhZTRm
YTQzMDUwZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMv
SW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5o
CkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvSURCQ29ubmVjdGlvblRvU2VydmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cm9jZXNzSWRlbnRpZmllci5oPgotI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKQEAgLTM5LDcgKzM4LDcgQEAgY2xhc3MgV2ViSURCUmVzdWx0OwogCiBj
bGFzcyBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIgZmluYWwgOiBwcml2YXRlIFdlYkNvcmU6OklE
QkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUsIHByaXZhdGUgSVBDOjpNZXNz
YWdlU2VuZGVyLCBwdWJsaWMgUmVmQ291bnRlZDxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gY3JlYXRl
KFBBTDo6U2Vzc2lvbklEKTsKKyAgICBzdGF0aWMgUmVmPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cj4gY3JlYXRlKCk7CiAgICAgdmlydHVhbCB+V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKCk7CiAK
ICAgICBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29yZUNvbm5l
Y3Rpb25Ub1NlcnZlcigpOwpAQCAtNTIsMTAgKzUxLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGRl
cmVmKCkgZmluYWwgeyBSZWZDb3VudGVkPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj46OmRlcmVm
KCk7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIo
UEFMOjpTZXNzaW9uSUQpOworICAgIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcigpOwogCiAgICAg
SVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGNvbnN0IGZpbmFsOwot
ICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9zZXNzaW9uSUQudG9VSW50NjQoKTsgfQorICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5k
ZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gMDsgfQogCiAgICAgLy8gSURC
Q29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUKICAgICB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0
IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CkBAIC0xMTIsNyArMTExLDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIG5vdGlmeU9wZW5EQlJlcXVlc3RCbG9ja2VkKGNvbnN0IFdlYkNvcmU6
OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVzdElkZW50aWZpZXIsIHVpbnQ2NF90IG9sZFZl
cnNpb24sIHVpbnQ2NF90IG5ld1ZlcnNpb24pOwogICAgIHZvaWQgZGlkR2V0QWxsRGF0YWJhc2VO
YW1lcyh1aW50NjRfdCBjYWxsYmFja0lELCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZGF0YWJhc2VO
YW1lcyk7CiAKLSAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBSZWY8V2ViQ29y
ZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IG1fY29ubmVjdGlvblRvU2VydmVy
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9X
ZWJEYXRhYmFzZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFz
ZXMvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKaW5kZXggMTcyOGRjZGFiZjc4ZmY4ZWFlZTY1MGM0
YzNhYzQ3ODgwMGVjMDFlYy4uMDQ0ZDc3MjliZGU0ZWU5YWYxNDhmYzIyOGVmZmVhMzdkNTRmMzJk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRh
YmFzZVByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2Vz
L1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwCkBAIC02Nyw5ICs2Nyw5IEBAIFdlYkRhdGFiYXNlUHJv
dmlkZXI6On5XZWJEYXRhYmFzZVByb3ZpZGVyKCkKIH0KIAogI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQotV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIFdlYkRh
dGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oY29uc3QgUEFM
OjpTZXNzaW9uSUQmIHNlc3Npb25JRCkKK1dlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyJiBXZWJEYXRhYmFzZVByb3ZpZGVyOjppZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JT
ZXNzaW9uKGNvbnN0IFBBTDo6U2Vzc2lvbklEJikKIHsKLSAgICByZXR1cm4gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuaWRiQ29ubmVjdGlv
blRvU2VydmVyRm9yU2Vzc2lvbihzZXNzaW9uSUQpLmNvcmVDb25uZWN0aW9uVG9TZXJ2ZXIoKTsK
KyAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uKCkuaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbigpLmNvcmVDb25uZWN0
aW9uVG9TZXJ2ZXIoKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRl
eCBlMThmMGFlNzhmMmU2MjU3ZmQ4MjQ2OTk1M2ZlMzI0NTYzZWE5ZDZjLi5iMGMzYWViZjZjOGI2
Njk5ZDg5YWUzY2YyOWIyY2FmYzE3NTBmYTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAK
QEAgLTEyOSwxNyArMTI5LDE2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRS
ZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQCiAKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpKSB7Ci0gICAgICAgIGlmIChhdXRvKiBpZGJDb25uZWN0aW9uID0gbV93ZWJJREJDb25u
ZWN0aW9uc0J5U2Vzc2lvbi5nZXQoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKQotICAgICAgICAg
ICAgaWRiQ29ubmVjdGlvbi0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7
CisgICAgICAgIGlmIChtX3dlYklEQkNvbm5lY3Rpb24pCisgICAgICAgICAgICBtX3dlYklEQkNv
bm5lY3Rpb24tPmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJTV0Ns
aWVudENvbm5lY3Rpb246Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBhdXRvIHNl
cnZpY2VXb3JrZXJDb25uZWN0aW9uID0gbV9zd0Nvbm5lY3Rpb25zQnlTZXNzaW9uLmdldChQQUw6
OlNlc3Npb25JRCB7IGRlY29kZXIuZGVzdGluYXRpb25JRCgpIH0pOwotICAgICAgICBpZiAoc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24pCi0gICAgICAgICAgICBzZXJ2aWNlV29ya2VyQ29ubmVjdGlv
bi0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIGlmICht
X3N3Q29ubmVjdGlvbikKKyAgICAgICAgICAgIG1fc3dDb25uZWN0aW9uLT5kaWRSZWNlaXZlTWVz
c2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OlNlcnZpY2VXb3Jr
ZXJDbGllbnRGZXRjaDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CkBAIC0xOTQsMTUgKzE5Mywx
MyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0
aW9uJikKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b25DbG9zZWQodGhpcyk7CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLSAgICBhdXRv
IGlkYkNvbm5lY3Rpb25zID0gc3RkOjpleGNoYW5nZShtX3dlYklEQkNvbm5lY3Rpb25zQnlTZXNz
aW9uLCB7IH0pOwotICAgIGZvciAoYXV0byYgY29ubmVjdGlvbiA6IGlkYkNvbm5lY3Rpb25zLnZh
bHVlcygpKQotICAgICAgICBjb25uZWN0aW9uLT5jb25uZWN0aW9uVG9TZXJ2ZXJMb3N0KCk7Cisg
ICAgaWYgKGF1dG8gaWRiQ29ubmVjdGlvbiA9IHN0ZDo6ZXhjaGFuZ2UobV93ZWJJREJDb25uZWN0
aW9uLCBudWxscHRyKSkKKyAgICAgICAgaWRiQ29ubmVjdGlvbi0+Y29ubmVjdGlvblRvU2VydmVy
TG9zdCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgYXV0byBz
d0Nvbm5lY3Rpb25zID0gc3RkOjpleGNoYW5nZShtX3N3Q29ubmVjdGlvbnNCeVNlc3Npb24sIHsg
fSk7Ci0gICAgZm9yIChhdXRvJiBjb25uZWN0aW9uIDogc3dDb25uZWN0aW9ucy52YWx1ZXMoKSkK
LSAgICAgICAgY29ubmVjdGlvbi0+Y29ubmVjdGlvblRvU2VydmVyTG9zdCgpOworICAgIGlmIChh
dXRvIHN3Q29ubmVjdGlvbiA9IHN0ZDo6ZXhjaGFuZ2UobV9zd0Nvbm5lY3Rpb24sIG51bGxwdHIp
KQorICAgICAgICBzd0Nvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub1NlcnZlckxvc3QoKTsKICNlbmRp
ZgogfQogCkBAIC0yNDgsMjEgKzI0NSwyMCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bjo6ZGlkQ2FjaGVSZXNvdXJjZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsCiAjZW5k
aWYKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyJiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNl
c3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
JiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Np
b24oKQogewotICAgIHJldHVybiAqbV93ZWJJREJDb25uZWN0aW9uc0J5U2Vzc2lvbi5lbnN1cmUo
c2Vzc2lvbklELnRvVUludDY0KCksIFsmXSB7Ci0gICAgICAgIHJldHVybiBXZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXI6OmNyZWF0ZShzZXNzaW9uSUQpOwotICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsK
KyAgICBpZiAoIW1fd2ViSURCQ29ubmVjdGlvbikKKyAgICAgICAgbV93ZWJJREJDb25uZWN0aW9u
ID0gV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUoKTsKKyAgICByZXR1cm4gKm1fd2Vi
SURCQ29ubmVjdGlvbjsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQot
V2ViU1dDbGllbnRDb25uZWN0aW9uJiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OnNlcnZpY2VX
b3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCitXZWJT
V0NsaWVudENvbm5lY3Rpb24mIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6c2VydmljZVdvcmtl
ckNvbm5lY3Rpb25Gb3JTZXNzaW9uKCkKIHsKLSAgICBBU1NFUlQoc2Vzc2lvbklELmlzVmFsaWQo
KSk7Ci0gICAgcmV0dXJuICptX3N3Q29ubmVjdGlvbnNCeVNlc3Npb24uZW5zdXJlKHNlc3Npb25J
RCwgW10gewotICAgICAgICByZXR1cm4gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpjcmVhdGUoKTsK
LSAgICB9KS5pdGVyYXRvci0+dmFsdWU7CisgICAgaWYgKCFtX3N3Q29ubmVjdGlvbikKKyAgICAg
ICAgbV9zd0Nvbm5lY3Rpb24gPSBXZWJTV0NsaWVudENvbm5lY3Rpb246OmNyZWF0ZSgpOworICAg
IHJldHVybiAqbV9zd0Nvbm5lY3Rpb247CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
aAppbmRleCBlODg0OWZlYzE3YmEwNjgyZWJiZGE0ZDNkZjg5NzFiNmQxZTE5NGJlLi4wODMyOGYz
OTVkOTE0NmMzMmE3MDE1OWNmMzI3ZWZhNGZkNGE3YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
aApAQCAtNzEsMTMgKzcxLDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHdyaXRlQmxvYnNUb1RlbXBv
cmFyeUZpbGVzKFBBTDo6U2Vzc2lvbklELCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYmxvYlVSTHMs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJiBmaWxlUGF0aHMpPiYmKTsK
IAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIFdlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlciogZXhpc3RpbmdJREJDb25uZWN0aW9uVG9TZXJ2ZXIoUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklEKSBjb25zdCB7IHJldHVybiBtX3dlYklEQkNvbm5lY3Rpb25zQnlTZXNzaW9uLmdldChzZXNz
aW9uSUQudG9VSW50NjQoKSk7IH07Ci0gICAgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyJiBpZGJD
b25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKKyAgICBXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXIqIGV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKCkgY29uc3Qg
eyByZXR1cm4gbV93ZWJJREJDb25uZWN0aW9uLmdldCgpOyB9OworICAgIFdlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbigpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgV2ViU1dDbGllbnRDb25uZWN0aW9uKiBl
eGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQpIHsgcmV0dXJuIG1fc3dDb25uZWN0aW9uc0J5U2Vzc2lvbi5nZXQoc2Vzc2lvbklE
KTsgfQotICAgIFdlYlNXQ2xpZW50Q29ubmVjdGlvbiYgc2VydmljZVdvcmtlckNvbm5lY3Rpb25G
b3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKKyAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24qIGV4
aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKCkgeyByZXR1cm4gbV9zd0Nv
bm5lY3Rpb24uZ2V0KCk7IH0KKyAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24mIHNlcnZpY2VXb3Jr
ZXJDb25uZWN0aW9uRm9yU2Vzc2lvbigpOwogI2VuZGlmCiAKIHByaXZhdGU6CkBAIC0xMDUsMTIg
KzEwNSwxMSBAQCBwcml2YXRlOgogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlv
bjsKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+PiBtX3dlYklEQkNvbm5lY3Rpb25zQnlT
ZXNzaW9uOworICAgIFJlZlB0cjxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IG1fd2ViSURCQ29u
bmVjdGlvbjsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBiZSBhIHNpbmdsZSBjb25uZWN0aW9uLgotICAgIEhhc2hNYXA8UEFM
OjpTZXNzaW9uSUQsIFJlZlB0cjxXZWJTV0NsaWVudENvbm5lY3Rpb24+PiBtX3N3Q29ubmVjdGlv
bnNCeVNlc3Npb247CisgICAgUmVmUHRyPFdlYlNXQ2xpZW50Q29ubmVjdGlvbj4gbV9zd0Nvbm5l
Y3Rpb247CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwCmluZGV4IDE2Mzc3
NzliM2RiZjM2MjI4MmZmOTA5MmM2NDc3MDgyYTk3M2Y0NjYuLjgxZTY5NWEyM2ViYTY2NWNiMTIx
ZGMwZGMxNjFmYWUyMzMyOWQ1MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcApAQCAtNTYs
MTYgKzU2LDE3IEBAIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6V2ViU2VydmljZVdvcmtlclBy
b3ZpZGVyKCkKIAogV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uJiBXZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXI6OnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihTZXNzaW9uSUQgc2Vz
c2lvbklEKQogewotICAgIEFTU0VSVChzZXNzaW9uSUQuaXNWYWxpZCgpKTsKLSAgICByZXR1cm4g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCku
c2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgQVNTRVJU
X1VOVVNFRChzZXNzaW9uSUQsIHNlc3Npb25JRCA9PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5z
ZXNzaW9uSUQoKSk7CisgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lv
bigpOwogfQogCiBXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb24qIFdlYlNlcnZpY2VXb3JrZXJQ
cm92aWRlcjo6ZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oU2Vzc2lv
bklEIHNlc3Npb25JRCkKIHsKKyAgICBBU1NFUlRfVU5VU0VEKHNlc3Npb25JRCwgc2Vzc2lvbklE
ID09IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpKTsKICAgICBhdXRvKiBuZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5leGlzdGluZ05l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpOwogICAgIGlmICghbmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1cm4gbmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLT5leGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihzZXNz
aW9uSUQpOworICAgIHJldHVybiBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24tPmV4aXN0aW5nU2Vy
dmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9v
bCBzaG91bGRIYW5kbGVGZXRjaChjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMp
CkBAIC03OSwxNCArODAsMTQgQEAgc3RhdGljIGlubGluZSBib29sIHNob3VsZEhhbmRsZUZldGNo
KGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKICAgICByZXR1cm4gISFvcHRp
b25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOwogfQogCi12b2lkIFdlYlNl
cnZpY2VXb3JrZXJQcm92aWRlcjo6aGFuZGxlRmV0Y2goUmVzb3VyY2VMb2FkZXImIGxvYWRlciwg
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBT
VG9IVFRQUmVkaXJlY3QsIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6Q2FsbGJhY2smJiBjYWxs
YmFjaykKK3ZvaWQgV2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpoYW5kbGVGZXRjaChSZXNvdXJj
ZUxvYWRlciYgbG9hZGVyLCBQQUw6OlNlc3Npb25JRCwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVy
T25IVFRQU1RvSFRUUFJlZGlyZWN0LCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNr
JiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKCFTY2hlbWVSZWdpc3RyeTo6Y2FuU2VydmljZVdvcmtl
cnNIYW5kbGVVUkxTY2hlbWUobG9hZGVyLnJlcXVlc3QoKS51cmwoKS5wcm90b2NvbCgpLnRvU3Ry
aW5nV2l0aG91dENvcHlpbmcoKSkgfHwgIXNob3VsZEhhbmRsZUZldGNoKGxvYWRlci5vcHRpb25z
KCkpKSB7CiAgICAgICAgIGNhbGxiYWNrKFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6UmVzdWx0
OjpVbmhhbmRsZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byYgY29ubmVj
dGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihzZXNzaW9uSUQpOworICAg
IGF1dG8mIGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oKTsK
ICAgICBhdXRvIGZldGNoSWRlbnRpZmllciA9IG1ha2VPYmplY3RJZGVudGlmaWVyPEZldGNoSWRl
bnRpZmllclR5cGU+KGxvYWRlci5pZGVudGlmaWVyKCkpOwogICAgIG1fb25nb2luZ0ZldGNoVGFz
a3MuYWRkKGZldGNoSWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudEZldGNoOjpjcmVhdGUo
KnRoaXMsIGxvYWRlciwgZmV0Y2hJZGVudGlmaWVyLCBjb25uZWN0aW9uLCBzaG91bGRDbGVhclJl
ZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGEzZjg5YWQ1ODZiMDUyMjY4
N2VlZWI5ZDg0YTJjZjVkNDc2OTMyMGUuLmQ1NTlmZmU1NTJiZGQ2MWU0MGU0YTVmMzQzZGZmZjg0
YzBmYjhiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTEy
NDgsOCArMTI0OCw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
Q2xvc2VkKE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiogY29ubmVjCiAgICAgICAgIGlmICghaWRi
Q29ubmVjdGlvbikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAKLSAgICAgICAgaWYg
KGNvbm5lY3Rpb24tPmV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKHBhZ2UtPmNvcmVQYWdl
KCktPnNlc3Npb25JRCgpKSkgewotICAgICAgICAgICAgQVNTRVJUKGlkYkNvbm5lY3Rpb24gPT0g
JmNvbm5lY3Rpb24tPmV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKHBhZ2UtPmNvcmVQYWdl
KCktPnNlc3Npb25JRCgpKS0+Y29yZUNvbm5lY3Rpb25Ub1NlcnZlcigpKTsKKyAgICAgICAgaWYg
KGF1dG8qIGV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyID0gY29ubmVjdGlvbi0+ZXhpc3Rp
bmdJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKSkgeworICAgICAgICAgICAgQVNTRVJUKGlkYkNvbm5l
Y3Rpb24gPT0gJmV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyLT5jb3JlQ29ubmVjdGlvblRv
U2VydmVyKCkpOwogICAgICAgICAgICAgcGFnZS0+Y29yZVBhZ2UoKS0+Y2xlYXJJREJDb25uZWN0
aW9uKCk7CiAgICAgICAgIH0KICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378880</attachid>
            <date>2019-09-16 12:47:40 -0700</date>
            <delta_ts>2019-09-16 13:05:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201830-20190916124739.patch</filename>
            <type>text/plain</type>
            <size>17350</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5ODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ0YzBiNDMzNTQwNTk3NmQw
MDlkMGM2MmY2ZWU2NmM2OWMzYWRjMzIuLjAxNzUwNDMzOTQxNTdhNzFkNDE2NzNiMjE2MTBhZTkz
OGU4OGViMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDktMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24gZG9lcyBub3QgbmVlZCBIYXNoTWFwcyBvZiBzZXNzaW9uSURzIGZvciBTZXJ2aWNlIFdvcmtl
cnMgYW5kIElEQgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAxODMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uIGRvZXMgbm90IG5lZWQgSGFzaE1hcHMgb2Ygc2Vz
c2lvbklEcyBmb3IgU2VydmljZSBXb3JrZXJzIGFuZCBJREIsIHNpbmNlCisgICAgICAgIHdlIG5v
dyBoYXZlIG9uZSBzZXNzaW9uSUQgcGVyIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cjo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFi
YXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkRhdGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2Vp
dmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpk
aWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6aWRi
Q29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbjo6c2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZXhpc3RpbmdJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb246OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpzZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbkZvclNlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpoYW5kbGVGZXRjaCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKToKKwogMjAxOS0wOS0xNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IFdlYlJl
c291cmNlTG9hZE9ic2VydmVyIG5vdyB0aGF0IHdlIGhhdmUgb25lIFdlYlByb2Nlc3MgcGVyIHNl
c3Npb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERC
L1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKaW5kZXggMjIyYzkzZmNkMGE0
MjBkMDAxYzgxN2IzMmExNzc4YTRjMjdiOTlmNi4uZGM3MzJkOGQxNmY0N2U2NDY1ZTVjMDNmOWNh
NDZkYTJhNDI2ZjU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9J
bmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKQEAgLTcz
LDcgKzczLDcgQEAgcHJpdmF0ZToKICAgICBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQoTmV0d29y
a1Byb2Nlc3MmLCBJUEM6OkNvbm5lY3Rpb24mLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwg
UEFMOjpTZXNzaW9uSUQpOwogCiAgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29u
bmVjdGlvbigpIGNvbnN0IGZpbmFsOwotICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5h
dGlvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uSUQudG9VSW50NjQoKTsgfQor
ICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gMDsgfQogCiAgICAgLy8gTWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSBXZWJQcm9jZXNzCiAg
ICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YSYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IGYyZTljNmMyYTY2N2VmMWM4
NGU2MjYzMzJlZmVjMDg5ZmZmZWM2NWQuLjEwZTQ0MmU5MjU1MGNlMTM3YTI4OWQxOWU0ZWVlNDA0
MmFmYjEwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTEwNSw3
ICsxMDUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIo
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFdlYkNvcmU6Ok1l
c3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNs
aWVudElkZW50aWZpZXImIHNvdXJjZSk7CiAKICAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VT
ZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9jb250ZW50Q29ubmVjdGlv
bi5wdHIoKTsgfQotICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uSUQudG9VSW50NjQoKTsgfQorICAgIHVpbnQ2NF90
IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gMDsgfQog
ICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IHN0YXRpYyB2b2lkIHNlbmRUb0NvbnRleHRQ
cm9jZXNzKFdlYkNvcmU6OlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYsIFUmJiBtZXNzYWdl
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRl
eGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5k
ZXggOTczM2E2MzBmMjdlMWMyMDQzNTY2ODlhZjA3MjUwZDliZTFiZTI3ZC4uMzNlZWEyNGM4MWM1
ODliMTY3YWUyY2E3MWNjZDMyZTRmZDRhYWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC01MywxNCArNTMsMTMgQEAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlZjxXZWJJREJDb25uZWN0aW9u
VG9TZXJ2ZXI+IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRlKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCkKK1JlZjxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IFdlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJJREJD
b25uZWN0aW9uVG9TZXJ2ZXIoc2Vzc2lvbklEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKCkpOwogfQogCi1XZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXI6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCi0g
ICAgOiBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCi0gICAgLCBtX2Nvbm5lY3Rpb25Ub1NlcnZlcihJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6Y3JlYXRlKCp0aGlzKSkKK1dlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlcjo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKCkKKyAgICA6IG1fY29u
bmVjdGlvblRvU2VydmVyKElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUo
KnRoaXMpKQogewogICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpFc3RhYmxpc2hJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKSwgMCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5k
ZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IGNkOWE5ODcyNDQwZGJhNmFj
NjZiMWFmZmZkMzQ3YmM1ZjI3ZDZmNGEuLmIyNTI1OWYyMjUyMzQ5YjE4NjFiZTE3MWU1ZmNhZTRm
YTQzMDUwZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMv
SW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5o
CkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvSURCQ29ubmVjdGlvblRvU2VydmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cm9jZXNzSWRlbnRpZmllci5oPgotI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKQEAgLTM5LDcgKzM4LDcgQEAgY2xhc3MgV2ViSURCUmVzdWx0OwogCiBj
bGFzcyBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIgZmluYWwgOiBwcml2YXRlIFdlYkNvcmU6OklE
QkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUsIHByaXZhdGUgSVBDOjpNZXNz
YWdlU2VuZGVyLCBwdWJsaWMgUmVmQ291bnRlZDxXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gY3JlYXRl
KFBBTDo6U2Vzc2lvbklEKTsKKyAgICBzdGF0aWMgUmVmPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cj4gY3JlYXRlKCk7CiAgICAgdmlydHVhbCB+V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKCk7CiAK
ICAgICBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29yZUNvbm5l
Y3Rpb25Ub1NlcnZlcigpOwpAQCAtNTIsMTAgKzUxLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGRl
cmVmKCkgZmluYWwgeyBSZWZDb3VudGVkPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj46OmRlcmVm
KCk7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIo
UEFMOjpTZXNzaW9uSUQpOworICAgIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcigpOwogCiAgICAg
SVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGNvbnN0IGZpbmFsOwot
ICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9zZXNzaW9uSUQudG9VSW50NjQoKTsgfQorICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5k
ZXJEZXN0aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gMDsgfQogCiAgICAgLy8gSURC
Q29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUKICAgICB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0
IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJikgZmluYWw7CkBAIC0xMTIsNyArMTExLDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIG5vdGlmeU9wZW5EQlJlcXVlc3RCbG9ja2VkKGNvbnN0IFdlYkNvcmU6
OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVzdElkZW50aWZpZXIsIHVpbnQ2NF90IG9sZFZl
cnNpb24sIHVpbnQ2NF90IG5ld1ZlcnNpb24pOwogICAgIHZvaWQgZGlkR2V0QWxsRGF0YWJhc2VO
YW1lcyh1aW50NjRfdCBjYWxsYmFja0lELCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZGF0YWJhc2VO
YW1lcyk7CiAKLSAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBSZWY8V2ViQ29y
ZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IG1fY29ubmVjdGlvblRvU2VydmVy
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9X
ZWJEYXRhYmFzZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFz
ZXMvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKaW5kZXggMTcyOGRjZGFiZjc4ZmY4ZWFlZTY1MGM0
YzNhYzQ3ODgwMGVjMDFlYy4uMDQ0ZDc3MjliZGU0ZWU5YWYxNDhmYzIyOGVmZmVhMzdkNTRmMzJk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRh
YmFzZVByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2Vz
L1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwCkBAIC02Nyw5ICs2Nyw5IEBAIFdlYkRhdGFiYXNlUHJv
dmlkZXI6On5XZWJEYXRhYmFzZVByb3ZpZGVyKCkKIH0KIAogI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQotV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIFdlYkRh
dGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oY29uc3QgUEFM
OjpTZXNzaW9uSUQmIHNlc3Npb25JRCkKK1dlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyJiBXZWJEYXRhYmFzZVByb3ZpZGVyOjppZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JT
ZXNzaW9uKGNvbnN0IFBBTDo6U2Vzc2lvbklEJikKIHsKLSAgICByZXR1cm4gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuaWRiQ29ubmVjdGlv
blRvU2VydmVyRm9yU2Vzc2lvbihzZXNzaW9uSUQpLmNvcmVDb25uZWN0aW9uVG9TZXJ2ZXIoKTsK
KyAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uKCkuaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbigpLmNvcmVDb25uZWN0
aW9uVG9TZXJ2ZXIoKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRl
eCBlMThmMGFlNzhmMmU2MjU3ZmQ4MjQ2OTk1M2ZlMzI0NTYzZWE5ZDZjLi45YzNkODNiMDgxMmI3
OTlhYzRlYWI0Njc5MmQ1MWQ0N2I3NTVkZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAK
QEAgLTEyOSwxNyArMTI5LDE2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRS
ZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQCiAKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpKSB7Ci0gICAgICAgIGlmIChhdXRvKiBpZGJDb25uZWN0aW9uID0gbV93ZWJJREJDb25u
ZWN0aW9uc0J5U2Vzc2lvbi5nZXQoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKQotICAgICAgICAg
ICAgaWRiQ29ubmVjdGlvbi0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7
CisgICAgICAgIGlmIChtX3dlYklEQkNvbm5lY3Rpb24pCisgICAgICAgICAgICBtX3dlYklEQkNv
bm5lY3Rpb24tPmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJTV0Ns
aWVudENvbm5lY3Rpb246Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBhdXRvIHNl
cnZpY2VXb3JrZXJDb25uZWN0aW9uID0gbV9zd0Nvbm5lY3Rpb25zQnlTZXNzaW9uLmdldChQQUw6
OlNlc3Npb25JRCB7IGRlY29kZXIuZGVzdGluYXRpb25JRCgpIH0pOwotICAgICAgICBpZiAoc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24pCi0gICAgICAgICAgICBzZXJ2aWNlV29ya2VyQ29ubmVjdGlv
bi0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIGlmICht
X3N3Q29ubmVjdGlvbikKKyAgICAgICAgICAgIG1fc3dDb25uZWN0aW9uLT5kaWRSZWNlaXZlTWVz
c2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OlNlcnZpY2VXb3Jr
ZXJDbGllbnRGZXRjaDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CkBAIC0xOTQsMTUgKzE5Mywx
MyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkQ2xvc2UoSVBDOjpDb25uZWN0
aW9uJikKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b25DbG9zZWQodGhpcyk7CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLSAgICBhdXRv
IGlkYkNvbm5lY3Rpb25zID0gc3RkOjpleGNoYW5nZShtX3dlYklEQkNvbm5lY3Rpb25zQnlTZXNz
aW9uLCB7IH0pOwotICAgIGZvciAoYXV0byYgY29ubmVjdGlvbiA6IGlkYkNvbm5lY3Rpb25zLnZh
bHVlcygpKQotICAgICAgICBjb25uZWN0aW9uLT5jb25uZWN0aW9uVG9TZXJ2ZXJMb3N0KCk7Cisg
ICAgaWYgKGF1dG8gaWRiQ29ubmVjdGlvbiA9IHN0ZDo6ZXhjaGFuZ2UobV93ZWJJREJDb25uZWN0
aW9uLCBudWxscHRyKSkKKyAgICAgICAgaWRiQ29ubmVjdGlvbi0+Y29ubmVjdGlvblRvU2VydmVy
TG9zdCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgYXV0byBz
d0Nvbm5lY3Rpb25zID0gc3RkOjpleGNoYW5nZShtX3N3Q29ubmVjdGlvbnNCeVNlc3Npb24sIHsg
fSk7Ci0gICAgZm9yIChhdXRvJiBjb25uZWN0aW9uIDogc3dDb25uZWN0aW9ucy52YWx1ZXMoKSkK
LSAgICAgICAgY29ubmVjdGlvbi0+Y29ubmVjdGlvblRvU2VydmVyTG9zdCgpOworICAgIGlmIChh
dXRvIHN3Q29ubmVjdGlvbiA9IHN0ZDo6ZXhjaGFuZ2UobV9zd0Nvbm5lY3Rpb24sIG51bGxwdHIp
KQorICAgICAgICBzd0Nvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub1NlcnZlckxvc3QoKTsKICNlbmRp
ZgogfQogCkBAIC0yNDgsMjEgKzI0NSwyMCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bjo6ZGlkQ2FjaGVSZXNvdXJjZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsCiAjZW5k
aWYKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyJiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNl
c3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
JiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Np
b24oKQogewotICAgIHJldHVybiAqbV93ZWJJREJDb25uZWN0aW9uc0J5U2Vzc2lvbi5lbnN1cmUo
c2Vzc2lvbklELnRvVUludDY0KCksIFsmXSB7Ci0gICAgICAgIHJldHVybiBXZWJJREJDb25uZWN0
aW9uVG9TZXJ2ZXI6OmNyZWF0ZShzZXNzaW9uSUQpOwotICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsK
KyAgICBpZiAoIW1fd2ViSURCQ29ubmVjdGlvbikKKyAgICAgICAgbV93ZWJJREJDb25uZWN0aW9u
ID0gV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUoKTsKKyAgICByZXR1cm4gKm1fd2Vi
SURCQ29ubmVjdGlvbjsKIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQot
V2ViU1dDbGllbnRDb25uZWN0aW9uJiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OnNlcnZpY2VX
b3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCitXZWJT
V0NsaWVudENvbm5lY3Rpb24mIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6c2VydmljZVdvcmtl
ckNvbm5lY3Rpb24oKQogewotICAgIEFTU0VSVChzZXNzaW9uSUQuaXNWYWxpZCgpKTsKLSAgICBy
ZXR1cm4gKm1fc3dDb25uZWN0aW9uc0J5U2Vzc2lvbi5lbnN1cmUoc2Vzc2lvbklELCBbXSB7Ci0g
ICAgICAgIHJldHVybiBXZWJTV0NsaWVudENvbm5lY3Rpb246OmNyZWF0ZSgpOwotICAgIH0pLml0
ZXJhdG9yLT52YWx1ZTsKKyAgICBpZiAoIW1fc3dDb25uZWN0aW9uKQorICAgICAgICBtX3N3Q29u
bmVjdGlvbiA9IFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRlKCk7CisgICAgcmV0dXJuICpt
X3N3Q29ubmVjdGlvbjsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4IGU4
ODQ5ZmVjMTdiYTA2ODJlYmJkYTRkM2RmODk3MWI2ZDFlMTk0YmUuLjU5NmEzMjAwOTkxOTNlZWFl
ZTFmN2RhMGViZTYyNzM3NjllN2E0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC03MSwx
MyArNzEsMTMgQEAgcHVibGljOgogICAgIHZvaWQgd3JpdGVCbG9ic1RvVGVtcG9yYXJ5RmlsZXMo
UEFMOjpTZXNzaW9uSUQsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBibG9iVVJMcywgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmIGZpbGVQYXRocyk+JiYpOwogCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyKiBleGlz
dGluZ0lEQkNvbm5lY3Rpb25Ub1NlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIGNvbnN0
IHsgcmV0dXJuIG1fd2ViSURCQ29ubmVjdGlvbnNCeVNlc3Npb24uZ2V0KHNlc3Npb25JRC50b1VJ
bnQ2NCgpKTsgfTsKLSAgICBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGlkYkNvbm5lY3Rpb25U
b1NlcnZlckZvclNlc3Npb24oUEFMOjpTZXNzaW9uSUQpOworICAgIFdlYklEQkNvbm5lY3Rpb25U
b1NlcnZlciogZXhpc3RpbmdJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKSBjb25zdCB7IHJldHVybiBt
X3dlYklEQkNvbm5lY3Rpb24uZ2V0KCk7IH07CisgICAgV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
JiBpZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKLSAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24qIGV4aXN0aW5nU2Vy
dmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkg
eyByZXR1cm4gbV9zd0Nvbm5lY3Rpb25zQnlTZXNzaW9uLmdldChzZXNzaW9uSUQpOyB9Ci0gICAg
V2ViU1dDbGllbnRDb25uZWN0aW9uJiBzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24o
UEFMOjpTZXNzaW9uSUQpOworICAgIFdlYlNXQ2xpZW50Q29ubmVjdGlvbiogZXhpc3RpbmdTZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbigpIHsgcmV0dXJuIG1fc3dDb25uZWN0aW9uLmdldCgpOyB9Cisg
ICAgV2ViU1dDbGllbnRDb25uZWN0aW9uJiBzZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogI2Vu
ZGlmCiAKIHByaXZhdGU6CkBAIC0xMDUsMTIgKzEwNSwxMSBAQCBwcml2YXRlOgogICAgIFJlZjxJ
UEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQotICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXI+PiBtX3dlYklEQkNvbm5lY3Rpb25zQnlTZXNzaW9uOworICAgIFJlZlB0cjxXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI+IG1fd2ViSURCQ29ubmVjdGlvbjsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhIHNpbmdsZSBj
b25uZWN0aW9uLgotICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIFJlZlB0cjxXZWJTV0NsaWVu
dENvbm5lY3Rpb24+PiBtX3N3Q29ubmVjdGlvbnNCeVNlc3Npb247CisgICAgUmVmUHRyPFdlYlNX
Q2xpZW50Q29ubmVjdGlvbj4gbV9zd0Nvbm5lY3Rpb247CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92
aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29y
a2VyUHJvdmlkZXIuY3BwCmluZGV4IDE2Mzc3NzliM2RiZjM2MjI4MmZmOTA5MmM2NDc3MDgyYTk3
M2Y0NjYuLjM3YzI3ZGNiM2QyMzQzZmYxODM4YWRiNGRlOTc2MWIwNDE0ZDZhYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vydmlj
ZVdvcmtlclByb3ZpZGVyLmNwcApAQCAtNTYsMTYgKzU2LDE3IEBAIFdlYlNlcnZpY2VXb3JrZXJQ
cm92aWRlcjo6V2ViU2VydmljZVdvcmtlclByb3ZpZGVyKCkKIAogV2ViQ29yZTo6U1dDbGllbnRD
b25uZWN0aW9uJiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNlcnZpY2VXb3JrZXJDb25uZWN0
aW9uRm9yU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklEKQogewotICAgIEFTU0VSVChzZXNzaW9u
SUQuaXNWYWxpZCgpKTsKLSAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJl
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNz
aW9uKHNlc3Npb25JRCk7CisgICAgQVNTRVJUX1VOVVNFRChzZXNzaW9uSUQsIHNlc3Npb25JRCA9
PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CisgICAgcmV0dXJuIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLnNlcnZp
Y2VXb3JrZXJDb25uZWN0aW9uKCk7CiB9CiAKIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiog
V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpleGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9u
Rm9yU2Vzc2lvbihTZXNzaW9uSUQgc2Vzc2lvbklEKQogeworICAgIEFTU0VSVF9VTlVTRUQoc2Vz
c2lvbklELCBzZXNzaW9uSUQgPT0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkp
OwogICAgIGF1dG8qIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmV4aXN0aW5nTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgaWYgKCFuZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24pCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVy
biBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24tPmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rp
b25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgcmV0dXJuIG5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi0+ZXhpc3RpbmdTZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpOwogfQogCiBzdGF0aWMgaW5s
aW5lIGJvb2wgc2hvdWxkSGFuZGxlRmV0Y2goY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiBv
cHRpb25zKQpAQCAtNzksMTQgKzgwLDE0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRIYW5k
bGVGZXRjaChjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCiAgICAgcmV0dXJu
ICEhb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcjsKIH0KIAotdm9p
ZCBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmhhbmRsZUZldGNoKFJlc291cmNlTG9hZGVyJiBs
b2FkZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVy
T25IVFRQU1RvSFRUUFJlZGlyZWN0LCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNr
JiYgY2FsbGJhY2spCit2b2lkIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6aGFuZGxlRmV0Y2go
UmVzb3VyY2VMb2FkZXImIGxvYWRlciwgUEFMOjpTZXNzaW9uSUQsIGJvb2wgc2hvdWxkQ2xlYXJS
ZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCwgU2VydmljZVdvcmtlckNsaWVudEZldGNoOjpD
YWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIGlmICghU2NoZW1lUmVnaXN0cnk6OmNhblNlcnZp
Y2VXb3JrZXJzSGFuZGxlVVJMU2NoZW1lKGxvYWRlci5yZXF1ZXN0KCkudXJsKCkucHJvdG9jb2wo
KS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpIHx8ICFzaG91bGRIYW5kbGVGZXRjaChsb2FkZXIu
b3B0aW9ucygpKSkgewogICAgICAgICBjYWxsYmFjayhTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6
OlJlc3VsdDo6VW5oYW5kbGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8m
IGNvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lvbklE
KTsKKyAgICBhdXRvJiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJl
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKICAg
ICBhdXRvIGZldGNoSWRlbnRpZmllciA9IG1ha2VPYmplY3RJZGVudGlmaWVyPEZldGNoSWRlbnRp
ZmllclR5cGU+KGxvYWRlci5pZGVudGlmaWVyKCkpOwogICAgIG1fb25nb2luZ0ZldGNoVGFza3Mu
YWRkKGZldGNoSWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudEZldGNoOjpjcmVhdGUoKnRo
aXMsIGxvYWRlciwgZmV0Y2hJZGVudGlmaWVyLCBjb25uZWN0aW9uLCBzaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBXVEZNb3ZlKGNhbGxiYWNrKSkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGEzZjg5YWQ1ODZiMDUyMjY4N2Vl
ZWI5ZDg0YTJjZjVkNDc2OTMyMGUuLmQ1NTlmZmU1NTJiZGQ2MWU0MGU0YTVmMzQzZGZmZjg0YzBm
YjhiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTEyNDgs
OCArMTI0OCw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xv
c2VkKE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiogY29ubmVjCiAgICAgICAgIGlmICghaWRiQ29u
bmVjdGlvbikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAKLSAgICAgICAgaWYgKGNv
bm5lY3Rpb24tPmV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKHBhZ2UtPmNvcmVQYWdlKCkt
PnNlc3Npb25JRCgpKSkgewotICAgICAgICAgICAgQVNTRVJUKGlkYkNvbm5lY3Rpb24gPT0gJmNv
bm5lY3Rpb24tPmV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKHBhZ2UtPmNvcmVQYWdlKCkt
PnNlc3Npb25JRCgpKS0+Y29yZUNvbm5lY3Rpb25Ub1NlcnZlcigpKTsKKyAgICAgICAgaWYgKGF1
dG8qIGV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyID0gY29ubmVjdGlvbi0+ZXhpc3RpbmdJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIoKSkgeworICAgICAgICAgICAgQVNTRVJUKGlkYkNvbm5lY3Rp
b24gPT0gJmV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyLT5jb3JlQ29ubmVjdGlvblRvU2Vy
dmVyKCkpOwogICAgICAgICAgICAgcGFnZS0+Y29yZVBhZ2UoKS0+Y2xlYXJJREJDb25uZWN0aW9u
KCk7CiAgICAgICAgIH0KICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378885</attachid>
            <date>2019-09-16 13:05:16 -0700</date>
            <delta_ts>2019-09-16 14:52:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201830-20190916130516.patch</filename>
            <type>text/plain</type>
            <size>17267</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg2ZjcyOWYzN2QwZDAzM2Mx
ZTY5ZjExMTdmMDYxOGRlYjQ0YWRjMjcuLmM0ODc5YTc3YWY1OTY0MjQwZDM3N2ZlNmZmNTIwOGVh
Njc5MzdkZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDktMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24gZG9lcyBub3QgbmVlZCBIYXNoTWFwcyBvZiBzZXNzaW9uSURzIGZvciBTZXJ2aWNlIFdvcmtl
cnMgYW5kIElEQgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAxODMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uIGRvZXMgbm90IG5lZWQgSGFzaE1hcHMgb2Ygc2Vz
c2lvbklEcyBmb3IgU2VydmljZSBXb3JrZXJzIGFuZCBJREIsIHNpbmNlCisgICAgICAgIHdlIG5v
dyBoYXZlIG9uZSBzZXNzaW9uSUQgcGVyIFdlYkNvbnRlbnQgcHJvY2Vzcy4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cjo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFi
YXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkRhdGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2Vp
dmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpk
aWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6aWRi
Q29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbjo6c2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZXhpc3RpbmdJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb246OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpzZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbkZvclNlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpoYW5kbGVGZXRjaCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKToKKwogMjAxOS0wOS0xNiAg
UGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TigyNDk2NDkpOiBVbmFibGUgdG8gb3BlbiBsb2NhbCBmaWxlcyBpbiBNaW5pQnJvd3NlciBvbiBt
YWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIv
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaAppbmRleCAyMjJjOTNmY2QwYTQy
MGQwMDFjODE3YjMyYTE3NzhhNGMyN2I5OWY2Li5kYzczMmQ4ZDE2ZjQ3ZTY0NjVlNWMwM2Y5Y2E0
NmRhMmE0MjZmNTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0lu
ZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaApAQCAtNzMs
NyArNzMsNyBAQCBwcml2YXRlOgogICAgIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudChOZXR3b3Jr
UHJvY2VzcyYsIElQQzo6Q29ubmVjdGlvbiYsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQ
QUw6OlNlc3Npb25JRCk7CiAKICAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25u
ZWN0aW9uKCkgY29uc3QgZmluYWw7Ci0gICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0
aW9uSUQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Nlc3Npb25JRC50b1VJbnQ2NCgpOyB9Cisg
ICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiAwOyB9CiAKICAgICAvLyBNZXNzYWdlcyByZWNlaXZlZCBmcm9tIFdlYlByb2Nlc3MKICAg
ICB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0IFdlYkNvcmU6OklEQlJlcXVlc3REYXRhJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggZjJlOWM2YzJhNjY3ZWYxYzg0
ZTYyNjMzMmVmZWMwODlmZmZlYzY1ZC4uMTBlNDQyZTkyNTUwY2UxMzdhMjg5ZDE5ZTRlZWU0MDQy
YWZiMTAyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtMTA1LDcg
KzEwNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlcihX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbiwgV2ViQ29yZTo6TWVz
c2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlck9yQ2xp
ZW50SWRlbnRpZmllciYgc291cmNlKTsKIAogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNl
bmRlckNvbm5lY3Rpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NvbnRlbnRDb25uZWN0aW9u
LnB0cigpOyB9Ci0gICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3Nlc3Npb25JRC50b1VJbnQ2NCgpOyB9CisgICAgdWludDY0X3Qg
bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbCB7IHJldHVybiAwOyB9CiAg
ICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gc3RhdGljIHZvaWQgc2VuZFRvQ29udGV4dFBy
b2Nlc3MoV2ViQ29yZTo6U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uJiwgVSYmIG1lc3NhZ2Up
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4
ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcAppbmRl
eCA5NzMzYTYzMGYyN2UxYzIwNDM1NjY4OWFmMDcyNTBkOWJlMWJlMjdkLi4zM2VlYTI0YzgxYzU4
OWIxNjdhZTJjYTcxY2NkMzJlNGZkNGFhZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTUzLDE0ICs1MywxMyBAQAogbmFtZXNwYWNlIFdl
YktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotUmVmPFdlYklEQkNvbm5lY3Rpb25U
b1NlcnZlcj4gV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklEKQorUmVmPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlcihzZXNzaW9uSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBX
ZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKSk7CiB9CiAKLVdlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cjo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKLSAg
ICA6IG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKLSAgICAsIG1fY29ubmVjdGlvblRvU2VydmVyKElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUoKnRoaXMpKQorV2ViSURCQ29u
bmVjdGlvblRvU2VydmVyOjpXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKQorICAgIDogbV9jb25u
ZWN0aW9uVG9TZXJ2ZXIoSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZSgq
dGhpcykpCiB7CiAgICAgc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OkVzdGFibGlzaElEQkNvbm5lY3Rpb25Ub1NlcnZlcigpLCAwKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRl
eGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgKaW5kZXggY2Q5YTk4NzI0NDBkYmE2YWM2
NmIxYWZmZmQzNDdiYzVmMjdkNmY0YS4uYjI1MjU5ZjIyNTIzNDliMTg2MWJlMTcxZTVmY2FlNGZh
NDMwNTBlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9J
bmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1By
b2Nlc3NJZGVudGlmaWVyLmg+Ci0jaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIApAQCAtMzksNyArMzgsNyBAQCBjbGFzcyBXZWJJREJSZXN1bHQ7CiAKIGNs
YXNzIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlciBmaW5hbCA6IHByaXZhdGUgV2ViQ29yZTo6SURC
Q2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSwgcHJpdmF0ZSBJUEM6Ok1lc3Nh
Z2VTZW5kZXIsIHB1YmxpYyBSZWZDb3VudGVkPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViSURCQ29ubmVjdGlvblRvU2VydmVyPiBjcmVhdGUo
UEFMOjpTZXNzaW9uSUQpOworICAgIHN0YXRpYyBSZWY8V2ViSURCQ29ubmVjdGlvblRvU2VydmVy
PiBjcmVhdGUoKTsKICAgICB2aXJ0dWFsIH5XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKTsKIAog
ICAgIFdlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBjb3JlQ29ubmVj
dGlvblRvU2VydmVyKCk7CkBAIC01MiwxMCArNTEsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZGVy
ZWYoKSBmaW5hbCB7IFJlZkNvdW50ZWQ8V2ViSURCQ29ubmVjdGlvblRvU2VydmVyPjo6ZGVyZWYo
KTsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcihQ
QUw6OlNlc3Npb25JRCk7CisgICAgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyKCk7CiAKICAgICBJ
UEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QgZmluYWw7Ci0g
ICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX3Nlc3Npb25JRC50b1VJbnQ2NCgpOyB9CisgICAgdWludDY0X3QgbWVzc2FnZVNlbmRl
ckRlc3RpbmF0aW9uSUQoKSBjb25zdCBmaW5hbCB7IHJldHVybiAwOyB9CiAKICAgICAvLyBJREJD
b25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZQogICAgIHZvaWQgZGVsZXRlRGF0YWJhc2UoY29uc3Qg
V2ViQ29yZTo6SURCUmVxdWVzdERhdGEmKSBmaW5hbDsKQEAgLTExMiw3ICsxMTEsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgbm90aWZ5T3BlbkRCUmVxdWVzdEJsb2NrZWQoY29uc3QgV2ViQ29yZTo6
SURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXF1ZXN0SWRlbnRpZmllciwgdWludDY0X3Qgb2xkVmVy
c2lvbiwgdWludDY0X3QgbmV3VmVyc2lvbik7CiAgICAgdm9pZCBkaWRHZXRBbGxEYXRhYmFzZU5h
bWVzKHVpbnQ2NF90IGNhbGxiYWNrSUQsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkYXRhYmFzZU5h
bWVzKTsKIAotICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogICAgIFJlZjxXZWJDb3Jl
OjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gbV9jb25uZWN0aW9uVG9TZXJ2ZXI7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dl
YkRhdGFiYXNlUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNl
cy9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcAppbmRleCAxNzI4ZGNkYWJmNzhmZjhlYWVlNjUwYzRj
M2FjNDc4ODAwZWMwMWVjLi4wNDRkNzcyOWJkZTRlZTlhZjE0OGZjMjI4ZWZmZWEzN2Q1NGYzMmRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFi
YXNlUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMv
V2ViRGF0YWJhc2VQcm92aWRlci5jcHAKQEAgLTY3LDkgKzY3LDkgQEAgV2ViRGF0YWJhc2VQcm92
aWRlcjo6fldlYkRhdGFiYXNlUHJvdmlkZXIoKQogfQogCiAjaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCi1XZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgV2ViRGF0
YWJhc2VQcm92aWRlcjo6aWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25zdCBQQUw6
OlNlc3Npb25JRCYgc2Vzc2lvbklEKQorV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9u
VG9TZXJ2ZXImIFdlYkRhdGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNl
c3Npb24oY29uc3QgUEFMOjpTZXNzaW9uSUQmKQogewotICAgIHJldHVybiBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5pZGJDb25uZWN0aW9u
VG9TZXJ2ZXJGb3JTZXNzaW9uKHNlc3Npb25JRCkuY29yZUNvbm5lY3Rpb25Ub1NlcnZlcigpOwor
ICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24oKS5pZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKCkuY29yZUNvbm5lY3Rp
b25Ub1NlcnZlcigpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4
IDUzZTdlMTNhMTViNDVlNTVmOGNiYTRhZjY2Zjk3M2RjZDlmMTcxZDQuLjZhNzU3OTE5ODRmYTk4
ZWY4YjM1YmFiNzFhNDc0MjFjYjFlNzM5NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApA
QCAtMTMwLDE3ICsxMzAsMTYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVAKIAogI2lmIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUo
KSA9PSBNZXNzYWdlczo6V2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjptZXNzYWdlUmVjZWl2ZXJO
YW1lKCkpIHsKLSAgICAgICAgaWYgKGF1dG8qIGlkYkNvbm5lY3Rpb24gPSBtX3dlYklEQkNvbm5l
Y3Rpb25zQnlTZXNzaW9uLmdldChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpCi0gICAgICAgICAg
ICBpZGJDb25uZWN0aW9uLT5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsK
KyAgICAgICAgaWYgKG1fd2ViSURCQ29ubmVjdGlvbikKKyAgICAgICAgICAgIG1fd2ViSURCQ29u
bmVjdGlvbi0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAg
ICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlNXQ2xp
ZW50Q29ubmVjdGlvbjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIGF1dG8gc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24gPSBtX3N3Q29ubmVjdGlvbnNCeVNlc3Npb24uZ2V0KFBBTDo6
U2Vzc2lvbklEIHsgZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkgfSk7Ci0gICAgICAgIGlmIChzZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbikKLSAgICAgICAgICAgIHNlcnZpY2VXb3JrZXJDb25uZWN0aW9u
LT5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgaWYgKG1f
c3dDb25uZWN0aW9uKQorICAgICAgICAgICAgbV9zd0Nvbm5lY3Rpb24tPmRpZFJlY2VpdmVNZXNz
YWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlm
IChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6U2VydmljZVdvcmtl
ckNsaWVudEZldGNoOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKQEAgLTE5NSwxNSArMTk0LDEz
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rp
b24mKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bkNsb3NlZCh0aGlzKTsKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIGF1dG8g
aWRiQ29ubmVjdGlvbnMgPSBzdGQ6OmV4Y2hhbmdlKG1fd2ViSURCQ29ubmVjdGlvbnNCeVNlc3Np
b24sIHsgfSk7Ci0gICAgZm9yIChhdXRvJiBjb25uZWN0aW9uIDogaWRiQ29ubmVjdGlvbnMudmFs
dWVzKCkpCi0gICAgICAgIGNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Ub1NlcnZlckxvc3QoKTsKKyAg
ICBpZiAoYXV0byBpZGJDb25uZWN0aW9uID0gc3RkOjpleGNoYW5nZShtX3dlYklEQkNvbm5lY3Rp
b24sIG51bGxwdHIpKQorICAgICAgICBpZGJDb25uZWN0aW9uLT5jb25uZWN0aW9uVG9TZXJ2ZXJM
b3N0KCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICBhdXRvIHN3
Q29ubmVjdGlvbnMgPSBzdGQ6OmV4Y2hhbmdlKG1fc3dDb25uZWN0aW9uc0J5U2Vzc2lvbiwgeyB9
KTsKLSAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb24gOiBzd0Nvbm5lY3Rpb25zLnZhbHVlcygpKQot
ICAgICAgICBjb25uZWN0aW9uLT5jb25uZWN0aW9uVG9TZXJ2ZXJMb3N0KCk7CisgICAgaWYgKGF1
dG8gc3dDb25uZWN0aW9uID0gc3RkOjpleGNoYW5nZShtX3N3Q29ubmVjdGlvbiwgbnVsbHB0cikp
CisgICAgICAgIHN3Q29ubmVjdGlvbi0+Y29ubmVjdGlvblRvU2VydmVyTG9zdCgpOwogI2VuZGlm
CiB9CiAKQEAgLTI0OSwyMSArMjQ2LDIwIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OjpkaWRDYWNoZVJlc291cmNlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi1XZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXImIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6aWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vz
c2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCitXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIm
IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6aWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lv
bigpCiB7Ci0gICAgcmV0dXJuICptX3dlYklEQkNvbm5lY3Rpb25zQnlTZXNzaW9uLmVuc3VyZShz
ZXNzaW9uSUQudG9VSW50NjQoKSwgWyZdIHsKLSAgICAgICAgcmV0dXJuIFdlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6Y3JlYXRlKHNlc3Npb25JRCk7Ci0gICAgfSkuaXRlcmF0b3ItPnZhbHVlOwor
ICAgIGlmICghbV93ZWJJREJDb25uZWN0aW9uKQorICAgICAgICBtX3dlYklEQkNvbm5lY3Rpb24g
PSBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZSgpOworICAgIHJldHVybiAqbV93ZWJJ
REJDb25uZWN0aW9uOwogfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi1X
ZWJTV0NsaWVudENvbm5lY3Rpb24mIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6c2VydmljZVdv
cmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK1dlYlNX
Q2xpZW50Q29ubmVjdGlvbiYgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbigpCiB7Ci0gICAgQVNTRVJUKHNlc3Npb25JRC5pc1ZhbGlkKCkpOwotICAgIHJl
dHVybiAqbV9zd0Nvbm5lY3Rpb25zQnlTZXNzaW9uLmVuc3VyZShzZXNzaW9uSUQsIFtdIHsKLSAg
ICAgICAgcmV0dXJuIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6Y3JlYXRlKCk7Ci0gICAgfSkuaXRl
cmF0b3ItPnZhbHVlOworICAgIGlmICghbV9zd0Nvbm5lY3Rpb24pCisgICAgICAgIG1fc3dDb25u
ZWN0aW9uID0gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpjcmVhdGUoKTsKKyAgICByZXR1cm4gKm1f
c3dDb25uZWN0aW9uOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggNjJj
ZjhmOWQ2ZjY1YmViMDIzMzczZDAzNWEzNWE4ZDU5ZTlmNzI1ZC4uNDk0ZWE3ZWViNDU1Y2ZlMTU0
MDE0ZDQzNzViMDk3NGJjZjY3ZWE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTcxLDEz
ICs3MSwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCB3cml0ZUJsb2JzVG9UZW1wb3JhcnlGaWxlcyhQ
QUw6OlNlc3Npb25JRCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGJsb2JVUkxzLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYgZmlsZVBhdGhzKT4mJik7CiAKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKLSAgICBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIqIGV4aXN0
aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgY29uc3Qg
eyByZXR1cm4gbV93ZWJJREJDb25uZWN0aW9uc0J5U2Vzc2lvbi5nZXQoc2Vzc2lvbklELnRvVUlu
dDY0KCkpOyB9OwotICAgIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRv
U2VydmVyRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCk7CisgICAgV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyKiBleGlzdGluZ0lEQkNvbm5lY3Rpb25Ub1NlcnZlcigpIGNvbnN0IHsgcmV0dXJuIG1f
d2ViSURCQ29ubmVjdGlvbi5nZXQoKTsgfTsKKyAgICBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIm
IGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oKTsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQotICAgIFdlYlNXQ2xpZW50Q29ubmVjdGlvbiogZXhpc3RpbmdTZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSB7
IHJldHVybiBtX3N3Q29ubmVjdGlvbnNCeVNlc3Npb24uZ2V0KHNlc3Npb25JRCk7IH0KLSAgICBX
ZWJTV0NsaWVudENvbm5lY3Rpb24mIHNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihQ
QUw6OlNlc3Npb25JRCk7CisgICAgV2ViU1dDbGllbnRDb25uZWN0aW9uKiBleGlzdGluZ1NlcnZp
Y2VXb3JrZXJDb25uZWN0aW9uKCkgeyByZXR1cm4gbV9zd0Nvbm5lY3Rpb24uZ2V0KCk7IH0KKyAg
ICBXZWJTV0NsaWVudENvbm5lY3Rpb24mIHNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiAjZW5k
aWYKIAogICAgIFdURjo6UHJvY2Vzc0lEIG5ldHdvcmtQcm9jZXNzUElEKCkgY29uc3QgeyByZXR1
cm4gbV9uZXR3b3JrUHJvY2Vzc1BJRDsgfQpAQCAtMTA4LDEyICsxMDgsMTEgQEAgcHJpdmF0ZToK
ICAgICBXVEY6OlByb2Nlc3NJRCBtX25ldHdvcmtQcm9jZXNzUElEIHsgMCB9OwogCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlcj4+IG1fd2ViSURCQ29ubmVjdGlvbnNCeVNlc3Npb247CisgICAg
UmVmUHRyPFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gbV93ZWJJREJDb25uZWN0aW9uOwogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGJlIGEgc2luZ2xlIGNvbm5lY3Rpb24uCi0gICAgSGFzaE1hcDxQQUw6OlNlc3Npb25JRCwg
UmVmUHRyPFdlYlNXQ2xpZW50Q29ubmVjdGlvbj4+IG1fc3dDb25uZWN0aW9uc0J5U2Vzc2lvbjsK
KyAgICBSZWZQdHI8V2ViU1dDbGllbnRDb25uZWN0aW9uPiBtX3N3Q29ubmVjdGlvbjsKICNlbmRp
ZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAKaW5kZXggMTYzNzc3OWIzZGJmMzYyMjgy
ZmY5MDkyYzY0NzcwODJhOTczZjQ2Ni4uYWI0ZDgyZTYxNmY3YTBjZWQxNjE3NzYyNTI0NTEzNzU2
ZGQyODY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2VydmljZVdvcmtlclByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwCkBAIC01NiwxNiArNTYsMTcgQEAg
V2ViU2VydmljZVdvcmtlclByb3ZpZGVyOjpXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIoKQogCiBX
ZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb24mIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2Vy
dmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQpCiB7Ci0g
ICAgQVNTRVJUKHNlc3Npb25JRC5pc1ZhbGlkKCkpOwotICAgIHJldHVybiBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lvbklEKTsKKyAgICBBU1NFUlRfVU5VU0VEKHNlc3Np
b25JRCwgc2Vzc2lvbklEID09IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpKTsK
KyAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKIH0KIAogV2ViQ29yZTo6U1dD
bGllbnRDb25uZWN0aW9uKiBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmV4aXN0aW5nU2Vydmlj
ZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKFNlc3Npb25JRCBzZXNzaW9uSUQpCiB7CisgICAg
QVNTRVJUX1VOVVNFRChzZXNzaW9uSUQsIHNlc3Npb25JRCA9PSBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5zZXNzaW9uSUQoKSk7CiAgICAgYXV0byogbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uID0g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZXhpc3RpbmdOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24o
KTsKICAgICBpZiAoIW5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbikKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgcmV0dXJuIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi0+ZXhpc3RpbmdTZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lvbklEKTsKKyAgICByZXR1cm4gbmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLT5leGlzdGluZ1NlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7
CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRIYW5kbGVGZXRjaChjb25zdCBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCkBAIC04MSwxMiArODIsMTQgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNob3VsZEhhbmRsZUZldGNoKGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0
aW9ucykKIAogdm9pZCBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmhhbmRsZUZldGNoKFJlc291
cmNlTG9hZGVyJiBsb2FkZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBzaG91bGRD
bGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0
Y2g6OkNhbGxiYWNrJiYgY2FsbGJhY2spCiB7CisgICAgQVNTRVJUX1VOVVNFRChzZXNzaW9uSUQs
IHNlc3Npb25JRCA9PSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CisKICAg
ICBpZiAoIVNjaGVtZVJlZ2lzdHJ5OjpjYW5TZXJ2aWNlV29ya2Vyc0hhbmRsZVVSTFNjaGVtZShs
b2FkZXIucmVxdWVzdCgpLnVybCgpLnByb3RvY29sKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygp
KSB8fCAhc2hvdWxkSGFuZGxlRmV0Y2gobG9hZGVyLm9wdGlvbnMoKSkpIHsKICAgICAgICAgY2Fs
bGJhY2soU2VydmljZVdvcmtlckNsaWVudEZldGNoOjpSZXN1bHQ6OlVuaGFuZGxlZCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvJiBjb25uZWN0aW9uID0gV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuc2VydmljZVdvcmtl
ckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCk7CisgICAgYXV0byYgY29ubmVjdGlvbiA9
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigp
LnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7CiAgICAgYXV0byBmZXRjaElkZW50aWZpZXIgPSBt
YWtlT2JqZWN0SWRlbnRpZmllcjxGZXRjaElkZW50aWZpZXJUeXBlPihsb2FkZXIuaWRlbnRpZmll
cigpKTsKICAgICBtX29uZ29pbmdGZXRjaFRhc2tzLmFkZChmZXRjaElkZW50aWZpZXIsIFNlcnZp
Y2VXb3JrZXJDbGllbnRGZXRjaDo6Y3JlYXRlKCp0aGlzLCBsb2FkZXIsIGZldGNoSWRlbnRpZmll
ciwgY29ubmVjdGlvbiwgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCwg
V1RGTW92ZShjYWxsYmFjaykpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAppbmRleCA1ODc0OGRjYzMxNDRjNDY0YjdhZWI4OGRhZjFjZTliOGNjOGRmOGQzLi43NTgw
YTQ5Njc0ZDhhOWM4NGNkNWQ0ZjBlNzNlNjUwOTQ3NWM3ZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xMjU0LDggKzEyNTQsOCBAQCB2b2lkIFdlYlByb2Nl
c3M6Om5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24qIGNvbm5lYwogICAgICAgICBpZiAoIWlkYkNvbm5lY3Rpb24pCiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgCi0gICAgICAgIGlmIChjb25uZWN0aW9uLT5leGlzdGluZ0lEQkNvbm5l
Y3Rpb25Ub1NlcnZlcihwYWdlLT5jb3JlUGFnZSgpLT5zZXNzaW9uSUQoKSkpIHsKLSAgICAgICAg
ICAgIEFTU0VSVChpZGJDb25uZWN0aW9uID09ICZjb25uZWN0aW9uLT5leGlzdGluZ0lEQkNvbm5l
Y3Rpb25Ub1NlcnZlcihwYWdlLT5jb3JlUGFnZSgpLT5zZXNzaW9uSUQoKSktPmNvcmVDb25uZWN0
aW9uVG9TZXJ2ZXIoKSk7CisgICAgICAgIGlmIChhdXRvKiBleGlzdGluZ0lEQkNvbm5lY3Rpb25U
b1NlcnZlciA9IGNvbm5lY3Rpb24tPmV4aXN0aW5nSURCQ29ubmVjdGlvblRvU2VydmVyKCkpIHsK
KyAgICAgICAgICAgIEFTU0VSVChpZGJDb25uZWN0aW9uID09ICZleGlzdGluZ0lEQkNvbm5lY3Rp
b25Ub1NlcnZlci0+Y29yZUNvbm5lY3Rpb25Ub1NlcnZlcigpKTsKICAgICAgICAgICAgIHBhZ2Ut
PmNvcmVQYWdlKCktPmNsZWFySURCQ29ubmVjdGlvbigpOwogICAgICAgICB9CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>