<?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>228119</bug_id>
          
          <creation_ts>2021-07-20 12:16:24 -0700</creation_ts>
          <short_desc>Completion handler of NetworkProcess::prepareToSuspend may not be invoked promptly</short_desc>
          <delta_ts>2021-07-20 16:09:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1778234</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-20 12:16:24 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778237</commentid>
    <comment_count>1</comment_count>
      <attachid>433891</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-20 12:31:22 -0700</bug_when>
    <thetext>Created attachment 433891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778245</commentid>
    <comment_count>2</comment_count>
      <attachid>433891</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-20 12:49:25 -0700</bug_when>
    <thetext>Comment on attachment 433891
Patch

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

&gt; Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:1455
&gt; +    sharedStatisticsQueue()-&gt;dispatch([suspensionIdentifier = globalSuspensionIdentifier, completionHandler = WTFMove(completionHandler)] () mutable {

Could use `suspensionIdentifier = ++globalSuspensionIdentifier`, and then you wouldn&apos;t need the `++globalSuspensionIdentifier;` line above.

&gt; Source/WebKit/NetworkProcess/NetworkProcess.cpp:2227
&gt; +    RunLoop::main().dispatchAfter(5_s, [this, weakThis = makeWeakPtr(*this), suspensionIdentifier = m_suspensionIdentifier] {

ditto.

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:184
&gt; +    m_queue-&gt;dispatch([this, protectedThis = makeRef(*this), suspensionIdentifier = m_suspensionIdentifier, completionHandler = WTFMove(completionHandler)] () mutable {

ditto.

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.h:106
&gt; +    uint64_t m_suspensionIdentifier  WTF_GUARDED_BY_LOCK(m_suspensionLock) { 0 };

nit: extra space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778282</commentid>
    <comment_count>3</comment_count>
      <attachid>433901</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-07-20 14:36:26 -0700</bug_when>
    <thetext>Created attachment 433901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778301</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-20 16:08:34 -0700</bug_when>
    <thetext>Committed r280110 (239827@main): &lt;https://commits.webkit.org/239827@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433901.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778302</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-20 16:09:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/80864282&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433891</attachid>
            <date>2021-07-20 12:31:22 -0700</date>
            <delta_ts>2021-07-20 14:36:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228119-20210720123121.patch</filename>
            <type>text/plain</type>
            <size>12970</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRjZGRiMjBkYmZmYjZiOTA4
YzRmZGRhOWQwMjBkZTNjYjQ5ZTU2NTAuLjQxZWM5YTEwNDczYmQyZGQwNzU1N2E4NTVjNzc1Yjli
YmJiZWI5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDctMjAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQ29tcGxldGlvbiBoYW5kbGVyIG9m
IE5ldHdvcmtQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kIG1heSBub3QgYmUgaW52b2tlZCBwcm9t
cHRseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4
MTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIGFuZCBTdG9yYWdlTWFuYWdlclNldCBkaXNwYXRj
aCB0YXNrIHRvIHN1c3BlbmQgYmFja2dyb3VuZCB0aHJlYWQgb24gc3VzcGVuc2lvbi4KKyAgICAg
ICAgV2hlbiB0aGUgdGFzayBpcyBmaW5pc2hlZCBvbiBiYWNrZ3JvdW5kIHRocmVhZCwgaXQgZGlz
cGF0Y2hlcyBhIHJlcGx5IHRhc2sgdG8gbWFpbiB0aHJlYWQuIFdoZW4gYWxsIHJlcGxpZXMgYXJl
CisgICAgICAgIHJlY2VpdmVkLCBOZXR3b3JrUHJvY2VzcyByZXBsaWVzIHByZXBhcmVUb1N1c3Bl
bmQgbWVzc2FnZS4gV2l0aCBvdXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgaWYgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIHJlY2VpdmVzIG1lc3NhZ2VzIGluIG9yZGVyIHsgUHJlcGFyZVRvU3Vz
cGVuZCwgUHJvY2Vzc0RpZFJlc3VtZSwgUHJlcGFyZVRvU3VzcGVuZCB9LCAKKyAgICAgICAgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIGFuZCBTdG9yYWdlTWFuYWdlclNldCBtYXkgZGlz
cGF0Y2ggdHdvIHN1c3BlbmQgdGFza3MgdG8gYmFja2dyb3VuZCB0aHJlYWQgYW5kCisgICAgICAg
IGdldCBzdXNwZW5kZWQgaW4gdGhlIGZpcnN0IHRhc2suIEluIHRoaXMgY2FzZSwgdGhlIHNlY29u
ZCBQcmVwYXJlVG9TdXNwZW5kIG1lc3NhZ2Ugd2lsbCBub3QgYmUgcmVwbGllZCwgYW5kCisgICAg
ICAgIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIG9uIHJlcGx5IGZvciB0aGUgbGF0ZXN0IFBy
ZXBhcmVUb1N1c3BlbmQgbWVzc2FnZSB0byByZWxlYXNlIGFzc2VydGlvbi4gVG8gc29sdmUgdGhp
cywKKyAgICAgICAgYmFja2dyb3VuZCB0aHJlYWQgc2hvdWxkIG9ubHkgZXhlY3V0ZSBsYXRlc3Qg
c3VzcGVuZCB0YXNrIGJ5IGNoZWNraW5nIHRhc2sgaWRlbnRpZmllci4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V1RGX0dVQVJERURfQllfTE9DSyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1VwZGF0ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OnN1c3BlbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OnJlc3VtZSk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmg6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6c3VzcGVuZElEQlNlcnZlcnMpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvV2ViU3Rv
cmFnZS9TdG9yYWdlTWFuYWdlclNldC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5h
Z2VyU2V0OjpzdXNwZW5kKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXJTZXQ6OnJl
c3VtZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdl
clNldC5oOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6V1RGX0dVQVJERURf
QllfTE9DSyk6CisgICAgICAgICgpOiBEZWxldGVkLgorCiAyMDIxLTA3LTE5ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFRhcHBpbmcgaW1h
Z2VzIG9uIHR3aXR0ZXIuY29tIHNob3VsZCBub3QgdG9nZ2xlIHRhYiBiYXIgdmlzaWJpbGl0eQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAppbmRleCA2
MGQzZTViYTllOGJiNDUzMjcyMGJmOTcxZjk3ZmM4OGUxM2I4NWE1Li44MDU1YzYwZWUyNTlhNjEz
M2U1ODZlOTkxZGJlNzQ3OTY0N2M1ZmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtNTksOSArNTksMTAgQEAKIG5hbWVzcGFjZSBXZWJL
aXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6U3RhdGUgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzdXNwZW5kZWRT
dGF0ZSB7IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6U3RhdGU6OlJ1bm5pbmcgfTsK
LUxvY2sgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzdXNwZW5kZWRTdGF0ZUxvY2s7
Ci1Db25kaXRpb24gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzdXNwZW5kZWRTdGF0
ZUNoYW5nZUNvbmRpdGlvbjsKK3N0YXRpYyBMb2NrIGdsb2JhbFN1c3BlbnNpb25Mb2NrOworc3Rh
dGljIENvbmRpdGlvbiBnbG9iYWxTdXNwZW5zaW9uQ29uZGl0aW9uOworc3RhdGljIGJvb2wgZ2xv
YmFsU2hvdWxkU3VzcGVuZCBXVEZfR1VBUkRFRF9CWV9MT0NLKGdsb2JhbFN1c3BlbnNpb25Mb2Nr
KSB7IGZhbHNlIH07CitzdGF0aWMgdWludDY0X3QgZ2xvYmFsU3VzcGVuc2lvbklkZW50aWZpZXIg
V1RGX0dVQVJERURfQllfTE9DSyhnbG9iYWxTdXNwZW5zaW9uTG9jaykgeyAwIH07CiAKIGNvbnN0
IE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+JiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6Om1vbml0b3JlZERhdGFUeXBlcygpCiB7CkBAIC0zNTQsMTMgKzM1NSw2IEBAIHZvaWQgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZXNvdXJjZUxvYWRTdGF0aXN0aWNzVXBkYXRl
ZChWZWN0b3I8UmVzb3VyCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotI2lmIEFT
U0VSVF9FTkFCTEVECi0gICAgICAgIHsKLSAgICAgICAgICAgIExvY2tlciBzdGF0ZUxvY2tlciB7
IHN1c3BlbmRlZFN0YXRlTG9jayB9OwotICAgICAgICAgICAgQVNTRVJUKHN1c3BlbmRlZFN0YXRl
ICE9IFN0YXRlOjpTdXNwZW5kZWQpOwotICAgICAgICB9Ci0jZW5kaWYKLQogICAgICAgICBtX3N0
YXRpc3RpY3NTdG9yZS0+bWVyZ2VTdGF0aXN0aWNzKFdURk1vdmUoc3RhdGlzdGljcykpOwogICAg
ICAgICBwb3N0VGFza1JlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAg
Ly8gV2UgY2FuIGNhbmNlbCBhbnkgcGVuZGluZyByZXF1ZXN0IHRvIHByb2Nlc3Mgc3RhdGlzdGlj
cyBzaW5jZSB3ZSdyZSBkb2luZyBpdCBzeW5jaHJvbm91c2x5IGJlbG93LgpAQCAtMTQ1NCwxNyAr
MTQ0OCwxMyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6YWdncmVnYXRl
ZFRoaXJkUGFydHlEYXRhKENvbXBsZXRpb25IYW5kbGVyPAogCiB2b2lkIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgY29t
cGxldGlvbkhhbmRsZXJDYWxsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgIExv
Y2tlciBzdGF0ZUxvY2tlciB7IHN1c3BlbmRlZFN0YXRlTG9jayB9OwotICAgIGlmIChzdXNwZW5k
ZWRTdGF0ZSAhPSBTdGF0ZTo6UnVubmluZykKLSAgICAgICAgcmV0dXJuOwotICAgIHN1c3BlbmRl
ZFN0YXRlID0gU3RhdGU6OldpbGxTdXNwZW5kOworICAgIExvY2tlciBzdXNwZW5zaW9uTG9ja2Vy
IHsgZ2xvYmFsU3VzcGVuc2lvbkxvY2sgfTsKKyAgICArK2dsb2JhbFN1c3BlbnNpb25JZGVudGlm
aWVyOworICAgIGdsb2JhbFNob3VsZFN1c3BlbmQgPSB0cnVlOwogCi0gICAgc2hhcmVkU3RhdGlz
dGljc1F1ZXVlKCktPmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IGNvbXBsZXRpb25IYW5k
bGVyQ2FsbGVyLnJlbGVhc2UoKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIExvY2tlciBzdGF0ZUxv
Y2tlciB7IHN1c3BlbmRlZFN0YXRlTG9jayB9OwotICAgICAgICBBU1NFUlQoc3VzcGVuZGVkU3Rh
dGUgIT0gU3RhdGU6OlN1c3BlbmRlZCk7Ci0KLSAgICAgICAgaWYgKHN1c3BlbmRlZFN0YXRlICE9
IFN0YXRlOjpXaWxsU3VzcGVuZCkgeworICAgIHNoYXJlZFN0YXRpc3RpY3NRdWV1ZSgpLT5kaXNw
YXRjaChbc3VzcGVuc2lvbklkZW50aWZpZXIgPSBnbG9iYWxTdXNwZW5zaW9uSWRlbnRpZmllciwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJs
ZSB7CisgICAgICAgIExvY2tlciBzdXNwZW5zaW9uTG9ja2VyIHsgZ2xvYmFsU3VzcGVuc2lvbkxv
Y2sgfTsKKyAgICAgICAgaWYgKCFnbG9iYWxTaG91bGRTdXNwZW5kIHx8IHN1c3BlbnNpb25JZGVu
dGlmaWVyICE9IGdsb2JhbFN1c3BlbnNpb25JZGVudGlmaWVyKSB7CiAgICAgICAgICAgICBwb3N0
VGFza1JlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQpAQCAtMTQ3MiwyMiArMTQ2MiwyMCBAQCB2b2lkIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldAogICAgICAgICBmb3IgKGF1dG8mIGRhdGFiYXNlU3RvcmUgOiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZTo6YWxsU3RvcmVzKCkpCiAgICAgICAgICAgICBkYXRhYmFzZVN0
b3JlLT5pbnRlcnJ1cHQoKTsKIAotICAgICAgICBzdXNwZW5kZWRTdGF0ZSA9IFN0YXRlOjpTdXNw
ZW5kZWQ7CiAgICAgICAgIHBvc3RUYXNrUmVwbHkoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwogCi0gICAgICAgIHdoaWxlIChzdXNwZW5kZWRTdGF0ZSA9PSBTdGF0ZTo6U3VzcGVuZGVkKQot
ICAgICAgICAgICAgc3VzcGVuZGVkU3RhdGVDaGFuZ2VDb25kaXRpb24ud2FpdChzdXNwZW5kZWRT
dGF0ZUxvY2spOwotICAgICAgICBBU1NFUlQoc3VzcGVuZGVkU3RhdGUgIT0gU3RhdGU6OlN1c3Bl
bmRlZCk7CisgICAgICAgIHdoaWxlIChnbG9iYWxTaG91bGRTdXNwZW5kKQorICAgICAgICAgICAg
Z2xvYmFsU3VzcGVuc2lvbkNvbmRpdGlvbi53YWl0KGdsb2JhbFN1c3BlbnNpb25Mb2NrKTsKICAg
ICB9KTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlc3VtZSgp
CiB7Ci0gICAgTG9ja2VyIHN0YXRlTG9ja2VyIHsgc3VzcGVuZGVkU3RhdGVMb2NrIH07Ci0gICAg
YXV0byBwcmV2aW91c1N0YXRlID0gc3VzcGVuZGVkU3RhdGU7Ci0gICAgc3VzcGVuZGVkU3RhdGUg
PSBTdGF0ZTo6UnVubmluZzsKLSAgICBpZiAocHJldmlvdXNTdGF0ZSA9PSBTdGF0ZTo6U3VzcGVu
ZGVkKQotICAgICAgICBzdXNwZW5kZWRTdGF0ZUNoYW5nZUNvbmRpdGlvbi5ub3RpZnlPbmUoKTsK
KyAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOworCisgICAgTG9ja2VyIHN1c3BlbnNpb25M
b2NrZXIgeyBnbG9iYWxTdXNwZW5zaW9uTG9jayB9OworICAgIGdsb2JhbFNob3VsZFN1c3BlbmQg
PSBmYWxzZTsKKyAgICBnbG9iYWxTdXNwZW5zaW9uQ29uZGl0aW9uLm5vdGlmeU9uZSgpOwogfQog
CiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6aW5zZXJ0RXhwaXJlZFN0YXRp
c3RpY0ZvclRlc3RpbmcoY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGRvbWFpbiwgdW5zaWduZWQg
bnVtYmVyT2ZPcGVyYXRpbmdEYXlzUGFzc2VkLCBib29sIGhhZFVzZXJJbnRlcmFjdGlvbiwgYm9v
bCBpc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsLCBib29sIGlzUHJldmFsZW50
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKaW5kZXggYzc2YTZhY2E0ODQ1
MTUxMDViNjQ5MWUxM2Q4ZTA1ZTQ1NzNjNDFhNS4uMGIyNjEwNGZlMjBlOTk2ZmNiZWU0MWRmN2Rh
MjY5YTA1NmIwOTQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUuaApAQCAtMjkwLDE1ICsyOTAsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNTY2hl
ZHVsZWRQcm9jZXNzU3RhdHMgeyBmYWxzZSB9OwogCiAgICAgYm9vbCBtX2ZpcnN0TmV0d29ya1By
b2Nlc3NDcmVhdGVkIHsgZmFsc2UgfTsKLSAgICAKLSAgICBlbnVtIGNsYXNzIFN0YXRlIHsKLSAg
ICAgICAgUnVubmluZywKLSAgICAgICAgV2lsbFN1c3BlbmQsCi0gICAgICAgIFN1c3BlbmRlZAot
ICAgIH07Ci0gICAgc3RhdGljIExvY2sgc3VzcGVuZGVkU3RhdGVMb2NrOwotICAgIHN0YXRpYyBT
dGF0ZSBzdXNwZW5kZWRTdGF0ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKHN1c3BlbmRlZFN0YXRlTG9j
ayk7Ci0gICAgc3RhdGljIENvbmRpdGlvbiBzdXNwZW5kZWRTdGF0ZUNoYW5nZUNvbmRpdGlvbjsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA1ODBmMmU0YjBhODIzMGJiNjI3YTkzMjUy
YjIzMTg3NTdkNTUyNTZlLi40MzYwNTAyZDEwNjE3OWY2NzI4OTU5Y2NlMzJjZjYwNzZkMTE5MDcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cApAQCAtMjIxNCw2ICsyMjE0LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cHJvY2Vzc1dpbGxT
dXNwZW5kSW1taW5lbnRseUZvclRlc3RpbmdTeW5jKENvbXBsZXRpb25IYW5kbGUKIHZvaWQgTmV0
d29ya1Byb2Nlc3M6OnN1c3BlbmRJREJTZXJ2ZXJzKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQp
CiB7CiAgICAgbV9zaG91bGRTdXNwZW5kSURCU2VydmVycyA9IHRydWU7CisgICAgKyttX3N1c3Bl
bnNpb25JZGVudGlmaWVyOwogCiAgICAgYm9vbCBhbGxTdXNwZW5kZWQgPSB0cnVlOwogICAgIGF1
dG8gY29uZGl0aW9uID0gaXNTdXNwZW5zaW9uSW1taW5lbnQgPyBXZWJJREJTZXJ2ZXI6OlN1c3Bl
bnNpb25Db25kaXRpb246OkFsd2F5cyA6IFdlYklEQlNlcnZlcjo6U3VzcGVuc2lvbkNvbmRpdGlv
bjo6SWZJZGxlOwpAQCAtMjIyMywxMyArMjIyNCwxMyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpz
dXNwZW5kSURCU2VydmVycyhib29sIGlzU3VzcGVuc2lvbkltbWluZW50KQogICAgIGlmIChhbGxT
dXNwZW5kZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRj
aEFmdGVyKDVfcywgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSB7CisgICAg
UnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoQWZ0ZXIoNV9zLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cigqdGhpcyksIHN1c3BlbnNpb25JZGVudGlmaWVyID0gbV9zdXNwZW5zaW9uSWRlbnRp
Zmllcl0gewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgICAgIGlmICghbV9zaG91bGRTdXNwZW5kSURCU2VydmVycykKKyAgICAgICAgaWYgKCFtX3No
b3VsZFN1c3BlbmRJREJTZXJ2ZXJzIHx8IHN1c3BlbnNpb25JZGVudGlmaWVyICE9IG1fc3VzcGVu
c2lvbklkZW50aWZpZXIpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAgICAgICAg
IGZvciAoYXV0byYgc2VydmVyIDogbV93ZWJJREJTZXJ2ZXJzLnZhbHVlcygpKQogICAgICAgICAg
ICAgc2VydmVyLT5zdXNwZW5kKFdlYklEQlNlcnZlcjo6U3VzcGVuc2lvbkNvbmRpdGlvbjo6QWx3
YXlzKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAppbmRleCBmZmI2ZWY2MTE3ZTM3MjEzOWUzYjRlZWMxNGNkZjM2Njk0Nzc2MGVkLi5m
MDZkYWQ0NzI5YmRmYmVhNzUzZmY4YzkzYWEzZTc1YTlhZDg4YjAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC01ODUsNiArNTg1LDcgQEAg
cHJpdmF0ZToKICAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBTdHJpbmc+IG1faWRiRGF0YWJh
c2VQYXRoczsKICAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBSZWZQdHI8V2ViSURCU2VydmVy
Pj4gbV93ZWJJREJTZXJ2ZXJzOwogICAgIGJvb2wgbV9zaG91bGRTdXNwZW5kSURCU2VydmVycyB7
IGZhbHNlIH07CisgICAgdWludDY0X3QgbV9zdXNwZW5zaW9uSWRlbnRpZmllciB7IDAgfTsKICAg
ICAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgc3RydWN0IFNlcnZpY2VXb3JrZXJJ
bmZvIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFn
ZS9TdG9yYWdlTWFuYWdlclNldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dl
YlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCmluZGV4IDk4MjYyMWFmYmZlZDJkZGE5ZGNj
NjJhMzc0MzA2NThjMzczOTQ0ZjMuLjA0M2RkZjliYjhjM2ZmZGVjODczMjhhNjU4YWVlNDRkNmM5
YzEwMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFn
ZS9TdG9yYWdlTWFuYWdlclNldC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNwcApAQCAtMTc3LDE3ICsxNzcsMTMgQEAg
dm9pZCBTdG9yYWdlTWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsK
IAotICAgIENvbXBsZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3BlIGNvbXBsZXRpb25IYW5kbGVyQ2Fs
bGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICBMb2NrZXIgc3RhdGVMb2NrZXIg
eyBtX3N0YXRlTG9jayB9OwotICAgIGlmIChtX3N0YXRlICE9IFN0YXRlOjpSdW5uaW5nKQotICAg
ICAgICByZXR1cm47Ci0gICAgbV9zdGF0ZSA9IFN0YXRlOjpXaWxsU3VzcGVuZDsKLQotICAgIG1f
cXVldWUtPmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNv
bXBsZXRpb25IYW5kbGVyID0gY29tcGxldGlvbkhhbmRsZXJDYWxsZXIucmVsZWFzZSgpXSAoKSBt
dXRhYmxlIHsKLSAgICAgICAgTG9ja2VyIHN0YXRlTG9ja2VyIHsgbV9zdGF0ZUxvY2sgfTsKLSAg
ICAgICAgQVNTRVJUKG1fc3RhdGUgIT0gU3RhdGU6OlN1c3BlbmRlZCk7CisgICAgTG9ja2VyIHN1
c3BlbnNpb25Mb2NrZXIgeyBtX3N1c3BlbnNpb25Mb2NrIH07CisgICAgKyttX3N1c3BlbnNpb25J
ZGVudGlmaWVyOworICAgIG1fc2hvdWxkU3VzcGVuZCA9IHRydWU7CiAKLSAgICAgICAgaWYgKG1f
c3RhdGUgIT0gU3RhdGU6OldpbGxTdXNwZW5kKSB7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc3VzcGVuc2lvbklkZW50aWZpZXIg
PSBtX3N1c3BlbnNpb25JZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgTG9ja2VyIHN1c3BlbnNpb25M
b2NrZXIgeyBtX3N1c3BlbnNpb25Mb2NrIH07CisgICAgICAgIGlmICghbV9zaG91bGRTdXNwZW5k
IHx8IHN1c3BlbnNpb25JZGVudGlmaWVyICE9IG1fc3VzcGVuc2lvbklkZW50aWZpZXIpIHsKICAg
ICAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTE5NiwxMiArMTkyLDEw
IEBAIHZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OnN1c3BlbmQoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgICAgICAvLyBTUUwgdHJhbnNhY3Rpb24gaGFz
IGJlZW4gY29tbWl0dGVkLgogICAgICAgICBmbHVzaExvY2FsU3RvcmFnZSgpOwogCi0gICAgICAg
IG1fc3RhdGUgPSBTdGF0ZTo6U3VzcGVuZGVkOwogICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlz
cGF0Y2goV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCi0gICAgICAgIHdoaWxlIChtX3N0
YXRlID09IFN0YXRlOjpTdXNwZW5kZWQpCi0gICAgICAgICAgICBtX3N0YXRlQ2hhbmdlQ29uZGl0
aW9uLndhaXQobV9zdGF0ZUxvY2spOwotICAgICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6
UnVubmluZyk7CisgICAgICAgIHdoaWxlIChtX3Nob3VsZFN1c3BlbmQpCisgICAgICAgICAgICBt
X3N1c3BlbnNpb25Db25kaXRpb24ud2FpdChtX3N1c3BlbnNpb25Mb2NrKTsKICAgICB9KTsKIH0K
IApAQCAtMjA5LDExICsyMDMsOSBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0OjpyZXN1bWUoKQog
ewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBMb2NrZXIgc3RhdGVMb2Nr
ZXIgeyBtX3N0YXRlTG9jayB9OwotICAgIGF1dG8gcHJldmlvdXNTdGF0ZSA9IG1fc3RhdGU7Ci0g
ICAgbV9zdGF0ZSA9IFN0YXRlOjpSdW5uaW5nOwotICAgIGlmIChwcmV2aW91c1N0YXRlID09IFN0
YXRlOjpTdXNwZW5kZWQpCi0gICAgICAgIG1fc3RhdGVDaGFuZ2VDb25kaXRpb24ubm90aWZ5T25l
KCk7CisgICAgTG9ja2VyIHN1c3BlbnNpb25Mb2NrZXIgeyBtX3N1c3BlbnNpb25Mb2NrIH07Cisg
ICAgbV9zaG91bGRTdXNwZW5kID0gZmFsc2U7CisgICAgbV9zdXNwZW5zaW9uQ29uZGl0aW9uLm5v
dGlmeU9uZSgpOwogfQogCiB2b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0OjpnZXRTZXNzaW9uU3RvcmFn
ZU9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBHZXRPcmlnaW5zQ2FsbGJhY2smJiBj
b21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmgKaW5kZXggNjk0NWYyYjE5OTIw
MmE3NzQxM2JlZjcxMWE1OTUxMGE3MDBkMThiMy4uMzU3YzQxYzQ3NmFkZmYwOWVjMGVmYzhhODgx
ZWM1MzViMjI1YjkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmgKQEAgLTEwMCwxNCArMTAwLDEw
IEBAIHByaXZhdGU6CiAgICAgSGFzaFNldDxJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlEPiBtX2Nv
bm5lY3Rpb25zOwogICAgIFJlZjxXb3JrUXVldWU+IG1fcXVldWU7CiAKLSAgICBlbnVtIGNsYXNz
IFN0YXRlIHsKLSAgICAgICAgUnVubmluZywKLSAgICAgICAgV2lsbFN1c3BlbmQsCi0gICAgICAg
IFN1c3BlbmRlZAotICAgIH07Ci0gICAgU3RhdGUgbV9zdGF0ZSB7IFN0YXRlOjpSdW5uaW5nIH07
Ci0gICAgTG9jayBtX3N0YXRlTG9jazsKLSAgICBDb25kaXRpb24gbV9zdGF0ZUNoYW5nZUNvbmRp
dGlvbjsKKyAgICBMb2NrIG1fc3VzcGVuc2lvbkxvY2s7CisgICAgQ29uZGl0aW9uIG1fc3VzcGVu
c2lvbkNvbmRpdGlvbjsKKyAgICBib29sIG1fc2hvdWxkU3VzcGVuZCBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fc3VzcGVuc2lvbkxvY2spIHsgZmFsc2UgfTsKKyAgICB1aW50NjRfdCBtX3N1c3BlbnNp
b25JZGVudGlmaWVyICBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc3VzcGVuc2lvbkxvY2spIHsgMCB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433901</attachid>
            <date>2021-07-20 14:36:26 -0700</date>
            <delta_ts>2021-07-20 16:08:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228119-20210720143625.patch</filename>
            <type>text/plain</type>
            <size>12908</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRjZGRiMjBkYmZmYjZiOTA4
YzRmZGRhOWQwMjBkZTNjYjQ5ZTU2NTAuLjI1YWM0MTIwMzJlNTc3ZTgxZGVkN2ZjOGQ1NDFjYzVl
YmE1MDhhNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDctMjAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQ29tcGxldGlvbiBoYW5kbGVyIG9m
IE5ldHdvcmtQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kIG1heSBub3QgYmUgaW52b2tlZCBwcm9t
cHRseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4
MTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIGFuZCBTdG9yYWdlTWFuYWdlclNldCBkaXNwYXRj
aCB0YXNrIHRvIHN1c3BlbmQgYmFja2dyb3VuZCB0aHJlYWQgb24gc3VzcGVuc2lvbi4KKyAgICAg
ICAgV2hlbiB0aGUgdGFzayBpcyBmaW5pc2hlZCBvbiBiYWNrZ3JvdW5kIHRocmVhZCwgaXQgZGlz
cGF0Y2hlcyBhIHJlcGx5IHRhc2sgdG8gbWFpbiB0aHJlYWQuIFdoZW4gYWxsIHJlcGxpZXMgYXJl
CisgICAgICAgIHJlY2VpdmVkLCBuZXR3b3JrIHByb2Nlc3MgcmVwbGllcyBwcmVwYXJlVG9TdXNw
ZW5kIG1lc3NhZ2UuIFdpdGggb3VyIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIGlmIG5ldHdvcmsg
cHJvY2VzcworICAgICAgICByZWNlaXZlcyBtZXNzYWdlcyBpbiBvcmRlciB7IFByZXBhcmVUb1N1
c3BlbmQsIFByb2Nlc3NEaWRSZXN1bWUsIFByZXBhcmVUb1N1c3BlbmQgfSwgCisgICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBhbmQgU3RvcmFnZU1hbmFnZXJTZXQgbWF5IGRp
c3BhdGNoIHR3byBzdXNwZW5kIHRhc2tzIHRvIGJhY2tncm91bmQgdGhyZWFkIGFuZAorICAgICAg
ICBnZXQgc3VzcGVuZGVkIGluIHRoZSBmaXJzdCB0YXNrLiBJbiB0aGlzIGNhc2UsIHRoZSBzZWNv
bmQgUHJlcGFyZVRvU3VzcGVuZCBtZXNzYWdlIHdpbGwgbm90IGJlIHJlcGxpZWQsIGFuZAorICAg
ICAgICBVSSBwcm9jZXNzIHdpbGwgYmUgd2FpdGluZyBvbiByZXBseSBmb3IgdGhlIGxhdGVzdCBQ
cmVwYXJlVG9TdXNwZW5kIG1lc3NhZ2UgdG8gcmVsZWFzZSBhc3NlcnRpb24uIFRvIHNvbHZlIHRo
aXMsCisgICAgICAgIGJhY2tncm91bmQgdGhyZWFkIHNob3VsZCBvbmx5IGV4ZWN1dGUgbGF0ZXN0
IHN1c3BlbmQgdGFzayBieSBjaGVja2luZyB0YXNrIGlkZW50aWZpZXIuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldURl9HVUFSREVEX0JZX0xPQ0spOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NVcGRhdGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpzdXNwZW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlOjpyZXN1bWUpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnN1c3BlbmRJREJTZXJ2ZXJzKToKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0
b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFu
YWdlclNldDo6c3VzcGVuZCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyU2V0Ojpy
ZXN1bWUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXJTZXQuaDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXJTZXQ6OldURl9HVUFSREVE
X0JZX0xPQ0spOgorICAgICAgICAoKTogRGVsZXRlZC4KKwogMjAyMS0wNy0xOSAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBUYXBwaW5nIGlt
YWdlcyBvbiB0d2l0dGVyLmNvbSBzaG91bGQgbm90IHRvZ2dsZSB0YWIgYmFyIHZpc2liaWxpdHkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXgg
NjBkM2U1YmE5ZThiYjQ1MzI3MjBiZjk3MWY5N2ZjODhlMTNiODVhNS4uNGY4MDc1MWRmMDAzMGY2
Y2YyOThkMDRkZDcwMGQ5N2UzZmIyOWUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKQEAgLTU5LDkgKzU5LDEwIEBACiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmU6OlN0YXRlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c3VzcGVuZGVk
U3RhdGUgeyBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OlN0YXRlOjpSdW5uaW5nIH07
Ci1Mb2NrIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c3VzcGVuZGVkU3RhdGVMb2Nr
OwotQ29uZGl0aW9uIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c3VzcGVuZGVkU3Rh
dGVDaGFuZ2VDb25kaXRpb247CitzdGF0aWMgTG9jayBnbG9iYWxTdXNwZW5zaW9uTG9jazsKK3N0
YXRpYyBDb25kaXRpb24gZ2xvYmFsU3VzcGVuc2lvbkNvbmRpdGlvbjsKK3N0YXRpYyBib29sIGds
b2JhbFNob3VsZFN1c3BlbmQgV1RGX0dVQVJERURfQllfTE9DSyhnbG9iYWxTdXNwZW5zaW9uTG9j
aykgeyBmYWxzZSB9Oworc3RhdGljIHVpbnQ2NF90IGdsb2JhbFN1c3BlbnNpb25JZGVudGlmaWVy
IFdURl9HVUFSREVEX0JZX0xPQ0soZ2xvYmFsU3VzcGVuc2lvbkxvY2spIHsgMCB9OwogCiBjb25z
dCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiYgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjptb25pdG9yZWREYXRhVHlwZXMoKQogewpAQCAtMzU0LDEzICszNTUsNiBAQCB2b2lkIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVzb3VyY2VMb2FkU3RhdGlzdGljc1VwZGF0
ZWQoVmVjdG9yPFJlc291cgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSNpZiBB
U1NFUlRfRU5BQkxFRAotICAgICAgICB7Ci0gICAgICAgICAgICBMb2NrZXIgc3RhdGVMb2NrZXIg
eyBzdXNwZW5kZWRTdGF0ZUxvY2sgfTsKLSAgICAgICAgICAgIEFTU0VSVChzdXNwZW5kZWRTdGF0
ZSAhPSBTdGF0ZTo6U3VzcGVuZGVkKTsKLSAgICAgICAgfQotI2VuZGlmCi0KICAgICAgICAgbV9z
dGF0aXN0aWNzU3RvcmUtPm1lcmdlU3RhdGlzdGljcyhXVEZNb3ZlKHN0YXRpc3RpY3MpKTsKICAg
ICAgICAgcG9zdFRhc2tSZXBseShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAg
IC8vIFdlIGNhbiBjYW5jZWwgYW55IHBlbmRpbmcgcmVxdWVzdCB0byBwcm9jZXNzIHN0YXRpc3Rp
Y3Mgc2luY2Ugd2UncmUgZG9pbmcgaXQgc3luY2hyb25vdXNseSBiZWxvdy4KQEAgLTE0NTQsMTcg
KzE0NDgsMTIgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmFnZ3JlZ2F0
ZWRUaGlyZFBhcnR5RGF0YShDb21wbGV0aW9uSGFuZGxlcjwKIAogdm9pZCBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OnN1c3BlbmQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewotICAgIENvbXBsZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3BlIGNv
bXBsZXRpb25IYW5kbGVyQ2FsbGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICBM
b2NrZXIgc3RhdGVMb2NrZXIgeyBzdXNwZW5kZWRTdGF0ZUxvY2sgfTsKLSAgICBpZiAoc3VzcGVu
ZGVkU3RhdGUgIT0gU3RhdGU6OlJ1bm5pbmcpCi0gICAgICAgIHJldHVybjsKLSAgICBzdXNwZW5k
ZWRTdGF0ZSA9IFN0YXRlOjpXaWxsU3VzcGVuZDsKKyAgICBMb2NrZXIgc3VzcGVuc2lvbkxvY2tl
ciB7IGdsb2JhbFN1c3BlbnNpb25Mb2NrIH07CisgICAgZ2xvYmFsU2hvdWxkU3VzcGVuZCA9IHRy
dWU7CiAKLSAgICBzaGFyZWRTdGF0aXN0aWNzUXVldWUoKS0+ZGlzcGF0Y2goW2NvbXBsZXRpb25I
YW5kbGVyID0gY29tcGxldGlvbkhhbmRsZXJDYWxsZXIucmVsZWFzZSgpXSAoKSBtdXRhYmxlIHsK
LSAgICAgICAgTG9ja2VyIHN0YXRlTG9ja2VyIHsgc3VzcGVuZGVkU3RhdGVMb2NrIH07Ci0gICAg
ICAgIEFTU0VSVChzdXNwZW5kZWRTdGF0ZSAhPSBTdGF0ZTo6U3VzcGVuZGVkKTsKLQotICAgICAg
ICBpZiAoc3VzcGVuZGVkU3RhdGUgIT0gU3RhdGU6OldpbGxTdXNwZW5kKSB7CisgICAgc2hhcmVk
U3RhdGlzdGljc1F1ZXVlKCktPmRpc3BhdGNoKFtzdXNwZW5zaW9uSWRlbnRpZmllciA9ICsrZ2xv
YmFsU3VzcGVuc2lvbklkZW50aWZpZXIsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICBMb2NrZXIgc3VzcGVuc2lvbkxv
Y2tlciB7IGdsb2JhbFN1c3BlbnNpb25Mb2NrIH07CisgICAgICAgIGlmICghZ2xvYmFsU2hvdWxk
U3VzcGVuZCB8fCBzdXNwZW5zaW9uSWRlbnRpZmllciAhPSBnbG9iYWxTdXNwZW5zaW9uSWRlbnRp
ZmllcikgewogICAgICAgICAgICAgcG9zdFRhc2tSZXBseShXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTE0NzIsMjIgKzE0NjEs
MjAgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnN1c3BlbmQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXQKICAgICAgICAgZm9yIChhdXRvJiBkYXRhYmFz
ZVN0b3JlIDogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmFsbFN0b3Jlcygp
KQogICAgICAgICAgICAgZGF0YWJhc2VTdG9yZS0+aW50ZXJydXB0KCk7CiAKLSAgICAgICAgc3Vz
cGVuZGVkU3RhdGUgPSBTdGF0ZTo6U3VzcGVuZGVkOwogICAgICAgICBwb3N0VGFza1JlcGx5KFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAotICAgICAgICB3aGlsZSAoc3VzcGVuZGVkU3Rh
dGUgPT0gU3RhdGU6OlN1c3BlbmRlZCkKLSAgICAgICAgICAgIHN1c3BlbmRlZFN0YXRlQ2hhbmdl
Q29uZGl0aW9uLndhaXQoc3VzcGVuZGVkU3RhdGVMb2NrKTsKLSAgICAgICAgQVNTRVJUKHN1c3Bl
bmRlZFN0YXRlICE9IFN0YXRlOjpTdXNwZW5kZWQpOworICAgICAgICB3aGlsZSAoZ2xvYmFsU2hv
dWxkU3VzcGVuZCkKKyAgICAgICAgICAgIGdsb2JhbFN1c3BlbnNpb25Db25kaXRpb24ud2FpdChn
bG9iYWxTdXNwZW5zaW9uTG9jayk7CiAgICAgfSk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpyZXN1bWUoKQogewotICAgIExvY2tlciBzdGF0ZUxvY2tlciB7IHN1
c3BlbmRlZFN0YXRlTG9jayB9OwotICAgIGF1dG8gcHJldmlvdXNTdGF0ZSA9IHN1c3BlbmRlZFN0
YXRlOwotICAgIHN1c3BlbmRlZFN0YXRlID0gU3RhdGU6OlJ1bm5pbmc7Ci0gICAgaWYgKHByZXZp
b3VzU3RhdGUgPT0gU3RhdGU6OlN1c3BlbmRlZCkKLSAgICAgICAgc3VzcGVuZGVkU3RhdGVDaGFu
Z2VDb25kaXRpb24ubm90aWZ5T25lKCk7CisgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsK
KworICAgIExvY2tlciBzdXNwZW5zaW9uTG9ja2VyIHsgZ2xvYmFsU3VzcGVuc2lvbkxvY2sgfTsK
KyAgICBnbG9iYWxTaG91bGRTdXNwZW5kID0gZmFsc2U7CisgICAgZ2xvYmFsU3VzcGVuc2lvbkNv
bmRpdGlvbi5ub3RpZnlPbmUoKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6Omluc2VydEV4cGlyZWRTdGF0aXN0aWNGb3JUZXN0aW5nKGNvbnN0IFJlZ2lzdHJhYmxl
RG9tYWluJiBkb21haW4sIHVuc2lnbmVkIG51bWJlck9mT3BlcmF0aW5nRGF5c1Bhc3NlZCwgYm9v
bCBoYWRVc2VySW50ZXJhY3Rpb24sIGJvb2wgaXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbCwgYm9vbCBpc1ByZXZhbGVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZS5oCmluZGV4IGM3NmE2YWNhNDg0NTE1MTA1YjY0OTFlMTNkOGUwNWU0NTczYzQxYTUuLjBi
MjYxMDRmZTIwZTk5NmZjYmVlNDFkZjdkYTI2OWEwNTZiMDk0MzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIv
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTI5MCwxNSArMjkwLDYgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faGFzU2NoZWR1bGVkUHJvY2Vzc1N0YXRzIHsgZmFsc2UgfTsKIAog
ICAgIGJvb2wgbV9maXJzdE5ldHdvcmtQcm9jZXNzQ3JlYXRlZCB7IGZhbHNlIH07Ci0gICAgCi0g
ICAgZW51bSBjbGFzcyBTdGF0ZSB7Ci0gICAgICAgIFJ1bm5pbmcsCi0gICAgICAgIFdpbGxTdXNw
ZW5kLAotICAgICAgICBTdXNwZW5kZWQKLSAgICB9OwotICAgIHN0YXRpYyBMb2NrIHN1c3BlbmRl
ZFN0YXRlTG9jazsKLSAgICBzdGF0aWMgU3RhdGUgc3VzcGVuZGVkU3RhdGUgV1RGX0dVQVJERURf
QllfTE9DSyhzdXNwZW5kZWRTdGF0ZUxvY2spOwotICAgIHN0YXRpYyBDb25kaXRpb24gc3VzcGVu
ZGVkU3RhdGVDaGFuZ2VDb25kaXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXgg
NTgwZjJlNGIwYTgyMzBiYjYyN2E5MzI1MmIyMzE4NzU3ZDU1MjU2ZS4uNDM2MDUwMmQxMDYxNzlm
NjcyODk1OWNjZTMyY2Y2MDc2ZDExOTA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTIyMTQsNiArMjIxNCw3IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3M6OnByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nU3luYyhD
b21wbGV0aW9uSGFuZGxlCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpzdXNwZW5kSURCU2VydmVycyhi
b29sIGlzU3VzcGVuc2lvbkltbWluZW50KQogewogICAgIG1fc2hvdWxkU3VzcGVuZElEQlNlcnZl
cnMgPSB0cnVlOworICAgICsrbV9zdXNwZW5zaW9uSWRlbnRpZmllcjsKIAogICAgIGJvb2wgYWxs
U3VzcGVuZGVkID0gdHJ1ZTsKICAgICBhdXRvIGNvbmRpdGlvbiA9IGlzU3VzcGVuc2lvbkltbWlu
ZW50ID8gV2ViSURCU2VydmVyOjpTdXNwZW5zaW9uQ29uZGl0aW9uOjpBbHdheXMgOiBXZWJJREJT
ZXJ2ZXI6OlN1c3BlbnNpb25Db25kaXRpb246OklmSWRsZTsKQEAgLTIyMjMsMTMgKzIyMjQsMTMg
QEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6c3VzcGVuZElEQlNlcnZlcnMoYm9vbCBpc1N1c3BlbnNp
b25JbW1pbmVudCkKICAgICBpZiAoYWxsU3VzcGVuZGVkKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2hBZnRlcig1X3MsIFt0aGlzLCB3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKCp0aGlzKV0geworICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaEFmdGVyKDVf
cywgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBzdXNwZW5zaW9uSWRlbnRp
ZmllciA9IG1fc3VzcGVuc2lvbklkZW50aWZpZXJdIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
ICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAoIW1fc2hvdWxkU3VzcGVuZElEQlNl
cnZlcnMpCisgICAgICAgIGlmICghbV9zaG91bGRTdXNwZW5kSURCU2VydmVycyB8fCBzdXNwZW5z
aW9uSWRlbnRpZmllciAhPSBtX3N1c3BlbnNpb25JZGVudGlmaWVyKQogICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAKKwogICAgICAgICBmb3IgKGF1dG8mIHNlcnZlciA6IG1fd2ViSURCU2Vy
dmVycy52YWx1ZXMoKSkKICAgICAgICAgICAgIHNlcnZlci0+c3VzcGVuZChXZWJJREJTZXJ2ZXI6
OlN1c3BlbnNpb25Db25kaXRpb246OkFsd2F5cyk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggZmZiNmVmNjExN2UzNzIxMzll
M2I0ZWVjMTRjZGYzNjY5NDc3NjBlZC4uZjA2ZGFkNDcyOWJkZmJlYTc1M2ZmOGM5M2FhM2U3NWE5
YWQ4OGIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaApAQCAtNTg1LDYgKzU4NSw3IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxQQUw6OlNlc3Np
b25JRCwgU3RyaW5nPiBtX2lkYkRhdGFiYXNlUGF0aHM7CiAgICAgSGFzaE1hcDxQQUw6OlNlc3Np
b25JRCwgUmVmUHRyPFdlYklEQlNlcnZlcj4+IG1fd2ViSURCU2VydmVyczsKICAgICBib29sIG1f
c2hvdWxkU3VzcGVuZElEQlNlcnZlcnMgeyBmYWxzZSB9OworICAgIHVpbnQ2NF90IG1fc3VzcGVu
c2lvbklkZW50aWZpZXIgeyAwIH07CiAgICAgCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQog
ICAgIHN0cnVjdCBTZXJ2aWNlV29ya2VySW5mbyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNwcApp
bmRleCA5ODI2MjFhZmJmZWQyZGRhOWRjYzYyYTM3NDMwNjU4YzM3Mzk0NGYzLi4zNmFiZWE1MDUw
Yjg0YjE4YzkyMjcxNTY2OWI3OTIzYTA4ZGNhZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5j
cHAKQEAgLTE3NywxNyArMTc3LDEyIEBAIHZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OnN1c3BlbmQo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFT
U0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdT
Y29wZSBjb21wbGV0aW9uSGFuZGxlckNhbGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
Ci0gICAgTG9ja2VyIHN0YXRlTG9ja2VyIHsgbV9zdGF0ZUxvY2sgfTsKLSAgICBpZiAobV9zdGF0
ZSAhPSBTdGF0ZTo6UnVubmluZykKLSAgICAgICAgcmV0dXJuOwotICAgIG1fc3RhdGUgPSBTdGF0
ZTo6V2lsbFN1c3BlbmQ7Ci0KLSAgICBtX3F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IGNvbXBsZXRpb25IYW5k
bGVyQ2FsbGVyLnJlbGVhc2UoKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgIExvY2tlciBzdGF0ZUxv
Y2tlciB7IG1fc3RhdGVMb2NrIH07Ci0gICAgICAgIEFTU0VSVChtX3N0YXRlICE9IFN0YXRlOjpT
dXNwZW5kZWQpOworICAgIExvY2tlciBzdXNwZW5zaW9uTG9ja2VyIHsgbV9zdXNwZW5zaW9uTG9j
ayB9OworICAgIG1fc2hvdWxkU3VzcGVuZCA9IHRydWU7CiAKLSAgICAgICAgaWYgKG1fc3RhdGUg
IT0gU3RhdGU6OldpbGxTdXNwZW5kKSB7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc3VzcGVuc2lvbklkZW50aWZpZXIgPSArK21f
c3VzcGVuc2lvbklkZW50aWZpZXIsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICBMb2NrZXIgc3VzcGVuc2lvbkxvY2tl
ciB7IG1fc3VzcGVuc2lvbkxvY2sgfTsKKyAgICAgICAgaWYgKCFtX3Nob3VsZFN1c3BlbmQgfHwg
c3VzcGVuc2lvbklkZW50aWZpZXIgIT0gbV9zdXNwZW5zaW9uSWRlbnRpZmllcikgewogICAgICAg
ICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTk2LDEyICsxOTEsMTAgQEAg
dm9pZCBTdG9yYWdlTWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIC8vIFNRTCB0cmFuc2FjdGlvbiBoYXMgYmVl
biBjb21taXR0ZWQuCiAgICAgICAgIGZsdXNoTG9jYWxTdG9yYWdlKCk7CiAKLSAgICAgICAgbV9z
dGF0ZSA9IFN0YXRlOjpTdXNwZW5kZWQ7CiAgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRj
aChXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKLSAgICAgICAgd2hpbGUgKG1fc3RhdGUg
PT0gU3RhdGU6OlN1c3BlbmRlZCkKLSAgICAgICAgICAgIG1fc3RhdGVDaGFuZ2VDb25kaXRpb24u
d2FpdChtX3N0YXRlTG9jayk7Ci0gICAgICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpSdW5u
aW5nKTsKKyAgICAgICAgd2hpbGUgKG1fc2hvdWxkU3VzcGVuZCkKKyAgICAgICAgICAgIG1fc3Vz
cGVuc2lvbkNvbmRpdGlvbi53YWl0KG1fc3VzcGVuc2lvbkxvY2spOwogICAgIH0pOwogfQogCkBA
IC0yMDksMTEgKzIwMiw5IEBAIHZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OnJlc3VtZSgpCiB7CiAg
ICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIExvY2tlciBzdGF0ZUxvY2tlciB7
IG1fc3RhdGVMb2NrIH07Ci0gICAgYXV0byBwcmV2aW91c1N0YXRlID0gbV9zdGF0ZTsKLSAgICBt
X3N0YXRlID0gU3RhdGU6OlJ1bm5pbmc7Ci0gICAgaWYgKHByZXZpb3VzU3RhdGUgPT0gU3RhdGU6
OlN1c3BlbmRlZCkKLSAgICAgICAgbV9zdGF0ZUNoYW5nZUNvbmRpdGlvbi5ub3RpZnlPbmUoKTsK
KyAgICBMb2NrZXIgc3VzcGVuc2lvbkxvY2tlciB7IG1fc3VzcGVuc2lvbkxvY2sgfTsKKyAgICBt
X3Nob3VsZFN1c3BlbmQgPSBmYWxzZTsKKyAgICBtX3N1c3BlbnNpb25Db25kaXRpb24ubm90aWZ5
T25lKCk7CiB9CiAKIHZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OmdldFNlc3Npb25TdG9yYWdlT3Jp
Z2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdldE9yaWdpbnNDYWxsYmFjayYmIGNvbXBs
ZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaAppbmRleCA2OTQ1ZjJiMTk5MjAyYTc3
NDEzYmVmNzExYTU5NTEwYTcwMGQxOGIzLi4wNzlhYWRjMTE1MDUyODE1ODk4YTVjN2NiZGJhMTUy
NTI3NWJjMDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0
b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaApAQCAtMTAwLDE0ICsxMDAsMTAgQEAg
cHJpdmF0ZToKICAgICBIYXNoU2V0PElQQzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQ+IG1fY29ubmVj
dGlvbnM7CiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKIAotICAgIGVudW0gY2xhc3MgU3Rh
dGUgewotICAgICAgICBSdW5uaW5nLAotICAgICAgICBXaWxsU3VzcGVuZCwKLSAgICAgICAgU3Vz
cGVuZGVkCi0gICAgfTsKLSAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6OlJ1bm5pbmcgfTsKLSAg
ICBMb2NrIG1fc3RhdGVMb2NrOwotICAgIENvbmRpdGlvbiBtX3N0YXRlQ2hhbmdlQ29uZGl0aW9u
OworICAgIExvY2sgbV9zdXNwZW5zaW9uTG9jazsKKyAgICBDb25kaXRpb24gbV9zdXNwZW5zaW9u
Q29uZGl0aW9uOworICAgIGJvb2wgbV9zaG91bGRTdXNwZW5kIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9zdXNwZW5zaW9uTG9jaykgeyBmYWxzZSB9OworICAgIHVpbnQ2NF90IG1fc3VzcGVuc2lvbklk
ZW50aWZpZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX3N1c3BlbnNpb25Mb2NrKSB7IDAgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>