<?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>171812</bug_id>
          
          <creation_ts>2017-05-08 10:32:45 -0700</creation_ts>
          <short_desc>CoreAudioSharedUnit should own its configuration parameters</short_desc>
          <delta_ts>2017-05-08 15:12:44 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1305928</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-08 10:32:45 -0700</bug_when>
    <thetext>Currently, it takes its parameters (sampleRate, echoCancellation...) from its first client.
But it should really be the last client having either been created or been applying constraints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305936</commentid>
    <comment_count>1</comment_count>
      <attachid>309377</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-08 10:40:09 -0700</bug_when>
    <thetext>Created attachment 309377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305943</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-05-08 10:51:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/32053243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305944</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-05-08 10:53:44 -0700</bug_when>
    <thetext>Attachment 309377 did not pass style-queue:


ERROR: Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:253:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305946</commentid>
    <comment_count>4</comment_count>
      <attachid>309380</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-08 10:56:00 -0700</bug_when>
    <thetext>Created attachment 309380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305989</commentid>
    <comment_count>5</comment_count>
      <attachid>309380</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-05-08 12:22:58 -0700</bug_when>
    <thetext>Comment on attachment 309380
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Adding sampleRate, volume and echoCancellation parameters to the shared audio unit.
&gt; +        Setting default values when creating the shared audio unit and using those for the creation of new sources.

Nit: &quot;Adding&quot; =&gt; &quot;Add&quot;, &quot;Setting&quot; =&gt; &quot;Set&quot;, &quot;using&quot; =&gt; &quot;use&quot;

&gt; Source/WebCore/ChangeLog:14
&gt; +        Checking valid sample rates when trying to apply a sample rate.

Nit: &quot;Checking&quot; =&gt; &quot;Check&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306065</commentid>
    <comment_count>6</comment_count>
      <attachid>309414</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-08 14:43:05 -0700</bug_when>
    <thetext>Created attachment 309414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306080</commentid>
    <comment_count>7</comment_count>
      <attachid>309414</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-08 15:12:42 -0700</bug_when>
    <thetext>Comment on attachment 309414
Patch

Clearing flags on attachment: 309414

Committed r216455: &lt;http://trac.webkit.org/changeset/216455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306081</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-08 15:12:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309377</attachid>
            <date>2017-05-08 10:40:09 -0700</date>
            <delta_ts>2017-05-08 10:55:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171812-20170508104008.patch</filename>
            <type>text/plain</type>
            <size>10962</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjRiNTFlMDEzNDNkODA2
