<?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>224623</bug_id>
          
          <creation_ts>2021-04-15 13:59:31 -0700</creation_ts>
          <short_desc>Early IPC messages to a WorkQueueMessageReceiver may get processed out of order</short_desc>
          <delta_ts>2022-02-01 10:07:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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=224566</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=224778</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=226547</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>
          
          <blocked>224556</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>hi</cc>
    
    <cc>jonlee</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>krassx</cc>
    
    <cc>mkwst</cc>
    
    <cc>simontaylor1</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1750765</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-15 13:59:31 -0700</bug_when>
    <thetext>Early messages to a WorkQueueMessageReceiver may get processed out of order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750832</commentid>
    <comment_count>1</comment_count>
      <attachid>426151</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-15 16:29:22 -0700</bug_when>
    <thetext>Created attachment 426151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750890</commentid>
    <comment_count>2</comment_count>
      <attachid>426171</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-15 18:56:41 -0700</bug_when>
    <thetext>Created attachment 426171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750898</commentid>
    <comment_count>3</comment_count>
      <attachid>426172</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-15 19:14:26 -0700</bug_when>
    <thetext>Created attachment 426172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750899</commentid>
    <comment_count>4</comment_count>
      <attachid>426173</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-15 19:18:26 -0700</bug_when>
    <thetext>Created attachment 426173
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751044</commentid>
    <comment_count>5</comment_count>
      <attachid>426173</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-04-16 06:16:17 -0700</bug_when>
    <thetext>Comment on attachment 426173
Patch

Looks good to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751045</commentid>
    <comment_count>6</comment_count>
      <attachid>426173</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-04-16 06:16:18 -0700</bug_when>
    <thetext>Comment on attachment 426173
Patch

