<?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>231877</bug_id>
          
          <creation_ts>2021-10-17 05:04:16 -0700</creation_ts>
          <short_desc>[LFC][Integration] Support background-clip:text on inline boxes</short_desc>
          <delta_ts>2021-10-17 07:46:19 -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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</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>1805376</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-17 05:04:16 -0700</bug_when>
    <thetext>Text mask painting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805377</commentid>
    <comment_count>1</comment_count>
      <attachid>441532</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-17 05:10:12 -0700</bug_when>
    <thetext>Created attachment 441532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805381</commentid>
    <comment_count>2</comment_count>
      <attachid>441535</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-17 06:04:18 -0700</bug_when>
    <thetext>Created attachment 441535
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805382</commentid>
    <comment_count>3</comment_count>
      <attachid>441536</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-17 07:10:06 -0700</bug_when>
    <thetext>Created attachment 441536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805383</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-17 07:45:52 -0700</bug_when>
    <thetext>Committed r284334 (243129@main): &lt;https://commits.webkit.org/243129@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441536.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805384</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-17 07:46:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/84347147&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441532</attachid>
            <date>2021-10-17 05:10:12 -0700</date>
            <delta_ts>2021-10-17 06:04:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231877-20211017151011.patch</filename>
            <type>text/plain</type>
            <size>16996</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE2MDExMTJlODk1ODA3
