<?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>236515</bug_id>
          
          <creation_ts>2022-02-11 09:57:12 -0800</creation_ts>
          <short_desc>[CSS Container Queries] Add separate ContainerQuery and FilteredContainerQuery types</short_desc>
          <delta_ts>2022-02-13 04:24:18 -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>CSS</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1840418</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-11 09:57:12 -0800</bug_when>
    <thetext>ContainerQuery is the actual query. FilteredContainerQuery includes the container filter part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840423</commentid>
    <comment_count>1</comment_count>
      <attachid>451718</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-11 10:00:10 -0800</bug_when>
    <thetext>Created attachment 451718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840467</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2022-02-11 11:33:38 -0800</bug_when>
    <thetext>This patch seems to be failing on few EWSes, e.g.: https://ews-build.webkit.org/#/builders/61/builds/27110, https://ews-build.webkit.org/#/builders/66/builds/9212, https://ews-build.webkit.org/#/builders/65/builds/9223

I am going to cancel some of the EWS builds, so that bots can focus on other patches,  since currently there is a backlog of patches on various ews queues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840968</commentid>
    <comment_count>3</comment_count>
      <attachid>451812</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-02-13 03:42:54 -0800</bug_when>
    <thetext>Created attachment 451812
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840970</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-13 04:23:01 -0800</bug_when>
    <thetext>Committed r289706 (247191@main): &lt;https://commits.webkit.org/247191@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451812.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840972</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-13 04:24:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/88870054&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451718</attachid>
            <date>2022-02-11 10:00:10 -0800</date>
            <delta_ts>2022-02-13 03:42:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236515-20220211200008.patch</filename>
            <type>text/plain</type>
            <size>16163</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5MzgwZDg5YTdlNDg5
