<?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>283659</bug_id>
          
          <creation_ts>2024-11-24 19:29:23 -0800</creation_ts>
          <short_desc>[repaint] Block container fails to repaint child inline box when its ink overflow shrinks</short_desc>
          <delta_ts>2024-11-25 20:50:34 -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>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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2077449</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-11-24 19:29:23 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2077549</commentid>
    <comment_count>1</comment_count>
      <attachid>473362</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-25 07:34:57 -0800</bug_when>
    <thetext>Created attachment 473362
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2077552</commentid>
    <comment_count>2</comment_count>
      <attachid>473363</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-25 08:12:08 -0800</bug_when>
    <thetext>Created attachment 473363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2077579</commentid>
    <comment_count>3</comment_count>
      <attachid>473365</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-25 11:44:47 -0800</bug_when>
    <thetext>Created attachment 473365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2077608</commentid>
    <comment_count>4</comment_count>
      <attachid>473366</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-25 15:56:46 -0800</bug_when>
    <thetext>Created attachment 473366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2077616</commentid>
    <comment_count>5</comment_count>
      <attachid>473368</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-25 18:13:12 -0800</bug_when>
    <thetext>Created attachment 473368
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2077633</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-11-25 19:41:43 -0800</bug_when>
    <thetext>Committed 287079@main (aca685c38e7a): &lt;https://commits.webkit.org/287079@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 473368.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2077634</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-11-25 19:42:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/140564915&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473362</attachid>
            <date>2024-11-25 07:34:57 -0800</date>
            <delta_ts>2024-11-25 08:12:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-283659-20241125073456.patch</filename>
            <type>text/plain</type>
            <size>13183</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAzYzY1ZTE1MzZmMmVhYjc1ZjEwNmM2MzM4Y2MyNGZhOTkxNjFmYTRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgMjQgTm92IDIwMjQgMTk6Mjk6MzIgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbcmVwYWlu
dF0gQmxvY2sgY29udGFpbmVyIGZhaWxzIHRvIHJlcGFpbnQgY2hpbGQgaW5saW5lIGJveAogd2hl
biBpdHMgaW5rIG92ZXJmbG93IHNocmlua3MgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI4MzY1OQoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuZXZlciBj
b21wdXRpbmcgdGhlIHJlcGFpbnQgcmVjdCBjb3ZlcmluZyB0aGUgaW5saW5lIGRhbWFnZSB3ZSBo
YXZlIHRvIHRha2UgaW5rIG92ZXJmbG93IGludG8gYWNjb3VudC4KKGFuZCBub3QgdGhlIGNvbnRl
bnQgaGVpZ2h0IGFzIGl0IG1heSBub3QgY292ZXIgdGhlIGluayBvdmVyZmxvdyByZWN0YW5nbGUp
LgoKVGhpcyBjaGFuZ2UgYWRkcmVzc2VzIGNhc2VzIHdoZW4gY29udGVudCB3aXRoIGluayBvdmVy
ZmxvdyBzaHJpbmtzIHdoZXJlIHRoZSByZXBhaW50IHJlY3RhbmdsZSBib3R0b20gaXMgYmFzZWQg
b24KdGhlIHByZXZpb3VzIF9jb250ZW50XyBib3R0b20gbm90IGNvdmVyaW5nIHRoZSBwcmV2aW91
cyBfaW5rX292ZXJmbG93XyBib3R0b20uCgoxLiBDYWNoZSB0aGUgaW5rIG92ZXJmbG93IHZlcnNp
b24gb2YgInByZXZpb3VzIGNvbnRlbnQgZXh0ZW50IiB3aGVuIGlubGluZSBsYXlvdXQgaXMgZ2V0
dGluZyBkZXN0cm95ZWQuCjIuIFVzZSBpbmsgb3ZlcmZsb3cgYWZ0ZXIgbGF5b3V0IHdoZW4gY29t
cHV0aW5nIHRoZSByZXBhaW50VG9wL2JvdHRvbSB2YWx1ZXMuCgooUmVuYW1lIExpbmVMYXlvdXQ6
OmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0IHRvIGNvbnRlbnRMb2dpY2FsSGVpZ2h0IGFzIGxpbmUg
bGF5b3V0IGhhcyBubyBjb25jZXB0IG9mIGNvbnRlbnQgX2JveF8pCgoqIExheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ct
c2hyaW5rLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuY3BwOgotLS0KIC4uLi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCAg
ICB8ICAyICstCiAuLi4vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oICAgICAg
fCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgIHwg
NzkgKysrKysrKysrKy0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5oICAgIHwgIDMgKy0KIC4uLm5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4
cGVjdGVkLnR4dCB8ICA1ICsrCiAuLi4vaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLmh0
bWwgICAgICAgfCAxOCArKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspLCA0
MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxv
dy1zaHJpbmsuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0
LmNwcAppbmRleCA1ZDc0MmQ1ZTk2Y2QuLmFhZjA2ZWYwNjk2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVM
YXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUv
TGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtNzY4LDcgKzc2OCw3IEBAIHN0ZDo6
b3B0aW9uYWw8TGF5b3V0VW5pdD4gTGluZUxheW91dDo6Y2xhbXBlZENvbnRlbnRMb2dpY2FsSGVp
Z2h0KCkgY29uc3QKICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGNvbnRlbnRIZWlnaHQgKyBhZGRp
dGlvbmFsSGVpZ2h0IH07CiB9CiAKLUxheW91dFVuaXQgTGluZUxheW91dDo6Y29udGVudEJveExv
Z2ljYWxIZWlnaHQoKSBjb25zdAorTGF5b3V0VW5pdCBMaW5lTGF5b3V0Ojpjb250ZW50TG9naWNh
bEhlaWdodCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lubGluZUNvbnRlbnQpCiAgICAgICAgIHJl
dHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
aW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAppbmRl
eCBlYmYxNmI3YzFmMDAuLmQwNjMzNjVhYThiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5oCkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBwdWJsaWM6CiAgICAgTGF5
b3V0UmVjdCB2aXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94UmVjdEZvcihjb25zdCBSZW5kZXJJbmxp
bmUmKSBjb25zdDsKICAgICBWZWN0b3I8RmxvYXRSZWN0PiBjb2xsZWN0SW5saW5lQm94UmVjdHMo
Y29uc3QgUmVuZGVySW5saW5lJikgY29uc3Q7CiAKKyAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dp
Y2FsSGVpZ2h0KCkgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBjbGFtcGVk
Q29udGVudExvZ2ljYWxIZWlnaHQoKSBjb25zdDsKICAgICBib29sIGNvbnRhaW5zKGNvbnN0IFJl
bmRlckVsZW1lbnQmIHJlbmRlcmVyKSBjb25zdDsKIAogICAgIGJvb2wgaXNQYWdpbmF0ZWQoKSBj
b25zdDsKLSAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CiAg
ICAgc2l6ZV90IGxpbmVDb3VudCgpIGNvbnN0OwogICAgIGJvb2wgaGFzVmlzdWFsT3ZlcmZsb3co
KSBjb25zdDsKICAgICBMYXlvdXRVbml0IGZpcnN0TGluZVBoeXNpY2FsQmFzZWxpbmUoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXgg
YWI1Y2Y0ODdiMzA4Li4wYjc4MWEyNGY2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC05MDQsNyArOTA0LDcgQEAgdm9pZCBSZW5kZXJCbG9j
a0Zsb3c6OmxheW91dElubGluZUNoaWxkcmVuKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0
VW5pdCYgcmUKICAgICAgICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1ZTxMZWdhY3lMaW5lTGF5
b3V0PigqdGhpcyk7CiAKICAgICBzdmdUZXh0TGF5b3V0KCktPmxheW91dExpbmVCb3hlcygpOwot
ICAgIG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50Qm94TG9naWNhbEhlaWdodCA9IHsgfTsK
KyAgICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lu
a092ZXJmbG93ID0geyB9OwogfQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0QmxvY2tD
aGlsZChSZW5kZXJCb3gmIGNoaWxkLCBNYXJnaW5JbmZvJiBtYXJnaW5JbmZvLCBMYXlvdXRVbml0
JiBwcmV2aW91c0Zsb2F0TG9naWNhbEJvdHRvbSwgTGF5b3V0VW5pdCYgbWF4RmxvYXRMb2dpY2Fs
Qm90dG9tKQpAQCAtMzc0Niw3ICszNzQ2LDggQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmludmFs
aWRhdGVMaW5lTGF5b3V0UGF0aChJbnZhbGlkYXRpb25SZWFzb24gaW52YWxpZGF0aW9uUmUKICAg
ICBjYXNlIElubGluZVBhdGg6IHsKICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCBwYXJ0aWFs
IGludmFsaWRhdGlvbi4KICAgICAgICAgaWYgKGlubGluZUxheW91dCgpKSB7Ci0gICAgICAgICAg
ICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudEJveExvZ2ljYWxIZWlnaHQgPSBpbmxpbmVM
YXlvdXQoKS0+Y29udGVudEJveExvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgICAgIEFTU0VSVCgh
bV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVy
Zmxvdyk7CisgICAgICAgICAgICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJv
dHRvbUluY2x1ZGluZ0lua092ZXJmbG93ID0gaW5saW5lQ29udGVudFRvcEFuZEJvdHRvbUluY2x1
ZGluZ0lua092ZXJmbG93KCk7CiAgICAgICAgICAgICBpZiAoaW52YWxpZGF0aW9uUmVhc29uICE9
IEludmFsaWRhdGlvblJlYXNvbjo6SW5zZXJ0aW9uT3JSZW1vdmFsKSB7CiAgICAgICAgICAgICAg
ICAgYXV0byByZXBhaW50QW5kU2V0TmVlZHNMYXlvdXRJbmNsdWRpbmdPdXRPZkZsb3dCb3hlcyA9
IFsmXSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFNpbmNlIHdlIGVhZ2VybHkgcmVtb3ZlIHRo
ZSBkaXNwbGF5IGNvbnRlbnQgaGVyZSwgcmVwYWludHMgaXNzdWVkIGJldHdlZW4gdGhpcyBpbnZh
bGlkYXRpb24gKHRyaWdnZXJlZCBieSBzdHlsZSBjaGFuZ2UvY29udGVudCBtdXRhdGlvbikgYW5k
IHRoZSBzdWJzZXF1ZW50IGxheW91dCB3b3VsZCBwcm9kdWNlIGVtcHR5IHJlY3RzLgpAQCAtMzgw
Niw2ICszODA3LDMxIEBAIHN0YXRpYyB2b2lkIHNldEZ1bGxSZXBhaW50T25QYXJlbnRJbmxpbmVC
b3hMYXllcklmTmVlZGVkKGNvbnN0IFJlbmRlclRleHQmIHJlbmRlCiAgICAgZG93bmNhc3Q8UmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdD4oKnBhcmVudCkuY2hlY2tlZExheWVyKCktPnNldFJlcGFpbnRT
dGF0dXMoUmVwYWludFN0YXR1czo6TmVlZHNGdWxsUmVwYWludCk7CiB9CiAKK3N0ZDo6cGFpcjxm
bG9hdCwgZmxvYXQ+IFJlbmRlckJsb2NrRmxvdzo6aW5saW5lQ29udGVudFRvcEFuZEJvdHRvbUlu
Y2x1ZGluZ0lua092ZXJmbG93KCkgY29uc3QKK3sKKyAgICBpZiAobV9wcmV2aW91c0lubGluZUxh
eW91dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdykgeworICAgICAgICBB
U1NFUlQoIWlubGluZUxheW91dCgpKTsKKyAgICAgICAgcmV0dXJuICptX3ByZXZpb3VzSW5saW5l
TGF5b3V0Q29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93OworICAgIH0KKwor
ICAgIGF1dG8gZmlyc3RMaW5lQm94ID0gSW5saW5lSXRlcmF0b3I6OmZpcnN0TGluZUJveEZvcigq
dGhpcyk7CisgICAgYXV0byBsYXN0TGluZUJveCA9IElubGluZUl0ZXJhdG9yOjpsYXN0TGluZUJv
eEZvcigqdGhpcyk7CisgICAgaWYgKCFmaXJzdExpbmVCb3gpCisgICAgICAgIHJldHVybiB7IH07
CisKKyAgICBhdXRvIGxvZ2ljYWxUb3AgPSBmaXJzdExpbmVCb3gtPmNvbnRlbnRMb2dpY2FsVG9w
KCk7CisgICAgYXV0byBsb2dpY2FsQm90dG9tID0gbGFzdExpbmVCb3gtPmNvbnRlbnRMb2dpY2Fs
Qm90dG9tKCk7CisKKyAgICBpZiAoIWlubGluZUxheW91dCgpLT5oYXNWaXN1YWxPdmVyZmxvdygp
KQorICAgICAgICByZXR1cm4geyBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tIH07CisKKyAgICBm
b3IgKGF1dG8gbGluZUJveCA9IGZpcnN0TGluZUJveDsgbGluZUJveDsgbGluZUJveC50cmF2ZXJz
ZU5leHQoKSkgeworICAgICAgICBsb2dpY2FsVG9wID0gc3RkOjptaW4obG9naWNhbFRvcCwgbGlu
ZUJveC0+aW5rT3ZlcmZsb3dMb2dpY2FsVG9wKCkpOworICAgICAgICBsb2dpY2FsQm90dG9tID0g
c3RkOjptYXgobG9naWNhbEJvdHRvbSwgbGluZUJveC0+aW5rT3ZlcmZsb3dMb2dpY2FsQm90dG9t
KCkpOworICAgIH0KKyAgICByZXR1cm4geyBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tIH07Cit9
CisKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVsYXlv
dXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcmVwYWludExvZ2ljYWxUb3AsIExheW91dFVuaXQmIHJl
cGFpbnRMb2dpY2FsQm90dG9tKQogewogICAgIGF1dG8mIGxheW91dFN0YXRlID0gKnZpZXcoKS5m
cmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKQEAgLTM4NzgsNiArMzkw
NCw5IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVs
YXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcmVwCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyAgICBhdXRvIG9sZENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlu
bGluZUNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOworICAgIG1fcHJl
dmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3cg
PSB7IH07CisKICAgICBpZiAoIWlubGluZUxheW91dCgpKQogICAgICAgICBtX2xpbmVMYXlvdXQg
PSBtYWtlVW5pcXVlPExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0PigqdGhpcyk7CiAKQEAg
LTM4ODYsMjkgKzM5MTUsMTMgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNv
bnRlbnQoYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXAKICAgICBBU1NFUlQo
Y29udGFpbmluZ0Jsb2NrKCkgfHwgaXM8UmVuZGVyVmlldz4oKnRoaXMpKTsKICAgICBsYXlvdXRG
b3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQudXBkYXRlRm9ybWF0dGluZ0NvbnRleEdlb21ldHJp
ZXMoY29udGFpbmluZ0Jsb2NrKCkgPyBjb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNh
bFdpZHRoKCkgOiBMYXlvdXRVbml0KCkpOwogCi0gICAgYXV0byBjb250ZW50Qm94VG9wID0gYm9y
ZGVyQW5kUGFkZGluZ0JlZm9yZSgpOwotCi0gICAgYXV0byBjb21wdXRlQ29udGVudEhlaWdodCA9
IFsmXSB7Ci0gICAgICAgIGlmICghaGFzTGluZXMoKSAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0g
ICAgICAgICAgICBpZiAobV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2FsSGVp
Z2h0KQotICAgICAgICAgICAgICAgIHJldHVybiAqbV9wcmV2aW91c0lubGluZUxheW91dENvbnRl
bnRCb3hMb2dpY2FsSGVpZ2h0OwotICAgICAgICAgICAgcmV0dXJuIGxpbmVIZWlnaHQodHJ1ZSwg
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5l
LCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0
dXJuIGxheW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50Qm94TG9naWNhbEhl
aWdodCgpOwotICAgIH07Ci0KLSAgICBhdXRvIGNvbXB1dGVCb3JkZXJCb3hCb3R0b20gPSBbJl0g
ewotICAgICAgICBhdXRvIGNvbnRlbnRCb3hCb3R0b20gPSBjb250ZW50Qm94VG9wICsgY29tcHV0
ZUNvbnRlbnRIZWlnaHQoKTsKLSAgICAgICAgcmV0dXJuIGNvbnRlbnRCb3hCb3R0b20gKyBib3Jk
ZXJBbmRQYWRkaW5nQWZ0ZXIoKSArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsKLSAgICB9Owot
Ci0gICAgYXV0byBvbGRCb3JkZXJCb3hCb3R0b20gPSBjb21wdXRlQm9yZGVyQm94Qm90dG9tKCk7
Ci0gICAgbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0ID0geyB9
OwotCiAgICAgYXV0byBwYXJ0aWFsUmVwYWludFJlY3QgPSBsYXlvdXRGb3JtYXR0aW5nQ29udGV4
dExpbmVMYXlvdXQubGF5b3V0KCk7CiAKLSAgICBhdXRvIG5ld0JvcmRlckJveEJvdHRvbSA9IGNv
bXB1dGVCb3JkZXJCb3hCb3R0b20oKTsKKyAgICBhdXRvIGJvcmRlckJveEJvdHRvbSA9IFsmXSB7
CisgICAgICAgIGF1dG8gY29udGVudEhlaWdodCA9ICFoYXNMaW5lcygpICYmIGhhc0xpbmVJZkVt
cHR5KCkgPyBsaW5lSGVpZ2h0KHRydWUsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jp
em9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSA6
IGxheW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50TG9naWNhbEhlaWdodCgp
OworICAgICAgICByZXR1cm4gYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgY29udGVudEhlaWdo
dCArIGJvcmRlckFuZFBhZGRpbmdBZnRlcigpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOwor
ICAgIH07CisgICAgYXV0byBuZXdCb3JkZXJCb3hCb3R0b20gPSBib3JkZXJCb3hCb3R0b20oKTsK
IAogICAgIGF1dG8gdXBkYXRlUmVwYWludFRvcEFuZEJvdHRvbUlmTmVlZGVkID0gWyZdIHsKICAg
ICAgICAgYXV0byBpc0Z1bGxMYXlvdXQgPSBzZWxmTmVlZHNMYXlvdXQoKSB8fCByZWxheW91dENo
aWxkcmVuOwpAQCAtMzkzNCwyMyArMzk0NywxNSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5
b3V0SW5saW5lQ29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlcAog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byBmaXJzdExpbmVC
b3ggPSBJbmxpbmVJdGVyYXRvcjo6Zmlyc3RMaW5lQm94Rm9yKCp0aGlzKTsKLSAgICAgICAgYXV0
byBsYXN0TGluZUJveCA9IElubGluZUl0ZXJhdG9yOjpsYXN0TGluZUJveEZvcigqdGhpcyk7Ci0g
ICAgICAgIGlmICghZmlyc3RMaW5lQm94KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IHJlcGFpbnRMb2dpY2FsVG9wID0gc3RkOjptaW4oY29udGVudEJveFRvcCwgTGF5b3V0VW5pdCB7
IGZpcnN0TGluZUJveC0+Y29udGVudExvZ2ljYWxUb3AoKSB9KTsKLSAgICAgICAgcmVwYWludExv
Z2ljYWxCb3R0b20gPSBzdGQ6Om1heChzdGQ6Om1heChvbGRCb3JkZXJCb3hCb3R0b20sIG5ld0Jv
cmRlckJveEJvdHRvbSksIExheW91dFVuaXQgeyBsYXN0TGluZUJveC0+Y29udGVudExvZ2ljYWxC
b3R0b20oKSB9KTsKLSAgICAgICAgaWYgKGxheW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91
dC5oYXNWaXN1YWxPdmVyZmxvdygpKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8gbGluZUJveCA9
IGZpcnN0TGluZUJveDsgbGluZUJveDsgbGluZUJveC50cmF2ZXJzZU5leHQoKSkgewotICAgICAg
ICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gc3RkOjptaW4ocmVwYWludExvZ2ljYWxUb3As
IExheW91dFVuaXQgeyBsaW5lQm94LT5pbmtPdmVyZmxvd0xvZ2ljYWxUb3AoKSB9KTsKLSAgICAg
ICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KHJlcGFpbnRMb2dpY2Fs
Qm90dG9tLCBMYXlvdXRVbml0IHsgbGluZUJveC0+aW5rT3ZlcmZsb3dMb2dpY2FsQm90dG9tKCkg
fSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byBjb250ZW50VG9wQW5k
Qm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3cgPSBpbmxpbmVDb250ZW50VG9wQW5kQm90dG9tSW5j
bHVkaW5nSW5rT3ZlcmZsb3coKTsKKyAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBMYXlvdXRV
bml0Ojpmcm9tRmxvYXRGbG9vcihzdGQ6Om1pbihvbGRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVk
aW5nSW5rT3ZlcmZsb3cuZmlyc3QsIGNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVy
Zmxvdy5maXJzdCkpOworICAgICAgICBhdXRvIGNvbnRlbnRCb3R0b21JbmNsdWRpbmdJbmtPdmVy
ZmxvdyA9IHN0ZDo6bWF4KG9sZENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxv
dy5zZWNvbmQsIGNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdy5zZWNvbmQp
OworICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KExheW91dFVuaXQ6OmZy
b21GbG9hdENlaWwoY29udGVudEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93KSwgbmV3Qm9yZGVy
Qm94Qm90dG9tKTsKICAgICB9OwogICAgIHVwZGF0ZVJlcGFpbnRUb3BBbmRCb3R0b21JZk5lZWRl
ZCgpOwogCiAgICAgc2V0TG9naWNhbEhlaWdodChuZXdCb3JkZXJCb3hCb3R0b20pOworCiAgICAg
YXV0byB1cGRhdGVMaW5lQ2xhbXBTdGF0ZUFuZExvZ2ljYWxIZWlnaHRJZkFwcGxpY2FibGUgPSBb
Jl0gewogICAgICAgICBhdXRvIGxlZ2FjeUxpbmVDbGFtcCA9IGxheW91dFN0YXRlLmxlZ2FjeUxp
bmVDbGFtcCgpOwogICAgICAgICBpZiAoIWxlZ2FjeUxpbmVDbGFtcCB8fCBpc0Zsb2F0aW5nT3JP
dXRPZkZsb3dQb3NpdGlvbmVkKCkpCkBAIC0zOTY2LDcgKzM5NzEsNyBAQCB2b2lkIFJlbmRlckJs
b2NrRmxvdzo6bGF5b3V0SW5saW5lQ29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91
dFVuaXQmIHJlcAogICAgICAgICAgICAgICAgIHJldHVybiBjbGFtcGVkSGVpZ2h0OwogICAgICAg
ICAgICAgaWYgKGxlZ2FjeUxpbmVDbGFtcC0+Y3VycmVudExpbmVDb3VudCA9PSBsZWdhY3lMaW5l
Q2xhbXAtPm1heGltdW1MaW5lQ291bnQpIHsKICAgICAgICAgICAgICAgICAvLyBFdmVuIGlmIHdl
IGRpZCBub3QgdHJ1bmNhdGUgdGhlIGNvbnRlbnQsIHRoaXMgbWlnaHQgYmUgb3VyIGNsYW1waW5n
IHBvc2l0aW9uLgotICAgICAgICAgICAgICAgIHJldHVybiBjb21wdXRlQ29udGVudEhlaWdodCgp
OworICAgICAgICAgICAgICAgIHJldHVybiBMYXlvdXRVbml0IHsgbGF5b3V0Rm9ybWF0dGluZ0Nv
bnRleHRMaW5lTGF5b3V0LmNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgfTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKaW5kZXggNGY3ZGY3YzQ1ODlmLi5hZGIyOGU4YzllY2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTUzNCwx
MyArNTM0LDE0IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFRleHRCb3hUcmltRm9yU3VidHJl
ZShjb25zdCBSZW5kZXJCbG9ja0Zsb3cqIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvclRl
eHRCb3hUcmltRW5kID0gbnVsbHB0cik7CiAgICAgdm9pZCBhZGp1c3RUZXh0Qm94VHJpbUFmdGVy
TGF5b3V0KCk7CisgICAgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gaW5saW5lQ29udGVudFRvcEFu
ZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93KCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoVEVYVF9B
VVRPU0laSU5HKQogICAgIGludCBtX3dpZHRoRm9yVGV4dEF1dG9zaXppbmc7CiAgICAgdW5zaWdu
ZWQgbV9saW5lQ291bnRGb3JUZXh0QXV0b3NpemluZyA6IDI7CiAjZW5kaWYKICAgICAvLyBGSVhN
RTogVGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgYWZ0ZXIgd2UgcmVtb3ZlIHRoZSBmb3JjZWQgImxp
bmUgbGF5b3V0IGNvZGVwYXRoIiBpbnZhbGlkYXRpb24uCi0gICAgc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudEJveExvZ2ljYWxIZWlnaHQ7Cisg
ICAgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8TGF5b3V0VW5pdCwgTGF5b3V0VW5pdD4+IG1fcHJl
dmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3c7
CiAKICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHNlbGZDb2xsYXBzaW5nTWFyZ2luQmVm
b3JlV2l0aENsZWFyKFJlbmRlck9iamVjdCogY2FuZGlkYXRlKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L2lubGluZS1ib3gtaW5rLW92ZXJmbG93LXNocmluay1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZs
b3ctc2hyaW5rLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAuLmY1YjU1NjYwYjRjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorUEFTUyBpZiB0aGVyZSdzIG9ubHkgb25lIHVuZGVybGluZSB2aXNpYmxlLgor
KHJlcGFpbnQgcmVjdHMKKyAgKHJlY3QgOCA4IDc4NCAxMTcpCispCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJp
bmsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQyMGZmODEz
OWIwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUt
Ym94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbApAQCAtMCwwICsxLDE4IEBACis8c3R5bGU+Citk
aXYgeworIGZvbnQtZmFtaWx5OiBBaGVtOworICBoZWlnaHQ6IDIwMHB4OworfQorc3BhbiB7Cisg
IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDEw
MHB4OworfQorPC9zdHlsZT4KKzxkaXY+PHNwYW4gaWQ9Zm9vYmFyPlBBU1MgaWYgdGhlcmUncyBv
bmx5IG9uZSB1bmRlcmxpbmUgdmlzaWJsZS48L3NwYW4+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3RleHQtYmFzZWQtcmVwYWludC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgIHJlcGFpbnRUZXN0ID0gZnVuY3Rpb24oKSB7CisgICAgZm9vYmFy
LnN0eWxlLnRleHRVbmRlcmxpbmVPZmZzZXQgPSAiMzBweCI7CisgIH07CitydW5SZXBhaW50VGVz
dCgpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473363</attachid>
            <date>2024-11-25 08:12:08 -0800</date>
            <delta_ts>2024-11-25 11:44:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-283659-20241125081208.patch</filename>
            <type>text/plain</type>
            <size>13712</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA5MGI1ODY1ZmFmYmY0YmM3ZjNjMmJkYTJkMWMzNzhhY2JkNTJhMzljIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgMjUgTm92IDIwMjQgMDg6MTA6MDggLTA4MDAKU3ViamVjdDogW1BBVENIXSBbcmVwYWlu