NjlmOGE3M2IwOTQxNjMyOTdkN2E4OTJmZi4uOTgyOWFkNzllNzQ0NDY4MTUyN2Q5ZTcxYmFkMGM0
MjA1NDM2Yjc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEwLTE3ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gU3VwcG9ydCBiYWNrZ3JvdW5kLWNsaXA6dGV4dCBvbiBpbmxpbmUgYm94ZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTg3NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCB0ZXh0IG1h
c2sgcGFpbnRpbmcuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tncm91
bmQtY2xpcC10ZXh0Lmh0bWwKKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvckJveExlZ2FjeVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9y
OjpCb3hMZWdhY3lQYXRoOjpmaXJzdExlYWZCb3hGb3JJbmxpbmVCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkJveExlZ2FjeVBhdGg6Omxhc3RMZWFmQm94Rm9y
SW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRl
cmF0b3JCb3hNb2Rlcm5QYXRoLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6
Qm94TW9kZXJuUGF0aDo6Zmlyc3RMZWFmQm94Rm9ySW5saW5lQm94IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjpsYXN0TGVhZkJveEZvcklu
bGluZUJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9k
ZXJuUGF0aDo6aXNXaXRoaW5JbmxpbmVCb3gpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlv
bi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJ
dGVyYXRvcjo6SW5saW5lQm94OjpmaXJzdExlYWZCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lSXRlcmF0b3I6OklubGluZUJveDo6bGFzdExlYWZCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OklubGluZUJveDo6Zmlyc3RUZXh0Qm94IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpJbmxpbmVCb3g6Omxhc3RUZXh0
Qm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpJbmxpbmVCb3g6
OmVuZFRleHRCb3ggY29uc3QpOgorCisgICAgICAgIEFkZCBpdGVyYXRvciBzdXBwb3J0IGZvciBn
ZXR0aW5nIGxlYWYgYm94ZXMgb2YgYW4gaW5saW5lIGJveC4KKworICAgICAgICAqIGxheW91dC9p
bnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5oOgorICAgICAgICAqIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpwcmludFJlYXNvbik6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXRJbnRlZ3JhdGlvbjo6Y2FuVXNlRm9yUmVuZGVySW5saW5lQ2hpbGQpOgorICAgICAgICAq
IGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludE1hc2tGb3JUZXh0RmlsbEJveCk6CisKKyAgICAg
ICAgUGFpbnQgdGhlIG1hc2sgZGlyZWN0bHkgdXNpbmcgVGV4dEJveFBhaW50ZXIgaW5zdGVhZCBv
ZiByZWN1cnNpbmcgdG8gdGhlIGdlbmVyYWwgcGFpbnRpbmcgY29kZS4KKworICAgICAgICAqIHJl
bmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Qm94UGFp
bnRlcjo6VGV4dEJveFBhaW50ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0Qm94UGFpbnRl
ci5oOgorCiAyMDIxLTEwLTE1ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxlIGlubGluZSBib3hlcyB3aXRoIGJvcmRl
cnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvckJveExlZ2FjeVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9JbmxpbmVJdGVyYXRvckJveExlZ2FjeVBhdGguaAppbmRleCAxNTFhOGRhOTQ4ZjA0ODU3ZDY4
NDY1ZjJhYmQwNTIzNDZlODY1MGY5Li5jNjhiZWI0ODkyYjE0YzY4N2U5MzZlNzgxZjM2YzAwZTc2
MDU5MjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JCb3hMZWdhY3lQYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TGVnYWN5UGF0aC5oCkBAIC05Niw2ICs5NiwxNiBA
QCBwdWJsaWM6CiAgICAgICAgIG1faW5saW5lQm94ID0gaW5saW5lRmxvd0JveCgpLT5wcmV2TGlu
ZUJveCgpOwogICAgIH0KIAorICAgIEJveExlZ2FjeVBhdGggZmlyc3RMZWFmQm94Rm9ySW5saW5l
Qm94KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB7IGlubGluZUZsb3dCb3goKS0+Zmly
c3RMZWFmRGVzY2VuZGFudCgpIH07CisgICAgfQorCisgICAgQm94TGVnYWN5UGF0aCBsYXN0TGVh
ZkJveEZvcklubGluZUJveCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4geyBpbmxpbmVG
bG93Qm94KCktPmxhc3RMZWFmRGVzY2VuZGFudCgpIH07CisgICAgfQorCiAgICAgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IEJveExlZ2FjeVBhdGgmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2lubGlu
ZUJveCA9PSBvdGhlci5tX2lubGluZUJveDsgfQogCiAgICAgYm9vbCBhdEVuZCgpIGNvbnN0IHsg
cmV0dXJuICFtX2lubGluZUJveDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oCmluZGV4
IGQ3ZGM5NGNjODY4N2RmM2YyYzA2NDYzOGNlZWY1MmVlYzE5ZWVhNGIuLjk2MjBkMTliY2NjNDM3
MmY5ZTIyYjc5ZGJlNDUyZmNjNmI3Yzk2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVyblBhdGguaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRo
LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKIAogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVy
Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCiAjaW5j
bHVkZSAiVGV4dEJveFNlbGVjdGFibGVSYW5nZS5oIgogCkBAIC0xOTQsNiArMTk1LDM2IEBAIHB1
YmxpYzoKICAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwgYm94KCkuaXNJbmxpbmVCb3goKSk7CiAg
ICAgfQogCisgICAgQm94TW9kZXJuUGF0aCBmaXJzdExlYWZCb3hGb3JJbmxpbmVCb3goKSBjb25z
dAorICAgIHsKKyAgICAgICAgQVNTRVJUKGJveCgpLmlzSW5saW5lQm94KCkpOworCisgICAgICAg
IGF1dG8mIGlubGluZUJveCA9IGJveCgpLmxheW91dEJveCgpOworCisgICAgICAgIC8vIFRoZSBu
ZXh0IGJveCBpcyB0aGUgZmlyc3QgZGVzY2VuZGFudCBvZiB0aGlzIGJveDsKKyAgICAgICAgYXV0
byBmaXJzdCA9ICp0aGlzOworICAgICAgICBmaXJzdC50cmF2ZXJzZU5leHRPbkxpbmUoKTsKKwor
ICAgICAgICBpZiAoIWZpcnN0LmF0RW5kKCkgJiYgIWZpcnN0LmlzV2l0aGluSW5saW5lQm94KGlu
bGluZUJveCkpCisgICAgICAgICAgICBmaXJzdC5zZXRBdEVuZCgpOworCisgICAgICAgIHJldHVy
biBmaXJzdDsKKyAgICB9CisKKyAgICBCb3hNb2Rlcm5QYXRoIGxhc3RMZWFmQm94Rm9ySW5saW5l
Qm94KCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsK
KworICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBib3goKS5sYXlvdXRCb3goKTsKKworICAgICAg
ICAvLyBGSVhNRTogR2V0IHRoZSBsYXN0IGJveCBpbmRleCBkaXJlY3RseSBmcm9tIHRoZSBkaXNw
bGF5IGJveC4KKyAgICAgICAgYXV0byBsYXN0ID0gZmlyc3RMZWFmQm94Rm9ySW5saW5lQm94KCk7
CisgICAgICAgIGZvciAoYXV0byBib3ggPSBsYXN0OyAhYm94LmF0RW5kKCkgJiYgYm94LmlzV2l0
aGluSW5saW5lQm94KGlubGluZUJveCk7IGJveC50cmF2ZXJzZU5leHRPbkxpbmUoKSkKKyAgICAg
ICAgICAgIGxhc3QgPSBib3g7CisKKyAgICAgICAgcmV0dXJuIGxhc3Q7CisgICAgfQorCiAgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IEJveE1vZGVyblBhdGgmIG90aGVyKSBjb25zdCB7IHJldHVy
biBtX2lubGluZUNvbnRlbnQgPT0gb3RoZXIubV9pbmxpbmVDb250ZW50ICYmIG1fYm94SW5kZXgg
PT0gb3RoZXIubV9ib3hJbmRleDsgfQogCiAgICAgYm9vbCBhdEVuZCgpIGNvbnN0IHsgcmV0dXJu
IG1fYm94SW5kZXggPT0gYm94ZXMoKS5zaXplKCk7IH0KQEAgLTIwMSw2ICsyMzIsMTYgQEAgcHVi
bGljOgogICAgIGF1dG8mIGlubGluZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiAqbV9pbmxpbmVD
b250ZW50OyB9CiAKIHByaXZhdGU6CisgICAgYm9vbCBpc1dpdGhpbklubGluZUJveChjb25zdCBM
YXlvdXQ6OkJveCYgaW5saW5lQm94KQorICAgIHsKKyAgICAgICAgYXV0byogbGF5b3V0Qm94ID0g
JmJveCgpLmxheW91dEJveCgpLnBhcmVudCgpOworICAgICAgICBmb3IgKDsgbGF5b3V0Qm94LT5p
c0lubGluZUJveCgpOyBsYXlvdXRCb3ggPSAmbGF5b3V0Qm94LT5wYXJlbnQoKSkgeworICAgICAg
ICAgICAgaWYgKGxheW91dEJveCA9PSAmaW5saW5lQm94KQorICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICB2
b2lkIHRyYXZlcnNlTmV4dEJveCgpCiAgICAgewogICAgICAgICBBU1NFUlQoIWF0RW5kKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJh
dG9ySW5saW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9Jbmxp
bmVJdGVyYXRvcklubGluZUJveC5jcHAKaW5kZXggZTk0ZjkxZGZkN2RmNzU4YmVjYzBlODAzZWZh
NjYxMjI5YWY0NjJjNi4uMzEzY2MzZjQ2ODdlYzgyZDFjNTM3Yzg5ZDlkMmFjZjhmZmYxYTQ2NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJh
dG9ySW5saW5lQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
SW5saW5lSXRlcmF0b3JJbmxpbmVCb3guY3BwCkBAIC01OSw2ICs1OSw1OSBAQCBJbmxpbmVCb3hJ
dGVyYXRvciBJbmxpbmVCb3g6OnByZXZpb3VzSW5saW5lQm94KCkgY29uc3QKICAgICByZXR1cm4g
SW5saW5lQm94SXRlcmF0b3IoKnRoaXMpLnRyYXZlcnNlUHJldmlvdXNJbmxpbmVCb3goKTsKIH0K
IAorTGVhZkJveEl0ZXJhdG9yIElubGluZUJveDo6Zmlyc3RMZWFmQm94KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbXShhdXRvJiBwYXRoKSAtPiBM
ZWFmQm94SXRlcmF0b3IgeworICAgICAgICByZXR1cm4geyBwYXRoLmZpcnN0TGVhZkJveEZvcklu
bGluZUJveCgpIH07CisgICAgfSk7Cit9CisKK0xlYWZCb3hJdGVyYXRvciBJbmxpbmVCb3g6Omxh
c3RMZWFmQm94KCkgY29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJp
YW50LCBbXShhdXRvJiBwYXRoKSAtPiBMZWFmQm94SXRlcmF0b3IgeworICAgICAgICByZXR1cm4g
eyBwYXRoLmxhc3RMZWFmQm94Rm9ySW5saW5lQm94KCkgfTsKKyAgICB9KTsKK30KKworVGV4dEJv
eEl0ZXJhdG9yIElubGluZUJveDo6Zmlyc3RUZXh0Qm94KCkgY29uc3QKK3sKKyAgICBhdXRvIGZp
cnN0ID0gZmlyc3RMZWFmQm94KCk7CisgICAgaWYgKCFmaXJzdCkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGF1dG8gbGFzdCA9IGxhc3RMZWFmQm94KCk7CisgICAgd2hpbGUgKCFpczxUZXh0
Qm94SXRlcmF0b3I+KGZpcnN0KSkgeworICAgICAgICBpZiAoZmlyc3QgPT0gbGFzdCkKKyAgICAg
ICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGZpcnN0LnRyYXZlcnNlTmV4dE9uTGluZSgpOwor
ICAgIH0KKworICAgIHJldHVybiBkb3duY2FzdDxUZXh0Qm94SXRlcmF0b3I+KGZpcnN0KTsKK30K
KworVGV4dEJveEl0ZXJhdG9yIElubGluZUJveDo6bGFzdFRleHRCb3goKSBjb25zdAoreworICAg
IGF1dG8gbGFzdCA9IGxhc3RMZWFmQm94KCk7CisgICAgaWYgKCFsYXN0KQorICAgICAgICByZXR1
cm4geyB9OworCisgICAgYXV0byBmaXJzdCA9IGZpcnN0TGVhZkJveCgpOworICAgIHdoaWxlICgh
aXM8VGV4dEJveEl0ZXJhdG9yPihsYXN0KSkgeworICAgICAgICBpZiAobGFzdCA9PSBmaXJzdCkK
KyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIGxhc3QudHJhdmVyc2VQcmV2aW91c09u
TGluZSgpOworICAgIH0KKworICAgIHJldHVybiBkb3duY2FzdDxUZXh0Qm94SXRlcmF0b3I+KGxh
c3QpOworfQorCitMZWFmQm94SXRlcmF0b3IgSW5saW5lQm94OjplbmRUZXh0Qm94KCkgY29uc3QK
K3sKKyAgICBpZiAoYXV0byBsYXN0Qm94ID0gbGFzdFRleHRCb3goKSkKKyAgICAgICAgcmV0dXJu
IGxhc3RCb3gtPm5leHRUZXh0Qm94KCk7CisgICAgcmV0dXJuIHsgfTsKK30KKwogSW5saW5lQm94
SXRlcmF0b3I6OklubGluZUJveEl0ZXJhdG9yKEJveDo6UGF0aFZhcmlhbnQmJiBwYXRoVmFyaWFu
dCkKICAgICA6IEJveEl0ZXJhdG9yKFdURk1vdmUocGF0aFZhcmlhbnQpKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5l
Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJ
bmxpbmVCb3guaAppbmRleCBmMzdlODY4YzJjNjY2ZDZhMGE0OTk5YzhjOGIwYzdmYmJjN2Y1MGQ3
Li42NmQ4YTZlMzBmNDVmYWZiYjc1NjgzOWM3MzBkY2Y0YTVjNDZhNmJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJbmxpbmVCb3gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJ
bmxpbmVCb3guaApAQCAtNDcsNiArNDcsMTMgQEAgcHVibGljOgogICAgIElubGluZUJveEl0ZXJh
dG9yIG5leHRJbmxpbmVCb3goKSBjb25zdDsKICAgICBJbmxpbmVCb3hJdGVyYXRvciBwcmV2aW91
c0lubGluZUJveCgpIGNvbnN0OwogICAgIElubGluZUJveEl0ZXJhdG9yIGl0ZXJhdG9yKCkgY29u
c3Q7CisKKyAgICBMZWFmQm94SXRlcmF0b3IgZmlyc3RMZWFmQm94KCkgY29uc3Q7CisgICAgTGVh
ZkJveEl0ZXJhdG9yIGxhc3RMZWFmQm94KCkgY29uc3Q7CisKKyAgICBUZXh0Qm94SXRlcmF0b3Ig
Zmlyc3RUZXh0Qm94KCkgY29uc3Q7CisgICAgVGV4dEJveEl0ZXJhdG9yIGxhc3RUZXh0Qm94KCkg
Y29uc3Q7CisgICAgTGVhZkJveEl0ZXJhdG9yIGVuZFRleHRCb3goKSBjb25zdDsKIH07CiAKIGNs
YXNzIElubGluZUJveEl0ZXJhdG9yIDogcHVibGljIEJveEl0ZXJhdG9yIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVy
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkNvdmVyYWdlLmNwcAppbmRleCAyMWNlM2IzZjMxNDZmYzVmM2M0MzNhZmIzNTVkNmUxZjcx
NDQ1YzIyLi4yY2NiNTc2MDMwOGI0MmI2NTdkNjcxMDdkZmYxYWRmZTlkMTkxZDU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25D
b3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC0yMDksOSArMjA5LDYgQEAgc3RhdGljIHZvaWQg
cHJpbnRSZWFzb24oQXZvaWRhbmNlUmVhc29uIHJlYXNvbiwgVGV4dFN0cmVhbSYgc3RyZWFtKQog
ICAgIGNhc2UgQXZvaWRhbmNlUmVhc29uOjpCb3hEZWNvcmF0aW9uQnJlYWtDbG9uZToKICAgICAg
ICAgc3RyZWFtIDw8ICJ3ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lIjsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBBdm9pZGFuY2VSZWFzb246OklubGluZUJveEhhc0JhY2tncm91
bmRDbGlwVGV4dDoKLSAgICAgICAgc3RyZWFtIDw8ICJpbmxpbmUgYm94IGhhcyBiYWNrZ3JvdW5k
LWNsaXA6IHRleHQiOwotICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVh
azsKICAgICB9CkBAIC00ODEsOCArNDc4LDYgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VS
ZWFzb24+IGNhblVzZUZvclJlbmRlcklubGluZUNoaWxkKGNvbnN0IFJlbmRlcklubGluZSYKICAg
ICBpZiAoc3R5bGUuYm94RGVjb3JhdGlvbkJyZWFrKCkgPT0gQm94RGVjb3JhdGlvbkJyZWFrOjpD
bG9uZSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChCb3hEZWNvcmF0
aW9uQnJlYWtDbG9uZSwgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogI2VuZGlmCi0gICAgaWYg
KHN0eWxlLmJhY2tncm91bmRDbGlwKCkgPT0gRmlsbEJveDo6VGV4dCkKLSAgICAgICAgU0VUX1JF
QVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChJbmxpbmVCb3hIYXNCYWNrZ3JvdW5kQ2xpcFRleHQs
IHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoc3R5bGUuaGFzT3V0bGluZSgpKQog
ICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKENvbnRlbnRIYXNPdXRsaW5l
LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKHJlbmRlcklubGluZS5pc0luRmxv
d1Bvc2l0aW9uZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oCmluZGV4IGJhYjM4ZDhkMWNi
ZDA2MmNmMDlkOTg2MmU1MmM5YjBkNzYxMjUzZDYuLjAzNDMwODJhZDg0YTMyYTBiMDQ4NTUwMDhm
ZTg4NDhkZDFmOTZmOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaApAQCAtOTEsNyArOTEs
NyBAQCBlbnVtIGNsYXNzIEF2b2lkYW5jZVJlYXNvbiA6IHVpbnQ2NF90IHsKICAgICBNdWx0aUNv
bHVtbkZsb3dJc0Zsb2F0aW5nICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDUwLAogICAg
IC8vIFVudXNlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwg
NTEsCiAgICAgLy8gVW51c2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
TExVICA8PCA1MiwKLSAgICBJbmxpbmVCb3hIYXNCYWNrZ3JvdW5kQ2xpcFRleHQgICAgICAgICAg
ICAgICA9IDFMTFUgIDw8IDUzLAorICAgIC8vIFVudXNlZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMUxMVSAgPDwgNTMsCiAgICAgVW5zdXBwb3J0ZWRGaWVsZHNldCAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA1NCwKICAgICBDaGlsZEJveElzRmxvYXRp
bmdPclBvc2l0aW9uZWQgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDU1LAogICAgIENvbnRlbnRJ
c1NWRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNTYsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCBiMWQ0Yzg2ODcxZDE5ZDM0OTRlYTM1OGVhMWJiMTZkM2U2NDI0MmI0Li40ZWQ0MzVhYzlhMjI1
MjM2MmM5YTkwOWJlZDFmODhhMjExNDNkZTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNs
dWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29uc3RyYWludHMuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlRleHRCb3hQYWludGVyLmgiCiAjaW5jbHVk
ZSAiVHJhbnNmb3JtU3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAtNzExLDIyICs3MTIsMzAgQEAgSW50
ZXJwb2xhdGlvblF1YWxpdHkgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNob29zZUludGVycG9sYXRp
b25RdWFsaXR5KEdyYXBoaWNzQ28KICAgICByZXR1cm4gdmlldygpLmltYWdlUXVhbGl0eUNvbnRy
b2xsZXIoKS5jaG9vc2VJbnRlcnBvbGF0aW9uUXVhbGl0eShjb250ZXh0LCB0aGlzLCBpbWFnZSwg
bGF5ZXIsIHNpemUpOwogfQogCi12b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludE1hc2tG
b3JUZXh0RmlsbEJveChJbWFnZUJ1ZmZlciogbWFza0ltYWdlLCBjb25zdCBGbG9hdFJlY3QmIG1h
c2tSZWN0LCBjb25zdCBJbmxpbmVJdGVyYXRvcjo6SW5saW5lQm94SXRlcmF0b3ImIGJveCwgY29u
c3QgTGF5b3V0UmVjdCYgc2Nyb2xsZWRQYWludFJlY3QpCit2b2lkIFJlbmRlckJveE1vZGVsT2Jq
ZWN0OjpwYWludE1hc2tGb3JUZXh0RmlsbEJveChJbWFnZUJ1ZmZlciogbWFza0ltYWdlLCBjb25z
dCBGbG9hdFJlY3QmIG1hc2tSZWN0LCBjb25zdCBJbmxpbmVJdGVyYXRvcjo6SW5saW5lQm94SXRl
cmF0b3ImIGlubGluZUJveCwgY29uc3QgTGF5b3V0UmVjdCYgc2Nyb2xsZWRQYWludFJlY3QpCiB7
CiAgICAgR3JhcGhpY3NDb250ZXh0JiBtYXNrSW1hZ2VDb250ZXh0ID0gbWFza0ltYWdlLT5jb250
ZXh0KCk7CiAgICAgbWFza0ltYWdlQ29udGV4dC50cmFuc2xhdGUoLW1hc2tSZWN0LmxvY2F0aW9u
KCkpOwogCiAgICAgLy8gTm93IGFkZCB0aGUgdGV4dCB0byB0aGUgY2xpcC4gV2UgZG8gdGhpcyBi
eSBwYWludGluZyB1c2luZyBhIHNwZWNpYWwgcGFpbnQgcGhhc2UgdGhhdCBzaWduYWxzIHRvCi0g
ICAgLy8gTGVnYWN5SW5saW5lVGV4dEJveGVzIHRoYXQgdGhleSBzaG91bGQganVzdCBhZGQgdGhl
aXIgY29udGVudHMgdG8gdGhlIGNsaXAuCi0gICAgUGFpbnRJbmZvIGluZm8obWFza0ltYWdlQ29u
dGV4dCwgTGF5b3V0UmVjdCB7IG1hc2tSZWN0IH0sIFBhaW50UGhhc2U6OlRleHRDbGlwLCBQYWlu
dEJlaGF2aW9yOjpGb3JjZUJsYWNrVGV4dCk7Ci0gICAgaWYgKGJveCkgewotICAgICAgICBhdXRv
KiBsZWdhY3lJbmxpbmVCb3ggPSBjb25zdF9jYXN0PExlZ2FjeUlubGluZUZsb3dCb3gqPihib3gt
PmxlZ2FjeUlubGluZUJveCgpKTsKLSAgICAgICAgY29uc3QgYXV0byYgcm9vdEJveCA9IGxlZ2Fj
eUlubGluZUJveC0+cm9vdCgpOwotICAgICAgICBsZWdhY3lJbmxpbmVCb3gtPnBhaW50KGluZm8s
IExheW91dFBvaW50KHNjcm9sbGVkUGFpbnRSZWN0LngoKSAtIGxlZ2FjeUlubGluZUJveC0+eCgp
LCBzY3JvbGxlZFBhaW50UmVjdC55KCkgLSBsZWdhY3lJbmxpbmVCb3gtPnkoKSksIHJvb3RCb3gu
bGluZVRvcCgpLCByb290Qm94LmxpbmVCb3R0b20oKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
TGF5b3V0U2l6ZSBsb2NhbE9mZnNldCA9IGlzPFJlbmRlckJveD4oKnRoaXMpID8gZG93bmNhc3Q8
UmVuZGVyQm94PigqdGhpcykubG9jYXRpb25PZmZzZXQoKSA6IExheW91dFNpemUoKTsKLSAgICAg
ICAgcGFpbnQoaW5mbywgc2Nyb2xsZWRQYWludFJlY3QubG9jYXRpb24oKSAtIGxvY2FsT2Zmc2V0
KTsKKyAgICAvLyB0aGUgcGFpbnRlciBpdCBzaG91bGQganVzdCBtb2RpZnkgdGhlIGNsaXAuCisg
ICAgUGFpbnRJbmZvIG1hc2tJbmZvKG1hc2tJbWFnZUNvbnRleHQsIExheW91dFJlY3QgeyBtYXNr
UmVjdCB9LCBQYWludFBoYXNlOjpUZXh0Q2xpcCwgUGFpbnRCZWhhdmlvcjo6Rm9yY2VCbGFja1Rl
eHQpOworICAgIGlmIChpbmxpbmVCb3gpIHsKKyAgICAgICAgYXV0byB0ZXh0Qm94ID0gaW5saW5l
Qm94LT5maXJzdFRleHRCb3goKTsKKyAgICAgICAgaWYgKCF0ZXh0Qm94KQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIGF1dG8gcGFpbnRPZmZzZXQgPSBzY3JvbGxlZFBhaW50UmVjdC5s
b2NhdGlvbigpIC0gdG9MYXlvdXRTaXplKExheW91dFBvaW50KGlubGluZUJveC0+cmVjdCgpLmxv
Y2F0aW9uKCkpKTsKKworICAgICAgICBmb3IgKGF1dG8gZW5kID0gaW5saW5lQm94LT5lbmRUZXh0
Qm94KCk7IHRleHRCb3ggIT0gZW5kOyB0ZXh0Qm94LnRyYXZlcnNlTmV4dFRleHRCb3goKSkgewor
ICAgICAgICAgICAgVGV4dEJveFBhaW50ZXIgdGV4dEJveFBhaW50ZXIodGV4dEJveCwgbWFza0lu
Zm8sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAgICAgIHRleHRCb3hQYWludGVyLnBhaW50KCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIExheW91dFNpemUgbG9jYWxP
ZmZzZXQgPSBpczxSZW5kZXJCb3g+KCp0aGlzKSA/IGRvd25jYXN0PFJlbmRlckJveD4oKnRoaXMp
LmxvY2F0aW9uT2Zmc2V0KCkgOiBMYXlvdXRTaXplKCk7CisgICAgcGFpbnQobWFza0luZm8sIHNj
cm9sbGVkUGFpbnRSZWN0LmxvY2F0aW9uKCkgLSBsb2NhbE9mZnNldCk7CiB9CiAKIHZvaWQgUmVu
ZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWVyRXh0ZW5kZWQoY29uc3QgUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IENvbG9yJiBjb2xvciwgY29uc3QgRmlsbExheWVyJiBiZ0xheWVy
LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
Qm94UGFpbnRlci5jcHAKaW5kZXggODA3Njc5Njc0YjA5MjAzYzdhMzc0MTljODJjNTYzZmFmNGM0
M2Q0Ny4uOGMxNzQ0MmJhZWNmMTE4NzA4YzAxMzQ3NTllNTY0OWRiY2JlYTIyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCkBAIC01Niw4ICs1Niw4IEBA
IFRleHRCb3hQYWludGVyOjpUZXh0Qm94UGFpbnRlcihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6
SW5saW5lQ29udGVudCYgaW5saW5lQ29uCiB9CiAjZW5kaWYKIAotVGV4dEJveFBhaW50ZXI6OlRl
eHRCb3hQYWludGVyKElubGluZUl0ZXJhdG9yOjpUZXh0Qm94SXRlcmF0b3ImJiB0ZXh0Qm94LCBQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQotICAg
IDogbV90ZXh0Qm94KFdURk1vdmUodGV4dEJveCkpCitUZXh0Qm94UGFpbnRlcjo6VGV4dEJveFBh
aW50ZXIoY29uc3QgSW5saW5lSXRlcmF0b3I6OlRleHRCb3hJdGVyYXRvciYgdGV4dEJveCwgUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKKyAgICA6
IG1fdGV4dEJveCh0ZXh0Qm94KQogICAgICwgbV9yZW5kZXJlcihtX3RleHRCb3gtPnJlbmRlcmVy
KCkpCiAgICAgLCBtX2RvY3VtZW50KG1fcmVuZGVyZXIuZG9jdW1lbnQoKSkKICAgICAsIG1fc3R5
bGUobV90ZXh0Qm94LT5zdHlsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRCb3hQYWludGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBh
aW50ZXIuaAppbmRleCBhZjhkMGVlYzEwYzc3MGRiODA4MWNlMWM1ODIxMTI0OWJkMDIxODEyLi4x
N2RiMDZmNzFjNGQxZjVmMWYxYTdiMGQxZDM2ZmJlMjgzYWJjOGRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaApAQCAtNTAsNiArNTAsOCBAQCBwdWJsaWM6CiAj
aWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAgICAgVGV4dEJveFBhaW50ZXIo
Y29uc3QgTGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnQmLCBjb25zdCBJbmxpbmVEaXNw
bGF5OjpCb3gmLCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpOwog
I2VuZGlmCisgICAgVGV4dEJveFBhaW50ZXIoY29uc3QgSW5saW5lSXRlcmF0b3I6OlRleHRCb3hJ
dGVyYXRvciYsIFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCk7CisK
ICAgICB+VGV4dEJveFBhaW50ZXIoKTsKIAogICAgIHZvaWQgcGFpbnQoKTsKQEAgLTU3LDggKzU5
LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBGbG9hdFJlY3QgY2FsY3VsYXRlVW5pb25PZkFsbERv
Y3VtZW50TWFya2VyQm91bmRzKGNvbnN0IExlZ2FjeUlubGluZVRleHRCb3gmKTsKIAogcHJpdmF0
ZToKLSAgICBUZXh0Qm94UGFpbnRlcihJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yJiYs
IFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCk7Ci0KICAgICBhdXRv
JiB0ZXh0Qm94KCkgY29uc3QgeyByZXR1cm4gKm1fdGV4dEJveDsgfQogCiAgICAgdm9pZCBwYWlu
dEJhY2tncm91bmQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NTlkODg1YzQyMjZhYmU0NTc0M2U3ZTUyYTAwMWUxZGE1
NzYxYzRlLi5iNTZjMDBjYTRlOThmNWZlOThjZmYyMTRkYzMyZDQyNjYwYmJmZTNmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjEtMTAtMTcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBTdXBwb3J0IGJhY2tncm91bmQtY2xp
cDp0ZXh0IG9uIGlubGluZSBib3hlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxODc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmYXN0L2lubGluZS9pbmxpbmUtYmFja2dyb3VuZC1jbGlwLXRleHQt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tn
cm91bmQtY2xpcC10ZXh0Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTEwLTE1ICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gRW5hYmxl
IGlubGluZSBib3hlcyB3aXRoIGJvcmRlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW5saW5lL2lubGluZS1iYWNrZ3JvdW5kLWNsaXAtdGV4dC1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tncm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjY2NmRmNWNiNDJjNWFlZjY4YmM4Yjc5ZGJkMWM4OGYyMDczZWRlMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL2lubGluZS1iYWNrZ3Jv
dW5kLWNsaXAtdGV4dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxzdHlsZT4KK2Rp
diB7CisgICAgZm9udC1mYW1pbHk6ICdBaGVtJzsKK30KK3NwYW4geworICAgIGNvbG9yOiBncmVl
bjsKK30KKzwvc3R5bGU+Cis8ZGl2PnRleHQgPHNwYW4+dGV4dDwvc3Bhbj4gdGV4dDwvZGl2Pgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2lubGluZS9pbmxpbmUtYmFja2dyb3VuZC1j
bGlwLXRleHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW5saW5lL2lubGluZS1iYWNrZ3JvdW5k
LWNsaXAtdGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzMzI1MzI4MjQ1MDE4Njg0MmYwOGI4NDA5MTg1
ODIzNTY1N2FjMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2lubGluZS9p
bmxpbmUtYmFja2dyb3VuZC1jbGlwLXRleHQuaHRtbApAQCAtMCwwICsxLDExIEBACis8c3R5bGU+
CitkaXYgeworICAgIGZvbnQtZmFtaWx5OiAnQWhlbSc7Cit9CitzcGFuIHsKKyAgICBjb2xvcjog
dHJhbnNwYXJlbnQ7CisgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0OworICAgIGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzxkaXY+dGV4dCA8c3Bhbj50ZXh0PC9zcGFuPiB0
ZXh0PC9kaXY+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441535</attachid>
            <date>2021-10-17 06:04:18 -0700</date>
            <delta_ts>2021-10-17 07:10:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231877-20211017160417.patch</filename>
            <type>text/plain</type>
            <size>16702</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE2MDExMTJlODk1ODA3
