<?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>220715</bug_id>
          
          <creation_ts>2021-01-18 14:41:28 -0800</creation_ts>
          <short_desc>Continue removing glue code from RenderLayer that was recently added in r271559</short_desc>
          <delta_ts>2021-01-19 03:04:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>60305</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>aperez</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</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>1720416</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2021-01-18 14:41:28 -0800</bug_when>
    <thetext>Continue removing glue code from RenderLayer that was recently added in r271559</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720417</commentid>
    <comment_count>1</comment_count>
      <attachid>417847</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2021-01-18 14:42:06 -0800</bug_when>
    <thetext>Created attachment 417847
Patch, v1

We can use RenderLayerScrollableArea directly instead and get rid of the glue code that was only added to ease the landing of the patch on bug 60305</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720418</commentid>
    <comment_count>2</comment_count>
      <attachid>417848</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2021-01-18 14:50:44 -0800</bug_when>
    <thetext>Created attachment 417848
Patch, v2

We can use RenderLayerScrollableArea directly instead and get rid of the glue code that was only added to ease the landing of the patch on bug 60305</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720423</commentid>
    <comment_count>3</comment_count>
      <attachid>417849</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2021-01-18 15:48:27 -0800</bug_when>
    <thetext>Created attachment 417849
Patch, v3

We can use RenderLayerScrollableArea directly instead and get rid of the glue code that was only added to ease the landing of the patch on bug 60305</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720502</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2021-01-19 03:03:59 -0800</bug_when>
    <thetext>Committed r271598: &lt;https://trac.webkit.org/changeset/r271598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720503</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-19 03:04:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/73348301&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417847</attachid>
            <date>2021-01-18 14:42:06 -0800</date>
            <delta_ts>2021-01-18 14:50:39 -0800</delta_ts>
            <desc>Patch, v1</desc>
            <filename>bug-220715-20210118234205.patch</filename>
            <type>text/plain</type>
            <size>15948</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU3NzU1MjI2YjA5NDhm