Njc0MGQ2NDU1ZmJjYzdiZDYyOGQ1ZmYyMy4uODE0ODc0MzU5YTgyODljZTBjMGFlZTQ5MmFkZDZi
NDQ0NzBkZWM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIyLTAyLTExICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBBZGQgc2VwYXJhdGUgQ29udGFpbmVyUXVlcnkgYW5kIEZpbHRlcmVkQ29udGFpbmVy
UXVlcnkgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNjUxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENvbnRhaW5lclF1ZXJ5IGlzIGp1c3QgYSB0eXBlIGFsaWFzIHRvIE1lZGlhUXVlcnlTZXQg
Zm9yIG5vdy4KKyAgICAgICAgRmlsdGVyZWRDb250YWluZXJRdWVyeSBpcyBhIENvbnRhaW5lclF1
ZXJ5IHBsdXMgbmFtZSBmaWx0ZXIgKHR5cGUgZmlsdGVyIGNvbWluZyBsYXRlcikuCisKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0Nv
bnRhaW5lclF1ZXJ5Lmg6IEFkZGVkLgorCisgICAgICAgIE1vdmUgdG8gYSBmaWxlIG9mIGl0cyBv
d24uCisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUNvbnRhaW5lcjo6U3R5bGVSdWxlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmg6
CisgICAgICAgICogc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSBjb25zdCk6
CisgICAgICAgICogc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaDoKKyAgICAgICAgKiBz
dHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
RWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbnRhaW5lclF1ZXJ5TWF0Y2hlcyk6CisgICAgICAgICog
c3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaDoKKyAgICAgICAgKiBzdHlsZS9SdWxlU2V0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6Y29udGFpbmVyUXVlcnlGb3IgY29u
c3QpOgorICAgICAgICAqIHN0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpSdWxlU2V0QnVpbGRlcjo6YWRkQ2hpbGRSdWxlcyk6CisKIDIwMjItMDItMTEg
IE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dU
S10gV2ViS2l0IGJyb3dzZXIgc2Nyb2xsYmFycyBub3QgYWx3YXlzIGNvcnJlY3RseSBkaXNwbGF5
ZWQgaWYgb3ZlcmxheSBzY3JvbGxiYXJzIGFyZSBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJkNDc5NmYxMzRjODg5
ZjllNTQ3Y2FjNzA4NTFmMmI1YzY4MmUxZTQuLmIwOTEwZDZjZmU0ZTNkNmVhOTZiMTJhY2YwN2Uz
MzdkY2RjMjgzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTE3NjAwLDYgKzE3NjAwLDcgQEAKIAkJRTRFRDNFQ0QyNzY4QTY4
ODAwRjE3QUM4IC8qIEhhc1NlbGVjdG9yRmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhh
c1NlbGVjdG9yRmlsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGMEJF
MkUyNTcxMEE3NTAwOUU3NDMxIC8qIENhcmV0UmVjdENvbXB1dGF0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhcmV0UmVjdENvbXB1dGF0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0RjBCRTMwMjU3MTBBNzYwMDlFNzQzMSAvKiBDYXJldFJlY3RD
b21wdXRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYXJl
dFJlY3RDb21wdXRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0RjE1
NzMyMjdCNjk5MUYwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250YWluZXJRdWVyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEYzOEQxOTI2
MjZGMTNCMDA3QjEwNjQgLyogRGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEYzOEQxQzI2MjZGMTQ0MDA3QjEwNjQgLyog
RGVmYXVsdFJlc291cmNlTG9hZFByaW9yaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUU0RjgxOUMyMjZGQjRFQUYwMDk0RTE2MiAvKiBJbmxpbmVCb3hQ
YWludGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUJv
eFBhaW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE1NzgsNiArMzE1
NzksNyBAQAogCQkJCTRCQUZEMERBMjE5MjFFQUQwMEMwQUI2NCAvKiB0eXBlZG9tICovLAogCQkJ
CUZCRDZBRjg0MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNpY1NoYXBlRnVuY3Rpb25zLmNwcCAqLywK
IAkJCQlGQkQ2QUY4NTE1RUYyMUQ0MDA4QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0aW9ucy5oICov
LAorCQkJCUU0RjE1NzMyMjdCNjk5MUYwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oICovLAog
CQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBDb3VudGVyLmggKi8sCiAJCQkJQ0FFOUY5
MEQxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwICovLAogCQkJCUNB
RTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9Db250YWluZXJRdWVyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkOGRlMGMwMGM1YjIxOWU0MGY1
OGQ2MjY1Njg0MjA1M2I5YjUyMGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ29udGFpbmVyUXVlcnkuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhUXVlcnlTZXQ7CisKK3Vz
aW5nIENvbnRhaW5lclF1ZXJ5ID0gTWVkaWFRdWVyeVNldDsKKworc3RydWN0IEZpbHRlcmVkQ29u
dGFpbmVyUXVlcnkgeworICAgIEF0b21TdHJpbmcgbmFtZUZpbHRlcjsKKyAgICBSZWY8Q29udGFp
bmVyUXVlcnk+IHF1ZXJ5OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAppbmRleCAy
ZDQzZDVkYzcyYWI1MDkzN2E4MDU2MmZmYTFmNmU2YjcwNDQyZjI5Li42M2QyNGVkN2JmNDRhZTZl
Nzk1ZTlmNjlmMDRlNGY2OTZjYWI2NTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcApAQCAt
NTM2LDMwICs1MzYsMzAgQEAgUmVmPFN0eWxlUnVsZUxheWVyPiBTdHlsZVJ1bGVMYXllcjo6Y3Jl
YXRlQmxvY2soQ2FzY2FkZUxheWVyTmFtZSYmIG5hbWUsIHN0ZDo6dW4KICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTdHlsZVJ1bGVMYXllcihXVEZNb3ZlKG5hbWUpLCBXVEZNb3ZlKHJ1bGVzKSkp
OwogfQogCi1TdHlsZVJ1bGVDb250YWluZXI6OlN0eWxlUnVsZUNvbnRhaW5lcihDb250YWluZXJR
dWVyeSYmIHF1ZXJ5LCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYmIHJ1bGVzKQorU3R5
bGVSdWxlQ29udGFpbmVyOjpTdHlsZVJ1bGVDb250YWluZXIoRmlsdGVyZWRDb250YWluZXJRdWVy
eSYmIHF1ZXJ5LCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYmIHJ1bGVzKQogICAgIDog
U3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZTo6Q29udGFpbmVyLCBXVEZNb3ZlKHJ1bGVzKSkK
LSAgICAsIG1fcXVlcnkoV1RGTW92ZShxdWVyeSkpCisgICAgLCBtX2ZpbHRlcmVkUXVlcnkoV1RG
TW92ZShxdWVyeSkpCiB7CiB9CiAKLVN0eWxlUnVsZUNvbnRhaW5lcjo6U3R5bGVSdWxlQ29udGFp
bmVyKENvbnRhaW5lclF1ZXJ5JiYgcXVlcnksIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxl
R3JvdXBSdWxlTGlzdD4mJiBydWxlcykKK1N0eWxlUnVsZUNvbnRhaW5lcjo6U3R5bGVSdWxlQ29u
dGFpbmVyKEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmJiBxdWVyeSwgc3RkOjp1bmlxdWVfcHRyPERl
ZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmIHJ1bGVzKQogICAgIDogU3R5bGVSdWxlR3JvdXAo
U3R5bGVSdWxlVHlwZTo6Q29udGFpbmVyLCBXVEZNb3ZlKHJ1bGVzKSkKLSAgICAsIG1fcXVlcnko
V1RGTW92ZShxdWVyeSkpCisgICAgLCBtX2ZpbHRlcmVkUXVlcnkoV1RGTW92ZShxdWVyeSkpCiB7
CiB9CiAKIFN0eWxlUnVsZUNvbnRhaW5lcjo6U3R5bGVSdWxlQ29udGFpbmVyKGNvbnN0IFN0eWxl
UnVsZUNvbnRhaW5lciYgb3RoZXIpCiAgICAgOiBTdHlsZVJ1bGVHcm91cChvdGhlcikKLSAgICAs
IG1fcXVlcnkob3RoZXIubV9xdWVyeSkKKyAgICAsIG1fZmlsdGVyZWRRdWVyeShvdGhlci5tX2Zp
bHRlcmVkUXVlcnkpCiB7CiB9CiAKLVJlZjxTdHlsZVJ1bGVDb250YWluZXI+IFN0eWxlUnVsZUNv
bnRhaW5lcjo6Y3JlYXRlKENvbnRhaW5lclF1ZXJ5JiYgcXVlcnksIFZlY3RvcjxSZWZQdHI8U3R5
bGVSdWxlQmFzZT4+JiYgcnVsZXMpCitSZWY8U3R5bGVSdWxlQ29udGFpbmVyPiBTdHlsZVJ1bGVD
b250YWluZXI6OmNyZWF0ZShGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5JiYgcXVlcnksIFZlY3RvcjxS
ZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYgcnVsZXMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU3R5bGVSdWxlQ29udGFpbmVyKFdURk1vdmUocXVlcnkpLCBXVEZNb3ZlKHJ1bGVzKSkpOwog
fQogCi1SZWY8U3R5bGVSdWxlQ29udGFpbmVyPiBTdHlsZVJ1bGVDb250YWluZXI6OmNyZWF0ZShD
b250YWluZXJRdWVyeSYmIHF1ZXJ5LCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3Vw
UnVsZUxpc3Q+JiYgcnVsZXMpCitSZWY8U3R5bGVSdWxlQ29udGFpbmVyPiBTdHlsZVJ1bGVDb250
YWluZXI6OmNyZWF0ZShGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5JiYgcXVlcnksIHN0ZDo6dW5pcXVl
X3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBydWxlcykKIHsKICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVDb250YWluZXIoV1RGTW92ZShxdWVyeSksIFdURk1vdmUo
cnVsZXMpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggNWUxYzA3YjUzNjE2YmExODcw
MzBjNjdmM2ViOTQyZjY0M2IyM2IxZC4uY2UzNmMxZGJjMjc5NDVlMjU1ZGRkYTZlYzY2OWY3ZjQ2
YzI5NWVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtMjMsNiArMjMsNyBAQAogCiAjaW5j
bHVkZSAiQ1NTU2VsZWN0b3JMaXN0LmgiCiAjaW5jbHVkZSAiQ29tcGlsZWRTZWxlY3Rvci5oIgor
I2luY2x1ZGUgIkNvbnRhaW5lclF1ZXJ5LmgiCiAjaW5jbHVkZSAiRm9udFBhbGV0dGVWYWx1ZXMu
aCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGVUeXBl
LmgiCkBAIC0zMTQsMjUgKzMxNSwyMCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dmFyaWFudDxDYXNj
YWRlTGF5ZXJOYW1lLCBWZWN0b3I8Q2FzY2FkZUxheWVyTmFtZT4+IG1fbmFtZVZhcmlhbnQ7CiB9
OwogCi1zdHJ1Y3QgQ29udGFpbmVyUXVlcnkgewotICAgIEF0b21TdHJpbmcgY29udGFpbmVyTmFt
ZTsKLSAgICBSZWY8TWVkaWFRdWVyeVNldD4gcXVlcnk7Ci19OwotCiBjbGFzcyBTdHlsZVJ1bGVD
b250YWluZXIgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlR3JvdXAgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8U3R5bGVSdWxlQ29udGFpbmVyPiBjcmVhdGUoQ29udGFpbmVyUXVlcnkmJiwgVmVj
dG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJik7Ci0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVD
b250YWluZXI+IGNyZWF0ZShDb250YWluZXJRdWVyeSYmLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJy
ZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYpOworICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlQ29udGFp
bmVyPiBjcmVhdGUoRmlsdGVyZWRDb250YWluZXJRdWVyeSYmLCBWZWN0b3I8UmVmUHRyPFN0eWxl
UnVsZUJhc2U+PiYmKTsKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUNvbnRhaW5lcj4gY3JlYXRl
KEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmJiwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVH
cm91cFJ1bGVMaXN0PiYmKTsKICAgICBSZWY8U3R5bGVSdWxlQ29udGFpbmVyPiBjb3B5KCkgY29u
c3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVDb250YWluZXIoKnRoaXMpKTsgfQog
Ci0gICAgY29uc3QgQ29udGFpbmVyUXVlcnkmIHF1ZXJ5KCkgY29uc3QgeyByZXR1cm4gbV9xdWVy
eTsgfQorICAgIGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkUXVlcnkoKSBj
b25zdCB7IHJldHVybiBtX2ZpbHRlcmVkUXVlcnk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1
bGVDb250YWluZXIoQ29udGFpbmVyUXVlcnkmJiwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNl
Pj4mJik7Ci0gICAgU3R5bGVSdWxlQ29udGFpbmVyKENvbnRhaW5lclF1ZXJ5JiYsIHN0ZDo6dW5p
cXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJik7CisgICAgU3R5bGVSdWxlQ29u
dGFpbmVyKEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmJiwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPj4mJik7CisgICAgU3R5bGVSdWxlQ29udGFpbmVyKEZpbHRlcmVkQ29udGFpbmVyUXVlcnkm
Jiwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmKTsKICAgICBT
dHlsZVJ1bGVDb250YWluZXIoY29uc3QgU3R5bGVSdWxlQ29udGFpbmVyJik7CiAKLSAgICBDb250
YWluZXJRdWVyeSBtX3F1ZXJ5OworICAgIEZpbHRlcmVkQ29udGFpbmVyUXVlcnkgbV9maWx0ZXJl
ZFF1ZXJ5OwogfTsKIAogLy8gVGhpcyBpcyBvbmx5IHVzZWQgYnkgdGhlIENTUyBwYXJzZXIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHAKaW5k
ZXggY2IwZmZmMjRlNTM4NzBlNjc0MjFjNDU1YTI0NjQ0NTY1YzA0ZDAzMC4uNWYwYzU1NzgyZDFj
YWU2NDY1NGM3ZGJmMWZjNWRiZTQwYmY3Yzk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtNTksMjUgKzU5LDI2IEBAIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVTaXplKENTU1ZhbHVlKiB2YWx1ZSwg
Y29uc3QgQ1NTVG9MZW5ndGhDCiAKIGVudW0gY2xhc3MgQ29tcGFyYXRvciB7IExlc3NlciwgR3Jl
YXRlciwgTGVzc2VyT3JFcXVhbCwgR3JlYXRlck9yRXF1YWwsIEVxdWFsLCBUcnVlIH07CiAKLWJv
b2wgQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IENvbnRhaW5lclF1ZXJ5
JiBjb250YWluZXJRdWVyeSkgY29uc3QKK2Jvb2wgQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2
YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmIGZpbHRlcmVkQ29udGFpbmVyUXVl
cnkpIGNvbnN0CiB7CiAgICAgaWYgKG1fY29udGFpbmVycy5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIGF1dG8gcmVuZGVyZXJGb3JDb250YWluZXJTZWxlY3RvciA9IFsm
XSgpIC0+IFJlbmRlckJveCogeworICAgIGF1dG8gY29udGFpbmVyUmVuZGVyZXJGb3JGaWx0ZXIg
PSBbJl0oKSAtPiBSZW5kZXJCb3gqIHsKICAgICAgICAgZm9yIChhdXRvJiBjb250YWluZXIgOiBt
YWtlUmV2ZXJzZWRSYW5nZShtX2NvbnRhaW5lcnMpKSB7CiAgICAgICAgICAgICBhdXRvKiByZW5k
ZXJlciA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGNvbnRhaW5lci0+cmVuZGVyZXIoKSk7
CiAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwotICAgICAgICAgICAgaWYgKGNvbnRhaW5lclF1ZXJ5LmNvbnRhaW5lck5hbWUuaXNFbXB0
eSgpKQorICAgICAgICAgICAgaWYgKGZpbHRlcmVkQ29udGFpbmVyUXVlcnkubmFtZUZpbHRlci5p
c0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVyOwotICAgICAgICAgICAg
aWYgKHJlbmRlcmVyLT5zdHlsZSgpLmNvbnRhaW5lck5hbWVzKCkuY29udGFpbnMoY29udGFpbmVy
UXVlcnkuY29udGFpbmVyTmFtZSkpCisgICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCB0eXBl
IGZpbHRlci4KKyAgICAgICAgICAgIGlmIChyZW5kZXJlci0+c3R5bGUoKS5jb250YWluZXJOYW1l
cygpLmNvbnRhaW5zKGZpbHRlcmVkQ29udGFpbmVyUXVlcnkubmFtZUZpbHRlcikpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHJlbmRlcmVyOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIH07CiAKLSAgICBhdXRvKiByZW5kZXJlciA9IHJlbmRlcmVyRm9yQ29udGFpbmVy
U2VsZWN0b3IoKTsKKyAgICBhdXRvKiByZW5kZXJlciA9IGNvbnRhaW5lclJlbmRlcmVyRm9yRmls
dGVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0x
MjksNyArMTMwLDcgQEAgYm9vbCBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29u
c3QgQ29udGFpbmVyUXVlcnkmIGNvbnRhaW5lclF1ZXJ5KSBjb24KICAgICBib29sIHJlc3VsdCA9
IGZhbHNlOwogCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgdmVyeSBydWRpbWVudGFyeS4KLSAgICBh
dXRvJiBxdWVyaWVzID0gY29udGFpbmVyUXVlcnkucXVlcnktPnF1ZXJ5VmVjdG9yKCk7CisgICAg
YXV0byYgcXVlcmllcyA9IGZpbHRlcmVkQ29udGFpbmVyUXVlcnkucXVlcnktPnF1ZXJ5VmVjdG9y
KCk7CiAgICAgZm9yIChhdXRvJiBxdWVyeSA6IHF1ZXJpZXMpIHsKICAgICAgICAgZm9yIChhdXRv
JiBleHByZXNzaW9uIDogcXVlcnkuZXhwcmVzc2lvbnMoKSkgewogICAgICAgICAgICAgaWYgKGV4
cHJlc3Npb24ubWVkaWFGZWF0dXJlKCkgPT0gTWVkaWFGZWF0dXJlTmFtZXM6Om1pbldpZHRoKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaAppbmRl
eCA2NjhjM2ZhOTExMjY1MGVmZTA5NWNiN2FiODE0ZWE5MDIyODRmN2YzLi44ZjZlNzMwMDdmNzVm
YWI1Yjg1NGUxMWNlMjI5N2MwNjlmYjU4OTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdHJ1Y3QgQ29udGFpbmVyUXVlcnk7CitzdHJ1Y3QgRmlsdGVyZWRDb250
YWluZXJRdWVyeTsKIGNsYXNzIEVsZW1lbnQ7CiAKIG5hbWVzcGFjZSBTdHlsZSB7CkBAIC0zNyw3
ICszNyw3IEBAIGNsYXNzIENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yIHsKIHB1YmxpYzoKICAgICBD
b250YWluZXJRdWVyeUV2YWx1YXRvcihjb25zdCBWZWN0b3I8UmVmPGNvbnN0IEVsZW1lbnQ+PiYg
Y29udGFpbmVycyk7CiAKLSAgICBib29sIGV2YWx1YXRlKGNvbnN0IENvbnRhaW5lclF1ZXJ5Jikg
Y29uc3Q7CisgICAgYm9vbCBldmFsdWF0ZShjb25zdCBGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5Jikg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgY29uc3QgVmVjdG9yPFJlZjxjb25zdCBFbGVtZW50Pj4m
IG1fY29udGFpbmVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmNwcAppbmRleCBkMDU1NGQ0OWJmYmE3NWFkYjk5ZjVlMDJhYmM2MDMzODYyOWM4OWZiLi4x
NTU2ZmM4MWI1NzJhYWViZWZiZjBkODFjM2U1ZjQ1NDdkMDJiYWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCkBAIC01MDUsNyArNTA1LDcgQEAg
dm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KGNv
bnN0IFJ1bGVTZXQ6OlJ1bGVEYXRhVmUKICAgICB9CiB9CiAKLWJvb2wgRWxlbWVudFJ1bGVDb2xs
ZWN0b3I6OmNvbnRhaW5lclF1ZXJ5TWF0Y2hlcyhjb25zdCBDb250YWluZXJRdWVyeSYgcXVlcnkp
Citib29sIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb250YWluZXJRdWVyeU1hdGNoZXMoY29uc3Qg
RmlsdGVyZWRDb250YWluZXJRdWVyeSYgcXVlcnkpCiB7CiAgICAgaWYgKCFtX3NlbGVjdG9yTWF0
Y2hpbmdTdGF0ZSkKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
RWxlbWVudFJ1bGVDb2xsZWN0b3IuaAppbmRleCA0YmEzMzQ0ZTA5NmM3NzBjZGE2MjE5NDAwMTU4
NjM3YTdhOGJlNDFmLi45MGUwNmZhNjA1ZWZmMGJiZmI5OTVjNjVlMjM5ZGNkYjg3NTE2NDIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgKQEAgLTExMiw3
ICsxMTIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY29sbGVjdE1hdGNoaW5nUnVsZXMoY29uc3Qg
TWF0Y2hSZXF1ZXN0Jik7CiAgICAgdm9pZCBjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QoY29u
c3QgUnVsZVNldDo6UnVsZURhdGFWZWN0b3IqLCBjb25zdCBNYXRjaFJlcXVlc3QmKTsKICAgICBi
b29sIHJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRhJiwgdW5zaWduZWQmIHNwZWNpZmljaXR5LCBT
Y29wZU9yZGluYWwpOwotICAgIGJvb2wgY29udGFpbmVyUXVlcnlNYXRjaGVzKGNvbnN0IENvbnRh
aW5lclF1ZXJ5Jik7CisgICAgYm9vbCBjb250YWluZXJRdWVyeU1hdGNoZXMoY29uc3QgRmlsdGVy
ZWRDb250YWluZXJRdWVyeSYpOwogCiAgICAgdm9pZCBzb3J0TWF0Y2hlZFJ1bGVzKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1J1bGVTZXQuaAppbmRleCA2NGU0NTJmOWZmNTcwODU2MDY5MzNjYWZmNmU3YWQxY2Iy
MTE2YmFiLi42NWU3M2Y3NDU1MmFlZDgwZTU0NDAzYzRmNjZhNGJmNmE3YmQ3ZDRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldC5oCkBAIC0xMDgsNyArMTA4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBj
b25zdGV4cHIgYXV0byBjYXNjYWRlTGF5ZXJQcmlvcml0eUZvclVubGF5ZXJlZCA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8Q2FzY2FkZUxheWVyUHJpb3JpdHk+OjptYXgoKTsKIAogICAgIENhc2NhZGVM
YXllclByaW9yaXR5IGNhc2NhZGVMYXllclByaW9yaXR5Rm9yKGNvbnN0IFJ1bGVEYXRhJikgY29u
c3Q7Ci0gICAgY29uc3QgQ29udGFpbmVyUXVlcnkqIGNvbnRhaW5lclF1ZXJ5Rm9yKGNvbnN0IFJ1
bGVEYXRhJikgY29uc3Q7CisgICAgY29uc3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSogY29udGFp
bmVyUXVlcnlGb3IoY29uc3QgUnVsZURhdGEmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgUnVsZVNldEJ1aWxkZXI7CkBAIC0xNDQsNyArMTQ0LDcgQEAgcHJpdmF0ZToKICAg
ICBDYXNjYWRlTGF5ZXJQcmlvcml0eSBjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcklkZW50aWZpZXIo
Q2FzY2FkZUxheWVySWRlbnRpZmllcikgY29uc3Q7CiAKICAgICBzdHJ1Y3QgQ29udGFpbmVyUXVl
cnlBbmRQYXJlbnQgewotICAgICAgICBDb250YWluZXJRdWVyeSBxdWVyeTsKKyAgICAgICAgRmls
dGVyZWRDb250YWluZXJRdWVyeSBxdWVyeTsKICAgICAgICAgQ29udGFpbmVyUXVlcnlJZGVudGlm
aWVyIHBhcmVudDsKICAgICB9OwogCkBAIC0yMjEsNyArMjIxLDcgQEAgaW5saW5lIENhc2NhZGVM
YXllclByaW9yaXR5IFJ1bGVTZXQ6OmNhc2NhZGVMYXllclByaW9yaXR5Rm9yKGNvbnN0IFJ1bGVE
YXRhJiBydWwKICAgICByZXR1cm4gY2FzY2FkZUxheWVyUHJpb3JpdHlGb3JJZGVudGlmaWVyKGlk
ZW50aWZpZXIpOwogfQogCi1pbmxpbmUgY29uc3QgQ29udGFpbmVyUXVlcnkqIFJ1bGVTZXQ6OmNv
bnRhaW5lclF1ZXJ5Rm9yKGNvbnN0IFJ1bGVEYXRhJiBydWxlRGF0YSkgY29uc3QKK2lubGluZSBj
b25zdCBGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5KiBSdWxlU2V0Ojpjb250YWluZXJRdWVyeUZvcihj
b25zdCBSdWxlRGF0YSYgcnVsZURhdGEpIGNvbnN0CiB7CiAgICAgaWYgKG1fY29udGFpbmVyUXVl
cnlJZGVudGlmaWVyRm9yUnVsZVBvc2l0aW9uLnNpemUoKSA8PSBydWxlRGF0YS5wb3NpdGlvbigp
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1J1bGVTZXRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWls
ZGVyLmNwcAppbmRleCBiMzNlN2M0MjBmOGQ0NjFlZjcxZWUxNWZhYmM5MzljZDdlODRiYzM3Li41
NzUxODU5MTk3YjIyNmZjMjQ0YWY2YmMzMjA1ZmFkMjZlMDE3MDE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldEJ1aWxkZXIuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBSdWxlU2V0
QnVpbGRlcjo6YWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+
PiYgcnVsZXMpCiAgICAgICAgICAgICBhdXRvJiBjb250YWluZXJSdWxlID0gZG93bmNhc3Q8U3R5
bGVSdWxlQ29udGFpbmVyPigqcnVsZSk7CiAgICAgICAgICAgICBhdXRvIHByZXZpb3VzQ29udGFp
bmVyUXVlcnlJZGVudGlmaWVyID0gbV9jdXJyZW50Q29udGFpbmVyUXVlcnlJZGVudGlmaWVyOwog
ICAgICAgICAgICAgaWYgKG1fcnVsZVNldCkgewotICAgICAgICAgICAgICAgIG1fcnVsZVNldC0+
bV9jb250YWluZXJRdWVyaWVzLmFwcGVuZCh7IGNvbnRhaW5lclJ1bGUucXVlcnkoKSwgcHJldmlv
dXNDb250YWluZXJRdWVyeUlkZW50aWZpZXIgfSk7CisgICAgICAgICAgICAgICAgbV9ydWxlU2V0
LT5tX2NvbnRhaW5lclF1ZXJpZXMuYXBwZW5kKHsgY29udGFpbmVyUnVsZS5maWx0ZXJlZFF1ZXJ5
KCksIHByZXZpb3VzQ29udGFpbmVyUXVlcnlJZGVudGlmaWVyIH0pOwogICAgICAgICAgICAgICAg
IG1fY3VycmVudENvbnRhaW5lclF1ZXJ5SWRlbnRpZmllciA9IG1fcnVsZVNldC0+bV9jb250YWlu
ZXJRdWVyaWVzLnNpemUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGFkZENoaWxkUnVs
ZXMoY29udGFpbmVyUnVsZS5jaGlsZFJ1bGVzKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451812</attachid>
            <date>2022-02-13 03:42:54 -0800</date>
            <delta_ts>2022-02-13 04:23:03 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-236515-20220213134253.patch</filename>
            <type>text/plain</type>
            <size>17932</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5MzgwZDg5YTdlNDg5
