<?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>231540</bug_id>
          
          <creation_ts>2021-10-11 15:56:41 -0700</creation_ts>
          <short_desc>[LFC][IFC] Move overflowing content creation to LineBuilder::initialize</short_desc>
          <delta_ts>2021-10-16 09:15:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1802860</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-10-11 15:56:41 -0700</bug_when>
    <thetext>This is in preparation for creating spanning inline boxes for the line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802861</commentid>
    <comment_count>1</comment_count>
      <attachid>440850</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-11 15:59:18 -0700</bug_when>
    <thetext>Created attachment 440850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804991</commentid>
    <comment_count>2</comment_count>
      <attachid>441421</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-10-15 13:48:17 -0700</bug_when>
    <thetext>Created attachment 441421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805266</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-16 09:14:31 -0700</bug_when>
    <thetext>Committed r284317 (243113@main): &lt;https://commits.webkit.org/243113@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441421.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805267</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-16 09:15:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/84333278&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440850</attachid>
            <date>2021-10-11 15:59:18 -0700</date>
            <delta_ts>2021-10-15 13:48:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231540-20211011155917.patch</filename>
            <type>text/plain</type>
            <size>13647</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIzMjRlNGIxYjg4ZjI1
MDljOTM1MDBiOTkwZGNhNjgwOGFhODA5Ni4uMjU2MjJkMzhlMDI0MjhmNTI3MjVmNDMwZWUyN2Q5
ZDAwNTI0ODMxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEwLTExICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIE1vdmUgb3Zl
cmZsb3dpbmcgY29udGVudCBjcmVhdGlvbiB0byBMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGluZUJ1aWxkZXI6
OmluaXRpYWxpemUgaXMgZ29pbmcgdG8gaGFuZGxlIGFsbCBvdmVyZmxvd2luZyBjb250ZW50IGlu
aXRpYWxpemF0aW9uLgorICAgICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcg
c3Bhbm5pbmcgaW5saW5lIGJveCBpdGVtcyB0byB0aGUgbGluZSAodG8gc3VwcG9ydCBib3gtZGVj
b3JhdGlvbi1icmVhazogY2xvbmUpLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjb21wdXRlZEludHJpbnNpY1dpZHRoKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKToK
KyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVp
bGRlci5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZVRleHRJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZVRleHRJdGVtOjpy
aWdodCBjb25zdCk6CisKIDIwMjEtMTAtMTEgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIExpbmVMYXlvdXRQYXRoOjpMaW5lQm94ZXNQYXRoIG5hbWUgaXMgb3V0ZGF0
ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCAxYmEwYTg5
Nzg3OTU5OGQ2ZjE0MmFmMjg2MWU1NGIzMjRlZTg4MmY1Li44MGY5MGFlMmNmMzEyOWI3NWY2ZjBh
Y2U4YmU5MzI4YjJiZmMwNjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxk
ZXIuY3BwCkBAIC0yNjYsOSArMjY2LDkgQEAgTGluZUJ1aWxkZXI6OkxpbmVCdWlsZGVyKGNvbnN0
IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwKIAogTGlu
ZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNv
bnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IHBhcnRpYWxMZWFk
aW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxv
d0xvZ2ljYWxXaWR0aCwgY29uc3QgSW5saW5lUmVjdCYgaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwg
Ym9vbCBpc0ZpcnN0TGluZSkKIHsKLSAgICBpbml0aWFsaXplKGluaXRpYWxDb25zdHJhaW50c0Zv
ckxpbmUoaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgaXNGaXJzdExpbmUpLCBpc0ZpcnN0TGluZSk7
CisgICAgaW5pdGlhbGl6ZShpbml0aWFsQ29uc3RyYWludHNGb3JMaW5lKGluaXRpYWxMaW5lTG9n
aWNhbFJlY3QsIGlzRmlyc3RMaW5lKSwgaXNGaXJzdExpbmUsIG5lZWRzTGF5b3V0UmFuZ2Uuc3Rh
cnQsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgb3ZlcmZsb3dMb2dpY2FsV2lkdGgpOwog
Ci0gICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJbmxpbmVDb250ZW50KG5lZWRzTGF5
b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgb3ZlcmZsb3dMb2dpY2FsV2lk
dGgpOworICAgIGF1dG8gY29tbWl0dGVkQ29udGVudCA9IHBsYWNlSW5saW5lQ29udGVudChuZWVk
c0xheW91dFJhbmdlKTsKICAgICBhdXRvIGNvbW1pdHRlZFJhbmdlID0gY2xvc2UobmVlZHNMYXlv
dXRSYW5nZSwgY29tbWl0dGVkQ29udGVudCk7CiAKICAgICBhdXRvIGlzTGFzdExpbmUgPSBpc0xh
c3RMaW5lV2l0aElubGluZUNvbnRlbnQoY29tbWl0dGVkUmFuZ2UsIG5lZWRzTGF5b3V0UmFuZ2Uu
ZW5kLCBjb21taXR0ZWRDb250ZW50LnBhcnRpYWxUcmFpbGluZ0NvbnRlbnRMZW5ndGgpOwpAQCAt
Mjg0LDI1ICsyODQsMzIgQEAgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjps
YXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYKIAogTGluZUJ1aWxkZXI6
OkludHJpbnNpY0NvbnRlbnQgTGluZUJ1aWxkZXI6OmNvbXB1dGVkSW50cmluc2ljV2lkdGgoY29u
c3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBJbmxpbmVMYXlvdXRVbml0IGF2
YWlsYWJsZVdpZHRoKQogewotICAgIGluaXRpYWxpemUoeyB7IHsgfSwgeyBhdmFpbGFibGVXaWR0
aCwgbWF4SW5saW5lTGF5b3V0VW5pdCgpIH0gfSwgZmFsc2UgfSwgZmFsc2UpOwotICAgIGF1dG8g
Y29tbWl0dGVkQ29udGVudCA9IHBsYWNlSW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlLCB7
IH0sIHsgfSk7CisgICAgaW5pdGlhbGl6ZSh7IHsgeyB9LCB7IGF2YWlsYWJsZVdpZHRoLCBtYXhJ
bmxpbmVMYXlvdXRVbml0KCkgfSB9LCBmYWxzZSB9LCBmYWxzZSwgeyB9LCB7IH0sIHsgfSk7Cisg
ICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJbmxpbmVDb250ZW50KG5lZWRzTGF5b3V0
UmFuZ2UpOwogICAgIGF1dG8gY29tbWl0dGVkUmFuZ2UgPSBjbG9zZShuZWVkc0xheW91dFJhbmdl
LCBjb21taXR0ZWRDb250ZW50KTsKICAgICByZXR1cm4geyBjb21taXR0ZWRSYW5nZSwgbV9saW5l
LmNvbnRlbnRMb2dpY2FsV2lkdGgoKSwgbV9mbG9hdHMgfTsKIH0KIAotdm9pZCBMaW5lQnVpbGRl
cjo6aW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWludHMmIGxpbmVDb25zdHJhaW50cywgYm9v
bCBpc0ZpcnN0TGluZSkKK3ZvaWQgTGluZUJ1aWxkZXI6OmluaXRpYWxpemUoY29uc3QgVXNlZENv
bnN0cmFpbnRzJiBsaW5lQ29uc3RyYWludHMsIGJvb2wgaXNGaXJzdExpbmUsIHNpemVfdCBsZWFk
aW5nSW5saW5lVGV4dEl0ZW1JbmRleCwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0
aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBsZWFkaW5nTG9naWNhbFdpZHRoKQog
ewogICAgIG1faXNGaXJzdExpbmUgPSBpc0ZpcnN0TGluZTsKICAgICBtX2Zsb2F0cy5jbGVhcigp
OwotICAgIG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSA9IHsgfTsKICAgICBtX3dyYXBPcHBvcnR1
bml0eUxpc3QuY2xlYXIoKTsKIAogICAgIG1fbGluZS5pbml0aWFsaXplKCk7CiAgICAgbV9saW5l
TG9naWNhbFJlY3QgPSBsaW5lQ29uc3RyYWludHMubG9naWNhbFJlY3Q7CiAgICAgbV9jb250ZW50
SXNDb25zdHJhaW5lZEJ5RmxvYXQgPSBsaW5lQ29uc3RyYWludHMuaXNDb25zdHJhaW5lZEJ5Rmxv
YXQ7CisKKyAgICBpZiAocGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKSB7CisgICAgICAgIEFT
U0VSVCghaXNGaXJzdExpbmUpOworICAgICAgICBhdXRvIHBhcnRpYWxDb250ZW50V2lkdGggPSBs
ZWFkaW5nTG9naWNhbFdpZHRoID8gc3RkOjpleGNoYW5nZShsZWFkaW5nTG9naWNhbFdpZHRoLCBz
dGQ6Om51bGxvcHQpIDogc3RkOjpudWxsb3B0OworICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4
dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4obV9pbmxpbmVJdGVtc1tsZWFkaW5nSW5s
aW5lVGV4dEl0ZW1JbmRleF0pLnJpZ2h0KHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgcGFy
dGlhbENvbnRlbnRXaWR0aCk7CisgICAgfSBlbHNlCisgICAgICAgIG1fcGFydGlhbExlYWRpbmdU
ZXh0SXRlbSA9IHsgfTsKKyAgICBtX2xlYWRpbmdMb2dpY2FsV2lkdGggPSBsZWFkaW5nTG9naWNh
bFdpZHRoOwogfQogCi1MaW5lQnVpbGRlcjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6
cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5n
ZSwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxp
bmVMYXlvdXRVbml0PiBsZWFkaW5nTG9naWNhbFdpZHRoKQorTGluZUJ1aWxkZXI6OkNvbW1pdHRl
ZENvbnRlbnQgTGluZUJ1aWxkZXI6OnBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVt
UmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UpCiB7CiAgICAgYXV0byBsaW5lQ2FuZGlkYXRlID0gTGlu
ZUNhbmRpZGF0ZSB7IGxheW91dFN0YXRlKCkuc2hvdWxkSWdub3JlVHJhaWxpbmdMZXR0ZXJTcGFj
aW5nKCkgfTsKICAgICBhdXRvIGlubGluZUNvbnRlbnRCcmVha2VyID0gSW5saW5lQ29udGVudEJy
ZWFrZXIgeyB9OwpAQCAtMzE0LDcgKzMyMSw3IEBAIExpbmVCdWlsZGVyOjpDb21taXR0ZWRDb250
ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhCiAg
ICAgICAgIC8vIDIuIEFwcGx5IGZsb2F0cyBhbmQgc2hyaW5rIHRoZSBhdmFpbGFibGUgaG9yaXpv
bnRhbCBzcGFjZSBlLmcuIDxzcGFuPmludHJ1XzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0Ij48L2Rp
dj5zaXZlX2Zsb2F0PC9zcGFuPi4KICAgICAgICAgLy8gMy4gQ2hlY2sgaWYgdGhlIGNvbnRlbnQg
Zml0cyB0aGUgbGluZSBhbmQgY29tbWl0IHRoZSBjb250ZW50IGFjY29yZGluZ2x5IChmdWxsLCBw
YXJ0aWFsIG9yIG5vdCBjb21taXQgYXQgYWxsKS4KICAgICAgICAgLy8gNC4gUmV0dXJuIGlmIHdl
IGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lIGVpdGhlciBieSBub3QgYmVpbmcgYWJsZSB0byBm
aXQgbW9yZSBjb250ZW50IG9yIGJlY2F1c2Ugb2YgYW4gZXhwbGljaXQgbGluZSBicmVhay4KLSAg
ICAgICAgY2FuZGlkYXRlQ29udGVudEZvckxpbmUobGluZUNhbmRpZGF0ZSwgY3VycmVudEl0ZW1J
bmRleCwgbmVlZHNMYXlvdXRSYW5nZSwgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBzdGQ6
OmV4Y2hhbmdlKGxlYWRpbmdMb2dpY2FsV2lkdGgsIHN0ZDo6bnVsbG9wdCksIG1fbGluZS5jb250
ZW50TG9naWNhbFJpZ2h0KCkpOworICAgICAgICBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShsaW5l
Q2FuZGlkYXRlLCBjdXJyZW50SXRlbUluZGV4LCBuZWVkc0xheW91dFJhbmdlLCBtX2xpbmUuY29u
dGVudExvZ2ljYWxSaWdodCgpKTsKICAgICAgICAgLy8gTm93IGNoZWNrIGlmIHdlIGNhbiBwdXQg
dGhpcyBjb250ZW50IG9uIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgIGF1dG8gcmVzdWx0ID0g
UmVzdWx0IHsgfTsKICAgICAgICAgaWYgKGxpbmVDYW5kaWRhdGUuZmxvYXRJdGVtKSB7CkBAIC0z
NTMsNyArMzYwLDYgQEAgTGluZUJ1aWxkZXI6OkNvbW1pdHRlZENvbnRlbnQgTGluZUJ1aWxkZXI6
OnBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmEKICAgICAgICAgICAgIHJldHVy
biB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgcmVzdWx0LnBhcnRpYWxUcmFpbGluZ0NvbnRl
bnRMZW5ndGgsIHJlc3VsdC5vdmVyZmxvd0xvZ2ljYWxXaWR0aCB9OwogICAgICAgICB9CiAgICAg
ICAgIGN1cnJlbnRJdGVtSW5kZXggPSBuZWVkc0xheW91dFJhbmdlLnN0YXJ0ICsgY29tbWl0dGVk
SW5saW5lSXRlbUNvdW50ICsgbV9mbG9hdHMuc2l6ZSgpOwotICAgICAgICBwYXJ0aWFsTGVhZGlu
Z0NvbnRlbnRMZW5ndGggPSB7IH07CiAgICAgfQogICAgIC8vIExvb2tzIGxpa2Ugd2UndmUgcnVu
IG91dCBvZiBydW5zLgogICAgIHJldHVybiB7IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCwgeyB9
IH07CkBAIC00NjksNyArNDc1LDcgQEAgTGluZUJ1aWxkZXI6OlVzZWRDb25zdHJhaW50cyBMaW5l
QnVpbGRlcjo6aW5pdGlhbENvbnN0cmFpbnRzRm9yTGluZShjb25zdCBJbmxpbmUKICAgICByZXR1
cm4gVXNlZENvbnN0cmFpbnRzIHsgeyBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LnRvcCgpLCBsaW5l
TG9naWNhbExlZnQsIGxpbmVMb2dpY2FsUmlnaHQgLSBsaW5lTG9naWNhbExlZnQsIGluaXRpYWxM
aW5lTG9naWNhbFJlY3QuaGVpZ2h0KCkgfSwgbGluZUlzQ29uc3RyYWluZWRCeUZsb2F0IH07CiB9
CiAKLXZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRh
dGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjdXJyZW50SW5saW5lSXRlbUluZGV4LCBjb25zdCBJ
bmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50
TGVuZ3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGxlYWRpbmdMb2dpY2FsV2lk
dGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCkKK3ZvaWQgTGluZUJ1aWxk
ZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUs
IHNpemVfdCBjdXJyZW50SW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxh
eW91dFJhbmdlLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQpCiB7CiAgICAg
QVNTRVJUKGN1cnJlbnRJbmxpbmVJdGVtSW5kZXggPCBsYXlvdXRSYW5nZS5lbmQpOwogICAgIGxp
bmVDYW5kaWRhdGUucmVzZXQoKTsKQEAgLTQ3OSwxMyArNDg1LDExIEBAIHZvaWQgTGluZUJ1aWxk
ZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUs
IHNpemVfdCBjCiAgICAgYXV0byBzb2Z0V3JhcE9wcG9ydHVuaXR5SW5kZXggPSBuZXh0V3JhcE9w
cG9ydHVuaXR5KGN1cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGxheW91dFJhbmdlKTsKICAgICAvLyBz
b2Z0V3JhcE9wcG9ydHVuaXR5SW5kZXggPT0gbGF5b3V0UmFuZ2UuZW5kIG1lYW5zIHdlIGRvbid0
IGhhdmUgYW55IHdyYXAgb3Bwb3J0dW5pdHkgaW4gdGhpcyBjb250ZW50LgogICAgIEFTU0VSVChz
b2Z0V3JhcE9wcG9ydHVuaXR5SW5kZXggPD0gbGF5b3V0UmFuZ2UuZW5kKTsKLQotICAgIGlmIChw
YXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpIHsKLSAgICAgICAgQVNTRVJUKCFtX2lzRmlyc3RM
aW5lKTsKKyAgICBhdXRvIGlzTGluZVN0YXJ0ID0gY3VycmVudElubGluZUl0ZW1JbmRleCA9PSBs
YXlvdXRSYW5nZS5zdGFydDsKKyAgICBpZiAoaXNMaW5lU3RhcnQgJiYgbV9wYXJ0aWFsTGVhZGlu
Z1RleHRJdGVtKSB7CisgICAgICAgIEFTU0VSVCghbV9sZWFkaW5nTG9naWNhbFdpZHRoKTsKICAg
ICAgICAgLy8gSGFuZGxlIGxlYWRpbmcgcGFydGlhbCBjb250ZW50IGZpcnN0IChvdmVyZmxvd2lu
ZyB0ZXh0IGZyb20gdGhlIHByZXZpb3VzIGxpbmUpLgotICAgICAgICAvLyBDb25zdHJ1Y3QgYSBw
YXJ0aWFsIGxlYWRpbmcgaW5saW5lIGl0ZW0uCi0gICAgICAgIG1fcGFydGlhbExlYWRpbmdUZXh0
SXRlbSA9IGRvd25jYXN0PElubGluZVRleHRJdGVtPihtX2lubGluZUl0ZW1zW2N1cnJlbnRJbmxp
bmVJdGVtSW5kZXhdKS5yaWdodChwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpOwotICAgICAg
ICBhdXRvIGl0ZW1XaWR0aCA9IGxlYWRpbmdMb2dpY2FsV2lkdGggPyAqc3RkOjpleGNoYW5nZShs
ZWFkaW5nTG9naWNhbFdpZHRoLCBzdGQ6Om51bGxvcHQpIDogaW5saW5lSXRlbVdpZHRoKCptX3Bh
cnRpYWxMZWFkaW5nVGV4dEl0ZW0sIGN1cnJlbnRMb2dpY2FsUmlnaHQpOworICAgICAgICBhdXRv
IGl0ZW1XaWR0aCA9IGlubGluZUl0ZW1XaWR0aCgqbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtLCBj
dXJyZW50TG9naWNhbFJpZ2h0KTsKICAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50
LmFwcGVuZElubGluZUl0ZW0oKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgbV9wYXJ0aWFsTGVh
ZGluZ1RleHRJdGVtLT5zdHlsZSgpLCBpdGVtV2lkdGgpOwogICAgICAgICBjdXJyZW50TG9naWNh
bFJpZ2h0ICs9IGl0ZW1XaWR0aDsKICAgICAgICAgKytjdXJyZW50SW5saW5lSXRlbUluZGV4OwpA
QCAtNTAzLDggKzUwNyw4IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JM
aW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjCiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoaW5saW5lSXRlbS5pc1RleHQoKSB8fCBp
bmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSB8fCBpbmxpbmVJdGVtLmlzSW5saW5lQm94RW5k
KCkpIHsKLSAgICAgICAgICAgIEFTU0VSVCghbGVhZGluZ0xvZ2ljYWxXaWR0aCB8fCBpbmxpbmVJ
dGVtLmlzVGV4dCgpKTsKLSAgICAgICAgICAgIGF1dG8gbG9naWNhbFdpZHRoID0gbGVhZGluZ0xv
Z2ljYWxXaWR0aCA/ICpzdGQ6OmV4Y2hhbmdlKGxlYWRpbmdMb2dpY2FsV2lkdGgsIHN0ZDo6bnVs
bG9wdCkgOiBpbmxpbmVJdGVtV2lkdGgoaW5saW5lSXRlbSwgY3VycmVudExvZ2ljYWxSaWdodCk7
CisgICAgICAgICAgICBBU1NFUlQoIW1fbGVhZGluZ0xvZ2ljYWxXaWR0aCB8fCBpbmxpbmVJdGVt
LmlzVGV4dCgpKTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbFdpZHRoID0gbV9sZWFkaW5nTG9n
aWNhbFdpZHRoID8gKnN0ZDo6ZXhjaGFuZ2UobV9sZWFkaW5nTG9naWNhbFdpZHRoLCBzdGQ6Om51
bGxvcHQpIDogaW5saW5lSXRlbVdpZHRoKGlubGluZUl0ZW0sIGN1cnJlbnRMb2dpY2FsUmlnaHQp
OwogICAgICAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmFwcGVuZElubGluZUl0
ZW0oaW5saW5lSXRlbSwgc3R5bGUsIGxvZ2ljYWxXaWR0aCk7CiAgICAgICAgICAgICBjdXJyZW50
TG9naWNhbFJpZ2h0ICs9IGxvZ2ljYWxXaWR0aDsKICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXggM2JiYjUzZjVmYjBkZGY4YmIw
ZGM2Y2NmNjUyMDk0NjdiMWM4MDI3My4uYWU1MzI5YjFiZmI3Nzk4MWU4MTAzMWRlOWU3M2MyY2I0
ZjZkMzhmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCkBAIC03Myw3
ICs3Myw3IEBAIHB1YmxpYzoKICAgICBJbnRyaW5zaWNDb250ZW50IGNvbXB1dGVkSW50cmluc2lj
V2lkdGgoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgSW5saW5lTGF5b3V0VW5pdCBhdmFpbGFibGVX
aWR0aCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5l
Q2FuZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdl
JiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3Qgb3ZlcmZsb3dMZW5ndGgsIHN0ZDo6b3B0aW9uYWw8
SW5saW5lTGF5b3V0VW5pdD4gbGVhZGluZ0xvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBj
dXJyZW50TG9naWNhbFJpZ2h0KTsKKyAgICB2b2lkIGNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKExp
bmVDYW5kaWRhdGUmLCBzaXplX3QgaW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFu
Z2UmIG5lZWRzTGF5b3V0UmFuZ2UsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdo
dCk7CiAgICAgc2l6ZV90IG5leHRXcmFwT3Bwb3J0dW5pdHkoc2l6ZV90IHN0YXJ0SW5kZXgsIGNv
bnN0IExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlKSBjb25zdDsKIAog
ICAgIHN0cnVjdCBSZXN1bHQgewpAQCAtOTgsMTMgKzk4LDEzIEBAIHByaXZhdGU6CiAgICAgc2l6
ZV90IHJlYnVpbGRMaW5lKGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwg
Y29uc3QgSW5saW5lSXRlbSYgbGFzdElubGluZUl0ZW1Ub0FkZCk7CiAgICAgc2l6ZV90IHJlYnVp
bGRMaW5lRm9yVHJhaWxpbmdTb2Z0SHlwaGVuKGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0
UmFuZ2UpOwogICAgIHZvaWQgY29tbWl0UGFydGlhbENvbnRlbnQoY29uc3QgSW5saW5lQ29udGVu
dEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW5MaXN0JiwgY29uc3QgSW5saW5lQ29udGVu
dEJyZWFrZXI6OlJlc3VsdDo6UGFydGlhbFRyYWlsaW5nQ29udGVudCYpOwotICAgIHZvaWQgaW5p
dGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWludHMmLCBib29sIGlzRmlyc3RMaW5lKTsKKyAgICB2
b2lkIGluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRzJiwgYm9vbCBpc0ZpcnN0TGluZSwg
c2l6ZV90IGxlYWRpbmdJbmxpbmVUZXh0SXRlbUluZGV4LCBzaXplX3QgcGFydGlhbExlYWRpbmdD
b250ZW50TGVuZ3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGxlYWRpbmdMb2dp
Y2FsV2lkdGgpOwogICAgIHN0cnVjdCBDb21taXR0ZWRDb250ZW50IHsKICAgICAgICAgc2l6ZV90
IGlubGluZUl0ZW1Db3VudCB7IDAgfTsKICAgICAgICAgc2l6ZV90IHBhcnRpYWxUcmFpbGluZ0Nv
bnRlbnRMZW5ndGggeyAwIH07CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5p
dD4gb3ZlcmZsb3dMb2dpY2FsV2lkdGggeyB9OwogICAgIH07Ci0gICAgQ29tbWl0dGVkQ29udGVu
dCBwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgc2l6ZV90IHBhcnRp
YWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBv
dmVyZmxvd0xvZ2ljYWxXaWR0aCk7CisgICAgQ29tbWl0dGVkQ29udGVudCBwbGFjZUlubGluZUNv
bnRlbnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJik7CiAgICAgSW5saW5lSXRlbVJhbmdlIGNsb3Nl
KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgY29uc3QgQ29tbWl0dGVk
Q29udGVudCYpOwogCiAgICAgSW5saW5lTGF5b3V0VW5pdCBpbmxpbmVJdGVtV2lkdGgoY29uc3Qg
SW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0KSBjb25zdDsK
QEAgLTEyOSw2ICsxMjksNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IElubGluZUl0ZW1zJiBtX2lu
bGluZUl0ZW1zOwogICAgIEZsb2F0TGlzdCBtX2Zsb2F0czsKICAgICBzdGQ6Om9wdGlvbmFsPElu
bGluZVRleHRJdGVtPiBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW07CisgICAgc3RkOjpvcHRpb25h
bDxJbmxpbmVMYXlvdXRVbml0PiBtX2xlYWRpbmdMb2dpY2FsV2lkdGg7CiAgICAgVmVjdG9yPGNv
bnN0IElubGluZUl0ZW0qPiBtX3dyYXBPcHBvcnR1bml0eUxpc3Q7CiAgICAgdW5zaWduZWQgbV9z
dWNjZXNzaXZlSHlwaGVuYXRlZExpbmVDb3VudCB7IDAgfTsKICAgICBib29sIG1fY29udGVudElz
Q29uc3RyYWluZWRCeUZsb2F0IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVUZXh0SXRl
bS5oCmluZGV4IGE3MGRkNTM4NTg5NTFiNTM3MGI5ZmEyNjVlYjU4YThmYmYxZjY5NzMuLjQ2YmY4
YTFiMDQxNjBmMzUyYWUyNDM0ZWYzYWEzZTUxODliN2NkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lVGV4dEl0ZW0uaApAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgSW5saW5l
VGV4dEJveCYgaW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0dXJuIGRvd25jYXN0PElubGluZVRl
eHRCb3g+KGxheW91dEJveCgpKTsgfQogCiAgICAgSW5saW5lVGV4dEl0ZW0gbGVmdCh1bnNpZ25l
ZCBsZW5ndGgpIGNvbnN0OwotICAgIElubGluZVRleHRJdGVtIHJpZ2h0KHVuc2lnbmVkIGxlbmd0
aCkgY29uc3Q7CisgICAgSW5saW5lVGV4dEl0ZW0gcmlnaHQodW5zaWduZWQgbGVuZ3RoLCBzdGQ6
Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHdpZHRoKSBjb25zdDsKIAogICAgIHN0YXRpYyBi
b29sIHNob3VsZFByZXNlcnZlU3BhY2VzQW5kVGFicyhjb25zdCBJbmxpbmVUZXh0SXRlbSYpOwog
CkBAIC0xMDgsMTIgKzEwOCwxMiBAQCBpbmxpbmUgSW5saW5lVGV4dEl0ZW0gSW5saW5lVGV4dEl0
ZW06OmxlZnQodW5zaWduZWQgbGVuZ3RoKSBjb25zdAogICAgIHJldHVybiB7IGlubGluZVRleHRC
b3goKSwgc3RhcnQoKSwgbGVuZ3RoLCBmYWxzZSwgaXNXb3JkU2VwYXJhdG9yKCksIHN0ZDo6bnVs
bG9wdCwgbV90ZXh0SXRlbVR5cGUgfTsKIH0KIAotaW5saW5lIElubGluZVRleHRJdGVtIElubGlu
ZVRleHRJdGVtOjpyaWdodCh1bnNpZ25lZCBsZW5ndGgpIGNvbnN0CitpbmxpbmUgSW5saW5lVGV4
dEl0ZW0gSW5saW5lVGV4dEl0ZW06OnJpZ2h0KHVuc2lnbmVkIGxlbmd0aCwgc3RkOjpvcHRpb25h
bDxJbmxpbmVMYXlvdXRVbml0PiB3aWR0aCkgY29uc3QKIHsKICAgICBSRUxFQVNFX0FTU0VSVChs
ZW5ndGggPD0gdGhpcy0+bGVuZ3RoKCkpOwogICAgIEFTU0VSVChtX3RleHRJdGVtVHlwZSAhPSBU
ZXh0SXRlbVR5cGU6OlVuZGVmaW5lZCk7CiAgICAgQVNTRVJUKGxlbmd0aCk7Ci0gICAgcmV0dXJu
IHsgaW5saW5lVGV4dEJveCgpLCBlbmQoKSAtIGxlbmd0aCwgbGVuZ3RoLCBoYXNUcmFpbGluZ1Nv
ZnRIeXBoZW4oKSwgaXNXb3JkU2VwYXJhdG9yKCksIHN0ZDo6bnVsbG9wdCwgbV90ZXh0SXRlbVR5
cGUgfTsKKyAgICByZXR1cm4geyBpbmxpbmVUZXh0Qm94KCksIGVuZCgpIC0gbGVuZ3RoLCBsZW5n
dGgsIGhhc1RyYWlsaW5nU29mdEh5cGhlbigpLCBpc1dvcmRTZXBhcmF0b3IoKSwgd2lkdGgsIG1f
dGV4dEl0ZW1UeXBlIH07CiB9CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441421</attachid>
            <date>2021-10-15 13:48:17 -0700</date>
            <delta_ts>2021-10-16 09:14:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231540-20211015134816.patch</filename>
            <type>text/plain</type>
            <size>14415</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU2ZWYwNTljNmYzZjFm
