<?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>163202</bug_id>
          
          <creation_ts>2016-10-10 02:09:59 -0700</creation_ts>
          <short_desc>WebRTC: Make MediaEndpointPeerConnection handle remotely assigned mids correctly</short_desc>
          <delta_ts>2016-10-10 23:41:54 -0700</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>
          
          <blocked>143211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1238248</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-10-10 02:09:59 -0700</bug_when>
    <thetext>An RTCRtpTransceiver has a null mid until it&apos;s been associated with a media description (with a mid) [1]. During that time, it&apos;s identified by a provisional mid that might become its real mid, but the transceiver can also get its mid assigned by a remote media description. In the second case, the mid value is initially unknown. A transceiver&apos;s RTCRtpSender must directly (synchronously in the script) provide a muted remote source that is playable by, for example, media element. This source is initially registered in the MediaEndpoint (WebRTC backend) with the transceiver&apos;s provisional mid. So, if the real mid is set by a remote description, the registered mid must be updated to preserve the association between the registered source and the transceiver.

[1] https://w3c.github.io/webrtc-pc/archives/20160913/webrtc.html#dom-rtcrtptransceiver-mid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238250</commentid>
    <comment_count>1</comment_count>
      <attachid>291082</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-10-10 02:45:47 -0700</bug_when>
    <thetext>Created attachment 291082
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238260</commentid>
    <comment_count>2</comment_count>
      <attachid>291082</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-10-10 03:40:46 -0700</bug_when>
    <thetext>Comment on attachment 291082
Proposed patch

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

&gt; LayoutTests/fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html:10
&gt; +            let offer;

offer seems unused. Will remove in next iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238265</commentid>
    <comment_count>3</comment_count>
      <attachid>291087</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-10-10 04:55:03 -0700</bug_when>
    <thetext>Created attachment 291087
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238752</commentid>
    <comment_count>4</comment_count>
      <attachid>291087</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2016-10-10 23:19:05 -0700</bug_when>
    <thetext>Comment on attachment 291087
Updated patch

Thanks Eric</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238765</commentid>
    <comment_count>5</comment_count>
      <attachid>291087</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-10 23:41:50 -0700</bug_when>
    <thetext>Comment on attachment 291087
Updated patch

Clearing flags on attachment: 291087

Committed r207052: &lt;http://trac.webkit.org/changeset/207052&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238766</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-10 23:41:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291082</attachid>
            <date>2016-10-10 02:45:47 -0700</date>
            <delta_ts>2016-10-10 04:55:03 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>remotely-assiged-mid_0.patch</filename>
            <type>text/plain</type>
            <size>19267</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxOWNhNDIxLi45M2Q1ZGY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMTAt
MTAgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPiBhbmQgQWxl
amFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgorCisgICAgICAgIFdlYlJUQzogTWFr
ZSBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24gaGFuZGxlIHJlbW90ZWx5IGFzc2lnbmVkIG1p
ZHMgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjMyMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0IHRoZSBjYXNlIHdoZW4gYW4gUlRDUnRwVHJhbnNjZWl2ZXIgZ2V0cyBpdHMgbWlk
IGFzc2lnbmVkIGZyb20gYSByZW1vdGUgc2Vzc2lvbgorICAgICAgICBkZXNjcmlwdGlvbi4KKwor
ICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlbHktYXNz
aWduZWQtdHJhbnNjZWl2ZXItbWlkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVseS1hc3NpZ25lZC10cmFuc2Nl
aXZlci1taWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgIFNraXAgYWJvdmUgdGVzdCB1bnRpbCB0aGUgTWFjIHBvcnQgYnVpbGRz
IHdpdGggV0VCX1JUQy4KKwogMjAxNi0xMC0wOSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56
YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWlzY2VsbGFuZW91cyB1bnJldmlld2Vk
IHRlc3QgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQyNzBmYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlbHktYXNz
aWduZWQtdHJhbnNjZWl2ZXItbWlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0
IHRoZSBjYXNlIHdoZXJlIGFuIFJUQ1J0cFRyYW5zY2VpdmVyIGdldHMgYSByZW1vdGVseSBhc3Np
Z25lZCBtaWQgYW5kIGFsc28gdW5tdXRlIHRoZSBhc3NvY2lhdGVkIHNvdXJjZQorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworcGNBLmFkZFRyYWNrKHN0cmVhbS5nZXRBdWRpb1RyYWNr
cygpWzBdLCBzdHJlYW0pCitBJ3MgdHJhbnNjZWl2ZXIgaXMgbm90IHlldCBhc3NvY2lhdGVkIHdp
dGggYSBtZWRpYSBkZXNjcmlwdGlvbiBhbmQgc2hvdWxkIGhhdmUgYSBudWxsIG1pZAorUEFTUyBw
Y0EuZ2V0VHJhbnNjZWl2ZXJzKClbMF0ubWlkIGlzIG51bGwKK0E6IGxvY2FsIG9mZmVyIHNldCAo
bWlkIGdldHMgZGVmaW5lZCkKK21pZEFzc2lnbmVkQnlBID0gcGNBLmdldFRyYW5zY2VpdmVycygp
WzBdLm1pZAorUEFTUyBtaWRBc3NpZ25lZEJ5QSAhPT0gbnVsbCBpcyB0cnVlCitwY0IuYWRkVHJh
Y2soc3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0sIHN0cmVhbSkKK0IncyB0cmFuc2NlaXZlciBp
cyBub3QgeWV0IGFzc29jaWF0ZWQgd2l0aCBhIG1lZGlhIGRlc2NyaXB0aW9uIGFuZCBzaG91bGQg
aGF2ZSBhIG51bGwgbWlkCitQQVNTIHBjQi5nZXRUcmFuc2NlaXZlcnMoKVswXS5taWQgaXMgbnVs
bAorUEFTUyBCOiBnb3QgcmVtb3RlIHRyYWNrIGV2ZW50CitQQVNTIGV2ZW50LnRyYWNrIGlzIGFu
IGluc3RhbmNlIG9mIE1lZGlhU3RyZWFtVHJhY2sKK0I6IHJlbW90ZSBvZmZlciBzZXQgKG1pZCBn
ZXRzIGRlZmluZWQpCitCJ3MgdHJhbnNjZWl2ZXIgc2hvdWxkIGdldCBpdHMgbWlkIGZyb20gdGhl
IHJlbW90ZSBzaWRlIChBKQorUEFTUyBwY0IuZ2V0VHJhbnNjZWl2ZXJzKClbMF0ubWlkIGlzIG1p
ZEFzc2lnbmVkQnlBCitQQVNTIEE6IGdvdCByZW1vdGUgdHJhY2sgZXZlbnQKK1BBU1MgT2ZmZXIv
YW5zd2VyIGRpYWxvZyBjb21wbGV0ZWQKK1BBU1MgQjogcmVtb3RlIHRyYWNrIHVubXV0ZSBldmVu
dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
cmVtb3RlbHktYXNzaWduZWQtdHJhbnNjZWl2ZXItbWlkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2Vp
dmVyLW1pZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMDZlMzcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC5odG1sCkBAIC0wLDAg
KzEsOTcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wcm9taXNlLXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBsZXQgc3RyZWFtOworICAgICAgICAgICAgbGV0
IG9mZmVyOworICAgICAgICAgICAgbGV0IG1pZEFzc2lnbmVkQnlBOworICAgICAgICAgICAgbGV0
IGV2ZW50OworCisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdCB0aGUgY2FzZSB3aGVyZSBh
biBSVENSdHBUcmFuc2NlaXZlciBnZXRzIGEgcmVtb3RlbHkgYXNzaWduZWQgbWlkIGFuZCBhbHNv
IHVubXV0ZSB0aGUgYXNzb2NpYXRlZCBzb3VyY2UiKTsKKworICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlck1lZGlhUGVy
bWlzc2lvbih0cnVlKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGRlYnVn
KCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgdGVzdFJ1bm5lciIpOworICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBjb25zdCBwY0EgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W3t1
cmxzOidzdHVuOmZvby5jb20nfV19KTsKKyAgICAgICAgICAgIGNvbnN0IHBjQiA9IG5ldyB3ZWJr
aXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbe3VybHM6J3N0dW46Zm9vLmNvbSd9XX0p
OworCisgICAgICAgICAgICBwY0Eub250cmFjayA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJBOiBnb3QgcmVtb3RlIHRyYWNrIGV2ZW50Iik7CisgICAgICAg
ICAgICB9OworCisgICAgICAgICAgICBwY0Iub250cmFjayA9IGZ1bmN0aW9uIChlKSB7CisgICAg
ICAgICAgICAgICAgZXZlbnQgPSBlOworCisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQjog
Z290IHJlbW90ZSB0cmFjayBldmVudCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlVHlwZSgi
ZXZlbnQudHJhY2siLCAiTWVkaWFTdHJlYW1UcmFjayIpOworCisgICAgICAgICAgICAgICAgZXZl
bnQudHJhY2sub251bm11dGUgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoIkI6IHJlbW90ZSB0cmFjayB1bm11dGUgZXZlbnQiKTsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIH07
CisKKyAgICAgICAgICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgImF1
ZGlvIjogdHJ1ZSB9KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHMpIHsKKyAgICAgICAg
ICAgICAgICBzdHJlYW0gPSBzOworCisgICAgICAgICAgICAgICAgZXZhbEFuZExvZygicGNBLmFk
ZFRyYWNrKHN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdLCBzdHJlYW0pIik7CisgICAgICAgICAg
ICAgICAgZGVidWcoIkEncyB0cmFuc2NlaXZlciBpcyBub3QgeWV0IGFzc29jaWF0ZWQgd2l0aCBh
IG1lZGlhIGRlc2NyaXB0aW9uIGFuZCBzaG91bGQgaGF2ZSBhIG51bGwgbWlkIik7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmVOdWxsKCJwY0EuZ2V0VHJhbnNjZWl2ZXJzKClbMF0ubWlkIik7CisK
KyAgICAgICAgICAgICAgICByZXR1cm4gcGNBLmNyZWF0ZU9mZmVyKCk7CisgICAgICAgICAgICB9
KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKG9mZmVyKSB7CisgICAgICAgICAgICAgICAg
cmV0dXJuIHBjQS5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKTsKKyAgICAgICAgICAgIH0pCisg
ICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgZGVidWcoIkE6
IGxvY2FsIG9mZmVyIHNldCAobWlkIGdldHMgZGVmaW5lZCkiKTsKKworICAgICAgICAgICAgICAg
IGV2YWxBbmRMb2coIm1pZEFzc2lnbmVkQnlBID0gcGNBLmdldFRyYW5zY2VpdmVycygpWzBdLm1p
ZCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibWlkQXNzaWduZWRCeUEgIT09IG51
bGwiKTsKKworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coInBjQi5hZGRUcmFjayhzdHJlYW0u
Z2V0QXVkaW9UcmFja3MoKVswXSwgc3RyZWFtKSIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJC
J3MgdHJhbnNjZWl2ZXIgaXMgbm90IHlldCBhc3NvY2lhdGVkIHdpdGggYSBtZWRpYSBkZXNjcmlw
dGlvbiBhbmQgc2hvdWxkIGhhdmUgYSBudWxsIG1pZCIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlTnVsbCgicGNCLmdldFRyYW5zY2VpdmVycygpWzBdLm1pZCIpOworCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHBjQi5zZXRSZW1vdGVEZXNjcmlwdGlvbihwY0EubG9jYWxEZXNjcmlwdGlvbik7
CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgICAgIGRlYnVnKCJCOiByZW1vdGUgb2ZmZXIgc2V0IChtaWQgZ2V0cyBkZWZpbmVkKSIp
OworCisgICAgICAgICAgICAgICAgZGVidWcoIkIncyB0cmFuc2NlaXZlciBzaG91bGQgZ2V0IGl0
cyBtaWQgZnJvbSB0aGUgcmVtb3RlIHNpZGUgKEEpIik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoInBjQi5nZXRUcmFuc2NlaXZlcnMoKVswXS5taWQiLCAibWlkQXNzaWduZWRCeUEiKTsKKwor
ICAgICAgICAgICAgICAgIHJldHVybiBwY0IuY3JlYXRlQW5zd2VyKCk7CisgICAgICAgICAgICB9
KQorICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGFuc3dlcikgeworICAgICAgICAgICAgICAg
IHJldHVybiBwY0Iuc2V0TG9jYWxEZXNjcmlwdGlvbihhbnN3ZXIpOworICAgICAgICAgICAgfSkK
KyAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
cGNBLnNldFJlbW90ZURlc2NyaXB0aW9uKHBjQi5sb2NhbERlc2NyaXB0aW9uKTsKKyAgICAgICAg
ICAgIH0pCisgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiT2ZmZXIvYW5zd2VyIGRpYWxvZyBjb21wbGV0ZWQiKQorCisgICAgICAgICAg
ICAgICAgd2luZG93LmludGVybmFscy5lbXVsYXRlUlRDUGVlckNvbm5lY3Rpb25QbGF0Zm9ybUV2
ZW50KHBjQiwgInVubXV0ZS1yZW1vdGUtc291cmNlcy1ieS1taWQiKTsKKyAgICAgICAgICAgIH0p
CisgICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiRXJyb3IgaW4gcHJvbWlzZSBjaGFpbjogIiArIGVycm9yKTsKKyAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZDNlNDU2NC4uOGYxYjY0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTIwOCw2ICsyMDgsNyBAQCBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLW1lZGlhLXNldHVwLWNhbGxiYWNrcy1zaW5nbGUtZGlhbG9nLmh0bWwKIGZhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tbGVnYWN5LXN0cmVhbS1iYXNlZC1hcGkuaHRtbAog
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pY2VjYW5kaWRhdGUtZXZlbnQuaHRt
bAogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pY2Vjb25uZWN0aW9uc3RhdGVj
aGFuZ2UtZXZlbnQuaHRtbAorZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1v
dGVseS1hc3NpZ25lZC10cmFuc2NlaXZlci1taWQuaHRtbAogCiAjIEFzc2VydHMgaW4gZGVidWcu
CiBbIERlYnVnIF0gZmFzdC9pbWFnZXMvbGFyZ2Utc2l6ZS1pbWFnZS1jcmFzaC5odG1sIFsgU2tp
cCBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMDRiN2Q1NS4uYWI1OWQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ4IEBACisyMDE2LTEwLTEwICBBZGFtIEJlcmdrdmlzdCAgPGFkYW0uYmVyZ2t2aXN0QGVyaWNz
c29uLmNvbT4gYW5kIEFsZWphbmRybyBHLiBDYXN0cm8gPGFsZXhAaWdhbGlhLmNvbT4KKworICAg
ICAgICBXZWJSVEM6IE1ha2UgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uIGhhbmRsZSByZW1v
dGVseSBhc3NpZ25lZCBtaWRzIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzMjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQW4gUlRDUnRwVHJhbnNjZWl2ZXIgaGFzIGEgbnVsbCBtaWQg
dW50aWwgaXQncyBiZWVuIGFzc29jaWF0ZWQgd2l0aCBhCisgICAgICAgIG1lZGlhIGRlc2NyaXB0
aW9uICh3aXRoIGEgbWlkKSBbMV0uIER1cmluZyB0aGF0IHRpbWUsIGl0J3MgaWRlbnRpZmllZCBi
eQorICAgICAgICBhIHByb3Zpc2lvbmFsIG1pZCB0aGF0IG1pZ2h0IGJlY29tZSBpdHMgcmVhbCBt
aWQsIGJ1dCB0aGUgdHJhbnNjZWl2ZXIKKyAgICAgICAgY2FuIGFsc28gZ2V0IGl0cyBtaWQgYXNz
aWduZWQgYnkgYSByZW1vdGUgbWVkaWEgZGVzY3JpcHRpb24uIEluIHRoZQorICAgICAgICBzZWNv
bmQgY2FzZSwgdGhlIG1pZCB2YWx1ZSBpcyBpbml0aWFsbHkgdW5rbm93bi4gQSB0cmFuc2NlaXZl
cidzCisgICAgICAgIFJUQ1J0cFNlbmRlciBtdXN0IGRpcmVjdGx5IChzeW5jaHJvbm91c2x5IGlu
IHRoZSBzY3JpcHQpIHByb3ZpZGUgYSBtdXRlZAorICAgICAgICByZW1vdGUgc291cmNlIHRoYXQg
aXMgcGxheWFibGUgYnksIGZvciBleGFtcGxlLCBhIG1lZGlhIGVsZW1lbnQuIFRoaXMKKyAgICAg
ICAgc291cmNlIGlzIGluaXRpYWxseSByZWdpc3RlcmVkIGluIHRoZSBNZWRpYUVuZHBvaW50IChX
ZWJSVEMgYmFja2VuZCkKKyAgICAgICAgd2l0aCB0aGUgdHJhbnNjZWl2ZXIncyBwcm92aXNpb25h
bCBtaWQuIFNvLCBpZiB0aGUgcmVhbCBtaWQgaXMgc2V0IGJ5IGEKKyAgICAgICAgcmVtb3RlIGRl
c2NyaXB0aW9uLCB0aGUgcmVnaXN0ZXJlZCBtaWQgbXVzdCBiZSB1cGRhdGVkIHRvIHByZXNlcnZl
IHRoZQorICAgICAgICBhc3NvY2lhdGlvbiBiZXR3ZWVuIHRoZSByZWdpc3RlcmVkIHNvdXJjZSBh
bmQgdGhlIHRyYW5zY2VpdmVyLgorCisgICAgICAgIFsxXSBodHRwczovL3czYy5naXRodWIuaW8v
d2VicnRjLXBjL2FyY2hpdmVzLzIwMTYwOTEzL3dlYnJ0Yy5odG1sI2RvbS1ydGNydHB0cmFuc2Nl
aXZlci1taWQKKworICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC5odG1sCisKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIERvbid0IGJyZWFrIGFmdGVyIGZpbmRpbmcgdGhlIGZpcnN0IHRyYW5zY2VpdmVyIGluIHRo
ZSBsb29wIHRoYXQgYnVpbGRzIHRoZSBzZW5kIHNvdXJjZSBtYXAuCisgICAgICAgIFVwZGF0ZSB0
aGUgbWlkIHVzZWQgdG8gcmVnaXN0ZXIgdGhlIG11dGVkIHJlbW90ZSBzb3VyY2UgaWYgdGhlIGEg
dHJhbnNjZWl2ZXIncyBtaWQgZ2V0cworICAgICAgICBhc3NpZ25lZCBieSBhIHJlbW90ZSBtZWRp
YSBkZXNjcmlwdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVNvdXJjZU1hcCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnNldFJlbW90ZURlc2Ny
aXB0aW9uVGFzayk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2lu
dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6Ok1vY2tNZWRpYUVuZHBvaW50KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojp1cGRhdGVSZWNlaXZlQ29uZmlndXJhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dXBkYXRlU2VuZENvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmNyZWF0ZU11dGVk
UmVtb3RlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50OjpyZXBs
YWNlTXV0ZWRSZW1vdGVTb3VyY2VNaWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5k
cG9pbnQ6OmVtdWxhdGVQbGF0Zm9ybUV2ZW50KToKKyAgICAgICAgQWRkICJ1bm11dGUtcmVtb3Rl
LXNvdXJjZXMtYnktbWlkIiBhY3Rpb24gdGhhdCBlbXVsYXRlcyBkYXRhIGFycml2aW5nIG9uIG1l
ZGlhIGRlc2NyaXB0aW9ucworICAgICAgICB3aGljaCB1bm11dGVzIHRoZSByZW1vdGUgc291cmNl
cy4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojp1cGRhdGVDb25maWd1cmF0
aW9uTWlkcyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVt
b3RlU291cmNlc0J5TWlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojp1
bm11dGVUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBv
aW50Lmg6CisKIDIwMTYtMTAtMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIFByb21pc2UgYXR0cmlidXRlIGdldHRlcnMgc2hvdWxkIHJlamVjdCBwcm9taXNl
cyBpbiBjYXNlIG9mIGNhc3RlZC10aGlzIGVycm9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IDQxMDExZTUuLjVhZTRlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVy
Q29ubmVjdGlvbi5jcHAKQEAgLTMwMyw3ICszMDMsNiBAQCBzdGF0aWMgUmVhbHRpbWVNZWRpYVNv
dXJjZU1hcCBjcmVhdGVTb3VyY2VNYXAoY29uc3QgTWVkaWFEZXNjcmlwdGlvblZlY3RvciYgcmVt
bwogICAgICAgICBpZiAodHJhbnNjZWl2ZXIpIHsKICAgICAgICAgICAgIGlmICh0cmFuc2NlaXZl
ci0+aGFzU2VuZGluZ0RpcmVjdGlvbigpICYmIHRyYW5zY2VpdmVyLT5zZW5kZXIoKS0+dHJhY2so
KSkKICAgICAgICAgICAgICAgICBzb3VyY2VNYXAuc2V0KHRyYW5zY2VpdmVyLT5taWQoKSwgJnRy
YW5zY2VpdmVyLT5zZW5kZXIoKS0+dHJhY2soKS0+c291cmNlKCkpOwotICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTUwMCw5ICs0OTksMTIgQEAgdm9pZCBNZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb246OnNldFJlbW90ZURlc2NyaXB0aW9uVGFzayhSZWZQdHI8UlRD
U2Vzc2lvbkRlc2MKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFjdXJyZW50LnN0b3BwZWQo
KSAmJiBjdXJyZW50Lm1pZCgpLmlzTnVsbCgpICYmIGN1cnJlbnQuc2VuZGVyKCktPnRyYWNrS2lu
ZCgpID09IG1lZGlhRGVzY3JpcHRpb24tPnR5cGUoKTsKICAgICAgICAgICAgICAgICB9KTsKIAot
ICAgICAgICAgICAgICAgIGlmICh0cmFuc2NlaXZlcikKKyAgICAgICAgICAgICAgICBpZiAodHJh
bnNjZWl2ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyB0cmFuc2NlaXZlciB3YXMg
Y3JlYXRlZCBsb2NhbGx5IHdpdGggYSBwcm92aXNpb25hbCBtaWQuIEl0cyByZWFsIG1pZCB3aWxs
IG5vdyBiZSBzZXQgYnkgdGhlIHJlbW90ZQorICAgICAgICAgICAgICAgICAgICAvLyBkZXNjcmlw
dGlvbiBzbyB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgbWlkIG9mIHRoZSB0cmFuc2NlaXZlcidzIG11
dGVkIHNvdXJjZSB0byBwcmVzZXJ2ZSB0aGUgYXNzb2NpYXRpb24uCiAgICAgICAgICAgICAgICAg
ICAgIHRyYW5zY2VpdmVyLT5zZXRNaWQobWVkaWFEZXNjcmlwdGlvbi0+bWlkKCkpOwotICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbV9tZWRpYUVuZHBvaW50LT5yZXBs
YWNlTXV0ZWRSZW1vdGVTb3VyY2VNaWQodHJhbnNjZWl2ZXItPnByb3Zpc2lvbmFsTWlkKCksIG1l
ZGlhRGVzY3JpcHRpb24tPm1pZCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICAgICAgcmVjZWl2ZU9ubHlGbGFnID0gdHJ1ZTsKICAgICAgICAgICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2lu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50
LmNwcAppbmRleCAzZDM3ZmNkLi5jZGFmYzQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5jcHAKQEAgLTcxLDYgKzcxLDcg
QEAgcHVibGljOgogCiAgICAgUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGNyZWF0ZU11dGVkUmVt
b3RlU291cmNlKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUpIG92ZXJy
aWRlIHsgcmV0dXJuIEVtcHR5UmVhbHRpbWVNZWRpYVNvdXJjZTo6Y3JlYXRlKCk7IH0KICAgICB2
b2lkIHJlcGxhY2VTZW5kU291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2UmLCBjb25zdCBTdHJpbmcm
KSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIHJlcGxhY2VNdXRlZFJlbW90ZVNvdXJjZU1pZChjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZSB7IH07CiAKICAgICB2b2lkIHN0b3Ao
KSBvdmVycmlkZSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYUVuZHBvaW50LmgKaW5kZXggZDhkNTdjYS4uZGY0MjU1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnQuaApA
QCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFJlZjxSZWFsdGltZU1lZGlh
U291cmNlPiBjcmVhdGVNdXRlZFJlbW90ZVNvdXJjZShjb25zdCBTdHJpbmcmIG1pZCwgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlU2VuZFNv
dXJjZShSZWFsdGltZU1lZGlhU291cmNlJiwgY29uc3QgU3RyaW5nJiBtaWQpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVwbGFjZU11dGVkUmVtb3RlU291cmNlTWlkKGNvbnN0IFN0cmluZyYgb2xk
TWlkLCBjb25zdCBTdHJpbmcmIG5ld01pZCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHN0b3Ao
KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01l
ZGlhRW5kcG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFF
bmRwb2ludC5jcHAKaW5kZXggYWUxOGRkMS4uNTdlZDRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKQEAgLTM3LDYgKzM3LDcg
QEAKICNpbmNsdWRlICJNZWRpYVBheWxvYWQuaCIKICNpbmNsdWRlICJNb2NrUmVhbHRpbWVBdWRp
b1NvdXJjZS5oIgogI2luY2x1ZGUgIk1vY2tSZWFsdGltZVZpZGVvU291cmNlLmgiCisjaW5jbHVk
ZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUzLDYgKzU0LDcgQEAgTW9ja01lZGlhRW5kcG9pbnQ6
Ok1vY2tNZWRpYUVuZHBvaW50KE1lZGlhRW5kcG9pbnRDbGllbnQmIGNsaWVudCkKICAgICA6IG1f
Y2xpZW50KGNsaWVudCkKICAgICAsIG1faWNlQ2FuZGlkYXRlVGltZXIoKnRoaXMsICZNb2NrTWVk
aWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCkKICAgICAsIG1faWNlVHJhbnNwb3J0
VGltZXIoKnRoaXMsICZNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCkK
KyAgICAsIG1fdW5tdXRlVGltZXIoKnRoaXMsICZNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGlt
ZXJGaXJlZCkKIHsKIH0KIApAQCAtMTYzLDIwICsxNjUsMTYgQEAgTWVkaWFFbmRwb2ludDo6VXBk
YXRlUmVzdWx0IE1vY2tNZWRpYUVuZHBvaW50Ojp1cGRhdGVSZWNlaXZlQ29uZmlndXJhdGlvbihN
ZWRpYUUKIHsKICAgICBVTlVTRURfUEFSQU0oaXNJbml0aWF0b3IpOwogCi0gICAgVmVjdG9yPFN0
cmluZz4gbWlkczsKLSAgICBmb3IgKGNvbnN0IFJlZlB0cjxQZWVyTWVkaWFEZXNjcmlwdGlvbj4m
IG1lZGlhRGVzY3JpcHRpb24gOiBjb25maWd1cmF0aW9uLT5tZWRpYURlc2NyaXB0aW9ucygpKQot
ICAgICAgICBtaWRzLmFwcGVuZChtZWRpYURlc2NyaXB0aW9uLT5taWQoKSk7Ci0gICAgbV9taWRz
LnN3YXAobWlkcyk7Ci0KKyAgICB1cGRhdGVDb25maWd1cmF0aW9uTWlkcygqY29uZmlndXJhdGlv
bik7CiAgICAgcmV0dXJuIFVwZGF0ZVJlc3VsdDo6U3VjY2VzczsKIH0KIAogTWVkaWFFbmRwb2lu
dDo6VXBkYXRlUmVzdWx0IE1vY2tNZWRpYUVuZHBvaW50Ojp1cGRhdGVTZW5kQ29uZmlndXJhdGlv
bihNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0
IFJlYWx0aW1lTWVkaWFTb3VyY2VNYXAmIHNlbmRTb3VyY2VNYXAsIGJvb2wgaXNJbml0aWF0b3Ip
CiB7Ci0gICAgVU5VU0VEX1BBUkFNKGNvbmZpZ3VyYXRpb24pOwogICAgIFVOVVNFRF9QQVJBTShz
ZW5kU291cmNlTWFwKTsKICAgICBVTlVTRURfUEFSQU0oaXNJbml0aWF0b3IpOwogCisgICAgdXBk
YXRlQ29uZmlndXJhdGlvbk1pZHMoKmNvbmZpZ3VyYXRpb24pOwogICAgIHJldHVybiBVcGRhdGVS
ZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAKQEAgLTE4OCwxMyArMTg2LDE5IEBAIHZvaWQgTW9ja01lZGlh
RW5kcG9pbnQ6OmFkZFJlbW90ZUNhbmRpZGF0ZShJY2VDYW5kaWRhdGUmIGNhbmRpZGF0ZSwgY29u
c3QgU3RyaW5nCiAgICAgVU5VU0VEX1BBUkFNKHBhc3N3b3JkKTsKIH0KIAotUmVmPFJlYWx0aW1l
TWVkaWFTb3VyY2U+IE1vY2tNZWRpYUVuZHBvaW50OjpjcmVhdGVNdXRlZFJlbW90ZVNvdXJjZShj
b25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCitSZWY8UmVhbHRp
bWVNZWRpYVNvdXJjZT4gTW9ja01lZGlhRW5kcG9pbnQ6OmNyZWF0ZU11dGVkUmVtb3RlU291cmNl
KGNvbnN0IFN0cmluZyYgbWlkLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiB7Ci0g
ICAgaWYgKHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6QXVkaW8pCi0gICAgICAgIHJldHVy
biBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6Y3JlYXRlTXV0ZWQoInJlbW90ZSBhdWRpbyIpOwor
ICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2U7CisKKyAgICBzd2l0Y2ggKHR5
cGUpIHsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvOiBzb3VyY2UgPSBNb2Nr
UmVhbHRpbWVBdWRpb1NvdXJjZTo6Y3JlYXRlTXV0ZWQoInJlbW90ZSBhdWRpbyIpOyBicmVhazsK
KyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvOiBzb3VyY2UgPSBNb2NrUmVhbHRp
bWVWaWRlb1NvdXJjZTo6Y3JlYXRlTXV0ZWQoInJlbW90ZSB2aWRlbyIpOyBicmVhazsKKyAgICBj
YXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6Ok5vbmU6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIH0KIAotICAgIEFTU0VSVCh0eXBlID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZp
ZGVvKTsKLSAgICByZXR1cm4gTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmNyZWF0ZU11dGVkKCJy
ZW1vdGUgdmlkZW8iKTsKKyAgICBtX211dGVkUmVtb3RlU291cmNlcy5zZXQobWlkLCBzb3VyY2Up
OworICAgIHJldHVybiAqc291cmNlOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpyZXBs
YWNlU2VuZFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlJiBuZXdTb3VyY2UsIGNvbnN0IFN0cmlu
ZyYgbWlkKQpAQCAtMjAzLDYgKzIwNywxMiBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpyZXBs
YWNlU2VuZFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlJiBuZXdTb3VyY2UsIGNvbnN0CiAgICAg
VU5VU0VEX1BBUkFNKG1pZCk7CiB9CiAKK3ZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnJlcGxhY2VN
dXRlZFJlbW90ZVNvdXJjZU1pZChjb25zdCBTdHJpbmcmIG9sZE1pZCwgY29uc3QgU3RyaW5nJiBu
ZXdNaWQpCit7CisgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHJlbW90ZVNvdXJjZSA9
IG1fbXV0ZWRSZW1vdGVTb3VyY2VzLnRha2Uob2xkTWlkKTsKKyAgICBtX211dGVkUmVtb3RlU291
cmNlcy5zZXQobmV3TWlkLCBXVEZNb3ZlKHJlbW90ZVNvdXJjZSkpOworfQorCiB2b2lkIE1vY2tN
ZWRpYUVuZHBvaW50OjpzdG9wKCkKIHsKIH0KQEAgLTIxMyw2ICsyMjMsMTYgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6ZW11bGF0ZVBsYXRmb3JtRXZlbnQoY29uc3QgU3RyaW5nJiBhY3Rpb24p
CiAgICAgICAgIGRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMoKTsKICAgICBlbHNlIGlmIChhY3Rp
b24gPT0gInN0ZXAtaWNlLXRyYW5zcG9ydC1zdGF0ZXMiKQogICAgICAgICBzdGVwSWNlVHJhbnNw
b3J0U3RhdGVzKCk7CisgICAgZWxzZSBpZiAoYWN0aW9uID09ICJ1bm11dGUtcmVtb3RlLXNvdXJj
ZXMtYnktbWlkIikKKyAgICAgICAgdW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKCk7Cit9CisKK3Zv
aWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVwZGF0ZUNvbmZpZ3VyYXRpb25NaWRzKGNvbnN0IE1lZGlh
RW5kcG9pbnRTZXNzaW9uQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICBWZWN0
b3I8U3RyaW5nPiBtaWRzOworICAgIGZvciAoY29uc3QgUmVmUHRyPFBlZXJNZWRpYURlc2NyaXB0
aW9uPiYgbWVkaWFEZXNjcmlwdGlvbiA6IGNvbmZpZ3VyYXRpb24ubWVkaWFEZXNjcmlwdGlvbnMo
KSkKKyAgICAgICAgbWlkcy5hcHBlbmQobWVkaWFEZXNjcmlwdGlvbi0+bWlkKCkpOworICAgIG1f
bWlkcy5zd2FwKG1pZHMpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpkaXNwYXRjaEZh
a2VJY2VDYW5kaWRhdGVzKCkKQEAgLTMxNiw2ICszMzYsMzEgQEAgdm9pZCBNb2NrTWVkaWFFbmRw
b2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCiAgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CiB9CiAKK3ZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90
ZVNvdXJjZXNCeU1pZCgpCit7CisgICAgaWYgKG1fbWlkcy5pc0VtcHR5KCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIC8vIExvb2tpbmcgdXAgZWFjaCBzb3VyY2UgYnkgaXRzIG1pZCwgaW5zdGVh
ZCBvZiBzaW1wbHkgaXRlcmF0aW5nIG92ZXIgdGhlIGxpc3Qgb2YgbXV0ZWQgc291cmNlcywKKyAg
ICAvLyBlbXVsYXRlcyByZW1vdGUgbWVkaWEgYXJyaXZpbmcgb24gYSBtZWRpYSBkZXNjcmlwdGlv
biB3aXRoIGEgc3BlY2lmaWMgbWlkIChSVENSdHBUcmFuc2NlaXZlcikuCisKKyAgICAvLyBDb3B5
IHZhbHVlcyBpbiByZXZlcnNlIG9yZGVyIHRvIG1haW50YWluIHRoZSBvcmlnaW5hbCBvcmRlciB3
aGlsZSB1c2luZyB0YWtlTGFzdCgpCisgICAgZm9yIChpbnQgaSA9IG1fbWlkcy5zaXplKCkgLSAx
OyBpID49IDA7IC0taSkKKyAgICAgICAgbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuYXBwZW5kKG1f
bWlkc1tpXSk7CisKKyAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwordm9p
ZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCgpCit7CisgICAgUmVmUHRyPFJl
YWx0aW1lTWVkaWFTb3VyY2U+IHNvdXJjZSA9IG1fbXV0ZWRSZW1vdGVTb3VyY2VzLmdldChtX21p
ZHNPZlNvdXJjZXNUb1VubXV0ZS50YWtlTGFzdCgpKTsKKyAgICBpZiAoc291cmNlKQorICAgICAg
ICBzb3VyY2UtPnNldE11dGVkKGZhbHNlKTsKKworICAgIGlmICghbV9taWRzT2ZTb3VyY2VzVG9V
bm11dGUuaXNFbXB0eSgpKQorICAgICAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBv
aW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmgK
aW5kZXggZmFmOTFmOC4uMTAxMzQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuaApAQCAtNTksMjYgKzU5LDM2IEBAIHB1YmxpYzoKIAog
ICAgIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBjcmVhdGVNdXRlZFJlbW90ZVNvdXJjZShjb25z
dCBTdHJpbmcmIG1pZCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSkgb3ZlcnJpZGU7CiAgICAg
dm9pZCByZXBsYWNlU2VuZFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlJiwgY29uc3QgU3RyaW5n
JiBtaWQpIG92ZXJyaWRlOworICAgIHZvaWQgcmVwbGFjZU11dGVkUmVtb3RlU291cmNlTWlkKGNv
bnN0IFN0cmluZyYgb2xkTWlkLCBjb25zdCBTdHJpbmcmIG5ld01pZCkgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgZW11bGF0ZVBsYXRmb3JtRXZlbnQo
Y29uc3QgU3RyaW5nJiBhY3Rpb24pIG92ZXJyaWRlOwogCiBwcml2YXRlOgorICAgIHZvaWQgdXBk
YXRlQ29uZmlndXJhdGlvbk1pZHMoY29uc3QgTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0
aW9uJik7CisKICAgICB2b2lkIGRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMoKTsKICAgICB2b2lk
IGljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKTsKIAogICAgIHZvaWQgc3RlcEljZVRyYW5zcG9ydFN0
YXRlcygpOwogICAgIHZvaWQgaWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpOwogCisgICAgdm9pZCB1
bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKTsKKyAgICB2b2lkIHVubXV0ZVRpbWVyRmlyZWQoKTsK
KwogICAgIE1lZGlhRW5kcG9pbnRDbGllbnQmIG1fY2xpZW50OwogICAgIFZlY3RvcjxTdHJpbmc+
IG1fbWlkczsKKyAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+
PiBtX211dGVkUmVtb3RlU291cmNlczsKIAogICAgIFZlY3RvcjxSZWZQdHI8SWNlQ2FuZGlkYXRl
Pj4gbV9mYWtlSWNlQ2FuZGlkYXRlczsKICAgICBUaW1lciBtX2ljZUNhbmRpZGF0ZVRpbWVyOwog
CiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIE1lZGlhRW5kcG9pbnQ6OkljZVRyYW5zcG9y
dFN0YXRlPj4gbV9pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZXM7CiAgICAgVGltZXIgbV9pY2VUcmFu
c3BvcnRUaW1lcjsKKworICAgIFZlY3RvcjxTdHJpbmc+IG1fbWlkc09mU291cmNlc1RvVW5tdXRl
OworICAgIFRpbWVyIG1fdW5tdXRlVGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291087</attachid>
            <date>2016-10-10 04:55:03 -0700</date>
            <delta_ts>2016-10-10 23:41:50 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>remotely-assiged-mid_1.patch</filename>
            <type>text/plain</type>
            <size>19243</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxOWNhNDIxLi45M2Q1ZGY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMTAt
MTAgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPiBhbmQgQWxl
amFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgorCisgICAgICAgIFdlYlJUQzogTWFr
ZSBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24gaGFuZGxlIHJlbW90ZWx5IGFzc2lnbmVkIG1p
ZHMgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjMyMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0IHRoZSBjYXNlIHdoZW4gYW4gUlRDUnRwVHJhbnNjZWl2ZXIgZ2V0cyBpdHMgbWlk
IGFzc2lnbmVkIGZyb20gYSByZW1vdGUgc2Vzc2lvbgorICAgICAgICBkZXNjcmlwdGlvbi4KKwor
ICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlbHktYXNz
aWduZWQtdHJhbnNjZWl2ZXItbWlkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVseS1hc3NpZ25lZC10cmFuc2Nl
aXZlci1taWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgIFNraXAgYWJvdmUgdGVzdCB1bnRpbCB0aGUgTWFjIHBvcnQgYnVpbGRz
IHdpdGggV0VCX1JUQy4KKwogMjAxNi0xMC0wOSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56
YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWlzY2VsbGFuZW91cyB1bnJldmlld2Vk
IHRlc3QgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQyNzBmYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlbHktYXNz
aWduZWQtdHJhbnNjZWl2ZXItbWlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0
IHRoZSBjYXNlIHdoZXJlIGFuIFJUQ1J0cFRyYW5zY2VpdmVyIGdldHMgYSByZW1vdGVseSBhc3Np
Z25lZCBtaWQgYW5kIGFsc28gdW5tdXRlIHRoZSBhc3NvY2lhdGVkIHNvdXJjZQorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworcGNBLmFkZFRyYWNrKHN0cmVhbS5nZXRBdWRpb1RyYWNr
cygpWzBdLCBzdHJlYW0pCitBJ3MgdHJhbnNjZWl2ZXIgaXMgbm90IHlldCBhc3NvY2lhdGVkIHdp
dGggYSBtZWRpYSBkZXNjcmlwdGlvbiBhbmQgc2hvdWxkIGhhdmUgYSBudWxsIG1pZAorUEFTUyBw
Y0EuZ2V0VHJhbnNjZWl2ZXJzKClbMF0ubWlkIGlzIG51bGwKK0E6IGxvY2FsIG9mZmVyIHNldCAo
bWlkIGdldHMgZGVmaW5lZCkKK21pZEFzc2lnbmVkQnlBID0gcGNBLmdldFRyYW5zY2VpdmVycygp
WzBdLm1pZAorUEFTUyBtaWRBc3NpZ25lZEJ5QSAhPT0gbnVsbCBpcyB0cnVlCitwY0IuYWRkVHJh
Y2soc3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0sIHN0cmVhbSkKK0IncyB0cmFuc2NlaXZlciBp
cyBub3QgeWV0IGFzc29jaWF0ZWQgd2l0aCBhIG1lZGlhIGRlc2NyaXB0aW9uIGFuZCBzaG91bGQg
aGF2ZSBhIG51bGwgbWlkCitQQVNTIHBjQi5nZXRUcmFuc2NlaXZlcnMoKVswXS5taWQgaXMgbnVs
bAorUEFTUyBCOiBnb3QgcmVtb3RlIHRyYWNrIGV2ZW50CitQQVNTIGV2ZW50LnRyYWNrIGlzIGFu
IGluc3RhbmNlIG9mIE1lZGlhU3RyZWFtVHJhY2sKK0I6IHJlbW90ZSBvZmZlciBzZXQgKG1pZCBn
ZXRzIGRlZmluZWQpCitCJ3MgdHJhbnNjZWl2ZXIgc2hvdWxkIGdldCBpdHMgbWlkIGZyb20gdGhl
IHJlbW90ZSBzaWRlIChBKQorUEFTUyBwY0IuZ2V0VHJhbnNjZWl2ZXJzKClbMF0ubWlkIGlzIG1p
ZEFzc2lnbmVkQnlBCitQQVNTIEE6IGdvdCByZW1vdGUgdHJhY2sgZXZlbnQKK1BBU1MgT2ZmZXIv
YW5zd2VyIGRpYWxvZyBjb21wbGV0ZWQKK1BBU1MgQjogcmVtb3RlIHRyYWNrIHVubXV0ZSBldmVu
dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
cmVtb3RlbHktYXNzaWduZWQtdHJhbnNjZWl2ZXItbWlkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2Vp
dmVyLW1pZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxMTdkMDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC5odG1sCkBAIC0wLDAg
KzEsOTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wcm9taXNlLXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBsZXQgc3RyZWFtOworICAgICAgICAgICAgbGV0
IG1pZEFzc2lnbmVkQnlBOworICAgICAgICAgICAgbGV0IGV2ZW50OworCisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVGVzdCB0aGUgY2FzZSB3aGVyZSBhbiBSVENSdHBUcmFuc2NlaXZlciBnZXRz
IGEgcmVtb3RlbHkgYXNzaWduZWQgbWlkIGFuZCBhbHNvIHVubXV0ZSB0aGUgYXNzb2NpYXRlZCBz
b3VyY2UiKTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlck1lZGlhUGVybWlzc2lvbih0cnVlKTsKKyAgICAgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGRlYnVnKCJUaGlzIHRlc3QgY2FuIG5vdCBiZSBy
dW4gd2l0aG91dCB0aGUgdGVzdFJ1bm5lciIpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdCBwY0EgPSBuZXcgd2Via2l0
UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W3t1cmxzOidzdHVuOmZvby5jb20nfV19KTsK
KyAgICAgICAgICAgIGNvbnN0IHBjQiA9IG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNl
U2VydmVyczpbe3VybHM6J3N0dW46Zm9vLmNvbSd9XX0pOworCisgICAgICAgICAgICBwY0Eub250
cmFjayA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJBOiBn
b3QgcmVtb3RlIHRyYWNrIGV2ZW50Iik7CisgICAgICAgICAgICB9OworCisgICAgICAgICAgICBw
Y0Iub250cmFjayA9IGZ1bmN0aW9uIChlKSB7CisgICAgICAgICAgICAgICAgZXZlbnQgPSBlOwor
CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQjogZ290IHJlbW90ZSB0cmFjayBldmVudCIp
OworICAgICAgICAgICAgICAgIHNob3VsZEJlVHlwZSgiZXZlbnQudHJhY2siLCAiTWVkaWFTdHJl
YW1UcmFjayIpOworCisgICAgICAgICAgICAgICAgZXZlbnQudHJhY2sub251bm11dGUgPSBmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkI6IHJlbW90ZSB0cmFj
ayB1bm11dGUgZXZlbnQiKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIG5hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgImF1ZGlvIjogdHJ1ZSB9KQorICAgICAgICAg
ICAgLnRoZW4oZnVuY3Rpb24gKHMpIHsKKyAgICAgICAgICAgICAgICBzdHJlYW0gPSBzOworCisg
ICAgICAgICAgICAgICAgZXZhbEFuZExvZygicGNBLmFkZFRyYWNrKHN0cmVhbS5nZXRBdWRpb1Ry
YWNrcygpWzBdLCBzdHJlYW0pIik7CisgICAgICAgICAgICAgICAgZGVidWcoIkEncyB0cmFuc2Nl
aXZlciBpcyBub3QgeWV0IGFzc29jaWF0ZWQgd2l0aCBhIG1lZGlhIGRlc2NyaXB0aW9uIGFuZCBz
aG91bGQgaGF2ZSBhIG51bGwgbWlkIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJw
Y0EuZ2V0VHJhbnNjZWl2ZXJzKClbMF0ubWlkIik7CisKKyAgICAgICAgICAgICAgICByZXR1cm4g
cGNBLmNyZWF0ZU9mZmVyKCk7CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4oZnVu
Y3Rpb24gKG9mZmVyKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBjQS5zZXRMb2NhbERlc2Ny
aXB0aW9uKG9mZmVyKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbihmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICAgICAgZGVidWcoIkE6IGxvY2FsIG9mZmVyIHNldCAobWlkIGdl
dHMgZGVmaW5lZCkiKTsKKworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coIm1pZEFzc2lnbmVk
QnlBID0gcGNBLmdldFRyYW5zY2VpdmVycygpWzBdLm1pZCIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgibWlkQXNzaWduZWRCeUEgIT09IG51bGwiKTsKKworICAgICAgICAgICAgICAg
IGV2YWxBbmRMb2coInBjQi5hZGRUcmFjayhzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXSwgc3Ry
ZWFtKSIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJCJ3MgdHJhbnNjZWl2ZXIgaXMgbm90IHll
dCBhc3NvY2lhdGVkIHdpdGggYSBtZWRpYSBkZXNjcmlwdGlvbiBhbmQgc2hvdWxkIGhhdmUgYSBu
dWxsIG1pZCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlTnVsbCgicGNCLmdldFRyYW5zY2Vp
dmVycygpWzBdLm1pZCIpOworCisgICAgICAgICAgICAgICAgcmV0dXJuIHBjQi5zZXRSZW1vdGVE
ZXNjcmlwdGlvbihwY0EubG9jYWxEZXNjcmlwdGlvbik7CisgICAgICAgICAgICB9KQorICAgICAg
ICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIGRlYnVnKCJCOiByZW1v
dGUgb2ZmZXIgc2V0IChtaWQgZ2V0cyBkZWZpbmVkKSIpOworCisgICAgICAgICAgICAgICAgZGVi
dWcoIkIncyB0cmFuc2NlaXZlciBzaG91bGQgZ2V0IGl0cyBtaWQgZnJvbSB0aGUgcmVtb3RlIHNp
ZGUgKEEpIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInBjQi5nZXRUcmFuc2NlaXZlcnMo
KVswXS5taWQiLCAibWlkQXNzaWduZWRCeUEiKTsKKworICAgICAgICAgICAgICAgIHJldHVybiBw
Y0IuY3JlYXRlQW5zd2VyKCk7CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4oZnVu
Y3Rpb24gKGFuc3dlcikgeworICAgICAgICAgICAgICAgIHJldHVybiBwY0Iuc2V0TG9jYWxEZXNj
cmlwdGlvbihhbnN3ZXIpOworICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC50aGVuKGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gcGNBLnNldFJlbW90ZURlc2NyaXB0aW9u
KHBjQi5sb2NhbERlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhl
bihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiT2ZmZXIvYW5zd2Vy
IGRpYWxvZyBjb21wbGV0ZWQiKQorCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5l
bXVsYXRlUlRDUGVlckNvbm5lY3Rpb25QbGF0Zm9ybUV2ZW50KHBjQiwgInVubXV0ZS1yZW1vdGUt
c291cmNlcy1ieS1taWQiKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAuY2F0Y2goZnVu
Y3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiRXJyb3IgaW4gcHJv
bWlzZSBjaGFpbjogIiArIGVycm9yKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworICAg
ICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDNlNDU2NC4uOGYxYjY0NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIwOCw2ICsyMDgs
NyBAQCBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW1lZGlhLXNldHVwLWNhbGxi
YWNrcy1zaW5nbGUtZGlhbG9nLmh0bWwKIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24tbGVnYWN5LXN0cmVhbS1iYXNlZC1hcGkuaHRtbAogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1pY2VjYW5kaWRhdGUtZXZlbnQuaHRtbAogZmFzdC9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi1pY2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2UtZXZlbnQuaHRtbAorZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVseS1hc3NpZ25lZC10cmFuc2NlaXZl
ci1taWQuaHRtbAogCiAjIEFzc2VydHMgaW4gZGVidWcuCiBbIERlYnVnIF0gZmFzdC9pbWFnZXMv
bGFyZ2Utc2l6ZS1pbWFnZS1jcmFzaC5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRiN2Q1
NS4uYWI1OWQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE2LTEwLTEwICBBZGFt
IEJlcmdrdmlzdCAgPGFkYW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4gYW5kIEFsZWphbmRybyBH
LiBDYXN0cm8gPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBXZWJSVEM6IE1ha2UgTWVkaWFF
bmRwb2ludFBlZXJDb25uZWN0aW9uIGhhbmRsZSByZW1vdGVseSBhc3NpZ25lZCBtaWRzIGNvcnJl
Y3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYz
MjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQW4g
UlRDUnRwVHJhbnNjZWl2ZXIgaGFzIGEgbnVsbCBtaWQgdW50aWwgaXQncyBiZWVuIGFzc29jaWF0
ZWQgd2l0aCBhCisgICAgICAgIG1lZGlhIGRlc2NyaXB0aW9uICh3aXRoIGEgbWlkKSBbMV0uIER1
cmluZyB0aGF0IHRpbWUsIGl0J3MgaWRlbnRpZmllZCBieQorICAgICAgICBhIHByb3Zpc2lvbmFs
IG1pZCB0aGF0IG1pZ2h0IGJlY29tZSBpdHMgcmVhbCBtaWQsIGJ1dCB0aGUgdHJhbnNjZWl2ZXIK
KyAgICAgICAgY2FuIGFsc28gZ2V0IGl0cyBtaWQgYXNzaWduZWQgYnkgYSByZW1vdGUgbWVkaWEg
ZGVzY3JpcHRpb24uIEluIHRoZQorICAgICAgICBzZWNvbmQgY2FzZSwgdGhlIG1pZCB2YWx1ZSBp
cyBpbml0aWFsbHkgdW5rbm93bi4gQSB0cmFuc2NlaXZlcidzCisgICAgICAgIFJUQ1J0cFNlbmRl
ciBtdXN0IGRpcmVjdGx5IChzeW5jaHJvbm91c2x5IGluIHRoZSBzY3JpcHQpIHByb3ZpZGUgYSBt
dXRlZAorICAgICAgICByZW1vdGUgc291cmNlIHRoYXQgaXMgcGxheWFibGUgYnksIGZvciBleGFt
cGxlLCBhIG1lZGlhIGVsZW1lbnQuIFRoaXMKKyAgICAgICAgc291cmNlIGlzIGluaXRpYWxseSBy
ZWdpc3RlcmVkIGluIHRoZSBNZWRpYUVuZHBvaW50IChXZWJSVEMgYmFja2VuZCkKKyAgICAgICAg
d2l0aCB0aGUgdHJhbnNjZWl2ZXIncyBwcm92aXNpb25hbCBtaWQuIFNvLCBpZiB0aGUgcmVhbCBt
aWQgaXMgc2V0IGJ5IGEKKyAgICAgICAgcmVtb3RlIGRlc2NyaXB0aW9uLCB0aGUgcmVnaXN0ZXJl
ZCBtaWQgbXVzdCBiZSB1cGRhdGVkIHRvIHByZXNlcnZlIHRoZQorICAgICAgICBhc3NvY2lhdGlv
biBiZXR3ZWVuIHRoZSByZWdpc3RlcmVkIHNvdXJjZSBhbmQgdGhlIHRyYW5zY2VpdmVyLgorCisg
ICAgICAgIFsxXSBodHRwczovL3czYy5naXRodWIuaW8vd2VicnRjLXBjL2FyY2hpdmVzLzIwMTYw
OTEzL3dlYnJ0Yy5odG1sI2RvbS1ydGNydHB0cmFuc2NlaXZlci1taWQKKworICAgICAgICBUZXN0
OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRy
YW5zY2VpdmVyLW1pZC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
RW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIERvbid0IGJyZWFrIGFmdGVyIGZp
bmRpbmcgdGhlIGZpcnN0IHRyYW5zY2VpdmVyIGluIHRoZSBsb29wIHRoYXQgYnVpbGRzIHRoZSBz
ZW5kIHNvdXJjZSBtYXAuCisgICAgICAgIFVwZGF0ZSB0aGUgbWlkIHVzZWQgdG8gcmVnaXN0ZXIg
dGhlIG11dGVkIHJlbW90ZSBzb3VyY2UgaWYgdGhlIGEgdHJhbnNjZWl2ZXIncyBtaWQgZ2V0cwor
ICAgICAgICBhc3NpZ25lZCBieSBhIHJlbW90ZSBtZWRpYSBkZXNjcmlwdGlvbi4KKyAgICAgICAg
KFdlYkNvcmU6OmNyZWF0ZVNvdXJjZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBv
aW50UGVlckNvbm5lY3Rpb246OnNldFJlbW90ZURlc2NyaXB0aW9uVGFzayk6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2sv
TW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9p
bnQ6Ok1vY2tNZWRpYUVuZHBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBv
aW50Ojp1cGRhdGVSZWNlaXZlQ29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
TWVkaWFFbmRwb2ludDo6dXBkYXRlU2VuZENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmNyZWF0ZU11dGVkUmVtb3RlU291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50OjpyZXBsYWNlTXV0ZWRSZW1vdGVTb3VyY2VNaWQp
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmVtdWxhdGVQbGF0Zm9ybUV2
ZW50KToKKyAgICAgICAgQWRkICJ1bm11dGUtcmVtb3RlLXNvdXJjZXMtYnktbWlkIiBhY3Rpb24g
dGhhdCBlbXVsYXRlcyBkYXRhIGFycml2aW5nIG9uIG1lZGlhIGRlc2NyaXB0aW9ucworICAgICAg
ICB3aGljaCB1bm11dGVzIHRoZSByZW1vdGUgc291cmNlcy4KKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYUVuZHBvaW50Ojp1cGRhdGVDb25maWd1cmF0aW9uTWlkcyk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50Lmg6CisKIDIwMTYtMTAtMDkgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFByb21pc2UgYXR0cmli
dXRlIGdldHRlcnMgc2hvdWxkIHJlamVjdCBwcm9taXNlcyBpbiBjYXNlIG9mIGNhc3RlZC10aGlz
IGVycm9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IDQxMDExZTUu
LjVhZTRlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAKQEAgLTMwMyw3
ICszMDMsNiBAQCBzdGF0aWMgUmVhbHRpbWVNZWRpYVNvdXJjZU1hcCBjcmVhdGVTb3VyY2VNYXAo
Y29uc3QgTWVkaWFEZXNjcmlwdGlvblZlY3RvciYgcmVtbwogICAgICAgICBpZiAodHJhbnNjZWl2
ZXIpIHsKICAgICAgICAgICAgIGlmICh0cmFuc2NlaXZlci0+aGFzU2VuZGluZ0RpcmVjdGlvbigp
ICYmIHRyYW5zY2VpdmVyLT5zZW5kZXIoKS0+dHJhY2soKSkKICAgICAgICAgICAgICAgICBzb3Vy
Y2VNYXAuc2V0KHRyYW5zY2VpdmVyLT5taWQoKSwgJnRyYW5zY2VpdmVyLT5zZW5kZXIoKS0+dHJh
Y2soKS0+c291cmNlKCkpOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAK
QEAgLTUwMCw5ICs0OTksMTIgQEAgdm9pZCBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnNl
dFJlbW90ZURlc2NyaXB0aW9uVGFzayhSZWZQdHI8UlRDU2Vzc2lvbkRlc2MKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuICFjdXJyZW50LnN0b3BwZWQoKSAmJiBjdXJyZW50Lm1pZCgpLmlzTnVs
bCgpICYmIGN1cnJlbnQuc2VuZGVyKCktPnRyYWNrS2luZCgpID09IG1lZGlhRGVzY3JpcHRpb24t
PnR5cGUoKTsKICAgICAgICAgICAgICAgICB9KTsKIAotICAgICAgICAgICAgICAgIGlmICh0cmFu
c2NlaXZlcikKKyAgICAgICAgICAgICAgICBpZiAodHJhbnNjZWl2ZXIpIHsKKyAgICAgICAgICAg
ICAgICAgICAgLy8gVGhpcyB0cmFuc2NlaXZlciB3YXMgY3JlYXRlZCBsb2NhbGx5IHdpdGggYSBw
cm92aXNpb25hbCBtaWQuIEl0cyByZWFsIG1pZCB3aWxsIG5vdyBiZSBzZXQgYnkgdGhlIHJlbW90
ZQorICAgICAgICAgICAgICAgICAgICAvLyBkZXNjcmlwdGlvbiBzbyB3ZSBuZWVkIHRvIHVwZGF0
ZSB0aGUgbWlkIG9mIHRoZSB0cmFuc2NlaXZlcidzIG11dGVkIHNvdXJjZSB0byBwcmVzZXJ2ZSB0
aGUgYXNzb2NpYXRpb24uCiAgICAgICAgICAgICAgICAgICAgIHRyYW5zY2VpdmVyLT5zZXRNaWQo
bWVkaWFEZXNjcmlwdGlvbi0+bWlkKCkpOwotICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgbV9tZWRpYUVuZHBvaW50LT5yZXBsYWNlTXV0ZWRSZW1vdGVTb3VyY2VNaWQo
dHJhbnNjZWl2ZXItPnByb3Zpc2lvbmFsTWlkKCksIG1lZGlhRGVzY3JpcHRpb24tPm1pZCgpKTsK
KyAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZU9ubHlG
bGFnID0gdHJ1ZTsKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50LmNwcAppbmRleCAzZDM3ZmNkLi5jZGFm
YzQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFFbmRwb2ludC5jcHAKQEAgLTcxLDYgKzcxLDcgQEAgcHVibGljOgogCiAgICAgUmVmPFJl
YWx0aW1lTWVkaWFTb3VyY2U+IGNyZWF0ZU11dGVkUmVtb3RlU291cmNlKGNvbnN0IFN0cmluZyYs
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUpIG92ZXJyaWRlIHsgcmV0dXJuIEVtcHR5UmVhbHRp
bWVNZWRpYVNvdXJjZTo6Y3JlYXRlKCk7IH0KICAgICB2b2lkIHJlcGxhY2VTZW5kU291cmNlKFJl
YWx0aW1lTWVkaWFTb3VyY2UmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZSB7IH0KKyAgICB2b2lk
IHJlcGxhY2VNdXRlZFJlbW90ZVNvdXJjZU1pZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
KSBvdmVycmlkZSB7IH07CiAKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZSB7IH0KIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50LmgK
aW5kZXggZDhkNTdjYS4uZGY0MjU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnQuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBjcmVhdGVNdXRlZFJlbW90
ZVNvdXJjZShjb25zdCBTdHJpbmcmIG1pZCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlU2VuZFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNl
JiwgY29uc3QgU3RyaW5nJiBtaWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVwbGFjZU11dGVk
UmVtb3RlU291cmNlTWlkKGNvbnN0IFN0cmluZyYgb2xkTWlkLCBjb25zdCBTdHJpbmcmIG5ld01p
ZCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKaW5kZXggYWUxOGRk
MS4uNTdlZDRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJNZWRpYVBheWxv
YWQuaCIKICNpbmNsdWRlICJNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZS5oIgogI2luY2x1ZGUgIk1v
Y2tSZWFsdGltZVZpZGVvU291cmNlLmgiCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5o
IgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTUzLDYgKzU0LDcgQEAgTW9ja01lZGlhRW5kcG9pbnQ6Ok1vY2tNZWRpYUVuZHBvaW50KE1lZGlh
RW5kcG9pbnRDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1f
aWNlQ2FuZGlkYXRlVGltZXIoKnRoaXMsICZNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRl
VGltZXJGaXJlZCkKICAgICAsIG1faWNlVHJhbnNwb3J0VGltZXIoKnRoaXMsICZNb2NrTWVkaWFF
bmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCkKKyAgICAsIG1fdW5tdXRlVGltZXIoKnRo
aXMsICZNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCkKIHsKIH0KIApAQCAtMTYz
LDIwICsxNjUsMTYgQEAgTWVkaWFFbmRwb2ludDo6VXBkYXRlUmVzdWx0IE1vY2tNZWRpYUVuZHBv
aW50Ojp1cGRhdGVSZWNlaXZlQ29uZmlndXJhdGlvbihNZWRpYUUKIHsKICAgICBVTlVTRURfUEFS
QU0oaXNJbml0aWF0b3IpOwogCi0gICAgVmVjdG9yPFN0cmluZz4gbWlkczsKLSAgICBmb3IgKGNv
bnN0IFJlZlB0cjxQZWVyTWVkaWFEZXNjcmlwdGlvbj4mIG1lZGlhRGVzY3JpcHRpb24gOiBjb25m
aWd1cmF0aW9uLT5tZWRpYURlc2NyaXB0aW9ucygpKQotICAgICAgICBtaWRzLmFwcGVuZChtZWRp
YURlc2NyaXB0aW9uLT5taWQoKSk7Ci0gICAgbV9taWRzLnN3YXAobWlkcyk7Ci0KKyAgICB1cGRh
dGVDb25maWd1cmF0aW9uTWlkcygqY29uZmlndXJhdGlvbik7CiAgICAgcmV0dXJuIFVwZGF0ZVJl
c3VsdDo6U3VjY2VzczsKIH0KIAogTWVkaWFFbmRwb2ludDo6VXBkYXRlUmVzdWx0IE1vY2tNZWRp
YUVuZHBvaW50Ojp1cGRhdGVTZW5kQ29uZmlndXJhdGlvbihNZWRpYUVuZHBvaW50U2Vzc2lvbkNv
bmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VNYXAm
IHNlbmRTb3VyY2VNYXAsIGJvb2wgaXNJbml0aWF0b3IpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGNv
bmZpZ3VyYXRpb24pOwogICAgIFVOVVNFRF9QQVJBTShzZW5kU291cmNlTWFwKTsKICAgICBVTlVT
RURfUEFSQU0oaXNJbml0aWF0b3IpOwogCisgICAgdXBkYXRlQ29uZmlndXJhdGlvbk1pZHMoKmNv
bmZpZ3VyYXRpb24pOwogICAgIHJldHVybiBVcGRhdGVSZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAKQEAg
LTE4OCwxMyArMTg2LDE5IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmFkZFJlbW90ZUNhbmRp
ZGF0ZShJY2VDYW5kaWRhdGUmIGNhbmRpZGF0ZSwgY29uc3QgU3RyaW5nCiAgICAgVU5VU0VEX1BB
UkFNKHBhc3N3b3JkKTsKIH0KIAotUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+IE1vY2tNZWRpYUVu
ZHBvaW50OjpjcmVhdGVNdXRlZFJlbW90ZVNvdXJjZShjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlIHR5cGUpCitSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gTW9ja01lZGlh
RW5kcG9pbnQ6OmNyZWF0ZU11dGVkUmVtb3RlU291cmNlKGNvbnN0IFN0cmluZyYgbWlkLCBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiB7Ci0gICAgaWYgKHR5cGUgPT0gUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6QXVkaW8pCi0gICAgICAgIHJldHVybiBNb2NrUmVhbHRpbWVBdWRpb1NvdXJj
ZTo6Y3JlYXRlTXV0ZWQoInJlbW90ZSBhdWRpbyIpOworICAgIFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPiBzb3VyY2U7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OkF1ZGlvOiBzb3VyY2UgPSBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6Y3Jl
YXRlTXV0ZWQoInJlbW90ZSBhdWRpbyIpOyBicmVhazsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlZpZGVvOiBzb3VyY2UgPSBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6Y3JlYXRlTXV0
ZWQoInJlbW90ZSB2aWRlbyIpOyBicmVhazsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
Ok5vbmU6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KIAotICAgIEFTU0VS
VCh0eXBlID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvKTsKLSAgICByZXR1cm4gTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2U6OmNyZWF0ZU11dGVkKCJyZW1vdGUgdmlkZW8iKTsKKyAgICBtX211
dGVkUmVtb3RlU291cmNlcy5zZXQobWlkLCBzb3VyY2UpOworICAgIHJldHVybiAqc291cmNlOwog
fQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpyZXBsYWNlU2VuZFNvdXJjZShSZWFsdGltZU1l
ZGlhU291cmNlJiBuZXdTb3VyY2UsIGNvbnN0IFN0cmluZyYgbWlkKQpAQCAtMjAzLDYgKzIwNywx
MiBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpyZXBsYWNlU2VuZFNvdXJjZShSZWFsdGltZU1l
ZGlhU291cmNlJiBuZXdTb3VyY2UsIGNvbnN0CiAgICAgVU5VU0VEX1BBUkFNKG1pZCk7CiB9CiAK
K3ZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnJlcGxhY2VNdXRlZFJlbW90ZVNvdXJjZU1pZChjb25z
dCBTdHJpbmcmIG9sZE1pZCwgY29uc3QgU3RyaW5nJiBuZXdNaWQpCit7CisgICAgUmVmUHRyPFJl
YWx0aW1lTWVkaWFTb3VyY2U+IHJlbW90ZVNvdXJjZSA9IG1fbXV0ZWRSZW1vdGVTb3VyY2VzLnRh
a2Uob2xkTWlkKTsKKyAgICBtX211dGVkUmVtb3RlU291cmNlcy5zZXQobmV3TWlkLCBXVEZNb3Zl
KHJlbW90ZVNvdXJjZSkpOworfQorCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpzdG9wKCkKIHsK
IH0KQEAgLTIxMyw2ICsyMjMsMTYgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6ZW11bGF0ZVBs
YXRmb3JtRXZlbnQoY29uc3QgU3RyaW5nJiBhY3Rpb24pCiAgICAgICAgIGRpc3BhdGNoRmFrZUlj
ZUNhbmRpZGF0ZXMoKTsKICAgICBlbHNlIGlmIChhY3Rpb24gPT0gInN0ZXAtaWNlLXRyYW5zcG9y
dC1zdGF0ZXMiKQogICAgICAgICBzdGVwSWNlVHJhbnNwb3J0U3RhdGVzKCk7CisgICAgZWxzZSBp
ZiAoYWN0aW9uID09ICJ1bm11dGUtcmVtb3RlLXNvdXJjZXMtYnktbWlkIikKKyAgICAgICAgdW5t
dXRlUmVtb3RlU291cmNlc0J5TWlkKCk7Cit9CisKK3ZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVw
ZGF0ZUNvbmZpZ3VyYXRpb25NaWRzKGNvbnN0IE1lZGlhRW5kcG9pbnRTZXNzaW9uQ29uZmlndXJh
dGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAgICBWZWN0b3I8U3RyaW5nPiBtaWRzOworICAgIGZv
ciAoY29uc3QgUmVmUHRyPFBlZXJNZWRpYURlc2NyaXB0aW9uPiYgbWVkaWFEZXNjcmlwdGlvbiA6
IGNvbmZpZ3VyYXRpb24ubWVkaWFEZXNjcmlwdGlvbnMoKSkKKyAgICAgICAgbWlkcy5hcHBlbmQo
bWVkaWFEZXNjcmlwdGlvbi0+bWlkKCkpOworICAgIG1fbWlkcy5zd2FwKG1pZHMpOwogfQogCiB2
b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpkaXNwYXRjaEZha2VJY2VDYW5kaWRhdGVzKCkKQEAgLTMx
Niw2ICszMzYsMzEgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJG
aXJlZCgpCiAgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKK3Zv
aWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCit7CisgICAg
aWYgKG1fbWlkcy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIExvb2tpbmcg
dXAgZWFjaCBzb3VyY2UgYnkgaXRzIG1pZCwgaW5zdGVhZCBvZiBzaW1wbHkgaXRlcmF0aW5nIG92
ZXIgdGhlIGxpc3Qgb2YgbXV0ZWQgc291cmNlcywKKyAgICAvLyBlbXVsYXRlcyByZW1vdGUgbWVk
aWEgYXJyaXZpbmcgb24gYSBtZWRpYSBkZXNjcmlwdGlvbiB3aXRoIGEgc3BlY2lmaWMgbWlkIChS
VENSdHBUcmFuc2NlaXZlcikuCisKKyAgICAvLyBDb3B5IHZhbHVlcyBpbiByZXZlcnNlIG9yZGVy
IHRvIG1haW50YWluIHRoZSBvcmlnaW5hbCBvcmRlciB3aGlsZSB1c2luZyB0YWtlTGFzdCgpCisg
ICAgZm9yIChpbnQgaSA9IG1fbWlkcy5zaXplKCkgLSAxOyBpID49IDA7IC0taSkKKyAgICAgICAg
bV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuYXBwZW5kKG1fbWlkc1tpXSk7CisKKyAgICBtX3VubXV0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwordm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5t
dXRlVGltZXJGaXJlZCgpCit7CisgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHNvdXJj
ZSA9IG1fbXV0ZWRSZW1vdGVTb3VyY2VzLmdldChtX21pZHNPZlNvdXJjZXNUb1VubXV0ZS50YWtl
TGFzdCgpKTsKKyAgICBpZiAoc291cmNlKQorICAgICAgICBzb3VyY2UtPnNldE11dGVkKGZhbHNl
KTsKKworICAgIGlmICghbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuaXNFbXB0eSgpKQorICAgICAg
ICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmgKaW5kZXggZmFmOTFmOC4uMTAxMzQ0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2lu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQu
aApAQCAtNTksMjYgKzU5LDM2IEBAIHB1YmxpYzoKIAogICAgIFJlZjxSZWFsdGltZU1lZGlhU291
cmNlPiBjcmVhdGVNdXRlZFJlbW90ZVNvdXJjZShjb25zdCBTdHJpbmcmIG1pZCwgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXBsYWNlU2VuZFNvdXJjZShS
ZWFsdGltZU1lZGlhU291cmNlJiwgY29uc3QgU3RyaW5nJiBtaWQpIG92ZXJyaWRlOworICAgIHZv
aWQgcmVwbGFjZU11dGVkUmVtb3RlU291cmNlTWlkKGNvbnN0IFN0cmluZyYgb2xkTWlkLCBjb25z
dCBTdHJpbmcmIG5ld01pZCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsK
IAogICAgIHZvaWQgZW11bGF0ZVBsYXRmb3JtRXZlbnQoY29uc3QgU3RyaW5nJiBhY3Rpb24pIG92
ZXJyaWRlOwogCiBwcml2YXRlOgorICAgIHZvaWQgdXBkYXRlQ29uZmlndXJhdGlvbk1pZHMoY29u
c3QgTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uJik7CisKICAgICB2b2lkIGRpc3Bh
dGNoRmFrZUljZUNhbmRpZGF0ZXMoKTsKICAgICB2b2lkIGljZUNhbmRpZGF0ZVRpbWVyRmlyZWQo
KTsKIAogICAgIHZvaWQgc3RlcEljZVRyYW5zcG9ydFN0YXRlcygpOwogICAgIHZvaWQgaWNlVHJh
bnNwb3J0VGltZXJGaXJlZCgpOwogCisgICAgdm9pZCB1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQo
KTsKKyAgICB2b2lkIHVubXV0ZVRpbWVyRmlyZWQoKTsKKwogICAgIE1lZGlhRW5kcG9pbnRDbGll
bnQmIG1fY2xpZW50OwogICAgIFZlY3RvcjxTdHJpbmc+IG1fbWlkczsKKyAgICBIYXNoTWFwPFN0
cmluZywgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBtX211dGVkUmVtb3RlU291cmNlczsK
IAogICAgIFZlY3RvcjxSZWZQdHI8SWNlQ2FuZGlkYXRlPj4gbV9mYWtlSWNlQ2FuZGlkYXRlczsK
ICAgICBUaW1lciBtX2ljZUNhbmRpZGF0ZVRpbWVyOwogCiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxT
dHJpbmcsIE1lZGlhRW5kcG9pbnQ6OkljZVRyYW5zcG9ydFN0YXRlPj4gbV9pY2VUcmFuc3BvcnRT
dGF0ZUNoYW5nZXM7CiAgICAgVGltZXIgbV9pY2VUcmFuc3BvcnRUaW1lcjsKKworICAgIFZlY3Rv
cjxTdHJpbmc+IG1fbWlkc09mU291cmNlc1RvVW5tdXRlOworICAgIFRpbWVyIG1fdW5tdXRlVGlt
ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>