<?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>231126</bug_id>
          
          <creation_ts>2021-10-02 16:42:52 -0700</creation_ts>
          <short_desc>[LFC][IFC] Moving hanging whitespace sequence handling to Line</short_desc>
          <delta_ts>2021-10-03 11:47:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1799783</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-10-02 16:42:52 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799784</commentid>
    <comment_count>1</comment_count>
      <attachid>439978</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-02 17:04:55 -0700</bug_when>
    <thetext>Created attachment 439978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799789</commentid>
    <comment_count>2</comment_count>
      <attachid>439981</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-02 18:05:17 -0700</bug_when>
    <thetext>Created attachment 439981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799812</commentid>
    <comment_count>3</comment_count>
      <attachid>439986</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-02 20:24:08 -0700</bug_when>
    <thetext>Created attachment 439986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799855</commentid>
    <comment_count>4</comment_count>
      <attachid>440004</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-03 08:56:41 -0700</bug_when>
    <thetext>Created attachment 440004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799870</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-03 10:47:24 -0700</bug_when>
    <thetext>ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799877</commentid>
    <comment_count>6</comment_count>
      <attachid>440011</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-03 11:43:43 -0700</bug_when>
    <thetext>Created attachment 440011
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799880</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-03 11:46:25 -0700</bug_when>
    <thetext>Committed r283474 (242448@main): &lt;https://commits.webkit.org/242448@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440011.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799881</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-03 11:47:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83816099&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439978</attachid>
            <date>2021-10-02 17:04:55 -0700</date>
            <delta_ts>2021-10-02 18:05:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231126-20211002170454.patch</filename>
            <type>text/plain</type>
            <size>14699</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI0YjUyMGQ1NDg0Mjky
OGZlYzJhYjJlM2QyOTAyNWFmY2U1ODgzMS4uZWQyMjc1ZDA1YWUzNjZiNTNmZDA2ZmE1YTJiNDhi
YTBhNTc3YTFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTAyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIE1vdmluZyBo
YW5naW5nIHdoaXRlc3BhY2Ugc2VxdWVuY2UgaGFuZGxpbmcgdG8gTGluZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0IHRoZSBMaW5lIGhhbmRsZSB0
aGUgd2hpdGVzcGFjZSBoYW5naW5nLiBMaW5lOjpIYW5naW5nVHJhaWxpbmdDb250ZW50IHdpbGwg
ZXZlbnR1YWxseSBnYWluIG1vcmUgZnVuY3Rpb25hbGl0eS4KKyAgICAgICAgVGhpcyBpcyBhbHNv
IGluIHByZXBhcmF0aW9uIGZvciBmaXhpbmcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvdGV4dGFyZWEtcHJlLXdyYXAtMDE0Lmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpMaW5lKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6dmlzdWFsbHlDb2xsYXBzZUhhbmdpbmdPdmVyZmxvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkhhbmdpbmdUcmFpbGluZ0NvbnRlbnQ6Okhhbmdp
bmdUcmFpbGluZ0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpIYW5n
aW5nVHJhaWxpbmdDb250ZW50Ojp3aWR0aCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lOjpoYW5naW5nV2hpdGVzcGFjZVdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjpzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5nIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjppc092ZXJmbG93V2hpdGVz
cGFjZUhhbmdpbmcgY29uc3QpOiBEZWxldGVkLiBzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5n
IGlzIGEgbW9yZSBkZXNjcmlwdGl2ZSBuYW1lLgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OmhhbmdpbmdHbHlwaFdpZHRoKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KToKKyAgICAgICAg
KiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oOgor
CiAyMDIxLTEwLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtJbnRlZ3JhdGlvbl0gTW92ZSBpbmxpbmUgaXRlcmF0b3JzIHRvIElubGluZUl0ZXJh
dG9yIG5hbWVzcGFjZSBhbmQgcmVuYW1lIFJ1biogdG8gQm94KgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lLmNwcAppbmRleCAzMzFmMTMyYmQxMzUzNGEwNTUyYTc5NzUwNGE0MGZkZjNmMmE3YzBiLi5i
Mzk5MWM0NTU2Nzg0NjNiZGE5MGZjMWI1MzQzYjFjNDgzOTQyMmZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lLmNwcApAQCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIExpbmU6
OkxpbmUoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250
ZXh0KQogICAgIDogbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dChpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dCkKICAgICAsIG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50KG1fcnVucykKKyAgICAsIG1f
aGFuZ2luZ1RyYWlsaW5nQ29udGVudChtX3J1bnMpCiB7CiB9CiAKQEAgLTE3NSw3ICsxNzYsNyBA
QCB2b2lkIExpbmU6OnZpc3VhbGx5Q29sbGFwc2VIYW5naW5nT3ZlcmZsb3coSW5saW5lTGF5b3V0
VW5pdCBleHRyYUhvcml6b250YWxTcGFjZQogICAgIC8vIGRpZmZlcmVudCBzZXQgb2Ygd2hpdGUt
c3BhY2UgdmFsdWVzIGFuZCBkZWNpZGUgaWYgdGhlIGluLWJldHdlZW4gcHJlLXdyYXAgY29udGVu
dCBzaG91bGQgYmUgY29sbGFwc2VkIGFzIHdlbGwuKQogICAgIGF1dG8gdHJpbW1lZENvbnRlbnRX
aWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OwogICAgIGZvciAoYXV0byYgcnVuIDogV1RGOjpt
YWtlUmV2ZXJzZWRSYW5nZShtX3J1bnMpKSB7Ci0gICAgICAgIGlmICghcnVuLmlzT3ZlcmZsb3dX
aGl0ZXNwYWNlSGFuZ2luZygpKQorICAgICAgICBpZiAoIXJ1bi5zaG91bGRUcmFpbGluZ1doaXRl
c3BhY2VIYW5nKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byB2aXN1YWxseUNv
bGxhcHNpYmxlSW5saW5lSXRlbSA9IHJ1bi5pc0lubGluZUJveFN0YXJ0KCkgfHwgcnVuLmlzSW5s
aW5lQm94RW5kKCkgfHwgcnVuLmhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpOwogICAgICAgICBpZiAo
IXZpc3VhbGx5Q29sbGFwc2libGVJbmxpbmVJdGVtKQpAQCAtNDQxLDYgKzQ0MiwyNyBAQCBJbmxp
bmVMYXlvdXRVbml0IExpbmU6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6cmVtb3ZlUGFydGlh
bGx5VHJpbW1hYmxlQ29udGVudAogICAgIHJldHVybiByZW1vdmUoKTsKIH0KIAorTGluZTo6SGFu
Z2luZ1RyYWlsaW5nQ29udGVudDo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudChjb25zdCBSdW5MaXN0
JiBydW5zKQorICAgIDogbV9ydW5zKHJ1bnMpCit7Cit9CisKK0lubGluZUxheW91dFVuaXQgTGlu
ZTo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudDo6d2lkdGgoKSBjb25zdAoreworICAgIC8vIFdoZW4g
YSBnbHlwaCBhdCB0aGUgc3RhcnQgb3IgZW5kIGVkZ2Ugb2YgYSBsaW5lIGhhbmdzLCBpdCBpcyBu
b3QgY29uc2lkZXJlZCB3aGVuIG1lYXN1cmluZyB0aGUgbGluZeKAmXMgY29udGVudHMgZm9yIGZp
dCwgYWxpZ25tZW50LCBvciBqdXN0aWZpY2F0aW9uLgorICAgIC8vIERlcGVuZGluZyBvbiB0aGUg
bGluZeKAmXMgYWxpZ25tZW50L2p1c3RpZmljYXRpb24sIHRoaXMgY2FuIHJlc3VsdCBpbiB0aGUg
bWFyayBiZWluZyBwbGFjZWQgb3V0c2lkZSB0aGUgbGluZSBib3guCisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI2hhbmdpbmcKKyAgICBhdXRvIGhhbmdpbmdXaWR0
aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGZvciAoYXV0byYgcnVuIDogV1RGOjptYWtl
UmV2ZXJzZWRSYW5nZShtX3J1bnMpKSB7CisgICAgICAgIGlmIChydW4uaXNCb3goKSB8fCBydW4u
aXNJbmxpbmVCb3hTdGFydCgpIHx8IHJ1bi5pc0lubGluZUJveEVuZCgpIHx8IHJ1bi5pc0xpbmVC
cmVhaygpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmICghcnVuLmhhc1RyYWls
aW5nV2hpdGVzcGFjZSgpIHx8ICFydW4uc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZygpKQor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGhhbmdpbmdXaWR0aCArPSBydW4udHJhaWxpbmdX
aGl0ZXNwYWNlV2lkdGgoKTsKKyAgICB9CisgICAgcmV0dXJuIGhhbmdpbmdXaWR0aDsKK30KKwog
TGluZTo6UnVuOjpSdW4oY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRV
bml0IGxvZ2ljYWxXaWR0aCkKICAgICA6IG1fdHlwZShpbmxpbmVJdGVtLnR5cGUoKSkKICAgICAs
IG1fbGF5b3V0Qm94KCZpbmxpbmVJdGVtLmxheW91dEJveCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZS5oCmluZGV4IDYxYzJlNTJjZTc2MGQ4NmE3ZjQ0OTJkNGVhZTZlYzJiZGJkYzhiMDcuLmU1NmIy
MGI3ZmZiODQ4ZjUzYmEyMTc3YzAwNjhjZDc4MjExN2E3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lLmgKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIElubGluZUxheW91dFVuaXQgdHJp
bW1hYmxlVHJhaWxpbmdXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJpbW1hYmxlVHJhaWxpbmdD
b250ZW50LndpZHRoKCk7IH0KICAgICBib29sIGlzVHJhaWxpbmdSdW5GdWxseVRyaW1tYWJsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50LmlzVHJhaWxpbmdSdW5G
dWxseVRyaW1tYWJsZSgpOyB9CiAKKyAgICBJbmxpbmVMYXlvdXRVbml0IGhhbmdpbmdXaGl0ZXNw
YWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2hhbmdpbmdUcmFpbGluZ0NvbnRlbnQud2lkdGgo
KTsgfQorCiAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB0cmFpbGluZ1NvZnRI
eXBoZW5XaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGg7IH0K
ICAgICB2b2lkIGFkZFRyYWlsaW5nSHlwaGVuKElubGluZUxheW91dFVuaXQgaHlwaGVuTG9naWNh
bFdpZHRoKTsKIApAQCAtODcsNyArODksNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaGFzVHJh
aWxpbmdXaGl0ZXNwYWNlKCkgY29uc3QgeyByZXR1cm4gbV90cmFpbGluZ1doaXRlc3BhY2VUeXBl
ICE9IFRyYWlsaW5nV2hpdGVzcGFjZTo6Tm9uZTsgfQogICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IHRyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90cmFpbGluZ1doaXRl
c3BhY2VXaWR0aDsgfQogCi0gICAgICAgIGJvb2wgaXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5n
KCkgY29uc3Q7CisgICAgICAgIGJvb2wgc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZygpIGNv
bnN0OwogICAgICAgICBUZXh0RGlyZWN0aW9uIGlubGluZURpcmVjdGlvbigpIGNvbnN0OwogICAg
ICAgICBJbmxpbmVMYXlvdXRVbml0IGxldHRlclNwYWNpbmcoKSBjb25zdDsKICAgICAgICAgYm9v
bCBoYXNUZXh0Q29tYmluZSgpIGNvbnN0OwpAQCAtMTMxLDcgKzEzMyw3IEBAIHB1YmxpYzoKICAg
ICAgICAgc3RkOjpvcHRpb25hbDxUZXh0PiBtX3RleHRDb250ZW50OwogICAgICAgICBJbmxpbmVE
aXNwbGF5OjpCb3g6OkV4cGFuc2lvbiBtX2V4cGFuc2lvbjsKICAgICAgICAgc3RydWN0IFN0eWxl
IHsKLSAgICAgICAgICAgIGJvb2wgaXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5nIHsgZmFsc2Ug
fTsKKyAgICAgICAgICAgIGJvb2wgc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZyB7IGZhbHNl
IH07CiAgICAgICAgICAgICBUZXh0RGlyZWN0aW9uIGlubGluZURpcmVjdGlvbiB7IFRleHREaXJl
Y3Rpb246OlJUTCB9OwogICAgICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsZXR0ZXJTcGFjaW5n
IHsgMCB9OwogICAgICAgICAgICAgYm9vbCBoYXNUZXh0Q29tYmluZSB7IGZhbHNlIH07CkBAIC0x
NzksOSArMTgxLDE5IEBAIHByaXZhdGU6CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbV9wYXJ0
aWFsbHlUcmltbWFibGVXaWR0aCB7IDAgfTsKICAgICB9OwogCisgICAgc3RydWN0IEhhbmdpbmdU
cmFpbGluZ0NvbnRlbnQgeworICAgICAgICBIYW5naW5nVHJhaWxpbmdDb250ZW50KGNvbnN0IFJ1
bkxpc3QmKTsKKworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IHdpZHRoKCkgY29uc3Q7CisKKyAg
ICBwcml2YXRlOgorICAgICAgICBjb25zdCBSdW5MaXN0JiBtX3J1bnM7CisgICAgfTsKKwogICAg
IGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBtX2lubGluZUZvcm1hdHRpbmdDb250ZXh0
OwogICAgIFJ1bkxpc3QgbV9ydW5zOwogICAgIFRyaW1tYWJsZVRyYWlsaW5nQ29udGVudCBtX3Ry
aW1tYWJsZVRyYWlsaW5nQ29udGVudDsKKyAgICBIYW5naW5nVHJhaWxpbmdDb250ZW50IG1faGFu
Z2luZ1RyYWlsaW5nQ29udGVudDsKICAgICBJbmxpbmVMYXlvdXRVbml0IG1fY29udGVudExvZ2lj
YWxXaWR0aCB7IDAgfTsKICAgICBzaXplX3QgbV9ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291
bnQgeyAwIH07CiAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBtX3RyYWlsaW5n
U29mdEh5cGhlbldpZHRoIHsgMCB9OwpAQCAtMjEzLDkgKzIyNSw5IEBAIGlubGluZSB2b2lkIExp
bmU6OlJ1bjo6c2V0TmVlZHNIeXBoZW4oSW5saW5lTGF5b3V0VW5pdCBoeXBoZW5Mb2dpY2FsV2lk
dGgpCiAgICAgbV9sb2dpY2FsV2lkdGggKz0gaHlwaGVuTG9naWNhbFdpZHRoOwogfQogCi1pbmxp
bmUgYm9vbCBMaW5lOjpSdW46OmlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZygpIGNvbnN0Citp
bmxpbmUgYm9vbCBMaW5lOjpSdW46OnNob3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcoKSBjb25z
dAogewotICAgIHJldHVybiBtX3N0eWxlLmlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZzsKKyAg
ICByZXR1cm4gbV9zdHlsZS5zaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5nOwogfQogCiBpbmxp
bmUgVGV4dERpcmVjdGlvbiBMaW5lOjpSdW46OmlubGluZURpcmVjdGlvbigpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lQm94QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKaW5kZXggMGY2NGRiODQ2
ZDEzYzhiMmNhNDQyNDQyNzNjM2Q5OGFjZDZiMTQwNS4uNTJiODZlZjU3OTk5NzE3YWJhNDcyYWE0
OGMxYTI1MDViOTRhNzNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hC
dWlsZGVyLmNwcApAQCAtMzYsMzcgKzM2LDI0IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1l
c3BhY2UgTGF5b3V0IHsKIAotc3RhdGljIElubGluZUxheW91dFVuaXQgaGFuZ2luZ0dseXBoV2lk
dGgoSW5saW5lTGF5b3V0VW5pdCBleHRyYUhvcml6b250YWxTcGFjZSwgY29uc3QgTGluZTo6UnVu
TGlzdCYgcnVucywgYm9vbCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpCitzdGF0aWMgc3Rk
OjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KFRl
eHRBbGlnbk1vZGUgdGV4dEFsaWduLCBjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxp
bmVDb250ZW50KQogewotICAgIC8vIFdoZW4gYSBnbHlwaCBhdCB0aGUgc3RhcnQgb3IgZW5kIGVk
Z2Ugb2YgYSBsaW5lIGhhbmdzLCBpdCBpcyBub3QgY29uc2lkZXJlZCB3aGVuIG1lYXN1cmluZyB0
aGUgbGluZeKAmXMgY29udGVudHMgZm9yIGZpdCwgYWxpZ25tZW50LCBvciBqdXN0aWZpY2F0aW9u
LgotICAgIC8vIERlcGVuZGluZyBvbiB0aGUgbGluZeKAmXMgYWxpZ25tZW50L2p1c3RpZmljYXRp
b24sIHRoaXMgY2FuIHJlc3VsdCBpbiB0aGUgbWFyayBiZWluZyBwbGFjZWQgb3V0c2lkZSB0aGUg
bGluZSBib3guCi0gICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI2hh
bmdpbmcKLSAgICBhdXRvIGlzQ29uZGl0aW9uYWwgPSBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRl
bnQ7Ci0gICAgYXV0byBoYW5naW5nV2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsKLSAgICBm
b3IgKGF1dG8mIHJ1biA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UocnVucykpIHsKLSAgICAgICAg
aWYgKHJ1bi5pc0lubGluZUJveFN0YXJ0KCkgfHwgcnVuLmlzSW5saW5lQm94RW5kKCkpCi0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKHJ1bi5pc0xpbmVCcmVhaygpKSB7Ci0gICAg
ICAgICAgICBpc0NvbmRpdGlvbmFsID0gdHJ1ZTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICB9Ci0gICAgICAgIGlmICghcnVuLmhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpKQotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYSBwcmVzZXJ2ZWQgb3Ig
aHVuZyB3aGl0ZXNwYWNlLgotICAgICAgICBpZiAoIXJ1bi5pc092ZXJmbG93V2hpdGVzcGFjZUhh
bmdpbmcoKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvLyBUaGlzIGlzIGVpdGhlciBh
IG5vcm1hbCBvciBjb25kaXRpb25hbGx5IGhhbmdpbmcgdHJhaWxpbmcgd2hpdGVzcGFjZS4KLSAg
ICAgICAgaGFuZ2luZ1dpZHRoICs9IHJ1bi50cmFpbGluZ1doaXRlc3BhY2VXaWR0aCgpOwotICAg
IH0KLSAgICAvLyBJbiBzb21lIGNhc2VzLCBhIGdseXBoIGF0IHRoZSBlbmQgb2YgYSBsaW5lIGNh
biBjb25kaXRpb25hbGx5IGhhbmc6IGl0IGhhbmdzIG9ubHkgaWYgaXQgZG9lcyBub3Qgb3RoZXJ3
aXNlIGZpdCBpbiB0aGUgbGluZSBwcmlvciB0byBqdXN0aWZpY2F0aW9uLgotICAgIHJldHVybiAh
aXNDb25kaXRpb25hbCB8fCBleHRyYUhvcml6b250YWxTcGFjZSA8IDAgPyBoYW5naW5nV2lkdGgg
OiBJbmxpbmVMYXlvdXRVbml0IHsgfTsKLX0KLQotc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW5saW5l
TGF5b3V0VW5pdD4gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChjb25zdCBMaW5lOjpSdW5MaXN0
JiBydW5zLCBUZXh0QWxpZ25Nb2RlIHRleHRBbGlnbiwgSW5saW5lTGF5b3V0VW5pdCBsaW5lTG9n
aWNhbFdpZHRoLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgsIGJvb2wgaXNM
YXN0TGluZSkKLXsKLSAgICBhdXRvIGV4dHJhSG9yaXpvbnRhbFNwYWNlID0gbGluZUxvZ2ljYWxX
aWR0aCAtIGNvbnRlbnRMb2dpY2FsV2lkdGg7CiAgICAgLy8gRGVwZW5kaW5nIG9uIHRoZSBsaW5l
4oCZcyBhbGlnbm1lbnQvanVzdGlmaWNhdGlvbiwgdGhlIGhhbmdpbmcgZ2x5cGggY2FuIGJlIHBs
YWNlZCBvdXRzaWRlIHRoZSBsaW5lIGJveC4KLSAgICBleHRyYUhvcml6b250YWxTcGFjZSArPSBo
YW5naW5nR2x5cGhXaWR0aChleHRyYUhvcml6b250YWxTcGFjZSwgcnVucywgaXNMYXN0TGluZSk7
CisgICAgYXV0byYgcnVucyA9IGxpbmVDb250ZW50LnJ1bnM7CisgICAgYXV0byBjb250ZW50TG9n
aWNhbFdpZHRoID0gbGluZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aDsKKyAgICBpZiAobGlu
ZUNvbnRlbnQuaGFuZ2luZ1doaXRlc3BhY2VXaWR0aCkgeworICAgICAgICBBU1NFUlQoIXJ1bnMu
aXNFbXB0eSgpKTsKKyAgICAgICAgLy8gSWYgd2hpdGUtc3BhY2UgaXMgc2V0IHRvIHByZS13cmFw
LCB0aGUgVUEgbXVzdCAodW5jb25kaXRpb25hbGx5KSBoYW5nIHRoaXMgc2VxdWVuY2UsIHVubGVz
cyB0aGUgc2VxdWVuY2UgaXMgZm9sbG93ZWQKKyAgICAgICAgLy8gYnkgYSBmb3JjZWQgbGluZSBi
cmVhaywgaW4gd2hpY2ggY2FzZSBpdCBtdXN0IGNvbmRpdGlvbmFsbHkgaGFuZyB0aGUgc2VxdWVu
Y2UgaXMgaW5zdGVhZC4KKyAgICAgICAgYXV0byBpc0NvbmRpdGlvbmFsSGFuZ2luZyA9IHJ1bnMu
bGFzdCgpLmlzTGluZUJyZWFrKCk7CisgICAgICAgIC8vIEluIHNvbWUgY2FzZXMsIGEgZ2x5cGgg
YXQgdGhlIGVuZCBvZiBhIGxpbmUgY2FuIGNvbmRpdGlvbmFsbHkgaGFuZzogaXQgaGFuZ3Mgb25s
eSBpZiBpdCBkb2VzIG5vdCBvdGhlcndpc2UgZml0IGluIHRoZSBsaW5lIHByaW9yIHRvIGp1c3Rp
ZmljYXRpb24uCisgICAgICAgIC8vIEZJWE1FOiBPbmx5IHRoZSBvdmVyZmxvd2luZyBnbHlwaHMg
c2hvdWxkIGJlIGNvbnNpZGVyZWQgZm9yIGhhbmdpbmcuCisgICAgICAgIGlmIChpc0NvbmRpdGlv
bmFsSGFuZ2luZykKKyAgICAgICAgICAgIGNvbnRlbnRMb2dpY2FsV2lkdGggPSBzdGQ6Om1pbihj
b250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgY29udGVudExvZ2ljYWxXaWR0aCAtPSBsaW5lQ29udGVudC5o
YW5naW5nV2hpdGVzcGFjZVdpZHRoOworICAgIH0KKyAgICBhdXRvIGV4dHJhSG9yaXpvbnRhbFNw
YWNlID0gbGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCAtIGNvbnRlbnRMb2dpY2FsV2lkdGg7
CiAgICAgaWYgKGV4dHJhSG9yaXpvbnRhbFNwYWNlIDw9IDApCiAgICAgICAgIHJldHVybiB7IH07
CiAKQEAgLTc2LDcgKzYzLDcgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5p
dD4gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChjb25zdCBMaW5lOjpSdW4KICAgICAgICAgLy8g
VGV4dCBpcyBqdXN0aWZpZWQgYWNjb3JkaW5nIHRvIHRoZSBtZXRob2Qgc3BlY2lmaWVkIGJ5IHRo
ZSB0ZXh0LWp1c3RpZnkgcHJvcGVydHksCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGV4YWN0bHkg
ZmlsbCB0aGUgbGluZSBib3guIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGJ5IHRleHQtYWxp
Z24tbGFzdCwKICAgICAgICAgLy8gdGhlIGxhc3QgbGluZSBiZWZvcmUgYSBmb3JjZWQgYnJlYWsg
b3IgdGhlIGVuZCBvZiB0aGUgYmxvY2sgaXMgc3RhcnQtYWxpZ25lZC4KLSAgICAgICAgaWYgKGlz
TGFzdExpbmUgfHwgKCFydW5zLmlzRW1wdHkoKSAmJiBydW5zLmxhc3QoKS5pc0xpbmVCcmVhaygp
KSkKKyAgICAgICAgaWYgKGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCB8
fCAoIXJ1bnMuaXNFbXB0eSgpICYmIHJ1bnMubGFzdCgpLmlzTGluZUJyZWFrKCkpKQogICAgICAg
ICAgICAgcmV0dXJuIFRleHRBbGlnbk1vZGU6OlN0YXJ0OwogICAgICAgICByZXR1cm4gVGV4dEFs
aWduTW9kZTo6SnVzdGlmeTsKICAgICB9OwpAQCAtMTExLDEzICs5OCwxMSBAQCBMaW5lQm94QnVp
bGRlcjo6TGluZUJveEJ1aWxkZXIoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGlu
ZUZvcm1hdHRpbmdDbwogCiBMaW5lQm94QnVpbGRlcjo6TGluZUFuZExpbmVCb3ggTGluZUJveEJ1
aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQs
IHNpemVfdCBsaW5lSW5kZXgpCiB7Ci0gICAgYXV0byYgcnVucyA9IGxpbmVDb250ZW50LnJ1bnM7
Ci0gICAgYXV0byBjb250ZW50TG9naWNhbFdpZHRoID0gbGluZUNvbnRlbnQuY29udGVudExvZ2lj
YWxXaWR0aDsKICAgICBhdXRvIHRleHRBbGlnbiA9ICFsaW5lSW5kZXggPyByb290Qm94KCkuZmly
c3RMaW5lU3R5bGUoKS50ZXh0QWxpZ24oKSA6IHJvb3RCb3goKS5zdHlsZSgpLnRleHRBbGlnbigp
OwotICAgIGF1dG8gY29udGVudExvZ2ljYWxMZWZ0ID0gTGF5b3V0Ojpob3Jpem9udGFsQWxpZ25t
ZW50T2Zmc2V0KHJ1bnMsIHRleHRBbGlnbiwgbGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwg
Y29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250
ZW50KS52YWx1ZV9vcihJbmxpbmVMYXlvdXRVbml0IHsgfSk7Ci0gICAgYXV0byBsaW5lQm94ID0g
TGluZUJveCB7IHJvb3RCb3goKSwgY29udGVudExvZ2ljYWxMZWZ0LCBjb250ZW50TG9naWNhbFdp
ZHRoLCBsaW5lSW5kZXgsIGxpbmVDb250ZW50Lm5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3Vu
dCB9OworICAgIGF1dG8gY29udGVudExvZ2ljYWxMZWZ0ID0gTGF5b3V0Ojpob3Jpem9udGFsQWxp
Z25tZW50T2Zmc2V0KHRleHRBbGlnbiwgbGluZUNvbnRlbnQpLnZhbHVlX29yKElubGluZUxheW91
dFVuaXQgeyB9KTsKKyAgICBhdXRvIGxpbmVCb3ggPSBMaW5lQm94IHsgcm9vdEJveCgpLCBjb250
ZW50TG9naWNhbExlZnQsIGxpbmVDb250ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGgsIGxpbmVJbmRl
eCwgbGluZUNvbnRlbnQubm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IH07CiAKLSAgICBh
dXRvIGxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gY29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJv
eGVzKGxpbmVCb3gsIHJ1bnMsIGxpbmVJbmRleCk7CisgICAgYXV0byBsaW5lQm94TG9naWNhbEhl
aWdodCA9IGNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyhsaW5lQm94LCBsaW5lQ29u
dGVudC5ydW5zLCBsaW5lSW5kZXgpOwogCiAgICAgYXV0byBsaW5lID0gWyZdIHsKICAgICAgICAg
YXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBJbmxpbmVSZWN0IHsgbGluZUNvbnRlbnQubG9naWNh
bFRvcExlZnQsIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGxpbmVCb3hMb2dpY2FsSGVp
Z2h0IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggZGY1
OWE4M2U3Y2RkYjBjNjFlMWM2YmJiMjY2Yzk4YTUzNTU2ZTA2NS4uMzE1OTllMDlmOTJlZjJlNWQ2
ZTk0ZTcwYTQ1YTgwNmU3ZTdmNDgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcApAQCAtMjc4LDYgKzI3OCw3IEBAIExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCBM
aW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmCiAg
ICAgICAgICwgbV9saW5lTG9naWNhbFJlY3QudG9wTGVmdCgpCiAgICAgICAgICwgbV9saW5lTG9n
aWNhbFJlY3Qud2lkdGgoKQogICAgICAgICAsIG1fbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkK
KyAgICAgICAgLCBtX2xpbmUuaGFuZ2luZ1doaXRlc3BhY2VXaWR0aCgpCiAgICAgICAgICwgaXNM
YXN0TGluZQogICAgICAgICAsIG1fbGluZS5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQo
KQogICAgICAgICAsIG1fbGluZS5ydW5zKCl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmgKaW5kZXggNjJkNzVlYTgzZDA0OGM5MjJjNWYxZTE3YTMyNTQxMGI5YWVhYmJhZS4u
M2JiYjUzZjVmYjBkZGY4YmIwZGM2Y2NmNjUyMDk0NjdiMWM4MDI3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCkBAIC01Niw4ICs1Niw5IEBAIHB1YmxpYzoKICAgICAg
ICAgY29uc3QgRmxvYXRMaXN0JiBmbG9hdHM7CiAgICAgICAgIGJvb2wgaGFzSW50cnVzaXZlRmxv
YXQgeyBmYWxzZSB9OwogICAgICAgICBJbmxpbmVMYXlvdXRQb2ludCBsb2dpY2FsVG9wTGVmdDsK
LSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsaW5lTG9naWNhbFdpZHRoOwotICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGg7CisgICAgICAgIElubGluZUxheW91dFVu
aXQgbGluZUxvZ2ljYWxXaWR0aCB7IDAgfTsKKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBjb250
ZW50TG9naWNhbFdpZHRoIHsgMCB9OworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGhhbmdpbmdX
aGl0ZXNwYWNlV2lkdGggeyAwIH07CiAgICAgICAgIGJvb2wgaXNMYXN0TGluZVdpdGhJbmxpbmVD
b250ZW50IHsgdHJ1ZSB9OwogICAgICAgICBzaXplX3Qgbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJv
eENvdW50IHsgMCB9OwogICAgICAgICBjb25zdCBMaW5lOjpSdW5MaXN0JiBydW5zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439981</attachid>
            <date>2021-10-02 18:05:17 -0700</date>
            <delta_ts>2021-10-02 20:24:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231126-20211002180516.patch</filename>
            <type>text/plain</type>
            <size>14730</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI0YjUyMGQ1NDg0Mjky
