<?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>168643</bug_id>
          
          <creation_ts>2017-02-21 00:06:41 -0800</creation_ts>
          <short_desc>AudioTrackPrivateMediaStreamCocoa should not exclusively lock its read and write threads.</short_desc>
          <delta_ts>2017-02-27 09:02:04 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1279252</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-21 00:06:41 -0800</bug_when>
    <thetext>AudioTrackPrivateMediaStreamCocoa should not exclusively lock its read and write threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279253</commentid>
    <comment_count>1</comment_count>
      <attachid>302238</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-21 00:09:37 -0800</bug_when>
    <thetext>Created attachment 302238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279406</commentid>
    <comment_count>2</comment_count>
      <attachid>302279</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-21 10:14:24 -0800</bug_when>
    <thetext>Created attachment 302279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279452</commentid>
    <comment_count>3</comment_count>
      <attachid>302279</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-02-21 11:34:23 -0800</bug_when>
    <thetext>Comment on attachment 302279
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=302279&amp;action=review

&gt; Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:222
&gt;      Ref&lt;AudioTrackPrivateMediaStreamCocoa&gt; protectedThis { *this };

Nit: it would be nice to have a comment here or in the destructor explaining this retain prevents the obvious problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279543</commentid>
    <comment_count>4</comment_count>
      <attachid>302310</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-21 14:44:18 -0800</bug_when>
    <thetext>Created attachment 302310
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279970</commentid>
    <comment_count>5</comment_count>
      <attachid>302418</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-22 11:07:23 -0800</bug_when>
    <thetext>Created attachment 302418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279972</commentid>
    <comment_count>6</comment_count>
      <attachid>302418</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-02-22 11:13:54 -0800</bug_when>
    <thetext>Comment on attachment 302418
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=302418&amp;action=review

&gt; Source/WebCore/ChangeLog:14
&gt; +        The one piece thich locks previously protected against unsafe access was during creation of

Nit: &quot;thich locks&quot; -&gt; &quot;which was&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279973</commentid>
    <comment_count>7</comment_count>
      <attachid>302419</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-22 11:16:33 -0800</bug_when>
    <thetext>Created attachment 302419
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281393</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-02-27 09:02:04 -0800</bug_when>
    <thetext>Committed r213069: &lt;http://trac.webkit.org/changeset/213069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302238</attachid>
            <date>2017-02-21 00:09:37 -0800</date>
            <delta_ts>2017-02-21 10:14:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168643-20170221000653.patch</filename>
            <type>text/plain</type>
            <size>5316</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ2NzNhNDE4OGU5MDlk
MmYxMDM2NjA4NjMzMjJhMzc0YTBmMTk2ZS4uMTdlYzJmNGRjMGU2ZjdlMTJjMmIzN2RiMzY1OGRi
NTZmZjY1ZmY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTAyLTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYSBzaG91bGQgbm90IGV4Y2x1c2l2ZWx5IGxvY2sgaXRzIHJlYWQgYW5k
IHdyaXRlIHRocmVhZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBMb2NraW5nIHRoZSB3cml0ZSB0aHJlYWQgY2F1c2VzIHRoZSByZWFkIHRocmVhZCB0
byBkcm9wIGF1ZGlvIHNhbXBsZXMgYW5kIGdlbmVyYXRlcyBhdWRpYmxlCisgICAgICAgIGdsaXRj
aGVzLCBhbmQgdGhlIHJlYWx0aW1lIGF1ZGlvIHRocmVhZCBiYWNraW5nIHRoZSByZWFkIHRocmVh
ZCBzaG91bGQgbmV2ZXIgYmxvY2suIFRoZXJlJ3MKKyAgICAgICAgbm8gcmVhbCByZWFzb24gdG8g
bG9jayB0aGVzZSB0aHJlYWRzIGFnYWluc3Qgb25lIGFub3RoZXIgaGVyZTsgdGhleSBib3RoIHJl
bHkgb24gdGhlCisgICAgICAgIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZSBhbmQgaXQncyBDQVJpbmdC
dWZmZXIgdG8gc2FmZWx5IGFuZCBzaW11bHRhbmVvdXNseSByZWFkIGFuZCB3cml0ZQorICAgICAg
ICBkYXRhLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQ
cml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1RyYWNr
UHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6On5BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29j
b2EpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29h
OjpwbGF5SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRp
YVN0cmVhbUNvY29hOjpwbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYTo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXRWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OmF1ZGlvU2FtcGxl
c0F2YWlsYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oOgorCiAyMDE3LTAyLTIwICBKZXIgTm9ibGUgIDxq
ZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgVHJhY2tQcml2YXRlQmFzZSBUaHJl
YWRTYWZlUmVmQ291bnRlZCwgc28gdGhhdCBpdCBjYW4gYmUgcmV0YWluZWQgaW4gbm9uLW1haW4g
dGhyZWFkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNv
Y29hLmNwcAppbmRleCA2ZjNiYjhmNGM1OTc4ZDFkMjAyOTA4MmFiZjY5ZWZlN2JmYTUyOTVmLi5l
MzcwNTEyOGRhNmI0NDFhYTllZmU2OWI4MjY0MTg5YTZjYTExNzlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRp
YVN0cmVhbUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmNwcApAQCAtNDgsOCArNDgs
NiBAQCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OkF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYShNZWRpYVN0cmVhbQogCiBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3Ry
ZWFtQ29jb2E6On5BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EoKQogewotICAgIHN0
ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0ZUxvY2spOwotCiAgICAgc3Ry
ZWFtVHJhY2soKS5zb3VyY2UoKS5yZW1vdmVPYnNlcnZlcigqdGhpcyk7CiAKICAgICBpZiAobV9k
YXRhU291cmNlKQpAQCAtNjgsOCArNjYsNiBAQCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
Q29jb2E6On5BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EoKQogCiB2b2lkIEF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6cGxheUludGVybmFsKCkKIHsKLSAgICBBU1NF
UlQobV9pbnRlcm5hbFN0YXRlTG9jay5pc0hlbGQoKSk7Ci0KICAgICBpZiAobV9pc1BsYXlpbmcp
CiAgICAgICAgIHJldHVybjsKIApAQCAtODUsMTQgKzgxLDExIEBAIHZvaWQgQXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUNvY29hOjpwbGF5SW50ZXJuYWwoKQogCiB2b2lkIEF1ZGlvVHJhY2tQ
cml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6cGxheSgpCiB7Ci0gICAgc3RkOjpsb2NrX2d1YXJkPExv
Y2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7CiAgICAgcGxheUludGVybmFsKCk7CiB9CiAK
IHZvaWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpwYXVzZSgpCiB7Ci0gICAg
c3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KICAgICBt
X2lzUGxheWluZyA9IGZhbHNlOwogICAgIG1fYXV0b1BsYXkgPSBmYWxzZTsKIApAQCAtMTExLDcg
KzEwNCw2IEBAIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXRWb2x1
bWUoZmxvYXQgdm9sdW1lKQogCiBPU1N0YXR1cyBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
Q29jb2E6OnNldHVwQXVkaW9Vbml0KCkKIHsKLSAgICBBU1NFUlQobV9pbnRlcm5hbFN0YXRlTG9j
ay5pc0hlbGQoKSk7CiAKICAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGlvVW5pdERlc2Ny
aXB0aW9uIHsga0F1ZGlvVW5pdFR5cGVfT3V0cHV0LCAwLCBrQXVkaW9Vbml0TWFudWZhY3R1cmVy
X0FwcGxlLCAwLCAwIH07CiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMTgzLDggKzE3NSw2IEBAIHZv
aWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjphdWRpb1NhbXBsZXNBdmFpbGFi
bGUoY29uc3QgTWVkaWFUaW1lJiBzCiAgICAgUmVmPEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJl
YW1Db2NvYT4gcHJvdGVjdGVkVGhpcyB7ICp0aGlzIH07CiAgICAgQVNTRVJUKGRlc2NyaXB0aW9u
LnBsYXRmb3JtRGVzY3JpcHRpb24oKS50eXBlID09IFBsYXRmb3JtRGVzY3JpcHRpb246OkNBQXVk
aW9TdHJlYW1CYXNpY1R5cGUpOwogCi0gICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9p
bnRlcm5hbFN0YXRlTG9jayk7Ci0KICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gc3RyZWFt
RGVzY3JpcHRpb24gPSB0b0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbihkZXNjcmlwdGlvbik7CiAg
ICAgaWYgKCFtX2lucHV0RGVzY3JpcHRpb24gfHwgKm1faW5wdXREZXNjcmlwdGlvbiAhPSBkZXNj
cmlwdGlvbikgewogCkBAIC0yMzEsMTAgKzIyMSw2IEBAIE9TU3RhdHVzIEF1ZGlvVHJhY2tQcml2
YXRlTWVkaWFTdHJlYW1Db2NvYTo6cmVuZGVyKFVJbnQzMiBzYW1wbGVDb3VudCwgQXVkaW9CdWZm
CiB7CiAgICAgUmVmPEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYT4gcHJvdGVjdGVk
VGhpcyB7ICp0aGlzIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9pbnRl
cm5hbFN0YXRlTG9jaywgc3RkOjp0cnlfdG9fbG9jayk7Ci0gICAgaWYgKCFsb2NrLm93bnNfbG9j
aygpKQotICAgICAgICByZXR1cm4ga0F1ZGlvQ29udmVydGVyRXJyX1Vuc3BlY2lmaWVkRXJyb3I7
Ci0KICAgICBpZiAoIW1faXNQbGF5aW5nIHx8IG1fbXV0ZWQgfHwgIW1fZGF0YVNvdXJjZSB8fCBz
dHJlYW1UcmFjaygpLm11dGVkKCkgfHwgc3RyZWFtVHJhY2soKS5lbmRlZCgpIHx8ICFzdHJlYW1U
cmFjaygpLmVuYWJsZWQoKSkgewogICAgICAgICBBdWRpb1NhbXBsZUJ1ZmZlckxpc3Q6Onplcm9B
QkwoaW9EYXRhLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHNhbXBsZUNvdW50KSk7CiAgICAgICAgIGFj
dGlvbkZsYWdzID0ga0F1ZGlvVW5pdFJlbmRlckFjdGlvbl9PdXRwdXRJc1NpbGVuY2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmgKaW5kZXggNDhj
MTYyMzMyM2MxNWQ2MjRiOWYxODc5MDg4NWJkOTRjYmFjOTA4ZS4uMjYxMDFlZjQ5MWEzNTU3ZTA0
M2MwNDY5ZGE5ZTBlNmZkODYyM2QwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJp
dmF0ZU1lZGlhU3RyZWFtQ29jb2EuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlIDxBdWRpb1Rvb2xib3gvQXVkaW9U
b29sYm94Lmg+CiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+Ci0jaW5jbHVk
ZSA8d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03OCw3ICs3Nyw2IEBA
IHByaXZhdGU6CiAKICAgICBSZWZQdHI8QXVkaW9TYW1wbGVEYXRhU291cmNlPiBtX2RhdGFTb3Vy
Y2U7CiAKLSAgICBMb2NrIG1faW50ZXJuYWxTdGF0ZUxvY2s7CiAgICAgZmxvYXQgbV92b2x1bWUg
eyAxIH07CiAgICAgYm9vbCBtX2lzUGxheWluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2F1dG9Q
bGF5IHsgZmFsc2UgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302279</attachid>
            <date>2017-02-21 10:14:24 -0800</date>
            <delta_ts>2017-02-22 11:07:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168643-20170221101140.patch</filename>
            <type>text/plain</type>
            <size>5293</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEwNzY2ZTkzNzAzNDg2