Njc0MGQ2NDU1ZmJjYzdiZDYyOGQ1ZmYyMy4uMWM2M2Q1MTMxZmM4MWRmM2JhZWYzYWE0OTY0N2Rm
YTQwNjViNjI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIyLTAyLTExICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbQ1NTIENvbnRhaW5lciBR
dWVyaWVzXSBBZGQgc2VwYXJhdGUgQ29udGFpbmVyUXVlcnkgYW5kIEZpbHRlcmVkQ29udGFpbmVy
UXVlcnkgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNjUxNQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisgICAgICAg
IENvbnRhaW5lclF1ZXJ5IGlzIGp1c3QgYSB0eXBlIGFsaWFzIHRvIE1lZGlhUXVlcnlTZXQgZm9y
IG5vdy4KKyAgICAgICAgRmlsdGVyZWRDb250YWluZXJRdWVyeSBpcyBhIENvbnRhaW5lclF1ZXJ5
IHBsdXMgbmFtZSBmaWx0ZXIgKHR5cGUgZmlsdGVyIGNvbWluZyBsYXRlcikuCisKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NvbnRh
aW5lclF1ZXJ5Lmg6IEFkZGVkLgorCisgICAgICAgIE1vdmUgdG8gYSBmaWxlIG9mIGl0cyBvd24u
CisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UnVsZUNvbnRhaW5lcjo6U3R5bGVSdWxlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmg6Cisg
ICAgICAgICogc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGU6OkNvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSBjb25zdCk6Cisg
ICAgICAgICogc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaDoKKyAgICAgICAgKiBzdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6RWxl
bWVudFJ1bGVDb2xsZWN0b3I6OmNvbnRhaW5lclF1ZXJ5TWF0Y2hlcyk6CisgICAgICAgICogc3R5
bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaDoKKyAgICAgICAgKiBzdHlsZS9SdWxlU2V0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6Y29udGFpbmVyUXVlcnlGb3IgY29uc3Qp
OgorICAgICAgICAqIHN0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlOjpSdWxlU2V0QnVpbGRlcjo6YWRkQ2hpbGRSdWxlcyk6CisKIDIwMjItMDItMTEgIE1p
Y2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUS10g
V2ViS2l0IGJyb3dzZXIgc2Nyb2xsYmFycyBub3QgYWx3YXlzIGNvcnJlY3RseSBkaXNwbGF5ZWQg
aWYgb3ZlcmxheSBzY3JvbGxiYXJzIGFyZSBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJkNDc5NmYxMzRjODg5Zjll
NTQ3Y2FjNzA4NTFmMmI1YzY4MmUxZTQuLjZjZTA1NGZmOGMxMTU5ZjMzNmQxOTNmNWM2NWQwYmI5
MGRiZTEwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTU0MjUsNiArNTQyNSw3IEBACiAJCUU0RTk0RDYxMjJGRjE1OEEwMERE
MTkxRiAvKiBMZWdhY3lMaW5lTGF5b3V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNEExQUM3ODIyRkFGRDUwMDAxN0I3NUIgLyogTGVnYWN5TGluZUxh
eW91dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUU0RUQzRUNDMjc2OEE1MUQwMEYxN0FDOCAvKiBIYXNTZWxlY3RvckZpbHRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRFRDNFQ0EyNzY4QTUxQzAw
RjE3QUM4IC8qIEhhc1NlbGVjdG9yRmlsdGVyLmggKi87IH07CiAJCUU0RjBCRTMxMjU3MTJGNkUw
MDlFNzQzMSAvKiBDYXJldFJlY3RDb21wdXRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMEJFMkUyNTcxMEE3NTAwOUU3NDMxIC8qIENhcmV0
UmVjdENvbXB1dGF0aW9uLmggKi87IH07CisJCUU0RjE1NzM5MjdCOTI2MTUwMEIzMzBEOCAvKiBD
b250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTRGMTU3MzIyN0I2OTkxRjAwQjMzMEQ4IC8qIENvbnRhaW5lclF1ZXJ5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTRGMzhEMUIyNjI2
RjEzQjAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGMzhEMTkyNjI2RjEzQjAwN0Ix
MDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oICovOyB9OwogCQlFNEY4MTlDNjI2
RkI0RUJGMDA5NEUxNjIgLyogSW5saW5lQm94UGFpbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRGODE5QzUyNkZCNEVCRjAwOTRFMTYyIC8qIElu
bGluZUJveFBhaW50ZXIuaCAqLzsgfTsKIAkJRTRGOUVFRjMxNTZEQTAwNzAwRDIzRTdFIC8qIFN0
eWxlU2hlZXRDb250ZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTRGOUVFRjExNTZEODRDNDAwRDIzRTdFIC8qIFN0eWxlU2hlZXRDb250ZW50cy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNzYw
MCw2ICsxNzYwMSw3IEBACiAJCUU0RUQzRUNEMjc2OEE2ODgwMEYxN0FDOCAvKiBIYXNTZWxlY3Rv
ckZpbHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIYXNTZWxlY3RvckZpbHRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RjBCRTJFMjU3MTBBNzUwMDlFNzQzMSAvKiBD
YXJldFJlY3RDb21wdXRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
YXJldFJlY3RDb21wdXRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEYw
QkUzMDI1NzEwQTc2MDA5RTc0MzEgLyogQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FyZXRSZWN0Q29tcHV0YXRpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNEYxNTczMjI3QjY5OTFGMDBCMzMwRDggLyog
Q29udGFpbmVyUXVlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGFpbmVyUXVlcnkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGMzhEMTkyNjI2RjEzQjAwN0IxMDY0IC8qIERlZmF1
bHRSZXNvdXJjZUxvYWRQcmlvcml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTRGMzhEMUMyNjI2RjE0NDAwN0IxMDY0IC8qIERlZmF1bHRSZXNvdXJjZUxvYWRQcmlv
cml0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWZhdWx0UmVz
b3VyY2VMb2FkUHJpb3JpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEY4
MTlDMjI2RkI0RUFGMDA5NEUxNjIgLyogSW5saW5lQm94UGFpbnRlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmxpbmVCb3hQYWludGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNTc4LDYgKzMxNTgwLDcgQEAKIAkJCQk0QkFGRDBEQTIx
OTIxRUFEMDBDMEFCNjQgLyogdHlwZWRvbSAqLywKIAkJCQlGQkQ2QUY4NDE1RUYyMUQ0MDA4Qjcx
MTAgLyogQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgKi8sCiAJCQkJRkJENkFGODUxNUVGMjFENDAw
OEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCAqLywKKwkJCQlFNEYxNTczMjI3QjY5OTFG
MDBCMzMwRDggLyogQ29udGFpbmVyUXVlcnkuaCAqLywKIAkJCQlBODBFNkNEQTBBMTk4OUNBMDA3
RkI4QzUgLyogQ291bnRlci5oICovLAogCQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBD
U1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLywKIAkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAg
LyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovLApAQCAtMzcxNjgsNiArMzcxNzEsNyBAQAogCQkJ
CUU0NTMyMkFDMTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlGNEQ0M0Q2NjIxODgwMzhCMDBFQ0VDQUMgLyogU2VyaWFsaXplZEF0dGFjaG1lbnRE
YXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThERjMzNTE4QUFGMTJDMDA3NzNFNTkgLyogU2Vy
aWFsaXplZENyeXB0b0tleVdyYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0RjE1NzM5MjdCOTI2
MTUwMEIzMzBEOCAvKiBDb250YWluZXJRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QUYx
NDAxOEY0QUU0MDAwMDFFRDYxIC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTA3N0FGMTQzMThGNEIxQkIwMDAxRUQ2MSAvKiBTZXJpYWxpemVkUGxhdGZv
cm1EYXRhQ3VlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzZEMUMxRjIzRjZFQjVCMDBEOTVC
MDYgLyogU2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZVZhbHVlLmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ4ZGUwYzAwYzViMjE5ZTQw
ZjU4ZDYyNjU2ODQyMDUzYjliNTIwYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Db250YWluZXJRdWVyeS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFRdWVyeVNldDsKKwor
dXNpbmcgQ29udGFpbmVyUXVlcnkgPSBNZWRpYVF1ZXJ5U2V0OworCitzdHJ1Y3QgRmlsdGVyZWRD
b250YWluZXJRdWVyeSB7CisgICAgQXRvbVN0cmluZyBuYW1lRmlsdGVyOworICAgIFJlZjxDb250
YWluZXJRdWVyeT4gcXVlcnk7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4
IDJkNDNkNWRjNzJhYjUwOTM3YTgwNTYyZmZhMWY2ZTZiNzA0NDJmMjkuLjYzZDI0ZWQ3YmY0NGFl
NmU3OTVlOWY2OWYwNGU0ZjY5NmNhYjY1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBA
IC01MzYsMzAgKzUzNiwzMCBAQCBSZWY8U3R5bGVSdWxlTGF5ZXI+IFN0eWxlUnVsZUxheWVyOjpj
cmVhdGVCbG9jayhDYXNjYWRlTGF5ZXJOYW1lJiYgbmFtZSwgc3RkOjp1bgogICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFN0eWxlUnVsZUxheWVyKFdURk1vdmUobmFtZSksIFdURk1vdmUocnVsZXMp
KSk7CiB9CiAKLVN0eWxlUnVsZUNvbnRhaW5lcjo6U3R5bGVSdWxlQ29udGFpbmVyKENvbnRhaW5l
clF1ZXJ5JiYgcXVlcnksIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYgcnVsZXMpCitT
dHlsZVJ1bGVDb250YWluZXI6OlN0eWxlUnVsZUNvbnRhaW5lcihGaWx0ZXJlZENvbnRhaW5lclF1
ZXJ5JiYgcXVlcnksIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYgcnVsZXMpCiAgICAg
OiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpDb250YWluZXIsIFdURk1vdmUocnVsZXMp
KQotICAgICwgbV9xdWVyeShXVEZNb3ZlKHF1ZXJ5KSkKKyAgICAsIG1fZmlsdGVyZWRRdWVyeShX
VEZNb3ZlKHF1ZXJ5KSkKIHsKIH0KIAotU3R5bGVSdWxlQ29udGFpbmVyOjpTdHlsZVJ1bGVDb250
YWluZXIoQ29udGFpbmVyUXVlcnkmJiBxdWVyeSwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5
bGVHcm91cFJ1bGVMaXN0PiYmIHJ1bGVzKQorU3R5bGVSdWxlQ29udGFpbmVyOjpTdHlsZVJ1bGVD
b250YWluZXIoRmlsdGVyZWRDb250YWluZXJRdWVyeSYmIHF1ZXJ5LCBzdGQ6OnVuaXF1ZV9wdHI8
RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgcnVsZXMpCiAgICAgOiBTdHlsZVJ1bGVHcm91
cChTdHlsZVJ1bGVUeXBlOjpDb250YWluZXIsIFdURk1vdmUocnVsZXMpKQotICAgICwgbV9xdWVy
eShXVEZNb3ZlKHF1ZXJ5KSkKKyAgICAsIG1fZmlsdGVyZWRRdWVyeShXVEZNb3ZlKHF1ZXJ5KSkK
IHsKIH0KIAogU3R5bGVSdWxlQ29udGFpbmVyOjpTdHlsZVJ1bGVDb250YWluZXIoY29uc3QgU3R5
bGVSdWxlQ29udGFpbmVyJiBvdGhlcikKICAgICA6IFN0eWxlUnVsZUdyb3VwKG90aGVyKQotICAg
ICwgbV9xdWVyeShvdGhlci5tX3F1ZXJ5KQorICAgICwgbV9maWx0ZXJlZFF1ZXJ5KG90aGVyLm1f
ZmlsdGVyZWRRdWVyeSkKIHsKIH0KIAotUmVmPFN0eWxlUnVsZUNvbnRhaW5lcj4gU3R5bGVSdWxl
Q29udGFpbmVyOjpjcmVhdGUoQ29udGFpbmVyUXVlcnkmJiBxdWVyeSwgVmVjdG9yPFJlZlB0cjxT
dHlsZVJ1bGVCYXNlPj4mJiBydWxlcykKK1JlZjxTdHlsZVJ1bGVDb250YWluZXI+IFN0eWxlUnVs
ZUNvbnRhaW5lcjo6Y3JlYXRlKEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmJiBxdWVyeSwgVmVjdG9y
PFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJiBydWxlcykKIHsKICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTdHlsZVJ1bGVDb250YWluZXIoV1RGTW92ZShxdWVyeSksIFdURk1vdmUocnVsZXMpKSk7
CiB9CiAKLVJlZjxTdHlsZVJ1bGVDb250YWluZXI+IFN0eWxlUnVsZUNvbnRhaW5lcjo6Y3JlYXRl
KENvbnRhaW5lclF1ZXJ5JiYgcXVlcnksIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3Jv
dXBSdWxlTGlzdD4mJiBydWxlcykKK1JlZjxTdHlsZVJ1bGVDb250YWluZXI+IFN0eWxlUnVsZUNv
bnRhaW5lcjo6Y3JlYXRlKEZpbHRlcmVkQ29udGFpbmVyUXVlcnkmJiBxdWVyeSwgc3RkOjp1bmlx
dWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmIHJ1bGVzKQogewogICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUNvbnRhaW5lcihXVEZNb3ZlKHF1ZXJ5KSwgV1RGTW92
ZShydWxlcykpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAppbmRleCA1ZTFjMDdiNTM2MTZiYTE4
NzAzMGM2N2YzZWI5NDJmNjQzYjIzYjFkLi5jZTM2YzFkYmMyNzk0NWUyNTVkZGRhNmVjNjY5Zjdm
NDZjMjk1ZWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCkBAIC0yMyw2ICsyMyw3IEBACiAKICNp
bmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJDb21waWxlZFNlbGVjdG9yLmgi
CisjaW5jbHVkZSAiQ29udGFpbmVyUXVlcnkuaCIKICNpbmNsdWRlICJGb250UGFsZXR0ZVZhbHVl
cy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZVR5
cGUuaCIKQEAgLTMxNCwyNSArMzE1LDIwIEBAIHByaXZhdGU6CiAgICAgc3RkOjp2YXJpYW50PENh
c2NhZGVMYXllck5hbWUsIFZlY3RvcjxDYXNjYWRlTGF5ZXJOYW1lPj4gbV9uYW1lVmFyaWFudDsK
IH07CiAKLXN0cnVjdCBDb250YWluZXJRdWVyeSB7Ci0gICAgQXRvbVN0cmluZyBjb250YWluZXJO
YW1lOwotICAgIFJlZjxNZWRpYVF1ZXJ5U2V0PiBxdWVyeTsKLX07Ci0KIGNsYXNzIFN0eWxlUnVs
ZUNvbnRhaW5lciBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVHcm91cCB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxTdHlsZVJ1bGVDb250YWluZXI+IGNyZWF0ZShDb250YWluZXJRdWVyeSYmLCBW
ZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYmKTsKLSAgICBzdGF0aWMgUmVmPFN0eWxlUnVs
ZUNvbnRhaW5lcj4gY3JlYXRlKENvbnRhaW5lclF1ZXJ5JiYsIHN0ZDo6dW5pcXVlX3B0cjxEZWZl
cnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJik7CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVDb250
YWluZXI+IGNyZWF0ZShGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5JiYsIFZlY3RvcjxSZWZQdHI8U3R5
bGVSdWxlQmFzZT4+JiYpOworICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlQ29udGFpbmVyPiBjcmVh
dGUoRmlsdGVyZWRDb250YWluZXJRdWVyeSYmLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHls
ZUdyb3VwUnVsZUxpc3Q+JiYpOwogICAgIFJlZjxTdHlsZVJ1bGVDb250YWluZXI+IGNvcHkoKSBj
b25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUNvbnRhaW5lcigqdGhpcykpOyB9
CiAKLSAgICBjb25zdCBDb250YWluZXJRdWVyeSYgcXVlcnkoKSBjb25zdCB7IHJldHVybiBtX3F1
ZXJ5OyB9CisgICAgY29uc3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSYgZmlsdGVyZWRRdWVyeSgp
IGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyZWRRdWVyeTsgfQogCiBwcml2YXRlOgotICAgIFN0eWxl
UnVsZUNvbnRhaW5lcihDb250YWluZXJRdWVyeSYmLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJh
c2U+PiYmKTsKLSAgICBTdHlsZVJ1bGVDb250YWluZXIoQ29udGFpbmVyUXVlcnkmJiwgc3RkOjp1
bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmKTsKKyAgICBTdHlsZVJ1bGVD
b250YWluZXIoRmlsdGVyZWRDb250YWluZXJRdWVyeSYmLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVs
ZUJhc2U+PiYmKTsKKyAgICBTdHlsZVJ1bGVDb250YWluZXIoRmlsdGVyZWRDb250YWluZXJRdWVy
eSYmLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYpOwogICAg
IFN0eWxlUnVsZUNvbnRhaW5lcihjb25zdCBTdHlsZVJ1bGVDb250YWluZXImKTsKIAotICAgIENv
bnRhaW5lclF1ZXJ5IG1fcXVlcnk7CisgICAgRmlsdGVyZWRDb250YWluZXJRdWVyeSBtX2ZpbHRl
cmVkUXVlcnk7CiB9OwogCiAvLyBUaGlzIGlzIG9ubHkgdXNlZCBieSB0aGUgQ1NTIHBhcnNlci4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcApp
bmRleCBjYjBmZmYyNGU1Mzg3MGU2NzQyMWM0NTVhMjQ2NDQ1NjVjMDRkMDMwLi41ZjBjNTU3ODJk
MWNhZTY0NjU0YzdkYmYxZmM1ZGJlNDBiZjdjOTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC01OSwyNSArNTksMjYgQEAgc3Rh
dGljIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZVNpemUoQ1NTVmFsdWUqIHZhbHVl
LCBjb25zdCBDU1NUb0xlbmd0aEMKIAogZW51bSBjbGFzcyBDb21wYXJhdG9yIHsgTGVzc2VyLCBH
cmVhdGVyLCBMZXNzZXJPckVxdWFsLCBHcmVhdGVyT3JFcXVhbCwgRXF1YWwsIFRydWUgfTsKIAot
Ym9vbCBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgQ29udGFpbmVyUXVl
cnkmIGNvbnRhaW5lclF1ZXJ5KSBjb25zdAorYm9vbCBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6
ZXZhbHVhdGUoY29uc3QgRmlsdGVyZWRDb250YWluZXJRdWVyeSYgZmlsdGVyZWRDb250YWluZXJR
dWVyeSkgY29uc3QKIHsKICAgICBpZiAobV9jb250YWluZXJzLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byByZW5kZXJlckZvckNvbnRhaW5lclNlbGVjdG9yID0g
WyZdKCkgLT4gUmVuZGVyQm94KiB7CisgICAgYXV0byBjb250YWluZXJSZW5kZXJlckZvckZpbHRl
ciA9IFsmXSgpIC0+IFJlbmRlckJveCogewogICAgICAgICBmb3IgKGF1dG8mIGNvbnRhaW5lciA6
IG1ha2VSZXZlcnNlZFJhbmdlKG1fY29udGFpbmVycykpIHsKICAgICAgICAgICAgIGF1dG8qIHJl
bmRlcmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJveD4oY29udGFpbmVyLT5yZW5kZXJlcigp
KTsKICAgICAgICAgICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgICAgICAgICBpZiAoY29udGFpbmVyUXVlcnkuY29udGFpbmVyTmFtZS5pc0Vt
cHR5KCkpCisgICAgICAgICAgICBpZiAoZmlsdGVyZWRDb250YWluZXJRdWVyeS5uYW1lRmlsdGVy
LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXI7Ci0gICAgICAgICAg
ICBpZiAocmVuZGVyZXItPnN0eWxlKCkuY29udGFpbmVyTmFtZXMoKS5jb250YWlucyhjb250YWlu
ZXJRdWVyeS5jb250YWluZXJOYW1lKSkKKyAgICAgICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHR5
cGUgZmlsdGVyLgorICAgICAgICAgICAgaWYgKHJlbmRlcmVyLT5zdHlsZSgpLmNvbnRhaW5lck5h
bWVzKCkuY29udGFpbnMoZmlsdGVyZWRDb250YWluZXJRdWVyeS5uYW1lRmlsdGVyKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gcmVuZGVyZXI7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfTsKIAotICAgIGF1dG8qIHJlbmRlcmVyID0gcmVuZGVyZXJGb3JDb250YWlu
ZXJTZWxlY3RvcigpOworICAgIGF1dG8qIHJlbmRlcmVyID0gY29udGFpbmVyUmVuZGVyZXJGb3JG
aWx0ZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAg
LTEyOSw3ICsxMzAsNyBAQCBib29sIENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZShj
b25zdCBDb250YWluZXJRdWVyeSYgY29udGFpbmVyUXVlcnkpIGNvbgogICAgIGJvb2wgcmVzdWx0
ID0gZmFsc2U7CiAKICAgICAvLyBGSVhNRTogVGhpcyBpcyB2ZXJ5IHJ1ZGltZW50YXJ5LgotICAg
IGF1dG8mIHF1ZXJpZXMgPSBjb250YWluZXJRdWVyeS5xdWVyeS0+cXVlcnlWZWN0b3IoKTsKKyAg
ICBhdXRvJiBxdWVyaWVzID0gZmlsdGVyZWRDb250YWluZXJRdWVyeS5xdWVyeS0+cXVlcnlWZWN0
b3IoKTsKICAgICBmb3IgKGF1dG8mIHF1ZXJ5IDogcXVlcmllcykgewogICAgICAgICBmb3IgKGF1
dG8mIGV4cHJlc3Npb24gOiBxdWVyeS5leHByZXNzaW9ucygpKSB7CiAgICAgICAgICAgICBpZiAo
ZXhwcmVzc2lvbi5tZWRpYUZlYXR1cmUoKSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6bWluV2lkdGgp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVh
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5oCmlu
ZGV4IDY2OGMzZmE5MTEyNjUwZWZlMDk1Y2I3YWI4MTRlYTkwMjI4NGY3ZjMuLjhmNmU3MzAwN2Y3
NWZhYjViODU0ZTExY2UyMjk3YzA2OWZiNTg5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuaApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDb250YWluZXJRdWVyeTsKK3N0cnVjdCBGaWx0ZXJlZENv
bnRhaW5lclF1ZXJ5OwogY2xhc3MgRWxlbWVudDsKIAogbmFtZXNwYWNlIFN0eWxlIHsKQEAgLTM3
LDcgKzM3LDcgQEAgY2xhc3MgQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IgewogcHVibGljOgogICAg
IENvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yKGNvbnN0IFZlY3RvcjxSZWY8Y29uc3QgRWxlbWVudD4+
JiBjb250YWluZXJzKTsKIAotICAgIGJvb2wgZXZhbHVhdGUoY29uc3QgQ29udGFpbmVyUXVlcnkm
KSBjb25zdDsKKyAgICBib29sIGV2YWx1YXRlKGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkm
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBWZWN0b3I8UmVmPGNvbnN0IEVsZW1lbnQ+
PiYgbV9jb250YWluZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVu
dFJ1bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuY3BwCmluZGV4IGQwNTU0ZDQ5YmZiYTc1YWRiOTlmNWUwMmFiYzYwMzM4NjI5Yzg5ZmIu
LjE1NTZmYzgxYjU3MmFhZWJlZmJmMGQ4MWMzZTVmNDU0N2QwMmJhYTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTUwNSw3ICs1MDUsNyBA
QCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3Qo
Y29uc3QgUnVsZVNldDo6UnVsZURhdGFWZQogICAgIH0KIH0KIAotYm9vbCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6Y29udGFpbmVyUXVlcnlNYXRjaGVzKGNvbnN0IENvbnRhaW5lclF1ZXJ5JiBxdWVy
eSkKK2Jvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNvbnRhaW5lclF1ZXJ5TWF0Y2hlcyhjb25z
dCBGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5JiBxdWVyeSkKIHsKICAgICBpZiAoIW1fc2VsZWN0b3JN
YXRjaGluZ1N0YXRlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4IDRiYTMzNDRlMDk2Yzc3MGNkYTYyMTk0MDAx
NTg2MzdhN2E4YmU0MWYuLjkwZTA2ZmE2MDVlZmYwYmJmYjk5NWM2NWUyMzlkY2RiODc1MTY0MjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaApAQCAtMTEy
LDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25z
dCBNYXRjaFJlcXVlc3QmKTsKICAgICB2b2lkIGNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChj
b25zdCBSdWxlU2V0OjpSdWxlRGF0YVZlY3RvciosIGNvbnN0IE1hdGNoUmVxdWVzdCYpOwogICAg
IGJvb2wgcnVsZU1hdGNoZXMoY29uc3QgUnVsZURhdGEmLCB1bnNpZ25lZCYgc3BlY2lmaWNpdHks
IFNjb3BlT3JkaW5hbCk7Ci0gICAgYm9vbCBjb250YWluZXJRdWVyeU1hdGNoZXMoY29uc3QgQ29u
dGFpbmVyUXVlcnkmKTsKKyAgICBib29sIGNvbnRhaW5lclF1ZXJ5TWF0Y2hlcyhjb25zdCBGaWx0
ZXJlZENvbnRhaW5lclF1ZXJ5Jik7CiAKICAgICB2b2lkIHNvcnRNYXRjaGVkUnVsZXMoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvUnVsZVNldC5oCmluZGV4IDY0ZTQ1MmY5ZmY1NzA4NTYwNjkzM2NhZmY2ZTdhZDFj
YjIxMTZiYWIuLjY1ZTczZjc0NTUyYWVkODBlNTQ0MDNjNGY2NmE0YmY2YTdiZDdkNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9SdWxlU2V0LmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBhdXRvIGNhc2NhZGVMYXllclByaW9yaXR5Rm9yVW5sYXllcmVkID0gc3RkOjpu
dW1lcmljX2xpbWl0czxDYXNjYWRlTGF5ZXJQcmlvcml0eT46Om1heCgpOwogCiAgICAgQ2FzY2Fk
ZUxheWVyUHJpb3JpdHkgY2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3QgUnVsZURhdGEmKSBj
b25zdDsKLSAgICBjb25zdCBDb250YWluZXJRdWVyeSogY29udGFpbmVyUXVlcnlGb3IoY29uc3Qg
UnVsZURhdGEmKSBjb25zdDsKKyAgICBjb25zdCBGaWx0ZXJlZENvbnRhaW5lclF1ZXJ5KiBjb250
YWluZXJRdWVyeUZvcihjb25zdCBSdWxlRGF0YSYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBSdWxlU2V0QnVpbGRlcjsKQEAgLTE0NCw3ICsxNDQsNyBAQCBwcml2YXRlOgog
ICAgIENhc2NhZGVMYXllclByaW9yaXR5IGNhc2NhZGVMYXllclByaW9yaXR5Rm9ySWRlbnRpZmll
cihDYXNjYWRlTGF5ZXJJZGVudGlmaWVyKSBjb25zdDsKIAogICAgIHN0cnVjdCBDb250YWluZXJR
dWVyeUFuZFBhcmVudCB7Ci0gICAgICAgIENvbnRhaW5lclF1ZXJ5IHF1ZXJ5OworICAgICAgICBG
aWx0ZXJlZENvbnRhaW5lclF1ZXJ5IHF1ZXJ5OwogICAgICAgICBDb250YWluZXJRdWVyeUlkZW50
aWZpZXIgcGFyZW50OwogICAgIH07CiAKQEAgLTIyMSw3ICsyMjEsNyBAQCBpbmxpbmUgQ2FzY2Fk
ZUxheWVyUHJpb3JpdHkgUnVsZVNldDo6Y2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3QgUnVs
ZURhdGEmIHJ1bAogICAgIHJldHVybiBjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcklkZW50aWZpZXIo
aWRlbnRpZmllcik7CiB9CiAKLWlubGluZSBjb25zdCBDb250YWluZXJRdWVyeSogUnVsZVNldDo6
Y29udGFpbmVyUXVlcnlGb3IoY29uc3QgUnVsZURhdGEmIHJ1bGVEYXRhKSBjb25zdAoraW5saW5l
IGNvbnN0IEZpbHRlcmVkQ29udGFpbmVyUXVlcnkqIFJ1bGVTZXQ6OmNvbnRhaW5lclF1ZXJ5Rm9y
KGNvbnN0IFJ1bGVEYXRhJiBydWxlRGF0YSkgY29uc3QKIHsKICAgICBpZiAobV9jb250YWluZXJR
dWVyeUlkZW50aWZpZXJGb3JSdWxlUG9zaXRpb24uc2l6ZSgpIDw9IHJ1bGVEYXRhLnBvc2l0aW9u
KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldEJ1
aWxkZXIuY3BwCmluZGV4IGIzM2U3YzQyMGY4ZDQ2MWVmNzFlZTE1ZmFiYzkzOWNkN2U4NGJjMzcu
LjU3NTE4NTkxOTdiMjI2ZmMyNDRhZjZiYzMyMDVmYWQyNmUwMTcwMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9SdWxlU2V0QnVpbGRlci5jcHAKQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIFJ1bGVT
ZXRCdWlsZGVyOjphZGRDaGlsZFJ1bGVzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4+JiBydWxlcykKICAgICAgICAgICAgIGF1dG8mIGNvbnRhaW5lclJ1bGUgPSBkb3duY2FzdDxT
dHlsZVJ1bGVDb250YWluZXI+KCpydWxlKTsKICAgICAgICAgICAgIGF1dG8gcHJldmlvdXNDb250
YWluZXJRdWVyeUlkZW50aWZpZXIgPSBtX2N1cnJlbnRDb250YWluZXJRdWVyeUlkZW50aWZpZXI7
CiAgICAgICAgICAgICBpZiAobV9ydWxlU2V0KSB7Ci0gICAgICAgICAgICAgICAgbV9ydWxlU2V0
LT5tX2NvbnRhaW5lclF1ZXJpZXMuYXBwZW5kKHsgY29udGFpbmVyUnVsZS5xdWVyeSgpLCBwcmV2
aW91c0NvbnRhaW5lclF1ZXJ5SWRlbnRpZmllciB9KTsKKyAgICAgICAgICAgICAgICBtX3J1bGVT
ZXQtPm1fY29udGFpbmVyUXVlcmllcy5hcHBlbmQoeyBjb250YWluZXJSdWxlLmZpbHRlcmVkUXVl
cnkoKSwgcHJldmlvdXNDb250YWluZXJRdWVyeUlkZW50aWZpZXIgfSk7CiAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50Q29udGFpbmVyUXVlcnlJZGVudGlmaWVyID0gbV9ydWxlU2V0LT5tX2NvbnRh
aW5lclF1ZXJpZXMuc2l6ZSgpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYWRkQ2hpbGRS
dWxlcyhjb250YWluZXJSdWxlLmNoaWxkUnVsZXMoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>