<?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>234527</bug_id>
          
          <creation_ts>2021-12-20 14:35:26 -0800</creation_ts>
          <short_desc>[LFC][IFC] Display content builder should take Display::Line</short_desc>
          <delta_ts>2021-12-21 09:16:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <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>1825745</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-12-20 14:35:26 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825754</commentid>
    <comment_count>1</comment_count>
      <attachid>447643</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-20 14:48:39 -0800</bug_when>
    <thetext>Created attachment 447643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825755</commentid>
    <comment_count>2</comment_count>
      <attachid>447644</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-20 14:50:05 -0800</bug_when>
    <thetext>Created attachment 447644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826002</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-21 08:02:26 -0800</bug_when>
    <thetext>Committed r287314 (245466@main): &lt;https://commits.webkit.org/245466@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447644.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826003</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-21 08:03:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/86769154&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447643</attachid>
            <date>2021-12-20 14:48:39 -0800</date>
            <delta_ts>2021-12-20 14:50:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234527-20211220144838.patch</filename>
            <type>text/plain</type>
            <size>19117</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA3MTU2MWM4ZmIwNTIx
M2IxNjUxMjM1MzNmNmUzYzA0ODU2NDAxNi4uNTUxMWViYmJiZTg4N2EwZjQ3ZTVhZmY1NGJiMDNm
NmEyYTczNDY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEyLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIERpc3BsYXkg
Y29udGVudCBidWlsZGVyIHNob3VsZCB0YWtlIERpc3BsYXk6OkxpbmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDUyNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgcHJlcGFyYXRpb24gZm9y
IHVzaW5nIERpc3BsYXk6OkxpbmUgdmlzdWFsIGdlb21ldHJpZXMgd2hlbiBjb25zdHJ1Y3Rpbmcg
RGlzcGxheTo6Qm94ZXMgaW4gSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLgorCisgICAgICAg
ICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyOjpidWlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxHZW9tZXRyeUZv
ckRpc3BsYXlCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JF
bGxpcHNpcyk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaDoKKyAgICAgICAgKiBsYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6
YnVpbGQpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNv
dmVyYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpjYW5Vc2VG
b3JTdHlsZSk6CisKIDIwMjEtMTItMjAgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdW0lGQ10gRGVjb3VwbGUgTGluZUJveCBhbmQgSW5saW5lRGlzcGxheTpM
aW5lIGNvbnN0cnVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCmluZGV4IDUyZTIwZGIwMTgyMzk2NThiZTAzZWMzMzRmZTY2ZDRkMDZhM2U0
ODIuLmNjNjVmY2ZiMGI3ZTVlNDk3ZTkwMWUzNzFmYWI5ZDlhOWQ4MjIxN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTU1MiwxNyAr
NTUyLDIyIEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9t
ZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgYXV0byYgZm9ybWF0dGluZ1N0
YXRlID0gdGhpcy0+Zm9ybWF0dGluZ1N0YXRlKCk7CiAgICAgYXV0byBjdXJyZW50TGluZUluZGV4
ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVzKCkuc2l6ZSgpOwogCi0gICAgYXV0byBsaW5lQm94QW5k
SGVpZ2h0ID0gTGluZUJveEJ1aWxkZXIoKnRoaXMpLmJ1aWxkKGxpbmVDb250ZW50LCBjdXJyZW50
TGluZUluZGV4KTsKLQotICAgIGF1dG8gZGlzcGxheUxpbmUgPSBJbmxpbmVEaXNwbGF5TGluZUJ1
aWxkZXIoKnRoaXMpLmJ1aWxkKGxpbmVDb250ZW50LCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3gs
IGxpbmVCb3hBbmRIZWlnaHQubGluZUJveExvZ2ljYWxIZWlnaHQsIGN1cnJlbnRMaW5lSW5kZXgp
OwotICAgIGF1dG8gZGlzcGxheUxpbmVCb3hSZWN0ID0gZGlzcGxheUxpbmUubGluZUJveFJlY3Qo
KTsKLQotICAgIGF1dG8gaW5saW5lQ29udGVudEJ1aWxkZXIgPSBJbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIgeyByb290KCksIGZvcm1hdHRpbmdTdGF0ZSB9OwotICAgIGZvcm1hdHRpbmdTdGF0
ZS5hZGRCb3hlcyhpbmxpbmVDb250ZW50QnVpbGRlci5idWlsZChsaW5lQ29udGVudCwgbGluZUJv
eEFuZEhlaWdodC5saW5lQm94LCBkaXNwbGF5TGluZUJveFJlY3QsIGN1cnJlbnRMaW5lSW5kZXgp
KTsKKyAgICBhdXRvIGxpbmVCb3hBbmRIZWlnaHQgPSBMaW5lQm94QnVpbGRlciB7ICp0aGlzIH0u
YnVpbGQobGluZUNvbnRlbnQsIGN1cnJlbnRMaW5lSW5kZXgpOworCisgICAgYXV0byBkaXNwbGF5
TGluZSA9IElubGluZURpc3BsYXlMaW5lQnVpbGRlciB7ICp0aGlzIH0uYnVpbGQobGluZUNvbnRl
bnQKKyAgICAgICAgLCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3gKKyAgICAgICAgLCBsaW5lQm94
QW5kSGVpZ2h0LmxpbmVCb3hMb2dpY2FsSGVpZ2h0CisgICAgICAgICwgY3VycmVudExpbmVJbmRl
eAorICAgICk7CisgICAgZm9ybWF0dGluZ1N0YXRlLmFkZEJveGVzKElubGluZURpc3BsYXlDb250
ZW50QnVpbGRlciB7IHJvb3QoKSwgZm9ybWF0dGluZ1N0YXRlIH0uYnVpbGQobGluZUNvbnRlbnQK
KyAgICAgICAgLCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3gKKyAgICAgICAgLCBkaXNwbGF5TGlu
ZQorICAgICAgICAsIGN1cnJlbnRMaW5lSW5kZXgpCisgICAgKTsKICAgICBmb3JtYXR0aW5nU3Rh
dGUuYWRkTGluZUJveChXVEZNb3ZlKGxpbmVCb3hBbmRIZWlnaHQubGluZUJveCkpOwogICAgIGZv
cm1hdHRpbmdTdGF0ZS5hZGRMaW5lKGRpc3BsYXlMaW5lKTsKIAotICAgIHJldHVybiBkaXNwbGF5
TGluZUJveFJlY3Q7CisgICAgcmV0dXJuIGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpLmxhc3QoKS5s
aW5lQm94UmVjdCgpOwogfQogCiB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjppbnZhbGlk
YXRlRm9ybWF0dGluZ1N0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCAxN2JhYzdjNWRl
YzE1MmUzYzZjZWZiZmM3ZWY3YWM0NWVmYTg2ZDI5Li4yNmZlMDkyOTcyZDRmYmQ5MzVlMzA4NjA1
MTU5MWI5MjAxOTViOWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCkBAIC04NywyMyArODcsMjQg
QEAgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXIoY29uc3QgQ29udGFpbmVyQm94JiBmb3IKIHsKIH0KIAotRGlzcGxheUJveGVzIElubGluZURp
c3BsYXlDb250ZW50QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50
JiBsaW5lQ29udGVudCwgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgSW5saW5lUmVjdCYg
bGluZUJveExvZ2ljYWxSZWN0LCBjb25zdCBzaXplX3QgbGluZUluZGV4KQorRGlzcGxheUJveGVz
IElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6Okxp
bmVDb250ZW50JiBsaW5lQ29udGVudCwgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgSW5s
aW5lRGlzcGxheTo6TGluZSBkaXNwbGF5TGluZSwgY29uc3Qgc2l6ZV90IGxpbmVJbmRleCkKIHsK
ICAgICBEaXNwbGF5Qm94ZXMgYm94ZXM7CiAgICAgYm94ZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShsaW5lQ29udGVudC5ydW5zLnNpemUoKSArIGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94
ZXMoKS5zaXplKCkgKyAxKTsKIAogICAgIG1fbGluZUluZGV4ID0gbGluZUluZGV4OworICAgIGF1
dG8gbGluZUJveFJlY3QgPSBkaXNwbGF5TGluZS5saW5lQm94UmVjdCgpOwogICAgIC8vIEV2ZXJ5
IGxpbmUgc3RhcnRzIHdpdGggYSByb290IGJveCwgZXZlbiB0aGUgZW1wdHkgb25lcy4KICAgICBh
dXRvIHJvb3RJbmxpbmVCb3hSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdEZvclJvb3RJbmxpbmVC
b3goKTsKLSAgICByb290SW5saW5lQm94UmVjdC5tb3ZlQnkobGluZUJveExvZ2ljYWxSZWN0LnRv
cExlZnQoKSk7CisgICAgcm9vdElubGluZUJveFJlY3QubW92ZUJ5KGxpbmVCb3hSZWN0LnRvcExl
ZnQoKSk7CiAgICAgYm94ZXMuYXBwZW5kKHsgbV9saW5lSW5kZXgsIElubGluZURpc3BsYXk6OkJv
eDo6VHlwZTo6Um9vdElubGluZUJveCwgcm9vdCgpLCBVQklESV9ERUZBVUxUX0xUUiwgcm9vdElu
bGluZUJveFJlY3QsIHJvb3RJbmxpbmVCb3hSZWN0LCB7IH0sIHsgfSwgbGluZUJveC5yb290SW5s
aW5lQm94KCkuaGFzQ29udGVudCgpIH0pOwogCiAgICAgYXV0byBjb250ZW50TmVlZHNCaWRpUmVv
cmRlcmluZyA9ICFsaW5lQ29udGVudC52aXN1YWxPcmRlckxpc3QuaXNFbXB0eSgpOwogICAgIGlm
IChjb250ZW50TmVlZHNCaWRpUmVvcmRlcmluZykKLSAgICAgICAgcHJvY2Vzc0JpZGlDb250ZW50
KGxpbmVDb250ZW50LCBsaW5lQm94LCBsaW5lQm94TG9naWNhbFJlY3QudG9wTGVmdCgpLCBib3hl
cyk7CisgICAgICAgIHByb2Nlc3NCaWRpQ29udGVudChsaW5lQ29udGVudCwgbGluZUJveCwgbGlu
ZUJveFJlY3QudG9wTGVmdCgpLCBib3hlcyk7CiAgICAgZWxzZQotICAgICAgICBwcm9jZXNzTm9u
QmlkaUNvbnRlbnQobGluZUNvbnRlbnQsIGxpbmVCb3gsIGxpbmVCb3hMb2dpY2FsUmVjdC50b3BM
ZWZ0KCksIGJveGVzKTsKLSAgICBwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKGJveGVz
LCBsaW5lQm94TG9naWNhbFJlY3QucmlnaHQoKSk7CisgICAgICAgIHByb2Nlc3NOb25CaWRpQ29u
dGVudChsaW5lQ29udGVudCwgbGluZUJveCwgbGluZUJveFJlY3QudG9wTGVmdCgpLCBib3hlcyk7
CisgICAgcHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhib3hlcywgbGluZUJveFJlY3Qu
cmlnaHQoKSk7CiAgICAgY29sbGVjdElua092ZXJmbG93Rm9ySW5saW5lQm94ZXMoYm94ZXMpOwog
ICAgIHJldHVybiBib3hlczsKIH0KQEAgLTMxNiw3ICszMTcsNyBAQCB2b2lkIElubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlcjo6YXBwZW5kSW5saW5lRGlzcGxheUJveEF0QmlkaUJvdW5kYXJ5KGNv
bnN0IEJveAogICAgIH0pOwogfQogCi12b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
cHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGlu
ZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IElubGluZUxheW91dFBvaW50
JiBsaW5lQm94TG9naWNhbFRvcExlZnQsIERpc3BsYXlCb3hlcyYgYm94ZXMpCit2b2lkIElubGlu
ZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVC
dWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gmIGxpbmVCb3gs
IGNvbnN0IElubGluZUxheW91dFBvaW50JiBsaW5lQm94VG9wTGVmdCwgRGlzcGxheUJveGVzJiBi
b3hlcykKIHsKICAgICBhdXRvIHJvb3RJbmxpbmVCb3hXaWR0aCA9IGxpbmVCb3gubG9naWNhbFJl
Y3RGb3JSb290SW5saW5lQm94KCkud2lkdGgoKTsKICAgICBhdXRvIHJvb3RJbmxpbmVCb3hBbGln
bm1lbnRPZmZzZXQgPSBsaW5lQm94LnJvb3RJbmxpbmVCb3hBbGlnbm1lbnRPZmZzZXQoKTsKQEAg
LTMyOCw3ICszMjksNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vz
c05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQwogICAgICAgICBhdXRvIHZp
c3VhbFJlY3RSZWxhdGl2ZVRvUm9vdCA9IFsmXShhdXRvIGxvZ2ljYWxSZWN0KSB7CiAgICAgICAg
ICAgICAvLyBXaGVuIHRoZSBsb2dpY2FsIG9yZGVyID09IHZpc3VhbCBvcmRlciwgUlRMIGlubGlu
ZSBkaXJlY3Rpb24gaXMganVzdCBhbiBvZmZzZXQuCiAgICAgICAgICAgICBhdXRvIGhvcml6b250
YWxPZmZzZXQgPSBuZWVkc0RpcmVjdGlvbkFkanVzdG1lbnQgPyBsaW5lQ29udGVudC5saW5lTG9n
aWNhbFdpZHRoIC0gcm9vdElubGluZUJveFdpZHRoIC0gcm9vdElubGluZUJveEFsaWdubWVudE9m
ZnNldCA6IHJvb3RJbmxpbmVCb3hBbGlnbm1lbnRPZmZzZXQ7Ci0gICAgICAgICAgICBsb2dpY2Fs
UmVjdC5tb3ZlQnkoeyBsaW5lQm94TG9naWNhbFRvcExlZnQueCgpICsgaG9yaXpvbnRhbE9mZnNl
dCwgbGluZUJveExvZ2ljYWxUb3BMZWZ0LnkoKSB9KTsKKyAgICAgICAgICAgIGxvZ2ljYWxSZWN0
Lm1vdmVCeSh7IGxpbmVCb3hUb3BMZWZ0LngoKSArIGhvcml6b250YWxPZmZzZXQsIGxpbmVCb3hU
b3BMZWZ0LnkoKSB9KTsKICAgICAgICAgICAgIHJldHVybiBsb2dpY2FsUmVjdDsKICAgICAgICAg
fTsKIApAQCAtNDU3LDcgKzQ1OCw3IEBAIHN0cnVjdCBJc0ZpcnN0TGFzdEluZGV4IHsKICAgICBz
dGQ6Om9wdGlvbmFsPHNpemVfdD4gbGFzdDsKIH07CiB1c2luZyBJc0ZpcnN0TGFzdEluZGV4ZXNN
YXAgPSBIYXNoTWFwPGNvbnN0IEJveCosIElzRmlyc3RMYXN0SW5kZXg+Owotdm9pZCBJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChz
aXplX3QgZGlzcGxheUJveE5vZGVJbmRleCwgSW5saW5lTGF5b3V0VW5pdCYgY29udGVudFJpZ2h0
SW5WaXN1YWxPcmRlciwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFRvcCwgY29uc3Qg
RGlzcGxheUJveFRyZWUmIGRpc3BsYXlCb3hUcmVlLCBEaXNwbGF5Qm94ZXMmIGJveGVzLCBjb25z
dCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBJc0ZpcnN0TGFzdEluZGV4ZXNNYXAmIGlzRmlyc3RM
YXN0SW5kZXhlc01hcCkKK3ZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RW
aXN1YWxHZW9tZXRyeUZvckRpc3BsYXlCb3goc2l6ZV90IGRpc3BsYXlCb3hOb2RlSW5kZXgsIElu
bGluZUxheW91dFVuaXQmIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIElubGluZUxheW91dFVu
aXQgbGluZUJveFRvcCwgY29uc3QgRGlzcGxheUJveFRyZWUmIGRpc3BsYXlCb3hUcmVlLCBEaXNw
bGF5Qm94ZXMmIGJveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBJc0ZpcnN0TGFz
dEluZGV4ZXNNYXAmIGlzRmlyc3RMYXN0SW5kZXhlc01hcCkKIHsKICAgICAvLyBOb24taW5saW5l
IGJveCBkaXNwbGF5IGJveGVzIGp1c3QgbmVlZCBhIGhvcml6b250YWwgYWRqdXN0bWVudCB3aGls
ZQogICAgIC8vIGlubGluZSBib3ggdHlwZSBvZiBkaXNwbGF5IGJveGVzIG5lZWQKQEAgLTQ5Miw3
ICs0OTMsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YWRqdXN0VmlzdWFs
R2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNwbAogICAgIGF1dG8gaXNMYXN0Qm94ID0g
aXNGaXJzdExhc3RJbmRleGVzLmxhc3QgJiYgKmlzRmlyc3RMYXN0SW5kZXhlcy5sYXN0ID09IGRp
c3BsYXlCb3hOb2RlSW5kZXg7CiAgICAgYXV0byBiZWZvcmVJbmxpbmVCb3hDb250ZW50ID0gWyZd
IHsKICAgICAgICAgYXV0byBsb2dpY2FsUmVjdCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZv
cklubGluZUJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKLSAgICAgICAgYXV0byB2aXN1YWxS
ZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVCb3hMb2dpY2FsVG9wICsgbG9naWNhbFJlY3QudG9wKCks
IGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIHsgfSwgbG9naWNhbFJlY3QuaGVpZ2h0KCkgfTsK
KyAgICAgICAgYXV0byB2aXN1YWxSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVCb3hUb3AgKyBsb2dp
Y2FsUmVjdC50b3AoKSwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgeyB9LCBsb2dpY2FsUmVj
dC5oZWlnaHQoKSB9OwogICAgICAgICBhdXRvIHNob3VsZEFwcGx5TGVmdFNpZGUgPSAoaXNMZWZ0
VG9SaWdodERpcmVjdGlvbiAmJiBpc0ZpcnN0Qm94KSB8fCAoIWlzTGVmdFRvUmlnaHREaXJlY3Rp
b24gJiYgaXNMYXN0Qm94KTsKICAgICAgICAgaWYgKCFzaG91bGRBcHBseUxlZnRTaWRlKQogICAg
ICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3guc2V0UmVjdCh2aXN1YWxSZWN0LCB2aXN1YWxSZWN0
KTsKQEAgLTUwNSw3ICs1MDYsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNwbAogICAgIGJlZm9y
ZUlubGluZUJveENvbnRlbnQoKTsKIAogICAgIGZvciAoYXV0byBjaGlsZERpc3BsYXlCb3hOb2Rl
SW5kZXggOiBkaXNwbGF5Qm94VHJlZS5hdChkaXNwbGF5Qm94Tm9kZUluZGV4KS5jaGlsZHJlbikK
LSAgICAgICAgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KGNoaWxkRGlzcGxheUJv
eE5vZGVJbmRleCwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgbGluZUJveExvZ2ljYWxUb3As
IGRpc3BsYXlCb3hUcmVlLCBib3hlcywgbGluZUJveCwgaXNGaXJzdExhc3RJbmRleGVzTWFwKTsK
KyAgICAgICAgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KGNoaWxkRGlzcGxheUJv
eE5vZGVJbmRleCwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgbGluZUJveFRvcCwgZGlzcGxh
eUJveFRyZWUsIGJveGVzLCBsaW5lQm94LCBpc0ZpcnN0TGFzdEluZGV4ZXNNYXApOwogCiAgICAg
YXV0byBhZnRlcklubGluZUJveENvbnRlbnQgPSBbJl0gewogICAgICAgICBhdXRvIHNob3VsZEFw
cGx5UmlnaHRTaWRlID0gKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24gJiYgaXNMYXN0Qm94KSB8fCAo
IWlzTGVmdFRvUmlnaHREaXJlY3Rpb24gJiYgaXNGaXJzdEJveCk7CkBAIC01MzAsNyArNTMxLDcg
QEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdlb21ldHJ5
Rm9yRGlzcGxheUJveChzaXplX3QgZGlzcGwKICAgICAgICAgZGlzcGxheUJveC5zZXRIYXNDb250
ZW50KCk7CiB9CiAKLXZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlk
aUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCwgY29u
c3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgSW5saW5lTGF5b3V0UG9pbnQmIGxpbmVCb3hMb2dp
Y2FsVG9wTGVmdCwgRGlzcGxheUJveGVzJiBib3hlcykKK3ZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250
ZW50JiBsaW5lQ29udGVudCwgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgSW5saW5lTGF5
b3V0UG9pbnQmIGxpbmVCb3hUb3BMZWZ0LCBEaXNwbGF5Qm94ZXMmIGJveGVzKQogewogICAgIEFT
U0VSVChsaW5lQ29udGVudC52aXN1YWxPcmRlckxpc3Quc2l6ZSgpIDw9IGxpbmVDb250ZW50LnJ1
bnMuc2l6ZSgpKTsKIApAQCAtNTU5LDcgKzU2MCw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250
CiAKICAgICAgICAgICAgIGF1dG8gdmlzdWFsUmVjdFJlbGF0aXZlVG9Sb290ID0gWyZdKGF1dG8g
bG9naWNhbFJlY3QpIHsKICAgICAgICAgICAgICAgICBsb2dpY2FsUmVjdC5zZXRMZWZ0KGNvbnRl
bnRSaWdodEluVmlzdWFsT3JkZXIpOwotICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0Lm1vdmVC
eShsaW5lQm94TG9naWNhbFRvcExlZnQpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxSZWN0Lm1v
dmVCeShsaW5lQm94VG9wTGVmdCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ2ljYWxSZWN0
OwogICAgICAgICAgICAgfTsKIApAQCAtNjM3LDE2ICs2MzgsMTYgQEAgdm9pZCBJbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6
TGluZUNvbnQKICAgICAgICAgY29tcHV0ZUlzRmlyc3RJc0xhc3RCb3goKTsKIAogICAgICAgICBh
dXRvIGFkanVzdFZpc3VhbEdlb21ldHJ5V2l0aElubGluZUJveGVzID0gWyZdIHsKLSAgICAgICAg
ICAgIGF1dG8gY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciA9IGxpbmVCb3hMb2dpY2FsVG9wTGVm
dC54KCkgKyBjb250ZW50U3RhcnRJblZpc3VhbE9yZGVyOworICAgICAgICAgICAgYXV0byBjb250
ZW50UmlnaHRJblZpc3VhbE9yZGVyID0gbGluZUJveFRvcExlZnQueCgpICsgY29udGVudFN0YXJ0
SW5WaXN1YWxPcmRlcjsKIAogICAgICAgICAgICAgZm9yIChhdXRvIGNoaWxkRGlzcGxheUJveE5v
ZGVJbmRleCA6IGRpc3BsYXlCb3hUcmVlLnJvb3QoKS5jaGlsZHJlbikKLSAgICAgICAgICAgICAg
ICBhZGp1c3RWaXN1YWxHZW9tZXRyeUZvckRpc3BsYXlCb3goY2hpbGREaXNwbGF5Qm94Tm9kZUlu
ZGV4LCBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyLCBsaW5lQm94TG9naWNhbFRvcExlZnQueSgp
LCBkaXNwbGF5Qm94VHJlZSwgYm94ZXMsIGxpbmVCb3gsIGlzRmlyc3RMYXN0SW5kZXhlc01hcCk7
CisgICAgICAgICAgICAgICAgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KGNoaWxk
RGlzcGxheUJveE5vZGVJbmRleCwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgbGluZUJveFRv
cExlZnQueSgpLCBkaXNwbGF5Qm94VHJlZSwgYm94ZXMsIGxpbmVCb3gsIGlzRmlyc3RMYXN0SW5k
ZXhlc01hcCk7CiAgICAgICAgIH07CiAgICAgICAgIGFkanVzdFZpc3VhbEdlb21ldHJ5V2l0aElu
bGluZUJveGVzKCk7CiAgICAgfQogfQogCi12b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRl
cjo6cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhEaXNwbGF5Qm94ZXMmIGJveGVzLCBJ
bmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsUmlnaHQpCit2b2lkIElubGluZURpc3BsYXlD
b250ZW50QnVpbGRlcjo6cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhEaXNwbGF5Qm94
ZXMmIGJveGVzLCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hSaWdodCkKIHsKICAgICBpZiAocm9v
dCgpLnN0eWxlKCkudGV4dE92ZXJmbG93KCkgIT0gVGV4dE92ZXJmbG93OjpFbGxpcHNpcykKICAg
ICAgICAgcmV0dXJuOwpAQCAtNjU0LDggKzY1NSw4IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjpwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKERpc3BsYXlCb3hlcyYK
ICAgICBBU1NFUlQocm9vdElubGluZUJveC5pc1Jvb3RJbmxpbmVCb3goKSk7CiAKICAgICBhdXRv
IHJvb3RJbmxpbmVCb3hSZWN0ID0gcm9vdElubGluZUJveC5yZWN0KCk7Ci0gICAgaWYgKHJvb3RJ
bmxpbmVCb3hSZWN0LnJpZ2h0KCkgPD0gbGluZUJveExvZ2ljYWxSaWdodCkgewotICAgICAgICBB
U1NFUlQoYm94ZXMubGFzdCgpLnJpZ2h0KCkgPD0gbGluZUJveExvZ2ljYWxSaWdodCk7CisgICAg
aWYgKHJvb3RJbmxpbmVCb3hSZWN0LnJpZ2h0KCkgPD0gbGluZUJveFJpZ2h0KSB7CisgICAgICAg
IEFTU0VSVChib3hlcy5sYXN0KCkucmlnaHQoKSA8PSBsaW5lQm94UmlnaHQpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC02NjcsNyArNjY4LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlzcGxheUJveGVz
JgogICAgIGZvciAoYXV0byBpbmRleCA9IGJveGVzLnNpemUoKTsgaW5kZXgtLTspIHsKICAgICAg
ICAgYXV0byYgZGlzcGxheUJveCA9IGJveGVzW2luZGV4XTsKIAotICAgICAgICBpZiAoZGlzcGxh
eUJveC5sZWZ0KCkgPj0gbGluZUJveExvZ2ljYWxSaWdodCkgeworICAgICAgICBpZiAoZGlzcGxh
eUJveC5sZWZ0KCkgPj0gbGluZUJveFJpZ2h0KSB7CiAgICAgICAgICAgICAvLyBGdWxseSBvdmVy
Zmxvd24gYm94ZXMgYXJlIGNvbGxhcHNlZC4KICAgICAgICAgICAgIGRpc3BsYXlCb3gudHJ1bmNh
dGUoKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNjc2LDcgKzY3Nyw3IEBAIHZvaWQgSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lz
KERpc3BsYXlCb3hlcyYKICAgICAgICAgLy8gV2Uga2VlcCB0cnVuY2F0aW5nIGNvbnRlbnQgdW50
aWwgYWZ0ZXIgd2UgY2FuIGFjY29tbW9kYXRlIHRoZSBlbGxpcHNpcyBjb250ZW50CiAgICAgICAg
IC8vIDEuIGZ1bGx5IHRydW5jYXRlIGluIGNhc2Ugb2YgaW5saW5lIGxldmVsIGJveGVzIChpZSBu
b24tdGV4dCBjb250ZW50KSBvciBpZiBlbGxpcHNpcyBjb250ZW50IGlzIHdpZGVyIHRoYW4gdGhl
IG92ZXJmbG93aW5nIG9uZS4KICAgICAgICAgLy8gMi4gcGFydGlhbGx5IHRydW5jYXRlZCB0byBt
YWtlIHJvb20gZm9yIHRoZSBlbGxpcHNpcyBib3guCi0gICAgICAgIGF1dG8gYXZhaWxhYmxlUm9v
bUZvckVsbGlwc2lzID0gbGluZUJveExvZ2ljYWxSaWdodCAtIGRpc3BsYXlCb3gubGVmdCgpOwor
ICAgICAgICBhdXRvIGF2YWlsYWJsZVJvb21Gb3JFbGxpcHNpcyA9IGxpbmVCb3hSaWdodCAtIGRp
c3BsYXlCb3gubGVmdCgpOwogICAgICAgICBpZiAoYXZhaWxhYmxlUm9vbUZvckVsbGlwc2lzIDw9
IGVsbGlwc2lzV2lkdGgpIHsKICAgICAgICAgICAgIC8vIENhbid0IGFjY29tbW9kYXRlIHRoZSBl
bGxpcHNpcyBjb250ZW50IGhlcmUuIFdlIG5lZWQgdG8gdHJ1bmNhdGUgbm9uLW92ZXJmbG93aW5n
IGJveGVzIHRvby4KICAgICAgICAgICAgIGRpc3BsYXlCb3gudHJ1bmNhdGUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3Bs
YXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVp
bGRlci5oCmluZGV4IGExZmZiYjU4Y2ZlNWQ4MDhjMWE0MTg3ZWI0YjdmODNhNjc0MGZhYWYuLmNi
N2EzM2RlODZlZjI5NDI1OWIwZDE4NmMzYmVmZTU1OTFjYjhmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIu
aApAQCAtNDQsMTQgKzQ0LDE0IEBAIGNsYXNzIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlciB7
CiBwdWJsaWM6CiAgICAgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyKGNvbnN0IENvbnRhaW5l
ckJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290LCBJbmxpbmVGb3JtYXR0aW5nU3RhdGUmKTsKIAot
ICAgIERpc3BsYXlCb3hlcyBidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmLCBj
b25zdCBMaW5lQm94JiwgY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxSZWN0LCBjb25z
dCBzaXplX3QgbGluZUluZGV4KTsKKyAgICBEaXNwbGF5Qm94ZXMgYnVpbGQoY29uc3QgTGluZUJ1
aWxkZXI6OkxpbmVDb250ZW50JiwgY29uc3QgTGluZUJveCYsIGNvbnN0IElubGluZURpc3BsYXk6
OkxpbmUgZGlzcGxheUxpbmUsIGNvbnN0IHNpemVfdCBsaW5lSW5kZXgpOwogCiAgICAgc3RhdGlj
IHZvaWQgY29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJbmxpbmVDb250ZW50KERpc3BsYXlCb3hl
cyYpOwogCiBwcml2YXRlOgotICAgIHZvaWQgcHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExp
bmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIGNvbnN0IExpbmVCb3gmLCBjb25zdCBJbmxpbmVMYXlv
dXRQb2ludCYgbGluZUJveExvZ2ljYWxUb3BMZWZ0LCBEaXNwbGF5Qm94ZXMmKTsKLSAgICB2b2lk
IHByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmLCBjb25z
dCBMaW5lQm94JiwgY29uc3QgSW5saW5lTGF5b3V0UG9pbnQmIGxpbmVCb3hMb2dpY2FsVG9wTGVm
dCwgRGlzcGxheUJveGVzJik7Ci0gICAgdm9pZCBwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlw
c2lzKERpc3BsYXlCb3hlcyYsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxSaWdodCk7
CisgICAgdm9pZCBwcm9jZXNzTm9uQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVD
b250ZW50JiwgY29uc3QgTGluZUJveCYsIGNvbnN0IElubGluZUxheW91dFBvaW50JiBsaW5lQm94
VG9wTGVmdCwgRGlzcGxheUJveGVzJik7CisgICAgdm9pZCBwcm9jZXNzQmlkaUNvbnRlbnQoY29u
c3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiwgY29uc3QgTGluZUJveCYsIGNvbnN0IElubGlu
ZUxheW91dFBvaW50JiBsaW5lQm94VG9wTGVmdCwgRGlzcGxheUJveGVzJik7CisgICAgdm9pZCBw
cm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKERpc3BsYXlCb3hlcyYsIElubGluZUxheW91
dFVuaXQgbGluZUJveFJpZ2h0KTsKICAgICB2b2lkIGNvbGxlY3RJbmtPdmVyZmxvd0ZvcklubGlu
ZUJveGVzKERpc3BsYXlCb3hlcyYpOwogCiAgICAgdm9pZCBhcHBlbmRUZXh0RGlzcGxheUJveChj
b25zdCBMaW5lOjpSdW4mLCBjb25zdCBJbmxpbmVSZWN0JiwgRGlzcGxheUJveGVzJik7CkBAIC02
Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhcHBlbmRJbmxpbmVEaXNwbGF5Qm94QXRC
aWRpQm91bmRhcnkoY29uc3QgQm94JiwgRGlzcGxheUJveGVzJik7CiAKICAgICB2b2lkIHNldElu
bGluZUJveEdlb21ldHJ5KGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBib29sIGlzRmly
c3RJbmxpbmVCb3hGcmFnbWVudCk7Ci0gICAgdm9pZCBhZGp1c3RWaXN1YWxHZW9tZXRyeUZvckRp
c3BsYXlCb3goc2l6ZV90IGRpc3BsYXlCb3hOb2RlSW5kZXgsIElubGluZUxheW91dFVuaXQmIGFj
Y3VtdWxhdGVkT2Zmc2V0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsVG9wLCBjb25z
dCBEaXNwbGF5Qm94VHJlZSYsIERpc3BsYXlCb3hlcyYsIGNvbnN0IExpbmVCb3gmLCBjb25zdCBI
YXNoTWFwPGNvbnN0IEJveCosIElzRmlyc3RMYXN0SW5kZXg+Jik7CisgICAgdm9pZCBhZGp1c3RW
aXN1YWxHZW9tZXRyeUZvckRpc3BsYXlCb3goc2l6ZV90IGRpc3BsYXlCb3hOb2RlSW5kZXgsIElu
bGluZUxheW91dFVuaXQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVC
b3hUb3AsIGNvbnN0IERpc3BsYXlCb3hUcmVlJiwgRGlzcGxheUJveGVzJiwgY29uc3QgTGluZUJv
eCYsIGNvbnN0IEhhc2hNYXA8Y29uc3QgQm94KiwgSXNGaXJzdExhc3RJbmRleD4mKTsKICAgICBz
aXplX3QgZW5zdXJlRGlzcGxheUJveEZvckNvbnRhaW5lcihjb25zdCBDb250YWluZXJCb3gmLCBE
aXNwbGF5Qm94VHJlZSYsIEFuY2VzdG9yU3RhY2smLCBEaXNwbGF5Qm94ZXMmKTsKIAogICAgIGNv
bnN0IENvbnRhaW5lckJveCYgcm9vdCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybWF0dGluZ0NvbnRl
eHRSb290OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGlu
ZURpc3BsYXlMaW5lQnVpbGRlci5jcHAKaW5kZXggZWJlOGI2ZWE3NDIyNjcyOGU3YzlhM2Q2NzYz
NDEyNzdmYTFhYWMwYS4uMmU3Y2YzMjc3OWUwYWRhNTc5YTJiNGM1MjE1MmQwOTA1YTE5MDRjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxh
eUxpbmVCdWlsZGVyLmNwcApAQCAtMzgsMTQgKzM4LDE0IEBAIElubGluZURpc3BsYXlMaW5lQnVp
bGRlcjo6SW5saW5lRGlzcGxheUxpbmVCdWlsZGVyKGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250
ZXh0CiBJbmxpbmVEaXNwbGF5OjpMaW5lIElubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6YnVpbGQo
Y29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiBsaW5lQ29udGVudCwgY29uc3QgTGluZUJv
eCYgbGluZUJveCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbEhlaWdodCwgc2l6ZV90
IGxpbmVJbmRleCkKIHsKICAgICBhdXRvJiByb290U3R5bGUgPSBsaW5lSW5kZXggPyByb290KCku
Zmlyc3RMaW5lU3R5bGUoKSA6IHJvb3QoKS5zdHlsZSgpOwotICAgIGF1dG8gcGh5c2ljYWxMZWZ0
ID0gbGluZUNvbnRlbnQubGluZUxvZ2ljYWxUb3BMZWZ0LngoKTsKKyAgICBhdXRvIHZpc3VhbExl
ZnQgPSBsaW5lQ29udGVudC5saW5lTG9naWNhbFRvcExlZnQueCgpOwogICAgIGlmICghcm9vdFN0
eWxlLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAvLyBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLXRleHQvI3RleHQtaW5kZW50LXByb3BlcnR5CiAgICAgICAgIC8vIFNp
bmNlIHRleHQtaW5kZW50IG9ubHkgaW5pdGlhdGVzIG1hcmdpbiBzdGFydCwgd2UganVzdCBuZWVk
IHRvIHB1bGwgdGhlIGxpbmVib3ggYmFjayB0byB0aGUgbGVmdC4KLSAgICAgICAgcGh5c2ljYWxM
ZWZ0IC09IGxpbmVDb250ZW50LmxpbmVNYXJnaW5TdGFydDsKKyAgICAgICAgdmlzdWFsTGVmdCAt
PSBsaW5lQ29udGVudC5saW5lTWFyZ2luU3RhcnQ7CiAgICAgfQogICAgIC8vIEZJWE1FOiBVc2Ug
cGh5c2ljYWwgZ2VvbWV0cnkgaGVyZS4KLSAgICBhdXRvIGxpbmVCb3hSZWN0ID0gSW5saW5lUmVj
dCB7IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsVG9wTGVmdC55KCksIHBoeXNpY2FsTGVmdCwgbGlu
ZUNvbnRlbnQubGluZUxvZ2ljYWxXaWR0aCwgbGluZUJveExvZ2ljYWxIZWlnaHQgfTsKKyAgICBh
dXRvIGxpbmVCb3hSZWN0ID0gSW5saW5lUmVjdCB7IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsVG9w
TGVmdC55KCksIHZpc3VhbExlZnQsIGxpbmVDb250ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGxpbmVC
b3hMb2dpY2FsSGVpZ2h0IH07CiAgICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0ID0gbGlu
ZUJveFJlY3Q7CiAgICAgYXV0byYgcm9vdElubGluZUJveCA9IGxpbmVCb3gucm9vdElubGluZUJv
eCgpOwogICAgIGF1dG8gZW5jbG9zaW5nVG9wQW5kQm90dG9tID0gSW5saW5lRGlzcGxheTo6TGlu
ZTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIHsgbGluZUJveFJlY3QudG9wKCkgKyByb290SW5saW5l
Qm94LmxvZ2ljYWxUb3AoKSwgbGluZUJveFJlY3QudG9wKCkgKyByb290SW5saW5lQm94LmxvZ2lj
YWxCb3R0b20oKSB9OwpAQCAtNzksNyArNzksMTMgQEAgSW5saW5lRGlzcGxheTo6TGluZSBJbmxp
bmVEaXNwbGF5TGluZUJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGUK
ICAgICAgICAgZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCA9IHN0ZDo6bWluKGVuY2xvc2luZ1Rv
cEFuZEJvdHRvbS50b3AsIGJvcmRlckJveC50b3AoKSk7CiAgICAgICAgIGVuY2xvc2luZ1RvcEFu
ZEJvdHRvbS5ib3R0b20gPSBzdGQ6Om1heChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tLCBi
b3JkZXJCb3guYm90dG9tKCkpOwogICAgIH0KLSAgICByZXR1cm4gSW5saW5lRGlzcGxheTo6TGlu
ZSB7IGxpbmVCb3hSZWN0LCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LCBlbmNsb3NpbmdUb3BBbmRC
b3R0b20sIHJvb3RJbmxpbmVCb3gubG9naWNhbFRvcCgpICsgcm9vdElubGluZUJveC5iYXNlbGlu
ZSgpLCBsaW5lQm94LnJvb3RJbmxpbmVCb3hBbGlnbm1lbnRPZmZzZXQoKSArIHJvb3RJbmxpbmVC
b3gubG9naWNhbExlZnQoKSwgcm9vdElubGluZUJveC5sb2dpY2FsV2lkdGgoKSB9OworICAgIHJl
dHVybiBJbmxpbmVEaXNwbGF5OjpMaW5lIHsgbGluZUJveFJlY3QKKyAgICAgICAgLCBzY3JvbGxh
YmxlT3ZlcmZsb3dSZWN0CisgICAgICAgICwgZW5jbG9zaW5nVG9wQW5kQm90dG9tCisgICAgICAg
ICwgcm9vdElubGluZUJveC5sb2dpY2FsVG9wKCkgKyByb290SW5saW5lQm94LmJhc2VsaW5lKCkK
KyAgICAgICAgLCBsaW5lQm94LnJvb3RJbmxpbmVCb3hBbGlnbm1lbnRPZmZzZXQoKSArIHJvb3RJ
bmxpbmVCb3gubG9naWNhbExlZnQoKQorICAgICAgICAsIHJvb3RJbmxpbmVCb3gubG9naWNhbFdp
ZHRoKCkKKyAgICB9OwogfQogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447644</attachid>
            <date>2021-12-20 14:50:05 -0800</date>
            <delta_ts>2021-12-21 09:16:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234527-20211220145005.patch</filename>
            <type>text/plain</type>
            <size>19115</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA3MTU2MWM4ZmIwNTIx
