<?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>236278</bug_id>
          
          <creation_ts>2022-02-07 19:35:43 -0800</creation_ts>
          <short_desc>IDBRequest should emit write barrier on JSValueInWrappedObject modification</short_desc>
          <delta_ts>2023-02-09 11:24:32 -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>Website Storage</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=236277</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jsbell</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1838494</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-07 19:35:43 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=194806 introduced JSValueInWrappedObject assignment, but this is not correct in terms of semantics since we are not emitting a write-barrier.
So, these fields can be collected by concurrent GC.
See https://bugs.webkit.org/show_bug.cgi?id=236277&apos;s FIXME comment for more detail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838938</commentid>
    <comment_count>1</comment_count>
      <attachid>451319</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-08 16:12:06 -0800</bug_when>
    <thetext>Created attachment 451319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839227</commentid>
    <comment_count>2</comment_count>
      <attachid>451319</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-09 09:49:01 -0800</bug_when>
    <thetext>Comment on attachment 451319
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:15
&gt; +        This has a semantice error as the swap process does not emit write barrier (webkit.org/b/236277). To fix the

semantice =&gt; semantic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839537</commentid>
    <comment_count>3</comment_count>
      <attachid>451496</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-09 23:29:46 -0800</bug_when>
    <thetext>Created attachment 451496
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839549</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-10 00:18:14 -0800</bug_when>
    <thetext>Committed r289522 (247053@main): &lt;https://commits.webkit.org/247053@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451496.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839552</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-10 00:19:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/88740386&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1932399</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-02-09 11:24:32 -0800</bug_when>
    <thetext>Committed 260073@main (4d3456e83828): &lt;https://commits.webkit.org/260073@main&gt;

Reviewed commits have been landed. Closing PR #9696 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451319</attachid>
            <date>2022-02-08 16:12:06 -0800</date>
            <delta_ts>2022-02-09 23:29:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236278-20220208161205.patch</filename>
            <type>text/plain</type>
            <size>10784</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5Mzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E0ODRiZTkzODBhOWNm