OTM3ODY3NjliN2ZjMmJjNDNlOTBjNzk4Yy4uMTUxZjUzMWRhN2RlODgyNDJiODZlN2Y4Nzc0MWQx
ZTBjYzA0OGQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAxLTE4ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbnRp
bnVlIHJlbW92aW5nIGdsdWUgY29kZSBmcm9tIFJlbmRlckxheWVyIHRoYXQgd2FzIHJlY2VudGx5
IGFkZGVkIGluIHIyNzE1NTkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDcxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9TcGF0aWFs
TmF2aWdhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzY3JvbGxJbkRpcmVjdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXR1
cFdoZWVsRXZlbnRNb25pdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2V0U2Ny
b2xsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFRvcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OmN1cnJlbnRTY3JvbGxUeXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzY3JvbGxBbmltYXRvciBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRTY3JvbGxQb3NpdGlvbik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsQnlSZWN1cnNpdmVseSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0UmVxdWlyZXNTY3JvbGxQ
b3NpdGlvblJlY29uY2lsaWF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpoYXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZUFuY2VzdG9yKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpyZWFjaGFibGVUb3RhbENvbnRlbnRzU2l6
ZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aG9yaXpv
bnRhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9sbE9mZnNldCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lXZWJL
aXRTY3JvbGxpbmdMYXllckNvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxpbmdMYXllcik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsQnlSZWN1cnNpdmVseSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6aGFzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNlc3Rvcik6
CisKIDIwMjEtMDEtMTggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIHJlY2VudGx5IGFkZGVkIGdsdWUgY29kZTogUmVuZGVyTGF5
ZXI6OihzZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcgLyBzZXRTY3JvbGxTaG91bGRD
bGVhckxhdGNoZWRTdGF0ZSAvIHNldENvbnN0cmFpbnNTY3JvbGxpbmdUb0NvbnRlbnRFZGdlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAppbmRleCAzOGZiNDk3MWQy
YTMyOTQzN2U3NDQwMzcyNGE4ZDIxYmYxZDdlMmVhLi44MDliYzE5MTM0NzAwNzg3NDM1OTM2ODQ1
YjZjZGE1OTM1ZTVhMWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxO
YXZpZ2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9u
LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgorI2luY2x1ZGUgIlJlbmRlckxh
eWVyU2Nyb2xsYWJsZUFyZWEuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0zOTQsNyArMzk1LDggQEAgYm9vbCBzY3JvbGxJbkRpcmVjdGlvbihOb2Rl
KiBjb250YWluZXIsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIGNvbnRhaW5lci0+cmVuZGVyQm94KCktPmVu
Y2xvc2luZ0xheWVyKCktPnNjcm9sbEJ5UmVjdXJzaXZlbHkoSW50U2l6ZShkeCwgZHkpKTsKKyAg
ICAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVMYXllciA9IGNvbnRhaW5lci0+cmVuZGVyQm94KCkt
PmVuY2xvc2luZ0xheWVyKCktPnNjcm9sbGFibGVBcmVhKCkpCisgICAgICAgICAgICBzY3JvbGxh
YmxlTGF5ZXItPnNjcm9sbEJ5UmVjdXJzaXZlbHkoSW50U2l6ZShkeCwgZHkpKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CmluZGV4IDI3NmM2MzQ0NjY0MjI4Y2FjYTFjMTllMjU3YmZhMzk0MTk1NDM0MTEuLjkwZmFmOTJi
NTI4Mjg5NmNkMjc3MGNhYmEyNzdiNWI2YmM3NTEyMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0
b3IuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29t
cG9zaXRvci5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCIKICNpbmNs
dWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxv
dy5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlQ2VsbC5oIgpAQCAtNTkwLDcgKzU5MSw5IEBAIHN0
YXRpYyB2b2lkIHNldHVwV2hlZWxFdmVudE1vbml0b3IoUmVuZGVyTGF5ZXImIGxheWVyKQogICAg
IFBhZ2UmIHBhZ2UgPSBsYXllci5yZW5kZXJlcigpLnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UuaXNN
b25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGxheWVyLnNjcm9s
bEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKHBhZ2Uud2hlZWxFdmVudFRlc3RN
b25pdG9yKCkpOworICAgIGF1dG8qIHNjcm9sbGFibGVMYXllciA9IGxheWVyLnNjcm9sbGFibGVB
cmVhKCk7CisgICAgQVNTRVJUKHNjcm9sbGFibGVMYXllcik7CisgICAgc2Nyb2xsYWJsZUxheWVy
LT5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihwYWdlLndoZWVsRXZl
bnRUZXN0TW9uaXRvcigpKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbExlZnQoaW50
IG5ld0xlZnQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKQEAg
LTU5OCw3ICs2MDEsNyBAQCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsTGVmdChpbnQgbmV3TGVm
dCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBvcAogICAgIGlmICghaGFzT3Zl
cmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdoZWVs
RXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigpLT5zY3JvbGxUb1hQb3NpdGlvbihu
ZXdMZWZ0LCBvcHRpb25zKTsKKyAgICBsYXllcigpLT5lbnN1cmVMYXllclNjcm9sbGFibGVBcmVh
KCktPnNjcm9sbFRvWFBvc2l0aW9uKG5ld0xlZnQsIG9wdGlvbnMpOwogfQogCiB2b2lkIFJlbmRl
ckJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdl
T3B0aW9ucyYgb3B0aW9ucykKQEAgLTYwNiw3ICs2MDksNyBAQCB2b2lkIFJlbmRlckJveDo6c2V0
U2Nyb2xsVG9wKGludCBuZXdUb3AsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYg
b3B0aQogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigp
LT5zY3JvbGxUb1lQb3NpdGlvbihuZXdUb3AsIG9wdGlvbnMpOworICAgIGxheWVyKCktPmVuc3Vy
ZUxheWVyU2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsVG9ZUG9zaXRpb24obmV3VG9wLCBvcHRpb25z
KTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBv
c2l0aW9uJiBwb3NpdGlvbiwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBvcHRp
b25zKQpAQCAtNjE0LDcgKzYxNyw3IEBAIHZvaWQgUmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIGNvbnN0IFNjcm9sbFBvCiAgICAgaWYg
KCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHNl
dHVwV2hlZWxFdmVudE1vbml0b3IoKmxheWVyKCkpOwotICAgIGxheWVyKCktPnNldFNjcm9sbFBv
c2l0aW9uKHBvc2l0aW9uLCBvcHRpb25zKTsKKyAgICBsYXllcigpLT5lbnN1cmVMYXllclNjcm9s
bGFibGVBcmVhKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBvcHRpb25zKTsKIH0KIAog
dm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMmVjNWQ1Mzg4ZGZlMTAzMDU2YzFjMDczMzBl
YjA3NTA2ZDRkYTRlMC4uMjMwZmEyYTFhOGQyMTJhZGE2NzM1OWRhNzNjMDliMTA1MDUxZTIxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zNzcsMTggKzM3
Nyw2IEBAIFJlbmRlckxheWVyOjp+UmVuZGVyTGF5ZXIoKQogfQogCiAvLyBTdGFydCBvZiB0ZW1w
b3JhcnkgZ2x1ZSBjb2RlIHRvIGhlbHAgbGFuZGluZyB3ZWJraXQub3JnL2IvNjAzMDUgKHNwbGl0
IFJlbmRlckxheWVyIGludG8gUmVuZGVyTGF5ZXIvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYSkK
LVNjcm9sbFR5cGUgUmVuZGVyTGF5ZXI6OmN1cnJlbnRTY3JvbGxUeXBlKCkgY29uc3QKLXsKLSAg
ICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAgICAgICAgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWEt
PmN1cnJlbnRTY3JvbGxUeXBlKCk7Ci0gICAgcmV0dXJuIFNjcm9sbFR5cGU6OlVzZXI7Ci19Ci0K
LVNjcm9sbEFuaW1hdG9yJiBSZW5kZXJMYXllcjo6c2Nyb2xsQW5pbWF0b3IoKSBjb25zdAotewot
ICAgIHJldHVybiBjb25zdF9jYXN0PFJlbmRlckxheWVyKj4odGhpcyktPmVuc3VyZUxheWVyU2Ny
b2xsYWJsZUFyZWEoKS0+c2Nyb2xsQW5pbWF0b3IoKTsKLX0KLQogU2Nyb2xsT2Zmc2V0IFJlbmRl
ckxheWVyOjpzY3JvbGxPZmZzZXQoKSBjb25zdAogewogICAgIGlmIChtX3Njcm9sbGFibGVBcmVh
KQpAQCAtMzk2LDMyICszODQsNiBAQCBTY3JvbGxPZmZzZXQgUmVuZGVyTGF5ZXI6OnNjcm9sbE9m
ZnNldCgpIGNvbnN0CiAgICAgcmV0dXJuIHsgMCwgMCB9OwogfQogCi12b2lkIFJlbmRlckxheWVy
OjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRp
b25zJiBvcHRpb25zKQotewotICAgIGVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xs
VG9YUG9zaXRpb24oeCwgb3B0aW9ucyk7Ci19Ci0KLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRv
WVBvc2l0aW9uKGludCB5LCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlv
bnMpCi17Ci0gICAgZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpLT5zY3JvbGxUb1lQb3NpdGlv
bih5LCBvcHRpb25zKTsKLX0KLQotdm9pZCBSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5n
ZU9wdGlvbnMmIG9wdGlvbnMpCi17Ci0gICAgZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpLT5z
ZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7Ci19Ci0KLXZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbEJ5UmVjdXJzaXZlbHkoY29uc3QgSW50U2l6ZSYgZGVsdGEsIFNjcm9sbGFibGVB
cmVhKiogc2Nyb2xsZWRBcmVhKQotewotICAgIGVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKS0+
c2Nyb2xsQnlSZWN1cnNpdmVseShkZWx0YSwgc2Nyb2xsZWRBcmVhKTsKLX0KLQotdm9pZCBSZW5k
ZXJMYXllcjo6c2V0UmVxdWlyZXNTY3JvbGxQb3NpdGlvblJlY29uY2lsaWF0aW9uKGJvb2wgcmVx
dWlyZXNSZWNvbmNpbGlhdGlvbikKLXsKLSAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAgICAg
ICAgbV9zY3JvbGxhYmxlQXJlYS0+c2V0UmVxdWlyZXNTY3JvbGxQb3NpdGlvblJlY29uY2lsaWF0
aW9uKHJlcXVpcmVzUmVjb25jaWxpYXRpb24pOwotfQotCiBib29sIFJlbmRlckxheWVyOjpzaG91
bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3QKIHsKICAgICByZXR1
cm4gcmVuZGVyZXIoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCk7
CkBAIC00MzQsMTMgKzM5Niw2IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmNvbnRhaW5zRGlydHlPdmVy
bGF5U2Nyb2xsYmFycygpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFJlbmRl
ckxheWVyOjpoYXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZUFuY2VzdG9yKCkKLXsKLSAgICBp
ZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAgICAgICAgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWEtPmhh
c1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQW5jZXN0b3IoKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIFJlbmRlck1hcnF1ZWUqIFJlbmRlckxheWVyOjptYXJxdWVlKCkgY29uc3QKIHsKICAg
ICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKQEAgLTQ4NSwyNyArNDQwLDYgQEAgdm9pZCBSZW5kZXJM
YXllcjo6cGFpbnRPdmVybGF5U2Nyb2xsYmFycyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNv
bnN0IExheW91dFIKICAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS0+cGFpbnRPdmVybGF5U2Nyb2xs
YmFycyhjb250ZXh0LCBkYW1hZ2VSZWN0LCBiZWhhdmlvciwgc3VidHJlZVBhaW50Um9vdCk7CiB9
CiAKLUludFNpemUgUmVuZGVyTGF5ZXI6OnJlYWNoYWJsZVRvdGFsQ29udGVudHNTaXplKCkgY29u
c3QKLXsKLSAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAgICAgICAgcmV0dXJuIG1fc2Nyb2xs
YWJsZUFyZWEtPnJlYWNoYWJsZVRvdGFsQ29udGVudHNTaXplKCk7Ci0gICAgcmV0dXJuIHsgMCwg
MCB9OwotfQotCi1ib29sIFJlbmRlckxheWVyOjpob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlT
dHlsZSgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCi0gICAgICAgIHJldHVy
biBtX3Njcm9sbGFibGVBcmVhLT5ob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpOwot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBSZW5kZXJMYXllcjo6dmVydGljYWxTY3JvbGxi
YXJIaWRkZW5CeVN0eWxlKCkgY29uc3QKLXsKLSAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAg
ICAgICAgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWEtPnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlT
dHlsZSgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQogdm9pZCBSZW5kZXJMYXllcjo6c2V0UG9z
dExheW91dFNjcm9sbFBvc2l0aW9uKE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPiBwb3NpdGlvbikK
IHsKICAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmgKaW5kZXggMjkxNWU1ZjAxMzA4N2RiYzY4ZTI5MDQzZjBlNTU0NzI5MmFmOTMwZi4u
NzNkNGE0OWMwMjVmZWExYTQxOThmMjBmY2VhY2E1OGVmMGZjYzRiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE2MCwxNyArMTYwLDkgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEqIGVuc3VyZUxheWVyU2Ny
b2xsYWJsZUFyZWEoKTsKIAogICAgIC8vIFN0YXJ0IG9mIHRlbXBvcmFyeSBnbHVlIGNvZGUgdG8g
aGVscCBsYW5kaW5nIHdlYmtpdC5vcmcvYi82MDMwNSAoc3BsaXQgUmVuZGVyTGF5ZXIgaW50byBS
ZW5kZXJMYXllci9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhKQotICAgIFNjcm9sbFR5cGUgY3Vy
cmVudFNjcm9sbFR5cGUoKSBjb25zdDsKLSAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxBbmltYXRv
ciYgc2Nyb2xsQW5pbWF0b3IoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxPZmZz
ZXQgc2Nyb2xsT2Zmc2V0KCkgY29uc3Q7Ci0gICAgdm9pZCBzY3JvbGxUb1hQb3NpdGlvbihpbnQg
eCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJik7Ci0gICAgdm9pZCBzY3JvbGxU
b1lQb3NpdGlvbihpbnQgeSwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJik7Ci0g
ICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYsIGNvbnN0IFNj
cm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpOwotICAgIHZvaWQgc2Nyb2xsQnlSZWN1cnNpdmVs
eShjb25zdCBJbnRTaXplJiBkZWx0YSwgU2Nyb2xsYWJsZUFyZWEqKiBzY3JvbGxlZEFyZWEgPSBu
dWxscHRyKTsKLSAgICB2b2lkIHNldFJlcXVpcmVzU2Nyb2xsUG9zaXRpb25SZWNvbmNpbGlhdGlv
bihib29sIHJlcXVpcmVzUmVjb25jaWxpYXRpb24gPSB0cnVlKTsKICAgICBib29sIHNob3VsZFBs
YWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdDsKICAgICBib29sIGNvbnRh
aW5zRGlydHlPdmVybGF5U2Nyb2xsYmFycygpIGNvbnN0OwotICAgIGJvb2wgaGFzU2Nyb2xsYWJs
ZU9yUnViYmVyYmFuZGFibGVBbmNlc3RvcigpOwogICAgIFJlbmRlck1hcnF1ZWUqIG1hcnF1ZWUo
KSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJEb2N1bWVudFNjcm9s
bCgpOwogICAgIGJvb2wgaGl0VGVzdE92ZXJmbG93Q29udHJvbHMoSGl0VGVzdFJlc3VsdCYsIGNv
bnN0IEludFBvaW50JiBsb2NhbFBvaW50KTsKQEAgLTE3OCw5ICsxNzAsNiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBwYWludFNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRQb2lu
dCYsIGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpOwogICAgIHZvaWQgcGFpbnRSZXNpemVyKEdy
YXBoaWNzQ29udGV4dCYsIGNvbnN0IExheW91dFBvaW50JiwgY29uc3QgTGF5b3V0UmVjdCYgZGFt
YWdlUmVjdCk7CiAgICAgdm9pZCBwYWludE92ZXJsYXlTY3JvbGxiYXJzKEdyYXBoaWNzQ29udGV4
dCYsIGNvbnN0IExheW91dFJlY3QmIGRhbWFnZVJlY3QsIE9wdGlvblNldDxQYWludEJlaGF2aW9y
PiwgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUGFpbnRSb290ID0gbnVsbHB0cik7Ci0gICAgSW50U2l6
ZSByZWFjaGFibGVUb3RhbENvbnRlbnRzU2l6ZSgpIGNvbnN0OwotICAgIGJvb2wgaG9yaXpvbnRh
bFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25zdDsKLSAgICBib29sIHZlcnRpY2FsU2Nyb2xs
YmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0UG9zdExheW91dFNjcm9sbFBv
c2l0aW9uKE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPik7CiAgICAgdm9pZCBwYW5TY3JvbGxGcm9t
UG9pbnQoY29uc3QgSW50UG9pbnQmKTsKICAgICBTY3JvbGxQb3NpdGlvbiBzY3JvbGxQb3NpdGlv
bigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAppbmRleCAxMGI3NjIyZDQxMDEwN2FlZWUzMjg3ZDcyZGIyN2ExNWEzY2Q1MmZhLi5h
NmYzNTE1YjNiMTcyMWE3YjM1NmI4MTQyNzJlYWI3N2QyNTA4NjkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTQ5MSwxNCArMTQ5
MSwxNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0TG9jYXRpb25PZlNjcm9sbGVkQ29u
dGVudHMoU2Nyb2xsT2Zmc2V0IHNjcm9sbE9mZnNldAogCiB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6dXBkYXRlU2Nyb2xsT2Zmc2V0KFNjcm9sbE9mZnNldCBzY3JvbGxPZmZzZXQpCiB7Ci0gICAg
aWYgKG1fb3duaW5nTGF5ZXIuY3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2Vy
KSB7CisgICAgYXV0byogc2Nyb2xsYWJsZUxheWVyID0gbV9vd25pbmdMYXllci5zY3JvbGxhYmxl
QXJlYSgpOworICAgIEFTU0VSVChzY3JvbGxhYmxlTGF5ZXIpOworCisgICAgaWYgKHNjcm9sbGFi
bGVMYXllci0+Y3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3JvbGxUeXBlOjpVc2VyKSB7CiAgICAg
ICAgIC8vIElmIHNjcm9sbGluZyBpcyBoYXBwZW5pbmcgZXh0ZXJuYWxseSwgd2UgZG9uJ3Qgd2Fu
dCB0byB0b3VjaCB0aGUgbGF5ZXIgYm91bmRzIG9yaWdpbiBoZXJlIGJlY2F1c2UgdGhhdCB3aWxs
IGNhdXNlIGppdHRlci4KICAgICAgICAgc2V0TG9jYXRpb25PZlNjcm9sbGVkQ29udGVudHMoc2Ny
b2xsT2Zmc2V0LCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTeW5jKTsKLSAgICAgICAg
bV9vd25pbmdMYXllci5zZXRSZXF1aXJlc1Njcm9sbFBvc2l0aW9uUmVjb25jaWxpYXRpb24odHJ1
ZSk7CisgICAgICAgIHNjcm9sbGFibGVMYXllci0+c2V0UmVxdWlyZXNTY3JvbGxQb3NpdGlvblJl
Y29uY2lsaWF0aW9uKHRydWUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIE5vdGUgdGhhdCB3
ZSBpbXBsZW1lbnQgdGhlIGNvbnRlbnRzIG9mZnNldCB2aWEgdGhlIGJvdW5kcyBvcmlnaW4gb24g
dGhpcyBsYXllciwgcmF0aGVyIHRoYW4gYSBwb3NpdGlvbiBvbiB0aGUgc3VibGF5ZXIuCiAgICAg
ICAgIHNldExvY2F0aW9uT2ZTY3JvbGxlZENvbnRlbnRzKHNjcm9sbE9mZnNldCwgU2Nyb2xsaW5n
TGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0KTsKLSAgICAgICAgbV9vd25pbmdMYXllci5zZXRSZXF1
aXJlc1Njcm9sbFBvc2l0aW9uUmVjb25jaWxpYXRpb24oZmFsc2UpOworICAgICAgICBzY3JvbGxh
YmxlTGF5ZXItPnNldFJlcXVpcmVzU2Nyb2xsUG9zaXRpb25SZWNvbmNpbGlhdGlvbihmYWxzZSk7
CiAgICAgfQogCiAgICAgQVNTRVJUKG1fc2Nyb2xsZWRDb250ZW50c0xheWVyLT5wb3NpdGlvbigp
LmlzWmVybygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5jcHAKaW5kZXggMzg0YzQxNWRhNDM5Nzg4ZmRhY2M3NWFjZDA2OTRhZjVkMTE0
OTBjMy4uM2U3YTUwZjAzZTA5MjQzMzRiYjY4Mjc4ODdjMmZmZGEyMzdjMzcyNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAg
LTUwNDYsMTEgKzUwNDYsMTQgQEAgdm9pZCBMZWdhY3lXZWJLaXRTY3JvbGxpbmdMYXllckNvb3Jk
aW5hdG9yOjp1cGRhdGVTY3JvbGxpbmdMYXllcihSZW5kZXJMYXllciYgbGEKICAgICBhdXRvKiBi
YWNraW5nID0gbGF5ZXIuYmFja2luZygpOwogICAgIEFTU0VSVChiYWNraW5nKTsKIAotICAgIGJv
b2wgYWxsb3dIb3Jpem9udGFsU2Nyb2xsYmFyID0gIWxheWVyLmhvcml6b250YWxTY3JvbGxiYXJI
aWRkZW5CeVN0eWxlKCk7Ci0gICAgYm9vbCBhbGxvd1ZlcnRpY2FsU2Nyb2xsYmFyID0gIWxheWVy
LnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpOworICAgIGF1dG8qIHNjcm9sbGFibGVM
YXllciA9IGxheWVyLnNjcm9sbGFibGVBcmVhKCk7CisgICAgQVNTRVJUKHNjcm9sbGFibGVMYXll
cik7CisKKyAgICBib29sIGFsbG93SG9yaXpvbnRhbFNjcm9sbGJhciA9ICFzY3JvbGxhYmxlTGF5
ZXItPmhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCk7CisgICAgYm9vbCBhbGxvd1Zl
cnRpY2FsU2Nyb2xsYmFyID0gIXNjcm9sbGFibGVMYXllci0+dmVydGljYWxTY3JvbGxiYXJIaWRk
ZW5CeVN0eWxlKCk7CiAKICAgICBtX2Nocm9tZUNsaWVudC5hZGRPclVwZGF0ZVNjcm9sbGluZ0xh
eWVyKGxheWVyLnJlbmRlcmVyKCkuZWxlbWVudCgpLCBiYWNraW5nLT5zY3JvbGxDb250YWluZXJM
YXllcigpLT5wbGF0Zm9ybUxheWVyKCksIGJhY2tpbmctPnNjcm9sbGVkQ29udGVudHNMYXllcigp
LT5wbGF0Zm9ybUxheWVyKCksCi0gICAgICAgIGxheWVyLnJlYWNoYWJsZVRvdGFsQ29udGVudHNT
aXplKCksIGFsbG93SG9yaXpvbnRhbFNjcm9sbGJhciwgYWxsb3dWZXJ0aWNhbFNjcm9sbGJhcik7
CisgICAgICAgIHNjcm9sbGFibGVMYXllci0+cmVhY2hhYmxlVG90YWxDb250ZW50c1NpemUoKSwg
YWxsb3dIb3Jpem9udGFsU2Nyb2xsYmFyLCBhbGxvd1ZlcnRpY2FsU2Nyb2xsYmFyKTsKIH0KIAog
dm9pZCBMZWdhY3lXZWJLaXRTY3JvbGxpbmdMYXllckNvb3JkaW5hdG9yOjpyZWdpc3RlckFsbFNj
cm9sbGluZ0xheWVycygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggM2M5OTgxYzViYzJlM2MzMTMxNDUyNjk0
Mjk4N2FmOGI1YzAwYjk4YS4uZjEwNDNhZTlkNGMyMDUzMzFhMWYxMTI5M2YxZGYxZGIxZWQxMGFk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xs
YWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNj
cm9sbGFibGVBcmVhLmNwcApAQCAtMTcyNSw4ICsxNzI1LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJT
Y3JvbGxhYmxlQXJlYTo6c2Nyb2xsQnlSZWN1cnNpdmVseShjb25zdCBJbnRTaXplJiBkZWx0YSwg
U2Nyb2xsCiAgICAgICAgIEludFNpemUgcmVtYWluaW5nU2Nyb2xsT2Zmc2V0ID0gbmV3U2Nyb2xs
T2Zmc2V0IC0gc2Nyb2xsT2Zmc2V0KCk7CiAgICAgICAgIGlmICghcmVtYWluaW5nU2Nyb2xsT2Zm
c2V0LmlzWmVybygpICYmIHJlbmRlcmVyLnBhcmVudCgpKSB7CiAgICAgICAgICAgICAvLyBGSVhN
RTogVGhpcyBza2lwcyBzY3JvbGxhYmxlIGZyYW1lcy4KLSAgICAgICAgICAgIGlmIChhdXRvKiBz
Y3JvbGxhYmxlTGF5ZXIgPSBtX2xheWVyLmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRl
U2VsZk9yTm90OjpFeGNsdWRlU2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6OlllcykpCi0gICAg
ICAgICAgICAgICAgc2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxCeVJlY3Vyc2l2ZWx5KHJlbWFpbmlu
Z1Njcm9sbE9mZnNldCwgc2Nyb2xsZWRBcmVhKTsKKyAgICAgICAgICAgIGlmIChhdXRvKiBlbmNs
b3NpbmdTY3JvbGxhYmxlTGF5ZXIgPSBtX2xheWVyLmVuY2xvc2luZ1Njcm9sbGFibGVMYXllcihJ
bmNsdWRlU2VsZk9yTm90OjpFeGNsdWRlU2VsZiwgQ3Jvc3NGcmFtZUJvdW5kYXJpZXM6Olllcykp
IHsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byogc2Nyb2xsYWJsZUxheWVyID0gZW5jbG9zaW5n
U2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxhYmxlQXJlYSgpKQorICAgICAgICAgICAgICAgICAgICBz
Y3JvbGxhYmxlTGF5ZXItPnNjcm9sbEJ5UmVjdXJzaXZlbHkocmVtYWluaW5nU2Nyb2xsT2Zmc2V0
LCBzY3JvbGxlZEFyZWEpOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICByZW5kZXJlci5m
cmFtZSgpLmV2ZW50SGFuZGxlcigpLnVwZGF0ZUF1dG9zY3JvbGxSZW5kZXJlcigpOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKaW5kZXggMmM2
YTA0YjBmYzI4ODI5MWRhNjM1OWEyNmEwMDlkZDcwZmRkMTZlZS4uZDJiMDYyN2M0ZGY5YmRjODhk
ZmY3NTA5OTMxMjgzZTIzMGM4N2YwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcApAQCAtODk3LDcgKzg5Nyw5IEBAIGJvb2wgUmVuZGVyTGlzdEJveDo6aXNT
Y3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZSgpCiAKIGJvb2wgUmVuZGVyTGlzdEJveDo6aGFzU2Ny
b2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNlc3RvcigpCiB7Ci0gICAgcmV0dXJuIGVuY2xvc2lu
Z0xheWVyKCkgJiYgZW5jbG9zaW5nTGF5ZXIoKS0+aGFzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFi
bGVBbmNlc3RvcigpOworICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlTGF5ZXIgPSBlbmNsb3NpbmdM
YXllcigpID8gZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsYWJsZUFyZWEoKSA6IG51bGxwdHIpCisg
ICAgICAgIHJldHVybiBzY3JvbGxhYmxlTGF5ZXItPmhhc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRh
YmxlQW5jZXN0b3IoKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIEludFJlY3QgUmVuZGVyTGlz
dEJveDo6c2Nyb2xsYWJsZUFyZWFCb3VuZGluZ0JveChib29sKikgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417848</attachid>
            <date>2021-01-18 14:50:44 -0800</date>
            <delta_ts>2021-01-18 16:20:08 -0800</delta_ts>
            <desc>Patch, v2</desc>
            <filename>bug-220715-20210118235042.patch</filename>
            <type>text/plain</type>
            <size>16093</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU3NzU1MjI2YjA5NDhm