M2IxNjUxMjM1MzNmNmUzYzA0ODU2NDAxNi4uNTUxMWViYmJiZTg4N2EwZjQ3ZTVhZmY1NGJiMDNm
NmEyYTczNDY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEyLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIERpc3BsYXkg
Y29udGVudCBidWlsZGVyIHNob3VsZCB0YWtlIERpc3BsYXk6OkxpbmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDUyNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgcHJlcGFyYXRpb24gZm9y
IHVzaW5nIERpc3BsYXk6OkxpbmUgdmlzdWFsIGdlb21ldHJpZXMgd2hlbiBjb25zdHJ1Y3Rpbmcg
RGlzcGxheTo6Qm94ZXMgaW4gSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLgorCisgICAgICAg
ICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyOjpidWlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6cHJvY2Vzc05vbkJpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxHZW9tZXRyeUZv
ckRpc3BsYXlCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JF
bGxpcHNpcyk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaDoKKyAgICAgICAgKiBsYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlMaW5lQnVpbGRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlMaW5lQnVpbGRlcjo6
YnVpbGQpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNv
dmVyYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpjYW5Vc2VG
b3JTdHlsZSk6CisKIDIwMjEtMTItMjAgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdW0lGQ10gRGVjb3VwbGUgTGluZUJveCBhbmQgSW5saW5lRGlzcGxheTpM
aW5lIGNvbnN0cnVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCmluZGV4IDUyZTIwZGIwMTgyMzk2NThiZTAzZWMzMzRmZTY2ZDRkMDZhM2U0
ODIuLjk2ZTUzMjIzOTJjMWQ5Y2IxMGNjN2IwYzZkYTY1NTFmM2MyYzNkODcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTU1MiwxNyAr
NTUyLDIxIEBAIElubGluZVJlY3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVHZW9t
ZXRyeUZvckxpbmVDb250ZW50KGNvbnN0IExpbmVCdWlsCiAgICAgYXV0byYgZm9ybWF0dGluZ1N0
YXRlID0gdGhpcy0+Zm9ybWF0dGluZ1N0YXRlKCk7CiAgICAgYXV0byBjdXJyZW50TGluZUluZGV4
ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVzKCkuc2l6ZSgpOwogCi0gICAgYXV0byBsaW5lQm94QW5k
SGVpZ2h0ID0gTGluZUJveEJ1aWxkZXIoKnRoaXMpLmJ1aWxkKGxpbmVDb250ZW50LCBjdXJyZW50
TGluZUluZGV4KTsKLQotICAgIGF1dG8gZGlzcGxheUxpbmUgPSBJbmxpbmVEaXNwbGF5TGluZUJ1
aWxkZXIoKnRoaXMpLmJ1aWxkKGxpbmVDb250ZW50LCBsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3gs
IGxpbmVCb3hBbmRIZWlnaHQubGluZUJveExvZ2ljYWxIZWlnaHQsIGN1cnJlbnRMaW5lSW5kZXgp
OwotICAgIGF1dG8gZGlzcGxheUxpbmVCb3hSZWN0ID0gZGlzcGxheUxpbmUubGluZUJveFJlY3Qo
KTsKLQotICAgIGF1dG8gaW5saW5lQ29udGVudEJ1aWxkZXIgPSBJbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIgeyByb290KCksIGZvcm1hdHRpbmdTdGF0ZSB9OwotICAgIGZvcm1hdHRpbmdTdGF0
ZS5hZGRCb3hlcyhpbmxpbmVDb250ZW50QnVpbGRlci5idWlsZChsaW5lQ29udGVudCwgbGluZUJv
eEFuZEhlaWdodC5saW5lQm94LCBkaXNwbGF5TGluZUJveFJlY3QsIGN1cnJlbnRMaW5lSW5kZXgp
KTsKKyAgICBhdXRvIGxpbmVCb3hBbmRIZWlnaHQgPSBMaW5lQm94QnVpbGRlciB7ICp0aGlzIH0u
YnVpbGQobGluZUNvbnRlbnQsIGN1cnJlbnRMaW5lSW5kZXgpOworICAgIGF1dG8gZGlzcGxheUxp
bmUgPSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIgeyAqdGhpcyB9LmJ1aWxkKGxpbmVDb250ZW50
CisgICAgICAgICwgbGluZUJveEFuZEhlaWdodC5saW5lQm94CisgICAgICAgICwgbGluZUJveEFu
ZEhlaWdodC5saW5lQm94TG9naWNhbEhlaWdodAorICAgICAgICAsIGN1cnJlbnRMaW5lSW5kZXgK
KyAgICApOworICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRCb3hlcyhJbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIgeyByb290KCksIGZvcm1hdHRpbmdTdGF0ZSB9LmJ1aWxkKGxpbmVDb250ZW50Cisg
ICAgICAgICwgbGluZUJveEFuZEhlaWdodC5saW5lQm94CisgICAgICAgICwgZGlzcGxheUxpbmUK
KyAgICAgICAgLCBjdXJyZW50TGluZUluZGV4KQorICAgICk7CiAgICAgZm9ybWF0dGluZ1N0YXRl
LmFkZExpbmVCb3goV1RGTW92ZShsaW5lQm94QW5kSGVpZ2h0LmxpbmVCb3gpKTsKICAgICBmb3Jt
YXR0aW5nU3RhdGUuYWRkTGluZShkaXNwbGF5TGluZSk7CiAKLSAgICByZXR1cm4gZGlzcGxheUxp
bmVCb3hSZWN0OworICAgIHJldHVybiBmb3JtYXR0aW5nU3RhdGUubGluZXMoKS5sYXN0KCkubGlu
ZUJveFJlY3QoKTsKIH0KIAogdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6aW52YWxpZGF0
ZUZvcm1hdHRpbmdTdGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9k
aXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMTdiYWM3YzVkZWMx
NTJlM2M2Y2VmYmZjN2VmN2FjNDVlZmE4NmQyOS4uMjZmZTA5Mjk3MmQ0ZmJkOTM1ZTMwODYwNTE1
OTFiOTIwMTk1YjlhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rp
c3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtODcsMjMgKzg3LDI0IEBA
IElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
KGNvbnN0IENvbnRhaW5lckJveCYgZm9yCiB7CiB9CiAKLURpc3BsYXlCb3hlcyBJbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYg
bGluZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IElubGluZVJlY3QmIGxp
bmVCb3hMb2dpY2FsUmVjdCwgY29uc3Qgc2l6ZV90IGxpbmVJbmRleCkKK0Rpc3BsYXlCb3hlcyBJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5l
Q29udGVudCYgbGluZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IElubGlu
ZURpc3BsYXk6OkxpbmUgZGlzcGxheUxpbmUsIGNvbnN0IHNpemVfdCBsaW5lSW5kZXgpCiB7CiAg
ICAgRGlzcGxheUJveGVzIGJveGVzOwogICAgIGJveGVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
bGluZUNvbnRlbnQucnVucy5zaXplKCkgKyBsaW5lQm94Lm5vblJvb3RJbmxpbmVMZXZlbEJveGVz
KCkuc2l6ZSgpICsgMSk7CiAKICAgICBtX2xpbmVJbmRleCA9IGxpbmVJbmRleDsKKyAgICBhdXRv
IGxpbmVCb3hSZWN0ID0gZGlzcGxheUxpbmUubGluZUJveFJlY3QoKTsKICAgICAvLyBFdmVyeSBs
aW5lIHN0YXJ0cyB3aXRoIGEgcm9vdCBib3gsIGV2ZW4gdGhlIGVtcHR5IG9uZXMuCiAgICAgYXV0
byByb290SW5saW5lQm94UmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JSb290SW5saW5lQm94
KCk7Ci0gICAgcm9vdElubGluZUJveFJlY3QubW92ZUJ5KGxpbmVCb3hMb2dpY2FsUmVjdC50b3BM
ZWZ0KCkpOworICAgIHJvb3RJbmxpbmVCb3hSZWN0Lm1vdmVCeShsaW5lQm94UmVjdC50b3BMZWZ0
KCkpOwogICAgIGJveGVzLmFwcGVuZCh7IG1fbGluZUluZGV4LCBJbmxpbmVEaXNwbGF5OjpCb3g6
OlR5cGU6OlJvb3RJbmxpbmVCb3gsIHJvb3QoKSwgVUJJRElfREVGQVVMVF9MVFIsIHJvb3RJbmxp
bmVCb3hSZWN0LCByb290SW5saW5lQm94UmVjdCwgeyB9LCB7IH0sIGxpbmVCb3gucm9vdElubGlu
ZUJveCgpLmhhc0NvbnRlbnQoKSB9KTsKIAogICAgIGF1dG8gY29udGVudE5lZWRzQmlkaVJlb3Jk
ZXJpbmcgPSAhbGluZUNvbnRlbnQudmlzdWFsT3JkZXJMaXN0LmlzRW1wdHkoKTsKICAgICBpZiAo
Y29udGVudE5lZWRzQmlkaVJlb3JkZXJpbmcpCi0gICAgICAgIHByb2Nlc3NCaWRpQ29udGVudChs
aW5lQ29udGVudCwgbGluZUJveCwgbGluZUJveExvZ2ljYWxSZWN0LnRvcExlZnQoKSwgYm94ZXMp
OworICAgICAgICBwcm9jZXNzQmlkaUNvbnRlbnQobGluZUNvbnRlbnQsIGxpbmVCb3gsIGxpbmVC
b3hSZWN0LnRvcExlZnQoKSwgYm94ZXMpOwogICAgIGVsc2UKLSAgICAgICAgcHJvY2Vzc05vbkJp
ZGlDb250ZW50KGxpbmVDb250ZW50LCBsaW5lQm94LCBsaW5lQm94TG9naWNhbFJlY3QudG9wTGVm
dCgpLCBib3hlcyk7Ci0gICAgcHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhib3hlcywg
bGluZUJveExvZ2ljYWxSZWN0LnJpZ2h0KCkpOworICAgICAgICBwcm9jZXNzTm9uQmlkaUNvbnRl
bnQobGluZUNvbnRlbnQsIGxpbmVCb3gsIGxpbmVCb3hSZWN0LnRvcExlZnQoKSwgYm94ZXMpOwor
ICAgIHByb2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoYm94ZXMsIGxpbmVCb3hSZWN0LnJp
Z2h0KCkpOwogICAgIGNvbGxlY3RJbmtPdmVyZmxvd0ZvcklubGluZUJveGVzKGJveGVzKTsKICAg
ICByZXR1cm4gYm94ZXM7CiB9CkBAIC0zMTYsNyArMzE3LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXI6OmFwcGVuZElubGluZURpc3BsYXlCb3hBdEJpZGlCb3VuZGFyeShjb25z
dCBCb3gKICAgICB9KTsKIH0KIAotdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnBy
b2Nlc3NOb25CaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxpbmVD
b250ZW50LCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYg
bGluZUJveExvZ2ljYWxUb3BMZWZ0LCBEaXNwbGF5Qm94ZXMmIGJveGVzKQordm9pZCBJbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NOb25CaWRpQ29udGVudChjb25zdCBMaW5lQnVp
bGRlcjo6TGluZUNvbnRlbnQmIGxpbmVDb250ZW50LCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBj
b25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbGluZUJveFRvcExlZnQsIERpc3BsYXlCb3hlcyYgYm94
ZXMpCiB7CiAgICAgYXV0byByb290SW5saW5lQm94V2lkdGggPSBsaW5lQm94LmxvZ2ljYWxSZWN0
Rm9yUm9vdElubGluZUJveCgpLndpZHRoKCk7CiAgICAgYXV0byByb290SW5saW5lQm94QWxpZ25t
ZW50T2Zmc2V0ID0gbGluZUJveC5yb290SW5saW5lQm94QWxpZ25tZW50T2Zmc2V0KCk7CkBAIC0z
MjgsNyArMzI5LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NO
b25CaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUMKICAgICAgICAgYXV0byB2aXN1
YWxSZWN0UmVsYXRpdmVUb1Jvb3QgPSBbJl0oYXV0byBsb2dpY2FsUmVjdCkgewogICAgICAgICAg
ICAgLy8gV2hlbiB0aGUgbG9naWNhbCBvcmRlciA9PSB2aXN1YWwgb3JkZXIsIFJUTCBpbmxpbmUg
ZGlyZWN0aW9uIGlzIGp1c3QgYW4gb2Zmc2V0LgogICAgICAgICAgICAgYXV0byBob3Jpem9udGFs
T2Zmc2V0ID0gbmVlZHNEaXJlY3Rpb25BZGp1c3RtZW50ID8gbGluZUNvbnRlbnQubGluZUxvZ2lj
YWxXaWR0aCAtIHJvb3RJbmxpbmVCb3hXaWR0aCAtIHJvb3RJbmxpbmVCb3hBbGlnbm1lbnRPZmZz
ZXQgOiByb290SW5saW5lQm94QWxpZ25tZW50T2Zmc2V0OwotICAgICAgICAgICAgbG9naWNhbFJl
Y3QubW92ZUJ5KHsgbGluZUJveExvZ2ljYWxUb3BMZWZ0LngoKSArIGhvcml6b250YWxPZmZzZXQs
IGxpbmVCb3hMb2dpY2FsVG9wTGVmdC55KCkgfSk7CisgICAgICAgICAgICBsb2dpY2FsUmVjdC5t
b3ZlQnkoeyBsaW5lQm94VG9wTGVmdC54KCkgKyBob3Jpem9udGFsT2Zmc2V0LCBsaW5lQm94VG9w
TGVmdC55KCkgfSk7CiAgICAgICAgICAgICByZXR1cm4gbG9naWNhbFJlY3Q7CiAgICAgICAgIH07
CiAKQEAgLTQ1Nyw3ICs0NTgsNyBAQCBzdHJ1Y3QgSXNGaXJzdExhc3RJbmRleCB7CiAgICAgc3Rk
OjpvcHRpb25hbDxzaXplX3Q+IGxhc3Q7CiB9OwogdXNpbmcgSXNGaXJzdExhc3RJbmRleGVzTWFw
ID0gSGFzaE1hcDxjb25zdCBCb3gqLCBJc0ZpcnN0TGFzdEluZGV4PjsKLXZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxHZW9tZXRyeUZvckRpc3BsYXlCb3goc2l6
ZV90IGRpc3BsYXlCb3hOb2RlSW5kZXgsIElubGluZUxheW91dFVuaXQmIGNvbnRlbnRSaWdodElu
VmlzdWFsT3JkZXIsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxUb3AsIGNvbnN0IERp
c3BsYXlCb3hUcmVlJiBkaXNwbGF5Qm94VHJlZSwgRGlzcGxheUJveGVzJiBib3hlcywgY29uc3Qg
TGluZUJveCYgbGluZUJveCwgY29uc3QgSXNGaXJzdExhc3RJbmRleGVzTWFwJiBpc0ZpcnN0TGFz
dEluZGV4ZXNNYXApCit2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YWRqdXN0Vmlz
dWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNwbGF5Qm94Tm9kZUluZGV4LCBJbmxp
bmVMYXlvdXRVbml0JiBjb250ZW50UmlnaHRJblZpc3VhbE9yZGVyLCBJbmxpbmVMYXlvdXRVbml0
IGxpbmVCb3hUb3AsIGNvbnN0IERpc3BsYXlCb3hUcmVlJiBkaXNwbGF5Qm94VHJlZSwgRGlzcGxh
eUJveGVzJiBib3hlcywgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgSXNGaXJzdExhc3RJ
bmRleGVzTWFwJiBpc0ZpcnN0TGFzdEluZGV4ZXNNYXApCiB7CiAgICAgLy8gTm9uLWlubGluZSBi
b3ggZGlzcGxheSBib3hlcyBqdXN0IG5lZWQgYSBob3Jpem9udGFsIGFkanVzdG1lbnQgd2hpbGUK
ICAgICAvLyBpbmxpbmUgYm94IHR5cGUgb2YgZGlzcGxheSBib3hlcyBuZWVkCkBAIC00OTIsNyAr
NDkzLDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFkanVzdFZpc3VhbEdl
b21ldHJ5Rm9yRGlzcGxheUJveChzaXplX3QgZGlzcGwKICAgICBhdXRvIGlzTGFzdEJveCA9IGlz
Rmlyc3RMYXN0SW5kZXhlcy5sYXN0ICYmICppc0ZpcnN0TGFzdEluZGV4ZXMubGFzdCA9PSBkaXNw
bGF5Qm94Tm9kZUluZGV4OwogICAgIGF1dG8gYmVmb3JlSW5saW5lQm94Q29udGVudCA9IFsmXSB7
CiAgICAgICAgIGF1dG8gbG9naWNhbFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJ
bmxpbmVCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7Ci0gICAgICAgIGF1dG8gdmlzdWFsUmVj
dCA9IElubGluZVJlY3QgeyBsaW5lQm94TG9naWNhbFRvcCArIGxvZ2ljYWxSZWN0LnRvcCgpLCBj
b250ZW50UmlnaHRJblZpc3VhbE9yZGVyLCB7IH0sIGxvZ2ljYWxSZWN0LmhlaWdodCgpIH07Cisg
ICAgICAgIGF1dG8gdmlzdWFsUmVjdCA9IElubGluZVJlY3QgeyBsaW5lQm94VG9wICsgbG9naWNh
bFJlY3QudG9wKCksIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIHsgfSwgbG9naWNhbFJlY3Qu
aGVpZ2h0KCkgfTsKICAgICAgICAgYXV0byBzaG91bGRBcHBseUxlZnRTaWRlID0gKGlzTGVmdFRv
UmlnaHREaXJlY3Rpb24gJiYgaXNGaXJzdEJveCkgfHwgKCFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
ICYmIGlzTGFzdEJveCk7CiAgICAgICAgIGlmICghc2hvdWxkQXBwbHlMZWZ0U2lkZSkKICAgICAg
ICAgICAgIHJldHVybiBkaXNwbGF5Qm94LnNldFJlY3QodmlzdWFsUmVjdCwgdmlzdWFsUmVjdCk7
CkBAIC01MDUsNyArNTA2LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmFk
anVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChzaXplX3QgZGlzcGwKICAgICBiZWZvcmVJ
bmxpbmVCb3hDb250ZW50KCk7CiAKICAgICBmb3IgKGF1dG8gY2hpbGREaXNwbGF5Qm94Tm9kZUlu
ZGV4IDogZGlzcGxheUJveFRyZWUuYXQoZGlzcGxheUJveE5vZGVJbmRleCkuY2hpbGRyZW4pCi0g
ICAgICAgIGFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChjaGlsZERpc3BsYXlCb3hO
b2RlSW5kZXgsIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIGxpbmVCb3hMb2dpY2FsVG9wLCBk
aXNwbGF5Qm94VHJlZSwgYm94ZXMsIGxpbmVCb3gsIGlzRmlyc3RMYXN0SW5kZXhlc01hcCk7Cisg
ICAgICAgIGFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChjaGlsZERpc3BsYXlCb3hO
b2RlSW5kZXgsIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIGxpbmVCb3hUb3AsIGRpc3BsYXlC
b3hUcmVlLCBib3hlcywgbGluZUJveCwgaXNGaXJzdExhc3RJbmRleGVzTWFwKTsKIAogICAgIGF1
dG8gYWZ0ZXJJbmxpbmVCb3hDb250ZW50ID0gWyZdIHsKICAgICAgICAgYXV0byBzaG91bGRBcHBs
eVJpZ2h0U2lkZSA9IChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uICYmIGlzTGFzdEJveCkgfHwgKCFp
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uICYmIGlzRmlyc3RCb3gpOwpAQCAtNTMwLDcgKzUzMSw3IEBA
IHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxHZW9tZXRyeUZv
ckRpc3BsYXlCb3goc2l6ZV90IGRpc3BsCiAgICAgICAgIGRpc3BsYXlCb3guc2V0SGFzQ29udGVu
dCgpOwogfQogCi12b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlD
b250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIGNvbnN0
IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IElubGluZUxheW91dFBvaW50JiBsaW5lQm94TG9naWNh
bFRvcExlZnQsIERpc3BsYXlCb3hlcyYgYm94ZXMpCit2b2lkIElubGluZURpc3BsYXlDb250ZW50
QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVu
dCYgbGluZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IElubGluZUxheW91
dFBvaW50JiBsaW5lQm94VG9wTGVmdCwgRGlzcGxheUJveGVzJiBib3hlcykKIHsKICAgICBBU1NF
UlQobGluZUNvbnRlbnQudmlzdWFsT3JkZXJMaXN0LnNpemUoKSA8PSBsaW5lQ29udGVudC5ydW5z
LnNpemUoKSk7CiAKQEAgLTU1OSw3ICs1NjAsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50
QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udAog
CiAgICAgICAgICAgICBhdXRvIHZpc3VhbFJlY3RSZWxhdGl2ZVRvUm9vdCA9IFsmXShhdXRvIGxv
Z2ljYWxSZWN0KSB7CiAgICAgICAgICAgICAgICAgbG9naWNhbFJlY3Quc2V0TGVmdChjb250ZW50
UmlnaHRJblZpc3VhbE9yZGVyKTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmVjdC5tb3ZlQnko
bGluZUJveExvZ2ljYWxUb3BMZWZ0KTsKKyAgICAgICAgICAgICAgICBsb2dpY2FsUmVjdC5tb3Zl
QnkobGluZUJveFRvcExlZnQpOwogICAgICAgICAgICAgICAgIHJldHVybiBsb2dpY2FsUmVjdDsK
ICAgICAgICAgICAgIH07CiAKQEAgLTYzNywxNiArNjM4LDE2IEBAIHZvaWQgSW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6Okxp
bmVDb250CiAgICAgICAgIGNvbXB1dGVJc0ZpcnN0SXNMYXN0Qm94KCk7CiAKICAgICAgICAgYXV0
byBhZGp1c3RWaXN1YWxHZW9tZXRyeVdpdGhJbmxpbmVCb3hlcyA9IFsmXSB7Ci0gICAgICAgICAg
ICBhdXRvIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIgPSBsaW5lQm94TG9naWNhbFRvcExlZnQu
eCgpICsgY29udGVudFN0YXJ0SW5WaXN1YWxPcmRlcjsKKyAgICAgICAgICAgIGF1dG8gY29udGVu
dFJpZ2h0SW5WaXN1YWxPcmRlciA9IGxpbmVCb3hUb3BMZWZ0LngoKSArIGNvbnRlbnRTdGFydElu
VmlzdWFsT3JkZXI7CiAKICAgICAgICAgICAgIGZvciAoYXV0byBjaGlsZERpc3BsYXlCb3hOb2Rl
SW5kZXggOiBkaXNwbGF5Qm94VHJlZS5yb290KCkuY2hpbGRyZW4pCi0gICAgICAgICAgICAgICAg
YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KGNoaWxkRGlzcGxheUJveE5vZGVJbmRl
eCwgY29udGVudFJpZ2h0SW5WaXN1YWxPcmRlciwgbGluZUJveExvZ2ljYWxUb3BMZWZ0LnkoKSwg
ZGlzcGxheUJveFRyZWUsIGJveGVzLCBsaW5lQm94LCBpc0ZpcnN0TGFzdEluZGV4ZXNNYXApOwor
ICAgICAgICAgICAgICAgIGFkanVzdFZpc3VhbEdlb21ldHJ5Rm9yRGlzcGxheUJveChjaGlsZERp
c3BsYXlCb3hOb2RlSW5kZXgsIGNvbnRlbnRSaWdodEluVmlzdWFsT3JkZXIsIGxpbmVCb3hUb3BM
ZWZ0LnkoKSwgZGlzcGxheUJveFRyZWUsIGJveGVzLCBsaW5lQm94LCBpc0ZpcnN0TGFzdEluZGV4
ZXNNYXApOwogICAgICAgICB9OwogICAgICAgICBhZGp1c3RWaXN1YWxHZW9tZXRyeVdpdGhJbmxp
bmVCb3hlcygpOwogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6
OnByb2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlzcGxheUJveGVzJiBib3hlcywgSW5s
aW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFJpZ2h0KQordm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NPdmVyZmxvd25SdW5zRm9yRWxsaXBzaXMoRGlzcGxheUJveGVz
JiBib3hlcywgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94UmlnaHQpCiB7CiAgICAgaWYgKHJvb3Qo
KS5zdHlsZSgpLnRleHRPdmVyZmxvdygpICE9IFRleHRPdmVyZmxvdzo6RWxsaXBzaXMpCiAgICAg
ICAgIHJldHVybjsKQEAgLTY1NCw4ICs2NTUsOCBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50
QnVpbGRlcjo6cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhEaXNwbGF5Qm94ZXMmCiAg
ICAgQVNTRVJUKHJvb3RJbmxpbmVCb3guaXNSb290SW5saW5lQm94KCkpOwogCiAgICAgYXV0byBy
b290SW5saW5lQm94UmVjdCA9IHJvb3RJbmxpbmVCb3gucmVjdCgpOwotICAgIGlmIChyb290SW5s
aW5lQm94UmVjdC5yaWdodCgpIDw9IGxpbmVCb3hMb2dpY2FsUmlnaHQpIHsKLSAgICAgICAgQVNT
RVJUKGJveGVzLmxhc3QoKS5yaWdodCgpIDw9IGxpbmVCb3hMb2dpY2FsUmlnaHQpOworICAgIGlm
IChyb290SW5saW5lQm94UmVjdC5yaWdodCgpIDw9IGxpbmVCb3hSaWdodCkgeworICAgICAgICBB
U1NFUlQoYm94ZXMubGFzdCgpLnJpZ2h0KCkgPD0gbGluZUJveFJpZ2h0KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtNjY3LDcgKzY2OCw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyOjpwcm9jZXNzT3ZlcmZsb3duUnVuc0ZvckVsbGlwc2lzKERpc3BsYXlCb3hlcyYK
ICAgICBmb3IgKGF1dG8gaW5kZXggPSBib3hlcy5zaXplKCk7IGluZGV4LS07KSB7CiAgICAgICAg
IGF1dG8mIGRpc3BsYXlCb3ggPSBib3hlc1tpbmRleF07CiAKLSAgICAgICAgaWYgKGRpc3BsYXlC
b3gubGVmdCgpID49IGxpbmVCb3hMb2dpY2FsUmlnaHQpIHsKKyAgICAgICAgaWYgKGRpc3BsYXlC
b3gubGVmdCgpID49IGxpbmVCb3hSaWdodCkgewogICAgICAgICAgICAgLy8gRnVsbHkgb3ZlcmZs
b3duIGJveGVzIGFyZSBjb2xsYXBzZWQuCiAgICAgICAgICAgICBkaXNwbGF5Qm94LnRydW5jYXRl
KCk7CiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTY3Niw3ICs2NzcsNyBAQCB2b2lkIElubGlu
ZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhE
aXNwbGF5Qm94ZXMmCiAgICAgICAgIC8vIFdlIGtlZXAgdHJ1bmNhdGluZyBjb250ZW50IHVudGls
IGFmdGVyIHdlIGNhbiBhY2NvbW1vZGF0ZSB0aGUgZWxsaXBzaXMgY29udGVudAogICAgICAgICAv
LyAxLiBmdWxseSB0cnVuY2F0ZSBpbiBjYXNlIG9mIGlubGluZSBsZXZlbCBib3hlcyAoaWUgbm9u
LXRleHQgY29udGVudCkgb3IgaWYgZWxsaXBzaXMgY29udGVudCBpcyB3aWRlciB0aGFuIHRoZSBv
dmVyZmxvd2luZyBvbmUuCiAgICAgICAgIC8vIDIuIHBhcnRpYWxseSB0cnVuY2F0ZWQgdG8gbWFr
ZSByb29tIGZvciB0aGUgZWxsaXBzaXMgYm94LgotICAgICAgICBhdXRvIGF2YWlsYWJsZVJvb21G
b3JFbGxpcHNpcyA9IGxpbmVCb3hMb2dpY2FsUmlnaHQgLSBkaXNwbGF5Qm94LmxlZnQoKTsKKyAg
ICAgICAgYXV0byBhdmFpbGFibGVSb29tRm9yRWxsaXBzaXMgPSBsaW5lQm94UmlnaHQgLSBkaXNw
bGF5Qm94LmxlZnQoKTsKICAgICAgICAgaWYgKGF2YWlsYWJsZVJvb21Gb3JFbGxpcHNpcyA8PSBl
bGxpcHNpc1dpZHRoKSB7CiAgICAgICAgICAgICAvLyBDYW4ndCBhY2NvbW1vZGF0ZSB0aGUgZWxs
aXBzaXMgY29udGVudCBoZXJlLiBXZSBuZWVkIHRvIHRydW5jYXRlIG5vbi1vdmVyZmxvd2luZyBi
b3hlcyB0b28uCiAgICAgICAgICAgICBkaXNwbGF5Qm94LnRydW5jYXRlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXIuaAppbmRleCBhMWZmYmI1OGNmZTVkODA4YzFhNDE4N2ViNGI3ZjgzYTY3NDBmYWFmLi5jYjdh
MzNkZTg2ZWYyOTQyNTliMGQxODZjM2JlZmU1NTkxY2I4ZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURp
c3BsYXlDb250ZW50QnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgK
QEAgLTQ0LDE0ICs0NCwxNCBAQCBjbGFzcyBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIgewog
cHVibGljOgogICAgIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcihjb25zdCBDb250YWluZXJC
b3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgSW5saW5lRm9ybWF0dGluZ1N0YXRlJik7CiAKLSAg
ICBEaXNwbGF5Qm94ZXMgYnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiwgY29u
c3QgTGluZUJveCYsIGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgY29uc3Qg
c2l6ZV90IGxpbmVJbmRleCk7CisgICAgRGlzcGxheUJveGVzIGJ1aWxkKGNvbnN0IExpbmVCdWls
ZGVyOjpMaW5lQ29udGVudCYsIGNvbnN0IExpbmVCb3gmLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpM
aW5lIGRpc3BsYXlMaW5lLCBjb25zdCBzaXplX3QgbGluZUluZGV4KTsKIAogICAgIHN0YXRpYyB2
b2lkIGNvbXB1dGVJc0ZpcnN0SXNMYXN0Qm94Rm9ySW5saW5lQ29udGVudChEaXNwbGF5Qm94ZXMm
KTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHByb2Nlc3NOb25CaWRpQ29udGVudChjb25zdCBMaW5l
QnVpbGRlcjo6TGluZUNvbnRlbnQmLCBjb25zdCBMaW5lQm94JiwgY29uc3QgSW5saW5lTGF5b3V0
UG9pbnQmIGxpbmVCb3hMb2dpY2FsVG9wTGVmdCwgRGlzcGxheUJveGVzJik7Ci0gICAgdm9pZCBw
cm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JiwgY29uc3Qg
TGluZUJveCYsIGNvbnN0IElubGluZUxheW91dFBvaW50JiBsaW5lQm94TG9naWNhbFRvcExlZnQs
IERpc3BsYXlCb3hlcyYpOwotICAgIHZvaWQgcHJvY2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNp
cyhEaXNwbGF5Qm94ZXMmLCBJbmxpbmVMYXlvdXRVbml0IGxpbmVCb3hMb2dpY2FsUmlnaHQpOwor
ICAgIHZvaWQgcHJvY2Vzc05vbkJpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29u
dGVudCYsIGNvbnN0IExpbmVCb3gmLCBjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbGluZUJveFRv
cExlZnQsIERpc3BsYXlCb3hlcyYpOworICAgIHZvaWQgcHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYsIGNvbnN0IExpbmVCb3gmLCBjb25zdCBJbmxpbmVM
YXlvdXRQb2ludCYgbGluZUJveFRvcExlZnQsIERpc3BsYXlCb3hlcyYpOworICAgIHZvaWQgcHJv
Y2Vzc092ZXJmbG93blJ1bnNGb3JFbGxpcHNpcyhEaXNwbGF5Qm94ZXMmLCBJbmxpbmVMYXlvdXRV
bml0IGxpbmVCb3hSaWdodCk7CiAgICAgdm9pZCBjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxpbmVC
b3hlcyhEaXNwbGF5Qm94ZXMmKTsKIAogICAgIHZvaWQgYXBwZW5kVGV4dERpc3BsYXlCb3goY29u
c3QgTGluZTo6UnVuJiwgY29uc3QgSW5saW5lUmVjdCYsIERpc3BsYXlCb3hlcyYpOwpAQCAtNjMs
NyArNjMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwZW5kSW5saW5lRGlzcGxheUJveEF0Qmlk
aUJvdW5kYXJ5KGNvbnN0IEJveCYsIERpc3BsYXlCb3hlcyYpOwogCiAgICAgdm9pZCBzZXRJbmxp
bmVCb3hHZW9tZXRyeShjb25zdCBCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgYm9vbCBpc0ZpcnN0
SW5saW5lQm94RnJhZ21lbnQpOwotICAgIHZvaWQgYWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNw
bGF5Qm94KHNpemVfdCBkaXNwbGF5Qm94Tm9kZUluZGV4LCBJbmxpbmVMYXlvdXRVbml0JiBhY2N1
bXVsYXRlZE9mZnNldCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFRvcCwgY29uc3Qg
RGlzcGxheUJveFRyZWUmLCBEaXNwbGF5Qm94ZXMmLCBjb25zdCBMaW5lQm94JiwgY29uc3QgSGFz
aE1hcDxjb25zdCBCb3gqLCBJc0ZpcnN0TGFzdEluZGV4PiYpOworICAgIHZvaWQgYWRqdXN0Vmlz
dWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KHNpemVfdCBkaXNwbGF5Qm94Tm9kZUluZGV4LCBJbmxp
bmVMYXlvdXRVbml0JiBhY2N1bXVsYXRlZE9mZnNldCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94
VG9wLCBjb25zdCBEaXNwbGF5Qm94VHJlZSYsIERpc3BsYXlCb3hlcyYsIGNvbnN0IExpbmVCb3gm
LCBjb25zdCBIYXNoTWFwPGNvbnN0IEJveCosIElzRmlyc3RMYXN0SW5kZXg+Jik7CiAgICAgc2l6
ZV90IGVuc3VyZURpc3BsYXlCb3hGb3JDb250YWluZXIoY29uc3QgQ29udGFpbmVyQm94JiwgRGlz
cGxheUJveFRyZWUmLCBBbmNlc3RvclN0YWNrJiwgRGlzcGxheUJveGVzJik7CiAKICAgICBjb25z
dCBDb250YWluZXJCb3gmIHJvb3QoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdHRpbmdDb250ZXh0
Um9vdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVE
aXNwbGF5TGluZUJ1aWxkZXIuY3BwCmluZGV4IGViZThiNmVhNzQyMjY3MjhlN2M5YTNkNjc2MzQx
Mjc3ZmExYWFjMGEuLjJlN2NmMzI3NzllMGFkYTU3OWEyYjRjNTIxNTJkMDkwNWExOTA0YzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlM
aW5lQnVpbGRlci5jcHAKQEAgLTM4LDE0ICszOCwxNCBAQCBJbmxpbmVEaXNwbGF5TGluZUJ1aWxk
ZXI6OklubGluZURpc3BsYXlMaW5lQnVpbGRlcihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dAogSW5saW5lRGlzcGxheTo6TGluZSBJbmxpbmVEaXNwbGF5TGluZUJ1aWxkZXI6OmJ1aWxkKGNv
bnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIGNvbnN0IExpbmVCb3gm
IGxpbmVCb3gsIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxIZWlnaHQsIHNpemVfdCBs
aW5lSW5kZXgpCiB7CiAgICAgYXV0byYgcm9vdFN0eWxlID0gbGluZUluZGV4ID8gcm9vdCgpLmZp
cnN0TGluZVN0eWxlKCkgOiByb290KCkuc3R5bGUoKTsKLSAgICBhdXRvIHBoeXNpY2FsTGVmdCA9
IGxpbmVDb250ZW50LmxpbmVMb2dpY2FsVG9wTGVmdC54KCk7CisgICAgYXV0byB2aXN1YWxMZWZ0
ID0gbGluZUNvbnRlbnQubGluZUxvZ2ljYWxUb3BMZWZ0LngoKTsKICAgICBpZiAoIXJvb3RTdHls
ZS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgLy8gaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy10ZXh0LyN0ZXh0LWluZGVudC1wcm9wZXJ0eQogICAgICAgICAvLyBTaW5j
ZSB0ZXh0LWluZGVudCBvbmx5IGluaXRpYXRlcyBtYXJnaW4gc3RhcnQsIHdlIGp1c3QgbmVlZCB0
byBwdWxsIHRoZSBsaW5lYm94IGJhY2sgdG8gdGhlIGxlZnQuCi0gICAgICAgIHBoeXNpY2FsTGVm
dCAtPSBsaW5lQ29udGVudC5saW5lTWFyZ2luU3RhcnQ7CisgICAgICAgIHZpc3VhbExlZnQgLT0g
bGluZUNvbnRlbnQubGluZU1hcmdpblN0YXJ0OwogICAgIH0KICAgICAvLyBGSVhNRTogVXNlIHBo
eXNpY2FsIGdlb21ldHJ5IGhlcmUuCi0gICAgYXV0byBsaW5lQm94UmVjdCA9IElubGluZVJlY3Qg
eyBsaW5lQ29udGVudC5saW5lTG9naWNhbFRvcExlZnQueSgpLCBwaHlzaWNhbExlZnQsIGxpbmVD
b250ZW50LmxpbmVMb2dpY2FsV2lkdGgsIGxpbmVCb3hMb2dpY2FsSGVpZ2h0IH07CisgICAgYXV0
byBsaW5lQm94UmVjdCA9IElubGluZVJlY3QgeyBsaW5lQ29udGVudC5saW5lTG9naWNhbFRvcExl
ZnQueSgpLCB2aXN1YWxMZWZ0LCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoLCBsaW5lQm94
TG9naWNhbEhlaWdodCB9OwogICAgIGF1dG8gc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCA9IGxpbmVC
b3hSZWN0OwogICAgIGF1dG8mIHJvb3RJbmxpbmVCb3ggPSBsaW5lQm94LnJvb3RJbmxpbmVCb3go
KTsKICAgICBhdXRvIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSA9IElubGluZURpc3BsYXk6OkxpbmU6
OkVuY2xvc2luZ1RvcEFuZEJvdHRvbSB7IGxpbmVCb3hSZWN0LnRvcCgpICsgcm9vdElubGluZUJv
eC5sb2dpY2FsVG9wKCksIGxpbmVCb3hSZWN0LnRvcCgpICsgcm9vdElubGluZUJveC5sb2dpY2Fs
Qm90dG9tKCkgfTsKQEAgLTc5LDcgKzc5LDEzIEBAIElubGluZURpc3BsYXk6OkxpbmUgSW5saW5l
RGlzcGxheUxpbmVCdWlsZGVyOjpidWlsZChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlCiAg
ICAgICAgIGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3AgPSBzdGQ6Om1pbihlbmNsb3NpbmdUb3BB
bmRCb3R0b20udG9wLCBib3JkZXJCb3gudG9wKCkpOwogICAgICAgICBlbmNsb3NpbmdUb3BBbmRC
b3R0b20uYm90dG9tID0gc3RkOjptYXgoZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSwgYm9y
ZGVyQm94LmJvdHRvbSgpKTsKICAgICB9Ci0gICAgcmV0dXJuIElubGluZURpc3BsYXk6OkxpbmUg
eyBsaW5lQm94UmVjdCwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCwgZW5jbG9zaW5nVG9wQW5kQm90
dG9tLCByb290SW5saW5lQm94LmxvZ2ljYWxUb3AoKSArIHJvb3RJbmxpbmVCb3guYmFzZWxpbmUo
KSwgbGluZUJveC5yb290SW5saW5lQm94QWxpZ25tZW50T2Zmc2V0KCkgKyByb290SW5saW5lQm94
LmxvZ2ljYWxMZWZ0KCksIHJvb3RJbmxpbmVCb3gubG9naWNhbFdpZHRoKCkgfTsKKyAgICByZXR1
cm4gSW5saW5lRGlzcGxheTo6TGluZSB7IGxpbmVCb3hSZWN0CisgICAgICAgICwgc2Nyb2xsYWJs
ZU92ZXJmbG93UmVjdAorICAgICAgICAsIGVuY2xvc2luZ1RvcEFuZEJvdHRvbQorICAgICAgICAs
IHJvb3RJbmxpbmVCb3gubG9naWNhbFRvcCgpICsgcm9vdElubGluZUJveC5iYXNlbGluZSgpCisg
ICAgICAgICwgbGluZUJveC5yb290SW5saW5lQm94QWxpZ25tZW50T2Zmc2V0KCkgKyByb290SW5s
aW5lQm94LmxvZ2ljYWxMZWZ0KCkKKyAgICAgICAgLCByb290SW5saW5lQm94LmxvZ2ljYWxXaWR0
aCgpCisgICAgfTsKIH0KIAogfQo=
</data>
<flag name="commit-queue"
          id="473426"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>