ZDhkODU4ZGFmZmI0NzZjYTAwZGQ4YmMwYy4uZTdhZjdjOTNlZTVlNzg5YTU5MjEyNzIzNzYyYTJl
YWU0OWQ0MWM4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIyLTAyLTA4ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIElEQlJlcXVlc3Qgc2hvdWxk
IGVtaXQgd3JpdGUgYmFycmllciBvbiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0IG1vZGlmaWNhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Mjc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gSURC
UmVxdWVzdCwgbV9yZXN1bHRXcmFwcGVyIGlzIHVzZWQgdG8gY2FjaGUgSlNWYWx1ZSBmb3IgbV9y
ZXN1bHQuIFdoZW4gcmVxdWVzdCBpcyBwZXJmb3JtaW5nIG9wZXJhdGlvbiAoZS5nLgorICAgICAg
ICBpdGVyYXRpbmcgY3Vyc29yKSwgd2UgY2xlYXIgYm90aCBtX3Jlc3VsdCBhbmQgbV9yZXN1bHRX
cmFwcGVyLiBXaGVuIHJlcXVlc3QgaXMgZG9uZSwgd2Ugc2V0IG1fcmVzdWx0IGFuZCAKKyAgICAg
ICAgbV9yZXN1bHRXcmFwcGVyLiBUaGUgc3BlYyByZXF1aXJlcyB0aGUgSURCUmVxdWVzdC5yZXN1
bHQoKSB0byByZXR1cm4gdGhlIHNhbWUgSmF2YVNjcmlwdCBvYmplY3QgYWZ0ZXIgb3BlcmF0aW9u
LAorICAgICAgICBzbyB3ZSBpbnRyb2R1Y2VkIG1fY3Vyc29yV3JhcHBlciB0byB0ZW1wb3Jhcmls
eSBzdG9yZSB0aGUgSlNWYWx1ZSBkdXJpbmcgb3BlcmF0aW9uLiBXaGVuIG9wZXJhdGlvbiBzdGFy
dHMsIHdlIAorICAgICAgICBzZXQgbV9jdXJzb3JXcmFwcGVyIHdpdGggbV9yZXN1bHRXcmFwcGVy
IGFuZCB3aGVuIG9wcmVhdGlvbiBmaW5pc2hlcyBzdWNjZXNzZnVsbHksIHdlIHNldCBtX3Jlc3Vs
dFdyYXBwZXIgYmFjayAKKyAgICAgICAgdXNpbmcgbV9jdXJzb3JXcmFwcGVyLgorCisgICAgICAg
IFRoaXMgaGFzIGEgc2VtYW50aWNlIGVycm9yIGFzIHRoZSBzd2FwIHByb2Nlc3MgZG9lcyBub3Qg
ZW1pdCB3cml0ZSBiYXJyaWVyICh3ZWJraXQub3JnL2IvMjM2Mjc3KS4gVG8gZml4IHRoZQorICAg
ICAgICBpc3N1ZSwgd2UgY2FuIGF2b2lkIHRoZSBhc3NpZ25tZW50IGJ5IHJlbW92aW5nIG1fY3Vy
c29yV3JhcHBlci4gTm93IHdlIGRvIG5vdCBjbGVhciBtX3Jlc3VsdFdyYXBwZXIgZHVyaW5nCisg
ICAgICAgIG9wZXJhdGlvbiwgYW5kIHdlIGp1c3QgY2hlY2sgbV9yZXN1bHQgdG8gZGVjaWRlIHRo
ZSBzdGF0ZSwgYXMgbV9yZXN1bHQgd2lsbCBiZSBlbXB0eSBkdXJpbmcgb3BlcmF0aW9uLiBXZSAK
KyAgICAgICAgcmV0dXJuIHZhbHVlIG9mIG1fcmVzdWx0V3JhcHBlciBmb3IgSURCUmVxdWVzdC5y
ZXN1bHQoKSBvbmx5IHdoZW4gbV9yZXN1bHQgaXMgbm90IGVtcHR5LgorCisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1
ZXN0Ojp3aWxsSXRlcmF0ZUN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0Ojpk
aWRPcGVuT3JJdGVyYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OmNs
ZWFyV3JhcHBlcnMpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OnJlc3VsdFdyYXBwZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SURCUmVxdWVzdDo6Y3Vyc29yV3JhcHBlcik6IERlbGV0ZWQuCisgICAgICAgICog
YmluZGluZ3MvanMvSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
SURCUmVxdWVzdDo6cmVzdWx0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSURCUmVxdWVz
dDo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4pOgorCiAyMDIyLTAyLTA3ICBZdXN1a2UgU3V6dWtp
ICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkNvcmVdIEpTVmFsdWVJbldyYXBw
ZWRPYmplY3QgaXMgbm90IGNvcnJlY3QgZm9yIGNvbmN1cnJlbnQgR0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKaW5kZXggY2JkNzcxZWQyYTNi
Y2Y4ZGEzMTg1NmUxNjdkYjg5YTM0ZDE2ZGU2NC4uNWY2OThiYmMxYmY2OWU3YjM0MmNlMGY3Yzgw
OWU2ZDYyZDU5NGRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCUmVxdWVzdC5jcHAKQEAgLTQ3MCwxNyArNDcwLDYgQEAgdm9pZCBJREJSZXF1ZXN0Ojp3aWxs
SXRlcmF0ZUN1cnNvcihJREJDdXJzb3ImIGN1cnNvcikKICAgICBpZiAoIWNvbnRleHQpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIFZNJiB2bSA9IGNvbnRleHQtPnZtKCk7Ci0gICAgSlNMb2NrSG9s
ZGVyIGxvY2sodm0pOwotCi0gICAgLy8gRklYTUU6IFRoaXMgY29kZSBpcyB3cm9uZzogbGV0J3Mg
Y29uc2lkZXIgdGhhdCB0aGVzZSBmaWVsZHMnIGFjY2VzcyBhcmUgcmVvcmRlcmVkIGluIHRoZSBj
b25jdXJyZW50IEdDIHRocmVhZC4KLSAgICAvLyBBbmQgd2UganVzdCBzY2FubmVkIGNsZWFyZWQg
bV9yZXN1bHRXcmFwcGVyIGFuZCB0aGVuLCB3ZSBtaXNzZWQgc2Nhbm5pbmcgbV9jdXJzb3JXcmFw
cGVyIHdpdGggYSBuZXcgdmFsdWUuCi0gICAgLy8gVGhlbiB3ZSBjb3VsZCBtYWtlIGJvdGggY29s
bGVjdGVkLiBXaGVuZXZlciBjaGFuZ2luZyBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0IGZpZWxkcywg
d2Ugc2hvdWxkIGVtaXQgYSB3cml0ZSBiYXJyaWVyCi0gICAgLy8gaWYgd2Ugd291bGQgbGlrZSB0
byBrZWVwIHRoZW0gYWxpdmUuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzNjI3OAotICAgIGlmIChtX3Jlc3VsdFdyYXBwZXIpCi0gICAgICAgIG1fY3Vy
c29yV3JhcHBlci5zZXRXaXRob3V0QmFycmllcihtX3Jlc3VsdFdyYXBwZXIpOwotICAgIG1fcmVz
dWx0V3JhcHBlci5jbGVhcigpOwogICAgIG1fcmVhZHlTdGF0ZSA9IFJlYWR5U3RhdGU6OlBlbmRp
bmc7CiAgICAgbV9kb21FcnJvciA9IG51bGxwdHI7CiAgICAgbV9pZGJFcnJvciA9IElEQkVycm9y
IHsgfTsKQEAgLTQ5OSwyMCArNDg4LDE1IEBAIHZvaWQgSURCUmVxdWVzdDo6ZGlkT3Blbk9ySXRl
cmF0ZUN1cnNvcihjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQogICAgIEpTTG9ja0hv
bGRlciBsb2NrKHZtKTsKIAogICAgIG1fcmVzdWx0ID0gTnVsbFJlc3VsdFR5cGU6OkVtcHR5Owot
ICAgIG1fcmVzdWx0V3JhcHBlci5jbGVhcigpOwotCi0gICAgLy8gRklYTUU6IFRoaXMgY29kZSBp
cyB3cm9uZzogbGV0J3MgY29uc2lkZXIgdGhhdCB0aGVzZSBmaWVsZHMnIGFjY2VzcyBhcmUgcmVv
cmRlcmVkIGluIHRoZSBjb25jdXJyZW50IEdDIHRocmVhZC4KLSAgICAvLyBBbmQgd2UganVzdCBz
Y2FubmVkIGNsZWFyZWQgbV9yZXN1bHRXcmFwcGVyIGFuZCB0aGVuLCB3ZSBtaXNzZWQgc2Nhbm5p
bmcgbV9jdXJzb3JXcmFwcGVyIHdpdGggYSBuZXcgdmFsdWUuCi0gICAgLy8gVGhlbiB3ZSBjb3Vs
ZCBtYWtlIGJvdGggY29sbGVjdGVkLiBXaGVuZXZlciBjaGFuZ2luZyBKU1ZhbHVlSW5XcmFwcGVk
T2JqZWN0IGZpZWxkcywgd2Ugc2hvdWxkIGVtaXQgYSB3cml0ZSBiYXJyaWVyCi0gICAgLy8gaWYg
d2Ugd291bGQgbGlrZSB0byBrZWVwIHRoZW0gYWxpdmUuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjI3OAogICAgIGlmIChyZXN1bHREYXRhLnR5cGUo
KSA9PSBJREJSZXN1bHRUeXBlOjpJdGVyYXRlQ3Vyc29yU3VjY2VzcyB8fCByZXN1bHREYXRhLnR5
cGUoKSA9PSBJREJSZXN1bHRUeXBlOjpPcGVuQ3Vyc29yU3VjY2VzcykgewotICAgICAgICBpZiAo
bV9wZW5kaW5nQ3Vyc29yLT5zZXRHZXRSZXN1bHQoKnRoaXMsIHJlc3VsdERhdGEuZ2V0UmVzdWx0
KCksIG1fY3VycmVudFRyYW5zYWN0aW9uT3BlcmF0aW9uSUQpICYmIG1fY3Vyc29yV3JhcHBlcikK
LSAgICAgICAgICAgIG1fcmVzdWx0V3JhcHBlci5zZXRXaXRob3V0QmFycmllcihtX2N1cnNvcldy
YXBwZXIpOworICAgICAgICBtX3BlbmRpbmdDdXJzb3ItPnNldEdldFJlc3VsdCgqdGhpcywgcmVz
dWx0RGF0YS5nZXRSZXN1bHQoKSwgbV9jdXJyZW50VHJhbnNhY3Rpb25PcGVyYXRpb25JRCk7CiAg
ICAgICAgIGlmIChyZXN1bHREYXRhLmdldFJlc3VsdCgpLmlzRGVmaW5lZCgpKQogICAgICAgICAg
ICAgbV9yZXN1bHQgPSBtX3BlbmRpbmdDdXJzb3I7CiAgICAgfQogCisgICAgaWYgKHN0ZDo6Z2V0
X2lmPE51bGxSZXN1bHRUeXBlPigmbV9yZXN1bHQpKQorICAgICAgICBtX3Jlc3VsdFdyYXBwZXIu
Y2xlYXIoKTsKKwogICAgIG1fcGVuZGluZ0N1cnNvciA9IG51bGxwdHI7CiAKICAgICBjb21wbGV0
ZVJlcXVlc3RBbmREaXNwYXRjaEV2ZW50KHJlc3VsdERhdGEpOwpAQCAtNTczLDcgKzU1Nyw2IEBA
IHZvaWQgSURCUmVxdWVzdDo6Y2xlYXJXcmFwcGVycygpCiAgICAgSlNMb2NrSG9sZGVyIGxvY2so
dm0pOwogICAgIAogICAgIG1fcmVzdWx0V3JhcHBlci5jbGVhcigpOwotICAgIG1fY3Vyc29yV3Jh
cHBlci5jbGVhcigpOwogICAgIAogICAgIFdURjo6c3dpdGNoT24obV9yZXN1bHQsCiAgICAgICAg
IFtdIChSZWZQdHI8SURCQ3Vyc29yPiYgY3Vyc29yKSB7IGN1cnNvci0+Y2xlYXJXcmFwcGVycygp
OyB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVx
dWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmlu
ZGV4IGUyZDBjODg4N2UxZGEwZmFjYTQyZjBjY2UzNTZhMmFjOWM5YWFhN2EuLjczNWU1YzY3OTc4
NmI4ZThmNDhkMjMwMGY3MmE5YzFmOTg0ZjczYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKQEAgLTgxLDcgKzgxLDYgQEAgcHVibGljOgogICAg
IHVzaW5nIFJlc3VsdCA9IHN0ZDo6dmFyaWFudDxSZWZQdHI8SURCQ3Vyc29yPiwgUmVmUHRyPElE
QkRhdGFiYXNlPiwgSURCS2V5RGF0YSwgVmVjdG9yPElEQktleURhdGE+LCBJREJHZXRSZXN1bHQs
IElEQkdldEFsbFJlc3VsdCwgdWludDY0X3QsIE51bGxSZXN1bHRUeXBlPjsKICAgICBFeGNlcHRp
b25PcjxSZXN1bHQ+IHJlc3VsdCgpIGNvbnN0OwogICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3Qm
IHJlc3VsdFdyYXBwZXIoKSB7IHJldHVybiBtX3Jlc3VsdFdyYXBwZXI7IH0KLSAgICBKU1ZhbHVl
SW5XcmFwcGVkT2JqZWN0JiBjdXJzb3JXcmFwcGVyKCkgeyByZXR1cm4gbV9jdXJzb3JXcmFwcGVy
OyB9CiAKICAgICB1c2luZyBTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8UmVmUHRyPElEQk9iamVjdFN0
b3JlPiwgUmVmUHRyPElEQkluZGV4PiwgUmVmUHRyPElEQkN1cnNvcj4+OwogICAgIGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U291cmNlPiYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2U7IH0K
QEAgLTE4MSw3ICsxODAsNiBAQCBwcml2YXRlOgogICAgIElEQlJlc291cmNlSWRlbnRpZmllciBt
X3Jlc291cmNlSWRlbnRpZmllcjsKIAogICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9yZXN1
bHRXcmFwcGVyOwotICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9jdXJzb3JXcmFwcGVyOwog
CiAgICAgdWludDY0X3QgbV9jdXJyZW50VHJhbnNhY3Rpb25PcGVyYXRpb25JRCB7IDAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJSZXF1ZXN0Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHAK
aW5kZXggNjUzZTI5OTVkYTYwOGViY2U5OWIxNTMzYzUzMDJhNDQ5M2MzMzM0Yy4uODIxMmM0YTY5
YzAzZmE0MTc0YTE5MTg0NzBlMzdmZGM0ZGU3MjBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0lEQlJlcXVlc3RDdXN0b20uY3BwCkBAIC0zOCwyOSArMzgsNDYgQEAg
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogSlNDOjpKU1ZhbHVlIEpTSURCUmVxdWVzdDo6cmVzdWx0
KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIGNhY2hlZFByb3BlcnR5VmFsdWUobGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXMsIHdy
YXBwZWQoKS5yZXN1bHRXcmFwcGVyKCksIFsmXSB7Ci0gICAgICAgIGF1dG8gcmVzdWx0ID0gd3Jh
cHBlZCgpLnJlc3VsdCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkocmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKSkgewotICAgICAgICAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCkpOwotICAgICAgICAgICAgcHJvcGFnYXRlRXhjZXB0
aW9uKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIHJlc3VsdC5yZWxlYXNlRXhjZXB0
aW9uKCkpOwotICAgICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgICAgICB9CisgICAgYXV0
byByZXN1bHQgPSB3cmFwcGVkKCkucmVzdWx0KCk7CisgICAgaWYgKFVOTElLRUxZKHJlc3VsdC5o
YXNFeGNlcHRpb24oKSkpIHsKKyAgICAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCkpOworICAgICAgICBwcm9wYWdhdGVFeGNl
cHRpb24obGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgcmVzdWx0LnJlbGVhc2VFeGNl
cHRpb24oKSk7CisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICB9CiAKLSAgICAgICAgSURC
UmVxdWVzdDo6UmVzdWx0IHJlc3VsdFZhbHVlID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgp
OwotICAgICAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihyZXN1bHRWYWx1ZSwgWyZsZXhpY2FsR2xv
YmFsT2JqZWN0XSAoUmVmUHRyPElEQkN1cnNvcj4mIGN1cnNvcikgeworICAgIGF1dG8gcmVzdWx0
VmFsdWUgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgYXV0byYgcmVzdWx0V3Jh
cHBlciA9IHdyYXBwZWQoKS5yZXN1bHRXcmFwcGVyKCk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNo
T24ocmVzdWx0VmFsdWUsIFtdIChJREJSZXF1ZXN0OjpOdWxsUmVzdWx0VHlwZSByZXN1bHQpIHsK
KyAgICAgICAgaWYgKHJlc3VsdCA9PSBJREJSZXF1ZXN0OjpOdWxsUmVzdWx0VHlwZTo6RW1wdHkp
CisgICAgICAgICAgICByZXR1cm4gSlNDOjpqc051bGwoKTsKKyAgICAgICAgcmV0dXJuIEpTQzo6
anNVbmRlZmluZWQoKTsKKyAgICB9LCBbXSAodWludDY0X3QgbnVtYmVyKSB7CisgICAgICAgIHJl
dHVybiB0b0pTPElETFVuc2lnbmVkTG9uZ0xvbmc+KG51bWJlcik7CisgICAgfSwgWyZdIChSZWZQ
dHI8SURCQ3Vyc29yPiYgY3Vyc29yKSB7CisgICAgICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0eVZh
bHVlKGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzLCByZXN1bHRXcmFwcGVyLCBbJl0gewogICAg
ICAgICAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShsZXhpY2FsR2xv
YmFsT2JqZWN0LnZtKCkpOwogICAgICAgICAgICAgcmV0dXJuIHRvSlM8SURMSW50ZXJmYWNlPElE
QkN1cnNvcj4+KGxleGljYWxHbG9iYWxPYmplY3QsICpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PigmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRocm93U2NvcGUsIGN1cnNvci5nZXQoKSk7Ci0gICAg
ICAgIH0sIFsmbGV4aWNhbEdsb2JhbE9iamVjdF0gKFJlZlB0cjxJREJEYXRhYmFzZT4mIGRhdGFi
YXNlKSB7CisgICAgICAgIH0pOworICAgIH0sIFsmXSAoUmVmUHRyPElEQkRhdGFiYXNlPiYgZGF0
YWJhc2UpIHsKKyAgICAgICAgcmV0dXJuIGNhY2hlZFByb3BlcnR5VmFsdWUobGV4aWNhbEdsb2Jh
bE9iamVjdCwgKnRoaXMsIHJlc3VsdFdyYXBwZXIsIFsmXSB7CiAgICAgICAgICAgICBhdXRvIHRo
cm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSk7
CiAgICAgICAgICAgICByZXR1cm4gdG9KUzxJRExJbnRlcmZhY2U8SURCRGF0YWJhc2U+PihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCAqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oJmxleGljYWxHbG9i
YWxPYmplY3QpLCB0aHJvd1Njb3BlLCBkYXRhYmFzZS5nZXQoKSk7Ci0gICAgICAgIH0sIFsmbGV4
aWNhbEdsb2JhbE9iamVjdF0gKElEQktleURhdGEga2V5RGF0YSkgeworICAgICAgICB9KTsKKyAg
ICB9LCBbJl0gKElEQktleURhdGEga2V5RGF0YSkgeworICAgICAgICByZXR1cm4gY2FjaGVkUHJv
cGVydHlWYWx1ZShsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpcywgcmVzdWx0V3JhcHBlciwgWyZd
IHsKICAgICAgICAgICAgIHJldHVybiB0b0pTPElETElEQktleURhdGE+KGxleGljYWxHbG9iYWxP
YmplY3QsICpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPigmbGV4aWNhbEdsb2JhbE9iamVjdCks
IGtleURhdGEpOwotICAgICAgICB9LCBbJmxleGljYWxHbG9iYWxPYmplY3RdIChWZWN0b3I8SURC
S2V5RGF0YT4ga2V5RGF0YXMpIHsKKyAgICAgICAgfSk7CisgICAgfSwgWyZdIChWZWN0b3I8SURC
S2V5RGF0YT4ga2V5RGF0YXMpIHsKKyAgICAgICAgcmV0dXJuIGNhY2hlZFByb3BlcnR5VmFsdWUo
bGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXMsIHJlc3VsdFdyYXBwZXIsIFsmXSB7CiAgICAgICAg
ICAgICByZXR1cm4gdG9KUzxJRExTZXF1ZW5jZTxJRExJREJLZXlEYXRhPj4obGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KCZsZXhpY2FsR2xvYmFsT2JqZWN0
KSwga2V5RGF0YXMpOwotICAgICAgICB9LCBbJmxleGljYWxHbG9iYWxPYmplY3RdIChJREJHZXRS
ZXN1bHQgZ2V0UmVzdWx0KSB7CisgICAgICAgIH0pOworICAgIH0sIFsmXSAoSURCR2V0UmVzdWx0
IGdldFJlc3VsdCkgeworICAgICAgICByZXR1cm4gY2FjaGVkUHJvcGVydHlWYWx1ZShsZXhpY2Fs
R2xvYmFsT2JqZWN0LCAqdGhpcywgcmVzdWx0V3JhcHBlciwgWyZdIHsKICAgICAgICAgICAgIGF1
dG8gcmVzdWx0ID0gZGVzZXJpYWxpemVJREJWYWx1ZVdpdGhLZXlJbmplY3Rpb24obGV4aWNhbEds
b2JhbE9iamVjdCwgZ2V0UmVzdWx0LnZhbHVlKCksIGdldFJlc3VsdC5rZXlEYXRhKCksIGdldFJl
c3VsdC5rZXlQYXRoKCkpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCA/IHJlc3VsdC52YWx1
ZSgpIDoganNOdWxsKCk7Ci0gICAgICAgIH0sIFsmbGV4aWNhbEdsb2JhbE9iamVjdF0gKElEQkdl
dEFsbFJlc3VsdCBnZXRBbGxSZXN1bHQpIHsKKyAgICAgICAgfSk7CisgICAgfSwgWyZdIChJREJH
ZXRBbGxSZXN1bHQgZ2V0QWxsUmVzdWx0KSB7CisgICAgICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0
eVZhbHVlKGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzLCByZXN1bHRXcmFwcGVyLCBbJl0gewog
ICAgICAgICAgICAgYXV0byYga2V5cyA9IGdldEFsbFJlc3VsdC5rZXlzKCk7CiAgICAgICAgICAg
ICBhdXRvJiB2YWx1ZXMgPSBnZXRBbGxSZXN1bHQudmFsdWVzKCk7CiAgICAgICAgICAgICBhdXRv
JiBrZXlQYXRoID0gZ2V0QWxsUmVzdWx0LmtleVBhdGgoKTsKQEAgLTc3LDEyICs5NCw2IEBAIEpT
Qzo6SlNWYWx1ZSBKU0lEQlJlcXVlc3Q6OnJlc3VsdChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0KSBjb25zCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoSlNDOjpjb25zdHJ1Y3RBcnJheSgmbGV4aWNhbEds
b2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8SlNDOjpBcnJheUFsbG9jYXRpb25Qcm9maWxlKj4obnVs
bHB0ciksIGxpc3QpKTsKLSAgICAgICAgfSwgW10gKHVpbnQ2NF90IG51bWJlcikgewotICAgICAg
ICAgICAgcmV0dXJuIHRvSlM8SURMVW5zaWduZWRMb25nTG9uZz4obnVtYmVyKTsKLSAgICAgICAg
fSwgW10gKElEQlJlcXVlc3Q6Ok51bGxSZXN1bHRUeXBlIG90aGVyKSB7Ci0gICAgICAgICAgICBp
ZiAob3RoZXIgPT0gSURCUmVxdWVzdDo6TnVsbFJlc3VsdFR5cGU6OkVtcHR5KQotICAgICAgICAg
ICAgICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOwotICAgICAgICAgICAgcmV0dXJuIEpTQzo6anNV
bmRlZmluZWQoKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiB9CkBAIC05Miw3ICsxMDMsNiBAQCB2
b2lkIEpTSURCUmVxdWVzdDo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4oVmlzaXRvciYgdmlzaXRv
cikKIHsKICAgICBhdXRvJiByZXF1ZXN0ID0gd3JhcHBlZCgpOwogICAgIHJlcXVlc3QucmVzdWx0
V3JhcHBlcigpLnZpc2l0KHZpc2l0b3IpOwotICAgIHJlcXVlc3QuY3Vyc29yV3JhcHBlcigpLnZp
c2l0KHZpc2l0b3IpOwogfQogCiBERUZJTkVfVklTSVRfQURESVRJT05BTF9DSElMRFJFTihKU0lE
QlJlcXVlc3QpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451496</attachid>
            <date>2022-02-09 23:29:46 -0800</date>
            <delta_ts>2022-02-10 00:18:16 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-236278-20220209232945.patch</filename>
            <type>text/plain</type>
            <size>10778</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JhNWM4NWZjZDI4Yzc0