MjZhYWFhMmMyNzQ5NGIyNTdjYWY1YThhYS4uZjk4Mzk2MjA3NzMxNzExYTExOTBmZWNlMzc1ZmMz
NGQ5MDllMGQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE3LTA1LTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBDb3JlQXVkaW9TaGFyZWRV
bml0IHNob3VsZCBvd24gaXRzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxODEyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBtYW51YWwgdGVz
dHMuCisKKyAgICAgICAgQWRkaW5nIHNhbXBsZVJhdGUsIHZvbHVtZSBhbmQgZWNob0NhbmNlbGxh
dGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzaGFyZWQgYXVkaW8gdW5pdC4KKyAgICAgICAgU2V0dGlu
ZyBkZWZhdWx0IHZhbHVlcyB3aGVuIGNyZWF0aW5nIHRoZSBzaGFyZWQgYXVkaW8gdW5pdCBhbmQg
dXNpbmcgdGhvc2UgZm9yIHRoZSBjcmVhdGlvbiBvZiBuZXcgc291cmNlcy4KKyAgICAgICAgQWRk
aW5nIHN1cHBvcnQgZm9yIHZvbHVtZS4KKyAgICAgICAgQWRkaW5nIHN1cHBvcnQgZm9yIGRpc2Fi
bGluZyBlY2hvIGNhbmNlbGxhdGlvbi4KKyAgICAgICAgQ2hlY2tpbmcgdmFsaWQgc2FtcGxlIHJh
dGVzIHdoZW4gdHJ5aW5nIHRvIGFwcGx5IGEgc2FtcGxlIHJhdGUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29yZUF1ZGlvU2hhcmVkVW5pdDo6dm9sdW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OnNhbXBsZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29y
ZUF1ZGlvU2hhcmVkVW5pdDo6ZW5hYmxlRWNob0NhbmNlbGxhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpDb3JlQXVkaW9TaGFyZWRVbml0OjpzZXRWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q29yZUF1ZGlvU2hhcmVkVW5pdDo6c2V0U2FtcGxlUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
b3JlQXVkaW9TaGFyZWRVbml0OjpzZXRFbmFibGVFY2hvQ2FuY2VsbGF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OkNvcmVBdWRpb1NoYXJlZFVuaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvU2hhcmVkVW5pdDo6c2V0dXBBdWRpb1VuaXRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OmNvbmZpZ3VyZU1pY3JvcGhvbmVQ
cm9jKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OmNvbmZpZ3VyZVNw
ZWFrZXJQcm9jKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OnByb2Nl
c3NNaWNyb3Bob25lU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJl
U291cmNlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVB
dWRpb0NhcHR1cmVTb3VyY2U6OmFwcGx5U2FtcGxlUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
b3JlQXVkaW9DYXB0dXJlU291cmNlOjphcHBseUVjaG9DYW5jZWxsYXRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmg6CisKKzIw
MTctMDUtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIENs
ZWFuIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyOjpjYXBhYmlsaXRpZXMgcmV0dXJuIHZhbHVlCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE4MDgKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVNZWRpYVNvdXJjZS5oCmluZGV4IDJhZjYxMWZhZjk0ZjlmODI0ZTEzYmMwNjM0YWZmYTc5Y2U3
M2RmMTAuLjkwNTgyNzAxNDJkMDI3ZTgwMzhjOWRhNDY4MzhmYjYyY2EyNzk2YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1l
ZGlhU291cmNlLmgKQEAgLTIxNSw2ICsyMTUsMTAgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBu
b3RpZnlNdXRlZE9ic2VydmVycygpIGNvbnN0OwogCisgICAgdm9pZCBpbml0aWFsaXplVm9sdW1l
KGRvdWJsZSB2b2x1bWUpIHsgbV92b2x1bWUgPSB2b2x1bWU7IH0KKyAgICB2b2lkIGluaXRpYWxp
emVTYW1wbGVSYXRlKGludCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7
IH0KKyAgICB2b2lkIGluaXRpYWxpemVFY2hvQ2FuY2VsbGF0aW9uKGJvb2wgZWNob0NhbmNlbGxh
dGlvbikgeyBtX2VjaG9DYW5jZWxsYXRpb24gPSBlY2hvQ2FuY2VsbGF0aW9uOyB9CisKICAgICBi
b29sIG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFibGVkIHsgdHJ1ZSB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKaW5kZXggM2Y0NDFlZDk2MTA5ZGQwOWNm
OTI4MzBmMTZhMjA2ZjNlMWY0ZGFkOS4uOTY4M2EwMTVhMDQ4MzViODI2ODMxZjllMDM0Mzk1Njk1
MThiYzBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcApAQCAtODAsNiAr
ODAsNyBAQCBjb25zdCBVSW50MzIgaW5wdXRCdXMgPSAxOwogY2xhc3MgQ29yZUF1ZGlvU2hhcmVk
VW5pdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIENvcmVBdWRpb1NoYXJlZFVuaXQmIHNpbmdsZXRv
bigpOworICAgIENvcmVBdWRpb1NoYXJlZFVuaXQoKTsKIAogICAgIHZvaWQgYWRkQ2xpZW50KENv
cmVBdWRpb0NhcHR1cmVTb3VyY2UmKTsKICAgICB2b2lkIHJlbW92ZUNsaWVudChDb3JlQXVkaW9D
YXB0dXJlU291cmNlJik7CkBAIC0xMDAsNiArMTAxLDE0IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0
IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgbWljcm9waG9uZUZvcm1hdCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWljcm9waG9uZVByb2NGb3JtYXQ7IH0KIAorICAgIGRvdWJsZSB2b2x1bWUoKSBjb25z
dCB7IHJldHVybiBtX3ZvbHVtZTsgfQorICAgIGludCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1
cm4gbV9zYW1wbGVSYXRlOyB9CisgICAgYm9vbCBlbmFibGVFY2hvQ2FuY2VsbGF0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9lbmFibGVFY2hvQ2FuY2VsbGF0aW9uOyB9CisKKyAgICB2b2lkIHNldFZv
bHVtZShkb3VibGUgdm9sdW1lKSB7IG1fdm9sdW1lID0gdm9sdW1lOyB9CisgICAgdm9pZCBzZXRT
YW1wbGVSYXRlKGludCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7IH0K
KyAgICB2b2lkIHNldEVuYWJsZUVjaG9DYW5jZWxsYXRpb24oYm9vbCBlbmFibGVFY2hvQ2FuY2Vs
bGF0aW9uKSB7IG1fZW5hYmxlRWNob0NhbmNlbGxhdGlvbiA9IGVuYWJsZUVjaG9DYW5jZWxsYXRp
b247IH0KKwogcHJpdmF0ZToKICAgICBPU1N0YXR1cyBjb25maWd1cmVTcGVha2VyUHJvYygpOwog
ICAgIE9TU3RhdHVzIGNvbmZpZ3VyZU1pY3JvcGhvbmVQcm9jKCk7CkBAIC0xNTMsNiArMTYyLDEw
IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9zcGVha2VyUHJvY3NDYWxsZWQgeyAwIH07CiAg
ICAgdWludDY0X3QgbV9taWNyb3Bob25lUHJvY3NDYWxsZWQgeyAwIH07CiAjZW5kaWYKKworICAg
IGJvb2wgbV9lbmFibGVFY2hvQ2FuY2VsbGF0aW9uIHsgdHJ1ZSB9OworICAgIGRvdWJsZSBtX3Zv
bHVtZSB7IDEgfTsKKyAgICBpbnQgbV9zYW1wbGVSYXRlOwogfTsKIAogQ29yZUF1ZGlvU2hhcmVk
VW5pdCYgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkKQEAgLTE2MSw2ICsxNzQsMTEg
QEAgQ29yZUF1ZGlvU2hhcmVkVW5pdCYgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkK
ICAgICByZXR1cm4gc2luZ2xldG9uOwogfQogCitDb3JlQXVkaW9TaGFyZWRVbml0OjpDb3JlQXVk
aW9TaGFyZWRVbml0KCkKK3sKKyAgICBtX3NhbXBsZVJhdGUgPSBBdWRpb1Nlc3Npb246OnNoYXJl
ZFNlc3Npb24oKS5zYW1wbGVSYXRlKCk7Cit9CisKIHZvaWQgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6
YWRkQ2xpZW50KENvcmVBdWRpb0NhcHR1cmVTb3VyY2UmIGNsaWVudCkKIHsKICAgICBtX2NsaWVu
dHMuYXBwZW5kKCZjbGllbnQpOwpAQCAtMjI4LDE1ICsyNDYsMjMgQEAgT1NTdGF0dXMgQ29yZUF1
ZGlvU2hhcmVkVW5pdDo6c2V0dXBBdWRpb1VuaXRzKCkKICAgICAgICAgcmV0dXJuIGVycjsKICAg
ICB9CiAKLSAgICB1aW50MzJfdCBwYXJhbSA9IG1fY2xpZW50cy5maXJzdCgpLT5lY2hvQ2FuY2Vs
bGF0aW9uKCk7Ci0gICAgZXJyID0gQXVkaW9Vbml0U2V0UHJvcGVydHkobV9pb1VuaXQsIGtBVVZv
aWNlSU9Qcm9wZXJ0eV9Wb2ljZVByb2Nlc3NpbmdFbmFibGVBR0MsIGtBdWRpb1VuaXRTY29wZV9H
bG9iYWwsIGlucHV0QnVzLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOwotICAgIGlmIChlcnIpIHsK
LSAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdWRpb1Vu
aXRzKCVwKSB1bmFibGUgdG8gc2V0IHZwaW8gdW5pdCBlY2hvIGNhbmNlbGxhdGlvbiwgZXJyb3Ig
JWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKLSAgICAgICAgcmV0dXJu
IGVycjsKKyAgICBpZiAoIW1fZW5hYmxlRWNob0NhbmNlbGxhdGlvbikgeworICAgICAgICB1aW50
MzJfdCBwYXJhbSA9IDA7CisgICAgICAgIGVyciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1faW9V
bml0LCBrQVVWb2ljZUlPUHJvcGVydHlfVm9pY2VQcm9jZXNzaW5nRW5hYmxlQUdDLCBrQXVkaW9V
bml0U2NvcGVfR2xvYmFsLCBpbnB1dEJ1cywgJnBhcmFtLCBzaXplb2YocGFyYW0pKTsKKyAgICAg
ICAgaWYgKGVycikgeworICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZTo6c2V0dXBBdWRpb1VuaXRzKCVwKSB1bmFibGUgdG8gc2V0IHZwaW8gYXV0b21hdGljIGdh
aW4gY29udHJvbCwgZXJyb3IgJWQgKCUuNHMpIix0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIp
OworICAgICAgICAgICAgcmV0dXJuIGVycjsKKyAgICAgICAgfQorICAgICAgICBwYXJhbSA9IDE7
CisgICAgICAgIGVyciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1faW9Vbml0LCBrQVVWb2ljZUlP
UHJvcGVydHlfQnlwYXNzVm9pY2VQcm9jZXNzaW5nLCBrQXVkaW9Vbml0U2NvcGVfR2xvYmFsLCBp
bnB1dEJ1cywgJnBhcmFtLCBzaXplb2YocGFyYW0pKTsKKyAgICAgICAgaWYgKGVycikgeworICAg
ICAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdWRpb1Vu
aXRzKCVwKSB1bmFibGUgdG8gc2V0IHZwaW8gdW5pdCBlY2hvIGNhbmNlbGxhdGlvbiwgZXJyb3Ig
JWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKKyAgICAgICAgICAgIHJl
dHVybiBlcnI7CisgICAgICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgcGFy
YW0gPSAxOworICAgIHVpbnQzMl90IHBhcmFtID0gMTsKICAgICBlcnIgPSBBdWRpb1VuaXRTZXRQ
cm9wZXJ0eShtX2lvVW5pdCwga0F1ZGlvT3V0cHV0VW5pdFByb3BlcnR5X0VuYWJsZUlPLCBrQXVk
aW9Vbml0U2NvcGVfSW5wdXQsIGlucHV0QnVzLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOwogICAg
IGlmIChlcnIpIHsKICAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6
c2V0dXBBdWRpb1VuaXRzKCVwKSB1bmFibGUgdG8gZW5hYmxlIHZwaW8gdW5pdCBpbnB1dCwgZXJy
b3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKQEAgLTI5Miw3ICsz
MTgsNyBAQCBPU1N0YXR1cyBDb3JlQXVkaW9TaGFyZWRVbml0Ojpjb25maWd1cmVNaWNyb3Bob25l
UHJvYygpCiAgICAgICAgIHJldHVybiBlcnI7CiAgICAgfQogCi0gICAgbWljcm9waG9uZVByb2NG
b3JtYXQubVNhbXBsZVJhdGUgPSBtX2NsaWVudHMuZmlyc3QoKS0+c2FtcGxlUmF0ZSgpOworICAg
IG1pY3JvcGhvbmVQcm9jRm9ybWF0Lm1TYW1wbGVSYXRlID0gbV9zYW1wbGVSYXRlOwogICAgIGVy
ciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1faW9Vbml0LCBrQXVkaW9Vbml0UHJvcGVydHlfU3Ry
ZWFtRm9ybWF0LCBrQXVkaW9Vbml0U2NvcGVfT3V0cHV0LCBpbnB1dEJ1cywgJm1pY3JvcGhvbmVQ
cm9jRm9ybWF0LCBzaXplKTsKICAgICBpZiAoZXJyKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIkNv
cmVBdWRpb1NoYXJlZFVuaXQ6OmNvbmZpZ3VyZU1pY3JvcGhvbmVQcm9jKCVwKSB1bmFibGUgdG8g
c2V0IG91dHB1dCBzdHJlYW0gZm9ybWF0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVy
ciwgKGNoYXIqKSZlcnIpOwpAQCAtMzIzLDcgKzM0OSw3IEBAIE9TU3RhdHVzIENvcmVBdWRpb1No
YXJlZFVuaXQ6OmNvbmZpZ3VyZVNwZWFrZXJQcm9jKCkKICAgICAgICAgcmV0dXJuIGVycjsKICAg
ICB9CiAKLSAgICBzcGVha2VyUHJvY0Zvcm1hdC5tU2FtcGxlUmF0ZSA9IG1fY2xpZW50cy5maXJz
dCgpLT5zYW1wbGVSYXRlKCk7CisgICAgc3BlYWtlclByb2NGb3JtYXQubVNhbXBsZVJhdGUgPSBt
X3NhbXBsZVJhdGU7CiAgICAgZXJyID0gQXVkaW9Vbml0U2V0UHJvcGVydHkobV9pb1VuaXQsIGtB
dWRpb1VuaXRQcm9wZXJ0eV9TdHJlYW1Gb3JtYXQsIGtBdWRpb1VuaXRTY29wZV9JbnB1dCwgb3V0
cHV0QnVzLCAmc3BlYWtlclByb2NGb3JtYXQsIHNpemUpOwogICAgIGlmIChlcnIpIHsKICAgICAg
ICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvU2hhcmVkVW5pdDo6Y29uZmlndXJlU3BlYWtlclByb2Mo
JXApIHVuYWJsZSB0byBnZXQgaW5wdXQgc3RyZWFtIGZvcm1hdCwgZXJyb3IgJWQgKCUuNHMpIiwg
dGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKQEAgLTQyOSw2ICs0NTUsOSBAQCBPU1N0YXR1
cyBDb3JlQXVkaW9TaGFyZWRVbml0Ojpwcm9jZXNzTWljcm9waG9uZVNhbXBsZXMoQXVkaW9Vbml0
UmVuZGVyQWN0aW9uRmxhZwogICAgIG1fbGF0ZXN0TWljVGltZVN0YW1wID0gc2FtcGxlVGltZTsK
ICAgICBtX21pY3JvcGhvbmVTYW1wbGVCdWZmZXItPnNldFRpbWVzKGFkanVzdGVkSG9zdFRpbWUs
IHNhbXBsZVRpbWUpOwogCisgICAgaWYgKG1fdm9sdW1lICE9IDEuMCkKKyAgICAgICAgbV9taWNy
b3Bob25lU2FtcGxlQnVmZmVyLT5hcHBseUdhaW4obV92b2x1bWUpOworCiAgICAgZm9yIChhdXRv
KiBjbGllbnQgOiBtX2NsaWVudHMpIHsKICAgICAgICAgaWYgKGNsaWVudC0+aXNQcm9kdWNpbmdE
YXRhKCkpCiAgICAgICAgICAgICBjbGllbnQtPmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVRp
bWUoc2FtcGxlVGltZSwgbV9taWNyb3Bob25lUHJvY0Zvcm1hdC5zYW1wbGVSYXRlKCkpLCBtX21p
Y3JvcGhvbmVTYW1wbGVCdWZmZXItPmJ1ZmZlckxpc3QoKSwgbV9taWNyb3Bob25lUHJvY0Zvcm1h
dCwgaW5OdW1iZXJGcmFtZXMpOwpAQCAtNTk4LDExICs2MjcsMTMgQEAgQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBTdHJpbmcmIGRldmljZUlELCBj
b25zdCBTdHIKIHsKICAgICBtX211dGVkID0gdHJ1ZTsKIAotICAgIHNldFZvbHVtZSgxLjApOwot
ICAgIHNldFNhbXBsZVJhdGUoQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuc2FtcGxlUmF0
ZSgpKTsKLSAgICBzZXRFY2hvQ2FuY2VsbGF0aW9uKHRydWUpOworICAgIGF1dG8mIHVuaXQgPSBD
b3JlQXVkaW9TaGFyZWRVbml0OjpzaW5nbGV0b24oKTsKIAotICAgIENvcmVBdWRpb1NoYXJlZFVu
aXQ6OnNpbmdsZXRvbigpLmFkZENsaWVudCgqdGhpcyk7CisgICAgaW5pdGlhbGl6ZUVjaG9DYW5j
ZWxsYXRpb24odW5pdC5lbmFibGVFY2hvQ2FuY2VsbGF0aW9uKCkpOworICAgIGluaXRpYWxpemVT
YW1wbGVSYXRlKHVuaXQuc2FtcGxlUmF0ZSgpKTsKKyAgICBpbml0aWFsaXplVm9sdW1lKHVuaXQu
dm9sdW1lKCkpOworCisgICAgdW5pdC5hZGRDbGllbnQoKnRoaXMpOwogfQogCiBDb3JlQXVkaW9D
YXB0dXJlU291cmNlOjp+Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSgpCkBAIC03MDQsNiArNzM1LDM1
IEBAIEF1ZGlvU291cmNlUHJvdmlkZXIqIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmF1ZGlvU291
cmNlUHJvdmlkZXIoKQogICAgIHJldHVybiBtX2F1ZGlvU291cmNlUHJvdmlkZXIuZ2V0KCk7CiB9
CiAKK2Jvb2wgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6YXBwbHlTYW1wbGVSYXRlKGludCBzYW1w
bGVSYXRlKQoreworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgYWJsZSB0byBkZXNjcmliZSBz
YW1wbGUgcmF0ZSBhcyBhIGRpc2NyZWV0IHJhbmdlIGNvbnN0cmFpbnQgc28gdGhhdCB3ZSBvbmx5
IGVudGVyIGhlcmUgd2l0aCB2YWx1ZXMgdGhhdCBjYW4gYmUgYXBwbGllZC4KKyAgICBzd2l0Y2gg
KHNhbXBsZVJhdGUpIHsKKyAgICBjYXNlIDgwMDA6CisgICAgY2FzZSAxNjAwMDoKKyAgICBjYXNl
IDMyMDAwOgorICAgIGNhc2UgNDQxMDA6CisgICAgY2FzZSA0ODAwMDoKKyAgICBjYXNlIDk2MDAw
OgorICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkuc2V0U2FtcGxlUmF0
ZShzYW1wbGVSYXRlKTsKKworICAgIC8vIEZJWE1FOiBkbyByZWNvbmZpZ3VyYXRpb24gaWYgYXVk
aW8gdW5pdCBpcyBzdGFydGVkLgorICAgIHJldHVybiB0cnVlOworfQorCitib29sIENvcmVBdWRp
b0NhcHR1cmVTb3VyY2U6OmFwcGx5RWNob0NhbmNlbGxhdGlvbihib29sIGVuYWJsZUVjaG9DYW5j
ZWxsYXRpb24pCit7CisgICAgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkuc2V0RW5h
YmxlRWNob0NhbmNlbGxhdGlvbihlbmFibGVFY2hvQ2FuY2VsbGF0aW9uKTsKKworICAgIC8vIEZJ
WE1FOiBkbyByZWNvbmZpZ3VyYXRpb24gaWYgYXVkaW8gdW5pdCBpcyBzdGFydGVkLgorICAgIHJl
dHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgKaW5kZXggYzUy
OWM4N2FlNmM5ZDhiM2UwNzIzOTIyNGFjNjE2Y2U1ZWEzNjMxNS4uZTM3Zjc5MTUyYmIwZTRmMTFl
MjczMGNhYzEwNzBmNzJjY2Q2OGM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5o
CkBAIC01MSw3ICs1MSw3IEBAIGNsYXNzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTsKIGNsYXNzIENh
cHR1cmVEZXZpY2VJbmZvOwogY2xhc3MgV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM7CiAK
LWNsYXNzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2UgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJj
ZSB7CitjbGFzcyBDb3JlQXVkaW9DYXB0dXJlU291cmNlIGZpbmFsIDogcHVibGljIFJlYWx0aW1l
TWVkaWFTb3VyY2UgewogcHVibGljOgogCiAgICAgc3RhdGljIENhcHR1cmVTb3VyY2VPckVycm9y
IGNyZWF0ZShjb25zdCBTdHJpbmcmIGRldmljZUlELCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKik7
CkBAIC04MCw5ICs4MCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgp
IGZpbmFsOwogICAgIGJvb2wgaXNQcm9kdWNpbmdEYXRhKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9pc1Byb2R1Y2luZ0RhdGE7IH0KIAotICAgIGJvb2wgYXBwbHlWb2x1bWUoZG91YmxlKSBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgYm9vbCBhcHBseVNhbXBsZVJhdGUoaW50KSBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgYm9vbCBhcHBseUVjaG9DYW5jZWxsYXRpb24oYm9v
bCkgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgYXBwbHlWb2x1bWUoZG91Ymxl
KSBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBhcHBseVNhbXBsZVJhdGUoaW50KSBm
aW5hbDsKKyAgICBib29sIGFwcGx5RWNob0NhbmNlbGxhdGlvbihib29sKSBmaW5hbDsKIAogICAg
IGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMmIGNhcGFiaWxpdGllcygpIGNv
bnN0IGZpbmFsOwogICAgIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYgc2V0dGlu
Z3MoKSBjb25zdCBmaW5hbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309380</attachid>
            <date>2017-05-08 10:56:00 -0700</date>
            <delta_ts>2017-05-08 14:42:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171812-20170508105559.patch</filename>
            <type>text/plain</type>
            <size>10963</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjRiNTFlMDEzNDNkODA2
