<?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>143492</bug_id>
          
          <creation_ts>2015-04-07 12:06:37 -0700</creation_ts>
          <short_desc>[Mac] video playing to external device should not be interrupted</short_desc>
          <delta_ts>2015-04-07 13:27:04 -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>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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1083375</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-04-07 12:06:37 -0700</bug_when>
    <thetext>When one video us playing to an external device, other video(s) in the page should play locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083384</commentid>
    <comment_count>1</comment_count>
      <attachid>250284</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-04-07 12:34:18 -0700</bug_when>
    <thetext>Created attachment 250284
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083403</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-04-07 13:26:51 -0700</bug_when>
    <thetext>Committed r182486: https://trac.webkit.org/r182486</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250284</attachid>
            <date>2015-04-07 12:34:18 -0700</date>
            <delta_ts>2015-04-07 13:27:04 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>do_not_interrupt_playback_patch_4.txt</filename>
            <type>text/plain</type>
            <size>19370</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjQ4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY1IEBACisyMDE1LTA0LTA3ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIHZpZGVvIHBs
YXlpbmcgdG8gZXh0ZXJuYWwgZGV2aWNlIHNob3VsZCBub3QgYmUgaW50ZXJydXB0ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQ5MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qczoKKyAgICAgICAgKENvbnRyb2xsZXIucHJv
dG90eXBlLmhhbmRsZVBhbmVsVHJhbnNpdGlvbkVuZCk6ICBEcml2ZS1ieSBmaXggdG8gbWFrZSBz
dXJlIHRoZSBjb250cm9scyBhcmUgCisgICAgICAgICAgICBub3QgaGlkZGVuIGlmIHRoZSBvcGFj
aXR5IHRpbWVyIGlzIHByaW1lZCBiZWZvcmUgdGhleSBnbyBpbnRvIGEgc3RhdGUgd2hlcmUgdGhl
eSBzaG91bGQKKyAgICAgICAgICAgIG5ldmVyIGJlIGhpZGRlbi4KKworICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KTogTWFrZSBpdCBjb25zdC4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFj
a1RhcmdldCk6IE5ldy4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKworICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFTZXNzaW9uOjpjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KTogTmV3LiBTaG9y
dC1jaXJjdWl0IGNhbGwgdG8KKyAgICAgICAgICAgIGNsaWVudCB3aGVuIHdlIGFscmVhZHkga25v
dyB0aGUgYW5zd2VyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhU2Vzc2lvbjo6aXNQbGF5
aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFTZXNzaW9uOjpzdGFydFBsYXlpbmdUb1BsYXliYWNrVGFyZ2V0KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFTZXNzaW9uOjpzdG9wUGxheWluZ1RvUGxheWJhY2tU
YXJnZXQpOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYVNlc3Npb24uaDoKKworICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVNlc3Npb246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQpOiBEZWxldGVk
LCBtb3ZlZCBpbmxpbmUgYW5kIG5ldXRlcmVkCisgICAgICAgICAgICBiZWNhdXNlIG9ubHkgSFRN
TE1lZGlhU2Vzc2lvbiBuZWVkcyB0byB1c2UgdGhlbS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2Vzc2lvbjo6c3RhcnRQbGF5aW5nVG9QbGF5YmFja1RhcmdldCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uOjpzdG9wUGxheWluZ1RvUGxheWJhY2tUYXJnZXQpOiBEaXR0
by4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU2Vzc2lvbjo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb246OmlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFj
a1RhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb246OnN0YXJ0UGxheWluZ1Rv
UGxheWJhY2tUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjpzdG9wUGxh
eWluZ1RvUGxheWJhY2tUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ2xp
ZW50OjpjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU2Vzc2lvbkNsaWVudDo6aXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KToK
KworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6TWVkaWFTZXNzaW9uTWFuYWdlcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXNzaW9uU2hvdWxkQmVn
aW5QbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KTogTmV3LgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKTogRG9uJ3Qg
aW50ZXJydXB0IGFuIGFjdGl2ZSBzZXNzaW9uCisgICAgICAgICAgICBwbGF5aW5nIHRvIGEgdGFy
Z2V0IGRldmljZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2Vy
Lmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6aXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFy
Z2V0KTogTmV3LCBwYXNzdGhyb3VnaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjppc1Bs
YXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQpOgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQpOiBFeHBsaWNpdGx5IGNhbGwgCisgICAg
ICAgICAgICB3aGVuIHBhc3NlZCBhIG5pbCBvciBpbmFjdGl2ZSB0YXJnZXQgY29udGV4dC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0YXJ0
UGxheWluZ1RvUGxheWJhY2tUYXJnZXQpOiBBZGQgbG9nZ2luZy4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0b3BQbGF5aW5nVG9QbGF5YmFj
a1RhcmdldCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6aXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KTogTmV3LiBS
ZXR1cm4KKyAgICAgICAgICAgIHRydWUgd2hlbiBwbGF5aW5nIHdpdGggYW4gYWN0aXZlIGNvbnRl
eHQuCisgICAgICAgIChXZWJDb3JlOjpwbGF5ZXJLVk9Qcm9wZXJ0aWVzKTogIm91dHB1dENvbnRl
eHQiIGlzIG5vdCBvYnNlcnZhYmxlLgorCiAyMDE1LTA0LTA3ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmUtYWRkIEpTUmVhZGFibGVTdHJlYW0gYW5kIEpTUmVhZGFi
bGVTdHJlYW1SZWFkZXIgdGhlIFhjb2RlIHByb2plY3QgdG8KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBs
ZS5qcwkocmV2aXNpb24gMTgyMjg2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNv
bnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNzgzLDcgKzc4
Myw3IEBAIENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAgICB2YXIgb3BhY2l0eSA9IHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuY29udHJvbHMucGFuZWwpLm9wYWNpdHk7CiAgICAg
ICAgIGlmIChwYXJzZUludChvcGFjaXR5KSA+IDApIHsKICAgICAgICAgICAgIHRoaXMuY29udHJv
bHMucGFuZWwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLkNsYXNzTmFtZXMuaGlkZGVuKTsKLSAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgfSBlbHNlIGlmICghdGhpcy5jb250cm9sc0Fsd2F5c1Zpc2li
bGUoKSkgewogICAgICAgICAgICAgdGhpcy5jb250cm9scy5wYW5lbC5jbGFzc0xpc3QuYWRkKHRo
aXMuQ2xhc3NOYW1lcy5oaWRkZW4pOwogICAgICAgICB9CiAgICAgfSwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTgyMjg2KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDg4NSw3ICs0ODg1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRXaXJlbGVzc1BsYXli
YQogICAgICAgICBtX3BsYXllci0+c2V0V2lyZWxlc3NQbGF5YmFja1RhcmdldChkZXZpY2UpOwog
fQogCi1ib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJn
ZXQoKQorYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFy
Z2V0KCkgY29uc3QKIHsKICAgICBib29sIGNhblBsYXkgPSBtX3BsYXllciAmJiBtX3BsYXllci0+
Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpOwogCkBAIC00ODk0LDYgKzQ4OTQsMTUg
QEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpjYW5QbGF5VG9XaXJlbGVzcwogICAgIHJldHVybiBj
YW5QbGF5OwogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmlzUGxheWluZ1RvV2lyZWxlc3NQ
bGF5YmFja1RhcmdldCgpIGNvbnN0Cit7CisgICAgYm9vbCBpc1BsYXlpbmcgPSBtX3BsYXllciAm
JiBtX3BsYXllci0+aXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCk7CisKKyAgICBM
T0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojppc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tU
YXJnZXQoJXApIC0gcmV0dXJuaW5nICVzIiwgdGhpcywgYm9vbFN0cmluZyhpc1BsYXlpbmcpKTsK
KyAgICAKKyAgICByZXR1cm4gaXNQbGF5aW5nOworfQorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnN0YXJ0UGxheWluZ1RvUGxheWJhY2tUYXJnZXQoKQogewogICAgIGlmIChtX3BsYXllcikKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShyZXZpc2lvbiAxODIyODYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzYwLDcgKzM2MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcios
IGJvb2wgdXNlQ2FwdHVyZSkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lyZWxlc3NS
b3V0ZXNBdmFpbGFibGVEaWRDaGFuZ2UoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgY2Fu
UGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9v
bCBjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCBib29sIGlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0KGNvbnN0
IE1lZGlhUGxheWJhY2tUYXJnZXQmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRQ
bGF5aW5nVG9QbGF5YmFja1RhcmdldCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzdG9w
UGxheWluZ1RvUGxheWJhY2tUYXJnZXQoKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhU2Vzc2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFTZXNzaW9uLmNwcAkocmV2aXNpb24gMTgyMjg2KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFTZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE3LDYg
KzMxNywzOCBAQCBib29sIEhUTUxNZWRpYVNlc3Npb246OnJlcXVpcmVzUGxheWJhY2tUCiB7CiAg
ICAgcmV0dXJuIG1faGFzUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlMaXN0ZW5lcnM7CiB9CisK
K2Jvb2wgSFRNTE1lZGlhU2Vzc2lvbjo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgp
IGNvbnN0Cit7CisgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNrVGFyZ2V0
LT5oYXNBY3RpdmVSb3V0ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4g
Y2xpZW50KCkuY2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpOworfQorCitib29sIEhU
TUxNZWRpYVNlc3Npb246OmlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0
Cit7CisgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNrVGFyZ2V0LT5oYXNB
Y3RpdmVSb3V0ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gY2xpZW50
KCkuaXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCk7Cit9CisKK3ZvaWQgSFRNTE1l
ZGlhU2Vzc2lvbjo6c3RhcnRQbGF5aW5nVG9QbGF5YmFja1RhcmdldCgpCit7CisgICAgaWYgKCFt
X3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNrVGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBjbGllbnQoKS5zdGFydFBsYXlpbmdUb1BsYXliYWNrVGFy
Z2V0KCk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhU2Vzc2lvbjo6c3RvcFBsYXlpbmdUb1BsYXliYWNr
VGFyZ2V0KCkKK3sKKyAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tUYXJn
ZXQtPmhhc0FjdGl2ZVJvdXRlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGNsaWVudCgpLnN0
b3BQbGF5aW5nVG9QbGF5YmFja1RhcmdldCgpOworfSAgICAKICNlbmRpZgogCiBNZWRpYVBsYXll
cjo6UHJlbG9hZCBIVE1MTWVkaWFTZXNzaW9uOjplZmZlY3RpdmVQcmVsb2FkRm9yRWxlbWVudChj
b25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFTZXNzaW9uLmgJKHJldmlzaW9uIDE4MjI4NikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Mywx
MSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChj
b25zdCBIVE1MTWVkaWFFbGVtZW50JiwgYm9vbCk7CiAKICAgICB2b2lkIHNldEhhc1BsYXliYWNr
VGFyZ2V0QXZhaWxhYmlsaXR5TGlzdGVuZXJzKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBib29s
KTsKKworICAgIHZpcnR1YWwgYm9vbCBjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIGlzUGxheWluZ1RvV2lyZWxlc3NQbGF5
YmFja1RhcmdldCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFBsYXlp
bmdUb1BsYXliYWNrVGFyZ2V0KCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHN0b3BQbGF5
aW5nVG9QbGF5YmFja1RhcmdldCgpIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBib29sIHJlcXVp
cmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpIGNv
bnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Np
b24uY3BwCShyZXZpc2lvbiAxODIyODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9NZWRpYVNlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsMjEgKzIyNyw2IEBAIE1l
ZGlhU2Vzc2lvbjo6RGlzcGxheVR5cGUgTWVkaWFTZXNzaW9uOjoKICAgICByZXR1cm4gbV9jbGll
bnQuZGlzcGxheVR5cGUoKTsKIH0KIAotYm9vbCBNZWRpYVNlc3Npb246OmNhblBsYXlUb1dpcmVs
ZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdAotewotICAgIHJldHVybiBtX2NsaWVudC5jYW5QbGF5
VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCk7Ci19Ci0KLXZvaWQgTWVkaWFTZXNzaW9uOjpzdGFy
dFBsYXlpbmdUb1BsYXliYWNrVGFyZ2V0KCkKLXsKLSAgICBjbGllbnQoKS5zdGFydFBsYXlpbmdU
b1BsYXliYWNrVGFyZ2V0KCk7Ci19Ci0KLXZvaWQgTWVkaWFTZXNzaW9uOjpzdG9wUGxheWluZ1Rv
UGxheWJhY2tUYXJnZXQoKQotewotICAgIGNsaWVudCgpLnN0b3BQbGF5aW5nVG9QbGF5YmFja1Rh
cmdldCgpOwotfQotCiBTdHJpbmcgTWVkaWFTZXNzaW9uQ2xpZW50OjptZWRpYVNlc3Npb25UaXRs
ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFN0cmluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgJKHJldmlzaW9uIDE4MjI4NikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTcsOSArMTE3LDEwIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNIaWRkZW4oKSBjb25z
dDsKIAotICAgIGJvb2wgY2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0Owot
ICAgIHZvaWQgc3RhcnRQbGF5aW5nVG9QbGF5YmFja1RhcmdldCgpOwotICAgIHZvaWQgc3RvcFBs
YXlpbmdUb1BsYXliYWNrVGFyZ2V0KCk7CisgICAgdmlydHVhbCBib29sIGNhblBsYXlUb1dpcmVs
ZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwg
Ym9vbCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzdGFydFBsYXlpbmdUb1BsYXliYWNrVGFyZ2V0KCkg
eyB9CisgICAgdmlydHVhbCB2b2lkIHN0b3BQbGF5aW5nVG9QbGF5YmFja1RhcmdldCgpIHsgfQog
CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICAvLyBNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyQ2xpZW50CkBAIC0xNjksNyArMTcwLDggQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIHdpcmVsZXNzUm91dGVzQXZhaWxhYmxlRGlkQ2hhbmdlKCkgeyB9CiAgICAg
dmlydHVhbCB2b2lkIHNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoY29uc3QgTWVkaWFQbGF5YmFj
a1RhcmdldCYpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNr
VGFyZ2V0KCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuUGxheVRvV2ly
ZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBib29sIGlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0UGxheWluZ1RvUGxheWJhY2tUYXJnZXQo
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3RvcFBsYXlpbmdUb1BsYXliYWNrVGFyZ2V0KCkgeyB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxODIyODYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNyArNDUsNiBAQCBNZWRpYVNlc3Npb25NYW5hZ2VyJiBNZWRpYVNlc3Npb25NYW5hZ2VyCiAK
IE1lZGlhU2Vzc2lvbk1hbmFnZXI6Ok1lZGlhU2Vzc2lvbk1hbmFnZXIoKQogICAgIDogbV9zeXN0
ZW1TbGVlcExpc3RlbmVyKFN5c3RlbVNsZWVwTGlzdGVuZXI6OmNyZWF0ZSgqdGhpcykpCi0gICAg
LCBtX2ludGVycnVwdGVkKGZhbHNlKQogewogICAgIHJlc2V0UmVzdHJpY3Rpb25zKCk7CiB9CkBA
IC0xNjcsNiArMTY2LDI1IEBAIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OlNlc3Npb25SZXN0cmljdGlv
bnMKICAgICByZXR1cm4gbV9yZXN0cmljdGlvbnNbdHlwZV07CiB9CiAKK2Jvb2wgTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2Vzc2lvblNob3VsZEJlZ2luUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFja1Rh
cmdldChNZWRpYVNlc3Npb24mIHNlc3Npb24pIGNvbnN0Cit7CisgICAgaWYgKCFzZXNzaW9uLmNh
blBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaWYgKHNlc3Npb24uaXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFZlY3RvcjxNZWRpYVNlc3Npb24qPiBzZXNzaW9u
cyA9IG1fc2Vzc2lvbnM7CisgICAgZm9yIChhdXRvKiBvbmVTZXNzaW9uIDogc2Vzc2lvbnMpIHsK
KyAgICAgICAgaWYgKG9uZVNlc3Npb24gPT0gJnNlc3Npb24pCisgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgaWYgKG9uZVNlc3Npb24tPmlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFja1Rh
cmdldCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0
cnVlOworfQorCiBib29sIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25XaWxsQmVnaW5QbGF5
YmFjayhNZWRpYVNlc3Npb24mIHNlc3Npb24pCiB7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrIC0gJXAiLCAmc2Vzc2lvbik7CkBA
IC0xODYsMTcgKzIwNCwxOSBAQCBib29sIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25XaWxs
QmVnCiAgICAgaWYgKG1faW50ZXJydXB0ZWQpCiAgICAgICAgIGVuZEludGVycnVwdGlvbihNZWRp
YVNlc3Npb246Ok5vRmxhZ3MpOwogCi0gICAgYm9vbCBuZXdTZXNzaW9uQ2FuUGxheVRvUGxheWJh
Y2tUYXJnZXQgPSBzZXNzaW9uLmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKTsKKyAg
ICBib29sIHNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0ID0gc2Vzc2lvblNob3VsZEJlZ2luUGxh
eWluZ1RvV2lyZWxlc3NQbGF5YmFja1RhcmdldChzZXNzaW9uKTsKICAgICBWZWN0b3I8TWVkaWFT
ZXNzaW9uKj4gc2Vzc2lvbnMgPSBtX3Nlc3Npb25zOwogICAgIGZvciAoYXV0byogb25lU2Vzc2lv
biA6IHNlc3Npb25zKSB7CiAgICAgICAgIGlmIChvbmVTZXNzaW9uID09ICZzZXNzaW9uKQogICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChuZXdTZXNzaW9uQ2FuUGxheVRvUGxheWJh
Y2tUYXJnZXQpCisgICAgICAgIGlmIChzaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCkKICAgICAg
ICAgICAgIG9uZVNlc3Npb24tPnN0b3BQbGF5aW5nVG9QbGF5YmFja1RhcmdldCgpOwogICAgICAg
ICBpZiAob25lU2Vzc2lvbi0+bWVkaWFUeXBlKCkgPT0gc2Vzc2lvblR5cGUgJiYgcmVzdHJpY3Rp
b25zICYgQ29uY3VycmVudFBsYXliYWNrTm90UGVybWl0dGVkKQogICAgICAgICAgICAgb25lU2Vz
c2lvbi0+cGF1c2VTZXNzaW9uKCk7CiAgICAgfQotICAgIHNlc3Npb24uc3RhcnRQbGF5aW5nVG9Q
bGF5YmFja1RhcmdldCgpOworCisgICAgaWYgKHNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KQor
ICAgICAgICBzZXNzaW9uLnN0YXJ0UGxheWluZ1RvUGxheWJhY2tUYXJnZXQoKTsKIAogICAgIHVw
ZGF0ZVNlc3Npb25TdGF0ZSgpOwogICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNp
b24gMTgyMjg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9u
TWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNiArMTAxLDcgQEAgcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgSW50ZXJuYWxzOwogCiAgICAgdm9pZCB1cGRhdGVTZXNzaW9uU3RhdGUo
KTsKKyAgICBib29sIHNlc3Npb25TaG91bGRCZWdpblBsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tU
YXJnZXQoTWVkaWFTZXNzaW9uJikgY29uc3Q7CiAKICAgICAvLyBSZW1vdGVDb21tYW5kTGlzdGVu
ZXJDbGllbnQKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKE1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlKSBv
dmVycmlkZTsKQEAgLTExNywxMCArMTE4LDExIEBAIHByaXZhdGU6CiAgICAgU2Vzc2lvblJlc3Ry
aWN0aW9ucyBtX3Jlc3RyaWN0aW9uc1tNZWRpYVNlc3Npb246OldlYkF1ZGlvICsgMV07CiAKICAg
ICBWZWN0b3I8TWVkaWFTZXNzaW9uKj4gbV9zZXNzaW9uczsKKwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZW1vdGVDb21tYW5kTGlzdGVuZXI+IG1fcmVtb3RlQ29tbWFuZExpc3RlbmVyOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxTeXN0ZW1TbGVlcExpc3RlbmVyPiBtX3N5c3RlbVNsZWVwTGlzdGVuZXI7
CiAgICAgUmVmUHRyPEF1ZGlvSGFyZHdhcmVMaXN0ZW5lcj4gbV9hdWRpb0hhcmR3YXJlTGlzdGVu
ZXI7Ci0gICAgYm9vbCBtX2ludGVycnVwdGVkOworICAgIGJvb2wgbV9pbnRlcnJ1cHRlZCB7IGZh
bHNlIH07CiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCShyZXZpc2lvbiAxODIyODYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3
OCw2ICs4NzgsMTEgQEAgYm9vbCBNZWRpYVBsYXllcjo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5Ygog
ICAgIHJldHVybiBtX3ByaXZhdGUtPmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKTsK
IH0KIAorYm9vbCBNZWRpYVBsYXllcjo6aXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5pc1BsYXlpbmdUb1dpcmVsZXNzUGxh
eWJhY2tUYXJnZXQoKTsKK30KKwogdm9pZCBNZWRpYVBsYXllcjo6c2V0V2lyZWxlc3NQbGF5YmFj
a1RhcmdldChjb25zdCBNZWRpYVBsYXliYWNrVGFyZ2V0JiBkZXZpY2UpCiB7CiAgICAgbV9wcml2
YXRlLT5zZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0KGRldmljZSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHJldmlzaW9uIDE4MjI4
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ4MCw2ICs0ODAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwbGF5YmFj
a1RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWQoKTsKIAogICAgIGJvb2wgY2FuUGxheVRvV2lyZWxl
c3NQbGF5YmFja1RhcmdldCgpIGNvbnN0OworICAgIGJvb2wgaXNQbGF5aW5nVG9XaXJlbGVzc1Bs
YXliYWNrVGFyZ2V0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
KGNvbnN0IE1lZGlhUGxheWJhY2tUYXJnZXQmKTsKIAogICAgIHZvaWQgc3RhcnRQbGF5aW5nVG9Q
bGF5YmFja1RhcmdldCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgJKHJldmlzaW9uIDE4MjI4NikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzAsNiArMTcwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sKSB7IH0KIAogICAgIHZpcnR1YWwg
Ym9vbCBjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0
KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0V2lyZWxlc3NQbGF5YmFj
a1RhcmdldChjb25zdCBNZWRpYVBsYXliYWNrVGFyZ2V0JikgeyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRQbGF5aW5nVG9QbGF5YmFja1RhcmdldCgpIHsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMuaAkocmV2aXNpb24gMTgyMjg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTQgKzI3NywxNSBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHdpcmVsZXNzUGxh
eWJhY2tUYXJnZXRUeXBlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHdpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2
b2lkIHNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgYm9vbCBjYW5QbGF5VG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgdXBkYXRlRGlzYWJsZUV4dGVybmFsUGxheWJhY2soKTsK
LSAgICBib29sIGNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICYmICFQTEFURk9STShJT1MpCiAgICAgdmlydHVhbCB2b2lkIHNldFdpcmVsZXNzUGxheWJhY2tU
YXJnZXQoY29uc3QgTWVkaWFQbGF5YmFja1RhcmdldCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCBzdGFydFBsYXlpbmdUb1BsYXliYWNrVGFyZ2V0KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHN0b3BQbGF5aW5nVG9QbGF5YmFja1RhcmdldCgpIG92ZXJyaWRlOworICAgIHZpcnR1
YWwgYm9vbCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKTsKICNlbmRpZgogCiAg
ICAgdmlydHVhbCBkb3VibGUgbWF4RmFzdEZvcndhcmRSYXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9jYWNoZWRDYW5QbGF5RmFzdEZvcndhcmQgPyBzdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46OmluZmluaXR5KCkgOiAyLjA7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQko
cmV2aXNpb24gMTgyMjg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjc2NSw2ICsyNzY1LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDOgogewogICAgIG1fb3V0cHV0Q29udGV4dCA9IHRhcmdldC5kZXZpY2VQ
aWNrZXJDb250ZXh0KCk7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQzo6c2V0V2lyZWxlc3NQbGF5YmFja1RhcmdldCglcCkgLSB0YXJnZXQgPSAlcCIs
IHRoaXMsIG1fb3V0cHV0Q29udGV4dC5nZXQoKSk7CisKKyAgICBpZiAoIW1fb3V0cHV0Q29udGV4
dCB8fCAhbV9vdXRwdXRDb250ZXh0LmdldCgpLmRldmljZU5hbWUpCisgICAgICAgIHN0b3BQbGF5
aW5nVG9QbGF5YmFja1RhcmdldCgpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnN0YXJ0UGxheWluZ1RvUGxheWJhY2tUYXJnZXQoKQpAQCAtMjc3OCw2ICsy
NzgxLDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOgogICAgIHNl
dERlbGF5Q2FsbGJhY2tzKHRydWUpOwogICAgIG1fYXZQbGF5ZXIuZ2V0KCkub3V0cHV0Q29udGV4
dCA9IG1fb3V0cHV0Q29udGV4dC5nZXQoKTsKICAgICBzZXREZWxheUNhbGxiYWNrcyhmYWxzZSk7
CisKKyAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpz
dGFydFBsYXlpbmdUb1BsYXliYWNrVGFyZ2V0KCVwKSAtIHRhcmdldCA9ICVwIiwgdGhpcywgbV9h
dlBsYXllci5nZXQoKS5vdXRwdXRDb250ZXh0KTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOjpzdG9wUGxheWluZ1RvUGxheWJhY2tUYXJnZXQoKQpAQCAtMjc4
OSw4ICsyNzk0LDIxIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzoK
ICAgICAvLyBGSVhNRTogdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZSBvbmNlIHJkYXI6Ly8y
MDMzNTIxNyBoYXMgYmVlbiBmaXhlZC4KICAgICAvLyBtX2F2UGxheWVyLmdldCgpLm91dHB1dENv
bnRleHQgPSBuaWw7CiAgICAgc2V0RGVsYXlDYWxsYmFja3MoZmFsc2UpOworCisgICAgTE9HKE1l
ZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c3RvcFBsYXlpbmdUb1Bs
YXliYWNrVGFyZ2V0KCVwKSAtIHRhcmdldCA9ICVwIiwgdGhpcywgbV9hdlBsYXllci5nZXQoKS5v
dXRwdXRDb250ZXh0KTsKIH0KLSNlbmRpZgorCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OmlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpCit7CisgICAg
aWYgKCFtX2F2UGxheWVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fb3V0
cHV0Q29udGV4dCB8fCAhbV9vdXRwdXRDb250ZXh0LmdldCgpLmRldmljZU5hbWUpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX2NhY2hlZFJhdGU7Cit9CisjZW5kaWYgLy8g
IVBMQVRGT1JNKElPUykKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Ojp1cGRhdGVEaXNhYmxlRXh0ZXJuYWxQbGF5YmFjaygpCiB7CkBAIC0zMTA3LDcgKzMxMjUsNyBA
QCBOU0FycmF5KiBwbGF5ZXJLVk9Qcm9wZXJ0aWVzKCkKIHsKICAgICBzdGF0aWMgTlNBcnJheSog
a2V5cyA9IFtbTlNBcnJheSBhbGxvY10gaW5pdFdpdGhPYmplY3RzOkAicmF0ZSIsCiAjaWYgRU5B
QkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBAImV4dGVybmFsUGxheWJhY2tBY3RpdmUiLCBAIm91dHB1dENvbnRleHQiLCBAImFsbG93c0V4
dGVybmFsUGxheWJhY2siLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAiZXh0ZXJuYWxQ
bGF5YmFja0FjdGl2ZSIsIEAiYWxsb3dzRXh0ZXJuYWxQbGF5YmFjayIsCiAjZW5kaWYKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBuaWxdOwogICAgIHJldHVybiBrZXlzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>