OGZlYzJhYjJlM2QyOTAyNWFmY2U1ODgzMS4uZWQyMjc1ZDA1YWUzNjZiNTNmZDA2ZmE1YTJiNDhi
YTBhNTc3YTFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTAyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIE1vdmluZyBo
YW5naW5nIHdoaXRlc3BhY2Ugc2VxdWVuY2UgaGFuZGxpbmcgdG8gTGluZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0IHRoZSBMaW5lIGhhbmRsZSB0
aGUgd2hpdGVzcGFjZSBoYW5naW5nLiBMaW5lOjpIYW5naW5nVHJhaWxpbmdDb250ZW50IHdpbGwg
ZXZlbnR1YWxseSBnYWluIG1vcmUgZnVuY3Rpb25hbGl0eS4KKyAgICAgICAgVGhpcyBpcyBhbHNv
IGluIHByZXBhcmF0aW9uIGZvciBmaXhpbmcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvdGV4dGFyZWEtcHJlLXdyYXAtMDE0Lmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpMaW5lKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6dmlzdWFsbHlDb2xsYXBzZUhhbmdpbmdPdmVyZmxvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkhhbmdpbmdUcmFpbGluZ0NvbnRlbnQ6Okhhbmdp
bmdUcmFpbGluZ0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpIYW5n
aW5nVHJhaWxpbmdDb250ZW50Ojp3aWR0aCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lOjpoYW5naW5nV2hpdGVzcGFjZVdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjpzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5nIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjppc092ZXJmbG93V2hpdGVz
cGFjZUhhbmdpbmcgY29uc3QpOiBEZWxldGVkLiBzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5n
IGlzIGEgbW9yZSBkZXNjcmlwdGl2ZSBuYW1lLgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OmhhbmdpbmdHbHlwaFdpZHRoKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KToKKyAgICAgICAg
KiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oOgor
CiAyMDIxLTEwLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtJbnRlZ3JhdGlvbl0gTW92ZSBpbmxpbmUgaXRlcmF0b3JzIHRvIElubGluZUl0ZXJh
dG9yIG5hbWVzcGFjZSBhbmQgcmVuYW1lIFJ1biogdG8gQm94KgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lLmNwcAppbmRleCAzMzFmMTMyYmQxMzUzNGEwNTUyYTc5NzUwNGE0MGZkZjNmMmE3YzBiLi42
NDgzZTVhMzczZjE0ZTc4N2M2ODI4NjRmODE2NzY1Nzk1YWI5NDgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lLmNwcApAQCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIExpbmU6
OkxpbmUoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250
ZXh0KQogICAgIDogbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dChpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dCkKICAgICAsIG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50KG1fcnVucykKKyAgICAsIG1f
aGFuZ2luZ1RyYWlsaW5nQ29udGVudChtX3J1bnMpCiB7CiB9CiAKQEAgLTE3NSw3ICsxNzYsNyBA
QCB2b2lkIExpbmU6OnZpc3VhbGx5Q29sbGFwc2VIYW5naW5nT3ZlcmZsb3coSW5saW5lTGF5b3V0
VW5pdCBleHRyYUhvcml6b250YWxTcGFjZQogICAgIC8vIGRpZmZlcmVudCBzZXQgb2Ygd2hpdGUt
c3BhY2UgdmFsdWVzIGFuZCBkZWNpZGUgaWYgdGhlIGluLWJldHdlZW4gcHJlLXdyYXAgY29udGVu
dCBzaG91bGQgYmUgY29sbGFwc2VkIGFzIHdlbGwuKQogICAgIGF1dG8gdHJpbW1lZENvbnRlbnRX
aWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OwogICAgIGZvciAoYXV0byYgcnVuIDogV1RGOjpt
YWtlUmV2ZXJzZWRSYW5nZShtX3J1bnMpKSB7Ci0gICAgICAgIGlmICghcnVuLmlzT3ZlcmZsb3dX
aGl0ZXNwYWNlSGFuZ2luZygpKQorICAgICAgICBpZiAoIXJ1bi5zaG91bGRUcmFpbGluZ1doaXRl
c3BhY2VIYW5nKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byB2aXN1YWxseUNv
bGxhcHNpYmxlSW5saW5lSXRlbSA9IHJ1bi5pc0lubGluZUJveFN0YXJ0KCkgfHwgcnVuLmlzSW5s
aW5lQm94RW5kKCkgfHwgcnVuLmhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpOwogICAgICAgICBpZiAo
IXZpc3VhbGx5Q29sbGFwc2libGVJbmxpbmVJdGVtKQpAQCAtNDQxLDYgKzQ0MiwyOSBAQCBJbmxp
bmVMYXlvdXRVbml0IExpbmU6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6cmVtb3ZlUGFydGlh
bGx5VHJpbW1hYmxlQ29udGVudAogICAgIHJldHVybiByZW1vdmUoKTsKIH0KIAorTGluZTo6SGFu
Z2luZ1RyYWlsaW5nQ29udGVudDo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudChjb25zdCBSdW5MaXN0
JiBydW5zKQorICAgIDogbV9ydW5zKHJ1bnMpCit7Cit9CisKK0lubGluZUxheW91dFVuaXQgTGlu
ZTo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudDo6d2lkdGgoKSBjb25zdAoreworICAgIC8vIFdoZW4g
YSBnbHlwaCBhdCB0aGUgc3RhcnQgb3IgZW5kIGVkZ2Ugb2YgYSBsaW5lIGhhbmdzLCBpdCBpcyBu
b3QgY29uc2lkZXJlZCB3aGVuIG1lYXN1cmluZyB0aGUgbGluZeKAmXMgY29udGVudHMgZm9yIGZp
dCwgYWxpZ25tZW50LCBvciBqdXN0aWZpY2F0aW9uLgorICAgIC8vIERlcGVuZGluZyBvbiB0aGUg
bGluZeKAmXMgYWxpZ25tZW50L2p1c3RpZmljYXRpb24sIHRoaXMgY2FuIHJlc3VsdCBpbiB0aGUg
bWFyayBiZWluZyBwbGFjZWQgb3V0c2lkZSB0aGUgbGluZSBib3guCisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI2hhbmdpbmcKKyAgICBhdXRvIGhhbmdpbmdXaWR0
aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGZvciAoYXV0byYgcnVuIDogV1RGOjptYWtl
UmV2ZXJzZWRSYW5nZShtX3J1bnMpKSB7CisgICAgICAgIGlmIChydW4uaXNCb3goKSB8fCBydW4u
aXNMaW5lQnJlYWsoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAocnVuLmlzSW5s
aW5lQm94U3RhcnQoKSB8fCBydW4uaXNJbmxpbmVCb3hFbmQoKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICBpZiAoIXJ1bi5oYXNUcmFpbGluZ1doaXRlc3BhY2UoKSB8fCAhcnVuLnNo
b3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBoYW5naW5nV2lkdGggKz0gcnVuLnRyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKCk7CisgICAgfQor
ICAgIHJldHVybiBoYW5naW5nV2lkdGg7Cit9CisKIExpbmU6OlJ1bjo6UnVuKGNvbnN0IElubGlu
ZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5saW5lTGF5b3V0
VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiAgICAgOiBt
X3R5cGUoaW5saW5lSXRlbS50eXBlKCkpCiAgICAgLCBtX2xheW91dEJveCgmaW5saW5lSXRlbS5s
YXlvdXRCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAppbmRleCA2MWMyZTUyY2U3NjBkODZh
N2Y0NDkyZDRlYWU2ZWMyYmRiZGM4YjA3Li5lNTZiMjBiN2ZmYjg0OGY1M2JhMjE3N2MwMDY4Y2Q3
ODIxMTdhN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCkBAIC01Myw2ICs1Myw4IEBAIHB1
YmxpYzoKICAgICBJbmxpbmVMYXlvdXRVbml0IHRyaW1tYWJsZVRyYWlsaW5nV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC53aWR0aCgpOyB9CiAgICAgYm9v
bCBpc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUoKSBjb25zdCB7IHJldHVybiBtX3RyaW1tYWJs
ZVRyYWlsaW5nQ29udGVudC5pc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUoKTsgfQogCisgICAg
SW5saW5lTGF5b3V0VW5pdCBoYW5naW5nV2hpdGVzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4g
bV9oYW5naW5nVHJhaWxpbmdDb250ZW50LndpZHRoKCk7IH0KKwogICAgIHN0ZDo6b3B0aW9uYWw8
SW5saW5lTGF5b3V0VW5pdD4gdHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX3RyYWlsaW5nU29mdEh5cGhlbldpZHRoOyB9CiAgICAgdm9pZCBhZGRUcmFpbGluZ0h5cGhl
bihJbmxpbmVMYXlvdXRVbml0IGh5cGhlbkxvZ2ljYWxXaWR0aCk7CiAKQEAgLTg3LDcgKzg5LDcg
QEAgcHVibGljOgogICAgICAgICBib29sIGhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSAhPSBUcmFpbGluZ1doaXRlc3BhY2U6Ok5v
bmU7IH0KICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmFpbGluZ1doaXRlc3BhY2VXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGg7IH0KIAotICAgICAgICBi
b29sIGlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZygpIGNvbnN0OworICAgICAgICBib29sIHNo
b3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcoKSBjb25zdDsKICAgICAgICAgVGV4dERpcmVjdGlv
biBpbmxpbmVEaXJlY3Rpb24oKSBjb25zdDsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsZXR0
ZXJTcGFjaW5nKCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaGFzVGV4dENvbWJpbmUoKSBjb25zdDsK
QEAgLTEzMSw3ICsxMzMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VGV4dD4g
bV90ZXh0Q29udGVudDsKICAgICAgICAgSW5saW5lRGlzcGxheTo6Qm94OjpFeHBhbnNpb24gbV9l
eHBhbnNpb247CiAgICAgICAgIHN0cnVjdCBTdHlsZSB7Ci0gICAgICAgICAgICBib29sIGlzT3Zl
cmZsb3dXaGl0ZXNwYWNlSGFuZ2luZyB7IGZhbHNlIH07CisgICAgICAgICAgICBib29sIHNob3Vs
ZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcgeyBmYWxzZSB9OwogICAgICAgICAgICAgVGV4dERpcmVj
dGlvbiBpbmxpbmVEaXJlY3Rpb24geyBUZXh0RGlyZWN0aW9uOjpSVEwgfTsKICAgICAgICAgICAg
IElubGluZUxheW91dFVuaXQgbGV0dGVyU3BhY2luZyB7IDAgfTsKICAgICAgICAgICAgIGJvb2wg
aGFzVGV4dENvbWJpbmUgeyBmYWxzZSB9OwpAQCAtMTc5LDkgKzE4MSwxOSBAQCBwcml2YXRlOgog
ICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fcGFydGlhbGx5VHJpbW1hYmxlV2lkdGggeyAwIH07
CiAgICAgfTsKIAorICAgIHN0cnVjdCBIYW5naW5nVHJhaWxpbmdDb250ZW50IHsKKyAgICAgICAg
SGFuZ2luZ1RyYWlsaW5nQ29udGVudChjb25zdCBSdW5MaXN0Jik7CisKKyAgICAgICAgSW5saW5l
TGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0OworCisgICAgcHJpdmF0ZToKKyAgICAgICAgY29uc3Qg
UnVuTGlzdCYgbV9ydW5zOworICAgIH07CisKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKICAgICBSdW5MaXN0IG1fcnVuczsKICAg
ICBUcmltbWFibGVUcmFpbGluZ0NvbnRlbnQgbV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQ7Cisg
ICAgSGFuZ2luZ1RyYWlsaW5nQ29udGVudCBtX2hhbmdpbmdUcmFpbGluZ0NvbnRlbnQ7CiAgICAg
SW5saW5lTGF5b3V0VW5pdCBtX2NvbnRlbnRMb2dpY2FsV2lkdGggeyAwIH07CiAgICAgc2l6ZV90
IG1fbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IHsgMCB9OwogICAgIHN0ZDo6b3B0aW9u
YWw8SW5saW5lTGF5b3V0VW5pdD4gbV90cmFpbGluZ1NvZnRIeXBoZW5XaWR0aCB7IDAgfTsKQEAg
LTIxMyw5ICsyMjUsOSBAQCBpbmxpbmUgdm9pZCBMaW5lOjpSdW46OnNldE5lZWRzSHlwaGVuKElu
bGluZUxheW91dFVuaXQgaHlwaGVuTG9naWNhbFdpZHRoKQogICAgIG1fbG9naWNhbFdpZHRoICs9
IGh5cGhlbkxvZ2ljYWxXaWR0aDsKIH0KIAotaW5saW5lIGJvb2wgTGluZTo6UnVuOjppc092ZXJm
bG93V2hpdGVzcGFjZUhhbmdpbmcoKSBjb25zdAoraW5saW5lIGJvb2wgTGluZTo6UnVuOjpzaG91
bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9zdHlsZS5p
c092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmc7CisgICAgcmV0dXJuIG1fc3R5bGUuc2hvdWxkVHJh
aWxpbmdXaGl0ZXNwYWNlSGFuZzsKIH0KIAogaW5saW5lIFRleHREaXJlY3Rpb24gTGluZTo6UnVu
OjppbmxpbmVEaXJlY3Rpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwCmluZGV4IDBmNjRkYjg0NmQxM2M4YjJjYTQ0MjQ0MjczYzNkOThhY2Q2
YjE0MDUuLjUyYjg2ZWY1Nzk5OTcxN2FiYTQ3MmFhNDhjMWEyNTA1Yjk0YTczYmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmVCb3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKQEAgLTM2LDM3ICszNiwy
NCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLXN0YXRpYyBJ
bmxpbmVMYXlvdXRVbml0IGhhbmdpbmdHbHlwaFdpZHRoKElubGluZUxheW91dFVuaXQgZXh0cmFI
b3Jpem9udGFsU3BhY2UsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMsIGJvb2wgaXNMYXN0TGlu
ZVdpdGhJbmxpbmVDb250ZW50KQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5p
dD4gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChUZXh0QWxpZ25Nb2RlIHRleHRBbGlnbiwgY29u
c3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkKIHsKLSAgICAvLyBXaGVu
IGEgZ2x5cGggYXQgdGhlIHN0YXJ0IG9yIGVuZCBlZGdlIG9mIGEgbGluZSBoYW5ncywgaXQgaXMg
bm90IGNvbnNpZGVyZWQgd2hlbiBtZWFzdXJpbmcgdGhlIGxpbmXigJlzIGNvbnRlbnRzIGZvciBm
aXQsIGFsaWdubWVudCwgb3IganVzdGlmaWNhdGlvbi4KLSAgICAvLyBEZXBlbmRpbmcgb24gdGhl
IGxpbmXigJlzIGFsaWdubWVudC9qdXN0aWZpY2F0aW9uLCB0aGlzIGNhbiByZXN1bHQgaW4gdGhl
IG1hcmsgYmVpbmcgcGxhY2VkIG91dHNpZGUgdGhlIGxpbmUgYm94LgotICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC0zLyNoYW5naW5nCi0gICAgYXV0byBpc0NvbmRpdGlv
bmFsID0gaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50OwotICAgIGF1dG8gaGFuZ2luZ1dpZHRo
ID0gSW5saW5lTGF5b3V0VW5pdCB7IH07Ci0gICAgZm9yIChhdXRvJiBydW4gOiBXVEY6Om1ha2VS
ZXZlcnNlZFJhbmdlKHJ1bnMpKSB7Ci0gICAgICAgIGlmIChydW4uaXNJbmxpbmVCb3hTdGFydCgp
IHx8IHJ1bi5pc0lubGluZUJveEVuZCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IGlmIChydW4uaXNMaW5lQnJlYWsoKSkgewotICAgICAgICAgICAgaXNDb25kaXRpb25hbCA9IHRy
dWU7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXJ1bi5o
YXNUcmFpbGluZ1doaXRlc3BhY2UoKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvLyBD
aGVjayBpZiB3ZSBoYXZlIGEgcHJlc2VydmVkIG9yIGh1bmcgd2hpdGVzcGFjZS4KLSAgICAgICAg
aWYgKCFydW4uaXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5nKCkpCi0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgLy8gVGhpcyBpcyBlaXRoZXIgYSBub3JtYWwgb3IgY29uZGl0aW9uYWxseSBo
YW5naW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UuCi0gICAgICAgIGhhbmdpbmdXaWR0aCArPSBydW4u
dHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGgoKTsKLSAgICB9Ci0gICAgLy8gSW4gc29tZSBjYXNlcywg
YSBnbHlwaCBhdCB0aGUgZW5kIG9mIGEgbGluZSBjYW4gY29uZGl0aW9uYWxseSBoYW5nOiBpdCBo
YW5ncyBvbmx5IGlmIGl0IGRvZXMgbm90IG90aGVyd2lzZSBmaXQgaW4gdGhlIGxpbmUgcHJpb3Ig
dG8ganVzdGlmaWNhdGlvbi4KLSAgICByZXR1cm4gIWlzQ29uZGl0aW9uYWwgfHwgZXh0cmFIb3Jp
em9udGFsU3BhY2UgPCAwID8gaGFuZ2luZ1dpZHRoIDogSW5saW5lTGF5b3V0VW5pdCB7IH07Ci19
Ci0KLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGhvcml6b250YWxBbGln
bm1lbnRPZmZzZXQoY29uc3QgTGluZTo6UnVuTGlzdCYgcnVucywgVGV4dEFsaWduTW9kZSB0ZXh0
QWxpZ24sIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5p
dCBjb250ZW50TG9naWNhbFdpZHRoLCBib29sIGlzTGFzdExpbmUpCi17Ci0gICAgYXV0byBleHRy
YUhvcml6b250YWxTcGFjZSA9IGxpbmVMb2dpY2FsV2lkdGggLSBjb250ZW50TG9naWNhbFdpZHRo
OwogICAgIC8vIERlcGVuZGluZyBvbiB0aGUgbGluZeKAmXMgYWxpZ25tZW50L2p1c3RpZmljYXRp
b24sIHRoZSBoYW5naW5nIGdseXBoIGNhbiBiZSBwbGFjZWQgb3V0c2lkZSB0aGUgbGluZSBib3gu
Ci0gICAgZXh0cmFIb3Jpem9udGFsU3BhY2UgKz0gaGFuZ2luZ0dseXBoV2lkdGgoZXh0cmFIb3Jp
em9udGFsU3BhY2UsIHJ1bnMsIGlzTGFzdExpbmUpOworICAgIGF1dG8mIHJ1bnMgPSBsaW5lQ29u
dGVudC5ydW5zOworICAgIGF1dG8gY29udGVudExvZ2ljYWxXaWR0aCA9IGxpbmVDb250ZW50LmNv
bnRlbnRMb2dpY2FsV2lkdGg7CisgICAgaWYgKGxpbmVDb250ZW50LmhhbmdpbmdXaGl0ZXNwYWNl
V2lkdGgpIHsKKyAgICAgICAgQVNTRVJUKCFydW5zLmlzRW1wdHkoKSk7CisgICAgICAgIC8vIElm
IHdoaXRlLXNwYWNlIGlzIHNldCB0byBwcmUtd3JhcCwgdGhlIFVBIG11c3QgKHVuY29uZGl0aW9u
YWxseSkgaGFuZyB0aGlzIHNlcXVlbmNlLCB1bmxlc3MgdGhlIHNlcXVlbmNlIGlzIGZvbGxvd2Vk
CisgICAgICAgIC8vIGJ5IGEgZm9yY2VkIGxpbmUgYnJlYWssIGluIHdoaWNoIGNhc2UgaXQgbXVz
dCBjb25kaXRpb25hbGx5IGhhbmcgdGhlIHNlcXVlbmNlIGlzIGluc3RlYWQuCisgICAgICAgIGF1
dG8gaXNDb25kaXRpb25hbEhhbmdpbmcgPSBydW5zLmxhc3QoKS5pc0xpbmVCcmVhaygpOworICAg
ICAgICAvLyBJbiBzb21lIGNhc2VzLCBhIGdseXBoIGF0IHRoZSBlbmQgb2YgYSBsaW5lIGNhbiBj
b25kaXRpb25hbGx5IGhhbmc6IGl0IGhhbmdzIG9ubHkgaWYgaXQgZG9lcyBub3Qgb3RoZXJ3aXNl
IGZpdCBpbiB0aGUgbGluZSBwcmlvciB0byBqdXN0aWZpY2F0aW9uLgorICAgICAgICAvLyBGSVhN
RTogT25seSB0aGUgb3ZlcmZsb3dpbmcgZ2x5cGhzIHNob3VsZCBiZSBjb25zaWRlcmVkIGZvciBo
YW5naW5nLgorICAgICAgICBpZiAoaXNDb25kaXRpb25hbEhhbmdpbmcpCisgICAgICAgICAgICBj
b250ZW50TG9naWNhbFdpZHRoID0gc3RkOjptaW4oY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNv
bnRlbnQubGluZUxvZ2ljYWxXaWR0aCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbnRl
bnRMb2dpY2FsV2lkdGggLT0gbGluZUNvbnRlbnQuaGFuZ2luZ1doaXRlc3BhY2VXaWR0aDsKKyAg
ICB9CisgICAgYXV0byBleHRyYUhvcml6b250YWxTcGFjZSA9IGxpbmVDb250ZW50LmxpbmVMb2dp
Y2FsV2lkdGggLSBjb250ZW50TG9naWNhbFdpZHRoOwogICAgIGlmIChleHRyYUhvcml6b250YWxT
cGFjZSA8PSAwKQogICAgICAgICByZXR1cm4geyB9OwogCkBAIC03Niw3ICs2Myw3IEBAIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGhvcml6b250YWxBbGlnbm1lbnRPZmZz
ZXQoY29uc3QgTGluZTo6UnVuCiAgICAgICAgIC8vIFRleHQgaXMganVzdGlmaWVkIGFjY29yZGlu
ZyB0byB0aGUgbWV0aG9kIHNwZWNpZmllZCBieSB0aGUgdGV4dC1qdXN0aWZ5IHByb3BlcnR5LAog
ICAgICAgICAvLyBpbiBvcmRlciB0byBleGFjdGx5IGZpbGwgdGhlIGxpbmUgYm94LiBVbmxlc3Mg
b3RoZXJ3aXNlIHNwZWNpZmllZCBieSB0ZXh0LWFsaWduLWxhc3QsCiAgICAgICAgIC8vIHRoZSBs
YXN0IGxpbmUgYmVmb3JlIGEgZm9yY2VkIGJyZWFrIG9yIHRoZSBlbmQgb2YgdGhlIGJsb2NrIGlz
IHN0YXJ0LWFsaWduZWQuCi0gICAgICAgIGlmIChpc0xhc3RMaW5lIHx8ICghcnVucy5pc0VtcHR5
KCkgJiYgcnVucy5sYXN0KCkuaXNMaW5lQnJlYWsoKSkpCisgICAgICAgIGlmIChsaW5lQ29udGVu
dC5pc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQgfHwgKCFydW5zLmlzRW1wdHkoKSAmJiBydW5z
Lmxhc3QoKS5pc0xpbmVCcmVhaygpKSkKICAgICAgICAgICAgIHJldHVybiBUZXh0QWxpZ25Nb2Rl
OjpTdGFydDsKICAgICAgICAgcmV0dXJuIFRleHRBbGlnbk1vZGU6Okp1c3RpZnk7CiAgICAgfTsK
QEAgLTExMSwxMyArOTgsMTEgQEAgTGluZUJveEJ1aWxkZXI6OkxpbmVCb3hCdWlsZGVyKGNvbnN0
IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ28KIAogTGluZUJveEJ1
aWxkZXI6OkxpbmVBbmRMaW5lQm94IExpbmVCb3hCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVp
bGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50LCBzaXplX3QgbGluZUluZGV4KQogewotICAg
IGF1dG8mIHJ1bnMgPSBsaW5lQ29udGVudC5ydW5zOwotICAgIGF1dG8gY29udGVudExvZ2ljYWxX
aWR0aCA9IGxpbmVDb250ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGg7CiAgICAgYXV0byB0ZXh0QWxp
Z24gPSAhbGluZUluZGV4ID8gcm9vdEJveCgpLmZpcnN0TGluZVN0eWxlKCkudGV4dEFsaWduKCkg
OiByb290Qm94KCkuc3R5bGUoKS50ZXh0QWxpZ24oKTsKLSAgICBhdXRvIGNvbnRlbnRMb2dpY2Fs
TGVmdCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCB0ZXh0QWxpZ24s
IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGNvbnRlbnRMb2dpY2FsV2lkdGgsIGxpbmVD
b250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkudmFsdWVfb3IoSW5saW5lTGF5b3V0
VW5pdCB7IH0pOwotICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3ggeyByb290Qm94KCksIGNvbnRl
bnRMb2dpY2FsTGVmdCwgY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUluZGV4LCBsaW5lQ29udGVu
dC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgfTsKKyAgICBhdXRvIGNvbnRlbnRMb2dp
Y2FsTGVmdCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCh0ZXh0QWxpZ24sIGxp
bmVDb250ZW50KS52YWx1ZV9vcihJbmxpbmVMYXlvdXRVbml0IHsgfSk7CisgICAgYXV0byBsaW5l
Qm94ID0gTGluZUJveCB7IHJvb3RCb3goKSwgY29udGVudExvZ2ljYWxMZWZ0LCBsaW5lQ29udGVu
dC5jb250ZW50TG9naWNhbFdpZHRoLCBsaW5lSW5kZXgsIGxpbmVDb250ZW50Lm5vblNwYW5uaW5n
SW5saW5lTGV2ZWxCb3hDb3VudCB9OwogCi0gICAgYXV0byBsaW5lQm94TG9naWNhbEhlaWdodCA9
IGNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyhsaW5lQm94LCBydW5zLCBsaW5lSW5k
ZXgpOworICAgIGF1dG8gbGluZUJveExvZ2ljYWxIZWlnaHQgPSBjb25zdHJ1Y3RBbmRBbGlnbklu
bGluZUxldmVsQm94ZXMobGluZUJveCwgbGluZUNvbnRlbnQucnVucywgbGluZUluZGV4KTsKIAog
ICAgIGF1dG8gbGluZSA9IFsmXSB7CiAgICAgICAgIGF1dG8gbGluZUJveExvZ2ljYWxSZWN0ID0g
SW5saW5lUmVjdCB7IGxpbmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lQ29udGVudC5saW5l
TG9naWNhbFdpZHRoLCBsaW5lQm94TG9naWNhbEhlaWdodCB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lTGluZUJ1aWxkZXIuY3BwCmluZGV4IGRmNTlhODNlN2NkZGIwYzYxZTFjNmJiYjI2NmM5
OGE1MzU1NmUwNjUuLjMxNTk5ZTA5ZjkyZWYyZTVkNmU5NGU3MGE0NWE4MDZlN2U3ZjQ4MmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKQEAgLTI3OCw2ICsyNzgs
NyBAQCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNv
bnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJgogICAgICAgICAsIG1fbGluZUxvZ2ljYWxSZWN0
LnRvcExlZnQoKQogICAgICAgICAsIG1fbGluZUxvZ2ljYWxSZWN0LndpZHRoKCkKICAgICAgICAg
LCBtX2xpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpCisgICAgICAgICwgbV9saW5lLmhhbmdpbmdX
aGl0ZXNwYWNlV2lkdGgoKQogICAgICAgICAsIGlzTGFzdExpbmUKICAgICAgICAgLCBtX2xpbmUu
bm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50KCkKICAgICAgICAgLCBtX2xpbmUucnVucygp
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IDYyZDc1ZWE4M2Qw
NDhjOTIyYzVmMWUxN2EzMjU0MTBiOWFlYWJiYWUuLjNiYmI1M2Y1ZmIwZGRmOGJiMGRjNmNjZjY1
MjA5NDY3YjFjODAyNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaApA
QCAtNTYsOCArNTYsOSBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IEZsb2F0TGlzdCYgZmxvYXRz
OwogICAgICAgICBib29sIGhhc0ludHJ1c2l2ZUZsb2F0IHsgZmFsc2UgfTsKICAgICAgICAgSW5s
aW5lTGF5b3V0UG9pbnQgbG9naWNhbFRvcExlZnQ7Ci0gICAgICAgIElubGluZUxheW91dFVuaXQg
bGluZUxvZ2ljYWxXaWR0aDsKLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNh
bFdpZHRoOworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGggeyAwIH07
CisgICAgICAgIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCB7IDAgfTsKKyAg
ICAgICAgSW5saW5lTGF5b3V0VW5pdCBoYW5naW5nV2hpdGVzcGFjZVdpZHRoIHsgMCB9OwogICAg
ICAgICBib29sIGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCB7IHRydWUgfTsKICAgICAgICAg
c2l6ZV90IG5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCB7IDAgfTsKICAgICAgICAgY29u
c3QgTGluZTo6UnVuTGlzdCYgcnVuczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439986</attachid>
            <date>2021-10-02 20:24:08 -0700</date>
            <delta_ts>2021-10-03 08:56:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231126-20211002202407.patch</filename>
            <type>text/plain</type>
            <size>15271</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI0YjUyMGQ1NDg0Mjky