dF0gQmxvY2sgY29udGFpbmVyIGZhaWxzIHRvIHJlcGFpbnQgY2hpbGQgaW5saW5lIGJveAogd2hl
biBpdHMgaW5rIG92ZXJmbG93IHNocmlua3MgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI4MzY1OQoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCgpXaGVuZXZlciBj
b21wdXRpbmcgdGhlIHJlcGFpbnQgcmVjdCBjb3ZlcmluZyB0aGUgaW5saW5lIGRhbWFnZSB3ZSBo
YXZlIHRvIHRha2UgaW5rIG92ZXJmbG93IGludG8gYWNjb3VudC4KKGFuZCBub3QgdGhlIGNvbnRl
bnQgaGVpZ2h0IGFzIGl0IG1heSBub3QgY292ZXIgdGhlIGluayBvdmVyZmxvdyByZWN0YW5nbGUp
LgoKVGhpcyBjaGFuZ2UgYWRkcmVzc2VzIGNhc2VzIHdoZW4gY29udGVudCB3aXRoIGluayBvdmVy
ZmxvdyBzaHJpbmtzIHdoZXJlIHRoZSByZXBhaW50IHJlY3RhbmdsZSBib3R0b20gaXMgYmFzZWQg
b24KdGhlIHByZXZpb3VzIF9jb250ZW50XyBib3R0b20gbm90IGNvdmVyaW5nIHRoZSBwcmV2aW91
cyBfaW5rX292ZXJmbG93XyBib3R0b20uCgoxLiBDYWNoZSB0aGUgaW5rIG92ZXJmbG93IHZlcnNp
b24gb2YgInByZXZpb3VzIGNvbnRlbnQgZXh0ZW50IiB3aGVuIGlubGluZSBsYXlvdXQgaXMgZ2V0
dGluZyBkZXN0cm95ZWQuCjIuIFVzZSBpbmsgb3ZlcmZsb3cgYWZ0ZXIgbGF5b3V0IHdoZW4gY29t
cHV0aW5nIHRoZSByZXBhaW50VG9wL2JvdHRvbSB2YWx1ZXMuCgooUmVuYW1lIExpbmVMYXlvdXQ6
OmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0IHRvIGNvbnRlbnRMb2dpY2FsSGVpZ2h0IGFzIGxpbmUg
bGF5b3V0IGhhcyBubyBjb25jZXB0IG9mIGNvbnRlbnQgX2JveF8pCgoqIExheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ct
c2hyaW5rLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250ZW50TG9naWNhbEhlaWdodCBjb25zdCk6CihXZWJD
b3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGVudEJveExvZ2ljYWxIZWln
aHQgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0Lmg6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Omxh
eW91dElubGluZUNoaWxkcmVuKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0
ZUxpbmVMYXlvdXRQYXRoKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW5saW5lQ29udGVu
dFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ29udGVudCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oOgotLS0KIC4uLi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcCAgICB8ICAyICstCiAuLi4vaW5saW5lL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5oICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAgIHwgNzkgKysrKysrKysrKy0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oICAgIHwgIDMgKy0KIC4uLm5saW5lLWJveC1pbmstb3Zl
cmZsb3ctc2hyaW5rLWV4cGVjdGVkLnR4dCB8ICA1ICsrCiAuLi4vaW5saW5lLWJveC1pbmstb3Zl
cmZsb3ctc2hyaW5rLmh0bWwgICAgICAgfCAxOCArKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA2OSBp
bnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4cGVjdGVk
LnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUt
Ym94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdy
YXRpb25MaW5lTGF5b3V0LmNwcAppbmRleCA1ZDc0MmQ1ZTk2Y2QuLmFhZjA2ZWYwNjk2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtNzY4LDcg
Kzc2OCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gTGluZUxheW91dDo6Y2xhbXBlZENv
bnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGNvbnRl
bnRIZWlnaHQgKyBhZGRpdGlvbmFsSGVpZ2h0IH07CiB9CiAKLUxheW91dFVuaXQgTGluZUxheW91
dDo6Y29udGVudEJveExvZ2ljYWxIZWlnaHQoKSBjb25zdAorTGF5b3V0VW5pdCBMaW5lTGF5b3V0
Ojpjb250ZW50TG9naWNhbEhlaWdodCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lubGluZUNvbnRl
bnQpCiAgICAgICAgIHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuaAppbmRleCBlYmYxNmI3YzFmMDAuLmQwNjMzNjVhYThiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5s
aW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oCkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBw
dWJsaWM6CiAgICAgTGF5b3V0UmVjdCB2aXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94UmVjdEZvcihj
b25zdCBSZW5kZXJJbmxpbmUmKSBjb25zdDsKICAgICBWZWN0b3I8RmxvYXRSZWN0PiBjb2xsZWN0
SW5saW5lQm94UmVjdHMoY29uc3QgUmVuZGVySW5saW5lJikgY29uc3Q7CiAKKyAgICBMYXlvdXRV
bml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiBjbGFtcGVkQ29udGVudExvZ2ljYWxIZWlnaHQoKSBjb25zdDsKICAgICBib29sIGNv
bnRhaW5zKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKSBjb25zdDsKIAogICAgIGJvb2wg
aXNQYWdpbmF0ZWQoKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hMb2dpY2FsSGVp
Z2h0KCkgY29uc3Q7CiAgICAgc2l6ZV90IGxpbmVDb3VudCgpIGNvbnN0OwogICAgIGJvb2wgaGFz
VmlzdWFsT3ZlcmZsb3coKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGZpcnN0TGluZVBoeXNpY2Fs
QmFzZWxpbmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggNzU0ZWIzMmE1Y2U1Li41ZGI2ODNjNDI2MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC05MDQsNyArOTA0LDcgQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNoaWxkcmVuKGJvb2wgcmVsYXlvdXRD
aGlsZHJlbiwgTGF5b3V0VW5pdCYgcmUKICAgICAgICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1
ZTxMZWdhY3lMaW5lTGF5b3V0PigqdGhpcyk7CiAKICAgICBzdmdUZXh0TGF5b3V0KCktPmxheW91
dExpbmVCb3hlcygpOwotICAgIG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50Qm94TG9naWNh
bEhlaWdodCA9IHsgfTsKKyAgICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJv
dHRvbUluY2x1ZGluZ0lua092ZXJmbG93ID0geyB9OwogfQogCiBzdGF0aWMgTGF5b3V0VW5pdCBj
b21wdXRlRXh0cmFTcGFjZUZvckJsb2NrU3RlcFNpemluZyhMYXlvdXRVbml0IHN0ZXBTaXplLCBM
YXlvdXRVbml0IGJveE91dGVyU2l6ZSkKQEAgLTM3NjksNyArMzc2OSw4IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjppbnZhbGlkYXRlTGluZUxheW91dFBhdGgoSW52YWxpZGF0aW9uUmVhc29uIGlu
dmFsaWRhdGlvblJlCiAgICAgY2FzZSBJbmxpbmVQYXRoOiB7CiAgICAgICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgcGFydGlhbCBpbnZhbGlkYXRpb24uCiAgICAgICAgIGlmIChpbmxpbmVMYXlvdXQo
KSkgewotICAgICAgICAgICAgbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0ID0gaW5saW5lTGF5b3V0KCktPmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCk7CisgICAg
ICAgICAgICBBU1NFUlQoIW1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9t
SW5jbHVkaW5nSW5rT3ZlcmZsb3cpOworICAgICAgICAgICAgbV9wcmV2aW91c0lubGluZUxheW91
dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlubGluZUNvbnRlbnRU
b3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOwogICAgICAgICAgICAgaWYgKGludmFs
aWRhdGlvblJlYXNvbiAhPSBJbnZhbGlkYXRpb25SZWFzb246Okluc2VydGlvbk9yUmVtb3ZhbCkg
ewogICAgICAgICAgICAgICAgIGF1dG8gcmVwYWludEFuZFNldE5lZWRzTGF5b3V0SW5jbHVkaW5n
T3V0T2ZGbG93Qm94ZXMgPSBbJl0gewogICAgICAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSBl
YWdlcmx5IHJlbW92ZSB0aGUgZGlzcGxheSBjb250ZW50IGhlcmUsIHJlcGFpbnRzIGlzc3VlZCBi
ZXR3ZWVuIHRoaXMgaW52YWxpZGF0aW9uICh0cmlnZ2VyZWQgYnkgc3R5bGUgY2hhbmdlL2NvbnRl
bnQgbXV0YXRpb24pIGFuZCB0aGUgc3Vic2VxdWVudCBsYXlvdXQgd291bGQgcHJvZHVjZSBlbXB0
eSByZWN0cy4KQEAgLTM4MjksNiArMzgzMCwzMSBAQCBzdGF0aWMgdm9pZCBzZXRGdWxsUmVwYWlu
dE9uUGFyZW50SW5saW5lQm94TGF5ZXJJZk5lZWRlZChjb25zdCBSZW5kZXJUZXh0JiByZW5kZQog
ICAgIGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmplY3Q+KCpwYXJlbnQpLmNoZWNrZWRMYXll
cigpLT5zZXRSZXBhaW50U3RhdHVzKFJlcGFpbnRTdGF0dXM6Ok5lZWRzRnVsbFJlcGFpbnQpOwog
fQogCitzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBSZW5kZXJCbG9ja0Zsb3c6OmlubGluZUNvbnRl
bnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpIGNvbnN0Cit7CisgICAgaWYgKG1f
cHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZs
b3cpIHsKKyAgICAgICAgQVNTRVJUKCFpbmxpbmVMYXlvdXQoKSk7CisgICAgICAgIHJldHVybiAq
bV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVy
ZmxvdzsKKyAgICB9CisKKyAgICBhdXRvIGZpcnN0TGluZUJveCA9IElubGluZUl0ZXJhdG9yOjpm
aXJzdExpbmVCb3hGb3IoKnRoaXMpOworICAgIGF1dG8gbGFzdExpbmVCb3ggPSBJbmxpbmVJdGVy
YXRvcjo6bGFzdExpbmVCb3hGb3IoKnRoaXMpOworICAgIGlmICghZmlyc3RMaW5lQm94KQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBsb2dpY2FsVG9wID0gZmlyc3RMaW5lQm94LT5j
b250ZW50TG9naWNhbFRvcCgpOworICAgIGF1dG8gbG9naWNhbEJvdHRvbSA9IGxhc3RMaW5lQm94
LT5jb250ZW50TG9naWNhbEJvdHRvbSgpOworCisgICAgaWYgKCFpbmxpbmVMYXlvdXQoKS0+aGFz
VmlzdWFsT3ZlcmZsb3coKSkKKyAgICAgICAgcmV0dXJuIHsgbG9naWNhbFRvcCwgbG9naWNhbEJv
dHRvbSB9OworCisgICAgZm9yIChhdXRvIGxpbmVCb3ggPSBmaXJzdExpbmVCb3g7IGxpbmVCb3g7
IGxpbmVCb3gudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgbG9naWNhbFRvcCA9IHN0ZDo6bWlu
KGxvZ2ljYWxUb3AsIGxpbmVCb3gtPmlua092ZXJmbG93TG9naWNhbFRvcCgpKTsKKyAgICAgICAg
bG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KGxvZ2ljYWxCb3R0b20sIGxpbmVCb3gtPmlua092ZXJm
bG93TG9naWNhbEJvdHRvbSgpKTsKKyAgICB9CisgICAgcmV0dXJuIHsgbG9naWNhbFRvcCwgbG9n
aWNhbEJvdHRvbSB9OworfQorCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ29u
dGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlcGFpbnRMb2dpY2FsVG9w
LCBMYXlvdXRVbml0JiByZXBhaW50TG9naWNhbEJvdHRvbSkKIHsKICAgICBhdXRvJiBsYXlvdXRT
dGF0ZSA9ICp2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCk7
CkBAIC0zOTAxLDYgKzM5MjcsOSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5saW5l
Q29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlcAogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCisgICAgYXV0byBvbGRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5n
SW5rT3ZlcmZsb3cgPSBpbmxpbmVDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZs
b3coKTsKKyAgICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJvdHRvbUluY2x1
ZGluZ0lua092ZXJmbG93ID0geyB9OworCiAgICAgaWYgKCFpbmxpbmVMYXlvdXQoKSkKICAgICAg
ICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1ZTxMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91
dD4oKnRoaXMpOwogCkBAIC0zOTA5LDI5ICszOTM4LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYg
cmVwCiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jaygpIHx8IGlzPFJlbmRlclZpZXc+KCp0aGlz
KSk7CiAgICAgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LnVwZGF0ZUZvcm1hdHRp
bmdDb250ZXhHZW9tZXRyaWVzKGNvbnRhaW5pbmdCbG9jaygpID8gY29udGFpbmluZ0Jsb2NrKCkt
PmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpIDogTGF5b3V0VW5pdCgpKTsKIAotICAgIGF1dG8gY29u
dGVudEJveFRvcCA9IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKTsKLQotICAgIGF1dG8gY29tcHV0
ZUNvbnRlbnRIZWlnaHQgPSBbJl0gewotICAgICAgICBpZiAoIWhhc0xpbmVzKCkgJiYgaGFzTGlu
ZUlmRW1wdHkoKSkgewotICAgICAgICAgICAgaWYgKG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250
ZW50Qm94TG9naWNhbEhlaWdodCkKLSAgICAgICAgICAgICAgICByZXR1cm4gKm1fcHJldmlvdXNJ
bmxpbmVMYXlvdXRDb250ZW50Qm94TG9naWNhbEhlaWdodDsKLSAgICAgICAgICAgIHJldHVybiBs
aW5lSGVpZ2h0KHRydWUsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGlu
ZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKTsKLSAgICAgICAg
fQotCi0gICAgICAgIHJldHVybiBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY29u
dGVudEJveExvZ2ljYWxIZWlnaHQoKTsKLSAgICB9OwotCi0gICAgYXV0byBjb21wdXRlQm9yZGVy
Qm94Qm90dG9tID0gWyZdIHsKLSAgICAgICAgYXV0byBjb250ZW50Qm94Qm90dG9tID0gY29udGVu
dEJveFRvcCArIGNvbXB1dGVDb250ZW50SGVpZ2h0KCk7Ci0gICAgICAgIHJldHVybiBjb250ZW50
Qm94Qm90dG9tICsgYm9yZGVyQW5kUGFkZGluZ0FmdGVyKCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVp
Z2h0KCk7Ci0gICAgfTsKLQotICAgIGF1dG8gb2xkQm9yZGVyQm94Qm90dG9tID0gY29tcHV0ZUJv
cmRlckJveEJvdHRvbSgpOwotICAgIG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50Qm94TG9n
aWNhbEhlaWdodCA9IHsgfTsKLQogICAgIGF1dG8gcGFydGlhbFJlcGFpbnRSZWN0ID0gbGF5b3V0
Rm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmxheW91dCgpOwogCi0gICAgYXV0byBuZXdCb3Jk
ZXJCb3hCb3R0b20gPSBjb21wdXRlQm9yZGVyQm94Qm90dG9tKCk7CisgICAgYXV0byBib3JkZXJC
b3hCb3R0b20gPSBbJl0geworICAgICAgICBhdXRvIGNvbnRlbnRIZWlnaHQgPSAhaGFzTGluZXMo
KSAmJiBoYXNMaW5lSWZFbXB0eSgpID8gbGluZUhlaWdodCh0cnVlLCBpc0hvcml6b250YWxXcml0
aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRl
cmlvckxpbmVCb3hlcykgOiBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY29udGVu
dExvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgcmV0dXJuIGJvcmRlckFuZFBhZGRpbmdCZWZvcmUo
KSArIGNvbnRlbnRIZWlnaHQgKyBib3JkZXJBbmRQYWRkaW5nQWZ0ZXIoKSArIHNjcm9sbGJhckxv
Z2ljYWxIZWlnaHQoKTsKKyAgICB9OworICAgIGF1dG8gbmV3Qm9yZGVyQm94Qm90dG9tID0gYm9y
ZGVyQm94Qm90dG9tKCk7CiAKICAgICBhdXRvIHVwZGF0ZVJlcGFpbnRUb3BBbmRCb3R0b21JZk5l
ZWRlZCA9IFsmXSB7CiAgICAgICAgIGF1dG8gaXNGdWxsTGF5b3V0ID0gc2VsZk5lZWRzTGF5b3V0
KCkgfHwgcmVsYXlvdXRDaGlsZHJlbjsKQEAgLTM5NTcsMjMgKzM5NzAsMTUgQEAgdm9pZCBSZW5k
ZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNvbnRlbnQoYm9vbCByZWxheW91dENoaWxkcmVuLCBM
YXlvdXRVbml0JiByZXAKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAg
IGF1dG8gZmlyc3RMaW5lQm94ID0gSW5saW5lSXRlcmF0b3I6OmZpcnN0TGluZUJveEZvcigqdGhp
cyk7Ci0gICAgICAgIGF1dG8gbGFzdExpbmVCb3ggPSBJbmxpbmVJdGVyYXRvcjo6bGFzdExpbmVC
b3hGb3IoKnRoaXMpOwotICAgICAgICBpZiAoIWZpcnN0TGluZUJveCkKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IHN0ZDo6bWluKGNvbnRlbnRCb3hU
b3AsIExheW91dFVuaXQgeyBmaXJzdExpbmVCb3gtPmNvbnRlbnRMb2dpY2FsVG9wKCkgfSk7Ci0g
ICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gc3RkOjptYXgoc3RkOjptYXgob2xkQm9yZGVy
Qm94Qm90dG9tLCBuZXdCb3JkZXJCb3hCb3R0b20pLCBMYXlvdXRVbml0IHsgbGFzdExpbmVCb3gt
PmNvbnRlbnRMb2dpY2FsQm90dG9tKCkgfSk7Ci0gICAgICAgIGlmIChsYXlvdXRGb3JtYXR0aW5n
Q29udGV4dExpbmVMYXlvdXQuaGFzVmlzdWFsT3ZlcmZsb3coKSkgewotICAgICAgICAgICAgZm9y
IChhdXRvIGxpbmVCb3ggPSBmaXJzdExpbmVCb3g7IGxpbmVCb3g7IGxpbmVCb3gudHJhdmVyc2VO
ZXh0KCkpIHsKLSAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IHN0ZDo6bWluKHJl
cGFpbnRMb2dpY2FsVG9wLCBMYXlvdXRVbml0IHsgbGluZUJveC0+aW5rT3ZlcmZsb3dMb2dpY2Fs
VG9wKCkgfSk7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBzdGQ6Om1h
eChyZXBhaW50TG9naWNhbEJvdHRvbSwgTGF5b3V0VW5pdCB7IGxpbmVCb3gtPmlua092ZXJmbG93
TG9naWNhbEJvdHRvbSgpIH0pOwotICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAgIGF1
dG8gY29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93ID0gaW5saW5lQ29udGVu
dFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93KCk7CisgICAgICAgIHJlcGFpbnRMb2dp
Y2FsVG9wID0gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Rmxvb3Ioc3RkOjptaW4ob2xkQ29udGVudFRv
cEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93LmZpcnN0LCBjb250ZW50VG9wQW5kQm90dG9t
SW5jbHVkaW5nSW5rT3ZlcmZsb3cuZmlyc3QpKTsKKyAgICAgICAgYXV0byBjb250ZW50Qm90dG9t
SW5jbHVkaW5nSW5rT3ZlcmZsb3cgPSBzdGQ6Om1heChvbGRDb250ZW50VG9wQW5kQm90dG9tSW5j
bHVkaW5nSW5rT3ZlcmZsb3cuc2Vjb25kLCBjb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5r
T3ZlcmZsb3cuc2Vjb25kKTsKKyAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBzdGQ6Om1h
eChMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGNvbnRlbnRCb3R0b21JbmNsdWRpbmdJbmtPdmVy
ZmxvdyksIG5ld0JvcmRlckJveEJvdHRvbSk7CiAgICAgfTsKICAgICB1cGRhdGVSZXBhaW50VG9w
QW5kQm90dG9tSWZOZWVkZWQoKTsKIAogICAgIHNldExvZ2ljYWxIZWlnaHQobmV3Qm9yZGVyQm94
Qm90dG9tKTsKKwogICAgIGF1dG8gdXBkYXRlTGluZUNsYW1wU3RhdGVBbmRMb2dpY2FsSGVpZ2h0
SWZBcHBsaWNhYmxlID0gWyZdIHsKICAgICAgICAgYXV0byBsZWdhY3lMaW5lQ2xhbXAgPSBsYXlv
dXRTdGF0ZS5sZWdhY3lMaW5lQ2xhbXAoKTsKICAgICAgICAgaWYgKCFsZWdhY3lMaW5lQ2xhbXAg
fHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQpAQCAtMzk4OSw3ICszOTk0LDcg
QEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNvbnRlbnQoYm9vbCByZWxheW91
dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXAKICAgICAgICAgICAgICAgICByZXR1cm4gY2xhbXBl
ZEhlaWdodDsKICAgICAgICAgICAgIGlmIChsZWdhY3lMaW5lQ2xhbXAtPmN1cnJlbnRMaW5lQ291
bnQgPT0gbGVnYWN5TGluZUNsYW1wLT5tYXhpbXVtTGluZUNvdW50KSB7CiAgICAgICAgICAgICAg
ICAgLy8gRXZlbiBpZiB3ZSBkaWQgbm90IHRydW5jYXRlIHRoZSBjb250ZW50LCB0aGlzIG1pZ2h0
IGJlIG91ciBjbGFtcGluZyBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICByZXR1cm4gY29tcHV0
ZUNvbnRlbnRIZWlnaHQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGxh
eW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50TG9naWNhbEhlaWdodCgpIH07
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCmluZGV4IDQ4ZDg4MDk2ZWU4
Zi4uMTE3YTNkOTNlMjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5oCkBAIC01MzUsMTMgKzUzNSwxNCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRUZXh0
Qm94VHJpbUZvclN1YnRyZWUoY29uc3QgUmVuZGVyQmxvY2tGbG93KiBpbmxpbmVGb3JtYXR0aW5n
Q29udGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZCA9IG51bGxwdHIpOwogICAgIHZvaWQgYWRqdXN0
VGV4dEJveFRyaW1BZnRlckxheW91dCgpOworICAgIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGlu
bGluZUNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpIGNvbnN0OwogCiAj
aWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICBpbnQgbV93aWR0aEZvclRleHRBdXRvc2l6
aW5nOwogICAgIHVuc2lnbmVkIG1fbGluZUNvdW50Rm9yVGV4dEF1dG9zaXppbmcgOiAyOwogI2Vu
ZGlmCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGVtcG9yYXJ5IHVudGlsIGFmdGVyIHdlIHJlbW92
ZSB0aGUgZm9yY2VkICJsaW5lIGxheW91dCBjb2RlcGF0aCIgaW52YWxpZGF0aW9uLgotICAgIHN0
ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hM
b2dpY2FsSGVpZ2h0OworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPExheW91dFVuaXQsIExh
eW91dFVuaXQ+PiBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJvdHRvbUluY2x1
ZGluZ0lua092ZXJmbG93OwogCiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBzZWxmQ29s
bGFwc2luZ01hcmdpbkJlZm9yZVdpdGhDbGVhcihSZW5kZXJPYmplY3QqIGNhbmRpZGF0ZSk7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVy
Zmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2lubGlu
ZS1ib3gtaW5rLW92ZXJmbG93LXNocmluay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mNWI1NTY2MGI0YzcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1MgaWYgdGhlcmUncyBvbmx5IG9uZSB1bmRl
cmxpbmUgdmlzaWJsZS4KKyhyZXBhaW50IHJlY3RzCisgIChyZWN0IDggOCA3ODQgMTE3KQorKQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3Zl
cmZsb3ctc2hyaW5rLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1p
bmstb3ZlcmZsb3ctc2hyaW5rLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi5kMjBmZjgxMzliMDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPHN0eWxlPgorZGl2IHsKKyBmb250LWZhbWlseTogQWhlbTsKKyAgaGVpZ2h0OiAyMDBw
eDsKK30KK3NwYW4geworICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAgdGV4dC11bmRl
cmxpbmUtb2Zmc2V0OiAxMDBweDsKK30KKzwvc3R5bGU+Cis8ZGl2PjxzcGFuIGlkPWZvb2Jhcj5Q
QVNTIGlmIHRoZXJlJ3Mgb25seSBvbmUgdW5kZXJsaW5lIHZpc2libGUuPC9zcGFuPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXh0LWJhc2VkLXJlcGFpbnQuanMiIHR5cGU9InRleHQv
amF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICByZXBhaW50VGVzdCA9IGZ1bmN0aW9u
KCkgeworICAgIGZvb2Jhci5zdHlsZS50ZXh0VW5kZXJsaW5lT2Zmc2V0ID0gIjMwcHgiOworICB9
OworcnVuUmVwYWludFRlc3QoKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473365</attachid>
            <date>2024-11-25 11:44:47 -0800</date>
            <delta_ts>2024-11-25 15:56:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-283659-20241125114446.patch</filename>
            <type>text/plain</type>
            <size>14999</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAxMjA2MzkwODI3MzRmYmFhNTJjYjg0MGFkNWQ2ZmY1NGQ5MzYyM2VlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgMjUgTm92IDIwMjQgMDg6MTA6MDggLTA4MDAKU3ViamVjdDogW1BBVENIXSBbcmVwYWlu