ZjI3NWZkYzE4YTJmZThjMDVjNjI1NWVjNy4uZjdlODUwOGYxMzQ3NmY4MDE0NzNjMmZjNzk3ZGVj
NzcyODljMGRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTAyLTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYSBzaG91bGQgbm90IGV4Y2x1c2l2ZWx5IGxvY2sgaXRzIHJlYWQgYW5k
IHdyaXRlIHRocmVhZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBMb2NraW5nIHRoZSB3cml0ZSB0aHJlYWQgY2F1c2VzIHRoZSByZWFkIHRocmVhZCB0
byBkcm9wIGF1ZGlvIHNhbXBsZXMgYW5kIGdlbmVyYXRlcyBhdWRpYmxlCisgICAgICAgIGdsaXRj
aGVzLCBhbmQgdGhlIHJlYWx0aW1lIGF1ZGlvIHRocmVhZCBiYWNraW5nIHRoZSByZWFkIHRocmVh
ZCBzaG91bGQgbmV2ZXIgYmxvY2suIFRoZXJlJ3MKKyAgICAgICAgbm8gcmVhbCByZWFzb24gdG8g
bG9jayB0aGVzZSB0aHJlYWRzIGFnYWluc3Qgb25lIGFub3RoZXIgaGVyZTsgdGhleSBib3RoIHJl
bHkgb24gdGhlCisgICAgICAgIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZSBhbmQgaXQncyBDQVJpbmdC
dWZmZXIgdG8gc2FmZWx5IGFuZCBzaW11bHRhbmVvdXNseSByZWFkIGFuZCB3cml0ZQorICAgICAg
ICBkYXRhLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQ
cml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1RyYWNr
UHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6On5BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29j
b2EpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29h
OjpwbGF5SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRp
YVN0cmVhbUNvY29hOjpwbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYTo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXRWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OmF1ZGlvU2FtcGxl
c0F2YWlsYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oOgorCiAyMDE3LTAyLTIwICBKZXIgTm9ibGUgIDxq
ZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEdpdmUgdGhlIE1vY2sgYXVkaW8gaW5wdXQg
YSAiaHVtIiB0byBtYWtlIGRyb3Atb3V0cyBtb3JlIGRldGVjdGFibGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1l
ZGlhU3RyZWFtQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHAKaW5kZXggNmYzYmI4ZjRj
NTk3OGQxZDIwMjkwODJhYmY2OWVmZTdiZmE1Mjk1Zi4uZTM3MDUxMjhkYTZiNDQxYWE5ZWZlNjli
ODI2NDE4OWE2Y2ExMTc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYS5jcHAKQEAgLTQ4LDggKzQ4LDYgQEAgQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hOjpBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EoTWVkaWFT
dHJlYW0KIAogQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjp+QXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUNvY29hKCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9j
ayhtX2ludGVybmFsU3RhdGVMb2NrKTsKLQogICAgIHN0cmVhbVRyYWNrKCkuc291cmNlKCkucmVt
b3ZlT2JzZXJ2ZXIoKnRoaXMpOwogCiAgICAgaWYgKG1fZGF0YVNvdXJjZSkKQEAgLTY4LDggKzY2
LDYgQEAgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjp+QXVkaW9UcmFja1ByaXZh
dGVNZWRpYVN0cmVhbUNvY29hKCkKIAogdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
Q29jb2E6OnBsYXlJbnRlcm5hbCgpCiB7Ci0gICAgQVNTRVJUKG1faW50ZXJuYWxTdGF0ZUxvY2su
aXNIZWxkKCkpOwotCiAgICAgaWYgKG1faXNQbGF5aW5nKQogICAgICAgICByZXR1cm47CiAKQEAg
LTg1LDE0ICs4MSwxMSBAQCB2b2lkIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6
cGxheUludGVybmFsKCkKIAogdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6
OnBsYXkoKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0
ZUxvY2spOwogICAgIHBsYXlJbnRlcm5hbCgpOwogfQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYTo6cGF1c2UoKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBs
b2NrKG1faW50ZXJuYWxTdGF0ZUxvY2spOwotCiAgICAgbV9pc1BsYXlpbmcgPSBmYWxzZTsKICAg
ICBtX2F1dG9QbGF5ID0gZmFsc2U7CiAKQEAgLTExMSw3ICsxMDQsNiBAQCB2b2lkIEF1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6c2V0Vm9sdW1lKGZsb2F0IHZvbHVtZSkKIAogT1NT
dGF0dXMgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCgp
CiB7Ci0gICAgQVNTRVJUKG1faW50ZXJuYWxTdGF0ZUxvY2suaXNIZWxkKCkpOwogCiAgICAgQXVk
aW9Db21wb25lbnREZXNjcmlwdGlvbiBpb1VuaXREZXNjcmlwdGlvbiB7IGtBdWRpb1VuaXRUeXBl
X091dHB1dCwgMCwga0F1ZGlvVW5pdE1hbnVmYWN0dXJlcl9BcHBsZSwgMCwgMCB9OwogI2lmIFBM
QVRGT1JNKElPUykKQEAgLTE4Myw4ICsxNzUsNiBAQCB2b2lkIEF1ZGlvVHJhY2tQcml2YXRlTWVk
aWFTdHJlYW1Db2NvYTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgcwog
ICAgIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E+IHByb3RlY3RlZFRoaXMg
eyAqdGhpcyB9OwogICAgIEFTU0VSVChkZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9uKCku
dHlwZSA9PSBQbGF0Zm9ybURlc2NyaXB0aW9uOjpDQUF1ZGlvU3RyZWFtQmFzaWNUeXBlKTsKIAot
ICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0ZUxvY2spOwotCiAg
ICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIHN0cmVhbURlc2NyaXB0aW9uID0gdG9DQUF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pOwogICAgIGlmICghbV9pbnB1dERlc2NyaXB0
aW9uIHx8ICptX2lucHV0RGVzY3JpcHRpb24gIT0gZGVzY3JpcHRpb24pIHsKIApAQCAtMjMxLDEw
ICsyMjEsNiBAQCBPU1N0YXR1cyBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnJl
bmRlcihVSW50MzIgc2FtcGxlQ291bnQsIEF1ZGlvQnVmZgogewogICAgIFJlZjxBdWRpb1RyYWNr
UHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E+IHByb3RlY3RlZFRoaXMgeyAqdGhpcyB9OwogCi0gICAg
c3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0ZUxvY2ssIHN0ZDo6dHJ5
X3RvX2xvY2spOwotICAgIGlmICghbG9jay5vd25zX2xvY2soKSkKLSAgICAgICAgcmV0dXJuIGtB
dWRpb0NvbnZlcnRlckVycl9VbnNwZWNpZmllZEVycm9yOwotCiAgICAgaWYgKCFtX2lzUGxheWlu
ZyB8fCBtX211dGVkIHx8ICFtX2RhdGFTb3VyY2UgfHwgc3RyZWFtVHJhY2soKS5tdXRlZCgpIHx8
IHN0cmVhbVRyYWNrKCkuZW5kZWQoKSB8fCAhc3RyZWFtVHJhY2soKS5lbmFibGVkKCkpIHsKICAg
ICAgICAgQXVkaW9TYW1wbGVCdWZmZXJMaXN0Ojp6ZXJvQUJMKGlvRGF0YSwgc3RhdGljX2Nhc3Q8
c2l6ZV90PihzYW1wbGVDb3VudCkpOwogICAgICAgICBhY3Rpb25GbGFncyA9IGtBdWRpb1VuaXRS
ZW5kZXJBY3Rpb25fT3V0cHV0SXNTaWxlbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2Nv
YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQ
cml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oCmluZGV4IDQ4YzE2MjMzMjNjMTVkNjI0YjlmMTg3OTA4
ODViZDk0Y2JhYzkwOGUuLjI2MTAxZWY0OTFhMzU1N2UwNDNjMDQ2OWRhOWUwZTZmZDg2MjNkMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRp
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmgK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
LmgiCiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0F1ZGlvVG9vbGJveC5oPgogI2luY2x1ZGUgPENv
cmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgotI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNzgsNyArNzcsNiBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRy
PEF1ZGlvU2FtcGxlRGF0YVNvdXJjZT4gbV9kYXRhU291cmNlOwogCi0gICAgTG9jayBtX2ludGVy
bmFsU3RhdGVMb2NrOwogICAgIGZsb2F0IG1fdm9sdW1lIHsgMSB9OwogICAgIGJvb2wgbV9pc1Bs
YXlpbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hdXRvUGxheSB7IGZhbHNlIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302310</attachid>
            <date>2017-02-21 14:44:18 -0800</date>
            <delta_ts>2017-02-22 11:07:20 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-168643-20170221144133.patch</filename>
            <type>text/plain</type>
            <size>6036</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVjOWUxMzM4N2E1MGY0
