<?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>229331</bug_id>
          
          <creation_ts>2021-08-20 03:08:49 -0700</creation_ts>
          <short_desc>[JSC] Remove MacroAssemblerX86</short_desc>
          <delta_ts>2021-08-20 10:51:20 -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>New Bugs</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>annulen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785766</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-20 03:08:49 -0700</bug_when>
    <thetext>[JSC] Remove MacroAssemblerX86</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785767</commentid>
    <comment_count>1</comment_count>
      <attachid>435965</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-20 03:09:37 -0700</bug_when>
    <thetext>Created attachment 435965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785775</commentid>
    <comment_count>2</comment_count>
      <attachid>435965</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-20 03:28:50 -0700</bug_when>
    <thetext>Comment on attachment 435965
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785907</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-20 10:50:59 -0700</bug_when>
    <thetext>Committed r281325 (240742@main): &lt;https://commits.webkit.org/240742@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435965.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785908</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-20 10:51:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/82176765&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435965</attachid>
            <date>2021-08-20 03:09:37 -0700</date>
            <delta_ts>2021-08-20 10:51:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229331-20210820030937.patch</filename>
            <type>text/plain</type>
            <size>20915</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MmVhZDM3YmE2NzJlYzNkMzE1M2QyNzZkYmUwOTUyYzRjNjUwNWI2Li5kOWZhYTgyYTM2ZDZjNTEw