dF0gQmxvY2sgY29udGFpbmVyIGZhaWxzIHRvIHJlcGFpbnQgY2hpbGQgaW5saW5lIGJveAogd2hl
biBpdHMgaW5rIG92ZXJmbG93IHNocmlua3MgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI4MzY1OQoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCgpXaGVuZXZlciBj
b21wdXRpbmcgdGhlIHJlcGFpbnQgcmVjdCBjb3ZlcmluZyB0aGUgaW5saW5lIGRhbWFnZSB3ZSBo
YXZlIHRvIHRha2UgaW5rIG92ZXJmbG93IGludG8gYWNjb3VudC4KKGFuZCBub3QgdGhlIGNvbnRl
bnQgaGVpZ2h0IGFzIGl0IG1heSBub3QgY292ZXIgdGhlIGluayBvdmVyZmxvdyByZWN0YW5nbGUp
LgoKVGhpcyBjaGFuZ2UgYWRkcmVzc2VzIGNhc2VzIHdoZW4gY29udGVudCB3aXRoIGluayBvdmVy
ZmxvdyBzaHJpbmtzIHdoZXJlIHRoZSByZXBhaW50IHJlY3RhbmdsZSBib3R0b20gaXMgYmFzZWQg
b24KdGhlIHByZXZpb3VzIF9jb250ZW50XyBib3R0b20gbm90IGNvdmVyaW5nIHRoZSBwcmV2aW91
cyBfaW5rX292ZXJmbG93XyBib3R0b20uCgoxLiBDYWNoZSB0aGUgaW5rIG92ZXJmbG93IHZlcnNp
b24gb2YgInByZXZpb3VzIGNvbnRlbnQgZXh0ZW50IiB3aGVuIGlubGluZSBsYXlvdXQgaXMgZ2V0
dGluZyBkZXN0cm95ZWQuCjIuIFVzZSBpbmsgb3ZlcmZsb3cgYWZ0ZXIgbGF5b3V0IHdoZW4gY29t
cHV0aW5nIHRoZSByZXBhaW50VG9wL2JvdHRvbSB2YWx1ZXMuCgooUmVuYW1lIExpbmVMYXlvdXQ6
OmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0IHRvIGNvbnRlbnRMb2dpY2FsSGVpZ2h0IGFzIGxpbmUg
bGF5b3V0IGhhcyBubyBjb25jZXB0IG9mIGNvbnRlbnQgX2JveF8pCgoqIExheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ct
c2hyaW5rLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250ZW50TG9naWNhbEhlaWdodCBjb25zdCk6CihXZWJD
b3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGVudEJveExvZ2ljYWxIZWln
aHQgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0Lmg6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Omxh
eW91dElubGluZUNoaWxkcmVuKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0
ZUxpbmVMYXlvdXRQYXRoKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW5saW5lQ29udGVu
dFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ29udGVudCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oOgoKKGZhc3QvcmVwYWludC9mb2N1cy1yaW5nLXJlcGFpbnQu
aHRtbCBsb29rcyBmaW5lIGluIG1pbmlicm93c2VyIC1ubyBsZWZ0b3ZlciBiaXRzKS4KLS0tCiAu
Li4vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAgICAgfCAgMiArLQogLi4u
L2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaCAgICAgIHwgIDIgKy0KIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwICB8IDc3ICsrKysrKysrKyst
LS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCAgICB8
ICAzICstCiAuLi4vcmVwYWludC9mb2N1cy1yaW5nLXJlcGFpbnQtZXhwZWN0ZWQudHh0ICAgfCAg
MiArLQogLi4ubmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0IHwgIDUg
KysKIC4uLi9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbCAgICAgICB8IDE4ICsr
KysrCiAuLi4vcmVwYWludC9mb2N1cy1yaW5nLXJlcGFpbnQtZXhwZWN0ZWQudHh0ICAgfCAgMiAr
LQogOCBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmst
b3ZlcmZsb3ctc2hyaW5rLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbAoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0
SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcAppbmRleCA1ZDc0MmQ1
ZTk2Y2QuLmFhZjA2ZWYwNjk2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcApAQCAtNzY4LDcgKzc2OCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5p
dD4gTGluZUxheW91dDo6Y2xhbXBlZENvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKICAgICBy
ZXR1cm4gTGF5b3V0VW5pdCB7IGNvbnRlbnRIZWlnaHQgKyBhZGRpdGlvbmFsSGVpZ2h0IH07CiB9
CiAKLUxheW91dFVuaXQgTGluZUxheW91dDo6Y29udGVudEJveExvZ2ljYWxIZWlnaHQoKSBjb25z
dAorTGF5b3V0VW5pdCBMaW5lTGF5b3V0Ojpjb250ZW50TG9naWNhbEhlaWdodCgpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX2lubGluZUNvbnRlbnQpCiAgICAgICAgIHJldHVybiB7IH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lu
bGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAppbmRleCBlYmYxNmI3YzFmMDAuLmQw
NjMzNjVhYThiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5o
CkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCB2aXN1YWxPdmVy
Zmxvd0JvdW5kaW5nQm94UmVjdEZvcihjb25zdCBSZW5kZXJJbmxpbmUmKSBjb25zdDsKICAgICBW
ZWN0b3I8RmxvYXRSZWN0PiBjb2xsZWN0SW5saW5lQm94UmVjdHMoY29uc3QgUmVuZGVySW5saW5l
JikgY29uc3Q7CiAKKyAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7
CiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBjbGFtcGVkQ29udGVudExvZ2ljYWxIZWln
aHQoKSBjb25zdDsKICAgICBib29sIGNvbnRhaW5zKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRl
cmVyKSBjb25zdDsKIAogICAgIGJvb2wgaXNQYWdpbmF0ZWQoKSBjb25zdDsKLSAgICBMYXlvdXRV
bml0IGNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CiAgICAgc2l6ZV90IGxpbmVDb3Vu
dCgpIGNvbnN0OwogICAgIGJvb2wgaGFzVmlzdWFsT3ZlcmZsb3coKSBjb25zdDsKICAgICBMYXlv
dXRVbml0IGZpcnN0TGluZVBoeXNpY2FsQmFzZWxpbmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggNzU0ZWIzMmE1Y2U1Li44ODgw
ZTE3ZjNhN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCkBAIC05MDQsNyArOTA0LDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGlu
ZUNoaWxkcmVuKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcmUKICAgICAgICAg
bV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1ZTxMZWdhY3lMaW5lTGF5b3V0PigqdGhpcyk7CiAKICAg
ICBzdmdUZXh0TGF5b3V0KCktPmxheW91dExpbmVCb3hlcygpOwotICAgIG1fcHJldmlvdXNJbmxp
bmVMYXlvdXRDb250ZW50Qm94TG9naWNhbEhlaWdodCA9IHsgfTsKKyAgICBtX3ByZXZpb3VzSW5s
aW5lTGF5b3V0Q29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93ID0geyB9Owog
fQogCiBzdGF0aWMgTGF5b3V0VW5pdCBjb21wdXRlRXh0cmFTcGFjZUZvckJsb2NrU3RlcFNpemlu
ZyhMYXlvdXRVbml0IHN0ZXBTaXplLCBMYXlvdXRVbml0IGJveE91dGVyU2l6ZSkKQEAgLTM3Njks
NyArMzc2OSw4IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjppbnZhbGlkYXRlTGluZUxheW91dFBh
dGgoSW52YWxpZGF0aW9uUmVhc29uIGludmFsaWRhdGlvblJlCiAgICAgY2FzZSBJbmxpbmVQYXRo
OiB7CiAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcGFydGlhbCBpbnZhbGlkYXRpb24uCiAg
ICAgICAgIGlmIChpbmxpbmVMYXlvdXQoKSkgewotICAgICAgICAgICAgbV9wcmV2aW91c0lubGlu
ZUxheW91dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0ID0gaW5saW5lTGF5b3V0KCktPmNvbnRlbnRC
b3hMb2dpY2FsSGVpZ2h0KCk7CisgICAgICAgICAgICBBU1NFUlQoIW1fcHJldmlvdXNJbmxpbmVM
YXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3cpOworICAgICAgICAg
ICAgbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtP
dmVyZmxvdyA9IGlubGluZUNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygp
OwogICAgICAgICAgICAgaWYgKGludmFsaWRhdGlvblJlYXNvbiAhPSBJbnZhbGlkYXRpb25SZWFz
b246Okluc2VydGlvbk9yUmVtb3ZhbCkgewogICAgICAgICAgICAgICAgIGF1dG8gcmVwYWludEFu
ZFNldE5lZWRzTGF5b3V0SW5jbHVkaW5nT3V0T2ZGbG93Qm94ZXMgPSBbJl0gewogICAgICAgICAg
ICAgICAgICAgICAvLyBTaW5jZSB3ZSBlYWdlcmx5IHJlbW92ZSB0aGUgZGlzcGxheSBjb250ZW50
IGhlcmUsIHJlcGFpbnRzIGlzc3VlZCBiZXR3ZWVuIHRoaXMgaW52YWxpZGF0aW9uICh0cmlnZ2Vy
ZWQgYnkgc3R5bGUgY2hhbmdlL2NvbnRlbnQgbXV0YXRpb24pIGFuZCB0aGUgc3Vic2VxdWVudCBs
YXlvdXQgd291bGQgcHJvZHVjZSBlbXB0eSByZWN0cy4KQEAgLTM4MjksNiArMzgzMCwyOSBAQCBz
dGF0aWMgdm9pZCBzZXRGdWxsUmVwYWludE9uUGFyZW50SW5saW5lQm94TGF5ZXJJZk5lZWRlZChj
b25zdCBSZW5kZXJUZXh0JiByZW5kZQogICAgIGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q+KCpwYXJlbnQpLmNoZWNrZWRMYXllcigpLT5zZXRSZXBhaW50U3RhdHVzKFJlcGFpbnRTdGF0
dXM6Ok5lZWRzRnVsbFJlcGFpbnQpOwogfQogCitzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBSZW5k
ZXJCbG9ja0Zsb3c6OmlubGluZUNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxv
dygpIGNvbnN0Cit7CisgICAgaWYgKG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5k
Qm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3cpCisgICAgICAgIHJldHVybiAqbV9wcmV2aW91c0lu
bGluZUxheW91dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdzsKKworICAg
IGF1dG8gZmlyc3RMaW5lQm94ID0gSW5saW5lSXRlcmF0b3I6OmZpcnN0TGluZUJveEZvcigqdGhp
cyk7CisgICAgYXV0byBsYXN0TGluZUJveCA9IElubGluZUl0ZXJhdG9yOjpsYXN0TGluZUJveEZv
cigqdGhpcyk7CisgICAgaWYgKCFmaXJzdExpbmVCb3gpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIGxvZ2ljYWxUb3AgPSBmaXJzdExpbmVCb3gtPmNvbnRlbnRMb2dpY2FsVG9wKCk7
CisgICAgYXV0byBsb2dpY2FsQm90dG9tID0gbGFzdExpbmVCb3gtPmNvbnRlbnRMb2dpY2FsQm90
dG9tKCk7CisKKyAgICBpZiAoIWlubGluZUxheW91dCgpLT5oYXNWaXN1YWxPdmVyZmxvdygpKQor
ICAgICAgICByZXR1cm4geyBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tIH07CisKKyAgICBmb3Ig
KGF1dG8gbGluZUJveCA9IGZpcnN0TGluZUJveDsgbGluZUJveDsgbGluZUJveC50cmF2ZXJzZU5l
eHQoKSkgeworICAgICAgICBsb2dpY2FsVG9wID0gc3RkOjptaW4obG9naWNhbFRvcCwgbGluZUJv
eC0+aW5rT3ZlcmZsb3dMb2dpY2FsVG9wKCkpOworICAgICAgICBsb2dpY2FsQm90dG9tID0gc3Rk
OjptYXgobG9naWNhbEJvdHRvbSwgbGluZUJveC0+aW5rT3ZlcmZsb3dMb2dpY2FsQm90dG9tKCkp
OworICAgIH0KKyAgICByZXR1cm4geyBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tIH07Cit9CisK
IHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVsYXlvdXRD
aGlsZHJlbiwgTGF5b3V0VW5pdCYgcmVwYWludExvZ2ljYWxUb3AsIExheW91dFVuaXQmIHJlcGFp
bnRMb2dpY2FsQm90dG9tKQogewogICAgIGF1dG8mIGxheW91dFN0YXRlID0gKnZpZXcoKS5mcmFt
ZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKQEAgLTM5MDEsNiArMzkyNSw5
IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVsYXlv
dXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcmVwCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAg
ICBhdXRvIG9sZENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlubGlu
ZUNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOworICAgIG1fcHJldmlv
dXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3cgPSB7
IH07CisKICAgICBpZiAoIWlubGluZUxheW91dCgpKQogICAgICAgICBtX2xpbmVMYXlvdXQgPSBt
YWtlVW5pcXVlPExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0PigqdGhpcyk7CiAKQEAgLTM5
MDksMjkgKzM5MzYsMTMgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNvbnRl
bnQoYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXAKICAgICBBU1NFUlQoY29u
dGFpbmluZ0Jsb2NrKCkgfHwgaXM8UmVuZGVyVmlldz4oKnRoaXMpKTsKICAgICBsYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dExpbmVMYXlvdXQudXBkYXRlRm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMo
Y29udGFpbmluZ0Jsb2NrKCkgPyBjb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdp
ZHRoKCkgOiBMYXlvdXRVbml0KCkpOwogCi0gICAgYXV0byBjb250ZW50Qm94VG9wID0gYm9yZGVy
QW5kUGFkZGluZ0JlZm9yZSgpOwotCi0gICAgYXV0byBjb21wdXRlQ29udGVudEhlaWdodCA9IFsm
XSB7Ci0gICAgICAgIGlmICghaGFzTGluZXMoKSAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAg
ICAgICAgICBpZiAobV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0
KQotICAgICAgICAgICAgICAgIHJldHVybiAqbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRC
b3hMb2dpY2FsSGVpZ2h0OwotICAgICAgICAgICAgcmV0dXJuIGxpbmVIZWlnaHQodHJ1ZSwgaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lLCBQ
b3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJu
IGxheW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50Qm94TG9naWNhbEhlaWdo
dCgpOwotICAgIH07Ci0KLSAgICBhdXRvIGNvbXB1dGVCb3JkZXJCb3hCb3R0b20gPSBbJl0gewot
ICAgICAgICBhdXRvIGNvbnRlbnRCb3hCb3R0b20gPSBjb250ZW50Qm94VG9wICsgY29tcHV0ZUNv
bnRlbnRIZWlnaHQoKTsKLSAgICAgICAgcmV0dXJuIGNvbnRlbnRCb3hCb3R0b20gKyBib3JkZXJB
bmRQYWRkaW5nQWZ0ZXIoKSArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsKLSAgICB9OwotCi0g
ICAgYXV0byBvbGRCb3JkZXJCb3hCb3R0b20gPSBjb21wdXRlQm9yZGVyQm94Qm90dG9tKCk7Ci0g
ICAgbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0ID0geyB9Owot
CiAgICAgYXV0byBwYXJ0aWFsUmVwYWludFJlY3QgPSBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dExp
bmVMYXlvdXQubGF5b3V0KCk7CiAKLSAgICBhdXRvIG5ld0JvcmRlckJveEJvdHRvbSA9IGNvbXB1
dGVCb3JkZXJCb3hCb3R0b20oKTsKKyAgICBhdXRvIGJvcmRlckJveEJvdHRvbSA9IFsmXSB7Cisg
ICAgICAgIGF1dG8gY29udGVudEhlaWdodCA9ICFoYXNMaW5lcygpICYmIGhhc0xpbmVJZkVtcHR5
KCkgPyBsaW5lSGVpZ2h0KHRydWUsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9u
dGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSA6IGxh
eW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50TG9naWNhbEhlaWdodCgpOwor
ICAgICAgICByZXR1cm4gYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgY29udGVudEhlaWdodCAr
IGJvcmRlckFuZFBhZGRpbmdBZnRlcigpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOworICAg
IH07CisgICAgYXV0byBuZXdCb3JkZXJCb3hCb3R0b20gPSBib3JkZXJCb3hCb3R0b20oKTsKIAog
ICAgIGF1dG8gdXBkYXRlUmVwYWludFRvcEFuZEJvdHRvbUlmTmVlZGVkID0gWyZdIHsKICAgICAg
ICAgYXV0byBpc0Z1bGxMYXlvdXQgPSBzZWxmTmVlZHNMYXlvdXQoKSB8fCByZWxheW91dENoaWxk
cmVuOwpAQCAtMzk1NywyMyArMzk2OCwxNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0
SW5saW5lQ29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlcAogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byBmaXJzdExpbmVCb3gg
PSBJbmxpbmVJdGVyYXRvcjo6Zmlyc3RMaW5lQm94Rm9yKCp0aGlzKTsKLSAgICAgICAgYXV0byBs
YXN0TGluZUJveCA9IElubGluZUl0ZXJhdG9yOjpsYXN0TGluZUJveEZvcigqdGhpcyk7Ci0gICAg
ICAgIGlmICghZmlyc3RMaW5lQm94KQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBhdXRv
IGNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlubGluZUNvbnRlbnRU
b3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOworICAgICAgICBhdXRvIGRhbWFnZVRv
cEluY2x1ZGluZ0lua092ZXJmbG93ID0gc3RkOjptaW4ob2xkQ29udGVudFRvcEFuZEJvdHRvbUlu
Y2x1ZGluZ0lua092ZXJmbG93LmZpcnN0LCBjb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5r
T3ZlcmZsb3cuZmlyc3QpOworICAgICAgICBhdXRvIGRhbWFnZUJvdHRvbUluY2x1ZGluZ0lua092
ZXJmbG93ID0gc3RkOjptYXgob2xkQ29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJm
bG93LnNlY29uZCwgY29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93LnNlY29u
ZCk7CiAKLSAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBzdGQ6Om1pbihjb250ZW50Qm94VG9w
LCBMYXlvdXRVbml0IHsgZmlyc3RMaW5lQm94LT5jb250ZW50TG9naWNhbFRvcCgpIH0pOwotICAg
ICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KHN0ZDo6bWF4KG9sZEJvcmRlckJv
eEJvdHRvbSwgbmV3Qm9yZGVyQm94Qm90dG9tKSwgTGF5b3V0VW5pdCB7IGxhc3RMaW5lQm94LT5j
b250ZW50TG9naWNhbEJvdHRvbSgpIH0pOwotICAgICAgICBpZiAobGF5b3V0Rm9ybWF0dGluZ0Nv
bnRleHRMaW5lTGF5b3V0Lmhhc1Zpc3VhbE92ZXJmbG93KCkpIHsKLSAgICAgICAgICAgIGZvciAo
YXV0byBsaW5lQm94ID0gZmlyc3RMaW5lQm94OyBsaW5lQm94OyBsaW5lQm94LnRyYXZlcnNlTmV4
dCgpKSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBzdGQ6Om1pbihyZXBh
aW50TG9naWNhbFRvcCwgTGF5b3V0VW5pdCB7IGxpbmVCb3gtPmlua092ZXJmbG93TG9naWNhbFRv
cCgpIH0pOwotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gc3RkOjptYXgo
cmVwYWludExvZ2ljYWxCb3R0b20sIExheW91dFVuaXQgeyBsaW5lQm94LT5pbmtPdmVyZmxvd0xv
Z2ljYWxCb3R0b20oKSB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICByZXBh
aW50TG9naWNhbFRvcCA9IHN0ZDo6bWluKExheW91dFVuaXQ6OmZyb21GbG9hdEZsb29yKGRhbWFn
ZVRvcEluY2x1ZGluZ0lua092ZXJmbG93KSwgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpKTsKKyAg
ICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChMYXlvdXRVbml0Ojpmcm9tRmxv
YXRDZWlsKGRhbWFnZUJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93KSwgbmV3Qm9yZGVyQm94Qm90
dG9tKTsKICAgICB9OwogICAgIHVwZGF0ZVJlcGFpbnRUb3BBbmRCb3R0b21JZk5lZWRlZCgpOwog
CiAgICAgc2V0TG9naWNhbEhlaWdodChuZXdCb3JkZXJCb3hCb3R0b20pOworCiAgICAgYXV0byB1
cGRhdGVMaW5lQ2xhbXBTdGF0ZUFuZExvZ2ljYWxIZWlnaHRJZkFwcGxpY2FibGUgPSBbJl0gewog
ICAgICAgICBhdXRvIGxlZ2FjeUxpbmVDbGFtcCA9IGxheW91dFN0YXRlLmxlZ2FjeUxpbmVDbGFt
cCgpOwogICAgICAgICBpZiAoIWxlZ2FjeUxpbmVDbGFtcCB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZs
b3dQb3NpdGlvbmVkKCkpCkBAIC0zOTg5LDcgKzM5OTQsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxv
dzo6bGF5b3V0SW5saW5lQ29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQm
IHJlcAogICAgICAgICAgICAgICAgIHJldHVybiBjbGFtcGVkSGVpZ2h0OwogICAgICAgICAgICAg
aWYgKGxlZ2FjeUxpbmVDbGFtcC0+Y3VycmVudExpbmVDb3VudCA9PSBsZWdhY3lMaW5lQ2xhbXAt
Pm1heGltdW1MaW5lQ291bnQpIHsKICAgICAgICAgICAgICAgICAvLyBFdmVuIGlmIHdlIGRpZCBu
b3QgdHJ1bmNhdGUgdGhlIGNvbnRlbnQsIHRoaXMgbWlnaHQgYmUgb3VyIGNsYW1waW5nIHBvc2l0
aW9uLgotICAgICAgICAgICAgICAgIHJldHVybiBjb21wdXRlQ29udGVudEhlaWdodCgpOworICAg
ICAgICAgICAgICAgIHJldHVybiBMYXlvdXRVbml0IHsgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRM
aW5lTGF5b3V0LmNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgfTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmgKaW5kZXggNDhkODgwOTZlZThmLi4xMTdhM2Q5M2UyNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTUzNSwxMyArNTM1
LDE0IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFRleHRCb3hUcmltRm9yU3VidHJlZShjb25z
dCBSZW5kZXJCbG9ja0Zsb3cqIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvclRleHRCb3hU
cmltRW5kID0gbnVsbHB0cik7CiAgICAgdm9pZCBhZGp1c3RUZXh0Qm94VHJpbUFmdGVyTGF5b3V0
KCk7CisgICAgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gaW5saW5lQ29udGVudFRvcEFuZEJvdHRv
bUluY2x1ZGluZ0lua092ZXJmbG93KCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0la
SU5HKQogICAgIGludCBtX3dpZHRoRm9yVGV4dEF1dG9zaXppbmc7CiAgICAgdW5zaWduZWQgbV9s
aW5lQ291bnRGb3JUZXh0QXV0b3NpemluZyA6IDI7CiAjZW5kaWYKICAgICAvLyBGSVhNRTogVGhp
cyBpcyB0ZW1wb3JhcnkgdW50aWwgYWZ0ZXIgd2UgcmVtb3ZlIHRoZSBmb3JjZWQgImxpbmUgbGF5
b3V0IGNvZGVwYXRoIiBpbnZhbGlkYXRpb24uCi0gICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0
PiBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudEJveExvZ2ljYWxIZWlnaHQ7CisgICAgc3Rk
OjpvcHRpb25hbDxzdGQ6OnBhaXI8TGF5b3V0VW5pdCwgTGF5b3V0VW5pdD4+IG1fcHJldmlvdXNJ
bmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3c7CiAKICAg
ICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHNlbGZDb2xsYXBzaW5nTWFyZ2luQmVmb3JlV2l0
aENsZWFyKFJlbmRlck9iamVjdCogY2FuZGlkYXRlKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZXBhaW50L2ZvY3VzLXJpbmctcmVwYWludC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZm9jdXMtcmluZy1yZXBhaW50LWV4cGVjdGVkLnR4dAppbmRleCAx
YThlNjUzMWRjNWMuLmI2Mzc5YTJkZWMxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2ZvY3VzLXJpbmctcmVwYWludC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2ZvY3VzLXJpbmctcmVwYWludC1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEy
LDcgQEAKICAgKHJlY3QgMTUgNjIgMzYgMzYpCiAgIChyZWN0IDE4IDY1IDMwIDMwKQogICAocmVj
dCA1IDg5IDU2IDEwKQotICAocmVjdCA1IDM1IDU2IDY0KQorICAocmVjdCA1IDM1IDU2IDYwKQog
ICAocmVjdCA1IDExNyAzNiA4NikKICAgKHJlY3QgOCAxMjAgMzAgODApCiAgIChyZWN0IDUgMTc0
IDU2IDMwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2lubGluZS1ib3gt
aW5rLW92ZXJmbG93LXNocmluay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY1YjU1NjYwYjRjNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1z
aHJpbmstZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorUEFTUyBpZiB0aGVyZSdzIG9ubHkg
b25lIHVuZGVybGluZSB2aXNpYmxlLgorKHJlcGFpbnQgcmVjdHMKKyAgKHJlY3QgOCA4IDc4NCAx
MTcpCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94
LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxp
bmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAuLmQyMGZmODEzOWIwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8c3R5bGU+CitkaXYgeworIGZvbnQtZmFtaWx5OiBBaGVtOworICBoZWln
aHQ6IDIwMHB4OworfQorc3BhbiB7CisgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICB0
ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDEwMHB4OworfQorPC9zdHlsZT4KKzxkaXY+PHNwYW4gaWQ9
Zm9vYmFyPlBBU1MgaWYgdGhlcmUncyBvbmx5IG9uZSB1bmRlcmxpbmUgdmlzaWJsZS48L3NwYW4+
PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RleHQtYmFzZWQtcmVwYWludC5qcyIgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIHJlcGFpbnRUZXN0ID0g
ZnVuY3Rpb24oKSB7CisgICAgZm9vYmFyLnN0eWxlLnRleHRVbmRlcmxpbmVPZmZzZXQgPSAiMzBw
eCI7CisgIH07CitydW5SZXBhaW50VGVzdCgpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9yZXBhaW50L2ZvY3VzLXJpbmctcmVwYWludC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9yZXBhaW50L2ZvY3VzLXJp
bmctcmVwYWludC1leHBlY3RlZC50eHQKaW5kZXggZTFjYzVlM2Y1YjFkLi4xMzdhNDRjZTA5ODQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L3JlcGFpbnQvZm9jdXMt
cmluZy1yZXBhaW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
ZmFzdC9yZXBhaW50L2ZvY3VzLXJpbmctcmVwYWludC1leHBlY3RlZC50eHQKQEAgLTE0LDcgKzE0
LDcgQEAKICAgKHJlY3QgMTUgNjIgMzYgMzYpCiAgIChyZWN0IDE4IDY1IDMwIDMwKQogICAocmVj
dCA1IDkwIDU2IDEwKQotICAocmVjdCA1IDM1IDU2IDY1KQorICAocmVjdCA1IDM1IDU2IDYxKQog
ICAocmVjdCA1IDExNyAzNiA4NikKICAgKHJlY3QgOCAxMjAgMzAgODApCiAgIChyZWN0IDUgMTc1
IDU2IDMwKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473366</attachid>
            <date>2024-11-25 15:56:46 -0800</date>
            <delta_ts>2024-11-25 18:13:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-283659-20241125155645.patch</filename>
            <type>text/plain</type>
            <size>13766</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA1NWQ3ZTI5OTMyNTZkMDU4ZGJmYTBmNmFlMWJiMmI3ZjVlNzljNGI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgMjUgTm92IDIwMjQgMDg6MTA6MDggLTA4MDAKU3ViamVjdDogW1BBVENIXSBbcmVwYWlu
