<?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>134809</bug_id>
          
          <creation_ts>2014-07-10 12:13:37 -0700</creation_ts>
          <short_desc>[MSE] Separate MediaSource logging into its own log channel</short_desc>
          <delta_ts>2014-07-11 17:54:56 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>ltilve</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1021677</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-07-10 12:13:37 -0700</bug_when>
    <thetext>[MSE] Separate MediaSource logging into its own log channel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021679</commentid>
    <comment_count>1</comment_count>
      <attachid>234717</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-07-10 12:23:18 -0700</bug_when>
    <thetext>Created attachment 234717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021845</commentid>
    <comment_count>2</comment_count>
      <attachid>234765</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-07-11 08:53:03 -0700</bug_when>
    <thetext>Created attachment 234765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021849</commentid>
    <comment_count>3</comment_count>
      <attachid>234765</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-07-11 09:09:46 -0700</bug_when>
    <thetext>Comment on attachment 234765
Patch

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

Nice change. Extra points for using &quot;sequester&quot; in the ChangeLog!

&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:645
&gt; +        m_client-&gt;sourceBufferPrivateDidReceiveSample(this, mediaSample);

Should be mediaSample.release().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021942</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-07-11 17:54:56 -0700</bug_when>
    <thetext>Committed r171017: &lt;http://trac.webkit.org/changeset/171017&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234717</attachid>
            <date>2014-07-10 12:23:18 -0700</date>
            <delta_ts>2014-07-11 08:52:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134809-20140710122259.patch</filename>
            <type>text/plain</type>
            <size>16719</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA3MTMxMmI5Y2IwZDgy