NmEyOTA4YzM1NTJkMTJiZTUxYWM3ZDg0Yy4uMTg5YWVlMzMwNzA5ZTliY2NkYjU5NWFiNjkxNDE0
MmQ5MjA3NTdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIyLTAyLTA5ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIElEQlJlcXVlc3Qgc2hvdWxk
IGVtaXQgd3JpdGUgYmFycmllciBvbiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0IG1vZGlmaWNhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2Mjc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgSW4gSURC
UmVxdWVzdCwgbV9yZXN1bHRXcmFwcGVyIGlzIHVzZWQgdG8gY2FjaGUgSlNWYWx1ZSBmb3IgbV9y
ZXN1bHQuIFdoZW4gcmVxdWVzdCBpcyBwZXJmb3JtaW5nIG9wZXJhdGlvbiAoZS5nLgorICAgICAg
ICBpdGVyYXRpbmcgY3Vyc29yKSwgd2UgY2xlYXIgYm90aCBtX3Jlc3VsdCBhbmQgbV9yZXN1bHRX
cmFwcGVyLiBXaGVuIHJlcXVlc3QgaXMgZG9uZSwgd2Ugc2V0IG1fcmVzdWx0IGFuZCAKKyAgICAg
ICAgbV9yZXN1bHRXcmFwcGVyLiBUaGUgc3BlYyByZXF1aXJlcyB0aGUgSURCUmVxdWVzdC5yZXN1
bHQoKSB0byByZXR1cm4gdGhlIHNhbWUgSmF2YVNjcmlwdCBvYmplY3QgYWZ0ZXIgb3BlcmF0aW9u
LAorICAgICAgICBzbyB3ZSBpbnRyb2R1Y2VkIG1fY3Vyc29yV3JhcHBlciB0byB0ZW1wb3Jhcmls
eSBzdG9yZSB0aGUgSlNWYWx1ZSBkdXJpbmcgb3BlcmF0aW9uLiBXaGVuIG9wZXJhdGlvbiBzdGFy
dHMsIHdlIAorICAgICAgICBzZXQgbV9jdXJzb3JXcmFwcGVyIHdpdGggbV9yZXN1bHRXcmFwcGVy
IGFuZCB3aGVuIG9wcmVhdGlvbiBmaW5pc2hlcyBzdWNjZXNzZnVsbHksIHdlIHNldCBtX3Jlc3Vs
dFdyYXBwZXIgYmFjayAKKyAgICAgICAgdXNpbmcgbV9jdXJzb3JXcmFwcGVyLgorCisgICAgICAg
IFRoaXMgaGFzIGEgc2VtYW50aWMgZXJyb3IgYXMgdGhlIGFzc2lnbm1lbnQgcHJvY2VzcyBkb2Vz
IG5vdCBlbWl0IHdyaXRlIGJhcnJpZXIgKHdlYmtpdC5vcmcvYi8yMzYyNzcpLiBUbyBmaXggCisg
ICAgICAgIGl0LCB3ZSBtYXkganVzdCByZW1vdmUgbV9jdXJzb3JXcmFwcGVyIGFuZCBub3QgY2xl
YXIgbV9yZXN1bHRXcmFwcGVyIGR1cmluZyBvcGVyYXRpb24uIFNpbmNlIHdlIGNsZWFyIG1fcmVz
dWx0CisgICAgICAgIGluIG9wZXJhdGlvbiwgd2UgY2FuIGNoZWNrIGlmIG1fcmVzdWx0IGlzIGVt
cHR5IHRvIGRlY2lkZSB3aGV0aGVyIHdlIHNob3VsZCByZXR1cm4gbV9yZXN1bHRXcmFwcGVyIGZv
ciAKKyAgICAgICAgSURCUmVxdWVzdC5yZXN1bHQoKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQlJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6d2ls
bEl0ZXJhdGVDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6ZGlkT3Blbk9y
SXRlcmF0ZUN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpjbGVhcldyYXBw
ZXJzKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpJREJSZXF1ZXN0OjpyZXN1bHRXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQlJlcXVlc3Q6OmN1cnNvcldyYXBwZXIpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0lEQlJlcXVl
c3Q6OnJlc3VsdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpKU0lEQlJlcXVlc3Q6OnZpc2l0
QWRkaXRpb25hbENoaWxkcmVuKToKKwogMjAyMi0wMi0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxz
YWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVIFByb2Nlc3NdIE1vdmUgSW1hZ2VCdWZmZXI6
OmNyZWF0ZUNvbXBhdGlibGVJbWFnZUJ1ZmZlcigpIGFuZCBTVkdSZW5kZXJpbmdDb250ZXh0Ojpj
cmVhdGVJbWFnZUJ1ZmZlciB0byBHcmFwaGljc0NvbnRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKaW5kZXggY2JkNzcxZWQyYTNiY2Y4ZGEz
MTg1NmUxNjdkYjg5YTM0ZDE2ZGU2NC4uNWY2OThiYmMxYmY2OWU3YjM0MmNlMGY3YzgwOWU2ZDYy
ZDU5NGRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVx
dWVzdC5jcHAKQEAgLTQ3MCwxNyArNDcwLDYgQEAgdm9pZCBJREJSZXF1ZXN0Ojp3aWxsSXRlcmF0
ZUN1cnNvcihJREJDdXJzb3ImIGN1cnNvcikKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIFZNJiB2bSA9IGNvbnRleHQtPnZtKCk7Ci0gICAgSlNMb2NrSG9sZGVyIGxv
Y2sodm0pOwotCi0gICAgLy8gRklYTUU6IFRoaXMgY29kZSBpcyB3cm9uZzogbGV0J3MgY29uc2lk
ZXIgdGhhdCB0aGVzZSBmaWVsZHMnIGFjY2VzcyBhcmUgcmVvcmRlcmVkIGluIHRoZSBjb25jdXJy
ZW50IEdDIHRocmVhZC4KLSAgICAvLyBBbmQgd2UganVzdCBzY2FubmVkIGNsZWFyZWQgbV9yZXN1
bHRXcmFwcGVyIGFuZCB0aGVuLCB3ZSBtaXNzZWQgc2Nhbm5pbmcgbV9jdXJzb3JXcmFwcGVyIHdp
dGggYSBuZXcgdmFsdWUuCi0gICAgLy8gVGhlbiB3ZSBjb3VsZCBtYWtlIGJvdGggY29sbGVjdGVk
LiBXaGVuZXZlciBjaGFuZ2luZyBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0IGZpZWxkcywgd2Ugc2hv
dWxkIGVtaXQgYSB3cml0ZSBiYXJyaWVyCi0gICAgLy8gaWYgd2Ugd291bGQgbGlrZSB0byBrZWVw
IHRoZW0gYWxpdmUuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNjI3OAotICAgIGlmIChtX3Jlc3VsdFdyYXBwZXIpCi0gICAgICAgIG1fY3Vyc29yV3Jh
cHBlci5zZXRXaXRob3V0QmFycmllcihtX3Jlc3VsdFdyYXBwZXIpOwotICAgIG1fcmVzdWx0V3Jh
cHBlci5jbGVhcigpOwogICAgIG1fcmVhZHlTdGF0ZSA9IFJlYWR5U3RhdGU6OlBlbmRpbmc7CiAg
ICAgbV9kb21FcnJvciA9IG51bGxwdHI7CiAgICAgbV9pZGJFcnJvciA9IElEQkVycm9yIHsgfTsK
QEAgLTQ5OSwyMCArNDg4LDE1IEBAIHZvaWQgSURCUmVxdWVzdDo6ZGlkT3Blbk9ySXRlcmF0ZUN1
cnNvcihjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQogICAgIEpTTG9ja0hvbGRlciBs
b2NrKHZtKTsKIAogICAgIG1fcmVzdWx0ID0gTnVsbFJlc3VsdFR5cGU6OkVtcHR5OwotICAgIG1f
cmVzdWx0V3JhcHBlci5jbGVhcigpOwotCi0gICAgLy8gRklYTUU6IFRoaXMgY29kZSBpcyB3cm9u
ZzogbGV0J3MgY29uc2lkZXIgdGhhdCB0aGVzZSBmaWVsZHMnIGFjY2VzcyBhcmUgcmVvcmRlcmVk
IGluIHRoZSBjb25jdXJyZW50IEdDIHRocmVhZC4KLSAgICAvLyBBbmQgd2UganVzdCBzY2FubmVk
IGNsZWFyZWQgbV9yZXN1bHRXcmFwcGVyIGFuZCB0aGVuLCB3ZSBtaXNzZWQgc2Nhbm5pbmcgbV9j
dXJzb3JXcmFwcGVyIHdpdGggYSBuZXcgdmFsdWUuCi0gICAgLy8gVGhlbiB3ZSBjb3VsZCBtYWtl
IGJvdGggY29sbGVjdGVkLiBXaGVuZXZlciBjaGFuZ2luZyBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0
IGZpZWxkcywgd2Ugc2hvdWxkIGVtaXQgYSB3cml0ZSBiYXJyaWVyCi0gICAgLy8gaWYgd2Ugd291
bGQgbGlrZSB0byBrZWVwIHRoZW0gYWxpdmUuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNjI3OAogICAgIGlmIChyZXN1bHREYXRhLnR5cGUoKSA9PSBJ
REJSZXN1bHRUeXBlOjpJdGVyYXRlQ3Vyc29yU3VjY2VzcyB8fCByZXN1bHREYXRhLnR5cGUoKSA9
PSBJREJSZXN1bHRUeXBlOjpPcGVuQ3Vyc29yU3VjY2VzcykgewotICAgICAgICBpZiAobV9wZW5k
aW5nQ3Vyc29yLT5zZXRHZXRSZXN1bHQoKnRoaXMsIHJlc3VsdERhdGEuZ2V0UmVzdWx0KCksIG1f
Y3VycmVudFRyYW5zYWN0aW9uT3BlcmF0aW9uSUQpICYmIG1fY3Vyc29yV3JhcHBlcikKLSAgICAg
ICAgICAgIG1fcmVzdWx0V3JhcHBlci5zZXRXaXRob3V0QmFycmllcihtX2N1cnNvcldyYXBwZXIp
OworICAgICAgICBtX3BlbmRpbmdDdXJzb3ItPnNldEdldFJlc3VsdCgqdGhpcywgcmVzdWx0RGF0
YS5nZXRSZXN1bHQoKSwgbV9jdXJyZW50VHJhbnNhY3Rpb25PcGVyYXRpb25JRCk7CiAgICAgICAg
IGlmIChyZXN1bHREYXRhLmdldFJlc3VsdCgpLmlzRGVmaW5lZCgpKQogICAgICAgICAgICAgbV9y
ZXN1bHQgPSBtX3BlbmRpbmdDdXJzb3I7CiAgICAgfQogCisgICAgaWYgKHN0ZDo6Z2V0X2lmPE51
bGxSZXN1bHRUeXBlPigmbV9yZXN1bHQpKQorICAgICAgICBtX3Jlc3VsdFdyYXBwZXIuY2xlYXIo
KTsKKwogICAgIG1fcGVuZGluZ0N1cnNvciA9IG51bGxwdHI7CiAKICAgICBjb21wbGV0ZVJlcXVl
c3RBbmREaXNwYXRjaEV2ZW50KHJlc3VsdERhdGEpOwpAQCAtNTczLDcgKzU1Nyw2IEBAIHZvaWQg
SURCUmVxdWVzdDo6Y2xlYXJXcmFwcGVycygpCiAgICAgSlNMb2NrSG9sZGVyIGxvY2sodm0pOwog
ICAgIAogICAgIG1fcmVzdWx0V3JhcHBlci5jbGVhcigpOwotICAgIG1fY3Vyc29yV3JhcHBlci5j
bGVhcigpOwogICAgIAogICAgIFdURjo6c3dpdGNoT24obV9yZXN1bHQsCiAgICAgICAgIFtdIChS
ZWZQdHI8SURCQ3Vyc29yPiYgY3Vyc29yKSB7IGN1cnNvci0+Y2xlYXJXcmFwcGVycygpOyB9LApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmluZGV4IGUy
ZDBjODg4N2UxZGEwZmFjYTQyZjBjY2UzNTZhMmFjOWM5YWFhN2EuLjczNWU1YzY3OTc4NmI4ZThm
NDhkMjMwMGY3MmE5YzFmOTg0ZjczYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJSZXF1ZXN0LmgKQEAgLTgxLDcgKzgxLDYgQEAgcHVibGljOgogICAgIHVzaW5n
IFJlc3VsdCA9IHN0ZDo6dmFyaWFudDxSZWZQdHI8SURCQ3Vyc29yPiwgUmVmUHRyPElEQkRhdGFi
YXNlPiwgSURCS2V5RGF0YSwgVmVjdG9yPElEQktleURhdGE+LCBJREJHZXRSZXN1bHQsIElEQkdl
dEFsbFJlc3VsdCwgdWludDY0X3QsIE51bGxSZXN1bHRUeXBlPjsKICAgICBFeGNlcHRpb25PcjxS
ZXN1bHQ+IHJlc3VsdCgpIGNvbnN0OwogICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QmIHJlc3Vs
dFdyYXBwZXIoKSB7IHJldHVybiBtX3Jlc3VsdFdyYXBwZXI7IH0KLSAgICBKU1ZhbHVlSW5XcmFw
cGVkT2JqZWN0JiBjdXJzb3JXcmFwcGVyKCkgeyByZXR1cm4gbV9jdXJzb3JXcmFwcGVyOyB9CiAK
ICAgICB1c2luZyBTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8UmVmUHRyPElEQk9iamVjdFN0b3JlPiwg
UmVmUHRyPElEQkluZGV4PiwgUmVmUHRyPElEQkN1cnNvcj4+OwogICAgIGNvbnN0IHN0ZDo6b3B0
aW9uYWw8U291cmNlPiYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2U7IH0KQEAgLTE4
MSw3ICsxODAsNiBAQCBwcml2YXRlOgogICAgIElEQlJlc291cmNlSWRlbnRpZmllciBtX3Jlc291
cmNlSWRlbnRpZmllcjsKIAogICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9yZXN1bHRXcmFw
cGVyOwotICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9jdXJzb3JXcmFwcGVyOwogCiAgICAg
dWludDY0X3QgbV9jdXJyZW50VHJhbnNhY3Rpb25PcGVyYXRpb25JRCB7IDAgfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXgg
NjUzZTI5OTVkYTYwOGViY2U5OWIxNTMzYzUzMDJhNDQ5M2MzMzM0Yy4uODIxMmM0YTY5YzAzZmE0
MTc0YTE5MTg0NzBlMzdmZGM0ZGU3MjBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0lEQlJlcXVlc3RDdXN0b20uY3BwCkBAIC0zOCwyOSArMzgsNDYgQEAgdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIAogSlNDOjpKU1ZhbHVlIEpTSURCUmVxdWVzdDo6cmVzdWx0KEpTQzo6
SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IGNhY2hlZFByb3BlcnR5VmFsdWUobGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXMsIHdyYXBwZWQo
KS5yZXN1bHRXcmFwcGVyKCksIFsmXSB7Ci0gICAgICAgIGF1dG8gcmVzdWx0ID0gd3JhcHBlZCgp
LnJlc3VsdCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKSkg
ewotICAgICAgICAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShsZXhp
Y2FsR2xvYmFsT2JqZWN0LnZtKCkpOwotICAgICAgICAgICAgcHJvcGFnYXRlRXhjZXB0aW9uKGxl
eGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkp
OwotICAgICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgICAgICB9CisgICAgYXV0byByZXN1
bHQgPSB3cmFwcGVkKCkucmVzdWx0KCk7CisgICAgaWYgKFVOTElLRUxZKHJlc3VsdC5oYXNFeGNl
cHRpb24oKSkpIHsKKyAgICAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCkpOworICAgICAgICBwcm9wYWdhdGVFeGNlcHRpb24o
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24o
KSk7CisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICB9CiAKLSAgICAgICAgSURCUmVxdWVz
dDo6UmVzdWx0IHJlc3VsdFZhbHVlID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwotICAg
ICAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihyZXN1bHRWYWx1ZSwgWyZsZXhpY2FsR2xvYmFsT2Jq
ZWN0XSAoUmVmUHRyPElEQkN1cnNvcj4mIGN1cnNvcikgeworICAgIGF1dG8gcmVzdWx0VmFsdWUg
PSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCk7CisgICAgYXV0byYgcmVzdWx0V3JhcHBlciA9
IHdyYXBwZWQoKS5yZXN1bHRXcmFwcGVyKCk7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24ocmVz
dWx0VmFsdWUsIFtdIChJREJSZXF1ZXN0OjpOdWxsUmVzdWx0VHlwZSByZXN1bHQpIHsKKyAgICAg
ICAgaWYgKHJlc3VsdCA9PSBJREJSZXF1ZXN0OjpOdWxsUmVzdWx0VHlwZTo6RW1wdHkpCisgICAg
ICAgICAgICByZXR1cm4gSlNDOjpqc051bGwoKTsKKyAgICAgICAgcmV0dXJuIEpTQzo6anNVbmRl
ZmluZWQoKTsKKyAgICB9LCBbXSAodWludDY0X3QgbnVtYmVyKSB7CisgICAgICAgIHJldHVybiB0
b0pTPElETFVuc2lnbmVkTG9uZ0xvbmc+KG51bWJlcik7CisgICAgfSwgWyZdIChSZWZQdHI8SURC
Q3Vyc29yPiYgY3Vyc29yKSB7CisgICAgICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0eVZhbHVlKGxl
eGljYWxHbG9iYWxPYmplY3QsICp0aGlzLCByZXN1bHRXcmFwcGVyLCBbJl0gewogICAgICAgICAg
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShsZXhpY2FsR2xvYmFsT2Jq
ZWN0LnZtKCkpOwogICAgICAgICAgICAgcmV0dXJuIHRvSlM8SURMSW50ZXJmYWNlPElEQkN1cnNv
cj4+KGxleGljYWxHbG9iYWxPYmplY3QsICpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPigmbGV4
aWNhbEdsb2JhbE9iamVjdCksIHRocm93U2NvcGUsIGN1cnNvci5nZXQoKSk7Ci0gICAgICAgIH0s
IFsmbGV4aWNhbEdsb2JhbE9iamVjdF0gKFJlZlB0cjxJREJEYXRhYmFzZT4mIGRhdGFiYXNlKSB7
CisgICAgICAgIH0pOworICAgIH0sIFsmXSAoUmVmUHRyPElEQkRhdGFiYXNlPiYgZGF0YWJhc2Up
IHsKKyAgICAgICAgcmV0dXJuIGNhY2hlZFByb3BlcnR5VmFsdWUobGV4aWNhbEdsb2JhbE9iamVj
dCwgKnRoaXMsIHJlc3VsdFdyYXBwZXIsIFsmXSB7CiAgICAgICAgICAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSk7CiAgICAg
ICAgICAgICByZXR1cm4gdG9KUzxJRExJbnRlcmZhY2U8SURCRGF0YWJhc2U+PihsZXhpY2FsR2xv
YmFsT2JqZWN0LCAqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oJmxleGljYWxHbG9iYWxPYmpl
Y3QpLCB0aHJvd1Njb3BlLCBkYXRhYmFzZS5nZXQoKSk7Ci0gICAgICAgIH0sIFsmbGV4aWNhbEds
b2JhbE9iamVjdF0gKElEQktleURhdGEga2V5RGF0YSkgeworICAgICAgICB9KTsKKyAgICB9LCBb
Jl0gKElEQktleURhdGEga2V5RGF0YSkgeworICAgICAgICByZXR1cm4gY2FjaGVkUHJvcGVydHlW
YWx1ZShsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpcywgcmVzdWx0V3JhcHBlciwgWyZdIHsKICAg
ICAgICAgICAgIHJldHVybiB0b0pTPElETElEQktleURhdGE+KGxleGljYWxHbG9iYWxPYmplY3Qs
ICpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPigmbGV4aWNhbEdsb2JhbE9iamVjdCksIGtleURh
dGEpOwotICAgICAgICB9LCBbJmxleGljYWxHbG9iYWxPYmplY3RdIChWZWN0b3I8SURCS2V5RGF0
YT4ga2V5RGF0YXMpIHsKKyAgICAgICAgfSk7CisgICAgfSwgWyZdIChWZWN0b3I8SURCS2V5RGF0
YT4ga2V5RGF0YXMpIHsKKyAgICAgICAgcmV0dXJuIGNhY2hlZFByb3BlcnR5VmFsdWUobGV4aWNh
bEdsb2JhbE9iamVjdCwgKnRoaXMsIHJlc3VsdFdyYXBwZXIsIFsmXSB7CiAgICAgICAgICAgICBy
ZXR1cm4gdG9KUzxJRExTZXF1ZW5jZTxJRExJREJLZXlEYXRhPj4obGV4aWNhbEdsb2JhbE9iamVj
dCwgKmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwga2V5
RGF0YXMpOwotICAgICAgICB9LCBbJmxleGljYWxHbG9iYWxPYmplY3RdIChJREJHZXRSZXN1bHQg
Z2V0UmVzdWx0KSB7CisgICAgICAgIH0pOworICAgIH0sIFsmXSAoSURCR2V0UmVzdWx0IGdldFJl
c3VsdCkgeworICAgICAgICByZXR1cm4gY2FjaGVkUHJvcGVydHlWYWx1ZShsZXhpY2FsR2xvYmFs
T2JqZWN0LCAqdGhpcywgcmVzdWx0V3JhcHBlciwgWyZdIHsKICAgICAgICAgICAgIGF1dG8gcmVz
dWx0ID0gZGVzZXJpYWxpemVJREJWYWx1ZVdpdGhLZXlJbmplY3Rpb24obGV4aWNhbEdsb2JhbE9i
amVjdCwgZ2V0UmVzdWx0LnZhbHVlKCksIGdldFJlc3VsdC5rZXlEYXRhKCksIGdldFJlc3VsdC5r
ZXlQYXRoKCkpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCA/IHJlc3VsdC52YWx1ZSgpIDog
anNOdWxsKCk7Ci0gICAgICAgIH0sIFsmbGV4aWNhbEdsb2JhbE9iamVjdF0gKElEQkdldEFsbFJl
c3VsdCBnZXRBbGxSZXN1bHQpIHsKKyAgICAgICAgfSk7CisgICAgfSwgWyZdIChJREJHZXRBbGxS
ZXN1bHQgZ2V0QWxsUmVzdWx0KSB7CisgICAgICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0eVZhbHVl
KGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzLCByZXN1bHRXcmFwcGVyLCBbJl0gewogICAgICAg
ICAgICAgYXV0byYga2V5cyA9IGdldEFsbFJlc3VsdC5rZXlzKCk7CiAgICAgICAgICAgICBhdXRv
JiB2YWx1ZXMgPSBnZXRBbGxSZXN1bHQudmFsdWVzKCk7CiAgICAgICAgICAgICBhdXRvJiBrZXlQ
YXRoID0gZ2V0QWxsUmVzdWx0LmtleVBhdGgoKTsKQEAgLTc3LDEyICs5NCw2IEBAIEpTQzo6SlNW
YWx1ZSBKU0lEQlJlcXVlc3Q6OnJlc3VsdChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0KSBjb25zCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWUoSlNDOjpjb25zdHJ1Y3RBcnJheSgmbGV4aWNhbEdsb2JhbE9i
amVjdCwgc3RhdGljX2Nhc3Q8SlNDOjpBcnJheUFsbG9jYXRpb25Qcm9maWxlKj4obnVsbHB0ciks
IGxpc3QpKTsKLSAgICAgICAgfSwgW10gKHVpbnQ2NF90IG51bWJlcikgewotICAgICAgICAgICAg
cmV0dXJuIHRvSlM8SURMVW5zaWduZWRMb25nTG9uZz4obnVtYmVyKTsKLSAgICAgICAgfSwgW10g
KElEQlJlcXVlc3Q6Ok51bGxSZXN1bHRUeXBlIG90aGVyKSB7Ci0gICAgICAgICAgICBpZiAob3Ro
ZXIgPT0gSURCUmVxdWVzdDo6TnVsbFJlc3VsdFR5cGU6OkVtcHR5KQotICAgICAgICAgICAgICAg
IHJldHVybiBKU0M6OmpzTnVsbCgpOwotICAgICAgICAgICAgcmV0dXJuIEpTQzo6anNVbmRlZmlu
ZWQoKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiB9CkBAIC05Miw3ICsxMDMsNiBAQCB2b2lkIEpT
SURCUmVxdWVzdDo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4oVmlzaXRvciYgdmlzaXRvcikKIHsK
ICAgICBhdXRvJiByZXF1ZXN0ID0gd3JhcHBlZCgpOwogICAgIHJlcXVlc3QucmVzdWx0V3JhcHBl
cigpLnZpc2l0KHZpc2l0b3IpOwotICAgIHJlcXVlc3QuY3Vyc29yV3JhcHBlcigpLnZpc2l0KHZp
c2l0b3IpOwogfQogCiBERUZJTkVfVklTSVRfQURESVRJT05BTF9DSElMRFJFTihKU0lEQlJlcXVl
c3QpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>