OTM3ODY3NjliN2ZjMmJjNDNlOTBjNzk4Yy4uNjY5MzVmYjQyNWIxNDMzMjQzN2Q1YmFkNjExZmRj
MmU2ZGUyNWVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTAxLTE4ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbnRp
bnVlIHJlbW92aW5nIGdsdWUgY29kZSBmcm9tIFJlbmRlckxheWVyIHRoYXQgd2FzIHJlY2VudGx5
IGFkZGVkIGluIHIyNzE1NTkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDcxNQorCisgICAgICAgIEZvbGxvdy11cCBvbiBwYXRjaCBhZHJlc3Npbmcg
dGhlIHJlbW92YWwgb2YgdGhlIGdsdWUgY29kZSB0aGF0CisgICAgICAgIGZvcndhcmRzIGNhbGxz
IGZyb20gUmVuZGVyTGF5ZXIgdG8gUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYSAoc2VlCisgICAg
ICAgIHdlYmtpdC5vcmcvYi82MDMwNSkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2Nyb2xsSW5EaXJlY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0dXBXaGVlbEV2ZW50TW9uaXRvcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
OjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjdXJyZW50U2Nyb2xsVHlwZSBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsQW5pbWF0
b3IgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9s
bFRvWFBvc2l0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxUb1lQb3NpdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6c2V0U2Nyb2xsUG9zaXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OnNjcm9sbEJ5UmVjdXJzaXZlbHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnNldFJlcXVpcmVzU2Nyb2xsUG9zaXRpb25SZWNvbmNpbGlhdGlvbik6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZU9yUnVi
YmVyYmFuZGFibGVBbmNlc3Rvcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6cmVhY2hhYmxlVG90YWxDb250ZW50c1NpemUgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxl
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp2ZXJ0aWNh
bFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVTY3Jv
bGxPZmZzZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5V2ViS2l0U2Nyb2xsaW5nTGF5ZXJDb29yZGluYXRv
cjo6dXBkYXRlU2Nyb2xsaW5nTGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
clNjcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyU2Nyb2xs
YWJsZUFyZWE6OnNjcm9sbEJ5UmVjdXJzaXZlbHkpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6Omhhc1Njcm9s
bGFibGVPclJ1YmJlcmJhbmRhYmxlQW5jZXN0b3IpOgorCiAyMDIxLTAxLTE4ICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSByZWNl
bnRseSBhZGRlZCBnbHVlIGNvZGU6IFJlbmRlckxheWVyOjooc2V0QWRqdXN0Rm9ySU9TQ2FyZXRX
aGVuU2Nyb2xsaW5nIC8gc2V0U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUgLyBzZXRDb25z
dHJhaW5zU2Nyb2xsaW5nVG9Db250ZW50RWRnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TcGF0aWFs
TmF2aWdhdGlvbi5jcHAKaW5kZXggMzhmYjQ5NzFkMmEzMjk0MzdlNzQ0MDM3MjRhOGQyMWJmMWQ3
ZTJlYS4uODA5YmMxOTEzNDcwMDc4NzQzNTkzNjg0NWI2Y2RhNTkzNWU1YTFkYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyTGF5ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmgiCiAjaW5j
bHVkZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzk0LDcgKzM5NSw4
IEBAIGJvb2wgc2Nyb2xsSW5EaXJlY3Rpb24oTm9kZSogY29udGFpbmVyLCBGb2N1c0RpcmVjdGlv
biBkaXJlY3Rpb24pCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAotICAg
ICAgICBjb250YWluZXItPnJlbmRlckJveCgpLT5lbmNsb3NpbmdMYXllcigpLT5zY3JvbGxCeVJl
Y3Vyc2l2ZWx5KEludFNpemUoZHgsIGR5KSk7CisgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxl
TGF5ZXIgPSBjb250YWluZXItPnJlbmRlckJveCgpLT5lbmNsb3NpbmdMYXllcigpLT5zY3JvbGxh
YmxlQXJlYSgpKQorICAgICAgICAgICAgc2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxCeVJlY3Vyc2l2
ZWx5KEludFNpemUoZHgsIGR5KSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAyNzZjNjM0NDY2NDIyOGNhY2Ex
YzE5ZTI1N2JmYTM5NDE5NTQzNDExLi45MGZhZjkyYjUyODI4OTZjZDI3NzBjYWJhMjc3YjViNmJj
NzUxMjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjMsNiAr
NjMsNyBAQAogI2luY2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5
ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKKyNpbmNsdWRlICJSZW5k
ZXJMYXllclNjcm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5b3V0U3RhdGUuaCIK
ICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJs
ZUNlbGwuaCIKQEAgLTU5MCw3ICs1OTEsOSBAQCBzdGF0aWMgdm9pZCBzZXR1cFdoZWVsRXZlbnRN
b25pdG9yKFJlbmRlckxheWVyJiBsYXllcikKICAgICBQYWdlJiBwYWdlID0gbGF5ZXIucmVuZGVy
ZXIoKS5wYWdlKCk7CiAgICAgaWYgKCFwYWdlLmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBsYXllci5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRU
ZXN0TW9uaXRvcihwYWdlLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKKyAgICBhdXRvKiBzY3Jv
bGxhYmxlTGF5ZXIgPSBsYXllci5zY3JvbGxhYmxlQXJlYSgpOworICAgIEFTU0VSVChzY3JvbGxh
YmxlTGF5ZXIpOworICAgIHNjcm9sbGFibGVMYXllci0+c2Nyb2xsQW5pbWF0b3IoKS5zZXRXaGVl
bEV2ZW50VGVzdE1vbml0b3IocGFnZS53aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7CiB9CiAKIHZv
aWQgUmVuZGVyQm94OjpzZXRTY3JvbGxMZWZ0KGludCBuZXdMZWZ0LCBjb25zdCBTY3JvbGxQb3Np
dGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCkBAIC01OTgsNyArNjAxLDcgQEAgdm9pZCBSZW5k
ZXJCb3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hh
bmdlT3B0aW9ucyYgb3AKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8ICFsYXllcigpKQog
ICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50TW9uaXRvcigqbGF5ZXIoKSk7Ci0g
ICAgbGF5ZXIoKS0+c2Nyb2xsVG9YUG9zaXRpb24obmV3TGVmdCwgb3B0aW9ucyk7CisgICAgbGF5
ZXIoKS0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpLT5zY3JvbGxUb1hQb3NpdGlvbihuZXdM
ZWZ0LCBvcHRpb25zKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3
VG9wLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCkBAIC02MDYs
NyArNjA5LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFRvcChpbnQgbmV3VG9wLCBjb25z
dCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9wdGkKICAgICBpZiAoIWhhc092ZXJmbG93
Q2xpcCgpIHx8ICFsYXllcigpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0dXBXaGVlbEV2ZW50
TW9uaXRvcigqbGF5ZXIoKSk7Ci0gICAgbGF5ZXIoKS0+c2Nyb2xsVG9ZUG9zaXRpb24obmV3VG9w
LCBvcHRpb25zKTsKKyAgICBsYXllcigpLT5lbnN1cmVMYXllclNjcm9sbGFibGVBcmVhKCktPnNj
cm9sbFRvWVBvc2l0aW9uKG5ld1RvcCwgb3B0aW9ucyk7CiB9CiAKIHZvaWQgUmVuZGVyQm94Ojpz
ZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIGNvbnN0IFNj
cm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKQEAgLTYxNCw3ICs2MTcsNyBAQCB2
b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBv
c2l0aW9uLCBjb25zdCBTY3JvbGxQbwogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxh
eWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXll
cigpKTsKLSAgICBsYXllcigpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7
CisgICAgbGF5ZXIoKS0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpLT5zZXRTY3JvbGxQb3Np
dGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7CiB9CiAKIHZvaWQgUmVuZGVyQm94OjphYnNvbHV0ZVJl
Y3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmlu
ZGV4IDJlYzVkNTM4OGRmZTEwMzA1NmMxYzA3MzMwZWIwNzUwNmQ0ZGE0ZTAuLjIzMGZhMmExYThk
MjEyYWRhNjczNTlkYTczYzA5YjEwNTA1MWUyMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcApAQCAtMzc3LDE4ICszNzcsNiBAQCBSZW5kZXJMYXllcjo6flJlbmRl
ckxheWVyKCkKIH0KIAogLy8gU3RhcnQgb2YgdGVtcG9yYXJ5IGdsdWUgY29kZSB0byBoZWxwIGxh
bmRpbmcgd2Via2l0Lm9yZy9iLzYwMzA1IChzcGxpdCBSZW5kZXJMYXllciBpbnRvIFJlbmRlckxh
eWVyL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEpCi1TY3JvbGxUeXBlIFJlbmRlckxheWVyOjpj
dXJyZW50U2Nyb2xsVHlwZSgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCi0g
ICAgICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVhLT5jdXJyZW50U2Nyb2xsVHlwZSgpOwotICAg
IHJldHVybiBTY3JvbGxUeXBlOjpVc2VyOwotfQotCi1TY3JvbGxBbmltYXRvciYgUmVuZGVyTGF5
ZXI6OnNjcm9sbEFuaW1hdG9yKCkgY29uc3QKLXsKLSAgICByZXR1cm4gY29uc3RfY2FzdDxSZW5k
ZXJMYXllcio+KHRoaXMpLT5lbnN1cmVMYXllclNjcm9sbGFibGVBcmVhKCktPnNjcm9sbEFuaW1h
dG9yKCk7Ci19Ci0KIFNjcm9sbE9mZnNldCBSZW5kZXJMYXllcjo6c2Nyb2xsT2Zmc2V0KCkgY29u
c3QKIHsKICAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKQEAgLTM5NiwzMiArMzg0LDYgQEAgU2Ny
b2xsT2Zmc2V0IFJlbmRlckxheWVyOjpzY3JvbGxPZmZzZXQoKSBjb25zdAogICAgIHJldHVybiB7
IDAsIDAgfTsKIH0KIAotdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG9YUG9zaXRpb24oaW50IHgs
IGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKLXsKLSAgICBlbnN1
cmVMYXllclNjcm9sbGFibGVBcmVhKCktPnNjcm9sbFRvWFBvc2l0aW9uKHgsIG9wdGlvbnMpOwot
fQotCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgY29uc3QgU2Ny
b2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBvcHRpb25zKQotewotICAgIGVuc3VyZUxheWVyU2Ny
b2xsYWJsZUFyZWEoKS0+c2Nyb2xsVG9ZUG9zaXRpb24oeSwgb3B0aW9ucyk7Ci19Ci0KLXZvaWQg
UmVuZGVyTGF5ZXI6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3Np
dGlvbiwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBvcHRpb25zKQotewotICAg
IGVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKS0+c2V0U2Nyb2xsUG9zaXRpb24ocG9zaXRpb24s
IG9wdGlvbnMpOwotfQotCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxCeVJlY3Vyc2l2ZWx5KGNv
bnN0IEludFNpemUmIGRlbHRhLCBTY3JvbGxhYmxlQXJlYSoqIHNjcm9sbGVkQXJlYSkKLXsKLSAg
ICBlbnN1cmVMYXllclNjcm9sbGFibGVBcmVhKCktPnNjcm9sbEJ5UmVjdXJzaXZlbHkoZGVsdGEs
IHNjcm9sbGVkQXJlYSk7Ci19Ci0KLXZvaWQgUmVuZGVyTGF5ZXI6OnNldFJlcXVpcmVzU2Nyb2xs
UG9zaXRpb25SZWNvbmNpbGlhdGlvbihib29sIHJlcXVpcmVzUmVjb25jaWxpYXRpb24pCi17Ci0g
ICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCi0gICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEtPnNldFJl
cXVpcmVzU2Nyb2xsUG9zaXRpb25SZWNvbmNpbGlhdGlvbihyZXF1aXJlc1JlY29uY2lsaWF0aW9u
KTsKLX0KLQogYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyKCkuc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpOwpAQCAtNDM0LDEzICszOTYsNiBAQCBib29s
IFJlbmRlckxheWVyOjpjb250YWluc0RpcnR5T3ZlcmxheVNjcm9sbGJhcnMoKSBjb25zdAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBSZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZU9yUnVi
YmVyYmFuZGFibGVBbmNlc3RvcigpCi17Ci0gICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCi0gICAg
ICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVhLT5oYXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJs
ZUFuY2VzdG9yKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBSZW5kZXJNYXJxdWVlKiBSZW5k
ZXJMYXllcjo6bWFycXVlZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCkBA
IC00ODUsMjcgKzQ0MCw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50T3ZlcmxheVNjcm9sbGJh
cnMoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXlvdXRSCiAgICAgICAgIG1fc2Ny
b2xsYWJsZUFyZWEtPnBhaW50T3ZlcmxheVNjcm9sbGJhcnMoY29udGV4dCwgZGFtYWdlUmVjdCwg
YmVoYXZpb3IsIHN1YnRyZWVQYWludFJvb3QpOwogfQogCi1JbnRTaXplIFJlbmRlckxheWVyOjpy
ZWFjaGFibGVUb3RhbENvbnRlbnRzU2l6ZSgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fc2Nyb2xsYWJs
ZUFyZWEpCi0gICAgICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVhLT5yZWFjaGFibGVUb3RhbENv
bnRlbnRzU2l6ZSgpOwotICAgIHJldHVybiB7IDAsIDAgfTsKLX0KLQotYm9vbCBSZW5kZXJMYXll
cjo6aG9yaXpvbnRhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25zdAotewotICAgIGlmICht
X3Njcm9sbGFibGVBcmVhKQotICAgICAgICByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYS0+aG9yaXpv
bnRhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJv
b2wgUmVuZGVyTGF5ZXI6OnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0Ci17
Ci0gICAgaWYgKG1fc2Nyb2xsYWJsZUFyZWEpCi0gICAgICAgIHJldHVybiBtX3Njcm9sbGFibGVB
cmVhLT52ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIHZvaWQgUmVuZGVyTGF5ZXI6OnNldFBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbihPcHRp
b25hbDxTY3JvbGxQb3NpdGlvbj4gcG9zaXRpb24pCiB7CiAgICAgaWYgKG1fc2Nyb2xsYWJsZUFy
ZWEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDI5MTVlNWYwMTMw
ODdkYmM2OGUyOTA0M2YwZTU1NDcyOTJhZjkzMGYuLjczZDRhNDljMDI1ZmVhMWE0MTk4ZjIwZmNl
YWNhNThlZjBmY2M0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBA
IC0xNjAsMTcgKzE2MCw5IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBSZW5kZXJMYXll
clNjcm9sbGFibGVBcmVhKiBlbnN1cmVMYXllclNjcm9sbGFibGVBcmVhKCk7CiAKICAgICAvLyBT
dGFydCBvZiB0ZW1wb3JhcnkgZ2x1ZSBjb2RlIHRvIGhlbHAgbGFuZGluZyB3ZWJraXQub3JnL2Iv
NjAzMDUgKHNwbGl0IFJlbmRlckxheWVyIGludG8gUmVuZGVyTGF5ZXIvUmVuZGVyTGF5ZXJTY3Jv
bGxhYmxlQXJlYSkKLSAgICBTY3JvbGxUeXBlIGN1cnJlbnRTY3JvbGxUeXBlKCkgY29uc3Q7Ci0g
ICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsQW5pbWF0b3ImIHNjcm9sbEFuaW1hdG9yKCkgY29uc3Q7
CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsT2Zmc2V0IHNjcm9sbE9mZnNldCgpIGNvbnN0Owot
ICAgIHZvaWQgc2Nyb2xsVG9YUG9zaXRpb24oaW50IHgsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hh
bmdlT3B0aW9ucyYpOwotICAgIHZvaWQgc2Nyb2xsVG9ZUG9zaXRpb24oaW50IHksIGNvbnN0IFNj
cm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpOwotICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mLCBjb25zdCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMm
KTsKLSAgICB2b2lkIHNjcm9sbEJ5UmVjdXJzaXZlbHkoY29uc3QgSW50U2l6ZSYgZGVsdGEsIFNj
cm9sbGFibGVBcmVhKiogc2Nyb2xsZWRBcmVhID0gbnVsbHB0cik7Ci0gICAgdm9pZCBzZXRSZXF1
aXJlc1Njcm9sbFBvc2l0aW9uUmVjb25jaWxpYXRpb24oYm9vbCByZXF1aXJlc1JlY29uY2lsaWF0
aW9uID0gdHJ1ZSk7CiAgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFy
T25MZWZ0KCkgY29uc3Q7CiAgICAgYm9vbCBjb250YWluc0RpcnR5T3ZlcmxheVNjcm9sbGJhcnMo
KSBjb25zdDsKLSAgICBib29sIGhhc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQW5jZXN0b3Io
KTsKICAgICBSZW5kZXJNYXJxdWVlKiBtYXJxdWVlKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVM
YXllclBvc2l0aW9uc0FmdGVyRG9jdW1lbnRTY3JvbGwoKTsKICAgICBib29sIGhpdFRlc3RPdmVy
Zmxvd0NvbnRyb2xzKEhpdFRlc3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgbG9jYWxQb2ludCk7
CkBAIC0xNzgsOSArMTcwLDYgQEAgcHVibGljOgogICAgIHZvaWQgcGFpbnRTY3JvbGxDb3JuZXIo
R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRSZWN0JiBkYW1hZ2VS
ZWN0KTsKICAgICB2b2lkIHBhaW50UmVzaXplcihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBMYXlv
dXRQb2ludCYsIGNvbnN0IExheW91dFJlY3QmIGRhbWFnZVJlY3QpOwogICAgIHZvaWQgcGFpbnRP
dmVybGF5U2Nyb2xsYmFycyhHcmFwaGljc0NvbnRleHQmLCBjb25zdCBMYXlvdXRSZWN0JiBkYW1h
Z2VSZWN0LCBPcHRpb25TZXQ8UGFpbnRCZWhhdmlvcj4sIFJlbmRlck9iamVjdCogc3VidHJlZVBh
aW50Um9vdCA9IG51bGxwdHIpOwotICAgIEludFNpemUgcmVhY2hhYmxlVG90YWxDb250ZW50c1Np
emUoKSBjb25zdDsKLSAgICBib29sIGhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCkg
Y29uc3Q7Ci0gICAgYm9vbCB2ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25zdDsK
ICAgICB2b2lkIHNldFBvc3RMYXlvdXRTY3JvbGxQb3NpdGlvbihPcHRpb25hbDxTY3JvbGxQb3Np
dGlvbj4pOwogICAgIHZvaWQgcGFuU2Nyb2xsRnJvbVBvaW50KGNvbnN0IEludFBvaW50Jik7CiAg
ICAgU2Nyb2xsUG9zaXRpb24gc2Nyb2xsUG9zaXRpb24oKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggMTBiNzYyMmQ0MTAx
MDdhZWVlMzI4N2Q3MmRiMjdhMTVhM2NkNTJmYS4uYTZmMzUxNWIzYjE3MjFhN2IzNTZiODE0Mjcy
ZWFiNzdkMjUwODY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKQEAgLTE0OTEsMTQgKzE0OTEsMTcgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnNldExvY2F0aW9uT2ZTY3JvbGxlZENvbnRlbnRzKFNjcm9sbE9mZnNldCBzY3JvbGxP
ZmZzZXQKIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZVNjcm9sbE9mZnNldChTY3Jv
bGxPZmZzZXQgc2Nyb2xsT2Zmc2V0KQogewotICAgIGlmIChtX293bmluZ0xheWVyLmN1cnJlbnRT
Y3JvbGxUeXBlKCkgPT0gU2Nyb2xsVHlwZTo6VXNlcikgeworICAgIGF1dG8qIHNjcm9sbGFibGVM
YXllciA9IG1fb3duaW5nTGF5ZXIuc2Nyb2xsYWJsZUFyZWEoKTsKKyAgICBBU1NFUlQoc2Nyb2xs
YWJsZUxheWVyKTsKKworICAgIGlmIChzY3JvbGxhYmxlTGF5ZXItPmN1cnJlbnRTY3JvbGxUeXBl
KCkgPT0gU2Nyb2xsVHlwZTo6VXNlcikgewogICAgICAgICAvLyBJZiBzY3JvbGxpbmcgaXMgaGFw
cGVuaW5nIGV4dGVybmFsbHksIHdlIGRvbid0IHdhbnQgdG8gdG91Y2ggdGhlIGxheWVyIGJvdW5k
cyBvcmlnaW4gaGVyZSBiZWNhdXNlIHRoYXQgd2lsbCBjYXVzZSBqaXR0ZXIuCiAgICAgICAgIHNl
dExvY2F0aW9uT2ZTY3JvbGxlZENvbnRlbnRzKHNjcm9sbE9mZnNldCwgU2Nyb2xsaW5nTGF5ZXJQ
b3NpdGlvbkFjdGlvbjo6U3luYyk7Ci0gICAgICAgIG1fb3duaW5nTGF5ZXIuc2V0UmVxdWlyZXNT
Y3JvbGxQb3NpdGlvblJlY29uY2lsaWF0aW9uKHRydWUpOworICAgICAgICBzY3JvbGxhYmxlTGF5
ZXItPnNldFJlcXVpcmVzU2Nyb2xsUG9zaXRpb25SZWNvbmNpbGlhdGlvbih0cnVlKTsKICAgICB9
IGVsc2UgewogICAgICAgICAvLyBOb3RlIHRoYXQgd2UgaW1wbGVtZW50IHRoZSBjb250ZW50cyBv
ZmZzZXQgdmlhIHRoZSBib3VuZHMgb3JpZ2luIG9uIHRoaXMgbGF5ZXIsIHJhdGhlciB0aGFuIGEg
cG9zaXRpb24gb24gdGhlIHN1YmxheWVyLgogICAgICAgICBzZXRMb2NhdGlvbk9mU2Nyb2xsZWRD
b250ZW50cyhzY3JvbGxPZmZzZXQsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlNldCk7
Ci0gICAgICAgIG1fb3duaW5nTGF5ZXIuc2V0UmVxdWlyZXNTY3JvbGxQb3NpdGlvblJlY29uY2ls
aWF0aW9uKGZhbHNlKTsKKyAgICAgICAgc2Nyb2xsYWJsZUxheWVyLT5zZXRSZXF1aXJlc1Njcm9s
bFBvc2l0aW9uUmVjb25jaWxpYXRpb24oZmFsc2UpOwogICAgIH0KIAogICAgIEFTU0VSVChtX3Nj
cm9sbGVkQ29udGVudHNMYXllci0+cG9zaXRpb24oKS5pc1plcm8oKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDM4NGM0
MTVkYTQzOTc4OGZkYWNjNzVhY2QwNjk0YWY1ZDExNDkwYzMuLjNlN2E1MGYwM2UwOTI0MzM0YmI2
ODI3ODg3YzJmZmRhMjM3YzM3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC01MDQ2LDExICs1MDQ2LDE0IEBAIHZvaWQg
TGVnYWN5V2ViS2l0U2Nyb2xsaW5nTGF5ZXJDb29yZGluYXRvcjo6dXBkYXRlU2Nyb2xsaW5nTGF5
ZXIoUmVuZGVyTGF5ZXImIGxhCiAgICAgYXV0byogYmFja2luZyA9IGxheWVyLmJhY2tpbmcoKTsK
ICAgICBBU1NFUlQoYmFja2luZyk7CiAKLSAgICBib29sIGFsbG93SG9yaXpvbnRhbFNjcm9sbGJh
ciA9ICFsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpOwotICAgIGJvb2wg
YWxsb3dWZXJ0aWNhbFNjcm9sbGJhciA9ICFsYXllci52ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5
U3R5bGUoKTsKKyAgICBhdXRvKiBzY3JvbGxhYmxlTGF5ZXIgPSBsYXllci5zY3JvbGxhYmxlQXJl
YSgpOworICAgIEFTU0VSVChzY3JvbGxhYmxlTGF5ZXIpOworCisgICAgYm9vbCBhbGxvd0hvcml6
b250YWxTY3JvbGxiYXIgPSAhc2Nyb2xsYWJsZUxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFySGlk
ZGVuQnlTdHlsZSgpOworICAgIGJvb2wgYWxsb3dWZXJ0aWNhbFNjcm9sbGJhciA9ICFzY3JvbGxh
YmxlTGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpOwogCiAgICAgbV9jaHJv
bWVDbGllbnQuYWRkT3JVcGRhdGVTY3JvbGxpbmdMYXllcihsYXllci5yZW5kZXJlcigpLmVsZW1l
bnQoKSwgYmFja2luZy0+c2Nyb2xsQ29udGFpbmVyTGF5ZXIoKS0+cGxhdGZvcm1MYXllcigpLCBi
YWNraW5nLT5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKS0+cGxhdGZvcm1MYXllcigpLAotICAgICAg
ICBsYXllci5yZWFjaGFibGVUb3RhbENvbnRlbnRzU2l6ZSgpLCBhbGxvd0hvcml6b250YWxTY3Jv
bGxiYXIsIGFsbG93VmVydGljYWxTY3JvbGxiYXIpOworICAgICAgICBzY3JvbGxhYmxlTGF5ZXIt
PnJlYWNoYWJsZVRvdGFsQ29udGVudHNTaXplKCksIGFsbG93SG9yaXpvbnRhbFNjcm9sbGJhciwg
YWxsb3dWZXJ0aWNhbFNjcm9sbGJhcik7CiB9CiAKIHZvaWQgTGVnYWN5V2ViS2l0U2Nyb2xsaW5n
TGF5ZXJDb29yZGluYXRvcjo6cmVnaXN0ZXJBbGxTY3JvbGxpbmdMYXllcnMoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3Bw
CmluZGV4IDNjOTk4MWM1YmMyZTNjMzEzMTQ1MjY5NDI5ODdhZjhiNWMwMGI5OGEuLmYxMDQzYWU5
ZDRjMjA1MzMxYTFmMTEyOTNmMWRmMWRiMWVkMTBhZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTE3MjUs
OCArMTcyNSwxMCBAQCB2b2lkIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbEJ5UmVj
dXJzaXZlbHkoY29uc3QgSW50U2l6ZSYgZGVsdGEsIFNjcm9sbAogICAgICAgICBJbnRTaXplIHJl
bWFpbmluZ1Njcm9sbE9mZnNldCA9IG5ld1Njcm9sbE9mZnNldCAtIHNjcm9sbE9mZnNldCgpOwog
ICAgICAgICBpZiAoIXJlbWFpbmluZ1Njcm9sbE9mZnNldC5pc1plcm8oKSAmJiByZW5kZXJlci5w
YXJlbnQoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgc2tpcHMgc2Nyb2xsYWJsZSBm
cmFtZXMuCi0gICAgICAgICAgICBpZiAoYXV0byogc2Nyb2xsYWJsZUxheWVyID0gbV9sYXllci5l
bmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6RXhjbHVkZVNlbGYsIENy
b3NzRnJhbWVCb3VuZGFyaWVzOjpZZXMpKQotICAgICAgICAgICAgICAgIHNjcm9sbGFibGVMYXll
ci0+c2Nyb2xsQnlSZWN1cnNpdmVseShyZW1haW5pbmdTY3JvbGxPZmZzZXQsIHNjcm9sbGVkQXJl
YSk7CisgICAgICAgICAgICBpZiAoYXV0byogZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyID0gbV9s
YXllci5lbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIoSW5jbHVkZVNlbGZPck5vdDo6RXhjbHVkZVNl
bGYsIENyb3NzRnJhbWVCb3VuZGFyaWVzOjpZZXMpKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1
dG8qIHNjcm9sbGFibGVMYXllciA9IGVuY2xvc2luZ1Njcm9sbGFibGVMYXllci0+c2Nyb2xsYWJs
ZUFyZWEoKSkKKyAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxCeVJl
Y3Vyc2l2ZWx5KHJlbWFpbmluZ1Njcm9sbE9mZnNldCwgc2Nyb2xsZWRBcmVhKTsKKyAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgcmVuZGVyZXIuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS51cGRh
dGVBdXRvc2Nyb2xsUmVuZGVyZXIoKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IDJjNmEwNGIwZmMyODgyOTFkYTYzNTlhMjZhMDA5
ZGQ3MGZkZDE2ZWUuLmQyYjA2MjdjNGRmOWJkYzg4ZGZmNzUwOTkzMTI4M2UyMzBjODdmMGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTg5Nyw3ICs4
OTcsOSBAQCBib29sIFJlbmRlckxpc3RCb3g6OmlzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGUo
KQogCiBib29sIFJlbmRlckxpc3RCb3g6Omhhc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQW5j
ZXN0b3IoKQogewotICAgIHJldHVybiBlbmNsb3NpbmdMYXllcigpICYmIGVuY2xvc2luZ0xheWVy
KCktPmhhc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQW5jZXN0b3IoKTsKKyAgICBpZiAoYXV0
byogc2Nyb2xsYWJsZUxheWVyID0gZW5jbG9zaW5nTGF5ZXIoKSA/IGVuY2xvc2luZ0xheWVyKCkt
PnNjcm9sbGFibGVBcmVhKCkgOiBudWxscHRyKQorICAgICAgICByZXR1cm4gc2Nyb2xsYWJsZUxh
eWVyLT5oYXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZUFuY2VzdG9yKCk7CisgICAgcmV0dXJu
IGZhbHNlOwogfQogCiBJbnRSZWN0IFJlbmRlckxpc3RCb3g6OnNjcm9sbGFibGVBcmVhQm91bmRp
bmdCb3goYm9vbCopIGNvbnN0Cg==
</data>
<flag name="commit-queue"
          id="435653"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417849</attachid>
            <date>2021-01-18 15:48:27 -0800</date>
            <delta_ts>2021-01-19 01:16:32 -0800</delta_ts>
            <desc>Patch, v3</desc>
            <filename>bug-220715-20210119004825.patch</filename>
            <type>text/plain</type>
            <size>18161</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU3NzU1MjI2YjA5NDhm
