<?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>250663</bug_id>
          
          <creation_ts>2023-01-15 20:05:23 -0800</creation_ts>
          <short_desc>[IFC] LineBox::inlineLevelBoxFor may return null_ptr</short_desc>
          <delta_ts>2023-01-16 08:21:18 -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>1925737</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-01-15 20:05:23 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1925740</commentid>
    <comment_count>1</comment_count>
      <attachid>464512</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-01-15 20:42:32 -0800</bug_when>
    <thetext>Created attachment 464512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1925821</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-01-16 08:20:20 -0800</bug_when>
    <thetext>Committed 258954@main (e188ce4e6d0f): &lt;https://commits.webkit.org/258954@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 464512.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1925822</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-01-16 08:21:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/104300141&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>464512</attachid>
            <date>2023-01-15 20:42:32 -0800</date>
            <delta_ts>2023-01-16 08:20:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-250663-20230115204230.patch</filename>
            <type>text/plain</type>
            <size>27420</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0NTM5NTdkODY4NGU5ZGZmY2VlY2Y3MDhjN2FlNDEzMTU0ZTY3OTM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgMTUgSmFuIDIwMjMgMjA6MDY6MDggLTA4MDAKU3ViamVjdDogW1BBVENIXSBbSUZDXSBM
aW5lQm94OjppbmxpbmVMZXZlbEJveEZvciBtYXkgcmV0dXJuIG51bGxfcHRyCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUwNjYzCgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCkxpbmVCb3g6OmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KCkgYXNzdW1lcyBp
dCBnZXRzIGFsd2F5cyBjYWxsZWQgd2l0aCBhIGxheW91dEJveCBwcmVzZW50IG9uIHRoZSBjdXJy
ZW50IGxpbmUuCndlYmtpdC5vcmcvYi8yNDk5NDIgc2hvd2VkIHRoYXQgaXQncyByYXRoZXIgZWFz
eSB0byBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBpbmNvcnJlY3QgbGF5b3V0Qm94IChub3Qgb24g
dGhlIGN1cnJlbnQgbGluZSkuCgpUaGlzIHBhdGNoIGFkZHJlc3NlcyB0aGlzIGlzc3VlIGJ5IGNo
YW5naW5nIHRoZSByZXR1cm4gdHlwZSBvZiBMaW5lQm94OjppbmxpbmVMZXZlbEJveEZvckxheW91
dEJveCBmcm9tIElubGluZUxldmVsQm94JiB0byBJbmxpbmVMZXZlbEJveCoKYW5kIHJldHVybiBu
dWxsX3B0ciBpZiB0aGUgbGF5b3V0IGJveCBjYW5ub3QgYmUgZm91bmQgb24gdGhlIGN1cnJlbnQg
bGluZSBib3guCkhvd2V2ZXIgdGhpcyBwYXRjaCBhbHNvIGV4dGVuZHMgTGluZUJveCBpbnRlcmZh
Y2Ugd2l0aCBhZGRpdGlvbmFsIGhlbHBlciBmdW5jdGlvbnMgd2hlcmUgdGhlIGFyZ3VtZW50IHR5
cGUgbWFrZXMgc3VjaCBjYWxscyBsZXNzIGVycm9yIHByb25lLgotPgogIHBhcmVudElubGluZUJv
eChjb25zdCBJbmxpbmVMZXZlbEJveCYpCiAgcGFyZW50SW5saW5lQm94KGNvbnN0IExpbmU6OlJ1
biYpOwogIGlubGluZUxldmVsQm94Rm9yKGNvbnN0IExpbmU6OlJ1biYpOwoKYXMgbWFueSBvZiB0
aGUgaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3goKSBjYWxsIHNpdGVzIGFyZSBhY3R1YWxseSBp
bnRlcmVzdGVkIGluCjEuIHRoZSBwYXJlbnQgaW5saW5lIGJveCAod2hpY2ggd2UgYWx3YXlzIGhh
dmUpLgoyLiBpbmxpbmUgYm94ZXMgYmFzZWQgb24gYWN0dWFsIHJ1bnMgb24gdGhlIGxpbmUuCgoq
IFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxp
bmVCb3guY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsUmVjdEZvclRleHRS
dW4gY29uc3QpOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94OjppbmxpbmVMZXZlbEJveEFic29s
dXRlVG9wIGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6TGluZUJveDo6bG9naWNhbFJlY3RGb3JJ
bmxpbmVMZXZlbEJveCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94
OjppbmxpbmVMZXZlbEJveEZvciBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6Omlu
bGluZUJveEZvciBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OnBhcmVudElubGlu
ZUJveCBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmlubGluZUxldmVsQm94Rm9y
KToKKFdlYkNvcmU6OkxheW91dDo6TGluZUJveDo6cGFyZW50SW5saW5lQm94KToKKFdlYkNvcmU6
OkxheW91dDo6TGluZUJveDo6aW5saW5lQm94Rm9yKToKKFdlYkNvcmU6OkxheW91dDo6TGluZUJv
eDo6aW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3ggY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6
TGF5b3V0OjpMaW5lQm94OjppbmxpbmVMZXZlbEJveEZvckxheW91dEJveCk6IERlbGV0ZWQuCiog
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6c2V0VmVy
dGljYWxQcm9wZXJ0aWVzRm9ySW5saW5lTGV2ZWxCb3ggY29uc3QpOgooV2ViQ29yZTo6TGF5b3V0
OjpMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyk6CihXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjphZGp1c3RJbmxpbmVCb3hIZWlnaHRzRm9yTGluZUJveENv
bnRhaW5JZkFwcGxpY2FibGUpOgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6YWRq
dXN0T3V0c2lkZUxpc3RNYXJrZXJzUG9zaXRpb24pOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmg6CiogU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveFZl
cnRpY2FsQWxpZ25lci5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hWZXJ0aWNhbEFsaWdu
ZXI6OmNvbXB1dGVMaW5lQm94TG9naWNhbEhlaWdodCBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVCb3hWZXJ0aWNhbEFsaWduZXI6OmNvbXB1dGVSb290SW5saW5lQm94VmVydGljYWxQb3Np
dGlvbiBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hWZXJ0aWNhbEFsaWduZXI6OmFs
aWduSW5saW5lTGV2ZWxCb3hlcyBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIu
Y3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nl
c3NOb25CaWRpQ29udGVudCk6CihXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50
QnVpbGRlcjo6YWRqdXN0VmlzdWFsR2VvbWV0cnlGb3JEaXNwbGF5Qm94KToKKFdlYkNvcmU6Okxh
eW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQpOgot
LS0KIC4uLi9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAgICAgICAgICAgICAgICAgICB8IDMwICsr
KysrKysrLS0tLS0tCiAuLi4vZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94
LmggfCA0MSArKysrKysrKysrKysrKysrKy0tCiAuLi4vaW5saW5lL0lubGluZUxpbmVCb3hCdWls
ZGVyLmNwcCAgICAgICAgICAgfCAzNCArKysrKysrKy0tLS0tLS0KIC4uLi9pbmxpbmUvSW5saW5l
TGluZUJveEJ1aWxkZXIuaCAgICAgICAgICAgICB8ICAyICstCiAuLi4vaW5saW5lL0lubGluZUxp
bmVCb3hWZXJ0aWNhbEFsaWduZXIuY3BwICAgfCAgOSArKy0tCiAuLi4vZGlzcGxheS9JbmxpbmVE
aXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwICAgfCAyMSArKysrKystLS0tCiA2IGZpbGVzIGNoYW5n
ZWQsIDkxIGluc2VydGlvbnMoKyksIDQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3gu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJveC5jcHAKaW5kZXggMTE0ZjQyMjJhNmU3Li4zMDU0ZmVmZTFlZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUxpbmVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCb3guY3BwCkBAIC01MCwxNSArNTAsMTUgQEAgdm9pZCBMaW5l
Qm94OjphZGRJbmxpbmVMZXZlbEJveChJbmxpbmVMZXZlbEJveCYmIGlubGluZUxldmVsQm94KQog
SW5saW5lUmVjdCBMaW5lQm94Ojpsb2dpY2FsUmVjdEZvclRleHRSdW4oY29uc3QgTGluZTo6UnVu
JiBydW4pIGNvbnN0CiB7CiAgICAgQVNTRVJUKHJ1bi5pc1RleHQoKSB8fCBydW4uaXNTb2Z0TGlu
ZUJyZWFrKCkpOwotICAgIGF1dG8qIHBhcmVudElubGluZUJveCA9ICZpbmxpbmVMZXZlbEJveEZv
ckxheW91dEJveChydW4ubGF5b3V0Qm94KCkucGFyZW50KCkpOwotICAgIEFTU0VSVChwYXJlbnRJ
bmxpbmVCb3gtPmlzSW5saW5lQm94KCkpOwotICAgIGF1dG8gcnVubG9naWNhbFRvcCA9IHBhcmVu
dElubGluZUJveC0+bG9naWNhbFRvcCgpIC0gcGFyZW50SW5saW5lQm94LT5pbmxpbmVCb3hDb250
ZW50T2Zmc2V0Rm9yTGVhZGluZ1RyaW0oKTsKLSAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHQgPSBwYXJlbnRJbmxpbmVCb3gtPnByaW1hcnltZXRyaWNzT2ZQcmltYXJ5Rm9udCgpLmhl
aWdodCgpOwotCi0gICAgd2hpbGUgKHBhcmVudElubGluZUJveCAhPSAmbV9yb290SW5saW5lQm94
ICYmICFwYXJlbnRJbmxpbmVCb3gtPmhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpKSB7Ci0g
ICAgICAgIHBhcmVudElubGluZUJveCA9ICZpbmxpbmVMZXZlbEJveEZvckxheW91dEJveChwYXJl
bnRJbmxpbmVCb3gtPmxheW91dEJveCgpLnBhcmVudCgpKTsKLSAgICAgICAgQVNTRVJUKHBhcmVu
dElubGluZUJveC0+aXNJbmxpbmVCb3goKSk7Ci0gICAgICAgIHJ1bmxvZ2ljYWxUb3AgKz0gKHBh
cmVudElubGluZUJveC0+bG9naWNhbFRvcCgpIC0gcGFyZW50SW5saW5lQm94LT5pbmxpbmVCb3hD
b250ZW50T2Zmc2V0Rm9yTGVhZGluZ1RyaW0oKSk7CisgICAgYXV0byogYW5jZXN0b3JJbmxpbmVC
b3ggPSAmcGFyZW50SW5saW5lQm94KHJ1bik7CisgICAgQVNTRVJUKGFuY2VzdG9ySW5saW5lQm94
LT5pc0lubGluZUJveCgpKTsKKyAgICBhdXRvIHJ1bmxvZ2ljYWxUb3AgPSBhbmNlc3RvcklubGlu
ZUJveC0+bG9naWNhbFRvcCgpIC0gYW5jZXN0b3JJbmxpbmVCb3gtPmlubGluZUJveENvbnRlbnRP
ZmZzZXRGb3JMZWFkaW5nVHJpbSgpOworICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbEhlaWdo
dCA9IGFuY2VzdG9ySW5saW5lQm94LT5wcmltYXJ5bWV0cmljc09mUHJpbWFyeUZvbnQoKS5oZWln
aHQoKTsKKworICAgIHdoaWxlIChhbmNlc3RvcklubGluZUJveCAhPSAmbV9yb290SW5saW5lQm94
ICYmICFhbmNlc3RvcklubGluZUJveC0+aGFzTGluZUJveFJlbGF0aXZlQWxpZ25tZW50KCkpIHsK
KyAgICAgICAgYW5jZXN0b3JJbmxpbmVCb3ggPSAmcGFyZW50SW5saW5lQm94KCphbmNlc3Rvcklu
bGluZUJveCk7CisgICAgICAgIEFTU0VSVChhbmNlc3RvcklubGluZUJveC0+aXNJbmxpbmVCb3go
KSk7CisgICAgICAgIHJ1bmxvZ2ljYWxUb3AgKz0gKGFuY2VzdG9ySW5saW5lQm94LT5sb2dpY2Fs
VG9wKCkgLSBhbmNlc3RvcklubGluZUJveC0+aW5saW5lQm94Q29udGVudE9mZnNldEZvckxlYWRp
bmdUcmltKCkpOwogICAgIH0KICAgICByZXR1cm4geyBydW5sb2dpY2FsVG9wLCBtX3Jvb3RJbmxp
bmVCb3gubG9naWNhbExlZnQoKSArIHJ1bi5sb2dpY2FsTGVmdCgpLCBydW4ubG9naWNhbFdpZHRo
KCksIGxvZ2ljYWxIZWlnaHQgfTsKIH0KQEAgLTgzLDcgKzgzLDcgQEAgSW5saW5lTGF5b3V0VW5p
dCBMaW5lQm94OjppbmxpbmVMZXZlbEJveEFic29sdXRlVG9wKGNvbnN0IElubGluZUxldmVsQm94
JiBpbmxpbmUKICAgICAvLyBOZXN0ZWQgaW5saW5lIGNvbnRlbnQgZS5nIDxkaXY+PHNwYW4+PGlt
Zz48L3NwYW4+PC9kaXY+CiAgICAgYXV0byogYW5jZXN0b3JJbmxpbmVCb3ggPSAmaW5saW5lTGV2
ZWxCb3g7CiAgICAgd2hpbGUgKGFuY2VzdG9ySW5saW5lQm94ICE9ICZtX3Jvb3RJbmxpbmVCb3gg
JiYgIWFuY2VzdG9ySW5saW5lQm94LT5oYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQoKSkgewot
ICAgICAgICBhbmNlc3RvcklubGluZUJveCA9ICZpbmxpbmVMZXZlbEJveEZvckxheW91dEJveChh
bmNlc3RvcklubGluZUJveC0+bGF5b3V0Qm94KCkucGFyZW50KCkpOworICAgICAgICBhbmNlc3Rv
cklubGluZUJveCA9ICZwYXJlbnRJbmxpbmVCb3goKmFuY2VzdG9ySW5saW5lQm94KTsKICAgICAg
ICAgQVNTRVJUKGFuY2VzdG9ySW5saW5lQm94LT5pc0lubGluZUJveCgpKTsKICAgICAgICAgdG9w
ICs9IGFuY2VzdG9ySW5saW5lQm94LT5sb2dpY2FsVG9wKCk7CiAgICAgfQpAQCAtOTMsOSArOTMs
MTMgQEAgSW5saW5lTGF5b3V0VW5pdCBMaW5lQm94OjppbmxpbmVMZXZlbEJveEFic29sdXRlVG9w
KGNvbnN0IElubGluZUxldmVsQm94JiBpbmxpbmUKIElubGluZVJlY3QgTGluZUJveDo6bG9naWNh
bFJlY3RGb3JJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKIHsKICAg
ICBBU1NFUlQobGF5b3V0Qm94LmlzSW5saW5lTGV2ZWxCb3goKSB8fCBsYXlvdXRCb3guaXNMaW5l
QnJlYWtCb3goKSk7Ci0gICAgYXV0byYgaW5saW5lQm94ID0gaW5saW5lTGV2ZWxCb3hGb3JMYXlv
dXRCb3gobGF5b3V0Qm94KTsKLSAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0gaW5saW5l
Qm94LmxvZ2ljYWxSZWN0KCk7Ci0gICAgcmV0dXJuIElubGluZVJlY3QgeyBpbmxpbmVMZXZlbEJv
eEFic29sdXRlVG9wKGlubGluZUJveCksIGlubGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSwgaW5s
aW5lQm94TG9naWNhbFJlY3Qud2lkdGgoKSwgaW5saW5lQm94TG9naWNhbFJlY3QuaGVpZ2h0KCkg
fTsKKyAgICBhdXRvKiBpbmxpbmVCb3ggPSBpbmxpbmVMZXZlbEJveEZvcihsYXlvdXRCb3gpOwor
ICAgIGlmICghaW5saW5lQm94KSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4geyB9OworICAgIH0KKyAgICBhdXRvIGlubGluZUJveExvZ2ljYWxSZWN0ID0g
aW5saW5lQm94LT5sb2dpY2FsUmVjdCgpOworICAgIHJldHVybiBJbmxpbmVSZWN0IHsgaW5saW5l
TGV2ZWxCb3hBYnNvbHV0ZVRvcCgqaW5saW5lQm94KSwgaW5saW5lQm94TG9naWNhbFJlY3QubGVm
dCgpLCBpbmxpbmVCb3hMb2dpY2FsUmVjdC53aWR0aCgpLCBpbmxpbmVCb3hMb2dpY2FsUmVjdC5o
ZWlnaHQoKSB9OwogfQogCiBJbmxpbmVSZWN0IExpbmVCb3g6OmxvZ2ljYWxCb3JkZXJCb3hGb3JB
dG9taWNJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgQm94R2VvbWV0
cnkmIGJveEdlb21ldHJ5KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5oCmluZGV4
IDQ3YTJjOWVmNDBhZi4uMmIyYzg3MjRiYmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eC5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSW5saW5lTGV2ZWxCb3guaCIKICNpbmNs
dWRlICJJbmxpbmVMaW5lLmgiCiAjaW5jbHVkZSAiSW5saW5lUmVjdC5oIgorI2luY2x1ZGUgIkxh
eW91dEVsZW1lbnRCb3guaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApAQCAtNjUsMTQgKzY2LDE1IEBAIHB1YmxpYzoKICAg
ICBib29sIGhhc05vbklubGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIG1fYm94VHlwZXMuY29udGFp
bnNBbnkoeyBJbmxpbmVMZXZlbEJveDo6VHlwZTo6QXRvbWljSW5saW5lTGV2ZWxCb3gsIElubGlu
ZUxldmVsQm94OjpUeXBlOjpMaW5lQnJlYWtCb3gsIElubGluZUxldmVsQm94OjpUeXBlOjpHZW5l
cmljSW5saW5lTGV2ZWxCb3ggfSk7IH0KICAgICBib29sIGhhc0F0b21pY0lubGluZUxldmVsQm94
KCkgY29uc3QgeyByZXR1cm4gbV9ib3hUeXBlcy5jb250YWlucyhJbmxpbmVMZXZlbEJveDo6VHlw
ZTo6QXRvbWljSW5saW5lTGV2ZWxCb3gpOyB9CiAKLSAgICBjb25zdCBJbmxpbmVMZXZlbEJveCYg
aW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3goY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8TGluZUJveCY+KCp0aGlzKS5pbmxpbmVMZXZlbEJveEZvckxheW91
dEJveChsYXlvdXRCb3gpOyB9Ci0KICAgICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0Rm9yVGV4dFJ1
bihjb25zdCBMaW5lOjpSdW4mKSBjb25zdDsKICAgICBJbmxpbmVSZWN0IGxvZ2ljYWxSZWN0Rm9y
TGluZUJyZWFrQm94KGNvbnN0IEJveCYpIGNvbnN0OwogICAgIElubGluZVJlY3QgbG9naWNhbFJl
Y3RGb3JSb290SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gbV9yb290SW5saW5lQm94LmxvZ2lj
YWxSZWN0KCk7IH0KICAgICBJbmxpbmVSZWN0IGxvZ2ljYWxCb3JkZXJCb3hGb3JBdG9taWNJbmxp
bmVMZXZlbEJveChjb25zdCBCb3gmLCBjb25zdCBCb3hHZW9tZXRyeSYpIGNvbnN0OwogICAgIElu
bGluZVJlY3QgbG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChjb25zdCBCb3gmLCBjb25zdCBC
b3hHZW9tZXRyeSYpIGNvbnN0OwogCisgICAgY29uc3QgSW5saW5lTGV2ZWxCb3gqIGlubGluZUxl
dmVsQm94Rm9yKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0
PExpbmVCb3gmPigqdGhpcykuaW5saW5lTGV2ZWxCb3hGb3IobGF5b3V0Qm94KTsgfQorICAgIGNv
bnN0IElubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveEZvcihjb25zdCBMaW5lOjpSdW4mIGxp
bmVSdW4pIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8TGluZUJveCY+KCp0aGlzKS5pbmxpbmVM
ZXZlbEJveEZvcihsaW5lUnVuKTsgfQorCiAgICAgY29uc3QgSW5saW5lTGV2ZWxCb3gmIHJvb3RJ
bmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBtX3Jvb3RJbmxpbmVCb3g7IH0KICAgICB1c2luZyBJ
bmxpbmVMZXZlbEJveExpc3QgPSBWZWN0b3I8SW5saW5lTGV2ZWxCb3g+OwogICAgIGNvbnN0IElu
bGluZUxldmVsQm94TGlzdCYgbm9uUm9vdElubGluZUxldmVsQm94ZXMoKSBjb25zdCB7IHJldHVy
biBtX25vblJvb3RJbmxpbmVMZXZlbEJveExpc3Q7IH0KQEAgLTkzLDcgKzk1LDE1IEBAIHByaXZh
dGU6CiAKICAgICBJbmxpbmVMZXZlbEJveCYgcm9vdElubGluZUJveCgpIHsgcmV0dXJuIG1fcm9v
dElubGluZUJveDsgfQogCi0gICAgSW5saW5lTGV2ZWxCb3gmIGlubGluZUxldmVsQm94Rm9yTGF5
b3V0Qm94KGNvbnN0IEJveCYgbGF5b3V0Qm94KSB7IHJldHVybiAmbGF5b3V0Qm94ID09ICZtX3Jv
b3RJbmxpbmVCb3gubGF5b3V0Qm94KCkgPyBtX3Jvb3RJbmxpbmVCb3ggOiBtX25vblJvb3RJbmxp
bmVMZXZlbEJveExpc3RbbV9ub25Sb290SW5saW5lTGV2ZWxCb3hNYXAuZ2V0KCZsYXlvdXRCb3gp
XTsgfQorICAgIGNvbnN0IElubGluZUxldmVsQm94JiBwYXJlbnRJbmxpbmVCb3goY29uc3QgSW5s
aW5lTGV2ZWxCb3gmIGlubGluZUxldmVsQm94KSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PExp
bmVCb3gmPigqdGhpcykucGFyZW50SW5saW5lQm94KGlubGluZUxldmVsQm94KTsgfQorICAgIElu
bGluZUxldmVsQm94JiBwYXJlbnRJbmxpbmVCb3goY29uc3QgSW5saW5lTGV2ZWxCb3gmKTsKKwor
ICAgIGNvbnN0IElubGluZUxldmVsQm94JiBwYXJlbnRJbmxpbmVCb3goY29uc3QgTGluZTo6UnVu
JiBsaW5lUnVuKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PExpbmVCb3gmPigqdGhpcykucGFy
ZW50SW5saW5lQm94KGxpbmVSdW4pOyB9CisgICAgSW5saW5lTGV2ZWxCb3gmIHBhcmVudElubGlu
ZUJveChjb25zdCBMaW5lOjpSdW4mKTsKKworICAgIElubGluZUxldmVsQm94JiBpbmxpbmVMZXZl
bEJveEZvcihjb25zdCBMaW5lOjpSdW4mKTsKKyAgICBJbmxpbmVMZXZlbEJveCogaW5saW5lTGV2
ZWxCb3hGb3IoY29uc3QgQm94JiBsYXlvdXRCb3gpOworCiAgICAgSW5saW5lUmVjdCBsb2dpY2Fs
UmVjdEZvcklubGluZUxldmVsQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdDsKIAogICAg
IHZvaWQgc2V0TG9naWNhbFJlY3QoY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QpIHsgbV9s
b2dpY2FsUmVjdCA9IGxvZ2ljYWxSZWN0OyB9CkBAIC0xMTUsNiArMTI1LDMxIEBAIHByaXZhdGU6
CiAgICAgSGFzaE1hcDxjb25zdCBCb3gqLCBzaXplX3Q+IG1fbm9uUm9vdElubGluZUxldmVsQm94
TWFwOwogfTsKIAoraW5saW5lIElubGluZUxldmVsQm94KiBMaW5lQm94OjppbmxpbmVMZXZlbEJv
eEZvcihjb25zdCBCb3gmIGxheW91dEJveCkKK3sKKyAgICBpZiAoJmxheW91dEJveCA9PSAmbV9y
b290SW5saW5lQm94LmxheW91dEJveCgpKQorICAgICAgICByZXR1cm4gJm1fcm9vdElubGluZUJv
eDsKKyAgICBhdXRvIGVudHJ5ID0gbV9ub25Sb290SW5saW5lTGV2ZWxCb3hNYXAuZmluZCgmbGF5
b3V0Qm94KTsKKyAgICBpZiAoZW50cnkgPT0gbV9ub25Sb290SW5saW5lTGV2ZWxCb3hNYXAuZW5k
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiAmbV9ub25Sb290SW5saW5l
TGV2ZWxCb3hMaXN0W2VudHJ5LT52YWx1ZV07Cit9CisKK2lubGluZSBJbmxpbmVMZXZlbEJveCYg
TGluZUJveDo6cGFyZW50SW5saW5lQm94KGNvbnN0IElubGluZUxldmVsQm94JiBpbmxpbmVMZXZl
bEJveCkKK3sKKyAgICByZXR1cm4gKmlubGluZUxldmVsQm94Rm9yKGlubGluZUxldmVsQm94Lmxh
eW91dEJveCgpLnBhcmVudCgpKTsKK30KKworaW5saW5lIElubGluZUxldmVsQm94JiBMaW5lQm94
OjpwYXJlbnRJbmxpbmVCb3goY29uc3QgTGluZTo6UnVuJiBsaW5lUnVuKQoreworICAgIHJldHVy
biAqaW5saW5lTGV2ZWxCb3hGb3IobGluZVJ1bi5sYXlvdXRCb3goKS5wYXJlbnQoKSk7Cit9CisK
K2lubGluZSBJbmxpbmVMZXZlbEJveCYgTGluZUJveDo6aW5saW5lTGV2ZWxCb3hGb3IoY29uc3Qg
TGluZTo6UnVuJiBsaW5lUnVuKQoreworICAgIHJldHVybiAqaW5saW5lTGV2ZWxCb3hGb3IobGlu
ZVJ1bi5sYXlvdXRCb3goKSk7Cit9CisKIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJveEJ1aWxkZXIuY3BwCmluZGV4IDE3YTljZmY4NThjMi4uMjM5OGMzZTYxYTYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCkBAIC0yOTAs
NyArMjkwLDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0VmVydGljYWxQcm9wZXJ0aWVzRm9y
SW5saW5lTGV2ZWxCb3goY29uc3QgTGluZUJveCYgbGluZUIKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBpZiAoaW5saW5lTGV2ZWxCb3guaXNMaW5lQnJlYWtCb3goKSkgewotICAgICAgICBh
dXRvIHBhcmVudEFzY2VudEFuZERlc2NlbnQgPSBwcmltYXJ5Rm9udE1ldHJpY3NGb3JJbmxpbmVC
b3gobGluZUJveC5pbmxpbmVMZXZlbEJveEZvckxheW91dEJveChpbmxpbmVMZXZlbEJveC5sYXlv
dXRCb3goKS5wYXJlbnQoKSksIGxpbmVCb3guYmFzZWxpbmVUeXBlKCkpOworICAgICAgICBhdXRv
IHBhcmVudEFzY2VudEFuZERlc2NlbnQgPSBwcmltYXJ5Rm9udE1ldHJpY3NGb3JJbmxpbmVCb3go
bGluZUJveC5wYXJlbnRJbmxpbmVCb3goaW5saW5lTGV2ZWxCb3gpLCBsaW5lQm94LmJhc2VsaW5l
VHlwZSgpKTsKICAgICAgICAgc2V0QXNjZW50QW5kRGVzY2VudChwYXJlbnRBc2NlbnRBbmREZXNj
ZW50KTsKICAgICAgICAgaW5saW5lTGV2ZWxCb3guc2V0TG9naWNhbEhlaWdodChwYXJlbnRBc2Nl
bnRBbmREZXNjZW50LmhlaWdodCgpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzA0LDcgKzMwNCw3
IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OnNldFZlcnRpY2FsUHJvcGVydGllc0ZvcklubGluZUxl
dmVsQm94KGNvbnN0IExpbmVCb3gmIGxpbmVCCiAgICAgICAgIGlubGluZUxldmVsQm94LnNldExv
Z2ljYWxIZWlnaHQobWFyZ2luQm94SGVpZ2h0KTsKICAgICAgICAgaWYgKGxpbmVCb3guYmFzZWxp
bmVUeXBlKCkgPT0gSWRlb2dyYXBoaWNCYXNlbGluZSkgewogICAgICAgICAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCByZWx5IG9uIHRoZSBpbnRlZ3JhdGlvbiBiYXNlbGluZS4KLSAgICAgICAgICAg
IHNldEFzY2VudEFuZERlc2NlbnQocHJpbWFyeUZvbnRNZXRyaWNzRm9ySW5saW5lQm94KGxpbmVC
b3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3goaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCku
cGFyZW50KCkpLCBsaW5lQm94LmJhc2VsaW5lVHlwZSgpKSk7CisgICAgICAgICAgICBzZXRBc2Nl
bnRBbmREZXNjZW50KHByaW1hcnlGb250TWV0cmljc0ZvcklubGluZUJveChsaW5lQm94LnBhcmVu
dElubGluZUJveChpbmxpbmVMZXZlbEJveCksIGxpbmVCb3guYmFzZWxpbmVUeXBlKCkpKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAoYXV0byBhc2NlbnQgPSBk
b3duY2FzdDxFbGVtZW50Qm94PihsYXlvdXRCb3gpLmJhc2VsaW5lRm9ySW50ZWdyYXRpb24oKSkK
QEAgLTM1MSw3ICszNTEsOSBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVM
ZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gpCiAgICAgfTsKIAogICAgIGF1dG8gbGluZUhhc0Nv
bnRlbnQgPSBmYWxzZTsKLSAgICBmb3IgKGF1dG8mIHJ1biA6IGxpbmVDb250ZW50KCkucnVucykg
eworICAgIGF1dG8mIHJ1bnMgPSBsaW5lQ29udGVudCgpLnJ1bnM7CisgICAgZm9yIChzaXplX3Qg
aW5kZXggPSAwOyBpbmRleCA8IHJ1bnMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAgICAgIGF1dG8m
IHJ1biA9IHJ1bnNbaW5kZXhdOwogICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4ubGF5b3V0
Qm94KCk7CiAgICAgICAgIGF1dG8mIHN0eWxlID0gc3R5bGVUb1VzZShsYXlvdXRCb3gpOwogICAg
ICAgICBhdXRvIHJ1bkhhc0NvbnRlbnQgPSBbJl0gKCkgLT4gYm9vbCB7CkBAIC00MTYsNyArNDE4
LDcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiBsaW5lQm94KQogICAgICAgICBpZiAocnVuLmlzSW5saW5lQm94RW5kKCkpIHsKICAgICAg
ICAgICAgIC8vIEFkanVzdCB0aGUgbG9naWNhbCB3aWR0aCB3aGVuIHRoZSBpbmxpbmUgYm94IGNs
b3NlcyBvbiB0aGlzIGxpbmUuCiAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgbWFyZ2luIGVuZCBk
b2VzIG5vdCBhZmZlY3QgdGhlIGxvZ2ljYWwgd2lkdGggKGUuZy4gcG9zaXRpdmUgbWFyZ2luIHJp
Z2h0IGRvZXMgbm90IG1ha2UgdGhlIHJ1biB3aWRlcikuCi0gICAgICAgICAgICBhdXRvJiBpbmxp
bmVCb3ggPSBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7Cisg
ICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yKHJ1
bik7CiAgICAgICAgICAgICBBU1NFUlQoaW5saW5lQm94LmlzSW5saW5lQm94KCkpOwogICAgICAg
ICAgICAgLy8gSW5saW5lIGJveCBydW4gaXMgYmFzZWQgb24gbWFyZ2luIGJveC4gTGV0J3MgY29u
dmVydCBpdCB0byBib3JkZXIgYm94LgogICAgICAgICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGVu
ZCBtYWtlcyB0aGUgcnVuIGhhdmUgbmVnYXRpdmUgd2lkdGguCkBAIC00MzAsNyArNDMyLDcgQEAg
dm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBs
aW5lQm94KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJ1
bi5pc1RleHQoKSkgewotICAgICAgICAgICAgYXV0byYgcGFyZW50SW5saW5lQm94ID0gbGluZUJv
eC5pbmxpbmVMZXZlbEJveEZvckxheW91dEJveChsYXlvdXRCb3gucGFyZW50KCkpOworICAgICAg
ICAgICAgYXV0byYgcGFyZW50SW5saW5lQm94ID0gbGluZUJveC5wYXJlbnRJbmxpbmVCb3gocnVu
KTsKICAgICAgICAgICAgIHBhcmVudElubGluZUJveC5zZXRIYXNDb250ZW50KCk7CiAgICAgICAg
ICAgICBpZiAoYXV0byBmYWxsYmFja0ZvbnRzID0gY29sbGVjdEZhbGxiYWNrRm9udHMocGFyZW50
SW5saW5lQm94LCBydW4sIHN0eWxlKTsgIWZhbGxiYWNrRm9udHMuaXNFbXB0eSgpKSB7CiAgICAg
ICAgICAgICAgICAgLy8gQWRqdXN0IG5vbi1lbXB0eSBpbmxpbmUgYm94IGhlaWdodCB3aGVuIGds
eXBocyBmcm9tIHRoZSBub24tcHJpbWFyeSBmb250IHN0cmV0Y2ggdGhlIGJveC4KQEAgLTQ0MCw3
ICs0NDIsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVz
KExpbmVCb3gmIGxpbmVCb3gpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAg
ICAgICBpZiAocnVuLmlzU29mdExpbmVCcmVhaygpKSB7Ci0gICAgICAgICAgICBsaW5lQm94Lmlu
bGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveC5wYXJlbnQoKSkuc2V0SGFzQ29udGVu
dCgpOworICAgICAgICAgICAgbGluZUJveC5wYXJlbnRJbmxpbmVCb3gocnVuKS5zZXRIYXNDb250
ZW50KCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBpZiAocnVu
LmlzSGFyZExpbmVCcmVhaygpKSB7CkBAIC00NDksMTggKzQ1MSwxOCBAQCB2b2lkIExpbmVCb3hC
dWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmIGxpbmVCb3gpCiAgICAg
ICAgICAgICBsaW5lQm94LmFkZElubGluZUxldmVsQm94KFdURk1vdmUobGluZUJyZWFrQm94KSk7
CiAKICAgICAgICAgICAgIGlmIChsYXlvdXRTdGF0ZSgpLmluU3RhbmRhcmRzTW9kZSgpIHx8IElu
bGluZUZvcm1hdHRpbmdRdWlya3M6OmxpbmVCcmVha0JveEFmZmVjdHNQYXJlbnRJbmxpbmVCb3go
bGluZUJveCkpCi0gICAgICAgICAgICAgICAgbGluZUJveC5pbmxpbmVMZXZlbEJveEZvckxheW91
dEJveChsYXlvdXRCb3gucGFyZW50KCkpLnNldEhhc0NvbnRlbnQoKTsKKyAgICAgICAgICAgICAg
ICBsaW5lQm94LnBhcmVudElubGluZUJveChydW4pLnNldEhhc0NvbnRlbnQoKTsKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmIChydW4uaXNMaXN0TWFya2VyKCkp
IHsKICAgICAgICAgICAgIGF1dG8mIGxpc3RNYXJrZXJCb3ggPSBkb3duY2FzdDxFbGVtZW50Qm94
PihsYXlvdXRCb3gpOwogICAgICAgICAgICAgaWYgKCFsaXN0TWFya2VyQm94LmlzTGlzdE1hcmtl
ckltYWdlKCkpIHsKICAgICAgICAgICAgICAgICAvLyBOb24taW1hZ2UgdHlwZSBvZiBsaXN0IG1h
cmtlcnMgbWFrZSB0aGVpciBwYXJlbnQgaW5saW5lIGJveGVzIChlLmcuIHJvb3QgaW5saW5lIGJv
eCkgY29udGVudGZ1bCAoYW5kIHN0cmV0Y2ggdGhlbSB2ZXJ0aWNhbGx5KS4KLSAgICAgICAgICAg
ICAgICBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxpc3RNYXJrZXJCb3gucGFy
ZW50KCkpLnNldEhhc0NvbnRlbnQoKTsKKyAgICAgICAgICAgICAgICBsaW5lQm94LnBhcmVudElu
bGluZUJveChydW4pLnNldEhhc0NvbnRlbnQoKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgaWYgKGxpc3RNYXJrZXJCb3guaXNMaXN0TWFya2VyT3V0c2lkZSgpKQotICAgICAgICAgICAg
ICAgIG1fb3V0c2lkZUxpc3RNYXJrZXJzLmFwcGVuZCgmbGlzdE1hcmtlckJveCk7CisgICAgICAg
ICAgICAgICAgbV9vdXRzaWRlTGlzdE1hcmtlcnMuYXBwZW5kKGluZGV4KTsKIAogICAgICAgICAg
ICAgYXV0byBhdG9taWNJbmxpbmVMZXZlbEJveCA9IElubGluZUxldmVsQm94OjpjcmVhdGVBdG9t
aWNJbmxpbmVMZXZlbEJveChsaXN0TWFya2VyQm94LCBzdHlsZSwgbG9naWNhbExlZnQsIGZvcm1h
dHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gobGlzdE1hcmtlckJveCkuYm9yZGVyQm94V2lk
dGgoKSk7CiAgICAgICAgICAgICBzZXRWZXJ0aWNhbFByb3BlcnRpZXNGb3JJbmxpbmVMZXZlbEJv
eChsaW5lQm94LCBhdG9taWNJbmxpbmVMZXZlbEJveCk7CkBAIC01MzksNyArNTQxLDcgQEAgdm9p
ZCBMaW5lQm94QnVpbGRlcjo6YWRqdXN0SW5saW5lQm94SGVpZ2h0c0ZvckxpbmVCb3hDb250YWlu
SWZBcHBsaWNhYmxlKExpbmVCb3gKICAgICAgICAgICAgIGF1dG8mIHN0eWxlID0gaXNGaXJzdExp
bmUoKSA/IHRleHRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IHRleHRCb3guc3R5bGUoKTsKICAgICAg
ICAgICAgIGF1dG8gZW5jbG9zaW5nQXNjZW50RGVzY2VudEZvclJ1biA9IFRleHRVdGlsOjplbmNs
b3NpbmdHbHlwaEJvdW5kc0ZvclRleHQoU3RyaW5nVmlldyh0ZXh0Qm94LmNvbnRlbnQoKSkuc3Vi
c3RyaW5nKHRleHRDb250ZW50LT5zdGFydCwgdGV4dENvbnRlbnQtPmxlbmd0aCksIHN0eWxlKTsK
IAotICAgICAgICAgICAgYXV0byYgcGFyZW50SW5saW5lQm94ID0gbGluZUJveC5pbmxpbmVMZXZl
bEJveEZvckxheW91dEJveCh0ZXh0Qm94LnBhcmVudCgpKTsKKyAgICAgICAgICAgIGF1dG8mIHBh
cmVudElubGluZUJveCA9IGxpbmVCb3gucGFyZW50SW5saW5lQm94KHJ1bik7CiAgICAgICAgICAg
ICBhdXRvIGVuY2xvc2luZ0FzY2VudERlc2NlbnRGb3JJbmxpbmVCb3ggPSBpbmxpbmVCb3hCb3Vu
ZHNNYXAuZ2V0KCZwYXJlbnRJbmxpbmVCb3gpOwogICAgICAgICAgICAgZW5jbG9zaW5nQXNjZW50
RGVzY2VudEZvcklubGluZUJveC5hc2NlbnQgPSBzdGQ6Om1heChlbmNsb3NpbmdBc2NlbnREZXNj
ZW50Rm9ySW5saW5lQm94LmFzY2VudCwgLWVuY2xvc2luZ0FzY2VudERlc2NlbnRGb3JSdW4uYXNj
ZW50KTsKICAgICAgICAgICAgIGVuY2xvc2luZ0FzY2VudERlc2NlbnRGb3JJbmxpbmVCb3guZGVz
Y2VudCA9IHN0ZDo6bWF4KGVuY2xvc2luZ0FzY2VudERlc2NlbnRGb3JJbmxpbmVCb3guZGVzY2Vu
dCwgZW5jbG9zaW5nQXNjZW50RGVzY2VudEZvclJ1bi5kZXNjZW50KTsKQEAgLTcyNywxMyArNzI5
LDE3IEBAIHZvaWQgTGluZUJveEJ1aWxkZXI6OmFkanVzdE91dHNpZGVMaXN0TWFya2Vyc1Bvc2l0
aW9uKExpbmVCb3gmIGxpbmVCb3gpCiAgICAgYXV0byBsaW5lQm94T2Zmc2V0ID0gbGluZUJveFJl
Y3QubGVmdCgpIC0gbGluZUNvbnRlbnQoKS5saW5lSW5pdGlhbExvZ2ljYWxMZWZ0SW5jbHVkaW5n
SW50cnVzaXZlRmxvYXRzOwogICAgIGF1dG8gcm9vdElubGluZUJveExvZ2ljYWxMZWZ0ID0gbGlu
ZUJveC5sb2dpY2FsUmVjdEZvclJvb3RJbmxpbmVCb3goKS5sZWZ0KCk7CiAgICAgYXV0byByb290
SW5saW5lQm94T2Zmc2V0RnJvbUNvbnRlbnRCb3hPckludHJ1c2l2ZUZsb2F0ID0gbGluZUJveE9m
ZnNldCArIHJvb3RJbmxpbmVCb3hMb2dpY2FsTGVmdDsKLSAgICBmb3IgKGF1dG8qIGxpc3RNYXJr
ZXJCb3ggOiBtX291dHNpZGVMaXN0TWFya2VycykgewotICAgICAgICBhdXRvJiBsaXN0TWFya2Vy
SW5saW5lTGV2ZWxCb3ggPSBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KCpsaXN0
TWFya2VyQm94KTsKKyAgICBmb3IgKGF1dG8gbGlzdE1hcmtlckJveEluZGV4IDogbV9vdXRzaWRl
TGlzdE1hcmtlcnMpIHsKKyAgICAgICAgYXV0byYgbGlzdE1hcmtlclJ1biA9IGxpbmVDb250ZW50
KCkucnVuc1tsaXN0TWFya2VyQm94SW5kZXhdOworICAgICAgICBBU1NFUlQobGlzdE1hcmtlclJ1
bi5pc0xpc3RNYXJrZXIoKSk7CisgICAgICAgIGF1dG8mIGxpc3RNYXJrZXJCb3ggPSBkb3duY2Fz
dDxFbGVtZW50Qm94PihsaXN0TWFya2VyUnVuLmxheW91dEJveCgpKTsKKyAgICAgICAgQVNTRVJU
KGxpc3RNYXJrZXJCb3guaXNMaXN0TWFya2VyT3V0c2lkZSgpKTsKKyAgICAgICAgYXV0byYgbGlz
dE1hcmtlcklubGluZUxldmVsQm94ID0gbGluZUJveC5pbmxpbmVMZXZlbEJveEZvcihsaXN0TWFy
a2VyUnVuKTsKICAgICAgICAgLy8gTW92ZSBpdCB0byB0aGUgbG9naWNhbCBsZWZ0IG9mIHRoZSBs
aW5lIGJveCAoZnJvbSB0aGUgbG9naWNhbCBsZWZ0IG9mIHRoZSByb290IGlubGluZSBib3gpLgog
ICAgICAgICBhdXRvIGxpc3RNYXJrZXJJbml0aWFsT2Zmc2V0RnJvbVJvb3RJbmxpbmVCb3ggPSBs
aXN0TWFya2VySW5saW5lTGV2ZWxCb3gubG9naWNhbExlZnQoKSAtIHJvb3RJbmxpbmVCb3hPZmZz
ZXRGcm9tQ29udGVudEJveE9ySW50cnVzaXZlRmxvYXQ7CiAgICAgICAgIGF1dG8gbG9naWNhbExl
ZnQgPSBsaXN0TWFya2VySW5pdGlhbE9mZnNldEZyb21Sb290SW5saW5lQm94OwogICAgICAgICBh
dXRvIG5lc3RlZExpc3RNYXJrZXJNYXJnaW5TdGFydCA9IFsmXSB7Ci0gICAgICAgICAgICBhdXRv
IG5lc3RlZE9mZnNldCA9IGZvcm1hdHRpbmdTdGF0ZS5uZXN0ZWRMaXN0TWFya2VyT2Zmc2V0KCps
aXN0TWFya2VyQm94KTsKKyAgICAgICAgICAgIGF1dG8gbmVzdGVkT2Zmc2V0ID0gZm9ybWF0dGlu
Z1N0YXRlLm5lc3RlZExpc3RNYXJrZXJPZmZzZXQobGlzdE1hcmtlckJveCk7CiAgICAgICAgICAg
ICBpZiAobmVzdGVkT2Zmc2V0ID09IExheW91dFVuaXQ6Om1pbigpKQogICAgICAgICAgICAgICAg
IHJldHVybiAwX2x1OwogICAgICAgICAgICAgLy8gTmVzdGVkIGxpc3QgbWFya2VycyAoaW4gc3Rh
bmRhcmRzIG1vZGUpIHNoYXJlIHRoZSBzYW1lIGxpbmUgYW5kIGhhdmUgb2Zmc2V0cyBhcyBpZiB0
aGV5IGhhZCBkZWRpY2F0ZWQgbGluZXMuCkBAIC03NDgsNyArNzU0LDcgQEAgdm9pZCBMaW5lQm94
QnVpbGRlcjo6YWRqdXN0T3V0c2lkZUxpc3RNYXJrZXJzUG9zaXRpb24oTGluZUJveCYgbGluZUJv
eCkKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBtYXkgbmVlZCB0byBkbyB0aGlzIGluIGEgcG9z
dC1wcm9jZXNzIHRhc2sgYWZ0ZXIgdGhlIGxpbmUgYm94IGdlb21ldHJ5IGlzIGNvbXB1dGVkLgog
ICAgICAgICAgICAgcmV0dXJuIGZsb2F0Q29uc3RyYWludHMubGVmdCA/IHN0ZDo6bWluKDBfbHUs
IHN0ZDo6bWF4KGZsb2F0Q29uc3RyYWludHMubGVmdC0+eCwgbmVzdGVkT2Zmc2V0KSkgOiBuZXN0
ZWRPZmZzZXQ7CiAgICAgICAgIH0oKTsKLSAgICAgICAgZm9ybWF0dGluZ0dlb21ldHJ5LmFkanVz
dE1hcmdpblN0YXJ0Rm9yTGlzdE1hcmtlcigqbGlzdE1hcmtlckJveCwgbmVzdGVkTGlzdE1hcmtl
ck1hcmdpblN0YXJ0LCByb290SW5saW5lQm94T2Zmc2V0RnJvbUNvbnRlbnRCb3hPckludHJ1c2l2
ZUZsb2F0KTsKKyAgICAgICAgZm9ybWF0dGluZ0dlb21ldHJ5LmFkanVzdE1hcmdpblN0YXJ0Rm9y
TGlzdE1hcmtlcihsaXN0TWFya2VyQm94LCBuZXN0ZWRMaXN0TWFya2VyTWFyZ2luU3RhcnQsIHJv
b3RJbmxpbmVCb3hPZmZzZXRGcm9tQ29udGVudEJveE9ySW50cnVzaXZlRmxvYXQpOwogICAgICAg
ICBsb2dpY2FsTGVmdCArPSBuZXN0ZWRMaXN0TWFya2VyTWFyZ2luU3RhcnQ7CiAgICAgICAgIGxp
c3RNYXJrZXJJbmxpbmVMZXZlbEJveC5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmgKaW5kZXggZDcxYWVj
YTQ4NWRmLi5iZGVjZWU1MTdiZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eEJ1aWxkZXIuaApAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IEJsb2NrTGF5
b3V0U3RhdGUmIG1fYmxvY2tMYXlvdXRTdGF0ZTsKICAgICBib29sIG1fZmFsbGJhY2tGb250UmVx
dWlyZXNJZGVvZ3JhcGhpY0Jhc2VsaW5lIHsgZmFsc2UgfTsKICAgICBIYXNoTWFwPGNvbnN0IElu
bGluZUxldmVsQm94KiwgVGV4dFV0aWw6OkZhbGxiYWNrRm9udExpc3Q+IG1fZmFsbGJhY2tGb250
c0ZvcklubGluZUJveGVzOwotICAgIFZlY3Rvcjxjb25zdCBFbGVtZW50Qm94Kj4gbV9vdXRzaWRl
TGlzdE1hcmtlcnM7CisgICAgVmVjdG9yPHNpemVfdD4gbV9vdXRzaWRlTGlzdE1hcmtlcnM7CiB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGljYWxBbGlnbmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hWZXJ0aWNh
bEFsaWduZXIuY3BwCmluZGV4IDgwNGZhNDRiZjY4Yi4uMjYyYmJhMmE0ZGNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVM
aW5lQm94VmVydGljYWxBbGlnbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGljYWxBbGlnbmVyLmNwcApA
QCAtMTYxLDE0ICsxNjEsMTMgQEAgTGluZUJveFZlcnRpY2FsQWxpZ25lcjo6TGluZUJveEFsaWdu
bWVudENvbnRlbnQgTGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0ZUwKIAogICAgIFZlY3Rv
cjxJbmxpbmVMZXZlbEJveCo+IGxpbmVCb3hSZWxhdGl2ZUlubGluZUxldmVsQm94ZXM7CiAgICAg
Zm9yIChhdXRvJiBpbmxpbmVMZXZlbEJveCA6IGxpbmVCb3gubm9uUm9vdElubGluZUxldmVsQm94
ZXMoKSkgewotICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRC
b3goKTsKICAgICAgICAgY29udGVudEhhc0Fubm90YXRpb24gPSBjb250ZW50SGFzQW5ub3RhdGlv
biB8fCBpbmxpbmVMZXZlbEJveC5oYXNBbm5vdGF0aW9uKCk7CiAKICAgICAgICAgaWYgKGlubGlu
ZUxldmVsQm94Lmhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpKSB7CiAgICAgICAgICAgICBs
aW5lQm94UmVsYXRpdmVJbmxpbmVMZXZlbEJveGVzLmFwcGVuZCgmaW5saW5lTGV2ZWxCb3gpOwog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgYXV0byYgcGFyZW50SW5s
aW5lQm94ID0gbGluZUJveC5pbmxpbmVMZXZlbEJveEZvckxheW91dEJveChsYXlvdXRCb3gucGFy
ZW50KCkpOworICAgICAgICBhdXRvJiBwYXJlbnRJbmxpbmVCb3ggPSBsaW5lQm94LnBhcmVudElu
bGluZUJveChpbmxpbmVMZXZlbEJveCk7CiAgICAgICAgIC8vIExvZ2ljYWwgdG9wIGlzIHJlbGF0
aXZlIHRvIHRoZSBwYXJlbnQgaW5saW5lIGJveCdzIGxheW91dCBib3VuZHMuCiAgICAgICAgIC8v
IE5vdGUgdGhhdCB0aGlzIGxvZ2ljYWwgdG9wIGlzIG5vdCB0aGUgZmluYWwgbG9naWNhbCB0b3Ag
b2YgdGhlIGlubGluZSBsZXZlbCBib3guCiAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGxvZ2ljYWwg
dG9wIGluIHRoZSBjb250ZXh0IG9mIHRoZSBsYXlvdXQgYm91bmRzIGdlb21ldHJ5IHdoaWNoIG1h
eSBiZSB2ZXJ5IGRpZmZlcmVudCBmcm9tIHRoZSBpbmxpbmUgYm94J3Mgbm9ybWFsIGdlb21ldHJ5
LgpAQCAtMjkzLDggKzI5Miw3IEBAIHZvaWQgTGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0
ZVJvb3RJbmxpbmVCb3hWZXJ0aWNhbFBvc2l0aW9uKExpbmVCb3gmIGxpbmVCCiAgICAgICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgfQotICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3go
KTsKLSAgICAgICAgYXV0byYgcGFyZW50SW5saW5lQm94ID0gbGluZUJveC5pbmxpbmVMZXZlbEJv
eEZvckxheW91dEJveChsYXlvdXRCb3gucGFyZW50KCkpOworICAgICAgICBhdXRvJiBwYXJlbnRJ
bmxpbmVCb3ggPSBsaW5lQm94LnBhcmVudElubGluZUJveChpbmxpbmVMZXZlbEJveCk7CiAgICAg
ICAgIGF1dG8gYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBJbmxpbmVMYXlvdXRV
bml0IHsgfTsKIAogICAgICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ24udHlwZSkgewpAQCAtNDA0
LDggKzQwMiw3IEBAIHZvaWQgTGluZUJveFZlcnRpY2FsQWxpZ25lcjo6YWxpZ25JbmxpbmVMZXZl
bEJveGVzKExpbmVCb3gmIGxpbmVCb3gsIElubGluZUxheW91CiAgICAgICAgICAgICBsaW5lQm94
UmVsYXRpdmVJbmxpbmVMZXZlbEJveGVzLmFwcGVuZChpbmRleCk7CiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgfQotICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBpbmxpbmVMZXZlbEJv
eC5sYXlvdXRCb3goKTsKLSAgICAgICAgYXV0byYgcGFyZW50SW5saW5lQm94ID0gbGluZUJveC5p
bmxpbmVMZXZlbEJveEZvckxheW91dEJveChsYXlvdXRCb3gucGFyZW50KCkpOworICAgICAgICBh
dXRvJiBwYXJlbnRJbmxpbmVCb3ggPSBsaW5lQm94LnBhcmVudElubGluZUJveChpbmxpbmVMZXZl
bEJveCk7CiAgICAgICAgIGF1dG8gbG9naWNhbFRvcCA9IElubGluZUxheW91dFVuaXQgeyB9Owog
ICAgICAgICBhdXRvIHZlcnRpY2FsQWxpZ24gPSBpbmxpbmVMZXZlbEJveC52ZXJ0aWNhbEFsaWdu
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAppbmRleCBiMjc3M2RmM2E3ZTQuLmVlNTIwNDJjZjBh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtNDYyLDcgKzQ2Miw3IEBAIHZvaWQgSW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzTm9uQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1
aWxkZXI6OkxpbmVDCiAgICAgICAgIH0KICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVCb3hT
dGFydCgpKSB7CiAgICAgICAgICAgICBhcHBlbmRJbmxpbmVCb3hEaXNwbGF5Qm94KGxpbmVSdW4K
LSAgICAgICAgICAgICAgICAsIGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGlu
ZVJ1bi5sYXlvdXRCb3goKSkKKyAgICAgICAgICAgICAgICAsIGxpbmVCb3guaW5saW5lTGV2ZWxC
b3hGb3IobGluZVJ1bikKICAgICAgICAgICAgICAgICAsIHZpc3VhbFJlY3RSZWxhdGl2ZVRvUm9v
dChsaW5lQm94LmxvZ2ljYWxCb3JkZXJCb3hGb3JJbmxpbmVCb3gobGF5b3V0Qm94LCBmb3JtYXR0
aW5nU3RhdGUoKS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpKSkKICAgICAgICAgICAgICAgICAsIGxp
bmVCb3guaGFzQ29udGVudCgpCiAgICAgICAgICAgICAgICAgLCBib3hlcyk7CkBAIC00NzYsNyAr
NDc2LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NOb25CaWRp
Q29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUMKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGFwcGVuZFNwYW5uaW5nSW5saW5lQm94RGlz
cGxheUJveChsaW5lUnVuCi0gICAgICAgICAgICAgICAgLCBsaW5lQm94LmlubGluZUxldmVsQm94
Rm9yTGF5b3V0Qm94KGxpbmVSdW4ubGF5b3V0Qm94KCkpCisgICAgICAgICAgICAgICAgLCBsaW5l
Qm94LmlubGluZUxldmVsQm94Rm9yKGxpbmVSdW4pCiAgICAgICAgICAgICAgICAgLCB2aXN1YWxS
ZWN0UmVsYXRpdmVUb1Jvb3QobGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9ySW5saW5lQm94KGxh
eW91dEJveCwgZm9ybWF0dGluZ1N0YXRlKCkuYm94R2VvbWV0cnkobGF5b3V0Qm94KSkpCiAgICAg
ICAgICAgICAgICAgLCBib3hlcyk7CiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTYzMCwxNiAr
NjMwLDE3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjphZGp1c3RWaXN1YWxH
ZW9tZXRyeUZvckRpc3BsYXlCb3goc2l6ZV90IGRpc3BsCiAgICAgfTsKICAgICBhZnRlcklubGlu
ZUJveENvbnRlbnQoKTsKIAotICAgIGF1dG8mIGlubGluZUJveCA9IGxpbmVCb3guaW5saW5lTGV2
ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KTsKKyAgICBhdXRvKiBpbmxpbmVCb3ggPSBsaW5l
Qm94LmlubGluZUxldmVsQm94Rm9yKGxheW91dEJveCk7CisgICAgQVNTRVJUKGlubGluZUJveCk7
CiAgICAgYXV0byBjb21wdXRlSW5rT3ZlcmZsb3cgPSBbJl0gewogICAgICAgICBhdXRvIGlua092
ZXJmbG93ID0gRmxvYXRSZWN0IHsgZGlzcGxheUJveC52aXN1YWxSZWN0SWdub3JpbmdCbG9ja0Rp
cmVjdGlvbigpIH07Ci0gICAgICAgIG1fY29udGVudEhhc0lua092ZXJmbG93ID0gY29tcHV0ZUlu
a092ZXJmbG93Rm9ySW5saW5lQm94KGlubGluZUJveCwgIW1fbGluZUluZGV4ID8gbGF5b3V0Qm94
LmZpcnN0TGluZVN0eWxlKCkgOiBsYXlvdXRCb3guc3R5bGUoKSwgaW5rT3ZlcmZsb3cpIHx8IG1f
Y29udGVudEhhc0lua092ZXJmbG93OworICAgICAgICBtX2NvbnRlbnRIYXNJbmtPdmVyZmxvdyA9
IGNvbXB1dGVJbmtPdmVyZmxvd0ZvcklubGluZUJveCgqaW5saW5lQm94LCAhbV9saW5lSW5kZXgg
PyBsYXlvdXRCb3guZmlyc3RMaW5lU3R5bGUoKSA6IGxheW91dEJveC5zdHlsZSgpLCBpbmtPdmVy
ZmxvdykgfHwgbV9jb250ZW50SGFzSW5rT3ZlcmZsb3c7CiAgICAgICAgIGRpc3BsYXlCb3guYWRq
dXN0SW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpOwogICAgIH07CiAgICAgY29tcHV0ZUlua092ZXJm
bG93KCk7CiAKICAgICBzZXRJbmxpbmVCb3hHZW9tZXRyeShsYXlvdXRCb3gsIGRpc3BsYXlCb3gu
dmlzdWFsUmVjdElnbm9yaW5nQmxvY2tEaXJlY3Rpb24oKSwgaXNGaXJzdEJveCk7Ci0gICAgaWYg
KGlubGluZUJveC5oYXNDb250ZW50KCkpCisgICAgaWYgKGlubGluZUJveC0+aGFzQ29udGVudCgp
KQogICAgICAgICBkaXNwbGF5Qm94LnNldEhhc0NvbnRlbnQoKTsKIH0KIApAQCAtNzM2LDcgKzcz
Nyw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRl
bnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAgICAgICAgICAgICAgICAgaWYgKCFsaW5l
Qm94Lmhhc0NvbnRlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBl
eHBlY3RlZCB0byBub3QgaGF2ZSBhbnkgaW5saW5lIGJveGVzIG9uIGVtcHR5IGxpbmVzLiBUaGV5
IG1ha2UgdGhlIGxpbmUgdGFsbGVyLiBXZSBzaG91bGQgcmVjb25zaWRlciB0aGlzLgogICAgICAg
ICAgICAgICAgICAgICBzZXRJbmxpbmVCb3hHZW9tZXRyeShsYXlvdXRCb3gsIHsgeyB9LCB7IH0g
fSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbGluZUJveC5pbmxpbmVMZXZl
bEJveEZvckxheW91dEJveChsYXlvdXRCb3gpLmhhc0NvbnRlbnQoKSkgeworICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoIWxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3IobGluZVJ1bikuaGFzQ29u
dGVudCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZElubGluZURpc3BsYXlCb3hBdEJp
ZGlCb3VuZGFyeShsYXlvdXRCb3gsIGJveGVzKTsKICAgICAgICAgICAgICAgICAgICAgY3JlYXRl
ZERpc3BsYXlCb3hOb2RlRm9yRWxlbWVudEJveEFuZFB1c2hUb0FuY2VzdG9yU3RhY2soZG93bmNh
c3Q8RWxlbWVudEJveD4obGF5b3V0Qm94KSwgYm94ZXMuc2l6ZSgpIC0gMSwgcGFyZW50RGlzcGxh
eUJveE5vZGVJbmRleCwgZGlzcGxheUJveFRyZWUsIGFuY2VzdG9yU3RhY2spOwogICAgICAgICAg
ICAgICAgIH0KQEAgLTc1OCw4ICs3NTksMTAgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1
aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnQKICAg
ICAgICAgICAgICAgICBpZiAoIWJveGVzW2luZGV4XS5pc05vblJvb3RJbmxpbmVCb3goKSkKICAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0
Qm94ID0gYm94ZXNbaW5kZXhdLmxheW91dEJveCgpOwotICAgICAgICAgICAgICAgIGF1dG8gaXNG
aXJzdEJveCA9IGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KS5p
c0ZpcnN0Qm94KCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpc0xhc3RCb3ggPSBsaW5lQm94Lmlu
bGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkuaXNMYXN0Qm94KCk7CisgICAgICAg
ICAgICAgICAgYXV0byogaW5saW5lTGV2ZWxCb3ggPSBsaW5lQm94LmlubGluZUxldmVsQm94Rm9y
KGxheW91dEJveCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKGlubGluZUxldmVsQm94KTsKKyAg
ICAgICAgICAgICAgICBhdXRvIGlzRmlyc3RCb3ggPSBpbmxpbmVMZXZlbEJveC0+aXNGaXJzdEJv
eCgpOworICAgICAgICAgICAgICAgIGF1dG8gaXNMYXN0Qm94ID0gaW5saW5lTGV2ZWxCb3gtPmlz
TGFzdEJveCgpOwogICAgICAgICAgICAgICAgIGlmICghaXNGaXJzdEJveCAmJiAhaXNMYXN0Qm94
KQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBpZiAoaXNG
aXJzdEJveCkgewpAQCAtNzk3LDcgKzgwMCw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAg
ICAgICAgICAgICAvLyBOb24tZW1wdHkgaW5saW5lIGJveGVzIGFyZSBub3JtYWxseSBnZXQgdGhl
aXIgZGlzcGxheSBib3hlcyBnZW5lcmF0ZWQgd2hlbiB3ZSBwcm9jZXNzIHRoZWlyIGNvbnRlbnQg
cnVucywgYnV0CiAgICAgICAgICAgICAvLyB0aGVzZSB0cmFpbGluZyBydW5zIGhhdmUgdGhlaXIg
Y29udGVudCBvbiB0aGUgc3Vic2VxdWVudCBsaW5lKHMpLgogICAgICAgICAgICAgYXBwZW5kSW5s
aW5lQm94RGlzcGxheUJveChsaW5lUnVuCi0gICAgICAgICAgICAgICAgLCBsaW5lQm94LmlubGlu
ZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxpbmVSdW4ubGF5b3V0Qm94KCkpCisgICAgICAgICAgICAg
ICAgLCBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yKGxpbmVSdW4pCiAgICAgICAgICAgICAgICAg
LCBib3hlcy5sYXN0KCkudmlzdWFsUmVjdElnbm9yaW5nQmxvY2tEaXJlY3Rpb24oKQogICAgICAg
ICAgICAgICAgICwgbGluZUJveC5oYXNDb250ZW50KCkKICAgICAgICAgICAgICAgICAsIGJveGVz
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>