OGZlYzJhYjJlM2QyOTAyNWFmY2U1ODgzMS4uZTlmZjA5YjUxYzA0ZTdmYjFhOTM2MWYzNGMzMTA0
MzNhYTBlZDgxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTAyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIE1vdmluZyBo
YW5naW5nIHdoaXRlc3BhY2Ugc2VxdWVuY2UgaGFuZGxpbmcgdG8gTGluZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0IHRoZSBMaW5lIGhhbmRsZSB0
aGUgd2hpdGVzcGFjZSBoYW5naW5nLiBMaW5lOjpIYW5naW5nVHJhaWxpbmdDb250ZW50IHdpbGwg
ZXZlbnR1YWxseSBnYWluIG1vcmUgZnVuY3Rpb25hbGl0eS4KKyAgICAgICAgVGhpcyBpcyBhbHNv
IGluIHByZXBhcmF0aW9uIGZvciBmaXhpbmcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvdGV4dGFyZWEtcHJlLXdyYXAtMDE0Lmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpMaW5lKTogVmlzdWFsbHkgdHJpbW1l
ZCBjb250ZW50IGlzIHN0aWxsIHBhcnQgb2YgdGhlIGxpbmUgKGRvZXMgbm90IGNoYW5nZSBtX2Nv
bnRlbnRMb2dpY2FsV2lkdGgpCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OnZpc3Vh
bGx5Q29sbGFwc2VIYW5naW5nT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lOjpIYW5naW5nVHJhaWxpbmdDb250ZW50OjpIYW5naW5nVHJhaWxpbmdDb250ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudDo6d2lk
dGggY29uc3QpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6aGFuZ2luZ1doaXRl
c3BhY2VXaWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6
c2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmU6OlJ1bjo6aXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5nIGNvbnN0KTogRGVs
ZXRlZC4gc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZyBpcyBhIG1vcmUgZGVzY3JpcHRpdmUg
bmFtZS4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQm94QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Omhvcml6b250YWxB
bGlnbm1lbnRPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6YnVpbGQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpoYW5naW5nR2x5cGhXaWR0aCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRl
cjo6bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaDoKKwogMjAyMS0xMC0wMiAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIE1v
dmUgaW5saW5lIGl0ZXJhdG9ycyB0byBJbmxpbmVJdGVyYXRvciBuYW1lc3BhY2UgYW5kIHJlbmFt
ZSBSdW4qIHRvIEJveCoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAKaW5kZXggMzMxZjEzMmJk
MTM1MzRhMDU1MmE3OTc1MDRhNDBmZGYzZjJhN2MwYi4uNGNmMzgyNDE1OTQ0NmY4MWEzZTFmNjk1
ZjkwODQwYjdkNzlhOTkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAKQEAgLTQzLDYg
KzQzLDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBMaW5lOjpMaW5lKGNvbnN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCkKICAgICA6IG1faW5saW5lRm9y
bWF0dGluZ0NvbnRleHQoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCiAgICAgLCBtX3RyaW1tYWJs
ZVRyYWlsaW5nQ29udGVudChtX3J1bnMpCisgICAgLCBtX2hhbmdpbmdUcmFpbGluZ0NvbnRlbnQo
bV9ydW5zKQogewogfQogCkBAIC0xNzUsNyArMTc2LDcgQEAgdm9pZCBMaW5lOjp2aXN1YWxseUNv
bGxhcHNlSGFuZ2luZ092ZXJmbG93KElubGluZUxheW91dFVuaXQgZXh0cmFIb3Jpem9udGFsU3Bh
Y2UKICAgICAvLyBkaWZmZXJlbnQgc2V0IG9mIHdoaXRlLXNwYWNlIHZhbHVlcyBhbmQgZGVjaWRl
IGlmIHRoZSBpbi1iZXR3ZWVuIHByZS13cmFwIGNvbnRlbnQgc2hvdWxkIGJlIGNvbGxhcHNlZCBh
cyB3ZWxsLikKICAgICBhdXRvIHRyaW1tZWRDb250ZW50V2lkdGggPSBJbmxpbmVMYXlvdXRVbml0
IHsgfTsKICAgICBmb3IgKGF1dG8mIHJ1biA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UobV9ydW5z
KSkgewotICAgICAgICBpZiAoIXJ1bi5pc092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmcoKSkKKyAg
ICAgICAgaWYgKCFydW4uc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZygpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGF1dG8gdmlzdWFsbHlDb2xsYXBzaWJsZUlubGluZUl0ZW0gPSBy
dW4uaXNJbmxpbmVCb3hTdGFydCgpIHx8IHJ1bi5pc0lubGluZUJveEVuZCgpIHx8IHJ1bi5oYXNU
cmFpbGluZ1doaXRlc3BhY2UoKTsKICAgICAgICAgaWYgKCF2aXN1YWxseUNvbGxhcHNpYmxlSW5s
aW5lSXRlbSkKQEAgLTE5NSw3ICsxOTYsNiBAQCB2b2lkIExpbmU6OnZpc3VhbGx5Q29sbGFwc2VI
YW5naW5nT3ZlcmZsb3coSW5saW5lTGF5b3V0VW5pdCBleHRyYUhvcml6b250YWxTcGFjZQogICAg
ICAgICBpZiAob3ZlcmZsb3dXaWR0aCA8PSAwKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQot
ICAgIG1fY29udGVudExvZ2ljYWxXaWR0aCAtPSB0cmltbWVkQ29udGVudFdpZHRoOwogfQogCiB2
b2lkIExpbmU6OmFwcGVuZChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBSZW5k
ZXJTdHlsZSYgc3R5bGUsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKQpAQCAtNDQxLDYg
KzQ0MSwyOSBAQCBJbmxpbmVMYXlvdXRVbml0IExpbmU6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVu
dDo6cmVtb3ZlUGFydGlhbGx5VHJpbW1hYmxlQ29udGVudAogICAgIHJldHVybiByZW1vdmUoKTsK
IH0KIAorTGluZTo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudDo6SGFuZ2luZ1RyYWlsaW5nQ29udGVu
dChjb25zdCBSdW5MaXN0JiBydW5zKQorICAgIDogbV9ydW5zKHJ1bnMpCit7Cit9CisKK0lubGlu
ZUxheW91dFVuaXQgTGluZTo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudDo6d2lkdGgoKSBjb25zdAor
eworICAgIC8vIFdoZW4gYSBnbHlwaCBhdCB0aGUgc3RhcnQgb3IgZW5kIGVkZ2Ugb2YgYSBsaW5l
IGhhbmdzLCBpdCBpcyBub3QgY29uc2lkZXJlZCB3aGVuIG1lYXN1cmluZyB0aGUgbGluZeKAmXMg
Y29udGVudHMgZm9yIGZpdCwgYWxpZ25tZW50LCBvciBqdXN0aWZpY2F0aW9uLgorICAgIC8vIERl
cGVuZGluZyBvbiB0aGUgbGluZeKAmXMgYWxpZ25tZW50L2p1c3RpZmljYXRpb24sIHRoaXMgY2Fu
IHJlc3VsdCBpbiB0aGUgbWFyayBiZWluZyBwbGFjZWQgb3V0c2lkZSB0aGUgbGluZSBib3guCisg
ICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI2hhbmdpbmcKKyAgICBh
dXRvIGhhbmdpbmdXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGZvciAoYXV0byYg
cnVuIDogV1RGOjptYWtlUmV2ZXJzZWRSYW5nZShtX3J1bnMpKSB7CisgICAgICAgIGlmIChydW4u
aXNCb3goKSB8fCBydW4uaXNMaW5lQnJlYWsoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBpZiAocnVuLmlzSW5saW5lQm94U3RhcnQoKSB8fCBydW4uaXNJbmxpbmVCb3hFbmQoKSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoIXJ1bi5oYXNUcmFpbGluZ1doaXRlc3Bh
Y2UoKSB8fCAhcnVuLnNob3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcoKSkKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBoYW5naW5nV2lkdGggKz0gcnVuLnRyYWlsaW5nV2hpdGVzcGFjZVdp
ZHRoKCk7CisgICAgfQorICAgIHJldHVybiBoYW5naW5nV2lkdGg7Cit9CisKIExpbmU6OlJ1bjo6
UnVuKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHls
ZSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2Fs
V2lkdGgpCiAgICAgOiBtX3R5cGUoaW5saW5lSXRlbS50eXBlKCkpCiAgICAgLCBtX2xheW91dEJv
eCgmaW5saW5lSXRlbS5sYXlvdXRCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAppbmRleCA2
MWMyZTUyY2U3NjBkODZhN2Y0NDkyZDRlYWU2ZWMyYmRiZGM4YjA3Li5lNTZiMjBiN2ZmYjg0OGY1
M2JhMjE3N2MwMDY4Y2Q3ODIxMTdhN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCkBAIC01
Myw2ICs1Myw4IEBAIHB1YmxpYzoKICAgICBJbmxpbmVMYXlvdXRVbml0IHRyaW1tYWJsZVRyYWls
aW5nV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC53aWR0
aCgpOyB9CiAgICAgYm9vbCBpc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUoKSBjb25zdCB7IHJl
dHVybiBtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC5pc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFi
bGUoKTsgfQogCisgICAgSW5saW5lTGF5b3V0VW5pdCBoYW5naW5nV2hpdGVzcGFjZVdpZHRoKCkg
Y29uc3QgeyByZXR1cm4gbV9oYW5naW5nVHJhaWxpbmdDb250ZW50LndpZHRoKCk7IH0KKwogICAg
IHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gdHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGgo
KSBjb25zdCB7IHJldHVybiBtX3RyYWlsaW5nU29mdEh5cGhlbldpZHRoOyB9CiAgICAgdm9pZCBh
ZGRUcmFpbGluZ0h5cGhlbihJbmxpbmVMYXlvdXRVbml0IGh5cGhlbkxvZ2ljYWxXaWR0aCk7CiAK
QEAgLTg3LDcgKzg5LDcgQEAgcHVibGljOgogICAgICAgICBib29sIGhhc1RyYWlsaW5nV2hpdGVz
cGFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSAhPSBUcmFpbGlu
Z1doaXRlc3BhY2U6Ok5vbmU7IH0KICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmFpbGluZ1do
aXRlc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGg7
IH0KIAotICAgICAgICBib29sIGlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZygpIGNvbnN0Owor
ICAgICAgICBib29sIHNob3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcoKSBjb25zdDsKICAgICAg
ICAgVGV4dERpcmVjdGlvbiBpbmxpbmVEaXJlY3Rpb24oKSBjb25zdDsKICAgICAgICAgSW5saW5l
TGF5b3V0VW5pdCBsZXR0ZXJTcGFjaW5nKCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaGFzVGV4dENv
bWJpbmUoKSBjb25zdDsKQEAgLTEzMSw3ICsxMzMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHN0ZDo6
b3B0aW9uYWw8VGV4dD4gbV90ZXh0Q29udGVudDsKICAgICAgICAgSW5saW5lRGlzcGxheTo6Qm94
OjpFeHBhbnNpb24gbV9leHBhbnNpb247CiAgICAgICAgIHN0cnVjdCBTdHlsZSB7Ci0gICAgICAg
ICAgICBib29sIGlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZyB7IGZhbHNlIH07CisgICAgICAg
ICAgICBib29sIHNob3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcgeyBmYWxzZSB9OwogICAgICAg
ICAgICAgVGV4dERpcmVjdGlvbiBpbmxpbmVEaXJlY3Rpb24geyBUZXh0RGlyZWN0aW9uOjpSVEwg
fTsKICAgICAgICAgICAgIElubGluZUxheW91dFVuaXQgbGV0dGVyU3BhY2luZyB7IDAgfTsKICAg
ICAgICAgICAgIGJvb2wgaGFzVGV4dENvbWJpbmUgeyBmYWxzZSB9OwpAQCAtMTc5LDkgKzE4MSwx
OSBAQCBwcml2YXRlOgogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fcGFydGlhbGx5VHJpbW1h
YmxlV2lkdGggeyAwIH07CiAgICAgfTsKIAorICAgIHN0cnVjdCBIYW5naW5nVHJhaWxpbmdDb250
ZW50IHsKKyAgICAgICAgSGFuZ2luZ1RyYWlsaW5nQ29udGVudChjb25zdCBSdW5MaXN0Jik7CisK
KyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0OworCisgICAgcHJpdmF0ZToK
KyAgICAgICAgY29uc3QgUnVuTGlzdCYgbV9ydW5zOworICAgIH07CisKICAgICBjb25zdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKICAgICBSdW5M
aXN0IG1fcnVuczsKICAgICBUcmltbWFibGVUcmFpbGluZ0NvbnRlbnQgbV90cmltbWFibGVUcmFp
bGluZ0NvbnRlbnQ7CisgICAgSGFuZ2luZ1RyYWlsaW5nQ29udGVudCBtX2hhbmdpbmdUcmFpbGlu
Z0NvbnRlbnQ7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2NvbnRlbnRMb2dpY2FsV2lkdGggeyAw
IH07CiAgICAgc2l6ZV90IG1fbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IHsgMCB9Owog
ICAgIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gbV90cmFpbGluZ1NvZnRIeXBoZW5X
aWR0aCB7IDAgfTsKQEAgLTIxMyw5ICsyMjUsOSBAQCBpbmxpbmUgdm9pZCBMaW5lOjpSdW46OnNl
dE5lZWRzSHlwaGVuKElubGluZUxheW91dFVuaXQgaHlwaGVuTG9naWNhbFdpZHRoKQogICAgIG1f
bG9naWNhbFdpZHRoICs9IGh5cGhlbkxvZ2ljYWxXaWR0aDsKIH0KIAotaW5saW5lIGJvb2wgTGlu
ZTo6UnVuOjppc092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmcoKSBjb25zdAoraW5saW5lIGJvb2wg
TGluZTo6UnVuOjpzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5nKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gbV9zdHlsZS5pc092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmc7CisgICAgcmV0dXJuIG1f
c3R5bGUuc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZzsKIH0KIAogaW5saW5lIFRleHREaXJl
Y3Rpb24gTGluZTo6UnVuOjppbmxpbmVEaXJlY3Rpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCmluZGV4IDBmNjRkYjg0NmQxM2M4YjJjYTQ0
MjQ0MjczYzNkOThhY2Q2YjE0MDUuLjg3MzcxZThmM2FjYWVkOGM4YjRlODdmN2QxOGFkZWY1NWFi
ZGJlZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAK
QEAgLTM2LDM3ICszNiwyNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91
dCB7CiAKLXN0YXRpYyBJbmxpbmVMYXlvdXRVbml0IGhhbmdpbmdHbHlwaFdpZHRoKElubGluZUxh
eW91dFVuaXQgZXh0cmFIb3Jpem9udGFsU3BhY2UsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMs
IGJvb2wgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8
SW5saW5lTGF5b3V0VW5pdD4gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChUZXh0QWxpZ25Nb2Rl
IHRleHRBbGlnbiwgY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkK
IHsKLSAgICAvLyBXaGVuIGEgZ2x5cGggYXQgdGhlIHN0YXJ0IG9yIGVuZCBlZGdlIG9mIGEgbGlu
ZSBoYW5ncywgaXQgaXMgbm90IGNvbnNpZGVyZWQgd2hlbiBtZWFzdXJpbmcgdGhlIGxpbmXigJlz
IGNvbnRlbnRzIGZvciBmaXQsIGFsaWdubWVudCwgb3IganVzdGlmaWNhdGlvbi4KLSAgICAvLyBE
ZXBlbmRpbmcgb24gdGhlIGxpbmXigJlzIGFsaWdubWVudC9qdXN0aWZpY2F0aW9uLCB0aGlzIGNh
biByZXN1bHQgaW4gdGhlIG1hcmsgYmVpbmcgcGxhY2VkIG91dHNpZGUgdGhlIGxpbmUgYm94Lgot
ICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC0zLyNoYW5naW5nCi0gICAg
YXV0byBpc0NvbmRpdGlvbmFsID0gaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50OwotICAgIGF1
dG8gaGFuZ2luZ1dpZHRoID0gSW5saW5lTGF5b3V0VW5pdCB7IH07Ci0gICAgZm9yIChhdXRvJiBy
dW4gOiBXVEY6Om1ha2VSZXZlcnNlZFJhbmdlKHJ1bnMpKSB7Ci0gICAgICAgIGlmIChydW4uaXNJ
bmxpbmVCb3hTdGFydCgpIHx8IHJ1bi5pc0lubGluZUJveEVuZCgpKQotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIGlmIChydW4uaXNMaW5lQnJlYWsoKSkgewotICAgICAgICAgICAgaXND
b25kaXRpb25hbCA9IHRydWU7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoIXJ1bi5oYXNUcmFpbGluZ1doaXRlc3BhY2UoKSkKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgcHJlc2VydmVkIG9yIGh1bmcgd2hpdGVz
cGFjZS4KLSAgICAgICAgaWYgKCFydW4uaXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5nKCkpCi0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgLy8gVGhpcyBpcyBlaXRoZXIgYSBub3JtYWwgb3Ig
Y29uZGl0aW9uYWxseSBoYW5naW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UuCi0gICAgICAgIGhhbmdp
bmdXaWR0aCArPSBydW4udHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGgoKTsKLSAgICB9Ci0gICAgLy8g
SW4gc29tZSBjYXNlcywgYSBnbHlwaCBhdCB0aGUgZW5kIG9mIGEgbGluZSBjYW4gY29uZGl0aW9u
YWxseSBoYW5nOiBpdCBoYW5ncyBvbmx5IGlmIGl0IGRvZXMgbm90IG90aGVyd2lzZSBmaXQgaW4g
dGhlIGxpbmUgcHJpb3IgdG8ganVzdGlmaWNhdGlvbi4KLSAgICByZXR1cm4gIWlzQ29uZGl0aW9u
YWwgfHwgZXh0cmFIb3Jpem9udGFsU3BhY2UgPCAwID8gaGFuZ2luZ1dpZHRoIDogSW5saW5lTGF5
b3V0VW5pdCB7IH07Ci19Ci0KLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+
IGhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoY29uc3QgTGluZTo6UnVuTGlzdCYgcnVucywgVGV4
dEFsaWduTW9kZSB0ZXh0QWxpZ24sIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwg
SW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBib29sIGlzTGFzdExpbmUpCi17
Ci0gICAgYXV0byBleHRyYUhvcml6b250YWxTcGFjZSA9IGxpbmVMb2dpY2FsV2lkdGggLSBjb250
ZW50TG9naWNhbFdpZHRoOwogICAgIC8vIERlcGVuZGluZyBvbiB0aGUgbGluZeKAmXMgYWxpZ25t
ZW50L2p1c3RpZmljYXRpb24sIHRoZSBoYW5naW5nIGdseXBoIGNhbiBiZSBwbGFjZWQgb3V0c2lk
ZSB0aGUgbGluZSBib3guCi0gICAgZXh0cmFIb3Jpem9udGFsU3BhY2UgKz0gaGFuZ2luZ0dseXBo
V2lkdGgoZXh0cmFIb3Jpem9udGFsU3BhY2UsIHJ1bnMsIGlzTGFzdExpbmUpOworICAgIGF1dG8m
IHJ1bnMgPSBsaW5lQ29udGVudC5ydW5zOworICAgIGF1dG8gY29udGVudExvZ2ljYWxXaWR0aCA9
IGxpbmVDb250ZW50LmNvbnRlbnRMb2dpY2FsV2lkdGg7CisgICAgaWYgKGxpbmVDb250ZW50Lmhh
bmdpbmdXaGl0ZXNwYWNlV2lkdGgpIHsKKyAgICAgICAgQVNTRVJUKCFydW5zLmlzRW1wdHkoKSk7
CisgICAgICAgIC8vIElmIHdoaXRlLXNwYWNlIGlzIHNldCB0byBwcmUtd3JhcCwgdGhlIFVBIG11
c3QgKHVuY29uZGl0aW9uYWxseSkgaGFuZyB0aGlzIHNlcXVlbmNlLCB1bmxlc3MgdGhlIHNlcXVl
bmNlIGlzIGZvbGxvd2VkCisgICAgICAgIC8vIGJ5IGEgZm9yY2VkIGxpbmUgYnJlYWssIGluIHdo
aWNoIGNhc2UgaXQgbXVzdCBjb25kaXRpb25hbGx5IGhhbmcgdGhlIHNlcXVlbmNlIGlzIGluc3Rl
YWQuCisgICAgICAgIC8vIE5vdGUgdGhhdCBlbmQgb2YgbGFzdCBsaW5lIGluIGEgcGFyYWdyYXBo
IGlzIGNvbnNpZGVyZWQgYSBmb3JjZWQgYnJlYWsuCisgICAgICAgIGF1dG8gaXNDb25kaXRpb25h
bEhhbmdpbmcgPSBydW5zLmxhc3QoKS5pc0xpbmVCcmVhaygpIHx8IGxpbmVDb250ZW50LmlzTGFz
dExpbmVXaXRoSW5saW5lQ29udGVudDsKKyAgICAgICAgLy8gSW4gc29tZSBjYXNlcywgYSBnbHlw
aCBhdCB0aGUgZW5kIG9mIGEgbGluZSBjYW4gY29uZGl0aW9uYWxseSBoYW5nOiBpdCBoYW5ncyBv
bmx5IGlmIGl0IGRvZXMgbm90IG90aGVyd2lzZSBmaXQgaW4gdGhlIGxpbmUgcHJpb3IgdG8ganVz
dGlmaWNhdGlvbi4KKyAgICAgICAgLy8gRklYTUU6IE9ubHkgdGhlIG92ZXJmbG93aW5nIGdseXBo
cyBzaG91bGQgYmUgY29uc2lkZXJlZCBmb3IgaGFuZ2luZy4KKyAgICAgICAgaWYgKGlzQ29uZGl0
aW9uYWxIYW5naW5nKQorICAgICAgICAgICAgY29udGVudExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWlu
KGNvbnRlbnRMb2dpY2FsV2lkdGgsIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBjb250ZW50TG9naWNhbFdpZHRoIC09IGxpbmVDb250ZW50
LmhhbmdpbmdXaGl0ZXNwYWNlV2lkdGg7CisgICAgfQorICAgIGF1dG8gZXh0cmFIb3Jpem9udGFs
U3BhY2UgPSBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoIC0gY29udGVudExvZ2ljYWxXaWR0
aDsKICAgICBpZiAoZXh0cmFIb3Jpem9udGFsU3BhY2UgPD0gMCkKICAgICAgICAgcmV0dXJuIHsg
fTsKIApAQCAtNzYsNyArNjQsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRV
bml0PiBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KGNvbnN0IExpbmU6OlJ1bgogICAgICAgICAv
LyBUZXh0IGlzIGp1c3RpZmllZCBhY2NvcmRpbmcgdG8gdGhlIG1ldGhvZCBzcGVjaWZpZWQgYnkg
dGhlIHRleHQtanVzdGlmeSBwcm9wZXJ0eSwKICAgICAgICAgLy8gaW4gb3JkZXIgdG8gZXhhY3Rs
eSBmaWxsIHRoZSBsaW5lIGJveC4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgYnkgdGV4dC1h
bGlnbi1sYXN0LAogICAgICAgICAvLyB0aGUgbGFzdCBsaW5lIGJlZm9yZSBhIGZvcmNlZCBicmVh
ayBvciB0aGUgZW5kIG9mIHRoZSBibG9jayBpcyBzdGFydC1hbGlnbmVkLgotICAgICAgICBpZiAo
aXNMYXN0TGluZSB8fCAoIXJ1bnMuaXNFbXB0eSgpICYmIHJ1bnMubGFzdCgpLmlzTGluZUJyZWFr
KCkpKQorICAgICAgICBpZiAobGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50
IHx8ICghcnVucy5pc0VtcHR5KCkgJiYgcnVucy5sYXN0KCkuaXNMaW5lQnJlYWsoKSkpCiAgICAg
ICAgICAgICByZXR1cm4gVGV4dEFsaWduTW9kZTo6U3RhcnQ7CiAgICAgICAgIHJldHVybiBUZXh0
QWxpZ25Nb2RlOjpKdXN0aWZ5OwogICAgIH07CkBAIC0xMTEsMTMgKzk5LDExIEBAIExpbmVCb3hC
dWlsZGVyOjpMaW5lQm94QnVpbGRlcihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5s
aW5lRm9ybWF0dGluZ0NvCiAKIExpbmVCb3hCdWlsZGVyOjpMaW5lQW5kTGluZUJveCBMaW5lQm94
QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVu
dCwgc2l6ZV90IGxpbmVJbmRleCkKIHsKLSAgICBhdXRvJiBydW5zID0gbGluZUNvbnRlbnQucnVu
czsKLSAgICBhdXRvIGNvbnRlbnRMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5jb250ZW50TG9n
aWNhbFdpZHRoOwogICAgIGF1dG8gdGV4dEFsaWduID0gIWxpbmVJbmRleCA/IHJvb3RCb3goKS5m
aXJzdExpbmVTdHlsZSgpLnRleHRBbGlnbigpIDogcm9vdEJveCgpLnN0eWxlKCkudGV4dEFsaWdu
KCk7Ci0gICAgYXV0byBjb250ZW50TG9naWNhbExlZnQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGln
bm1lbnRPZmZzZXQocnVucywgdGV4dEFsaWduLCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRo
LCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5pc0xhc3RMaW5lV2l0aElubGluZUNv
bnRlbnQpLnZhbHVlX29yKElubGluZUxheW91dFVuaXQgeyB9KTsKLSAgICBhdXRvIGxpbmVCb3gg
PSBMaW5lQm94IHsgcm9vdEJveCgpLCBjb250ZW50TG9naWNhbExlZnQsIGNvbnRlbnRMb2dpY2Fs
V2lkdGgsIGxpbmVJbmRleCwgbGluZUNvbnRlbnQubm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENv
dW50IH07CisgICAgYXV0byBjb250ZW50TG9naWNhbExlZnQgPSBMYXlvdXQ6Omhvcml6b250YWxB
bGlnbm1lbnRPZmZzZXQodGV4dEFsaWduLCBsaW5lQ29udGVudCkudmFsdWVfb3IoSW5saW5lTGF5
b3V0VW5pdCB7IH0pOworICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3ggeyByb290Qm94KCksIGNv
bnRlbnRMb2dpY2FsTGVmdCwgbGluZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUlu
ZGV4LCBsaW5lQ29udGVudC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgfTsKIAotICAg
IGF1dG8gbGluZUJveExvZ2ljYWxIZWlnaHQgPSBjb25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVs
Qm94ZXMobGluZUJveCwgcnVucywgbGluZUluZGV4KTsKKyAgICBhdXRvIGxpbmVCb3hMb2dpY2Fs
SGVpZ2h0ID0gY29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKGxpbmVCb3gsIGxpbmVD
b250ZW50LnJ1bnMsIGxpbmVJbmRleCk7CiAKICAgICBhdXRvIGxpbmUgPSBbJl0gewogICAgICAg
ICBhdXRvIGxpbmVCb3hMb2dpY2FsUmVjdCA9IElubGluZVJlY3QgeyBsaW5lQ29udGVudC5sb2dp
Y2FsVG9wTGVmdCwgbGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwgbGluZUJveExvZ2ljYWxI
ZWlnaHQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCBk
ZjU5YTgzZTdjZGRiMGM2MWUxYzZiYmIyNjZjOThhNTM1NTZlMDY1Li4zMTU5OWUwOWY5MmVmMmU1
ZDZlOTRlNzBhNDVhODA2ZTdlN2Y0ODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwCkBAIC0yNzgsNiArMjc4LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50
IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYK
ICAgICAgICAgLCBtX2xpbmVMb2dpY2FsUmVjdC50b3BMZWZ0KCkKICAgICAgICAgLCBtX2xpbmVM
b2dpY2FsUmVjdC53aWR0aCgpCiAgICAgICAgICwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgo
KQorICAgICAgICAsIG1fbGluZS5oYW5naW5nV2hpdGVzcGFjZVdpZHRoKCkKICAgICAgICAgLCBp
c0xhc3RMaW5lCiAgICAgICAgICwgbV9saW5lLm5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3Vu
dCgpCiAgICAgICAgICwgbV9saW5lLnJ1bnMoKX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuaAppbmRleCA2MmQ3NWVhODNkMDQ4YzkyMmM1ZjFlMTdhMzI1NDEwYjlhZWFiYmFl
Li4zYmJiNTNmNWZiMGRkZjhiYjBkYzZjY2Y2NTIwOTQ2N2IxYzgwMjczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
QnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKQEAgLTU2LDggKzU2LDkgQEAgcHVibGljOgogICAg
ICAgICBjb25zdCBGbG9hdExpc3QmIGZsb2F0czsKICAgICAgICAgYm9vbCBoYXNJbnRydXNpdmVG
bG9hdCB7IGZhbHNlIH07CiAgICAgICAgIElubGluZUxheW91dFBvaW50IGxvZ2ljYWxUb3BMZWZ0
OwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGg7Ci0gICAgICAgIElu
bGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aDsKKyAgICAgICAgSW5saW5lTGF5b3V0
VW5pdCBsaW5lTG9naWNhbFdpZHRoIHsgMCB9OworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGNv
bnRlbnRMb2dpY2FsV2lkdGggeyAwIH07CisgICAgICAgIElubGluZUxheW91dFVuaXQgaGFuZ2lu
Z1doaXRlc3BhY2VXaWR0aCB7IDAgfTsKICAgICAgICAgYm9vbCBpc0xhc3RMaW5lV2l0aElubGlu
ZUNvbnRlbnQgeyB0cnVlIH07CiAgICAgICAgIHNpemVfdCBub25TcGFubmluZ0lubGluZUxldmVs
Qm94Q291bnQgeyAwIH07CiAgICAgICAgIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440004</attachid>
            <date>2021-10-03 08:56:41 -0700</date>
            <delta_ts>2021-10-03 11:43:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231126-20211003085640.patch</filename>
            <type>text/plain</type>
            <size>14948</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI0YjUyMGQ1NDg0Mjky