ZTUxYjk4YjQxNzI3NGYyYzhkMTk4NzE2Mi4uZWZkNTI0ZWViYjgxYjA0ZGJmZmQyOThkMzExYTlk
Y2UzNzcyMTI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEwLTE1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIE1vdmUgb3Zl
cmZsb3dpbmcgY29udGVudCBjcmVhdGlvbiB0byBMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGluZUJ1aWxkZXI6
OmluaXRpYWxpemUgaXMgZ29pbmcgdG8gaGFuZGxlIGFsbCBvdmVyZmxvd2luZyBjb250ZW50IGlu
aXRpYWxpemF0aW9uLgorICAgICAgICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBhZGRpbmcg
c3Bhbm5pbmcgaW5saW5lIGJveCBpdGVtcyB0byB0aGUgbGluZSAodG8gc3VwcG9ydCBib3gtZGVj
b3JhdGlvbi1icmVhazogY2xvbmUpLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjb21wdXRlZEludHJpbnNpY1dpZHRoKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKToK
KyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVp
bGRlci5oOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZVRleHRJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZVRleHRJdGVtOjpy
aWdodCBjb25zdCk6CisKIDIwMjEtMTAtMTQgIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFw
cGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBXQVNNIHRvIHVzZSB1cCB0byA0R0IKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCAwYWZmZDc2YzdlZjc3YmM4M2U5
Y2ZhZWVmMTg0YzhiZTMwNjM4N2M0Li41NTQ4Y2JiOWMxODMwNjZlNjdiMGRiMzZlYTk0ZjMyYzZi
Y2Q3NTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCkBAIC0y
NjYsMTEgKzI2NiwxMSBAQCBMaW5lQnVpbGRlcjo6TGluZUJ1aWxkZXIoY29uc3QgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQmIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LAogewogfQogCi1MaW5lQnVp
bGRlcjo6TGluZUNvbnRlbnQgTGluZUJ1aWxkZXI6OmxheW91dElubGluZUNvbnRlbnQoY29uc3Qg
SW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdD
b250ZW50TGVuZ3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9n
aWNhbFdpZHRoLCBjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBib29s
IGlzRmlyc3RMaW5lKQorTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlv
dXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwg
c2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVM
YXlvdXRVbml0PiBvdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCwgY29uc3QgSW5saW5lUmVjdCYgaW5p
dGlhbExpbmVMb2dpY2FsUmVjdCwgYm9vbCBpc0ZpcnN0TGluZSkKIHsKLSAgICBpbml0aWFsaXpl
KGluaXRpYWxDb25zdHJhaW50c0ZvckxpbmUoaW5pdGlhbExpbmVMb2dpY2FsUmVjdCwgaXNGaXJz
dExpbmUpLCBpc0ZpcnN0TGluZSk7CisgICAgaW5pdGlhbGl6ZShpbml0aWFsQ29uc3RyYWludHNG
b3JMaW5lKGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGlzRmlyc3RMaW5lKSwgaXNGaXJzdExpbmUs
IG5lZWRzTGF5b3V0UmFuZ2Uuc3RhcnQsIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgb3Zl
cmZsb3dpbmdMb2dpY2FsV2lkdGgpOwogCi0gICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxh
Y2VJbmxpbmVDb250ZW50KG5lZWRzTGF5b3V0UmFuZ2UsIHBhcnRpYWxMZWFkaW5nQ29udGVudExl
bmd0aCwgb3ZlcmZsb3dMb2dpY2FsV2lkdGgpOworICAgIGF1dG8gY29tbWl0dGVkQ29udGVudCA9
IHBsYWNlSW5saW5lQ29udGVudChuZWVkc0xheW91dFJhbmdlKTsKICAgICBhdXRvIGNvbW1pdHRl
ZFJhbmdlID0gY2xvc2UobmVlZHNMYXlvdXRSYW5nZSwgY29tbWl0dGVkQ29udGVudCk7CiAKICAg
ICBhdXRvIGlzTGFzdExpbmUgPSBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQoY29tbWl0dGVk
UmFuZ2UsIG5lZWRzTGF5b3V0UmFuZ2UuZW5kLCBjb21taXR0ZWRDb250ZW50LnBhcnRpYWxUcmFp
bGluZ0NvbnRlbnRMZW5ndGgpOwpAQCAtMjg2LDI1ICsyODYsMzMgQEAgTGluZUJ1aWxkZXI6Okxp
bmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0
ZW1SYW5nZSYKIAogTGluZUJ1aWxkZXI6OkludHJpbnNpY0NvbnRlbnQgTGluZUJ1aWxkZXI6OmNv
bXB1dGVkSW50cmluc2ljV2lkdGgoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJh
bmdlLCBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoKQogewotICAgIGluaXRpYWxpemUo
eyB7IHsgfSwgeyBhdmFpbGFibGVXaWR0aCwgbWF4SW5saW5lTGF5b3V0VW5pdCgpIH0gfSwgZmFs
c2UgfSwgZmFsc2UpOwotICAgIGF1dG8gY29tbWl0dGVkQ29udGVudCA9IHBsYWNlSW5saW5lQ29u
dGVudChuZWVkc0xheW91dFJhbmdlLCB7IH0sIHsgfSk7CisgICAgaW5pdGlhbGl6ZSh7IHsgeyB9
LCB7IGF2YWlsYWJsZVdpZHRoLCBtYXhJbmxpbmVMYXlvdXRVbml0KCkgfSB9LCBmYWxzZSB9LCBm
YWxzZSwgeyB9LCB7IH0sIHsgfSk7CisgICAgYXV0byBjb21taXR0ZWRDb250ZW50ID0gcGxhY2VJ
bmxpbmVDb250ZW50KG5lZWRzTGF5b3V0UmFuZ2UpOwogICAgIGF1dG8gY29tbWl0dGVkUmFuZ2Ug
PSBjbG9zZShuZWVkc0xheW91dFJhbmdlLCBjb21taXR0ZWRDb250ZW50KTsKICAgICByZXR1cm4g
eyBjb21taXR0ZWRSYW5nZSwgbV9saW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSwgbV9mbG9hdHMg
fTsKIH0KIAotdm9pZCBMaW5lQnVpbGRlcjo6aW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWlu
dHMmIGxpbmVDb25zdHJhaW50cywgYm9vbCBpc0ZpcnN0TGluZSkKK3ZvaWQgTGluZUJ1aWxkZXI6
OmluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRzJiBsaW5lQ29uc3RyYWludHMsIGJvb2wg
aXNGaXJzdExpbmUsIHNpemVfdCBsZWFkaW5nSW5saW5lVGV4dEl0ZW1JbmRleCwgc2l6ZV90IHBh
cnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiBvdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCkKIHsKICAgICBtX2lzRmlyc3RMaW5lID0gaXNGaXJz
dExpbmU7CiAgICAgbV9mbG9hdHMuY2xlYXIoKTsKLSAgICBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0
ZW0gPSB7IH07CiAgICAgbV93cmFwT3Bwb3J0dW5pdHlMaXN0LmNsZWFyKCk7CiAKICAgICBtX2xp
bmUuaW5pdGlhbGl6ZSgpOwogICAgIG1fbGluZUxvZ2ljYWxSZWN0ID0gbGluZUNvbnN0cmFpbnRz
LmxvZ2ljYWxSZWN0OwogICAgIG1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0ID0gbGluZUNv
bnN0cmFpbnRzLmlzQ29uc3RyYWluZWRCeUZsb2F0OworCisgICAgaWYgKHBhcnRpYWxMZWFkaW5n
Q29udGVudExlbmd0aCkgeworICAgICAgICBBU1NFUlQoIWlzRmlyc3RMaW5lKTsKKyAgICAgICAg
bV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtID0gZG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KG1faW5s
aW5lSXRlbXNbbGVhZGluZ0lubGluZVRleHRJdGVtSW5kZXhdKS5yaWdodChwYXJ0aWFsTGVhZGlu
Z0NvbnRlbnRMZW5ndGgsIG92ZXJmbG93aW5nTG9naWNhbFdpZHRoKTsKKyAgICAgICAgbV9vdmVy
Zmxvd2luZ0xvZ2ljYWxXaWR0aCA9IHsgfTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX3BhcnRp
YWxMZWFkaW5nVGV4dEl0ZW0gPSB7IH07CisgICAgICAgIG1fb3ZlcmZsb3dpbmdMb2dpY2FsV2lk
dGggPSBvdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aDsKKyAgICB9CiB9CiAKLUxpbmVCdWlsZGVyOjpD
b21taXR0ZWRDb250ZW50IExpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQoY29uc3QgSW5s
aW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250
ZW50TGVuZ3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGxlYWRpbmdMb2dpY2Fs
V2lkdGgpCitMaW5lQnVpbGRlcjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJ
bmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSkKIHsK
ICAgICBhdXRvIGxpbmVDYW5kaWRhdGUgPSBMaW5lQ2FuZGlkYXRlIHsgbGF5b3V0U3RhdGUoKS5z
aG91bGRJZ25vcmVUcmFpbGluZ0xldHRlclNwYWNpbmcoKSB9OwogICAgIGF1dG8gaW5saW5lQ29u
dGVudEJyZWFrZXIgPSBJbmxpbmVDb250ZW50QnJlYWtlciB7IH07CkBAIC0zMTYsNyArMzI0LDcg
QEAgTGluZUJ1aWxkZXI6OkNvbW1pdHRlZENvbnRlbnQgTGluZUJ1aWxkZXI6OnBsYWNlSW5saW5l
Q29udGVudChjb25zdCBJbmxpbmVJdGVtUmEKICAgICAgICAgLy8gMi4gQXBwbHkgZmxvYXRzIGFu
ZCBzaHJpbmsgdGhlIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlIGUuZy4gPHNwYW4+aW50cnVf
PGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiPjwvZGl2PnNpdmVfZmxvYXQ8L3NwYW4+LgogICAgICAg
ICAvLyAzLiBDaGVjayBpZiB0aGUgY29udGVudCBmaXRzIHRoZSBsaW5lIGFuZCBjb21taXQgdGhl
IGNvbnRlbnQgYWNjb3JkaW5nbHkgKGZ1bGwsIHBhcnRpYWwgb3Igbm90IGNvbW1pdCBhdCBhbGwp
LgogICAgICAgICAvLyA0LiBSZXR1cm4gaWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUg
ZWl0aGVyIGJ5IG5vdCBiZWluZyBhYmxlIHRvIGZpdCBtb3JlIGNvbnRlbnQgb3IgYmVjYXVzZSBv
ZiBhbiBleHBsaWNpdCBsaW5lIGJyZWFrLgotICAgICAgICBjYW5kaWRhdGVDb250ZW50Rm9yTGlu
ZShsaW5lQ2FuZGlkYXRlLCBjdXJyZW50SXRlbUluZGV4LCBuZWVkc0xheW91dFJhbmdlLCBwYXJ0
aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIHN0ZDo6ZXhjaGFuZ2UobGVhZGluZ0xvZ2ljYWxXaWR0
aCwgc3RkOjpudWxsb3B0KSwgbV9saW5lLmNvbnRlbnRMb2dpY2FsUmlnaHQoKSk7CisgICAgICAg
IGNhbmRpZGF0ZUNvbnRlbnRGb3JMaW5lKGxpbmVDYW5kaWRhdGUsIGN1cnJlbnRJdGVtSW5kZXgs
IG5lZWRzTGF5b3V0UmFuZ2UsIG1fbGluZS5jb250ZW50TG9naWNhbFJpZ2h0KCkpOwogICAgICAg
ICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlzIGNvbnRlbnQgb24gdGhlIGN1cnJlbnQg
bGluZS4KICAgICAgICAgYXV0byByZXN1bHQgPSBSZXN1bHQgeyB9OwogICAgICAgICBpZiAobGlu
ZUNhbmRpZGF0ZS5mbG9hdEl0ZW0pIHsKQEAgLTM1NSw3ICszNjMsNiBAQCBMaW5lQnVpbGRlcjo6
Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElu
bGluZUl0ZW1SYQogICAgICAgICAgICAgcmV0dXJuIHsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50
LCByZXN1bHQucGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCwgcmVzdWx0Lm92ZXJmbG93TG9n
aWNhbFdpZHRoIH07CiAgICAgICAgIH0KICAgICAgICAgY3VycmVudEl0ZW1JbmRleCA9IG5lZWRz
TGF5b3V0UmFuZ2Uuc3RhcnQgKyBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgKyBtX2Zsb2F0cy5z
aXplKCk7Ci0gICAgICAgIHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCA9IHsgfTsKICAgICB9
CiAgICAgLy8gTG9va3MgbGlrZSB3ZSd2ZSBydW4gb3V0IG9mIHJ1bnMuCiAgICAgcmV0dXJuIHsg
Y29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCB7IH0gfTsKQEAgLTQ3MSw3ICs0NzgsNyBAQCBMaW5l
QnVpbGRlcjo6VXNlZENvbnN0cmFpbnRzIExpbmVCdWlsZGVyOjppbml0aWFsQ29uc3RyYWludHNG
b3JMaW5lKGNvbnN0IElubGluZQogICAgIHJldHVybiBVc2VkQ29uc3RyYWludHMgeyB7IGluaXRp
YWxMaW5lTG9naWNhbFJlY3QudG9wKCksIGxpbmVMb2dpY2FsTGVmdCwgbGluZUxvZ2ljYWxSaWdo
dCAtIGxpbmVMb2dpY2FsTGVmdCwgaW5pdGlhbExpbmVMb2dpY2FsUmVjdC5oZWlnaHQoKSB9LCBs
aW5lSXNDb25zdHJhaW5lZEJ5RmxvYXQgfTsKIH0KIAotdm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlk
YXRlQ29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc2l6ZV90IGN1
cnJlbnRJbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2Us
IHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIHN0ZDo6b3B0aW9uYWw8SW5saW5l
TGF5b3V0VW5pdD4gbGVhZGluZ0xvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50
TG9naWNhbFJpZ2h0KQordm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlkYXRlQ29udGVudEZvckxpbmUo
TGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc2l6ZV90IGN1cnJlbnRJbmxpbmVJdGVtSW5k
ZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0UmFuZ2UsIElubGluZUxheW91dFVuaXQg
Y3VycmVudExvZ2ljYWxSaWdodCkKIHsKICAgICBBU1NFUlQoY3VycmVudElubGluZUl0ZW1JbmRl
eCA8IGxheW91dFJhbmdlLmVuZCk7CiAgICAgbGluZUNhbmRpZGF0ZS5yZXNldCgpOwpAQCAtNDgy
LDEyICs0ODksMTEgQEAgdm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlkYXRlQ29udGVudEZvckxpbmUo
TGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc2l6ZV90IGMKICAgICAvLyBzb2Z0V3JhcE9w
cG9ydHVuaXR5SW5kZXggPT0gbGF5b3V0UmFuZ2UuZW5kIG1lYW5zIHdlIGRvbid0IGhhdmUgYW55
IHdyYXAgb3Bwb3J0dW5pdHkgaW4gdGhpcyBjb250ZW50LgogICAgIEFTU0VSVChzb2Z0V3JhcE9w
cG9ydHVuaXR5SW5kZXggPD0gbGF5b3V0UmFuZ2UuZW5kKTsKIAotICAgIGlmIChwYXJ0aWFsTGVh
ZGluZ0NvbnRlbnRMZW5ndGgpIHsKLSAgICAgICAgQVNTRVJUKCFtX2lzRmlyc3RMaW5lKTsKKyAg
ICBhdXRvIGlzTGluZVN0YXJ0ID0gY3VycmVudElubGluZUl0ZW1JbmRleCA9PSBsYXlvdXRSYW5n
ZS5zdGFydDsKKyAgICBpZiAoaXNMaW5lU3RhcnQgJiYgbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVt
KSB7CisgICAgICAgIEFTU0VSVCghbV9vdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCk7CiAgICAgICAg
IC8vIEhhbmRsZSBsZWFkaW5nIHBhcnRpYWwgY29udGVudCBmaXJzdCAob3ZlcmZsb3dpbmcgdGV4
dCBmcm9tIHRoZSBwcmV2aW91cyBsaW5lKS4KLSAgICAgICAgLy8gQ29uc3RydWN0IGEgcGFydGlh
bCBsZWFkaW5nIGlubGluZSBpdGVtLgotICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0g
PSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4obV9pbmxpbmVJdGVtc1tjdXJyZW50SW5saW5lSXRl
bUluZGV4XSkucmlnaHQocGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoKTsKLSAgICAgICAgYXV0
byBpdGVtV2lkdGggPSBsZWFkaW5nTG9naWNhbFdpZHRoID8gKnN0ZDo6ZXhjaGFuZ2UobGVhZGlu
Z0xvZ2ljYWxXaWR0aCwgc3RkOjpudWxsb3B0KSA6IGlubGluZUl0ZW1XaWR0aCgqbV9wYXJ0aWFs
TGVhZGluZ1RleHRJdGVtLCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKKyAgICAgICAgYXV0byBpdGVt
V2lkdGggPSBpbmxpbmVJdGVtV2lkdGgoKm1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSwgY3VycmVu
dExvZ2ljYWxSaWdodCk7CiAgICAgICAgIGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5hcHBl
bmRJbmxpbmVJdGVtKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIG1fcGFydGlhbExlYWRpbmdU
ZXh0SXRlbS0+c3R5bGUoKSwgaXRlbVdpZHRoKTsKICAgICAgICAgY3VycmVudExvZ2ljYWxSaWdo
dCArPSBpdGVtV2lkdGg7CiAgICAgICAgICsrY3VycmVudElubGluZUl0ZW1JbmRleDsKQEAgLTUw
NSw4ICs1MTEsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjpjYW5kaWRhdGVDb250ZW50Rm9yTGluZShM
aW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzaXplX3QgYwogICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlubGluZUl0ZW0uaXNUZXh0KCkgfHwgaW5saW5l
SXRlbS5pc0lubGluZUJveFN0YXJ0KCkgfHwgaW5saW5lSXRlbS5pc0lubGluZUJveEVuZCgpKSB7
Ci0gICAgICAgICAgICBBU1NFUlQoIWxlYWRpbmdMb2dpY2FsV2lkdGggfHwgaW5saW5lSXRlbS5p
c1RleHQoKSk7Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxXaWR0aCA9IGxlYWRpbmdMb2dpY2Fs
V2lkdGggPyAqc3RkOjpleGNoYW5nZShsZWFkaW5nTG9naWNhbFdpZHRoLCBzdGQ6Om51bGxvcHQp
IDogaW5saW5lSXRlbVdpZHRoKGlubGluZUl0ZW0sIGN1cnJlbnRMb2dpY2FsUmlnaHQpOworICAg
ICAgICAgICAgYXV0byBsb2dpY2FsV2lkdGggPSBtX292ZXJmbG93aW5nTG9naWNhbFdpZHRoID8g
KnN0ZDo6ZXhjaGFuZ2UobV9vdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCwgc3RkOjpudWxsb3B0KSA6
IGlubGluZUl0ZW1XaWR0aChpbmxpbmVJdGVtLCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKICAgICAg
ICAgICAgIGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5hcHBlbmRJbmxpbmVJdGVtKGlubGlu
ZUl0ZW0sIHN0eWxlLCBsb2dpY2FsV2lkdGgpOwogICAgICAgICAgICAgY3VycmVudExvZ2ljYWxS
aWdodCArPSBsb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICBpZiAoaXM8SW5saW5lVGV4dEl0ZW0+
KGlubGluZUl0ZW0pICYmIGRvd25jYXN0PElubGluZVRleHRJdGVtPihpbmxpbmVJdGVtKS5pc1dv
cmRTZXBhcmF0b3IoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5k
ZXggM2JiYjUzZjVmYjBkZGY4YmIwZGM2Y2NmNjUyMDk0NjdiMWM4MDI3My4uMTdkZDc0MjgyMDM0
NThmMmM3ZWE5NTEwNmRiODc0ODYwOGU0ZTAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQnVpbGRlci5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICAgICAgc2l6ZV90IG5v
blNwYW5uaW5nSW5saW5lTGV2ZWxCb3hDb3VudCB7IDAgfTsKICAgICAgICAgY29uc3QgTGluZTo6
UnVuTGlzdCYgcnVuczsKICAgICB9OwotICAgIExpbmVDb250ZW50IGxheW91dElubGluZUNvbnRl
bnQoY29uc3QgSW5saW5lSXRlbVJhbmdlJiwgc2l6ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExl
bmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBsZWFkaW5nTG9naWNhbFdpZHRo
LCBjb25zdCBJbmxpbmVSZWN0JiBpbml0aWFsTGluZUxvZ2ljYWxSZWN0LCBib29sIGlzRmlyc3RM
aW5lKTsKKyAgICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0
ZW1SYW5nZSYsIHNpemVfdCBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIHN0ZDo6b3B0aW9u
YWw8SW5saW5lTGF5b3V0VW5pdD4gb3ZlcmZsb3dpbmdMb2dpY2FsV2lkdGgsIGNvbnN0IElubGlu
ZVJlY3QmIGluaXRpYWxMaW5lTG9naWNhbFJlY3QsIGJvb2wgaXNGaXJzdExpbmUpOwogCiAgICAg
c3RydWN0IEludHJpbnNpY0NvbnRlbnQgewogICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgaW5saW5l
SXRlbVJhbmdlOwpAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgSW50cmluc2ljQ29udGVu
dCBjb21wdXRlZEludHJpbnNpY1dpZHRoKGNvbnN0IElubGluZUl0ZW1SYW5nZSYsIElubGluZUxh
eW91dFVuaXQgYXZhaWxhYmxlV2lkdGgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgY2FuZGlkYXRl
Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYsIHNpemVfdCBpbmxpbmVJdGVtSW5kZXgsIGNv
bnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgc2l6ZV90IG92ZXJmbG93TGVu
Z3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGxlYWRpbmdMb2dpY2FsV2lkdGgs
IElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCk7CisgICAgdm9pZCBjYW5kaWRh
dGVDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiwgc2l6ZV90IGlubGluZUl0ZW1JbmRleCwg
Y29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBJbmxpbmVMYXlvdXRVbml0
IGN1cnJlbnRMb2dpY2FsUmlnaHQpOwogICAgIHNpemVfdCBuZXh0V3JhcE9wcG9ydHVuaXR5KHNp
emVfdCBzdGFydEluZGV4LCBjb25zdCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlJiBsYXlv
dXRSYW5nZSkgY29uc3Q7CiAKICAgICBzdHJ1Y3QgUmVzdWx0IHsKQEAgLTk4LDEzICs5OCwxMyBA
QCBwcml2YXRlOgogICAgIHNpemVfdCByZWJ1aWxkTGluZShjb25zdCBJbmxpbmVJdGVtUmFuZ2Um
IG5lZWRzTGF5b3V0UmFuZ2UsIGNvbnN0IElubGluZUl0ZW0mIGxhc3RJbmxpbmVJdGVtVG9BZGQp
OwogICAgIHNpemVfdCByZWJ1aWxkTGluZUZvclRyYWlsaW5nU29mdEh5cGhlbihjb25zdCBJbmxp
bmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlKTsKICAgICB2b2lkIGNvbW1pdFBhcnRpYWxDb250ZW50
KGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuTGlzdCYs
IGNvbnN0IElubGluZUNvbnRlbnRCcmVha2VyOjpSZXN1bHQ6OlBhcnRpYWxUcmFpbGluZ0NvbnRl
bnQmKTsKLSAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgVXNlZENvbnN0cmFpbnRzJiwgYm9vbCBp
c0ZpcnN0TGluZSk7CisgICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IFVzZWRDb25zdHJhaW50cyYs
IGJvb2wgaXNGaXJzdExpbmUsIHNpemVfdCBsZWFkaW5nSW5saW5lVGV4dEl0ZW1JbmRleCwgc2l6
ZV90IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlv
dXRVbml0PiBvdmVyZmxvd2luZ0xvZ2ljYWxXaWR0aCk7CiAgICAgc3RydWN0IENvbW1pdHRlZENv
bnRlbnQgewogICAgICAgICBzaXplX3QgaW5saW5lSXRlbUNvdW50IHsgMCB9OwogICAgICAgICBz
aXplX3QgcGFydGlhbFRyYWlsaW5nQ29udGVudExlbmd0aCB7IDAgfTsKICAgICAgICAgc3RkOjpv
cHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBvdmVyZmxvd0xvZ2ljYWxXaWR0aCB7IH07CiAgICAg
fTsKLSAgICBDb21taXR0ZWRDb250ZW50IHBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmLCBzaXplX3QgcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBzdGQ6Om9wdGlv
bmFsPElubGluZUxheW91dFVuaXQ+IG92ZXJmbG93TG9naWNhbFdpZHRoKTsKKyAgICBDb21taXR0
ZWRDb250ZW50IHBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmKTsKICAg
ICBJbmxpbmVJdGVtUmFuZ2UgY2xvc2UoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91
dFJhbmdlLCBjb25zdCBDb21taXR0ZWRDb250ZW50Jik7CiAKICAgICBJbmxpbmVMYXlvdXRVbml0
IGlubGluZUl0ZW1XaWR0aChjb25zdCBJbmxpbmVJdGVtJiwgSW5saW5lTGF5b3V0VW5pdCBjb250
ZW50TG9naWNhbExlZnQpIGNvbnN0OwpAQCAtMTI5LDYgKzEyOSw3IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgSW5saW5lSXRlbXMmIG1faW5saW5lSXRlbXM7CiAgICAgRmxvYXRMaXN0IG1fZmxvYXRz
OwogICAgIHN0ZDo6b3B0aW9uYWw8SW5saW5lVGV4dEl0ZW0+IG1fcGFydGlhbExlYWRpbmdUZXh0
SXRlbTsKKyAgICBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG1fb3ZlcmZsb3dpbmdM
b2dpY2FsV2lkdGg7CiAgICAgVmVjdG9yPGNvbnN0IElubGluZUl0ZW0qPiBtX3dyYXBPcHBvcnR1
bml0eUxpc3Q7CiAgICAgdW5zaWduZWQgbV9zdWNjZXNzaXZlSHlwaGVuYXRlZExpbmVDb3VudCB7
IDAgfTsKICAgICBib29sIG1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0IHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZVRleHRJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVUZXh0SXRlbS5oCmluZGV4IDk1Y2M3MTcwNWJhM2MxZGIxODNh
ZDNjZjBkZThlYTlmNTFhMzQ1ZGIuLjk3OGU1MWYzYWM2NzE4MzcxOTFiYTc3ZGJhNzk2NjU1YmZh
ZjI2ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lVGV4dEl0ZW0uaApAQCAtNTIsNyArNTIsNyBA
QCBwdWJsaWM6CiAgICAgY29uc3QgSW5saW5lVGV4dEJveCYgaW5saW5lVGV4dEJveCgpIGNvbnN0
IHsgcmV0dXJuIGRvd25jYXN0PElubGluZVRleHRCb3g+KGxheW91dEJveCgpKTsgfQogCiAgICAg
SW5saW5lVGV4dEl0ZW0gbGVmdCh1bnNpZ25lZCBsZW5ndGgpIGNvbnN0OwotICAgIElubGluZVRl
eHRJdGVtIHJpZ2h0KHVuc2lnbmVkIGxlbmd0aCkgY29uc3Q7CisgICAgSW5saW5lVGV4dEl0ZW0g
cmlnaHQodW5zaWduZWQgbGVuZ3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHdp
ZHRoKSBjb25zdDsKIAogICAgIHN0YXRpYyBib29sIHNob3VsZFByZXNlcnZlU3BhY2VzQW5kVGFi
cyhjb25zdCBJbmxpbmVUZXh0SXRlbSYpOwogCkBAIC0xMDgsMTIgKzEwOCwxMiBAQCBpbmxpbmUg
SW5saW5lVGV4dEl0ZW0gSW5saW5lVGV4dEl0ZW06OmxlZnQodW5zaWduZWQgbGVuZ3RoKSBjb25z
dAogICAgIHJldHVybiB7IGlubGluZVRleHRCb3goKSwgc3RhcnQoKSwgbGVuZ3RoLCBmYWxzZSwg
aXNXb3JkU2VwYXJhdG9yKCksIHN0ZDo6bnVsbG9wdCwgbV90ZXh0SXRlbVR5cGUgfTsKIH0KIAot
aW5saW5lIElubGluZVRleHRJdGVtIElubGluZVRleHRJdGVtOjpyaWdodCh1bnNpZ25lZCBsZW5n
dGgpIGNvbnN0CitpbmxpbmUgSW5saW5lVGV4dEl0ZW0gSW5saW5lVGV4dEl0ZW06OnJpZ2h0KHVu
c2lnbmVkIGxlbmd0aCwgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB3aWR0aCkgY29u
c3QKIHsKICAgICBSRUxFQVNFX0FTU0VSVChsZW5ndGggPD0gdGhpcy0+bGVuZ3RoKCkpOwogICAg
IEFTU0VSVChtX3RleHRJdGVtVHlwZSAhPSBUZXh0SXRlbVR5cGU6OlVuZGVmaW5lZCk7CiAgICAg
QVNTRVJUKGxlbmd0aCk7Ci0gICAgcmV0dXJuIHsgaW5saW5lVGV4dEJveCgpLCBlbmQoKSAtIGxl
bmd0aCwgbGVuZ3RoLCBoYXNUcmFpbGluZ1NvZnRIeXBoZW4oKSwgaXNXb3JkU2VwYXJhdG9yKCks
IHN0ZDo6bnVsbG9wdCwgbV90ZXh0SXRlbVR5cGUgfTsKKyAgICByZXR1cm4geyBpbmxpbmVUZXh0
Qm94KCksIGVuZCgpIC0gbGVuZ3RoLCBsZW5ndGgsIGhhc1RyYWlsaW5nU29mdEh5cGhlbigpLCBp
c1dvcmRTZXBhcmF0b3IoKSwgd2lkdGgsIG1fdGV4dEl0ZW1UeXBlIH07CiB9CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>