MjZhYWFhMmMyNzQ5NGIyNTdjYWY1YThhYS4uZjk4Mzk2MjA3NzMxNzExYTExOTBmZWNlMzc1ZmMz
NGQ5MDllMGQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE3LTA1LTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBDb3JlQXVkaW9TaGFyZWRV
bml0IHNob3VsZCBvd24gaXRzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxODEyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBtYW51YWwgdGVz
dHMuCisKKyAgICAgICAgQWRkaW5nIHNhbXBsZVJhdGUsIHZvbHVtZSBhbmQgZWNob0NhbmNlbGxh
dGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzaGFyZWQgYXVkaW8gdW5pdC4KKyAgICAgICAgU2V0dGlu
ZyBkZWZhdWx0IHZhbHVlcyB3aGVuIGNyZWF0aW5nIHRoZSBzaGFyZWQgYXVkaW8gdW5pdCBhbmQg
dXNpbmcgdGhvc2UgZm9yIHRoZSBjcmVhdGlvbiBvZiBuZXcgc291cmNlcy4KKyAgICAgICAgQWRk
aW5nIHN1cHBvcnQgZm9yIHZvbHVtZS4KKyAgICAgICAgQWRkaW5nIHN1cHBvcnQgZm9yIGRpc2Fi
bGluZyBlY2hvIGNhbmNlbGxhdGlvbi4KKyAgICAgICAgQ2hlY2tpbmcgdmFsaWQgc2FtcGxlIHJh
dGVzIHdoZW4gdHJ5aW5nIHRvIGFwcGx5IGEgc2FtcGxlIHJhdGUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29yZUF1ZGlvU2hhcmVkVW5pdDo6dm9sdW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OnNhbXBsZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29y
ZUF1ZGlvU2hhcmVkVW5pdDo6ZW5hYmxlRWNob0NhbmNlbGxhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpDb3JlQXVkaW9TaGFyZWRVbml0OjpzZXRWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q29yZUF1ZGlvU2hhcmVkVW5pdDo6c2V0U2FtcGxlUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
b3JlQXVkaW9TaGFyZWRVbml0OjpzZXRFbmFibGVFY2hvQ2FuY2VsbGF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OkNvcmVBdWRpb1NoYXJlZFVuaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvU2hhcmVkVW5pdDo6c2V0dXBBdWRpb1VuaXRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OmNvbmZpZ3VyZU1pY3JvcGhvbmVQ
cm9jKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OmNvbmZpZ3VyZVNw
ZWFrZXJQcm9jKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OnByb2Nl
c3NNaWNyb3Bob25lU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJl
U291cmNlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVB
dWRpb0NhcHR1cmVTb3VyY2U6OmFwcGx5U2FtcGxlUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
b3JlQXVkaW9DYXB0dXJlU291cmNlOjphcHBseUVjaG9DYW5jZWxsYXRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmg6CisKKzIw
MTctMDUtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIENs
ZWFuIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyOjpjYXBhYmlsaXRpZXMgcmV0dXJuIHZhbHVlCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE4MDgKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVNZWRpYVNvdXJjZS5oCmluZGV4IDJhZjYxMWZhZjk0ZjlmODI0ZTEzYmMwNjM0YWZmYTc5Y2U3
M2RmMTAuLjkwNTgyNzAxNDJkMDI3ZTgwMzhjOWRhNDY4MzhmYjYyY2EyNzk2YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1l
ZGlhU291cmNlLmgKQEAgLTIxNSw2ICsyMTUsMTAgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBu
b3RpZnlNdXRlZE9ic2VydmVycygpIGNvbnN0OwogCisgICAgdm9pZCBpbml0aWFsaXplVm9sdW1l
KGRvdWJsZSB2b2x1bWUpIHsgbV92b2x1bWUgPSB2b2x1bWU7IH0KKyAgICB2b2lkIGluaXRpYWxp
emVTYW1wbGVSYXRlKGludCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7
IH0KKyAgICB2b2lkIGluaXRpYWxpemVFY2hvQ2FuY2VsbGF0aW9uKGJvb2wgZWNob0NhbmNlbGxh
dGlvbikgeyBtX2VjaG9DYW5jZWxsYXRpb24gPSBlY2hvQ2FuY2VsbGF0aW9uOyB9CisKICAgICBi
b29sIG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFibGVkIHsgdHJ1ZSB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKaW5kZXggM2Y0NDFlZDk2MTA5ZGQwOWNm
OTI4MzBmMTZhMjA2ZjNlMWY0ZGFkOS4uNTZmZTE2ZjMyNjI2ZmNmMWNlYzIxNGNlNzczZDdjM2Y3
NzcyNmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcApAQCAtODAsNiAr
ODAsNyBAQCBjb25zdCBVSW50MzIgaW5wdXRCdXMgPSAxOwogY2xhc3MgQ29yZUF1ZGlvU2hhcmVk
VW5pdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIENvcmVBdWRpb1NoYXJlZFVuaXQmIHNpbmdsZXRv
bigpOworICAgIENvcmVBdWRpb1NoYXJlZFVuaXQoKTsKIAogICAgIHZvaWQgYWRkQ2xpZW50KENv
cmVBdWRpb0NhcHR1cmVTb3VyY2UmKTsKICAgICB2b2lkIHJlbW92ZUNsaWVudChDb3JlQXVkaW9D
YXB0dXJlU291cmNlJik7CkBAIC0xMDAsNiArMTAxLDE0IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0
IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgbWljcm9waG9uZUZvcm1hdCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWljcm9waG9uZVByb2NGb3JtYXQ7IH0KIAorICAgIGRvdWJsZSB2b2x1bWUoKSBjb25z
dCB7IHJldHVybiBtX3ZvbHVtZTsgfQorICAgIGludCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1
cm4gbV9zYW1wbGVSYXRlOyB9CisgICAgYm9vbCBlbmFibGVFY2hvQ2FuY2VsbGF0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9lbmFibGVFY2hvQ2FuY2VsbGF0aW9uOyB9CisKKyAgICB2b2lkIHNldFZv
bHVtZShkb3VibGUgdm9sdW1lKSB7IG1fdm9sdW1lID0gdm9sdW1lOyB9CisgICAgdm9pZCBzZXRT
YW1wbGVSYXRlKGludCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7IH0K
KyAgICB2b2lkIHNldEVuYWJsZUVjaG9DYW5jZWxsYXRpb24oYm9vbCBlbmFibGVFY2hvQ2FuY2Vs
bGF0aW9uKSB7IG1fZW5hYmxlRWNob0NhbmNlbGxhdGlvbiA9IGVuYWJsZUVjaG9DYW5jZWxsYXRp
b247IH0KKwogcHJpdmF0ZToKICAgICBPU1N0YXR1cyBjb25maWd1cmVTcGVha2VyUHJvYygpOwog
ICAgIE9TU3RhdHVzIGNvbmZpZ3VyZU1pY3JvcGhvbmVQcm9jKCk7CkBAIC0xNTMsNiArMTYyLDEw
IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9zcGVha2VyUHJvY3NDYWxsZWQgeyAwIH07CiAg
ICAgdWludDY0X3QgbV9taWNyb3Bob25lUHJvY3NDYWxsZWQgeyAwIH07CiAjZW5kaWYKKworICAg
IGJvb2wgbV9lbmFibGVFY2hvQ2FuY2VsbGF0aW9uIHsgdHJ1ZSB9OworICAgIGRvdWJsZSBtX3Zv
bHVtZSB7IDEgfTsKKyAgICBpbnQgbV9zYW1wbGVSYXRlOwogfTsKIAogQ29yZUF1ZGlvU2hhcmVk
VW5pdCYgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkKQEAgLTE2MSw2ICsxNzQsMTEg
QEAgQ29yZUF1ZGlvU2hhcmVkVW5pdCYgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkK
ICAgICByZXR1cm4gc2luZ2xldG9uOwogfQogCitDb3JlQXVkaW9TaGFyZWRVbml0OjpDb3JlQXVk
aW9TaGFyZWRVbml0KCkKK3sKKyAgICBtX3NhbXBsZVJhdGUgPSBBdWRpb1Nlc3Npb246OnNoYXJl
ZFNlc3Npb24oKS5zYW1wbGVSYXRlKCk7Cit9CisKIHZvaWQgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6
YWRkQ2xpZW50KENvcmVBdWRpb0NhcHR1cmVTb3VyY2UmIGNsaWVudCkKIHsKICAgICBtX2NsaWVu
dHMuYXBwZW5kKCZjbGllbnQpOwpAQCAtMjI4LDE1ICsyNDYsMjMgQEAgT1NTdGF0dXMgQ29yZUF1
ZGlvU2hhcmVkVW5pdDo6c2V0dXBBdWRpb1VuaXRzKCkKICAgICAgICAgcmV0dXJuIGVycjsKICAg
ICB9CiAKLSAgICB1aW50MzJfdCBwYXJhbSA9IG1fY2xpZW50cy5maXJzdCgpLT5lY2hvQ2FuY2Vs
bGF0aW9uKCk7Ci0gICAgZXJyID0gQXVkaW9Vbml0U2V0UHJvcGVydHkobV9pb1VuaXQsIGtBVVZv
aWNlSU9Qcm9wZXJ0eV9Wb2ljZVByb2Nlc3NpbmdFbmFibGVBR0MsIGtBdWRpb1VuaXRTY29wZV9H
bG9iYWwsIGlucHV0QnVzLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOwotICAgIGlmIChlcnIpIHsK
LSAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdWRpb1Vu
aXRzKCVwKSB1bmFibGUgdG8gc2V0IHZwaW8gdW5pdCBlY2hvIGNhbmNlbGxhdGlvbiwgZXJyb3Ig
JWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKLSAgICAgICAgcmV0dXJu
IGVycjsKKyAgICBpZiAoIW1fZW5hYmxlRWNob0NhbmNlbGxhdGlvbikgeworICAgICAgICB1aW50
MzJfdCBwYXJhbSA9IDA7CisgICAgICAgIGVyciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1faW9V
bml0LCBrQVVWb2ljZUlPUHJvcGVydHlfVm9pY2VQcm9jZXNzaW5nRW5hYmxlQUdDLCBrQXVkaW9V
bml0U2NvcGVfR2xvYmFsLCBpbnB1dEJ1cywgJnBhcmFtLCBzaXplb2YocGFyYW0pKTsKKyAgICAg
ICAgaWYgKGVycikgeworICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZTo6c2V0dXBBdWRpb1VuaXRzKCVwKSB1bmFibGUgdG8gc2V0IHZwaW8gYXV0b21hdGljIGdh
aW4gY29udHJvbCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJy
KTsKKyAgICAgICAgICAgIHJldHVybiBlcnI7CisgICAgICAgIH0KKyAgICAgICAgcGFyYW0gPSAx
OworICAgICAgICBlcnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX2lvVW5pdCwga0FVVm9pY2VJ
T1Byb3BlcnR5X0J5cGFzc1ZvaWNlUHJvY2Vzc2luZywga0F1ZGlvVW5pdFNjb3BlX0dsb2JhbCwg
aW5wdXRCdXMsICZwYXJhbSwgc2l6ZW9mKHBhcmFtKSk7CisgICAgICAgIGlmIChlcnIpIHsKKyAg
ICAgICAgICAgIExPRyhNZWRpYSwgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNldHVwQXVkaW9V
bml0cyglcCkgdW5hYmxlIHRvIHNldCB2cGlvIHVuaXQgZWNobyBjYW5jZWxsYXRpb24sIGVycm9y
ICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7CisgICAgICAgICAgICBy
ZXR1cm4gZXJyOworICAgICAgICB9CiAgICAgfQogCiAjaWYgUExBVEZPUk0oSU9TKQotICAgIHBh
cmFtID0gMTsKKyAgICB1aW50MzJfdCBwYXJhbSA9IDE7CiAgICAgZXJyID0gQXVkaW9Vbml0U2V0
UHJvcGVydHkobV9pb1VuaXQsIGtBdWRpb091dHB1dFVuaXRQcm9wZXJ0eV9FbmFibGVJTywga0F1
ZGlvVW5pdFNjb3BlX0lucHV0LCBpbnB1dEJ1cywgJnBhcmFtLCBzaXplb2YocGFyYW0pKTsKICAg
ICBpZiAoZXJyKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6
OnNldHVwQXVkaW9Vbml0cyglcCkgdW5hYmxlIHRvIGVuYWJsZSB2cGlvIHVuaXQgaW5wdXQsIGVy
cm9yICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7CkBAIC0yOTIsNyAr
MzE4LDcgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6Y29uZmlndXJlTWljcm9waG9u
ZVByb2MoKQogICAgICAgICByZXR1cm4gZXJyOwogICAgIH0KIAotICAgIG1pY3JvcGhvbmVQcm9j
Rm9ybWF0Lm1TYW1wbGVSYXRlID0gbV9jbGllbnRzLmZpcnN0KCktPnNhbXBsZVJhdGUoKTsKKyAg
ICBtaWNyb3Bob25lUHJvY0Zvcm1hdC5tU2FtcGxlUmF0ZSA9IG1fc2FtcGxlUmF0ZTsKICAgICBl
cnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX2lvVW5pdCwga0F1ZGlvVW5pdFByb3BlcnR5X1N0
cmVhbUZvcm1hdCwga0F1ZGlvVW5pdFNjb3BlX091dHB1dCwgaW5wdXRCdXMsICZtaWNyb3Bob25l
UHJvY0Zvcm1hdCwgc2l6ZSk7CiAgICAgaWYgKGVycikgewogICAgICAgICBMT0coTWVkaWEsICJD
b3JlQXVkaW9TaGFyZWRVbml0Ojpjb25maWd1cmVNaWNyb3Bob25lUHJvYyglcCkgdW5hYmxlIHRv
IHNldCBvdXRwdXQgc3RyZWFtIGZvcm1hdCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCll
cnIsIChjaGFyKikmZXJyKTsKQEAgLTMyMyw3ICszNDksNyBAQCBPU1N0YXR1cyBDb3JlQXVkaW9T
aGFyZWRVbml0Ojpjb25maWd1cmVTcGVha2VyUHJvYygpCiAgICAgICAgIHJldHVybiBlcnI7CiAg
ICAgfQogCi0gICAgc3BlYWtlclByb2NGb3JtYXQubVNhbXBsZVJhdGUgPSBtX2NsaWVudHMuZmly
c3QoKS0+c2FtcGxlUmF0ZSgpOworICAgIHNwZWFrZXJQcm9jRm9ybWF0Lm1TYW1wbGVSYXRlID0g
bV9zYW1wbGVSYXRlOwogICAgIGVyciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1faW9Vbml0LCBr
QXVkaW9Vbml0UHJvcGVydHlfU3RyZWFtRm9ybWF0LCBrQXVkaW9Vbml0U2NvcGVfSW5wdXQsIG91
dHB1dEJ1cywgJnNwZWFrZXJQcm9jRm9ybWF0LCBzaXplKTsKICAgICBpZiAoZXJyKSB7CiAgICAg
ICAgIExPRyhNZWRpYSwgIkNvcmVBdWRpb1NoYXJlZFVuaXQ6OmNvbmZpZ3VyZVNwZWFrZXJQcm9j
KCVwKSB1bmFibGUgdG8gZ2V0IGlucHV0IHN0cmVhbSBmb3JtYXQsIGVycm9yICVkICglLjRzKSIs
IHRoaXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7CkBAIC00MjksNiArNDU1LDkgQEAgT1NTdGF0
dXMgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6cHJvY2Vzc01pY3JvcGhvbmVTYW1wbGVzKEF1ZGlvVW5p
dFJlbmRlckFjdGlvbkZsYWcKICAgICBtX2xhdGVzdE1pY1RpbWVTdGFtcCA9IHNhbXBsZVRpbWU7
CiAgICAgbV9taWNyb3Bob25lU2FtcGxlQnVmZmVyLT5zZXRUaW1lcyhhZGp1c3RlZEhvc3RUaW1l
LCBzYW1wbGVUaW1lKTsKIAorICAgIGlmIChtX3ZvbHVtZSAhPSAxLjApCisgICAgICAgIG1fbWlj
cm9waG9uZVNhbXBsZUJ1ZmZlci0+YXBwbHlHYWluKG1fdm9sdW1lKTsKKwogICAgIGZvciAoYXV0
byogY2xpZW50IDogbV9jbGllbnRzKSB7CiAgICAgICAgIGlmIChjbGllbnQtPmlzUHJvZHVjaW5n
RGF0YSgpKQogICAgICAgICAgICAgY2xpZW50LT5hdWRpb1NhbXBsZXNBdmFpbGFibGUoTWVkaWFU
aW1lKHNhbXBsZVRpbWUsIG1fbWljcm9waG9uZVByb2NGb3JtYXQuc2FtcGxlUmF0ZSgpKSwgbV9t
aWNyb3Bob25lU2FtcGxlQnVmZmVyLT5idWZmZXJMaXN0KCksIG1fbWljcm9waG9uZVByb2NGb3Jt
YXQsIGluTnVtYmVyRnJhbWVzKTsKQEAgLTU5OCwxMSArNjI3LDEzIEBAIENvcmVBdWRpb0NhcHR1
cmVTb3VyY2U6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2UoY29uc3QgU3RyaW5nJiBkZXZpY2VJRCwg
Y29uc3QgU3RyCiB7CiAgICAgbV9tdXRlZCA9IHRydWU7CiAKLSAgICBzZXRWb2x1bWUoMS4wKTsK
LSAgICBzZXRTYW1wbGVSYXRlKEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnNhbXBsZVJh
dGUoKSk7Ci0gICAgc2V0RWNob0NhbmNlbGxhdGlvbih0cnVlKTsKKyAgICBhdXRvJiB1bml0ID0g
Q29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCk7CiAKLSAgICBDb3JlQXVkaW9TaGFyZWRV
bml0OjpzaW5nbGV0b24oKS5hZGRDbGllbnQoKnRoaXMpOworICAgIGluaXRpYWxpemVFY2hvQ2Fu
Y2VsbGF0aW9uKHVuaXQuZW5hYmxlRWNob0NhbmNlbGxhdGlvbigpKTsKKyAgICBpbml0aWFsaXpl
U2FtcGxlUmF0ZSh1bml0LnNhbXBsZVJhdGUoKSk7CisgICAgaW5pdGlhbGl6ZVZvbHVtZSh1bml0
LnZvbHVtZSgpKTsKKworICAgIHVuaXQuYWRkQ2xpZW50KCp0aGlzKTsKIH0KIAogQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZTo6fkNvcmVBdWRpb0NhcHR1cmVTb3VyY2UoKQpAQCAtNzA0LDYgKzczNSwz
NSBAQCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjphdWRpb1Nv
dXJjZVByb3ZpZGVyKCkKICAgICByZXR1cm4gbV9hdWRpb1NvdXJjZVByb3ZpZGVyLmdldCgpOwog
fQogCitib29sIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmFwcGx5U2FtcGxlUmF0ZShpbnQgc2Ft
cGxlUmF0ZSkKK3sKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFibGUgdG8gZGVzY3JpYmUg
c2FtcGxlIHJhdGUgYXMgYSBkaXNjcmVldCByYW5nZSBjb25zdHJhaW50IHNvIHRoYXQgd2Ugb25s
eSBlbnRlciBoZXJlIHdpdGggdmFsdWVzIHRoYXQgY2FuIGJlIGFwcGxpZWQuCisgICAgc3dpdGNo
IChzYW1wbGVSYXRlKSB7CisgICAgY2FzZSA4MDAwOgorICAgIGNhc2UgMTYwMDA6CisgICAgY2Fz
ZSAzMjAwMDoKKyAgICBjYXNlIDQ0MTAwOgorICAgIGNhc2UgNDgwMDA6CisgICAgY2FzZSA5NjAw
MDoKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKworICAgIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigpLnNldFNhbXBsZVJh
dGUoc2FtcGxlUmF0ZSk7CisKKyAgICAvLyBGSVhNRTogZG8gcmVjb25maWd1cmF0aW9uIGlmIGF1
ZGlvIHVuaXQgaXMgc3RhcnRlZC4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBDb3JlQXVk
aW9DYXB0dXJlU291cmNlOjphcHBseUVjaG9DYW5jZWxsYXRpb24oYm9vbCBlbmFibGVFY2hvQ2Fu
Y2VsbGF0aW9uKQoreworICAgIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigpLnNldEVu
YWJsZUVjaG9DYW5jZWxsYXRpb24oZW5hYmxlRWNob0NhbmNlbGxhdGlvbik7CisKKyAgICAvLyBG
SVhNRTogZG8gcmVjb25maWd1cmF0aW9uIGlmIGF1ZGlvIHVuaXQgaXMgc3RhcnRlZC4KKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCmluZGV4IGM1
MjljODdhZTZjOWQ4YjNlMDcyMzkyMjRhYzYxNmNlNWVhMzYzMTUuLmUzN2Y3OTE1MmJiMGU0ZjEx
ZTI3MzBjYWMxMDcwZjcyY2NkNjhjNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2Uu
aApAQCAtNTEsNyArNTEsNyBAQCBjbGFzcyBBdWRpb1NhbXBsZURhdGFTb3VyY2U7CiBjbGFzcyBD
YXB0dXJlRGV2aWNlSW5mbzsKIGNsYXNzIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDOwog
Ci1jbGFzcyBDb3JlQXVkaW9DYXB0dXJlU291cmNlIDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3Vy
Y2UgeworY2xhc3MgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSBmaW5hbCA6IHB1YmxpYyBSZWFsdGlt
ZU1lZGlhU291cmNlIHsKIHB1YmxpYzoKIAogICAgIHN0YXRpYyBDYXB0dXJlU291cmNlT3JFcnJv
ciBjcmVhdGUoY29uc3QgU3RyaW5nJiBkZXZpY2VJRCwgY29uc3QgTWVkaWFDb25zdHJhaW50cyop
OwpAQCAtODAsOSArODAsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEo
KSBmaW5hbDsKICAgICBib29sIGlzUHJvZHVjaW5nRGF0YSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1faXNQcm9kdWNpbmdEYXRhOyB9CiAKLSAgICBib29sIGFwcGx5Vm9sdW1lKGRvdWJsZSkgb3Zl
cnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAgIGJvb2wgYXBwbHlTYW1wbGVSYXRlKGludCkgb3Zl
cnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAgIGJvb2wgYXBwbHlFY2hvQ2FuY2VsbGF0aW9uKGJv
b2wpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGFwcGx5Vm9sdW1lKGRvdWJs
ZSkgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgYXBwbHlTYW1wbGVSYXRlKGludCkg
ZmluYWw7CisgICAgYm9vbCBhcHBseUVjaG9DYW5jZWxsYXRpb24oYm9vbCkgZmluYWw7CiAKICAg
ICBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMoKSBj
b25zdCBmaW5hbDsKICAgICBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MmIHNldHRp
bmdzKCkgY29uc3QgZmluYWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309414</attachid>
            <date>2017-05-08 14:43:05 -0700</date>
            <delta_ts>2017-05-08 15:12:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171812-20170508144304.patch</filename>
            <type>text/plain</type>
            <size>10947</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGIxOWMyZTdhNWQ4ZWQ0