NjlmOGE3M2IwOTQxNjMyOTdkN2E4OTJmZi4uZDc5N2NlZWE4ZDc1ZmFiMjc5YjQzNjk3MzE0Nzg0
NDhhMzIwMjNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEwLTE3ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gU3VwcG9ydCBiYWNrZ3JvdW5kLWNsaXA6dGV4dCBvbiBpbmxpbmUgYm94ZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTg3NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCB0ZXh0IG1h
c2sgcGFpbnRpbmcuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tncm91
bmQtY2xpcC10ZXh0Lmh0bWwKKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvckJveExlZ2FjeVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9y
OjpCb3hMZWdhY3lQYXRoOjpmaXJzdExlYWZCb3hGb3JJbmxpbmVCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkJveExlZ2FjeVBhdGg6Omxhc3RMZWFmQm94Rm9y
SW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRl
cmF0b3JCb3hNb2Rlcm5QYXRoLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6
Qm94TW9kZXJuUGF0aDo6Zmlyc3RMZWFmQm94Rm9ySW5saW5lQm94IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjpsYXN0TGVhZkJveEZvcklu
bGluZUJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9k
ZXJuUGF0aDo6aXNXaXRoaW5JbmxpbmVCb3gpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlv
bi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJ
dGVyYXRvcjo6SW5saW5lQm94OjpmaXJzdExlYWZCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lSXRlcmF0b3I6OklubGluZUJveDo6bGFzdExlYWZCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OklubGluZUJveDo6ZW5kTGVhZkJveCBjb25zdCk6
CisKKyAgICAgICAgQWRkIGl0ZXJhdG9yIHN1cHBvcnQgZm9yIGdldHRpbmcgbGVhZiBib3hlcyBv
ZiBhbiBpbmxpbmUgYm94LgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9ySW5saW5lQm94Lmg6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uQ292ZXJhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRp
b246OnByaW50UmVhc29uKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpj
YW5Vc2VGb3JSZW5kZXJJbmxpbmVDaGlsZCk6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OnBhaW50TWFza0ZvclRleHRGaWxsQm94KToKKworICAgICAgICBQYWludCB0aGUgbWFzayBk
aXJlY3RseSB1c2luZyBUZXh0Qm94UGFpbnRlciBpbnN0ZWFkIG9mIHJlY3Vyc2luZyB0byB0aGUg
Z2VuZXJhbCBwYWludGluZyBjb2RlLgorCisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWlu
dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpUZXh0Qm94UGFpbnRl
cik6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmg6CisKIDIwMjEtMTAtMTUg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVn
cmF0aW9uXSBFbmFibGUgaW5saW5lIGJveGVzIHdpdGggYm9yZGVycwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggNGNlNTUxY2NkMDM1ZDFiNTcwNjNlZjQxMjRmM2JjZWNkMmI3MjFlMC4uNGM3ODUxMzJl
M2M0OTQ4NGZkOGMxMjQzNjQxNWI3NWIxMjBlOTJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC04
MTEsNiArODExLDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAg
IGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRCb3guaAogICAgIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaAogICAgIGxheW91dC9p
bnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAorCisgICAgbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Q29udGFpbmVyQm94LmgKICAgICBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3gu
aAogCiAgICAgbG9hZGVyL0NhbnZhc0FjdGl2aXR5UmVjb3JkLmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveExlZ2FjeVBhdGgu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveExl
Z2FjeVBhdGguaAppbmRleCAxNTFhOGRhOTQ4ZjA0ODU3ZDY4NDY1ZjJhYmQwNTIzNDZlODY1MGY5
Li5jNjhiZWI0ODkyYjE0YzY4N2U5MzZlNzgxZjM2YzAwZTc2MDU5MjhmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hMZWdhY3lQ
YXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJh
dG9yQm94TGVnYWN5UGF0aC5oCkBAIC05Niw2ICs5NiwxNiBAQCBwdWJsaWM6CiAgICAgICAgIG1f
aW5saW5lQm94ID0gaW5saW5lRmxvd0JveCgpLT5wcmV2TGluZUJveCgpOwogICAgIH0KIAorICAg
IEJveExlZ2FjeVBhdGggZmlyc3RMZWFmQm94Rm9ySW5saW5lQm94KCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIHJldHVybiB7IGlubGluZUZsb3dCb3goKS0+Zmlyc3RMZWFmRGVzY2VuZGFudCgpIH07
CisgICAgfQorCisgICAgQm94TGVnYWN5UGF0aCBsYXN0TGVhZkJveEZvcklubGluZUJveCgpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4geyBpbmxpbmVGbG93Qm94KCktPmxhc3RMZWFmRGVz
Y2VuZGFudCgpIH07CisgICAgfQorCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEJveExlZ2Fj
eVBhdGgmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2lubGluZUJveCA9PSBvdGhlci5tX2lubGlu
ZUJveDsgfQogCiAgICAgYm9vbCBhdEVuZCgpIGNvbnN0IHsgcmV0dXJuICFtX2lubGluZUJveDsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9yQm94TW9kZXJuUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oCmluZGV4IGQ3ZGM5NGNjODY4N2RmM2YyYzA2
NDYzOGNlZWY1MmVlYzE5ZWVhNGIuLjk2MjBkMTliY2NjNDM3MmY5ZTIyYjc5ZGJlNDUyZmNjNmI3
Yzk2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9Jbmxp
bmVJdGVyYXRvckJveE1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAogI2luY2x1ZGUgIkZvbnRD
YXNjYWRlLmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCiAjaW5jbHVkZSAiTGF5
b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCiAjaW5jbHVkZSAiVGV4dEJveFNlbGVjdGFi
bGVSYW5nZS5oIgogCkBAIC0xOTQsNiArMTk1LDM2IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJU
KGF0RW5kKCkgfHwgYm94KCkuaXNJbmxpbmVCb3goKSk7CiAgICAgfQogCisgICAgQm94TW9kZXJu
UGF0aCBmaXJzdExlYWZCb3hGb3JJbmxpbmVCb3goKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNT
RVJUKGJveCgpLmlzSW5saW5lQm94KCkpOworCisgICAgICAgIGF1dG8mIGlubGluZUJveCA9IGJv
eCgpLmxheW91dEJveCgpOworCisgICAgICAgIC8vIFRoZSBuZXh0IGJveCBpcyB0aGUgZmlyc3Qg
ZGVzY2VuZGFudCBvZiB0aGlzIGJveDsKKyAgICAgICAgYXV0byBmaXJzdCA9ICp0aGlzOworICAg
ICAgICBmaXJzdC50cmF2ZXJzZU5leHRPbkxpbmUoKTsKKworICAgICAgICBpZiAoIWZpcnN0LmF0
RW5kKCkgJiYgIWZpcnN0LmlzV2l0aGluSW5saW5lQm94KGlubGluZUJveCkpCisgICAgICAgICAg
ICBmaXJzdC5zZXRBdEVuZCgpOworCisgICAgICAgIHJldHVybiBmaXJzdDsKKyAgICB9CisKKyAg
ICBCb3hNb2Rlcm5QYXRoIGxhc3RMZWFmQm94Rm9ySW5saW5lQm94KCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKKworICAgICAgICBhdXRvJiBpbmxp
bmVCb3ggPSBib3goKS5sYXlvdXRCb3goKTsKKworICAgICAgICAvLyBGSVhNRTogR2V0IHRoZSBs
YXN0IGJveCBpbmRleCBkaXJlY3RseSBmcm9tIHRoZSBkaXNwbGF5IGJveC4KKyAgICAgICAgYXV0
byBsYXN0ID0gZmlyc3RMZWFmQm94Rm9ySW5saW5lQm94KCk7CisgICAgICAgIGZvciAoYXV0byBi
b3ggPSBsYXN0OyAhYm94LmF0RW5kKCkgJiYgYm94LmlzV2l0aGluSW5saW5lQm94KGlubGluZUJv
eCk7IGJveC50cmF2ZXJzZU5leHRPbkxpbmUoKSkKKyAgICAgICAgICAgIGxhc3QgPSBib3g7CisK
KyAgICAgICAgcmV0dXJuIGxhc3Q7CisgICAgfQorCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IEJveE1vZGVyblBhdGgmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2lubGluZUNvbnRlbnQgPT0g
b3RoZXIubV9pbmxpbmVDb250ZW50ICYmIG1fYm94SW5kZXggPT0gb3RoZXIubV9ib3hJbmRleDsg
fQogCiAgICAgYm9vbCBhdEVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYm94SW5kZXggPT0gYm94ZXMo
KS5zaXplKCk7IH0KQEAgLTIwMSw2ICsyMzIsMTYgQEAgcHVibGljOgogICAgIGF1dG8mIGlubGlu
ZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiAqbV9pbmxpbmVDb250ZW50OyB9CiAKIHByaXZhdGU6
CisgICAgYm9vbCBpc1dpdGhpbklubGluZUJveChjb25zdCBMYXlvdXQ6OkJveCYgaW5saW5lQm94
KQorICAgIHsKKyAgICAgICAgYXV0byogbGF5b3V0Qm94ID0gJmJveCgpLmxheW91dEJveCgpLnBh
cmVudCgpOworICAgICAgICBmb3IgKDsgbGF5b3V0Qm94LT5pc0lubGluZUJveCgpOyBsYXlvdXRC
b3ggPSAmbGF5b3V0Qm94LT5wYXJlbnQoKSkgeworICAgICAgICAgICAgaWYgKGxheW91dEJveCA9
PSAmaW5saW5lQm94KQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICB2b2lkIHRyYXZlcnNlTmV4dEJveCgp
CiAgICAgewogICAgICAgICBBU1NFUlQoIWF0RW5kKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5j
cHAKaW5kZXggZTk0ZjkxZGZkN2RmNzU4YmVjYzBlODAzZWZhNjYxMjI5YWY0NjJjNi4uNzQ1Mjgw
MjFlMDMxNDY5NGM1ZWE2NDZkOTc4MDNlYWFkZTAzMTY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJbmxpbmVC
b3guY3BwCkBAIC01OSw2ICs1OSwyNyBAQCBJbmxpbmVCb3hJdGVyYXRvciBJbmxpbmVCb3g6OnBy
ZXZpb3VzSW5saW5lQm94KCkgY29uc3QKICAgICByZXR1cm4gSW5saW5lQm94SXRlcmF0b3IoKnRo
aXMpLnRyYXZlcnNlUHJldmlvdXNJbmxpbmVCb3goKTsKIH0KIAorTGVhZkJveEl0ZXJhdG9yIElu
bGluZUJveDo6Zmlyc3RMZWFmQm94KCkgY29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hP
bihtX3BhdGhWYXJpYW50LCBbXShhdXRvJiBwYXRoKSAtPiBMZWFmQm94SXRlcmF0b3IgeworICAg
ICAgICByZXR1cm4geyBwYXRoLmZpcnN0TGVhZkJveEZvcklubGluZUJveCgpIH07CisgICAgfSk7
Cit9CisKK0xlYWZCb3hJdGVyYXRvciBJbmxpbmVCb3g6Omxhc3RMZWFmQm94KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbXShhdXRvJiBwYXRoKSAt
PiBMZWFmQm94SXRlcmF0b3IgeworICAgICAgICByZXR1cm4geyBwYXRoLmxhc3RMZWFmQm94Rm9y
SW5saW5lQm94KCkgfTsKKyAgICB9KTsKK30KKworTGVhZkJveEl0ZXJhdG9yIElubGluZUJveDo6
ZW5kTGVhZkJveCgpIGNvbnN0Cit7CisgICAgaWYgKGF1dG8gbGFzdCA9IGxhc3RMZWFmQm94KCkp
CisgICAgICAgIHJldHVybiBsYXN0LT5uZXh0T25MaW5lKCk7CisgICAgcmV0dXJuIHsgfTsKK30K
KwogSW5saW5lQm94SXRlcmF0b3I6OklubGluZUJveEl0ZXJhdG9yKEJveDo6UGF0aFZhcmlhbnQm
JiBwYXRoVmFyaWFudCkKICAgICA6IEJveEl0ZXJhdG9yKFdURk1vdmUocGF0aFZhcmlhbnQpKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9ySW5saW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JJbmxpbmVCb3guaAppbmRleCBmMzdlODY4YzJjNjY2ZDZhMGE0OTk5YzhjOGIw
YzdmYmJjN2Y1MGQ3Li5lYzlmMWI3ODJlMTcwZDIwNTBiNmUzNWQ4ODQwNTgwOTA2MDgzNTZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JJbmxpbmVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JJbmxpbmVCb3guaApAQCAtNDcsNiArNDcsMTAgQEAgcHVibGljOgogICAgIElu
bGluZUJveEl0ZXJhdG9yIG5leHRJbmxpbmVCb3goKSBjb25zdDsKICAgICBJbmxpbmVCb3hJdGVy
YXRvciBwcmV2aW91c0lubGluZUJveCgpIGNvbnN0OwogICAgIElubGluZUJveEl0ZXJhdG9yIGl0
ZXJhdG9yKCkgY29uc3Q7CisKKyAgICBMZWFmQm94SXRlcmF0b3IgZmlyc3RMZWFmQm94KCkgY29u
c3Q7CisgICAgTGVhZkJveEl0ZXJhdG9yIGxhc3RMZWFmQm94KCkgY29uc3Q7CisgICAgTGVhZkJv
eEl0ZXJhdG9yIGVuZExlYWZCb3goKSBjb25zdDsKIH07CiAKIGNsYXNzIElubGluZUJveEl0ZXJh
dG9yIDogcHVibGljIEJveEl0ZXJhdG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApp
bmRleCAyMWNlM2IzZjMxNDZmYzVmM2M0MzNhZmIzNTVkNmUxZjcxNDQ1YzIyLi4yY2NiNTc2MDMw
OGI0MmI2NTdkNjcxMDdkZmYxYWRmZTlkMTkxZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJh
Z2UuY3BwCkBAIC0yMDksOSArMjA5LDYgQEAgc3RhdGljIHZvaWQgcHJpbnRSZWFzb24oQXZvaWRh
bmNlUmVhc29uIHJlYXNvbiwgVGV4dFN0cmVhbSYgc3RyZWFtKQogICAgIGNhc2UgQXZvaWRhbmNl
UmVhc29uOjpCb3hEZWNvcmF0aW9uQnJlYWtDbG9uZToKICAgICAgICAgc3RyZWFtIDw8ICJ3ZWJr
aXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBBdm9pZGFuY2VSZWFzb246OklubGluZUJveEhhc0JhY2tncm91bmRDbGlwVGV4dDoKLSAgICAg
ICAgc3RyZWFtIDw8ICJpbmxpbmUgYm94IGhhcyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQiOwotICAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC00ODEs
OCArNDc4LDYgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvclJl
bmRlcklubGluZUNoaWxkKGNvbnN0IFJlbmRlcklubGluZSYKICAgICBpZiAoc3R5bGUuYm94RGVj
b3JhdGlvbkJyZWFrKCkgPT0gQm94RGVjb3JhdGlvbkJyZWFrOjpDbG9uZSkKICAgICAgICAgU0VU
X1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChCb3hEZWNvcmF0aW9uQnJlYWtDbG9uZSwgcmVh
c29ucywgaW5jbHVkZVJlYXNvbnMpOwogI2VuZGlmCi0gICAgaWYgKHN0eWxlLmJhY2tncm91bmRD
bGlwKCkgPT0gRmlsbEJveDo6VGV4dCkKLSAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lG
X05FRURFRChJbmxpbmVCb3hIYXNCYWNrZ3JvdW5kQ2xpcFRleHQsIHJlYXNvbnMsIGluY2x1ZGVS
ZWFzb25zKTsKICAgICBpZiAoc3R5bGUuaGFzT3V0bGluZSgpKQogICAgICAgICBTRVRfUkVBU09O
X0FORF9SRVRVUk5fSUZfTkVFREVEKENvbnRlbnRIYXNPdXRsaW5lLCByZWFzb25zLCBpbmNsdWRl
UmVhc29ucyk7CiAgICAgaWYgKHJlbmRlcklubGluZS5pc0luRmxvd1Bvc2l0aW9uZWQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkNvdmVyYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25Db3ZlcmFnZS5oCmluZGV4IGJhYjM4ZDhkMWNiZDA2MmNmMDlkOTg2MmU1MmM5
YjBkNzYxMjUzZDYuLjAzNDMwODJhZDg0YTMyYTBiMDQ4NTUwMDhmZTg4NDhkZDFmOTZmOGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkNvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQ292ZXJhZ2UuaApAQCAtOTEsNyArOTEsNyBAQCBlbnVtIGNsYXNzIEF2
b2lkYW5jZVJlYXNvbiA6IHVpbnQ2NF90IHsKICAgICBNdWx0aUNvbHVtbkZsb3dJc0Zsb2F0aW5n
ICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDUwLAogICAgIC8vIFVudXNlZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNTEsCiAgICAgLy8gVW51c2Vk
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA1MiwKLSAgICBJ
bmxpbmVCb3hIYXNCYWNrZ3JvdW5kQ2xpcFRleHQgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDUz
LAorICAgIC8vIFVudXNlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxM
VSAgPDwgNTMsCiAgICAgVW5zdXBwb3J0ZWRGaWVsZHNldCAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxTExVICA8PCA1NCwKICAgICBDaGlsZEJveElzRmxvYXRpbmdPclBvc2l0aW9uZWQgICAg
ICAgICAgICAgICA9IDFMTFUgIDw8IDU1LAogICAgIENvbnRlbnRJc1NWRyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNTYsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCBiMWQ0Yzg2ODcxZDE5ZDM0
OTRlYTM1OGVhMWJiMTZkM2U2NDI0MmI0Li5kNGI2NzM3MzNkMDUwOGRhMjI0YmRiMDc3ZjRkOWM2
Mzk3YjFmM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgorI2luY2x1ZGUgIlRleHRCb3hQYWludGVyLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU3RhdGUu
aCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgpAQCAtNzExLDIyICs3MTIsMjggQEAgSW50ZXJwb2xhdGlvblF1YWxpdHkg
UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNob29zZUludGVycG9sYXRpb25RdWFsaXR5KEdyYXBoaWNz
Q28KICAgICByZXR1cm4gdmlldygpLmltYWdlUXVhbGl0eUNvbnRyb2xsZXIoKS5jaG9vc2VJbnRl
cnBvbGF0aW9uUXVhbGl0eShjb250ZXh0LCB0aGlzLCBpbWFnZSwgbGF5ZXIsIHNpemUpOwogfQog
Ci12b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludE1hc2tGb3JUZXh0RmlsbEJveChJbWFn
ZUJ1ZmZlciogbWFza0ltYWdlLCBjb25zdCBGbG9hdFJlY3QmIG1hc2tSZWN0LCBjb25zdCBJbmxp
bmVJdGVyYXRvcjo6SW5saW5lQm94SXRlcmF0b3ImIGJveCwgY29uc3QgTGF5b3V0UmVjdCYgc2Ny
b2xsZWRQYWludFJlY3QpCit2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludE1hc2tGb3JU
ZXh0RmlsbEJveChJbWFnZUJ1ZmZlciogbWFza0ltYWdlLCBjb25zdCBGbG9hdFJlY3QmIG1hc2tS
ZWN0LCBjb25zdCBJbmxpbmVJdGVyYXRvcjo6SW5saW5lQm94SXRlcmF0b3ImIGlubGluZUJveCwg
Y29uc3QgTGF5b3V0UmVjdCYgc2Nyb2xsZWRQYWludFJlY3QpCiB7CiAgICAgR3JhcGhpY3NDb250
ZXh0JiBtYXNrSW1hZ2VDb250ZXh0ID0gbWFza0ltYWdlLT5jb250ZXh0KCk7CiAgICAgbWFza0lt
YWdlQ29udGV4dC50cmFuc2xhdGUoLW1hc2tSZWN0LmxvY2F0aW9uKCkpOwogCiAgICAgLy8gTm93
IGFkZCB0aGUgdGV4dCB0byB0aGUgY2xpcC4gV2UgZG8gdGhpcyBieSBwYWludGluZyB1c2luZyBh
IHNwZWNpYWwgcGFpbnQgcGhhc2UgdGhhdCBzaWduYWxzIHRvCi0gICAgLy8gTGVnYWN5SW5saW5l
VGV4dEJveGVzIHRoYXQgdGhleSBzaG91bGQganVzdCBhZGQgdGhlaXIgY29udGVudHMgdG8gdGhl
IGNsaXAuCi0gICAgUGFpbnRJbmZvIGluZm8obWFza0ltYWdlQ29udGV4dCwgTGF5b3V0UmVjdCB7
IG1hc2tSZWN0IH0sIFBhaW50UGhhc2U6OlRleHRDbGlwLCBQYWludEJlaGF2aW9yOjpGb3JjZUJs
YWNrVGV4dCk7Ci0gICAgaWYgKGJveCkgewotICAgICAgICBhdXRvKiBsZWdhY3lJbmxpbmVCb3gg
PSBjb25zdF9jYXN0PExlZ2FjeUlubGluZUZsb3dCb3gqPihib3gtPmxlZ2FjeUlubGluZUJveCgp
KTsKLSAgICAgICAgY29uc3QgYXV0byYgcm9vdEJveCA9IGxlZ2FjeUlubGluZUJveC0+cm9vdCgp
OwotICAgICAgICBsZWdhY3lJbmxpbmVCb3gtPnBhaW50KGluZm8sIExheW91dFBvaW50KHNjcm9s
bGVkUGFpbnRSZWN0LngoKSAtIGxlZ2FjeUlubGluZUJveC0+eCgpLCBzY3JvbGxlZFBhaW50UmVj
dC55KCkgLSBsZWdhY3lJbmxpbmVCb3gtPnkoKSksIHJvb3RCb3gubGluZVRvcCgpLCByb290Qm94
LmxpbmVCb3R0b20oKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgTGF5b3V0U2l6ZSBsb2NhbE9m
ZnNldCA9IGlzPFJlbmRlckJveD4oKnRoaXMpID8gZG93bmNhc3Q8UmVuZGVyQm94PigqdGhpcyku
bG9jYXRpb25PZmZzZXQoKSA6IExheW91dFNpemUoKTsKLSAgICAgICAgcGFpbnQoaW5mbywgc2Ny
b2xsZWRQYWludFJlY3QubG9jYXRpb24oKSAtIGxvY2FsT2Zmc2V0KTsKKyAgICAvLyB0aGUgcGFp
bnRlciBpdCBzaG91bGQganVzdCBtb2RpZnkgdGhlIGNsaXAuCisgICAgUGFpbnRJbmZvIG1hc2tJ
bmZvKG1hc2tJbWFnZUNvbnRleHQsIExheW91dFJlY3QgeyBtYXNrUmVjdCB9LCBQYWludFBoYXNl
OjpUZXh0Q2xpcCwgUGFpbnRCZWhhdmlvcjo6Rm9yY2VCbGFja1RleHQpOworICAgIGlmIChpbmxp
bmVCb3gpIHsKKyAgICAgICAgYXV0byBwYWludE9mZnNldCA9IHNjcm9sbGVkUGFpbnRSZWN0Lmxv
Y2F0aW9uKCkgLSB0b0xheW91dFNpemUoTGF5b3V0UG9pbnQoaW5saW5lQm94LT5yZWN0KCkubG9j
YXRpb24oKSkpOworCisgICAgICAgIGZvciAoYXV0byBib3ggPSBpbmxpbmVCb3gtPmZpcnN0TGVh
ZkJveCgpLCBlbmQgPSBpbmxpbmVCb3gtPmVuZExlYWZCb3goKTsgYm94ICE9IGVuZDsgYm94LnRy
YXZlcnNlTmV4dE9uTGluZSgpKSB7CisgICAgICAgICAgICBpZiAoIWJveC0+aXNUZXh0KCkpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBUZXh0Qm94UGFpbnRlciB0ZXh0
Qm94UGFpbnRlcihkb3duY2FzdDxJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yPihib3gp
LCBtYXNrSW5mbywgcGFpbnRPZmZzZXQpOworICAgICAgICAgICAgdGV4dEJveFBhaW50ZXIucGFp
bnQoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CiAgICAgfQorCisgICAgTGF5b3V0U2l6
ZSBsb2NhbE9mZnNldCA9IGlzPFJlbmRlckJveD4oKnRoaXMpID8gZG93bmNhc3Q8UmVuZGVyQm94
PigqdGhpcykubG9jYXRpb25PZmZzZXQoKSA6IExheW91dFNpemUoKTsKKyAgICBwYWludChtYXNr
SW5mbywgc2Nyb2xsZWRQYWludFJlY3QubG9jYXRpb24oKSAtIGxvY2FsT2Zmc2V0KTsKIH0KIAog
dm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxsTGF5ZXJFeHRlbmRlZChjb25zdCBQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgQ29sb3ImIGNvbG9yLCBjb25zdCBGaWxsTGF5ZXIm
IGJnTGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIHJlY3QsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRCb3hQYWludGVyLmNwcAppbmRleCA4MDc2Nzk2NzRiMDkyMDNjN2EzNzQxOWM4MmM1
NjNmYWY0YzQzZDQ3Li44YzE3NDQyYmFlY2YxMTg3MDhjMDEzNDc1OWU1NjQ5ZGJjYmVhMjJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKQEAgLTU2LDgg
KzU2LDggQEAgVGV4dEJveFBhaW50ZXI6OlRleHRCb3hQYWludGVyKGNvbnN0IExheW91dEludGVn
cmF0aW9uOjpJbmxpbmVDb250ZW50JiBpbmxpbmVDb24KIH0KICNlbmRpZgogCi1UZXh0Qm94UGFp
bnRlcjo6VGV4dEJveFBhaW50ZXIoSW5saW5lSXRlcmF0b3I6OlRleHRCb3hJdGVyYXRvciYmIHRl
eHRCb3gsIFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZz
ZXQpCi0gICAgOiBtX3RleHRCb3goV1RGTW92ZSh0ZXh0Qm94KSkKK1RleHRCb3hQYWludGVyOjpU
ZXh0Qm94UGFpbnRlcihjb25zdCBJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yJiB0ZXh0
Qm94LCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0
KQorICAgIDogbV90ZXh0Qm94KHRleHRCb3gpCiAgICAgLCBtX3JlbmRlcmVyKG1fdGV4dEJveC0+
cmVuZGVyZXIoKSkKICAgICAsIG1fZG9jdW1lbnQobV9yZW5kZXJlci5kb2N1bWVudCgpKQogICAg
ICwgbV9zdHlsZShtX3RleHRCb3gtPnN0eWxlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9U
ZXh0Qm94UGFpbnRlci5oCmluZGV4IGFmOGQwZWVjMTBjNzcwZGI4MDgxY2UxYzU4MjExMjQ5YmQw
MjE4MTIuLjE3ZGIwNmY3MWM0ZDFmNWYxZjFhN2IwZDFkMzZmYmUyODNhYmM4ZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCkBAIC01MCw2ICs1MCw4IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICBUZXh0Qm94
UGFpbnRlcihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudCYsIGNvbnN0IElu
bGluZURpc3BsYXk6OkJveCYsIFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JiBwYWludE9m
ZnNldCk7CiAjZW5kaWYKKyAgICBUZXh0Qm94UGFpbnRlcihjb25zdCBJbmxpbmVJdGVyYXRvcjo6
VGV4dEJveEl0ZXJhdG9yJiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zm
c2V0KTsKKwogICAgIH5UZXh0Qm94UGFpbnRlcigpOwogCiAgICAgdm9pZCBwYWludCgpOwpAQCAt
NTcsOCArNTksNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEZsb2F0UmVjdCBjYWxjdWxhdGVVbmlv
bk9mQWxsRG9jdW1lbnRNYXJrZXJCb3VuZHMoY29uc3QgTGVnYWN5SW5saW5lVGV4dEJveCYpOwog
CiBwcml2YXRlOgotICAgIFRleHRCb3hQYWludGVyKElubGluZUl0ZXJhdG9yOjpUZXh0Qm94SXRl
cmF0b3ImJiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsKLQog
ICAgIGF1dG8mIHRleHRCb3goKSBjb25zdCB7IHJldHVybiAqbV90ZXh0Qm94OyB9CiAKICAgICB2
b2lkIHBhaW50QmFja2dyb3VuZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc1OWQ4ODVjNDIyNmFiZTQ1NzQzZTdlNTJh
MDAxZTFkYTU3NjFjNGUuLmI1NmMwMGNhNGU5OGY1ZmU5OGNmZjIxNGRjMzJkNDI2NjBiYmZlM2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMC0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIFN1cHBvcnQgYmFja2dy
b3VuZC1jbGlwOnRleHQgb24gaW5saW5lIGJveGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvaW5saW5lL2lubGluZS1iYWNrZ3JvdW5kLWNs
aXAtdGV4dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2lubGluZS9pbmxp
bmUtYmFja2dyb3VuZC1jbGlwLXRleHQuaHRtbDogQWRkZWQuCisKIDIwMjEtMTAtMTUgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0aW9u
XSBFbmFibGUgaW5saW5lIGJveGVzIHdpdGggYm9yZGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tncm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2lubGluZS9pbmxpbmUtYmFja2dyb3VuZC1jbGlwLXRleHQtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWUyMWZiZWI3ZmZhNTdmYmE1MjM1MGI0M2E5NTk1ODgx
MzhjYjExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvaW5saW5l
LWJhY2tncm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPHN0
eWxlPgorZGl2IHsKKyAgICBmb250LWZhbWlseTogJ0FoZW0nOworfQorLmNsaXAgeworICAgIGNv
bG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8ZGl2PmEgPHNwYW4gY2xhc3M9ImNsaXAiPmIgPHNw
YW4+YyA8L3NwYW4+PC9zcGFuPmQ8L2Rpdj4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9pbmxpbmUvaW5saW5lLWJhY2tncm91bmQtY2xpcC10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2lubGluZS9pbmxpbmUtYmFja2dyb3VuZC1jbGlwLXRleHQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
OWFlYWM3MmIyODFmNDI0MmZjNDBiOTlkNDQxMGY5OWE0ZjZhNzFhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tncm91bmQtY2xpcC10ZXh0Lmh0
bWwKQEAgLTAsMCArMSwxMSBAQAorPHN0eWxlPgorZGl2IHsKKyAgICBmb250LWZhbWlseTogJ0Fo
ZW0nOworfQorLmNsaXAgeworICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICBiYWNrZ3JvdW5k
LWNsaXA6IHRleHQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgor
PGRpdj5hIDxzcGFuIGNsYXNzPSJjbGlwIj5iIDxzcGFuPmMgPC9zcGFuPjwvc3Bhbj5kPC9kaXY+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441536</attachid>
            <date>2021-10-17 07:10:06 -0700</date>
            <delta_ts>2021-10-17 07:45:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231877-20211017171005.patch</filename>
            <type>text/plain</type>
            <size>17385</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE2MDExMTJlODk1ODA3