NWNlZDA5NmNhY2I5MTBmNjExNjVmZmNlZC4uZGUxZGQ1MzQxNWFlNzVhYTE3YmQ0NDVjYTllZTYx
NTRiMzJiNTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTAyLTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYSBzaG91bGQgbm90IGV4Y2x1c2l2ZWx5IGxvY2sgaXRzIHJlYWQgYW5k
IHdyaXRlIHRocmVhZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAg
ICAgICAgTG9ja2luZyB0aGUgd3JpdGUgdGhyZWFkIGNhdXNlcyB0aGUgcmVhZCB0aHJlYWQgdG8g
ZHJvcCBhdWRpbyBzYW1wbGVzIGFuZCBnZW5lcmF0ZXMgYXVkaWJsZQorICAgICAgICBnbGl0Y2hl
cywgYW5kIHRoZSByZWFsdGltZSBhdWRpbyB0aHJlYWQgYmFja2luZyB0aGUgcmVhZCB0aHJlYWQg
c2hvdWxkIG5ldmVyIGJsb2NrLiBUaGVyZSdzCisgICAgICAgIG5vIHJlYWwgcmVhc29uIHRvIGxv
Y2sgdGhlc2UgdGhyZWFkcyBhZ2FpbnN0IG9uZSBhbm90aGVyIGhlcmU7IHRoZXkgYm90aCByZWx5
IG9uIHRoZQorICAgICAgICBBdWRpb1NhbXBsZURhdGFTb3VyY2UgYW5kIGl0J3MgQ0FSaW5nQnVm
ZmVyIHRvIHNhZmVseSBhbmQgc2ltdWx0YW5lb3VzbHkgcmVhZCBhbmQgd3JpdGUKKyAgICAgICAg
ZGF0YS4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJp
dmF0ZU1lZGlhU3RyZWFtQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUNvY29hOjp+QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29h
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6
cGxheUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFT
dHJlYW1Db2NvYTo6cGxheSk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1RyYWNrUHJpdmF0ZU1l
ZGlhU3RyZWFtQ29jb2E6OnBhdXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2
YXRlTWVkaWFTdHJlYW1Db2NvYTo6c2V0Vm9sdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6c2V0dXBBdWRpb1VuaXQpOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjphdWRpb1NhbXBsZXNB
dmFpbGFibGUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNr
UHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuaDoKKwogMjAxNy0wMi0yMCAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBdWRpb1NhbXBsZURhdGFTb3VyY2UgZG9lc24n
dCBuZWVkIHRvIHVzZSB0aGUgbV9zY3JhdGNoQnVmZmVyIG9uIHRoZSBwdWxsaW5nIHRocmVhZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmNwcApp
bmRleCA2ZjNiYjhmNGM1OTc4ZDFkMjAyOTA4MmFiZjY5ZWZlN2JmYTUyOTVmLi5jZTY1NGU5N2Fj
ODk3MzVhYjJjODI0Y2UyODVmMzY4MjMzNzg3YTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNv
Y29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVk
aW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmNwcApAQCAtNDgsOCArNDgsNiBAQCBBdWRp
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJl
YW1Db2NvYShNZWRpYVN0cmVhbQogCiBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6
On5BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EoKQogewotICAgIHN0ZDo6bG9ja19n
dWFyZDxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0ZUxvY2spOwotCiAgICAgc3RyZWFtVHJhY2so
KS5zb3VyY2UoKS5yZW1vdmVPYnNlcnZlcigqdGhpcyk7CiAKICAgICBpZiAobV9kYXRhU291cmNl
KQpAQCAtNjgsOCArNjYsNiBAQCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6On5B
dWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EoKQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2
YXRlTWVkaWFTdHJlYW1Db2NvYTo6cGxheUludGVybmFsKCkKIHsKLSAgICBBU1NFUlQobV9pbnRl
cm5hbFN0YXRlTG9jay5pc0hlbGQoKSk7Ci0KICAgICBpZiAobV9pc1BsYXlpbmcpCiAgICAgICAg
IHJldHVybjsKIApAQCAtODUsMTQgKzgxLDExIEBAIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVNZWRp
YVN0cmVhbUNvY29hOjpwbGF5SW50ZXJuYWwoKQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2YXRlTWVk
aWFTdHJlYW1Db2NvYTo6cGxheSgpCiB7Ci0gICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2so
bV9pbnRlcm5hbFN0YXRlTG9jayk7CiAgICAgcGxheUludGVybmFsKCk7CiB9CiAKIHZvaWQgQXVk
aW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpwYXVzZSgpCiB7Ci0gICAgc3RkOjpsb2Nr
X2d1YXJkPExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KICAgICBtX2lzUGxheWlu
ZyA9IGZhbHNlOwogICAgIG1fYXV0b1BsYXkgPSBmYWxzZTsKIApAQCAtMTExLDcgKzEwNCw2IEBA
IHZvaWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXRWb2x1bWUoZmxvYXQg
dm9sdW1lKQogCiBPU1N0YXR1cyBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNl
dHVwQXVkaW9Vbml0KCkKIHsKLSAgICBBU1NFUlQobV9pbnRlcm5hbFN0YXRlTG9jay5pc0hlbGQo
KSk7CiAKICAgICBBdWRpb0NvbXBvbmVudERlc2NyaXB0aW9uIGlvVW5pdERlc2NyaXB0aW9uIHsg
a0F1ZGlvVW5pdFR5cGVfT3V0cHV0LCAwLCBrQXVkaW9Vbml0TWFudWZhY3R1cmVyX0FwcGxlLCAw
LCAwIH07CiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMTgwLDExICsxNzIsMTEgQEAgT1NTdGF0dXMg
QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCgpCiAKIHZv
aWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjphdWRpb1NhbXBsZXNBdmFpbGFi
bGUoY29uc3QgTWVkaWFUaW1lJiBzYW1wbGVUaW1lLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYg
YXVkaW9EYXRhLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgc2l6
ZV90IHNhbXBsZUNvdW50KQogeworICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIGEg
YmFja2dyb3VuZCB0aHJlYWQuIFRoZSBmb2xsb3dpbmcgcHJvdGVjdGVkVGhpcyBvYmplY3QgZW5z
dXJlcyB0aGUgb2JqZWN0IGlzIG5vdAorICAgIC8vIGRlc3Ryb3llZCBvbiB0aGUgbWFpbiB0aHJl
YWQgYmVmb3JlIHRoaXMgZnVuY3Rpb24gZXhpdHMuCiAgICAgUmVmPEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYT4gcHJvdGVjdGVkVGhpcyB7ICp0aGlzIH07CiAgICAgQVNTRVJUKGRl
c2NyaXB0aW9uLnBsYXRmb3JtRGVzY3JpcHRpb24oKS50eXBlID09IFBsYXRmb3JtRGVzY3JpcHRp
b246OkNBQXVkaW9TdHJlYW1CYXNpY1R5cGUpOwogCi0gICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+
IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24gc3RyZWFtRGVzY3JpcHRpb24gPSB0b0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbihkZXNjcmlw
dGlvbik7CiAgICAgaWYgKCFtX2lucHV0RGVzY3JpcHRpb24gfHwgKm1faW5wdXREZXNjcmlwdGlv
biAhPSBkZXNjcmlwdGlvbikgewogCkBAIC0yMjksMTIgKzIyMSwxMCBAQCB2b2lkIEF1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6c291cmNlU3RvcHBlZCgpCiAKIE9TU3RhdHVzIEF1
ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6cmVuZGVyKFVJbnQzMiBzYW1wbGVDb3Vu
dCwgQXVkaW9CdWZmZXJMaXN0JiBpb0RhdGEsIFVJbnQzMiAvKmluQnVzTnVtYmVyKi8sIGNvbnN0
IEF1ZGlvVGltZVN0YW1wJiB0aW1lU3RhbXAsIEF1ZGlvVW5pdFJlbmRlckFjdGlvbkZsYWdzJiBh
Y3Rpb25GbGFncykKIHsKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBhIGhpZ2gt
cHJpb3JpdHkgYmFja2dyb3VuZCB0aHJlYWQuIFRoZSBmb2xsb3dpbmcgcHJvdGVjdGVkVGhpcyBv
YmplY3QgZW5zdXJlcyB0aGUgb2JqZWN0IGlzIG5vdAorICAgIC8vIGRlc3Ryb3llZCBvbiB0aGUg
bWFpbiB0aHJlYWQgYmVmb3JlIHRoaXMgZnVuY3Rpb24gZXhpdHMuCiAgICAgUmVmPEF1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYT4gcHJvdGVjdGVkVGhpcyB7ICp0aGlzIH07CiAKLSAg
ICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jaywgc3RkOjp0
cnlfdG9fbG9jayk7Ci0gICAgaWYgKCFsb2NrLm93bnNfbG9jaygpKQotICAgICAgICByZXR1cm4g
a0F1ZGlvQ29udmVydGVyRXJyX1Vuc3BlY2lmaWVkRXJyb3I7Ci0KICAgICBpZiAoIW1faXNQbGF5
aW5nIHx8IG1fbXV0ZWQgfHwgIW1fZGF0YVNvdXJjZSB8fCBzdHJlYW1UcmFjaygpLm11dGVkKCkg
fHwgc3RyZWFtVHJhY2soKS5lbmRlZCgpIHx8ICFzdHJlYW1UcmFjaygpLmVuYWJsZWQoKSkgewog
ICAgICAgICBBdWRpb1NhbXBsZUJ1ZmZlckxpc3Q6Onplcm9BQkwoaW9EYXRhLCBzdGF0aWNfY2Fz
dDxzaXplX3Q+KHNhbXBsZUNvdW50KSk7CiAgICAgICAgIGFjdGlvbkZsYWdzID0ga0F1ZGlvVW5p
dFJlbmRlckFjdGlvbl9PdXRwdXRJc1NpbGVuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNv
Y29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmgKaW5kZXggNDhjMTYyMzMyM2MxNWQ2MjRiOWYxODc5
MDg4NWJkOTRjYmFjOTA4ZS4uMjYxMDFlZjQ5MWEzNTU3ZTA0M2MwNDY5ZGE5ZTBlNmZkODYyM2Qw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1
ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2Eu
aApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJl
YW0uaCIKICNpbmNsdWRlIDxBdWRpb1Rvb2xib3gvQXVkaW9Ub29sYm94Lmg+CiAjaW5jbHVkZSA8
Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+Ci0jaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC03OCw3ICs3Nyw2IEBAIHByaXZhdGU6CiAKICAgICBSZWZQ
dHI8QXVkaW9TYW1wbGVEYXRhU291cmNlPiBtX2RhdGFTb3VyY2U7CiAKLSAgICBMb2NrIG1faW50
ZXJuYWxTdGF0ZUxvY2s7CiAgICAgZmxvYXQgbV92b2x1bWUgeyAxIH07CiAgICAgYm9vbCBtX2lz
UGxheWluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2F1dG9QbGF5IHsgZmFsc2UgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302418</attachid>
            <date>2017-02-22 11:07:23 -0800</date>
            <delta_ts>2017-02-22 11:13:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168643-20170222110437.patch</filename>
            <type>text/plain</type>
            <size>14793</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQzMzA2ZWNjYzUzNzQ2