NzViMDU1YTQ1MTA2ZTdjMjNlOWQ5ZGM4MC4uOWZkYjNjMTNlNGEzYTk1ZmRkZGIwZjE0YjliYmM1
NmM0NDcyYzNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE0LTA3LTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNU0VdIFNlcGFyYXRlIE1l
ZGlhU291cmNlIGxvZ2dpbmcgaW50byBpdHMgb3duIGxvZyBjaGFubmVsCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQ4MDkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXBhcmF0ZSBvdXQgTWVkaWFTb3Vy
Y2UgbG9nZ2luZyAod2hpY2ggY2FuIGJlIHF1aXRlIHZlcmJvc2UpIGludG8gaXRzIG93biBsb2cg
Y2hhbm5lbCwKKyAgICAgICAgZGlzdGluY3QgZnJvbSB0aGUgTWVkaWEgbG9nIGNoYW5uZWwuIEFk
ZCBzb21lIHBlci1zYW1wbGUgbG9nZ2luZyBhbmQgZnVydGhlciBzZXF1ZXN0ZXIgdGhhdAorICAg
ICAgICBsb2dnaW5nIGludG8gaXRzIG93biBNZWRpYVNvdXJjZVNhbXBsZXMgbG9nIGNoYW5uZWwu
CisKKyAgICAgICAgQWRkIHRoZSBNZWRpYVNvdXJjZSBhbmQgTWVkaWFTb3VyY2VTYW1wbGVzIGNo
YW5uZWxzOgorICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcuaDoKKworICAgICAgICBNb3ZlIExP
RyhNZWRpYSkgLT4gTE9HKE1lZGlhU291cmNlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpNZWRp
YVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6fk1lZGlhU291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzZXRSZWFkeVN0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTb3VyY2U6OnJlbW92ZVNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNvdXJjZTo6aXNUeXBlU3VwcG9ydGVkKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNv
dXJjZUJ1ZmZlclByaXZhdGVTZWVrVG9UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVj
b21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6
OnByb3ZpZGVNZWRpYURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjptb25p
dG9yQnVmZmVyaW5nUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnRleHRU
cmFja0FkZEN1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpoYXNGdXR1cmVU
aW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRGYWlsVG9QYXJzZVN0cmVhbURh
dGFXaXRoRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OnByb2Nlc3NDb2RlZEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRh
dGFGb3JUcmFja0lEKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmxheWVyRGlkUmVjZWl2ZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpyZW5kZXJlckRpZFJlY2VpdmVFcnJvcik6CisgICAgICAgIChXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxh
eWluZ1NhbXBsZXMpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmVucXVldWVTYW1wbGUpOgorCisyMDE0LTA3LTEwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgorCiAgICAgICAgIFtNU0VdIE92ZXJsYXBwaW5nIGFwcGVuZGVkIHJhbmdlcyBt
dXN0IGNhdXNlIHRoZSBkZWNvZGVyIHRvIGZsdXNoIGFuZCByZS1lbnF1ZXVlLgogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0ODA1CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXgg
M2YwMjY1YmMwZTQ4M2E4NTc4ZjE1ODE2ODQ3ODhjODgxMWJkYjU3ZS4uNmVhMDI5NTA2NWMyM2Iz
MGU5MWMzMDM5ZjlkNjQyOGE4NDFhZmU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTc5LDE0ICs3OSwxNCBAQCBNZWRp
YVNvdXJjZTo6TWVkaWFTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAg
ICAsIG1fcmVhZHlTdGF0ZShjbG9zZWRLZXl3b3JkKCkpCiAgICAgLCBtX2FzeW5jRXZlbnRRdWV1
ZSgqdGhpcykKIHsKLSAgICBMT0coTWVkaWEsICJNZWRpYVNvdXJjZTo6TWVkaWFTb3VyY2UgJXAi
LCB0aGlzKTsKKyAgICBMT0coTWVkaWFTb3VyY2UsICJNZWRpYVNvdXJjZTo6TWVkaWFTb3VyY2Ug
JXAiLCB0aGlzKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMgPSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVh
dGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMg
PSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0K
IAogTWVkaWFTb3VyY2U6On5NZWRpYVNvdXJjZSgpCiB7Ci0gICAgTE9HKE1lZGlhLCAiTWVkaWFT
b3VyY2U6On5NZWRpYVNvdXJjZSAlcCIsIHRoaXMpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIk1l
ZGlhU291cmNlOjp+TWVkaWFTb3VyY2UgJXAiLCB0aGlzKTsKICAgICBBU1NFUlQoaXNDbG9zZWQo
KSk7CiB9CiAKQEAgLTI5Miw3ICsyOTIsNyBAQCB2b2lkIE1lZGlhU291cmNlOjpzZXRSZWFkeVN0
YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgc3RhdGUpCiAgICAgQVNTRVJUKHN0YXRlID09IG9wZW5L
ZXl3b3JkKCkgfHwgc3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpIHx8IHN0YXRlID09IGVuZGVkS2V5
d29yZCgpKTsKIAogICAgIEF0b21pY1N0cmluZyBvbGRTdGF0ZSA9IHJlYWR5U3RhdGUoKTsKLSAg
ICBMT0coTWVkaWEsICJNZWRpYVNvdXJjZTo6c2V0UmVhZHlTdGF0ZSgpICVwIDogJXMgLT4gJXMi
LCB0aGlzLCBvbGRTdGF0ZS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSwgc3RhdGUuc3RyaW5nKCku
YXNjaWkoKS5kYXRhKCkpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIk1lZGlhU291cmNlOjpzZXRS
ZWFkeVN0YXRlKCkgJXAgOiAlcyAtPiAlcyIsIHRoaXMsIG9sZFN0YXRlLnN0cmluZygpLmFzY2lp
KCkuZGF0YSgpLCBzdGF0ZS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7CiAKICAgICBpZiAoc3Rh
dGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7CiAgICAgICAgIG1fcHJpdmF0ZS5jbGVhcigpOwpAQCAt
NDAwLDcgKzQwMCw3IEBAIHZvaWQgTWVkaWFTb3VyY2U6OnN0cmVhbUVuZGVkV2l0aEVycm9yKGNv
bnN0IEF0b21pY1N0cmluZyYgZXJyb3IsIEV4Y2VwdGlvbkNvZGUmCiAKIFNvdXJjZUJ1ZmZlciog
TWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewotICAgIExPRyhNZWRpYSwgIk1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZm
ZXIoJXMpICVwIiwgdHlwZS5hc2NpaSgpLmRhdGEoKSwgdGhpcyk7CisgICAgTE9HKE1lZGlhU291
cmNlLCAiTWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlciglcykgJXAiLCB0eXBlLmFzY2lpKCku
ZGF0YSgpLCB0aGlzKTsKIAogICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwt
bWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lk
bC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBl
CiAgICAgLy8gMS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRoZW4gdGhyb3cgYW4gSU5W
QUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKQEAgLTQ0Nyw3ICs0NDcsNyBAQCBTb3VyY2VC
dWZmZXIqIE1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBF
eGNlcHRpb25Db2RlJiBlYwogCiB2b2lkIE1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VCdWZmZXIo
U291cmNlQnVmZmVyKiBidWZmZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIExPRyhNZWRp
YSwgIk1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VCdWZmZXIoKSAlcCIsIHRoaXMpOworICAgIExP
RyhNZWRpYVNvdXJjZSwgIk1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VCdWZmZXIoKSAlcCIsIHRo
aXMpOwogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IHByb3RlY3QoYnVmZmVyKTsKIAogICAgIC8v
IDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9t
ZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1yZW1vdmVTb3Vy
Y2VCdWZmZXItdm9pZC1Tb3VyY2VCdWZmZXItc291cmNlQnVmZmVyCkBAIC02MDIsNyArNjAyLDcg
QEAgdm9pZCBNZWRpYVNvdXJjZTo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVm
ZmVyLCBFeGNlcHRpb25Db2RlJiBlYykKIAogYm9vbCBNZWRpYVNvdXJjZTo6aXNUeXBlU3VwcG9y
dGVkKGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKLSAgICBMT0coTWVkaWEsICJNZWRpYVNvdXJjZTo6
aXNUeXBlU3VwcG9ydGVkKCVzKSIsIHR5cGUuYXNjaWkoKS5kYXRhKCkpOworICAgIExPRyhNZWRp
YVNvdXJjZSwgIk1lZGlhU291cmNlOjppc1R5cGVTdXBwb3J0ZWQoJXMpIiwgdHlwZS5hc2NpaSgp
LmRhdGEoKSk7CiAKICAgICAvLyBTZWN0aW9uIDIuMiBpc1R5cGVTdXBwb3J0ZWQoKSBtZXRob2Qg
c3RlcHMuCiAgICAgLy8gaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1pc1R5
cGVTdXBwb3J0ZWQtYm9vbGVhbi1ET01TdHJpbmctdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDUwZWQ2OGIzNmE3
OGVkOWExMzc1Y2FhMjkxMDMxMGI4ZjM2ZDU3OGEuLjFjNTMyODkxZjc4MmI5YTI5Mzk5NTMwNDQ0
ODZmNzYzMGEwNzFmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTMxMCw3ICszMTAsNyBAQCB2b2lkIFNvdXJjZUJ1
ZmZlcjo6cmVtb3ZlZEZyb21NZWRpYVNvdXJjZSgpCiAKIHZvaWQgU291cmNlQnVmZmVyOjpzb3Vy
Y2VCdWZmZXJQcml2YXRlU2Vla1RvVGltZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgY29uc3QgTWVk
aWFUaW1lJiB0aW1lKQogewotICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVm
ZmVyUHJpdmF0ZVNlZWtUb1RpbWUoJXApIC0gdGltZSglcykiLCB0aGlzLCB0b1N0cmluZyh0aW1l
KS51dGY4KCkuZGF0YSgpKTsKKyAgICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXI6OnNv
dXJjZUJ1ZmZlclByaXZhdGVTZWVrVG9UaW1lKCVwKSAtIHRpbWUoJXMpIiwgdGhpcywgdG9TdHJp
bmcodGltZSkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBmb3IgKGF1dG8mIHRyYWNrQnVmZmVyUGFp
ciA6IG1fdHJhY2tCdWZmZXJNYXApIHsKICAgICAgICAgVHJhY2tCdWZmZXImIHRyYWNrQnVmZmVy
ID0gdHJhY2tCdWZmZXJQYWlyLnZhbHVlOwpAQCAtNTA1LDcgKzUwNSw3IEBAIHZvaWQgU291cmNl
QnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJp
dmF0ZSosIEFwcGVuCiAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdHJhY2tJRCA9IHRyYWNr
QnVmZmVyUGFpci5rZXk7CiAKICAgICAgICAgaWYgKHRyYWNrQnVmZmVyLm5lZWRzUmVlbnF1ZXVl
aW5nKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZl
clByaXZhdGVBcHBlbmRDb21wbGV0ZSglcCkgLSByZWVucXVldWluZyBhdCB0aW1lICglcykiLCB0
aGlzLCB0b1N0cmluZyhjdXJyZW50TWVkaWFUaW1lKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
ICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFw
cGVuZENvbXBsZXRlKCVwKSAtIHJlZW5xdWV1aW5nIGF0IHRpbWUgKCVzKSIsIHRoaXMsIHRvU3Ry
aW5nKGN1cnJlbnRNZWRpYVRpbWUpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgcmVlbnF1
ZXVlTWVkaWFGb3JUaW1lKHRyYWNrQnVmZmVyLCB0cmFja0lELCBjdXJyZW50TWVkaWFUaW1lKTsK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBwcm92aWRlTWVkaWFEYXRhKHRyYWNrQnVmZmVy
LCB0cmFja0lEKTsKQEAgLTExNjIsNiArMTE2Miw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3Vy
Y2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFz
CiAgICAgICAgICAgICAgICAgTWVkaWFUaW1lIHN0YXJ0VGltZSA9IHNhbXBsZVBhaXIuc2Vjb25k
LT5wcmVzZW50YXRpb25UaW1lKCk7CiAgICAgICAgICAgICAgICAgTWVkaWFUaW1lIGVuZFRpbWUg
PSBzdGFydFRpbWUgKyBzYW1wbGVQYWlyLnNlY29uZC0+ZHVyYXRpb24oKSArIG1pY3Jvc2Vjb25k
OwogICAgICAgICAgICAgICAgIGVyYXNlZFJhbmdlcy0+YWRkKHN0YXJ0VGltZS50b0RvdWJsZSgp
LCBlbmRUaW1lLnRvRG91YmxlKCkpOworICAgICAgICAgICAgICAgIExPRyhNZWRpYVNvdXJjZSwg
IlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUoJXApIC0g
cmVtb3Zpbmcgc2FtcGxlKCVzKSIsIHRoaXMsIHRvU3RyaW5nKCpzYW1wbGVQYWlyLnNlY29uZCku
dXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAgICAgICAgdHJhY2tCdWZmZXIuc2FtcGxlcy5yZW1v
dmVTYW1wbGUoc2FtcGxlUGFpci5zZWNvbmQuZ2V0KCkpOwogICAgICAgICAgICAgfQogCkBAIC0x
MzI3LDcgKzEzMjgsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6dGV4dFRyYWNrS2luZENoYW5nZWQo
VGV4dFRyYWNrKiB0cmFjaykKIAogdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBBdG9t
aWNTdHJpbmcgdHJhY2tJRCkKIHsKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXI6OnNvdXJj
ZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKCVwKSIsIHRoaXMpOwor
ICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURp
ZEJlY29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMoJXApIiwgdGhpcyk7CiAgICAgYXV0byBpdCA9IG1f
dHJhY2tCdWZmZXJNYXAuZmluZCh0cmFja0lEKTsKICAgICBpZiAoaXQgPT0gbV90cmFja0J1ZmZl
ck1hcC5lbmQoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTM1OCw3ICsxMzU5LDcgQEAgdm9pZCBT
b3VyY2VCdWZmZXI6OnByb3ZpZGVNZWRpYURhdGEoVHJhY2tCdWZmZXImIHRyYWNrQnVmZmVyLCBB
dG9taWNTdHJpbmcgdHJhY2sKICAgICB9CiAgICAgdHJhY2tCdWZmZXIuZGVjb2RlUXVldWUuZXJh
c2UodHJhY2tCdWZmZXIuZGVjb2RlUXVldWUuYmVnaW4oKSwgc2FtcGxlSXQpOwogCi0gICAgTE9H
KE1lZGlhLCAiU291cmNlQnVmZmVyOjpwcm92aWRlTWVkaWFEYXRhKCVwKSAtIEVucXVldWVkICV1
IHNhbXBsZXMiLCB0aGlzLCBlbnF1ZXVlZFNhbXBsZXMpOworICAgIExPRyhNZWRpYVNvdXJjZSwg
IlNvdXJjZUJ1ZmZlcjo6cHJvdmlkZU1lZGlhRGF0YSglcCkgLSBFbnF1ZXVlZCAldSBzYW1wbGVz
IiwgdGhpcywgZW5xdWV1ZWRTYW1wbGVzKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXI6OnJlZW5x
dWV1ZU1lZGlhRm9yVGltZShUcmFja0J1ZmZlciYgdHJhY2tCdWZmZXIsIEF0b21pY1N0cmluZyB0
cmFja0lELCBjb25zdCBNZWRpYVRpbWUmIHRpbWUpCkBAIC0xNDIxLDcgKzE0MjIsNyBAQCB2b2lk
IFNvdXJjZUJ1ZmZlcjo6bW9uaXRvckJ1ZmZlcmluZ1JhdGUoKQogCiAgICAgbV9hdmVyYWdlQnVm
ZmVyUmF0ZSA9IG1fYXZlcmFnZUJ1ZmZlclJhdGUgKiAoMSAtIEV4cG9uZW50aWFsTW92aW5nQXZl
cmFnZUNvZWZmaWNpZW50KSArIHJhdGVTaW5jZUxhc3RNb25pdG9yICogRXhwb25lbnRpYWxNb3Zp
bmdBdmVyYWdlQ29lZmZpY2llbnQ7CiAKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXI6Om1v
bml0b3JCdWZmZXJpbmdSYXRlKCVwKSAtIG1fYXZlZ2FyZUJ1ZmZlclJhdGU6ICVsZiIsIHRoaXMs
IG1fYXZlcmFnZUJ1ZmZlclJhdGUpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZl
cjo6bW9uaXRvckJ1ZmZlcmluZ1JhdGUoJXApIC0gbV9hdmVnYXJlQnVmZmVyUmF0ZTogJWxmIiwg
dGhpcywgbV9hdmVyYWdlQnVmZmVyUmF0ZSk7CiB9CiAKIGJvb2wgU291cmNlQnVmZmVyOjpoYXND
dXJyZW50VGltZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
b2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggMmFlYTE1
NzM5OGI5Njk0YWZhNDExNTA1NzY4ODk5ZmFjYzcyZTRmNC4uYjljOTgyNjJiMzI0YTk0MTI5ZDQ5
YmFiNGYyZWQ3NGIwODhlMzUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNTQs
NiArNTQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgTShMaXZlQ29ubmVjdCkgXAogICAg
IE0oTG9hZGluZykgXAogICAgIE0oTWVkaWEpIFwKKyAgICBNKE1lZGlhU291cmNlKSBcCisgICAg
TShNZWRpYVNvdXJjZVNhbXBsZXMpIFwKICAgICBNKE1lbW9yeVByZXNzdXJlKSBcCiAgICAgTShO
ZXR3b3JrKSBcCiAgICAgTShOb3RZZXRJbXBsZW1lbnRlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCBhMDdiODE3
MmJhNzBjMmM1MjdkZDY5MDE0OWY3ZWE5OTkxNDhhMGNkLi45MTEwM2U4ZWNjMjFkYzJkNGU0MWNi
ZjQ2MTc2ZDE5ZjQxMmQwMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9T
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtNTY4LDcgKzU2OCw3IEBAIFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjp+U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMoKQogCiB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KEFW
QXNzZXQqIGFzc2V0KQogewotICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KCVwKSIsIHRoaXMpOworICAgIExPRyhNZWRp
YVNvdXJjZSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZVN0cmVhbURhdGFB
c0Fzc2V0KCVwKSIsIHRoaXMpOwogCiAgICAgbV9hc3NldCA9IGFzc2V0OwogCkBAIC02MDcsNyAr
NjA3LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkRmFpbFRvUGFyc2VT
dHJlYW1EYXRhV2l0aEVycm9yKE5TRXJyb3IqIGVycm8KICNpZiBMT0dfRElTQUJMRUQKICAgICBV
TlVTRURfUEFSQU0oZXJyb3IpOwogI2VuZGlmCi0gICAgTE9HKE1lZGlhLCAiU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM6OmRpZEZhaWxUb1BhcnNlU3RyZWFtRGF0YVdpdGhFcnJvciglcCkgLSBl
cnJvcjpcIiVzXCIiLCB0aGlzLCBTdHJpbmcoW2Vycm9yIGRlc2NyaXB0aW9uXSkudXRmOCgpLmRh
dGEoKSk7CisgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OmRpZEZhaWxUb1BhcnNlU3RyZWFtRGF0YVdpdGhFcnJvciglcCkgLSBlcnJvcjpcIiVzXCIiLCB0
aGlzLCBTdHJpbmcoW2Vycm9yIGRlc2NyaXB0aW9uXSkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBt
X3BhcnNpbmdTdWNjZWVkZWQgPSBmYWxzZTsKIH0KQEAgLTYzMSwxNCArNjMxLDE5IEBAIGJvb2wg
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnByb2Nlc3NDb2RlZEZyYW1lKGludCB0cmFja0lE
LCBDTVNhbXBsZUJ1ZmZlclJlCiAgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0
RGVzY3JpcHRpb24gPSBDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1
ZmZlcik7CiAgICAgICAgIEZsb2F0U2l6ZSBmb3JtYXRTaXplID0gRmxvYXRTaXplKENNVmlkZW9G
b3JtYXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMoZm9ybWF0RGVzY3JpcHRp
b24sIHRydWUsIHRydWUpKTsKICAgICAgICAgaWYgKGZvcm1hdFNpemUgIT0gbV9jYWNoZWRTaXpl
KSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
cHJvY2Vzc0NvZGVkRnJhbWUoJXApIC0gc2l6ZSBjaGFuZ2UgZGV0ZWN0ZWQ6IHt3aWR0aD0lbGYs
IGhlaWdodD0lbGYiLCBmb3JtYXRTaXplLndpZHRoKCksIGZvcm1hdFNpemUuaGVpZ2h0KCkpOwor
ICAgICAgICAgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OnByb2Nlc3NDb2RlZEZyYW1lKCVwKSAtIHNpemUgY2hhbmdlIGRldGVjdGVkOiB7d2lkdGg9JWxm
LCBoZWlnaHQ9JWxmIiwgZm9ybWF0U2l6ZS53aWR0aCgpLCBmb3JtYXRTaXplLmhlaWdodCgpKTsK
ICAgICAgICAgICAgIG1fY2FjaGVkU2l6ZSA9IGZvcm1hdFNpemU7CiAgICAgICAgICAgICBpZiAo
bV9tZWRpYVNvdXJjZSkKICAgICAgICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+
c2l6ZUNoYW5nZWQoKTsKICAgICAgICAgfQogICAgIH0KLSAgICBpZiAobV9jbGllbnQpCi0gICAg
ICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSh0aGlzLCBN
ZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVCdWZmZXIsIHRyYWNrSUQpKTsKKworCisg
ICAgaWYgKG1fY2xpZW50KSB7CisgICAgICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gbWVkaWFTYW1w
bGUgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVCdWZmZXIsIHRyYWNrSUQpOwor
ICAgICAgICBMT0coTWVkaWFTb3VyY2VTYW1wbGVzLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OnByb2Nlc3NDb2RlZEZyYW1lKCVwKSAtIHNhbXBsZSglcykiLCB0aGlzLCB0b1N0cmluZygq
bWVkaWFTYW1wbGUpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVm
ZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUodGhpcywgbWVkaWFTYW1wbGUpOworICAgIH0KIAog
ICAgIHJldHVybiB0cnVlOwogfQpAQCAtNjU3LDcgKzY2Miw3IEBAIHZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM6OmRpZFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxpemF0aW9u
RGF0YUZvCiAKICAgICBVTlVTRURfUEFSQU0odHJhY2tJRCk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQV9WMikKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRCgl
cCkgLSB0cmFjazolZCIsIHRoaXMsIHRyYWNrSUQpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIlNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0
aWFsaXphdGlvbkRhdGFGb3JUcmFja0lEKCVwKSAtIHRyYWNrOiVkIiwgdGhpcywgdHJhY2tJRCk7
CiAgICAgbV9wcm90ZWN0ZWRUcmFja0lEID0gdHJhY2tJRDsKICAgICBSZWZQdHI8VWludDhBcnJh
eT4gaW5pdERhdGFBcnJheSA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShbaW5pdERhdGEgbGVuZ3RoXSk7
CiAgICAgW2luaXREYXRhIGdldEJ5dGVzOmluaXREYXRhQXJyYXktPmRhdGEoKSBsZW5ndGg6aW5p
dERhdGFBcnJheS0+bGVuZ3RoKCldOwpAQCAtNjg0LDcgKzY4OSw3IEBAIHN0YXRpYyBkaXNwYXRj
aF9xdWV1ZV90IGdsb2JhbERhdGFQYXJzZXJRdWV1ZSgpCiAKIHZvaWQgU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OmFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBs
ZW5ndGgpCiB7Ci0gICAgTE9HKE1lZGlhLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFw
cGVuZCglcCkgLSBkYXRhOiVwLCBsZW5ndGg6JWQiLCB0aGlzLCBkYXRhLCBsZW5ndGgpOworICAg
IExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmQoJXAp
IC0gZGF0YTolcCwgbGVuZ3RoOiVkIiwgdGhpcywgZGF0YSwgbGVuZ3RoKTsKIAogICAgIFJldGFp
blB0cjxOU0RhdGE+IG5zRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0
ZXM6ZGF0YSBsZW5ndGg6bGVuZ3RoXSk7CiAgICAgV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQz4gd2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCk7CkBAIC04NjAsNyArODY1LDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6dW5yZWdpc3RlckZvckVycm9yTm90aWZp
Y2F0aW9ucyhTb3VyY2VCdWZmZXJQcmkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgKmxheWVy
LCBOU0Vycm9yICplcnJvcikKIHsKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoJXApOiBsYXllciglcCksIGVycm9yKCVAKSIs
IHRoaXMsIGxheWVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsKKyAgICBMT0coTWVkaWFTb3VyY2Us
ICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoJXApOiBs
YXllciglcCksIGVycm9yKCVAKSIsIHRoaXMsIGxheWVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsK
ICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fZXJyb3JDbGllbnRzKQogICAgICAgICBjbGllbnQt
PmxheWVyRGlkUmVjZWl2ZUVycm9yKGxheWVyLCBlcnJvcik7CiAKQEAgLTg3Miw3ICs4NzcsNyBA
QCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpsYXllckRpZFJlY2VpdmVFcnJvcihB
VlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcgogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpyZW5kZXJlckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIg
KnJlbmRlcmVyLCBOU0Vycm9yICplcnJvcikKIHsKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQzo6cmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IoJXApOiByZW5kZXJlcigl
cCksIGVycm9yKCVAKSIsIHRoaXMsIHJlbmRlcmVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsKKyAg
ICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cmVuZGVyZXJE
aWRSZWNlaXZlRXJyb3IoJXApOiByZW5kZXJlciglcCksIGVycm9yKCVAKSIsIHRoaXMsIHJlbmRl
cmVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fZXJy
b3JDbGllbnRzKQogICAgICAgICBjbGllbnQtPnJlbmRlcmVyRGlkUmVjZWl2ZUVycm9yKHJlbmRl
cmVyLCBlcnJvcik7CiB9CkBAIC04OTYsNyArOTAxLDcgQEAgc3RhdGljIFJldGFpblB0cjxDTVNh
bXBsZUJ1ZmZlclJlZj4gY3JlYXRlTm9uRGlzcGxheWluZ0NvcHkoQ01TYW1wbGVCdWZmZXJSZWYg
c2EKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmZsdXNoQW5kRW5xdWV1ZU5vbkRp
c3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQdHI8TWVkaWFTYW1wbGU+PiBtZWRpYVNhbXBsZXMs
IEF0b21pY1N0cmluZyB0cmFja0lEU3RyaW5nKQogewogICAgIGludCB0cmFja0lEID0gdHJhY2tJ
RFN0cmluZy50b0ludCgpOwotICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpmbHVzaEFuZEVucXVldWVOb25EaXNwbGF5aW5nU2FtcGxlcyglcCkgc2FtcGxlczogJWQg
c2FtcGxlcywgdHJhY2tJZDogJWQiLCB0aGlzLCBtZWRpYVNhbXBsZXMuc2l6ZSgpLCB0cmFja0lE
KTsKKyAgICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1
c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMoJXApIHNhbXBsZXM6ICVkIHNhbXBsZXMs
IHRyYWNrSWQ6ICVkIiwgdGhpcywgbWVkaWFTYW1wbGVzLnNpemUoKSwgdHJhY2tJRCk7CiAKICAg
ICBpZiAodHJhY2tJRCA9PSBtX2VuYWJsZWRWaWRlb1RyYWNrSUQpCiAgICAgICAgIGZsdXNoQW5k
RW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKG1lZGlhU2FtcGxlcywgbV9kaXNwbGF5TGF5ZXIu
Z2V0KCkpOwpAQCAtOTI3LDYgKzkzMiw4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmZsdXNoQW5kRW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQCiAgICAg
Zm9yIChhdXRvIGl0ID0gbWVkaWFTYW1wbGVzLmJlZ2luKCksIGVuZCA9IG1lZGlhU2FtcGxlcy5l
bmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4mIG1l
ZGlhU2FtcGxlID0gKml0OwogCisgICAgICAgIExPRyhNZWRpYVNvdXJjZVNhbXBsZXMsICJTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBs
ZXMoJXApIC0gc2FtcGxlKCVzKSIsIHRoaXMsIHRvU3RyaW5nKCptZWRpYVNhbXBsZSkudXRmOCgp
LmRhdGEoKSk7CisKICAgICAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUgPSBtZWRp
YVNhbXBsZS0+cGxhdGZvcm1TYW1wbGUoKTsKICAgICAgICAgQVNTRVJUKHBsYXRmb3JtU2FtcGxl
LnR5cGUgPT0gUGxhdGZvcm1TYW1wbGU6OkNNU2FtcGxlQnVmZmVyVHlwZSk7CiAKQEAgLTk1MSw2
ICs5NTgsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxl
KFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+IHBycE1lZGlhUwogICAgIGlmIChwbGF0Zm9ybVNhbXBs
ZS50eXBlICE9IFBsYXRmb3JtU2FtcGxlOjpDTVNhbXBsZUJ1ZmZlclR5cGUpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIExPRyhNZWRpYVNvdXJjZVNhbXBsZXMsICJTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZSglcCkgLSBzYW1wbGUoJXMpIiwgdGhpcywgdG9TdHJpbmco
Km1lZGlhU2FtcGxlKS51dGY4KCkuZGF0YSgpKTsKKwogICAgIGlmICh0cmFja0lEID09IG1fZW5h
YmxlZFZpZGVvVHJhY2tJRCkgewogICAgICAgICBbbV9kaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBs
ZUJ1ZmZlcjpwbGF0Zm9ybVNhbXBsZS5zYW1wbGUuY21TYW1wbGVCdWZmZXJdOwogICAgICAgICBp
ZiAobV9tZWRpYVNvdXJjZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234765</attachid>
            <date>2014-07-11 08:53:03 -0700</date>
            <delta_ts>2014-07-11 09:09:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134809-20140711085246.patch</filename>
            <type>text/plain</type>
            <size>16719</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwOTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA3MTMxMmI5Y2IwZDgy
