<?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>164670</bug_id>
          
          <creation_ts>2016-11-11 18:55:22 -0800</creation_ts>
          <short_desc>MediaStreamPrivate::create should take vectors of Ref</short_desc>
          <delta_ts>2016-11-14 09:49:22 -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>WebCore 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>
          
          
          <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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1250558</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-11-11 18:55:22 -0800</bug_when>
    <thetext>It currently takes vector of RefPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250559</commentid>
    <comment_count>1</comment_count>
      <attachid>294580</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-11-11 18:58:32 -0800</bug_when>
    <thetext>Created attachment 294580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250667</commentid>
    <comment_count>2</comment_count>
      <attachid>294615</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-11-12 09:30:25 -0800</bug_when>
    <thetext>Created attachment 294615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250772</commentid>
    <comment_count>3</comment_count>
      <attachid>294615</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-11-12 20:30:21 -0800</bug_when>
    <thetext>Comment on attachment 294615
Patch

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

&gt; Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp:54
&gt; +    m_stream = MediaStream::create(*context.scriptExecutionContext(), MediaStreamPrivate::create(audioSources, Vector&lt;Ref&lt;RealtimeMediaSource&gt;&gt;()));

Depending on the overloading story here, you can probably use { }, for the empty Vector.

&gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:51
&gt;      tracks.reserveCapacity(audioSources.size() + videoSources.size());

This should use reserveInitialCapacity

&gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:54
&gt; +        tracks.append(MediaStreamTrackPrivate::create(source.copyRef()));

This can be an uncheckedAppend().

&gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:57
&gt; +        tracks.append(MediaStreamTrackPrivate::create(source.copyRef()));

This can be an uncheckedAppend().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250987</commentid>
    <comment_count>4</comment_count>
      <attachid>294704</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-11-14 09:13:17 -0800</bug_when>
    <thetext>Created attachment 294704
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250991</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-11-14 09:19:39 -0800</bug_when>
    <thetext>Thanks for the review.