OGZlYzJhYjJlM2QyOTAyNWFmY2U1ODgzMS4uZTlmZjA5YjUxYzA0ZTdmYjFhOTM2MWYzNGMzMTA0
MzNhYTBlZDgxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTAyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIE1vdmluZyBo
YW5naW5nIHdoaXRlc3BhY2Ugc2VxdWVuY2UgaGFuZGxpbmcgdG8gTGluZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0IHRoZSBMaW5lIGhhbmRsZSB0
aGUgd2hpdGVzcGFjZSBoYW5naW5nLiBMaW5lOjpIYW5naW5nVHJhaWxpbmdDb250ZW50IHdpbGwg
ZXZlbnR1YWxseSBnYWluIG1vcmUgZnVuY3Rpb25hbGl0eS4KKyAgICAgICAgVGhpcyBpcyBhbHNv
IGluIHByZXBhcmF0aW9uIGZvciBmaXhpbmcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvdGV4dGFyZWEtcHJlLXdyYXAtMDE0Lmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpMaW5lKTogVmlzdWFsbHkgdHJpbW1l
ZCBjb250ZW50IGlzIHN0aWxsIHBhcnQgb2YgdGhlIGxpbmUgKGRvZXMgbm90IGNoYW5nZSBtX2Nv
bnRlbnRMb2dpY2FsV2lkdGgpCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OnZpc3Vh
bGx5Q29sbGFwc2VIYW5naW5nT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lOjpIYW5naW5nVHJhaWxpbmdDb250ZW50OjpIYW5naW5nVHJhaWxpbmdDb250ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudDo6d2lk
dGggY29uc3QpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6aGFuZ2luZ1doaXRl
c3BhY2VXaWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6
c2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmU6OlJ1bjo6aXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5nIGNvbnN0KTogRGVs
ZXRlZC4gc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZyBpcyBhIG1vcmUgZGVzY3JpcHRpdmUg
bmFtZS4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQm94QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Omhvcml6b250YWxB
bGlnbm1lbnRPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRl
cjo6YnVpbGQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpoYW5naW5nR2x5cGhXaWR0aCk6
IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRl
cjo6bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaDoKKwogMjAyMS0xMC0wMiAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIE1v
dmUgaW5saW5lIGl0ZXJhdG9ycyB0byBJbmxpbmVJdGVyYXRvciBuYW1lc3BhY2UgYW5kIHJlbmFt
ZSBSdW4qIHRvIEJveCoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAKaW5kZXggMzMxZjEzMmJk
MTM1MzRhMDU1MmE3OTc1MDRhNDBmZGYzZjJhN2MwYi4uNjQ4M2U1YTM3M2YxNGU3ODdjNjgyODY0
ZjgxNjc2NTc5NWFiOTQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAKQEAgLTQzLDYg
KzQzLDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiBMaW5lOjpMaW5lKGNvbnN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCkKICAgICA6IG1faW5saW5lRm9y
bWF0dGluZ0NvbnRleHQoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCiAgICAgLCBtX3RyaW1tYWJs
ZVRyYWlsaW5nQ29udGVudChtX3J1bnMpCisgICAgLCBtX2hhbmdpbmdUcmFpbGluZ0NvbnRlbnQo
bV9ydW5zKQogewogfQogCkBAIC0xNzUsNyArMTc2LDcgQEAgdm9pZCBMaW5lOjp2aXN1YWxseUNv
bGxhcHNlSGFuZ2luZ092ZXJmbG93KElubGluZUxheW91dFVuaXQgZXh0cmFIb3Jpem9udGFsU3Bh
Y2UKICAgICAvLyBkaWZmZXJlbnQgc2V0IG9mIHdoaXRlLXNwYWNlIHZhbHVlcyBhbmQgZGVjaWRl
IGlmIHRoZSBpbi1iZXR3ZWVuIHByZS13cmFwIGNvbnRlbnQgc2hvdWxkIGJlIGNvbGxhcHNlZCBh
cyB3ZWxsLikKICAgICBhdXRvIHRyaW1tZWRDb250ZW50V2lkdGggPSBJbmxpbmVMYXlvdXRVbml0
IHsgfTsKICAgICBmb3IgKGF1dG8mIHJ1biA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UobV9ydW5z
KSkgewotICAgICAgICBpZiAoIXJ1bi5pc092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmcoKSkKKyAg
ICAgICAgaWYgKCFydW4uc2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFuZygpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGF1dG8gdmlzdWFsbHlDb2xsYXBzaWJsZUlubGluZUl0ZW0gPSBy
dW4uaXNJbmxpbmVCb3hTdGFydCgpIHx8IHJ1bi5pc0lubGluZUJveEVuZCgpIHx8IHJ1bi5oYXNU
cmFpbGluZ1doaXRlc3BhY2UoKTsKICAgICAgICAgaWYgKCF2aXN1YWxseUNvbGxhcHNpYmxlSW5s
aW5lSXRlbSkKQEAgLTQ0MSw2ICs0NDIsMjkgQEAgSW5saW5lTGF5b3V0VW5pdCBMaW5lOjpUcmlt
bWFibGVUcmFpbGluZ0NvbnRlbnQ6OnJlbW92ZVBhcnRpYWxseVRyaW1tYWJsZUNvbnRlbnQKICAg
ICByZXR1cm4gcmVtb3ZlKCk7CiB9CiAKK0xpbmU6OkhhbmdpbmdUcmFpbGluZ0NvbnRlbnQ6Okhh
bmdpbmdUcmFpbGluZ0NvbnRlbnQoY29uc3QgUnVuTGlzdCYgcnVucykKKyAgICA6IG1fcnVucyhy
dW5zKQoreworfQorCitJbmxpbmVMYXlvdXRVbml0IExpbmU6OkhhbmdpbmdUcmFpbGluZ0NvbnRl
bnQ6OndpZHRoKCkgY29uc3QKK3sKKyAgICAvLyBXaGVuIGEgZ2x5cGggYXQgdGhlIHN0YXJ0IG9y
IGVuZCBlZGdlIG9mIGEgbGluZSBoYW5ncywgaXQgaXMgbm90IGNvbnNpZGVyZWQgd2hlbiBtZWFz
dXJpbmcgdGhlIGxpbmXigJlzIGNvbnRlbnRzIGZvciBmaXQsIGFsaWdubWVudCwgb3IganVzdGlm
aWNhdGlvbi4KKyAgICAvLyBEZXBlbmRpbmcgb24gdGhlIGxpbmXigJlzIGFsaWdubWVudC9qdXN0
aWZpY2F0aW9uLCB0aGlzIGNhbiByZXN1bHQgaW4gdGhlIG1hcmsgYmVpbmcgcGxhY2VkIG91dHNp
ZGUgdGhlIGxpbmUgYm94LgorICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4
dC0zLyNoYW5naW5nCisgICAgYXV0byBoYW5naW5nV2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsg
fTsKKyAgICBmb3IgKGF1dG8mIHJ1biA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UobV9ydW5zKSkg
eworICAgICAgICBpZiAocnVuLmlzQm94KCkgfHwgcnVuLmlzTGluZUJyZWFrKCkpCisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgaWYgKHJ1bi5pc0lubGluZUJveFN0YXJ0KCkgfHwgcnVuLmlz
SW5saW5lQm94RW5kKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCFydW4u
aGFzVHJhaWxpbmdXaGl0ZXNwYWNlKCkgfHwgIXJ1bi5zaG91bGRUcmFpbGluZ1doaXRlc3BhY2VI
YW5nKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaGFuZ2luZ1dpZHRoICs9IHJ1bi50
cmFpbGluZ1doaXRlc3BhY2VXaWR0aCgpOworICAgIH0KKyAgICByZXR1cm4gaGFuZ2luZ1dpZHRo
OworfQorCiBMaW5lOjpSdW46OlJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25z
dCBSZW5kZXJTdHlsZSYgc3R5bGUsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGlu
ZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKQogICAgIDogbV90eXBlKGlubGluZUl0ZW0udHlwZSgp
KQogICAgICwgbV9sYXlvdXRCb3goJmlubGluZUl0ZW0ubGF5b3V0Qm94KCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lLmgKaW5kZXggNjFjMmU1MmNlNzYwZDg2YTdmNDQ5MmQ0ZWFlNmVjMmJkYmRjOGIw
Ny4uZTU2YjIwYjdmZmI4NDhmNTNiYTIxNzdjMDA2OGNkNzgyMTE3YTdjMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmUuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAgICAgSW5saW5lTGF5b3V0
VW5pdCB0cmltbWFibGVUcmFpbGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90cmltbWFibGVU
cmFpbGluZ0NvbnRlbnQud2lkdGgoKTsgfQogICAgIGJvb2wgaXNUcmFpbGluZ1J1bkZ1bGx5VHJp
bW1hYmxlKCkgY29uc3QgeyByZXR1cm4gbV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQuaXNUcmFp
bGluZ1J1bkZ1bGx5VHJpbW1hYmxlKCk7IH0KIAorICAgIElubGluZUxheW91dFVuaXQgaGFuZ2lu
Z1doaXRlc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1faGFuZ2luZ1RyYWlsaW5nQ29udGVu
dC53aWR0aCgpOyB9CisKICAgICBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHRyYWls
aW5nU29mdEh5cGhlbldpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90cmFpbGluZ1NvZnRIeXBoZW5X
aWR0aDsgfQogICAgIHZvaWQgYWRkVHJhaWxpbmdIeXBoZW4oSW5saW5lTGF5b3V0VW5pdCBoeXBo
ZW5Mb2dpY2FsV2lkdGgpOwogCkBAIC04Nyw3ICs4OSw3IEBAIHB1YmxpYzoKICAgICAgICAgYm9v
bCBoYXNUcmFpbGluZ1doaXRlc3BhY2UoKSBjb25zdCB7IHJldHVybiBtX3RyYWlsaW5nV2hpdGVz
cGFjZVR5cGUgIT0gVHJhaWxpbmdXaGl0ZXNwYWNlOjpOb25lOyB9CiAgICAgICAgIElubGluZUxh
eW91dFVuaXQgdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3RyYWls
aW5nV2hpdGVzcGFjZVdpZHRoOyB9CiAKLSAgICAgICAgYm9vbCBpc092ZXJmbG93V2hpdGVzcGFj
ZUhhbmdpbmcoKSBjb25zdDsKKyAgICAgICAgYm9vbCBzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VI
YW5nKCkgY29uc3Q7CiAgICAgICAgIFRleHREaXJlY3Rpb24gaW5saW5lRGlyZWN0aW9uKCkgY29u
c3Q7CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbGV0dGVyU3BhY2luZygpIGNvbnN0OwogICAg
ICAgICBib29sIGhhc1RleHRDb21iaW5lKCkgY29uc3Q7CkBAIC0xMzEsNyArMTMzLDcgQEAgcHVi
bGljOgogICAgICAgICBzdGQ6Om9wdGlvbmFsPFRleHQ+IG1fdGV4dENvbnRlbnQ7CiAgICAgICAg
IElubGluZURpc3BsYXk6OkJveDo6RXhwYW5zaW9uIG1fZXhwYW5zaW9uOwogICAgICAgICBzdHJ1
Y3QgU3R5bGUgewotICAgICAgICAgICAgYm9vbCBpc092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmcg
eyBmYWxzZSB9OworICAgICAgICAgICAgYm9vbCBzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5n
IHsgZmFsc2UgfTsKICAgICAgICAgICAgIFRleHREaXJlY3Rpb24gaW5saW5lRGlyZWN0aW9uIHsg
VGV4dERpcmVjdGlvbjo6UlRMIH07CiAgICAgICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGxldHRl
clNwYWNpbmcgeyAwIH07CiAgICAgICAgICAgICBib29sIGhhc1RleHRDb21iaW5lIHsgZmFsc2Ug
fTsKQEAgLTE3OSw5ICsxODEsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgSW5saW5lTGF5b3V0VW5p
dCBtX3BhcnRpYWxseVRyaW1tYWJsZVdpZHRoIHsgMCB9OwogICAgIH07CiAKKyAgICBzdHJ1Y3Qg
SGFuZ2luZ1RyYWlsaW5nQ29udGVudCB7CisgICAgICAgIEhhbmdpbmdUcmFpbGluZ0NvbnRlbnQo
Y29uc3QgUnVuTGlzdCYpOworCisgICAgICAgIElubGluZUxheW91dFVuaXQgd2lkdGgoKSBjb25z
dDsKKworICAgIHByaXZhdGU6CisgICAgICAgIGNvbnN0IFJ1bkxpc3QmIG1fcnVuczsKKyAgICB9
OworCiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIG1faW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ7CiAgICAgUnVuTGlzdCBtX3J1bnM7CiAgICAgVHJpbW1hYmxlVHJhaWxpbmdDb250
ZW50IG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50OworICAgIEhhbmdpbmdUcmFpbGluZ0NvbnRl
bnQgbV9oYW5naW5nVHJhaWxpbmdDb250ZW50OwogICAgIElubGluZUxheW91dFVuaXQgbV9jb250
ZW50TG9naWNhbFdpZHRoIHsgMCB9OwogICAgIHNpemVfdCBtX25vblNwYW5uaW5nSW5saW5lTGV2
ZWxCb3hDb3VudCB7IDAgfTsKICAgICBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG1f
dHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGggeyAwIH07CkBAIC0yMTMsOSArMjI1LDkgQEAgaW5saW5l
IHZvaWQgTGluZTo6UnVuOjpzZXROZWVkc0h5cGhlbihJbmxpbmVMYXlvdXRVbml0IGh5cGhlbkxv
Z2ljYWxXaWR0aCkKICAgICBtX2xvZ2ljYWxXaWR0aCArPSBoeXBoZW5Mb2dpY2FsV2lkdGg7CiB9
CiAKLWlubGluZSBib29sIExpbmU6OlJ1bjo6aXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5nKCkg
Y29uc3QKK2lubGluZSBib29sIExpbmU6OlJ1bjo6c2hvdWxkVHJhaWxpbmdXaGl0ZXNwYWNlSGFu
ZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fc3R5bGUuaXNPdmVyZmxvd1doaXRlc3BhY2VIYW5n
aW5nOworICAgIHJldHVybiBtX3N0eWxlLnNob3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmc7CiB9
CiAKIGlubGluZSBUZXh0RGlyZWN0aW9uIExpbmU6OlJ1bjo6aW5saW5lRGlyZWN0aW9uKCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcAppbmRleCAw
ZjY0ZGI4NDZkMTNjOGIyY2E0NDI0NDI3M2MzZDk4YWNkNmIxNDA1Li44NzM3MWU4ZjNhY2FlZDhj
OGI0ZTg3ZjdkMThhZGVmNTVhYmRiZWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
TGluZUJveEJ1aWxkZXIuY3BwCkBAIC0zNiwzNyArMzYsMjUgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIG5hbWVzcGFjZSBMYXlvdXQgewogCi1zdGF0aWMgSW5saW5lTGF5b3V0VW5pdCBoYW5naW5n
R2x5cGhXaWR0aChJbmxpbmVMYXlvdXRVbml0IGV4dHJhSG9yaXpvbnRhbFNwYWNlLCBjb25zdCBM
aW5lOjpSdW5MaXN0JiBydW5zLCBib29sIGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkKK3N0
YXRpYyBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGhvcml6b250YWxBbGlnbm1lbnRP
ZmZzZXQoVGV4dEFsaWduTW9kZSB0ZXh0QWxpZ24sIGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29u
dGVudCYgbGluZUNvbnRlbnQpCiB7Ci0gICAgLy8gV2hlbiBhIGdseXBoIGF0IHRoZSBzdGFydCBv
ciBlbmQgZWRnZSBvZiBhIGxpbmUgaGFuZ3MsIGl0IGlzIG5vdCBjb25zaWRlcmVkIHdoZW4gbWVh
c3VyaW5nIHRoZSBsaW5l4oCZcyBjb250ZW50cyBmb3IgZml0LCBhbGlnbm1lbnQsIG9yIGp1c3Rp
ZmljYXRpb24uCi0gICAgLy8gRGVwZW5kaW5nIG9uIHRoZSBsaW5l4oCZcyBhbGlnbm1lbnQvanVz
dGlmaWNhdGlvbiwgdGhpcyBjYW4gcmVzdWx0IGluIHRoZSBtYXJrIGJlaW5nIHBsYWNlZCBvdXRz
aWRlIHRoZSBsaW5lIGJveC4KLSAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRl
eHQtMy8jaGFuZ2luZwotICAgIGF1dG8gaXNDb25kaXRpb25hbCA9IGlzTGFzdExpbmVXaXRoSW5s
aW5lQ29udGVudDsKLSAgICBhdXRvIGhhbmdpbmdXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9
OwotICAgIGZvciAoYXV0byYgcnVuIDogV1RGOjptYWtlUmV2ZXJzZWRSYW5nZShydW5zKSkgewot
ICAgICAgICBpZiAocnVuLmlzSW5saW5lQm94U3RhcnQoKSB8fCBydW4uaXNJbmxpbmVCb3hFbmQo
KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAocnVuLmlzTGluZUJyZWFrKCkp
IHsKLSAgICAgICAgICAgIGlzQ29uZGl0aW9uYWwgPSB0cnVlOwotICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFydW4uaGFzVHJhaWxpbmdXaGl0ZXNwYWNlKCkp
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgLy8gQ2hlY2sgaWYgd2UgaGF2ZSBhIHByZXNl
cnZlZCBvciBodW5nIHdoaXRlc3BhY2UuCi0gICAgICAgIGlmICghcnVuLmlzT3ZlcmZsb3dXaGl0
ZXNwYWNlSGFuZ2luZygpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8vIFRoaXMgaXMg
ZWl0aGVyIGEgbm9ybWFsIG9yIGNvbmRpdGlvbmFsbHkgaGFuZ2luZyB0cmFpbGluZyB3aGl0ZXNw
YWNlLgotICAgICAgICBoYW5naW5nV2lkdGggKz0gcnVuLnRyYWlsaW5nV2hpdGVzcGFjZVdpZHRo
KCk7Ci0gICAgfQotICAgIC8vIEluIHNvbWUgY2FzZXMsIGEgZ2x5cGggYXQgdGhlIGVuZCBvZiBh
IGxpbmUgY2FuIGNvbmRpdGlvbmFsbHkgaGFuZzogaXQgaGFuZ3Mgb25seSBpZiBpdCBkb2VzIG5v
dCBvdGhlcndpc2UgZml0IGluIHRoZSBsaW5lIHByaW9yIHRvIGp1c3RpZmljYXRpb24uCi0gICAg
cmV0dXJuICFpc0NvbmRpdGlvbmFsIHx8IGV4dHJhSG9yaXpvbnRhbFNwYWNlIDwgMCA/IGhhbmdp
bmdXaWR0aCA6IElubGluZUxheW91dFVuaXQgeyB9OwotfQotCi1zdGF0aWMgc3RkOjpvcHRpb25h
bDxJbmxpbmVMYXlvdXRVbml0PiBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KGNvbnN0IExpbmU6
OlJ1bkxpc3QmIHJ1bnMsIFRleHRBbGlnbk1vZGUgdGV4dEFsaWduLCBJbmxpbmVMYXlvdXRVbml0
IGxpbmVMb2dpY2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCwg
Ym9vbCBpc0xhc3RMaW5lKQotewotICAgIGF1dG8gZXh0cmFIb3Jpem9udGFsU3BhY2UgPSBsaW5l
TG9naWNhbFdpZHRoIC0gY29udGVudExvZ2ljYWxXaWR0aDsKICAgICAvLyBEZXBlbmRpbmcgb24g
dGhlIGxpbmXigJlzIGFsaWdubWVudC9qdXN0aWZpY2F0aW9uLCB0aGUgaGFuZ2luZyBnbHlwaCBj
YW4gYmUgcGxhY2VkIG91dHNpZGUgdGhlIGxpbmUgYm94LgotICAgIGV4dHJhSG9yaXpvbnRhbFNw
YWNlICs9IGhhbmdpbmdHbHlwaFdpZHRoKGV4dHJhSG9yaXpvbnRhbFNwYWNlLCBydW5zLCBpc0xh
c3RMaW5lKTsKKyAgICBhdXRvJiBydW5zID0gbGluZUNvbnRlbnQucnVuczsKKyAgICBhdXRvIGNv
bnRlbnRMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5jb250ZW50TG9naWNhbFdpZHRoOworICAg
IGlmIChsaW5lQ29udGVudC5oYW5naW5nV2hpdGVzcGFjZVdpZHRoKSB7CisgICAgICAgIEFTU0VS
VCghcnVucy5pc0VtcHR5KCkpOworICAgICAgICAvLyBJZiB3aGl0ZS1zcGFjZSBpcyBzZXQgdG8g
cHJlLXdyYXAsIHRoZSBVQSBtdXN0ICh1bmNvbmRpdGlvbmFsbHkpIGhhbmcgdGhpcyBzZXF1ZW5j
ZSwgdW5sZXNzIHRoZSBzZXF1ZW5jZSBpcyBmb2xsb3dlZAorICAgICAgICAvLyBieSBhIGZvcmNl
ZCBsaW5lIGJyZWFrLCBpbiB3aGljaCBjYXNlIGl0IG11c3QgY29uZGl0aW9uYWxseSBoYW5nIHRo
ZSBzZXF1ZW5jZSBpcyBpbnN0ZWFkLgorICAgICAgICAvLyBOb3RlIHRoYXQgZW5kIG9mIGxhc3Qg
bGluZSBpbiBhIHBhcmFncmFwaCBpcyBjb25zaWRlcmVkIGEgZm9yY2VkIGJyZWFrLgorICAgICAg
ICBhdXRvIGlzQ29uZGl0aW9uYWxIYW5naW5nID0gcnVucy5sYXN0KCkuaXNMaW5lQnJlYWsoKSB8
fCBsaW5lQ29udGVudC5pc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQ7CisgICAgICAgIC8vIElu
IHNvbWUgY2FzZXMsIGEgZ2x5cGggYXQgdGhlIGVuZCBvZiBhIGxpbmUgY2FuIGNvbmRpdGlvbmFs
bHkgaGFuZzogaXQgaGFuZ3Mgb25seSBpZiBpdCBkb2VzIG5vdCBvdGhlcndpc2UgZml0IGluIHRo
ZSBsaW5lIHByaW9yIHRvIGp1c3RpZmljYXRpb24uCisgICAgICAgIC8vIEZJWE1FOiBPbmx5IHRo
ZSBvdmVyZmxvd2luZyBnbHlwaHMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZm9yIGhhbmdpbmcuCisg
ICAgICAgIGlmIChpc0NvbmRpdGlvbmFsSGFuZ2luZykKKyAgICAgICAgICAgIGNvbnRlbnRMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1pbihjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5saW5l
TG9naWNhbFdpZHRoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY29udGVudExvZ2ljYWxX
aWR0aCAtPSBsaW5lQ29udGVudC5oYW5naW5nV2hpdGVzcGFjZVdpZHRoOworICAgIH0KKyAgICBh
dXRvIGV4dHJhSG9yaXpvbnRhbFNwYWNlID0gbGluZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCAt
IGNvbnRlbnRMb2dpY2FsV2lkdGg7CiAgICAgaWYgKGV4dHJhSG9yaXpvbnRhbFNwYWNlIDw9IDAp
CiAgICAgICAgIHJldHVybiB7IH07CiAKQEAgLTc2LDcgKzY0LDcgQEAgc3RhdGljIHN0ZDo6b3B0
aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChjb25zdCBM
aW5lOjpSdW4KICAgICAgICAgLy8gVGV4dCBpcyBqdXN0aWZpZWQgYWNjb3JkaW5nIHRvIHRoZSBt
ZXRob2Qgc3BlY2lmaWVkIGJ5IHRoZSB0ZXh0LWp1c3RpZnkgcHJvcGVydHksCiAgICAgICAgIC8v
IGluIG9yZGVyIHRvIGV4YWN0bHkgZmlsbCB0aGUgbGluZSBib3guIFVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGJ5IHRleHQtYWxpZ24tbGFzdCwKICAgICAgICAgLy8gdGhlIGxhc3QgbGluZSBi
ZWZvcmUgYSBmb3JjZWQgYnJlYWsgb3IgdGhlIGVuZCBvZiB0aGUgYmxvY2sgaXMgc3RhcnQtYWxp
Z25lZC4KLSAgICAgICAgaWYgKGlzTGFzdExpbmUgfHwgKCFydW5zLmlzRW1wdHkoKSAmJiBydW5z
Lmxhc3QoKS5pc0xpbmVCcmVhaygpKSkKKyAgICAgICAgaWYgKGxpbmVDb250ZW50LmlzTGFzdExp
bmVXaXRoSW5saW5lQ29udGVudCB8fCAoIXJ1bnMuaXNFbXB0eSgpICYmIHJ1bnMubGFzdCgpLmlz
TGluZUJyZWFrKCkpKQogICAgICAgICAgICAgcmV0dXJuIFRleHRBbGlnbk1vZGU6OlN0YXJ0Owog
ICAgICAgICByZXR1cm4gVGV4dEFsaWduTW9kZTo6SnVzdGlmeTsKICAgICB9OwpAQCAtMTExLDEz
ICs5OSwxMSBAQCBMaW5lQm94QnVpbGRlcjo6TGluZUJveEJ1aWxkZXIoY29uc3QgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDbwogCiBMaW5lQm94QnVpbGRlcjo6TGlu
ZUFuZExpbmVCb3ggTGluZUJveEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5l
Q29udGVudCYgbGluZUNvbnRlbnQsIHNpemVfdCBsaW5lSW5kZXgpCiB7Ci0gICAgYXV0byYgcnVu
cyA9IGxpbmVDb250ZW50LnJ1bnM7Ci0gICAgYXV0byBjb250ZW50TG9naWNhbFdpZHRoID0gbGlu
ZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aDsKICAgICBhdXRvIHRleHRBbGlnbiA9ICFsaW5l
SW5kZXggPyByb290Qm94KCkuZmlyc3RMaW5lU3R5bGUoKS50ZXh0QWxpZ24oKSA6IHJvb3RCb3go
KS5zdHlsZSgpLnRleHRBbGlnbigpOwotICAgIGF1dG8gY29udGVudExvZ2ljYWxMZWZ0ID0gTGF5
b3V0Ojpob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KHJ1bnMsIHRleHRBbGlnbiwgbGluZUNvbnRl
bnQubGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUNvbnRlbnQuaXNM
YXN0TGluZVdpdGhJbmxpbmVDb250ZW50KS52YWx1ZV9vcihJbmxpbmVMYXlvdXRVbml0IHsgfSk7
Ci0gICAgYXV0byBsaW5lQm94ID0gTGluZUJveCB7IHJvb3RCb3goKSwgY29udGVudExvZ2ljYWxM
ZWZ0LCBjb250ZW50TG9naWNhbFdpZHRoLCBsaW5lSW5kZXgsIGxpbmVDb250ZW50Lm5vblNwYW5u
aW5nSW5saW5lTGV2ZWxCb3hDb3VudCB9OworICAgIGF1dG8gY29udGVudExvZ2ljYWxMZWZ0ID0g
TGF5b3V0Ojpob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KHRleHRBbGlnbiwgbGluZUNvbnRlbnQp
LnZhbHVlX29yKElubGluZUxheW91dFVuaXQgeyB9KTsKKyAgICBhdXRvIGxpbmVCb3ggPSBMaW5l
Qm94IHsgcm9vdEJveCgpLCBjb250ZW50TG9naWNhbExlZnQsIGxpbmVDb250ZW50LmNvbnRlbnRM
b2dpY2FsV2lkdGgsIGxpbmVJbmRleCwgbGluZUNvbnRlbnQubm9uU3Bhbm5pbmdJbmxpbmVMZXZl
bEJveENvdW50IH07CiAKLSAgICBhdXRvIGxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gY29uc3RydWN0
QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKGxpbmVCb3gsIHJ1bnMsIGxpbmVJbmRleCk7CisgICAg
YXV0byBsaW5lQm94TG9naWNhbEhlaWdodCA9IGNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxC
b3hlcyhsaW5lQm94LCBsaW5lQ29udGVudC5ydW5zLCBsaW5lSW5kZXgpOwogCiAgICAgYXV0byBs
aW5lID0gWyZdIHsKICAgICAgICAgYXV0byBsaW5lQm94TG9naWNhbFJlY3QgPSBJbmxpbmVSZWN0
IHsgbGluZUNvbnRlbnQubG9naWNhbFRvcExlZnQsIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lk
dGgsIGxpbmVCb3hMb2dpY2FsSGVpZ2h0IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
QnVpbGRlci5jcHAKaW5kZXggZGY1OWE4M2U3Y2RkYjBjNjFlMWM2YmJiMjY2Yzk4YTUzNTU2ZTA2
NS4uMzE1OTllMDlmOTJlZjJlNWQ2ZTk0ZTcwYTQ1YTgwNmU3ZTdmNDgyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcApAQCAtMjc4LDYgKzI3OCw3IEBAIExpbmVC
dWlsZGVyOjpMaW5lQ29udGVudCBMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25z
dCBJbmxpbmVJdGVtUmFuZ2UmCiAgICAgICAgICwgbV9saW5lTG9naWNhbFJlY3QudG9wTGVmdCgp
CiAgICAgICAgICwgbV9saW5lTG9naWNhbFJlY3Qud2lkdGgoKQogICAgICAgICAsIG1fbGluZS5j
b250ZW50TG9naWNhbFdpZHRoKCkKKyAgICAgICAgLCBtX2xpbmUuaGFuZ2luZ1doaXRlc3BhY2VX
aWR0aCgpCiAgICAgICAgICwgaXNMYXN0TGluZQogICAgICAgICAsIG1fbGluZS5ub25TcGFubmlu
Z0lubGluZUxldmVsQm94Q291bnQoKQogICAgICAgICAsIG1fbGluZS5ydW5zKCl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXggNjJkNzVlYTgzZDA0OGM5MjJjNWYx
ZTE3YTMyNTQxMGI5YWVhYmJhZS4uM2JiYjUzZjVmYjBkZGY4YmIwZGM2Y2NmNjUyMDk0NjdiMWM4
MDI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCkBAIC01Niw4ICs1
Niw5IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgRmxvYXRMaXN0JiBmbG9hdHM7CiAgICAgICAg
IGJvb2wgaGFzSW50cnVzaXZlRmxvYXQgeyBmYWxzZSB9OwogICAgICAgICBJbmxpbmVMYXlvdXRQ
b2ludCBsb2dpY2FsVG9wTGVmdDsKLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsaW5lTG9naWNh
bFdpZHRoOwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGg7Cisg
ICAgICAgIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCB7IDAgfTsKKyAgICAgICAg
SW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoIHsgMCB9OworICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IGhhbmdpbmdXaGl0ZXNwYWNlV2lkdGggeyAwIH07CiAgICAgICAgIGJvb2wg
aXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9OwogICAgICAgICBzaXplX3Qgbm9u
U3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IHsgMCB9OwogICAgICAgICBjb25zdCBMaW5lOjpS
dW5MaXN0JiBydW5zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440011</attachid>
            <date>2021-10-03 11:43:43 -0700</date>
            <delta_ts>2021-10-03 11:46:26 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-231126-20211003114342.patch</filename>
            <type>text/plain</type>
            <size>14857</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI0YjUyMGQ1NDg0Mjky