Looks good to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751134</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-16 10:29:19 -0700</bug_when>
    <thetext>(In reply to Kimmo Kinnunen from comment #6)
&gt; Comment on attachment 426173 [details]
&gt; Patch
&gt; 
&gt; Looks good to me

Thanks for looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751148</commentid>
    <comment_count>8</comment_count>
      <attachid>426173</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-04-16 10:48:24 -0700</bug_when>
    <thetext>Comment on attachment 426173
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751157</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-16 11:02:55 -0700</bug_when>
    <thetext>Committed r276145 (236638@main): &lt;https://commits.webkit.org/236638@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426173.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753947</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-24 15:09:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/77110124&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770707</commentid>
    <comment_count>11</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-06-17 10:08:05 -0700</bug_when>
    <thetext>*** Bug 226547 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836037</commentid>
    <comment_count>12</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-01 10:07:58 -0800</bug_when>
    <thetext>*** Bug 171049 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426151</attachid>
            <date>2021-04-15 16:29:22 -0700</date>
            <delta_ts>2021-04-15 19:49:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224623-20210415162921.patch</filename>
            <type>text/plain</type>
            <size>20902</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM4OTYwODZkODZjNTlmOTZh
OTU5OGM3MWY5M2ZmMTc1ZTM1YzE3YzYuLmRiYTEyZTVmZDZlYTY3OGM3ZmI1ZWFiNjUxNWI1MGNh
YTk4Y2RiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTQgQEAKKzIwMjEtMDQtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFYXJseSBJUEMgbWVzc2FnZXMgdG8g
YSBXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIgbWF5IGdldCBwcm9jZXNzZWQgb3V0IG9mIG9yZGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ2MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMjI0
NTY2IGV4cG9zZWQgYW4gaXNzdWUgd2hlcmUgZWFybHkgSVBDIGJlaW5nIHNlbnQgdG8gV29ya1F1
ZXVlTWVzc2FnZVJlY2VpdmVyIG1pZ2h0IGdldCByZWNlaXZlZAorICAgICAgICBvdXQgb2Ygb3Jk
ZXIuIFRoZSByZWFzb24gYmVoaW5kIGl0IGlzIHRoYXQgdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNl
aXZlciByZWdpc3RlcnMgaXRzZWxmIG9uIHRoZSBtYWluCisgICAgICAgIHRocmVhZCB3aGlsZSB3
ZSByZWNlaXZlIHRoZSBJUEMgb24gdGhlIElQQyB0aHJlYWQuIFdoZW4gd2UgcmVjZWl2ZSB0aGUg
SVBDIG9uIHRoZSBJUEMgdGhyZWFkLCB3ZSBjaGVjaworICAgICAgICBpZiB0aGVyZSBpcyBhIFdv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciBmb3IgaXQgYW5kIGlmIHRoZXJlIGlzLCB3ZSBkaXNwYXRj
aCB0aGUgbWVzc2FnZSBzdHJhaWdodCB0byBpdHMKKyAgICAgICAgV29ya1F1ZXVlLiBIb3dldmVy
LCBpZiB0aGUgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNl
bGYgeWV0IG9uIHRoZSBtYWluIHRocmVhZCwKKyAgICAgICAgd2UgaG9wIHRvIHRoZSBtYWluIHRo
cmVhZCBmaXJzdCwgYmVmb3JlIGRpc3BhdGNoaW5nIHRoZSBJUEMgYmFjayB0byB0aGUgcmVjZWl2
ZXIncyBXb3JrUXVldWUuIFRoZQorICAgICAgICBleHRyYSBob3AgdG8gdGhlIG1haW4gdGhyZWFk
IG1lYW5zIHRoYXQgMiBJUEMgbWVzc2FnZXMgdG8gdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
ciBzZW50IG9uZSBhZnRlcgorICAgICAgICB0aGUgb3RoZXIgbWF5IGdldCBkaXNwYXRjaGVkIG9u
IHRoZSBXb3JrUXVldWUgaW4gYW4gaW5jb25zaXN0ZW50IG9yZGVyLCBpZiB0aGUgV29ya1F1ZXVl
TWVzc2FnZVJlY2VpdmVyCisgICAgICAgIHJlZ2lzdGVycyBpdHNlbGYgYXMgYSByZWNlaXZlciBp
biBiZXR3ZWVuIHRoZSAyIElQQyBtZXNzYWdlcy4KKworICAgICAgICBXZSBhY3R1YWxseSB3ZXJl
IHRyeWluZyB0byBkZWFsIHdpdGggdGhpcyBpc3N1ZSBpbiBDb25uZWN0aW9uOjphZGRXb3JrUXVl
dWVNZXNzYWdlUmVjZWl2ZXIoKS4gV2hlbgorICAgICAgICB0aGUgV29ya1F1ZXVlTWVzc2FnZVJl
Y2VpdmVyIHdvdWxkIHJlZ2lzdGVyIGl0c2VsZiBvbiB0aGUgbWFpbiB0aHJlYWQsIHdlIHdvdWxk
IGdyYWIgdGhlIGluY29taW5nTWVzc2FnZXMKKyAgICAgICAgbG9jayBhbmQgY2hlY2sgbV9pbmNv
bWluZ01lc3NhZ2VzIGZvciBtZXNzYWdlcyB0aGF0IHNob3VsZCBiZSBkaXNwYXRjaGVkIHRvIHRo
ZSBXb3JrUXVldWUuIFRob3NlIGFyZQorICAgICAgICBhc3luYyBtZXNzYWdlcyB0aGF0IHNob3Vs
ZCBoYXZlIGJlZW4gZGlzcGF0Y2hlZCBzdHJhaWdodCB0byB0aGUgV29ya1F1ZXVlIG9uIHRoZSBJ
UEMgdGhyZWFkIGJ1dCBkaWRuJ3QKKyAgICAgICAgYmVjYXVzZSB0aGUgV29ya1F1ZXVlTWVzc2Fn
ZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNlbGYgeWV0LgorCisgICAgICAgIEhvd2V2
ZXIsIHRoaXMgbG9naWMgaW4gQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVy
KCkgd2FzIGluc3VmZmljaWVudCBiZWNhdXNlIGl0IG9ubHkgY2hlY2tlZAorICAgICAgICBtX2lu
Y29taW5nTWVzc2FnZXMuIG1faW5jb21pbmdNZXNzYWdlcyBvbmx5IGNvbnRhaW5zIGFzeW5jIG1l
c3NhZ2VzLiBTeW5jIG1lc3NhZ2VzIChhbmQgc3BlY2lhbCBhc3luYworICAgICAgICBtZXNzYWdl
cyB3aXRoIHRoZSBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGlu
Z0ZvclN5bmNSZXBseSBmbGFnKSBhcmUgc3RvcmVkIGluCisgICAgICAgIENvbm5lY3Rpb246OlN5
bmNNZXNzYWdlU3RhdGU6Om1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1Jl
cGx5LiBUaGlzIGlzIHdoYXQgd2FzIGNhdXNpbmcKKyAgICAgICAgQnVnIDIyNDU2NiBzaW5jZSBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkncyBDcmVhdGVJbWFnZUJ1ZmZlciBJUEMgd2FzIGFz
eW5jIHdpdGggdGhlCisgICAgICAgIERpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5
bmNSZXBseSBmbGFnIGFuZCBpdHMgR2V0RGF0YVVSTEZvckltYWdlQnVmZmVyIHdhcyBzeW5jaHJv
bm91cy4gVGhlCisgICAgICAgIG9yZGVyaW5nIG9mIHRoZXNlIDIgSVBDIG1lc3NhZ2VzIGNvdWxk
IGdldCByZXZlcnNlZCBhbmQgaXQgd291bGQgY2F1c2UgY29ycmVjdG5lc3MgaXNzdWVzIGFuZCBm
bGFreQorICAgICAgICBjcmFzaGVzLgorCisgICAgICAgIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCBJ
IHVwZGF0ZWQgQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgdG8gYXNr
IHRoZQorICAgICAgICBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRz
IG1hdGNoaW5nIG1lc3NhZ2VzIHRvIHRoZSBXb3JrUXVldWUuIFRoZXJlIHdhcyBvbmUgaXNzdWUK
KyAgICAgICAgdGhvdWdoIGJlY2F1c2UgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlz
cGF0Y2hNZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9yQ29ubmVj
dGlvbigpCisgICAgICAgIHdhcyB0YWtpbmcgbWVzc2FnZXMgb3V0IG9mIG1fbWVzc2FnZXNUb0Rp
c3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IGFuZCBzdG9yaW5nIHRoZW0gaW4gYSBsb2Nh
bAorICAgICAgICBjb250YWluZXIgYW5kIHRoZW4gaXRlcmF0aW5nIG92ZXIgdGhpcyBjb250YWlu
ZXIgdG8gZGlzcGF0Y2ggdGhlIG1lc3NhZ2VzLiBUaGUgZGlzcGF0Y2hpbmcgb2Ygb25lCisgICAg
ICAgIG9mIHRoZXNlIG1lc3NhZ2VzIGNvdWxkIGNhdXNlIGEgV29ya1F1ZXVlTWVzc2FnZVJlY2Vp
dmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiAoY2FsbCBhZGRXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIo
KSkuCisgICAgICAgIFdoZW4gdGhpcyB3b3VsZCBoYXBwZW4sIGFkZFdvcmtRdWV1ZU1lc3NhZ2VS
ZWNlaXZlcigpIHdvdWxkIHRyeSBhbmQgZW5xdWV1ZSBtYXRjaGluZyBtZXNzYWdlcyBpbgorICAg
ICAgICBtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSBhbmQgd291
bGQgbWlzcyB0aGUgbWVzc2FnZXMgaW4gdGhlIGxvY2FsIGNvbnRhaW5lcgorICAgICAgICB0aGF0
IGRpc3BhdGNoTWVzc2FnZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNv
bm5lY3Rpb24oKSBpcyBjdXJyZW50bHkgaXRlcmF0aW5nIG9uLgorICAgICAgICBUbyBhZGRyZXNz
IHRoaXMgaXNzdWUsIEkgaW50cm9kdWNlZCBhIG5ldyBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVk
IGRhdGEgbWVtYmVyIGFuZCB1c2VkIHRoYXQgdG8KKyAgICAgICAgc3RvcmUgdGhlIG1lc3NhZ2Vz
IGJlaW5nIGRpc3BhdGNoZWQgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY29udGFpbmVyLiBBcyBhIHJl
c3VsdCwKKyAgICAgICAgYWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgY2FuIG5vdyBlbnF1
ZXVlIHRoZSBtZXNzYWdlcyBpbiBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkIGZpcnN0IGFuZAor
ICAgICAgICB0aGVuIGVucXVldWUgdGhlIG9uZXMgaW4gbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGls
ZVdhaXRpbmdGb3JTeW5jUmVwbHkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjplbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlv
bik6CisgICAgICAgIFJldmVydCByMjc2MDA3IHRoYXQgd2FzIGNvbW1pdHRlZCBhcyBhIHRlbXBv
cmFyeSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1Zy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0
ZTo6ZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMpOgorICAgICAgICBBZGQgdXRpbGl0eSBmdW5jdGlv
biB0byBTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRzIG1hdGNoaW5nIG1lc3NhZ2VzIGlu
IG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQKKyAgICAgICAgYW5kIG1fbWVzc2FnZXNUb0Rpc3Bh
dGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IHRvIHRoZSBwcm92aWRlZCBNZXNzYWdlUmVjZWl2
ZVF1ZXVlLiBUaGlzIGlzIGNhbGxlZAorICAgICAgICBieSBDb25uZWN0aW9uOjphZGRNZXNzYWdl
UmVjZWl2ZVF1ZXVlKCkuIFRoZSBsb2dpYyBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gdGhlIGV4
aXN0aW5nCisgICAgICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzIGZyZWUgZnVuY3Rpb24gYnV0
IHdvcmtzIG9uIGEgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gaW5zdGVhZCBv
ZgorICAgICAgICBhIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4uCisKKyAgICAgICAg
KElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlzcGF0Y2hNZXNzYWdlcyk6Cisg
ICAgICAgIChJUEM6OkNvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmRpc3BhdGNoTWVzc2Fn
ZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNvbm5lY3Rpb24pOgorICAg
ICAgICBVc2UgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCBpbnN0ZWFkIG9mIGEgbG9jYWwgY29u
dGFpbmVyIHRvIHN0b3JlIHRoZSBtZXNzYWdlcyB3ZSBhcmUgYWJvdXQgdG8KKyAgICAgICAgZGlz
cGF0Y2guIFRoaXMgYWxsb3dzIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKCkgdG8gY2hlY2sgdGhv
c2UgbWVzc2FnZXMgdG8gc2VlIGlmIHRoZXkgc2hvdWxkIGJlCisgICAgICAgIGRpc3BhdGNoZWQg
dG8gYSBNZXNzYWdlUmVjZWl2ZVF1ZXVlLiBXZSBhbHNvIG5lZWQgdG8gbWFrZSBzdXJlIHdlIGRv
bid0IGl0ZXJhdGUgb3ZlcgorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkIHRvIGNh
bGwgZGlzcGF0Y2goKSBvbiB0aGUgbWVzc2FnZXMuIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2Ug
YW55IG1lc3NhZ2UKKyAgICAgICAgZGlzcGF0Y2ggbWF5IGNhdXNlIGEgV29ya1F1ZXVlTWVzc2Fn
ZVJlY2VpdmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiwgd2hpY2ggd291bGQgY2FsbAorICAgICAgICBl
bnF1ZXVlTWF0Y2hpbmdNZXNzYWdlcygpIGFuZCBwb3RlbnRpYWxseSBleHRyYWN0IG1hdGNoaW5n
IG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZC4KKyAgICAgICAgRm9yIHRo
aXMgcmVhc29uLCB3ZSB0YWtlIG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hl
ZCBvbmUgYnkgb25lLCB1bnRpbCB0aGUgY29udGFpbmVyCisgICAgICAgIGJlY29tZXMgZW1wdHku
CisKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6YWRkTWVzc2FnZVJlY2VpdmVRdWV1ZSk6Cisg
ICAgICAgIFRoaXMgdXNlZCB0byBvbmx5IGNoZWNrIG1faW5jb21pbmdNZXNzYWdlcyBmb3IgbWF0
Y2hpbmcgbWVzc2FnZXMgdGhhdCBzaG91bGQgYmUgZW5xdWV1ZWQgb24gdGhlCisgICAgICAgIE1l
c3NhZ2VSZWNlaXZlUXVldWUgaW4gb3JkZXIgdG8gcHJlc2VydmUgSVBDIG9yZGVyaW5nLiBUaGlz
IHdhcyBpbnN1ZmZpY2llbnQgYmVjYXVzZSBpdCB3b3VsZCBmYWlsCisgICAgICAgIHRvIGNvbnNp
ZGVyIHN5bmMgSVBDIG1lc3NhZ2VzIChvciBhc3luYyBJUEMgbWVzc2FnZXMgd2l0aCB0aGUKKyAg
ICAgICAgSVBDOjpTZW5kT3B0aW9uOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JT
eW5jUmVwbHkgZmxhZykuIFNpbmNlIHRob3NlIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUKKyAgICAg
ICAgY29udGFpbmVycyBpbiBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlLCB3ZSBub3cgYWxz
byBjYWxsCisgICAgICAgIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmVucXVldWVNYXRj
aGluZ01lc3NhZ2VzKCkgdG8gZW5xdWV1ZSB0aG9zZSBtZXNzYWdlcyBhbmQgcHJlc2VydmUgdGhl
aXIKKyAgICAgICAgb3JkZXJpbmcgdG9vLiBUaGlzIGZpeGVzIElQQyBvcmRlcmluZyBidWcgaWRl
bnRpZmllZCB2aWEgQnVnIDIyNDU2Ni4KKworICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjphZGRX
b3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjphZGRU
aHJlYWRNZXNzYWdlUmVjZWl2ZXIpOgorICAgICAgICBIYXZlIHRoZXNlIGNhbGwgdGhlIGdlbmVy
aWMgYWRkTWVzc2FnZVJlY2VpdmVRdWV1ZSgpIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb24uIFRo
ZSBvbmx5IGRyYXdiYWNrCisgICAgICAgIGlzIHRoYXQgd2Ugbm93IGRvIHZpcnR1YWwgTWVzc2Fn
ZVJlY2VpdmVRdWV1ZTo6ZW5xdWV1ZU1lc3NhZ2UoKSBjYWxscyB0byBlbnF1ZXVlIG1lc3NhZ2Vz
IHRvCisgICAgICAgIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlclF1ZXVlIC8gVGhyZWFkTWVzc2Fn
ZVJlY2VpdmVyUXVldWUgaW5zdGVhZCBvZiBjYWxsaW5nIHRoZSBmaW5hbCBlbnF1ZXVlTWVzc2Fn
ZSgpCisgICAgICAgIGZ1bmN0aW9uIG9mIHRoZSBzdWJjbGFzc2VzLiBUaGF0IHNhaWQsIEkgZG9u
J3QgdGhpbmsgYXZvaWRpbmcgdGhlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbCBpcyB2ZXJ5CisgICAg
ICAgIHZhbHVhYmxlIGhlcmUgc2luY2Ugd2UgZG9uJ3QgcmVnaXN0ZXIgbWVzc2FnZSByZWNlaXZl
ciB2ZXJ5IG9mdGVuIGFuZCB0aGVuIG9ubHkgaGF2ZSBhIGZldyBlYXJseSBtZXNzYWdlcworICAg
ICAgICBhdCBtb3N0IHRvIGVucXVldWUuCisKIDIwMjEtMDQtMTUgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBBZGQgc3VwcG9ydCBm
b3IgIm5leHRIb3BQcm90b2NvbCIgZm9yIFJlc291cmNlIFRpbWluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4
IDE2ZDExYzkyYjNmMjBjYWUxZTAwYjAyNThhMTFhNjM3YjNhMjFmZDYuLjQ0MWFiMWM2ZTc2YmVi
MTdlNjU1MWJmYjQ5NzI5OGQ2NzU0MzY5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTM2MiwxMyArMzYy
LDEyIEBAIFJlbW90ZUltYWdlRGVjb2RlckFWRlByb3h5JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjppbWFnZURlY29kZXJBVkZQcm94eSgpCiB9CiAjZW5kaWYKIAotdm9pZCBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRDcmVhdGlvblBhcmFtZXRlcnMmJiBjcmVhdGlvblBhcmFtZXRlcnMsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6Y3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
Q3JlYXRpb25QYXJhbWV0ZXJzJiYgY3JlYXRpb25QYXJhbWV0ZXJzKQogewogICAgIGF1dG8gYWRk
UmVzdWx0ID0gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwLmVuc3VyZShjcmVhdGlvblBhcmFt
ZXRlcnMuaWRlbnRpZmllciwgWyZdKCkgewogICAgICAgICByZXR1cm4gSVBDOjpTY29wZWRBY3Rp
dmVNZXNzYWdlUmVjZWl2ZVF1ZXVlIHsgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRlKCp0
aGlzLCBXVEZNb3ZlKGNyZWF0aW9uUGFyYW1ldGVycykpIH07CiAgICAgfSk7CiAgICAgQVNTRVJU
X1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKLSAgICBjb21wbGV0aW9u
SGFuZGxlcigpOwogfQogCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbGVhc2VS
ZW5kZXJpbmdCYWNrZW5kKFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tl
bmRJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggYWVhYTMxMzAwZWNkZTVhMTUzNGI0Y2Q5NDk4ZjQ5
NWYzMzUzYmE2Yi4uZjJkZDk1MDJhYmUzNmEwMGM3MWUyODc2MzYwYjhiMmNlZjA0Zjg5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKLSAg
ICB2b2lkIGNyZWF0ZVJlbmRlcmluZ0JhY2tlbmQoUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0
aW9uUGFyYW1ldGVycyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAgIHZvaWQg
Y3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJh
bWV0ZXJzJiYpOwogICAgIHZvaWQgcmVsZWFzZVJlbmRlcmluZ0JhY2tlbmQoUmVuZGVyaW5nQmFj
a2VuZElkZW50aWZpZXIpOwogCiAjaWYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCA4ZDFkYWY4NmRkYzI0ZmE4Y2ViOTJiMGU0Nzc4MWE2Y2UyOGI5MjYzLi43
NzQ1NThlMTA3NTM3YTgyMWYxNjBlZDMzYzZmOTU5ZjcwZmU4ZjNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtMjMsNyArMjMsNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykK
IAogbWVzc2FnZXMgLT4gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBXYW50c0Rpc3BhdGNoTWVz
c2FnZSB7Ci0gICAgdm9pZCBDcmVhdGVSZW5kZXJpbmdCYWNrZW5kKHN0cnVjdCBXZWJLaXQ6OlJl
bW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMgY3JlYXRpb25QYXJhbWV0ZXJz
KSAtPiAoKSBTeW5jaHJvbm91cworICAgIHZvaWQgQ3JlYXRlUmVuZGVyaW5nQmFja2VuZChzdHJ1
Y3QgV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzIGNyZWF0
aW9uUGFyYW1ldGVycykKICAgICB2b2lkIFJlbGVhc2VSZW5kZXJpbmdCYWNrZW5kKFdlYktpdDo6
UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpCiAj
aWYgRU5BQkxFKFdFQkdMKQogICAgIHZvaWQgQ3JlYXRlR3JhcGhpY3NDb250ZXh0R0woc3RydWN0
IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBXZWJLaXQ6
OkdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllciBncmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIs
IFdlYktpdDo6UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZElkZW50
aWZpZXIsIElQQzo6U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciBzdHJlYW0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IDcxZjgzMjQ4ZTI4OTlhMTQ5OWQ2NGQ4
OTZjMjA3MTVmN2E5MzEzZGYuLjRiODViOTMxODhhMTcxOTBkZTY1ZGYxMDk0MDYwMTY3YzMxMjc3
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBAIC05Myw2
ICs5Myw5IEBAIHB1YmxpYzoKICAgICAvLyBEaXNwYXRjaCBwZW5kaW5nIHN5bmMgbWVzc2FnZXMu
CiAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VzKCk7CiAKKyAgICAvLyBBZGQgbWF0Y2hpbmcgcGVu
ZGluZyBtZXNzYWdlcyB0byB0aGUgcHJvdmlkZWQgTWVzc2FnZVJlY2VpdmVRdWV1ZS4KKyAgICB2
b2lkIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mLCBNZXNzYWdlUmVjZWl2ZVF1
ZXVlJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKKwogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgTGF6eU5ldmVyRGVzdHJveWVkPENvbm5lY3Rpb246OlN5bmNNZXNz
YWdlU3RhdGU+OwogICAgIFN5bmNNZXNzYWdlU3RhdGUoKSA9IGRlZmF1bHQ7CkBAIC0xMTcsNyAr
MTIwLDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGNvbm5lY3Rpb24tPmRpc3BhdGNoTWVzc2Fn
ZShXVEZNb3ZlKG1lc3NhZ2UpKTsKICAgICAgICAgfQogICAgIH07Ci0gICAgVmVjdG9yPENvbm5l
Y3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5n
Rm9yU3luY1JlcGx5OworICAgIERlcXVlPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1f
bWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQ7IC8vIE9ubHkgdXNlZCBvbiB0aGUgbWFpbiB0aHJlYWQu
CisgICAgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbV9tZXNzYWdlc1RvRGlz
cGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHk7CiB9OwogCiBDb25uZWN0aW9uOjpTeW5jTWVz
c2FnZVN0YXRlJiBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQpAQCAt
MTMyLDYgKzEzNiwyNCBAQCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlJiBDb25uZWN0aW9u
OjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQogICAgIHJldHVybiBzeW5jTWVzc2FnZVN0
YXRlOwogfQogCit2b2lkIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmVucXVldWVNYXRj
aGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIE1lc3NhZ2VSZWNlaXZlUXVldWUm
IHJlY2VpdmVRdWV1ZSwgUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCkKK3sKKyAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKKyAgICBhdXRvIGVucXVl
dWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIgPSBbJl0oRGVxdWU8Q29ubmVjdGlvbkFuZElu
Y29taW5nTWVzc2FnZT4mIGNvbm5lY3Rpb25BbmRNZXNzYWdlcykgeworICAgICAgICBEZXF1ZTxD
b25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiByZXN0OworICAgICAgICBmb3IgKGF1dG8mIGNv
bm5lY3Rpb25BbmRNZXNzYWdlIDogY29ubmVjdGlvbkFuZE1lc3NhZ2VzKSB7CisgICAgICAgICAg
ICBpZiAoY29ubmVjdGlvbkFuZE1lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSA9PSAmY29ubmVjdGlv
biAmJiBjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gcmVjZWl2ZXJOYW1lICYmIChjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNzYWdlLT5kZXN0aW5h
dGlvbklEKCkgPT0gZGVzdGluYXRpb25JRCB8fCAhZGVzdGluYXRpb25JRCkpCisgICAgICAgICAg
ICAgICAgcmVjZWl2ZVF1ZXVlLmVucXVldWVNZXNzYWdlKGNvbm5lY3Rpb24sIFdURk1vdmUoY29u
bmVjdGlvbkFuZE1lc3NhZ2UubWVzc2FnZSkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIHJlc3QuYXBwZW5kKFdURk1vdmUoY29ubmVjdGlvbkFuZE1lc3NhZ2UpKTsKKyAgICAg
ICAgfQorICAgICAgICBjb25uZWN0aW9uQW5kTWVzc2FnZXMgPSBXVEZNb3ZlKHJlc3QpOworICAg
IH07CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX211dGV4KTsKKyAgICBlbnF1ZXVlTWF0
Y2hpbmdNZXNzYWdlc0luQ29udGFpbmVyKG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQpOworICAg
IGVucXVldWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIobV9tZXNzYWdlc1RvRGlzcGF0Y2hX
aGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOworfQorCiBib29sIENvbm5lY3Rpb246OlN5bmNNZXNz
YWdlU3RhdGU6OnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+JiBtZXNzYWdlKQogewogICAgIHN3aXRjaCAobWVzc2Fn
ZS0+c2hvdWxkRGlzcGF0Y2hNZXNzYWdlV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoKSkgewpAQCAt
MTczLDQxICsxOTUsNDEgQEAgdm9pZCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpkaXNw
YXRjaE1lc3NhZ2VzKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAg
VmVjdG9yPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2VzVG9EaXNwYXRjaFdo
aWxlV2FpdGluZ0ZvclN5bmNSZXBseTsKICAgICB7CiAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2sobV9tdXRleCk7Ci0gICAgICAgIG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5n
Rm9yU3luY1JlcGx5LnN3YXAobWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1Jl
cGx5KTsKKyAgICAgICAgaWYgKG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCA9IHN0ZDo6ZXhjaGFuZ2UobV9t
ZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHksIHsgfSk7CisgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgd2hpbGUgKCFtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2Fp
dGluZ0ZvclN5bmNSZXBseS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgbV9tZXNzYWdlc0Jl
aW5nRGlzcGF0Y2hlZC5hcHBlbmQobV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JT
eW5jUmVwbHkudGFrZUxhc3QoKSk7CisgICAgICAgIH0KICAgICB9CiAKLSAgICBmb3IgKGF1dG8m
IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdh
aXRpbmdGb3JTeW5jUmVwbHkpCi0gICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2Uu
ZGlzcGF0Y2goKTsKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0
eSgpKQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VGaXJzdCgpLmRpc3Bh
dGNoKCk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlzcGF0Y2hN
ZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9yQ29ubmVjdGlvbihD
b25uZWN0aW9uJiBjb25uZWN0aW9uKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7
CiAKLSAgICBWZWN0b3I8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbWVzc2FnZXNUb0Rp
c3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5OwogICAgIHsKICAgICAgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX211dGV4KTsKICAgICAgICAgQVNTRVJUKG1fZGlkU2NoZWR1bGVEaXNw
YXRjaE1lc3NhZ2VzV29ya1NldC5jb250YWlucygmY29ubmVjdGlvbikpOwogICAgICAgICBtX2Rp
ZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc1dvcmtTZXQucmVtb3ZlKCZjb25uZWN0aW9uKTsKLSAg
ICAgICAgbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkuc3dhcCht
ZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOwotICAgIH0KLQotICAg
IFZlY3RvcjxDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiBtZXNzYWdlc1RvUHV0QmFjazsK
LSAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdlc1Rv
RGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpIHsKLSAgICAgICAgaWYgKCZjb25uZWN0
aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSkKLSAg
ICAgICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuZGlzcGF0Y2goKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbWVzc2FnZXNUb1B1dEJhY2suYXBwZW5kKFdURk1vdmUoY29u
bmVjdGlvbkFuZEluY29taW5nTWVzc2FnZSkpOwotICAgIH0KLQotICAgIGlmICghbWVzc2FnZXNU
b1B1dEJhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9t
dXRleCk7Ci0gICAgICAgIG1lc3NhZ2VzVG9QdXRCYWNrLmFwcGVuZFZlY3RvcihXVEZNb3ZlKG1f
bWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5KSk7CisgICAgICAgIEFT
U0VSVChtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmlzRW1wdHkoKSk7CisgICAgICAgIERlcXVl
PENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2VzVG9QdXRCYWNrOworICAgICAg
ICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtX21lc3NhZ2VzVG9E
aXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSkgeworICAgICAgICAgICAgaWYgKCZjb25u
ZWN0aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSkK
KyAgICAgICAgICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmFwcGVuZChXVEZNb3Zl
KGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBtZXNzYWdlc1RvUHV0QmFjay5hcHBlbmQoV1RGTW92ZShjb25uZWN0aW9uQW5k
SW5jb21pbmdNZXNzYWdlKSk7CisgICAgICAgIH0KICAgICAgICAgbV9tZXNzYWdlc1RvRGlzcGF0
Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkgPSBXVEZNb3ZlKG1lc3NhZ2VzVG9QdXRCYWNrKTsK
ICAgICB9CisKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0eSgp
KQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VGaXJzdCgpLmRpc3BhdGNo
KCk7CiB9CiAKIC8vIFJlcHJlc2VudHMgYSBzeW5jIHJlcXVlc3QgZm9yIHdoaWNoIHdlJ3JlIHdh
aXRpbmcgb24gYSByZXBseS4KQEAgLTMyMCw0MSArMzQyLDQxIEBAIHZvaWQgQ29ubmVjdGlvbjo6
c2V0U2hvdWxkRXhpdE9uU3luY01lc3NhZ2VTZW5kRmFpbHVyZShib29sIHNob3VsZEV4aXRPblN5
bmNNZXNzCiB9CiAKIG5hbWVzcGFjZSB7Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLURlcXVlPHN0
ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4gZmlsdGVyV2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoQ29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgVCYgcmVjZWl2ZVF1ZXVlLCBSZWNlaXZlck5hbWUgcmVjZWl2
ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RGVj
b2Rlcj4+JiYgaW5jb21pbmdNZXNzYWdlcykKK3ZvaWQgZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMo
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgTWVzc2FnZVJlY2VpdmVRdWV1ZSYgcmVjZWl2ZVF1ZXVl
LCBSZWNlaXZlck5hbWUgcmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBEZXF1
ZTxzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4+JiBtZXNzYWdlcykKIHsKICAgICBEZXF1ZTxzdGQ6
OnVuaXF1ZV9wdHI8RGVjb2Rlcj4+IHJlc3Q7Ci0gICAgZm9yIChhdXRvJiBtZXNzYWdlIDogaW5j
b21pbmdNZXNzYWdlcykgeworICAgIGZvciAoYXV0byYgbWVzc2FnZSA6IG1lc3NhZ2VzKSB7CiAg
ICAgICAgIGlmIChtZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gcmVjZWl2ZXJOYW1l
ICYmIChtZXNzYWdlLT5kZXN0aW5hdGlvbklEKCkgPT0gZGVzdGluYXRpb25JRCB8fCAhZGVzdGlu
YXRpb25JRCkpCiAgICAgICAgICAgICByZWNlaXZlUXVldWUuZW5xdWV1ZU1lc3NhZ2UoY29ubmVj
dGlvbiwgV1RGTW92ZShtZXNzYWdlKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJlc3Qu
YXBwZW5kKFdURk1vdmUobWVzc2FnZSkpOwogICAgIH0KLSAgICByZXR1cm4gcmVzdDsKKyAgICBt
ZXNzYWdlcyA9IFdURk1vdmUocmVzdCk7CiB9CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6YWRkTWVz
c2FnZVJlY2VpdmVRdWV1ZShNZXNzYWdlUmVjZWl2ZVF1ZXVlJiByZWNlaXZlUXVldWUsIFJlY2Vp
dmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpCiB7Ci0gICAgYXV0
byBsb2NrZXIgPSBob2xkTG9jayhtX2luY29taW5nTWVzc2FnZXNNdXRleCk7Ci0gICAgbV9pbmNv
bWluZ01lc3NhZ2VzID0gZmlsdGVyV2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsIHJlY2Vp
dmVRdWV1ZSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklELCBXVEZNb3ZlKG1faW5jb21pbmdN
ZXNzYWdlcykpOworICAgIGF1dG8gaW5jb21pbmdNZXNzYWdlc0xvY2tlciA9IGhvbGRMb2NrKG1f
aW5jb21pbmdNZXNzYWdlc011dGV4KTsKKworICAgIC8vIEVucXVldWUgYW55IHBlbmRpbmcgbWVz
c2FnZSB0byB0aGUgTWVzc2FnZVJlY2VpdmVRdWV1ZSB0aGF0IGlzIG1lYW50IHRvIGdvIG9uIHRo
YXQgcXVldWUuIFRoaXMgaXMgaW1wb3J0YW50IHRvIG1haW50YWluIHRoZSBvcmRlcmluZyBvZgor
ICAgIC8vIElQQyBtZXNzYWdlcyBhcyBzb21lIG1lc3NhZ2VzIG1heSBnZXQgcmVjZWl2ZWQgb24g
dGhlIElQQyB0aHJlYWQgYmVmb3JlIHRoZSBtZXNzYWdlIHJlY2VpdmVyIHJlZ2lzdGVyZWQgaXRz
ZWxmIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICBTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24o
KS5lbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlcygqdGhpcywgcmVjZWl2ZVF1ZXVlLCByZWNlaXZlck5h
bWUsIGRlc3RpbmF0aW9uSUQpOworICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKCp0aGlzLCBy
ZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCwgbV9pbmNvbWluZ01lc3Nh
Z2VzKTsKKwogICAgIG1fcmVjZWl2ZVF1ZXVlcy5hZGQocmVjZWl2ZVF1ZXVlLCByZWNlaXZlck5h
bWUsIGRlc3RpbmF0aW9uSUQpOwogfQogCiB2b2lkIENvbm5lY3Rpb246OmFkZFdvcmtRdWV1ZU1l
c3NhZ2VSZWNlaXZlcihSZWNlaXZlck5hbWUgcmVjZWl2ZXJOYW1lLCBXb3JrUXVldWUmIHdvcmtR
dWV1ZSwgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKiByZWNlaXZlciwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCkKIHsKICAgICBhdXRvIHJlY2VpdmVRdWV1ZSA9IG1ha2VVbmlxdWU8V29ya1F1ZXVl
TWVzc2FnZVJlY2VpdmVyUXVldWU+KHdvcmtRdWV1ZSwgKnJlY2VpdmVyKTsKLSAgICBhdXRvIGxv
Y2tlciA9IGhvbGRMb2NrKG1faW5jb21pbmdNZXNzYWdlc011dGV4KTsKLSAgICBtX2luY29taW5n
TWVzc2FnZXMgPSBmaWx0ZXJXaXRoTWVzc2FnZVJlY2VpdmVRdWV1ZSgqdGhpcywgKnJlY2VpdmVR
dWV1ZSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklELCBXVEZNb3ZlKG1faW5jb21pbmdNZXNz
YWdlcykpOwotICAgIG1fcmVjZWl2ZVF1ZXVlcy5hZGQoV1RGTW92ZShyZWNlaXZlUXVldWUpLCBy
ZWNlaXZlck5hbWUsIGRlc3RpbmF0aW9uSUQpOworICAgIGFkZE1lc3NhZ2VSZWNlaXZlUXVldWUo
KnJlY2VpdmVRdWV1ZSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklEKTsKIH0KIAogdm9pZCBD
b25uZWN0aW9uOjphZGRUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoUmVjZWl2ZXJOYW1lIHJlY2VpdmVy
TmFtZSwgVGhyZWFkTWVzc2FnZVJlY2VpdmVyKiByZWNlaXZlciwgdWludDY0X3QgZGVzdGluYXRp
b25JRCkKIHsKICAgICBhdXRvIHJlY2VpdmVRdWV1ZSA9IG1ha2VVbmlxdWU8VGhyZWFkTWVzc2Fn
ZVJlY2VpdmVyUXVldWU+KCpyZWNlaXZlcik7Ci0gICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayht
X2luY29taW5nTWVzc2FnZXNNdXRleCk7Ci0gICAgbV9pbmNvbWluZ01lc3NhZ2VzID0gZmlsdGVy
V2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsICpyZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFt
ZSwgZGVzdGluYXRpb25JRCwgV1RGTW92ZShtX2luY29taW5nTWVzc2FnZXMpKTsKLSAgICBtX3Jl
Y2VpdmVRdWV1ZXMuYWRkKFdURk1vdmUocmVjZWl2ZVF1ZXVlKSwgcmVjZWl2ZXJOYW1lLCBkZXN0
aW5hdGlvbklEKTsKKyAgICBhZGRNZXNzYWdlUmVjZWl2ZVF1ZXVlKCpyZWNlaXZlUXVldWUsIHJl
Y2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6cmVtb3Zl
TWVzc2FnZVJlY2VpdmVRdWV1ZShSZWNlaXZlck5hbWUgcmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBk
ZXN0aW5hdGlvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCmlu
ZGV4IDVkYzQyYTYzMjIxYjE1Y2Y0Nzg0YTZlNmE3YzA3NmQ4ZWFlMWQ1YTcuLmQwZGNhNjNkMmQ5
ODNkNzIyYjVhOTEyYTdiNTUzNDEyMDIwOTUyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eS5jcHAKQEAgLTc1LDEwICs3NSw3IEBAIEdQVVByb2Nlc3NDb25uZWN0aW9u
JiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9u
KCkKICAgICAgICAgYXV0byYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24gPSBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpOwogICAgICAgICBncHVQcm9jZXNz
Q29ubmVjdGlvbi5hZGRDbGllbnQoKnRoaXMpOwogICAgICAgICBncHVQcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90
ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCByZW5kZXJpbmdC
YWNrZW5kSWRlbnRpZmllcigpLnRvVUludDY0KCksICp0aGlzKTsKLSAgICAgICAgLy8gVGhpcyBt
ZXNzYWdlIGlzIHN5bmNocm9ub3VzIHRvIGVuc3VyZSB0aGF0IHRoZSBSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kIGhhcyBiZWVuIGNyZWF0ZWQgYW5kIGhhcyByZWdpc3RlcmVkIGl0c2VsZiBhcyBhIFdv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciBiZWZvcmUgd2Ugc2VuZCBpdCBJUEMuCi0gICAgICAgIC8v
IFdpdGhvdXQgdGhpcyBzeW5jaHJvbml6YXRpb24sIHNvbWUgSVBDIG1lc3NhZ2VzIG1heSBnZXQg
cmVjZWl2ZWQgYnkgdGhlIEdQVVByb2Nlc3MgYmVmb3JlIHRoZSBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kIGhhcyByZWdpc3RlcmVkIGl0c2VsZiBhcyBhIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlcgot
ICAgICAgICAvLyBhbmQgSVBDIG1heSBnZXQgcHJvY2Vzc2VkIG91dCBvZiBvcmRlci4KLSAgICAg
ICAgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVSZW5kZXJpbmdCYWNrZW5kKG1fcGFyYW1l
dGVycyksIE1lc3NhZ2VzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVSZW5kZXJp
bmdCYWNrZW5kOjpSZXBseSgpLCAwKTsKKyAgICAgICAgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0
ZVJlbmRlcmluZ0JhY2tlbmQobV9wYXJhbWV0ZXJzKSwgMCwgSVBDOjpTZW5kT3B0aW9uOjpEaXNw
YXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkpOwogICAgICAgICBtX2dwdVBy
b2Nlc3NDb25uZWN0aW9uID0gbWFrZVdlYWtQdHIoZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pOwogICAg
IH0KICAgICByZXR1cm4gKm1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247Cg==
</data>
<flag name="commit-queue"
          id="446398"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426171</attachid>
            <date>2021-04-15 18:56:41 -0700</date>
            <delta_ts>2021-04-15 19:00:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224623-20210415185640.patch</filename>
            <type>text/plain</type>
            <size>20807</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM4OTYwODZkODZjNTlmOTZh
OTU5OGM3MWY5M2ZmMTc1ZTM1YzE3YzYuLmRiYTEyZTVmZDZlYTY3OGM3ZmI1ZWFiNjUxNWI1MGNh
YTk4Y2RiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTQgQEAKKzIwMjEtMDQtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFYXJseSBJUEMgbWVzc2FnZXMgdG8g
YSBXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIgbWF5IGdldCBwcm9jZXNzZWQgb3V0IG9mIG9yZGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ2MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMjI0
NTY2IGV4cG9zZWQgYW4gaXNzdWUgd2hlcmUgZWFybHkgSVBDIGJlaW5nIHNlbnQgdG8gV29ya1F1
ZXVlTWVzc2FnZVJlY2VpdmVyIG1pZ2h0IGdldCByZWNlaXZlZAorICAgICAgICBvdXQgb2Ygb3Jk
ZXIuIFRoZSByZWFzb24gYmVoaW5kIGl0IGlzIHRoYXQgdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNl
aXZlciByZWdpc3RlcnMgaXRzZWxmIG9uIHRoZSBtYWluCisgICAgICAgIHRocmVhZCB3aGlsZSB3
ZSByZWNlaXZlIHRoZSBJUEMgb24gdGhlIElQQyB0aHJlYWQuIFdoZW4gd2UgcmVjZWl2ZSB0aGUg
SVBDIG9uIHRoZSBJUEMgdGhyZWFkLCB3ZSBjaGVjaworICAgICAgICBpZiB0aGVyZSBpcyBhIFdv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciBmb3IgaXQgYW5kIGlmIHRoZXJlIGlzLCB3ZSBkaXNwYXRj
aCB0aGUgbWVzc2FnZSBzdHJhaWdodCB0byBpdHMKKyAgICAgICAgV29ya1F1ZXVlLiBIb3dldmVy
LCBpZiB0aGUgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNl
bGYgeWV0IG9uIHRoZSBtYWluIHRocmVhZCwKKyAgICAgICAgd2UgaG9wIHRvIHRoZSBtYWluIHRo
cmVhZCBmaXJzdCwgYmVmb3JlIGRpc3BhdGNoaW5nIHRoZSBJUEMgYmFjayB0byB0aGUgcmVjZWl2
ZXIncyBXb3JrUXVldWUuIFRoZQorICAgICAgICBleHRyYSBob3AgdG8gdGhlIG1haW4gdGhyZWFk
IG1lYW5zIHRoYXQgMiBJUEMgbWVzc2FnZXMgdG8gdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
ciBzZW50IG9uZSBhZnRlcgorICAgICAgICB0aGUgb3RoZXIgbWF5IGdldCBkaXNwYXRjaGVkIG9u
IHRoZSBXb3JrUXVldWUgaW4gYW4gaW5jb25zaXN0ZW50IG9yZGVyLCBpZiB0aGUgV29ya1F1ZXVl
TWVzc2FnZVJlY2VpdmVyCisgICAgICAgIHJlZ2lzdGVycyBpdHNlbGYgYXMgYSByZWNlaXZlciBp
biBiZXR3ZWVuIHRoZSAyIElQQyBtZXNzYWdlcy4KKworICAgICAgICBXZSBhY3R1YWxseSB3ZXJl
IHRyeWluZyB0byBkZWFsIHdpdGggdGhpcyBpc3N1ZSBpbiBDb25uZWN0aW9uOjphZGRXb3JrUXVl
dWVNZXNzYWdlUmVjZWl2ZXIoKS4gV2hlbgorICAgICAgICB0aGUgV29ya1F1ZXVlTWVzc2FnZVJl
Y2VpdmVyIHdvdWxkIHJlZ2lzdGVyIGl0c2VsZiBvbiB0aGUgbWFpbiB0aHJlYWQsIHdlIHdvdWxk
IGdyYWIgdGhlIGluY29taW5nTWVzc2FnZXMKKyAgICAgICAgbG9jayBhbmQgY2hlY2sgbV9pbmNv
bWluZ01lc3NhZ2VzIGZvciBtZXNzYWdlcyB0aGF0IHNob3VsZCBiZSBkaXNwYXRjaGVkIHRvIHRo
ZSBXb3JrUXVldWUuIFRob3NlIGFyZQorICAgICAgICBhc3luYyBtZXNzYWdlcyB0aGF0IHNob3Vs
ZCBoYXZlIGJlZW4gZGlzcGF0Y2hlZCBzdHJhaWdodCB0byB0aGUgV29ya1F1ZXVlIG9uIHRoZSBJ
UEMgdGhyZWFkIGJ1dCBkaWRuJ3QKKyAgICAgICAgYmVjYXVzZSB0aGUgV29ya1F1ZXVlTWVzc2Fn
ZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNlbGYgeWV0LgorCisgICAgICAgIEhvd2V2
ZXIsIHRoaXMgbG9naWMgaW4gQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVy
KCkgd2FzIGluc3VmZmljaWVudCBiZWNhdXNlIGl0IG9ubHkgY2hlY2tlZAorICAgICAgICBtX2lu
Y29taW5nTWVzc2FnZXMuIG1faW5jb21pbmdNZXNzYWdlcyBvbmx5IGNvbnRhaW5zIGFzeW5jIG1l
c3NhZ2VzLiBTeW5jIG1lc3NhZ2VzIChhbmQgc3BlY2lhbCBhc3luYworICAgICAgICBtZXNzYWdl
cyB3aXRoIHRoZSBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGlu
Z0ZvclN5bmNSZXBseSBmbGFnKSBhcmUgc3RvcmVkIGluCisgICAgICAgIENvbm5lY3Rpb246OlN5
bmNNZXNzYWdlU3RhdGU6Om1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1Jl
cGx5LiBUaGlzIGlzIHdoYXQgd2FzIGNhdXNpbmcKKyAgICAgICAgQnVnIDIyNDU2NiBzaW5jZSBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkncyBDcmVhdGVJbWFnZUJ1ZmZlciBJUEMgd2FzIGFz
eW5jIHdpdGggdGhlCisgICAgICAgIERpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5
bmNSZXBseSBmbGFnIGFuZCBpdHMgR2V0RGF0YVVSTEZvckltYWdlQnVmZmVyIHdhcyBzeW5jaHJv
bm91cy4gVGhlCisgICAgICAgIG9yZGVyaW5nIG9mIHRoZXNlIDIgSVBDIG1lc3NhZ2VzIGNvdWxk
IGdldCByZXZlcnNlZCBhbmQgaXQgd291bGQgY2F1c2UgY29ycmVjdG5lc3MgaXNzdWVzIGFuZCBm
bGFreQorICAgICAgICBjcmFzaGVzLgorCisgICAgICAgIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCBJ
IHVwZGF0ZWQgQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgdG8gYXNr
IHRoZQorICAgICAgICBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRz
IG1hdGNoaW5nIG1lc3NhZ2VzIHRvIHRoZSBXb3JrUXVldWUuIFRoZXJlIHdhcyBvbmUgaXNzdWUK
KyAgICAgICAgdGhvdWdoIGJlY2F1c2UgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlz
cGF0Y2hNZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9yQ29ubmVj
dGlvbigpCisgICAgICAgIHdhcyB0YWtpbmcgbWVzc2FnZXMgb3V0IG9mIG1fbWVzc2FnZXNUb0Rp
c3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IGFuZCBzdG9yaW5nIHRoZW0gaW4gYSBsb2Nh
bAorICAgICAgICBjb250YWluZXIgYW5kIHRoZW4gaXRlcmF0aW5nIG92ZXIgdGhpcyBjb250YWlu
ZXIgdG8gZGlzcGF0Y2ggdGhlIG1lc3NhZ2VzLiBUaGUgZGlzcGF0Y2hpbmcgb2Ygb25lCisgICAg
ICAgIG9mIHRoZXNlIG1lc3NhZ2VzIGNvdWxkIGNhdXNlIGEgV29ya1F1ZXVlTWVzc2FnZVJlY2Vp
dmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiAoY2FsbCBhZGRXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIo
KSkuCisgICAgICAgIFdoZW4gdGhpcyB3b3VsZCBoYXBwZW4sIGFkZFdvcmtRdWV1ZU1lc3NhZ2VS
ZWNlaXZlcigpIHdvdWxkIHRyeSBhbmQgZW5xdWV1ZSBtYXRjaGluZyBtZXNzYWdlcyBpbgorICAg
ICAgICBtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSBhbmQgd291
bGQgbWlzcyB0aGUgbWVzc2FnZXMgaW4gdGhlIGxvY2FsIGNvbnRhaW5lcgorICAgICAgICB0aGF0
IGRpc3BhdGNoTWVzc2FnZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNv
bm5lY3Rpb24oKSBpcyBjdXJyZW50bHkgaXRlcmF0aW5nIG9uLgorICAgICAgICBUbyBhZGRyZXNz
IHRoaXMgaXNzdWUsIEkgaW50cm9kdWNlZCBhIG5ldyBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVk
IGRhdGEgbWVtYmVyIGFuZCB1c2VkIHRoYXQgdG8KKyAgICAgICAgc3RvcmUgdGhlIG1lc3NhZ2Vz
IGJlaW5nIGRpc3BhdGNoZWQgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY29udGFpbmVyLiBBcyBhIHJl
c3VsdCwKKyAgICAgICAgYWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgY2FuIG5vdyBlbnF1
ZXVlIHRoZSBtZXNzYWdlcyBpbiBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkIGZpcnN0IGFuZAor
ICAgICAgICB0aGVuIGVucXVldWUgdGhlIG9uZXMgaW4gbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGls
ZVdhaXRpbmdGb3JTeW5jUmVwbHkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjplbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlv
bik6CisgICAgICAgIFJldmVydCByMjc2MDA3IHRoYXQgd2FzIGNvbW1pdHRlZCBhcyBhIHRlbXBv
cmFyeSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1Zy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0
ZTo6ZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMpOgorICAgICAgICBBZGQgdXRpbGl0eSBmdW5jdGlv
biB0byBTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRzIG1hdGNoaW5nIG1lc3NhZ2VzIGlu
IG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQKKyAgICAgICAgYW5kIG1fbWVzc2FnZXNUb0Rpc3Bh
dGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IHRvIHRoZSBwcm92aWRlZCBNZXNzYWdlUmVjZWl2
ZVF1ZXVlLiBUaGlzIGlzIGNhbGxlZAorICAgICAgICBieSBDb25uZWN0aW9uOjphZGRNZXNzYWdl
UmVjZWl2ZVF1ZXVlKCkuIFRoZSBsb2dpYyBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gdGhlIGV4
aXN0aW5nCisgICAgICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzIGZyZWUgZnVuY3Rpb24gYnV0
IHdvcmtzIG9uIGEgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gaW5zdGVhZCBv
ZgorICAgICAgICBhIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4uCisKKyAgICAgICAg
KElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlzcGF0Y2hNZXNzYWdlcyk6Cisg
ICAgICAgIChJUEM6OkNvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmRpc3BhdGNoTWVzc2Fn
ZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNvbm5lY3Rpb24pOgorICAg
ICAgICBVc2UgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCBpbnN0ZWFkIG9mIGEgbG9jYWwgY29u
dGFpbmVyIHRvIHN0b3JlIHRoZSBtZXNzYWdlcyB3ZSBhcmUgYWJvdXQgdG8KKyAgICAgICAgZGlz
cGF0Y2guIFRoaXMgYWxsb3dzIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKCkgdG8gY2hlY2sgdGhv
c2UgbWVzc2FnZXMgdG8gc2VlIGlmIHRoZXkgc2hvdWxkIGJlCisgICAgICAgIGRpc3BhdGNoZWQg
dG8gYSBNZXNzYWdlUmVjZWl2ZVF1ZXVlLiBXZSBhbHNvIG5lZWQgdG8gbWFrZSBzdXJlIHdlIGRv
bid0IGl0ZXJhdGUgb3ZlcgorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkIHRvIGNh
bGwgZGlzcGF0Y2goKSBvbiB0aGUgbWVzc2FnZXMuIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2Ug
YW55IG1lc3NhZ2UKKyAgICAgICAgZGlzcGF0Y2ggbWF5IGNhdXNlIGEgV29ya1F1ZXVlTWVzc2Fn
ZVJlY2VpdmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiwgd2hpY2ggd291bGQgY2FsbAorICAgICAgICBl
bnF1ZXVlTWF0Y2hpbmdNZXNzYWdlcygpIGFuZCBwb3RlbnRpYWxseSBleHRyYWN0IG1hdGNoaW5n
IG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZC4KKyAgICAgICAgRm9yIHRo
aXMgcmVhc29uLCB3ZSB0YWtlIG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hl
ZCBvbmUgYnkgb25lLCB1bnRpbCB0aGUgY29udGFpbmVyCisgICAgICAgIGJlY29tZXMgZW1wdHku
CisKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6YWRkTWVzc2FnZVJlY2VpdmVRdWV1ZSk6Cisg
ICAgICAgIFRoaXMgdXNlZCB0byBvbmx5IGNoZWNrIG1faW5jb21pbmdNZXNzYWdlcyBmb3IgbWF0
Y2hpbmcgbWVzc2FnZXMgdGhhdCBzaG91bGQgYmUgZW5xdWV1ZWQgb24gdGhlCisgICAgICAgIE1l
c3NhZ2VSZWNlaXZlUXVldWUgaW4gb3JkZXIgdG8gcHJlc2VydmUgSVBDIG9yZGVyaW5nLiBUaGlz
IHdhcyBpbnN1ZmZpY2llbnQgYmVjYXVzZSBpdCB3b3VsZCBmYWlsCisgICAgICAgIHRvIGNvbnNp
ZGVyIHN5bmMgSVBDIG1lc3NhZ2VzIChvciBhc3luYyBJUEMgbWVzc2FnZXMgd2l0aCB0aGUKKyAg
ICAgICAgSVBDOjpTZW5kT3B0aW9uOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JT
eW5jUmVwbHkgZmxhZykuIFNpbmNlIHRob3NlIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUKKyAgICAg
ICAgY29udGFpbmVycyBpbiBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlLCB3ZSBub3cgYWxz
byBjYWxsCisgICAgICAgIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmVucXVldWVNYXRj
aGluZ01lc3NhZ2VzKCkgdG8gZW5xdWV1ZSB0aG9zZSBtZXNzYWdlcyBhbmQgcHJlc2VydmUgdGhl
aXIKKyAgICAgICAgb3JkZXJpbmcgdG9vLiBUaGlzIGZpeGVzIElQQyBvcmRlcmluZyBidWcgaWRl
bnRpZmllZCB2aWEgQnVnIDIyNDU2Ni4KKworICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjphZGRX
b3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjphZGRU
aHJlYWRNZXNzYWdlUmVjZWl2ZXIpOgorICAgICAgICBIYXZlIHRoZXNlIGNhbGwgdGhlIGdlbmVy
aWMgYWRkTWVzc2FnZVJlY2VpdmVRdWV1ZSgpIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb24uIFRo
ZSBvbmx5IGRyYXdiYWNrCisgICAgICAgIGlzIHRoYXQgd2Ugbm93IGRvIHZpcnR1YWwgTWVzc2Fn
ZVJlY2VpdmVRdWV1ZTo6ZW5xdWV1ZU1lc3NhZ2UoKSBjYWxscyB0byBlbnF1ZXVlIG1lc3NhZ2Vz
IHRvCisgICAgICAgIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlclF1ZXVlIC8gVGhyZWFkTWVzc2Fn
ZVJlY2VpdmVyUXVldWUgaW5zdGVhZCBvZiBjYWxsaW5nIHRoZSBmaW5hbCBlbnF1ZXVlTWVzc2Fn
ZSgpCisgICAgICAgIGZ1bmN0aW9uIG9mIHRoZSBzdWJjbGFzc2VzLiBUaGF0IHNhaWQsIEkgZG9u
J3QgdGhpbmsgYXZvaWRpbmcgdGhlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbCBpcyB2ZXJ5CisgICAg
ICAgIHZhbHVhYmxlIGhlcmUgc2luY2Ugd2UgZG9uJ3QgcmVnaXN0ZXIgbWVzc2FnZSByZWNlaXZl
ciB2ZXJ5IG9mdGVuIGFuZCB0aGVuIG9ubHkgaGF2ZSBhIGZldyBlYXJseSBtZXNzYWdlcworICAg
ICAgICBhdCBtb3N0IHRvIGVucXVldWUuCisKIDIwMjEtMDQtMTUgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBBZGQgc3VwcG9ydCBm
b3IgIm5leHRIb3BQcm90b2NvbCIgZm9yIFJlc291cmNlIFRpbWluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4
IDE2ZDExYzkyYjNmMjBjYWUxZTAwYjAyNThhMTFhNjM3YjNhMjFmZDYuLjQ0MWFiMWM2ZTc2YmVi
MTdlNjU1MWJmYjQ5NzI5OGQ2NzU0MzY5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTM2MiwxMyArMzYy
LDEyIEBAIFJlbW90ZUltYWdlRGVjb2RlckFWRlByb3h5JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjppbWFnZURlY29kZXJBVkZQcm94eSgpCiB9CiAjZW5kaWYKIAotdm9pZCBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRDcmVhdGlvblBhcmFtZXRlcnMmJiBjcmVhdGlvblBhcmFtZXRlcnMsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6Y3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
Q3JlYXRpb25QYXJhbWV0ZXJzJiYgY3JlYXRpb25QYXJhbWV0ZXJzKQogewogICAgIGF1dG8gYWRk
UmVzdWx0ID0gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwLmVuc3VyZShjcmVhdGlvblBhcmFt
ZXRlcnMuaWRlbnRpZmllciwgWyZdKCkgewogICAgICAgICByZXR1cm4gSVBDOjpTY29wZWRBY3Rp
dmVNZXNzYWdlUmVjZWl2ZVF1ZXVlIHsgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRlKCp0
aGlzLCBXVEZNb3ZlKGNyZWF0aW9uUGFyYW1ldGVycykpIH07CiAgICAgfSk7CiAgICAgQVNTRVJU
X1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKLSAgICBjb21wbGV0aW9u
SGFuZGxlcigpOwogfQogCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbGVhc2VS
ZW5kZXJpbmdCYWNrZW5kKFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tl
bmRJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggYWVhYTMxMzAwZWNkZTVhMTUzNGI0Y2Q5NDk4ZjQ5
NWYzMzUzYmE2Yi4uZjJkZDk1MDJhYmUzNmEwMGM3MWUyODc2MzYwYjhiMmNlZjA0Zjg5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAKLSAg
ICB2b2lkIGNyZWF0ZVJlbmRlcmluZ0JhY2tlbmQoUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0
aW9uUGFyYW1ldGVycyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAgIHZvaWQg
Y3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJh
bWV0ZXJzJiYpOwogICAgIHZvaWQgcmVsZWFzZVJlbmRlcmluZ0JhY2tlbmQoUmVuZGVyaW5nQmFj
a2VuZElkZW50aWZpZXIpOwogCiAjaWYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCA4ZDFkYWY4NmRkYzI0ZmE4Y2ViOTJiMGU0Nzc4MWE2Y2UyOGI5MjYzLi43
NzQ1NThlMTA3NTM3YTgyMWYxNjBlZDMzYzZmOTU5ZjcwZmU4ZjNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtMjMsNyArMjMsNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykK
IAogbWVzc2FnZXMgLT4gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBXYW50c0Rpc3BhdGNoTWVz
c2FnZSB7Ci0gICAgdm9pZCBDcmVhdGVSZW5kZXJpbmdCYWNrZW5kKHN0cnVjdCBXZWJLaXQ6OlJl
bW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMgY3JlYXRpb25QYXJhbWV0ZXJz
KSAtPiAoKSBTeW5jaHJvbm91cworICAgIHZvaWQgQ3JlYXRlUmVuZGVyaW5nQmFja2VuZChzdHJ1
Y3QgV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzIGNyZWF0
aW9uUGFyYW1ldGVycykKICAgICB2b2lkIFJlbGVhc2VSZW5kZXJpbmdCYWNrZW5kKFdlYktpdDo6
UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpCiAj
aWYgRU5BQkxFKFdFQkdMKQogICAgIHZvaWQgQ3JlYXRlR3JhcGhpY3NDb250ZXh0R0woc3RydWN0
IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBXZWJLaXQ6
OkdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllciBncmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIs
IFdlYktpdDo6UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZElkZW50
aWZpZXIsIElQQzo6U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciBzdHJlYW0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IDcxZjgzMjQ4ZTI4OTlhMTQ5OWQ2NGQ4
OTZjMjA3MTVmN2E5MzEzZGYuLjJiZWZkN2Q4MzFkM2JmZTJkMThiZmMyODA3MDI3NDI1NjhhNDA5
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBAIC05Myw2
ICs5Myw5IEBAIHB1YmxpYzoKICAgICAvLyBEaXNwYXRjaCBwZW5kaW5nIHN5bmMgbWVzc2FnZXMu
CiAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VzKCk7CiAKKyAgICAvLyBBZGQgbWF0Y2hpbmcgcGVu
ZGluZyBtZXNzYWdlcyB0byB0aGUgcHJvdmlkZWQgTWVzc2FnZVJlY2VpdmVRdWV1ZS4KKyAgICB2
b2lkIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mLCBNZXNzYWdlUmVjZWl2ZVF1
ZXVlJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKKwogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgTGF6eU5ldmVyRGVzdHJveWVkPENvbm5lY3Rpb246OlN5bmNNZXNz
YWdlU3RhdGU+OwogICAgIFN5bmNNZXNzYWdlU3RhdGUoKSA9IGRlZmF1bHQ7CkBAIC0xMTcsNyAr
MTIwLDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGNvbm5lY3Rpb24tPmRpc3BhdGNoTWVzc2Fn
ZShXVEZNb3ZlKG1lc3NhZ2UpKTsKICAgICAgICAgfQogICAgIH07Ci0gICAgVmVjdG9yPENvbm5l
Y3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5n
Rm9yU3luY1JlcGx5OworICAgIERlcXVlPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1f
bWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQ7IC8vIE9ubHkgdXNlZCBvbiB0aGUgbWFpbiB0aHJlYWQu
CisgICAgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbV9tZXNzYWdlc1RvRGlz
cGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHk7CiB9OwogCiBDb25uZWN0aW9uOjpTeW5jTWVz
c2FnZVN0YXRlJiBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQpAQCAt
MTMyLDYgKzEzNiwyNCBAQCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlJiBDb25uZWN0aW9u
OjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQogICAgIHJldHVybiBzeW5jTWVzc2FnZVN0
YXRlOwogfQogCit2b2lkIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmVucXVldWVNYXRj
aGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIE1lc3NhZ2VSZWNlaXZlUXVldWUm
IHJlY2VpdmVRdWV1ZSwgUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCkKK3sKKyAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKKyAgICBhdXRvIGVucXVl
dWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIgPSBbJl0oRGVxdWU8Q29ubmVjdGlvbkFuZElu
Y29taW5nTWVzc2FnZT4mIGNvbm5lY3Rpb25BbmRNZXNzYWdlcykgeworICAgICAgICBEZXF1ZTxD
b25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiByZXN0OworICAgICAgICBmb3IgKGF1dG8mIGNv
bm5lY3Rpb25BbmRNZXNzYWdlIDogY29ubmVjdGlvbkFuZE1lc3NhZ2VzKSB7CisgICAgICAgICAg
ICBpZiAoY29ubmVjdGlvbkFuZE1lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSA9PSAmY29ubmVjdGlv
biAmJiBjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gcmVjZWl2ZXJOYW1lICYmIChjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNzYWdlLT5kZXN0aW5h
dGlvbklEKCkgPT0gZGVzdGluYXRpb25JRCB8fCAhZGVzdGluYXRpb25JRCkpCisgICAgICAgICAg
ICAgICAgcmVjZWl2ZVF1ZXVlLmVucXVldWVNZXNzYWdlKGNvbm5lY3Rpb24sIFdURk1vdmUoY29u
bmVjdGlvbkFuZE1lc3NhZ2UubWVzc2FnZSkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIHJlc3QuYXBwZW5kKFdURk1vdmUoY29ubmVjdGlvbkFuZE1lc3NhZ2UpKTsKKyAgICAg
ICAgfQorICAgICAgICBjb25uZWN0aW9uQW5kTWVzc2FnZXMgPSBXVEZNb3ZlKHJlc3QpOworICAg
IH07CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX211dGV4KTsKKyAgICBlbnF1ZXVlTWF0
Y2hpbmdNZXNzYWdlc0luQ29udGFpbmVyKG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQpOworICAg
IGVucXVldWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIobV9tZXNzYWdlc1RvRGlzcGF0Y2hX
aGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOworfQorCiBib29sIENvbm5lY3Rpb246OlN5bmNNZXNz
YWdlU3RhdGU6OnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+JiBtZXNzYWdlKQogewogICAgIHN3aXRjaCAobWVzc2Fn
ZS0+c2hvdWxkRGlzcGF0Y2hNZXNzYWdlV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoKSkgewpAQCAt
MTczLDQxICsxOTUsNDEgQEAgdm9pZCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpkaXNw
YXRjaE1lc3NhZ2VzKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAg
VmVjdG9yPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2VzVG9EaXNwYXRjaFdo
aWxlV2FpdGluZ0ZvclN5bmNSZXBseTsKICAgICB7CiAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2sobV9tdXRleCk7Ci0gICAgICAgIG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5n
Rm9yU3luY1JlcGx5LnN3YXAobWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1Jl
cGx5KTsKKyAgICAgICAgaWYgKG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCA9IHN0ZDo6ZXhjaGFuZ2UobV9t
ZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHksIHsgfSk7CisgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgd2hpbGUgKCFtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2Fp
dGluZ0ZvclN5bmNSZXBseS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgbV9tZXNzYWdlc0Jl
aW5nRGlzcGF0Y2hlZC5hcHBlbmQobV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JT
eW5jUmVwbHkudGFrZUxhc3QoKSk7CisgICAgICAgIH0KICAgICB9CiAKLSAgICBmb3IgKGF1dG8m
IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdh
aXRpbmdGb3JTeW5jUmVwbHkpCi0gICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2Uu
ZGlzcGF0Y2goKTsKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0
eSgpKQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VGaXJzdCgpLmRpc3Bh
dGNoKCk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlzcGF0Y2hN
ZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9yQ29ubmVjdGlvbihD
b25uZWN0aW9uJiBjb25uZWN0aW9uKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7
CiAKLSAgICBWZWN0b3I8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbWVzc2FnZXNUb0Rp
c3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5OwogICAgIHsKICAgICAgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX211dGV4KTsKICAgICAgICAgQVNTRVJUKG1fZGlkU2NoZWR1bGVEaXNw
YXRjaE1lc3NhZ2VzV29ya1NldC5jb250YWlucygmY29ubmVjdGlvbikpOwogICAgICAgICBtX2Rp
ZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc1dvcmtTZXQucmVtb3ZlKCZjb25uZWN0aW9uKTsKLSAg
ICAgICAgbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkuc3dhcCht
ZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOwotICAgIH0KLQotICAg
IFZlY3RvcjxDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiBtZXNzYWdlc1RvUHV0QmFjazsK
LSAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdlc1Rv
RGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpIHsKLSAgICAgICAgaWYgKCZjb25uZWN0
aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSkKLSAg
ICAgICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuZGlzcGF0Y2goKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbWVzc2FnZXNUb1B1dEJhY2suYXBwZW5kKFdURk1vdmUoY29u
bmVjdGlvbkFuZEluY29taW5nTWVzc2FnZSkpOwotICAgIH0KLQotICAgIGlmICghbWVzc2FnZXNU
b1B1dEJhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9t
dXRleCk7Ci0gICAgICAgIG1lc3NhZ2VzVG9QdXRCYWNrLmFwcGVuZFZlY3RvcihXVEZNb3ZlKG1f
bWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5KSk7CisgICAgICAgIEFT
U0VSVChtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmlzRW1wdHkoKSk7CisgICAgICAgIERlcXVl
PENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2VzVG9QdXRCYWNrOworICAgICAg
ICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtX21lc3NhZ2VzVG9E
aXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSkgeworICAgICAgICAgICAgaWYgKCZjb25u
ZWN0aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSkK
KyAgICAgICAgICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmFwcGVuZChXVEZNb3Zl
KGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBtZXNzYWdlc1RvUHV0QmFjay5hcHBlbmQoV1RGTW92ZShjb25uZWN0aW9uQW5k
SW5jb21pbmdNZXNzYWdlKSk7CisgICAgICAgIH0KICAgICAgICAgbV9tZXNzYWdlc1RvRGlzcGF0
Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkgPSBXVEZNb3ZlKG1lc3NhZ2VzVG9QdXRCYWNrKTsK
ICAgICB9CisKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0eSgp
KQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VGaXJzdCgpLmRpc3BhdGNo
KCk7CiB9CiAKIC8vIFJlcHJlc2VudHMgYSBzeW5jIHJlcXVlc3QgZm9yIHdoaWNoIHdlJ3JlIHdh
aXRpbmcgb24gYSByZXBseS4KQEAgLTMyMCw0MCArMzQyLDQyIEBAIHZvaWQgQ29ubmVjdGlvbjo6
c2V0U2hvdWxkRXhpdE9uU3luY01lc3NhZ2VTZW5kRmFpbHVyZShib29sIHNob3VsZEV4aXRPblN5
bmNNZXNzCiB9CiAKIG5hbWVzcGFjZSB7Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLURlcXVlPHN0
ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4gZmlsdGVyV2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoQ29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgVCYgcmVjZWl2ZVF1ZXVlLCBSZWNlaXZlck5hbWUgcmVjZWl2
ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RGVj
b2Rlcj4+JiYgaW5jb21pbmdNZXNzYWdlcykKK3ZvaWQgZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMo
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgTWVzc2FnZVJlY2VpdmVRdWV1ZSYgcmVjZWl2ZVF1ZXVl
LCBSZWNlaXZlck5hbWUgcmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBEZXF1
ZTxzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4+JiBtZXNzYWdlcykKIHsKICAgICBEZXF1ZTxzdGQ6
OnVuaXF1ZV9wdHI8RGVjb2Rlcj4+IHJlc3Q7Ci0gICAgZm9yIChhdXRvJiBtZXNzYWdlIDogaW5j
b21pbmdNZXNzYWdlcykgeworICAgIGZvciAoYXV0byYgbWVzc2FnZSA6IG1lc3NhZ2VzKSB7CiAg
ICAgICAgIGlmIChtZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gcmVjZWl2ZXJOYW1l
ICYmIChtZXNzYWdlLT5kZXN0aW5hdGlvbklEKCkgPT0gZGVzdGluYXRpb25JRCB8fCAhZGVzdGlu
YXRpb25JRCkpCiAgICAgICAgICAgICByZWNlaXZlUXVldWUuZW5xdWV1ZU1lc3NhZ2UoY29ubmVj
dGlvbiwgV1RGTW92ZShtZXNzYWdlKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJlc3Qu
YXBwZW5kKFdURk1vdmUobWVzc2FnZSkpOwogICAgIH0KLSAgICByZXR1cm4gcmVzdDsKKyAgICBt
ZXNzYWdlcyA9IFdURk1vdmUocmVzdCk7CiB9CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6YWRkTWVz
c2FnZVJlY2VpdmVRdWV1ZShNZXNzYWdlUmVjZWl2ZVF1ZXVlJiByZWNlaXZlUXVldWUsIFJlY2Vp
dmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpCiB7Ci0gICAgYXV0
byBsb2NrZXIgPSBob2xkTG9jayhtX2luY29taW5nTWVzc2FnZXNNdXRleCk7Ci0gICAgbV9pbmNv
bWluZ01lc3NhZ2VzID0gZmlsdGVyV2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsIHJlY2Vp
dmVRdWV1ZSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklELCBXVEZNb3ZlKG1faW5jb21pbmdN
ZXNzYWdlcykpOworICAgIGF1dG8gaW5jb21pbmdNZXNzYWdlc0xvY2tlciA9IGhvbGRMb2NrKG1f
aW5jb21pbmdNZXNzYWdlc011dGV4KTsKKworICAgIC8vIEVucXVldWUgYW55IHBlbmRpbmcgbWVz
c2FnZSB0byB0aGUgTWVzc2FnZVJlY2VpdmVRdWV1ZSB0aGF0IGlzIG1lYW50IHRvIGdvIG9uIHRo
YXQgcXVldWUuIFRoaXMgaXMgaW1wb3J0YW50IHRvIG1haW50YWluIHRoZSBvcmRlcmluZyBvZgor
ICAgIC8vIElQQyBtZXNzYWdlcyBhcyBzb21lIG1lc3NhZ2VzIG1heSBnZXQgcmVjZWl2ZWQgb24g
dGhlIElQQyB0aHJlYWQgYmVmb3JlIHRoZSBtZXNzYWdlIHJlY2VpdmVyIHJlZ2lzdGVyZWQgaXRz
ZWxmIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICBTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24o
KS5lbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlcygqdGhpcywgcmVjZWl2ZVF1ZXVlLCByZWNlaXZlck5h
bWUsIGRlc3RpbmF0aW9uSUQpOworICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKCp0aGlzLCBy
ZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCwgbV9pbmNvbWluZ01lc3Nh
Z2VzKTsKKwogICAgIG1fcmVjZWl2ZVF1ZXVlcy5hZGQocmVjZWl2ZVF1ZXVlLCByZWNlaXZlck5h
bWUsIGRlc3RpbmF0aW9uSUQpOwogfQogCiB2b2lkIENvbm5lY3Rpb246OmFkZFdvcmtRdWV1ZU1l
c3NhZ2VSZWNlaXZlcihSZWNlaXZlck5hbWUgcmVjZWl2ZXJOYW1lLCBXb3JrUXVldWUmIHdvcmtR
dWV1ZSwgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKiByZWNlaXZlciwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCkKIHsKICAgICBhdXRvIHJlY2VpdmVRdWV1ZSA9IG1ha2VVbmlxdWU8V29ya1F1ZXVl
TWVzc2FnZVJlY2VpdmVyUXVldWU+KHdvcmtRdWV1ZSwgKnJlY2VpdmVyKTsKLSAgICBhdXRvIGxv
Y2tlciA9IGhvbGRMb2NrKG1faW5jb21pbmdNZXNzYWdlc011dGV4KTsKLSAgICBtX2luY29taW5n
TWVzc2FnZXMgPSBmaWx0ZXJXaXRoTWVzc2FnZVJlY2VpdmVRdWV1ZSgqdGhpcywgKnJlY2VpdmVR
dWV1ZSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklELCBXVEZNb3ZlKG1faW5jb21pbmdNZXNz
YWdlcykpOworICAgIGFkZE1lc3NhZ2VSZWNlaXZlUXVldWUoKnJlY2VpdmVRdWV1ZSwgcmVjZWl2
ZXJOYW1lLCBkZXN0aW5hdGlvbklEKTsKICAgICBtX3JlY2VpdmVRdWV1ZXMuYWRkKFdURk1vdmUo
cmVjZWl2ZVF1ZXVlKSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklEKTsKIH0KIAogdm9pZCBD
b25uZWN0aW9uOjphZGRUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoUmVjZWl2ZXJOYW1lIHJlY2VpdmVy
TmFtZSwgVGhyZWFkTWVzc2FnZVJlY2VpdmVyKiByZWNlaXZlciwgdWludDY0X3QgZGVzdGluYXRp
b25JRCkKIHsKICAgICBhdXRvIHJlY2VpdmVRdWV1ZSA9IG1ha2VVbmlxdWU8VGhyZWFkTWVzc2Fn
ZVJlY2VpdmVyUXVldWU+KCpyZWNlaXZlcik7Ci0gICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayht
X2luY29taW5nTWVzc2FnZXNNdXRleCk7Ci0gICAgbV9pbmNvbWluZ01lc3NhZ2VzID0gZmlsdGVy
V2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsICpyZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFt
ZSwgZGVzdGluYXRpb25JRCwgV1RGTW92ZShtX2luY29taW5nTWVzc2FnZXMpKTsKKyAgICBhZGRN
ZXNzYWdlUmVjZWl2ZVF1ZXVlKCpyZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRp
b25JRCk7CiAgICAgbV9yZWNlaXZlUXVldWVzLmFkZChXVEZNb3ZlKHJlY2VpdmVRdWV1ZSksIHJl
Y2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5LmNwcAppbmRleCA1ZGM0MmE2MzIyMWIxNWNmNDc4NGE2ZTZhN2MwNzZkOGVh
ZTFkNWE3Li5kMGRjYTYzZDJkOTgzZDcyMmI1YTkxMmE3YjU1MzQxMjAyMDk1MmExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCkBAIC03NSwxMCArNzUsNyBAQCBH
UFVQcm9jZXNzQ29ubmVjdGlvbiYgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjplbnN1cmVH
UFVQcm9jZXNzQ29ubmVjdGlvbigpCiAgICAgICAgIGF1dG8mIGdwdVByb2Nlc3NDb25uZWN0aW9u
ID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKTsK
ICAgICAgICAgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uYWRkQ2xpZW50KCp0aGlzKTsKICAgICAgICAg
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCAqdGhpcyk7
Ci0gICAgICAgIC8vIFRoaXMgbWVzc2FnZSBpcyBzeW5jaHJvbm91cyB0byBlbnN1cmUgdGhhdCB0
aGUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCBoYXMgYmVlbiBjcmVhdGVkIGFuZCBoYXMgcmVnaXN0
ZXJlZCBpdHNlbGYgYXMgYSBXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIgYmVmb3JlIHdlIHNlbmQg
aXQgSVBDLgotICAgICAgICAvLyBXaXRob3V0IHRoaXMgc3luY2hyb25pemF0aW9uLCBzb21lIElQ
QyBtZXNzYWdlcyBtYXkgZ2V0IHJlY2VpdmVkIGJ5IHRoZSBHUFVQcm9jZXNzIGJlZm9yZSB0aGUg
UmVtb3RlUmVuZGVyaW5nQmFja2VuZCBoYXMgcmVnaXN0ZXJlZCBpdHNlbGYgYXMgYSBXb3JrUXVl
dWVNZXNzYWdlUmVjZWl2ZXIKLSAgICAgICAgLy8gYW5kIElQQyBtYXkgZ2V0IHByb2Nlc3NlZCBv
dXQgb2Ygb3JkZXIuCi0gICAgICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5z
ZW5kU3luYyhNZXNzYWdlczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlUmVuZGVy
aW5nQmFja2VuZChtX3BhcmFtZXRlcnMpLCBNZXNzYWdlczo6R1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6Q3JlYXRlUmVuZGVyaW5nQmFja2VuZDo6UmVwbHkoKSwgMCk7CisgICAgICAgIGdwdVBy
b2Nlc3NDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpDcmVhdGVSZW5kZXJpbmdCYWNrZW5kKG1fcGFyYW1ldGVycyksIDAsIElQ
Qzo6U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5
KTsKICAgICAgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbiA9IG1ha2VXZWFrUHRyKGdwdVByb2Nl
c3NDb25uZWN0aW9uKTsKICAgICB9CiAgICAgcmV0dXJuICptX2dwdVByb2Nlc3NDb25uZWN0aW9u
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426172</attachid>
            <date>2021-04-15 19:14:26 -0700</date>
            <delta_ts>2021-04-15 19:18:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224623-20210415191425.patch</filename>
            <type>text/plain</type>
            <size>22083</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM4OTYwODZkODZjNTlmOTZh
OTU5OGM3MWY5M2ZmMTc1ZTM1YzE3YzYuLjdiNWI0ODE0M2IxNWFhNDYxOGFmZTE5Y2JlNjg4ZWE2
NzI5OTRjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTEgQEAKKzIwMjEtMDQtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFYXJseSBJUEMgbWVzc2FnZXMgdG8g
YSBXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIgbWF5IGdldCBwcm9jZXNzZWQgb3V0IG9mIG9yZGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ2MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMjI0
NTY2IGV4cG9zZWQgYW4gaXNzdWUgd2hlcmUgZWFybHkgSVBDIGJlaW5nIHNlbnQgdG8gV29ya1F1
ZXVlTWVzc2FnZVJlY2VpdmVyIG1pZ2h0IGdldCByZWNlaXZlZAorICAgICAgICBvdXQgb2Ygb3Jk
ZXIuIFRoZSByZWFzb24gYmVoaW5kIGl0IGlzIHRoYXQgdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNl
aXZlciByZWdpc3RlcnMgaXRzZWxmIG9uIHRoZSBtYWluCisgICAgICAgIHRocmVhZCB3aGlsZSB3
ZSByZWNlaXZlIHRoZSBJUEMgb24gdGhlIElQQyB0aHJlYWQuIFdoZW4gd2UgcmVjZWl2ZSB0aGUg
SVBDIG9uIHRoZSBJUEMgdGhyZWFkLCB3ZSBjaGVjaworICAgICAgICBpZiB0aGVyZSBpcyBhIFdv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciBmb3IgaXQgYW5kIGlmIHRoZXJlIGlzLCB3ZSBkaXNwYXRj
aCB0aGUgbWVzc2FnZSBzdHJhaWdodCB0byBpdHMKKyAgICAgICAgV29ya1F1ZXVlLiBIb3dldmVy
LCBpZiB0aGUgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNl
bGYgeWV0IG9uIHRoZSBtYWluIHRocmVhZCwKKyAgICAgICAgd2UgaG9wIHRvIHRoZSBtYWluIHRo
cmVhZCBmaXJzdCwgYmVmb3JlIGRpc3BhdGNoaW5nIHRoZSBJUEMgYmFjayB0byB0aGUgcmVjZWl2
ZXIncyBXb3JrUXVldWUuIFRoZQorICAgICAgICBleHRyYSBob3AgdG8gdGhlIG1haW4gdGhyZWFk
IG1lYW5zIHRoYXQgMiBJUEMgbWVzc2FnZXMgdG8gdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
ciBzZW50IG9uZSBhZnRlcgorICAgICAgICB0aGUgb3RoZXIgbWF5IGdldCBkaXNwYXRjaGVkIG9u
IHRoZSBXb3JrUXVldWUgaW4gYW4gaW5jb25zaXN0ZW50IG9yZGVyLCBpZiB0aGUgV29ya1F1ZXVl
TWVzc2FnZVJlY2VpdmVyCisgICAgICAgIHJlZ2lzdGVycyBpdHNlbGYgYXMgYSByZWNlaXZlciBp
biBiZXR3ZWVuIHRoZSAyIElQQyBtZXNzYWdlcy4KKworICAgICAgICBXZSBhY3R1YWxseSB3ZXJl
IHRyeWluZyB0byBkZWFsIHdpdGggdGhpcyBpc3N1ZSBpbiBDb25uZWN0aW9uOjphZGRXb3JrUXVl
dWVNZXNzYWdlUmVjZWl2ZXIoKS4gV2hlbgorICAgICAgICB0aGUgV29ya1F1ZXVlTWVzc2FnZVJl
Y2VpdmVyIHdvdWxkIHJlZ2lzdGVyIGl0c2VsZiBvbiB0aGUgbWFpbiB0aHJlYWQsIHdlIHdvdWxk
IGdyYWIgdGhlIGluY29taW5nTWVzc2FnZXMKKyAgICAgICAgbG9jayBhbmQgY2hlY2sgbV9pbmNv
bWluZ01lc3NhZ2VzIGZvciBtZXNzYWdlcyB0aGF0IHNob3VsZCBiZSBkaXNwYXRjaGVkIHRvIHRo
ZSBXb3JrUXVldWUuIFRob3NlIGFyZQorICAgICAgICBhc3luYyBtZXNzYWdlcyB0aGF0IHNob3Vs
ZCBoYXZlIGJlZW4gZGlzcGF0Y2hlZCBzdHJhaWdodCB0byB0aGUgV29ya1F1ZXVlIG9uIHRoZSBJ
UEMgdGhyZWFkIGJ1dCBkaWRuJ3QKKyAgICAgICAgYmVjYXVzZSB0aGUgV29ya1F1ZXVlTWVzc2Fn
ZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNlbGYgeWV0LgorCisgICAgICAgIEhvd2V2
ZXIsIHRoaXMgbG9naWMgaW4gQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVy
KCkgd2FzIGluc3VmZmljaWVudCBiZWNhdXNlIGl0IG9ubHkgY2hlY2tlZAorICAgICAgICBtX2lu
Y29taW5nTWVzc2FnZXMuIG1faW5jb21pbmdNZXNzYWdlcyBvbmx5IGNvbnRhaW5zIGFzeW5jIG1l
c3NhZ2VzLiBTeW5jIG1lc3NhZ2VzIChhbmQgc3BlY2lhbCBhc3luYworICAgICAgICBtZXNzYWdl
cyB3aXRoIHRoZSBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGlu
Z0ZvclN5bmNSZXBseSBmbGFnKSBhcmUgc3RvcmVkIGluCisgICAgICAgIENvbm5lY3Rpb246OlN5
bmNNZXNzYWdlU3RhdGU6Om1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1Jl
cGx5LiBUaGlzIGlzIHdoYXQgd2FzIGNhdXNpbmcKKyAgICAgICAgQnVnIDIyNDU2NiBzaW5jZSBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkncyBDcmVhdGVJbWFnZUJ1ZmZlciBJUEMgd2FzIGFz
eW5jIHdpdGggdGhlCisgICAgICAgIERpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5
bmNSZXBseSBmbGFnIGFuZCBpdHMgR2V0RGF0YVVSTEZvckltYWdlQnVmZmVyIHdhcyBzeW5jaHJv
bm91cy4gVGhlCisgICAgICAgIG9yZGVyaW5nIG9mIHRoZXNlIDIgSVBDIG1lc3NhZ2VzIGNvdWxk
IGdldCByZXZlcnNlZCBhbmQgaXQgd291bGQgY2F1c2UgY29ycmVjdG5lc3MgaXNzdWVzIGFuZCBm
bGFreQorICAgICAgICBjcmFzaGVzLgorCisgICAgICAgIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCBJ
IHVwZGF0ZWQgQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgdG8gYXNr
IHRoZQorICAgICAgICBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRz
IG1hdGNoaW5nIG1lc3NhZ2VzIHRvIHRoZSBXb3JrUXVldWUuIFRoZXJlIHdhcyBvbmUgaXNzdWUK
KyAgICAgICAgdGhvdWdoIGJlY2F1c2UgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlz
cGF0Y2hNZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9yQ29ubmVj
dGlvbigpCisgICAgICAgIHdhcyB0YWtpbmcgbWVzc2FnZXMgb3V0IG9mIG1fbWVzc2FnZXNUb0Rp
c3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IGFuZCBzdG9yaW5nIHRoZW0gaW4gYSBsb2Nh
bAorICAgICAgICBjb250YWluZXIgYW5kIHRoZW4gaXRlcmF0aW5nIG92ZXIgdGhpcyBjb250YWlu
ZXIgdG8gZGlzcGF0Y2ggdGhlIG1lc3NhZ2VzLiBUaGUgZGlzcGF0Y2hpbmcgb2Ygb25lCisgICAg
ICAgIG9mIHRoZXNlIG1lc3NhZ2VzIGNvdWxkIGNhdXNlIGEgV29ya1F1ZXVlTWVzc2FnZVJlY2Vp
dmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiAoY2FsbCBhZGRXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIo
KSkuCisgICAgICAgIFdoZW4gdGhpcyB3b3VsZCBoYXBwZW4sIGFkZFdvcmtRdWV1ZU1lc3NhZ2VS
ZWNlaXZlcigpIHdvdWxkIHRyeSBhbmQgZW5xdWV1ZSBtYXRjaGluZyBtZXNzYWdlcyBpbgorICAg
ICAgICBtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSBhbmQgd291
bGQgbWlzcyB0aGUgbWVzc2FnZXMgaW4gdGhlIGxvY2FsIGNvbnRhaW5lcgorICAgICAgICB0aGF0
IGRpc3BhdGNoTWVzc2FnZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNv
bm5lY3Rpb24oKSBpcyBjdXJyZW50bHkgaXRlcmF0aW5nIG9uLgorICAgICAgICBUbyBhZGRyZXNz
IHRoaXMgaXNzdWUsIEkgaW50cm9kdWNlZCBhIG5ldyBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVk
IGRhdGEgbWVtYmVyIGFuZCB1c2VkIHRoYXQgdG8KKyAgICAgICAgc3RvcmUgdGhlIG1lc3NhZ2Vz
IGJlaW5nIGRpc3BhdGNoZWQgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY29udGFpbmVyLiBBcyBhIHJl
c3VsdCwKKyAgICAgICAgYWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgY2FuIG5vdyBlbnF1
ZXVlIHRoZSBtZXNzYWdlcyBpbiBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkIGZpcnN0IGFuZAor
ICAgICAgICB0aGVuIGVucXVldWUgdGhlIG9uZXMgaW4gbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGls
ZVdhaXRpbmdGb3JTeW5jUmVwbHkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjplbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlv
bik6CisgICAgICAgIFJldmVydCByMjc2MDA3IHRoYXQgd2FzIGNvbW1pdHRlZCBhcyBhIHRlbXBv
cmFyeSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1Zy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0
ZTo6ZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMpOgorICAgICAgICBBZGQgdXRpbGl0eSBmdW5jdGlv
biB0byBTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRzIG1hdGNoaW5nIG1lc3NhZ2VzIGlu
IG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQKKyAgICAgICAgYW5kIG1fbWVzc2FnZXNUb0Rpc3Bh
dGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IHRvIHRoZSBwcm92aWRlZCBNZXNzYWdlUmVjZWl2
ZVF1ZXVlLiBUaGlzIGlzIGNhbGxlZAorICAgICAgICBieSBDb25uZWN0aW9uOjphZGRNZXNzYWdl
UmVjZWl2ZVF1ZXVlKCkuIFRoZSBsb2dpYyBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gdGhlIGV4
aXN0aW5nCisgICAgICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzIGZyZWUgZnVuY3Rpb24gYnV0
IHdvcmtzIG9uIGEgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gaW5zdGVhZCBv
ZgorICAgICAgICBhIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4uCisKKyAgICAgICAg
KElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlzcGF0Y2hNZXNzYWdlcyk6Cisg
ICAgICAgIChJUEM6OkNvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmRpc3BhdGNoTWVzc2Fn
ZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNvbm5lY3Rpb24pOgorICAg
ICAgICBVc2UgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCBpbnN0ZWFkIG9mIGEgbG9jYWwgY29u
dGFpbmVyIHRvIHN0b3JlIHRoZSBtZXNzYWdlcyB3ZSBhcmUgYWJvdXQgdG8KKyAgICAgICAgZGlz
cGF0Y2guIFRoaXMgYWxsb3dzIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKCkgdG8gY2hlY2sgdGhv
c2UgbWVzc2FnZXMgdG8gc2VlIGlmIHRoZXkgc2hvdWxkIGJlCisgICAgICAgIGRpc3BhdGNoZWQg
dG8gYSBNZXNzYWdlUmVjZWl2ZVF1ZXVlLiBXZSBhbHNvIG5lZWQgdG8gbWFrZSBzdXJlIHdlIGRv
bid0IGl0ZXJhdGUgb3ZlcgorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkIHRvIGNh
bGwgZGlzcGF0Y2goKSBvbiB0aGUgbWVzc2FnZXMuIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2Ug
YW55IG1lc3NhZ2UKKyAgICAgICAgZGlzcGF0Y2ggbWF5IGNhdXNlIGEgV29ya1F1ZXVlTWVzc2Fn
ZVJlY2VpdmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiwgd2hpY2ggd291bGQgY2FsbAorICAgICAgICBl
bnF1ZXVlTWF0Y2hpbmdNZXNzYWdlcygpIGFuZCBwb3RlbnRpYWxseSBleHRyYWN0IG1hdGNoaW5n
IG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZC4KKyAgICAgICAgRm9yIHRo
aXMgcmVhc29uLCB3ZSB0YWtlIG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hl
ZCBvbmUgYnkgb25lLCB1bnRpbCB0aGUgY29udGFpbmVyCisgICAgICAgIGJlY29tZXMgZW1wdHku
CisKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6YWRkTWVzc2FnZVJlY2VpdmVRdWV1ZSk6Cisg
ICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmFkZFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlcik6Cisg
ICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmFkZFRocmVhZE1lc3NhZ2VSZWNlaXZlcik6CisgICAg
ICAgIC0gVGhpcyB1c2VkIHRvIG9ubHkgY2hlY2sgbV9pbmNvbWluZ01lc3NhZ2VzIGZvciBtYXRj
aGluZyBtZXNzYWdlcyB0aGF0IHNob3VsZCBiZSBlbnF1ZXVlZCBvbiB0aGUKKyAgICAgICAgICBN
ZXNzYWdlUmVjZWl2ZVF1ZXVlIGluIG9yZGVyIHRvIHByZXNlcnZlIElQQyBvcmRlcmluZy4gVGhp
cyB3YXMgaW5zdWZmaWNpZW50IGJlY2F1c2UgaXQgd291bGQgZmFpbAorICAgICAgICAgIHRvIGNv
bnNpZGVyIHN5bmMgSVBDIG1lc3NhZ2VzIChvciBhc3luYyBJUEMgbWVzc2FnZXMgd2l0aCB0aGUK
KyAgICAgICAgICBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGlu
Z0ZvclN5bmNSZXBseSBmbGFnKS4gU2luY2UgdGhvc2UgYXJlIHN0b3JlZCBpbiBzZXBhcmF0ZQor
ICAgICAgICAgIGNvbnRhaW5lcnMgaW4gQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZSwgd2Ug
bm93IGFsc28gY2FsbAorICAgICAgICAgIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmVu
cXVldWVNYXRjaGluZ01lc3NhZ2VzKCkgdG8gZW5xdWV1ZSB0aG9zZSBtZXNzYWdlcyBhbmQgcHJl
c2VydmUgdGhlaXIKKyAgICAgICAgICBvcmRlcmluZyB0b28uIFRoaXMgZml4ZXMgSVBDIG9yZGVy
aW5nIGJ1ZyBpZGVudGlmaWVkIHZpYSBCdWcgMjI0NTY2LgorICAgICAgICAtIEF2b2lkIHNvbWUg
Y29kZSBkdXBsaWNhdGlvbiBieSBtb3ZpbmcgbW9yZSBsb2dpYyB0byBhIHNoYXJlZCBlbnF1ZXVl
TWF0Y2hpbmdNZXNzYWdlc1RvTWVzc2FnZVJlY2VpdmVRdWV1ZSgpCisgICAgICAgICAgZnVuY3Rp
b24uIFRoZSBmdW5jdGlvbiBpcyBubyBsb25nZXIgdGVtcGxhdGVkIGJlY2F1c2UgSSBkb24ndCB0
aGluayBpdCBpcyB3b3J0aCBpbmNyZWFzaW5nIGJpbmFyeQorICAgICAgICAgIHNpemUganVzdCB0
byBhdm9pZCB0aGUgdmlydHVhbCBlbnF1ZXVlTWVzc2FnZSgpIGZ1bmN0aW9uIGNhbGwgb24gdGhl
IE1lc3NhZ2VSZWNlaXZlclF1ZXVlLiBXZSBkbyBub3QKKyAgICAgICAgICByZWdpc3RlciBtZXNz
YWdlIHJlY2VpdmVycyB2ZXJ5IG9mdGVuIGFuZCB0aGVuIG9ubHkgaGF2ZSBhIGZldyBlYXJseSBt
ZXNzYWdlcyBhdCBtb3N0IHRvIGVucXVldWUuCisKIDIwMjEtMDQtMTUgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBBZGQgc3VwcG9y
dCBmb3IgIm5leHRIb3BQcm90b2NvbCIgZm9yIFJlc291cmNlIFRpbWluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmlu
ZGV4IDE2ZDExYzkyYjNmMjBjYWUxZTAwYjAyNThhMTFhNjM3YjNhMjFmZDYuLjQ0MWFiMWM2ZTc2
YmViMTdlNjU1MWJmYjQ5NzI5OGQ2NzU0MzY5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTM2MiwxMyAr
MzYyLDEyIEBAIFJlbW90ZUltYWdlRGVjb2RlckFWRlByb3h5JiBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjppbWFnZURlY29kZXJBVkZQcm94eSgpCiB9CiAjZW5kaWYKIAotdm9pZCBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMmJiBjcmVhdGlvblBhcmFtZXRlcnMsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kQ3JlYXRpb25QYXJhbWV0ZXJzJiYgY3JlYXRpb25QYXJhbWV0ZXJzKQogewogICAgIGF1dG8g
YWRkUmVzdWx0ID0gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwLmVuc3VyZShjcmVhdGlvblBh
cmFtZXRlcnMuaWRlbnRpZmllciwgWyZdKCkgewogICAgICAgICByZXR1cm4gSVBDOjpTY29wZWRB
Y3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlIHsgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRl
KCp0aGlzLCBXVEZNb3ZlKGNyZWF0aW9uUGFyYW1ldGVycykpIH07CiAgICAgfSk7CiAgICAgQVNT
RVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKLSAgICBjb21wbGV0
aW9uSGFuZGxlcigpOwogfQogCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbGVh
c2VSZW5kZXJpbmdCYWNrZW5kKFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmluZ0Jh
Y2tlbmRJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggYWVhYTMxMzAwZWNkZTVhMTUzNGI0Y2Q5NDk4
ZjQ5NWYzMzUzYmE2Yi4uZjJkZDk1MDJhYmUzNmEwMGM3MWUyODc2MzYwYjhiMmNlZjA0Zjg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VuZGlmCiAK
LSAgICB2b2lkIGNyZWF0ZVJlbmRlcmluZ0JhY2tlbmQoUmVtb3RlUmVuZGVyaW5nQmFja2VuZENy
ZWF0aW9uUGFyYW1ldGVycyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAgIHZv
aWQgY3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25Q
YXJhbWV0ZXJzJiYpOwogICAgIHZvaWQgcmVsZWFzZVJlbmRlcmluZ0JhY2tlbmQoUmVuZGVyaW5n
QmFja2VuZElkZW50aWZpZXIpOwogCiAjaWYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgppbmRleCA4ZDFkYWY4NmRkYzI0ZmE4Y2ViOTJiMGU0Nzc4MWE2Y2UyOGI5MjYz
Li43NzQ1NThlMTA3NTM3YTgyMWYxNjBlZDMzYzZmOTU5ZjcwZmU4ZjNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjMsNyArMjMsNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykKIAogbWVzc2FnZXMgLT4gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBXYW50c0Rpc3BhdGNo
TWVzc2FnZSB7Ci0gICAgdm9pZCBDcmVhdGVSZW5kZXJpbmdCYWNrZW5kKHN0cnVjdCBXZWJLaXQ6
OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMgY3JlYXRpb25QYXJhbWV0
ZXJzKSAtPiAoKSBTeW5jaHJvbm91cworICAgIHZvaWQgQ3JlYXRlUmVuZGVyaW5nQmFja2VuZChz
dHJ1Y3QgV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzIGNy
ZWF0aW9uUGFyYW1ldGVycykKICAgICB2b2lkIFJlbGVhc2VSZW5kZXJpbmdCYWNrZW5kKFdlYktp
dDo6UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIp
CiAjaWYgRU5BQkxFKFdFQkdMKQogICAgIHZvaWQgQ3JlYXRlR3JhcGhpY3NDb250ZXh0R0woc3Ry
dWN0IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBXZWJL
aXQ6OkdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllciBncmFwaGljc0NvbnRleHRHTElkZW50aWZp
ZXIsIFdlYktpdDo6UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZElk
ZW50aWZpZXIsIElQQzo6U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciBzdHJlYW0pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IDcxZjgzMjQ4ZTI4OTlhMTQ5OWQ2
NGQ4OTZjMjA3MTVmN2E5MzEzZGYuLmZiZDYxMzBjYjdmMjllNmRhNmU0NGNjODAxMDkyYTc3YTY5
NjNlNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBAIC05
Myw2ICs5Myw5IEBAIHB1YmxpYzoKICAgICAvLyBEaXNwYXRjaCBwZW5kaW5nIHN5bmMgbWVzc2Fn
ZXMuCiAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VzKCk7CiAKKyAgICAvLyBBZGQgbWF0Y2hpbmcg
cGVuZGluZyBtZXNzYWdlcyB0byB0aGUgcHJvdmlkZWQgTWVzc2FnZVJlY2VpdmVRdWV1ZS4KKyAg
ICB2b2lkIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mLCBNZXNzYWdlUmVjZWl2
ZVF1ZXVlJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKKwogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgTGF6eU5ldmVyRGVzdHJveWVkPENvbm5lY3Rpb246OlN5bmNN
ZXNzYWdlU3RhdGU+OwogICAgIFN5bmNNZXNzYWdlU3RhdGUoKSA9IGRlZmF1bHQ7CkBAIC0xMTcs
NyArMTIwLDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGNvbm5lY3Rpb24tPmRpc3BhdGNoTWVz
c2FnZShXVEZNb3ZlKG1lc3NhZ2UpKTsKICAgICAgICAgfQogICAgIH07Ci0gICAgVmVjdG9yPENv
bm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0
aW5nRm9yU3luY1JlcGx5OworICAgIERlcXVlPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+
IG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQ7IC8vIE9ubHkgdXNlZCBvbiB0aGUgbWFpbiB0aHJl
YWQuCisgICAgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbV9tZXNzYWdlc1Rv
RGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHk7CiB9OwogCiBDb25uZWN0aW9uOjpTeW5j
TWVzc2FnZVN0YXRlJiBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQpA
QCAtMTMyLDYgKzEzNiwyNCBAQCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlJiBDb25uZWN0
aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQogICAgIHJldHVybiBzeW5jTWVzc2Fn
ZVN0YXRlOwogfQogCit2b2lkIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmVucXVldWVN
YXRjaGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIE1lc3NhZ2VSZWNlaXZlUXVl
dWUmIHJlY2VpdmVRdWV1ZSwgUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVz
dGluYXRpb25JRCkKK3sKKyAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKKyAgICBhdXRvIGVu
cXVldWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIgPSBbJl0oRGVxdWU8Q29ubmVjdGlvbkFu
ZEluY29taW5nTWVzc2FnZT4mIGNvbm5lY3Rpb25BbmRNZXNzYWdlcykgeworICAgICAgICBEZXF1
ZTxDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiByZXN0OworICAgICAgICBmb3IgKGF1dG8m
IGNvbm5lY3Rpb25BbmRNZXNzYWdlIDogY29ubmVjdGlvbkFuZE1lc3NhZ2VzKSB7CisgICAgICAg
ICAgICBpZiAoY29ubmVjdGlvbkFuZE1lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSA9PSAmY29ubmVj
dGlvbiAmJiBjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gcmVjZWl2ZXJOYW1lICYmIChjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNzYWdlLT5kZXN0
aW5hdGlvbklEKCkgPT0gZGVzdGluYXRpb25JRCB8fCAhZGVzdGluYXRpb25JRCkpCisgICAgICAg
ICAgICAgICAgcmVjZWl2ZVF1ZXVlLmVucXVldWVNZXNzYWdlKGNvbm5lY3Rpb24sIFdURk1vdmUo
Y29ubmVjdGlvbkFuZE1lc3NhZ2UubWVzc2FnZSkpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIHJlc3QuYXBwZW5kKFdURk1vdmUoY29ubmVjdGlvbkFuZE1lc3NhZ2UpKTsKKyAg
ICAgICAgfQorICAgICAgICBjb25uZWN0aW9uQW5kTWVzc2FnZXMgPSBXVEZNb3ZlKHJlc3QpOwor
ICAgIH07CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX211dGV4KTsKKyAgICBlbnF1ZXVl
TWF0Y2hpbmdNZXNzYWdlc0luQ29udGFpbmVyKG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQpOwor
ICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIobV9tZXNzYWdlc1RvRGlzcGF0
Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOworfQorCiBib29sIENvbm5lY3Rpb246OlN5bmNN
ZXNzYWdlU3RhdGU6OnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoQ29ubmVjdGlvbiYgY29ubmVjdGlv
biwgc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+JiBtZXNzYWdlKQogewogICAgIHN3aXRjaCAobWVz
c2FnZS0+c2hvdWxkRGlzcGF0Y2hNZXNzYWdlV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoKSkgewpA
QCAtMTczLDQxICsxOTUsNDEgQEAgdm9pZCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpk
aXNwYXRjaE1lc3NhZ2VzKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0g
ICAgVmVjdG9yPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2VzVG9EaXNwYXRj
aFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseTsKICAgICB7CiAgICAgICAgIGF1dG8gbG9ja2VyID0g
aG9sZExvY2sobV9tdXRleCk7Ci0gICAgICAgIG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0
aW5nRm9yU3luY1JlcGx5LnN3YXAobWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3lu
Y1JlcGx5KTsKKyAgICAgICAgaWYgKG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0eSgp
KQorICAgICAgICAgICAgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCA9IHN0ZDo6ZXhjaGFuZ2Uo
bV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHksIHsgfSk7CisgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgd2hpbGUgKCFtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxl
V2FpdGluZ0ZvclN5bmNSZXBseS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgbV9tZXNzYWdl
c0JlaW5nRGlzcGF0Y2hlZC5hcHBlbmQobV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdG
b3JTeW5jUmVwbHkudGFrZUxhc3QoKSk7CisgICAgICAgIH0KICAgICB9CiAKLSAgICBmb3IgKGF1
dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdlc1RvRGlzcGF0Y2hXaGls
ZVdhaXRpbmdGb3JTeW5jUmVwbHkpCi0gICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3Nh
Z2UuZGlzcGF0Y2goKTsKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNF
bXB0eSgpKQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VGaXJzdCgpLmRp
c3BhdGNoKCk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlzcGF0
Y2hNZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9yQ29ubmVjdGlv
bihDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4o
KSk7CiAKLSAgICBWZWN0b3I8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbWVzc2FnZXNU
b0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5OwogICAgIHsKICAgICAgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX211dGV4KTsKICAgICAgICAgQVNTRVJUKG1fZGlkU2NoZWR1bGVE
aXNwYXRjaE1lc3NhZ2VzV29ya1NldC5jb250YWlucygmY29ubmVjdGlvbikpOwogICAgICAgICBt
X2RpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc1dvcmtTZXQucmVtb3ZlKCZjb25uZWN0aW9uKTsK
LSAgICAgICAgbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkuc3dh
cChtZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOwotICAgIH0KLQot
ICAgIFZlY3RvcjxDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiBtZXNzYWdlc1RvUHV0QmFj
azsKLSAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdl
c1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpIHsKLSAgICAgICAgaWYgKCZjb25u
ZWN0aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSkK
LSAgICAgICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuZGlzcGF0Y2goKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgbWVzc2FnZXNUb1B1dEJhY2suYXBwZW5kKFdURk1vdmUo
Y29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZSkpOwotICAgIH0KLQotICAgIGlmICghbWVzc2Fn
ZXNUb1B1dEJhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2so
bV9tdXRleCk7Ci0gICAgICAgIG1lc3NhZ2VzVG9QdXRCYWNrLmFwcGVuZFZlY3RvcihXVEZNb3Zl
KG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5KSk7CisgICAgICAg
IEFTU0VSVChtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmlzRW1wdHkoKSk7CisgICAgICAgIERl
cXVlPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2VzVG9QdXRCYWNrOworICAg
ICAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtX21lc3NhZ2Vz
VG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSkgeworICAgICAgICAgICAgaWYgKCZj
b25uZWN0aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVjdGlvbi5wdHIo
KSkKKyAgICAgICAgICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmFwcGVuZChXVEZN
b3ZlKGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UpKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBtZXNzYWdlc1RvUHV0QmFjay5hcHBlbmQoV1RGTW92ZShjb25uZWN0aW9u
QW5kSW5jb21pbmdNZXNzYWdlKSk7CisgICAgICAgIH0KICAgICAgICAgbV9tZXNzYWdlc1RvRGlz
cGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkgPSBXVEZNb3ZlKG1lc3NhZ2VzVG9QdXRCYWNr
KTsKICAgICB9CisKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQuaXNFbXB0
eSgpKQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VGaXJzdCgpLmRpc3Bh
dGNoKCk7CiB9CiAKIC8vIFJlcHJlc2VudHMgYSBzeW5jIHJlcXVlc3QgZm9yIHdoaWNoIHdlJ3Jl
IHdhaXRpbmcgb24gYSByZXBseS4KQEAgLTMxOSw0MSArMzQxLDQ0IEBAIHZvaWQgQ29ubmVjdGlv
bjo6c2V0U2hvdWxkRXhpdE9uU3luY01lc3NhZ2VTZW5kRmFpbHVyZShib29sIHNob3VsZEV4aXRP
blN5bmNNZXNzCiAgICAgbV9zaG91bGRFeGl0T25TeW5jTWVzc2FnZVNlbmRGYWlsdXJlID0gc2hv
dWxkRXhpdE9uU3luY01lc3NhZ2VTZW5kRmFpbHVyZTsKIH0KIAotbmFtZXNwYWNlIHsKLXRlbXBs
YXRlIDx0eXBlbmFtZSBUPgotRGVxdWU8c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+PiBmaWx0ZXJX
aXRoTWVzc2FnZVJlY2VpdmVRdWV1ZShDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBUJiByZWNlaXZl
UXVldWUsIFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQs
IERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4mJiBpbmNvbWluZ01lc3NhZ2VzKQorLy8g
RW5xdWV1ZSBhbnkgcGVuZGluZyBtZXNzYWdlIHRvIHRoZSBNZXNzYWdlUmVjZWl2ZVF1ZXVlIHRo
YXQgaXMgbWVhbnQgdG8gZ28gb24gdGhhdCBxdWV1ZS4gVGhpcyBpcyBpbXBvcnRhbnQgdG8gbWFp
bnRhaW4gdGhlIG9yZGVyaW5nIG9mCisvLyBJUEMgbWVzc2FnZXMgYXMgc29tZSBtZXNzYWdlcyBt
YXkgZ2V0IHJlY2VpdmVkIG9uIHRoZSBJUEMgdGhyZWFkIGJlZm9yZSB0aGUgbWVzc2FnZSByZWNl
aXZlciByZWdpc3RlcmVkIGl0c2VsZiBvbiB0aGUgbWFpbiB0aHJlYWQuCit2b2lkIENvbm5lY3Rp
b246OmVucXVldWVNYXRjaGluZ01lc3NhZ2VzVG9NZXNzYWdlUmVjZWl2ZVF1ZXVlKExvY2tlcjxM
b2NrPiYsIE1lc3NhZ2VSZWNlaXZlUXVldWUmIHJlY2VpdmVRdWV1ZSwgUmVjZWl2ZXJOYW1lIHJl
Y2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCkKIHsKLSAgICBEZXF1ZTxzdGQ6OnVu
aXF1ZV9wdHI8RGVjb2Rlcj4+IHJlc3Q7Ci0gICAgZm9yIChhdXRvJiBtZXNzYWdlIDogaW5jb21p
bmdNZXNzYWdlcykgeworICAgIEFTU0VSVChpc01haW5SdW5Mb29wKCkpOworCisgICAgU3luY01l
c3NhZ2VTdGF0ZTo6c2luZ2xldG9uKCkuZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMoKnRoaXMsIHJl
Y2VpdmVRdWV1ZSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklEKTsKKworICAgIERlcXVlPHN0
ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4gcmVtYWluaW5nSW5jb21pbmdNZXNzYWdlczsKKyAgICBm
b3IgKGF1dG8mIG1lc3NhZ2UgOiBtX2luY29taW5nTWVzc2FnZXMpIHsKICAgICAgICAgaWYgKG1l
c3NhZ2UtPm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSByZWNlaXZlck5hbWUgJiYgKG1lc3NhZ2Ut
PmRlc3RpbmF0aW9uSUQoKSA9PSBkZXN0aW5hdGlvbklEIHx8ICFkZXN0aW5hdGlvbklEKSkKLSAg
ICAgICAgICAgIHJlY2VpdmVRdWV1ZS5lbnF1ZXVlTWVzc2FnZShjb25uZWN0aW9uLCBXVEZNb3Zl
KG1lc3NhZ2UpKTsKKyAgICAgICAgICAgIHJlY2VpdmVRdWV1ZS5lbnF1ZXVlTWVzc2FnZSgqdGhp
cywgV1RGTW92ZShtZXNzYWdlKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3QuYXBw
ZW5kKFdURk1vdmUobWVzc2FnZSkpOworICAgICAgICAgICAgcmVtYWluaW5nSW5jb21pbmdNZXNz
YWdlcy5hcHBlbmQoV1RGTW92ZShtZXNzYWdlKSk7CiAgICAgfQotICAgIHJldHVybiByZXN0Owot
fQorICAgIG1faW5jb21pbmdNZXNzYWdlcyA9IFdURk1vdmUocmVtYWluaW5nSW5jb21pbmdNZXNz
YWdlcyk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6YWRkTWVzc2FnZVJlY2VpdmVRdWV1ZShNZXNz
YWdlUmVjZWl2ZVF1ZXVlJiByZWNlaXZlUXVldWUsIFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUs
IHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpCiB7Ci0gICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayht
X2luY29taW5nTWVzc2FnZXNNdXRleCk7Ci0gICAgbV9pbmNvbWluZ01lc3NhZ2VzID0gZmlsdGVy
V2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsIHJlY2VpdmVRdWV1ZSwgcmVjZWl2ZXJOYW1l
LCBkZXN0aW5hdGlvbklELCBXVEZNb3ZlKG1faW5jb21pbmdNZXNzYWdlcykpOworICAgIGF1dG8g
aW5jb21pbmdNZXNzYWdlc0xvY2tlciA9IGhvbGRMb2NrKG1faW5jb21pbmdNZXNzYWdlc011dGV4
KTsKKyAgICBlbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlc1RvTWVzc2FnZVJlY2VpdmVRdWV1ZShpbmNv
bWluZ01lc3NhZ2VzTG9ja2VyLCByZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRp
b25JRCk7CiAgICAgbV9yZWNlaXZlUXVldWVzLmFkZChyZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFt
ZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVz
c2FnZVJlY2VpdmVyKFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIFdvcmtRdWV1ZSYgd29ya1F1
ZXVlLCBXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIqIHJlY2VpdmVyLCB1aW50NjRfdCBkZXN0aW5h
dGlvbklEKQogewogICAgIGF1dG8gcmVjZWl2ZVF1ZXVlID0gbWFrZVVuaXF1ZTxXb3JrUXVldWVN
ZXNzYWdlUmVjZWl2ZXJRdWV1ZT4od29ya1F1ZXVlLCAqcmVjZWl2ZXIpOwotICAgIGF1dG8gbG9j
a2VyID0gaG9sZExvY2sobV9pbmNvbWluZ01lc3NhZ2VzTXV0ZXgpOwotICAgIG1faW5jb21pbmdN
ZXNzYWdlcyA9IGZpbHRlcldpdGhNZXNzYWdlUmVjZWl2ZVF1ZXVlKCp0aGlzLCAqcmVjZWl2ZVF1
ZXVlLCByZWNlaXZlck5hbWUsIGRlc3RpbmF0aW9uSUQsIFdURk1vdmUobV9pbmNvbWluZ01lc3Nh
Z2VzKSk7CisgICAgYXV0byBpbmNvbWluZ01lc3NhZ2VzTG9ja2VyID0gaG9sZExvY2sobV9pbmNv
bWluZ01lc3NhZ2VzTXV0ZXgpOworICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzVG9NZXNzYWdl
UmVjZWl2ZVF1ZXVlKGluY29taW5nTWVzc2FnZXNMb2NrZXIsICpyZWNlaXZlUXVldWUsIHJlY2Vp
dmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiAgICAgbV9yZWNlaXZlUXVldWVzLmFkZChXVEZNb3Zl
KHJlY2VpdmVRdWV1ZSksIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKIHZvaWQg
Q29ubmVjdGlvbjo6YWRkVGhyZWFkTWVzc2FnZVJlY2VpdmVyKFJlY2VpdmVyTmFtZSByZWNlaXZl
ck5hbWUsIFRocmVhZE1lc3NhZ2VSZWNlaXZlciogcmVjZWl2ZXIsIHVpbnQ2NF90IGRlc3RpbmF0
aW9uSUQpCiB7CiAgICAgYXV0byByZWNlaXZlUXVldWUgPSBtYWtlVW5pcXVlPFRocmVhZE1lc3Nh
Z2VSZWNlaXZlclF1ZXVlPigqcmVjZWl2ZXIpOwotICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2so
bV9pbmNvbWluZ01lc3NhZ2VzTXV0ZXgpOwotICAgIG1faW5jb21pbmdNZXNzYWdlcyA9IGZpbHRl
cldpdGhNZXNzYWdlUmVjZWl2ZVF1ZXVlKCp0aGlzLCAqcmVjZWl2ZVF1ZXVlLCByZWNlaXZlck5h
bWUsIGRlc3RpbmF0aW9uSUQsIFdURk1vdmUobV9pbmNvbWluZ01lc3NhZ2VzKSk7CisgICAgYXV0
byBpbmNvbWluZ01lc3NhZ2VzTG9ja2VyID0gaG9sZExvY2sobV9pbmNvbWluZ01lc3NhZ2VzTXV0
ZXgpOworICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzVG9NZXNzYWdlUmVjZWl2ZVF1ZXVlKGlu
Y29taW5nTWVzc2FnZXNMb2NrZXIsICpyZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFtZSwgZGVzdGlu
YXRpb25JRCk7CiAgICAgbV9yZWNlaXZlUXVldWVzLmFkZChXVEZNb3ZlKHJlY2VpdmVRdWV1ZSks
IHJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0Nvbm5lY3Rpb24uaAppbmRleCAxMDY3MGEyYzRjZTVkNmVmODE4MDRiMGNiM2Y3MmY2YzA5
ZWRiZWQwLi5hYTA4ZmI4ZTRmN2E3ZmRjODdlNzhiZDYwYjdmNWE3MWM3ZmExZTM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0zMjksNiArMzI5LDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIHBvcFBlbmRpbmdTeW5jUmVxdWVzdElEKHVpbnQ2NF90IHN5bmNSZXF1
ZXN0SUQpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiB3YWl0Rm9yU3luY1JlcGx5KHVp
bnQ2NF90IHN5bmNSZXF1ZXN0SUQsIE1lc3NhZ2VOYW1lLCBUaW1lb3V0LCBPcHRpb25TZXQ8U2Vu
ZFN5bmNPcHRpb24+KTsKIAorICAgIHZvaWQgZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXNUb01lc3Nh
Z2VSZWNlaXZlUXVldWUoTG9ja2VyPExvY2s+JiBpbmNvbWluZ01lc3NhZ2VzTG9ja2VyLCBNZXNz
YWdlUmVjZWl2ZVF1ZXVlJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsK
KwogICAgIC8vIENhbGxlZCBvbiB0aGUgY29ubmVjdGlvbiB3b3JrIHF1ZXVlLgogICAgIHZvaWQg
cHJvY2Vzc0luY29taW5nTWVzc2FnZShzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4pOwogICAgIHZv
aWQgcHJvY2Vzc0luY29taW5nU3luY1JlcGx5KHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAKaW5kZXggNWRjNDJhNjMyMjFi
MTVjZjQ3ODRhNmU2YTdjMDc2ZDhlYWUxZDVhNy4uZDBkY2E2M2QyZDk4M2Q3MjJiNWE5MTJhN2I1
NTM0MTIwMjA5NTJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNw
cApAQCAtNzUsMTAgKzc1LDcgQEAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eTo6ZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKQogICAgICAgICBhdXRv
JiBncHVQcm9jZXNzQ29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQ
VVByb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uLmFkZENs
aWVudCgqdGhpcyk7CiAgICAgICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZl
ck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVy
KCkudG9VSW50NjQoKSwgKnRoaXMpOwotICAgICAgICAvLyBUaGlzIG1lc3NhZ2UgaXMgc3luY2hy
b25vdXMgdG8gZW5zdXJlIHRoYXQgdGhlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgaGFzIGJlZW4g
Y3JlYXRlZCBhbmQgaGFzIHJlZ2lzdGVyZWQgaXRzZWxmIGFzIGEgV29ya1F1ZXVlTWVzc2FnZVJl
Y2VpdmVyIGJlZm9yZSB3ZSBzZW5kIGl0IElQQy4KLSAgICAgICAgLy8gV2l0aG91dCB0aGlzIHN5
bmNocm9uaXphdGlvbiwgc29tZSBJUEMgbWVzc2FnZXMgbWF5IGdldCByZWNlaXZlZCBieSB0aGUg
R1BVUHJvY2VzcyBiZWZvcmUgdGhlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgaGFzIHJlZ2lzdGVy
ZWQgaXRzZWxmIGFzIGEgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyCi0gICAgICAgIC8vIGFuZCBJ
UEMgbWF5IGdldCBwcm9jZXNzZWQgb3V0IG9mIG9yZGVyLgotICAgICAgICBncHVQcm9jZXNzQ29u
bmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5bmMoTWVzc2FnZXM6OkdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OkNyZWF0ZVJlbmRlcmluZ0JhY2tlbmQobV9wYXJhbWV0ZXJzKSwgTWVzc2FnZXM6
OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVJlbmRlcmluZ0JhY2tlbmQ6OlJlcGx5
KCksIDApOworICAgICAgICBncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlUmVuZGVyaW5nQmFja2Vu
ZChtX3BhcmFtZXRlcnMpLCAwLCBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5X
aGVuV2FpdGluZ0ZvclN5bmNSZXBseSk7CiAgICAgICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24g
PSBtYWtlV2Vha1B0cihncHVQcm9jZXNzQ29ubmVjdGlvbik7CiAgICAgfQogICAgIHJldHVybiAq
bV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426173</attachid>
            <date>2021-04-15 19:18:26 -0700</date>
            <delta_ts>2021-04-16 11:02:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224623-20210415191825.patch</filename>
            <type>text/plain</type>
            <size>22092</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM4OTYwODZkODZjNTlmOTZh
OTU5OGM3MWY5M2ZmMTc1ZTM1YzE3YzYuLmRkN2I3NTNjNDJhYzlmN2ZmOTAwNjM1ZjRjZmUyY2Iy
MmRkZWQ0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTEgQEAKKzIwMjEtMDQtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFYXJseSBJUEMgbWVzc2FnZXMgdG8g
YSBXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIgbWF5IGdldCBwcm9jZXNzZWQgb3V0IG9mIG9yZGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ2MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMjI0
NTY2IGV4cG9zZWQgYW4gaXNzdWUgd2hlcmUgZWFybHkgSVBDIGJlaW5nIHNlbnQgdG8gV29ya1F1
ZXVlTWVzc2FnZVJlY2VpdmVyIG1pZ2h0IGdldCByZWNlaXZlZAorICAgICAgICBvdXQgb2Ygb3Jk
ZXIuIFRoZSByZWFzb24gYmVoaW5kIGl0IGlzIHRoYXQgdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNl
aXZlciByZWdpc3RlcnMgaXRzZWxmIG9uIHRoZSBtYWluCisgICAgICAgIHRocmVhZCB3aGlsZSB3
ZSByZWNlaXZlIHRoZSBJUEMgb24gdGhlIElQQyB0aHJlYWQuIFdoZW4gd2UgcmVjZWl2ZSB0aGUg
SVBDIG9uIHRoZSBJUEMgdGhyZWFkLCB3ZSBjaGVjaworICAgICAgICBpZiB0aGVyZSBpcyBhIFdv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciBmb3IgaXQgYW5kIGlmIHRoZXJlIGlzLCB3ZSBkaXNwYXRj
aCB0aGUgbWVzc2FnZSBzdHJhaWdodCB0byBpdHMKKyAgICAgICAgV29ya1F1ZXVlLiBIb3dldmVy
LCBpZiB0aGUgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNl
bGYgeWV0IG9uIHRoZSBtYWluIHRocmVhZCwKKyAgICAgICAgd2UgaG9wIHRvIHRoZSBtYWluIHRo
cmVhZCBmaXJzdCwgYmVmb3JlIGRpc3BhdGNoaW5nIHRoZSBJUEMgYmFjayB0byB0aGUgcmVjZWl2
ZXIncyBXb3JrUXVldWUuIFRoZQorICAgICAgICBleHRyYSBob3AgdG8gdGhlIG1haW4gdGhyZWFk
IG1lYW5zIHRoYXQgMiBJUEMgbWVzc2FnZXMgdG8gdGhlIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
ciBzZW50IG9uZSBhZnRlcgorICAgICAgICB0aGUgb3RoZXIgbWF5IGdldCBkaXNwYXRjaGVkIG9u
IHRoZSBXb3JrUXVldWUgaW4gYW4gaW5jb25zaXN0ZW50IG9yZGVyLCBpZiB0aGUgV29ya1F1ZXVl
TWVzc2FnZVJlY2VpdmVyCisgICAgICAgIHJlZ2lzdGVycyBpdHNlbGYgYXMgYSByZWNlaXZlciBp
biBiZXR3ZWVuIHRoZSAyIElQQyBtZXNzYWdlcy4KKworICAgICAgICBXZSBhY3R1YWxseSB3ZXJl
IHRyeWluZyB0byBkZWFsIHdpdGggdGhpcyBpc3N1ZSBpbiBDb25uZWN0aW9uOjphZGRXb3JrUXVl
dWVNZXNzYWdlUmVjZWl2ZXIoKS4gV2hlbgorICAgICAgICB0aGUgV29ya1F1ZXVlTWVzc2FnZVJl
Y2VpdmVyIHdvdWxkIHJlZ2lzdGVyIGl0c2VsZiBvbiB0aGUgbWFpbiB0aHJlYWQsIHdlIHdvdWxk
IGdyYWIgdGhlIGluY29taW5nTWVzc2FnZXMKKyAgICAgICAgbG9jayBhbmQgY2hlY2sgbV9pbmNv
bWluZ01lc3NhZ2VzIGZvciBtZXNzYWdlcyB0aGF0IHNob3VsZCBiZSBkaXNwYXRjaGVkIHRvIHRo
ZSBXb3JrUXVldWUuIFRob3NlIGFyZQorICAgICAgICBhc3luYyBtZXNzYWdlcyB0aGF0IHNob3Vs
ZCBoYXZlIGJlZW4gZGlzcGF0Y2hlZCBzdHJhaWdodCB0byB0aGUgV29ya1F1ZXVlIG9uIHRoZSBJ
UEMgdGhyZWFkIGJ1dCBkaWRuJ3QKKyAgICAgICAgYmVjYXVzZSB0aGUgV29ya1F1ZXVlTWVzc2Fn
ZVJlY2VpdmVyIGhhcyBub3QgcmVnaXN0ZXJlZCBpdHNlbGYgeWV0LgorCisgICAgICAgIEhvd2V2
ZXIsIHRoaXMgbG9naWMgaW4gQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVy
KCkgd2FzIGluc3VmZmljaWVudCBiZWNhdXNlIGl0IG9ubHkgY2hlY2tlZAorICAgICAgICBtX2lu
Y29taW5nTWVzc2FnZXMuIG1faW5jb21pbmdNZXNzYWdlcyBvbmx5IGNvbnRhaW5zIGFzeW5jIG1l
c3NhZ2VzLiBTeW5jIG1lc3NhZ2VzIChhbmQgc3BlY2lhbCBhc3luYworICAgICAgICBtZXNzYWdl
cyB3aXRoIHRoZSBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGlu
Z0ZvclN5bmNSZXBseSBmbGFnKSBhcmUgc3RvcmVkIGluCisgICAgICAgIENvbm5lY3Rpb246OlN5
bmNNZXNzYWdlU3RhdGU6Om1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1Jl
cGx5LiBUaGlzIGlzIHdoYXQgd2FzIGNhdXNpbmcKKyAgICAgICAgQnVnIDIyNDU2NiBzaW5jZSBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkncyBDcmVhdGVJbWFnZUJ1ZmZlciBJUEMgd2FzIGFz
eW5jIHdpdGggdGhlCisgICAgICAgIERpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5
bmNSZXBseSBmbGFnIGFuZCBpdHMgR2V0RGF0YVVSTEZvckltYWdlQnVmZmVyIHdhcyBzeW5jaHJv
bm91cy4gVGhlCisgICAgICAgIG9yZGVyaW5nIG9mIHRoZXNlIDIgSVBDIG1lc3NhZ2VzIGNvdWxk
IGdldCByZXZlcnNlZCBhbmQgaXQgd291bGQgY2F1c2UgY29ycmVjdG5lc3MgaXNzdWVzIGFuZCBm
bGFreQorICAgICAgICBjcmFzaGVzLgorCisgICAgICAgIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCBJ
IHVwZGF0ZWQgQ29ubmVjdGlvbjo6YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgdG8gYXNr
IHRoZQorICAgICAgICBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRz
IG1hdGNoaW5nIG1lc3NhZ2VzIHRvIHRoZSBXb3JrUXVldWUuIFRoZXJlIHdhcyBvbmUgaXNzdWUK
KyAgICAgICAgdGhvdWdoIGJlY2F1c2UgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlz
cGF0Y2hNZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9yQ29ubmVj
dGlvbigpCisgICAgICAgIHdhcyB0YWtpbmcgbWVzc2FnZXMgb3V0IG9mIG1fbWVzc2FnZXNUb0Rp
c3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IGFuZCBzdG9yaW5nIHRoZW0gaW4gYSBsb2Nh
bAorICAgICAgICBjb250YWluZXIgYW5kIHRoZW4gaXRlcmF0aW5nIG92ZXIgdGhpcyBjb250YWlu
ZXIgdG8gZGlzcGF0Y2ggdGhlIG1lc3NhZ2VzLiBUaGUgZGlzcGF0Y2hpbmcgb2Ygb25lCisgICAg
ICAgIG9mIHRoZXNlIG1lc3NhZ2VzIGNvdWxkIGNhdXNlIGEgV29ya1F1ZXVlTWVzc2FnZVJlY2Vp
dmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiAoY2FsbCBhZGRXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIo
KSkuCisgICAgICAgIFdoZW4gdGhpcyB3b3VsZCBoYXBwZW4sIGFkZFdvcmtRdWV1ZU1lc3NhZ2VS
ZWNlaXZlcigpIHdvdWxkIHRyeSBhbmQgZW5xdWV1ZSBtYXRjaGluZyBtZXNzYWdlcyBpbgorICAg
ICAgICBtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSBhbmQgd291
bGQgbWlzcyB0aGUgbWVzc2FnZXMgaW4gdGhlIGxvY2FsIGNvbnRhaW5lcgorICAgICAgICB0aGF0
IGRpc3BhdGNoTWVzc2FnZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNv
bm5lY3Rpb24oKSBpcyBjdXJyZW50bHkgaXRlcmF0aW5nIG9uLgorICAgICAgICBUbyBhZGRyZXNz
IHRoaXMgaXNzdWUsIEkgaW50cm9kdWNlZCBhIG5ldyBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVk
IGRhdGEgbWVtYmVyIGFuZCB1c2VkIHRoYXQgdG8KKyAgICAgICAgc3RvcmUgdGhlIG1lc3NhZ2Vz
IGJlaW5nIGRpc3BhdGNoZWQgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY29udGFpbmVyLiBBcyBhIHJl
c3VsdCwKKyAgICAgICAgYWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKCkgY2FuIG5vdyBlbnF1
ZXVlIHRoZSBtZXNzYWdlcyBpbiBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkIGZpcnN0IGFuZAor
ICAgICAgICB0aGVuIGVucXVldWUgdGhlIG9uZXMgaW4gbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGls
ZVdhaXRpbmdGb3JTeW5jUmVwbHkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjplbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlv
bik6CisgICAgICAgIFJldmVydCByMjc2MDA3IHRoYXQgd2FzIGNvbW1pdHRlZCBhcyBhIHRlbXBv
cmFyeSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1Zy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0
ZTo6ZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMpOgorICAgICAgICBBZGQgdXRpbGl0eSBmdW5jdGlv
biB0byBTeW5jTWVzc2FnZVN0YXRlIHRvIGVucXVldWUgaXRzIG1hdGNoaW5nIG1lc3NhZ2VzIGlu
IG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQKKyAgICAgICAgYW5kIG1fbWVzc2FnZXNUb0Rpc3Bh
dGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5IHRvIHRoZSBwcm92aWRlZCBNZXNzYWdlUmVjZWl2
ZVF1ZXVlLiBUaGlzIGlzIGNhbGxlZAorICAgICAgICBieSBDb25uZWN0aW9uOjphZGRNZXNzYWdl
UmVjZWl2ZVF1ZXVlKCkuIFRoZSBsb2dpYyBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gdGhlCisg
ICAgICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzVG9NZXNzYWdlUmVjZWl2ZVF1ZXVlKCkgZnVu
Y3Rpb24gYnV0IHdvcmtzIG9uIGEgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4K
KyAgICAgICAgaW5zdGVhZCBvZiBhIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4uCisK
KyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZTo6ZGlzcGF0Y2hNZXNz
YWdlcyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmRpc3Bh
dGNoTWVzc2FnZXNBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNvbm5lY3Rp
b24pOgorICAgICAgICBVc2UgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCBpbnN0ZWFkIG9mIGEg
bG9jYWwgY29udGFpbmVyIHRvIHN0b3JlIHRoZSBtZXNzYWdlcyB3ZSBhcmUgYWJvdXQgdG8KKyAg
ICAgICAgZGlzcGF0Y2guIFRoaXMgYWxsb3dzIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKCkgdG8g
Y2hlY2sgdGhvc2UgbWVzc2FnZXMgdG8gc2VlIGlmIHRoZXkgc2hvdWxkIGJlCisgICAgICAgIGRp
c3BhdGNoZWQgdG8gYSBNZXNzYWdlUmVjZWl2ZVF1ZXVlLiBXZSBhbHNvIG5lZWQgdG8gbWFrZSBz
dXJlIHdlIGRvbid0IGl0ZXJhdGUgb3ZlcgorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRj
aGVkIHRvIGNhbGwgZGlzcGF0Y2goKSBvbiB0aGUgbWVzc2FnZXMuIFRoaXMgaXMgaW1wb3J0YW50
IGJlY2F1c2UgYW55IG1lc3NhZ2UKKyAgICAgICAgZGlzcGF0Y2ggbWF5IGNhdXNlIGEgV29ya1F1
ZXVlTWVzc2FnZVJlY2VpdmVyIHRvIHJlZ2lzdGVyIGl0c2VsZiwgd2hpY2ggd291bGQgY2FsbAor
ICAgICAgICBlbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlcygpIGFuZCBwb3RlbnRpYWxseSBleHRyYWN0
IG1hdGNoaW5nIG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZC4KKyAgICAg
ICAgRm9yIHRoaXMgcmVhc29uLCB3ZSB0YWtlIG1lc3NhZ2VzIGZyb20gbV9tZXNzYWdlc0JlaW5n
RGlzcGF0Y2hlZCBvbmUgYnkgb25lLCB1bnRpbCB0aGUgY29udGFpbmVyCisgICAgICAgIGJlY29t
ZXMgZW1wdHkuCisKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6YWRkTWVzc2FnZVJlY2VpdmVR
dWV1ZSk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmFkZFdvcmtRdWV1ZU1lc3NhZ2VSZWNl
aXZlcik6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmFkZFRocmVhZE1lc3NhZ2VSZWNlaXZl
cik6CisgICAgICAgIC0gVGhpcyB1c2VkIHRvIG9ubHkgY2hlY2sgbV9pbmNvbWluZ01lc3NhZ2Vz
IGZvciBtYXRjaGluZyBtZXNzYWdlcyB0aGF0IHNob3VsZCBiZSBlbnF1ZXVlZCBvbiB0aGUKKyAg
ICAgICAgICBNZXNzYWdlUmVjZWl2ZVF1ZXVlIGluIG9yZGVyIHRvIHByZXNlcnZlIElQQyBvcmRl
cmluZy4gVGhpcyB3YXMgaW5zdWZmaWNpZW50IGJlY2F1c2UgaXQgd291bGQgZmFpbAorICAgICAg
ICAgIHRvIGNvbnNpZGVyIHN5bmMgSVBDIG1lc3NhZ2VzIChvciBhc3luYyBJUEMgbWVzc2FnZXMg
d2l0aCB0aGUKKyAgICAgICAgICBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5X
aGVuV2FpdGluZ0ZvclN5bmNSZXBseSBmbGFnKS4gU2luY2UgdGhvc2UgYXJlIHN0b3JlZCBpbiBz
ZXBhcmF0ZQorICAgICAgICAgIGNvbnRhaW5lcnMgaW4gQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VT
dGF0ZSwgd2Ugbm93IGFsc28gY2FsbAorICAgICAgICAgIENvbm5lY3Rpb246OlN5bmNNZXNzYWdl
U3RhdGU6OmVucXVldWVNYXRjaGluZ01lc3NhZ2VzKCkgdG8gZW5xdWV1ZSB0aG9zZSBtZXNzYWdl
cyBhbmQgcHJlc2VydmUgdGhlaXIKKyAgICAgICAgICBvcmRlcmluZyB0b28uIFRoaXMgZml4ZXMg
SVBDIG9yZGVyaW5nIGJ1ZyBpZGVudGlmaWVkIHZpYSBCdWcgMjI0NTY2LgorICAgICAgICAtIEF2
b2lkIHNvbWUgY29kZSBkdXBsaWNhdGlvbiBieSBtb3ZpbmcgbW9yZSBsb2dpYyB0byBhIHNoYXJl
ZCBlbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlc1RvTWVzc2FnZVJlY2VpdmVRdWV1ZSgpCisgICAgICAg
ICAgZnVuY3Rpb24uIFRoZSBmdW5jdGlvbiBpcyBubyBsb25nZXIgdGVtcGxhdGVkIGJlY2F1c2Ug
SSBkb24ndCB0aGluayBpdCBpcyB3b3J0aCBpbmNyZWFzaW5nIGJpbmFyeQorICAgICAgICAgIHNp
emUganVzdCB0byBhdm9pZCB0aGUgdmlydHVhbCBlbnF1ZXVlTWVzc2FnZSgpIGZ1bmN0aW9uIGNh
bGwgb24gdGhlIE1lc3NhZ2VSZWNlaXZlclF1ZXVlLiBXZSBkbyBub3QKKyAgICAgICAgICByZWdp
c3RlciBtZXNzYWdlIHJlY2VpdmVycyB2ZXJ5IG9mdGVuIGFuZCB0aGVuIG9ubHkgaGF2ZSBhIGZl
dyBlYXJseSBtZXNzYWdlcyBhdCBtb3N0IHRvIGVucXVldWUuCisKIDIwMjEtMDQtMTUgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBB
ZGQgc3VwcG9ydCBmb3IgIm5leHRIb3BQcm90b2NvbCIgZm9yIFJlc291cmNlIFRpbWluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCmluZGV4IDE2ZDExYzkyYjNmMjBjYWUxZTAwYjAyNThhMTFhNjM3YjNhMjFmZDYuLjQ0
MWFiMWM2ZTc2YmViMTdlNjU1MWJmYjQ5NzI5OGQ2NzU0MzY5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAg
LTM2MiwxMyArMzYyLDEyIEBAIFJlbW90ZUltYWdlRGVjb2RlckFWRlByb3h5JiBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjppbWFnZURlY29kZXJBVkZQcm94eSgpCiB9CiAjZW5kaWYKIAotdm9p
ZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVSZW5kZXJpbmdCYWNrZW5kKFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMmJiBjcmVhdGlvblBhcmFtZXRlcnMs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJhbWV0ZXJzJiYgY3JlYXRpb25QYXJhbWV0ZXJzKQogewog
ICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwLmVuc3VyZShj
cmVhdGlvblBhcmFtZXRlcnMuaWRlbnRpZmllciwgWyZdKCkgewogICAgICAgICByZXR1cm4gSVBD
OjpTY29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlIHsgUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZDo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKGNyZWF0aW9uUGFyYW1ldGVycykpIH07CiAgICAgfSk7
CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKLSAg
ICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQogCiB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnJlbGVhc2VSZW5kZXJpbmdCYWNrZW5kKFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJl
bmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggYWVhYTMxMzAwZWNkZTVhMTUz
NGI0Y2Q5NDk4ZjQ5NWYzMzUzYmE2Yi4uZjJkZDk1MDJhYmUzNmEwMGM3MWUyODc2MzYwYjhiMmNl
ZjA0Zjg5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgog
I2VuZGlmCiAKLSAgICB2b2lkIGNyZWF0ZVJlbmRlcmluZ0JhY2tlbmQoUmVtb3RlUmVuZGVyaW5n
QmFja2VuZENyZWF0aW9uUGFyYW1ldGVycyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYp
OworICAgIHZvaWQgY3JlYXRlUmVuZGVyaW5nQmFja2VuZChSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
Q3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIHZvaWQgcmVsZWFzZVJlbmRlcmluZ0JhY2tlbmQo
UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpOwogCiAjaWYgRU5BQkxFKFdFQkdMKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA4ZDFkYWY4NmRkYzI0ZmE4Y2ViOTJiMGU0Nzc4MWE2
Y2UyOGI5MjYzLi43NzQ1NThlMTA3NTM3YTgyMWYxNjBlZDMzYzZmOTU5ZjcwZmU4ZjNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjMsNyArMjMsNyBAQAogI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBXYW50
c0Rpc3BhdGNoTWVzc2FnZSB7Ci0gICAgdm9pZCBDcmVhdGVSZW5kZXJpbmdCYWNrZW5kKHN0cnVj
dCBXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRlcnMgY3JlYXRp
b25QYXJhbWV0ZXJzKSAtPiAoKSBTeW5jaHJvbm91cworICAgIHZvaWQgQ3JlYXRlUmVuZGVyaW5n
QmFja2VuZChzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kQ3JlYXRpb25QYXJh
bWV0ZXJzIGNyZWF0aW9uUGFyYW1ldGVycykKICAgICB2b2lkIFJlbGVhc2VSZW5kZXJpbmdCYWNr
ZW5kKFdlYktpdDo6UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZElk
ZW50aWZpZXIpCiAjaWYgRU5BQkxFKFdFQkdMKQogICAgIHZvaWQgQ3JlYXRlR3JhcGhpY3NDb250
ZXh0R0woc3RydWN0IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1
dGVzLCBXZWJLaXQ6OkdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllciBncmFwaGljc0NvbnRleHRH
TElkZW50aWZpZXIsIFdlYktpdDo6UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5n
QmFja2VuZElkZW50aWZpZXIsIElQQzo6U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciBzdHJlYW0pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IDcxZjgzMjQ4ZTI4
OTlhMTQ5OWQ2NGQ4OTZjMjA3MTVmN2E5MzEzZGYuLmZiZDYxMzBjYjdmMjllNmRhNmU0NGNjODAx
MDkyYTc3YTY5NjNlNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24u
Y3BwCkBAIC05Myw2ICs5Myw5IEBAIHB1YmxpYzoKICAgICAvLyBEaXNwYXRjaCBwZW5kaW5nIHN5
bmMgbWVzc2FnZXMuCiAgICAgdm9pZCBkaXNwYXRjaE1lc3NhZ2VzKCk7CiAKKyAgICAvLyBBZGQg
bWF0Y2hpbmcgcGVuZGluZyBtZXNzYWdlcyB0byB0aGUgcHJvdmlkZWQgTWVzc2FnZVJlY2VpdmVR
dWV1ZS4KKyAgICB2b2lkIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mLCBNZXNz
YWdlUmVjZWl2ZVF1ZXVlJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsK
KwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTGF6eU5ldmVyRGVzdHJveWVkPENvbm5lY3Rp
b246OlN5bmNNZXNzYWdlU3RhdGU+OwogICAgIFN5bmNNZXNzYWdlU3RhdGUoKSA9IGRlZmF1bHQ7
CkBAIC0xMTcsNyArMTIwLDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGNvbm5lY3Rpb24tPmRp
c3BhdGNoTWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpKTsKICAgICAgICAgfQogICAgIH07Ci0gICAg
VmVjdG9yPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1fbWVzc2FnZXNUb0Rpc3BhdGNo
V2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5OworICAgIERlcXVlPENvbm5lY3Rpb25BbmRJbmNvbWlu
Z01lc3NhZ2U+IG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQ7IC8vIE9ubHkgdXNlZCBvbiB0aGUg
bWFpbiB0aHJlYWQuCisgICAgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbV9t
ZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHk7CiB9OwogCiBDb25uZWN0
aW9uOjpTeW5jTWVzc2FnZVN0YXRlJiBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5n
bGV0b24oKQpAQCAtMTMyLDYgKzEzNiwyNCBAQCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRl
JiBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQogICAgIHJldHVybiBz
eW5jTWVzc2FnZVN0YXRlOwogfQogCit2b2lkIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6
OmVucXVldWVNYXRjaGluZ01lc3NhZ2VzKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIE1lc3NhZ2VS
ZWNlaXZlUXVldWUmIHJlY2VpdmVRdWV1ZSwgUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWlu
dDY0X3QgZGVzdGluYXRpb25JRCkKK3sKKyAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKKyAg
ICBhdXRvIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIgPSBbJl0oRGVxdWU8Q29u
bmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4mIGNvbm5lY3Rpb25BbmRNZXNzYWdlcykgeworICAg
ICAgICBEZXF1ZTxDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiByZXN0OworICAgICAgICBm
b3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRNZXNzYWdlIDogY29ubmVjdGlvbkFuZE1lc3NhZ2VzKSB7
CisgICAgICAgICAgICBpZiAoY29ubmVjdGlvbkFuZE1lc3NhZ2UuY29ubmVjdGlvbi5wdHIoKSA9
PSAmY29ubmVjdGlvbiAmJiBjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNzYWdlLT5tZXNzYWdlUmVj
ZWl2ZXJOYW1lKCkgPT0gcmVjZWl2ZXJOYW1lICYmIChjb25uZWN0aW9uQW5kTWVzc2FnZS5tZXNz
YWdlLT5kZXN0aW5hdGlvbklEKCkgPT0gZGVzdGluYXRpb25JRCB8fCAhZGVzdGluYXRpb25JRCkp
CisgICAgICAgICAgICAgICAgcmVjZWl2ZVF1ZXVlLmVucXVldWVNZXNzYWdlKGNvbm5lY3Rpb24s
IFdURk1vdmUoY29ubmVjdGlvbkFuZE1lc3NhZ2UubWVzc2FnZSkpOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIHJlc3QuYXBwZW5kKFdURk1vdmUoY29ubmVjdGlvbkFuZE1lc3Nh
Z2UpKTsKKyAgICAgICAgfQorICAgICAgICBjb25uZWN0aW9uQW5kTWVzc2FnZXMgPSBXVEZNb3Zl
KHJlc3QpOworICAgIH07CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX211dGV4KTsKKyAg
ICBlbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlc0luQ29udGFpbmVyKG1fbWVzc2FnZXNCZWluZ0Rpc3Bh
dGNoZWQpOworICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzSW5Db250YWluZXIobV9tZXNzYWdl
c1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOworfQorCiBib29sIENvbm5lY3Rp
b246OlN5bmNNZXNzYWdlU3RhdGU6OnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoQ29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+JiBtZXNzYWdlKQogewogICAgIHN3
aXRjaCAobWVzc2FnZS0+c2hvdWxkRGlzcGF0Y2hNZXNzYWdlV2hlbldhaXRpbmdGb3JTeW5jUmVw
bHkoKSkgewpAQCAtMTczLDQxICsxOTUsNDEgQEAgdm9pZCBDb25uZWN0aW9uOjpTeW5jTWVzc2Fn
ZVN0YXRlOjpkaXNwYXRjaE1lc3NhZ2VzKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWlu
KCkpOwogCi0gICAgVmVjdG9yPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2Vz
VG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseTsKICAgICB7CiAgICAgICAgIGF1dG8g
bG9ja2VyID0gaG9sZExvY2sobV9tdXRleCk7Ci0gICAgICAgIG1fbWVzc2FnZXNUb0Rpc3BhdGNo
V2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5LnN3YXAobWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0
aW5nRm9yU3luY1JlcGx5KTsKKyAgICAgICAgaWYgKG1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNoZWQu
aXNFbXB0eSgpKQorICAgICAgICAgICAgbV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZCA9IHN0ZDo6
ZXhjaGFuZ2UobV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHksIHsg
fSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgd2hpbGUgKCFtX21lc3NhZ2VzVG9EaXNw
YXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAg
bV9tZXNzYWdlc0JlaW5nRGlzcGF0Y2hlZC5hcHBlbmQobV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGls
ZVdhaXRpbmdGb3JTeW5jUmVwbHkudGFrZUxhc3QoKSk7CisgICAgICAgIH0KICAgICB9CiAKLSAg
ICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdlc1RvRGlz
cGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpCi0gICAgICAgIGNvbm5lY3Rpb25BbmRJbmNv
bWluZ01lc3NhZ2UuZGlzcGF0Y2goKTsKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3Bh
dGNoZWQuaXNFbXB0eSgpKQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VG
aXJzdCgpLmRpc3BhdGNoKCk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0
ZTo6ZGlzcGF0Y2hNZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzRm9y
Q29ubmVjdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogewogICAgIEFTU0VSVChSdW5Mb29w
Ojppc01haW4oKSk7CiAKLSAgICBWZWN0b3I8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4g
bWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5OwogICAgIHsKICAgICAg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX211dGV4KTsKICAgICAgICAgQVNTRVJUKG1fZGlk
U2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzV29ya1NldC5jb250YWlucygmY29ubmVjdGlvbikpOwog
ICAgICAgICBtX2RpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc1dvcmtTZXQucmVtb3ZlKCZjb25u
ZWN0aW9uKTsKLSAgICAgICAgbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5j
UmVwbHkuc3dhcChtZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpOwot
ICAgIH0KLQotICAgIFZlY3RvcjxDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiBtZXNzYWdl
c1RvUHV0QmFjazsKLSAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2Ug
OiBtZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpIHsKLSAgICAgICAg
aWYgKCZjb25uZWN0aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVjdGlv
bi5wdHIoKSkKLSAgICAgICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuZGlzcGF0
Y2goKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbWVzc2FnZXNUb1B1dEJhY2suYXBwZW5k
KFdURk1vdmUoY29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZSkpOwotICAgIH0KLQotICAgIGlm
ICghbWVzc2FnZXNUb1B1dEJhY2suaXNFbXB0eSgpKSB7Ci0gICAgICAgIGF1dG8gbG9ja2VyID0g
aG9sZExvY2sobV9tdXRleCk7Ci0gICAgICAgIG1lc3NhZ2VzVG9QdXRCYWNrLmFwcGVuZFZlY3Rv
cihXVEZNb3ZlKG1fbWVzc2FnZXNUb0Rpc3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5KSk7
CisgICAgICAgIEFTU0VSVChtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmlzRW1wdHkoKSk7Cisg
ICAgICAgIERlcXVlPENvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2U+IG1lc3NhZ2VzVG9QdXRC
YWNrOworICAgICAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBt
X21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSkgeworICAgICAgICAg
ICAgaWYgKCZjb25uZWN0aW9uID09IGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UuY29ubmVj
dGlvbi5wdHIoKSkKKyAgICAgICAgICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLmFw
cGVuZChXVEZNb3ZlKGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UpKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBtZXNzYWdlc1RvUHV0QmFjay5hcHBlbmQoV1RGTW92ZShj
b25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlKSk7CisgICAgICAgIH0KICAgICAgICAgbV9tZXNz
YWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkgPSBXVEZNb3ZlKG1lc3NhZ2Vz
VG9QdXRCYWNrKTsKICAgICB9CisKKyAgICB3aGlsZSAoIW1fbWVzc2FnZXNCZWluZ0Rpc3BhdGNo
ZWQuaXNFbXB0eSgpKQorICAgICAgICBtX21lc3NhZ2VzQmVpbmdEaXNwYXRjaGVkLnRha2VGaXJz
dCgpLmRpc3BhdGNoKCk7CiB9CiAKIC8vIFJlcHJlc2VudHMgYSBzeW5jIHJlcXVlc3QgZm9yIHdo
aWNoIHdlJ3JlIHdhaXRpbmcgb24gYSByZXBseS4KQEAgLTMxOSw0MSArMzQxLDQ0IEBAIHZvaWQg
Q29ubmVjdGlvbjo6c2V0U2hvdWxkRXhpdE9uU3luY01lc3NhZ2VTZW5kRmFpbHVyZShib29sIHNo
b3VsZEV4aXRPblN5bmNNZXNzCiAgICAgbV9zaG91bGRFeGl0T25TeW5jTWVzc2FnZVNlbmRGYWls
dXJlID0gc2hvdWxkRXhpdE9uU3luY01lc3NhZ2VTZW5kRmFpbHVyZTsKIH0KIAotbmFtZXNwYWNl
IHsKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPgotRGVxdWU8c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+
PiBmaWx0ZXJXaXRoTWVzc2FnZVJlY2VpdmVRdWV1ZShDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBU
JiByZWNlaXZlUXVldWUsIFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3Rp
bmF0aW9uSUQsIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4mJiBpbmNvbWluZ01lc3Nh
Z2VzKQorLy8gRW5xdWV1ZSBhbnkgcGVuZGluZyBtZXNzYWdlIHRvIHRoZSBNZXNzYWdlUmVjZWl2
ZVF1ZXVlIHRoYXQgaXMgbWVhbnQgdG8gZ28gb24gdGhhdCBxdWV1ZS4gVGhpcyBpcyBpbXBvcnRh
bnQgdG8gbWFpbnRhaW4gdGhlIG9yZGVyaW5nIG9mCisvLyBJUEMgbWVzc2FnZXMgYXMgc29tZSBt
ZXNzYWdlcyBtYXkgZ2V0IHJlY2VpdmVkIG9uIHRoZSBJUEMgdGhyZWFkIGJlZm9yZSB0aGUgbWVz
c2FnZSByZWNlaXZlciByZWdpc3RlcmVkIGl0c2VsZiBvbiB0aGUgbWFpbiB0aHJlYWQuCit2b2lk
IENvbm5lY3Rpb246OmVucXVldWVNYXRjaGluZ01lc3NhZ2VzVG9NZXNzYWdlUmVjZWl2ZVF1ZXVl
KExvY2tlcjxMb2NrPiYsIE1lc3NhZ2VSZWNlaXZlUXVldWUmIHJlY2VpdmVRdWV1ZSwgUmVjZWl2
ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCkKIHsKLSAgICBEZXF1
ZTxzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4+IHJlc3Q7Ci0gICAgZm9yIChhdXRvJiBtZXNzYWdl
IDogaW5jb21pbmdNZXNzYWdlcykgeworICAgIEFTU0VSVChpc01haW5SdW5Mb29wKCkpOworCisg
ICAgU3luY01lc3NhZ2VTdGF0ZTo6c2luZ2xldG9uKCkuZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXMo
KnRoaXMsIHJlY2VpdmVRdWV1ZSwgcmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklEKTsKKworICAg
IERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPj4gcmVtYWluaW5nSW5jb21pbmdNZXNzYWdl
czsKKyAgICBmb3IgKGF1dG8mIG1lc3NhZ2UgOiBtX2luY29taW5nTWVzc2FnZXMpIHsKICAgICAg
ICAgaWYgKG1lc3NhZ2UtPm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSByZWNlaXZlck5hbWUgJiYg
KG1lc3NhZ2UtPmRlc3RpbmF0aW9uSUQoKSA9PSBkZXN0aW5hdGlvbklEIHx8ICFkZXN0aW5hdGlv
bklEKSkKLSAgICAgICAgICAgIHJlY2VpdmVRdWV1ZS5lbnF1ZXVlTWVzc2FnZShjb25uZWN0aW9u
LCBXVEZNb3ZlKG1lc3NhZ2UpKTsKKyAgICAgICAgICAgIHJlY2VpdmVRdWV1ZS5lbnF1ZXVlTWVz
c2FnZSgqdGhpcywgV1RGTW92ZShtZXNzYWdlKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
IHJlc3QuYXBwZW5kKFdURk1vdmUobWVzc2FnZSkpOworICAgICAgICAgICAgcmVtYWluaW5nSW5j
b21pbmdNZXNzYWdlcy5hcHBlbmQoV1RGTW92ZShtZXNzYWdlKSk7CiAgICAgfQotICAgIHJldHVy
biByZXN0OwotfQorICAgIG1faW5jb21pbmdNZXNzYWdlcyA9IFdURk1vdmUocmVtYWluaW5nSW5j
b21pbmdNZXNzYWdlcyk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6YWRkTWVzc2FnZVJlY2VpdmVR
dWV1ZShNZXNzYWdlUmVjZWl2ZVF1ZXVlJiByZWNlaXZlUXVldWUsIFJlY2VpdmVyTmFtZSByZWNl
aXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpCiB7Ci0gICAgYXV0byBsb2NrZXIgPSBo
b2xkTG9jayhtX2luY29taW5nTWVzc2FnZXNNdXRleCk7Ci0gICAgbV9pbmNvbWluZ01lc3NhZ2Vz
ID0gZmlsdGVyV2l0aE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsIHJlY2VpdmVRdWV1ZSwgcmVj
ZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklELCBXVEZNb3ZlKG1faW5jb21pbmdNZXNzYWdlcykpOwor
ICAgIGF1dG8gaW5jb21pbmdNZXNzYWdlc0xvY2tlciA9IGhvbGRMb2NrKG1faW5jb21pbmdNZXNz
YWdlc011dGV4KTsKKyAgICBlbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlc1RvTWVzc2FnZVJlY2VpdmVR
dWV1ZShpbmNvbWluZ01lc3NhZ2VzTG9ja2VyLCByZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFtZSwg
ZGVzdGluYXRpb25JRCk7CiAgICAgbV9yZWNlaXZlUXVldWVzLmFkZChyZWNlaXZlUXVldWUsIHJl
Y2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6YWRkV29y
a1F1ZXVlTWVzc2FnZVJlY2VpdmVyKFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIFdvcmtRdWV1
ZSYgd29ya1F1ZXVlLCBXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIqIHJlY2VpdmVyLCB1aW50NjRf
dCBkZXN0aW5hdGlvbklEKQogewogICAgIGF1dG8gcmVjZWl2ZVF1ZXVlID0gbWFrZVVuaXF1ZTxX
b3JrUXVldWVNZXNzYWdlUmVjZWl2ZXJRdWV1ZT4od29ya1F1ZXVlLCAqcmVjZWl2ZXIpOwotICAg
IGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9pbmNvbWluZ01lc3NhZ2VzTXV0ZXgpOwotICAgIG1f
aW5jb21pbmdNZXNzYWdlcyA9IGZpbHRlcldpdGhNZXNzYWdlUmVjZWl2ZVF1ZXVlKCp0aGlzLCAq
cmVjZWl2ZVF1ZXVlLCByZWNlaXZlck5hbWUsIGRlc3RpbmF0aW9uSUQsIFdURk1vdmUobV9pbmNv
bWluZ01lc3NhZ2VzKSk7CisgICAgYXV0byBpbmNvbWluZ01lc3NhZ2VzTG9ja2VyID0gaG9sZExv
Y2sobV9pbmNvbWluZ01lc3NhZ2VzTXV0ZXgpOworICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2Vz
VG9NZXNzYWdlUmVjZWl2ZVF1ZXVlKGluY29taW5nTWVzc2FnZXNMb2NrZXIsICpyZWNlaXZlUXVl
dWUsIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiAgICAgbV9yZWNlaXZlUXVldWVzLmFk
ZChXVEZNb3ZlKHJlY2VpdmVRdWV1ZSksIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9
CiAKIHZvaWQgQ29ubmVjdGlvbjo6YWRkVGhyZWFkTWVzc2FnZVJlY2VpdmVyKFJlY2VpdmVyTmFt
ZSByZWNlaXZlck5hbWUsIFRocmVhZE1lc3NhZ2VSZWNlaXZlciogcmVjZWl2ZXIsIHVpbnQ2NF90
IGRlc3RpbmF0aW9uSUQpCiB7CiAgICAgYXV0byByZWNlaXZlUXVldWUgPSBtYWtlVW5pcXVlPFRo
cmVhZE1lc3NhZ2VSZWNlaXZlclF1ZXVlPigqcmVjZWl2ZXIpOwotICAgIGF1dG8gbG9ja2VyID0g
aG9sZExvY2sobV9pbmNvbWluZ01lc3NhZ2VzTXV0ZXgpOwotICAgIG1faW5jb21pbmdNZXNzYWdl
cyA9IGZpbHRlcldpdGhNZXNzYWdlUmVjZWl2ZVF1ZXVlKCp0aGlzLCAqcmVjZWl2ZVF1ZXVlLCBy
ZWNlaXZlck5hbWUsIGRlc3RpbmF0aW9uSUQsIFdURk1vdmUobV9pbmNvbWluZ01lc3NhZ2VzKSk7
CisgICAgYXV0byBpbmNvbWluZ01lc3NhZ2VzTG9ja2VyID0gaG9sZExvY2sobV9pbmNvbWluZ01l
c3NhZ2VzTXV0ZXgpOworICAgIGVucXVldWVNYXRjaGluZ01lc3NhZ2VzVG9NZXNzYWdlUmVjZWl2
ZVF1ZXVlKGluY29taW5nTWVzc2FnZXNMb2NrZXIsICpyZWNlaXZlUXVldWUsIHJlY2VpdmVyTmFt
ZSwgZGVzdGluYXRpb25JRCk7CiAgICAgbV9yZWNlaXZlUXVldWVzLmFkZChXVEZNb3ZlKHJlY2Vp
dmVRdWV1ZSksIHJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25JRCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCAxMDY3MGEyYzRjZTVkNmVmODE4MDRiMGNi
M2Y3MmY2YzA5ZWRiZWQwLi5hYTA4ZmI4ZTRmN2E3ZmRjODdlNzhiZDYwYjdmNWE3MWM3ZmExZTM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0zMjksNiArMzI5
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBvcFBlbmRpbmdTeW5jUmVxdWVzdElEKHVpbnQ2NF90
IHN5bmNSZXF1ZXN0SUQpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiB3YWl0Rm9yU3lu
Y1JlcGx5KHVpbnQ2NF90IHN5bmNSZXF1ZXN0SUQsIE1lc3NhZ2VOYW1lLCBUaW1lb3V0LCBPcHRp
b25TZXQ8U2VuZFN5bmNPcHRpb24+KTsKIAorICAgIHZvaWQgZW5xdWV1ZU1hdGNoaW5nTWVzc2Fn
ZXNUb01lc3NhZ2VSZWNlaXZlUXVldWUoTG9ja2VyPExvY2s+JiBpbmNvbWluZ01lc3NhZ2VzTG9j
a2VyLCBNZXNzYWdlUmVjZWl2ZVF1ZXVlJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5h
dGlvbklEKTsKKwogICAgIC8vIENhbGxlZCBvbiB0aGUgY29ubmVjdGlvbiB3b3JrIHF1ZXVlLgog
ICAgIHZvaWQgcHJvY2Vzc0luY29taW5nTWVzc2FnZShzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4p
OwogICAgIHZvaWQgcHJvY2Vzc0luY29taW5nU3luY1JlcGx5KHN0ZDo6dW5pcXVlX3B0cjxEZWNv
ZGVyPik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAKaW5kZXggNWRj
NDJhNjMyMjFiMTVjZjQ3ODRhNmU2YTdjMDc2ZDhlYWUxZDVhNy4uZDBkY2E2M2QyZDk4M2Q3MjJi
NWE5MTJhN2I1NTM0MTIwMjA5NTJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5LmNwcApAQCAtNzUsMTAgKzc1LDcgQEAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6ZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKQogICAg
ICAgICBhdXRvJiBncHVQcm9jZXNzQ29ubmVjdGlvbiA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgICAgIGdwdVByb2Nlc3NDb25uZWN0
aW9uLmFkZENsaWVudCgqdGhpcyk7CiAgICAgICAgIGdwdVByb2Nlc3NDb25uZWN0aW9uLm1lc3Nh
Z2VSZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHJlbmRlcmluZ0JhY2tlbmRJ
ZGVudGlmaWVyKCkudG9VSW50NjQoKSwgKnRoaXMpOwotICAgICAgICAvLyBUaGlzIG1lc3NhZ2Ug
aXMgc3luY2hyb25vdXMgdG8gZW5zdXJlIHRoYXQgdGhlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQg
aGFzIGJlZW4gY3JlYXRlZCBhbmQgaGFzIHJlZ2lzdGVyZWQgaXRzZWxmIGFzIGEgV29ya1F1ZXVl
TWVzc2FnZVJlY2VpdmVyIGJlZm9yZSB3ZSBzZW5kIGl0IElQQy4KLSAgICAgICAgLy8gV2l0aG91
dCB0aGlzIHN5bmNocm9uaXphdGlvbiwgc29tZSBJUEMgbWVzc2FnZXMgbWF5IGdldCByZWNlaXZl
ZCBieSB0aGUgR1BVUHJvY2VzcyBiZWZvcmUgdGhlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgaGFz
IHJlZ2lzdGVyZWQgaXRzZWxmIGFzIGEgV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyCi0gICAgICAg
IC8vIGFuZCBJUEMgbWF5IGdldCBwcm9jZXNzZWQgb3V0IG9mIG9yZGVyLgotICAgICAgICBncHVQ
cm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5bmMoTWVzc2FnZXM6OkdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVJlbmRlcmluZ0JhY2tlbmQobV9wYXJhbWV0ZXJzKSwg
TWVzc2FnZXM6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVJlbmRlcmluZ0JhY2tl
bmQ6OlJlcGx5KCksIDApOworICAgICAgICBncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlUmVuZGVy
aW5nQmFja2VuZChtX3BhcmFtZXRlcnMpLCAwLCBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVz
c2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5bmNSZXBseSk7CiAgICAgICAgIG1fZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb24gPSBtYWtlV2Vha1B0cihncHVQcm9jZXNzQ29ubmVjdGlvbik7CiAgICAgfQogICAg
IHJldHVybiAqbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>