<?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>205884</bug_id>
          
          <creation_ts>2020-01-07 14:02:29 -0800</creation_ts>
          <short_desc>Reformat FrameLoader logging</short_desc>
          <delta_ts>2020-01-07 17:31:29 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205679</see_also>
          <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="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1603771</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-07 14:02:29 -0800</bug_when>
    <thetext>Update the format used by FrameLoader in its RELEASE_LOG logging. Use the format used by WebPageProxy and NetworkResourceLoader, which is generally of the form:

    &lt;object-address&gt; - [&lt;values that help thread together operations&gt;] &lt;class&gt;::&lt;method&gt;: &lt;message and other useful values&gt;

So, for example:

    0x4aa2df000 - FrameLoader::allAllLoaders: Clearing provisional document loader (frame = 0x4a8ad3550, main = 0 m_provisionalDocumentLoader=0x0)

becomes:

    0x465fb61a0 - [frame=0x465c98a20, main=0] FrameLoader::stopAllLoaders: Clearing provisional document loader (m_provisionalDocumentLoader=0x0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603772</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-07 14:02:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/58387123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603777</commentid>
    <comment_count>2</comment_count>
      <attachid>387030</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-07 14:07:12 -0800</bug_when>
    <thetext>Created attachment 387030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603820</commentid>
    <comment_count>3</comment_count>
      <attachid>387030</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-01-07 15:09:10 -0800</bug_when>
    <thetext>Comment on attachment 387030
Patch

LGTM. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603888</commentid>
    <comment_count>4</comment_count>
      <attachid>387030</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 17:31:27 -0800</bug_when>
    <thetext>Comment on attachment 387030
Patch

Clearing flags on attachment: 387030

Committed r254179: &lt;https://trac.webkit.org/changeset/254179&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603889</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 17:31:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387030</attachid>
            <date>2020-01-07 14:07:12 -0800</date>
            <delta_ts>2020-01-07 17:31:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205884-20200107140712.patch</filename>
            <type>text/plain</type>
            <size>27384</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkwMjhlY2U1ZGZlM2Zi
ODMwYmQwNWQ1OGI0NGIyNmRlZGVjZGU3YS4uZDRhYTliMjhjN2IxMTY5Nzc3YmRmYTJkMWQ0YmE5
NjJhNGU1OGVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIwLTAxLTA3ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZvcm1hdCBGcmFtZUxv
YWRlciBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDU4ODQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4Mzg3MTIzPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0aGUgZm9ybWF0
IHVzZWQgYnkgRnJhbWVMb2FkZXIgaW4gaXRzIFJFTEVBU0VfTE9HIGxvZ2dpbmcuIFVzZQorICAg
ICAgICB0aGUgZm9ybWF0IHVzZWQgYnkgV2ViUGFnZVByb3h5IGFuZCBOZXR3b3JrUmVzb3VyY2VM
b2FkZXIsIHdoaWNoIGlzCisgICAgICAgIGdlbmVyYWxseSBvZiB0aGUgZm9ybToKKworICAgICAg
ICAgICAgPG9iamVjdC1hZGRyZXNzPiAtIFs8dmFsdWVzIHRoYXQgaGVscCB0aHJlYWQgdG9nZXRo
ZXIgb3BlcmF0aW9ucz5dIDxjbGFzcz46OjxtZXRob2Q+OiA8bWVzc2FnZSBhbmQgb3RoZXIgdXNl
ZnVsIHZhbHVlcz4KKworICAgICAgICBTbywgZm9yIGV4YW1wbGU6CisKKyAgICAgICAgICAgIDB4
NGFhMmRmMDAwIC0gRnJhbWVMb2FkZXI6OmFsbEFsbExvYWRlcnM6IENsZWFyaW5nIHByb3Zpc2lv
bmFsIGRvY3VtZW50IGxvYWRlciAoZnJhbWUgPSAweDRhOGFkMzU1MCwgbWFpbiA9IDAgbV9wcm92
aXNpb25hbERvY3VtZW50TG9hZGVyPTB4MCkKKworICAgICAgICBiZWNvbWVzOgorCisgICAgICAg
ICAgICAweDQ2NWZiNjFhMCAtIFtmcmFtZT0weDQ2NWM5OGEyMCwgbWFpbj0wXSBGcmFtZUxvYWRl
cjo6c3RvcEFsbExvYWRlcnM6IENsZWFyaW5nIHByb3Zpc2lvbmFsIGRvY3VtZW50IGxvYWRlciAo
bV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyPTB4MCkKKworICAgICAgICBObyBuZXcgdGVzdHMg
LS0gbm8gbmV3IG9yIGNoYW5nZWQgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6dXJsU2VsZWN0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmZpbmlzaGVkUGFyc2luZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkQXJjaGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6bG9hZEluU2FtZURvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpwcmVwYXJlRm9yTG9hZFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyOjpzZXR1cEZvclJlcGxhY2UpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OmxvYWRGcmFtZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWQpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcik6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y2xlYXJQcm92aXNpb25hbExvYWRGb3JQb2xpY3lDaGVj
ayk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVsb2FkV2l0aE92ZXJyaWRlRW5j
b2RpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlbG9hZCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RvcEFsbExvYWRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnN0b3BGb3JCYWNrRm9yd2FyZENhY2hlKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpzZXRQcm92aXNpb25hbERvY3VtZW50TG9hZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzZXRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6Y2xlYXJQcm92aXNpb25hbExvYWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXI6OmNvbW1pdFByb3Zpc2lvbmFsTG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6dHJhbnNpdGlvblRvQ29tbWl0dGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpjb250aW51ZUZyYWdtZW50U2Nyb2xsQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xp
Y3kpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVu
dEl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJldHJ5QWZ0ZXJGYWlsZWRD
YWNoZU9ubHlNYWluUmVzb3VyY2VMb2FkKToKKwogMjAyMC0wMS0wNyAgQ29tbWl0IFF1ZXVlICA8
Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjI1NDEzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDlhNzJi
OTA2MjE1ZDM3OTA4MTQyNTVmZjBjNWNkOWMzNGQ5ZjlmNzAuLmExMjg1ODUxZjI1OWQ4MmE2M2E4
NmRlNThjNTNkZTNlM2IwMmQ5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtMTUxLDcgKzE1MSwxMCBAQAogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oIgogI2VuZGlmCiAKLSNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikg
UkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdvcmssICIlcCAt
IEZyYW1lTG9hZGVyOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRlJBTUVM
T0FERVJfUkVMRUFTRV9MT0coY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HKGNoYW5uZWws
ICIlcCAtIFtmcmFtZT0lcCwgbWFpbj0lZF0gRnJhbWVMb2FkZXI6OiIgZm10LCB0aGlzLCAmbV9m
cmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpLCAjI19fVkFfQVJHU19fKQorI2RlZmluZSBGUkFN
RUxPQURFUl9SRUxFQVNFX0xPR19FUlJPUihjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0co
Y2hhbm5lbCwgIiVwIC0gW2ZyYW1lPSVwLCBtYWluPSVkXSBGcmFtZUxvYWRlcjo6IiBmbXQsIHRo
aXMsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCksICMjX19WQV9BUkdTX18pCisjZGVm
aW5lIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAuLi4p
IFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFubmVsLCAiJXAg
LSBbZnJhbWU9JXAsIG1haW49JWRdIEZyYW1lTG9hZGVyOjoiIGZtdCwgdGhpcywgJm1fZnJhbWUs
IG1fZnJhbWUuaXNNYWluRnJhbWUoKSwgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRlJBTUVMT0FE
RVJfUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFT
RV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFtmcmFt
ZT0lcCwgbWFpbj0lZF0gRnJhbWVMb2FkZXI6OiIgZm10LCB0aGlzLCAmbV9mcmFtZSwgbV9mcmFt
ZS5pc01haW5GcmFtZSgpLCAjI19fVkFfQVJHU19fKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQyMSw3ICs0MjQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjp1cmxTZWxlY3RlZChjb25zdCBV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiBwYXNzZWRUYXJnZXQsIEV2ZW50KgogCiB2b2lkIEZyYW1l
TG9hZGVyOjp1cmxTZWxlY3RlZChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVSZXF1ZXN0LCBFdmVu
dCogdHJpZ2dlcmluZ0V2ZW50LCBPcHRpb25hbDxBZENsaWNrQXR0cmlidXRpb24+JiYgYWRDbGlj
a0F0dHJpYnV0aW9uKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInVybFNlbGVjdGVk
OiBmcmFtZSBsb2FkIHN0YXJ0ZWQgKGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwg
bV9mcmFtZS5pc01haW5GcmFtZSgpKTsKKyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9B
TExPV0VEKFJlc291cmNlTG9hZGluZywgInVybFNlbGVjdGVkOiBmcmFtZSBsb2FkIHN0YXJ0ZWQi
KTsKIAogICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKIApAQCAtOTU1LDcgKzk1OCw3
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoZWNrQ2FsbEltcGxpY2l0Q2xvc2UoKQogCiB2b2lkIEZy
YW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxkRnJhbWUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgcmVmZXJlciwgRnJhbWUqIGNoaWxkRnJhbWUpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgibG9hZFVSTEludG9DaGlsZEZyYW1lOiBmcmFtZSBsb2FkIHN0YXJ0ZWQgKGZyYW1l
ID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsKKyAg
ICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGluZywgImxv
YWRVUkxJbnRvQ2hpbGRGcmFtZTogZnJhbWUgbG9hZCBzdGFydGVkIik7CiAKICAgICBBU1NFUlQo
Y2hpbGRGcmFtZSk7CiAKQEAgLTk5MCw3ICs5OTMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2Fk
VVJMSW50b0NoaWxkRnJhbWUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwg
RgogCiB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkQXJjaGl2ZShSZWY8QXJjaGl2ZT4mJiBhcmNoaXZl
KQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImxvYWRBcmNoaXZlOiBmcmFtZSBsb2Fk
IHN0YXJ0ZWQgKGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01h
aW5GcmFtZSgpKTsKKyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291
cmNlTG9hZGluZywgImxvYWRBcmNoaXZlOiBmcmFtZSBsb2FkIHN0YXJ0ZWQiKTsKIAogICAgIEFy
Y2hpdmVSZXNvdXJjZSogbWFpblJlc291cmNlID0gYXJjaGl2ZS0+bWFpblJlc291cmNlKCk7CiAg
ICAgQVNTRVJUKG1haW5SZXNvdXJjZSk7CkBAIC0xMTE4LDcgKzExMjEsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpzZXRGaXJzdFBhcnR5Rm9yQ29va2llcyhjb25zdCBVUkwmIHVybCkKIC8vIHRoYXQg
YSBoaWdoZXIgbGV2ZWwgYWxyZWFkeSBjaGVja2VkIHRoYXQgdGhlIFVSTHMgbWF0Y2ggYW5kIHRo
ZSBzY3JvbGxpbmcgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLgogdm9pZCBGcmFtZUxvYWRlcjo6
bG9hZEluU2FtZURvY3VtZW50KGNvbnN0IFVSTCYgdXJsLCBTZXJpYWxpemVkU2NyaXB0VmFsdWUq
IHN0YXRlT2JqZWN0LCBib29sIGlzTmV3TmF2aWdhdGlvbikKIHsKLSAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJsb2FkSW5TYW1lRG9jdW1lbnQ6IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUg
PSAlcCwgbWFpbiA9ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAg
IEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAibG9h
ZEluU2FtZURvY3VtZW50OiBmcmFtZSBsb2FkIHN0YXJ0ZWQiKTsKIAogICAgIC8vIElmIHdlIGhh
dmUgYSBzdGF0ZSBvYmplY3QsIHdlIGNhbm5vdCBhbHNvIGJlIGEgbmV3IG5hdmlnYXRpb24uCiAg
ICAgQVNTRVJUKCFzdGF0ZU9iamVjdCB8fCAoc3RhdGVPYmplY3QgJiYgIWlzTmV3TmF2aWdhdGlv
bikpOwpAQCAtMTIxNyw3ICsxMjIwLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RhcnRlZCgpCiAK
IHZvaWQgRnJhbWVMb2FkZXI6OnByZXBhcmVGb3JMb2FkU3RhcnQoKQogewotICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoInByZXBhcmVGb3JMb2FkU3RhcnQ6IFN0YXJ0aW5nIGZyYW1lIGxvYWQg
KGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgp
KTsKKyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGlu
ZywgInByZXBhcmVGb3JMb2FkU3RhcnQ6IFN0YXJ0aW5nIGZyYW1lIGxvYWQiKTsKIAogICAgIG1f
cHJvZ3Jlc3NUcmFja2VyLT5wcm9ncmVzc1N0YXJ0ZWQoKTsKICAgICBtX2NsaWVudC5kaXNwYXRj
aERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKCk7CkBAIC0xMjM1LDE0ICsxMjM4LDE0IEBAIHZvaWQg
RnJhbWVMb2FkZXI6OnNldHVwRm9yUmVwbGFjZSgpCiAgICAgbV9jbGllbnQucmV2ZXJ0VG9Qcm92
aXNpb25hbFN0YXRlKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwogICAgIHNldFN0YXRlKEZyYW1l
U3RhdGVQcm92aXNpb25hbCk7CiAgICAgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyID0gbV9k
b2N1bWVudExvYWRlcjsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzZXR1cEZvclJlcGxh
Y2U6IFNldHRpbmcgcHJvdmlzaW9uYWwgZG9jdW1lbnQgbG9hZGVyIChmcmFtZSA9ICVwLCBtYWlu
ID0gJWQgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyPSVwKSIsICZtX2ZyYW1lLCBtX2ZyYW1l
LmlzTWFpbkZyYW1lKCksIG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci5nZXQoKSk7CisgICAg
RlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJzZXR1
cEZvclJlcGxhY2U6IFNldHRpbmcgcHJvdmlzaW9uYWwgZG9jdW1lbnQgbG9hZGVyIChtX3Byb3Zp
c2lvbmFsRG9jdW1lbnRMb2FkZXI9JXApIiwgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLmdl
dCgpKTsKICAgICBtX2RvY3VtZW50TG9hZGVyID0gbnVsbHB0cjsKICAgICBkZXRhY2hDaGlsZHJl
bigpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRnJhbWVSZXF1ZXN0KEZyYW1lTG9hZFJl
cXVlc3QmJiByZXF1ZXN0LCBFdmVudCogZXZlbnQsIFJlZlB0cjxGb3JtU3RhdGU+JiYgZm9ybVN0
YXRlLCBPcHRpb25hbDxBZENsaWNrQXR0cmlidXRpb24+JiYgYWRDbGlja0F0dHJpYnV0aW9uKQog
ewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImxvYWRGcmFtZVJlcXVlc3Q6IGZyYW1lIGxv
YWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlz
TWFpbkZyYW1lKCkpOworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVz
b3VyY2VMb2FkaW5nLCAibG9hZEZyYW1lUmVxdWVzdDogZnJhbWUgbG9hZCBzdGFydGVkIik7CiAK
ICAgICAvLyBQcm90ZWN0IGZyYW1lIGZyb20gZ2V0dGluZyBibG93biBhd2F5IGluc2lkZSBkaXNw
YXRjaEJlZm9yZUxvYWRFdmVudCBpbiBsb2FkV2l0aERvY3VtZW50TG9hZGVyLgogICAgIGF1dG8g
cHJvdGVjdEZyYW1lID0gbWFrZVJlZihtX2ZyYW1lKTsKQEAgLTEzMzEsNyArMTMzNCw3IEBAIGJv
b2wgRnJhbWVMb2FkZXI6OmlzU3RvcExvYWRpbmdBbGxvd2VkKCkgY29uc3QKIAogdm9pZCBGcmFt
ZUxvYWRlcjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29u
c3QgU3RyaW5nJiByZWZlcnJlciwgRnJhbWVMb2FkVHlwZSBuZXdMb2FkVHlwZSwgRXZlbnQqIGV2
ZW50LCBSZWZQdHI8Rm9ybVN0YXRlPiYmIGZvcm1TdGF0ZSwgT3B0aW9uYWw8QWRDbGlja0F0dHJp
YnV0aW9uPiYmIGFkQ2xpY2tBdHRyaWJ1dGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImxvYWRV
Ukw6IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsICZtX2ZyYW1l
LCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAibG9hZFVSTDogZnJhbWUgbG9hZCBzdGFydGVkIik7
CiAKICAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29wZSBjb21wbGV0aW9uSGFuZGxlckNh
bGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgaWYgKG1faW5TdG9wQWxsTG9h
ZGVycyB8fCBtX2luQ2xlYXJQcm92aXNpb25hbExvYWRGb3JQb2xpY3lDaGVjaykKQEAgLTE0NDYs
NyArMTQ0OSw3IEBAIFN1YnN0aXR1dGVEYXRhIEZyYW1lTG9hZGVyOjpkZWZhdWx0U3Vic3RpdHV0
ZURhdGFGb3JVUkwoY29uc3QgVVJMJiB1cmwpCiAKIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQoRnJh
bWVMb2FkUmVxdWVzdCYmIHJlcXVlc3QpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
bG9hZCAoRnJhbWVMb2FkUmVxdWVzdCk6IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwg
bWFpbiA9ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgIEZSQU1F
TE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAibG9hZCAoRnJh
bWVMb2FkUmVxdWVzdCk6IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogCiAgICAgaWYgKG1faW5TdG9w
QWxsTG9hZGVycyB8fCBtX2luQ2xlYXJQcm92aXNpb25hbExvYWRGb3JQb2xpY3lDaGVjaykKICAg
ICAgICAgcmV0dXJuOwpAQCAtMTQ5Myw3ICsxNDk2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9h
ZChGcmFtZUxvYWRSZXF1ZXN0JiYgcmVxdWVzdCkKIAogdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdp
dGhOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgTmF2aWdh
dGlvbkFjdGlvbiYmIGFjdGlvbiwgTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIEZyYW1lTG9hZFR5
cGUgdHlwZSwgUmVmUHRyPEZvcm1TdGF0ZT4mJiBmb3JtU3RhdGUsIEFsbG93TmF2aWdhdGlvblRv
SW52YWxpZFVSTCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwsIGNvbnN0IFN0cmluZyYgZG93
bmxvYWRBdHRyaWJ1dGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJsb2FkV2l0aE5hdmlnYXRpb25B
Y3Rpb246IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsICZtX2Zy
YW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAibG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uOiBm
cmFtZSBsb2FkIHN0YXJ0ZWQiKTsKIAogICAgIFJlZjxEb2N1bWVudExvYWRlcj4gbG9hZGVyID0g
bV9jbGllbnQuY3JlYXRlRG9jdW1lbnRMb2FkZXIocmVxdWVzdCwgZGVmYXVsdFN1YnN0aXR1dGVE
YXRhRm9yVVJMKHJlcXVlc3QudXJsKCkpKTsKICAgICBsb2FkZXItPnNldERvd25sb2FkQXR0cmli
dXRlKGRvd25sb2FkQXR0cmlidXRlKTsKQEAgLTE1MTEsNyArMTUxNCw3IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIE5hdmlnCiAKIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQoRG9jdW1lbnRMb2FkZXImIG5l
d0RvY3VtZW50TG9hZGVyKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImxvYWQgKERv
Y3VtZW50TG9hZGVyKTogZnJhbWUgbG9hZCBzdGFydGVkIChmcmFtZSA9ICVwLCBtYWluID0gJWQp
IiwgJm1fZnJhbWUsIG1fZnJhbWUuaXNNYWluRnJhbWUoKSk7CisgICAgRlJBTUVMT0FERVJfUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJsb2FkIChEb2N1bWVudExvYWRl
cik6IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogCiAgICAgUmVzb3VyY2VSZXF1ZXN0JiByID0gbmV3
RG9jdW1lbnRMb2FkZXIucmVxdWVzdCgpOwogICAgIGFkZEV4dHJhRmllbGRzVG9NYWluUmVzb3Vy
Y2VSZXF1ZXN0KHIpOwpAQCAtMTU1Miw3ICsxNTU1LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9h
ZChEb2N1bWVudExvYWRlciYgbmV3RG9jdW1lbnRMb2FkZXIpCiAKIHZvaWQgRnJhbWVMb2FkZXI6
OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgRnJhbWVMb2Fk
VHlwZSB0eXBlLCBSZWZQdHI8Rm9ybVN0YXRlPiYmIGZvcm1TdGF0ZSwgQWxsb3dOYXZpZ2F0aW9u
VG9JbnZhbGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgU2hvdWxkVHJlYXRBc0Nv
bnRpbnVpbmdMb2FkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgibG9hZFdpdGhEb2N1bWVudExvYWRl
cjogZnJhbWUgbG9hZCBzdGFydGVkIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgJm1fZnJhbWUs
IG1fZnJhbWUuaXNNYWluRnJhbWUoKSk7CisgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJsb2FkV2l0aERvY3VtZW50TG9hZGVyOiBmcmFtZSBs
b2FkIHN0YXJ0ZWQiKTsKIAogICAgIC8vIFJldGFpbiBiZWNhdXNlIGRpc3BhdGNoQmVmb3JlTG9h
ZEV2ZW50IG1heSByZWxlYXNlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byBpdC4KICAgICBSZWY8RnJh
bWU+IHByb3RlY3QobV9mcmFtZSk7CkBAIC0xNTgyLDcgKzE1ODUsNyBAQCB2b2lkIEZyYW1lTG9h
ZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIEZyYW1l
TG9hZFR5cGUgdAogICAgIC8vIExvZyBtYWluIGZyYW1lIG5hdmlnYXRpb24gdHlwZXMuCiAgICAg
aWYgKG1fZnJhbWUuaXNNYWluRnJhbWUoKSkgewogICAgICAgICBpZiAoYXV0byogcGFnZSA9IG1f
ZnJhbWUucGFnZSgpKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJsb2Fk
V2l0aERvY3VtZW50TG9hZGVyOiBtYWluIGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwg
bWFpbiA9ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgICAgICAg
ICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJs
b2FkV2l0aERvY3VtZW50TG9hZGVyOiBtYWluIGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogICAgICAg
ICAgICAgcGFnZS0+bWFpbkZyYW1lTG9hZFN0YXJ0ZWQobmV3VVJMLCB0eXBlKTsKICAgICAgICAg
ICAgIHBhZ2UtPnBlcmZvcm1hbmNlTG9nZ2luZygpLmRpZFJlYWNoUG9pbnRPZkludGVyZXN0KFBl
cmZvcm1hbmNlTG9nZ2luZzo6TWFpbkZyYW1lTG9hZFN0YXJ0ZWQpOwogICAgICAgICB9CkBAIC0x
NjUwLDcgKzE2NTMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjbGVhclByb3Zpc2lvbmFsTG9hZEZv
clBvbGljeUNoZWNrKCkKIAogICAgIFNldEZvclNjb3BlPGJvb2w+IGNoYW5nZShtX2luQ2xlYXJQ
cm92aXNpb25hbExvYWRGb3JQb2xpY3lDaGVjaywgdHJ1ZSk7CiAgICAgbV9wcm92aXNpb25hbERv
Y3VtZW50TG9hZGVyLT5zdG9wTG9hZGluZygpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImNsZWFyUHJvdmlzaW9uYWxMb2FkRm9yUG9saWN5Q2hlY2s6IENsZWFyaW5nIHByb3Zpc2lvbmFs
IGRvY3VtZW50IGxvYWRlciAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkIG1fcHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlcj0lcCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpLCBtX3Byb3Zp
c2lvbmFsRG9jdW1lbnRMb2FkZXIuZ2V0KCkpOworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAiY2xlYXJQcm92aXNpb25hbExvYWRGb3JQb2xp
Y3lDaGVjazogQ2xlYXJpbmcgcHJvdmlzaW9uYWwgZG9jdW1lbnQgbG9hZGVyIChtX3Byb3Zpc2lv
bmFsRG9jdW1lbnRMb2FkZXI9JXApIiwgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLmdldCgp
KTsKICAgICBzZXRQcm92aXNpb25hbERvY3VtZW50TG9hZGVyKG51bGxwdHIpOwogfQogCkBAIC0x
NzMzLDcgKzE3MzYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZWxvYWRXaXRoT3ZlcnJpZGVFbmNv
ZGluZyhjb25zdCBTdHJpbmcmIGVuY29kaW5nKQogICAgIGlmICghbV9kb2N1bWVudExvYWRlcikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVsb2FkV2l0
aE92ZXJyaWRlRW5jb2Rpbmc6IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwgbWFpbiA9
ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgIEZSQU1FTE9BREVS
X1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAicmVsb2FkV2l0aE92ZXJy
aWRlRW5jb2Rpbmc6IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogCiAgICAgUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QgPSBtX2RvY3VtZW50TG9hZGVyLT5yZXF1ZXN0KCk7CiAgICAgVVJMIHVucmVhY2hh
YmxlVVJMID0gbV9kb2N1bWVudExvYWRlci0+dW5yZWFjaGFibGVVUkwoKTsKQEAgLTE3NjQsNyAr
MTc2Nyw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJlbG9hZChPcHRpb25TZXQ8UmVsb2FkT3B0aW9u
PiBvcHRpb25zKQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5yZXF1ZXN0KCkudXJsKCkuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJy
ZWxvYWQ6IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsICZtX2Zy
YW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAicmVsb2FkOiBmcmFtZSBsb2FkIHN0YXJ0ZWQi
KTsKIAogICAgIC8vIFJlcGxhY2UgZXJyb3ItcGFnZSBVUkwgd2l0aCB0aGUgVVJMIHdlIHdlcmUg
dHJ5aW5nIHRvIHJlYWNoLgogICAgIFJlc291cmNlUmVxdWVzdCBpbml0aWFsUmVxdWVzdCA9IG1f
ZG9jdW1lbnRMb2FkZXItPnJlcXVlc3QoKTsKQEAgLTE4MzksNyArMTg0Miw3IEBAIHZvaWQgRnJh
bWVMb2FkZXI6OnN0b3BBbGxMb2FkZXJzKENsZWFyUHJvdmlzaW9uYWxJdGVtUG9saWN5IGNsZWFy
UHJvdmlzaW9uYWxJdGVtCiAgICAgaWYgKG1fZG9jdW1lbnRMb2FkZXIpCiAgICAgICAgIG1fZG9j
dW1lbnRMb2FkZXItPnN0b3BMb2FkaW5nKCk7CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJhbGxBbGxMb2FkZXJzOiBDbGVhcmluZyBwcm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgKGZy
YW1lID0gJXAsIG1haW4gPSAlZCBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXI9JXApIiwgJm1f
ZnJhbWUsIG1fZnJhbWUuaXNNYWluRnJhbWUoKSwgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVy
LmdldCgpKTsKKyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNl
TG9hZGluZywgInN0b3BBbGxMb2FkZXJzOiBDbGVhcmluZyBwcm92aXNpb25hbCBkb2N1bWVudCBs
b2FkZXIgKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcj0lcCkiLCBtX3Byb3Zpc2lvbmFsRG9j
dW1lbnRMb2FkZXIuZ2V0KCkpOwogICAgIHNldFByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIobnVs
bHB0cik7CiAKICAgICBtX2luU3RvcEFsbExvYWRlcnMgPSBmYWxzZTsgICAgCkBAIC0xODUxLDcg
KzE4NTQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdG9wRm9yQmFja0ZvcndhcmRDYWNoZSgpCiAg
ICAgaWYgKCFtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpIHsKICAgICAgICAgaWYgKG1fcHJvdmlzaW9u
YWxEb2N1bWVudExvYWRlcikKICAgICAgICAgICAgIG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRl
ci0+c3RvcExvYWRpbmcoKTsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RvcEZv
ckJhY2tGb3J3YXJkQ2FjaGU6IENsZWFyaW5nIHByb3Zpc2lvbmFsIGRvY3VtZW50IGxvYWRlciAo
ZnJhbWUgPSAlcCwgbWFpbiA9ICVkIG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcj0lcCkiLCAm
bV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpLCBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2Fk
ZXIuZ2V0KCkpOworICAgICAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJl
c291cmNlTG9hZGluZywgInN0b3BGb3JCYWNrRm9yd2FyZENhY2hlOiBDbGVhcmluZyBwcm92aXNp
b25hbCBkb2N1bWVudCBsb2FkZXIgKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcj0lcCkiLCBt
X3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwogICAgICAgICBzZXRQcm92aXNpb25h
bERvY3VtZW50TG9hZGVyKG51bGxwdHIpOwogICAgIH0KIApAQCAtMTk2OSw2ICsxOTcyLDggQEAg
dm9pZCBGcmFtZUxvYWRlcjo6c2V0UG9saWN5RG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIq
IGxvYWRlcikKIAogdm9pZCBGcmFtZUxvYWRlcjo6c2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRl
cihEb2N1bWVudExvYWRlciogbG9hZGVyKQogeworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAic2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRl
cjogU2V0dGluZyBwcm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgKG1fcHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlcj0lcCkiLCBsb2FkZXIpOworCiAgICAgQVNTRVJUKCFsb2FkZXIgfHwgIW1fcHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlcik7CiAgICAgQVNTRVJUKCFsb2FkZXIgfHwgbG9hZGVyLT5m
cmFtZUxvYWRlcigpID09IHRoaXMpOwogCkBAIC0xOTkwLDcgKzE5OTUsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpzZXRTdGF0ZShGcmFtZVN0YXRlIG5ld1N0YXRlKQogICAgICAgICBpZiAobV9kb2N1
bWVudExvYWRlcikKICAgICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPnN0b3BSZWNvcmRpbmdS
ZXNwb25zZXMoKTsKICAgICAgICAgaWYgKG1fZnJhbWUuaXNNYWluRnJhbWUoKSAmJiBvbGRTdGF0
ZSAhPSBuZXdTdGF0ZSkgewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2V0
U3RhdGU6IG1haW4gZnJhbWUgbG9hZCBjb21wbGV0ZWQgKGZyYW1lID0gJXAsIG1haW4gPSAlZCki
LCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsKKyAgICAgICAgICAgIEZSQU1FTE9B
REVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAic2V0U3RhdGU6IG1h
aW4gZnJhbWUgbG9hZCBjb21wbGV0ZWQiKTsKICAgICAgICAgICAgIG1fZnJhbWUucGFnZSgpLT5w
ZXJmb3JtYW5jZUxvZ2dpbmcoKS5kaWRSZWFjaFBvaW50T2ZJbnRlcmVzdChQZXJmb3JtYW5jZUxv
Z2dpbmc6Ok1haW5GcmFtZUxvYWRDb21wbGV0ZWQpOwogICAgICAgICB9CiAgICAgfQpAQCAtMTk5
OCw3ICsyMDAzLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0U3RhdGUoRnJhbWVTdGF0ZSBuZXdT
dGF0ZSkKIAogdm9pZCBGcmFtZUxvYWRlcjo6Y2xlYXJQcm92aXNpb25hbExvYWQoKQogewotICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNsZWFyUHJvdmlzaW9uYWxMb2FkOiBDbGVhcmluZyBw
cm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgKGZyYW1lID0gJXAsIG1haW4gPSAlZCBtX3Byb3Zp
c2lvbmFsRG9jdW1lbnRMb2FkZXI9JXApIiwgJm1fZnJhbWUsIG1fZnJhbWUuaXNNYWluRnJhbWUo
KSwgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLmdldCgpKTsKKyAgICBGUkFNRUxPQURFUl9S
RUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGluZywgImNsZWFyUHJvdmlzaW9uYWxM
b2FkOiBDbGVhcmluZyBwcm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgKG1fcHJvdmlzaW9uYWxE
b2N1bWVudExvYWRlcj0lcCkiLCBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwog
ICAgIHNldFByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIobnVsbHB0cik7CiAgICAgbV9wcm9ncmVz
c1RyYWNrZXItPnByb2dyZXNzQ29tcGxldGVkKCk7CiAgICAgc2V0U3RhdGUoRnJhbWVTdGF0ZUNv
bXBsZXRlKTsKQEAgLTIxNjQsNyArMjE2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnRyYW5zaXRp
b25Ub0NvbW1pdHRlZChDYWNoZWRQYWdlKiBjYWNoZWRQYWdlKQogICAgIHNldERvY3VtZW50TG9h
ZGVyKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci5nZXQoKSk7CiAgICAgaWYgKHBkbCAhPSBt
X3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJ0cmFuc2l0aW9uVG9Db21taXR0ZWQ6IENsZWFyaW5nIHByb3Zpc2lv
bmFsIGRvY3VtZW50IGxvYWRlciAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkIG1fcHJvdmlzaW9uYWxE
b2N1bWVudExvYWRlcj0lcCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpLCBtX3By
b3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuZ2V0KCkpOworICAgIEZSQU1FTE9BREVSX1JFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAidHJhbnNpdGlvblRvQ29tbWl0dGVkOiBD
bGVhcmluZyBwcm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgKG1fcHJvdmlzaW9uYWxEb2N1bWVu
dExvYWRlcj0lcCkiLCBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwogICAgIHNl
dFByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIobnVsbHB0cik7CiAKICAgICAvLyBOb3RoaW5nIGVs
c2UgY2FuIGludGVycnVwdCB0aGlzIGNvbW1pdCAtIHNldCB0aGUgUHJvdmlzaW9uYWwtPkNvbW1p
dHRlZCB0cmFuc2l0aW9uIGluIHN0b25lCkBAIC0yNTE4LDcgKzI1MjMsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZSgpCiAgICAgICAgICAgICAvLyBP
bmx5IHJlc2V0IGlmIHdlIGFyZW4ndCBhbHJlYWR5IGdvaW5nIHRvIGEgbmV3IHByb3Zpc2lvbmFs
IGl0ZW0uCiAgICAgICAgICAgICBib29sIHNob3VsZFJlc2V0ID0gIWhpc3RvcnkoKS5wcm92aXNp
b25hbEl0ZW0oKTsKICAgICAgICAgICAgIGlmICghcGRsLT5pc0xvYWRpbmdJbkFQSVNlbnNlKCkg
fHwgcGRsLT5pc1N0b3BwaW5nKCkpIHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKCJjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZTogRmFpbGVkIHByb3Zpc2lvbmFs
IGxvYWQgKGZyYW1lID0gJXAsIG1haW4gPSAlZCwgaXNUaW1lb3V0ID0gJWQsIGlzQ2FuY2VsbGF0
aW9uID0gJWQsIGVycm9yQ29kZSA9ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1l
KCksIGVycm9yLmlzVGltZW91dCgpLCBlcnJvci5pc0NhbmNlbGxhdGlvbigpLCBlcnJvci5lcnJv
ckNvZGUoKSk7CisgICAgICAgICAgICAgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRChSZXNvdXJjZUxvYWRpbmcsICJjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZTogRmFp
bGVkIHByb3Zpc2lvbmFsIGxvYWQgKGlzVGltZW91dCA9ICVkLCBpc0NhbmNlbGxhdGlvbiA9ICVk
LCBlcnJvckNvZGUgPSAlZCkiLCBlcnJvci5pc1RpbWVvdXQoKSwgZXJyb3IuaXNDYW5jZWxsYXRp
b24oKSwgZXJyb3IuZXJyb3JDb2RlKCkpOwogCiAgICAgICAgICAgICAgICAgZGlzcGF0Y2hEaWRG
YWlsUHJvdmlzaW9uYWxMb2FkKCpwZGwsIGVycm9yKTsKICAgICAgICAgICAgICAgICBBU1NFUlQo
IXBkbC0+aXNMb2FkaW5nKCkpOwpAQCAtMjU4MCwxMSArMjU4NSwxMSBAQCB2b2lkIEZyYW1lTG9h
ZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZSgpCiAKICAgICAgICAgICAgIEFYT2Jq
ZWN0Q2FjaGU6OkFYTG9hZGluZ0V2ZW50IGxvYWRpbmdFdmVudDsKICAgICAgICAgICAgIGlmICgh
ZXJyb3IuaXNOdWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZTogRmluaXNoZWQgZnJhbWUgbG9hZCB3aXRo
IGVycm9yIChmcmFtZSA9ICVwLCBtYWluID0gJWQsIGlzVGltZW91dCA9ICVkLCBpc0NhbmNlbGxh
dGlvbiA9ICVkLCBlcnJvckNvZGUgPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFt
ZSgpLCBlcnJvci5pc1RpbWVvdXQoKSwgZXJyb3IuaXNDYW5jZWxsYXRpb24oKSwgZXJyb3IuZXJy
b3JDb2RlKCkpOworICAgICAgICAgICAgICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAiY2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWU6IEZp
bmlzaGVkIGZyYW1lIGxvYWQgd2l0aCBlcnJvciAoaXNUaW1lb3V0ID0gJWQsIGlzQ2FuY2VsbGF0
aW9uID0gJWQsIGVycm9yQ29kZSA9ICVkKSIsIGVycm9yLmlzVGltZW91dCgpLCBlcnJvci5pc0Nh
bmNlbGxhdGlvbigpLCBlcnJvci5lcnJvckNvZGUoKSk7CiAgICAgICAgICAgICAgICAgbV9jbGll
bnQuZGlzcGF0Y2hEaWRGYWlsTG9hZChlcnJvcik7CiAgICAgICAgICAgICAgICAgbG9hZGluZ0V2
ZW50ID0gQVhPYmplY3RDYWNoZTo6QVhMb2FkaW5nRmFpbGVkOwogICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjaGVja0xvYWRDb21w
bGV0ZUZvclRoaXNGcmFtZTogRmluaXNoZWQgZnJhbWUgbG9hZCAoZnJhbWUgPSAlcCwgbWFpbiA9
ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgICAgICAgICAgICAg
IEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAiY2hl
Y2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWU6IEZpbmlzaGVkIGZyYW1lIGxvYWQiKTsKICNpZiBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgICAgICAgICAgICAgYXV0byogZG9jdW1lbnQgPSBt
X2ZyYW1lLmRvY3VtZW50KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZnJhbWUuc2V0dGluZ3Mo
KS5kYXRhRGV0ZWN0b3JUeXBlcygpICE9IERhdGFEZXRlY3RvclR5cGVOb25lICYmIGRvY3VtZW50
KSB7CkBAIC0zMDMwLDcgKzMwMzUsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjphZGRIVFRQVXBncmFk
ZUluc2VjdXJlUmVxdWVzdHNJZk5lZWRlZChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlcwogCiB2b2lk
IEZyYW1lTG9hZGVyOjpsb2FkUG9zdFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYmIHJlcXVlc3Qs
IGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIEV2ZW50KiBl
dmVudCwgUmVmUHRyPEZvcm1TdGF0ZT4mJiBmb3JtU3RhdGUsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJsb2FkUG9zdFJlcXVlc3Q6IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwgbWFpbiA9
ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgIEZSQU1FTE9BREVS
X1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAibG9hZFBvc3RSZXF1ZXN0
OiBmcmFtZSBsb2FkIHN0YXJ0ZWQiKTsKIAogICAgIFN0cmluZyBmcmFtZU5hbWUgPSByZXF1ZXN0
LmZyYW1lTmFtZSgpOwogICAgIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5ID0gcmVxdWVzdC5sb2Nr
SGlzdG9yeSgpOwpAQCAtMzE5NSw3ICszMjAwLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29udGlu
dWVGcmFnbWVudFNjcm9sbEFmdGVyTmF2aWdhdGlvblBvbGljeShjb25zdCBSZXNvdXJjZVJlcXUK
ICAgICAvLyBJZiB3ZSBoYXZlIGEgcHJvdmlzaW9uYWwgcmVxdWVzdCBmb3IgYSBkaWZmZXJlbnQg
ZG9jdW1lbnQsIGEgZnJhZ21lbnQgc2Nyb2xsIHNob3VsZCBjYW5jZWwgaXQuCiAgICAgaWYgKG1f
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlciAmJiAhZXF1YWxJZ25vcmluZ0ZyYWdtZW50SWRlbnRp
ZmllcihtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXItPnJlcXVlc3QoKS51cmwoKSwgcmVxdWVz
dC51cmwoKSkpIHsKICAgICAgICAgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLT5zdG9wTG9h
ZGluZygpOwotICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb250aW51ZUZyYWdtZW50
U2Nyb2xsQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5OiBDbGVhcmluZyBwcm92aXNpb25hbCBkb2N1bWVu
dCBsb2FkZXIgKGZyYW1lID0gJXAsIG1haW4gPSAlZCBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2Fk
ZXI9JXApIiwgJm1fZnJhbWUsIG1fZnJhbWUuaXNNYWluRnJhbWUoKSwgbV9wcm92aXNpb25hbERv
Y3VtZW50TG9hZGVyLmdldCgpKTsKKyAgICAgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJjb250aW51ZUZyYWdtZW50U2Nyb2xsQWZ0ZXJOYXZp
Z2F0aW9uUG9saWN5OiBDbGVhcmluZyBwcm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgKG1fcHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlcj0lcCkiLCBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIu
Z2V0KCkpOwogICAgICAgICBzZXRQcm92aXNpb25hbERvY3VtZW50TG9hZGVyKG51bGxwdHIpOwog
ICAgIH0KIApAQCAtMzQzNywxNCArMzQ0MiwxMCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250aW51
ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZQog
ICAgIGJvb2wgY2FuQ29udGludWUgPSBuYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gPT0gTmF2aWdh
dGlvblBvbGljeURlY2lzaW9uOjpDb250aW51ZUxvYWQgJiYgc2hvdWxkQ2xvc2UoKSAmJiAhdXJs
SXNEaXNhbGxvd2VkOwogCiAgICAgaWYgKCFjYW5Db250aW51ZSkgewotICAgICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3k6IGNhbid0
IGNvbnRpbnVlIGxvYWRpbmcgZnJhbWUgZHVlIHRvIHRoZSBmb2xsb3dpbmcgcmVhc29ucyAoIgot
ICAgICAgICAgICAgImZyYW1lID0gJXAsICIKLSAgICAgICAgICAgICJtYWluID0gJWQsICIKKyAg
ICAgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcs
ICJjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3k6IGNhbid0IGNvbnRpbnVlIGxvYWRp
bmcgZnJhbWUgZHVlIHRvIHRoZSBmb2xsb3dpbmcgcmVhc29ucyAoIgogICAgICAgICAgICAgImFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCA9ICVkLCAiCiAgICAgICAgICAgICAicmVxdWVzdFVS
TElzVmFsaWQgPSAlZCwgIgogICAgICAgICAgICAgIm5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiA9
ICVkKSIsCi0gICAgICAgICAgICAmbV9mcmFtZSwKLSAgICAgICAgICAgIG1fZnJhbWUuaXNNYWlu
RnJhbWUoKSwKICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oYWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMKSwKICAgICAgICAgICAgIHJlcXVlc3QudXJsKCkuaXNWYWxpZCgpLAogICAgICAg
ICAgICAgc3RhdGljX2Nhc3Q8aW50PihuYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24pKTsKQEAgLTM0
ODUsMTIgKzM0ODYsMTIgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZp
Z2F0aW9uUG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWUKICAgICAvLyA8cmRhcjov
L3Byb2JsZW0vNjI1MDg1Nj4gLSBJbiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgb24gcGFnZXMgd2l0
aCBtdWx0aXBsZSBmcmFtZXMsIHN0b3BBbGxMb2FkZXJzKCkKICAgICAvLyBtaWdodCBkZXRhY2gg
dGhlIGN1cnJlbnQgRnJhbWVMb2FkZXIsIGluIHdoaWNoIGNhc2Ugd2Ugc2hvdWxkIGJhaWwgb24g
dGhpcyBuZXdseSBkZWZ1bmN0IGxvYWQuIAogICAgIGlmICghbV9mcmFtZS5wYWdlKCkpIHsKLSAg
ICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9u
UG9saWN5OiBjYW4ndCBjb250aW51ZSBsb2FkaW5nIGZyYW1lIGJlY2F1c2UgaXQgYmVjYW1lIGRl
ZnVuY3QgKGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5G
cmFtZSgpKTsKKyAgICAgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNv
dXJjZUxvYWRpbmcsICJjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3k6IGNhbid0IGNv
bnRpbnVlIGxvYWRpbmcgZnJhbWUgYmVjYXVzZSBpdCBiZWNhbWUgZGVmdW5jdCIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgc2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcihtX3Bv
bGljeURvY3VtZW50TG9hZGVyLmdldCgpKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJj
b250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3k6IFNldHRpbmcgcHJvdmlzaW9uYWwgZG9j
dW1lbnQgbG9hZGVyIChmcmFtZSA9ICVwLCBtYWluID0gJWQgbV9wcm92aXNpb25hbERvY3VtZW50
TG9hZGVyPSVwKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCksIG1fcHJvdmlzaW9u
YWxEb2N1bWVudExvYWRlci5nZXQoKSk7CisgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xp
Y3k6IFNldHRpbmcgcHJvdmlzaW9uYWwgZG9jdW1lbnQgbG9hZGVyIChtX3Byb3Zpc2lvbmFsRG9j
dW1lbnRMb2FkZXI9JXApIiwgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLmdldCgpKTsKICAg
ICBtX2xvYWRUeXBlID0gdHlwZTsKICAgICBzZXRTdGF0ZShGcmFtZVN0YXRlUHJvdmlzaW9uYWwp
OwogCkBAIC0zNTAxLDcgKzM1MDIsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRB
ZnRlck5hdmlnYXRpb25Qb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZQogICAgICAg
ICBpZiAoaGlzdG9yeSgpLnByb3Zpc2lvbmFsSXRlbSgpICYmIGhpc3RvcnkoKS5wcm92aXNpb25h
bEl0ZW0oKS0+aXNJbkJhY2tGb3J3YXJkQ2FjaGUoKSkgewogICAgICAgICAgICAgZGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KERpYWdub3N0aWNM
b2dnaW5nS2V5czo6YmFja0ZvcndhcmRDYWNoZUtleSgpLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6
OnJldHJpZXZhbEtleSgpLCBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFBhc3MsIFNob3VsZFNhbXBs
ZTo6WWVzKTsKICAgICAgICAgICAgIGxvYWRQcm92aXNpb25hbEl0ZW1Gcm9tQ2FjaGVkUGFnZSgp
OwotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29udGludWVMb2FkQWZ0ZXJO
YXZpZ2F0aW9uUG9saWN5OiBjYW4ndCBjb250aW51ZSBsb2FkaW5nIGZyYW1lIGJlY2F1c2UgaXQg
d2lsbCBiZSBsb2FkZWQgZnJvbSBjYWNoZSAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsICZtX2Zy
YW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOworICAgICAgICAgICAgRlJBTUVMT0FERVJfUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJjb250aW51ZUxvYWRBZnRlck5h
dmlnYXRpb25Qb2xpY3k6IGNhbid0IGNvbnRpbnVlIGxvYWRpbmcgZnJhbWUgYmVjYXVzZSBpdCB3
aWxsIGJlIGxvYWRlZCBmcm9tIGNhY2hlIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KICAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoUmVzdWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6YmFja0ZvcndhcmRDYWNoZUtleSgpLCBE
aWFnbm9zdGljTG9nZ2luZ0tleXM6OnJldHJpZXZhbEtleSgpLCBEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdEZhaWwsIFNob3VsZFNhbXBsZTo6WWVzKTsKQEAgLTM1MDksNyArMzUxMCw3IEBAIHZvaWQg
RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeShjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlCiAKICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+IGNvbXBs
ZXRpb25IYW5kbGVyID0gW3RoaXMsIHByb3RlY3RlZEZyYW1lID0gbWFrZVJlZihtX2ZyYW1lKV0g
KCkgbXV0YWJsZSB7CiAgICAgICAgIGlmICghbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyKSB7
Ci0gICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb250aW51ZUxvYWRBZnRlck5h
dmlnYXRpb25Qb2xpY3kgY29tcGxldGlvbkhhbmRsZXI6IEZyYW1lIGxvYWQgY2FuY2VsZWQgIzEg
KGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgp
KTsKKyAgICAgICAgICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3Vy
Y2VMb2FkaW5nLCAiY29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5IChjb21wbGV0aW9u
SGFuZGxlcik6IEZyYW1lIGxvYWQgY2FuY2VsZWQgLSBubyBwcm92aXNpb25hbCBkb2N1bWVudCBs
b2FkZXIgYmVmb3JlIHByZXBhcmVGb3JMb2FkU3RhcnQiKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogICAgICAgICAKQEAgLTM1MTgsMTMgKzM1MTksMTMgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWUKICAgICAgICAgLy8gVGhlIGxvYWQgbWlnaHQgYmUgY2FuY2VsbGVkIGluc2lk
ZSBvZiBwcmVwYXJlRm9yTG9hZFN0YXJ0KCksIG51bGxpbmcgb3V0IHRoZSBtX3Byb3Zpc2lvbmFs
RG9jdW1lbnRMb2FkZXIsCiAgICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gbnVsbCBjaGVjayBpdCBh
Z2Fpbi4KICAgICAgICAgaWYgKCFtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIpIHsKLSAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInByZXBhcmVGb3JMb2FkU3RhcnQgY29tcGxl
dGlvbkhhbmRsZXI6IEZyYW1lIGxvYWQgY2FuY2VsZWQgIzIgKGZyYW1lID0gJXAsIG1haW4gPSAl
ZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsKKyAgICAgICAgICAgIEZSQU1F
TE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAiY29udGludWVM
b2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5IChjb21wbGV0aW9uSGFuZGxlcik6IEZyYW1lIGxvYWQg
Y2FuY2VsZWQgLSBubyBwcm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgYWZ0ZXIgcHJlcGFyZUZv
ckxvYWRTdGFydCIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAog
ICAgICAgICBEb2N1bWVudExvYWRlciogYWN0aXZlRG9jTG9hZGVyID0gYWN0aXZlRG9jdW1lbnRM
b2FkZXIoKTsKICAgICAgICAgaWYgKGFjdGl2ZURvY0xvYWRlciAmJiBhY3RpdmVEb2NMb2FkZXIt
PmlzTG9hZGluZ01haW5SZXNvdXJjZSgpKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKCJwcmVwYXJlRm9yTG9hZFN0YXJ0IGNvbXBsZXRpb25IYW5kbGVyOiBNYWluIGZyYW1l
IGFscmVhZHkgYmVpbmcgbG9hZGVkIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgJm1fZnJhbWUs
IG1fZnJhbWUuaXNNYWluRnJhbWUoKSk7CisgICAgICAgICAgICBGUkFNRUxPQURFUl9SRUxFQVNF
X0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGluZywgImNvbnRpbnVlTG9hZEFmdGVyTmF2aWdh
dGlvblBvbGljeSAoY29tcGxldGlvbkhhbmRsZXIpOiBNYWluIGZyYW1lIGFscmVhZHkgYmVpbmcg
bG9hZGVkIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0z
NzQ3LDcgKzM3NDgsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkU2FtZURvY3VtZW50SXRlbShI
aXN0b3J5SXRlbSYgaXRlbSkKIC8vIG1ldGhvZHMgb2YgRnJhbWVMb2FkZXIuCiB2b2lkIEZyYW1l
TG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBIaXN0
b3J5SXRlbSogZnJvbUl0ZW0sIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIEZvcm1TdWJtaXNzaW9u
Q2FjaGVMb2FkUG9saWN5IGNhY2hlTG9hZFBvbGljeSwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdM
b2FkIHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKCJsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtOiBmcmFtZSBsb2FkIHN0YXJ0ZWQgKGZy
YW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsK
KyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGluZywg
ImxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW06IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogCiAgICAg
UmVmPEZyYW1lPiBwcm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKIApAQCAtMzg5MCw3ICszODkxLDcg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6cmV0cnlBZnRlckZhaWxlZENhY2hlT25seU1haW5SZXNvdXJj
ZUxvYWQoKQogICAgICAgICBsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKCppdGVtLCBoaXN0b3J5
KCkuY3VycmVudEl0ZW0oKSwgbG9hZFR5cGUsIE1heU5vdEF0dGVtcHRDYWNoZU9ubHlMb2FkRm9y
Rm9ybVN1Ym1pc3Npb25JdGVtLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQ6Ok5vKTsKICAg
ICBlbHNlIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFJlc291cmNlTG9hZGluZywgIlJldHJ5aW5nIGxvYWQgYWZ0ZXIgZmFpbGVkIGNh
Y2hlLW9ubHkgbWFpbiByZXNvdXJjZSBsb2FkIGZhaWxlZCBiZWNhdXNlIHRoZXJlIGlzIG5vIHBy
b3Zpc2lvbmFsIGhpc3RvcnkgaXRlbS4iKTsKKyAgICAgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9M
T0dfRVJST1IoUmVzb3VyY2VMb2FkaW5nLCAicmV0cnlBZnRlckZhaWxlZENhY2hlT25seU1haW5S
ZXNvdXJjZUxvYWQ6IFJldHJ5aW5nIGxvYWQgYWZ0ZXIgZmFpbGVkIGNhY2hlLW9ubHkgbWFpbiBy
ZXNvdXJjZSBsb2FkIGZhaWxlZCBiZWNhdXNlIHRoZXJlIGlzIG5vIHByb3Zpc2lvbmFsIGhpc3Rv
cnkgaXRlbS4iKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>