MWVmMjk4ZWU5MjRjYTVhNWRkMmMwMDlmMS4uMTQ4NDVjNGZmNTk5MWI5YmE0M2QzYzBmN2MxOTkz
ODZlYzhiYzc1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTAyLTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYSBzaG91bGQgbm90IGV4Y2x1c2l2ZWx5IGxvY2sgaXRzIHJlYWQgYW5k
IHdyaXRlIHRocmVhZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAg
ICAgICAgTG9ja2luZyB0aGUgd3JpdGUgdGhyZWFkIGNhdXNlcyB0aGUgcmVhZCB0aHJlYWQgdG8g
ZHJvcCBhdWRpbyBzYW1wbGVzIGFuZCBnZW5lcmF0ZXMgYXVkaWJsZQorICAgICAgICBnbGl0Y2hl
cywgYW5kIHRoZSByZWFsdGltZSBhdWRpbyB0aHJlYWQgYmFja2luZyB0aGUgcmVhZCB0aHJlYWQg
c2hvdWxkIG5ldmVyIGJsb2NrLiBUaGVyZSdzCisgICAgICAgIG5vIHJlYWwgcmVhc29uIHRvIGxv
Y2sgdGhlc2UgdGhyZWFkcyBhZ2FpbnN0IG9uZSBhbm90aGVyIGhlcmU7IHRoZXkgYm90aCByZWx5
IG9uIHRoZQorICAgICAgICBBdWRpb1NhbXBsZURhdGFTb3VyY2UgYW5kIGl0J3MgQ0FSaW5nQnVm
ZmVyIHRvIHNhZmVseSBhbmQgc2ltdWx0YW5lb3VzbHkgcmVhZCBhbmQgd3JpdGUKKyAgICAgICAg
ZGF0YS4KKworICAgICAgICBUaGUgb25lIHBpZWNlIHRoaWNoIGxvY2tzIHByZXZpb3VzbHkgcHJv
dGVjdGVkIGFnYWluc3QgdW5zYWZlIGFjY2VzcyB3YXMgZHVyaW5nIGNyZWF0aW9uIG9mCisgICAg
ICAgIHRoZSBhdWRpbyB1bml0LiAgV2l0aG91dCBhIGxvY2ssIHRoZSBhdWRpbyB1bml0IGNvdWxk
IGJlZ2luIHBsYXliYWNrIGFmdGVyIHRoZSB1bml0IHdhcworICAgICAgICBjcmVhdGVkIGFuZCBh
c3NpZ25lZCB0byBtX3JlbW90ZUlPVW5pdCBidXQgYmVmb3JlIHRoZSByaW5nIGJ1ZmZlciB3YXMg
Y3JlYXRlZC4gVG8gcHJvdGVjdAorICAgICAgICBhZ2FpbnN0IHRoaXMgcG9zc2liaWxpdHksIGNy
ZWF0ZSB0aGUgdW5pdCwgc2V0IHRoZSBpbnB1dCBhbmQgb3V0cHV0IGRlc2NyaXB0aW9ucywgYnV0
IG9ubHkKKyAgICAgICAgYXNzaWduIHRoZSBuZXcgYXVkaW8gdW5pdCB0byBtX3JlbW90ZUlPVW5p
dCBhZnRlciB0aGUgcmluZyBidWZmZXIgaGFzIGJlZW4gY3JlYXRlZCBhbmQKKyAgICAgICAgaW5p
dGlhbGl6ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6On5BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
Q29jb2EpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNv
Y29hOjpwbGF5SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hOjpwbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2
YXRlTWVkaWFTdHJlYW1Db2NvYTo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXRWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpjcmVhdGVBdWRpb1VuaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1
ZGlvVW5pdCk6IFJlbmFtZWQgdG8gY3JlYXRlQXVkaW9Vbml0KCkKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hLmg6CisKIDIwMTctMDItMjIgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW1Tb3VyY2VOb2RlIG5ldmVyIHJlY2VpdmVz
IGF1ZGlvIGZyb20gTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURlc2NyaXB0
aW9uLmgKaW5kZXggM2JhYmNmYmQ2NDk2MThmZGMxNGMzYWRjOWU3YWFiODhiODZjNjJlMi4uZWM1
YjY3Mjk0MzE4MzFiMWY1ZGUwNDg1YWRmZjBhNjkyYTFkYTU2NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9DQUF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24uaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiAgICAgfQogICAgIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdGhlcikgeyByZXR1cm4gIW9wZXJh
dG9yID09IChvdGhlcik7IH0KIAotICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlv
biYgc3RyZWFtRGVzY3JpcHRpb24oKSB7IHJldHVybiBtX3N0cmVhbURlc2NyaXB0aW9uOyB9Cisg
ICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBzdHJlYW1EZXNjcmlwdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fc3RyZWFtRGVzY3JpcHRpb247IH0KKyAgICBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24mIHN0cmVhbURlc2NyaXB0aW9uKCkgeyByZXR1cm4gbV9zdHJlYW1EZXNj
cmlwdGlvbjsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgY2FsY3VsYXRlRm9ybWF0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuY3BwCmluZGV4
IDZmM2JiOGY0YzU5NzhkMWQyMDI5MDgyYWJmNjllZmU3YmZhNTI5NWYuLmI2ZGEwZGU0NGQzNjEx
MDdlYzk1ZmZkNWYyMzdkMTkzMTdhNDdjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2Eu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuY3BwCkBAIC00OCw4ICs0OCw2IEBAIEF1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNv
Y29hKE1lZGlhU3RyZWFtCiAKIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6fkF1
ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYSgpCiB7Ci0gICAgc3RkOjpsb2NrX2d1YXJk
PExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KICAgICBzdHJlYW1UcmFjaygpLnNv
dXJjZSgpLnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKIAogICAgIGlmIChtX2RhdGFTb3VyY2UpCkBA
IC02OCw4ICs2Niw2IEBAIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6fkF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYSgpCiAKIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hOjpwbGF5SW50ZXJuYWwoKQogewotICAgIEFTU0VSVChtX2ludGVybmFs
U3RhdGVMb2NrLmlzSGVsZCgpKTsKLQogICAgIGlmIChtX2lzUGxheWluZykKICAgICAgICAgcmV0
dXJuOwogCkBAIC04NSwxNCArODEsMTEgQEAgdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3Ry
ZWFtQ29jb2E6OnBsYXlJbnRlcm5hbCgpCiAKIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0
cmVhbUNvY29hOjpwbGF5KCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX2lu
dGVybmFsU3RhdGVMb2NrKTsKICAgICBwbGF5SW50ZXJuYWwoKTsKIH0KIAogdm9pZCBBdWRpb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnBhdXNlKCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3Vh
cmQ8TG9jaz4gbG9jayhtX2ludGVybmFsU3RhdGVMb2NrKTsKLQogICAgIG1faXNQbGF5aW5nID0g
ZmFsc2U7CiAgICAgbV9hdXRvUGxheSA9IGZhbHNlOwogCkBAIC0xMDksOSArMTAyLDkgQEAgdm9p
ZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNldFZvbHVtZShmbG9hdCB2b2x1
bWUpCiAgICAgICAgIG1fZGF0YVNvdXJjZS0+c2V0Vm9sdW1lKG1fdm9sdW1lKTsKIH0KIAotT1NT
dGF0dXMgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCgp
CitBdWRpb0NvbXBvbmVudEluc3RhbmNlIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2Nv
YTo6Y3JlYXRlQXVkaW9Vbml0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgaW5wdXRE
ZXNjcmlwdGlvbiwgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdXRwdXREZXNjcmlwdGlvbikK
IHsKLSAgICBBU1NFUlQobV9pbnRlcm5hbFN0YXRlTG9jay5pc0hlbGQoKSk7CisgICAgQXVkaW9D
b21wb25lbnRJbnN0YW5jZSByZW1vdGVJT1VuaXQgeyBudWxscHRyIH07CiAKICAgICBBdWRpb0Nv
bXBvbmVudERlc2NyaXB0aW9uIGlvVW5pdERlc2NyaXB0aW9uIHsga0F1ZGlvVW5pdFR5cGVfT3V0
cHV0LCAwLCBrQXVkaW9Vbml0TWFudWZhY3R1cmVyX0FwcGxlLCAwLCAwIH07CiAjaWYgUExBVEZP
Uk0oSU9TKQpAQCAtMTIzLDY5ICsxMTYsNjYgQEAgT1NTdGF0dXMgQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCgpCiAgICAgQXVkaW9Db21wb25lbnQgaW9D
b21wb25lbnQgPSBBdWRpb0NvbXBvbmVudEZpbmROZXh0KG51bGxwdHIsICZpb1VuaXREZXNjcmlw
dGlvbik7CiAgICAgQVNTRVJUKGlvQ29tcG9uZW50KTsKICAgICBpZiAoIWlvQ29tcG9uZW50KSB7
Ci0gICAgICAgIExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6
c2V0dXBBdWRpb1VuaXQoJXApIHVuYWJsZSB0byBmaW5kIHJlbW90ZSBJTyB1bml0IGNvbXBvbmVu
dCIsIHRoaXMpOwotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIExPRyhNZWRpYSwgIkF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6Y3JlYXRlQXVkaW9Vbml0KCVwKSB1bmFibGUg
dG8gZmluZCByZW1vdGUgSU8gdW5pdCBjb21wb25lbnQiLCB0aGlzKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCi0gICAgT1NTdGF0dXMgZXJyID0gQXVkaW9Db21wb25lbnRJbnN0
YW5jZU5ldyhpb0NvbXBvbmVudCwgJm1fcmVtb3RlSU9Vbml0KTsKKyAgICBPU1N0YXR1cyBlcnIg
PSBBdWRpb0NvbXBvbmVudEluc3RhbmNlTmV3KGlvQ29tcG9uZW50LCAmcmVtb3RlSU9Vbml0KTsK
ICAgICBpZiAoZXJyKSB7Ci0gICAgICAgIExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVk
aWFTdHJlYW1Db2NvYTo6c2V0dXBBdWRpb1VuaXQoJXApIHVuYWJsZSB0byBvcGVuIHZwaW8gdW5p
dCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKLSAgICAg
ICAgcmV0dXJuIC0xOworICAgICAgICBMT0coTWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlh
U3RyZWFtQ29jb2E6OmNyZWF0ZUF1ZGlvVW5pdCglcCkgdW5hYmxlIHRvIG9wZW4gdnBpbyB1bml0
LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgVUludDMy
IHBhcmFtID0gMTsKLSAgICBlcnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX3JlbW90ZUlPVW5p
dCwga0F1ZGlvT3V0cHV0VW5pdFByb3BlcnR5X0VuYWJsZUlPLCBrQXVkaW9Vbml0U2NvcGVfT3V0
cHV0LCAwLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOworICAgIGVyciA9IEF1ZGlvVW5pdFNldFBy
b3BlcnR5KHJlbW90ZUlPVW5pdCwga0F1ZGlvT3V0cHV0VW5pdFByb3BlcnR5X0VuYWJsZUlPLCBr
QXVkaW9Vbml0U2NvcGVfT3V0cHV0LCAwLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOwogICAgIGlm
IChlcnIpIHsKLSAgICAgICAgTE9HKE1lZGlhLCAiQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVh
bUNvY29hOjpzZXR1cEF1ZGlvVW5pdCglcCkgdW5hYmxlIHRvIGVuYWJsZSB2cGlvIHVuaXQgb3V0
cHV0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOwotICAg
ICAgICByZXR1cm4gZXJyOworICAgICAgICBMT0coTWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1l
ZGlhU3RyZWFtQ29jb2E6OmNyZWF0ZUF1ZGlvVW5pdCglcCkgdW5hYmxlIHRvIGVuYWJsZSB2cGlv
IHVuaXQgb3V0cHV0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZl
cnIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAjZW5kaWYKIAogICAgIEFVUmVu
ZGVyQ2FsbGJhY2tTdHJ1Y3QgY2FsbGJhY2sgPSB7IGlucHV0UHJvYywgdGhpcyB9OwotICAgIGVy
ciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1fcmVtb3RlSU9Vbml0LCBrQXVkaW9Vbml0UHJvcGVy
dHlfU2V0UmVuZGVyQ2FsbGJhY2ssIGtBdWRpb1VuaXRTY29wZV9HbG9iYWwsIDAsICZjYWxsYmFj
aywgc2l6ZW9mKGNhbGxiYWNrKSk7CisgICAgZXJyID0gQXVkaW9Vbml0U2V0UHJvcGVydHkocmVt
b3RlSU9Vbml0LCBrQXVkaW9Vbml0UHJvcGVydHlfU2V0UmVuZGVyQ2FsbGJhY2ssIGtBdWRpb1Vu
aXRTY29wZV9HbG9iYWwsIDAsICZjYWxsYmFjaywgc2l6ZW9mKGNhbGxiYWNrKSk7CiAgICAgaWYg
KGVycikgewotICAgICAgICBMT0coTWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
Q29jb2E6OnNldHVwQXVkaW9Vbml0KCVwKSB1bmFibGUgdG8gc2V0IHZwaW8gdW5pdCBzcGVha2Vy
IHByb2MsIGVycm9yICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7Ci0g
ICAgICAgIHJldHVybiBlcnI7CisgICAgICAgIExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYTo6Y3JlYXRlQXVkaW9Vbml0KCVwKSB1bmFibGUgdG8gc2V0IHZwaW8g
dW5pdCBzcGVha2VyIHByb2MsIGVycm9yICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAoY2hh
ciopJmVycik7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRwdXREZXNjcmlwdGlvbiA9IHsgfTsKICAgICBVSW50MzIg
c2l6ZSA9IHNpemVvZihvdXRwdXREZXNjcmlwdGlvbik7Ci0gICAgZXJyICA9IEF1ZGlvVW5pdEdl
dFByb3BlcnR5KG1fcmVtb3RlSU9Vbml0LCBrQXVkaW9Vbml0UHJvcGVydHlfU3RyZWFtRm9ybWF0
LCBrQXVkaW9Vbml0U2NvcGVfSW5wdXQsIDAsICZvdXRwdXREZXNjcmlwdGlvbiwgJnNpemUpOwor
ICAgIGVyciAgPSBBdWRpb1VuaXRHZXRQcm9wZXJ0eShyZW1vdGVJT1VuaXQsIGtBdWRpb1VuaXRQ
cm9wZXJ0eV9TdHJlYW1Gb3JtYXQsIGtBdWRpb1VuaXRTY29wZV9JbnB1dCwgMCwgJm91dHB1dERl
c2NyaXB0aW9uLCAmc2l6ZSk7CiAgICAgaWYgKGVycikgewotICAgICAgICBMT0coTWVkaWEsICJB
dWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNldHVwQXVkaW9Vbml0cyglcCkgdW5h
YmxlIHRvIGdldCBpbnB1dCBzdHJlYW0gZm9ybWF0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAo
aW50KWVyciwgKGNoYXIqKSZlcnIpOwotICAgICAgICByZXR1cm4gZXJyOworICAgICAgICBMT0co
TWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OmNyZWF0ZUF1ZGlvVW5p
dHMoJXApIHVuYWJsZSB0byBnZXQgaW5wdXQgc3RyZWFtIGZvcm1hdCwgZXJyb3IgJWQgKCUuNHMp
IiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgfQogCi0gICAgb3V0cHV0RGVzY3JpcHRpb24gPSBtX2lucHV0RGVzY3JpcHRpb24tPnN0
cmVhbURlc2NyaXB0aW9uKCk7Ci0gICAgb3V0cHV0RGVzY3JpcHRpb24ubVNhbXBsZVJhdGUgPSBB
dWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5zYW1wbGVSYXRlKCk7CisgICAgb3V0cHV0RGVz
Y3JpcHRpb24gPSBpbnB1dERlc2NyaXB0aW9uOworICAgIG91dHB1dERlc2NyaXB0aW9uLnN0cmVh
bURlc2NyaXB0aW9uKCkubVNhbXBsZVJhdGUgPSBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24o
KS5zYW1wbGVSYXRlKCk7CiAKLSAgICBlcnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX3JlbW90
ZUlPVW5pdCwga0F1ZGlvVW5pdFByb3BlcnR5X1N0cmVhbUZvcm1hdCwga0F1ZGlvVW5pdFNjb3Bl
X0lucHV0LCAwLCAmb3V0cHV0RGVzY3JpcHRpb24sIHNpemVvZihvdXRwdXREZXNjcmlwdGlvbikp
OworICAgIGVyciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KHJlbW90ZUlPVW5pdCwga0F1ZGlvVW5p
dFByb3BlcnR5X1N0cmVhbUZvcm1hdCwga0F1ZGlvVW5pdFNjb3BlX0lucHV0LCAwLCAmb3V0cHV0
RGVzY3JpcHRpb24uc3RyZWFtRGVzY3JpcHRpb24oKSwgc2l6ZW9mKG91dHB1dERlc2NyaXB0aW9u
LnN0cmVhbURlc2NyaXB0aW9uKCkpKTsKICAgICBpZiAoZXJyKSB7Ci0gICAgICAgIExPRyhNZWRp
YSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6c2V0dXBBdWRpb1VuaXRzKCVw
KSB1bmFibGUgdG8gc2V0IGlucHV0IHN0cmVhbSBmb3JtYXQsIGVycm9yICVkICglLjRzKSIsIHRo
aXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7Ci0gICAgICAgIHJldHVybiBlcnI7CisgICAgICAg
IExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6Y3JlYXRlQXVk
aW9Vbml0cyglcCkgdW5hYmxlIHRvIHNldCBpbnB1dCBzdHJlYW0gZm9ybWF0LCBlcnJvciAlZCAo
JS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9Ci0gICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IHN0ZDo6bWFrZV91bmlxdWU8
Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPihvdXRwdXREZXNjcmlwdGlvbik7CiAKLSAgICBlcnIg
PSBBdWRpb1VuaXRJbml0aWFsaXplKG1fcmVtb3RlSU9Vbml0KTsKKyAgICBlcnIgPSBBdWRpb1Vu
aXRJbml0aWFsaXplKHJlbW90ZUlPVW5pdCk7CiAgICAgaWYgKGVycikgewotICAgICAgICBMT0co
TWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNldHVwQXVkaW9Vbml0
cyglcCkgQXVkaW9Vbml0SW5pdGlhbGl6ZSgpIGZhaWxlZCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhp
cywgKGludCllcnIsIChjaGFyKikmZXJyKTsKLSAgICAgICAgcmV0dXJuIGVycjsKKyAgICAgICAg
TE9HKE1lZGlhLCAiQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpjcmVhdGVBdWRp
b1VuaXRzKCVwKSBBdWRpb1VuaXRJbml0aWFsaXplKCkgZmFpbGVkLCBlcnJvciAlZCAoJS40cyki
LCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICB9CiAKICAgICBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5zZXRQcmVmZXJyZWRC
dWZmZXJTaXplKHJlbmRlckJ1ZmZlclNpemUpOwogCi0gICAgcmV0dXJuIGVycjsKKyAgICByZXR1
cm4gcmVtb3RlSU9Vbml0OwogfQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1D
b2NvYTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZSwg
Y29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKIHsKKyAgICAvLyBUaGlz
IGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLiBUaGUgZm9sbG93aW5n
IHByb3RlY3RlZFRoaXMgb2JqZWN0IGVuc3VyZXMgdGhlIG9iamVjdCBpcyBub3QKKyAgICAvLyBk
ZXN0cm95ZWQgb24gdGhlIG1haW4gdGhyZWFkIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGV4aXRzLgog
ICAgIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E+IHByb3RlY3RlZFRoaXMg
eyAqdGhpcyB9OwogICAgIEFTU0VSVChkZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9uKCku
dHlwZSA9PSBQbGF0Zm9ybURlc2NyaXB0aW9uOjpDQUF1ZGlvU3RyZWFtQmFzaWNUeXBlKTsKIAot
ICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0ZUxvY2spOwotCi0g
ICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIHN0cmVhbURlc2NyaXB0aW9uID0gdG9DQUF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pOwogICAgIGlmICghbV9pbnB1dERlc2NyaXB0
aW9uIHx8ICptX2lucHV0RGVzY3JpcHRpb24gIT0gZGVzY3JpcHRpb24pIHsKIAogICAgICAgICBt
X2lucHV0RGVzY3JpcHRpb24gPSBudWxscHRyOwpAQCAtMTk3LDIzICsxODcsMjYgQEAgdm9pZCBB
dWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShj
b25zdCBNZWRpYVRpbWUmIHMKICAgICAgICAgICAgIG1fcmVtb3RlSU9Vbml0ID0gbnVsbHB0cjsK
ICAgICAgICAgfQogCi0gICAgICAgIG1faW5wdXREZXNjcmlwdGlvbiA9IHN0ZDo6bWFrZV91bmlx
dWU8Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPihzdHJlYW1EZXNjcmlwdGlvbik7Ci0gICAgICAg
IGlmIChzZXR1cEF1ZGlvVW5pdCgpKSB7Ci0gICAgICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24g
PSBudWxscHRyOworICAgICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gaW5wdXREZXNjcmlw
dGlvbiA9IHRvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKTsKKyAgICAgICAg
Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG91dHB1dERlc2NyaXB0aW9uOworCisgICAgICAgIGF1
dG8gcmVtb3RlSU9Vbml0ID0gY3JlYXRlQXVkaW9Vbml0KGlucHV0RGVzY3JpcHRpb24sIG91dHB1
dERlc2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKCFyZW1vdGVJT1VuaXQpCiAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIH0KKworICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24gPSBzdGQ6Om1h
a2VfdW5pcXVlPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4oaW5wdXREZXNjcmlwdGlvbik7Cisg
ICAgICAgIG1fb3V0cHV0RGVzY3JpcHRpb24gPSBzdGQ6Om1ha2VfdW5pcXVlPENBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbj4ob3V0cHV0RGVzY3JpcHRpb24pOwogCiAgICAgICAgIGlmICghbV9kYXRh
U291cmNlKQogICAgICAgICAgICAgbV9kYXRhU291cmNlID0gQXVkaW9TYW1wbGVEYXRhU291cmNl
OjpjcmVhdGUoZGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgpICogMik7Ci0gICAgICAgIGlmICghbV9k
YXRhU291cmNlKQotICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmIChtX2RhdGFTb3Vy
Y2UtPnNldElucHV0Rm9ybWF0KHN0cmVhbURlc2NyaXB0aW9uKSkKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgaWYgKG1fZGF0YVNvdXJjZS0+c2V0T3V0cHV0Rm9ybWF0KCptX291dHB1dERl
c2NyaXB0aW9uLmdldCgpKSkKKyAgICAgICAgaWYgKG1fZGF0YVNvdXJjZS0+c2V0SW5wdXRGb3Jt
YXQoaW5wdXREZXNjcmlwdGlvbikgfHwgbV9kYXRhU291cmNlLT5zZXRPdXRwdXRGb3JtYXQob3V0
cHV0RGVzY3JpcHRpb24pKSB7CisgICAgICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlz
cG9zZShyZW1vdGVJT1VuaXQpOwogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKICAg
ICAgICAgbV9kYXRhU291cmNlLT5zZXRWb2x1bWUobV92b2x1bWUpOworICAgICAgICBtX3JlbW90
ZUlPVW5pdCA9IHJlbW90ZUlPVW5pdDsKICAgICB9CiAKICAgICBtX2RhdGFTb3VyY2UtPnB1c2hT
YW1wbGVzKHNhbXBsZVRpbWUsIGF1ZGlvRGF0YSwgc2FtcGxlQ291bnQpOwpAQCAtMjI5LDEyICsy
MjIsMTAgQEAgdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNvdXJjZVN0
b3BwZWQoKQogCiBPU1N0YXR1cyBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnJl
bmRlcihVSW50MzIgc2FtcGxlQ291bnQsIEF1ZGlvQnVmZmVyTGlzdCYgaW9EYXRhLCBVSW50MzIg
LyppbkJ1c051bWJlciovLCBjb25zdCBBdWRpb1RpbWVTdGFtcCYgdGltZVN0YW1wLCBBdWRpb1Vu
aXRSZW5kZXJBY3Rpb25GbGFncyYgYWN0aW9uRmxhZ3MpCiB7CisgICAgLy8gVGhpcyBmdW5jdGlv
biBpcyBjYWxsZWQgb24gYSBoaWdoLXByaW9yaXR5IGJhY2tncm91bmQgdGhyZWFkLiBUaGUgZm9s
bG93aW5nIHByb3RlY3RlZFRoaXMgb2JqZWN0IGVuc3VyZXMgdGhlIG9iamVjdCBpcyBub3QKKyAg
ICAvLyBkZXN0cm95ZWQgb24gdGhlIG1haW4gdGhyZWFkIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGV4
aXRzLgogICAgIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E+IHByb3RlY3Rl
ZFRoaXMgeyAqdGhpcyB9OwogCi0gICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1faW50
ZXJuYWxTdGF0ZUxvY2ssIHN0ZDo6dHJ5X3RvX2xvY2spOwotICAgIGlmICghbG9jay5vd25zX2xv
Y2soKSkKLSAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9VbnNwZWNpZmllZEVycm9y
OwotCiAgICAgaWYgKCFtX2lzUGxheWluZyB8fCBtX211dGVkIHx8ICFtX2RhdGFTb3VyY2UgfHwg
c3RyZWFtVHJhY2soKS5tdXRlZCgpIHx8IHN0cmVhbVRyYWNrKCkuZW5kZWQoKSB8fCAhc3RyZWFt
VHJhY2soKS5lbmFibGVkKCkpIHsKICAgICAgICAgQXVkaW9TYW1wbGVCdWZmZXJMaXN0Ojp6ZXJv
QUJMKGlvRGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVDb3VudCkpOwogICAgICAgICBh
Y3Rpb25GbGFncyA9IGtBdWRpb1VuaXRSZW5kZXJBY3Rpb25fT3V0cHV0SXNTaWxlbmNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oCmluZGV4IDQ4
YzE2MjMzMjNjMTVkNjI0YjlmMTg3OTA4ODViZDk0Y2JhYzkwOGUuLmM4ZmEzMGEwODEwMDZmMjE5
MjVlODY5NmY4ODQ0M2ViNmQ3ZDJiNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUNvY29hLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJBdWRp
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0F1ZGlv
VG9vbGJveC5oPgogI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgotI2luY2x1
ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjcsNyArNjYsNyBA
QCBwcml2YXRlOgogICAgIHN0YXRpYyBPU1N0YXR1cyBpbnB1dFByb2Modm9pZCosIEF1ZGlvVW5p
dFJlbmRlckFjdGlvbkZsYWdzKiwgY29uc3QgQXVkaW9UaW1lU3RhbXAqLCBVSW50MzIgaW5CdXNO
dW1iZXIsIFVJbnQzMiBudW1iZXJPZkZyYW1lcywgQXVkaW9CdWZmZXJMaXN0Kik7CiAgICAgT1NT
dGF0dXMgcmVuZGVyKFVJbnQzMiBzYW1wbGVDb3VudCwgQXVkaW9CdWZmZXJMaXN0JiwgVUludDMy
IGluQnVzTnVtYmVyLCBjb25zdCBBdWRpb1RpbWVTdGFtcCYsIEF1ZGlvVW5pdFJlbmRlckFjdGlv
bkZsYWdzJik7CiAKLSAgICBPU1N0YXR1cyBzZXR1cEF1ZGlvVW5pdCgpOworICAgIEF1ZGlvQ29t
cG9uZW50SW5zdGFuY2UgY3JlYXRlQXVkaW9Vbml0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYgaW5wdXREZXNjcmlwdGlvbiwgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdXRwdXRE
ZXNjcmlwdGlvbik7CiAgICAgdm9pZCBjbGVhbnVwKCk7CiAgICAgdm9pZCB6ZXJvQnVmZmVyTGlz
dChBdWRpb0J1ZmZlckxpc3QmLCBzaXplX3QpOwogICAgIHZvaWQgcGxheUludGVybmFsKCk7CkBA
IC03OCw3ICs3Nyw2IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8QXVkaW9TYW1wbGVEYXRhU291
cmNlPiBtX2RhdGFTb3VyY2U7CiAKLSAgICBMb2NrIG1faW50ZXJuYWxTdGF0ZUxvY2s7CiAgICAg
ZmxvYXQgbV92b2x1bWUgeyAxIH07CiAgICAgYm9vbCBtX2lzUGxheWluZyB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2F1dG9QbGF5IHsgZmFsc2UgfTsK
</data>
<flag name="review"
          id="324152"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302419</attachid>
            <date>2017-02-22 11:16:33 -0800</date>
            <delta_ts>2017-02-22 11:16:33 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-168643-20170222111346.patch</filename>
            <type>text/plain</type>
            <size>14793</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQzMzA2ZWNjYzUzNzQ2