NjlmOGE3M2IwOTQxNjMyOTdkN2E4OTJmZi4uMDNhNmQ4OTEyMjY0MmYyMDk0NDdlYWRkZTEwMDg3
OTNmYjk3OGQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEwLTE3ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gU3VwcG9ydCBiYWNrZ3JvdW5kLWNsaXA6dGV4dCBvbiBpbmxpbmUgYm94ZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTg3NworCisgICAgICAg
IFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisgICAgICAgIEltcGxlbWVudCB0ZXh0IG1hc2sg
cGFpbnRpbmcuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tncm91bmQt
Y2xpcC10ZXh0Lmh0bWwKKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVy
YXRvckJveExlZ2FjeVBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpC
b3hMZWdhY3lQYXRoOjpmaXJzdExlYWZCb3hGb3JJbmxpbmVCb3ggY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkJveExlZ2FjeVBhdGg6Omxhc3RMZWFmQm94Rm9ySW5s
aW5lQm94IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JCb3hNb2Rlcm5QYXRoLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94
TW9kZXJuUGF0aDo6Zmlyc3RMZWFmQm94Rm9ySW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjpsYXN0TGVhZkJveEZvcklubGlu
ZUJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJu
UGF0aDo6aXNXaXRoaW5JbmxpbmVCb3gpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9J
bmxpbmVJdGVyYXRvcklubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVy
YXRvcjo6SW5saW5lQm94OjpmaXJzdExlYWZCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lSXRlcmF0b3I6OklubGluZUJveDo6bGFzdExlYWZCb3ggY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OklubGluZUJveDo6ZW5kTGVhZkJveCBjb25zdCk6CisK
KyAgICAgICAgQWRkIGl0ZXJhdG9yIHN1cHBvcnQgZm9yIGdldHRpbmcgbGVhZiBib3hlcyBvZiBh
biBpbmxpbmUgYm94LgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJh
dG9ySW5saW5lQm94Lmg6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uQ292ZXJhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OnByaW50UmVhc29uKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpjYW5V
c2VGb3JSZW5kZXJJbmxpbmVDaGlsZCk6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uQ292ZXJhZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6
OnBhaW50TWFza0ZvclRleHRGaWxsQm94KToKKworICAgICAgICBQYWludCB0aGUgbWFzayBkaXJl
Y3RseSB1c2luZyBUZXh0Qm94UGFpbnRlciBpbnN0ZWFkIG9mIHJlY3Vyc2luZyB0byB0aGUgZ2Vu
ZXJhbCBwYWludGluZyBjb2RlLgorCisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpUZXh0Qm94UGFpbnRlcik6
CisgICAgICAgICogcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmg6CisKIDIwMjEtMTAtMTUgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0
aW9uXSBFbmFibGUgaW5saW5lIGJveGVzIHdpdGggYm9yZGVycwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggNGNlNTUxY2NkMDM1ZDFiNTcwNjNlZjQxMjRmM2JjZWNkMmI3MjFlMC4uNGM3ODUxMzJlM2M0
OTQ4NGZkOGMxMjQzNjQxNWI3NWIxMjBlOTJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC04MTEs
NiArODExLDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGxh
eW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRCb3guaAogICAgIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaAogICAgIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAorCisgICAgbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0Q29udGFpbmVyQm94LmgKICAgICBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaAog
CiAgICAgbG9hZGVyL0NhbnZhc0FjdGl2aXR5UmVjb3JkLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveExlZ2FjeVBhdGguaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveExlZ2Fj
eVBhdGguaAppbmRleCAxNTFhOGRhOTQ4ZjA0ODU3ZDY4NDY1ZjJhYmQwNTIzNDZlODY1MGY5Li5j
NjhiZWI0ODkyYjE0YzY4N2U5MzZlNzgxZjM2YzAwZTc2MDU5MjhmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hMZWdhY3lQYXRo
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9y
Qm94TGVnYWN5UGF0aC5oCkBAIC05Niw2ICs5NiwxNiBAQCBwdWJsaWM6CiAgICAgICAgIG1faW5s
aW5lQm94ID0gaW5saW5lRmxvd0JveCgpLT5wcmV2TGluZUJveCgpOwogICAgIH0KIAorICAgIEJv
eExlZ2FjeVBhdGggZmlyc3RMZWFmQm94Rm9ySW5saW5lQm94KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiB7IGlubGluZUZsb3dCb3goKS0+Zmlyc3RMZWFmRGVzY2VuZGFudCgpIH07Cisg
ICAgfQorCisgICAgQm94TGVnYWN5UGF0aCBsYXN0TGVhZkJveEZvcklubGluZUJveCgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4geyBpbmxpbmVGbG93Qm94KCktPmxhc3RMZWFmRGVzY2Vu
ZGFudCgpIH07CisgICAgfQorCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEJveExlZ2FjeVBh
dGgmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2lubGluZUJveCA9PSBvdGhlci5tX2lubGluZUJv
eDsgfQogCiAgICAgYm9vbCBhdEVuZCgpIGNvbnN0IHsgcmV0dXJuICFtX2lubGluZUJveDsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJh
dG9yQm94TW9kZXJuUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lu
bGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oCmluZGV4IGQ3ZGM5NGNjODY4N2RmM2YyYzA2NDYz
OGNlZWY1MmVlYzE5ZWVhNGIuLjk2MjBkMTliY2NjNDM3MmY5ZTIyYjc5ZGJlNDUyZmNjNmI3Yzk2
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJ
dGVyYXRvckJveE1vZGVyblBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNp
ZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAogI2luY2x1ZGUgIkZvbnRDYXNj
YWRlLmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0
SW50ZWdyYXRpb25JbmxpbmVDb250ZW50LmgiCiAjaW5jbHVkZSAiVGV4dEJveFNlbGVjdGFibGVS
YW5nZS5oIgogCkBAIC0xOTQsNiArMTk1LDM2IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKGF0
RW5kKCkgfHwgYm94KCkuaXNJbmxpbmVCb3goKSk7CiAgICAgfQogCisgICAgQm94TW9kZXJuUGF0
aCBmaXJzdExlYWZCb3hGb3JJbmxpbmVCb3goKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJU
KGJveCgpLmlzSW5saW5lQm94KCkpOworCisgICAgICAgIGF1dG8mIGlubGluZUJveCA9IGJveCgp
LmxheW91dEJveCgpOworCisgICAgICAgIC8vIFRoZSBuZXh0IGJveCBpcyB0aGUgZmlyc3QgZGVz
Y2VuZGFudCBvZiB0aGlzIGJveDsKKyAgICAgICAgYXV0byBmaXJzdCA9ICp0aGlzOworICAgICAg
ICBmaXJzdC50cmF2ZXJzZU5leHRPbkxpbmUoKTsKKworICAgICAgICBpZiAoIWZpcnN0LmF0RW5k
KCkgJiYgIWZpcnN0LmlzV2l0aGluSW5saW5lQm94KGlubGluZUJveCkpCisgICAgICAgICAgICBm
aXJzdC5zZXRBdEVuZCgpOworCisgICAgICAgIHJldHVybiBmaXJzdDsKKyAgICB9CisKKyAgICBC
b3hNb2Rlcm5QYXRoIGxhc3RMZWFmQm94Rm9ySW5saW5lQm94KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKKworICAgICAgICBhdXRvJiBpbmxpbmVC
b3ggPSBib3goKS5sYXlvdXRCb3goKTsKKworICAgICAgICAvLyBGSVhNRTogR2V0IHRoZSBsYXN0
IGJveCBpbmRleCBkaXJlY3RseSBmcm9tIHRoZSBkaXNwbGF5IGJveC4KKyAgICAgICAgYXV0byBs
YXN0ID0gZmlyc3RMZWFmQm94Rm9ySW5saW5lQm94KCk7CisgICAgICAgIGZvciAoYXV0byBib3gg
PSBsYXN0OyAhYm94LmF0RW5kKCkgJiYgYm94LmlzV2l0aGluSW5saW5lQm94KGlubGluZUJveCk7
IGJveC50cmF2ZXJzZU5leHRPbkxpbmUoKSkKKyAgICAgICAgICAgIGxhc3QgPSBib3g7CisKKyAg
ICAgICAgcmV0dXJuIGxhc3Q7CisgICAgfQorCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEJv
eE1vZGVyblBhdGgmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2lubGluZUNvbnRlbnQgPT0gb3Ro
ZXIubV9pbmxpbmVDb250ZW50ICYmIG1fYm94SW5kZXggPT0gb3RoZXIubV9ib3hJbmRleDsgfQog
CiAgICAgYm9vbCBhdEVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYm94SW5kZXggPT0gYm94ZXMoKS5z
aXplKCk7IH0KQEAgLTIwMSw2ICsyMzIsMTYgQEAgcHVibGljOgogICAgIGF1dG8mIGlubGluZUNv
bnRlbnQoKSBjb25zdCB7IHJldHVybiAqbV9pbmxpbmVDb250ZW50OyB9CiAKIHByaXZhdGU6Cisg
ICAgYm9vbCBpc1dpdGhpbklubGluZUJveChjb25zdCBMYXlvdXQ6OkJveCYgaW5saW5lQm94KQor
ICAgIHsKKyAgICAgICAgYXV0byogbGF5b3V0Qm94ID0gJmJveCgpLmxheW91dEJveCgpLnBhcmVu
dCgpOworICAgICAgICBmb3IgKDsgbGF5b3V0Qm94LT5pc0lubGluZUJveCgpOyBsYXlvdXRCb3gg
PSAmbGF5b3V0Qm94LT5wYXJlbnQoKSkgeworICAgICAgICAgICAgaWYgKGxheW91dEJveCA9PSAm
aW5saW5lQm94KQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICB2b2lkIHRyYXZlcnNlTmV4dEJveCgpCiAg
ICAgewogICAgICAgICBBU1NFUlQoIWF0RW5kKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvcklubGluZUJveC5jcHAK
aW5kZXggZTk0ZjkxZGZkN2RmNzU4YmVjYzBlODAzZWZhNjYxMjI5YWY0NjJjNi4uNzQ1MjgwMjFl
MDMxNDY5NGM1ZWE2NDZkOTc4MDNlYWFkZTAzMTY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9ySW5saW5lQm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJbmxpbmVCb3gu
Y3BwCkBAIC01OSw2ICs1OSwyNyBAQCBJbmxpbmVCb3hJdGVyYXRvciBJbmxpbmVCb3g6OnByZXZp
b3VzSW5saW5lQm94KCkgY29uc3QKICAgICByZXR1cm4gSW5saW5lQm94SXRlcmF0b3IoKnRoaXMp
LnRyYXZlcnNlUHJldmlvdXNJbmxpbmVCb3goKTsKIH0KIAorTGVhZkJveEl0ZXJhdG9yIElubGlu
ZUJveDo6Zmlyc3RMZWFmQm94KCkgY29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbiht
X3BhdGhWYXJpYW50LCBbXShhdXRvJiBwYXRoKSAtPiBMZWFmQm94SXRlcmF0b3IgeworICAgICAg
ICByZXR1cm4geyBwYXRoLmZpcnN0TGVhZkJveEZvcklubGluZUJveCgpIH07CisgICAgfSk7Cit9
CisKK0xlYWZCb3hJdGVyYXRvciBJbmxpbmVCb3g6Omxhc3RMZWFmQm94KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX3BhdGhWYXJpYW50LCBbXShhdXRvJiBwYXRoKSAtPiBM
ZWFmQm94SXRlcmF0b3IgeworICAgICAgICByZXR1cm4geyBwYXRoLmxhc3RMZWFmQm94Rm9ySW5s
aW5lQm94KCkgfTsKKyAgICB9KTsKK30KKworTGVhZkJveEl0ZXJhdG9yIElubGluZUJveDo6ZW5k
TGVhZkJveCgpIGNvbnN0Cit7CisgICAgaWYgKGF1dG8gbGFzdCA9IGxhc3RMZWFmQm94KCkpCisg
ICAgICAgIHJldHVybiBsYXN0LT5uZXh0T25MaW5lKCk7CisgICAgcmV0dXJuIHsgfTsKK30KKwog
SW5saW5lQm94SXRlcmF0b3I6OklubGluZUJveEl0ZXJhdG9yKEJveDo6UGF0aFZhcmlhbnQmJiBw
YXRoVmFyaWFudCkKICAgICA6IEJveEl0ZXJhdG9yKFdURk1vdmUocGF0aFZhcmlhbnQpKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJh
dG9ySW5saW5lQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5l
SXRlcmF0b3JJbmxpbmVCb3guaAppbmRleCBmMzdlODY4YzJjNjY2ZDZhMGE0OTk5YzhjOGIwYzdm
YmJjN2Y1MGQ3Li5lYzlmMWI3ODJlMTcwZDIwNTBiNmUzNWQ4ODQwNTgwOTA2MDgzNTZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JJ
bmxpbmVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5l
SXRlcmF0b3JJbmxpbmVCb3guaApAQCAtNDcsNiArNDcsMTAgQEAgcHVibGljOgogICAgIElubGlu
ZUJveEl0ZXJhdG9yIG5leHRJbmxpbmVCb3goKSBjb25zdDsKICAgICBJbmxpbmVCb3hJdGVyYXRv
ciBwcmV2aW91c0lubGluZUJveCgpIGNvbnN0OwogICAgIElubGluZUJveEl0ZXJhdG9yIGl0ZXJh
dG9yKCkgY29uc3Q7CisKKyAgICBMZWFmQm94SXRlcmF0b3IgZmlyc3RMZWFmQm94KCkgY29uc3Q7
CisgICAgTGVhZkJveEl0ZXJhdG9yIGxhc3RMZWFmQm94KCkgY29uc3Q7CisgICAgTGVhZkJveEl0
ZXJhdG9yIGVuZExlYWZCb3goKSBjb25zdDsKIH07CiAKIGNsYXNzIElubGluZUJveEl0ZXJhdG9y
IDogcHVibGljIEJveEl0ZXJhdG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAppbmRl
eCAyMWNlM2IzZjMxNDZmYzVmM2M0MzNhZmIzNTVkNmUxZjcxNDQ1YzIyLi4yY2NiNTc2MDMwOGI0
MmI2NTdkNjcxMDdkZmYxYWRmZTlkMTkxZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2Uu
Y3BwCkBAIC0yMDksOSArMjA5LDYgQEAgc3RhdGljIHZvaWQgcHJpbnRSZWFzb24oQXZvaWRhbmNl
UmVhc29uIHJlYXNvbiwgVGV4dFN0cmVhbSYgc3RyZWFtKQogICAgIGNhc2UgQXZvaWRhbmNlUmVh
c29uOjpCb3hEZWNvcmF0aW9uQnJlYWtDbG9uZToKICAgICAgICAgc3RyZWFtIDw8ICJ3ZWJraXQt
Ym94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBB
dm9pZGFuY2VSZWFzb246OklubGluZUJveEhhc0JhY2tncm91bmRDbGlwVGV4dDoKLSAgICAgICAg
c3RyZWFtIDw8ICJpbmxpbmUgYm94IGhhcyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQiOwotICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC00ODEsOCAr
NDc4LDYgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvclJlbmRl
cklubGluZUNoaWxkKGNvbnN0IFJlbmRlcklubGluZSYKICAgICBpZiAoc3R5bGUuYm94RGVjb3Jh
dGlvbkJyZWFrKCkgPT0gQm94RGVjb3JhdGlvbkJyZWFrOjpDbG9uZSkKICAgICAgICAgU0VUX1JF
QVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChCb3hEZWNvcmF0aW9uQnJlYWtDbG9uZSwgcmVhc29u
cywgaW5jbHVkZVJlYXNvbnMpOwogI2VuZGlmCi0gICAgaWYgKHN0eWxlLmJhY2tncm91bmRDbGlw
KCkgPT0gRmlsbEJveDo6VGV4dCkKLSAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05F
RURFRChJbmxpbmVCb3hIYXNCYWNrZ3JvdW5kQ2xpcFRleHQsIHJlYXNvbnMsIGluY2x1ZGVSZWFz
b25zKTsKICAgICBpZiAoc3R5bGUuaGFzT3V0bGluZSgpKQogICAgICAgICBTRVRfUkVBU09OX0FO
RF9SRVRVUk5fSUZfTkVFREVEKENvbnRlbnRIYXNPdXRsaW5lLCByZWFzb25zLCBpbmNsdWRlUmVh
c29ucyk7CiAgICAgaWYgKHJlbmRlcklubGluZS5pc0luRmxvd1Bvc2l0aW9uZWQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkNvdmVyYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25Db3ZlcmFnZS5oCmluZGV4IGJhYjM4ZDhkMWNiZDA2MmNmMDlkOTg2MmU1MmM5YjBk
NzYxMjUzZDYuLjAzNDMwODJhZDg0YTMyYTBiMDQ4NTUwMDhmZTg4NDhkZDFmOTZmOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkNvdmVyYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uQ292ZXJhZ2UuaApAQCAtOTEsNyArOTEsNyBAQCBlbnVtIGNsYXNzIEF2b2lk
YW5jZVJlYXNvbiA6IHVpbnQ2NF90IHsKICAgICBNdWx0aUNvbHVtbkZsb3dJc0Zsb2F0aW5nICAg
ICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDUwLAogICAgIC8vIFVudXNlZCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNTEsCiAgICAgLy8gVW51c2VkICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCA1MiwKLSAgICBJbmxp
bmVCb3hIYXNCYWNrZ3JvdW5kQ2xpcFRleHQgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDUzLAor
ICAgIC8vIFVudXNlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAg
PDwgNTMsCiAgICAgVW5zdXBwb3J0ZWRGaWVsZHNldCAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAxTExVICA8PCA1NCwKICAgICBDaGlsZEJveElzRmxvYXRpbmdPclBvc2l0aW9uZWQgICAgICAg
ICAgICAgICA9IDFMTFUgIDw8IDU1LAogICAgIENvbnRlbnRJc1NWRyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgNTYsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCBiMWQ0Yzg2ODcxZDE5ZDM0OTRl
YTM1OGVhMWJiMTZkM2U2NDI0MmI0Li5kNGI2NzM3MzNkMDUwOGRhMjI0YmRiMDc3ZjRkOWM2Mzk3
YjFmM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAj
aW5jbHVkZSAiU2Nyb2xsaW5nQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgor
I2luY2x1ZGUgIlRleHRCb3hQYWludGVyLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU3RhdGUuaCIK
ICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgpAQCAtNzExLDIyICs3MTIsMjggQEAgSW50ZXJwb2xhdGlvblF1YWxpdHkgUmVu
ZGVyQm94TW9kZWxPYmplY3Q6OmNob29zZUludGVycG9sYXRpb25RdWFsaXR5KEdyYXBoaWNzQ28K
ICAgICByZXR1cm4gdmlldygpLmltYWdlUXVhbGl0eUNvbnRyb2xsZXIoKS5jaG9vc2VJbnRlcnBv
bGF0aW9uUXVhbGl0eShjb250ZXh0LCB0aGlzLCBpbWFnZSwgbGF5ZXIsIHNpemUpOwogfQogCi12
b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludE1hc2tGb3JUZXh0RmlsbEJveChJbWFnZUJ1
ZmZlciogbWFza0ltYWdlLCBjb25zdCBGbG9hdFJlY3QmIG1hc2tSZWN0LCBjb25zdCBJbmxpbmVJ
dGVyYXRvcjo6SW5saW5lQm94SXRlcmF0b3ImIGJveCwgY29uc3QgTGF5b3V0UmVjdCYgc2Nyb2xs
ZWRQYWludFJlY3QpCit2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludE1hc2tGb3JUZXh0
RmlsbEJveChJbWFnZUJ1ZmZlciogbWFza0ltYWdlLCBjb25zdCBGbG9hdFJlY3QmIG1hc2tSZWN0
LCBjb25zdCBJbmxpbmVJdGVyYXRvcjo6SW5saW5lQm94SXRlcmF0b3ImIGlubGluZUJveCwgY29u
c3QgTGF5b3V0UmVjdCYgc2Nyb2xsZWRQYWludFJlY3QpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0
JiBtYXNrSW1hZ2VDb250ZXh0ID0gbWFza0ltYWdlLT5jb250ZXh0KCk7CiAgICAgbWFza0ltYWdl
Q29udGV4dC50cmFuc2xhdGUoLW1hc2tSZWN0LmxvY2F0aW9uKCkpOwogCiAgICAgLy8gTm93IGFk
ZCB0aGUgdGV4dCB0byB0aGUgY2xpcC4gV2UgZG8gdGhpcyBieSBwYWludGluZyB1c2luZyBhIHNw
ZWNpYWwgcGFpbnQgcGhhc2UgdGhhdCBzaWduYWxzIHRvCi0gICAgLy8gTGVnYWN5SW5saW5lVGV4
dEJveGVzIHRoYXQgdGhleSBzaG91bGQganVzdCBhZGQgdGhlaXIgY29udGVudHMgdG8gdGhlIGNs
aXAuCi0gICAgUGFpbnRJbmZvIGluZm8obWFza0ltYWdlQ29udGV4dCwgTGF5b3V0UmVjdCB7IG1h
c2tSZWN0IH0sIFBhaW50UGhhc2U6OlRleHRDbGlwLCBQYWludEJlaGF2aW9yOjpGb3JjZUJsYWNr
VGV4dCk7Ci0gICAgaWYgKGJveCkgewotICAgICAgICBhdXRvKiBsZWdhY3lJbmxpbmVCb3ggPSBj
b25zdF9jYXN0PExlZ2FjeUlubGluZUZsb3dCb3gqPihib3gtPmxlZ2FjeUlubGluZUJveCgpKTsK
LSAgICAgICAgY29uc3QgYXV0byYgcm9vdEJveCA9IGxlZ2FjeUlubGluZUJveC0+cm9vdCgpOwot
ICAgICAgICBsZWdhY3lJbmxpbmVCb3gtPnBhaW50KGluZm8sIExheW91dFBvaW50KHNjcm9sbGVk
UGFpbnRSZWN0LngoKSAtIGxlZ2FjeUlubGluZUJveC0+eCgpLCBzY3JvbGxlZFBhaW50UmVjdC55
KCkgLSBsZWdhY3lJbmxpbmVCb3gtPnkoKSksIHJvb3RCb3gubGluZVRvcCgpLCByb290Qm94Lmxp
bmVCb3R0b20oKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgTGF5b3V0U2l6ZSBsb2NhbE9mZnNl
dCA9IGlzPFJlbmRlckJveD4oKnRoaXMpID8gZG93bmNhc3Q8UmVuZGVyQm94PigqdGhpcykubG9j
YXRpb25PZmZzZXQoKSA6IExheW91dFNpemUoKTsKLSAgICAgICAgcGFpbnQoaW5mbywgc2Nyb2xs
ZWRQYWludFJlY3QubG9jYXRpb24oKSAtIGxvY2FsT2Zmc2V0KTsKKyAgICAvLyB0aGUgcGFpbnRl
ciBpdCBzaG91bGQganVzdCBtb2RpZnkgdGhlIGNsaXAuCisgICAgUGFpbnRJbmZvIG1hc2tJbmZv
KG1hc2tJbWFnZUNvbnRleHQsIExheW91dFJlY3QgeyBtYXNrUmVjdCB9LCBQYWludFBoYXNlOjpU
ZXh0Q2xpcCwgUGFpbnRCZWhhdmlvcjo6Rm9yY2VCbGFja1RleHQpOworICAgIGlmIChpbmxpbmVC
b3gpIHsKKyAgICAgICAgYXV0byBwYWludE9mZnNldCA9IHNjcm9sbGVkUGFpbnRSZWN0LmxvY2F0
aW9uKCkgLSB0b0xheW91dFNpemUoTGF5b3V0UG9pbnQoaW5saW5lQm94LT5yZWN0KCkubG9jYXRp
b24oKSkpOworCisgICAgICAgIGZvciAoYXV0byBib3ggPSBpbmxpbmVCb3gtPmZpcnN0TGVhZkJv
eCgpLCBlbmQgPSBpbmxpbmVCb3gtPmVuZExlYWZCb3goKTsgYm94ICE9IGVuZDsgYm94LnRyYXZl
cnNlTmV4dE9uTGluZSgpKSB7CisgICAgICAgICAgICBpZiAoIWJveC0+aXNUZXh0KCkpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBUZXh0Qm94UGFpbnRlciB0ZXh0Qm94
UGFpbnRlcihkb3duY2FzdDxJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yPihib3gpLCBt
YXNrSW5mbywgcGFpbnRPZmZzZXQpOworICAgICAgICAgICAgdGV4dEJveFBhaW50ZXIucGFpbnQo
KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CiAgICAgfQorCisgICAgTGF5b3V0U2l6ZSBs
b2NhbE9mZnNldCA9IGlzPFJlbmRlckJveD4oKnRoaXMpID8gZG93bmNhc3Q8UmVuZGVyQm94Pigq
dGhpcykubG9jYXRpb25PZmZzZXQoKSA6IExheW91dFNpemUoKTsKKyAgICBwYWludChtYXNrSW5m
bywgc2Nyb2xsZWRQYWludFJlY3QubG9jYXRpb24oKSAtIGxvY2FsT2Zmc2V0KTsKIH0KIAogdm9p
ZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxsTGF5ZXJFeHRlbmRlZChjb25zdCBQYWlu
dEluZm8mIHBhaW50SW5mbywgY29uc3QgQ29sb3ImIGNvbG9yLCBjb25zdCBGaWxsTGF5ZXImIGJn
TGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIHJlY3QsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRCb3hQYWludGVyLmNwcAppbmRleCA4MDc2Nzk2NzRiMDkyMDNjN2EzNzQxOWM4MmM1NjNm
YWY0YzQzZDQ3Li44YzE3NDQyYmFlY2YxMTg3MDhjMDEzNDc1OWU1NjQ5ZGJjYmVhMjJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKQEAgLTU2LDggKzU2
LDggQEAgVGV4dEJveFBhaW50ZXI6OlRleHRCb3hQYWludGVyKGNvbnN0IExheW91dEludGVncmF0
aW9uOjpJbmxpbmVDb250ZW50JiBpbmxpbmVDb24KIH0KICNlbmRpZgogCi1UZXh0Qm94UGFpbnRl
cjo6VGV4dEJveFBhaW50ZXIoSW5saW5lSXRlcmF0b3I6OlRleHRCb3hJdGVyYXRvciYmIHRleHRC
b3gsIFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQp
Ci0gICAgOiBtX3RleHRCb3goV1RGTW92ZSh0ZXh0Qm94KSkKK1RleHRCb3hQYWludGVyOjpUZXh0
Qm94UGFpbnRlcihjb25zdCBJbmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yJiB0ZXh0Qm94
LCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQor
ICAgIDogbV90ZXh0Qm94KHRleHRCb3gpCiAgICAgLCBtX3JlbmRlcmVyKG1fdGV4dEJveC0+cmVu
ZGVyZXIoKSkKICAgICAsIG1fZG9jdW1lbnQobV9yZW5kZXJlci5kb2N1bWVudCgpKQogICAgICwg
bV9zdHlsZShtX3RleHRCb3gtPnN0eWxlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
Qm94UGFpbnRlci5oCmluZGV4IGFmOGQwZWVjMTBjNzcwZGI4MDgxY2UxYzU4MjExMjQ5YmQwMjE4
MTIuLjE3ZGIwNmY3MWM0ZDFmNWYxZjFhN2IwZDFkMzZmYmUyODNhYmM4ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCkBAIC01MCw2ICs1MCw4IEBAIHB1Ymxp
YzoKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKICAgICBUZXh0Qm94UGFp
bnRlcihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudCYsIGNvbnN0IElubGlu
ZURpc3BsYXk6OkJveCYsIFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNl
dCk7CiAjZW5kaWYKKyAgICBUZXh0Qm94UGFpbnRlcihjb25zdCBJbmxpbmVJdGVyYXRvcjo6VGV4
dEJveEl0ZXJhdG9yJiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0
KTsKKwogICAgIH5UZXh0Qm94UGFpbnRlcigpOwogCiAgICAgdm9pZCBwYWludCgpOwpAQCAtNTcs
OCArNTksNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEZsb2F0UmVjdCBjYWxjdWxhdGVVbmlvbk9m
QWxsRG9jdW1lbnRNYXJrZXJCb3VuZHMoY29uc3QgTGVnYWN5SW5saW5lVGV4dEJveCYpOwogCiBw
cml2YXRlOgotICAgIFRleHRCb3hQYWludGVyKElubGluZUl0ZXJhdG9yOjpUZXh0Qm94SXRlcmF0
b3ImJiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsKLQogICAg
IGF1dG8mIHRleHRCb3goKSBjb25zdCB7IHJldHVybiAqbV90ZXh0Qm94OyB9CiAKICAgICB2b2lk
IHBhaW50QmFja2dyb3VuZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc1OWQ4ODVjNDIyNmFiZTQ1NzQzZTdlNTJhMDAx
ZTFkYTU3NjFjNGUuLjg0Zjc4NDY3YWE4MzdhZTI1ZTk0NDUzOTdjZWY4ZTI1MzA5NmRjODcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMC0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIFN1cHBvcnQgYmFja2dyb3Vu
ZC1jbGlwOnRleHQgb24gaW5saW5lIGJveGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE4NzcKKworICAgICAgICBSZXZpZXdlZCBieSBBbGFuIEJ1
anRhcy4KKworICAgICAgICAqIGZhc3QvaW5saW5lL2lubGluZS1iYWNrZ3JvdW5kLWNsaXAtdGV4
dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2lubGluZS9pbmxpbmUtYmFj
a2dyb3VuZC1jbGlwLXRleHQuaHRtbDogQWRkZWQuCisKIDIwMjEtMTAtMTUgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBFbmFi
bGUgaW5saW5lIGJveGVzIHdpdGggYm9yZGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9pbmxpbmUvaW5saW5lLWJhY2tncm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2lubGluZS9pbmxpbmUtYmFja2dyb3VuZC1jbGlwLXRleHQtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYWUyMWZiZWI3ZmZhNTdmYmE1MjM1MGI0M2E5NTk1ODgxMzhjYjEx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tn
cm91bmQtY2xpcC10ZXh0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPHN0eWxlPgor
ZGl2IHsKKyAgICBmb250LWZhbWlseTogJ0FoZW0nOworfQorLmNsaXAgeworICAgIGNvbG9yOiBn
cmVlbjsKK30KKzwvc3R5bGU+Cis8ZGl2PmEgPHNwYW4gY2xhc3M9ImNsaXAiPmIgPHNwYW4+YyA8
L3NwYW4+PC9zcGFuPmQ8L2Rpdj4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbmxp
bmUvaW5saW5lLWJhY2tncm91bmQtY2xpcC10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2lu
bGluZS9pbmxpbmUtYmFja2dyb3VuZC1jbGlwLXRleHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOWFlYWM3
MmIyODFmNDI0MmZjNDBiOTlkNDQxMGY5OWE0ZjZhNzFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9pbmxpbmUvaW5saW5lLWJhY2tncm91bmQtY2xpcC10ZXh0Lmh0bWwKQEAg
LTAsMCArMSwxMSBAQAorPHN0eWxlPgorZGl2IHsKKyAgICBmb250LWZhbWlseTogJ0FoZW0nOwor
fQorLmNsaXAgeworICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICBiYWNrZ3JvdW5kLWNsaXA6
IHRleHQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgorPGRpdj5h
IDxzcGFuIGNsYXNzPSJjbGlwIj5iIDxzcGFuPmMgPC9zcGFuPjwvc3Bhbj5kPC9kaXY+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGEyMzBjNjI5ZWVlNGUy
YjRmYzA3ZGQ5NDExOTVkNGI4Y2VlZjk0ZDAuLjc2ZDJiZjYwNzczYWE2MjdlMTg1OTZkMDYzYTc4
OTRlYjgzZjg3NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yOTExLDYgKzI5MTEsNyBAQCBodHRwL3Rlc3RzL21pc2MvbGFyZ2UtanMtcHJvZ3JhbS5w
eSBbIENyYXNoIFRpbWVvdXQgXQogZmFzdC9yZXBhaW50L2Jsb2NrLWlucHV0cmFuZ2UtcmVwYWlu
dC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogZmFzdC9pbmxpbmUvcGFkZGluZy1lbGxpcHNpcy1y
aWdodC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L2lubGluZS9pbmxpbmUtYmFja2dy
b3VuZC1jbGlwLXRleHQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiAjIFRoaXMgdGVzdCBo
YXJkY29kZXMgdGhlIHJlc3VsdCBvZiBhIHBsYXRmb3JtLWRlcGVuZGVudCBmb250IGxvb2t1cCBh
bGdvcml0aG0uCiBmYXN0L3RleHQvZmFsbGJhY2stbGFuZ3VhZ2UtaGFuLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>