OGZlMTQ0YzA5MGNmMmMxYzcwMmFlMTMzZi4uNDk1ZDVhZmRkMDU5YTZkODU3ZWI3NmVkOGM4Mjdl
ZDM0OWYyN2U1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE3LTA1LTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBDb3JlQXVkaW9TaGFyZWRV
bml0IHNob3VsZCBvd24gaXRzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxODEyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIENvdmVyZWQgYnkgbWFudWFsIHRlc3Rz
LgorCisgICAgICAgIEFkZCBzYW1wbGVSYXRlLCB2b2x1bWUgYW5kIGVjaG9DYW5jZWxsYXRpb24g
cGFyYW1ldGVycyB0byB0aGUgc2hhcmVkIGF1ZGlvIHVuaXQuCisgICAgICAgIFNldCBkZWZhdWx0
IHZhbHVlcyB3aGVuIGNyZWF0aW5nIHRoZSBzaGFyZWQgYXVkaW8gdW5pdCBhbmQgdXNlIHRob3Nl
IGZvciB0aGUgY3JlYXRpb24gb2YgbmV3IHNvdXJjZXMuCisgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciB2b2x1bWUuCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBkaXNhYmxpbmcgZWNobyBjYW5jZWxs
YXRpb24uCisgICAgICAgIENoZWNrIHZhbGlkIHNhbXBsZSByYXRlcyB3aGVuIHRyeWluZyB0byBh
cHBseSBhIHNhbXBsZSByYXRlLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9D
b3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1No
YXJlZFVuaXQ6OnZvbHVtZSk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9TaGFyZWRVbml0
OjpzYW1wbGVSYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6OmVu
YWJsZUVjaG9DYW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvU2hhcmVk
VW5pdDo6c2V0Vm9sdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb1NoYXJlZFVuaXQ6
OnNldFNhbXBsZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvU2hhcmVkVW5pdDo6
c2V0RW5hYmxlRWNob0NhbmNlbGxhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9T
aGFyZWRVbml0OjpDb3JlQXVkaW9TaGFyZWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVB
dWRpb1NoYXJlZFVuaXQ6OnNldHVwQXVkaW9Vbml0cyk6CisgICAgICAgIChXZWJDb3JlOjpDb3Jl
QXVkaW9TaGFyZWRVbml0Ojpjb25maWd1cmVNaWNyb3Bob25lUHJvYyk6CisgICAgICAgIChXZWJD
b3JlOjpDb3JlQXVkaW9TaGFyZWRVbml0Ojpjb25maWd1cmVTcGVha2VyUHJvYyk6CisgICAgICAg
IChXZWJDb3JlOjpDb3JlQXVkaW9TaGFyZWRVbml0Ojpwcm9jZXNzTWljcm9waG9uZVNhbXBsZXMp
OgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Q29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjph
cHBseVNhbXBsZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZTo6YXBwbHlFY2hvQ2FuY2VsbGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oOgorCisyMDE3LTA1LTA4ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBbaU9TXSBVbnNldCBhY3RpdmUgbWVk
aWEgY2FwdHVyZSBzb3VyY2Ugd2hlbiBzdG9wcGVkIGNhcHR1cmluZwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxODE1CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2Uu
aAppbmRleCAxMDU0YTg3YmNiZDExYmQ0NTFjMWUxOTczYWY3ZGU1ZWFmZDg2MDI3Li5lZjVkMzYy
ZmY1MDM4YTA4MjE3ZTVjMjM2MjE3MWUxOGY5MzQ4N2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCkBA
IC0yMzQsNiArMjM0LDEwIEBAIHByb3RlY3RlZDoKIAogICAgIHZvaWQgbm90aWZ5TXV0ZWRPYnNl
cnZlcnMoKSBjb25zdDsKIAorICAgIHZvaWQgaW5pdGlhbGl6ZVZvbHVtZShkb3VibGUgdm9sdW1l
KSB7IG1fdm9sdW1lID0gdm9sdW1lOyB9CisgICAgdm9pZCBpbml0aWFsaXplU2FtcGxlUmF0ZShp
bnQgc2FtcGxlUmF0ZSkgeyBtX3NhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOyB9CisgICAgdm9pZCBp
bml0aWFsaXplRWNob0NhbmNlbGxhdGlvbihib29sIGVjaG9DYW5jZWxsYXRpb24pIHsgbV9lY2hv
Q2FuY2VsbGF0aW9uID0gZWNob0NhbmNlbGxhdGlvbjsgfQorCiAgICAgYm9vbCBtX211dGVkIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fZW5hYmxlZCB7IHRydWUgfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRp
b0NhcHR1cmVTb3VyY2UuY3BwCmluZGV4IDE4YjgyNjVkNDI3Mzg1ZTY2ZjRkODY1NzU1ZTMwMDhj
ZGMxZjZiNzUuLjBlYzM5MTA1Mjc0MzAwMDYxMzljNGFjODgwMzE3ZmViZTZkOWFmOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9D
YXB0dXJlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKQEAgLTcyLDYgKzcyLDcgQEAgY29uc3Qg
VUludDMyIGlucHV0QnVzID0gMTsKIGNsYXNzIENvcmVBdWRpb1NoYXJlZFVuaXQgewogcHVibGlj
OgogICAgIHN0YXRpYyBDb3JlQXVkaW9TaGFyZWRVbml0JiBzaW5nbGV0b24oKTsKKyAgICBDb3Jl
QXVkaW9TaGFyZWRVbml0KCk7CiAKICAgICB2b2lkIGFkZENsaWVudChDb3JlQXVkaW9DYXB0dXJl
U291cmNlJik7CiAgICAgdm9pZCByZW1vdmVDbGllbnQoQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSYp
OwpAQCAtOTIsNiArOTMsMTQgQEAgcHVibGljOgogCiAgICAgY29uc3QgQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uJiBtaWNyb3Bob25lRm9ybWF0KCkgY29uc3QgeyByZXR1cm4gbV9taWNyb3Bob25l
UHJvY0Zvcm1hdDsgfQogCisgICAgZG91YmxlIHZvbHVtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdm9s
dW1lOyB9CisgICAgaW50IHNhbXBsZVJhdGUoKSBjb25zdCB7IHJldHVybiBtX3NhbXBsZVJhdGU7
IH0KKyAgICBib29sIGVuYWJsZUVjaG9DYW5jZWxsYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2Vu
YWJsZUVjaG9DYW5jZWxsYXRpb247IH0KKworICAgIHZvaWQgc2V0Vm9sdW1lKGRvdWJsZSB2b2x1
bWUpIHsgbV92b2x1bWUgPSB2b2x1bWU7IH0KKyAgICB2b2lkIHNldFNhbXBsZVJhdGUoaW50IHNh
bXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsgfQorICAgIHZvaWQgc2V0RW5h
YmxlRWNob0NhbmNlbGxhdGlvbihib29sIGVuYWJsZUVjaG9DYW5jZWxsYXRpb24pIHsgbV9lbmFi
bGVFY2hvQ2FuY2VsbGF0aW9uID0gZW5hYmxlRWNob0NhbmNlbGxhdGlvbjsgfQorCiBwcml2YXRl
OgogICAgIE9TU3RhdHVzIGNvbmZpZ3VyZVNwZWFrZXJQcm9jKCk7CiAgICAgT1NTdGF0dXMgY29u
ZmlndXJlTWljcm9waG9uZVByb2MoKTsKQEAgLTE0NSw2ICsxNTQsMTAgQEAgcHJpdmF0ZToKICAg
ICB1aW50NjRfdCBtX3NwZWFrZXJQcm9jc0NhbGxlZCB7IDAgfTsKICAgICB1aW50NjRfdCBtX21p
Y3JvcGhvbmVQcm9jc0NhbGxlZCB7IDAgfTsKICNlbmRpZgorCisgICAgYm9vbCBtX2VuYWJsZUVj
aG9DYW5jZWxsYXRpb24geyB0cnVlIH07CisgICAgZG91YmxlIG1fdm9sdW1lIHsgMSB9OworICAg
IGludCBtX3NhbXBsZVJhdGU7CiB9OwogCiBDb3JlQXVkaW9TaGFyZWRVbml0JiBDb3JlQXVkaW9T
aGFyZWRVbml0OjpzaW5nbGV0b24oKQpAQCAtMTUzLDYgKzE2NiwxMSBAQCBDb3JlQXVkaW9TaGFy
ZWRVbml0JiBDb3JlQXVkaW9TaGFyZWRVbml0OjpzaW5nbGV0b24oKQogICAgIHJldHVybiBzaW5n
bGV0b247CiB9CiAKK0NvcmVBdWRpb1NoYXJlZFVuaXQ6OkNvcmVBdWRpb1NoYXJlZFVuaXQoKQor
eworICAgIG1fc2FtcGxlUmF0ZSA9IEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnNhbXBs
ZVJhdGUoKTsKK30KKwogdm9pZCBDb3JlQXVkaW9TaGFyZWRVbml0OjphZGRDbGllbnQoQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZSYgY2xpZW50KQogewogICAgIG1fY2xpZW50cy5hcHBlbmQoJmNsaWVu
dCk7CkBAIC0yMjAsMTUgKzIzOCwyMyBAQCBPU1N0YXR1cyBDb3JlQXVkaW9TaGFyZWRVbml0Ojpz
ZXR1cEF1ZGlvVW5pdHMoKQogICAgICAgICByZXR1cm4gZXJyOwogICAgIH0KIAotICAgIHVpbnQz
Ml90IHBhcmFtID0gbV9jbGllbnRzLmZpcnN0KCktPmVjaG9DYW5jZWxsYXRpb24oKTsKLSAgICBl
cnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX2lvVW5pdCwga0FVVm9pY2VJT1Byb3BlcnR5X1Zv
aWNlUHJvY2Vzc2luZ0VuYWJsZUFHQywga0F1ZGlvVW5pdFNjb3BlX0dsb2JhbCwgaW5wdXRCdXMs
ICZwYXJhbSwgc2l6ZW9mKHBhcmFtKSk7Ci0gICAgaWYgKGVycikgewotICAgICAgICBMT0coTWVk
aWEsICJDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzZXR1cEF1ZGlvVW5pdHMoJXApIHVuYWJsZSB0
byBzZXQgdnBpbyB1bml0IGVjaG8gY2FuY2VsbGF0aW9uLCBlcnJvciAlZCAoJS40cykiLCB0aGlz
LCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOwotICAgICAgICByZXR1cm4gZXJyOworICAgIGlmICgh
bV9lbmFibGVFY2hvQ2FuY2VsbGF0aW9uKSB7CisgICAgICAgIHVpbnQzMl90IHBhcmFtID0gMDsK
KyAgICAgICAgZXJyID0gQXVkaW9Vbml0U2V0UHJvcGVydHkobV9pb1VuaXQsIGtBVVZvaWNlSU9Q
cm9wZXJ0eV9Wb2ljZVByb2Nlc3NpbmdFbmFibGVBR0MsIGtBdWRpb1VuaXRTY29wZV9HbG9iYWws
IGlucHV0QnVzLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOworICAgICAgICBpZiAoZXJyKSB7Cisg
ICAgICAgICAgICBMT0coTWVkaWEsICJDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzZXR1cEF1ZGlv
VW5pdHMoJXApIHVuYWJsZSB0byBzZXQgdnBpbyBhdXRvbWF0aWMgZ2FpbiBjb250cm9sLCBlcnJv
ciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOworICAgICAgICAgICAg
cmV0dXJuIGVycjsKKyAgICAgICAgfQorICAgICAgICBwYXJhbSA9IDE7CisgICAgICAgIGVyciA9
IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1faW9Vbml0LCBrQVVWb2ljZUlPUHJvcGVydHlfQnlwYXNz
Vm9pY2VQcm9jZXNzaW5nLCBrQXVkaW9Vbml0U2NvcGVfR2xvYmFsLCBpbnB1dEJ1cywgJnBhcmFt
LCBzaXplb2YocGFyYW0pKTsKKyAgICAgICAgaWYgKGVycikgeworICAgICAgICAgICAgTE9HKE1l
ZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdWRpb1VuaXRzKCVwKSB1bmFibGUg
dG8gc2V0IHZwaW8gdW5pdCBlY2hvIGNhbmNlbGxhdGlvbiwgZXJyb3IgJWQgKCUuNHMpIiwgdGhp
cywgKGludCllcnIsIChjaGFyKikmZXJyKTsKKyAgICAgICAgICAgIHJldHVybiBlcnI7CisgICAg
ICAgIH0KICAgICB9CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgcGFyYW0gPSAxOworICAgIHVp
bnQzMl90IHBhcmFtID0gMTsKICAgICBlcnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX2lvVW5p
dCwga0F1ZGlvT3V0cHV0VW5pdFByb3BlcnR5X0VuYWJsZUlPLCBrQXVkaW9Vbml0U2NvcGVfSW5w
dXQsIGlucHV0QnVzLCAmcGFyYW0sIHNpemVvZihwYXJhbSkpOwogICAgIGlmIChlcnIpIHsKICAg
ICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdWRpb1VuaXRz
KCVwKSB1bmFibGUgdG8gZW5hYmxlIHZwaW8gdW5pdCBpbnB1dCwgZXJyb3IgJWQgKCUuNHMpIiwg
dGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKQEAgLTI4NCw3ICszMTAsNyBAQCBPU1N0YXR1
cyBDb3JlQXVkaW9TaGFyZWRVbml0Ojpjb25maWd1cmVNaWNyb3Bob25lUHJvYygpCiAgICAgICAg
IHJldHVybiBlcnI7CiAgICAgfQogCi0gICAgbWljcm9waG9uZVByb2NGb3JtYXQubVNhbXBsZVJh
dGUgPSBtX2NsaWVudHMuZmlyc3QoKS0+c2FtcGxlUmF0ZSgpOworICAgIG1pY3JvcGhvbmVQcm9j
Rm9ybWF0Lm1TYW1wbGVSYXRlID0gbV9zYW1wbGVSYXRlOwogICAgIGVyciA9IEF1ZGlvVW5pdFNl
dFByb3BlcnR5KG1faW9Vbml0LCBrQXVkaW9Vbml0UHJvcGVydHlfU3RyZWFtRm9ybWF0LCBrQXVk
aW9Vbml0U2NvcGVfT3V0cHV0LCBpbnB1dEJ1cywgJm1pY3JvcGhvbmVQcm9jRm9ybWF0LCBzaXpl
KTsKICAgICBpZiAoZXJyKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIkNvcmVBdWRpb1NoYXJlZFVu
aXQ6OmNvbmZpZ3VyZU1pY3JvcGhvbmVQcm9jKCVwKSB1bmFibGUgdG8gc2V0IG91dHB1dCBzdHJl
YW0gZm9ybWF0LCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIp
OwpAQCAtMzE1LDcgKzM0MSw3IEBAIE9TU3RhdHVzIENvcmVBdWRpb1NoYXJlZFVuaXQ6OmNvbmZp
Z3VyZVNwZWFrZXJQcm9jKCkKICAgICAgICAgcmV0dXJuIGVycjsKICAgICB9CiAKLSAgICBzcGVh
a2VyUHJvY0Zvcm1hdC5tU2FtcGxlUmF0ZSA9IG1fY2xpZW50cy5maXJzdCgpLT5zYW1wbGVSYXRl
KCk7CisgICAgc3BlYWtlclByb2NGb3JtYXQubVNhbXBsZVJhdGUgPSBtX3NhbXBsZVJhdGU7CiAg
ICAgZXJyID0gQXVkaW9Vbml0U2V0UHJvcGVydHkobV9pb1VuaXQsIGtBdWRpb1VuaXRQcm9wZXJ0
eV9TdHJlYW1Gb3JtYXQsIGtBdWRpb1VuaXRTY29wZV9JbnB1dCwgb3V0cHV0QnVzLCAmc3BlYWtl
clByb2NGb3JtYXQsIHNpemUpOwogICAgIGlmIChlcnIpIHsKICAgICAgICAgTE9HKE1lZGlhLCAi
Q29yZUF1ZGlvU2hhcmVkVW5pdDo6Y29uZmlndXJlU3BlYWtlclByb2MoJXApIHVuYWJsZSB0byBn
ZXQgaW5wdXQgc3RyZWFtIGZvcm1hdCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIs
IChjaGFyKikmZXJyKTsKQEAgLTQyMSw2ICs0NDcsOSBAQCBPU1N0YXR1cyBDb3JlQXVkaW9TaGFy
ZWRVbml0Ojpwcm9jZXNzTWljcm9waG9uZVNhbXBsZXMoQXVkaW9Vbml0UmVuZGVyQWN0aW9uRmxh
ZwogICAgIG1fbGF0ZXN0TWljVGltZVN0YW1wID0gc2FtcGxlVGltZTsKICAgICBtX21pY3JvcGhv
bmVTYW1wbGVCdWZmZXItPnNldFRpbWVzKGFkanVzdGVkSG9zdFRpbWUsIHNhbXBsZVRpbWUpOwog
CisgICAgaWYgKG1fdm9sdW1lICE9IDEuMCkKKyAgICAgICAgbV9taWNyb3Bob25lU2FtcGxlQnVm
ZmVyLT5hcHBseUdhaW4obV92b2x1bWUpOworCiAgICAgZm9yIChhdXRvKiBjbGllbnQgOiBtX2Ns
aWVudHMpIHsKICAgICAgICAgaWYgKGNsaWVudC0+aXNQcm9kdWNpbmdEYXRhKCkpCiAgICAgICAg
ICAgICBjbGllbnQtPmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVRpbWUoc2FtcGxlVGltZSwg
bV9taWNyb3Bob25lUHJvY0Zvcm1hdC5zYW1wbGVSYXRlKCkpLCBtX21pY3JvcGhvbmVTYW1wbGVC
dWZmZXItPmJ1ZmZlckxpc3QoKSwgbV9taWNyb3Bob25lUHJvY0Zvcm1hdCwgaW5OdW1iZXJGcmFt
ZXMpOwpAQCAtNTkwLDExICs2MTksMTMgQEAgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Q29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBTdHJpbmcmIGRldmljZUlELCBjb25zdCBTdHIKIHsKICAg
ICBtX211dGVkID0gdHJ1ZTsKIAotICAgIHNldFZvbHVtZSgxLjApOwotICAgIHNldFNhbXBsZVJh
dGUoQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuc2FtcGxlUmF0ZSgpKTsKLSAgICBzZXRF
Y2hvQ2FuY2VsbGF0aW9uKHRydWUpOworICAgIGF1dG8mIHVuaXQgPSBDb3JlQXVkaW9TaGFyZWRV
bml0OjpzaW5nbGV0b24oKTsKIAotICAgIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnNpbmdsZXRvbigp
LmFkZENsaWVudCgqdGhpcyk7CisgICAgaW5pdGlhbGl6ZUVjaG9DYW5jZWxsYXRpb24odW5pdC5l
bmFibGVFY2hvQ2FuY2VsbGF0aW9uKCkpOworICAgIGluaXRpYWxpemVTYW1wbGVSYXRlKHVuaXQu
c2FtcGxlUmF0ZSgpKTsKKyAgICBpbml0aWFsaXplVm9sdW1lKHVuaXQudm9sdW1lKCkpOworCisg
ICAgdW5pdC5hZGRDbGllbnQoKnRoaXMpOwogfQogCiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjp+
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSgpCkBAIC03MDAsNiArNzMxLDM1IEBAIEF1ZGlvU291cmNl
UHJvdmlkZXIqIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmF1ZGlvU291cmNlUHJvdmlkZXIoKQog
ICAgIHJldHVybiBtX2F1ZGlvU291cmNlUHJvdmlkZXIuZ2V0KCk7CiB9CiAKK2Jvb2wgQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZTo6YXBwbHlTYW1wbGVSYXRlKGludCBzYW1wbGVSYXRlKQoreworICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgYWJsZSB0byBkZXNjcmliZSBzYW1wbGUgcmF0ZSBhcyBh
IGRpc2NyZWV0IHJhbmdlIGNvbnN0cmFpbnQgc28gdGhhdCB3ZSBvbmx5IGVudGVyIGhlcmUgd2l0
aCB2YWx1ZXMgdGhhdCBjYW4gYmUgYXBwbGllZC4KKyAgICBzd2l0Y2ggKHNhbXBsZVJhdGUpIHsK
KyAgICBjYXNlIDgwMDA6CisgICAgY2FzZSAxNjAwMDoKKyAgICBjYXNlIDMyMDAwOgorICAgIGNh
c2UgNDQxMDA6CisgICAgY2FzZSA0ODAwMDoKKyAgICBjYXNlIDk2MDAwOgorICAgICAgICBicmVh
azsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgQ29y
ZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkuc2V0U2FtcGxlUmF0ZShzYW1wbGVSYXRlKTsK
KworICAgIC8vIEZJWE1FOiBkbyByZWNvbmZpZ3VyYXRpb24gaWYgYXVkaW8gdW5pdCBpcyBzdGFy
dGVkLgorICAgIHJldHVybiB0cnVlOworfQorCitib29sIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6
OmFwcGx5RWNob0NhbmNlbGxhdGlvbihib29sIGVuYWJsZUVjaG9DYW5jZWxsYXRpb24pCit7Cisg
ICAgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6c2luZ2xldG9uKCkuc2V0RW5hYmxlRWNob0NhbmNlbGxh
dGlvbihlbmFibGVFY2hvQ2FuY2VsbGF0aW9uKTsKKworICAgIC8vIEZJWE1FOiBkbyByZWNvbmZp
Z3VyYXRpb24gaWYgYXVkaW8gdW5pdCBpcyBzdGFydGVkLgorICAgIHJldHVybiB0cnVlOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFN
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Nv
cmVBdWRpb0NhcHR1cmVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgKaW5kZXggYzUyOWM4N2FlNmM5ZDhiM2Uw
NzIzOTIyNGFjNjE2Y2U1ZWEzNjMxNS4uZTM3Zjc5MTUyYmIwZTRmMTFlMjczMGNhYzEwNzBmNzJj
Y2Q2OGM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCkBAIC01MSw3ICs1MSw3
IEBAIGNsYXNzIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTsKIGNsYXNzIENhcHR1cmVEZXZpY2VJbmZv
OwogY2xhc3MgV2ViQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM7CiAKLWNsYXNzIENvcmVBdWRp
b0NhcHR1cmVTb3VyY2UgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZSB7CitjbGFzcyBDb3Jl
QXVkaW9DYXB0dXJlU291cmNlIGZpbmFsIDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2Ugewog
cHVibGljOgogCiAgICAgc3RhdGljIENhcHR1cmVTb3VyY2VPckVycm9yIGNyZWF0ZShjb25zdCBT
dHJpbmcmIGRldmljZUlELCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKik7CkBAIC04MCw5ICs4MCw5
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpIGZpbmFsOwogICAgIGJv
b2wgaXNQcm9kdWNpbmdEYXRhKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pc1Byb2R1Y2luZ0Rh
dGE7IH0KIAotICAgIGJvb2wgYXBwbHlWb2x1bWUoZG91YmxlKSBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9Ci0gICAgYm9vbCBhcHBseVNhbXBsZVJhdGUoaW50KSBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9Ci0gICAgYm9vbCBhcHBseUVjaG9DYW5jZWxsYXRpb24oYm9vbCkgb3ZlcnJpZGUgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgIGJvb2wgYXBwbHlWb2x1bWUoZG91YmxlKSBmaW5hbCB7IHJldHVy
biB0cnVlOyB9CisgICAgYm9vbCBhcHBseVNhbXBsZVJhdGUoaW50KSBmaW5hbDsKKyAgICBib29s
IGFwcGx5RWNob0NhbmNlbGxhdGlvbihib29sKSBmaW5hbDsKIAogICAgIGNvbnN0IFJlYWx0aW1l
TWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMmIGNhcGFiaWxpdGllcygpIGNvbnN0IGZpbmFsOwogICAg
IGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYgc2V0dGluZ3MoKSBjb25zdCBmaW5h
bDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>