dF0gQmxvY2sgY29udGFpbmVyIGZhaWxzIHRvIHJlcGFpbnQgY2hpbGQgaW5saW5lIGJveAogd2hl
biBpdHMgaW5rIG92ZXJmbG93IHNocmlua3MgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI4MzY1OQoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCgpXaGVuZXZlciBj
b21wdXRpbmcgdGhlIHJlcGFpbnQgcmVjdCBjb3ZlcmluZyB0aGUgaW5saW5lIGRhbWFnZSB3ZSBo
YXZlIHRvIHRha2UgaW5rIG92ZXJmbG93IGludG8gYWNjb3VudC4KKGFuZCBub3QgdGhlIGNvbnRl
bnQgaGVpZ2h0IGFzIGl0IG1heSBub3QgY292ZXIgdGhlIGluayBvdmVyZmxvdyByZWN0YW5nbGUp
LgoKVGhpcyBjaGFuZ2UgYWRkcmVzc2VzIGNhc2VzIHdoZW4gY29udGVudCB3aXRoIGluayBvdmVy
ZmxvdyBzaHJpbmtzIHdoZXJlIHRoZSByZXBhaW50IHJlY3RhbmdsZSBib3R0b20gaXMgYmFzZWQg
b24KdGhlIHByZXZpb3VzIF9jb250ZW50XyBib3R0b20gbm90IGNvdmVyaW5nIHRoZSBwcmV2aW91
cyBfaW5rX292ZXJmbG93XyBib3R0b20uCgoxLiBDYWNoZSB0aGUgaW5rIG92ZXJmbG93IHZlcnNp
b24gb2YgInByZXZpb3VzIGNvbnRlbnQgZXh0ZW50IiB3aGVuIGlubGluZSBsYXlvdXQgaXMgZ2V0
dGluZyBkZXN0cm95ZWQuCjIuIFVzZSBpbmsgb3ZlcmZsb3cgYWZ0ZXIgbGF5b3V0IHdoZW4gY29t
cHV0aW5nIHRoZSByZXBhaW50VG9wL2JvdHRvbSB2YWx1ZXMuCgooUmVuYW1lIExpbmVMYXlvdXQ6
OmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0IHRvIGNvbnRlbnRMb2dpY2FsSGVpZ2h0IGFzIGxpbmUg
bGF5b3V0IGhhcyBubyBjb25jZXB0IG9mIGNvbnRlbnQgX2JveF8pCgoqIExheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ct
c2hyaW5rLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250ZW50TG9naWNhbEhlaWdodCBjb25zdCk6CihXZWJD
b3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGVudEJveExvZ2ljYWxIZWln
aHQgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0Lmg6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Omxh
eW91dElubGluZUNoaWxkcmVuKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0
ZUxpbmVMYXlvdXRQYXRoKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW5saW5lQ29udGVu
dFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ29udGVudCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oOgotLS0KIC4uLi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcCAgICB8ICAyICstCiAuLi4vaW5saW5lL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5oICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAgIHwgNzcgKysrKysrKysrKy0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oICAgIHwgIDMgKy0KIC4uLm5saW5lLWJveC1pbmstb3Zl
cmZsb3ctc2hyaW5rLWV4cGVjdGVkLnR4dCB8ICA1ICsrCiAuLi4vaW5saW5lLWJveC1pbmstb3Zl
cmZsb3ctc2hyaW5rLmh0bWwgICAgICAgfCAxOCArKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA2OCBp
bnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4cGVjdGVk
LnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUt
Ym94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdy
YXRpb25MaW5lTGF5b3V0LmNwcAppbmRleCA1ZDc0MmQ1ZTk2Y2QuLmFhZjA2ZWYwNjk2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtNzY4LDcg
Kzc2OCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gTGluZUxheW91dDo6Y2xhbXBlZENv
bnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGNvbnRl
bnRIZWlnaHQgKyBhZGRpdGlvbmFsSGVpZ2h0IH07CiB9CiAKLUxheW91dFVuaXQgTGluZUxheW91
dDo6Y29udGVudEJveExvZ2ljYWxIZWlnaHQoKSBjb25zdAorTGF5b3V0VW5pdCBMaW5lTGF5b3V0
Ojpjb250ZW50TG9naWNhbEhlaWdodCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lubGluZUNvbnRl
bnQpCiAgICAgICAgIHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuaAppbmRleCBlYmYxNmI3YzFmMDAuLmQwNjMzNjVhYThiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5s
aW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oCkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBw
dWJsaWM6CiAgICAgTGF5b3V0UmVjdCB2aXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94UmVjdEZvcihj
b25zdCBSZW5kZXJJbmxpbmUmKSBjb25zdDsKICAgICBWZWN0b3I8RmxvYXRSZWN0PiBjb2xsZWN0
SW5saW5lQm94UmVjdHMoY29uc3QgUmVuZGVySW5saW5lJikgY29uc3Q7CiAKKyAgICBMYXlvdXRV
bml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiBjbGFtcGVkQ29udGVudExvZ2ljYWxIZWlnaHQoKSBjb25zdDsKICAgICBib29sIGNv
bnRhaW5zKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKSBjb25zdDsKIAogICAgIGJvb2wg
aXNQYWdpbmF0ZWQoKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hMb2dpY2FsSGVp
Z2h0KCkgY29uc3Q7CiAgICAgc2l6ZV90IGxpbmVDb3VudCgpIGNvbnN0OwogICAgIGJvb2wgaGFz
VmlzdWFsT3ZlcmZsb3coKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGZpcnN0TGluZVBoeXNpY2Fs
QmFzZWxpbmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggNzU0ZWIzMmE1Y2U1Li5lOTNiYTZlMTg5MTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC05MDQsNyArOTA0LDcgQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNoaWxkcmVuKGJvb2wgcmVsYXlvdXRD
aGlsZHJlbiwgTGF5b3V0VW5pdCYgcmUKICAgICAgICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1
ZTxMZWdhY3lMaW5lTGF5b3V0PigqdGhpcyk7CiAKICAgICBzdmdUZXh0TGF5b3V0KCktPmxheW91
dExpbmVCb3hlcygpOwotICAgIG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50Qm94TG9naWNh
bEhlaWdodCA9IHsgfTsKKyAgICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJv
dHRvbUluY2x1ZGluZ0lua092ZXJmbG93ID0geyB9OwogfQogCiBzdGF0aWMgTGF5b3V0VW5pdCBj
b21wdXRlRXh0cmFTcGFjZUZvckJsb2NrU3RlcFNpemluZyhMYXlvdXRVbml0IHN0ZXBTaXplLCBM
YXlvdXRVbml0IGJveE91dGVyU2l6ZSkKQEAgLTM3NjksNyArMzc2OSw4IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjppbnZhbGlkYXRlTGluZUxheW91dFBhdGgoSW52YWxpZGF0aW9uUmVhc29uIGlu
dmFsaWRhdGlvblJlCiAgICAgY2FzZSBJbmxpbmVQYXRoOiB7CiAgICAgICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgcGFydGlhbCBpbnZhbGlkYXRpb24uCiAgICAgICAgIGlmIChpbmxpbmVMYXlvdXQo
KSkgewotICAgICAgICAgICAgbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0ID0gaW5saW5lTGF5b3V0KCktPmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCk7CisgICAg
ICAgICAgICBBU1NFUlQoIW1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9t
SW5jbHVkaW5nSW5rT3ZlcmZsb3cpOworICAgICAgICAgICAgbV9wcmV2aW91c0lubGluZUxheW91
dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlubGluZUNvbnRlbnRU
b3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOwogICAgICAgICAgICAgaWYgKGludmFs
aWRhdGlvblJlYXNvbiAhPSBJbnZhbGlkYXRpb25SZWFzb246Okluc2VydGlvbk9yUmVtb3ZhbCkg
ewogICAgICAgICAgICAgICAgIGF1dG8gcmVwYWludEFuZFNldE5lZWRzTGF5b3V0SW5jbHVkaW5n
T3V0T2ZGbG93Qm94ZXMgPSBbJl0gewogICAgICAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSBl
YWdlcmx5IHJlbW92ZSB0aGUgZGlzcGxheSBjb250ZW50IGhlcmUsIHJlcGFpbnRzIGlzc3VlZCBi
ZXR3ZWVuIHRoaXMgaW52YWxpZGF0aW9uICh0cmlnZ2VyZWQgYnkgc3R5bGUgY2hhbmdlL2NvbnRl
bnQgbXV0YXRpb24pIGFuZCB0aGUgc3Vic2VxdWVudCBsYXlvdXQgd291bGQgcHJvZHVjZSBlbXB0
eSByZWN0cy4KQEAgLTM4MjksNiArMzgzMCwyOSBAQCBzdGF0aWMgdm9pZCBzZXRGdWxsUmVwYWlu
dE9uUGFyZW50SW5saW5lQm94TGF5ZXJJZk5lZWRlZChjb25zdCBSZW5kZXJUZXh0JiByZW5kZQog
ICAgIGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmplY3Q+KCpwYXJlbnQpLmNoZWNrZWRMYXll
cigpLT5zZXRSZXBhaW50U3RhdHVzKFJlcGFpbnRTdGF0dXM6Ok5lZWRzRnVsbFJlcGFpbnQpOwog
fQogCitzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBSZW5kZXJCbG9ja0Zsb3c6OmlubGluZUNvbnRl
bnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpIGNvbnN0Cit7CisgICAgaWYgKG1f
cHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZs
b3cpCisgICAgICAgIHJldHVybiAqbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRUb3BBbmRC
b3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdzsKKworICAgIGF1dG8gZmlyc3RMaW5lQm94ID0gSW5s
aW5lSXRlcmF0b3I6OmZpcnN0TGluZUJveEZvcigqdGhpcyk7CisgICAgYXV0byBsYXN0TGluZUJv
eCA9IElubGluZUl0ZXJhdG9yOjpsYXN0TGluZUJveEZvcigqdGhpcyk7CisgICAgaWYgKCFmaXJz
dExpbmVCb3gpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIGxvZ2ljYWxUb3AgPSBm
aXJzdExpbmVCb3gtPmxvZ2ljYWxUb3AoKTsKKyAgICBhdXRvIGxvZ2ljYWxCb3R0b20gPSBsYXN0
TGluZUJveC0+bG9naWNhbEJvdHRvbSgpOworCisgICAgaWYgKCFpbmxpbmVMYXlvdXQoKS0+aGFz
VmlzdWFsT3ZlcmZsb3coKSkKKyAgICAgICAgcmV0dXJuIHsgbG9naWNhbFRvcCwgbG9naWNhbEJv
dHRvbSB9OworCisgICAgZm9yIChhdXRvIGxpbmVCb3ggPSBmaXJzdExpbmVCb3g7IGxpbmVCb3g7
IGxpbmVCb3gudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgbG9naWNhbFRvcCA9IHN0ZDo6bWlu
KGxvZ2ljYWxUb3AsIGxpbmVCb3gtPmlua092ZXJmbG93TG9naWNhbFRvcCgpKTsKKyAgICAgICAg
bG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KGxvZ2ljYWxCb3R0b20sIGxpbmVCb3gtPmlua092ZXJm
bG93TG9naWNhbEJvdHRvbSgpKTsKKyAgICB9CisgICAgcmV0dXJuIHsgbG9naWNhbFRvcCwgbG9n
aWNhbEJvdHRvbSB9OworfQorCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ29u
dGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlcGFpbnRMb2dpY2FsVG9w
LCBMYXlvdXRVbml0JiByZXBhaW50TG9naWNhbEJvdHRvbSkKIHsKICAgICBhdXRvJiBsYXlvdXRT
dGF0ZSA9ICp2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCk7
CkBAIC0zOTAxLDYgKzM5MjUsOSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5saW5l
Q29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlcAogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCisgICAgYXV0byBvbGRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5n
SW5rT3ZlcmZsb3cgPSBpbmxpbmVDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZs
b3coKTsKKyAgICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJvdHRvbUluY2x1
ZGluZ0lua092ZXJmbG93ID0geyB9OworCiAgICAgaWYgKCFpbmxpbmVMYXlvdXQoKSkKICAgICAg
ICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1ZTxMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91
dD4oKnRoaXMpOwogCkBAIC0zOTA5LDI5ICszOTM2LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCYg
cmVwCiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jaygpIHx8IGlzPFJlbmRlclZpZXc+KCp0aGlz
KSk7CiAgICAgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LnVwZGF0ZUZvcm1hdHRp
bmdDb250ZXhHZW9tZXRyaWVzKGNvbnRhaW5pbmdCbG9jaygpID8gY29udGFpbmluZ0Jsb2NrKCkt
PmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpIDogTGF5b3V0VW5pdCgpKTsKIAotICAgIGF1dG8gY29u
dGVudEJveFRvcCA9IGJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKTsKLQotICAgIGF1dG8gY29tcHV0
ZUNvbnRlbnRIZWlnaHQgPSBbJl0gewotICAgICAgICBpZiAoIWhhc0xpbmVzKCkgJiYgaGFzTGlu
ZUlmRW1wdHkoKSkgewotICAgICAgICAgICAgaWYgKG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250
ZW50Qm94TG9naWNhbEhlaWdodCkKLSAgICAgICAgICAgICAgICByZXR1cm4gKm1fcHJldmlvdXNJ
bmxpbmVMYXlvdXRDb250ZW50Qm94TG9naWNhbEhlaWdodDsKLSAgICAgICAgICAgIHJldHVybiBs
aW5lSGVpZ2h0KHRydWUsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGlu
ZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKTsKLSAgICAgICAg
fQotCi0gICAgICAgIHJldHVybiBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY29u
dGVudEJveExvZ2ljYWxIZWlnaHQoKTsKLSAgICB9OwotCi0gICAgYXV0byBjb21wdXRlQm9yZGVy
Qm94Qm90dG9tID0gWyZdIHsKLSAgICAgICAgYXV0byBjb250ZW50Qm94Qm90dG9tID0gY29udGVu
dEJveFRvcCArIGNvbXB1dGVDb250ZW50SGVpZ2h0KCk7Ci0gICAgICAgIHJldHVybiBjb250ZW50
Qm94Qm90dG9tICsgYm9yZGVyQW5kUGFkZGluZ0FmdGVyKCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVp
Z2h0KCk7Ci0gICAgfTsKLQotICAgIGF1dG8gb2xkQm9yZGVyQm94Qm90dG9tID0gY29tcHV0ZUJv
cmRlckJveEJvdHRvbSgpOwotICAgIG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50Qm94TG9n
aWNhbEhlaWdodCA9IHsgfTsKLQogICAgIGF1dG8gcGFydGlhbFJlcGFpbnRSZWN0ID0gbGF5b3V0
Rm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5b3V0LmxheW91dCgpOwogCi0gICAgYXV0byBuZXdCb3Jk
ZXJCb3hCb3R0b20gPSBjb21wdXRlQm9yZGVyQm94Qm90dG9tKCk7CisgICAgYXV0byBib3JkZXJC
b3hCb3R0b20gPSBbJl0geworICAgICAgICBhdXRvIGNvbnRlbnRIZWlnaHQgPSAhaGFzTGluZXMo
KSAmJiBoYXNMaW5lSWZFbXB0eSgpID8gbGluZUhlaWdodCh0cnVlLCBpc0hvcml6b250YWxXcml0
aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRl
cmlvckxpbmVCb3hlcykgOiBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY29udGVu
dExvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgcmV0dXJuIGJvcmRlckFuZFBhZGRpbmdCZWZvcmUo
KSArIGNvbnRlbnRIZWlnaHQgKyBib3JkZXJBbmRQYWRkaW5nQWZ0ZXIoKSArIHNjcm9sbGJhckxv
Z2ljYWxIZWlnaHQoKTsKKyAgICB9OworICAgIGF1dG8gbmV3Qm9yZGVyQm94Qm90dG9tID0gYm9y
ZGVyQm94Qm90dG9tKCk7CiAKICAgICBhdXRvIHVwZGF0ZVJlcGFpbnRUb3BBbmRCb3R0b21JZk5l
ZWRlZCA9IFsmXSB7CiAgICAgICAgIGF1dG8gaXNGdWxsTGF5b3V0ID0gc2VsZk5lZWRzTGF5b3V0
KCkgfHwgcmVsYXlvdXRDaGlsZHJlbjsKQEAgLTM5NTcsMjMgKzM5NjgsMTcgQEAgdm9pZCBSZW5k
ZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNvbnRlbnQoYm9vbCByZWxheW91dENoaWxkcmVuLCBM
YXlvdXRVbml0JiByZXAKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAg
IGF1dG8gZmlyc3RMaW5lQm94ID0gSW5saW5lSXRlcmF0b3I6OmZpcnN0TGluZUJveEZvcigqdGhp
cyk7Ci0gICAgICAgIGF1dG8gbGFzdExpbmVCb3ggPSBJbmxpbmVJdGVyYXRvcjo6bGFzdExpbmVC
b3hGb3IoKnRoaXMpOwotICAgICAgICBpZiAoIWZpcnN0TGluZUJveCkKLSAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgYXV0byBjb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZs
b3cgPSBpbmxpbmVDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3coKTsKKyAg
ICAgICAgYXV0byBkYW1hZ2VUb3BJbmNsdWRpbmdJbmtPdmVyZmxvdyA9IHN0ZDo6bWluKG9sZENv
bnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdy5maXJzdCwgY29udGVudFRvcEFu
ZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93LmZpcnN0KTsKKyAgICAgICAgYXV0byBkYW1hZ2VC
b3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IHN0ZDo6bWF4KG9sZENvbnRlbnRUb3BBbmRCb3R0
b21JbmNsdWRpbmdJbmtPdmVyZmxvdy5zZWNvbmQsIGNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRp
bmdJbmtPdmVyZmxvdy5zZWNvbmQpOwogCi0gICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gc3Rk
OjptaW4oY29udGVudEJveFRvcCwgTGF5b3V0VW5pdCB7IGZpcnN0TGluZUJveC0+Y29udGVudExv
Z2ljYWxUb3AoKSB9KTsKLSAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChz
dGQ6Om1heChvbGRCb3JkZXJCb3hCb3R0b20sIG5ld0JvcmRlckJveEJvdHRvbSksIExheW91dFVu
aXQgeyBsYXN0TGluZUJveC0+Y29udGVudExvZ2ljYWxCb3R0b20oKSB9KTsKLSAgICAgICAgaWYg
KGxheW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5oYXNWaXN1YWxPdmVyZmxvdygpKSB7
Ci0gICAgICAgICAgICBmb3IgKGF1dG8gbGluZUJveCA9IGZpcnN0TGluZUJveDsgbGluZUJveDsg
bGluZUJveC50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2Fs
VG9wID0gc3RkOjptaW4ocmVwYWludExvZ2ljYWxUb3AsIExheW91dFVuaXQgeyBsaW5lQm94LT5p
bmtPdmVyZmxvd0xvZ2ljYWxUb3AoKSB9KTsKLSAgICAgICAgICAgICAgICByZXBhaW50TG9naWNh
bEJvdHRvbSA9IHN0ZDo6bWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBMYXlvdXRVbml0IHsgbGlu
ZUJveC0+aW5rT3ZlcmZsb3dMb2dpY2FsQm90dG9tKCkgfSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KKyAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBzdGQ6Om1pbihMYXlvdXRVbml0Ojpm
cm9tRmxvYXRGbG9vcihkYW1hZ2VUb3BJbmNsdWRpbmdJbmtPdmVyZmxvdyksIGJvcmRlckFuZFBh
ZGRpbmdCZWZvcmUoKSk7CisgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gc3RkOjptYXgo
TGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChkYW1hZ2VCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxv
dyksIG5ld0JvcmRlckJveEJvdHRvbSk7CiAgICAgfTsKICAgICB1cGRhdGVSZXBhaW50VG9wQW5k
Qm90dG9tSWZOZWVkZWQoKTsKIAogICAgIHNldExvZ2ljYWxIZWlnaHQobmV3Qm9yZGVyQm94Qm90
dG9tKTsKKwogICAgIGF1dG8gdXBkYXRlTGluZUNsYW1wU3RhdGVBbmRMb2dpY2FsSGVpZ2h0SWZB
cHBsaWNhYmxlID0gWyZdIHsKICAgICAgICAgYXV0byBsZWdhY3lMaW5lQ2xhbXAgPSBsYXlvdXRT
dGF0ZS5sZWdhY3lMaW5lQ2xhbXAoKTsKICAgICAgICAgaWYgKCFsZWdhY3lMaW5lQ2xhbXAgfHwg
aXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQpAQCAtMzk4OSw3ICszOTk0LDcgQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNvbnRlbnQoYm9vbCByZWxheW91dENo
aWxkcmVuLCBMYXlvdXRVbml0JiByZXAKICAgICAgICAgICAgICAgICByZXR1cm4gY2xhbXBlZEhl
aWdodDsKICAgICAgICAgICAgIGlmIChsZWdhY3lMaW5lQ2xhbXAtPmN1cnJlbnRMaW5lQ291bnQg
PT0gbGVnYWN5TGluZUNsYW1wLT5tYXhpbXVtTGluZUNvdW50KSB7CiAgICAgICAgICAgICAgICAg
Ly8gRXZlbiBpZiB3ZSBkaWQgbm90IHRydW5jYXRlIHRoZSBjb250ZW50LCB0aGlzIG1pZ2h0IGJl
IG91ciBjbGFtcGluZyBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICByZXR1cm4gY29tcHV0ZUNv
bnRlbnRIZWlnaHQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGxheW91
dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50TG9naWNhbEhlaWdodCgpIH07CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCmluZGV4IDQ4ZDg4MDk2ZWU4Zi4u
MTE3YTNkOTNlMjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oCkBAIC01MzUsMTMgKzUzNSwxNCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRUZXh0Qm94
VHJpbUZvclN1YnRyZWUoY29uc3QgUmVuZGVyQmxvY2tGbG93KiBpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dFJvb3RGb3JUZXh0Qm94VHJpbUVuZCA9IG51bGxwdHIpOwogICAgIHZvaWQgYWRqdXN0VGV4
dEJveFRyaW1BZnRlckxheW91dCgpOworICAgIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGlubGlu
ZUNvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpIGNvbnN0OwogCiAjaWYg
RU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICBpbnQgbV93aWR0aEZvclRleHRBdXRvc2l6aW5n
OwogICAgIHVuc2lnbmVkIG1fbGluZUNvdW50Rm9yVGV4dEF1dG9zaXppbmcgOiAyOwogI2VuZGlm
CiAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGVtcG9yYXJ5IHVudGlsIGFmdGVyIHdlIHJlbW92ZSB0
aGUgZm9yY2VkICJsaW5lIGxheW91dCBjb2RlcGF0aCIgaW52YWxpZGF0aW9uLgotICAgIHN0ZDo6
b3B0aW9uYWw8TGF5b3V0VW5pdD4gbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dp
Y2FsSGVpZ2h0OworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPExheW91dFVuaXQsIExheW91
dFVuaXQ+PiBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGlu
Z0lua092ZXJmbG93OwogCiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBzZWxmQ29sbGFw
c2luZ01hcmdpbkJlZm9yZVdpdGhDbGVhcihSZW5kZXJPYmplY3QqIGNhbmRpZGF0ZSk7CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxv
dy1zaHJpbmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2lubGluZS1i
b3gtaW5rLW92ZXJmbG93LXNocmluay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi5mNWI1NTY2MGI0YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1MgaWYgdGhlcmUncyBvbmx5IG9uZSB1bmRlcmxp
bmUgdmlzaWJsZS4KKyhyZXBhaW50IHJlY3RzCisgIChyZWN0IDggOCA3ODQgMTE3KQorKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZs
b3ctc2hyaW5rLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmst
b3ZlcmZsb3ctc2hyaW5rLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi5kMjBmZjgxMzliMDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPHN0eWxlPgorZGl2IHsKKyBmb250LWZhbWlseTogQWhlbTsKKyAgaGVpZ2h0OiAyMDBweDsK
K30KK3NwYW4geworICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAgdGV4dC11bmRlcmxp
bmUtb2Zmc2V0OiAxMDBweDsKK30KKzwvc3R5bGU+Cis8ZGl2PjxzcGFuIGlkPWZvb2Jhcj5QQVNT
IGlmIHRoZXJlJ3Mgb25seSBvbmUgdW5kZXJsaW5lIHZpc2libGUuPC9zcGFuPjwvZGl2PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy90ZXh0LWJhc2VkLXJlcGFpbnQuanMiIHR5cGU9InRleHQvamF2
YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICByZXBhaW50VGVzdCA9IGZ1bmN0aW9uKCkg
eworICAgIGZvb2Jhci5zdHlsZS50ZXh0VW5kZXJsaW5lT2Zmc2V0ID0gIjMwcHgiOworICB9Owor
cnVuUmVwYWludFRlc3QoKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473368</attachid>
            <date>2024-11-25 18:13:12 -0800</date>
            <delta_ts>2024-11-25 20:50:34 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-283659-20241125181311.patch</filename>
            <type>text/plain</type>
            <size>13858</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBlODc1M2RkNzU5YTlhNmJmNDkyNzRlMTE2MjIwNWFiYzZhOTBiMjFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgMjUgTm92IDIwMjQgMDg6MTA6MDggLTA4MDAKU3ViamVjdDogW1BBVENIXSBbcmVwYWlu