OGZlYzJhYjJlM2QyOTAyNWFmY2U1ODgzMS4uZDAyNDAwZTlhY2YxODY4YmViZWFhNGQyOTZiYWU1
MTQwYWI4Yzc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTAzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIE1vdmluZyBo
YW5naW5nIHdoaXRlc3BhY2Ugc2VxdWVuY2UgaGFuZGxpbmcgdG8gTGluZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTI2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgTGV0IHRoZSBMaW5lIGhhbmRsZSB0
aGUgd2hpdGVzcGFjZSBoYW5naW5nLiBMaW5lOjpIYW5naW5nVHJhaWxpbmdDb250ZW50IHdpbGwg
ZXZlbnR1YWxseSBnYWluIG1vcmUgZnVuY3Rpb25hbGl0eS4KKyAgICAgICAgVGhpcyBpcyBhbHNv
IGluIHByZXBhcmF0aW9uIGZvciBmaXhpbmcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvdGV4dGFyZWEtcHJlLXdyYXAtMDE0Lmh0bWwKKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpMaW5lKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6dmlzdWFsbHlDb2xsYXBzZUhhbmdpbmdPdmVyZmxvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkhhbmdpbmdUcmFpbGluZ0NvbnRlbnQ6Okhhbmdp
bmdUcmFpbGluZ0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpIYW5n
aW5nVHJhaWxpbmdDb250ZW50Ojp3aWR0aCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lOjpoYW5naW5nV2hpdGVzcGFjZVdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjpzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5nIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjppc092ZXJmbG93V2hpdGVz
cGFjZUhhbmdpbmcgY29uc3QpOiBEZWxldGVkLiBzaG91bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5n
IGlzIGEgbW9yZSBkZXNjcmlwdGl2ZSBuYW1lLgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OmhhbmdpbmdHbHlwaFdpZHRoKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KToKKyAgICAgICAg
KiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oOgor
CiAyMDIxLTEwLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtJbnRlZ3JhdGlvbl0gTW92ZSBpbmxpbmUgaXRlcmF0b3JzIHRvIElubGluZUl0ZXJh
dG9yIG5hbWVzcGFjZSBhbmQgcmVuYW1lIFJ1biogdG8gQm94KgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lLmNwcAppbmRleCAzMzFmMTMyYmQxMzUzNGEwNTUyYTc5NzUwNGE0MGZkZjNmMmE3YzBiLi42
NDgzZTVhMzczZjE0ZTc4N2M2ODI4NjRmODE2NzY1Nzk1YWI5NDgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMaW5lLmNwcApAQCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIExpbmU6
OkxpbmUoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250
ZXh0KQogICAgIDogbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dChpbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dCkKICAgICAsIG1fdHJpbW1hYmxlVHJhaWxpbmdDb250ZW50KG1fcnVucykKKyAgICAsIG1f
aGFuZ2luZ1RyYWlsaW5nQ29udGVudChtX3J1bnMpCiB7CiB9CiAKQEAgLTE3NSw3ICsxNzYsNyBA
QCB2b2lkIExpbmU6OnZpc3VhbGx5Q29sbGFwc2VIYW5naW5nT3ZlcmZsb3coSW5saW5lTGF5b3V0
VW5pdCBleHRyYUhvcml6b250YWxTcGFjZQogICAgIC8vIGRpZmZlcmVudCBzZXQgb2Ygd2hpdGUt
c3BhY2UgdmFsdWVzIGFuZCBkZWNpZGUgaWYgdGhlIGluLWJldHdlZW4gcHJlLXdyYXAgY29udGVu
dCBzaG91bGQgYmUgY29sbGFwc2VkIGFzIHdlbGwuKQogICAgIGF1dG8gdHJpbW1lZENvbnRlbnRX
aWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OwogICAgIGZvciAoYXV0byYgcnVuIDogV1RGOjpt
YWtlUmV2ZXJzZWRSYW5nZShtX3J1bnMpKSB7Ci0gICAgICAgIGlmICghcnVuLmlzT3ZlcmZsb3dX
aGl0ZXNwYWNlSGFuZ2luZygpKQorICAgICAgICBpZiAoIXJ1bi5zaG91bGRUcmFpbGluZ1doaXRl
c3BhY2VIYW5nKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byB2aXN1YWxseUNv
bGxhcHNpYmxlSW5saW5lSXRlbSA9IHJ1bi5pc0lubGluZUJveFN0YXJ0KCkgfHwgcnVuLmlzSW5s
aW5lQm94RW5kKCkgfHwgcnVuLmhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpOwogICAgICAgICBpZiAo
IXZpc3VhbGx5Q29sbGFwc2libGVJbmxpbmVJdGVtKQpAQCAtNDQxLDYgKzQ0MiwyOSBAQCBJbmxp
bmVMYXlvdXRVbml0IExpbmU6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6cmVtb3ZlUGFydGlh
bGx5VHJpbW1hYmxlQ29udGVudAogICAgIHJldHVybiByZW1vdmUoKTsKIH0KIAorTGluZTo6SGFu
Z2luZ1RyYWlsaW5nQ29udGVudDo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudChjb25zdCBSdW5MaXN0
JiBydW5zKQorICAgIDogbV9ydW5zKHJ1bnMpCit7Cit9CisKK0lubGluZUxheW91dFVuaXQgTGlu
ZTo6SGFuZ2luZ1RyYWlsaW5nQ29udGVudDo6d2lkdGgoKSBjb25zdAoreworICAgIC8vIFdoZW4g
YSBnbHlwaCBhdCB0aGUgc3RhcnQgb3IgZW5kIGVkZ2Ugb2YgYSBsaW5lIGhhbmdzLCBpdCBpcyBu
b3QgY29uc2lkZXJlZCB3aGVuIG1lYXN1cmluZyB0aGUgbGluZeKAmXMgY29udGVudHMgZm9yIGZp
dCwgYWxpZ25tZW50LCBvciBqdXN0aWZpY2F0aW9uLgorICAgIC8vIERlcGVuZGluZyBvbiB0aGUg
bGluZeKAmXMgYWxpZ25tZW50L2p1c3RpZmljYXRpb24sIHRoaXMgY2FuIHJlc3VsdCBpbiB0aGUg
bWFyayBiZWluZyBwbGFjZWQgb3V0c2lkZSB0aGUgbGluZSBib3guCisgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI2hhbmdpbmcKKyAgICBhdXRvIGhhbmdpbmdXaWR0
aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGZvciAoYXV0byYgcnVuIDogV1RGOjptYWtl
UmV2ZXJzZWRSYW5nZShtX3J1bnMpKSB7CisgICAgICAgIGlmIChydW4uaXNCb3goKSB8fCBydW4u
aXNMaW5lQnJlYWsoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAocnVuLmlzSW5s
aW5lQm94U3RhcnQoKSB8fCBydW4uaXNJbmxpbmVCb3hFbmQoKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICBpZiAoIXJ1bi5oYXNUcmFpbGluZ1doaXRlc3BhY2UoKSB8fCAhcnVuLnNo
b3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBoYW5naW5nV2lkdGggKz0gcnVuLnRyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKCk7CisgICAgfQor
ICAgIHJldHVybiBoYW5naW5nV2lkdGg7Cit9CisKIExpbmU6OlJ1bjo6UnVuKGNvbnN0IElubGlu
ZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgSW5saW5lTGF5b3V0
VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiAgICAgOiBt
X3R5cGUoaW5saW5lSXRlbS50eXBlKCkpCiAgICAgLCBtX2xheW91dEJveCgmaW5saW5lSXRlbS5s
YXlvdXRCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaAppbmRleCA2MWMyZTUyY2U3NjBkODZh
N2Y0NDkyZDRlYWU2ZWMyYmRiZGM4YjA3Li5lNTZiMjBiN2ZmYjg0OGY1M2JhMjE3N2MwMDY4Y2Q3
ODIxMTdhN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZS5oCkBAIC01Myw2ICs1Myw4IEBAIHB1
YmxpYzoKICAgICBJbmxpbmVMYXlvdXRVbml0IHRyaW1tYWJsZVRyYWlsaW5nV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC53aWR0aCgpOyB9CiAgICAgYm9v
bCBpc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUoKSBjb25zdCB7IHJldHVybiBtX3RyaW1tYWJs
ZVRyYWlsaW5nQ29udGVudC5pc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUoKTsgfQogCisgICAg
SW5saW5lTGF5b3V0VW5pdCBoYW5naW5nV2hpdGVzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4g
bV9oYW5naW5nVHJhaWxpbmdDb250ZW50LndpZHRoKCk7IH0KKwogICAgIHN0ZDo6b3B0aW9uYWw8
SW5saW5lTGF5b3V0VW5pdD4gdHJhaWxpbmdTb2Z0SHlwaGVuV2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX3RyYWlsaW5nU29mdEh5cGhlbldpZHRoOyB9CiAgICAgdm9pZCBhZGRUcmFpbGluZ0h5cGhl
bihJbmxpbmVMYXlvdXRVbml0IGh5cGhlbkxvZ2ljYWxXaWR0aCk7CiAKQEAgLTg3LDcgKzg5LDcg
QEAgcHVibGljOgogICAgICAgICBib29sIGhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSAhPSBUcmFpbGluZ1doaXRlc3BhY2U6Ok5v
bmU7IH0KICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmFpbGluZ1doaXRlc3BhY2VXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGg7IH0KIAotICAgICAgICBi
b29sIGlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZygpIGNvbnN0OworICAgICAgICBib29sIHNo
b3VsZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcoKSBjb25zdDsKICAgICAgICAgVGV4dERpcmVjdGlv
biBpbmxpbmVEaXJlY3Rpb24oKSBjb25zdDsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsZXR0
ZXJTcGFjaW5nKCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaGFzVGV4dENvbWJpbmUoKSBjb25zdDsK
QEAgLTEzMSw3ICsxMzMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VGV4dD4g
bV90ZXh0Q29udGVudDsKICAgICAgICAgSW5saW5lRGlzcGxheTo6Qm94OjpFeHBhbnNpb24gbV9l
eHBhbnNpb247CiAgICAgICAgIHN0cnVjdCBTdHlsZSB7Ci0gICAgICAgICAgICBib29sIGlzT3Zl
cmZsb3dXaGl0ZXNwYWNlSGFuZ2luZyB7IGZhbHNlIH07CisgICAgICAgICAgICBib29sIHNob3Vs
ZFRyYWlsaW5nV2hpdGVzcGFjZUhhbmcgeyBmYWxzZSB9OwogICAgICAgICAgICAgVGV4dERpcmVj
dGlvbiBpbmxpbmVEaXJlY3Rpb24geyBUZXh0RGlyZWN0aW9uOjpSVEwgfTsKICAgICAgICAgICAg
IElubGluZUxheW91dFVuaXQgbGV0dGVyU3BhY2luZyB7IDAgfTsKICAgICAgICAgICAgIGJvb2wg
aGFzVGV4dENvbWJpbmUgeyBmYWxzZSB9OwpAQCAtMTc5LDkgKzE4MSwxOSBAQCBwcml2YXRlOgog
ICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fcGFydGlhbGx5VHJpbW1hYmxlV2lkdGggeyAwIH07
CiAgICAgfTsKIAorICAgIHN0cnVjdCBIYW5naW5nVHJhaWxpbmdDb250ZW50IHsKKyAgICAgICAg
SGFuZ2luZ1RyYWlsaW5nQ29udGVudChjb25zdCBSdW5MaXN0Jik7CisKKyAgICAgICAgSW5saW5l
TGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0OworCisgICAgcHJpdmF0ZToKKyAgICAgICAgY29uc3Qg
UnVuTGlzdCYgbV9ydW5zOworICAgIH07CisKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKICAgICBSdW5MaXN0IG1fcnVuczsKICAg
ICBUcmltbWFibGVUcmFpbGluZ0NvbnRlbnQgbV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQ7Cisg
ICAgSGFuZ2luZ1RyYWlsaW5nQ29udGVudCBtX2hhbmdpbmdUcmFpbGluZ0NvbnRlbnQ7CiAgICAg
SW5saW5lTGF5b3V0VW5pdCBtX2NvbnRlbnRMb2dpY2FsV2lkdGggeyAwIH07CiAgICAgc2l6ZV90
IG1fbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IHsgMCB9OwogICAgIHN0ZDo6b3B0aW9u
YWw8SW5saW5lTGF5b3V0VW5pdD4gbV90cmFpbGluZ1NvZnRIeXBoZW5XaWR0aCB7IDAgfTsKQEAg
LTIxMyw5ICsyMjUsOSBAQCBpbmxpbmUgdm9pZCBMaW5lOjpSdW46OnNldE5lZWRzSHlwaGVuKElu
bGluZUxheW91dFVuaXQgaHlwaGVuTG9naWNhbFdpZHRoKQogICAgIG1fbG9naWNhbFdpZHRoICs9
IGh5cGhlbkxvZ2ljYWxXaWR0aDsKIH0KIAotaW5saW5lIGJvb2wgTGluZTo6UnVuOjppc092ZXJm
bG93V2hpdGVzcGFjZUhhbmdpbmcoKSBjb25zdAoraW5saW5lIGJvb2wgTGluZTo6UnVuOjpzaG91
bGRUcmFpbGluZ1doaXRlc3BhY2VIYW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9zdHlsZS5p
c092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmc7CisgICAgcmV0dXJuIG1fc3R5bGUuc2hvdWxkVHJh
aWxpbmdXaGl0ZXNwYWNlSGFuZzsKIH0KIAogaW5saW5lIFRleHREaXJlY3Rpb24gTGluZTo6UnVu
OjppbmxpbmVEaXJlY3Rpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwCmluZGV4IDBmNjRkYjg0NmQxM2M4YjJjYTQ0MjQ0MjczYzNkOThhY2Q2
YjE0MDUuLjg3MzcxZThmM2FjYWVkOGM4YjRlODdmN2QxOGFkZWY1NWFiZGJlZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmVCb3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKQEAgLTM2LDM3ICszNiwy
NSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLXN0YXRpYyBJ
bmxpbmVMYXlvdXRVbml0IGhhbmdpbmdHbHlwaFdpZHRoKElubGluZUxheW91dFVuaXQgZXh0cmFI
b3Jpem9udGFsU3BhY2UsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnMsIGJvb2wgaXNMYXN0TGlu
ZVdpdGhJbmxpbmVDb250ZW50KQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5p
dD4gaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChUZXh0QWxpZ25Nb2RlIHRleHRBbGlnbiwgY29u
c3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCkKIHsKLSAgICAvLyBXaGVu
IGEgZ2x5cGggYXQgdGhlIHN0YXJ0IG9yIGVuZCBlZGdlIG9mIGEgbGluZSBoYW5ncywgaXQgaXMg
bm90IGNvbnNpZGVyZWQgd2hlbiBtZWFzdXJpbmcgdGhlIGxpbmXigJlzIGNvbnRlbnRzIGZvciBm
aXQsIGFsaWdubWVudCwgb3IganVzdGlmaWNhdGlvbi4KLSAgICAvLyBEZXBlbmRpbmcgb24gdGhl
IGxpbmXigJlzIGFsaWdubWVudC9qdXN0aWZpY2F0aW9uLCB0aGlzIGNhbiByZXN1bHQgaW4gdGhl
IG1hcmsgYmVpbmcgcGxhY2VkIG91dHNpZGUgdGhlIGxpbmUgYm94LgotICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4dC0zLyNoYW5naW5nCi0gICAgYXV0byBpc0NvbmRpdGlv
bmFsID0gaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50OwotICAgIGF1dG8gaGFuZ2luZ1dpZHRo
ID0gSW5saW5lTGF5b3V0VW5pdCB7IH07Ci0gICAgZm9yIChhdXRvJiBydW4gOiBXVEY6Om1ha2VS
ZXZlcnNlZFJhbmdlKHJ1bnMpKSB7Ci0gICAgICAgIGlmIChydW4uaXNJbmxpbmVCb3hTdGFydCgp
IHx8IHJ1bi5pc0lubGluZUJveEVuZCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IGlmIChydW4uaXNMaW5lQnJlYWsoKSkgewotICAgICAgICAgICAgaXNDb25kaXRpb25hbCA9IHRy
dWU7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXJ1bi5o
YXNUcmFpbGluZ1doaXRlc3BhY2UoKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvLyBD
aGVjayBpZiB3ZSBoYXZlIGEgcHJlc2VydmVkIG9yIGh1bmcgd2hpdGVzcGFjZS4KLSAgICAgICAg
aWYgKCFydW4uaXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5nKCkpCi0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgLy8gVGhpcyBpcyBlaXRoZXIgYSBub3JtYWwgb3IgY29uZGl0aW9uYWxseSBo
YW5naW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UuCi0gICAgICAgIGhhbmdpbmdXaWR0aCArPSBydW4u
dHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGgoKTsKLSAgICB9Ci0gICAgLy8gSW4gc29tZSBjYXNlcywg
YSBnbHlwaCBhdCB0aGUgZW5kIG9mIGEgbGluZSBjYW4gY29uZGl0aW9uYWxseSBoYW5nOiBpdCBo
YW5ncyBvbmx5IGlmIGl0IGRvZXMgbm90IG90aGVyd2lzZSBmaXQgaW4gdGhlIGxpbmUgcHJpb3Ig
dG8ganVzdGlmaWNhdGlvbi4KLSAgICByZXR1cm4gIWlzQ29uZGl0aW9uYWwgfHwgZXh0cmFIb3Jp
em9udGFsU3BhY2UgPCAwID8gaGFuZ2luZ1dpZHRoIDogSW5saW5lTGF5b3V0VW5pdCB7IH07Ci19
Ci0KLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGhvcml6b250YWxBbGln
bm1lbnRPZmZzZXQoY29uc3QgTGluZTo6UnVuTGlzdCYgcnVucywgVGV4dEFsaWduTW9kZSB0ZXh0
QWxpZ24sIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5p
dCBjb250ZW50TG9naWNhbFdpZHRoLCBib29sIGlzTGFzdExpbmUpCi17Ci0gICAgYXV0byBleHRy
YUhvcml6b250YWxTcGFjZSA9IGxpbmVMb2dpY2FsV2lkdGggLSBjb250ZW50TG9naWNhbFdpZHRo
OwogICAgIC8vIERlcGVuZGluZyBvbiB0aGUgbGluZeKAmXMgYWxpZ25tZW50L2p1c3RpZmljYXRp
b24sIHRoZSBoYW5naW5nIGdseXBoIGNhbiBiZSBwbGFjZWQgb3V0c2lkZSB0aGUgbGluZSBib3gu
Ci0gICAgZXh0cmFIb3Jpem9udGFsU3BhY2UgKz0gaGFuZ2luZ0dseXBoV2lkdGgoZXh0cmFIb3Jp
em9udGFsU3BhY2UsIHJ1bnMsIGlzTGFzdExpbmUpOworICAgIGF1dG8mIHJ1bnMgPSBsaW5lQ29u
dGVudC5ydW5zOworICAgIGF1dG8gY29udGVudExvZ2ljYWxXaWR0aCA9IGxpbmVDb250ZW50LmNv
bnRlbnRMb2dpY2FsV2lkdGg7CisgICAgaWYgKGxpbmVDb250ZW50LmhhbmdpbmdXaGl0ZXNwYWNl
V2lkdGgpIHsKKyAgICAgICAgQVNTRVJUKCFydW5zLmlzRW1wdHkoKSk7CisgICAgICAgIC8vIElm
IHdoaXRlLXNwYWNlIGlzIHNldCB0byBwcmUtd3JhcCwgdGhlIFVBIG11c3QgKHVuY29uZGl0aW9u
YWxseSkgaGFuZyB0aGlzIHNlcXVlbmNlLCB1bmxlc3MgdGhlIHNlcXVlbmNlIGlzIGZvbGxvd2Vk
CisgICAgICAgIC8vIGJ5IGEgZm9yY2VkIGxpbmUgYnJlYWssIGluIHdoaWNoIGNhc2UgaXQgbXVz
dCBjb25kaXRpb25hbGx5IGhhbmcgdGhlIHNlcXVlbmNlIGlzIGluc3RlYWQuCisgICAgICAgIC8v
IE5vdGUgdGhhdCBlbmQgb2YgbGFzdCBsaW5lIGluIGEgcGFyYWdyYXBoIGlzIGNvbnNpZGVyZWQg
YSBmb3JjZWQgYnJlYWsuCisgICAgICAgIGF1dG8gaXNDb25kaXRpb25hbEhhbmdpbmcgPSBydW5z
Lmxhc3QoKS5pc0xpbmVCcmVhaygpIHx8IGxpbmVDb250ZW50LmlzTGFzdExpbmVXaXRoSW5saW5l
Q29udGVudDsKKyAgICAgICAgLy8gSW4gc29tZSBjYXNlcywgYSBnbHlwaCBhdCB0aGUgZW5kIG9m
IGEgbGluZSBjYW4gY29uZGl0aW9uYWxseSBoYW5nOiBpdCBoYW5ncyBvbmx5IGlmIGl0IGRvZXMg
bm90IG90aGVyd2lzZSBmaXQgaW4gdGhlIGxpbmUgcHJpb3IgdG8ganVzdGlmaWNhdGlvbi4KKyAg
ICAgICAgLy8gRklYTUU6IE9ubHkgdGhlIG92ZXJmbG93aW5nIGdseXBocyBzaG91bGQgYmUgY29u
c2lkZXJlZCBmb3IgaGFuZ2luZy4KKyAgICAgICAgaWYgKGlzQ29uZGl0aW9uYWxIYW5naW5nKQor
ICAgICAgICAgICAgY29udGVudExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWluKGNvbnRlbnRMb2dpY2Fs
V2lkdGgsIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBjb250ZW50TG9naWNhbFdpZHRoIC09IGxpbmVDb250ZW50LmhhbmdpbmdXaGl0ZXNw
YWNlV2lkdGg7CisgICAgfQorICAgIGF1dG8gZXh0cmFIb3Jpem9udGFsU3BhY2UgPSBsaW5lQ29u
dGVudC5saW5lTG9naWNhbFdpZHRoIC0gY29udGVudExvZ2ljYWxXaWR0aDsKICAgICBpZiAoZXh0
cmFIb3Jpem9udGFsU3BhY2UgPD0gMCkKICAgICAgICAgcmV0dXJuIHsgfTsKIApAQCAtNzYsNyAr
NjQsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBob3Jpem9udGFs
QWxpZ25tZW50T2Zmc2V0KGNvbnN0IExpbmU6OlJ1bgogICAgICAgICAvLyBUZXh0IGlzIGp1c3Rp
ZmllZCBhY2NvcmRpbmcgdG8gdGhlIG1ldGhvZCBzcGVjaWZpZWQgYnkgdGhlIHRleHQtanVzdGlm
eSBwcm9wZXJ0eSwKICAgICAgICAgLy8gaW4gb3JkZXIgdG8gZXhhY3RseSBmaWxsIHRoZSBsaW5l
IGJveC4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgYnkgdGV4dC1hbGlnbi1sYXN0LAogICAg
ICAgICAvLyB0aGUgbGFzdCBsaW5lIGJlZm9yZSBhIGZvcmNlZCBicmVhayBvciB0aGUgZW5kIG9m
IHRoZSBibG9jayBpcyBzdGFydC1hbGlnbmVkLgotICAgICAgICBpZiAoaXNMYXN0TGluZSB8fCAo
IXJ1bnMuaXNFbXB0eSgpICYmIHJ1bnMubGFzdCgpLmlzTGluZUJyZWFrKCkpKQorICAgICAgICBp
ZiAobGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50IHx8ICghcnVucy5pc0Vt
cHR5KCkgJiYgcnVucy5sYXN0KCkuaXNMaW5lQnJlYWsoKSkpCiAgICAgICAgICAgICByZXR1cm4g
VGV4dEFsaWduTW9kZTo6U3RhcnQ7CiAgICAgICAgIHJldHVybiBUZXh0QWxpZ25Nb2RlOjpKdXN0
aWZ5OwogICAgIH07CkBAIC0xMTEsMTMgKzk5LDExIEBAIExpbmVCb3hCdWlsZGVyOjpMaW5lQm94
QnVpbGRlcihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0Nv
CiAKIExpbmVCb3hCdWlsZGVyOjpMaW5lQW5kTGluZUJveCBMaW5lQm94QnVpbGRlcjo6YnVpbGQo
Y29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCwgc2l6ZV90IGxpbmVJ
bmRleCkKIHsKLSAgICBhdXRvJiBydW5zID0gbGluZUNvbnRlbnQucnVuczsKLSAgICBhdXRvIGNv
bnRlbnRMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5jb250ZW50TG9naWNhbFdpZHRoOwogICAg
IGF1dG8gdGV4dEFsaWduID0gIWxpbmVJbmRleCA/IHJvb3RCb3goKS5maXJzdExpbmVTdHlsZSgp
LnRleHRBbGlnbigpIDogcm9vdEJveCgpLnN0eWxlKCkudGV4dEFsaWduKCk7Ci0gICAgYXV0byBj
b250ZW50TG9naWNhbExlZnQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQocnVu
cywgdGV4dEFsaWduLCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoLCBjb250ZW50TG9naWNh
bFdpZHRoLCBsaW5lQ29udGVudC5pc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpLnZhbHVlX29y
KElubGluZUxheW91dFVuaXQgeyB9KTsKLSAgICBhdXRvIGxpbmVCb3ggPSBMaW5lQm94IHsgcm9v
dEJveCgpLCBjb250ZW50TG9naWNhbExlZnQsIGNvbnRlbnRMb2dpY2FsV2lkdGgsIGxpbmVJbmRl
eCwgbGluZUNvbnRlbnQubm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50IH07CisgICAgYXV0
byBjb250ZW50TG9naWNhbExlZnQgPSBMYXlvdXQ6Omhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQo
dGV4dEFsaWduLCBsaW5lQ29udGVudCkudmFsdWVfb3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pOwor
ICAgIGF1dG8gbGluZUJveCA9IExpbmVCb3ggeyByb290Qm94KCksIGNvbnRlbnRMb2dpY2FsTGVm
dCwgbGluZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aCwgbGluZUluZGV4LCBsaW5lQ29udGVu
dC5ub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgfTsKIAotICAgIGF1dG8gbGluZUJveExv
Z2ljYWxIZWlnaHQgPSBjb25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVsQm94ZXMobGluZUJveCwg
cnVucywgbGluZUluZGV4KTsKKyAgICBhdXRvIGxpbmVCb3hMb2dpY2FsSGVpZ2h0ID0gY29uc3Ry
dWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKGxpbmVCb3gsIGxpbmVDb250ZW50LnJ1bnMsIGxp
bmVJbmRleCk7CiAKICAgICBhdXRvIGxpbmUgPSBbJl0gewogICAgICAgICBhdXRvIGxpbmVCb3hM
b2dpY2FsUmVjdCA9IElubGluZVJlY3QgeyBsaW5lQ29udGVudC5sb2dpY2FsVG9wTGVmdCwgbGlu
ZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwgbGluZUJveExvZ2ljYWxIZWlnaHQgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCBkZjU5YTgzZTdjZGRiMGM2
MWUxYzZiYmIyNjZjOThhNTM1NTZlMDY1Li4zMTU5OWUwOWY5MmVmMmU1ZDZlOTRlNzBhNDVhODA2
ZTdlN2Y0ODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCkBA
IC0yNzgsNiArMjc4LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjps
YXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYKICAgICAgICAgLCBtX2xp
bmVMb2dpY2FsUmVjdC50b3BMZWZ0KCkKICAgICAgICAgLCBtX2xpbmVMb2dpY2FsUmVjdC53aWR0
aCgpCiAgICAgICAgICwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKQorICAgICAgICAsIG1f
bGluZS5oYW5naW5nV2hpdGVzcGFjZVdpZHRoKCkKICAgICAgICAgLCBpc0xhc3RMaW5lCiAgICAg
ICAgICwgbV9saW5lLm5vblNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCgpCiAgICAgICAgICwg
bV9saW5lLnJ1bnMoKX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRl
eCA2MmQ3NWVhODNkMDQ4YzkyMmM1ZjFlMTdhMzI1NDEwYjlhZWFiYmFlLi4zYmJiNTNmNWZiMGRk
ZjhiYjBkYzZjY2Y2NTIwOTQ2N2IxYzgwMjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCdWlsZGVyLmgKQEAgLTU2LDggKzU2LDkgQEAgcHVibGljOgogICAgICAgICBjb25zdCBGbG9h
dExpc3QmIGZsb2F0czsKICAgICAgICAgYm9vbCBoYXNJbnRydXNpdmVGbG9hdCB7IGZhbHNlIH07
CiAgICAgICAgIElubGluZUxheW91dFBvaW50IGxvZ2ljYWxUb3BMZWZ0OwotICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGg7Ci0gICAgICAgIElubGluZUxheW91dFVuaXQg
Y29udGVudExvZ2ljYWxXaWR0aDsKKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsaW5lTG9naWNh
bFdpZHRoIHsgMCB9OworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lk
dGggeyAwIH07CisgICAgICAgIElubGluZUxheW91dFVuaXQgaGFuZ2luZ1doaXRlc3BhY2VXaWR0
aCB7IDAgfTsKICAgICAgICAgYm9vbCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQgeyB0cnVl
IH07CiAgICAgICAgIHNpemVfdCBub25TcGFubmluZ0lubGluZUxldmVsQm94Q291bnQgeyAwIH07
CiAgICAgICAgIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>