NzViMDU1YTQ1MTA2ZTdjMjNlOWQ5ZGM4MC4uOWZkYjNjMTNlNGEzYTk1ZmRkZGIwZjE0YjliYmM1
NmM0NDcyYzNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE0LTA3LTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNU0VdIFNlcGFyYXRlIE1l
ZGlhU291cmNlIGxvZ2dpbmcgaW50byBpdHMgb3duIGxvZyBjaGFubmVsCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQ4MDkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXBhcmF0ZSBvdXQgTWVkaWFTb3Vy
Y2UgbG9nZ2luZyAod2hpY2ggY2FuIGJlIHF1aXRlIHZlcmJvc2UpIGludG8gaXRzIG93biBsb2cg
Y2hhbm5lbCwKKyAgICAgICAgZGlzdGluY3QgZnJvbSB0aGUgTWVkaWEgbG9nIGNoYW5uZWwuIEFk
ZCBzb21lIHBlci1zYW1wbGUgbG9nZ2luZyBhbmQgZnVydGhlciBzZXF1ZXN0ZXIgdGhhdAorICAg
ICAgICBsb2dnaW5nIGludG8gaXRzIG93biBNZWRpYVNvdXJjZVNhbXBsZXMgbG9nIGNoYW5uZWwu
CisKKyAgICAgICAgQWRkIHRoZSBNZWRpYVNvdXJjZSBhbmQgTWVkaWFTb3VyY2VTYW1wbGVzIGNo
YW5uZWxzOgorICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcuaDoKKworICAgICAgICBNb3ZlIExP
RyhNZWRpYSkgLT4gTE9HKE1lZGlhU291cmNlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpNZWRp
YVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6fk1lZGlhU291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzZXRSZWFkeVN0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTb3VyY2U6OnJlbW92ZVNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNvdXJjZTo6aXNUeXBlU3VwcG9ydGVkKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnNv
dXJjZUJ1ZmZlclByaXZhdGVTZWVrVG9UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVj
b21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6
OnByb3ZpZGVNZWRpYURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjptb25p
dG9yQnVmZmVyaW5nUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnRleHRU
cmFja0FkZEN1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpoYXNGdXR1cmVU
aW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRGYWlsVG9QYXJzZVN0cmVhbURh
dGFXaXRoRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OnByb2Nlc3NDb2RlZEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0aWFsaXphdGlvbkRh
dGFGb3JUcmFja0lEKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmxheWVyRGlkUmVjZWl2ZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDOjpyZW5kZXJlckRpZFJlY2VpdmVFcnJvcik6CisgICAgICAgIChXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxh
eWluZ1NhbXBsZXMpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmVucXVldWVTYW1wbGUpOgorCisyMDE0LTA3LTEwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgorCiAgICAgICAgIFtNU0VdIE92ZXJsYXBwaW5nIGFwcGVuZGVkIHJhbmdlcyBt
dXN0IGNhdXNlIHRoZSBkZWNvZGVyIHRvIGZsdXNoIGFuZCByZS1lbnF1ZXVlLgogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0ODA1CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXgg
M2YwMjY1YmMwZTQ4M2E4NTc4ZjE1ODE2ODQ3ODhjODgxMWJkYjU3ZS4uNmVhMDI5NTA2NWMyM2Iz
MGU5MWMzMDM5ZjlkNjQyOGE4NDFhZmU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTc5LDE0ICs3OSwxNCBAQCBNZWRp
YVNvdXJjZTo6TWVkaWFTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAg
ICAsIG1fcmVhZHlTdGF0ZShjbG9zZWRLZXl3b3JkKCkpCiAgICAgLCBtX2FzeW5jRXZlbnRRdWV1
ZSgqdGhpcykKIHsKLSAgICBMT0coTWVkaWEsICJNZWRpYVNvdXJjZTo6TWVkaWFTb3VyY2UgJXAi
LCB0aGlzKTsKKyAgICBMT0coTWVkaWFTb3VyY2UsICJNZWRpYVNvdXJjZTo6TWVkaWFTb3VyY2Ug
JXAiLCB0aGlzKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMgPSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVh
dGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMg
PSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0K
IAogTWVkaWFTb3VyY2U6On5NZWRpYVNvdXJjZSgpCiB7Ci0gICAgTE9HKE1lZGlhLCAiTWVkaWFT
b3VyY2U6On5NZWRpYVNvdXJjZSAlcCIsIHRoaXMpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIk1l
ZGlhU291cmNlOjp+TWVkaWFTb3VyY2UgJXAiLCB0aGlzKTsKICAgICBBU1NFUlQoaXNDbG9zZWQo
KSk7CiB9CiAKQEAgLTI5Miw3ICsyOTIsNyBAQCB2b2lkIE1lZGlhU291cmNlOjpzZXRSZWFkeVN0
YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgc3RhdGUpCiAgICAgQVNTRVJUKHN0YXRlID09IG9wZW5L
ZXl3b3JkKCkgfHwgc3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpIHx8IHN0YXRlID09IGVuZGVkS2V5
d29yZCgpKTsKIAogICAgIEF0b21pY1N0cmluZyBvbGRTdGF0ZSA9IHJlYWR5U3RhdGUoKTsKLSAg
ICBMT0coTWVkaWEsICJNZWRpYVNvdXJjZTo6c2V0UmVhZHlTdGF0ZSgpICVwIDogJXMgLT4gJXMi
LCB0aGlzLCBvbGRTdGF0ZS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSwgc3RhdGUuc3RyaW5nKCku
YXNjaWkoKS5kYXRhKCkpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIk1lZGlhU291cmNlOjpzZXRS
ZWFkeVN0YXRlKCkgJXAgOiAlcyAtPiAlcyIsIHRoaXMsIG9sZFN0YXRlLnN0cmluZygpLmFzY2lp
KCkuZGF0YSgpLCBzdGF0ZS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7CiAKICAgICBpZiAoc3Rh
dGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7CiAgICAgICAgIG1fcHJpdmF0ZS5jbGVhcigpOwpAQCAt
NDAwLDcgKzQwMCw3IEBAIHZvaWQgTWVkaWFTb3VyY2U6OnN0cmVhbUVuZGVkV2l0aEVycm9yKGNv
bnN0IEF0b21pY1N0cmluZyYgZXJyb3IsIEV4Y2VwdGlvbkNvZGUmCiAKIFNvdXJjZUJ1ZmZlciog
TWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewotICAgIExPRyhNZWRpYSwgIk1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZm
ZXIoJXMpICVwIiwgdHlwZS5hc2NpaSgpLmRhdGEoKSwgdGhpcyk7CisgICAgTE9HKE1lZGlhU291
cmNlLCAiTWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlciglcykgJXAiLCB0eXBlLmFzY2lpKCku
ZGF0YSgpLCB0aGlzKTsKIAogICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwt
bWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lk
bC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBl
CiAgICAgLy8gMS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRoZW4gdGhyb3cgYW4gSU5W
QUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKQEAgLTQ0Nyw3ICs0NDcsNyBAQCBTb3VyY2VC
dWZmZXIqIE1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiB0eXBlLCBF
eGNlcHRpb25Db2RlJiBlYwogCiB2b2lkIE1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VCdWZmZXIo
U291cmNlQnVmZmVyKiBidWZmZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIExPRyhNZWRp
YSwgIk1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VCdWZmZXIoKSAlcCIsIHRoaXMpOworICAgIExP
RyhNZWRpYVNvdXJjZSwgIk1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VCdWZmZXIoKSAlcCIsIHRo
aXMpOwogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IHByb3RlY3QoYnVmZmVyKTsKIAogICAgIC8v
IDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9t
ZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1yZW1vdmVTb3Vy
Y2VCdWZmZXItdm9pZC1Tb3VyY2VCdWZmZXItc291cmNlQnVmZmVyCkBAIC02MDIsNyArNjAyLDcg
QEAgdm9pZCBNZWRpYVNvdXJjZTo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciogYnVm
ZmVyLCBFeGNlcHRpb25Db2RlJiBlYykKIAogYm9vbCBNZWRpYVNvdXJjZTo6aXNUeXBlU3VwcG9y
dGVkKGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKLSAgICBMT0coTWVkaWEsICJNZWRpYVNvdXJjZTo6
aXNUeXBlU3VwcG9ydGVkKCVzKSIsIHR5cGUuYXNjaWkoKS5kYXRhKCkpOworICAgIExPRyhNZWRp
YVNvdXJjZSwgIk1lZGlhU291cmNlOjppc1R5cGVTdXBwb3J0ZWQoJXMpIiwgdHlwZS5hc2NpaSgp
LmRhdGEoKSk7CiAKICAgICAvLyBTZWN0aW9uIDIuMiBpc1R5cGVTdXBwb3J0ZWQoKSBtZXRob2Qg
c3RlcHMuCiAgICAgLy8gaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L3RpcC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1pc1R5
cGVTdXBwb3J0ZWQtYm9vbGVhbi1ET01TdHJpbmctdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDUwZWQ2OGIzNmE3
OGVkOWExMzc1Y2FhMjkxMDMxMGI4ZjM2ZDU3OGEuLjFjNTMyODkxZjc4MmI5YTI5Mzk5NTMwNDQ0
ODZmNzYzMGEwNzFmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTMxMCw3ICszMTAsNyBAQCB2b2lkIFNvdXJjZUJ1
ZmZlcjo6cmVtb3ZlZEZyb21NZWRpYVNvdXJjZSgpCiAKIHZvaWQgU291cmNlQnVmZmVyOjpzb3Vy
Y2VCdWZmZXJQcml2YXRlU2Vla1RvVGltZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgY29uc3QgTWVk
aWFUaW1lJiB0aW1lKQogewotICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVm
ZmVyUHJpdmF0ZVNlZWtUb1RpbWUoJXApIC0gdGltZSglcykiLCB0aGlzLCB0b1N0cmluZyh0aW1l
KS51dGY4KCkuZGF0YSgpKTsKKyAgICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXI6OnNv
dXJjZUJ1ZmZlclByaXZhdGVTZWVrVG9UaW1lKCVwKSAtIHRpbWUoJXMpIiwgdGhpcywgdG9TdHJp
bmcodGltZSkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBmb3IgKGF1dG8mIHRyYWNrQnVmZmVyUGFp
ciA6IG1fdHJhY2tCdWZmZXJNYXApIHsKICAgICAgICAgVHJhY2tCdWZmZXImIHRyYWNrQnVmZmVy
ID0gdHJhY2tCdWZmZXJQYWlyLnZhbHVlOwpAQCAtNTA1LDcgKzUwNSw3IEBAIHZvaWQgU291cmNl
QnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJp
dmF0ZSosIEFwcGVuCiAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdHJhY2tJRCA9IHRyYWNr
QnVmZmVyUGFpci5rZXk7CiAKICAgICAgICAgaWYgKHRyYWNrQnVmZmVyLm5lZWRzUmVlbnF1ZXVl
aW5nKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZl
clByaXZhdGVBcHBlbmRDb21wbGV0ZSglcCkgLSByZWVucXVldWluZyBhdCB0aW1lICglcykiLCB0
aGlzLCB0b1N0cmluZyhjdXJyZW50TWVkaWFUaW1lKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
ICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFw
cGVuZENvbXBsZXRlKCVwKSAtIHJlZW5xdWV1aW5nIGF0IHRpbWUgKCVzKSIsIHRoaXMsIHRvU3Ry
aW5nKGN1cnJlbnRNZWRpYVRpbWUpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgcmVlbnF1
ZXVlTWVkaWFGb3JUaW1lKHRyYWNrQnVmZmVyLCB0cmFja0lELCBjdXJyZW50TWVkaWFUaW1lKTsK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBwcm92aWRlTWVkaWFEYXRhKHRyYWNrQnVmZmVy
LCB0cmFja0lEKTsKQEAgLTExNjIsNiArMTE2Miw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3Vy
Y2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFz
CiAgICAgICAgICAgICAgICAgTWVkaWFUaW1lIHN0YXJ0VGltZSA9IHNhbXBsZVBhaXIuc2Vjb25k
LT5wcmVzZW50YXRpb25UaW1lKCk7CiAgICAgICAgICAgICAgICAgTWVkaWFUaW1lIGVuZFRpbWUg
PSBzdGFydFRpbWUgKyBzYW1wbGVQYWlyLnNlY29uZC0+ZHVyYXRpb24oKSArIG1pY3Jvc2Vjb25k
OwogICAgICAgICAgICAgICAgIGVyYXNlZFJhbmdlcy0+YWRkKHN0YXJ0VGltZS50b0RvdWJsZSgp
LCBlbmRUaW1lLnRvRG91YmxlKCkpOworICAgICAgICAgICAgICAgIExPRyhNZWRpYVNvdXJjZSwg
IlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUoJXApIC0g
cmVtb3Zpbmcgc2FtcGxlKCVzKSIsIHRoaXMsIHRvU3RyaW5nKCpzYW1wbGVQYWlyLnNlY29uZCku
dXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAgICAgICAgdHJhY2tCdWZmZXIuc2FtcGxlcy5yZW1v
dmVTYW1wbGUoc2FtcGxlUGFpci5zZWNvbmQuZ2V0KCkpOwogICAgICAgICAgICAgfQogCkBAIC0x
MzI3LDcgKzEzMjgsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6dGV4dFRyYWNrS2luZENoYW5nZWQo
VGV4dFRyYWNrKiB0cmFjaykKIAogdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBBdG9t
aWNTdHJpbmcgdHJhY2tJRCkKIHsKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXI6OnNvdXJj
ZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKCVwKSIsIHRoaXMpOwor
ICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURp
ZEJlY29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMoJXApIiwgdGhpcyk7CiAgICAgYXV0byBpdCA9IG1f
dHJhY2tCdWZmZXJNYXAuZmluZCh0cmFja0lEKTsKICAgICBpZiAoaXQgPT0gbV90cmFja0J1ZmZl
ck1hcC5lbmQoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTM1OCw3ICsxMzU5LDcgQEAgdm9pZCBT
b3VyY2VCdWZmZXI6OnByb3ZpZGVNZWRpYURhdGEoVHJhY2tCdWZmZXImIHRyYWNrQnVmZmVyLCBB
dG9taWNTdHJpbmcgdHJhY2sKICAgICB9CiAgICAgdHJhY2tCdWZmZXIuZGVjb2RlUXVldWUuZXJh
c2UodHJhY2tCdWZmZXIuZGVjb2RlUXVldWUuYmVnaW4oKSwgc2FtcGxlSXQpOwogCi0gICAgTE9H
KE1lZGlhLCAiU291cmNlQnVmZmVyOjpwcm92aWRlTWVkaWFEYXRhKCVwKSAtIEVucXVldWVkICV1
IHNhbXBsZXMiLCB0aGlzLCBlbnF1ZXVlZFNhbXBsZXMpOworICAgIExPRyhNZWRpYVNvdXJjZSwg
IlNvdXJjZUJ1ZmZlcjo6cHJvdmlkZU1lZGlhRGF0YSglcCkgLSBFbnF1ZXVlZCAldSBzYW1wbGVz
IiwgdGhpcywgZW5xdWV1ZWRTYW1wbGVzKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXI6OnJlZW5x
dWV1ZU1lZGlhRm9yVGltZShUcmFja0J1ZmZlciYgdHJhY2tCdWZmZXIsIEF0b21pY1N0cmluZyB0
cmFja0lELCBjb25zdCBNZWRpYVRpbWUmIHRpbWUpCkBAIC0xNDIxLDcgKzE0MjIsNyBAQCB2b2lk
IFNvdXJjZUJ1ZmZlcjo6bW9uaXRvckJ1ZmZlcmluZ1JhdGUoKQogCiAgICAgbV9hdmVyYWdlQnVm
ZmVyUmF0ZSA9IG1fYXZlcmFnZUJ1ZmZlclJhdGUgKiAoMSAtIEV4cG9uZW50aWFsTW92aW5nQXZl
cmFnZUNvZWZmaWNpZW50KSArIHJhdGVTaW5jZUxhc3RNb25pdG9yICogRXhwb25lbnRpYWxNb3Zp
bmdBdmVyYWdlQ29lZmZpY2llbnQ7CiAKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXI6Om1v
bml0b3JCdWZmZXJpbmdSYXRlKCVwKSAtIG1fYXZlZ2FyZUJ1ZmZlclJhdGU6ICVsZiIsIHRoaXMs
IG1fYXZlcmFnZUJ1ZmZlclJhdGUpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZl
cjo6bW9uaXRvckJ1ZmZlcmluZ1JhdGUoJXApIC0gbV9hdmVnYXJlQnVmZmVyUmF0ZTogJWxmIiwg
dGhpcywgbV9hdmVyYWdlQnVmZmVyUmF0ZSk7CiB9CiAKIGJvb2wgU291cmNlQnVmZmVyOjpoYXND
dXJyZW50VGltZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
b2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggMmFlYTE1
NzM5OGI5Njk0YWZhNDExNTA1NzY4ODk5ZmFjYzcyZTRmNC4uYjljOTgyNjJiMzI0YTk0MTI5ZDQ5
YmFiNGYyZWQ3NGIwODhlMzUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNTQs
NiArNTQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgTShMaXZlQ29ubmVjdCkgXAogICAg
IE0oTG9hZGluZykgXAogICAgIE0oTWVkaWEpIFwKKyAgICBNKE1lZGlhU291cmNlKSBcCisgICAg
TShNZWRpYVNvdXJjZVNhbXBsZXMpIFwKICAgICBNKE1lbW9yeVByZXNzdXJlKSBcCiAgICAgTShO
ZXR3b3JrKSBcCiAgICAgTShOb3RZZXRJbXBsZW1lbnRlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCBhMDdiODE3
MmJhNzBjMmM1MjdkZDY5MDE0OWY3ZWE5OTkxNDhhMGNkLi45MTEwM2U4ZWNjMjFkYzJkNGU0MWNi
ZjQ2MTc2ZDE5ZjQxMmQwMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9T
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtNTY4LDcgKzU2OCw3IEBAIFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjp+U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMoKQogCiB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KEFW
QXNzZXQqIGFzc2V0KQogewotICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpkaWRQYXJzZVN0cmVhbURhdGFBc0Fzc2V0KCVwKSIsIHRoaXMpOworICAgIExPRyhNZWRp
YVNvdXJjZSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQYXJzZVN0cmVhbURhdGFB
c0Fzc2V0KCVwKSIsIHRoaXMpOwogCiAgICAgbV9hc3NldCA9IGFzc2V0OwogCkBAIC02MDcsNyAr
NjA3LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkRmFpbFRvUGFyc2VT
dHJlYW1EYXRhV2l0aEVycm9yKE5TRXJyb3IqIGVycm8KICNpZiBMT0dfRElTQUJMRUQKICAgICBV
TlVTRURfUEFSQU0oZXJyb3IpOwogI2VuZGlmCi0gICAgTE9HKE1lZGlhLCAiU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM6OmRpZEZhaWxUb1BhcnNlU3RyZWFtRGF0YVdpdGhFcnJvciglcCkgLSBl
cnJvcjpcIiVzXCIiLCB0aGlzLCBTdHJpbmcoW2Vycm9yIGRlc2NyaXB0aW9uXSkudXRmOCgpLmRh
dGEoKSk7CisgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OmRpZEZhaWxUb1BhcnNlU3RyZWFtRGF0YVdpdGhFcnJvciglcCkgLSBlcnJvcjpcIiVzXCIiLCB0
aGlzLCBTdHJpbmcoW2Vycm9yIGRlc2NyaXB0aW9uXSkudXRmOCgpLmRhdGEoKSk7CiAKICAgICBt
X3BhcnNpbmdTdWNjZWVkZWQgPSBmYWxzZTsKIH0KQEAgLTYzMSwxNCArNjMxLDE5IEBAIGJvb2wg
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnByb2Nlc3NDb2RlZEZyYW1lKGludCB0cmFja0lE
LCBDTVNhbXBsZUJ1ZmZlclJlCiAgICAgICAgIENNRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0
RGVzY3JpcHRpb24gPSBDTVNhbXBsZUJ1ZmZlckdldEZvcm1hdERlc2NyaXB0aW9uKHNhbXBsZUJ1
ZmZlcik7CiAgICAgICAgIEZsb2F0U2l6ZSBmb3JtYXRTaXplID0gRmxvYXRTaXplKENNVmlkZW9G
b3JtYXREZXNjcmlwdGlvbkdldFByZXNlbnRhdGlvbkRpbWVuc2lvbnMoZm9ybWF0RGVzY3JpcHRp
b24sIHRydWUsIHRydWUpKTsKICAgICAgICAgaWYgKGZvcm1hdFNpemUgIT0gbV9jYWNoZWRTaXpl
KSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
cHJvY2Vzc0NvZGVkRnJhbWUoJXApIC0gc2l6ZSBjaGFuZ2UgZGV0ZWN0ZWQ6IHt3aWR0aD0lbGYs
IGhlaWdodD0lbGYiLCBmb3JtYXRTaXplLndpZHRoKCksIGZvcm1hdFNpemUuaGVpZ2h0KCkpOwor
ICAgICAgICAgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OnByb2Nlc3NDb2RlZEZyYW1lKCVwKSAtIHNpemUgY2hhbmdlIGRldGVjdGVkOiB7d2lkdGg9JWxm
LCBoZWlnaHQ9JWxmIiwgZm9ybWF0U2l6ZS53aWR0aCgpLCBmb3JtYXRTaXplLmhlaWdodCgpKTsK
ICAgICAgICAgICAgIG1fY2FjaGVkU2l6ZSA9IGZvcm1hdFNpemU7CiAgICAgICAgICAgICBpZiAo
bV9tZWRpYVNvdXJjZSkKICAgICAgICAgICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+
c2l6ZUNoYW5nZWQoKTsKICAgICAgICAgfQogICAgIH0KLSAgICBpZiAobV9jbGllbnQpCi0gICAg
ICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSh0aGlzLCBN
ZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVCdWZmZXIsIHRyYWNrSUQpKTsKKworCisg
ICAgaWYgKG1fY2xpZW50KSB7CisgICAgICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gbWVkaWFTYW1w
bGUgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVCdWZmZXIsIHRyYWNrSUQpOwor
ICAgICAgICBMT0coTWVkaWFTb3VyY2VTYW1wbGVzLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OnByb2Nlc3NDb2RlZEZyYW1lKCVwKSAtIHNhbXBsZSglcykiLCB0aGlzLCB0b1N0cmluZygq
bWVkaWFTYW1wbGUpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVm
ZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUodGhpcywgbWVkaWFTYW1wbGUpOworICAgIH0KIAog
ICAgIHJldHVybiB0cnVlOwogfQpAQCAtNjU3LDcgKzY2Miw3IEBAIHZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM6OmRpZFByb3ZpZGVDb250ZW50S2V5UmVxdWVzdEluaXRpYWxpemF0aW9u
RGF0YUZvCiAKICAgICBVTlVTRURfUEFSQU0odHJhY2tJRCk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQV9WMikKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
ZGlkUHJvdmlkZUNvbnRlbnRLZXlSZXF1ZXN0SW5pdGlhbGl6YXRpb25EYXRhRm9yVHJhY2tJRCgl
cCkgLSB0cmFjazolZCIsIHRoaXMsIHRyYWNrSUQpOworICAgIExPRyhNZWRpYVNvdXJjZSwgIlNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRQcm92aWRlQ29udGVudEtleVJlcXVlc3RJbml0
aWFsaXphdGlvbkRhdGFGb3JUcmFja0lEKCVwKSAtIHRyYWNrOiVkIiwgdGhpcywgdHJhY2tJRCk7
CiAgICAgbV9wcm90ZWN0ZWRUcmFja0lEID0gdHJhY2tJRDsKICAgICBSZWZQdHI8VWludDhBcnJh
eT4gaW5pdERhdGFBcnJheSA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShbaW5pdERhdGEgbGVuZ3RoXSk7
CiAgICAgW2luaXREYXRhIGdldEJ5dGVzOmluaXREYXRhQXJyYXktPmRhdGEoKSBsZW5ndGg6aW5p
dERhdGFBcnJheS0+bGVuZ3RoKCldOwpAQCAtNjg0LDcgKzY4OSw3IEBAIHN0YXRpYyBkaXNwYXRj
aF9xdWV1ZV90IGdsb2JhbERhdGFQYXJzZXJRdWV1ZSgpCiAKIHZvaWQgU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OmFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBs
ZW5ndGgpCiB7Ci0gICAgTE9HKE1lZGlhLCAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFw
cGVuZCglcCkgLSBkYXRhOiVwLCBsZW5ndGg6JWQiLCB0aGlzLCBkYXRhLCBsZW5ndGgpOworICAg
IExPRyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmQoJXAp
IC0gZGF0YTolcCwgbGVuZ3RoOiVkIiwgdGhpcywgZGF0YSwgbGVuZ3RoKTsKIAogICAgIFJldGFp
blB0cjxOU0RhdGE+IG5zRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0
ZXM6ZGF0YSBsZW5ndGg6bGVuZ3RoXSk7CiAgICAgV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQz4gd2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCk7CkBAIC04NjAsNyArODY1LDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6dW5yZWdpc3RlckZvckVycm9yTm90aWZp
Y2F0aW9ucyhTb3VyY2VCdWZmZXJQcmkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgKmxheWVy
LCBOU0Vycm9yICplcnJvcikKIHsKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoJXApOiBsYXllciglcCksIGVycm9yKCVAKSIs
IHRoaXMsIGxheWVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsKKyAgICBMT0coTWVkaWFTb3VyY2Us
ICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoJXApOiBs
YXllciglcCksIGVycm9yKCVAKSIsIHRoaXMsIGxheWVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsK
ICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fZXJyb3JDbGllbnRzKQogICAgICAgICBjbGllbnQt
PmxheWVyRGlkUmVjZWl2ZUVycm9yKGxheWVyLCBlcnJvcik7CiAKQEAgLTg3Miw3ICs4NzcsNyBA
QCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpsYXllckRpZFJlY2VpdmVFcnJvcihB
VlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcgogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpyZW5kZXJlckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIg
KnJlbmRlcmVyLCBOU0Vycm9yICplcnJvcikKIHsKLSAgICBMT0coTWVkaWEsICJTb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQzo6cmVuZGVyZXJEaWRSZWNlaXZlRXJyb3IoJXApOiByZW5kZXJlcigl
cCksIGVycm9yKCVAKSIsIHRoaXMsIHJlbmRlcmVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsKKyAg
ICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6cmVuZGVyZXJE
aWRSZWNlaXZlRXJyb3IoJXApOiByZW5kZXJlciglcCksIGVycm9yKCVAKSIsIHRoaXMsIHJlbmRl
cmVyLCBbZXJyb3IgZGVzY3JpcHRpb25dKTsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fZXJy
b3JDbGllbnRzKQogICAgICAgICBjbGllbnQtPnJlbmRlcmVyRGlkUmVjZWl2ZUVycm9yKHJlbmRl
cmVyLCBlcnJvcik7CiB9CkBAIC04OTYsNyArOTAxLDcgQEAgc3RhdGljIFJldGFpblB0cjxDTVNh
bXBsZUJ1ZmZlclJlZj4gY3JlYXRlTm9uRGlzcGxheWluZ0NvcHkoQ01TYW1wbGVCdWZmZXJSZWYg
c2EKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmZsdXNoQW5kRW5xdWV1ZU5vbkRp
c3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQdHI8TWVkaWFTYW1wbGU+PiBtZWRpYVNhbXBsZXMs
IEF0b21pY1N0cmluZyB0cmFja0lEU3RyaW5nKQogewogICAgIGludCB0cmFja0lEID0gdHJhY2tJ
RFN0cmluZy50b0ludCgpOwotICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpmbHVzaEFuZEVucXVldWVOb25EaXNwbGF5aW5nU2FtcGxlcyglcCkgc2FtcGxlczogJWQg
c2FtcGxlcywgdHJhY2tJZDogJWQiLCB0aGlzLCBtZWRpYVNhbXBsZXMuc2l6ZSgpLCB0cmFja0lE
KTsKKyAgICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1
c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMoJXApIHNhbXBsZXM6ICVkIHNhbXBsZXMs
IHRyYWNrSWQ6ICVkIiwgdGhpcywgbWVkaWFTYW1wbGVzLnNpemUoKSwgdHJhY2tJRCk7CiAKICAg
ICBpZiAodHJhY2tJRCA9PSBtX2VuYWJsZWRWaWRlb1RyYWNrSUQpCiAgICAgICAgIGZsdXNoQW5k
RW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKG1lZGlhU2FtcGxlcywgbV9kaXNwbGF5TGF5ZXIu
Z2V0KCkpOwpAQCAtOTI3LDYgKzkzMiw4IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmZsdXNoQW5kRW5xdWV1ZU5vbkRpc3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQCiAgICAg
Zm9yIChhdXRvIGl0ID0gbWVkaWFTYW1wbGVzLmJlZ2luKCksIGVuZCA9IG1lZGlhU2FtcGxlcy5l
bmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4mIG1l
ZGlhU2FtcGxlID0gKml0OwogCisgICAgICAgIExPRyhNZWRpYVNvdXJjZVNhbXBsZXMsICJTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBs
ZXMoJXApIC0gc2FtcGxlKCVzKSIsIHRoaXMsIHRvU3RyaW5nKCptZWRpYVNhbXBsZSkudXRmOCgp
LmRhdGEoKSk7CisKICAgICAgICAgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUgPSBtZWRp
YVNhbXBsZS0+cGxhdGZvcm1TYW1wbGUoKTsKICAgICAgICAgQVNTRVJUKHBsYXRmb3JtU2FtcGxl
LnR5cGUgPT0gUGxhdGZvcm1TYW1wbGU6OkNNU2FtcGxlQnVmZmVyVHlwZSk7CiAKQEAgLTk1MSw2
ICs5NTgsOCBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjplbnF1ZXVlU2FtcGxl
KFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+IHBycE1lZGlhUwogICAgIGlmIChwbGF0Zm9ybVNhbXBs
ZS50eXBlICE9IFBsYXRmb3JtU2FtcGxlOjpDTVNhbXBsZUJ1ZmZlclR5cGUpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIExPRyhNZWRpYVNvdXJjZVNhbXBsZXMsICJTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6ZW5xdWV1ZVNhbXBsZSglcCkgLSBzYW1wbGUoJXMpIiwgdGhpcywgdG9TdHJpbmco
Km1lZGlhU2FtcGxlKS51dGY4KCkuZGF0YSgpKTsKKwogICAgIGlmICh0cmFja0lEID09IG1fZW5h
YmxlZFZpZGVvVHJhY2tJRCkgewogICAgICAgICBbbV9kaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBs
ZUJ1ZmZlcjpwbGF0Zm9ybVNhbXBsZS5zYW1wbGUuY21TYW1wbGVCdWZmZXJdOwogICAgICAgICBp
ZiAobV9tZWRpYVNvdXJjZSkK
</data>
<flag name="review"
          id="259304"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>