dF0gQmxvY2sgY29udGFpbmVyIGZhaWxzIHRvIHJlcGFpbnQgY2hpbGQgaW5saW5lIGJveAogd2hl
biBpdHMgaW5rIG92ZXJmbG93IHNocmlua3MgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI4MzY1OQoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCgpXaGVuZXZlciBj
b21wdXRpbmcgdGhlIHJlcGFpbnQgcmVjdCBjb3ZlcmluZyB0aGUgaW5saW5lIGRhbWFnZSB3ZSBo
YXZlIHRvIHRha2UgaW5rIG92ZXJmbG93IGludG8gYWNjb3VudC4KKGFuZCBub3QgdGhlIGNvbnRl
bnQgaGVpZ2h0IGFzIGl0IG1heSBub3QgY292ZXIgdGhlIGluayBvdmVyZmxvdyByZWN0YW5nbGUp
LgoKVGhpcyBjaGFuZ2UgYWRkcmVzc2VzIGNhc2VzIHdoZW4gY29udGVudCB3aXRoIGluayBvdmVy
ZmxvdyBzaHJpbmtzIHdoZXJlIHRoZSByZXBhaW50IHJlY3RhbmdsZSBib3R0b20gaXMgYmFzZWQg
b24KdGhlIHByZXZpb3VzIF9jb250ZW50XyBib3R0b20gbm90IGNvdmVyaW5nIHRoZSBwcmV2aW91
cyBfaW5rX292ZXJmbG93XyBib3R0b20uCgoxLiBDYWNoZSB0aGUgaW5rIG92ZXJmbG93IHZlcnNp
b24gb2YgInByZXZpb3VzIGNvbnRlbnQgZXh0ZW50IiB3aGVuIGlubGluZSBsYXlvdXQgaXMgZ2V0
dGluZyBkZXN0cm95ZWQuCjIuIFVzZSBpbmsgb3ZlcmZsb3cgYWZ0ZXIgbGF5b3V0IHdoZW4gY29t
cHV0aW5nIHRoZSByZXBhaW50VG9wL2JvdHRvbSB2YWx1ZXMuCgooUmVuYW1lIExpbmVMYXlvdXQ6
OmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0IHRvIGNvbnRlbnRMb2dpY2FsSGVpZ2h0IGFzIGxpbmUg
bGF5b3V0IGhhcyBubyBjb25jZXB0IG9mIGNvbnRlbnQgX2JveF8pCgoqIExheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ct
c2hyaW5rLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcDoKKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpMaW5lTGF5b3V0Ojpjb250ZW50TG9naWNhbEhlaWdodCBjb25zdCk6CihXZWJD
b3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUxheW91dDo6Y29udGVudEJveExvZ2ljYWxIZWln
aHQgY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9p
bmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0Lmg6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6Omxh
eW91dElubGluZUNoaWxkcmVuKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW52YWxpZGF0
ZUxpbmVMYXlvdXRQYXRoKToKKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6aW5saW5lQ29udGVu
dFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6bGF5b3V0SW5saW5lQ29udGVudCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oOgotLS0KIC4uLi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25M
aW5lTGF5b3V0LmNwcCAgICB8ICAyICstCiAuLi4vaW5saW5lL0xheW91dEludGVncmF0aW9uTGlu
ZUxheW91dC5oICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAgIHwgNzcgKysrKysrKysrKy0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oICAgIHwgIDMgKy0KIC4uLm5saW5lLWJveC1pbmstb3Zl
cmZsb3ctc2hyaW5rLWV4cGVjdGVkLnR4dCB8ICA1ICsrCiAuLi4vaW5saW5lLWJveC1pbmstb3Zl
cmZsb3ctc2hyaW5rLmh0bWwgICAgICAgfCAxOCArKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA2OCBp
bnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5rLWV4cGVjdGVk
LnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUt
Ym94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdy
YXRpb25MaW5lTGF5b3V0LmNwcAppbmRleCA1ZDc0MmQ1ZTk2Y2QuLmFhZjA2ZWYwNjk2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJ
bnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9pbmxpbmUvTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmNwcApAQCAtNzY4LDcg
Kzc2OCw3IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gTGluZUxheW91dDo6Y2xhbXBlZENv
bnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QKICAgICByZXR1cm4gTGF5b3V0VW5pdCB7IGNvbnRl
bnRIZWlnaHQgKyBhZGRpdGlvbmFsSGVpZ2h0IH07CiB9CiAKLUxheW91dFVuaXQgTGluZUxheW91
dDo6Y29udGVudEJveExvZ2ljYWxIZWlnaHQoKSBjb25zdAorTGF5b3V0VW5pdCBMaW5lTGF5b3V0
Ojpjb250ZW50TG9naWNhbEhlaWdodCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lubGluZUNvbnRl
bnQpCiAgICAgICAgIHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuaAppbmRleCBlYmYxNmI3YzFmMDAuLmQwNjMzNjVhYThiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5s
aW5lL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oCkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBw
dWJsaWM6CiAgICAgTGF5b3V0UmVjdCB2aXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94UmVjdEZvcihj
b25zdCBSZW5kZXJJbmxpbmUmKSBjb25zdDsKICAgICBWZWN0b3I8RmxvYXRSZWN0PiBjb2xsZWN0
SW5saW5lQm94UmVjdHMoY29uc3QgUmVuZGVySW5saW5lJikgY29uc3Q7CiAKKyAgICBMYXlvdXRV
bml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiBjbGFtcGVkQ29udGVudExvZ2ljYWxIZWlnaHQoKSBjb25zdDsKICAgICBib29sIGNv
bnRhaW5zKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKSBjb25zdDsKIAogICAgIGJvb2wg
aXNQYWdpbmF0ZWQoKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGNvbnRlbnRCb3hMb2dpY2FsSGVp
Z2h0KCkgY29uc3Q7CiAgICAgc2l6ZV90IGxpbmVDb3VudCgpIGNvbnN0OwogICAgIGJvb2wgaGFz
VmlzdWFsT3ZlcmZsb3coKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGZpcnN0TGluZVBoeXNpY2Fs
QmFzZWxpbmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggNzU0ZWIzMmE1Y2U1Li44YmE4MTQzOGNjZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC05MDQsNyArOTA0LDcgQEAg
dm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNoaWxkcmVuKGJvb2wgcmVsYXlvdXRD
aGlsZHJlbiwgTGF5b3V0VW5pdCYgcmUKICAgICAgICAgbV9saW5lTGF5b3V0ID0gbWFrZVVuaXF1
ZTxMZWdhY3lMaW5lTGF5b3V0PigqdGhpcyk7CiAKICAgICBzdmdUZXh0TGF5b3V0KCktPmxheW91
dExpbmVCb3hlcygpOwotICAgIG1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50Qm94TG9naWNh
bEhlaWdodCA9IHsgfTsKKyAgICBtX3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudFRvcEFuZEJv
dHRvbUluY2x1ZGluZ0lua092ZXJmbG93ID0geyB9OwogfQogCiBzdGF0aWMgTGF5b3V0VW5pdCBj
b21wdXRlRXh0cmFTcGFjZUZvckJsb2NrU3RlcFNpemluZyhMYXlvdXRVbml0IHN0ZXBTaXplLCBM
YXlvdXRVbml0IGJveE91dGVyU2l6ZSkKQEAgLTM3NjksNyArMzc2OSw4IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjppbnZhbGlkYXRlTGluZUxheW91dFBhdGgoSW52YWxpZGF0aW9uUmVhc29uIGlu
dmFsaWRhdGlvblJlCiAgICAgY2FzZSBJbmxpbmVQYXRoOiB7CiAgICAgICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgcGFydGlhbCBpbnZhbGlkYXRpb24uCiAgICAgICAgIGlmIChpbmxpbmVMYXlvdXQo
KSkgewotICAgICAgICAgICAgbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0ID0gaW5saW5lTGF5b3V0KCktPmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCk7CisgICAg
ICAgICAgICBBU1NFUlQoIW1fcHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9t
SW5jbHVkaW5nSW5rT3ZlcmZsb3cpOworICAgICAgICAgICAgbV9wcmV2aW91c0lubGluZUxheW91
dENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlubGluZUNvbnRlbnRU
b3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOwogICAgICAgICAgICAgaWYgKGludmFs
aWRhdGlvblJlYXNvbiAhPSBJbnZhbGlkYXRpb25SZWFzb246Okluc2VydGlvbk9yUmVtb3ZhbCkg
ewogICAgICAgICAgICAgICAgIGF1dG8gcmVwYWludEFuZFNldE5lZWRzTGF5b3V0SW5jbHVkaW5n
T3V0T2ZGbG93Qm94ZXMgPSBbJl0gewogICAgICAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSBl
YWdlcmx5IHJlbW92ZSB0aGUgZGlzcGxheSBjb250ZW50IGhlcmUsIHJlcGFpbnRzIGlzc3VlZCBi
ZXR3ZWVuIHRoaXMgaW52YWxpZGF0aW9uICh0cmlnZ2VyZWQgYnkgc3R5bGUgY2hhbmdlL2NvbnRl
bnQgbXV0YXRpb24pIGFuZCB0aGUgc3Vic2VxdWVudCBsYXlvdXQgd291bGQgcHJvZHVjZSBlbXB0
eSByZWN0cy4KQEAgLTM4MjksNiArMzgzMCwyOSBAQCBzdGF0aWMgdm9pZCBzZXRGdWxsUmVwYWlu
dE9uUGFyZW50SW5saW5lQm94TGF5ZXJJZk5lZWRlZChjb25zdCBSZW5kZXJUZXh0JiByZW5kZQog
ICAgIGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmplY3Q+KCpwYXJlbnQpLmNoZWNrZWRMYXll
cigpLT5zZXRSZXBhaW50U3RhdHVzKFJlcGFpbnRTdGF0dXM6Ok5lZWRzRnVsbFJlcGFpbnQpOwog
fQogCitzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBSZW5kZXJCbG9ja0Zsb3c6OmlubGluZUNvbnRl
bnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpIGNvbnN0Cit7CisgICAgaWYgKG1f
cHJldmlvdXNJbmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZs
b3cpCisgICAgICAgIHJldHVybiAqbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRUb3BBbmRC
b3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdzsKKworICAgIGF1dG8gZmlyc3RMaW5lQm94ID0gSW5s
aW5lSXRlcmF0b3I6OmZpcnN0TGluZUJveEZvcigqdGhpcyk7CisgICAgYXV0byBsYXN0TGluZUJv
eCA9IElubGluZUl0ZXJhdG9yOjpsYXN0TGluZUJveEZvcigqdGhpcyk7CisgICAgaWYgKCFmaXJz
dExpbmVCb3gpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIGxvZ2ljYWxUb3AgPSBz
dGQ6Om1pbihmaXJzdExpbmVCb3gtPmxvZ2ljYWxUb3AoKSwgZmlyc3RMaW5lQm94LT5jb250ZW50
TG9naWNhbFRvcCgpKTsKKyAgICBhdXRvIGxvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChsYXN0TGlu
ZUJveC0+bG9naWNhbEJvdHRvbSgpLCBsYXN0TGluZUJveC0+Y29udGVudExvZ2ljYWxCb3R0b20o
KSk7CisKKyAgICBpZiAoIWlubGluZUxheW91dCgpLT5oYXNWaXN1YWxPdmVyZmxvdygpKQorICAg
ICAgICByZXR1cm4geyBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tIH07CisKKyAgICBmb3IgKGF1
dG8gbGluZUJveCA9IGZpcnN0TGluZUJveDsgbGluZUJveDsgbGluZUJveC50cmF2ZXJzZU5leHQo
KSkgeworICAgICAgICBsb2dpY2FsVG9wID0gc3RkOjptaW4obG9naWNhbFRvcCwgbGluZUJveC0+
aW5rT3ZlcmZsb3dMb2dpY2FsVG9wKCkpOworICAgICAgICBsb2dpY2FsQm90dG9tID0gc3RkOjpt
YXgobG9naWNhbEJvdHRvbSwgbGluZUJveC0+aW5rT3ZlcmZsb3dMb2dpY2FsQm90dG9tKCkpOwor
ICAgIH0KKyAgICByZXR1cm4geyBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tIH07Cit9CisKIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVsYXlvdXRDaGls
ZHJlbiwgTGF5b3V0VW5pdCYgcmVwYWludExvZ2ljYWxUb3AsIExheW91dFVuaXQmIHJlcGFpbnRM
b2dpY2FsQm90dG9tKQogewogICAgIGF1dG8mIGxheW91dFN0YXRlID0gKnZpZXcoKS5mcmFtZVZp
ZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKQEAgLTM5MDEsNiArMzkyNSw5IEBA
IHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRJbmxpbmVDb250ZW50KGJvb2wgcmVsYXlvdXRD
aGlsZHJlbiwgTGF5b3V0VW5pdCYgcmVwCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBh
dXRvIG9sZENvbnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlubGluZUNv
bnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOworICAgIG1fcHJldmlvdXNJ
bmxpbmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3cgPSB7IH07
CisKICAgICBpZiAoIWlubGluZUxheW91dCgpKQogICAgICAgICBtX2xpbmVMYXlvdXQgPSBtYWtl
VW5pcXVlPExheW91dEludGVncmF0aW9uOjpMaW5lTGF5b3V0PigqdGhpcyk7CiAKQEAgLTM5MDks
MjkgKzM5MzYsMTMgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmxheW91dElubGluZUNvbnRlbnQo
Ym9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiByZXAKICAgICBBU1NFUlQoY29udGFp
bmluZ0Jsb2NrKCkgfHwgaXM8UmVuZGVyVmlldz4oKnRoaXMpKTsKICAgICBsYXlvdXRGb3JtYXR0
aW5nQ29udGV4dExpbmVMYXlvdXQudXBkYXRlRm9ybWF0dGluZ0NvbnRleEdlb21ldHJpZXMoY29u
dGFpbmluZ0Jsb2NrKCkgPyBjb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRo
KCkgOiBMYXlvdXRVbml0KCkpOwogCi0gICAgYXV0byBjb250ZW50Qm94VG9wID0gYm9yZGVyQW5k
UGFkZGluZ0JlZm9yZSgpOwotCi0gICAgYXV0byBjb21wdXRlQ29udGVudEhlaWdodCA9IFsmXSB7
Ci0gICAgICAgIGlmICghaGFzTGluZXMoKSAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICBpZiAobV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KQot
ICAgICAgICAgICAgICAgIHJldHVybiAqbV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hM
b2dpY2FsSGVpZ2h0OwotICAgICAgICAgICAgcmV0dXJuIGxpbmVIZWlnaHQodHJ1ZSwgaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lLCBQb3Np
dGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIGxh
eW91dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50Qm94TG9naWNhbEhlaWdodCgp
OwotICAgIH07Ci0KLSAgICBhdXRvIGNvbXB1dGVCb3JkZXJCb3hCb3R0b20gPSBbJl0gewotICAg
ICAgICBhdXRvIGNvbnRlbnRCb3hCb3R0b20gPSBjb250ZW50Qm94VG9wICsgY29tcHV0ZUNvbnRl
bnRIZWlnaHQoKTsKLSAgICAgICAgcmV0dXJuIGNvbnRlbnRCb3hCb3R0b20gKyBib3JkZXJBbmRQ
YWRkaW5nQWZ0ZXIoKSArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsKLSAgICB9OwotCi0gICAg
YXV0byBvbGRCb3JkZXJCb3hCb3R0b20gPSBjb21wdXRlQm9yZGVyQm94Qm90dG9tKCk7Ci0gICAg
bV9wcmV2aW91c0lubGluZUxheW91dENvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0ID0geyB9OwotCiAg
ICAgYXV0byBwYXJ0aWFsUmVwYWludFJlY3QgPSBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dExpbmVM
YXlvdXQubGF5b3V0KCk7CiAKLSAgICBhdXRvIG5ld0JvcmRlckJveEJvdHRvbSA9IGNvbXB1dGVC
b3JkZXJCb3hCb3R0b20oKTsKKyAgICBhdXRvIGJvcmRlckJveEJvdHRvbSA9IFsmXSB7CisgICAg
ICAgIGF1dG8gY29udGVudEhlaWdodCA9ICFoYXNMaW5lcygpICYmIGhhc0xpbmVJZkVtcHR5KCkg
PyBsaW5lSGVpZ2h0KHRydWUsIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFs
TGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSA6IGxheW91
dEZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jb250ZW50TG9naWNhbEhlaWdodCgpOworICAg
ICAgICByZXR1cm4gYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgY29udGVudEhlaWdodCArIGJv
cmRlckFuZFBhZGRpbmdBZnRlcigpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOworICAgIH07
CisgICAgYXV0byBuZXdCb3JkZXJCb3hCb3R0b20gPSBib3JkZXJCb3hCb3R0b20oKTsKIAogICAg
IGF1dG8gdXBkYXRlUmVwYWludFRvcEFuZEJvdHRvbUlmTmVlZGVkID0gWyZdIHsKICAgICAgICAg
YXV0byBpc0Z1bGxMYXlvdXQgPSBzZWxmTmVlZHNMYXlvdXQoKSB8fCByZWxheW91dENoaWxkcmVu
OwpAQCAtMzk1NywyMyArMzk2OCwxNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0SW5s
aW5lQ29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJlcAogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byBmaXJzdExpbmVCb3ggPSBJ
bmxpbmVJdGVyYXRvcjo6Zmlyc3RMaW5lQm94Rm9yKCp0aGlzKTsKLSAgICAgICAgYXV0byBsYXN0
TGluZUJveCA9IElubGluZUl0ZXJhdG9yOjpsYXN0TGluZUJveEZvcigqdGhpcyk7Ci0gICAgICAg
IGlmICghZmlyc3RMaW5lQm94KQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBhdXRvIGNv
bnRlbnRUb3BBbmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdyA9IGlubGluZUNvbnRlbnRUb3BB
bmRCb3R0b21JbmNsdWRpbmdJbmtPdmVyZmxvdygpOworICAgICAgICBhdXRvIGRhbWFnZVRvcElu
Y2x1ZGluZ0lua092ZXJmbG93ID0gc3RkOjptaW4ob2xkQ29udGVudFRvcEFuZEJvdHRvbUluY2x1
ZGluZ0lua092ZXJmbG93LmZpcnN0LCBjb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3Zl
cmZsb3cuZmlyc3QpOworICAgICAgICBhdXRvIGRhbWFnZUJvdHRvbUluY2x1ZGluZ0lua092ZXJm
bG93ID0gc3RkOjptYXgob2xkQ29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93
LnNlY29uZCwgY29udGVudFRvcEFuZEJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93LnNlY29uZCk7
CiAKLSAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBzdGQ6Om1pbihjb250ZW50Qm94VG9wLCBM
YXlvdXRVbml0IHsgZmlyc3RMaW5lQm94LT5jb250ZW50TG9naWNhbFRvcCgpIH0pOwotICAgICAg
ICByZXBhaW50TG9naWNhbEJvdHRvbSA9IHN0ZDo6bWF4KHN0ZDo6bWF4KG9sZEJvcmRlckJveEJv
dHRvbSwgbmV3Qm9yZGVyQm94Qm90dG9tKSwgTGF5b3V0VW5pdCB7IGxhc3RMaW5lQm94LT5jb250
ZW50TG9naWNhbEJvdHRvbSgpIH0pOwotICAgICAgICBpZiAobGF5b3V0Rm9ybWF0dGluZ0NvbnRl
eHRMaW5lTGF5b3V0Lmhhc1Zpc3VhbE92ZXJmbG93KCkpIHsKLSAgICAgICAgICAgIGZvciAoYXV0
byBsaW5lQm94ID0gZmlyc3RMaW5lQm94OyBsaW5lQm94OyBsaW5lQm94LnRyYXZlcnNlTmV4dCgp
KSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBzdGQ6Om1pbihyZXBhaW50
TG9naWNhbFRvcCwgTGF5b3V0VW5pdCB7IGxpbmVCb3gtPmlua092ZXJmbG93TG9naWNhbFRvcCgp
IH0pOwotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gc3RkOjptYXgocmVw
YWludExvZ2ljYWxCb3R0b20sIExheW91dFVuaXQgeyBsaW5lQm94LT5pbmtPdmVyZmxvd0xvZ2lj
YWxCb3R0b20oKSB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICByZXBhaW50
TG9naWNhbFRvcCA9IHN0ZDo6bWluKExheW91dFVuaXQ6OmZyb21GbG9hdEZsb29yKGRhbWFnZVRv
cEluY2x1ZGluZ0lua092ZXJmbG93KSwgYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpKTsKKyAgICAg
ICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBzdGQ6Om1heChMYXlvdXRVbml0Ojpmcm9tRmxvYXRD
ZWlsKGRhbWFnZUJvdHRvbUluY2x1ZGluZ0lua092ZXJmbG93KSwgbmV3Qm9yZGVyQm94Qm90dG9t
KTsKICAgICB9OwogICAgIHVwZGF0ZVJlcGFpbnRUb3BBbmRCb3R0b21JZk5lZWRlZCgpOwogCiAg
ICAgc2V0TG9naWNhbEhlaWdodChuZXdCb3JkZXJCb3hCb3R0b20pOworCiAgICAgYXV0byB1cGRh
dGVMaW5lQ2xhbXBTdGF0ZUFuZExvZ2ljYWxIZWlnaHRJZkFwcGxpY2FibGUgPSBbJl0gewogICAg
ICAgICBhdXRvIGxlZ2FjeUxpbmVDbGFtcCA9IGxheW91dFN0YXRlLmxlZ2FjeUxpbmVDbGFtcCgp
OwogICAgICAgICBpZiAoIWxlZ2FjeUxpbmVDbGFtcCB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkpCkBAIC0zOTg5LDcgKzM5OTQsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6
bGF5b3V0SW5saW5lQ29udGVudChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQmIHJl
cAogICAgICAgICAgICAgICAgIHJldHVybiBjbGFtcGVkSGVpZ2h0OwogICAgICAgICAgICAgaWYg
KGxlZ2FjeUxpbmVDbGFtcC0+Y3VycmVudExpbmVDb3VudCA9PSBsZWdhY3lMaW5lQ2xhbXAtPm1h
eGltdW1MaW5lQ291bnQpIHsKICAgICAgICAgICAgICAgICAvLyBFdmVuIGlmIHdlIGRpZCBub3Qg
dHJ1bmNhdGUgdGhlIGNvbnRlbnQsIHRoaXMgbWlnaHQgYmUgb3VyIGNsYW1waW5nIHBvc2l0aW9u
LgotICAgICAgICAgICAgICAgIHJldHVybiBjb21wdXRlQ29udGVudEhlaWdodCgpOworICAgICAg
ICAgICAgICAgIHJldHVybiBMYXlvdXRVbml0IHsgbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRMaW5l
TGF5b3V0LmNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgfTsKICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIHJldHVybiB7IH07CiAgICAgICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmgKaW5kZXggNDhkODgwOTZlZThmLi4xMTdhM2Q5M2UyNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTUzNSwxMyArNTM1LDE0
IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFRleHRCb3hUcmltRm9yU3VidHJlZShjb25zdCBS
ZW5kZXJCbG9ja0Zsb3cqIGlubGluZUZvcm1hdHRpbmdDb250ZXh0Um9vdEZvclRleHRCb3hUcmlt
RW5kID0gbnVsbHB0cik7CiAgICAgdm9pZCBhZGp1c3RUZXh0Qm94VHJpbUFmdGVyTGF5b3V0KCk7
CisgICAgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gaW5saW5lQ29udGVudFRvcEFuZEJvdHRvbUlu
Y2x1ZGluZ0lua092ZXJmbG93KCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5H
KQogICAgIGludCBtX3dpZHRoRm9yVGV4dEF1dG9zaXppbmc7CiAgICAgdW5zaWduZWQgbV9saW5l
Q291bnRGb3JUZXh0QXV0b3NpemluZyA6IDI7CiAjZW5kaWYKICAgICAvLyBGSVhNRTogVGhpcyBp
cyB0ZW1wb3JhcnkgdW50aWwgYWZ0ZXIgd2UgcmVtb3ZlIHRoZSBmb3JjZWQgImxpbmUgbGF5b3V0
IGNvZGVwYXRoIiBpbnZhbGlkYXRpb24uCi0gICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBt
X3ByZXZpb3VzSW5saW5lTGF5b3V0Q29udGVudEJveExvZ2ljYWxIZWlnaHQ7CisgICAgc3RkOjpv
cHRpb25hbDxzdGQ6OnBhaXI8TGF5b3V0VW5pdCwgTGF5b3V0VW5pdD4+IG1fcHJldmlvdXNJbmxp
bmVMYXlvdXRDb250ZW50VG9wQW5kQm90dG9tSW5jbHVkaW5nSW5rT3ZlcmZsb3c7CiAKICAgICBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHNlbGZDb2xsYXBzaW5nTWFyZ2luQmVmb3JlV2l0aENs
ZWFyKFJlbmRlck9iamVjdCogY2FuZGlkYXRlKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2lubGluZS1ib3gtaW5rLW92ZXJmbG93LXNocmluay1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvaW5saW5lLWJveC1pbmstb3ZlcmZsb3ctc2hyaW5r
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY1
YjU1NjYwYjRjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9p
bmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmstZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorUEFTUyBpZiB0aGVyZSdzIG9ubHkgb25lIHVuZGVybGluZSB2aXNpYmxlLgorKHJlcGFpbnQg
cmVjdHMKKyAgKHJlY3QgOCA4IDc4NCAxMTcpCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1vdmVyZmxvdy1zaHJpbmsuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQyMGZmODEzOWIwOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9pbmxpbmUtYm94LWluay1v
dmVyZmxvdy1zaHJpbmsuaHRtbApAQCAtMCwwICsxLDE4IEBACis8c3R5bGU+CitkaXYgeworIGZv
bnQtZmFtaWx5OiBBaGVtOworICBoZWlnaHQ6IDIwMHB4OworfQorc3BhbiB7CisgIHRleHQtZGVj
b3JhdGlvbjogdW5kZXJsaW5lOworICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDEwMHB4OworfQor
PC9zdHlsZT4KKzxkaXY+PHNwYW4gaWQ9Zm9vYmFyPlBBU1MgaWYgdGhlcmUncyBvbmx5IG9uZSB1
bmRlcmxpbmUgdmlzaWJsZS48L3NwYW4+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rl
eHQtYmFzZWQtcmVwYWludC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisgIHJlcGFpbnRUZXN0ID0gZnVuY3Rpb24oKSB7CisgICAgZm9vYmFyLnN0eWxlLnRl
eHRVbmRlcmxpbmVPZmZzZXQgPSAiMzBweCI7CisgIH07CitydW5SZXBhaW50VGVzdCgpOworPC9z
Y3JpcHQ+Cg==
</data>
<flag name="commit-queue"
          id="498121"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>