OTM3ODY3NjliN2ZjMmJjNDNlOTBjNzk4Yy4uOGUyMTAyY2VmYjg4OWU2NDIxMDMwOTAxYjc3NjFl
ZDMyMGQ1NGY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTAxLTE4ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbnRp
bnVlIHJlbW92aW5nIGdsdWUgY29kZSBmcm9tIFJlbmRlckxheWVyIHRoYXQgd2FzIHJlY2VudGx5
IGFkZGVkIGluIHIyNzE1NTkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDcxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvbGxvdy11cCBvbiBwYXRjaCBhZHJlc3NpbmcgdGhlIHJlbW92YWwgb2YgdGhl
IGdsdWUgY29kZSB0aGF0CisgICAgICAgIGZvcndhcmRzIGNhbGxzIGZyb20gUmVuZGVyTGF5ZXIg
dG8gUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYSAoc2VlCisgICAgICAgIHdlYmtpdC5vcmcvYi82
MDMwNSkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsSW5E
aXJlY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2V0dXBXaGVlbEV2ZW50TW9uaXRvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRT
Y3JvbGxUb3ApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzZXRTY3JvbGxQb3NpdGlv
bik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpjdXJyZW50U2Nyb2xsVHlwZSBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsQW5pbWF0b3IgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWFBvc2l0aW9uKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUb1lQb3NpdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0U2Nyb2xsUG9zaXRp
b24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbEJ5UmVj
dXJzaXZlbHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNldFJl
cXVpcmVzU2Nyb2xsUG9zaXRpb25SZWNvbmNpbGlhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNlc3Rv
cik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVhY2hhYmxlVG90
YWxDb250ZW50c1NpemUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6Omhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp2ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5
U3R5bGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVTY3JvbGxPZmZzZXQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGVnYWN5V2ViS2l0U2Nyb2xsaW5nTGF5ZXJDb29yZGluYXRvcjo6dXBkYXRlU2Nyb2xsaW5n
TGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbEJ5
UmVjdXJzaXZlbHkpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6Omhhc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRh
YmxlQW5jZXN0b3IpOgorCiAyMDIxLTAxLTE4ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSByZWNlbnRseSBhZGRlZCBnbHVlIGNv
ZGU6IFJlbmRlckxheWVyOjooc2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nIC8gc2V0
U2Nyb2xsU2hvdWxkQ2xlYXJMYXRjaGVkU3RhdGUgLyBzZXRDb25zdHJhaW5zU2Nyb2xsaW5nVG9D
b250ZW50RWRnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA0OTUzN2E2MTI3M2M2
NjJiM2NkMjVkYzA0OThlZmU3N2NmOWFiMWNjLi4xZDAwOGU1Yzk3NGJhN2NiYWY4ZDRhMmI0ZGY3
NzE0YjE5ZGU2MWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMjEtMDEtMTggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQGlnYWxpYS5j
b20+CisKKyAgICAgICAgQ29udGludWUgcmVtb3ZpbmcgZ2x1ZSBjb2RlIGZyb20gUmVuZGVyTGF5
ZXIgdGhhdCB3YXMgcmVjZW50bHkgYWRkZWQgaW4gcjI3MTU1OQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNzE1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sbG93LXVwIG9uIHBhdGNoIGFkcmVzc2lu
ZyB0aGUgcmVtb3ZhbCBvZiB0aGUgZ2x1ZSBjb2RlIHRoYXQKKyAgICAgICAgZm9yd2FyZHMgY2Fs
bHMgZnJvbSBSZW5kZXJMYXllciB0byBSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhIChzZWUKKyAg
ICAgICAgd2Via2l0Lm9yZy9iLzYwMzA1KS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5n
IHRlc3RzLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpnZXN0
dXJlKToKKwogMjAyMS0wMS0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVzZSBtb3JlIGluY2x1c2l2ZSBsYW5ndWFnZSBpbiBsZWdhY3kg
V2luZG93cyBwbHVnaW4gY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGF0
aWFsTmF2aWdhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9u
LmNwcAppbmRleCAzOGZiNDk3MWQyYTMyOTQzN2U3NDQwMzcyNGE4ZDIxYmYxZDdlMmVhLi44MDli
YzE5MTM0NzAwNzg3NDM1OTM2ODQ1YjZjZGE1OTM1ZTVhMWRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5o
IgorI2luY2x1ZGUgIlJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCIKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOTQsNyArMzk1LDggQEAgYm9vbCBz
Y3JvbGxJbkRpcmVjdGlvbihOb2RlKiBjb250YWluZXIsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlv
bikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIGNvbnRh
aW5lci0+cmVuZGVyQm94KCktPmVuY2xvc2luZ0xheWVyKCktPnNjcm9sbEJ5UmVjdXJzaXZlbHko
SW50U2l6ZShkeCwgZHkpKTsKKyAgICAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVMYXllciA9IGNv
bnRhaW5lci0+cmVuZGVyQm94KCktPmVuY2xvc2luZ0xheWVyKCktPnNjcm9sbGFibGVBcmVhKCkp
CisgICAgICAgICAgICBzY3JvbGxhYmxlTGF5ZXItPnNjcm9sbEJ5UmVjdXJzaXZlbHkoSW50U2l6
ZShkeCwgZHkpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDI3NmM2MzQ0NjY0MjI4Y2FjYTFjMTllMjU3YmZh
Mzk0MTk1NDM0MTEuLjkwZmFmOTJiNTI4Mjg5NmNkMjc3MGNhYmEyNzdiNWI2YmM3NTEyMDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC02Myw2ICs2Myw3IEBACiAj
aW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyU2Ny
b2xsYWJsZUFyZWEuaCIKICNpbmNsdWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUg
IlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlQ2VsbC5oIgpA
QCAtNTkwLDcgKzU5MSw5IEBAIHN0YXRpYyB2b2lkIHNldHVwV2hlZWxFdmVudE1vbml0b3IoUmVu
ZGVyTGF5ZXImIGxheWVyKQogICAgIFBhZ2UmIHBhZ2UgPSBsYXllci5yZW5kZXJlcigpLnBhZ2Uo
KTsKICAgICBpZiAoIXBhZ2UuaXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgcmV0
dXJuOwotICAgIGxheWVyLnNjcm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxFdmVudFRlc3RNb25pdG9y
KHBhZ2Uud2hlZWxFdmVudFRlc3RNb25pdG9yKCkpOworICAgIGF1dG8qIHNjcm9sbGFibGVMYXll
ciA9IGxheWVyLnNjcm9sbGFibGVBcmVhKCk7CisgICAgQVNTRVJUKHNjcm9sbGFibGVMYXllcik7
CisgICAgc2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0
TW9uaXRvcihwYWdlLndoZWVsRXZlbnRUZXN0TW9uaXRvcigpKTsKIH0KIAogdm9pZCBSZW5kZXJC
b3g6OnNldFNjcm9sbExlZnQoaW50IG5ld0xlZnQsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdl
T3B0aW9ucyYgb3B0aW9ucykKQEAgLTU5OCw3ICs2MDEsNyBAQCB2b2lkIFJlbmRlckJveDo6c2V0
U2Nyb2xsTGVmdChpbnQgbmV3TGVmdCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25z
JiBvcAogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwgIWxheWVyKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCpsYXllcigpKTsKLSAgICBsYXllcigp
LT5zY3JvbGxUb1hQb3NpdGlvbihuZXdMZWZ0LCBvcHRpb25zKTsKKyAgICBsYXllcigpLT5lbnN1
cmVMYXllclNjcm9sbGFibGVBcmVhKCktPnNjcm9sbFRvWFBvc2l0aW9uKG5ld0xlZnQsIG9wdGlv
bnMpOwogfQogCiB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIGNvbnN0
IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aW9ucykKQEAgLTYwNiw3ICs2MDksNyBA
QCB2b2lkIFJlbmRlckJveDo6c2V0U2Nyb2xsVG9wKGludCBuZXdUb3AsIGNvbnN0IFNjcm9sbFBv
c2l0aW9uQ2hhbmdlT3B0aW9ucyYgb3B0aQogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgfHwg
IWxheWVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXR1cFdoZWVsRXZlbnRNb25pdG9yKCps
YXllcigpKTsKLSAgICBsYXllcigpLT5zY3JvbGxUb1lQb3NpdGlvbihuZXdUb3AsIG9wdGlvbnMp
OworICAgIGxheWVyKCktPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsVG9ZUG9z
aXRpb24obmV3VG9wLCBvcHRpb25zKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OnNldFNjcm9sbFBv
c2l0aW9uKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBwb3NpdGlvbiwgY29uc3QgU2Nyb2xsUG9zaXRp
b25DaGFuZ2VPcHRpb25zJiBvcHRpb25zKQpAQCAtNjE0LDcgKzYxNyw3IEBAIHZvaWQgUmVuZGVy
Qm94OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24sIGNv
bnN0IFNjcm9sbFBvCiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCAhbGF5ZXIoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIHNldHVwV2hlZWxFdmVudE1vbml0b3IoKmxheWVyKCkpOwotICAg
IGxheWVyKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0aW9uLCBvcHRpb25zKTsKKyAgICBsYXll
cigpLT5lbnN1cmVMYXllclNjcm9sbGFibGVBcmVhKCktPnNldFNjcm9sbFBvc2l0aW9uKHBvc2l0
aW9uLCBvcHRpb25zKTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFic29sdXRlUmVjdHMoVmVjdG9y
PEludFJlY3Q+JiByZWN0cywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMmVjNWQ1
Mzg4ZGZlMTAzMDU2YzFjMDczMzBlYjA3NTA2ZDRkYTRlMC4uMjMwZmEyYTFhOGQyMTJhZGE2NzM1
OWRhNzNjMDliMTA1MDUxZTIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCkBAIC0zNzcsMTggKzM3Nyw2IEBAIFJlbmRlckxheWVyOjp+UmVuZGVyTGF5ZXIoKQog
fQogCiAvLyBTdGFydCBvZiB0ZW1wb3JhcnkgZ2x1ZSBjb2RlIHRvIGhlbHAgbGFuZGluZyB3ZWJr
aXQub3JnL2IvNjAzMDUgKHNwbGl0IFJlbmRlckxheWVyIGludG8gUmVuZGVyTGF5ZXIvUmVuZGVy
TGF5ZXJTY3JvbGxhYmxlQXJlYSkKLVNjcm9sbFR5cGUgUmVuZGVyTGF5ZXI6OmN1cnJlbnRTY3Jv
bGxUeXBlKCkgY29uc3QKLXsKLSAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAgICAgICAgcmV0
dXJuIG1fc2Nyb2xsYWJsZUFyZWEtPmN1cnJlbnRTY3JvbGxUeXBlKCk7Ci0gICAgcmV0dXJuIFNj
cm9sbFR5cGU6OlVzZXI7Ci19Ci0KLVNjcm9sbEFuaW1hdG9yJiBSZW5kZXJMYXllcjo6c2Nyb2xs
QW5pbWF0b3IoKSBjb25zdAotewotICAgIHJldHVybiBjb25zdF9jYXN0PFJlbmRlckxheWVyKj4o
dGhpcyktPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsQW5pbWF0b3IoKTsKLX0K
LQogU2Nyb2xsT2Zmc2V0IFJlbmRlckxheWVyOjpzY3JvbGxPZmZzZXQoKSBjb25zdAogewogICAg
IGlmIChtX3Njcm9sbGFibGVBcmVhKQpAQCAtMzk2LDMyICszODQsNiBAQCBTY3JvbGxPZmZzZXQg
UmVuZGVyTGF5ZXI6OnNjcm9sbE9mZnNldCgpIGNvbnN0CiAgICAgcmV0dXJuIHsgMCwgMCB9Owog
fQogCi12b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgY29uc3QgU2Ny
b2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zJiBvcHRpb25zKQotewotICAgIGVuc3VyZUxheWVyU2Ny
b2xsYWJsZUFyZWEoKS0+c2Nyb2xsVG9YUG9zaXRpb24oeCwgb3B0aW9ucyk7Ci19Ci0KLXZvaWQg
UmVuZGVyTGF5ZXI6OnNjcm9sbFRvWVBvc2l0aW9uKGludCB5LCBjb25zdCBTY3JvbGxQb3NpdGlv
bkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCi17Ci0gICAgZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJl
YSgpLT5zY3JvbGxUb1lQb3NpdGlvbih5LCBvcHRpb25zKTsKLX0KLQotdm9pZCBSZW5kZXJMYXll
cjo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHBvc2l0aW9uLCBjb25z
dCBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnMmIG9wdGlvbnMpCi17Ci0gICAgZW5zdXJlTGF5
ZXJTY3JvbGxhYmxlQXJlYSgpLT5zZXRTY3JvbGxQb3NpdGlvbihwb3NpdGlvbiwgb3B0aW9ucyk7
Ci19Ci0KLXZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbEJ5UmVjdXJzaXZlbHkoY29uc3QgSW50U2l6
ZSYgZGVsdGEsIFNjcm9sbGFibGVBcmVhKiogc2Nyb2xsZWRBcmVhKQotewotICAgIGVuc3VyZUxh
eWVyU2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsQnlSZWN1cnNpdmVseShkZWx0YSwgc2Nyb2xsZWRB
cmVhKTsKLX0KLQotdm9pZCBSZW5kZXJMYXllcjo6c2V0UmVxdWlyZXNTY3JvbGxQb3NpdGlvblJl
Y29uY2lsaWF0aW9uKGJvb2wgcmVxdWlyZXNSZWNvbmNpbGlhdGlvbikKLXsKLSAgICBpZiAobV9z
Y3JvbGxhYmxlQXJlYSkKLSAgICAgICAgbV9zY3JvbGxhYmxlQXJlYS0+c2V0UmVxdWlyZXNTY3Jv
bGxQb3NpdGlvblJlY29uY2lsaWF0aW9uKHJlcXVpcmVzUmVjb25jaWxpYXRpb24pOwotfQotCiBi
b29sIFJlbmRlckxheWVyOjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCkgY29uc3QKIHsKICAgICByZXR1cm4gcmVuZGVyZXIoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0
aW9uU2Nyb2xsYmFyT25MZWZ0KCk7CkBAIC00MzQsMTMgKzM5Niw2IEBAIGJvb2wgUmVuZGVyTGF5
ZXI6OmNvbnRhaW5zRGlydHlPdmVybGF5U2Nyb2xsYmFycygpIGNvbnN0CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi1ib29sIFJlbmRlckxheWVyOjpoYXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJs
ZUFuY2VzdG9yKCkKLXsKLSAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAgICAgICAgcmV0dXJu
IG1fc2Nyb2xsYWJsZUFyZWEtPmhhc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQW5jZXN0b3Io
KTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIFJlbmRlck1hcnF1ZWUqIFJlbmRlckxheWVyOjpt
YXJxdWVlKCkgY29uc3QKIHsKICAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKQEAgLTQ4NSwyNyAr
NDQwLDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRPdmVybGF5U2Nyb2xsYmFycyhHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheW91dFIKICAgICAgICAgbV9zY3JvbGxhYmxlQXJl
YS0+cGFpbnRPdmVybGF5U2Nyb2xsYmFycyhjb250ZXh0LCBkYW1hZ2VSZWN0LCBiZWhhdmlvciwg
c3VidHJlZVBhaW50Um9vdCk7CiB9CiAKLUludFNpemUgUmVuZGVyTGF5ZXI6OnJlYWNoYWJsZVRv
dGFsQ29udGVudHNTaXplKCkgY29uc3QKLXsKLSAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKLSAg
ICAgICAgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWEtPnJlYWNoYWJsZVRvdGFsQ29udGVudHNTaXpl
KCk7Ci0gICAgcmV0dXJuIHsgMCwgMCB9OwotfQotCi1ib29sIFJlbmRlckxheWVyOjpob3Jpem9u
dGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fc2Nyb2xsYWJs
ZUFyZWEpCi0gICAgICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVhLT5ob3Jpem9udGFsU2Nyb2xs
YmFySGlkZGVuQnlTdHlsZSgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBSZW5kZXJM
YXllcjo6dmVydGljYWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCkgY29uc3QKLXsKLSAgICBpZiAo
bV9zY3JvbGxhYmxlQXJlYSkKLSAgICAgICAgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWEtPnZlcnRp
Y2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQogdm9p
ZCBSZW5kZXJMYXllcjo6c2V0UG9zdExheW91dFNjcm9sbFBvc2l0aW9uKE9wdGlvbmFsPFNjcm9s
bFBvc2l0aW9uPiBwb3NpdGlvbikKIHsKICAgICBpZiAobV9zY3JvbGxhYmxlQXJlYSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMjkxNWU1ZjAxMzA4N2RiYzY4ZTI5
MDQzZjBlNTU0NzI5MmFmOTMwZi4uNzNkNGE0OWMwMjVmZWExYTQxOThmMjBmY2VhY2E1OGVmMGZj
YzRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE2MCwxNyAr
MTYwLDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFJlbmRlckxheWVyU2Nyb2xsYWJs
ZUFyZWEqIGVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKTsKIAogICAgIC8vIFN0YXJ0IG9mIHRl
bXBvcmFyeSBnbHVlIGNvZGUgdG8gaGVscCBsYW5kaW5nIHdlYmtpdC5vcmcvYi82MDMwNSAoc3Bs
aXQgUmVuZGVyTGF5ZXIgaW50byBSZW5kZXJMYXllci9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVh
KQotICAgIFNjcm9sbFR5cGUgY3VycmVudFNjcm9sbFR5cGUoKSBjb25zdDsKLSAgICBXRUJDT1JF
X0VYUE9SVCBTY3JvbGxBbmltYXRvciYgc2Nyb2xsQW5pbWF0b3IoKSBjb25zdDsKICAgICBXRUJD
T1JFX0VYUE9SVCBTY3JvbGxPZmZzZXQgc2Nyb2xsT2Zmc2V0KCkgY29uc3Q7Ci0gICAgdm9pZCBz
Y3JvbGxUb1hQb3NpdGlvbihpbnQgeCwgY29uc3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25z
Jik7Ci0gICAgdm9pZCBzY3JvbGxUb1lQb3NpdGlvbihpbnQgeSwgY29uc3QgU2Nyb2xsUG9zaXRp
b25DaGFuZ2VPcHRpb25zJik7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3Jv
bGxQb3NpdGlvbiYsIGNvbnN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyYpOwotICAgIHZv
aWQgc2Nyb2xsQnlSZWN1cnNpdmVseShjb25zdCBJbnRTaXplJiBkZWx0YSwgU2Nyb2xsYWJsZUFy
ZWEqKiBzY3JvbGxlZEFyZWEgPSBudWxscHRyKTsKLSAgICB2b2lkIHNldFJlcXVpcmVzU2Nyb2xs
UG9zaXRpb25SZWNvbmNpbGlhdGlvbihib29sIHJlcXVpcmVzUmVjb25jaWxpYXRpb24gPSB0cnVl
KTsKICAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBj
b25zdDsKICAgICBib29sIGNvbnRhaW5zRGlydHlPdmVybGF5U2Nyb2xsYmFycygpIGNvbnN0Owot
ICAgIGJvb2wgaGFzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNlc3RvcigpOwogICAgIFJl
bmRlck1hcnF1ZWUqIG1hcnF1ZWUoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZUxheWVyUG9zaXRp
b25zQWZ0ZXJEb2N1bWVudFNjcm9sbCgpOwogICAgIGJvb2wgaGl0VGVzdE92ZXJmbG93Q29udHJv
bHMoSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEludFBvaW50JiBsb2NhbFBvaW50KTsKQEAgLTE3OCw5
ICsxNzAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWludFNjcm9sbENvcm5lcihHcmFwaGljc0Nv
bnRleHQmLCBjb25zdCBJbnRQb2ludCYsIGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpOwogICAg
IHZvaWQgcGFpbnRSZXNpemVyKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IExheW91dFBvaW50Jiwg
Y29uc3QgTGF5b3V0UmVjdCYgZGFtYWdlUmVjdCk7CiAgICAgdm9pZCBwYWludE92ZXJsYXlTY3Jv
bGxiYXJzKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IExheW91dFJlY3QmIGRhbWFnZVJlY3QsIE9w
dGlvblNldDxQYWludEJlaGF2aW9yPiwgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUGFpbnRSb290ID0g
bnVsbHB0cik7Ci0gICAgSW50U2l6ZSByZWFjaGFibGVUb3RhbENvbnRlbnRzU2l6ZSgpIGNvbnN0
OwotICAgIGJvb2wgaG9yaXpvbnRhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25zdDsKLSAg
ICBib29sIHZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0OwogICAgIHZvaWQg
c2V0UG9zdExheW91dFNjcm9sbFBvc2l0aW9uKE9wdGlvbmFsPFNjcm9sbFBvc2l0aW9uPik7CiAg
ICAgdm9pZCBwYW5TY3JvbGxGcm9tUG9pbnQoY29uc3QgSW50UG9pbnQmKTsKICAgICBTY3JvbGxQ
b3NpdGlvbiBzY3JvbGxQb3NpdGlvbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCAxMGI3NjIyZDQxMDEwN2FlZWUzMjg3
ZDcyZGIyN2ExNWEzY2Q1MmZhLi5hNmYzNTE1YjNiMTcyMWE3YjM1NmI4MTQyNzJlYWI3N2QyNTA4
NjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcApAQCAtMTQ5MSwxNCArMTQ5MSwxNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0
TG9jYXRpb25PZlNjcm9sbGVkQ29udGVudHMoU2Nyb2xsT2Zmc2V0IHNjcm9sbE9mZnNldAogCiB2
b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlU2Nyb2xsT2Zmc2V0KFNjcm9sbE9mZnNldCBz
Y3JvbGxPZmZzZXQpCiB7Ci0gICAgaWYgKG1fb3duaW5nTGF5ZXIuY3VycmVudFNjcm9sbFR5cGUo
KSA9PSBTY3JvbGxUeXBlOjpVc2VyKSB7CisgICAgYXV0byogc2Nyb2xsYWJsZUxheWVyID0gbV9v
d25pbmdMYXllci5zY3JvbGxhYmxlQXJlYSgpOworICAgIEFTU0VSVChzY3JvbGxhYmxlTGF5ZXIp
OworCisgICAgaWYgKHNjcm9sbGFibGVMYXllci0+Y3VycmVudFNjcm9sbFR5cGUoKSA9PSBTY3Jv
bGxUeXBlOjpVc2VyKSB7CiAgICAgICAgIC8vIElmIHNjcm9sbGluZyBpcyBoYXBwZW5pbmcgZXh0
ZXJuYWxseSwgd2UgZG9uJ3Qgd2FudCB0byB0b3VjaCB0aGUgbGF5ZXIgYm91bmRzIG9yaWdpbiBo
ZXJlIGJlY2F1c2UgdGhhdCB3aWxsIGNhdXNlIGppdHRlci4KICAgICAgICAgc2V0TG9jYXRpb25P
ZlNjcm9sbGVkQ29udGVudHMoc2Nyb2xsT2Zmc2V0LCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0
aW9uOjpTeW5jKTsKLSAgICAgICAgbV9vd25pbmdMYXllci5zZXRSZXF1aXJlc1Njcm9sbFBvc2l0
aW9uUmVjb25jaWxpYXRpb24odHJ1ZSk7CisgICAgICAgIHNjcm9sbGFibGVMYXllci0+c2V0UmVx
dWlyZXNTY3JvbGxQb3NpdGlvblJlY29uY2lsaWF0aW9uKHRydWUpOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBpbXBsZW1lbnQgdGhlIGNvbnRlbnRzIG9mZnNldCB2aWEg
dGhlIGJvdW5kcyBvcmlnaW4gb24gdGhpcyBsYXllciwgcmF0aGVyIHRoYW4gYSBwb3NpdGlvbiBv
biB0aGUgc3VibGF5ZXIuCiAgICAgICAgIHNldExvY2F0aW9uT2ZTY3JvbGxlZENvbnRlbnRzKHNj
cm9sbE9mZnNldCwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6U2V0KTsKLSAgICAgICAg
bV9vd25pbmdMYXllci5zZXRSZXF1aXJlc1Njcm9sbFBvc2l0aW9uUmVjb25jaWxpYXRpb24oZmFs
c2UpOworICAgICAgICBzY3JvbGxhYmxlTGF5ZXItPnNldFJlcXVpcmVzU2Nyb2xsUG9zaXRpb25S
ZWNvbmNpbGlhdGlvbihmYWxzZSk7CiAgICAgfQogCiAgICAgQVNTRVJUKG1fc2Nyb2xsZWRDb250
ZW50c0xheWVyLT5wb3NpdGlvbigpLmlzWmVybygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMzg0YzQxNWRhNDM5Nzg4
ZmRhY2M3NWFjZDA2OTRhZjVkMTE0OTBjMy4uM2U3YTUwZjAzZTA5MjQzMzRiYjY4Mjc4ODdjMmZm
ZGEyMzdjMzcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKQEAgLTUwNDYsMTEgKzUwNDYsMTQgQEAgdm9pZCBMZWdhY3lXZWJL
aXRTY3JvbGxpbmdMYXllckNvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxpbmdMYXllcihSZW5kZXJM
YXllciYgbGEKICAgICBhdXRvKiBiYWNraW5nID0gbGF5ZXIuYmFja2luZygpOwogICAgIEFTU0VS
VChiYWNraW5nKTsKIAotICAgIGJvb2wgYWxsb3dIb3Jpem9udGFsU2Nyb2xsYmFyID0gIWxheWVy
Lmhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCk7Ci0gICAgYm9vbCBhbGxvd1ZlcnRp
Y2FsU2Nyb2xsYmFyID0gIWxheWVyLnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpOwor
ICAgIGF1dG8qIHNjcm9sbGFibGVMYXllciA9IGxheWVyLnNjcm9sbGFibGVBcmVhKCk7CisgICAg
QVNTRVJUKHNjcm9sbGFibGVMYXllcik7CisKKyAgICBib29sIGFsbG93SG9yaXpvbnRhbFNjcm9s
bGJhciA9ICFzY3JvbGxhYmxlTGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxl
KCk7CisgICAgYm9vbCBhbGxvd1ZlcnRpY2FsU2Nyb2xsYmFyID0gIXNjcm9sbGFibGVMYXllci0+
dmVydGljYWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCk7CiAKICAgICBtX2Nocm9tZUNsaWVudC5h
ZGRPclVwZGF0ZVNjcm9sbGluZ0xheWVyKGxheWVyLnJlbmRlcmVyKCkuZWxlbWVudCgpLCBiYWNr
aW5nLT5zY3JvbGxDb250YWluZXJMYXllcigpLT5wbGF0Zm9ybUxheWVyKCksIGJhY2tpbmctPnNj
cm9sbGVkQ29udGVudHNMYXllcigpLT5wbGF0Zm9ybUxheWVyKCksCi0gICAgICAgIGxheWVyLnJl
YWNoYWJsZVRvdGFsQ29udGVudHNTaXplKCksIGFsbG93SG9yaXpvbnRhbFNjcm9sbGJhciwgYWxs
b3dWZXJ0aWNhbFNjcm9sbGJhcik7CisgICAgICAgIHNjcm9sbGFibGVMYXllci0+cmVhY2hhYmxl
VG90YWxDb250ZW50c1NpemUoKSwgYWxsb3dIb3Jpem9udGFsU2Nyb2xsYmFyLCBhbGxvd1ZlcnRp
Y2FsU2Nyb2xsYmFyKTsKIH0KIAogdm9pZCBMZWdhY3lXZWJLaXRTY3JvbGxpbmdMYXllckNvb3Jk
aW5hdG9yOjpyZWdpc3RlckFsbFNjcm9sbGluZ0xheWVycygpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggM2M5
OTgxYzViYzJlM2MzMTMxNDUyNjk0Mjk4N2FmOGI1YzAwYjk4YS4uZjEwNDNhZTlkNGMyMDUzMzFh
MWYxMTI5M2YxZGYxZGIxZWQxMGFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcApAQCAtMTcyNSw4ICsxNzI1LDEw
IEBAIHZvaWQgUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsQnlSZWN1cnNpdmVseShj
b25zdCBJbnRTaXplJiBkZWx0YSwgU2Nyb2xsCiAgICAgICAgIEludFNpemUgcmVtYWluaW5nU2Ny
b2xsT2Zmc2V0ID0gbmV3U2Nyb2xsT2Zmc2V0IC0gc2Nyb2xsT2Zmc2V0KCk7CiAgICAgICAgIGlm
ICghcmVtYWluaW5nU2Nyb2xsT2Zmc2V0LmlzWmVybygpICYmIHJlbmRlcmVyLnBhcmVudCgpKSB7
CiAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBza2lwcyBzY3JvbGxhYmxlIGZyYW1lcy4KLSAg
ICAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlTGF5ZXIgPSBtX2xheWVyLmVuY2xvc2luZ1Nj
cm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpFeGNsdWRlU2VsZiwgQ3Jvc3NGcmFtZUJv
dW5kYXJpZXM6OlllcykpCi0gICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxC
eVJlY3Vyc2l2ZWx5KHJlbWFpbmluZ1Njcm9sbE9mZnNldCwgc2Nyb2xsZWRBcmVhKTsKKyAgICAg
ICAgICAgIGlmIChhdXRvKiBlbmNsb3NpbmdTY3JvbGxhYmxlTGF5ZXIgPSBtX2xheWVyLmVuY2xv
c2luZ1Njcm9sbGFibGVMYXllcihJbmNsdWRlU2VsZk9yTm90OjpFeGNsdWRlU2VsZiwgQ3Jvc3NG
cmFtZUJvdW5kYXJpZXM6OlllcykpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byogc2Nyb2xs
YWJsZUxheWVyID0gZW5jbG9zaW5nU2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxhYmxlQXJlYSgpKQor
ICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlTGF5ZXItPnNjcm9sbEJ5UmVjdXJzaXZlbHko
cmVtYWluaW5nU2Nyb2xsT2Zmc2V0LCBzY3JvbGxlZEFyZWEpOworICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICByZW5kZXJlci5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLnVwZGF0ZUF1dG9zY3Jv
bGxSZW5kZXJlcigpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHAKaW5kZXggMmM2YTA0YjBmYzI4ODI5MWRhNjM1OWEyNmEwMDlkZDcwZmRkMTZl
ZS4uZDJiMDYyN2M0ZGY5YmRjODhkZmY3NTA5OTMxMjgzZTIzMGM4N2YwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcApAQCAtODk3LDcgKzg5Nyw5IEBAIGJv
b2wgUmVuZGVyTGlzdEJveDo6aXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZSgpCiAKIGJvb2wg
UmVuZGVyTGlzdEJveDo6aGFzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNlc3RvcigpCiB7
Ci0gICAgcmV0dXJuIGVuY2xvc2luZ0xheWVyKCkgJiYgZW5jbG9zaW5nTGF5ZXIoKS0+aGFzU2Ny
b2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNlc3RvcigpOworICAgIGlmIChhdXRvKiBzY3JvbGxh
YmxlTGF5ZXIgPSBlbmNsb3NpbmdMYXllcigpID8gZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsYWJs
ZUFyZWEoKSA6IG51bGxwdHIpCisgICAgICAgIHJldHVybiBzY3JvbGxhYmxlTGF5ZXItPmhhc1Nj
cm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQW5jZXN0b3IoKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9
CiAKIEludFJlY3QgUmVuZGVyTGlzdEJveDo6c2Nyb2xsYWJsZUFyZWFCb3VuZGluZ0JveChib29s
KikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggYWE1MjA4OTc2MjY2
NTE0NjBmMTM0NTlmZTY5NmJkOTc4NDNjNDNhYS4uN2MwYmI0OTFiMzUxNWVmMzcwNjU1YWIyMmUx
YjAzMTFlY2Y3NmFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTE0Nyw2
ICsxNDcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUG9wdXBNZW51V2luLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlckxheWVy
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZW5kZXJUaGVtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVHJl
ZUFzVGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVmlldy5oPgpAQCAtMjA0OSw3ICsy
MDUwLDcgQEAgYm9vbCBXZWJWaWV3OjpnZXN0dXJlKFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFy
YW0pCiAgICAgICAgICAgICBjb3JlRnJhbWUtPnZpZXcoKS0+c2Nyb2xsQnkobG9naWNhbFNjcm9s
bERlbHRhKTsKICAgICAgICAgICAgIHNjcm9sbGVkQXJlYSA9IGNvcmVGcmFtZS0+dmlldygpOwog
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHNjcm9sbGFibGVMYXllci0+c2Nyb2xsQnlSZWN1
cnNpdmVseShsb2dpY2FsU2Nyb2xsRGVsdGEsICZzY3JvbGxlZEFyZWEpOworICAgICAgICAgICAg
c2Nyb2xsYWJsZUxheWVyLT5lbnN1cmVMYXllclNjcm9sbGFibGVBcmVhKCktPnNjcm9sbEJ5UmVj
dXJzaXZlbHkobG9naWNhbFNjcm9sbERlbHRhLCAmc2Nyb2xsZWRBcmVhKTsKIAogICAgICAgICBp
ZiAoIShVcGRhdGVQYW5uaW5nRmVlZGJhY2tQdHIoKSAmJiBCZWdpblBhbm5pbmdGZWVkYmFja1B0
cigpICYmIEVuZFBhbm5pbmdGZWVkYmFja1B0cigpKSkgewogICAgICAgICAgICAgQ2xvc2VHZXN0
dXJlSW5mb0hhbmRsZVB0cigpKGdlc3R1cmVIYW5kbGUpOwo=
</data>
<flag name="review"
          id="435645"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>