NjI2ZDU3ZjVhMWU5NGQ5ZjYxZjEzZDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMS0wOC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBNYWNyb0Fzc2VtYmxlclg4NgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzMxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIE1h
Y3JvQXNzZW1ibGVyWDg2LCB3aGljaCBhbGxvd3Mgc2ltcGxpZnlpbmcgc29tZSAzMmJpdCBNYWNy
b0Fzc2VtYmxlciBjb2RlCisgICAgICAgIGluIGEgc3Vic2VxdWVudCBwYXRjaC4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmg6Cisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Lmg6IFJlbW92ZWQuCisKIDIwMjEt
MDgtMTkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQg
OjpiYWNrZHJvcCBwc2V1ZG8gZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDk4NzdlMGM3NWMwZTJjMWE3YzZmYTBlZjIwMDMzZjI1MDI4OWVhMTAuLmJiNjU0YjU0
NDRkMjE5Njc5NmVhZmE0MjU1NzhkMDM4ZWFiNzZjZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTUxMyw3ICs1MTMsNiBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogICAgIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYu
aAogICAgIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckhlbHBlcnMuaAogICAgIGFzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlck1JUFMuaAotICAgIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Ni5oCiAg
ICAgYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKICAgICBhc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJYODZfNjQuaAogICAgIGFzc2VtYmxlci9QcmludGVyLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMGQxY2IzMjZiZTcwNWQ3MzM5MWQxNWVmNDdlNzRhOTk0ZmMx
ODk4Yy4uYWRkNmNiNDMyMjkyN2YyMjE1YTYzMmQzODkzYmRjOWMzODI1ZmE3YSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNTEsNyArMTI1MSw2IEBACiAJCTg0MzIzRTdGMjVE
NUVDNkEwMEY5Nzc3NiAvKiBKU0N1c3RvbVNldHRlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDMyM0U3QjI1RDVFQzY5MDBGOTc3NzYg
LyogSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTg0MzIzRTgwMjVENUVDNkEwMEY5Nzc3NiAvKiBKU0N1c3Rv
bUdldHRlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NDMyM0U3QzI1RDVFQzY5MDBGOTc3NzYgLyogSlNDdXN0b21HZXR0ZXJGdW5jdGlv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTg2
MDE2MUUzMEYzQTgzQzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjAxNjFERjBGM0E4M0Mx
MDBGODQ3MTAgLyogQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTg2MDE2MUU0MEYzQTgzQzEwMEY4NDcxMCAv
KiBNYWNyb0Fzc2VtYmxlclg4Ni5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODYwMTYxRTAwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODYw
MTYxRTUwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2XzY0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjAxNjFFMTBGM0E4M0MxMDBG
ODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZfNjQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NjAxNjFFNjBGM0E4M0MxMDBGODQ3MTAgLyogTWFj
cm9Bc3NlbWJsZXJYODZDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg2MDE2MUUyMEYzQTgzQzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTg2MDZEREVBMThEQTQ0QUIwMEEzODNEMCAvKiBJZGVudGlmaWVySW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYwNkRERTkxOERBNDRB
QjAwQTM4M0QwIC8qIElkZW50aWZpZXJJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQxOTMsNyArNDE5Miw2IEBACiAJCTg0OTI1QTlC
MjJCMzBDQkEwMEQxREZGRiAvKiBSZWdFeHBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdFeHBTdHJpbmdJdGVyYXRvclByb3RvdHlw
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDkyNUE5QzIyQjMwQ0M4MDBEMURG
RkYgLyogUmVnRXhwU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUuanMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmphdmFzY3JpcHQ7IHBhdGggPSBSZWdFeHBTdHJpbmdJdGVyYXRvclByb3RvdHlwZS5qczsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYwMTYxREYwRjNBODNDMTAwRjg0NzEwIC8q
IEFic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk4NjAxNjFFMDBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODYuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJYODYuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYwMTYxRTEwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNz
ZW1ibGVyWDg2XzY0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNz
ZW1ibGVyWDg2XzY0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2MDE2MUUyMEYz
QTgzQzEwMEY4NDcxMCAvKiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4NjA0RjRGMjE0M0E2QzQ0MDBCMjk1RjUgLyogQ2hhbmdlTG9n
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bGluZUVuZGluZyA9IDA7IHBhdGggPSBDaGFuZ2VMb2c7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC04NDk5LDcgKzg0OTcsNiBAQAogCQkJCTg2QzU2OERFMTFBMjEzRUUwMDA3RjdGMCAv
KiBNYWNyb0Fzc2VtYmxlck1JUFMuaCAqLywKIAkJCQlGRTY4QzYzNTFCOTBEREQ5MDA0MkJDQjMg
LyogTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcCAqLywKIAkJCQlGRTY4QzYzNjFCOTBEREQ5MDA0
MkJDQjMgLyogTWFjcm9Bc3NlbWJsZXJQcmludGVyLmggKi8sCi0JCQkJODYwMTYxRTAwRjNBODND
MTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2LmggKi8sCiAJCQkJODYwMTYxRTEwRjNBODND
MTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2XzY0LmggKi8sCiAJCQkJQTdBNEFFMDcxNzk3
M0IyNjAwNTYxMkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCAqLywKIAkJCQk4NjAx
NjFFMjBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCAqLywKQEAg
LTEwMzc2LDcgKzEwMzczLDYgQEAKIAkJCQlFMzJBQjI0NDFEQ0Q3NUY0MDBENzUzM0EgLyogTWFj
cm9Bc3NlbWJsZXJIZWxwZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkM1NjhFMTExQTIxM0VF
MDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJNSVBTLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTY4
QzYzNzFCOTBERTA0MDA0MkJDQjMgLyogTWFjcm9Bc3NlbWJsZXJQcmludGVyLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk4NjAxNjFFNDBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODYu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg2MDE2MUU1MEYzQTgzQzEwMEY4NDcxMCAvKiBNYWNyb0Fz
c2VtYmxlclg4Nl82NC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODYwMTYxRTYwRjNBODNDMTAwRjg0
NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUVG
MTNGOTFGMDczMjA0MDAwRjA0NDIgLyogbWFrZS1qcy1maWxlLWFycmF5cy5weSBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ci5oCmluZGV4IGMwMGRiMTdmZjA0MTEyOGE0MmRiOTZjMjRmMDFjNGZiMDdmMDJhYjYuLmJhZWFl
OTM4MGViZTQ5MTNiMzQ5NmU2YjZjMjA3M2JjNjg3MTRjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKQEAgLTUwLDExICs1MCw2IEBA
IG5hbWVzcGFjZSBKU0MgeyB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQVJNdjcgTWFjcm9Bc3NlbWJs
ZXJCYXNlOyB9OwogI2RlZmluZSBUQVJHRVRfTUFDUk9BU1NFTUJMRVIgTWFjcm9Bc3NlbWJsZXJN
SVBTCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJNSVBTLmgiCiAKLSNlbGlmIENQVShYODYpCi0j
ZGVmaW5lIFRBUkdFVF9BU1NFTUJMRVIgWDg2QXNzZW1ibGVyCi0jZGVmaW5lIFRBUkdFVF9NQUNS
T0FTU0VNQkxFUiBNYWNyb0Fzc2VtYmxlclg4NgotI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyWDg2
LmgiCi0KICNlbGlmIENQVShYODZfNjQpCiAjZGVmaW5lIFRBUkdFVF9BU1NFTUJMRVIgWDg2QXNz
ZW1ibGVyCiAjZGVmaW5lIFRBUkdFVF9NQUNST0FTU0VNQkxFUiBNYWNyb0Fzc2VtYmxlclg4Nl82
NApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlclg4Ni5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4Ni5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDAyMmUzYjgyNWY1OGQyZWY0
ODgyMWIxYzJhOTQyNTY5MWQxYjQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODYuaAorKysgL2Rldi9udWxsCkBAIC0xLDM4NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA4LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBF
TkFCTEUoQVNTRU1CTEVSKSAmJiBDUFUoWDg2KQotCi0jaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLWNsYXNzIE1hY3JvQXNzZW1ibGVyWDg2
IDogcHVibGljIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMg
Y29uc3RleHByIHVuc2lnbmVkIG51bUdQUnMgPSA4OwotICAgIHN0YXRpYyBjb25zdGV4cHIgdW5z
aWduZWQgbnVtRlBScyA9IDg7Ci0gICAgCi0gICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmFkZDMyOwotICAgIHVzaW5nIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjphbmQzMjsKLSAg
ICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoQWRkMzI7Ci0gICAgdXNpbmcg
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaFN1YjMyOwotICAgIHVzaW5nIE1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjpzdWIzMjsKLSAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6b3IzMjsKLSAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bG9hZDMyOwotICAg
IHVzaW5nIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpsb2FkODsKLSAgICB1c2luZyBNYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbjo6c3RvcmUzMjsKLSAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6c3RvcmU4OwotICAgIHVzaW5nIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2gz
MjsKLSAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Y2FsbDsKLSAgICB1c2luZyBN
YWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6anVtcDsKLSAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbjo6ZmFySnVtcDsKLSAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YWRk
RG91YmxlOwotICAgIHVzaW5nIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpsb2FkRG91YmxlOwot
ICAgIHVzaW5nIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpzdG9yZURvdWJsZTsKLSAgICB1c2lu
ZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Y29udmVydEludDMyVG9Eb3VibGU7Ci0gICAgdXNp
bmcgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaDg7Ci0gICAgdXNpbmcgTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246OmJyYW5jaFRlc3Q4OwotCi0gICAgdm9pZCBhZGQzMihUcnVzdGVkSW1t
MzIgaW1tLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQotICAgIHsKLSAgICAgICAg
bV9hc3NlbWJsZXIubGVhbF9tcihpbW0ubV92YWx1ZSwgc3JjLCBkZXN0KTsKLSAgICB9Ci0KLSAg
ICB2b2lkIGFkZDMyKFRydXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzKQot
ICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIuYWRkbF9pbShpbW0ubV92YWx1ZSwgYWRkcmVzcy5t
X3B0cik7Ci0gICAgfQotICAgIAotICAgIHZvaWQgYWRkMzIoQWJzb2x1dGVBZGRyZXNzIGFkZHJl
c3MsIFJlZ2lzdGVySUQgZGVzdCkKLSAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmFkZGxfbXIo
YWRkcmVzcy5tX3B0ciwgZGVzdCk7Ci0gICAgfQotICAgIAotICAgIHZvaWQgYWRkNjQoVHJ1c3Rl
ZEltbTMyIGltbSwgQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MpCi0gICAgewotICAgICAgICBtX2Fz
c2VtYmxlci5hZGRsX2ltKGltbS5tX3ZhbHVlLCBhZGRyZXNzLm1fcHRyKTsKLSAgICAgICAgbV9h
c3NlbWJsZXIuYWRjbF9pbShpbW0ubV92YWx1ZSA+PiAzMSwgcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBjaGFyKj4oYWRkcmVzcy5tX3B0cikgKyBzaXplb2YoaW50MzJfdCkpOwotICAgIH0KLQotICAg
IHZvaWQgZ2V0RWZmZWN0aXZlQWRkcmVzcyhCYXNlSW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBk
ZXN0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHg4NkxlYTMyKGFkZHJlc3MsIGRlc3QpOwotICAg
IH0KLQotICAgIHZvaWQgYW5kMzIoVHJ1c3RlZEltbTMyIGltbSwgQWJzb2x1dGVBZGRyZXNzIGFk
ZHJlc3MpCi0gICAgewotICAgICAgICBtX2Fzc2VtYmxlci5hbmRsX2ltKGltbS5tX3ZhbHVlLCBh
ZGRyZXNzLm1fcHRyKTsKLSAgICB9Ci0gICAgCi0gICAgdm9pZCBvcjMyKFRydXN0ZWRJbW0zMiBp
bW0sIEFic29sdXRlQWRkcmVzcyBhZGRyZXNzKQotICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIu
b3JsX2ltKGltbS5tX3ZhbHVlLCBhZGRyZXNzLm1fcHRyKTsKLSAgICB9Ci0gICAgCi0gICAgdm9p
ZCBvcjMyKFJlZ2lzdGVySUQgcmVnLCBBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcykKLSAgICB7Ci0g
ICAgICAgIG1fYXNzZW1ibGVyLm9ybF9ybShyZWcsIGFkZHJlc3MubV9wdHIpOwotICAgIH0KLQot
ICAgIHZvaWQgb3IxNihUcnVzdGVkSW1tMzIgaW1tLCBBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcykK
LSAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLm9yd19pbShpbW0ubV92YWx1ZSwgYWRkcmVzcy5t
X3B0cik7Ci0gICAgfQotICAgIAotICAgIHZvaWQgc3ViMzIoVHJ1c3RlZEltbTMyIGltbSwgQWJz
b2x1dGVBZGRyZXNzIGFkZHJlc3MpCi0gICAgewotICAgICAgICBtX2Fzc2VtYmxlci5zdWJsX2lt
KGltbS5tX3ZhbHVlLCBhZGRyZXNzLm1fcHRyKTsKLSAgICB9Ci0KLSAgICB2b2lkIGxvYWQzMihj
b25zdCB2b2lkKiBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCi0gICAgewotICAgICAgICBtX2Fz
c2VtYmxlci5tb3ZsX21yKGFkZHJlc3MsIGRlc3QpOwotICAgIH0KLSAgICAKLSAgICB2b2lkIGxv
YWQ4KGNvbnN0IHZvaWQqIGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVzdCkKLSAgICB7Ci0gICAgICAg
IG1fYXNzZW1ibGVyLm1vdnpibF9tcihhZGRyZXNzLCBkZXN0KTsKLSAgICB9Ci0KLSAgICB2b2lk
IGFib3J0V2l0aFJlYXNvbihBYm9ydFJlYXNvbiByZWFzb24pCi0gICAgewotICAgICAgICBtb3Zl
KFRydXN0ZWRJbW0zMihyZWFzb24pLCBYODZSZWdpc3RlcnM6OmVheCk7Ci0gICAgICAgIGJyZWFr
cG9pbnQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIGFib3J0V2l0aFJlYXNvbihBYm9ydFJlYXNvbiBy
ZWFzb24sIGludHB0cl90IG1pc2MpCi0gICAgewotICAgICAgICBtb3ZlKFRydXN0ZWRJbW0zMiht
aXNjKSwgWDg2UmVnaXN0ZXJzOjplZHgpOwotICAgICAgICBhYm9ydFdpdGhSZWFzb24ocmVhc29u
KTsKLSAgICB9Ci0KLSAgICBDb252ZXJ0aWJsZUxvYWRMYWJlbCBjb252ZXJ0aWJsZUxvYWRQdHIo
QWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCi0gICAgewotICAgICAgICBDb252ZXJ0
aWJsZUxvYWRMYWJlbCByZXN1bHQgPSBDb252ZXJ0aWJsZUxvYWRMYWJlbCh0aGlzKTsKLSAgICAg
ICAgbV9hc3NlbWJsZXIubW92bF9tcihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBkZXN0
KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0KLSAgICB2b2lkIGFkZERvdWJsZShB
YnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCi0gICAgewotICAgICAg
ICBtX2Fzc2VtYmxlci5hZGRzZF9tcihhZGRyZXNzLm1fcHRyLCBkZXN0KTsKLSAgICB9Ci0KLSAg
ICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIFRydXN0ZWRJbW1QdHIgYWRkcmVz
cykKLSAgICB7Ci0gICAgICAgIEFTU0VSVChhZGRyZXNzLm1fdmFsdWUpOwotICAgICAgICBtX2Fz
c2VtYmxlci5tb3ZzZF9ybShzcmMsIGFkZHJlc3MuYXNQdHIoKSk7Ci0gICAgfQotCi0gICAgdm9p
ZCBjb252ZXJ0SW50MzJUb0RvdWJsZShBYnNvbHV0ZUFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQg
ZGVzdCkKLSAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmN2dHNpMnNkX21yKHNyYy5tX3B0ciwg
ZGVzdCk7Ci0gICAgfQotCi0gICAgdm9pZCBzdG9yZTMyKFRydXN0ZWRJbW0zMiBpbW0sIHZvaWQq
IGFkZHJlc3MpCi0gICAgewotICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsX2kzMm0oaW1tLm1fdmFs
dWUsIGFkZHJlc3MpOwotICAgIH0KLQotICAgIHZvaWQgc3RvcmUzMihSZWdpc3RlcklEIHNyYywg
dm9pZCogYWRkcmVzcykKLSAgICB7Ci0gICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfcm0oc3JjLCBh
ZGRyZXNzKTsKLSAgICB9Ci0gICAgCi0gICAgdm9pZCBzdG9yZTgoUmVnaXN0ZXJJRCBzcmMsIHZv
aWQqIGFkZHJlc3MpCi0gICAgewotICAgICAgICBtX2Fzc2VtYmxlci5tb3ZiX3JtKHNyYywgYWRk
cmVzcyk7Ci0gICAgfQotCi0gICAgdm9pZCBzdG9yZTgoVHJ1c3RlZEltbTMyIGltbSwgdm9pZCog
YWRkcmVzcykKLSAgICB7Ci0gICAgICAgIFRydXN0ZWRJbW0zMiBpbW04KHN0YXRpY19jYXN0PGlu
dDhfdD4oaW1tLm1fdmFsdWUpKTsKLSAgICAgICAgbV9hc3NlbWJsZXIubW92Yl9pOG0oaW1tOC5t
X3ZhbHVlLCBhZGRyZXNzKTsKLSAgICB9Ci0gICAgCi0gICAgdm9pZCBtb3ZlRG91YmxlVG9JbnRz
KEZQUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCi0g
ICAgewotICAgICAgICBtX2Fzc2VtYmxlci5wZXh0cndfaXJyKDMsIHNyYywgZGVzdDEpOwotICAg
ICAgICBtX2Fzc2VtYmxlci5wZXh0cndfaXJyKDIsIHNyYywgZGVzdDIpOwotICAgICAgICBsc2hp
ZnQzMihUcnVzdGVkSW1tMzIoMTYpLCBkZXN0MSk7Ci0gICAgICAgIG9yMzIoZGVzdDEsIGRlc3Qy
KTsKLSAgICAgICAgbW92ZUZsb2F0VG8zMihzcmMsIGRlc3QxKTsKLSAgICB9Ci0KLSAgICB2b2lk
IG1vdmVJbnRzVG9Eb3VibGUoUmVnaXN0ZXJJRCBzcmMxLCBSZWdpc3RlcklEIHNyYzIsIEZQUmVn
aXN0ZXJJRCBkZXN0LCBGUFJlZ2lzdGVySUQgc2NyYXRjaCkKLSAgICB7Ci0gICAgICAgIG1vdmUz
MlRvRmxvYXQoc3JjMSwgZGVzdCk7Ci0gICAgICAgIG1vdmUzMlRvRmxvYXQoc3JjMiwgc2NyYXRj
aCk7Ci0gICAgICAgIGxzaGlmdFBhY2tlZChUcnVzdGVkSW1tMzIoMzIpLCBzY3JhdGNoKTsKLSAg
ICAgICAgb3JQYWNrZWQoc2NyYXRjaCwgZGVzdCk7Ci0gICAgfQotCi0gICAgSnVtcCBicmFuY2hB
ZGQzMihSZXN1bHRDb25kaXRpb24gY29uZCwgVHJ1c3RlZEltbTMyIGltbSwgQWJzb2x1dGVBZGRy
ZXNzIGRlc3QpCi0gICAgewotICAgICAgICBtX2Fzc2VtYmxlci5hZGRsX2ltKGltbS5tX3ZhbHVl
LCBkZXN0Lm1fcHRyKTsKLSAgICAgICAgcmV0dXJuIEp1bXAobV9hc3NlbWJsZXIuakNDKHg4NkNv
bmRpdGlvbihjb25kKSkpOwotICAgIH0KLQotICAgIEp1bXAgYnJhbmNoU3ViMzIoUmVzdWx0Q29u
ZGl0aW9uIGNvbmQsIFRydXN0ZWRJbW0zMiBpbW0sIEFic29sdXRlQWRkcmVzcyBkZXN0KQotICAg
IHsKLSAgICAgICAgbV9hc3NlbWJsZXIuc3VibF9pbShpbW0ubV92YWx1ZSwgZGVzdC5tX3B0cik7
Ci0gICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkp
KTsKLSAgICB9Ci0KLSAgICBKdW1wIGJyYW5jaDMyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwg
QWJzb2x1dGVBZGRyZXNzIGxlZnQsIFJlZ2lzdGVySUQgcmlnaHQpCi0gICAgewotICAgICAgICBt
X2Fzc2VtYmxlci5jbXBsX3JtKHJpZ2h0LCBsZWZ0Lm1fcHRyKTsKLSAgICAgICAgcmV0dXJuIEp1
bXAobV9hc3NlbWJsZXIuakNDKHg4NkNvbmRpdGlvbihjb25kKSkpOwotICAgIH0KLQotICAgIEp1
bXAgYnJhbmNoMzIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBBYnNvbHV0ZUFkZHJlc3MgbGVm
dCwgVHJ1c3RlZEltbTMyIHJpZ2h0KQotICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIuY21wbF9p
bShyaWdodC5tX3ZhbHVlLCBsZWZ0Lm1fcHRyKTsKLSAgICAgICAgcmV0dXJuIEp1bXAobV9hc3Nl
bWJsZXIuakNDKHg4NkNvbmRpdGlvbihjb25kKSkpOwotICAgIH0KLQotICAgIENhbGwgY2FsbChQ
dHJUYWcpCi0gICAgewotICAgICAgICByZXR1cm4gQ2FsbChtX2Fzc2VtYmxlci5jYWxsKCksIENh
bGw6OkxpbmthYmxlKTsKLSAgICB9Ci0KLSAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdp
c3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0
clRhZyk7IH0KLQotICAgIC8vIEFkZHJlc3MgaXMgYSBtZW1vcnkgbG9jYXRpb24gY29udGFpbmlu
ZyB0aGUgYWRkcmVzcyB0byBqdW1wIHRvCi0gICAgdm9pZCBmYXJKdW1wKEFic29sdXRlQWRkcmVz
cyBhZGRyZXNzLCBQdHJUYWcpCi0gICAgewotICAgICAgICBtX2Fzc2VtYmxlci5qbXBfbShhZGRy
ZXNzLm1fcHRyKTsKLSAgICB9Ci0KLSAgICBBTFdBWVNfSU5MSU5FIHZvaWQgZmFySnVtcChBYnNv
bHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShq
dW1wVGFnKSwgZmFySnVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KLQotICAgIERhdGFMYWJlbFB0
ciBtb3ZlV2l0aFBhdGNoKFRydXN0ZWRJbW1QdHIgaW5pdGlhbFZhbHVlLCBSZWdpc3RlcklEIGRl
c3QpCi0gICAgewotICAgICAgICBwYWRCZWZvcmVQYXRjaCgpOwotICAgICAgICBtX2Fzc2VtYmxl
ci5tb3ZsX2kzMnIoaW5pdGlhbFZhbHVlLmFzSW50cHRyKCksIGRlc3QpOwotICAgICAgICByZXR1
cm4gRGF0YUxhYmVsUHRyKHRoaXMpOwotICAgIH0KLSAgICAKLSAgICBKdW1wIGJyYW5jaDgoUmVs
YXRpb25hbENvbmRpdGlvbiBjb25kLCBBYnNvbHV0ZUFkZHJlc3MgbGVmdCwgVHJ1c3RlZEltbTMy
IHJpZ2h0KQotICAgIHsKLSAgICAgICAgVHJ1c3RlZEltbTMyIHJpZ2h0OChzdGF0aWNfY2FzdDxp
bnQ4X3Q+KHJpZ2h0Lm1fdmFsdWUpKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuY21wYl9pbShyaWdo
dDgubV92YWx1ZSwgbGVmdC5tX3B0cik7Ci0gICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVy
LmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsKLSAgICB9Ci0KLSAgICBKdW1wIGJyYW5jaFRlc3Q4
KFJlc3VsdENvbmRpdGlvbiBjb25kLCBBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgVHJ1c3RlZElt
bTMyIG1hc2sgPSBUcnVzdGVkSW1tMzIoLTEpKQotICAgIHsKLSAgICAgICAgVHJ1c3RlZEltbTMy
IG1hc2s4KHN0YXRpY19jYXN0PGludDhfdD4obWFzay5tX3ZhbHVlKSk7Ci0gICAgICAgIGlmICht
YXNrOC5tX3ZhbHVlID09IC0xKQotICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wYl9pbSgwLCBh
ZGRyZXNzLm1fcHRyKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9hc3NlbWJsZXIudGVz
dGJfaW0obWFzazgubV92YWx1ZSwgYWRkcmVzcy5tX3B0cik7Ci0gICAgICAgIHJldHVybiBKdW1w
KG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsKLSAgICB9Ci0KLSAgICBKdW1w
IGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQg
bGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0
VmFsdWUgPSBUcnVzdGVkSW1tUHRyKG51bGxwdHIpKQotICAgIHsKLSAgICAgICAgcGFkQmVmb3Jl
UGF0Y2goKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuY21wbF9pcl9mb3JjZTMyKGluaXRpYWxSaWdo
dFZhbHVlLmFzSW50cHRyKCksIGxlZnQpOwotICAgICAgICBkYXRhTGFiZWwgPSBEYXRhTGFiZWxQ
dHIodGhpcyk7Ci0gICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRp
b24oY29uZCkpKTsKLSAgICB9Ci0KLSAgICBKdW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlv
bmFsQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWws
IFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKG51bGxwdHIp
KQotICAgIHsKLSAgICAgICAgcGFkQmVmb3JlUGF0Y2goKTsKLSAgICAgICAgbV9hc3NlbWJsZXIu
Y21wbF9pbV9mb3JjZTMyKGluaXRpYWxSaWdodFZhbHVlLmFzSW50cHRyKCksIGxlZnQub2Zmc2V0
LCBsZWZ0LmJhc2UpOwotICAgICAgICBkYXRhTGFiZWwgPSBEYXRhTGFiZWxQdHIodGhpcyk7Ci0g
ICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsK
LSAgICB9Ci0KLSAgICBKdW1wIGJyYW5jaDMyV2l0aFBhdGNoKFJlbGF0aW9uYWxDb25kaXRpb24g
Y29uZCwgQWRkcmVzcyBsZWZ0LCBEYXRhTGFiZWwzMiYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tMzIg
aW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tMzIoMCkpCi0gICAgewotICAgICAgICBwYWRC
ZWZvcmVQYXRjaCgpOwotICAgICAgICBtX2Fzc2VtYmxlci5jbXBsX2ltX2ZvcmNlMzIoaW5pdGlh
bFJpZ2h0VmFsdWUubV92YWx1ZSwgbGVmdC5vZmZzZXQsIGxlZnQuYmFzZSk7Ci0gICAgICAgIGRh
dGFMYWJlbCA9IERhdGFMYWJlbDMyKHRoaXMpOwotICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2Vt
Ymxlci5qQ0MoeDg2Q29uZGl0aW9uKGNvbmQpKSk7Ci0gICAgfQotCi0gICAgRGF0YUxhYmVsUHRy
IHN0b3JlUHRyV2l0aFBhdGNoKFRydXN0ZWRJbW1QdHIgaW5pdGlhbFZhbHVlLCBJbXBsaWNpdEFk
ZHJlc3MgYWRkcmVzcykKLSAgICB7Ci0gICAgICAgIHBhZEJlZm9yZVBhdGNoKCk7Ci0gICAgICAg
IG1fYXNzZW1ibGVyLm1vdmxfaTMybShpbml0aWFsVmFsdWUuYXNJbnRwdHIoKSwgYWRkcmVzcy5v
ZmZzZXQsIGFkZHJlc3MuYmFzZSk7Ci0gICAgICAgIHJldHVybiBEYXRhTGFiZWxQdHIodGhpcyk7
Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50KCkgeyByZXR1
cm4gdHJ1ZTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRl
KCkgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2lu
dFNxcnQoKSB7IHJldHVybiB0cnVlOyB9Ci0gICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGlu
Z1BvaW50QWJzKCkgeyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgdGVtcGxhdGU8UHRyVGFnIHJlc3Vs
dFRhZywgUHRyVGFnIGxvY2F0aW9uVGFnPgotICAgIHN0YXRpYyBGdW5jdGlvblB0cjxyZXN1bHRU
YWc+IHJlYWRDYWxsVGFyZ2V0KENvZGVMb2NhdGlvbkNhbGw8bG9jYXRpb25UYWc+IGNhbGwpCi0g
ICAgewotICAgICAgICBpbnRwdHJfdCBvZmZzZXQgPSBXVEY6OnVuYWxpZ25lZExvYWQ8aW50MzJf
dD4oYml0d2lzZV9jYXN0PGludDMyX3QqPihjYWxsLmRhdGFMb2NhdGlvbigpKSAtIDEpOwotICAg
ICAgICByZXR1cm4gRnVuY3Rpb25QdHI8cmVzdWx0VGFnPihyZWludGVycHJldF9jYXN0PHZvaWQq
PihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oY2FsbC5kYXRhTG9jYXRpb24oKSkgKyBvZmZz
ZXQpKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBjYW5KdW1wUmVwbGFjZVBhdGNoYWJsZUJy
YW5jaFB0cldpdGhQYXRjaCgpIHsgcmV0dXJuIHRydWU7IH0KLSAgICBzdGF0aWMgYm9vbCBjYW5K
dW1wUmVwbGFjZVBhdGNoYWJsZUJyYW5jaDMyV2l0aFBhdGNoKCkgeyByZXR1cm4gdHJ1ZTsgfQot
Ci0gICAgdGVtcGxhdGU8UHRyVGFnIHRhZz4KLSAgICBzdGF0aWMgQ29kZUxvY2F0aW9uTGFiZWw8
dGFnPiBzdGFydE9mQnJhbmNoUHRyV2l0aFBhdGNoT25SZWdpc3RlcihDb2RlTG9jYXRpb25EYXRh
TGFiZWxQdHI8dGFnPiBsYWJlbCkKLSAgICB7Ci0gICAgICAgIGNvbnN0IGludCBvcGNvZGVCeXRl
cyA9IDE7Ci0gICAgICAgIGNvbnN0IGludCBtb2RSTUJ5dGVzID0gMTsKLSAgICAgICAgY29uc3Qg
aW50IGltbWVkaWF0ZUJ5dGVzID0gNDsKLSAgICAgICAgY29uc3QgaW50IHRvdGFsQnl0ZXMgPSBv
cGNvZGVCeXRlcyArIG1vZFJNQnl0ZXMgKyBpbW1lZGlhdGVCeXRlczsKLSAgICAgICAgQVNTRVJU
KHRvdGFsQnl0ZXMgPj0gbWF4SnVtcFJlcGxhY2VtZW50U2l6ZSgpKTsKLSAgICAgICAgcmV0dXJu
IGxhYmVsLmxhYmVsQXRPZmZzZXQoLXRvdGFsQnl0ZXMpOwotICAgIH0KLQotICAgIHRlbXBsYXRl
PFB0clRhZyB0YWc+Ci0gICAgc3RhdGljIENvZGVMb2NhdGlvbkxhYmVsPHRhZz4gc3RhcnRPZlBh
dGNoYWJsZUJyYW5jaFB0cldpdGhQYXRjaE9uQWRkcmVzcyhDb2RlTG9jYXRpb25EYXRhTGFiZWxQ
dHI8dGFnPiBsYWJlbCkKLSAgICB7Ci0gICAgICAgIGNvbnN0IGludCBvcGNvZGVCeXRlcyA9IDE7
Ci0gICAgICAgIGNvbnN0IGludCBtb2RSTUJ5dGVzID0gMTsKLSAgICAgICAgY29uc3QgaW50IG9m
ZnNldEJ5dGVzID0gMDsKLSAgICAgICAgY29uc3QgaW50IGltbWVkaWF0ZUJ5dGVzID0gNDsKLSAg
ICAgICAgY29uc3QgaW50IHRvdGFsQnl0ZXMgPSBvcGNvZGVCeXRlcyArIG1vZFJNQnl0ZXMgKyBv
ZmZzZXRCeXRlcyArIGltbWVkaWF0ZUJ5dGVzOwotICAgICAgICBBU1NFUlQodG90YWxCeXRlcyA+
PSBtYXhKdW1wUmVwbGFjZW1lbnRTaXplKCkpOwotICAgICAgICByZXR1cm4gbGFiZWwubGFiZWxB
dE9mZnNldCgtdG90YWxCeXRlcyk7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8UHRyVGFnIHRhZz4K
LSAgICBzdGF0aWMgQ29kZUxvY2F0aW9uTGFiZWw8dGFnPiBzdGFydE9mUGF0Y2hhYmxlQnJhbmNo
MzJXaXRoUGF0Y2hPbkFkZHJlc3MoQ29kZUxvY2F0aW9uRGF0YUxhYmVsMzI8dGFnPiBsYWJlbCkK
LSAgICB7Ci0gICAgICAgIGNvbnN0IGludCBvcGNvZGVCeXRlcyA9IDE7Ci0gICAgICAgIGNvbnN0
IGludCBtb2RSTUJ5dGVzID0gMTsKLSAgICAgICAgY29uc3QgaW50IG9mZnNldEJ5dGVzID0gMDsK
LSAgICAgICAgY29uc3QgaW50IGltbWVkaWF0ZUJ5dGVzID0gNDsKLSAgICAgICAgY29uc3QgaW50
IHRvdGFsQnl0ZXMgPSBvcGNvZGVCeXRlcyArIG1vZFJNQnl0ZXMgKyBvZmZzZXRCeXRlcyArIGlt
bWVkaWF0ZUJ5dGVzOwotICAgICAgICBBU1NFUlQodG90YWxCeXRlcyA+PSBtYXhKdW1wUmVwbGFj
ZW1lbnRTaXplKCkpOwotICAgICAgICByZXR1cm4gbGFiZWwubGFiZWxBdE9mZnNldCgtdG90YWxC
eXRlcyk7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8UHRyVGFnIHRhZz4KLSAgICBzdGF0aWMgdm9p
ZCByZXZlcnRKdW1wUmVwbGFjZW1lbnRUb0JyYW5jaFB0cldpdGhQYXRjaChDb2RlTG9jYXRpb25M
YWJlbDx0YWc+IGluc3RydWN0aW9uU3RhcnQsIFJlZ2lzdGVySUQgcmVnLCB2b2lkKiBpbml0aWFs
VmFsdWUpCi0gICAgewotICAgICAgICBYODZBc3NlbWJsZXI6OnJldmVydEp1bXBUb19jbXBsX2ly
X2ZvcmNlMzIoaW5zdHJ1Y3Rpb25TdGFydC5leGVjdXRhYmxlQWRkcmVzcygpLCByZWludGVycHJl
dF9jYXN0PGludHB0cl90Pihpbml0aWFsVmFsdWUpLCByZWcpOwotICAgIH0KLQotICAgIHRlbXBs
YXRlPFB0clRhZyB0YWc+Ci0gICAgc3RhdGljIHZvaWQgcmV2ZXJ0SnVtcFJlcGxhY2VtZW50VG9Q
YXRjaGFibGVCcmFuY2hQdHJXaXRoUGF0Y2goQ29kZUxvY2F0aW9uTGFiZWw8dGFnPiBpbnN0cnVj
dGlvblN0YXJ0LCBBZGRyZXNzIGFkZHJlc3MsIHZvaWQqIGluaXRpYWxWYWx1ZSkKLSAgICB7Ci0g
ICAgICAgIEFTU0VSVCghYWRkcmVzcy5vZmZzZXQpOwotICAgICAgICBYODZBc3NlbWJsZXI6OnJl
dmVydEp1bXBUb19jbXBsX2ltX2ZvcmNlMzIoaW5zdHJ1Y3Rpb25TdGFydC5leGVjdXRhYmxlQWRk
cmVzcygpLCByZWludGVycHJldF9jYXN0PGludHB0cl90Pihpbml0aWFsVmFsdWUpLCAwLCBhZGRy
ZXNzLmJhc2UpOwotICAgIH0KLQotICAgIHRlbXBsYXRlPFB0clRhZyB0YWc+Ci0gICAgc3RhdGlj
IHZvaWQgcmV2ZXJ0SnVtcFJlcGxhY2VtZW50VG9QYXRjaGFibGVCcmFuY2gzMldpdGhQYXRjaChD
b2RlTG9jYXRpb25MYWJlbDx0YWc+IGluc3RydWN0aW9uU3RhcnQsIEFkZHJlc3MgYWRkcmVzcywg
aW50MzJfdCBpbml0aWFsVmFsdWUpCi0gICAgewotICAgICAgICBBU1NFUlQoIWFkZHJlc3Mub2Zm
c2V0KTsKLSAgICAgICAgWDg2QXNzZW1ibGVyOjpyZXZlcnRKdW1wVG9fY21wbF9pbV9mb3JjZTMy
KGluc3RydWN0aW9uU3RhcnQuZXhlY3V0YWJsZUFkZHJlc3MoKSwgaW5pdGlhbFZhbHVlLCAwLCBh
ZGRyZXNzLmJhc2UpOwotICAgIH0KLQotICAgIHRlbXBsYXRlPFB0clRhZyBjYWxsVGFnLCBQdHJU
YWcgZGVzdFRhZz4KLSAgICBzdGF0aWMgdm9pZCByZXBhdGNoQ2FsbChDb2RlTG9jYXRpb25DYWxs
PGNhbGxUYWc+IGNhbGwsIENvZGVMb2NhdGlvbkxhYmVsPGRlc3RUYWc+IGRlc3RpbmF0aW9uKQot
ICAgIHsKLSAgICAgICAgWDg2QXNzZW1ibGVyOjpyZWxpbmtDYWxsKGNhbGwuZGF0YUxvY2F0aW9u
KCksIGRlc3RpbmF0aW9uLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwotICAgIH0KLQotICAgIHRlbXBs
YXRlPFB0clRhZyBjYWxsVGFnLCBQdHJUYWcgZGVzdFRhZz4KLSAgICBzdGF0aWMgdm9pZCByZXBh
dGNoQ2FsbChDb2RlTG9jYXRpb25DYWxsPGNhbGxUYWc+IGNhbGwsIEZ1bmN0aW9uUHRyPGRlc3RU
YWc+IGRlc3RpbmF0aW9uKQotICAgIHsKLSAgICAgICAgWDg2QXNzZW1ibGVyOjpyZWxpbmtDYWxs
KGNhbGwuZGF0YUxvY2F0aW9uKCksIGRlc3RpbmF0aW9uLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwot
ICAgIH0KLQotcHJpdmF0ZToKLSAgICBmcmllbmQgY2xhc3MgTGlua0J1ZmZlcjsKLQotICAgIHRl
bXBsYXRlPFB0clRhZyB0YWc+Ci0gICAgc3RhdGljIHZvaWQgbGlua0NhbGwodm9pZCogY29kZSwg
Q2FsbCBjYWxsLCBGdW5jdGlvblB0cjx0YWc+IGZ1bmN0aW9uKQotICAgIHsKLSAgICAgICAgaWYg
KGNhbGwuaXNGbGFnU2V0KENhbGw6OlRhaWwpKQotICAgICAgICAgICAgWDg2QXNzZW1ibGVyOjps
aW5rSnVtcChjb2RlLCBjYWxsLm1fbGFiZWwsIGZ1bmN0aW9uLmV4ZWN1dGFibGVBZGRyZXNzKCkp
OwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBYODZBc3NlbWJsZXI6OmxpbmtDYWxsKGNvZGUs
IGNhbGwubV9sYWJlbCwgZnVuY3Rpb24uZXhlY3V0YWJsZUFkZHJlc3MoKSk7Ci0gICAgfQotfTsK
LQotfSAvLyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>