MWVmMjk4ZWU5MjRjYTVhNWRkMmMwMDlmMS4uNDk3MmM1ODhhMzJlMDJkMTk4YTQxZDY1MmFiYmZm
NjBjNGY4YWI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTAyLTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYSBzaG91bGQgbm90IGV4Y2x1c2l2ZWx5IGxvY2sgaXRzIHJlYWQgYW5k
IHdyaXRlIHRocmVhZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAg
ICAgICAgTG9ja2luZyB0aGUgd3JpdGUgdGhyZWFkIGNhdXNlcyB0aGUgcmVhZCB0aHJlYWQgdG8g
ZHJvcCBhdWRpbyBzYW1wbGVzIGFuZCBnZW5lcmF0ZXMgYXVkaWJsZQorICAgICAgICBnbGl0Y2hl
cywgYW5kIHRoZSByZWFsdGltZSBhdWRpbyB0aHJlYWQgYmFja2luZyB0aGUgcmVhZCB0aHJlYWQg
c2hvdWxkIG5ldmVyIGJsb2NrLiBUaGVyZSdzCisgICAgICAgIG5vIHJlYWwgcmVhc29uIHRvIGxv
Y2sgdGhlc2UgdGhyZWFkcyBhZ2FpbnN0IG9uZSBhbm90aGVyIGhlcmU7IHRoZXkgYm90aCByZWx5
IG9uIHRoZQorICAgICAgICBBdWRpb1NhbXBsZURhdGFTb3VyY2UgYW5kIGl0J3MgQ0FSaW5nQnVm
ZmVyIHRvIHNhZmVseSBhbmQgc2ltdWx0YW5lb3VzbHkgcmVhZCBhbmQgd3JpdGUKKyAgICAgICAg
ZGF0YS4KKworICAgICAgICBUaGUgb25lIHBpZWNlIHdoaWNoIGxvY2tzIHByZXZpb3VzbHkgcHJv
dGVjdGVkIGFnYWluc3QgdW5zYWZlIGFjY2VzcyB3YXMgZHVyaW5nIGNyZWF0aW9uIG9mCisgICAg
ICAgIHRoZSBhdWRpbyB1bml0LiAgV2l0aG91dCBhIGxvY2ssIHRoZSBhdWRpbyB1bml0IGNvdWxk
IGJlZ2luIHBsYXliYWNrIGFmdGVyIHRoZSB1bml0IHdhcworICAgICAgICBjcmVhdGVkIGFuZCBh
c3NpZ25lZCB0byBtX3JlbW90ZUlPVW5pdCBidXQgYmVmb3JlIHRoZSByaW5nIGJ1ZmZlciB3YXMg
Y3JlYXRlZC4gVG8gcHJvdGVjdAorICAgICAgICBhZ2FpbnN0IHRoaXMgcG9zc2liaWxpdHksIGNy
ZWF0ZSB0aGUgdW5pdCwgc2V0IHRoZSBpbnB1dCBhbmQgb3V0cHV0IGRlc2NyaXB0aW9ucywgYnV0
IG9ubHkKKyAgICAgICAgYXNzaWduIHRoZSBuZXcgYXVkaW8gdW5pdCB0byBtX3JlbW90ZUlPVW5p
dCBhZnRlciB0aGUgcmluZyBidWZmZXIgaGFzIGJlZW4gY3JlYXRlZCBhbmQKKyAgICAgICAgaW5p
dGlhbGl6ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6On5BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
Q29jb2EpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNv
Y29hOjpwbGF5SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hOjpwbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvVHJhY2tQcml2
YXRlTWVkaWFTdHJlYW1Db2NvYTo6cGF1c2UpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXRWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpjcmVhdGVBdWRpb1VuaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1
ZGlvVW5pdCk6IFJlbmFtZWQgdG8gY3JlYXRlQXVkaW9Vbml0KCkKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hLmg6CisKIDIwMTctMDItMjIgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW1Tb3VyY2VOb2RlIG5ldmVyIHJlY2VpdmVz
IGF1ZGlvIGZyb20gTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VNYWMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURlc2NyaXB0
aW9uLmgKaW5kZXggM2JhYmNmYmQ2NDk2MThmZGMxNGMzYWRjOWU3YWFiODhiODZjNjJlMi4uZWM1
YjY3Mjk0MzE4MzFiMWY1ZGUwNDg1YWRmZjBhNjkyYTFkYTU2NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9DQUF1ZGlvU3RyZWFtRGVzY3Jp
cHRpb24uaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiAgICAgfQogICAgIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdGhlcikgeyByZXR1cm4gIW9wZXJh
dG9yID09IChvdGhlcik7IH0KIAotICAgIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlv
biYgc3RyZWFtRGVzY3JpcHRpb24oKSB7IHJldHVybiBtX3N0cmVhbURlc2NyaXB0aW9uOyB9Cisg
ICAgY29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uJiBzdHJlYW1EZXNjcmlwdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fc3RyZWFtRGVzY3JpcHRpb247IH0KKyAgICBBdWRpb1N0cmVhbUJh
c2ljRGVzY3JpcHRpb24mIHN0cmVhbURlc2NyaXB0aW9uKCkgeyByZXR1cm4gbV9zdHJlYW1EZXNj
cmlwdGlvbjsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgY2FsY3VsYXRlRm9ybWF0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFj
a1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuY3BwCmluZGV4
IDZmM2JiOGY0YzU5NzhkMWQyMDI5MDgyYWJmNjllZmU3YmZhNTI5NWYuLmI2ZGEwZGU0NGQzNjEx
MDdlYzk1ZmZkNWYyMzdkMTkzMTdhNDdjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2Eu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuY3BwCkBAIC00OCw4ICs0OCw2IEBAIEF1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6QXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNv
Y29hKE1lZGlhU3RyZWFtCiAKIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6fkF1
ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYSgpCiB7Ci0gICAgc3RkOjpsb2NrX2d1YXJk
PExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KICAgICBzdHJlYW1UcmFjaygpLnNv
dXJjZSgpLnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKIAogICAgIGlmIChtX2RhdGFTb3VyY2UpCkBA
IC02OCw4ICs2Niw2IEBAIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6fkF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYSgpCiAKIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hOjpwbGF5SW50ZXJuYWwoKQogewotICAgIEFTU0VSVChtX2ludGVybmFs
U3RhdGVMb2NrLmlzSGVsZCgpKTsKLQogICAgIGlmIChtX2lzUGxheWluZykKICAgICAgICAgcmV0
dXJuOwogCkBAIC04NSwxNCArODEsMTEgQEAgdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3Ry
ZWFtQ29jb2E6OnBsYXlJbnRlcm5hbCgpCiAKIHZvaWQgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0
cmVhbUNvY29hOjpwbGF5KCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX2lu
dGVybmFsU3RhdGVMb2NrKTsKICAgICBwbGF5SW50ZXJuYWwoKTsKIH0KIAogdm9pZCBBdWRpb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnBhdXNlKCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3Vh
cmQ8TG9jaz4gbG9jayhtX2ludGVybmFsU3RhdGVMb2NrKTsKLQogICAgIG1faXNQbGF5aW5nID0g
ZmFsc2U7CiAgICAgbV9hdXRvUGxheSA9IGZhbHNlOwogCkBAIC0xMDksOSArMTAyLDkgQEAgdm9p
ZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNldFZvbHVtZShmbG9hdCB2b2x1
bWUpCiAgICAgICAgIG1fZGF0YVNvdXJjZS0+c2V0Vm9sdW1lKG1fdm9sdW1lKTsKIH0KIAotT1NT
dGF0dXMgQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCgp
CitBdWRpb0NvbXBvbmVudEluc3RhbmNlIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2Nv
YTo6Y3JlYXRlQXVkaW9Vbml0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgaW5wdXRE
ZXNjcmlwdGlvbiwgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdXRwdXREZXNjcmlwdGlvbikK
IHsKLSAgICBBU1NFUlQobV9pbnRlcm5hbFN0YXRlTG9jay5pc0hlbGQoKSk7CisgICAgQXVkaW9D
b21wb25lbnRJbnN0YW5jZSByZW1vdGVJT1VuaXQgeyBudWxscHRyIH07CiAKICAgICBBdWRpb0Nv
bXBvbmVudERlc2NyaXB0aW9uIGlvVW5pdERlc2NyaXB0aW9uIHsga0F1ZGlvVW5pdFR5cGVfT3V0
cHV0LCAwLCBrQXVkaW9Vbml0TWFudWZhY3R1cmVyX0FwcGxlLCAwLCAwIH07CiAjaWYgUExBVEZP
Uk0oSU9TKQpAQCAtMTIzLDY5ICsxMTYsNjYgQEAgT1NTdGF0dXMgQXVkaW9UcmFja1ByaXZhdGVN
ZWRpYVN0cmVhbUNvY29hOjpzZXR1cEF1ZGlvVW5pdCgpCiAgICAgQXVkaW9Db21wb25lbnQgaW9D
b21wb25lbnQgPSBBdWRpb0NvbXBvbmVudEZpbmROZXh0KG51bGxwdHIsICZpb1VuaXREZXNjcmlw
dGlvbik7CiAgICAgQVNTRVJUKGlvQ29tcG9uZW50KTsKICAgICBpZiAoIWlvQ29tcG9uZW50KSB7
Ci0gICAgICAgIExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6
c2V0dXBBdWRpb1VuaXQoJXApIHVuYWJsZSB0byBmaW5kIHJlbW90ZSBJTyB1bml0IGNvbXBvbmVu
dCIsIHRoaXMpOwotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIExPRyhNZWRpYSwgIkF1ZGlv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6Y3JlYXRlQXVkaW9Vbml0KCVwKSB1bmFibGUg
dG8gZmluZCByZW1vdGUgSU8gdW5pdCBjb21wb25lbnQiLCB0aGlzKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCi0gICAgT1NTdGF0dXMgZXJyID0gQXVkaW9Db21wb25lbnRJbnN0
YW5jZU5ldyhpb0NvbXBvbmVudCwgJm1fcmVtb3RlSU9Vbml0KTsKKyAgICBPU1N0YXR1cyBlcnIg
PSBBdWRpb0NvbXBvbmVudEluc3RhbmNlTmV3KGlvQ29tcG9uZW50LCAmcmVtb3RlSU9Vbml0KTsK
ICAgICBpZiAoZXJyKSB7Ci0gICAgICAgIExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVk
aWFTdHJlYW1Db2NvYTo6c2V0dXBBdWRpb1VuaXQoJXApIHVuYWJsZSB0byBvcGVuIHZwaW8gdW5p
dCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKLSAgICAg
ICAgcmV0dXJuIC0xOworICAgICAgICBMT0coTWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlh
U3RyZWFtQ29jb2E6OmNyZWF0ZUF1ZGlvVW5pdCglcCkgdW5hYmxlIHRvIG9wZW4gdnBpbyB1bml0
LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgVUludDMy
IHBhcmFtID0gMTsKLSAgICBlcnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX3JlbW90ZUlPVW5p
dCwga0F1ZGlvT3V0cHV0VW5pdFByb3BlcnR5X0VuYWJsZUlPLCBrQXVkaW9Vbml0U2NvcGVfT3V0
cHV0LCAwLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOworICAgIGVyciA9IEF1ZGlvVW5pdFNldFBy
b3BlcnR5KHJlbW90ZUlPVW5pdCwga0F1ZGlvT3V0cHV0VW5pdFByb3BlcnR5X0VuYWJsZUlPLCBr
QXVkaW9Vbml0U2NvcGVfT3V0cHV0LCAwLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOwogICAgIGlm
IChlcnIpIHsKLSAgICAgICAgTE9HKE1lZGlhLCAiQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVh
bUNvY29hOjpzZXR1cEF1ZGlvVW5pdCglcCkgdW5hYmxlIHRvIGVuYWJsZSB2cGlvIHVuaXQgb3V0
cHV0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOwotICAg
ICAgICByZXR1cm4gZXJyOworICAgICAgICBMT0coTWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1l
ZGlhU3RyZWFtQ29jb2E6OmNyZWF0ZUF1ZGlvVW5pdCglcCkgdW5hYmxlIHRvIGVuYWJsZSB2cGlv
IHVuaXQgb3V0cHV0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZl
cnIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAjZW5kaWYKIAogICAgIEFVUmVu
ZGVyQ2FsbGJhY2tTdHJ1Y3QgY2FsbGJhY2sgPSB7IGlucHV0UHJvYywgdGhpcyB9OwotICAgIGVy
ciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1fcmVtb3RlSU9Vbml0LCBrQXVkaW9Vbml0UHJvcGVy
dHlfU2V0UmVuZGVyQ2FsbGJhY2ssIGtBdWRpb1VuaXRTY29wZV9HbG9iYWwsIDAsICZjYWxsYmFj
aywgc2l6ZW9mKGNhbGxiYWNrKSk7CisgICAgZXJyID0gQXVkaW9Vbml0U2V0UHJvcGVydHkocmVt
b3RlSU9Vbml0LCBrQXVkaW9Vbml0UHJvcGVydHlfU2V0UmVuZGVyQ2FsbGJhY2ssIGtBdWRpb1Vu
aXRTY29wZV9HbG9iYWwsIDAsICZjYWxsYmFjaywgc2l6ZW9mKGNhbGxiYWNrKSk7CiAgICAgaWYg
KGVycikgewotICAgICAgICBMT0coTWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFt
Q29jb2E6OnNldHVwQXVkaW9Vbml0KCVwKSB1bmFibGUgdG8gc2V0IHZwaW8gdW5pdCBzcGVha2Vy
IHByb2MsIGVycm9yICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7Ci0g
ICAgICAgIHJldHVybiBlcnI7CisgICAgICAgIExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW1Db2NvYTo6Y3JlYXRlQXVkaW9Vbml0KCVwKSB1bmFibGUgdG8gc2V0IHZwaW8g
dW5pdCBzcGVha2VyIHByb2MsIGVycm9yICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAoY2hh
ciopJmVycik7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIEF1ZGlvU3Ry
ZWFtQmFzaWNEZXNjcmlwdGlvbiBvdXRwdXREZXNjcmlwdGlvbiA9IHsgfTsKICAgICBVSW50MzIg
c2l6ZSA9IHNpemVvZihvdXRwdXREZXNjcmlwdGlvbik7Ci0gICAgZXJyICA9IEF1ZGlvVW5pdEdl
dFByb3BlcnR5KG1fcmVtb3RlSU9Vbml0LCBrQXVkaW9Vbml0UHJvcGVydHlfU3RyZWFtRm9ybWF0
LCBrQXVkaW9Vbml0U2NvcGVfSW5wdXQsIDAsICZvdXRwdXREZXNjcmlwdGlvbiwgJnNpemUpOwor
ICAgIGVyciAgPSBBdWRpb1VuaXRHZXRQcm9wZXJ0eShyZW1vdGVJT1VuaXQsIGtBdWRpb1VuaXRQ
cm9wZXJ0eV9TdHJlYW1Gb3JtYXQsIGtBdWRpb1VuaXRTY29wZV9JbnB1dCwgMCwgJm91dHB1dERl
c2NyaXB0aW9uLCAmc2l6ZSk7CiAgICAgaWYgKGVycikgewotICAgICAgICBMT0coTWVkaWEsICJB
dWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNldHVwQXVkaW9Vbml0cyglcCkgdW5h
YmxlIHRvIGdldCBpbnB1dCBzdHJlYW0gZm9ybWF0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAo
aW50KWVyciwgKGNoYXIqKSZlcnIpOwotICAgICAgICByZXR1cm4gZXJyOworICAgICAgICBMT0co
TWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OmNyZWF0ZUF1ZGlvVW5p
dHMoJXApIHVuYWJsZSB0byBnZXQgaW5wdXQgc3RyZWFtIGZvcm1hdCwgZXJyb3IgJWQgKCUuNHMp
IiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgfQogCi0gICAgb3V0cHV0RGVzY3JpcHRpb24gPSBtX2lucHV0RGVzY3JpcHRpb24tPnN0
cmVhbURlc2NyaXB0aW9uKCk7Ci0gICAgb3V0cHV0RGVzY3JpcHRpb24ubVNhbXBsZVJhdGUgPSBB
dWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5zYW1wbGVSYXRlKCk7CisgICAgb3V0cHV0RGVz
Y3JpcHRpb24gPSBpbnB1dERlc2NyaXB0aW9uOworICAgIG91dHB1dERlc2NyaXB0aW9uLnN0cmVh
bURlc2NyaXB0aW9uKCkubVNhbXBsZVJhdGUgPSBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24o
KS5zYW1wbGVSYXRlKCk7CiAKLSAgICBlcnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX3JlbW90
ZUlPVW5pdCwga0F1ZGlvVW5pdFByb3BlcnR5X1N0cmVhbUZvcm1hdCwga0F1ZGlvVW5pdFNjb3Bl
X0lucHV0LCAwLCAmb3V0cHV0RGVzY3JpcHRpb24sIHNpemVvZihvdXRwdXREZXNjcmlwdGlvbikp
OworICAgIGVyciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KHJlbW90ZUlPVW5pdCwga0F1ZGlvVW5p
dFByb3BlcnR5X1N0cmVhbUZvcm1hdCwga0F1ZGlvVW5pdFNjb3BlX0lucHV0LCAwLCAmb3V0cHV0
RGVzY3JpcHRpb24uc3RyZWFtRGVzY3JpcHRpb24oKSwgc2l6ZW9mKG91dHB1dERlc2NyaXB0aW9u
LnN0cmVhbURlc2NyaXB0aW9uKCkpKTsKICAgICBpZiAoZXJyKSB7Ci0gICAgICAgIExPRyhNZWRp
YSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6c2V0dXBBdWRpb1VuaXRzKCVw
KSB1bmFibGUgdG8gc2V0IGlucHV0IHN0cmVhbSBmb3JtYXQsIGVycm9yICVkICglLjRzKSIsIHRo
aXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7Ci0gICAgICAgIHJldHVybiBlcnI7CisgICAgICAg
IExPRyhNZWRpYSwgIkF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYTo6Y3JlYXRlQXVk
aW9Vbml0cyglcCkgdW5hYmxlIHRvIHNldCBpbnB1dCBzdHJlYW0gZm9ybWF0LCBlcnJvciAlZCAo
JS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9Ci0gICAgbV9vdXRwdXREZXNjcmlwdGlvbiA9IHN0ZDo6bWFrZV91bmlxdWU8
Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPihvdXRwdXREZXNjcmlwdGlvbik7CiAKLSAgICBlcnIg
PSBBdWRpb1VuaXRJbml0aWFsaXplKG1fcmVtb3RlSU9Vbml0KTsKKyAgICBlcnIgPSBBdWRpb1Vu
aXRJbml0aWFsaXplKHJlbW90ZUlPVW5pdCk7CiAgICAgaWYgKGVycikgewotICAgICAgICBMT0co
TWVkaWEsICJBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNldHVwQXVkaW9Vbml0
cyglcCkgQXVkaW9Vbml0SW5pdGlhbGl6ZSgpIGZhaWxlZCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhp
cywgKGludCllcnIsIChjaGFyKikmZXJyKTsKLSAgICAgICAgcmV0dXJuIGVycjsKKyAgICAgICAg
TE9HKE1lZGlhLCAiQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbUNvY29hOjpjcmVhdGVBdWRp
b1VuaXRzKCVwKSBBdWRpb1VuaXRJbml0aWFsaXplKCkgZmFpbGVkLCBlcnJvciAlZCAoJS40cyki
LCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICB9CiAKICAgICBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5zZXRQcmVmZXJyZWRC
dWZmZXJTaXplKHJlbmRlckJ1ZmZlclNpemUpOwogCi0gICAgcmV0dXJuIGVycjsKKyAgICByZXR1
cm4gcmVtb3RlSU9Vbml0OwogfQogCiB2b2lkIEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1D
b2NvYTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZSwg
Y29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKIHsKKyAgICAvLyBUaGlz
IGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLiBUaGUgZm9sbG93aW5n
IHByb3RlY3RlZFRoaXMgb2JqZWN0IGVuc3VyZXMgdGhlIG9iamVjdCBpcyBub3QKKyAgICAvLyBk
ZXN0cm95ZWQgb24gdGhlIG1haW4gdGhyZWFkIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGV4aXRzLgog
ICAgIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E+IHByb3RlY3RlZFRoaXMg
eyAqdGhpcyB9OwogICAgIEFTU0VSVChkZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9uKCku
dHlwZSA9PSBQbGF0Zm9ybURlc2NyaXB0aW9uOjpDQUF1ZGlvU3RyZWFtQmFzaWNUeXBlKTsKIAot
ICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0ZUxvY2spOwotCi0g
ICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIHN0cmVhbURlc2NyaXB0aW9uID0gdG9DQUF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pOwogICAgIGlmICghbV9pbnB1dERlc2NyaXB0
aW9uIHx8ICptX2lucHV0RGVzY3JpcHRpb24gIT0gZGVzY3JpcHRpb24pIHsKIAogICAgICAgICBt
X2lucHV0RGVzY3JpcHRpb24gPSBudWxscHRyOwpAQCAtMTk3LDIzICsxODcsMjYgQEAgdm9pZCBB
dWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShj
b25zdCBNZWRpYVRpbWUmIHMKICAgICAgICAgICAgIG1fcmVtb3RlSU9Vbml0ID0gbnVsbHB0cjsK
ICAgICAgICAgfQogCi0gICAgICAgIG1faW5wdXREZXNjcmlwdGlvbiA9IHN0ZDo6bWFrZV91bmlx
dWU8Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uPihzdHJlYW1EZXNjcmlwdGlvbik7Ci0gICAgICAg
IGlmIChzZXR1cEF1ZGlvVW5pdCgpKSB7Ci0gICAgICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24g
PSBudWxscHRyOworICAgICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gaW5wdXREZXNjcmlw
dGlvbiA9IHRvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKTsKKyAgICAgICAg
Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG91dHB1dERlc2NyaXB0aW9uOworCisgICAgICAgIGF1
dG8gcmVtb3RlSU9Vbml0ID0gY3JlYXRlQXVkaW9Vbml0KGlucHV0RGVzY3JpcHRpb24sIG91dHB1
dERlc2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKCFyZW1vdGVJT1VuaXQpCiAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIH0KKworICAgICAgICBtX2lucHV0RGVzY3JpcHRpb24gPSBzdGQ6Om1h
a2VfdW5pcXVlPENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbj4oaW5wdXREZXNjcmlwdGlvbik7Cisg
ICAgICAgIG1fb3V0cHV0RGVzY3JpcHRpb24gPSBzdGQ6Om1ha2VfdW5pcXVlPENBQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbj4ob3V0cHV0RGVzY3JpcHRpb24pOwogCiAgICAgICAgIGlmICghbV9kYXRh
U291cmNlKQogICAgICAgICAgICAgbV9kYXRhU291cmNlID0gQXVkaW9TYW1wbGVEYXRhU291cmNl
OjpjcmVhdGUoZGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgpICogMik7Ci0gICAgICAgIGlmICghbV9k
YXRhU291cmNlKQotICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmIChtX2RhdGFTb3Vy
Y2UtPnNldElucHV0Rm9ybWF0KHN0cmVhbURlc2NyaXB0aW9uKSkKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgaWYgKG1fZGF0YVNvdXJjZS0+c2V0T3V0cHV0Rm9ybWF0KCptX291dHB1dERl
c2NyaXB0aW9uLmdldCgpKSkKKyAgICAgICAgaWYgKG1fZGF0YVNvdXJjZS0+c2V0SW5wdXRGb3Jt
YXQoaW5wdXREZXNjcmlwdGlvbikgfHwgbV9kYXRhU291cmNlLT5zZXRPdXRwdXRGb3JtYXQob3V0
cHV0RGVzY3JpcHRpb24pKSB7CisgICAgICAgICAgICBBdWRpb0NvbXBvbmVudEluc3RhbmNlRGlz
cG9zZShyZW1vdGVJT1VuaXQpOwogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKICAg
ICAgICAgbV9kYXRhU291cmNlLT5zZXRWb2x1bWUobV92b2x1bWUpOworICAgICAgICBtX3JlbW90
ZUlPVW5pdCA9IHJlbW90ZUlPVW5pdDsKICAgICB9CiAKICAgICBtX2RhdGFTb3VyY2UtPnB1c2hT
YW1wbGVzKHNhbXBsZVRpbWUsIGF1ZGlvRGF0YSwgc2FtcGxlQ291bnQpOwpAQCAtMjI5LDEyICsy
MjIsMTAgQEAgdm9pZCBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnNvdXJjZVN0
b3BwZWQoKQogCiBPU1N0YXR1cyBBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E6OnJl
bmRlcihVSW50MzIgc2FtcGxlQ291bnQsIEF1ZGlvQnVmZmVyTGlzdCYgaW9EYXRhLCBVSW50MzIg
LyppbkJ1c051bWJlciovLCBjb25zdCBBdWRpb1RpbWVTdGFtcCYgdGltZVN0YW1wLCBBdWRpb1Vu
aXRSZW5kZXJBY3Rpb25GbGFncyYgYWN0aW9uRmxhZ3MpCiB7CisgICAgLy8gVGhpcyBmdW5jdGlv
biBpcyBjYWxsZWQgb24gYSBoaWdoLXByaW9yaXR5IGJhY2tncm91bmQgdGhyZWFkLiBUaGUgZm9s
bG93aW5nIHByb3RlY3RlZFRoaXMgb2JqZWN0IGVuc3VyZXMgdGhlIG9iamVjdCBpcyBub3QKKyAg
ICAvLyBkZXN0cm95ZWQgb24gdGhlIG1haW4gdGhyZWFkIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGV4
aXRzLgogICAgIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2E+IHByb3RlY3Rl
ZFRoaXMgeyAqdGhpcyB9OwogCi0gICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1faW50
ZXJuYWxTdGF0ZUxvY2ssIHN0ZDo6dHJ5X3RvX2xvY2spOwotICAgIGlmICghbG9jay5vd25zX2xv
Y2soKSkKLSAgICAgICAgcmV0dXJuIGtBdWRpb0NvbnZlcnRlckVycl9VbnNwZWNpZmllZEVycm9y
OwotCiAgICAgaWYgKCFtX2lzUGxheWluZyB8fCBtX211dGVkIHx8ICFtX2RhdGFTb3VyY2UgfHwg
c3RyZWFtVHJhY2soKS5tdXRlZCgpIHx8IHN0cmVhbVRyYWNrKCkuZW5kZWQoKSB8fCAhc3RyZWFt
VHJhY2soKS5lbmFibGVkKCkpIHsKICAgICAgICAgQXVkaW9TYW1wbGVCdWZmZXJMaXN0Ojp6ZXJv
QUJMKGlvRGF0YSwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzYW1wbGVDb3VudCkpOwogICAgICAgICBh
Y3Rpb25GbGFncyA9IGtBdWRpb1VuaXRSZW5kZXJBY3Rpb25fT3V0cHV0SXNTaWxlbmNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW1Db2NvYS5oCmluZGV4IDQ4
YzE2MjMzMjNjMTVkNjI0YjlmMTg3OTA4ODViZDk0Y2JhYzkwOGUuLmM4ZmEzMGEwODEwMDZmMjE5
MjVlODY5NmY4ODQ0M2ViNmQ3ZDJiNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbUNvY29hLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJBdWRp
b1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94L0F1ZGlv
VG9vbGJveC5oPgogI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgotI2luY2x1
ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjcsNyArNjYsNyBA
QCBwcml2YXRlOgogICAgIHN0YXRpYyBPU1N0YXR1cyBpbnB1dFByb2Modm9pZCosIEF1ZGlvVW5p
dFJlbmRlckFjdGlvbkZsYWdzKiwgY29uc3QgQXVkaW9UaW1lU3RhbXAqLCBVSW50MzIgaW5CdXNO
dW1iZXIsIFVJbnQzMiBudW1iZXJPZkZyYW1lcywgQXVkaW9CdWZmZXJMaXN0Kik7CiAgICAgT1NT
dGF0dXMgcmVuZGVyKFVJbnQzMiBzYW1wbGVDb3VudCwgQXVkaW9CdWZmZXJMaXN0JiwgVUludDMy
IGluQnVzTnVtYmVyLCBjb25zdCBBdWRpb1RpbWVTdGFtcCYsIEF1ZGlvVW5pdFJlbmRlckFjdGlv
bkZsYWdzJik7CiAKLSAgICBPU1N0YXR1cyBzZXR1cEF1ZGlvVW5pdCgpOworICAgIEF1ZGlvQ29t
cG9uZW50SW5zdGFuY2UgY3JlYXRlQXVkaW9Vbml0KGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYgaW5wdXREZXNjcmlwdGlvbiwgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBvdXRwdXRE
ZXNjcmlwdGlvbik7CiAgICAgdm9pZCBjbGVhbnVwKCk7CiAgICAgdm9pZCB6ZXJvQnVmZmVyTGlz
dChBdWRpb0J1ZmZlckxpc3QmLCBzaXplX3QpOwogICAgIHZvaWQgcGxheUludGVybmFsKCk7CkBA
IC03OCw3ICs3Nyw2IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8QXVkaW9TYW1wbGVEYXRhU291
cmNlPiBtX2RhdGFTb3VyY2U7CiAKLSAgICBMb2NrIG1faW50ZXJuYWxTdGF0ZUxvY2s7CiAgICAg
ZmxvYXQgbV92b2x1bWUgeyAxIH07CiAgICAgYm9vbCBtX2lzUGxheWluZyB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2F1dG9QbGF5IHsgZmFsc2UgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>