(In reply to comment #3)
&gt; Comment on attachment 294615 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=294615&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp:54
&gt; &gt; +    m_stream = MediaStream::create(*context.scriptExecutionContext(), MediaStreamPrivate::create(audioSources, Vector&lt;Ref&lt;RealtimeMediaSource&gt;&gt;()));
&gt; 
&gt; Depending on the overloading story here, you can probably use { }, for the
&gt; empty Vector.

Done

&gt; &gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:51
&gt; &gt;      tracks.reserveCapacity(audioSources.size() + videoSources.size());
&gt; 
&gt; This should use reserveInitialCapacity

Done

&gt; &gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:54
&gt; &gt; +        tracks.append(MediaStreamTrackPrivate::create(source.copyRef()));
&gt; 
&gt; This can be an uncheckedAppend().

Done

&gt; &gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:57
&gt; &gt; +        tracks.append(MediaStreamTrackPrivate::create(source.copyRef()));
&gt; 
&gt; This can be an uncheckedAppend().

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251002</commentid>
    <comment_count>6</comment_count>
      <attachid>294704</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-14 09:49:19 -0800</bug_when>
    <thetext>Comment on attachment 294704
Patch for landing

Clearing flags on attachment: 294704

Committed r208687: &lt;http://trac.webkit.org/changeset/208687&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251003</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-14 09:49:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294580</attachid>
            <date>2016-11-11 18:58:32 -0800</date>
            <delta_ts>2016-11-12 09:30:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164670-20161111185418.patch</filename>
            <type>text/plain</type>
            <size>11015</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBiODEyNDIxNTA1Njhm
NWIxZGU1YTZmNTZjOTQ1YTVjMzM3NDUxZi4uMTJiNzQ1OGEwMGYxMTdiMGZmN2RmYzQzZWM5NDA2
MmNlYTllODM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTExLTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbVByaXZh
dGU6OmNyZWF0ZSBzaG91bGQgdGFrZSB2ZWN0b3JzIG9mIFJlZgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NjcwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU6
Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUpOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVByaXZhdGU6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1Qcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck93ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
OjptZWRpYVNvdXJjZXNBdmFpbGFibGUpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKToKKwogMjAxNi0xMS0xMSAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViUlRD
XVtPcGVuV2ViUlRDXSBJbXBsZW1lbnQgZGV2aWNlIHBlcm1pc3Npb25zIGhhbmRsaW5nIHNvbHV0
aW9uIGZvciBvd3IgYmFja2VuZCBpbiB0aGUgVUkgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggN2FmM2MxY2E1OTRkMWIxMDBhNjFjNTQ4ZjZhMjVkNmMz
MjQwOTc4NC4uYzQwOGQ2NmY3MDgwYmI1NzZiYmJjMDgzYzY3OWMxNjFlZTI0NDExZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVz
dGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC00OSw4ICs0OSw5IEBAIE1lZGlh
U3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5v
ZGUoQXVkaW9Db250ZXh0JiBjCiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb24pOwogCiAgICAgbV9zb3VyY2UgPSBNZWRpYVN0cmVhbUF1ZGlvU291cmNl
OjpjcmVhdGUoKTsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBhdWRp
b1NvdXJjZXMoMSwgbV9zb3VyY2UpOwotICAgIG1fc3RyZWFtID0gTWVkaWFTdHJlYW06OmNyZWF0
ZSgqY29udGV4dC5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIE1lZGlhU3RyZWFtUHJpdmF0ZTo6
Y3JlYXRlKFdURk1vdmUoYXVkaW9Tb3VyY2VzKSwgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPj4oKSkpOworICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlv
U291cmNlczsKKyAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKCptX3NvdXJjZSk7CisgICAgbV9zdHJl
YW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKCpjb250ZXh0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgTWVkaWFTdHJlYW1Qcml2YXRlOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCBWZWN0b3I8UmVmPFJl
YWx0aW1lTWVkaWFTb3VyY2U+PigpKSk7CiAKICAgICBtX3NvdXJjZS0+c2V0QXVkaW9Gb3JtYXQo
bnVtYmVyT2ZDaGFubmVscywgY29udGV4dC5zYW1wbGVSYXRlKCkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRl
LmNwcAppbmRleCA2YTQ0Mjk4YWNhM2I5MTIyZDViZWY1YzhkODk1ZTVlYWI2NWY1NTJkLi43Y2Qy
ZWE2NGM5OTJmOWMyNGY0M2MxZWQ2MWE5ZjM0ZTFmNWZiNGFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5j
cHAKQEAgLTQ1LDI3ICs0NSwyMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxN
ZWRpYVN0cmVhbVByaXZhdGU+IE1lZGlhU3RyZWFtUHJpdmF0ZTo6Y3JlYXRlKGNvbnN0IFZlY3Rv
cjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1NvdXJjZXMsIGNvbnN0IFZlY3Rv
cjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2aWRlb1NvdXJjZXMpCitSZWY8TWVkaWFT
dHJlYW1Qcml2YXRlPiBNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0ZShjb25zdCBWZWN0b3I8UmVm
PFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9Tb3VyY2VzLCBjb25zdCBWZWN0b3I8UmVmPFJl
YWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9Tb3VyY2VzKQogewogICAgIE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlVmVjdG9yIHRyYWNrczsKICAgICB0cmFja3MucmVzZXJ2ZUNhcGFjaXR5KGF1ZGlv
U291cmNlcy5zaXplKCkgKyB2aWRlb1NvdXJjZXMuc2l6ZSgpKTsKIAotICAgIGZvciAoYXV0byBz
b3VyY2UgOiBhdWRpb1NvdXJjZXMpIHsKLSAgICAgICAgQVNTRVJUKHNvdXJjZSk7Ci0gICAgICAg
IHRyYWNrcy5hcHBlbmQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmNyZWF0ZShzb3VyY2UucmVs
ZWFzZU5vbk51bGwoKSkpOwotICAgIH0KKyAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IGF1ZGlvU291
cmNlcykKKyAgICAgICAgdHJhY2tzLmFwcGVuZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6Y3Jl
YXRlKHNvdXJjZS5jb3B5UmVmKCkpKTsKIAotICAgIGZvciAoYXV0byBzb3VyY2UgOiB2aWRlb1Nv
dXJjZXMpIHsKLSAgICAgICAgQVNTRVJUKHNvdXJjZSk7Ci0gICAgICAgIHRyYWNrcy5hcHBlbmQo
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmNyZWF0ZShzb3VyY2UucmVsZWFzZU5vbk51bGwoKSkp
OwotICAgIH0KKyAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IHZpZGVvU291cmNlcykKKyAgICAgICAg
dHJhY2tzLmFwcGVuZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6Y3JlYXRlKHNvdXJjZS5jb3B5
UmVmKCkpKTsKIAogICAgIHJldHVybiBNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0ZSh0cmFja3Mp
OwogfQogCi1SZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPiBNZWRpYVN0cmVhbVByaXZhdGU6OmNy
ZWF0ZShjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZVZlY3RvciYgdHJhY2tzKQorUmVmPE1l
ZGlhU3RyZWFtUHJpdmF0ZT4gTWVkaWFTdHJlYW1Qcml2YXRlOjpjcmVhdGUoY29uc3QgTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImIHRyYWNrcykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IE1lZGlhU3RyZWFtUHJpdmF0ZShjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCksIHRyYWNr
cykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtUHJpdmF0ZShjcmVhdGVD
YW5vbmljYWxVVUlEU3RyaW5nKCksIHRyYWNrcykpOwogfQogCiBNZWRpYVN0cmVhbVByaXZhdGU6
Ok1lZGlhU3RyZWFtUHJpdmF0ZShjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZVZlY3RvciYgdHJhY2tzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuaAppbmRleCBhYmZjYWI2YzAx
ZWI5MWFhZWMxNTgzZjFkMjk4YzUyNzc4YTZkOWQyLi41MWYxYzc1M2I2NDM1ZjFmZGJhMGNiOTY5
NzcyYjBmOWQxOWM1Y2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuaApAQCAtNjMsOCArNjMsOCBAQCBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRyYWNr
UHJpdmF0ZSYpIHsgfQogICAgIH07CiAKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU3RyZWFtUHJp
dmF0ZT4gY3JlYXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBh
dWRpb1NvdXJjZXMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2
aWRlb1NvdXJjZXMpOwotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPiBjcmVh
dGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImKTsKKyAgICBzdGF0aWMgUmVm
PE1lZGlhU3RyZWFtUHJpdmF0ZT4gY3JlYXRlKGNvbnN0IFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRp
YVNvdXJjZT4+JiBhdWRpb1NvdXJjZXMsIGNvbnN0IFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNv
dXJjZT4+JiB2aWRlb1NvdXJjZXMpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW1Qcml2YXRl
PiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImKTsKIAogICAgIHZp
cnR1YWwgfk1lZGlhU3RyZWFtUHJpdmF0ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYy5jcHAKaW5kZXggMWY5NjZhYWViNmIyNmUxYTk0Mzk0ZmIxM2JjNjgy
ODg5NzVhYzk4YS4uYmU3YmExMWYzMDlkY2RmMzA2YmIwYjA1YTdmOGZlY2Y3YjBiOTFjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcApAQCAtOTMsOCAr
OTMsOCBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OnZhbGlkYXRlUmVxdWVz
dENvbnN0cmFpbnRzKFZhbGlkQ29uc3RyYWludHNIYQogCiB2b2lkIFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3RyZWFtKE5ld01lZGlhU3RyZWFtSGFuZGxlciBjb21w
bGV0aW9uSGFuZGxlciwgY29uc3QgU3RyaW5nJiBhdWRpb0RldmljZUlELCBjb25zdCBTdHJpbmcm
IHZpZGVvRGV2aWNlSUQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGF1ZGlvQ29uc3RyYWludHMs
IGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIHZpZGVvQ29uc3RyYWludHMpCiB7Ci0gICAgVmVjdG9y
PFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2VzOwotICAgIFZlY3RvcjxS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsKKyAgICBWZWN0b3I8UmVm
PFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBhdWRpb1NvdXJjZXM7CisgICAgVmVjdG9yPFJlZjxSZWFs
dGltZU1lZGlhU291cmNlPj4gdmlkZW9Tb3VyY2VzOwogICAgIFN0cmluZyBpbnZhbGlkQ29uc3Ry
YWludDsKIAogICAgIGlmICghYXVkaW9EZXZpY2VJRC5pc0VtcHR5KCkpIHsKQEAgLTEwNSw3ICsx
MDUsNyBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3Ry
ZWFtKE5ld01lZGlhU3RyZWFtSGFuZGxlciBjb21wbAogI2VuZGlmCiAKICAgICAgICAgaWYgKGF1
ZGlvU291cmNlKQotICAgICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChXVEZNb3ZlKGF1ZGlv
U291cmNlKSk7CisgICAgICAgICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKGF1ZGlvU291cmNlLnJl
bGVhc2VOb25OdWxsKCkpOwogICAgIH0KICAgICBpZiAoIXZpZGVvRGV2aWNlSUQuaXNFbXB0eSgp
KSB7CiAgICAgICAgIGF1dG8gdmlkZW9Tb3VyY2UgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpz
aW5nbGV0b24oKS5zb3VyY2VXaXRoVUlEKHZpZGVvRGV2aWNlSUQsIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlZpZGVvLCB2aWRlb0NvbnN0cmFpbnRzLCBpbnZhbGlkQ29uc3RyYWludCk7CkBAIC0xMTQs
NyArMTE0LDcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRp
YVN0cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXIgY29tcGwKICAgICAgICAgICAgIExPRyhNZWRp
YSwgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3RyZWFtKCVwKSwg
dmlkZW8gY29uc3RyYWludHMgZmFpbGVkIHRvIGFwcGx5OiAlcyIsIHRoaXMsIGludmFsaWRDb25z
dHJhaW50LnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCiAgICAgICAgIGlmICh2aWRlb1NvdXJjZSkK
LSAgICAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQoV1RGTW92ZSh2aWRlb1NvdXJjZSkpOwor
ICAgICAgICAgICAgdmlkZW9Tb3VyY2VzLmFwcGVuZCh2aWRlb1NvdXJjZS5yZWxlYXNlTm9uTnVs
bCgpKTsKICAgICB9CiAKICAgICBpZiAodmlkZW9Tb3VyY2VzLmlzRW1wdHkoKSAmJiBhdWRpb1Nv
dXJjZXMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck93ci5jcHAKaW5kZXggOTg3N2EzZTlmZWRkOTE4ZDFjZWVhM2U4MWUyM2E0
YjAxMThhZGQwYy4uN2YzMjlmZjhiY2E3OGFlZWJmMWFhZTA0ODM4NWUwNjgwNzMyOGJjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3Iu
Y3BwCkBAIC0xMjAsOCArMTIwLDggQEAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJPd3I6OmdldE1lZGlhU3RyZWFtRGV2aWNlcygpCiAKIHZvaWQgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck93cjo6bWVkaWFTb3VyY2VzQXZhaWxhYmxlKEdMaXN0KiBzb3Vy
Y2VzKQogewotICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlvU291
cmNlczsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRlb1NvdXJj
ZXM7CisgICAgVmVjdG9yPFJlZjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2VzOwor
ICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsKIAogICAg
IGZvciAoYXV0byBpdGVtID0gc291cmNlczsgaXRlbTsgaXRlbSA9IGl0ZW0tPm5leHQpIHsKICAg
ICAgICAgT3dyTWVkaWFTb3VyY2UqIHNvdXJjZSA9IE9XUl9NRURJQV9TT1VSQ0UoaXRlbS0+ZGF0
YSk7CkBAIC0xNDksMTYgKzE0OSwxNiBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3I6Om1lZGlhU291cmNlc0F2YWlsYWJsZShHTGlzdCogc291cmNlcykKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAKLSAgICAgICAgUmVmUHRyPFJlYWx0aW1l
TWVkaWFTb3VyY2VPd3I+IG1lZGlhU291cmNlID0gYWRvcHRSZWYobmV3IFJlYWx0aW1lTWVkaWFT
b3VyY2VPd3Ioc291cmNlLCBpZCwgbWVkaWFTb3VyY2VUeXBlLCBzb3VyY2VOYW1lKSk7CisgICAg
ICAgIGF1dG8gbWVkaWFTb3VyY2UgPSBhZG9wdFJlZigqbmV3IFJlYWx0aW1lTWVkaWFTb3VyY2VP
d3Ioc291cmNlLCBpZCwgbWVkaWFTb3VyY2VUeXBlLCBzb3VyY2VOYW1lKSk7CiAKICAgICAgICAg
UmVhbHRpbWVNZWRpYVNvdXJjZU93ck1hcDo6aXRlcmF0b3Igc291cmNlSXRlcmF0b3IgPSBtX3Nv
dXJjZU1hcC5maW5kKGlkKTsKICAgICAgICAgaWYgKHNvdXJjZUl0ZXJhdG9yID09IG1fc291cmNl
TWFwLmVuZCgpKQogICAgICAgICAgICAgbV9zb3VyY2VNYXAuYWRkKGlkLCBtZWRpYVNvdXJjZSk7
CiAKICAgICAgICAgaWYgKG1lZGlhVHlwZSAmIE9XUl9NRURJQV9UWVBFX0FVRElPKQotICAgICAg
ICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChtZWRpYVNvdXJjZSk7CisgICAgICAgICAgICBhdWRp
b1NvdXJjZXMuYXBwZW5kKFdURk1vdmUobWVkaWFTb3VyY2UpKTsKICAgICAgICAgZWxzZSBpZiAo
bWVkaWFUeXBlICYgT1dSX01FRElBX1RZUEVfVklERU8pCi0gICAgICAgICAgICB2aWRlb1NvdXJj
ZXMuYXBwZW5kKG1lZGlhU291cmNlKTsKKyAgICAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQo
V1RGTW92ZShtZWRpYVNvdXJjZSkpOwogICAgIH0KIAogICAgIGlmICh2aWRlb1NvdXJjZXMuaXNF
bXB0eSgpICYmIGF1ZGlvU291cmNlcy5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIu
Y3BwCmluZGV4IGY3ZTZhZjM1ZjUzNGMyOTkwNmZjZGNmY2M3NjU1ZDg5MzU5M2RkMmIuLmJkYTI0
ZDVlYTY5ZDQ3NWE0MjAwYjA2ZWY2MzNhMmRkN2JkOTIyOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuY3BwCkBAIC0xMDAsMTkgKzEwMCwxOSBAQCB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhWYWxpZENvbnN0cmFpbnRzSAog
CiB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpjcmVhdGVNZWRpYVN0cmVhbShO
ZXdNZWRpYVN0cmVhbUhhbmRsZXIgY29tcGxldGlvbkhhbmRsZXIsIGNvbnN0IFN0cmluZyYgYXVk
aW9EZXZpY2VJRCwgY29uc3QgU3RyaW5nJiB2aWRlb0RldmljZUlELCBjb25zdCBNZWRpYUNvbnN0
cmFpbnRzKiBhdWRpb0NvbnN0cmFpbnRzLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiB2aWRlb0Nv
bnN0cmFpbnRzKQogewotICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1
ZGlvU291cmNlczsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRl
b1NvdXJjZXM7CisgICAgVmVjdG9yPFJlZjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3Vy
Y2VzOworICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsK
IAogICAgIGlmIChhdWRpb0RldmljZUlEID09IE1vY2tSZWFsdGltZU1lZGlhU291cmNlOjptb2Nr
QXVkaW9Tb3VyY2VQZXJzaXN0ZW50SUQoKSkgewogICAgICAgICBhdXRvIHNvdXJjZSA9IE1vY2tS
ZWFsdGltZUF1ZGlvU291cmNlOjpjcmVhdGUoTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6Om1vY2tB
dWRpb1NvdXJjZU5hbWUoKSwgYXVkaW9Db25zdHJhaW50cyk7CiAgICAgICAgIGlmIChzb3VyY2Up
Ci0gICAgICAgICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKHNvdXJjZS5sZWFrUmVmKCkpOworICAg
ICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChzb3VyY2UucmVsZWFzZU5vbk51bGwoKSk7CiAg
ICAgfQogCiAgICAgaWYgKHZpZGVvRGV2aWNlSUQgPT0gTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6
Om1vY2tWaWRlb1NvdXJjZVBlcnNpc3RlbnRJRCgpKSB7CiAgICAgICAgIGF1dG8gc291cmNlID0g
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmNyZWF0ZShNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZTo6
bW9ja1ZpZGVvU291cmNlTmFtZSgpLCB2aWRlb0NvbnN0cmFpbnRzKTsKICAgICAgICAgaWYgKHNv
dXJjZSkKLSAgICAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQoc291cmNlLmxlYWtSZWYoKSk7
CisgICAgICAgICAgICB2aWRlb1NvdXJjZXMuYXBwZW5kKHNvdXJjZS5yZWxlYXNlTm9uTnVsbCgp
KTsKICAgICB9CiAKICAgICBpZiAodmlkZW9Tb3VyY2VzLmlzRW1wdHkoKSAmJiBhdWRpb1NvdXJj
ZXMuaXNFbXB0eSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294615</attachid>
            <date>2016-11-12 09:30:25 -0800</date>
            <delta_ts>2016-11-14 09:13:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164670-20161112092609.patch</filename>
            <type>text/plain</type>
            <size>11072</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBiODEyNDIxNTA1Njhm
NWIxZGU1YTZmNTZjOTQ1YTVjMzM3NDUxZi4uZGJhNDBmNzAxYWUzNTczZTNmYmVlYzhmMmRiZTc1
NTE3ZjlhYjM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTExLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbVByaXZh
dGU6OmNyZWF0ZSBzaG91bGQgdGFrZSB2ZWN0b3JzIG9mIFJlZgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NjcwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU6
Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUpOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVByaXZhdGU6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1Qcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck93ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
OjptZWRpYVNvdXJjZXNBdmFpbGFibGUpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKToKKwogMjAxNi0xMS0xMSAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2ViUlRD
XVtPcGVuV2ViUlRDXSBJbXBsZW1lbnQgZGV2aWNlIHBlcm1pc3Npb25zIGhhbmRsaW5nIHNvbHV0
aW9uIGZvciBvd3IgYmFja2VuZCBpbiB0aGUgVUkgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggN2FmM2MxY2E1OTRkMWIxMDBhNjFjNTQ4ZjZhMjVkNmMz
MjQwOTc4NC4uYzQwOGQ2NmY3MDgwYmI1NzZiYmJjMDgzYzY3OWMxNjFlZTI0NDExZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVz
dGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC00OSw4ICs0OSw5IEBAIE1lZGlh
U3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5v
ZGUoQXVkaW9Db250ZXh0JiBjCiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb24pOwogCiAgICAgbV9zb3VyY2UgPSBNZWRpYVN0cmVhbUF1ZGlvU291cmNl
OjpjcmVhdGUoKTsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBhdWRp
b1NvdXJjZXMoMSwgbV9zb3VyY2UpOwotICAgIG1fc3RyZWFtID0gTWVkaWFTdHJlYW06OmNyZWF0
ZSgqY29udGV4dC5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIE1lZGlhU3RyZWFtUHJpdmF0ZTo6
Y3JlYXRlKFdURk1vdmUoYXVkaW9Tb3VyY2VzKSwgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPj4oKSkpOworICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlv
U291cmNlczsKKyAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKCptX3NvdXJjZSk7CisgICAgbV9zdHJl
YW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKCpjb250ZXh0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgTWVkaWFTdHJlYW1Qcml2YXRlOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCBWZWN0b3I8UmVmPFJl
YWx0aW1lTWVkaWFTb3VyY2U+PigpKSk7CiAKICAgICBtX3NvdXJjZS0+c2V0QXVkaW9Gb3JtYXQo
bnVtYmVyT2ZDaGFubmVscywgY29udGV4dC5zYW1wbGVSYXRlKCkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRl
LmNwcAppbmRleCA2YTQ0Mjk4YWNhM2I5MTIyZDViZWY1YzhkODk1ZTVlYWI2NWY1NTJkLi43Y2Qy
ZWE2NGM5OTJmOWMyNGY0M2MxZWQ2MWE5ZjM0ZTFmNWZiNGFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5j
cHAKQEAgLTQ1LDI3ICs0NSwyMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxN
ZWRpYVN0cmVhbVByaXZhdGU+IE1lZGlhU3RyZWFtUHJpdmF0ZTo6Y3JlYXRlKGNvbnN0IFZlY3Rv
cjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1NvdXJjZXMsIGNvbnN0IFZlY3Rv
cjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2aWRlb1NvdXJjZXMpCitSZWY8TWVkaWFT
dHJlYW1Qcml2YXRlPiBNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0ZShjb25zdCBWZWN0b3I8UmVm
PFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9Tb3VyY2VzLCBjb25zdCBWZWN0b3I8UmVmPFJl
YWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9Tb3VyY2VzKQogewogICAgIE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlVmVjdG9yIHRyYWNrczsKICAgICB0cmFja3MucmVzZXJ2ZUNhcGFjaXR5KGF1ZGlv
U291cmNlcy5zaXplKCkgKyB2aWRlb1NvdXJjZXMuc2l6ZSgpKTsKIAotICAgIGZvciAoYXV0byBz
b3VyY2UgOiBhdWRpb1NvdXJjZXMpIHsKLSAgICAgICAgQVNTRVJUKHNvdXJjZSk7Ci0gICAgICAg
IHRyYWNrcy5hcHBlbmQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmNyZWF0ZShzb3VyY2UucmVs
ZWFzZU5vbk51bGwoKSkpOwotICAgIH0KKyAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IGF1ZGlvU291
cmNlcykKKyAgICAgICAgdHJhY2tzLmFwcGVuZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6Y3Jl
YXRlKHNvdXJjZS5jb3B5UmVmKCkpKTsKIAotICAgIGZvciAoYXV0byBzb3VyY2UgOiB2aWRlb1Nv
dXJjZXMpIHsKLSAgICAgICAgQVNTRVJUKHNvdXJjZSk7Ci0gICAgICAgIHRyYWNrcy5hcHBlbmQo
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmNyZWF0ZShzb3VyY2UucmVsZWFzZU5vbk51bGwoKSkp
OwotICAgIH0KKyAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IHZpZGVvU291cmNlcykKKyAgICAgICAg
dHJhY2tzLmFwcGVuZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6Y3JlYXRlKHNvdXJjZS5jb3B5
UmVmKCkpKTsKIAogICAgIHJldHVybiBNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0ZSh0cmFja3Mp
OwogfQogCi1SZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPiBNZWRpYVN0cmVhbVByaXZhdGU6OmNy
ZWF0ZShjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZVZlY3RvciYgdHJhY2tzKQorUmVmPE1l
ZGlhU3RyZWFtUHJpdmF0ZT4gTWVkaWFTdHJlYW1Qcml2YXRlOjpjcmVhdGUoY29uc3QgTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImIHRyYWNrcykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IE1lZGlhU3RyZWFtUHJpdmF0ZShjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCksIHRyYWNr
cykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtUHJpdmF0ZShjcmVhdGVD
YW5vbmljYWxVVUlEU3RyaW5nKCksIHRyYWNrcykpOwogfQogCiBNZWRpYVN0cmVhbVByaXZhdGU6
Ok1lZGlhU3RyZWFtUHJpdmF0ZShjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZVZlY3RvciYgdHJhY2tzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuaAppbmRleCBhYmZjYWI2YzAx
ZWI5MWFhZWMxNTgzZjFkMjk4YzUyNzc4YTZkOWQyLi41MWYxYzc1M2I2NDM1ZjFmZGJhMGNiOTY5
NzcyYjBmOWQxOWM1Y2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuaApAQCAtNjMsOCArNjMsOCBAQCBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRyYWNr
UHJpdmF0ZSYpIHsgfQogICAgIH07CiAKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU3RyZWFtUHJp
dmF0ZT4gY3JlYXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBh
dWRpb1NvdXJjZXMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2
aWRlb1NvdXJjZXMpOwotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPiBjcmVh
dGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImKTsKKyAgICBzdGF0aWMgUmVm
PE1lZGlhU3RyZWFtUHJpdmF0ZT4gY3JlYXRlKGNvbnN0IFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRp
YVNvdXJjZT4+JiBhdWRpb1NvdXJjZXMsIGNvbnN0IFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNv
dXJjZT4+JiB2aWRlb1NvdXJjZXMpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW1Qcml2YXRl
PiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImKTsKIAogICAgIHZp
cnR1YWwgfk1lZGlhU3RyZWFtUHJpdmF0ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYy5jcHAKaW5kZXggMWY5NjZhYWViNmIyNmUxYTk0Mzk0ZmIxM2JjNjgy
ODg5NzVhYzk4YS4uYmU3YmExMWYzMDlkY2RmMzA2YmIwYjA1YTdmOGZlY2Y3YjBiOTFjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcApAQCAtOTMsOCAr
OTMsOCBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OnZhbGlkYXRlUmVxdWVz
dENvbnN0cmFpbnRzKFZhbGlkQ29uc3RyYWludHNIYQogCiB2b2lkIFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3RyZWFtKE5ld01lZGlhU3RyZWFtSGFuZGxlciBjb21w
bGV0aW9uSGFuZGxlciwgY29uc3QgU3RyaW5nJiBhdWRpb0RldmljZUlELCBjb25zdCBTdHJpbmcm
IHZpZGVvRGV2aWNlSUQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGF1ZGlvQ29uc3RyYWludHMs
IGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIHZpZGVvQ29uc3RyYWludHMpCiB7Ci0gICAgVmVjdG9y
PFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2VzOwotICAgIFZlY3RvcjxS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsKKyAgICBWZWN0b3I8UmVm
PFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBhdWRpb1NvdXJjZXM7CisgICAgVmVjdG9yPFJlZjxSZWFs
dGltZU1lZGlhU291cmNlPj4gdmlkZW9Tb3VyY2VzOwogICAgIFN0cmluZyBpbnZhbGlkQ29uc3Ry
YWludDsKIAogICAgIGlmICghYXVkaW9EZXZpY2VJRC5pc0VtcHR5KCkpIHsKQEAgLTEwNSw3ICsx
MDUsNyBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3Ry
ZWFtKE5ld01lZGlhU3RyZWFtSGFuZGxlciBjb21wbAogI2VuZGlmCiAKICAgICAgICAgaWYgKGF1
ZGlvU291cmNlKQotICAgICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChXVEZNb3ZlKGF1ZGlv
U291cmNlKSk7CisgICAgICAgICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKGF1ZGlvU291cmNlLnJl
bGVhc2VOb25OdWxsKCkpOwogICAgIH0KICAgICBpZiAoIXZpZGVvRGV2aWNlSUQuaXNFbXB0eSgp
KSB7CiAgICAgICAgIGF1dG8gdmlkZW9Tb3VyY2UgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpz
aW5nbGV0b24oKS5zb3VyY2VXaXRoVUlEKHZpZGVvRGV2aWNlSUQsIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlZpZGVvLCB2aWRlb0NvbnN0cmFpbnRzLCBpbnZhbGlkQ29uc3RyYWludCk7CkBAIC0xMTQs
NyArMTE0LDcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRp
YVN0cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXIgY29tcGwKICAgICAgICAgICAgIExPRyhNZWRp
YSwgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3RyZWFtKCVwKSwg
dmlkZW8gY29uc3RyYWludHMgZmFpbGVkIHRvIGFwcGx5OiAlcyIsIHRoaXMsIGludmFsaWRDb25z
dHJhaW50LnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCiAgICAgICAgIGlmICh2aWRlb1NvdXJjZSkK
LSAgICAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQoV1RGTW92ZSh2aWRlb1NvdXJjZSkpOwor
ICAgICAgICAgICAgdmlkZW9Tb3VyY2VzLmFwcGVuZCh2aWRlb1NvdXJjZS5yZWxlYXNlTm9uTnVs
bCgpKTsKICAgICB9CiAKICAgICBpZiAodmlkZW9Tb3VyY2VzLmlzRW1wdHkoKSAmJiBhdWRpb1Nv
dXJjZXMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck93ci5jcHAKaW5kZXggOTg3N2EzZTlmZWRkOTE4ZDFjZWVhM2U4MWUyM2E0
YjAxMThhZGQwYy4uNjdjOTFiOGU0YWFjZDFjMDRjNGMxMGY2MDAxNGU2NzNmNmFmZDU1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3Iu
Y3BwCkBAIC0xMjAsOCArMTIwLDggQEAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJPd3I6OmdldE1lZGlhU3RyZWFtRGV2aWNlcygpCiAKIHZvaWQgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck93cjo6bWVkaWFTb3VyY2VzQXZhaWxhYmxlKEdMaXN0KiBzb3Vy
Y2VzKQogewotICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlvU291
cmNlczsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRlb1NvdXJj
ZXM7CisgICAgVmVjdG9yPFJlZjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2VzOwor
ICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsKIAogICAg
IGZvciAoYXV0byBpdGVtID0gc291cmNlczsgaXRlbTsgaXRlbSA9IGl0ZW0tPm5leHQpIHsKICAg
ICAgICAgT3dyTWVkaWFTb3VyY2UqIHNvdXJjZSA9IE9XUl9NRURJQV9TT1VSQ0UoaXRlbS0+ZGF0
YSk7CkBAIC0xNDksMTYgKzE0OSwxNiBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3I6Om1lZGlhU291cmNlc0F2YWlsYWJsZShHTGlzdCogc291cmNlcykKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAKLSAgICAgICAgUmVmUHRyPFJlYWx0aW1l
TWVkaWFTb3VyY2VPd3I+IG1lZGlhU291cmNlID0gYWRvcHRSZWYobmV3IFJlYWx0aW1lTWVkaWFT
b3VyY2VPd3Ioc291cmNlLCBpZCwgbWVkaWFTb3VyY2VUeXBlLCBzb3VyY2VOYW1lKSk7CisgICAg
ICAgIGF1dG8gbWVkaWFTb3VyY2UgPSBhZG9wdFJlZigqbmV3IFJlYWx0aW1lTWVkaWFTb3VyY2VP
d3Ioc291cmNlLCBpZCwgbWVkaWFTb3VyY2VUeXBlLCBzb3VyY2VOYW1lKSk7CiAKICAgICAgICAg
UmVhbHRpbWVNZWRpYVNvdXJjZU93ck1hcDo6aXRlcmF0b3Igc291cmNlSXRlcmF0b3IgPSBtX3Nv
dXJjZU1hcC5maW5kKGlkKTsKICAgICAgICAgaWYgKHNvdXJjZUl0ZXJhdG9yID09IG1fc291cmNl
TWFwLmVuZCgpKQotICAgICAgICAgICAgbV9zb3VyY2VNYXAuYWRkKGlkLCBtZWRpYVNvdXJjZSk7
CisgICAgICAgICAgICBtX3NvdXJjZU1hcC5hZGQoaWQsIG1lZGlhU291cmNlLmNvcHlSZWYoKSk7
CiAKICAgICAgICAgaWYgKG1lZGlhVHlwZSAmIE9XUl9NRURJQV9UWVBFX0FVRElPKQotICAgICAg
ICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChtZWRpYVNvdXJjZSk7CisgICAgICAgICAgICBhdWRp
b1NvdXJjZXMuYXBwZW5kKFdURk1vdmUobWVkaWFTb3VyY2UpKTsKICAgICAgICAgZWxzZSBpZiAo
bWVkaWFUeXBlICYgT1dSX01FRElBX1RZUEVfVklERU8pCi0gICAgICAgICAgICB2aWRlb1NvdXJj
ZXMuYXBwZW5kKG1lZGlhU291cmNlKTsKKyAgICAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQo
V1RGTW92ZShtZWRpYVNvdXJjZSkpOwogICAgIH0KIAogICAgIGlmICh2aWRlb1NvdXJjZXMuaXNF
bXB0eSgpICYmIGF1ZGlvU291cmNlcy5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIu
Y3BwCmluZGV4IGY3ZTZhZjM1ZjUzNGMyOTkwNmZjZGNmY2M3NjU1ZDg5MzU5M2RkMmIuLmJkYTI0
ZDVlYTY5ZDQ3NWE0MjAwYjA2ZWY2MzNhMmRkN2JkOTIyOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuY3BwCkBAIC0xMDAsMTkgKzEwMCwxOSBAQCB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhWYWxpZENvbnN0cmFpbnRzSAog
CiB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpjcmVhdGVNZWRpYVN0cmVhbShO
ZXdNZWRpYVN0cmVhbUhhbmRsZXIgY29tcGxldGlvbkhhbmRsZXIsIGNvbnN0IFN0cmluZyYgYXVk
aW9EZXZpY2VJRCwgY29uc3QgU3RyaW5nJiB2aWRlb0RldmljZUlELCBjb25zdCBNZWRpYUNvbnN0
cmFpbnRzKiBhdWRpb0NvbnN0cmFpbnRzLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiB2aWRlb0Nv
bnN0cmFpbnRzKQogewotICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1
ZGlvU291cmNlczsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRl
b1NvdXJjZXM7CisgICAgVmVjdG9yPFJlZjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3Vy
Y2VzOworICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsK
IAogICAgIGlmIChhdWRpb0RldmljZUlEID09IE1vY2tSZWFsdGltZU1lZGlhU291cmNlOjptb2Nr
QXVkaW9Tb3VyY2VQZXJzaXN0ZW50SUQoKSkgewogICAgICAgICBhdXRvIHNvdXJjZSA9IE1vY2tS
ZWFsdGltZUF1ZGlvU291cmNlOjpjcmVhdGUoTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6Om1vY2tB
dWRpb1NvdXJjZU5hbWUoKSwgYXVkaW9Db25zdHJhaW50cyk7CiAgICAgICAgIGlmIChzb3VyY2Up
Ci0gICAgICAgICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKHNvdXJjZS5sZWFrUmVmKCkpOworICAg
ICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChzb3VyY2UucmVsZWFzZU5vbk51bGwoKSk7CiAg
ICAgfQogCiAgICAgaWYgKHZpZGVvRGV2aWNlSUQgPT0gTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6
Om1vY2tWaWRlb1NvdXJjZVBlcnNpc3RlbnRJRCgpKSB7CiAgICAgICAgIGF1dG8gc291cmNlID0g
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmNyZWF0ZShNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZTo6
bW9ja1ZpZGVvU291cmNlTmFtZSgpLCB2aWRlb0NvbnN0cmFpbnRzKTsKICAgICAgICAgaWYgKHNv
dXJjZSkKLSAgICAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQoc291cmNlLmxlYWtSZWYoKSk7
CisgICAgICAgICAgICB2aWRlb1NvdXJjZXMuYXBwZW5kKHNvdXJjZS5yZWxlYXNlTm9uTnVsbCgp
KTsKICAgICB9CiAKICAgICBpZiAodmlkZW9Tb3VyY2VzLmlzRW1wdHkoKSAmJiBhdWRpb1NvdXJj
ZXMuaXNFbXB0eSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294704</attachid>
            <date>2016-11-14 09:13:17 -0800</date>
            <delta_ts>2016-11-14 09:49:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-164670-20161114090858.patch</filename>
            <type>text/plain</type>
            <size>11085</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4Njg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGUxYTgxMzlkYjc1N2My
NDUzMDY5ZGZhYTU1ZGYzM2VkNzljMDNlNS4uMjcwMjFkZWI0NTdhZDRmNmNiZWVmMDNlZTQwYWQ1
NTZkMTY2ZDc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTExLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbVByaXZh
dGU6OmNyZWF0ZSBzaG91bGQgdGFrZSB2ZWN0b3JzIG9mIFJlZgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NjcwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2FtIFdlaW5pZy4KKworICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6TWVk
aWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtUHJpdmF0ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRpYVN0cmVhbSk6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3I6Om1l
ZGlhU291cmNlc0F2YWlsYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorCiAyMDE2LTExLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CiAKICAgICAgICAgUlRDUnRwVHJhbnNjZWl2
ZXIgc2hvdWxkIGhhdmUgUmVmIG9mIHNlbmRlciBhbmQgcmVjZWl2ZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDdhZjNjMWNhNTk0ZDFiMTAwYTYxYzU0OGY2YTI1
ZDZjMzI0MDk3ODQuLjgwOGRiMzg2NzgyNmFhMmM1OWU2NDczYmMxOGIyMDcyMWQxOWE5MWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtNDksOCArNDksOSBAQCBN
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRp
b25Ob2RlKEF1ZGlvQ29udGV4dCYgYwogICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlTWVkaWFTdHJl
YW1BdWRpb0Rlc3RpbmF0aW9uKTsKIAogICAgIG1fc291cmNlID0gTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZTo6Y3JlYXRlKCk7Ci0gICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4g
YXVkaW9Tb3VyY2VzKDEsIG1fc291cmNlKTsKLSAgICBtX3N0cmVhbSA9IE1lZGlhU3RyZWFtOjpj
cmVhdGUoKmNvbnRleHQuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBNZWRpYVN0cmVhbVByaXZh
dGU6OmNyZWF0ZShXVEZNb3ZlKGF1ZGlvU291cmNlcyksIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVN
ZWRpYVNvdXJjZT4+KCkpKTsKKyAgICBWZWN0b3I8UmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBh
dWRpb1NvdXJjZXM7CisgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZCgqbV9zb3VyY2UpOworICAgIG1f
c3RyZWFtID0gTWVkaWFTdHJlYW06OmNyZWF0ZSgqY29udGV4dC5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCksIE1lZGlhU3RyZWFtUHJpdmF0ZTo6Y3JlYXRlKGF1ZGlvU291cmNlcywgeyB9KSk7CiAK
ICAgICBtX3NvdXJjZS0+c2V0QXVkaW9Gb3JtYXQobnVtYmVyT2ZDaGFubmVscywgY29udGV4dC5z
YW1wbGVSYXRlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcAppbmRleCA2YTQ0Mjk4YWNhM2I5MTIy
ZDViZWY1YzhkODk1ZTVlYWI2NWY1NTJkLi44MDcxNDEyMWNmN2VjZGVhOWEzZWVjZTJkMjI0MGVh
OTU2NWFiZmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKQEAgLTQ1LDI3ICs0NSwyMyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxNZWRpYVN0cmVhbVByaXZhdGU+IE1lZGlhU3Ry
ZWFtUHJpdmF0ZTo6Y3JlYXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4+JiBhdWRpb1NvdXJjZXMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4+JiB2aWRlb1NvdXJjZXMpCitSZWY8TWVkaWFTdHJlYW1Qcml2YXRlPiBNZWRpYVN0cmVhbVBy
aXZhdGU6OmNyZWF0ZShjb25zdCBWZWN0b3I8UmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVk
aW9Tb3VyY2VzLCBjb25zdCBWZWN0b3I8UmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9T
b3VyY2VzKQogewogICAgIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlVmVjdG9yIHRyYWNrczsKLSAg
ICB0cmFja3MucmVzZXJ2ZUNhcGFjaXR5KGF1ZGlvU291cmNlcy5zaXplKCkgKyB2aWRlb1NvdXJj
ZXMuc2l6ZSgpKTsKKyAgICB0cmFja3MucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShhdWRpb1NvdXJj
ZXMuc2l6ZSgpICsgdmlkZW9Tb3VyY2VzLnNpemUoKSk7CiAKLSAgICBmb3IgKGF1dG8gc291cmNl
IDogYXVkaW9Tb3VyY2VzKSB7Ci0gICAgICAgIEFTU0VSVChzb3VyY2UpOwotICAgICAgICB0cmFj
a3MuYXBwZW5kKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpjcmVhdGUoc291cmNlLnJlbGVhc2VO
b25OdWxsKCkpKTsKLSAgICB9CisgICAgZm9yIChhdXRvJiBzb3VyY2UgOiBhdWRpb1NvdXJjZXMp
CisgICAgICAgIHRyYWNrcy51bmNoZWNrZWRBcHBlbmQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6
OmNyZWF0ZShzb3VyY2UuY29weVJlZigpKSk7CiAKLSAgICBmb3IgKGF1dG8gc291cmNlIDogdmlk
ZW9Tb3VyY2VzKSB7Ci0gICAgICAgIEFTU0VSVChzb3VyY2UpOwotICAgICAgICB0cmFja3MuYXBw
ZW5kKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpjcmVhdGUoc291cmNlLnJlbGVhc2VOb25OdWxs
KCkpKTsKLSAgICB9CisgICAgZm9yIChhdXRvJiBzb3VyY2UgOiB2aWRlb1NvdXJjZXMpCisgICAg
ICAgIHRyYWNrcy51bmNoZWNrZWRBcHBlbmQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmNyZWF0
ZShzb3VyY2UuY29weVJlZigpKSk7CiAKICAgICByZXR1cm4gTWVkaWFTdHJlYW1Qcml2YXRlOjpj
cmVhdGUodHJhY2tzKTsKIH0KIAotUmVmUHRyPE1lZGlhU3RyZWFtUHJpdmF0ZT4gTWVkaWFTdHJl
YW1Qcml2YXRlOjpjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImIHRy
YWNrcykKK1JlZjxNZWRpYVN0cmVhbVByaXZhdGU+IE1lZGlhU3RyZWFtUHJpdmF0ZTo6Y3JlYXRl
KGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlVmVjdG9yJiB0cmFja3MpCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbVByaXZhdGUoY3JlYXRlQ2Fub25pY2FsVVVJRFN0
cmluZygpLCB0cmFja3MpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVN0cmVhbVBy
aXZhdGUoY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpLCB0cmFja3MpKTsKIH0KIAogTWVkaWFT
dHJlYW1Qcml2YXRlOjpNZWRpYVN0cmVhbVByaXZhdGUoY29uc3QgU3RyaW5nJiBpZCwgY29uc3Qg
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImIHRyYWNrcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKaW5k
ZXggMzg3YWE2NzI2MTkxMjY2ODRlODY5OTZjNmQ1ZGE5N2ZiZjY0NDgyMi4uY2RlM2Q1ZDM5NTM3
NTU5NDQ4NWVjNDIwNDQ2YzZjZTdhZDM0NGQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKQEAgLTY4LDgg
KzY4LDggQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlVHJhY2soTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUmKSB7IH0KICAgICB9OwogCi0gICAgc3RhdGljIFJlZlB0cjxN
ZWRpYVN0cmVhbVByaXZhdGU+IGNyZWF0ZShjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVk
aWFTb3VyY2U+PiYgYXVkaW9Tb3VyY2VzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVk
aWFTb3VyY2U+PiYgdmlkZW9Tb3VyY2VzKTsKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU3RyZWFt
UHJpdmF0ZT4gY3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlVmVjdG9yJik7Cisg
ICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbVByaXZhdGU+IGNyZWF0ZShjb25zdCBWZWN0b3I8UmVm
PFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9Tb3VyY2VzLCBjb25zdCBWZWN0b3I8UmVmPFJl
YWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9Tb3VyY2VzKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlh
U3RyZWFtUHJpdmF0ZT4gY3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlVmVjdG9y
Jik7CiAKICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbVByaXZhdGUoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCmluZGV4IDFmOTY2YWFlYjZiMjZlMWE5
NDM5NGZiMTNiYzY4Mjg4OTc1YWM5OGEuLmJlN2JhMTFmMzA5ZGNkZjMwNmJiMGIwNWE3ZjhmZWNm
N2IwYjkxYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHAKQEAgLTkzLDggKzkzLDggQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjp2
YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhWYWxpZENvbnN0cmFpbnRzSGEKIAogdm9pZCBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRpYVN0cmVhbShOZXdNZWRpYVN0cmVh
bUhhbmRsZXIgY29tcGxldGlvbkhhbmRsZXIsIGNvbnN0IFN0cmluZyYgYXVkaW9EZXZpY2VJRCwg
Y29uc3QgU3RyaW5nJiB2aWRlb0RldmljZUlELCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiBhdWRp
b0NvbnN0cmFpbnRzLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiB2aWRlb0NvbnN0cmFpbnRzKQog
ewotICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlvU291cmNlczsK
LSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRlb1NvdXJjZXM7Cisg
ICAgVmVjdG9yPFJlZjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2VzOworICAgIFZl
Y3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsKICAgICBTdHJpbmcg
aW52YWxpZENvbnN0cmFpbnQ7CiAKICAgICBpZiAoIWF1ZGlvRGV2aWNlSUQuaXNFbXB0eSgpKSB7
CkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpj
cmVhdGVNZWRpYVN0cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXIgY29tcGwKICNlbmRpZgogCiAg
ICAgICAgIGlmIChhdWRpb1NvdXJjZSkKLSAgICAgICAgICAgIGF1ZGlvU291cmNlcy5hcHBlbmQo
V1RGTW92ZShhdWRpb1NvdXJjZSkpOworICAgICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChh
dWRpb1NvdXJjZS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICB9CiAgICAgaWYgKCF2aWRlb0Rldmlj
ZUlELmlzRW1wdHkoKSkgewogICAgICAgICBhdXRvIHZpZGVvU291cmNlID0gQVZDYXB0dXJlRGV2
aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuc291cmNlV2l0aFVJRCh2aWRlb0RldmljZUlELCBSZWFs
dGltZU1lZGlhU291cmNlOjpWaWRlbywgdmlkZW9Db25zdHJhaW50cywgaW52YWxpZENvbnN0cmFp
bnQpOwpAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
Yzo6Y3JlYXRlTWVkaWFTdHJlYW0oTmV3TWVkaWFTdHJlYW1IYW5kbGVyIGNvbXBsCiAgICAgICAg
ICAgICBMT0coTWVkaWEsICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRp
YVN0cmVhbSglcCksIHZpZGVvIGNvbnN0cmFpbnRzIGZhaWxlZCB0byBhcHBseTogJXMiLCB0aGlz
LCBpbnZhbGlkQ29uc3RyYWludC51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgogICAgICAgICBpZiAo
dmlkZW9Tb3VyY2UpCi0gICAgICAgICAgICB2aWRlb1NvdXJjZXMuYXBwZW5kKFdURk1vdmUodmlk
ZW9Tb3VyY2UpKTsKKyAgICAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQodmlkZW9Tb3VyY2Uu
cmVsZWFzZU5vbk51bGwoKSk7CiAgICAgfQogCiAgICAgaWYgKHZpZGVvU291cmNlcy5pc0VtcHR5
KCkgJiYgYXVkaW9Tb3VyY2VzLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck93ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCmluZGV4IDk4NzdhM2U5ZmVkZDkxOGQx
Y2VlYTNlODFlMjNhNGIwMTE4YWRkMGMuLjY3YzkxYjhlNGFhY2QxYzA0YzRjMTBmNjAwMTRlNjcz
ZjZhZmQ1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyT3dyLmNwcApAQCAtMTIwLDggKzEyMCw4IEBAIFZlY3RvcjxDYXB0dXJlRGV2aWNl
PiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyOjpnZXRNZWRpYVN0cmVhbURldmljZXMoKQog
CiB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3I6Om1lZGlhU291cmNlc0F2YWlsYWJs
ZShHTGlzdCogc291cmNlcykKIHsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3Vy
Y2U+PiBhdWRpb1NvdXJjZXM7Ci0gICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNl
Pj4gdmlkZW9Tb3VyY2VzOworICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1
ZGlvU291cmNlczsKKyAgICBWZWN0b3I8UmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRlb1Nv
dXJjZXM7CiAKICAgICBmb3IgKGF1dG8gaXRlbSA9IHNvdXJjZXM7IGl0ZW07IGl0ZW0gPSBpdGVt
LT5uZXh0KSB7CiAgICAgICAgIE93ck1lZGlhU291cmNlKiBzb3VyY2UgPSBPV1JfTUVESUFfU09V
UkNFKGl0ZW0tPmRhdGEpOwpAQCAtMTQ5LDE2ICsxNDksMTYgQEAgdm9pZCBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyT3dyOjptZWRpYVNvdXJjZXNBdmFpbGFibGUoR0xpc3QqIHNvdXJjZXMpCiAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogCi0gICAgICAgIFJl
ZlB0cjxSZWFsdGltZU1lZGlhU291cmNlT3dyPiBtZWRpYVNvdXJjZSA9IGFkb3B0UmVmKG5ldyBS
ZWFsdGltZU1lZGlhU291cmNlT3dyKHNvdXJjZSwgaWQsIG1lZGlhU291cmNlVHlwZSwgc291cmNl
TmFtZSkpOworICAgICAgICBhdXRvIG1lZGlhU291cmNlID0gYWRvcHRSZWYoKm5ldyBSZWFsdGlt
ZU1lZGlhU291cmNlT3dyKHNvdXJjZSwgaWQsIG1lZGlhU291cmNlVHlwZSwgc291cmNlTmFtZSkp
OwogCiAgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VPd3JNYXA6Oml0ZXJhdG9yIHNvdXJjZUl0
ZXJhdG9yID0gbV9zb3VyY2VNYXAuZmluZChpZCk7CiAgICAgICAgIGlmIChzb3VyY2VJdGVyYXRv
ciA9PSBtX3NvdXJjZU1hcC5lbmQoKSkKLSAgICAgICAgICAgIG1fc291cmNlTWFwLmFkZChpZCwg
bWVkaWFTb3VyY2UpOworICAgICAgICAgICAgbV9zb3VyY2VNYXAuYWRkKGlkLCBtZWRpYVNvdXJj
ZS5jb3B5UmVmKCkpOwogCiAgICAgICAgIGlmIChtZWRpYVR5cGUgJiBPV1JfTUVESUFfVFlQRV9B
VURJTykKLSAgICAgICAgICAgIGF1ZGlvU291cmNlcy5hcHBlbmQobWVkaWFTb3VyY2UpOworICAg
ICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChXVEZNb3ZlKG1lZGlhU291cmNlKSk7CiAgICAg
ICAgIGVsc2UgaWYgKG1lZGlhVHlwZSAmIE9XUl9NRURJQV9UWVBFX1ZJREVPKQotICAgICAgICAg
ICAgdmlkZW9Tb3VyY2VzLmFwcGVuZChtZWRpYVNvdXJjZSk7CisgICAgICAgICAgICB2aWRlb1Nv
dXJjZXMuYXBwZW5kKFdURk1vdmUobWVkaWFTb3VyY2UpKTsKICAgICB9CiAKICAgICBpZiAodmlk
ZW9Tb3VyY2VzLmlzRW1wdHkoKSAmJiBhdWRpb1NvdXJjZXMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmNwcAppbmRleCBmN2U2YWYzNWY1MzRjMjk5MDZmY2RjZmNjNzY1NWQ4OTM1
OTNkZDJiLi5iZGEyNGQ1ZWE2OWQ0NzVhNDIwMGIwNmVmNjMzYTJkZDdiZDkyMjljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmNwcApAQCAtMTAwLDE5ICsxMDAsMTkgQEAgdm9pZCBNb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoVmFsaWRD
b25zdHJhaW50c0gKIAogdm9pZCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Y3JlYXRl
TWVkaWFTdHJlYW0oTmV3TWVkaWFTdHJlYW1IYW5kbGVyIGNvbXBsZXRpb25IYW5kbGVyLCBjb25z
dCBTdHJpbmcmIGF1ZGlvRGV2aWNlSUQsIGNvbnN0IFN0cmluZyYgdmlkZW9EZXZpY2VJRCwgY29u
c3QgTWVkaWFDb25zdHJhaW50cyogYXVkaW9Db25zdHJhaW50cywgY29uc3QgTWVkaWFDb25zdHJh
aW50cyogdmlkZW9Db25zdHJhaW50cykKIHsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVk
aWFTb3VyY2U+PiBhdWRpb1NvdXJjZXM7Ci0gICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPj4gdmlkZW9Tb3VyY2VzOworICAgIFZlY3RvcjxSZWY8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4+IGF1ZGlvU291cmNlczsKKyAgICBWZWN0b3I8UmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2
aWRlb1NvdXJjZXM7CiAKICAgICBpZiAoYXVkaW9EZXZpY2VJRCA9PSBNb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZTo6bW9ja0F1ZGlvU291cmNlUGVyc2lzdGVudElEKCkpIHsKICAgICAgICAgYXV0byBz
b3VyY2UgPSBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6Y3JlYXRlKE1vY2tSZWFsdGltZU1lZGlh
U291cmNlOjptb2NrQXVkaW9Tb3VyY2VOYW1lKCksIGF1ZGlvQ29uc3RyYWludHMpOwogICAgICAg
ICBpZiAoc291cmNlKQotICAgICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChzb3VyY2UubGVh
a1JlZigpKTsKKyAgICAgICAgICAgIGF1ZGlvU291cmNlcy5hcHBlbmQoc291cmNlLnJlbGVhc2VO
b25OdWxsKCkpOwogICAgIH0KIAogICAgIGlmICh2aWRlb0RldmljZUlEID09IE1vY2tSZWFsdGlt
ZU1lZGlhU291cmNlOjptb2NrVmlkZW9Tb3VyY2VQZXJzaXN0ZW50SUQoKSkgewogICAgICAgICBh
dXRvIHNvdXJjZSA9IE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpjcmVhdGUoTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2U6Om1vY2tWaWRlb1NvdXJjZU5hbWUoKSwgdmlkZW9Db25zdHJhaW50cyk7CiAg
ICAgICAgIGlmIChzb3VyY2UpCi0gICAgICAgICAgICB2aWRlb1NvdXJjZXMuYXBwZW5kKHNvdXJj
ZS5sZWFrUmVmKCkpOworICAgICAgICAgICAgdmlkZW9Tb3VyY2VzLmFwcGVuZChzb3VyY2UucmVs
ZWFzZU5vbk51bGwoKSk7CiAgICAgfQogCiAgICAgaWYgKHZpZGVvU291cmNlcy5pc0VtcHR5KCkg
JiYgYXVkaW9Tb3VyY2VzLmlzRW1wdHkoKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>