<?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>130172</bug_id>
          
          <creation_ts>2014-03-12 19:28:23 -0700</creation_ts>
          <short_desc>[iOS] Sync media playback with now playing</short_desc>
          <delta_ts>2014-03-13 11:25:43 -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>
          <cc>calvaris</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>989902</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-12 19:28:23 -0700</bug_when>
    <thetext>Pass information about the currently playing media element to MPNowPlayingInfoCenter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989907</commentid>
    <comment_count>1</comment_count>
      <attachid>226569</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-12 19:52:59 -0700</bug_when>
    <thetext>Created attachment 226569
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990014</commentid>
    <comment_count>2</comment_count>
      <attachid>226569</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-13 08:49:06 -0700</bug_when>
    <thetext>Comment on attachment 226569
Proposed patch.

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

r=me

&gt; Source/WebCore/platform/audio/MediaSessionManager.cpp:157
&gt; -
&gt; +    

Whew, I was worried I wouldn&apos;t have a nit!  Ahem, unnecessary whitespace.

&gt; Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:42
&gt; +#import &lt;MediaPlayer/MPRemoteCommand.h&gt;
&gt; +#import &lt;MediaPlayer/MPRemoteCommandCenter.h&gt;
&gt; +#import &lt;MediaPlayer/MPRemoteCommandEvent.h&gt;

It looks like these are unused.  (For now.)

&gt; Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:71
&gt; +SOFT_LINK_CLASS(MediaPlayer, MPRemoteCommandCenter)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990084</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-03-13 11:25:30 -0700</bug_when>
    <thetext>Committed r165552: https://trac.webkit.org/r165552</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226569</attachid>
            <date>2014-03-12 19:52:59 -0700</date>
            <delta_ts>2014-03-13 11:25:43 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>patch_4.txt</filename>
            <type>text/plain</type>
            <size>17901</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTUyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDE0LTAzLTEyICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFN5bmMgbWVk
