<?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>192182</bug_id>
          
          <creation_ts>2018-11-29 14:41:56 -0800</creation_ts>
          <short_desc>[MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents</short_desc>
          <delta_ts>2018-11-29 19:15:13 -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>WebRTC</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1483187</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-11-29 14:41:56 -0800</bug_when>
    <thetext>DeviceIdHashSaltStorage should use iframe and top level documents</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483189</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-29 14:42:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/46354914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483191</commentid>
    <comment_count>2</comment_count>
      <attachid>356061</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-11-29 14:48:44 -0800</bug_when>
    <thetext>Created attachment 356061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483249</commentid>
    <comment_count>3</comment_count>
      <attachid>356061</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-29 15:34:11 -0800</bug_when>
    <thetext>Comment on attachment 356061
Patch

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

&gt; Source/WebKit/UIProcess/DeviceIdHashSaltStorage.cpp:83
&gt;  void DeviceIdHashSaltStorage::deleteDeviceIdHashSaltForOrigins(const Vector&lt;SecurityOriginData&gt;&amp; origins, CompletionHandler&lt;void()&gt;&amp;&amp; completionHandler)

We probably need to update getDeviceIdHashSaltOrigins to also add the topOrigin to origins.

&gt; Source/WebKit/UIProcess/DeviceIdHashSaltStorage.h:50
&gt; +            : documentOrigin(documentOrigin)

WTFMove(documentOrigin) and WTFMove(parentOrigin)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483347</commentid>
    <comment_count>4</comment_count>
      <attachid>356061</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-11-29 18:44:08 -0800</bug_when>
    <thetext>Comment on attachment 356061
Patch

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

Thanks for the review!

&gt;&gt; Source/WebKit/UIProcess/DeviceIdHashSaltStorage.cpp:83
&gt;&gt;  void DeviceIdHashSaltStorage::deleteDeviceIdHashSaltForOrigins(const Vector&lt;SecurityOriginData&gt;&amp; origins, CompletionHandler&lt;void()&gt;&amp;&amp; completionHandler)
&gt; 
&gt; We probably need to update getDeviceIdHashSaltOrigins to also add the topOrigin to origins.

Good point, fixed.

&gt;&gt; Source/WebKit/UIProcess/DeviceIdHashSaltStorage.h:50
&gt;&gt; +            : documentOrigin(documentOrigin)
&gt; 
&gt; WTFMove(documentOrigin) and WTFMove(parentOrigin)

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483348</commentid>
    <comment_count>5</comment_count>
      <attachid>356105</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-11-29 18:47:42 -0800</bug_when>
    <thetext>Created attachment 356105
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483357</commentid>
    <comment_count>6</comment_count>
      <attachid>356105</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-29 19:15:11 -0800</bug_when>
    <thetext>Comment on attachment 356105
Patch for landing.

Clearing flags on attachment: 356105

Committed r238724: &lt;https://trac.webkit.org/changeset/238724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483358</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-29 19:15:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356061</attachid>
            <date>2018-11-29 14:48:44 -0800</date>
            <delta_ts>2018-11-29 18:47:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192182-20181129144843.patch</filename>
            <type>text/plain</type>
            <size>18018</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIwMWJmMTVmYTk0NmIyNzg2
MmQ1ZWI4MTMxNTAyNGJjYTAzMTdlMDIuLjJlZWY5NTE4MDJjNzA0M2NlM2E0MTVlNTlhZTcwNjcy
Y2Y3ZDBjZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMTEtMjkgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhU3RyZWFtXSBE
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSBzaG91bGQgdXNlIGlmcmFtZSBhbmQgdG9wIGxldmVsIGRv
Y3VtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkyMTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZTo6ZGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbik6IEtl
eSBvZmYgb2YgcmVxdWVzdCBhbmQgdG9wIAorICAgICAgICBsZXZlbCBkb2N1bWVudHMuCisgICAg
ICAgIChXZWJLaXQ6OkRldmljZUlkSGFzaFNhbHRTdG9yYWdlOjpkZWxldGVEZXZpY2VJZEhhc2hT
YWx0Rm9yT3JpZ2lucyk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9EZXZpY2VJZEhhc2hT
YWx0U3RvcmFnZS5oOgorICAgICAgICAoV2ViS2l0OjpEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZTo6
SGFzaFNhbHRGb3JPcmlnaW46Okhhc2hTYWx0Rm9yT3JpZ2luKToKKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp1c2VyTWVk
aWFBY2Nlc3NXYXNHcmFudGVkKTogUGFzcyBib3RoIGRvY3VtZW50cy4KKyAgICAgICAgKFdlYktp
dDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnJlcXVlc3RVc2VyTWVk
aWFQZXJtaXNzaW9uRm9yRnJhbWUpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmVudW1lcmF0ZU1lZGlhRGV2aWNlc0ZvckZy
YW1lKTogRGl0dG8uCisKIDIwMTgtMTEtMjcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUyBzaG91bGQgYmUgZmFsc2Ug
Zm9yIGlvc21hYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RldmljZUlk
SGFzaFNhbHRTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RldmljZUlkSGFz
aFNhbHRTdG9yYWdlLmNwcAppbmRleCAyNjM4YTA3MjBkNDg4MTA4MThlYzJmYmFhNTMyNTYzZDMx
N2FmZjYxLi4wMGZjYmJhNDhiODYyNjliNDFlOWJkZDAyN2ZjM2Y5Mjg3NjgyY2IwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuY3Bw
CkBAIC00NiwyMCArNDYsMjEgQEAgUmVmPERldmljZUlkSGFzaFNhbHRTdG9yYWdlPiBEZXZpY2VJ
ZEhhc2hTYWx0U3RvcmFnZTo6Y3JlYXRlKCkKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBEZXZp
Y2VJZEhhc2hTYWx0U3RvcmFnZSgpKTsKIH0KIAotY29uc3QgU3RyaW5nJiBEZXZpY2VJZEhhc2hT
YWx0U3RvcmFnZTo6ZGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdp
biYgZG9jdW1lbnRPcmlnaW4pCitjb25zdCBTdHJpbmcmIERldmljZUlkSGFzaFNhbHRTdG9yYWdl
OjpkZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
JiBkb2N1bWVudE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHBhcmVudE9y
aWdpbikKIHsKLSAgICBhdXRvJiBkZXZpY2VJZEhhc2hTYWx0ID0gbV9kZXZpY2VJZEhhc2hTYWx0
Rm9yT3JpZ2lucy5lbnN1cmUoZG9jdW1lbnRPcmlnaW4udG9SYXdTdHJpbmcoKSwgWyZkb2N1bWVu
dE9yaWdpbl0gKCkgeworICAgIGF1dG8gb3JpZ2lucyA9IG1ha2VTdHJpbmcoZG9jdW1lbnRPcmln
aW4udG9SYXdTdHJpbmcoKSwgcGFyZW50T3JpZ2luLnRvUmF3U3RyaW5nKCkpOworICAgIGF1dG8m
IGRldmljZUlkSGFzaFNhbHQgPSBtX2RldmljZUlkSGFzaFNhbHRGb3JPcmlnaW5zLmVuc3VyZShv
cmlnaW5zLCBbJmRvY3VtZW50T3JpZ2luLCAmcGFyZW50T3JpZ2luXSAoKSB7CiAgICAgICAgIHVp
bnQ2NF90IHJhbmRvbURhdGFbcmFuZG9tRGF0YVNpemVdOwogICAgICAgICBjcnlwdG9ncmFwaGlj
YWxseVJhbmRvbVZhbHVlcyhyZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIqPihyYW5kb21E
YXRhKSwgc2l6ZW9mKHJhbmRvbURhdGEpKTsKIAogICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxk
ZXI7CiAgICAgICAgIGJ1aWxkZXIucmVzZXJ2ZUNhcGFjaXR5KGhhc2hTYWx0U2l6ZSk7CiAgICAg
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcmFuZG9tRGF0YVNpemU7IGkrKykKLSAgICAgICAgICAg
IGFwcGVuZFVuc2lnbmVkNjRBc0hleChyYW5kb21EYXRhWzBdLCBidWlsZGVyKTsKKyAgICAgICAg
ICAgIGFwcGVuZFVuc2lnbmVkNjRBc0hleChyYW5kb21EYXRhW2ldLCBidWlsZGVyKTsKIAogICAg
ICAgICBTdHJpbmcgZGV2aWNlSWRIYXNoU2FsdCA9IGJ1aWxkZXIudG9TdHJpbmcoKTsKIAotICAg
ICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxIYXNoU2FsdEZvck9yaWdpbj4oZG9jdW1lbnRP
cmlnaW4uZGF0YSgpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3ZlKGRldmljZUlkSGFzaFNhbHQpKTsK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8SGFzaFNhbHRGb3JPcmlnaW4+KGRvY3Vt
ZW50T3JpZ2luLmRhdGEoKS5pc29sYXRlZENvcHkoKSwgcGFyZW50T3JpZ2luLmRhdGEoKS5pc29s
YXRlZENvcHkoKSwgV1RGTW92ZShkZXZpY2VJZEhhc2hTYWx0KSk7CiAgICAgfSkuaXRlcmF0b3It
PnZhbHVlOwogCiAgICAgZGV2aWNlSWRIYXNoU2FsdC0+bGFzdFRpbWVVc2VkID0gV2FsbFRpbWU6
Om5vdygpOwpAQCAtODIsNyArODMsNyBAQCB2b2lkIERldmljZUlkSGFzaFNhbHRTdG9yYWdlOjpn
ZXREZXZpY2VJZEhhc2hTYWx0T3JpZ2lucyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKAogdm9pZCBE
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZTo6ZGVsZXRlRGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbnMo
Y29uc3QgVmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4mIG9yaWdpbnMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtX2RldmljZUlkSGFzaFNh
bHRGb3JPcmlnaW5zLnJlbW92ZUlmKFsmb3JpZ2luc10oYXV0byYga2V5QW5kVmFsdWUpIHsKLSAg
ICAgICAgcmV0dXJuIG9yaWdpbnMuY29udGFpbnMoa2V5QW5kVmFsdWUudmFsdWUtPmRvY3VtZW50
T3JpZ2luKTsKKyAgICAgICAgcmV0dXJuIG9yaWdpbnMuY29udGFpbnMoa2V5QW5kVmFsdWUudmFs
dWUtPmRvY3VtZW50T3JpZ2luKSB8fCBvcmlnaW5zLmNvbnRhaW5zKGtleUFuZFZhbHVlLnZhbHVl
LT5wYXJlbnRPcmlnaW4pOwogICAgIH0pOwogCiAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNo
KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0RldmljZUlkSGFzaFNhbHRTdG9yYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5oCmluZGV4IGIzOTQ1ZjU3YWNhZTExYTVhYmY2
OWU2Zjc0Y2YxYTg0Yjk2MTk2ZjQuLjg4OWZjYTYzZWYyYWMyMDFhNjQ5YjViMTVkODgxMzVjNWQ1
ZWViMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RldmljZUlkSGFzaFNh
bHRTdG9yYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRGV2aWNlSWRIYXNoU2Fs
dFN0b3JhZ2UuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxEZXZp
Y2VJZEhhc2hTYWx0U3RvcmFnZT4gY3JlYXRlKCk7CiAgICAgfkRldmljZUlkSGFzaFNhbHRTdG9y
YWdlKCkgPSBkZWZhdWx0OwogCi0gICAgY29uc3QgU3RyaW5nJiBkZXZpY2VJZEhhc2hTYWx0Rm9y
T3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJik7CisgICAgY29uc3QgU3RyaW5n
JiBkZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
JiBkb2N1bWVudE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHBhcmVudE9y
aWdpbik7CiAKICAgICB2b2lkIGdldERldmljZUlkSGFzaFNhbHRPcmlnaW5zKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoSGFzaFNldDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiYpPiYmKTsK
ICAgICB2b2lkIGRlbGV0ZURldmljZUlkSGFzaFNhbHRGb3JPcmlnaW5zKGNvbnN0IFZlY3RvcjxX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKQEAgLTQ2LDEzICs0NiwxNSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IEhh
c2hTYWx0Rm9yT3JpZ2luIHsKLSAgICAgICAgSGFzaFNhbHRGb3JPcmlnaW4oV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhJiYgc2VjdXJpdHlPcmlnaW4sIFN0cmluZyYmIGRldmljZUlkSGFzaFNh
bHQpCi0gICAgICAgICAgICA6IGRvY3VtZW50T3JpZ2luKHNlY3VyaXR5T3JpZ2luKQorICAgICAg
ICBIYXNoU2FsdEZvck9yaWdpbihXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmJiBkb2N1bWVu
dE9yaWdpbiwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYgcGFyZW50T3JpZ2luLCBTdHJp
bmcmJiBkZXZpY2VJZEhhc2hTYWx0KQorICAgICAgICAgICAgOiBkb2N1bWVudE9yaWdpbihkb2N1
bWVudE9yaWdpbikKKyAgICAgICAgICAgICwgcGFyZW50T3JpZ2luKHBhcmVudE9yaWdpbikKICAg
ICAgICAgICAgICwgZGV2aWNlSWRIYXNoU2FsdChXVEZNb3ZlKGRldmljZUlkSGFzaFNhbHQpKQog
ICAgICAgICAgICAgLCBsYXN0VGltZVVzZWQoV2FsbFRpbWU6Om5vdygpKQogICAgICAgICB7IH07
CiAKICAgICAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGRvY3VtZW50T3JpZ2luOwor
ICAgICAgICBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgcGFyZW50T3JpZ2luOwogICAgICAg
ICBTdHJpbmcgZGV2aWNlSWRIYXNoU2FsdDsKICAgICAgICAgV2FsbFRpbWUgbGFzdFRpbWVVc2Vk
OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKaW5kZXggZTY0MmY3
NGExMjhiMWMyNTdmNDRjN2ZiZTI5ZjEwMmNkMmJmZmNhMi4uNTZkMzU4OGJmMDM3N2IxNTIzODk1
Mzk0ZTY1ZDU0YTdiNzM2NDNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNw
cApAQCAtMTYzLDcgKzE2Myw3IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHk6OnVzZXJNZWRpYUFjY2Vzc1dhc0dyYW50ZWQodWludDY0X3QKICAgICBpZiAoIXJl
cXVlc3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gZGV2aWNlSURIYXNoU2FsdCA9IG1f
cGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkuZGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKS0+ZGV2aWNl
SWRIYXNoU2FsdEZvck9yaWdpbihyZXF1ZXN0LT50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmln
aW4oKSk7CisgICAgYXV0byBkZXZpY2VJREhhc2hTYWx0ID0gbV9wYWdlLndlYnNpdGVEYXRhU3Rv
cmUoKS5kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgpLT5kZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2lu
KHJlcXVlc3QtPnVzZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdC0+dG9w
TGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCkpOwogICAgIGlmIChncmFudEFjY2Vzcyh1c2Vy
TWVkaWFJRCwgV1RGTW92ZShhdWRpb0RldmljZSksIFdURk1vdmUodmlkZW9EZXZpY2UpLCBXVEZN
b3ZlKGRldmljZUlESGFzaFNhbHQpKSkKICAgICAgICAgbV9ncmFudGVkUmVxdWVzdHMuYXBwZW5k
KHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKSk7CiAjZWxzZQpAQCAtMzYyLDcgKzM2Miw3IEBAIHZv
aWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnJlcXVlc3RVc2VyTWVk
aWFQZXJtaXNzaW9uRm9yRnJhbWUoCiAKICAgICAgICAgc3luY1dpdGhXZWJDb3JlUHJlZnMoKTsK
IAotICAgICAgICBhdXRvIGRldmljZUlESGFzaFNhbHQgPSBtX3BhZ2Uud2Vic2l0ZURhdGFTdG9y
ZSgpLmRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCktPmRldmljZUlkSGFzaFNhbHRGb3JPcmlnaW4o
cGVuZGluZ1JlcXVlc3QudmFsdWUoKS0+dG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCkp
OworICAgICAgICBhdXRvIGRldmljZUlESGFzaFNhbHQgPSBtX3BhZ2Uud2Vic2l0ZURhdGFTdG9y
ZSgpLmRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCktPmRldmljZUlkSGFzaFNhbHRGb3JPcmlnaW4o
cGVuZGluZ1JlcXVlc3QudmFsdWUoKS0+dXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigp
LCBwZW5kaW5nUmVxdWVzdC52YWx1ZSgpLT50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4o
KSk7CiAgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZhbGlk
YXRlUmVxdWVzdENvbnN0cmFpbnRzKFdURk1vdmUodmFsaWRIYW5kbGVyKSwgV1RGTW92ZShpbnZh
bGlkSGFuZGxlciksIFdURk1vdmUobG9jYWxVc2VyUmVxdWVzdCksIFdURk1vdmUoZGV2aWNlSURI
YXNoU2FsdCkpOwogICAgIH07CiAKQEAgLTM5OSw3ICszOTksNyBAQCB2b2lkIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpnZXRVc2VyTWVkaWFQZXJtaXNzaW9uSW5mbyh1
aW50NjRfdAogdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6ZW51
bWVyYXRlTWVkaWFEZXZpY2VzRm9yRnJhbWUodWludDY0X3QgdXNlck1lZGlhSUQsIHVpbnQ2NF90
IGZyYW1lSUQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcExldmVsRG9jdW1lbnRPcmlnaW4pCiB7CiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLSAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gW3RoaXMsIHRv
cE9yaWdpbiA9IHRvcExldmVsRG9jdW1lbnRPcmlnaW4uY29weVJlZigpXSh1aW50NjRfdCB1c2Vy
TWVkaWFJRCwgYm9vbCBvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNzKSB7CisgICAgYXV0byBjb21w
bGV0aW9uSGFuZGxlciA9IFt0aGlzLCByZXF1ZXN0T3JpZ2luID0gdXNlck1lZGlhRG9jdW1lbnRP
cmlnaW4uY29weVJlZigpLCB0b3BPcmlnaW4gPSB0b3BMZXZlbERvY3VtZW50T3JpZ2luLmNvcHlS
ZWYoKV0odWludDY0X3QgdXNlck1lZGlhSUQsIGJvb2wgb3JpZ2luSGFzUGVyc2lzdGVudEFjY2Vz
cykgewogICAgICAgICBhdXRvIHBlbmRpbmdSZXF1ZXN0ID0gbV9wZW5kaW5nRGV2aWNlUmVxdWVz
dHMudGFrZSh1c2VyTWVkaWFJRCk7CiAgICAgICAgIGlmICghcGVuZGluZ1JlcXVlc3QpCiAgICAg
ICAgICAgICByZXR1cm47CkBAIC00MTQsNyArNDE0LDcgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6ZW51bWVyYXRlTWVkaWFEZXZpY2VzRm9yRnJhbWUodWlu
dDYKICAgICAgICAgICAgIHJldHVybiAhZGV2aWNlLmVuYWJsZWQoKSB8fCAoZGV2aWNlLnR5cGUo
KSAhPSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmEgJiYgZGV2aWNl
LnR5cGUoKSAhPSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25l
KTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgYXV0byBkZXZpY2VJREhhc2hTYWx0ID0gbV9wYWdl
LndlYnNpdGVEYXRhU3RvcmUoKS5kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgpLT5kZXZpY2VJZEhh
c2hTYWx0Rm9yT3JpZ2luKHRvcE9yaWdpbi5nZXQoKSk7CisgICAgICAgIGF1dG8gZGV2aWNlSURI
YXNoU2FsdCA9IG1fcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkuZGV2aWNlSWRIYXNoU2FsdFN0b3Jh
Z2UoKS0+ZGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbihyZXF1ZXN0T3JpZ2luLmdldCgpLCB0b3BP
cmlnaW4uZ2V0KCkpOwogICAgICAgICBtX3BhZ2UucHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OkRpZENvbXBsZXRlTWVkaWFEZXZpY2VFbnVtZXJhdGlvbih1c2VyTWVkaWFJRCwgV1RG
TW92ZShkZXZpY2VzKSwgV1RGTW92ZShkZXZpY2VJREhhc2hTYWx0KSwgV1RGTW92ZShvcmlnaW5I
YXNQZXJzaXN0ZW50QWNjZXNzKSksIG1fcGFnZS5wYWdlSUQoKSk7CiAgICAgfTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGUxNjIyZjU5ZTFlYWUyZjE4Yzk2NDcyZmNhNTQzMDUwMTVjM2JlZjIuLmNhMzFhZjg5ZjQwZDhk
NzVlYzMyZGJjNmVkMDU0NzBhYzNhZDBiYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0x
MS0yOSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBb
TWVkaWFTdHJlYW1dIERldmljZUlkSGFzaFNhbHRTdG9yYWdlIHNob3VsZCB1c2UgaWZyYW1lIGFu
ZCB0b3AgbGV2ZWwgZG9jdW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTIxODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1k
ZXZpY2VzLXNvdXJjZS1pZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zdHJlYW0vZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vcmVzb3VyY2VzL2VudW1lcmF0ZS1kZXZp
Y2VzLXNvdXJjZS1pZC1mcmFtZS5odG1sOgorCiAyMDE4LTExLTI3ICBKaWV3ZW4gVGFuICA8amll
d2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdGVzdCBnYXJkZW5pbmcK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2Vu
dW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQtZXhw
ZWN0ZWQudHh0CmluZGV4IDlhY2MxYmFkNzI1NTk3MjBlMWExZWU0NjBkNzkyNzZjMDlmY2ZiZmIu
LmRiZThiMDlkYzBjMmQ2NWQ2MDkwY2I4Y2VlMDk1MDI3YzQ1OTJjMzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2Vz
LXNvdXJjZS1pZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zdHJlYW0vZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLWV4cGVjdGVkLnR4dApA
QCAtMSwyNSArMSwxMSBAQAogIAogIAogCi1UZXN0cyB0aGF0IG1lZGlhRGV2aWNlcy5lbnVtZXJh
dGVEZXZpY2VzIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgZm9yIGEgZGV2aWNlIElEIGluIGFsbCBz
dWJmcmFtZXMuCitUZXN0cyB0aGF0IG1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzIHJldHVy
bnMgdGhlIHNhbWUgaWRzIGZvciBkZXZpY2VzIGluIHRoZSBzYW1lIGZyYW1lL3N1YmZyYW1lIC4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgOiBkZXZpY2UgaWQgMSBpcyBu
b3QgdW5pcXVlCi1QQVNTIDogZGV2aWNlIGlkIDIgaXMgbm90IHVuaXF1ZQotUEFTUyA6IGRldmlj
ZSBpZCAzIGlzIG5vdCB1bmlxdWUKLVBBU1MgOiBkZXZpY2UgaWQgNCBpcyBub3QgdW5pcXVlCi1Q
QVNTIDogZGV2aWNlIGlkIDUgaXMgbm90IHVuaXF1ZQotUEFTUyA6IGRldmljZSBpZCA2IGlzIG5v
dCB1bmlxdWUKLVBBU1MgOiBkZXZpY2UgaWQgNyBpcyBub3QgdW5pcXVlCi1QQVNTIDogZGV2aWNl
IGlkIDggaXMgbm90IHVuaXF1ZQotUEFTUyA6IGRldmljZSBpZCA5IGlzIG5vdCB1bmlxdWUKLVBB
U1MgOiBkZXZpY2UgaWQgMTAgaXMgbm90IHVuaXF1ZQotUEFTUyA6IGRldmljZSBpZCAxMSBpcyBu
b3QgdW5pcXVlCi1QQVNTIDogZGV2aWNlIGlkIDEyIGlzIG5vdCB1bmlxdWUKLQotUEFTUyA6IGRl
dmljZSBJRHMgYXJlIG5vdCB1bmlxdWUKIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVh
bS9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC5odG1sCmlu
ZGV4IDQ4ZTdkZmVhYWMxODBlMzY2MDgwODRlYWNlZjE0ZGE1YTljZGU4NzIuLjI1MDA4NGE3Y2My
MTQ5ZGZkYTcyNGIwNTA1MTVkNjQzOWJmZjIxY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1l
cmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC5odG1sCkBAIC02LDggKzYsNiBAQAogICAgICAgICA8L3N0
eWxlPgogICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIHZhciBmcmFt
ZUluZm9zID0gW107Ci0gICAgICAgICAgICB2YXIgaWRDb3VudHMgPSB7IH07CiAgICAgICAgICAg
ICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKICAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKQEAgLTE1LDM0ICsxMywzOSBAQAogCiAgICAgICAgICAgICBmdW5jdGlvbiBz
ZXR1cCgpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgbWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMgcmV0dXJucyB0aGUgc2FtZSB2YWx1
ZSBmb3IgYSBkZXZpY2UgSUQgaW4gYWxsIHN1YmZyYW1lcy4iKTsKKyAgICAgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBtZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcyByZXR1
cm5zIHRoZSBzYW1lIGlkcyBmb3IgZGV2aWNlcyBpbiB0aGUgc2FtZSBmcmFtZS9zdWJmcmFtZSAu
Iik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQp
IAorICAgICAgICAgICAgbGV0IG1hcCA9IHsgfTsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNr
SUQob3JpZ2luLCBkZXZpY2UpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZXZlbnQu
ZGF0YS5kZXZpY2VJZHMuZm9yRWFjaChmdW5jdGlvbihpZCkgewotICAgICAgICAgICAgICAgICAg
ICBmcmFtZUluZm9zLnB1c2goe29yaWdpbiA6IGV2ZW50LmRhdGEub3JpZ2luLCBkZXZpY2VJZCA6
IGlkfSk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBjb3VudCA9IGlkQ291bnRzW2lkXSB8fCAw
OwotICAgICAgICAgICAgICAgICAgICBpZENvdW50c1tpZF0gPSArK2NvdW50OwotICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgICAgIGxldCBvcmlnaW5zID0gYCR7ZG9jdW1lbnQub3Jp
Z2lufS0ke29yaWdpbn1gOwogCi0gICAgICAgICAgICAgICAgaWYgKGZyYW1lSW5mb3MubGVuZ3Ro
ICE9IDEyKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgaWYg
KCFtYXBbb3JpZ2luc10pCisgICAgICAgICAgICAgICAgICAgIG1hcFtvcmlnaW5zXSA9IHsgfTsK
IAotICAgICAgICAgICAgICAgIHZhciBzdWNjZXNzID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGZyYW1lSW5mb3MubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAg
ICAgICAgICAgdmFyIGRldmljZUlkID0gZnJhbWVJbmZvc1tpXS5kZXZpY2VJZDsKLSAgICAgICAg
ICAgICAgICAgICAgbGV0IGNvdW50ID0gaWRDb3VudHNbZGV2aWNlSWRdIHx8IDA7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmICghY291bnQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoYDogZGV2aWNlIGlkICR7aSArIDF9IGlzIHVuaXF1ZWApOwotICAgICAgICAgICAgICAg
ICAgICAgICAgc3VjY2VzcyA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoYDogZGV2aWNlIGlkICR7aSArIDF9IGlz
IG5vdCB1bmlxdWVgKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgbGV0IG9y
aWdpbkluZm8gPSBtYXBbb3JpZ2luc107CisgICAgICAgICAgICAgICAgaWYgKCFvcmlnaW5JbmZv
W2RldmljZS5kZXZpY2VJZF0pCisgICAgICAgICAgICAgICAgICAgIG9yaWdpbkluZm9bZGV2aWNl
LmRldmljZUlkXSA9IGRldmljZS5raW5kOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAg
ICAgIGlmIChvcmlnaW5JbmZvW2RldmljZS5kZXZpY2VJZF0gIT0gZGV2aWNlLmtpbmQpCisgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYDogZHVwbGljYXRlIGRldmljZSBJRHMgZm9yICR7
ZGV2aWNlLmtpbmR9IGFuZCAke29yaWdpbkluZm9bZGV2aWNlLmRldmljZUlkXX0gaW4gJHtvcmln
aW59LyR7ZG9jdW1lbnQub3JpZ2lufWApOwogCi0gICAgICAgICAgICAgICAgZGVidWcoJycpOwot
ICAgICAgICAgICAgICAgIGlmIChzdWNjZXNzKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKGA6IGRldmljZSBJRHMgYXJlIG5vdCB1bmlxdWVgKTsKKyAgICAgICAgICAgICAgICBpZiAo
T2JqZWN0LmtleXMob3JpZ2luSW5mbykubGVuZ3RoID4gNCkKKyAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZChgOiBtb3JlIHRoZW4gZm91ciB1bmlxdWUgZGV2aWNlIElEcyBpbiAke29yaWdp
bn0vJHtkb2N1bWVudC5vcmlnaW59YCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGxl
dCBldmVudENvdW50ID0gMDsKKyAgICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZl
bnQpIAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGV2ZW50LmRhdGEuZGV2aWNlcy5m
b3JFYWNoKGRldmljZSA9PiB7IGNoZWNrSUQoZXZlbnQuZGF0YS5vcmlnaW4sIGRldmljZSk7IH0p
OworCisgICAgICAgICAgICAgICAgaWYgKCsrZXZlbnRDb3VudCAhPSA2KQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWUsIGF1ZGlvOiB0cnVlIH0pOworICAgICAg
ICAgICAgICAgIGxldCBkZXZpY2VzID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVt
ZXJhdGVEZXZpY2VzKCk7CisgICAgICAgICAgICAgICAgZGV2aWNlcy5mb3JFYWNoKGRldmljZSA9
PiBjaGVja0lEKGRvY3VtZW50Lm9yaWdpbiwgZGV2aWNlKSk7CiAKICAgICAgICAgICAgICAgICBk
ZWJ1ZygnJyk7CiAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CkBAIC01MywxMSArNTYs
MTEgQEAKICAgICAgICAgPC9zY3JpcHQ+IAogICAgIDwvaGVhZD4KICAgICA8Ym9keSBvbmxvYWQ9
InNldHVwKCkiPgotICAgICAgICA8aWZyYW1lIGFsbG93PSJjYW1lcmE7bWljcm9waG9uZSIgc3Jj
PSJodHRwOi8vbG9jYWxob3N0OjgwMDAvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9lbnVt
ZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQtZnJhbWUuaHRtbCI+PC9pZnJhbWU+CisgICAgICAgIDxp
ZnJhbWUgYWxsb3c9ImNhbWVyYTttaWNyb3Bob25lIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9tZWRpYS9tZWRpYS1zdHJlYW0vcmVzb3VyY2VzL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1p
ZC1mcmFtZS5odG1sPzEiPjwvaWZyYW1lPgogICAgICAgICA8YnI+Ci0gICAgICAgIDxpZnJhbWUg
YWxsb3c9ImNhbWVyYTttaWNyb3Bob25lIiBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9tZWRp
YS9tZWRpYS1zdHJlYW0vcmVzb3VyY2VzL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1mcmFt
ZS5odG1sIj48L2lmcmFtZT4KKyAgICAgICAgPGlmcmFtZSBhbGxvdz0iY2FtZXJhO21pY3JvcGhv
bmUiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL21lZGlhL21lZGlhLXN0cmVhbS9yZXNvdXJj
ZXMvZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLWZyYW1lLmh0bWw/MiI+PC9pZnJhbWU+CiAg
ICAgICAgIDxicj4KLSAgICAgICAgPGlmcmFtZSBhbGxvdz0iY2FtZXJhO21pY3JvcGhvbmUiIHNy
Yz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL21lZGlhL21lZGlhLXN0cmVhbS9yZXNvdXJjZXMvZW51
bWVyYXRlLWRldmljZXMtc291cmNlLWlkLWZyYW1lLmh0bWwiPjwvaWZyYW1lPgorICAgICAgICA8
aWZyYW1lIGFsbG93PSJjYW1lcmE7bWljcm9waG9uZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2Ut
aWQtZnJhbWUuaHRtbD8zIj48L2lmcmFtZT4KICAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CiAgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KICAgICA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9yZXNvdXJjZXMvZW51bWVyYXRlLWRldmljZXMt
c291cmNlLWlkLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXN0cmVhbS9yZXNvdXJjZXMvZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLWZyYW1lLmh0bWwK
aW5kZXggY2JlZThjOThkZmNiYjk3M2E0NWVjZjExNmRhMzA2NTMyNGFlMTRlZC4uZjFjOGM5NWEy
MjEyMGMzN2U5ODE1MzcyMWNkMDAzODA3NDIzNmQxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vcmVzb3VyY2VzL2VudW1lcmF0ZS1kZXZpY2Vz
LXNvdXJjZS1pZC1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc3RyZWFtL3Jlc291cmNlcy9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQtZnJhbWUu
aHRtbApAQCAtMTAsMzUgKzEwLDMxIEBACiAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbXNnICsgIjxicj4iOwogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0KGV2ZW50KQorICAgICAgICAgICAgYXN5
bmMgZnVuY3Rpb24gdGVzdChldmVudCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKQotICAgICAgICAgICAgICAg
ICAgICAudGhlbihmdW5jdGlvbihkZXZpY2VzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2
YXIgcmVzdWx0ID0gewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogZG9jdW1l
bnQub3JpZ2luLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VJZHM6IFtkZXZp
Y2VzWzBdLmRldmljZUlkLCBkZXZpY2VzWzFdLmRldmljZUlkXQotICAgICAgICAgICAgICAgICAg
ICAgICAgfTsKKyAgICAgICAgICAgICAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYSh7dmlkZW86IHRydWUsIGF1ZGlvOiB0cnVlIH0pOworICAgICAgICAgICAgICAg
IGxldCBkZXZpY2VzID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZp
Y2VzKCk7CisgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHsKKyAgICAgICAgICAgICAgICAg
ICAgb3JpZ2luOiBkb2N1bWVudC5vcmlnaW4sIAorICAgICAgICAgICAgICAgICAgICBkZXZpY2Vz
OiBkZXZpY2VzLm1hcChkZXZpY2UgPT4geyByZXR1cm4ge2RldmljZUlkOiBkZXZpY2UuZGV2aWNl
SWQsIGtpbmQ6IGRldmljZS5raW5kfSB9KSwKKyAgICAgICAgICAgICAgICB9OwogCi0gICAgICAg
ICAgICAgICAgICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UocmVzdWx0LCAiKiIpOwotICAgICAg
ICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24oZXJy
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsb2coYGVudW1lcmF0ZURldmljZXMgZmFpbGVk
OiAke2Vyci5uYW1lfSAtICR7ZXJyLm1lc3NhZ2V9YCk7Ci0gICAgICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShyZXN1bHQsICIqIik7CiAgICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgdmFyIHBhcmVudFBhZ2UgPSBkb2N1bWVudC5y
ZWZlcnJlci5zcGxpdCgnLycpLnBvcCgpOworICAgICAgICAgICAgICAgIGxldCBwYXJlbnRQYWdl
ID0gZG9jdW1lbnQucmVmZXJyZXIuc3BsaXQoJy8nKS5wb3AoKTsKICAgICAgICAgICAgICAgICBp
ZiAocGFyZW50UGFnZSAhPSAiZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLmh0bWwiKQogICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgICAgICB2YXIgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgICAgICAgICAgICAgbGV0IGlm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgICAgICAgICAgICAg
IGlmcmFtZS5zcmMgPSBsb2NhdGlvbi5ocmVmOwogICAgICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVu
Y3Rpb24gaGFuZGxlcihldmVudCkgCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFy
IHJlc3VsdCA9IHsKLSAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiBgJHtldmVudC5kYXRhLm9y
aWdpbn0gaW4gJHtkb2N1bWVudC5vcmlnaW59YCwgCi0gICAgICAgICAgICAgICAgICAgIGRldmlj
ZUlkczogZXZlbnQuZGF0YS5kZXZpY2VJZHMKKyAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0g
eworICAgICAgICAgICAgICAgICAgICBvcmlnaW46IGAke2V2ZW50LmRhdGEub3JpZ2lufWAsIAor
ICAgICAgICAgICAgICAgICAgICBkZXZpY2VzOiBldmVudC5kYXRhLmRldmljZXMKICAgICAgICAg
ICAgICAgICB9OwogCiAgICAgICAgICAgICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKHJlc3VsdCwg
IioiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356105</attachid>
            <date>2018-11-29 18:47:42 -0800</date>
            <delta_ts>2018-11-29 19:15:11 -0800</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-192182-20181129184741.patch</filename>
            <type>text/plain</type>
            <size>18595</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIwMWJmMTVmYTk0NmIyNzg2
MmQ1ZWI4MTMxNTAyNGJjYTAzMTdlMDIuLjA5NmE4NWQ5N2I4M2NlYTdlYjFmOTJjMjdhNDcwMjU4
NWQ0NjM3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMTEtMjkgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhU3RyZWFtXSBE
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSBzaG91bGQgdXNlIGlmcmFtZSBhbmQgdG9wIGxldmVsIGRv
Y3VtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkyMTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkRldmljZUlkSGFzaFNhbHRTdG9yYWdlOjpkZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKTogS2V5
IG9mZiBvZiByZXF1ZXN0IGFuZCB0b3AgCisgICAgICAgIGxldmVsIGRvY3VtZW50cy4KKyAgICAg
ICAgKFdlYktpdDo6RGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2U6OmRlbGV0ZURldmljZUlkSGFzaFNh
bHRGb3JPcmlnaW5zKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0RldmljZUlkSGFzaFNh
bHRTdG9yYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OkRldmljZUlkSGFzaFNhbHRTdG9yYWdlOjpI
YXNoU2FsdEZvck9yaWdpbjo6SGFzaFNhbHRGb3JPcmlnaW4pOgorCisgICAgICAgICogVUlQcm9j
ZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnVzZXJNZWRp
YUFjY2Vzc1dhc0dyYW50ZWQpOiBQYXNzIGJvdGggZG9jdW1lbnRzLgorICAgICAgICAoV2ViS2l0
OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6cmVxdWVzdFVzZXJNZWRp
YVBlcm1pc3Npb25Gb3JGcmFtZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6ZW51bWVyYXRlTWVkaWFEZXZpY2VzRm9yRnJh
bWUpOiBEaXR0by4KKwogMjAxOC0xMS0yNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TIHNob3VsZCBiZSBmYWxzZSBm
b3IgaW9zbWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRGV2aWNlSWRI
YXNoU2FsdFN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRGV2aWNlSWRIYXNo
U2FsdFN0b3JhZ2UuY3BwCmluZGV4IDI2MzhhMDcyMGQ0ODgxMDgxOGVjMmZiYWE1MzI1NjNkMzE3
YWZmNjEuLmZjODU4MmVhNjlhMjI5ZjJkNWRkYzk2ZTVlNzcyMjg0ZDc5ZTRhZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RldmljZUlkSGFzaFNhbHRTdG9yYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5jcHAK
QEAgLTQ2LDIwICs0NiwyMSBAQCBSZWY8RGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2U+IERldmljZUlk
SGFzaFNhbHRTdG9yYWdlOjpjcmVhdGUoKQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERldmlj
ZUlkSGFzaFNhbHRTdG9yYWdlKCkpOwogfQogCi1jb25zdCBTdHJpbmcmIERldmljZUlkSGFzaFNh
bHRTdG9yYWdlOjpkZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JiBkb2N1bWVudE9yaWdpbikKK2NvbnN0IFN0cmluZyYgRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2U6
OmRldmljZUlkSGFzaFNhbHRGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW4mIGRvY3VtZW50
T3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgcGFyZW50T3JpZ2luKQogewotICAgIGF1dG8m
IGRldmljZUlkSGFzaFNhbHQgPSBtX2RldmljZUlkSGFzaFNhbHRGb3JPcmlnaW5zLmVuc3VyZShk
b2N1bWVudE9yaWdpbi50b1Jhd1N0cmluZygpLCBbJmRvY3VtZW50T3JpZ2luXSAoKSB7CisgICAg
YXV0byBvcmlnaW5zID0gbWFrZVN0cmluZyhkb2N1bWVudE9yaWdpbi50b1Jhd1N0cmluZygpLCBw
YXJlbnRPcmlnaW4udG9SYXdTdHJpbmcoKSk7CisgICAgYXV0byYgZGV2aWNlSWRIYXNoU2FsdCA9
IG1fZGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbnMuZW5zdXJlKG9yaWdpbnMsIFsmZG9jdW1lbnRP
cmlnaW4sICZwYXJlbnRPcmlnaW5dICgpIHsKICAgICAgICAgdWludDY0X3QgcmFuZG9tRGF0YVty
YW5kb21EYXRhU2l6ZV07CiAgICAgICAgIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKHJl
aW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KHJhbmRvbURhdGEpLCBzaXplb2YocmFuZG9t
RGF0YSkpOwogCiAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICAgICAgYnVpbGRl
ci5yZXNlcnZlQ2FwYWNpdHkoaGFzaFNhbHRTaXplKTsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCByYW5kb21EYXRhU2l6ZTsgaSsrKQotICAgICAgICAgICAgYXBwZW5kVW5zaWduZWQ2NEFz
SGV4KHJhbmRvbURhdGFbMF0sIGJ1aWxkZXIpOworICAgICAgICAgICAgYXBwZW5kVW5zaWduZWQ2
NEFzSGV4KHJhbmRvbURhdGFbaV0sIGJ1aWxkZXIpOwogCiAgICAgICAgIFN0cmluZyBkZXZpY2VJ
ZEhhc2hTYWx0ID0gYnVpbGRlci50b1N0cmluZygpOwogCi0gICAgICAgIHJldHVybiBzdGQ6Om1h
a2VfdW5pcXVlPEhhc2hTYWx0Rm9yT3JpZ2luPihkb2N1bWVudE9yaWdpbi5kYXRhKCkuaXNvbGF0
ZWRDb3B5KCksIFdURk1vdmUoZGV2aWNlSWRIYXNoU2FsdCkpOworICAgICAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxIYXNoU2FsdEZvck9yaWdpbj4oZG9jdW1lbnRPcmlnaW4uZGF0YSgpLmlz
b2xhdGVkQ29weSgpLCBwYXJlbnRPcmlnaW4uZGF0YSgpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3Zl
KGRldmljZUlkSGFzaFNhbHQpKTsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiAKICAgICBkZXZp
Y2VJZEhhc2hTYWx0LT5sYXN0VGltZVVzZWQgPSBXYWxsVGltZTo6bm93KCk7CkBAIC03MSw4ICs3
MiwxMCBAQCB2b2lkIERldmljZUlkSGFzaFNhbHRTdG9yYWdlOjpnZXREZXZpY2VJZEhhc2hTYWx0
T3JpZ2lucyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKAogewogICAgIEhhc2hTZXQ8U2VjdXJpdHlP
cmlnaW5EYXRhPiBvcmlnaW5zOwogCi0gICAgZm9yIChhdXRvJiBoYXNoU2FsdEZvck9yaWdpbiA6
IG1fZGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbnMpCisgICAgZm9yIChhdXRvJiBoYXNoU2FsdEZv
ck9yaWdpbiA6IG1fZGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbnMpIHsKICAgICAgICAgb3JpZ2lu
cy5hZGQoaGFzaFNhbHRGb3JPcmlnaW4udmFsdWUtPmRvY3VtZW50T3JpZ2luKTsKKyAgICAgICAg
b3JpZ2lucy5hZGQoaGFzaFNhbHRGb3JPcmlnaW4udmFsdWUtPnBhcmVudE9yaWdpbik7CisgICAg
fQogCiAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtvcmlnaW5zID0gV1RGTW92ZShvcmln
aW5zKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBt
dXRhYmxlIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShvcmlnaW5zKSk7CkBA
IC04Miw3ICs4NSw3IEBAIHZvaWQgRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2U6OmdldERldmljZUlk
SGFzaFNhbHRPcmlnaW5zKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoCiB2b2lkIERldmljZUlkSGFz
aFNhbHRTdG9yYWdlOjpkZWxldGVEZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2lucyhjb25zdCBWZWN0
b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYgb3JpZ2lucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIG1fZGV2aWNlSWRIYXNoU2FsdEZvck9yaWdp
bnMucmVtb3ZlSWYoWyZvcmlnaW5zXShhdXRvJiBrZXlBbmRWYWx1ZSkgewotICAgICAgICByZXR1
cm4gb3JpZ2lucy5jb250YWlucyhrZXlBbmRWYWx1ZS52YWx1ZS0+ZG9jdW1lbnRPcmlnaW4pOwor
ICAgICAgICByZXR1cm4gb3JpZ2lucy5jb250YWlucyhrZXlBbmRWYWx1ZS52YWx1ZS0+ZG9jdW1l
bnRPcmlnaW4pIHx8IG9yaWdpbnMuY29udGFpbnMoa2V5QW5kVmFsdWUudmFsdWUtPnBhcmVudE9y
aWdpbik7CiAgICAgfSk7CiAKICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
RGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Rldmlj
ZUlkSGFzaFNhbHRTdG9yYWdlLmgKaW5kZXggYjM5NDVmNTdhY2FlMTFhNWFiZjY5ZTZmNzRjZjFh
ODRiOTYxOTZmNC4uNWZlMmE4NjIxYWZmZWU3OWZiYWQxZWI2YWEzMDEyYmQ1MWJiNTYyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5o
CkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPERldmljZUlkSGFzaFNh
bHRTdG9yYWdlPiBjcmVhdGUoKTsKICAgICB+RGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKSA9IGRl
ZmF1bHQ7CiAKLSAgICBjb25zdCBTdHJpbmcmIGRldmljZUlkSGFzaFNhbHRGb3JPcmlnaW4oY29u
c3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mKTsKKyAgICBjb25zdCBTdHJpbmcmIGRldmljZUlk
SGFzaFNhbHRGb3JPcmlnaW4oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIGRvY3VtZW50
T3JpZ2luLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgcGFyZW50T3JpZ2luKTsKIAog
ICAgIHZvaWQgZ2V0RGV2aWNlSWRIYXNoU2FsdE9yaWdpbnMoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChIYXNoU2V0PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4mJik+JiYpOwogICAgIHZvaWQg
ZGVsZXRlRGV2aWNlSWRIYXNoU2FsdEZvck9yaWdpbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YT4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpAQCAtNDYs
MTMgKzQ2LDE1IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgSGFzaFNhbHRGb3JP
cmlnaW4gewotICAgICAgICBIYXNoU2FsdEZvck9yaWdpbihXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmJiBzZWN1cml0eU9yaWdpbiwgU3RyaW5nJiYgZGV2aWNlSWRIYXNoU2FsdCkKLSAgICAg
ICAgICAgIDogZG9jdW1lbnRPcmlnaW4oc2VjdXJpdHlPcmlnaW4pCisgICAgICAgIEhhc2hTYWx0
Rm9yT3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIGRvY3VtZW50T3JpZ2luLCBX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmJiBwYXJlbnRPcmlnaW4sIFN0cmluZyYmIGRldmlj
ZUlkSGFzaFNhbHQpCisgICAgICAgICAgICA6IGRvY3VtZW50T3JpZ2luKFdURk1vdmUoZG9jdW1l
bnRPcmlnaW4pKQorICAgICAgICAgICAgLCBwYXJlbnRPcmlnaW4oV1RGTW92ZShwYXJlbnRPcmln
aW4pKQogICAgICAgICAgICAgLCBkZXZpY2VJZEhhc2hTYWx0KFdURk1vdmUoZGV2aWNlSWRIYXNo
U2FsdCkpCiAgICAgICAgICAgICAsIGxhc3RUaW1lVXNlZChXYWxsVGltZTo6bm93KCkpCiAgICAg
ICAgIHsgfTsKIAogICAgICAgICBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZG9jdW1lbnRP
cmlnaW47CisgICAgICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBwYXJlbnRPcmlnaW47
CiAgICAgICAgIFN0cmluZyBkZXZpY2VJZEhhc2hTYWx0OwogICAgICAgICBXYWxsVGltZSBsYXN0
VGltZVVzZWQ7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRl
eCBlNjQyZjc0YTEyOGIxYzI1N2Y0NGM3ZmJlMjlmMTAyY2QyYmZmY2EyLi41NmQzNTg4YmYwMzc3
YjE1MjM4OTUzOTRlNjVkNTRhN2I3MzY0M2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuY3BwCkBAIC0xNjMsNyArMTYzLDcgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eTo6dXNlck1lZGlhQWNjZXNzV2FzR3JhbnRlZCh1aW50NjRfdAogICAg
IGlmICghcmVxdWVzdCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBkZXZpY2VJREhhc2hT
YWx0ID0gbV9wYWdlLndlYnNpdGVEYXRhU3RvcmUoKS5kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgp
LT5kZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKHJlcXVlc3QtPnRvcExldmVsRG9jdW1lbnRTZWN1
cml0eU9yaWdpbigpKTsKKyAgICBhdXRvIGRldmljZUlESGFzaFNhbHQgPSBtX3BhZ2Uud2Vic2l0
ZURhdGFTdG9yZSgpLmRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCktPmRldmljZUlkSGFzaFNhbHRG
b3JPcmlnaW4ocmVxdWVzdC0+dXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1
ZXN0LT50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSk7CiAgICAgaWYgKGdyYW50QWNj
ZXNzKHVzZXJNZWRpYUlELCBXVEZNb3ZlKGF1ZGlvRGV2aWNlKSwgV1RGTW92ZSh2aWRlb0Rldmlj
ZSksIFdURk1vdmUoZGV2aWNlSURIYXNoU2FsdCkpKQogICAgICAgICBtX2dyYW50ZWRSZXF1ZXN0
cy5hcHBlbmQocmVxdWVzdC5yZWxlYXNlTm9uTnVsbCgpKTsKICNlbHNlCkBAIC0zNjIsNyArMzYy
LDcgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6cmVxdWVz
dFVzZXJNZWRpYVBlcm1pc3Npb25Gb3JGcmFtZSgKIAogICAgICAgICBzeW5jV2l0aFdlYkNvcmVQ
cmVmcygpOwogCi0gICAgICAgIGF1dG8gZGV2aWNlSURIYXNoU2FsdCA9IG1fcGFnZS53ZWJzaXRl
RGF0YVN0b3JlKCkuZGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKS0+ZGV2aWNlSWRIYXNoU2FsdEZv
ck9yaWdpbihwZW5kaW5nUmVxdWVzdC52YWx1ZSgpLT50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlP
cmlnaW4oKSk7CisgICAgICAgIGF1dG8gZGV2aWNlSURIYXNoU2FsdCA9IG1fcGFnZS53ZWJzaXRl
RGF0YVN0b3JlKCkuZGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKS0+ZGV2aWNlSWRIYXNoU2FsdEZv
ck9yaWdpbihwZW5kaW5nUmVxdWVzdC52YWx1ZSgpLT51c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5
T3JpZ2luKCksIHBlbmRpbmdSZXF1ZXN0LnZhbHVlKCktPnRvcExldmVsRG9jdW1lbnRTZWN1cml0
eU9yaWdpbigpKTsKICAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9u
KCkudmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoV1RGTW92ZSh2YWxpZEhhbmRsZXIpLCBXVEZN
b3ZlKGludmFsaWRIYW5kbGVyKSwgV1RGTW92ZShsb2NhbFVzZXJSZXF1ZXN0KSwgV1RGTW92ZShk
ZXZpY2VJREhhc2hTYWx0KSk7CiAgICAgfTsKIApAQCAtMzk5LDcgKzM5OSw3IEBAIHZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmdldFVzZXJNZWRpYVBlcm1pc3Np
b25JbmZvKHVpbnQ2NF90CiB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5OjplbnVtZXJhdGVNZWRpYURldmljZXNGb3JGcmFtZSh1aW50NjRfdCB1c2VyTWVkaWFJRCwg
dWludDY0X3QgZnJhbWVJRCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHVzZXJNZWRpYURvY3VtZW50
T3JpZ2luLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbikKIHsK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBb
dGhpcywgdG9wT3JpZ2luID0gdG9wTGV2ZWxEb2N1bWVudE9yaWdpbi5jb3B5UmVmKCldKHVpbnQ2
NF90IHVzZXJNZWRpYUlELCBib29sIG9yaWdpbkhhc1BlcnNpc3RlbnRBY2Nlc3MpIHsKKyAgICBh
dXRvIGNvbXBsZXRpb25IYW5kbGVyID0gW3RoaXMsIHJlcXVlc3RPcmlnaW4gPSB1c2VyTWVkaWFE
b2N1bWVudE9yaWdpbi5jb3B5UmVmKCksIHRvcE9yaWdpbiA9IHRvcExldmVsRG9jdW1lbnRPcmln
aW4uY29weVJlZigpXSh1aW50NjRfdCB1c2VyTWVkaWFJRCwgYm9vbCBvcmlnaW5IYXNQZXJzaXN0
ZW50QWNjZXNzKSB7CiAgICAgICAgIGF1dG8gcGVuZGluZ1JlcXVlc3QgPSBtX3BlbmRpbmdEZXZp
Y2VSZXF1ZXN0cy50YWtlKHVzZXJNZWRpYUlEKTsKICAgICAgICAgaWYgKCFwZW5kaW5nUmVxdWVz
dCkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQxNCw3ICs0MTQsNyBAQCB2b2lkIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjplbnVtZXJhdGVNZWRpYURldmljZXNGb3JG
cmFtZSh1aW50NgogICAgICAgICAgICAgcmV0dXJuICFkZXZpY2UuZW5hYmxlZCgpIHx8IChkZXZp
Y2UudHlwZSgpICE9IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYSAm
JiBkZXZpY2UudHlwZSgpICE9IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1p
Y3JvcGhvbmUpOwogICAgICAgICB9KTsKIAotICAgICAgICBhdXRvIGRldmljZUlESGFzaFNhbHQg
PSBtX3BhZ2Uud2Vic2l0ZURhdGFTdG9yZSgpLmRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCktPmRl
dmljZUlkSGFzaFNhbHRGb3JPcmlnaW4odG9wT3JpZ2luLmdldCgpKTsKKyAgICAgICAgYXV0byBk
ZXZpY2VJREhhc2hTYWx0ID0gbV9wYWdlLndlYnNpdGVEYXRhU3RvcmUoKS5kZXZpY2VJZEhhc2hT
YWx0U3RvcmFnZSgpLT5kZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKHJlcXVlc3RPcmlnaW4uZ2V0
KCksIHRvcE9yaWdpbi5nZXQoKSk7CiAgICAgICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6RGlkQ29tcGxldGVNZWRpYURldmljZUVudW1lcmF0aW9uKHVzZXJNZWRp
YUlELCBXVEZNb3ZlKGRldmljZXMpLCBXVEZNb3ZlKGRldmljZUlESGFzaFNhbHQpLCBXVEZNb3Zl
KG9yaWdpbkhhc1BlcnNpc3RlbnRBY2Nlc3MpKSwgbV9wYWdlLnBhZ2VJRCgpKTsKICAgICB9Owog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZTE2MjJmNTllMWVhZTJmMThjOTY0NzJmY2E1NDMwNTAxNWMzYmVmMi4uOTM1Mjc3
ZjU0N2UyNjQ5YmVhYmVlYzViMzhhMzJmZDRjNTgxZDU4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE4LTExLTI5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFtNZWRpYVN0cmVhbV0gRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2Ugc2hvdWxkIHVzZSBp
ZnJhbWUgYW5kIHRvcCBsZXZlbCBkb2N1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjE4MgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVu
biBGYWJsZXQuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9lbnVt
ZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9lbnVtZXJh
dGUtZGV2aWNlcy1zb3VyY2UtaWQtZnJhbWUuaHRtbDoKKwogMjAxOC0xMS0yNyAgSmlld2VuIFRh
biAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHRlc3QgZ2Fy
ZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0
cmVhbS9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZW51bWVyYXRlLWRldmljZXMtc291cmNl
LWlkLWV4cGVjdGVkLnR4dAppbmRleCA5YWNjMWJhZDcyNTU5NzIwZTFhMWVlNDYwZDc5Mjc2YzA5
ZmNmYmZiLi5kYmU4YjA5ZGMwYzJkNjVkNjA5MGNiOGNlZTA5NTAyN2M0NTkyYzMyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9lbnVtZXJhdGUt
ZGV2aWNlcy1zb3VyY2UtaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1leHBlY3Rl
ZC50eHQKQEAgLTEsMjUgKzEsMTEgQEAKICAKICAKIAotVGVzdHMgdGhhdCBtZWRpYURldmljZXMu
ZW51bWVyYXRlRGV2aWNlcyByZXR1cm5zIHRoZSBzYW1lIHZhbHVlIGZvciBhIGRldmljZSBJRCBp
biBhbGwgc3ViZnJhbWVzLgorVGVzdHMgdGhhdCBtZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNl
cyByZXR1cm5zIHRoZSBzYW1lIGlkcyBmb3IgZGV2aWNlcyBpbiB0aGUgc2FtZSBmcmFtZS9zdWJm
cmFtZSAuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIDogZGV2aWNlIGlk
IDEgaXMgbm90IHVuaXF1ZQotUEFTUyA6IGRldmljZSBpZCAyIGlzIG5vdCB1bmlxdWUKLVBBU1Mg
OiBkZXZpY2UgaWQgMyBpcyBub3QgdW5pcXVlCi1QQVNTIDogZGV2aWNlIGlkIDQgaXMgbm90IHVu
aXF1ZQotUEFTUyA6IGRldmljZSBpZCA1IGlzIG5vdCB1bmlxdWUKLVBBU1MgOiBkZXZpY2UgaWQg
NiBpcyBub3QgdW5pcXVlCi1QQVNTIDogZGV2aWNlIGlkIDcgaXMgbm90IHVuaXF1ZQotUEFTUyA6
IGRldmljZSBpZCA4IGlzIG5vdCB1bmlxdWUKLVBBU1MgOiBkZXZpY2UgaWQgOSBpcyBub3QgdW5p
cXVlCi1QQVNTIDogZGV2aWNlIGlkIDEwIGlzIG5vdCB1bmlxdWUKLVBBU1MgOiBkZXZpY2UgaWQg
MTEgaXMgbm90IHVuaXF1ZQotUEFTUyA6IGRldmljZSBpZCAxMiBpcyBub3QgdW5pcXVlCi0KLVBB
U1MgOiBkZXZpY2UgSURzIGFyZSBub3QgdW5pcXVlCiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zdHJlYW0vZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQu
aHRtbAppbmRleCA0OGU3ZGZlYWFjMTgwZTM2NjA4MDg0ZWFjZWYxNGRhNWE5Y2RlODcyLi4yNTAw
ODRhN2NjMjE0OWRmZGE3MjRiMDUwNTE1ZDY0MzliZmYyMWNmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9lbnVtZXJhdGUtZGV2aWNlcy1zb3Vy
Y2UtaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVh
bS9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2UtaWQuaHRtbApAQCAtNiw4ICs2LDYgQEAKICAgICAg
ICAgPC9zdHlsZT4KICAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICB2
YXIgZnJhbWVJbmZvcyA9IFtdOwotICAgICAgICAgICAgdmFyIGlkQ291bnRzID0geyB9OwogICAg
ICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiAgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCkBAIC0xNSwzNCArMTMsMzkgQEAKIAogICAgICAgICAgICAgZnVu
Y3Rpb24gc2V0dXAoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IG1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzIHJldHVybnMgdGhlIHNh
bWUgdmFsdWUgZm9yIGEgZGV2aWNlIElEIGluIGFsbCBzdWJmcmFtZXMuIik7CisgICAgICAgICAg
ICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgbWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmlj
ZXMgcmV0dXJucyB0aGUgc2FtZSBpZHMgZm9yIGRldmljZXMgaW4gdGhlIHNhbWUgZnJhbWUvc3Vi
ZnJhbWUgLiIpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVy
KGV2ZW50KSAKKyAgICAgICAgICAgIGxldCBtYXAgPSB7IH07CisgICAgICAgICAgICBmdW5jdGlv
biBjaGVja0lEKG9yaWdpbiwgZGV2aWNlKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGV2ZW50LmRhdGEuZGV2aWNlSWRzLmZvckVhY2goZnVuY3Rpb24oaWQpIHsKLSAgICAgICAgICAg
ICAgICAgICAgZnJhbWVJbmZvcy5wdXNoKHtvcmlnaW4gOiBldmVudC5kYXRhLm9yaWdpbiwgZGV2
aWNlSWQgOiBpZH0pOwotICAgICAgICAgICAgICAgICAgICBsZXQgY291bnQgPSBpZENvdW50c1tp
ZF0gfHwgMDsKLSAgICAgICAgICAgICAgICAgICAgaWRDb3VudHNbaWRdID0gKytjb3VudDsKLSAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBsZXQgb3JpZ2lucyA9IGAke2RvY3Vt
ZW50Lm9yaWdpbn0tJHtvcmlnaW59YDsKIAotICAgICAgICAgICAgICAgIGlmIChmcmFtZUluZm9z
Lmxlbmd0aCAhPSAxMikKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIGlmICghbWFwW29yaWdpbnNdKQorICAgICAgICAgICAgICAgICAgICBtYXBbb3JpZ2luc10g
PSB7IH07CiAKLSAgICAgICAgICAgICAgICB2YXIgc3VjY2VzcyA9IHRydWU7Ci0gICAgICAgICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmcmFtZUluZm9zLmxlbmd0aDsgaSsrKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHZhciBkZXZpY2VJZCA9IGZyYW1lSW5mb3NbaV0uZGV2aWNlSWQ7Ci0g
ICAgICAgICAgICAgICAgICAgIGxldCBjb3VudCA9IGlkQ291bnRzW2RldmljZUlkXSB8fCAwOwot
ICAgICAgICAgICAgICAgICAgICBpZiAoIWNvdW50KSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKGA6IGRldmljZSBpZCAke2kgKyAxfSBpcyB1bmlxdWVgKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGA6IGRldmljZSBpZCAke2kg
KyAxfSBpcyBub3QgdW5pcXVlYCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGxldCBvcmlnaW5JbmZvID0gbWFwW29yaWdpbnNdOworICAgICAgICAgICAgICAgIGlmICghb3Jp
Z2luSW5mb1tkZXZpY2UuZGV2aWNlSWRdKQorICAgICAgICAgICAgICAgICAgICBvcmlnaW5JbmZv
W2RldmljZS5kZXZpY2VJZF0gPSBkZXZpY2Uua2luZDsKKyAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICBpZiAob3JpZ2luSW5mb1tkZXZpY2UuZGV2aWNlSWRdICE9IGRldmljZS5raW5k
KQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGA6IGR1cGxpY2F0ZSBkZXZpY2UgSURz
IGZvciAke2RldmljZS5raW5kfSBhbmQgJHtvcmlnaW5JbmZvW2RldmljZS5kZXZpY2VJZF19IGlu
ICR7b3JpZ2lufS8ke2RvY3VtZW50Lm9yaWdpbn1gKTsKIAotICAgICAgICAgICAgICAgIGRlYnVn
KCcnKTsKLSAgICAgICAgICAgICAgICBpZiAoc3VjY2VzcykKLSAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChgOiBkZXZpY2UgSURzIGFyZSBub3QgdW5pcXVlYCk7CisgICAgICAgICAgICAg
ICAgaWYgKE9iamVjdC5rZXlzKG9yaWdpbkluZm8pLmxlbmd0aCA+IDQpCisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoYDogbW9yZSB0aGVuIGZvdXIgdW5pcXVlIGRldmljZSBJRHMgaW4g
JHtvcmlnaW59LyR7ZG9jdW1lbnQub3JpZ2lufWApOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBsZXQgZXZlbnRDb3VudCA9IDA7CisgICAgICAgICAgICBhc3luYyBmdW5jdGlvbiBoYW5k
bGVyKGV2ZW50KSAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBldmVudC5kYXRhLmRl
dmljZXMuZm9yRWFjaChkZXZpY2UgPT4geyBjaGVja0lEKGV2ZW50LmRhdGEub3JpZ2luLCBkZXZp
Y2UpOyB9KTsKKworICAgICAgICAgICAgICAgIGlmICgrK2V2ZW50Q291bnQgIT0gNikKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgYXdhaXQgbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVlLCBhdWRpbzogdHJ1ZSB9KTsK
KyAgICAgICAgICAgICAgICBsZXQgZGV2aWNlcyA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmlj
ZXMuZW51bWVyYXRlRGV2aWNlcygpOworICAgICAgICAgICAgICAgIGRldmljZXMuZm9yRWFjaChk
ZXZpY2UgPT4gY2hlY2tJRChkb2N1bWVudC5vcmlnaW4sIGRldmljZSkpOwogCiAgICAgICAgICAg
ICAgICAgZGVidWcoJycpOwogICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwpAQCAtNTMs
MTEgKzU2LDExIEBACiAgICAgICAgIDwvc2NyaXB0PiAKICAgICA8L2hlYWQ+CiAgICAgPGJvZHkg
b25sb2FkPSJzZXR1cCgpIj4KLSAgICAgICAgPGlmcmFtZSBhbGxvdz0iY2FtZXJhO21pY3JvcGhv
bmUiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL21lZGlhL21lZGlhLXN0cmVhbS9yZXNvdXJj
ZXMvZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLWZyYW1lLmh0bWwiPjwvaWZyYW1lPgorICAg
ICAgICA8aWZyYW1lIGFsbG93PSJjYW1lcmE7bWljcm9waG9uZSIgc3JjPSJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9lbnVtZXJhdGUtZGV2aWNlcy1z
b3VyY2UtaWQtZnJhbWUuaHRtbD8xIj48L2lmcmFtZT4KICAgICAgICAgPGJyPgotICAgICAgICA8
aWZyYW1lIGFsbG93PSJjYW1lcmE7bWljcm9waG9uZSIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9lbnVtZXJhdGUtZGV2aWNlcy1zb3VyY2Ut
aWQtZnJhbWUuaHRtbCI+PC9pZnJhbWU+CisgICAgICAgIDxpZnJhbWUgYWxsb3c9ImNhbWVyYTtt
aWNyb3Bob25lIiBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9tZWRpYS9tZWRpYS1zdHJlYW0v
cmVzb3VyY2VzL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1mcmFtZS5odG1sPzIiPjwvaWZy
YW1lPgogICAgICAgICA8YnI+Ci0gICAgICAgIDxpZnJhbWUgYWxsb3c9ImNhbWVyYTttaWNyb3Bo
b25lIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9tZWRpYS9tZWRpYS1zdHJlYW0vcmVzb3Vy
Y2VzL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1mcmFtZS5odG1sIj48L2lmcmFtZT4KKyAg
ICAgICAgPGlmcmFtZSBhbGxvdz0iY2FtZXJhO21pY3JvcGhvbmUiIHNyYz0iaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL21lZGlhL21lZGlhLXN0cmVhbS9yZXNvdXJjZXMvZW51bWVyYXRlLWRldmljZXMt
c291cmNlLWlkLWZyYW1lLmh0bWw/MyI+PC9pZnJhbWU+CiAgICAgICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgogICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiAgICAgPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vcmVzb3VyY2VzL2VudW1lcmF0ZS1k
ZXZpY2VzLXNvdXJjZS1pZC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zdHJlYW0vcmVzb3VyY2VzL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1mcmFt
ZS5odG1sCmluZGV4IGNiZWU4Yzk4ZGZjYmI5NzNhNDVlY2YxMTZkYTMwNjUzMjRhZTE0ZWQuLmYx
YzhjOTVhMjIxMjBjMzdlOTgxNTM3MjFjZDAwMzgwNzQyMzZkMWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9lbnVtZXJhdGUt
ZGV2aWNlcy1zb3VyY2UtaWQtZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXN0cmVhbS9yZXNvdXJjZXMvZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlk
LWZyYW1lLmh0bWwKQEAgLTEwLDM1ICsxMCwzMSBAQAogICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdChldmVudCkKKyAgICAgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHRlc3QoZXZlbnQpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkKLSAgICAgICAg
ICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oZGV2aWNlcykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyIHJlc3VsdCA9IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46
IGRvY3VtZW50Lm9yaWdpbiwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlSWRz
OiBbZGV2aWNlc1swXS5kZXZpY2VJZCwgZGV2aWNlc1sxXS5kZXZpY2VJZF0KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVlLCBhdWRpbzogdHJ1ZSB9KTsKKyAgICAgICAg
ICAgICAgICBsZXQgZGV2aWNlcyA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVy
YXRlRGV2aWNlcygpOworICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB7CisgICAgICAgICAg
ICAgICAgICAgIG9yaWdpbjogZG9jdW1lbnQub3JpZ2luLCAKKyAgICAgICAgICAgICAgICAgICAg
ZGV2aWNlczogZGV2aWNlcy5tYXAoZGV2aWNlID0+IHsgcmV0dXJuIHtkZXZpY2VJZDogZGV2aWNl
LmRldmljZUlkLCBraW5kOiBkZXZpY2Uua2luZH0gfSksCisgICAgICAgICAgICAgICAgfTsKIAot
ICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKHJlc3VsdCwgIioiKTsK
LSAgICAgICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGZ1bmN0
aW9uKGVycikgewotICAgICAgICAgICAgICAgICAgICAgICAgbG9nKGBlbnVtZXJhdGVEZXZpY2Vz
IGZhaWxlZDogJHtlcnIubmFtZX0gLSAke2Vyci5tZXNzYWdlfWApOwotICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICBwYXJlbnQucG9zdE1lc3NhZ2UocmVzdWx0LCAiKiIp
OwogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIHZhciBwYXJlbnRQYWdlID0gZG9j
dW1lbnQucmVmZXJyZXIuc3BsaXQoJy8nKS5wb3AoKTsKKyAgICAgICAgICAgICAgICBsZXQgcGFy
ZW50UGFnZSA9IGRvY3VtZW50LnJlZmVycmVyLnNwbGl0KCcvJykucG9wKCk7CiAgICAgICAgICAg
ICAgICAgaWYgKHBhcmVudFBhZ2UgIT0gImVudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC5odG1s
IikKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICAgICAgdmFyIGlm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgICAgICAgICAg
IGxldCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKICAgICAgICAg
ICAgICAgICBpZnJhbWUuc3JjID0gbG9jYXRpb24uaHJlZjsKICAgICAgICAgICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIAogICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHZhciByZXN1bHQgPSB7Ci0gICAgICAgICAgICAgICAgICAgIG9yaWdpbjogYCR7ZXZlbnQu
ZGF0YS5vcmlnaW59IGluICR7ZG9jdW1lbnQub3JpZ2lufWAsIAotICAgICAgICAgICAgICAgICAg
ICBkZXZpY2VJZHM6IGV2ZW50LmRhdGEuZGV2aWNlSWRzCisgICAgICAgICAgICAgICAgbGV0IHJl
c3VsdCA9IHsKKyAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiBgJHtldmVudC5kYXRhLm9yaWdp
bn1gLCAKKyAgICAgICAgICAgICAgICAgICAgZGV2aWNlczogZXZlbnQuZGF0YS5kZXZpY2VzCiAg
ICAgICAgICAgICAgICAgfTsKIAogICAgICAgICAgICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShy
ZXN1bHQsICIqIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>