aWEgcGxheWJhY2sgd2l0aCBub3cgcGxheWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwbGF5KTogTW92ZSBjbGllbnRX
aWxsQmVnaW5QbGF5YmFjayB0bworICAgICAgICAgICAgcGxheUludGVybmFsIHNvIGl0IGlzIGNh
bGxlZCBldmVyeSB0aW1lIHBsYXliYWNrIGJlZ2lucy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbCk6IENhbGwgY2xpZW50V2lsbEJlZ2luUGxheWJhY2su
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwYXVzZSk6IE1vdmUgY2xpZW50
V2lsbFBhdXNlUGxheWJhY2sgdG8KKyAgICAgICAgICAgIHBsYXlJbnRlcm5hbCBzbyBpdCBpcyBj
YWxsZWQgZXZlcnkgdGltZSBwbGF5YmFjayBiZWdpbnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwpOiBDYWxsIGNsaWVudFdpbGxQYXVzZVBsYXliYWNr
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFTZXNzaW9uVGl0bGUp
OiBOZXcuIFJldHVybiB0aGUgJ3RpdGxlJyBhdHRyaWJ1dGUsCisgICAgICAgICAgICBvciBjdXJy
ZW5TcmMgaWYgdGhhdCBpcyBlbXB0eS4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvbkR1cmF0
aW9uKTogUmV0dXJuIGR1cmF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFTZXNzaW9uQ3VycmVudFRpbWUpOiBSZXR1cm4gY3VycmVudCB0aW1lLgorCisgICAg
ICAgICogcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU2Vzc2lvbjo6Y2xpZW50V2lsbFBhdXNlUGxheWJhY2spOiBOZXcsIHBhc3N0aHJvdWdo
IHRvIHRoZQorICAgICAgICAgICAgbWVkaWEgZWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU2Vzc2lvbjo6dGl0bGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lv
bjo6ZHVyYXRpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbjo6Y3Vy
cmVudFRpbWUpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkNsaWVudDo6bWVkaWFTZXNzaW9uVGl0
bGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uQ2xpZW50OjptZWRpYVNlc3Npb25E
dXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25DbGllbnQ6Om1lZGlhU2Vz
c2lvbkN1cnJlbnRUaW1lKToKKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lv
bk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6TWVk
aWFTZXNzaW9uTWFuYWdlcik6IEluaXRpYWxpemUgbV9hY3RpdmVTZXNzaW9uLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVtb3ZlU2Vzc2lvbik6IFNldCBtX2FjdGl2
ZVNlc3Npb24gaWYgdGhlIHNlc3Npb24KKyAgICAgICAgICAgIGJlaW5nIHJlbW92ZWQgaXMgY3Vy
cmVudGx5IGFjdGl2ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNl
c3Npb25XaWxsQmVnaW5QbGF5YmFjayk6IFNldCBtX2FjdGl2ZVNlc3Npb24uCisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbldpbGxFbmRQbGF5YmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXRDdXJyZW50U2Vzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpjdXJyZW50U2Vzc2lvbik6CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdpblBsYXli
YWNrKTogQ2FsbCB1cGRhdGVOb3dQbGF5aW5nSW5mby4gCisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVNlc3Npb25NYW5hZ2VyaU9TOjpzZXNzaW9uV2lsbEVuZFBsYXliYWNrKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjp1cGRhdGVOb3dQbGF5aW5nSW5m
byk6IFVwZGF0ZSBNUE5vd1BsYXlpbmdJbmZvQ2VudGVyCisgICAgICAgICAgICB3aXRoIHRoZSBj
dXJyZW50IG1lZGlhIGl0ZW0ncyB0aXRsZSwgZHVyYXRpb24sIGFuZCBjdXJyZW50IHRpbWUuCisg
ICAgICAgICgtW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBpbml0V2l0aENhbGxiYWNrOl0pOiBUdXJu
IG9uIGRlbGl2ZXIgb2YgcmVtb3RlIGNvbnRyb2wKKyAgICAgICAgICAgIGV2ZW50cywgZXZlbiB0
aG91Z2ggd2UgZG9uJ3QgcmVzcG9uZCB0byB0aGVtIHlldCwgb3IgTm93IFBsYXlpbmcgd29uJ3Qg
d29yay4KKwogMjAxNC0wMy0xMiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgUmVwbGF5OiBhZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIG1lbW9pemluZyBub25kZXRl
cm1pbmlzdGljIERPTSBBUElzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE2NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2ODIsMTggKzI2ODIsMTggQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5KCkKICAgICBpZiAoU2NyaXB0Q29udHJvbGxlcjo6cHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlKCkpCiAgICAgICAgIHJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9u
c0FmdGVyRmlyc3RVc2VyR2VzdHVyZSgpOwogCi0gICAgaWYgKCFtX21lZGlhU2Vzc2lvbi0+Y2xp
ZW50V2lsbEJlZ2luUGxheWJhY2soKSkgewotICAgICAgICBMT0coTWVkaWEsICIgIHJldHVybmlu
ZyBiZWNhdXNlIG9mIGludGVycnVwdGlvbiIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAg
IAogICAgIHBsYXlJbnRlcm5hbCgpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXlJ
bnRlcm5hbCgpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6cGxheUludGVy
bmFsIik7Ci0KKyAgICAKKyAgICBpZiAoIW1fbWVkaWFTZXNzaW9uLT5jbGllbnRXaWxsQmVnaW5Q
bGF5YmFjaygpKSB7CisgICAgICAgIExPRyhNZWRpYSwgIiAgcmV0dXJuaW5nIGJlY2F1c2Ugb2Yg
aW50ZXJydXB0aW9uIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCiAgICAgLy8gNC44
LjEwLjkuIFBsYXlpbmcgdGhlIG1lZGlhIHJlc291cmNlCiAgICAgaWYgKCFtX3BsYXllciB8fCBt
X25ldHdvcmtTdGF0ZSA9PSBORVRXT1JLX0VNUFRZKQogICAgICAgICBzY2hlZHVsZURlbGF5ZWRB
Y3Rpb24oTG9hZE1lZGlhUmVzb3VyY2UpOwpAQCAtMjcyOSwxMSArMjcyOSw2IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cGF1c2UoKQogICAgIGlmICghbV9tZWRpYVNlc3Npb24tPnBsYXliYWNr
UGVybWl0dGVkKCp0aGlzKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX21lZGlhU2Vz
c2lvbi0+Y2xpZW50V2lsbFBhdXNlUGxheWJhY2soKSkgewotICAgICAgICBMT0coTWVkaWEsICIg
IHJldHVybmluZyBiZWNhdXNlIG9mIGludGVycnVwdGlvbiIpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCiAgICAgcGF1c2VJbnRlcm5hbCgpOwogfQogCkBAIC0yNzQyLDYgKzI3MzcsMTEgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXVzZUludGVybmFsKCkKIHsKICAgICBMT0coTWVkaWEs
ICJIVE1MTWVkaWFFbGVtZW50OjpwYXVzZUludGVybmFsIik7CiAKKyAgICBpZiAoIW1fbWVkaWFT
ZXNzaW9uLT5jbGllbnRXaWxsUGF1c2VQbGF5YmFjaygpKSB7CisgICAgICAgIExPRyhNZWRpYSwg
IiAgcmV0dXJuaW5nIGJlY2F1c2Ugb2YgaW50ZXJydXB0aW9uIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgCiAgICAgLy8gNC44LjEwLjkuIFBsYXlpbmcgdGhlIG1lZGlhIHJlc291cmNl
CiAgICAgaWYgKCFtX3BsYXllciB8fCBtX25ldHdvcmtTdGF0ZSA9PSBORVRXT1JLX0VNUFRZKSB7
CiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNTg2NCw2ICs1ODY0LDE0IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6cmVzdW1lUGxheWJhY2soKQogICAgIGlmIChwYXVzZWQoKSkKICAgICAgICAgcGxh
eSgpOwogfQorICAgIAorU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhU2Vzc2lvblRpdGxl
KCkgY29uc3QKK3sKKyAgICBpZiAoZmFzdEhhc0F0dHJpYnV0ZSh0aXRsZUF0dHIpKQorICAgICAg
ICByZXR1cm4gZmFzdEdldEF0dHJpYnV0ZSh0aXRsZUF0dHIpOworICAgIAorICAgIHJldHVybiBt
X2N1cnJlbnRTcmM7Cit9CiAKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgJKHJldmlzaW9uIDE2NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02ODksOSArNjg5LDEzIEBAIHByaXZhdGU6
CiAgICAgYm9vbCBlbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRTY3JpcHQoKTsKICNlbmRpZgog
CisgICAgLy8gTWVkaWFTZXNzaW9uQ2xpZW50IE92ZXJyaWRlcwogICAgIHZpcnR1YWwgTWVkaWFT
ZXNzaW9uOjpNZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHBhdXNlUGxheWJhY2soKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1l
UGxheWJhY2soKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVNlc3Npb25UaXRs
ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhU2Vzc2lvbkR1cmF0
aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZHVyYXRpb24oKTsgfQorICAgIHZpcnR1YWwg
ZG91YmxlIG1lZGlhU2Vzc2lvbkN1cnJlbnRUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Y3VycmVudFRpbWUoKTsgfQogCiAgICAgVGltZXI8SFRNTE1lZGlhRWxlbWVudD4gbV9sb2FkVGlt
ZXI7CiAgICAgVGltZXI8SFRNTE1lZGlhRWxlbWVudD4gbV9wcm9ncmVzc0V2ZW50VGltZXI7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5jcHAJ
KHJldmlzaW9uIDE2NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlh
U2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSw2ICsxMTUsNyBAQCBib29sIE1lZGlh
U2Vzc2lvbjo6Y2xpZW50V2lsbFBhdXNlUGxheWJhCiAgICAgfQogICAgIAogICAgIHNldFN0YXRl
KFBhdXNlZCk7CisgICAgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnNlc3Np
b25XaWxsRW5kUGxheWJhY2soKnRoaXMpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xMjgs
NSArMTI5LDIwIEBAIE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIE1lZGlhU2Vzc2lvbjo6bWUKIHsK
ICAgICByZXR1cm4gbV9jbGllbnQubWVkaWFUeXBlKCk7CiB9CisKK1N0cmluZyBNZWRpYVNlc3Np
b246OnRpdGxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jbGllbnQubWVkaWFTZXNzaW9uVGl0
bGUoKTsKK30KKworZG91YmxlIE1lZGlhU2Vzc2lvbjo6ZHVyYXRpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX2NsaWVudC5tZWRpYVNlc3Npb25EdXJhdGlvbigpOworfQorCitkb3VibGUgTWVk
aWFTZXNzaW9uOjpjdXJyZW50VGltZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2xpZW50Lm1l
ZGlhU2Vzc2lvbkN1cnJlbnRUaW1lKCk7Cit9CiAgICAgCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uaAkocmV2aXNpb24gMTY1MjQzKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTWVkaWFTZXNzaW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgTWVkaWFTZXNzaW9uX2gKICNkZWZpbmUgTWVk
aWFTZXNzaW9uX2gKIAorI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTcwLDYgKzcxLDEwIEBAIHB1
YmxpYzoKICAgICBib29sIGNsaWVudFdpbGxQYXVzZVBsYXliYWNrKCk7CiAKICAgICB2b2lkIHBh
dXNlU2Vzc2lvbigpOworICAgIAorICAgIFN0cmluZyB0aXRsZSgpIGNvbnN0OworICAgIGRvdWJs
ZSBkdXJhdGlvbigpIGNvbnN0OworICAgIGRvdWJsZSBjdXJyZW50VGltZSgpIGNvbnN0OwogCiBw
cm90ZWN0ZWQ6CiAgICAgTWVkaWFTZXNzaW9uQ2xpZW50JiBjbGllbnQoKSBjb25zdCB7IHJldHVy
biBtX2NsaWVudDsgfQpAQCAtODksNyArOTQsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgTWVk
aWFTZXNzaW9uOjpNZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCByZXN1bWVQbGF5YmFjaygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VQbGF5YmFj
aygpID0gMDsKLQorICAgIAorICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhU2Vzc2lvblRpdGxlKCkg
Y29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYVNlc3Np
b25EdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpOyB9
CisgICAgdmlydHVhbCBkb3VibGUgbWVkaWFTZXNzaW9uQ3VycmVudFRpbWUoKSBjb25zdCB7IHJl
dHVybiBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKTsgfQorICAgIAogcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgfk1lZGlhU2Vzc2lvbkNsaWVudCgpIHsgfQogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCShy
ZXZpc2lvbiAxNjUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNl
c3Npb25NYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsOCBAQCBNZWRpYVNl
c3Npb25NYW5hZ2VyJiBNZWRpYVNlc3Npb25NYW5hZ2VyCiAjZW5kaWYKIAogTWVkaWFTZXNzaW9u
TWFuYWdlcjo6TWVkaWFTZXNzaW9uTWFuYWdlcigpCi0gICAgOiBtX2ludGVycnVwdGVkKGZhbHNl
KQorICAgIDogbV9hY3RpdmVTZXNzaW9uKG51bGxwdHIpCisgICAgLCBtX2ludGVycnVwdGVkKGZh
bHNlKQogewogICAgIHJlc2V0UmVzdHJpY3Rpb25zKCk7CiB9CkBAIC0xMDksNyArMTEwLDEwIEBA
IHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVtb3ZlU2Vzc2lvbigKICAgICBBU1NFUlQoaW5k
ZXggIT0gbm90Rm91bmQpOwogICAgIGlmIChpbmRleCA9PSBub3RGb3VuZCkKICAgICAgICAgcmV0
dXJuOwotCisgICAgCisgICAgaWYgKG1fYWN0aXZlU2Vzc2lvbiA9PSAmc2Vzc2lvbikKKyAgICAg
ICAgc2V0Q3VycmVudFNlc3Npb24obnVsbHB0cik7CisgICAgCiAgICAgbV9zZXNzaW9ucy5yZW1v
dmUoaW5kZXgpOwogICAgIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOwogfQpAQCAtMTMyLDggKzEzNiwx
MCBAQCBNZWRpYVNlc3Npb25NYW5hZ2VyOjpTZXNzaW9uUmVzdHJpY3Rpb25zCiAgICAgcmV0dXJu
IG1fcmVzdHJpY3Rpb25zW3R5cGVdOwogfQogCi12b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNl
c3Npb25XaWxsQmVnaW5QbGF5YmFjayhjb25zdCBNZWRpYVNlc3Npb24mIHNlc3Npb24pIGNvbnN0
Cit2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25XaWxsQmVnaW5QbGF5YmFjayhjb25z
dCBNZWRpYVNlc3Npb24mIHNlc3Npb24pCiB7CisgICAgc2V0Q3VycmVudFNlc3Npb24oJnNlc3Np
b24pOworICAgIAogICAgIE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIHNlc3Npb25UeXBlID0gc2Vz
c2lvbi5tZWRpYVR5cGUoKTsKICAgICBTZXNzaW9uUmVzdHJpY3Rpb25zIHJlc3RyaWN0aW9ucyA9
IG1fcmVzdHJpY3Rpb25zW3Nlc3Npb25UeXBlXTsKICAgICBpZiAoIXJlc3RyaWN0aW9ucyAmIENv
bmN1cnJlbnRQbGF5YmFja05vdFBlcm1pdHRlZCkKQEAgLTE0OCw3ICsxNTQsNyBAQCB2b2lkIE1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25XaWxsQmVnCiAgICAgICAgICAgICBvbmVTZXNzaW9u
LT5wYXVzZVNlc3Npb24oKTsKICAgICB9CiB9Ci0KKyAgICAKIGJvb2wgTWVkaWFTZXNzaW9uTWFu
YWdlcjo6c2Vzc2lvblJlc3RyaWN0c0lubGluZVZpZGVvUGxheWJhY2soY29uc3QgTWVkaWFTZXNz
aW9uJiBzZXNzaW9uKSBjb25zdAogewogICAgIE1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIHNlc3Np
b25UeXBlID0gc2Vzc2lvbi5tZWRpYVR5cGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHJldmlzaW9uIDE2NTI0
MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbk1hbmFnZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtNjUsOCArNjUsOSBAQCBwdWJsaWM6CiAgICAgU2Vzc2lvblJl
c3RyaWN0aW9ucyByZXN0cmljdGlvbnMoTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUpOwogICAgIHZp
cnR1YWwgdm9pZCByZXNldFJlc3RyaWN0aW9ucygpOwogCi0gICAgdm9pZCBzZXNzaW9uV2lsbEJl
Z2luUGxheWJhY2soY29uc3QgTWVkaWFTZXNzaW9uJikgY29uc3Q7Ci0KKyAgICB2aXJ0dWFsIHZv
aWQgc2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKGNvbnN0IE1lZGlhU2Vzc2lvbiYpOworICAgIHZp
cnR1YWwgdm9pZCBzZXNzaW9uV2lsbEVuZFBsYXliYWNrKGNvbnN0IE1lZGlhU2Vzc2lvbiYpIHsg
fQorICAgIAogICAgIGJvb2wgc2Vzc2lvblJlc3RyaWN0c0lubGluZVZpZGVvUGxheWJhY2soY29u
c3QgTWVkaWFTZXNzaW9uJikgY29uc3Q7CiAKICNpZiBFTkFCTEUoSU9TX0FJUlBMQVkpCkBAIC03
OSwxMyArODAsMTcgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBhZGRTZXNzaW9uKE1lZGlhU2Vz
c2lvbiYpOwogICAgIHZvaWQgcmVtb3ZlU2Vzc2lvbihNZWRpYVNlc3Npb24mKTsKLQorICAgIAor
ICAgIHZvaWQgc2V0Q3VycmVudFNlc3Npb24oY29uc3QgTWVkaWFTZXNzaW9uKiBzZXNzaW9uKSB7
IG1fYWN0aXZlU2Vzc2lvbiA9IHNlc3Npb247IH0KKyAgICBjb25zdCBNZWRpYVNlc3Npb24qIGN1
cnJlbnRTZXNzaW9uKCkgeyByZXR1cm4gbV9hY3RpdmVTZXNzaW9uOyB9CisgICAgCiBwcml2YXRl
OgogICAgIHZvaWQgdXBkYXRlU2Vzc2lvblN0YXRlKCk7CiAKICAgICBTZXNzaW9uUmVzdHJpY3Rp
b25zIG1fcmVzdHJpY3Rpb25zW01lZGlhU2Vzc2lvbjo6V2ViQXVkaW8gKyAxXTsKIAogICAgIFZl
Y3RvcjxNZWRpYVNlc3Npb24qPiBtX3Nlc3Npb25zOworICAgIGNvbnN0IE1lZGlhU2Vzc2lvbiog
bV9hY3RpdmVTZXNzaW9uOwogICAgIGJvb2wgbV9pbnRlcnJ1cHRlZDsKIH07CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vz
c2lvbk1hbmFnZXJJT1MuaAkocmV2aXNpb24gMTY1MjQzKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsNiArNDgsMTEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTWVk
aWFTZXNzaW9uTWFuYWdlcjsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXNzaW9uV2lsbEJlZ2luUGxh
eWJhY2soY29uc3QgTWVkaWFTZXNzaW9uJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHNl
c3Npb25XaWxsRW5kUGxheWJhY2soY29uc3QgTWVkaWFTZXNzaW9uJikgb3ZlcnJpZGU7CisgICAg
CisgICAgdm9pZCB1cGRhdGVOb3dQbGF5aW5nSW5mbygpOworICAgIAogICAgIHZpcnR1YWwgdm9p
ZCByZXNldFJlc3RyaWN0aW9ucygpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKElPU19BSVJQTEFZ
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1h
bmFnZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
aW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0JKHJldmlzaW9uIDE2NTI0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSwzMCArMzUsNTAgQEAKICNpbXBvcnQgIldlYkNvcmVTeXN0ZW1J
bnRlcmZhY2UuaCIKICNpbXBvcnQgIldlYkNvcmVUaHJlYWRSdW4uaCIKICNpbXBvcnQgPEFWRm91
bmRhdGlvbi9BVkF1ZGlvU2Vzc2lvbi5oPgorI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBNZWRpYUl0
ZW0uaD4KKyNpbXBvcnQgPE1lZGlhUGxheWVyL01QTm93UGxheWluZ0luZm9DZW50ZXIuaD4KKyNp
bXBvcnQgPE1lZGlhUGxheWVyL01QUmVtb3RlQ29tbWFuZC5oPgorI2ltcG9ydCA8TWVkaWFQbGF5
ZXIvTVBSZW1vdGVDb21tYW5kQ2VudGVyLmg+CisjaW1wb3J0IDxNZWRpYVBsYXllci9NUFJlbW90
ZUNvbW1hbmRFdmVudC5oPgogI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbi5oPgogI2ltcG9y
dCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIFNPRlRfTElO
S19GUkFNRVdPUksoQVZGb3VuZGF0aW9uKQotU09GVF9MSU5LX0ZSQU1FV09SSyhVSUtpdCkKLQog
U09GVF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb24pCi0KIFNPRlRfTElO
S19QT0lOVEVSKEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25Ob3RpZmlj
YXRpb24sIE5TU3RyaW5nICopCiBTT0ZUX0xJTktfUE9JTlRFUihBVkZvdW5kYXRpb24sIEFWQXVk
aW9TZXNzaW9uSW50ZXJydXB0aW9uVHlwZUtleSwgTlNTdHJpbmcgKikKIFNPRlRfTElOS19QT0lO
VEVSKEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PcHRpb25LZXksIE5T
U3RyaW5nICopCi1TT0ZUX0xJTktfUE9JTlRFUihVSUtpdCwgVUlBcHBsaWNhdGlvbldpbGxSZXNp
Z25BY3RpdmVOb3RpZmljYXRpb24sIE5TU3RyaW5nICopCi1TT0ZUX0xJTktfUE9JTlRFUihVSUtp
dCwgVUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24sIE5TU3RyaW5n
ICopCi1TT0ZUX0xJTktfUE9JTlRFUihVSUtpdCwgVUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2
ZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKikKIAogI2RlZmluZSBBVkF1ZGlvU2Vzc2lvbiBnZXRB
VkF1ZGlvU2Vzc2lvbkNsYXNzKCkKICNkZWZpbmUgQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25O
b3RpZmljYXRpb24gZ2V0QVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25Ob3RpZmljYXRpb24oKQog
I2RlZmluZSBBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvblR5cGVLZXkgZ2V0QVZBdWRpb1Nlc3Np
b25JbnRlcnJ1cHRpb25UeXBlS2V5KCkKICNkZWZpbmUgQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRp
b25PcHRpb25LZXkgZ2V0QVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PcHRpb25LZXkoKQorCitT
T0ZUX0xJTktfRlJBTUVXT1JLKFVJS2l0KQorU09GVF9MSU5LX0NMQVNTKFVJS2l0LCBVSUFwcGxp
Y2F0aW9uKQorU09GVF9MSU5LX1BPSU5URVIoVUlLaXQsIFVJQXBwbGljYXRpb25XaWxsUmVzaWdu
QWN0aXZlTm90aWZpY2F0aW9uLCBOU1N0cmluZyAqKQorU09GVF9MSU5LX1BPSU5URVIoVUlLaXQs
IFVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9uLCBOU1N0cmluZyAq
KQorU09GVF9MSU5LX1BPSU5URVIoVUlLaXQsIFVJQXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmVO
b3RpZmljYXRpb24sIE5TU3RyaW5nICopCisKKyNkZWZpbmUgVUlBcHBsaWNhdGlvbiBnZXRVSUFw
cGxpY2F0aW9uQ2xhc3MoKQogI2RlZmluZSBVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5v
dGlmaWNhdGlvbiBnZXRVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbigp
CiAjZGVmaW5lIFVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9uIGdl
dFVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9uKCkKICNkZWZpbmUg
VUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBnZXRVSUFwcGxpY2F0aW9u
RGlkQmVjb21lQWN0aXZlTm90aWZpY2F0aW9uKCkKIAorU09GVF9MSU5LX0ZSQU1FV09SSyhNZWRp
YVBsYXllcikKK1NPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBOb3dQbGF5aW5nSW5mb0Nl
bnRlcikKK1NPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBSZW1vdGVDb21tYW5kQ2VudGVy
KQorU09GVF9MSU5LX1BPSU5URVIoTWVkaWFQbGF5ZXIsIE1QTWVkaWFJdGVtUHJvcGVydHlUaXRs
ZSwgTlNTdHJpbmcgKikKK1NPRlRfTElOS19QT0lOVEVSKE1lZGlhUGxheWVyLCBNUE1lZGlhSXRl
bVByb3BlcnR5UGxheWJhY2tEdXJhdGlvbiwgTlNTdHJpbmcgKikKK1NPRlRfTElOS19QT0lOVEVS
KE1lZGlhUGxheWVyLCBNUE5vd1BsYXlpbmdJbmZvUHJvcGVydHlFbGFwc2VkUGxheWJhY2tUaW1l
LCBOU1N0cmluZyAqKQorU09GVF9MSU5LX1BPSU5URVIoTWVkaWFQbGF5ZXIsIE1QTm93UGxheWlu
Z0luZm9Qcm9wZXJ0eVBsYXliYWNrUmF0ZSwgTlNTdHJpbmcgKikKKworI2RlZmluZSBNUE1lZGlh
SXRlbVByb3BlcnR5VGl0bGUgZ2V0TVBNZWRpYUl0ZW1Qcm9wZXJ0eVRpdGxlKCkKKyNkZWZpbmUg
TVBNZWRpYUl0ZW1Qcm9wZXJ0eVBsYXliYWNrRHVyYXRpb24gZ2V0TVBNZWRpYUl0ZW1Qcm9wZXJ0
eVBsYXliYWNrRHVyYXRpb24oKQorI2RlZmluZSBNUE5vd1BsYXlpbmdJbmZvUHJvcGVydHlFbGFw
c2VkUGxheWJhY2tUaW1lIGdldE1QTm93UGxheWluZ0luZm9Qcm9wZXJ0eUVsYXBzZWRQbGF5YmFj
a1RpbWUoKQorI2RlZmluZSBNUE5vd1BsYXlpbmdJbmZvUHJvcGVydHlQbGF5YmFja1JhdGUgZ2V0
TVBOb3dQbGF5aW5nSW5mb1Byb3BlcnR5UGxheWJhY2tSYXRlKCkKKwogTlNTdHJpbmcqIFdlYlVJ
QXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlTm90aWZpY2F0aW9uID0gQCJXZWJVSUFwcGxpY2F0
aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiI7CiBOU1N0cmluZyogV2ViVUlBcHBsaWNh
dGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24gPSBAIldlYlVJQXBwbGljYXRpb25X
aWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9uIjsKIE5TU3RyaW5nKiBXZWJVSUFwcGxpY2F0
aW9uRGlkQmVjb21lQWN0aXZlTm90aWZpY2F0aW9uID0gQCJXZWJVSUFwcGxpY2F0aW9uRGlkQmVj
b21lQWN0aXZlTm90aWZpY2F0aW9uIjsKQEAgLTExOSw2ICsxMzksNDYgQEAgdm9pZCBNZWRpYVNl
c3Npb25NYW5hZ2VyaU9TOjpzaG93UGxheWJhYwogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAj
ZW5kaWYKKyAgICAKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6c2Vzc2lvbldpbGxCZWdp
blBsYXliYWNrKGNvbnN0IE1lZGlhU2Vzc2lvbiYgc2Vzc2lvbikKK3sKKyAgICBNZWRpYVNlc3Np
b25NYW5hZ2VyOjpzZXNzaW9uV2lsbEJlZ2luUGxheWJhY2soc2Vzc2lvbik7CisgICAgdXBkYXRl
Tm93UGxheWluZ0luZm8oKTsKK30KKyAgICAKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6
c2Vzc2lvbldpbGxFbmRQbGF5YmFjayhjb25zdCBNZWRpYVNlc3Npb24mIHNlc3Npb24pCit7Cisg
ICAgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbldpbGxFbmRQbGF5YmFjayhzZXNzaW9uKTsK
KyAgICB1cGRhdGVOb3dQbGF5aW5nSW5mbygpOworfQorICAgIAordm9pZCBNZWRpYVNlc3Npb25N
YW5hZ2VyaU9TOjp1cGRhdGVOb3dQbGF5aW5nSW5mbygpCit7CisgICAgTVBOb3dQbGF5aW5nSW5m
b0NlbnRlciAqbm93UGxheWluZyA9IChNUE5vd1BsYXlpbmdJbmZvQ2VudGVyICopW2dldE1QTm93
UGxheWluZ0luZm9DZW50ZXJDbGFzcygpIGRlZmF1bHRDZW50ZXJdOworICAgIGNvbnN0IE1lZGlh
U2Vzc2lvbiogY3VycmVudFNlc3Npb24gPSB0aGlzLT5jdXJyZW50U2Vzc2lvbigpOworICAgIAor
ICAgIGlmICghY3VycmVudFNlc3Npb24pIHsKKyAgICAgICAgW25vd1BsYXlpbmcgc2V0Tm93UGxh
eWluZ0luZm86bmlsXTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBSZXRhaW5Q
dHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gaW5mbyA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9u
YXJ5IGFsbG9jXSBpbml0XSk7CisgICAgCisgICAgU3RyaW5nIHRpdGxlID0gY3VycmVudFNlc3Np
b24tPnRpdGxlKCk7CisgICAgaWYgKCF0aXRsZS5pc0VtcHR5KCkpCisgICAgICAgIFtpbmZvIHNl
dFZhbHVlOnN0YXRpY19jYXN0PE5TU3RyaW5nICo+KHRpdGxlKSBmb3JLZXk6TVBNZWRpYUl0ZW1Q
cm9wZXJ0eVRpdGxlXTsKKyAgICAKKyAgICBkb3VibGUgZHVyYXRpb24gPSBjdXJyZW50U2Vzc2lv
bi0+ZHVyYXRpb24oKTsKKyAgICBpZiAoc3RkOjppc2Zpbml0ZShkdXJhdGlvbikgJiYgZHVyYXRp
b24gIT0gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpCisgICAgICAgIFtpbmZvIHNldFZhbHVl
OkAoZHVyYXRpb24pIGZvcktleTpNUE1lZGlhSXRlbVByb3BlcnR5UGxheWJhY2tEdXJhdGlvbl07
CisgICAgCisgICAgZG91YmxlIGN1cnJlbnRUaW1lID0gY3VycmVudFNlc3Npb24tPmN1cnJlbnRU
aW1lKCk7CisgICAgaWYgKHN0ZDo6aXNmaW5pdGUoY3VycmVudFRpbWUpKQorICAgICAgICBbaW5m
byBzZXRWYWx1ZTpAKGN1cnJlbnRUaW1lKSBmb3JLZXk6TVBOb3dQbGF5aW5nSW5mb1Byb3BlcnR5
RWxhcHNlZFBsYXliYWNrVGltZV07CisgICAgCisgICAgW2luZm8gc2V0VmFsdWU6KGN1cnJlbnRT
ZXNzaW9uLT5zdGF0ZSgpID09IE1lZGlhU2Vzc2lvbjo6UGxheWluZyA/IEBZRVMgOiBATk8pIGZv
cktleTpNUE5vd1BsYXlpbmdJbmZvUHJvcGVydHlQbGF5YmFja1JhdGVdOworICAgIFtub3dQbGF5
aW5nIHNldE5vd1BsYXlpbmdJbmZvOmluZm8uZ2V0KCldOworfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKQEAgLTEzNCwxNCArMTk0LDE2IEBAIC0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6KE1l
ZGlhU2Vzc2lvbk1hbmEKICAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOwogICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6
c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoaW50ZXJydXB0aW9uOikgbmFtZTpBVkF1ZGlvU2Vzc2lv
bkludGVycnVwdGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6W0FWQXVkaW9TZXNzaW9uIHNoYXJlZElu
c3RhbmNlXV07CiAKLSAgICAvLyBGSVhNRTogVGhlc2UgbmVlZCB0byBiZSBwaXBlZCB0aHJvdWdo
IGZyb20gdGhlIFVJIHByb2Nlc3MgaW4gV0syIG1vZGUuCiAgICAgW2NlbnRlciBhZGRPYnNlcnZl
cjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQ6
KSBuYW1lOlVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOwogICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kOikgbmFtZTpXZWJVSUFwcGxpY2F0aW9uV2ls
bEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0
aXZlOikgbmFtZTpVSUFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOwogICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmU6KSBuYW1lOldlYlVJQXBwbGljYXRpb25EaWRCZWNv
bWVBY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAgICAgW2NlbnRlciBhZGRPYnNlcnZl
cjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmU6KSBu
YW1lOlVJQXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxd
OwogICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGlj
YXRpb25XaWxsUmVzaWduQWN0aXZlOikgbmFtZTpXZWJVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFj
dGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLQorICAgIAorICAgIC8vIE5vdyBwbGF5aW5n
IHdvbid0IHdvcmsgdW5sZXNzIHdlIHR1cm4gb24gdGhlIGRlbGl2ZXJ5IG9mIHJlbW90ZSBjb250
cm9sIGV2ZW50cy4KKyAgICBbW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIGJlZ2lu
UmVjZWl2aW5nUmVtb3RlQ29udHJvbEV2ZW50c107CisgICAgCiAgICAgcmV0dXJuIHNlbGY7CiB9
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>